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]’