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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |11.0
            Summary|[11 Regression] ICE: in     |[11 Regression] ICE: in
                   |pp_cxx_trait_expression, at |pp_cxx_trait_expression, at
                   |cp/cxx-pretty-print.c:2671  |cp/cxx-pretty-print.c:2671
                   |                            |since
                   |                            |r11-4386-g9e2256dcd481ffe3
                 CC|                            |ville.voutilainen at gmail dot 
com

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r11-4386-g9e2256dcd481ffe3, before the revision it was rejected.
Reduced test-case:

$ cat polymorphicsmallobjecttest.cc.ii
struct integral_constant {};
template <bool> using __bool_constant = integral_constant;
template <typename _Tp, typename _Up>
using __is_nothrow_assignable_impl =
    __bool_constant<__is_nothrow_assignable(_Tp, _Up)>;
template <typename _Tp>
struct __is_nt_move_assignable_impl : __is_nothrow_assignable_impl<_Tp, _Tp>
{};
template <int _Len> struct aligned_storage {
  struct type {
    char __data[_Len];
  };
};
template <long _Len>
using aligned_storage_t = typename aligned_storage<_Len>::type;
template <int bufferSize> class PolymorphicSmallObject {
  aligned_storage_t<bufferSize> buffer_;
};
template <class Obj> void test() { __is_nt_move_assignable_impl<Obj> value; }
int main() { test<PolymorphicSmallObject<0>>; return 0; }

$ g++ polymorphicsmallobjecttest.cc.ii -c
$ g++ polymorphicsmallobjecttest.cc.ii -c -pedantic
‘
polymorphicsmallobjecttest.cc.ii: In instantiation of ‘struct
aligned_storage<0>::type’:
polymorphicsmallobjecttest.cc.ii:16:33:   required from ‘class
PolymorphicSmallObject<0>’
polymorphicsmallobjecttest.cc.ii:5:21:   in pp_cxx_trait_expression, at
cp/cxx-pretty-print.c:2671
   10 |     char __data[_Len];
      |          ^~~~~~
0x65210c pp_cxx_trait_expression(cxx_pretty_printer*, tree_node*)
        /home/marxin/Programming/gcc/gcc/cp/cxx-pretty-print.c:2671
0x9949ea dump_template_parms
        /home/marxin/Programming/gcc/gcc/cp/error.c:1945
0x996c3a subst_to_string
        /home/marxin/Programming/gcc/gcc/cp/error.c:3369
0x996c3a cp_printer
        /home/marxin/Programming/gcc/gcc/cp/error.c:4361
0x1b72e3c pp_format(pretty_printer*, text_info*)
        /home/marxin/Programming/gcc/gcc/pretty-print.c:1475
0x1b74ec0 pp_format_verbatim(pretty_printer*, text_info*)
        /home/marxin/Programming/gcc/gcc/pretty-print.c:1536
0x1b74ec0 pp_verbatim(pretty_printer*, char const*, ...)
        /home/marxin/Programming/gcc/gcc/pretty-print.c:1790
0x98c3ac print_instantiation_partial_context_line
        /home/marxin/Programming/gcc/gcc/cp/error.c:3596
0x98c3ac print_instantiation_partial_context
        /home/marxin/Programming/gcc/gcc/cp/error.c:3705
0x98c3ac print_instantiation_full_context
        /home/marxin/Programming/gcc/gcc/cp/error.c:3585
0x99791a maybe_print_instantiation_context
        /home/marxin/Programming/gcc/gcc/cp/error.c:3722
0x99791a cp_diagnostic_starter
        /home/marxin/Programming/gcc/gcc/cp/error.c:3413
0x1b56c7a diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
        /home/marxin/Programming/gcc/gcc/diagnostic.c:1217
0x1b59338 diagnostic_impl
        /home/marxin/Programming/gcc/gcc/diagnostic.c:1366
0x1b59338 pedwarn(unsigned int, int, char const*, ...)
        /home/marxin/Programming/gcc/gcc/diagnostic.c:1599
0x94d269 compute_array_index_type_loc
        /home/marxin/Programming/gcc/gcc/cp/decl.c:10512
0xa69a70 tsubst(tree_node*, tree_node*, int, tree_node*)
        /home/marxin/Programming/gcc/gcc/cp/pt.c:15842
0xa54b1f tsubst_decl
        /home/marxin/Programming/gcc/gcc/cp/pt.c:14475
0xa81ead instantiate_class_template_1
        /home/marxin/Programming/gcc/gcc/cp/pt.c:11959
0xa830f2 instantiate_class_template(tree_node*)
        /home/marxin/Programming/gcc/gcc/cp/pt.c:12196
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to