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++/79379] New: [7 Regression] ICE with #pragma GCC ivdep


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

            Bug ID: 79379
           Summary: [7 Regression] ICE with #pragma GCC ivdep
           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: reichelt at gcc dot gnu.org
  Target Milestone: ---

The following valid code snippet triggers an ICE on trunk:

======================================
template<int> void foo(int* p)
{
#pragma GCC ivdep
  for (int i = 0; p[i]; ++i) ;
}

void bar(int* p)
{
  foo<0>(p);
}
======================================

bug.cc: In instantiation of 'void foo(int*) [with int <anonymous> = 0]':
bug.cc:9:11:   required from here
bug.cc:4:17: sorry, unimplemented: unexpected AST of kind annotate_expr
   for (int i = 0; p[i]; ++i) ;
                 ^
bug.cc:4:17: internal compiler error: in potential_constant_expression_1, at
cp/constexpr.c:5697
0x83f32a potential_constant_expression_1
        ../../gcc/gcc/cp/constexpr.c:5697
0x83fcd9 potential_constant_expression(tree_node*)
        ../../gcc/gcc/cp/constexpr.c:5708
0x83fcd9 potential_nondependent_constant_expression(tree_node*)
        ../../gcc/gcc/cp/constexpr.c:5750
0x840d64 maybe_constant_value(tree_node*, tree_node*)
        ../../gcc/gcc/cp/constexpr.c:4787
0x81be2a cp_fully_fold(tree_node*)
        ../../gcc/gcc/cp/cp-gimplify.c:1963
0x75c644 cp_build_binary_op(unsigned int, tree_code, tree_node*, tree_node*,
int)
        ../../gcc/gcc/cp/typeck.c:5237
0x76de98 ocp_convert(tree_node*, tree_node*, int, int, int)
        ../../gcc/gcc/cp/cvt.c:801
0x76fbcb cp_convert(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/cvt.c:616
0x76fbcb cp_convert_and_check(tree_node*, tree_node*, int)
        ../../gcc/gcc/cp/cvt.c:635
0x5f7445 convert_like_real
        ../../gcc/gcc/cp/call.c:7042
0x5f835c perform_implicit_conversion_flags(tree_node*, tree_node*, int, int)
        ../../gcc/gcc/cp/call.c:10071
0x74dc04 condition_conversion(tree_node*)
        ../../gcc/gcc/cp/typeck.c:5547
0x7ac4e7 maybe_convert_cond
        ../../gcc/gcc/cp/semantics.c:989
0x7ac4e7 finish_for_cond(tree_node*, tree_node*, bool)
        ../../gcc/gcc/cp/semantics.c:980
0x66ecdb tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:15790
0x66f2b0 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/gcc/cp/pt.c:15880
0x66ba67 instantiate_decl(tree_node*, bool, bool)
        ../../gcc/gcc/cp/pt.c:22817
0x6abadb instantiate_pending_templates(int)
        ../../gcc/gcc/cp/pt.c:22938
0x6ee668 c_parse_final_cleanups()
        ../../gcc/gcc/cp/decl2.c:4525
Please submit a full bug report, [etc.]

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