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++/81847] New: ICE: in finish_expr_stmt, at cp/semantics.c:678


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

            Bug ID: 81847
           Summary: ICE: in finish_expr_stmt, at cp/semantics.c:678
           Product: gcc
           Version: 7.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nsz at gcc dot gnu.org
  Target Milestone: ---

following code fails with ice with gcc 7.1.1:

constexpr int nlz(int x) {
  return __builtin_constant_p(x) ? 0 : 1;
}

struct A {
  constexpr A() { nlz(0); }
};

constexpr A operator-(A x) { return x; }

constexpr A bar() {
  constexpr A x;
  A y = -x;
  return y;
}

$ g++ -S bar.cpp 
bar.cpp: In function 'constexpr A bar()':
bar.cpp:13:10: internal compiler error: in finish_expr_stmt, at
cp/semantics.c:678
   A y = -x;
          ^
...

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