This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/81167] New: [8 Regression] ICE on valid C++ code in deferred_printed_type, at cp/error.c:118


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

            Bug ID: 81167
           Summary: [8 Regression] ICE on valid C++ code in
                    deferred_printed_type, at cp/error.c:118
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: dmalcolm at gcc dot gnu.org
  Target Milestone: ---

Starting from r248698, we ICE on a clang test-case:

$ g++ PR31384.pass.cpp -Wconversion
PR31384.pass.cpp: In function ‘int main()’:
PR31384.pass.cpp:57:47: warning: choosing ‘Derived<T>::operator std::tuple<U>()
&& [with U = Implicit; T = int]’ over ‘constexpr
std::tuple<_Elements>::tuple(const std::tuple<_Args1 ...>&) [with _UElements =
{int}; _Dummy = void; typename std::enable_if<((std::_TC<((sizeof...
(_Elements) == sizeof... (_UElements)) && (!
std::is_same<std::tuple<_Elements>, std::tuple<_Args1 ...> >::value)),
_Elements ...>::_ConstructibleTuple<_UElements ...>() && std::_TC<((sizeof...
(_Elements) == sizeof... (_UElements)) && (!
std::is_same<std::tuple<_Elements>, std::tuple<_Args1 ...> >::value)),
_Elements ...>::_ImplicitlyConvertibleTuple<_UElements ...>()) &&
std::_TC<(std::is_same<_Dummy, void>::value && (sizeof... (_Elements) == 1)),
_Elements ...>::_NonNestedTuple<const tuple<_Args1 ...>&>()), bool>::type
<anonymous> = 1; _Elements = {Implicit}]’ [-Wconversion]
     std::tuple<Implicit> foo = Derived<int>{42}; ((void)foo);
                                               ^
‘
in deferred_printed_type, at cp/error.c:118
0x6d1fc9 deferred_printed_type::deferred_printed_type(tree_node*, char const**,
bool, bool)
        ../../gcc/cp/error.c:118
0x6d1fc9 defer_phase_2_of_type_diff
        ../../gcc/cp/error.c:3985
0x6e0d17 cp_printer
        ../../gcc/cp/error.c:4062
0x15ff188 pp_format(pretty_printer*, text_info*)
        ../../gcc/pretty-print.c:679
0x15efe9e diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
        ../../gcc/diagnostic.c:974
0x15f026e diagnostic_impl
        ../../gcc/diagnostic.c:1099
0x15f05dc warning(int, char const*, ...)
        ../../gcc/diagnostic.c:1187
0x6043d6 joust
        ../../gcc/cp/call.c:10075
0x5fb52b joust
        ../../gcc/cp/call.c:9920
0x5fb52b build_over_call
        ../../gcc/cp/call.c:7623
0x600d4d convert_like_real
        ../../gcc/cp/call.c:6757
0x60117a convert_like_real
        ../../gcc/cp/call.c:6873
0x60c8a9 build_user_type_conversion(tree_node*, tree_node*, int, int)
        ../../gcc/cp/call.c:3995
0x67320b ocp_convert(tree_node*, tree_node*, int, int, int)
        ../../gcc/cp/cvt.c:889
0x6ecf75 expand_default_init
        ../../gcc/cp/init.c:1789
0x6ecf75 expand_aggr_init_1
        ../../gcc/cp/init.c:1968
0x6ed719 build_aggr_init(tree_node*, tree_node*, int, int)
        ../../gcc/cp/init.c:1706
0x68a1bf build_aggr_init_full_exprs
        ../../gcc/cp/decl.c:6128
0x68a1bf check_initializer
        ../../gcc/cp/decl.c:6276
0x6b509c cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
        ../../gcc/cp/decl.c:6995

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]