https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71495

            Bug ID: 71495
           Summary: [6 Regression] Spurious "note: initializing argument
                    ... of ..." without any warning/error
           Product: gcc
           Version: 6.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yury.zaytsev at traveltainment dot de
  Target Milestone: ---

Created attachment 38677
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38677&action=edit
Pre-processed class with GCC 5

Unfortunately, I couldn't easily reduce the samples any further, but, at least,
I'm able to provide a reliable reproducer.

$ g++-5 -v
gcc version 5.3.0 20151204 (Ubuntu 5.3.0-3ubuntu1~14.04) 

$ g++-6 -v
gcc version 6.1.1 20160511 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 

$ g++-5 -c -std=c++14 cstring-g++-5.i 
$ g++-5 -c -std=c++14 cstring-g++-6.i 

$ g++-6 -c cstring-g++-5.i 
In file included from
lib/boost/install/include/boost/iterator/interoperable.hpp:13:0,
                 from
lib/boost/install/include/boost/iterator/iterator_facade.hpp:12,
                 from
lib/boost/install/include/boost/range/iterator_range_core.hpp:27,
                 from
lib/boost/install/include/boost/range/iterator_range.hpp:13,
                 from lib/boost/install/include/boost/range/as_literal.hpp:22,
                 from
lib/boost/install/include/boost/algorithm/string/classification.hpp:17,
                 from cpp/cstring.hh:12,
                 from cpp/cstring.cc:8:
lib/boost/install/include/boost/type_traits/is_convertible.hpp: In substitution
of ‘template<class From1, class To1> static decltype
((test_aux<To1>(declval<From1>()),
boost_1_60_0::detail::is_convertible_basic_impl<From, To, false>::one()))
boost_1_60_0::detail::is_convertible_basic_impl<From, To, false>::test(int)
[with From1 = tt::dbind::CString; To1 = tt::dbind::CString]’:
lib/boost/install/include/boost/type_traits/is_convertible.hpp:92:54:  
required from ‘const bool
boost_1_60_0::detail::is_convertible_basic_impl<tt::dbind::CString,
tt::dbind::CString, false>::value’
lib/boost/install/include/boost/type_traits/is_convertible.hpp:361:56:  
required from ‘const bool
boost_1_60_0::detail::is_convertible_impl<tt::dbind::CString,
tt::dbind::CString>::value’
lib/boost/install/include/boost/type_traits/is_convertible.hpp:477:8:  
required from ‘struct boost_1_60_0::is_convertible<tt::dbind::CString,
tt::dbind::CString>’
lib/boost/install/include/boost/mpl/aux_/nested_type_wknd.hpp:26:31:   required
from ‘struct
boost_1_60_0::mpl::aux::nested_type_wknd<boost_1_60_0::is_convertible<tt::dbind::CString,
tt::dbind::CString> >’
lib/boost/install/include/boost_1_60_0/mpl/aux_/preprocessed/gcc/and.hpp:23:8: 
 required from ‘struct boost_1_60_0::mpl::aux::and_impl<true,
boost_1_60_0::is_convertible<tt::dbind::CString, tt::dbind::CString>,
mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >’
lib/boost/install/include/boost_1_60_0/mpl/aux_/preprocessed/gcc/and.hpp:48:8: 
 [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to
disable ]
lib/boost/install/include/boost/mpl/eval_if.hpp:38:31:   required from ‘struct
boost_1_60_0::mpl::eval_if<boost_1_60_0::iterators::detail::is_iterator_category<boost_1_60_0::iterators::forward_traversal_tag>,
boost_1_60_0::mpl::identity<boost_1_60_0::iterators::forward_traversal_tag>,
boost_1_60_0::iterators::detail::facade_iterator_category_impl<boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString, tt::dbind::CString> >’
lib/boost/install/include/boost/iterator/detail/facade_iterator_category.hpp:180:8:
  required from ‘struct
boost_1_60_0::iterators::detail::facade_iterator_category<boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString, tt::dbind::CString>’
lib/boost/install/include/boost/iterator/iterator_facade.hpp:117:17:   required
from ‘struct
boost_1_60_0::iterators::detail::iterator_facade_types<tt::dbind::CString,
boost_1_60_0::iterators::forward_traversal_tag, tt::dbind::CString, long int>’
lib/boost/install/include/boost/iterator/iterator_facade.hpp:641:11:   required
from ‘class
boost_1_60_0::iterators::detail::iterator_facade_base<tt::dbind::CString::PoolIterator,
tt::dbind::CString, boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString, long int, false, false>’
lib/boost/install/include/boost/iterator/iterator_facade.hpp:772:9:   required
from ‘class
boost_1_60_0::iterators::iterator_facade<tt::dbind::CString::PoolIterator,
tt::dbind::CString, boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString>’
cpp/cstring.hh:40:23:   required from here
lib/boost/install/include/boost/type_traits/is_convertible.hpp:83:19: note:  
initializing argument 1 of ‘static void
boost_1_60_0::detail::is_convertible_basic_impl<From, To, false>::test_aux(To1)
[with To1 = tt::dbind::CString; From = tt::dbind::CString; To =
tt::dbind::CString]’

$ g++-6 -c cstring-g++-6.i 
In file included from
lib/boost/install/include/boost/iterator/interoperable.hpp:13:0,
                 from
lib/boost/install/include/boost/iterator/iterator_facade.hpp:12,
                 from
lib/boost/install/include/boost/range/iterator_range_core.hpp:27,
                 from
lib/boost/install/include/boost/range/iterator_range.hpp:13,
                 from lib/boost/install/include/boost/range/as_literal.hpp:22,
                 from
lib/boost/install/include/boost/algorithm/string/classification.hpp:17,
                 from cpp/cstring.hh:12,
                 from cpp/cstring.cc:8:
lib/boost/install/include/boost/type_traits/is_convertible.hpp: In substitution
of ‘template<class From1, class To1> static decltype
((test_aux<To1>(declval<From1>()),
boost_1_60_0::detail::is_convertible_basic_impl<From, To, false>::one()))
boost_1_60_0::detail::is_convertible_basic_impl<From, To, false>::test(int)
[with From1 = tt::dbind::CString; To1 = tt::dbind::CString]’:
lib/boost/install/include/boost/type_traits/is_convertible.hpp:92:54:  
required from ‘const bool
boost_1_60_0::detail::is_convertible_basic_impl<tt::dbind::CString,
tt::dbind::CString, false>::value’
lib/boost/install/include/boost/type_traits/is_convertible.hpp:361:56:  
required from ‘const bool
boost_1_60_0::detail::is_convertible_impl<tt::dbind::CString,
tt::dbind::CString>::value’
lib/boost/install/include/boost/type_traits/is_convertible.hpp:477:8:  
required from ‘struct boost_1_60_0::is_convertible<tt::dbind::CString,
tt::dbind::CString>’
lib/boost/install/include/boost/mpl/aux_/nested_type_wknd.hpp:26:31:   required
from ‘struct
boost_1_60_0::mpl::aux::nested_type_wknd<boost_1_60_0::is_convertible<tt::dbind::CString,
tt::dbind::CString> >’
lib/boost/install/include/boost_1_60_0/mpl/aux_/preprocessed/gcc/and.hpp:23:8: 
 required from ‘struct boost_1_60_0::mpl::aux::and_impl<true,
boost_1_60_0::is_convertible<tt::dbind::CString, tt::dbind::CString>,
mpl_::bool_<true>, mpl_::bool_<true>, mpl_::bool_<true> >’
lib/boost/install/include/boost_1_60_0/mpl/aux_/preprocessed/gcc/and.hpp:48:8: 
 [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to
disable ]
lib/boost/install/include/boost/mpl/eval_if.hpp:38:31:   required from ‘struct
boost_1_60_0::mpl::eval_if<boost_1_60_0::iterators::detail::is_iterator_category<boost_1_60_0::iterators::forward_traversal_tag>,
boost_1_60_0::mpl::identity<boost_1_60_0::iterators::forward_traversal_tag>,
boost_1_60_0::iterators::detail::facade_iterator_category_impl<boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString, tt::dbind::CString> >’
lib/boost/install/include/boost/iterator/detail/facade_iterator_category.hpp:180:8:
  required from ‘struct
boost_1_60_0::iterators::detail::facade_iterator_category<boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString, tt::dbind::CString>’
lib/boost/install/include/boost/iterator/iterator_facade.hpp:117:17:   required
from ‘struct
boost_1_60_0::iterators::detail::iterator_facade_types<tt::dbind::CString,
boost_1_60_0::iterators::forward_traversal_tag, tt::dbind::CString, long int>’
lib/boost/install/include/boost/iterator/iterator_facade.hpp:641:11:   required
from ‘class
boost_1_60_0::iterators::detail::iterator_facade_base<tt::dbind::CString::PoolIterator,
tt::dbind::CString, boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString, long int, false, false>’
lib/boost/install/include/boost/iterator/iterator_facade.hpp:772:9:   required
from ‘class
boost_1_60_0::iterators::iterator_facade<tt::dbind::CString::PoolIterator,
tt::dbind::CString, boost_1_60_0::iterators::forward_traversal_tag,
tt::dbind::CString>’
cpp/cstring.hh:40:23:   required from here
lib/boost/install/include/boost/type_traits/is_convertible.hpp:83:19: note:  
initializing argument 1 of ‘static void
boost_1_60_0::detail::is_convertible_basic_impl<From, To, false>::test_aux(To1)
[with To1 = tt::dbind::CString; From = tt::dbind::CString; To =
tt::dbind::CString]’

Reply via email to