http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46336

           Summary: [C++0X] ICE on invalid: in register_constexpr_fundef,
                    at cp/semantics.c:5571
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: marc.gli...@normalesup.org


This is an ICE on invalid code that I hit while trying to reduce an example for
a more important bug.

extern "C" {
  enum A { };
  inline constexpr A
  f(A a, A b)
  { return A(static_cast<int>(a) & static_cast<int>(b)); }
  enum B { };
  inline constexpr B
  f(B a, B b)
  { return B(static_cast<int>(a) & static_cast<int>(b)); }
}



4.cc: In function ‘constexpr B f(B, B)’:
4.cc:8:13: error: declaration of C function ‘constexpr B f(B, B)’ conflicts
with
4.cc:4:3: error: previous declaration ‘constexpr A f(A, A)’ here
4.cc: In function ‘constexpr B f(B, B)’:
4.cc:9:58: internal compiler error: in register_constexpr_fundef, at
cp/semantics.c:5571

Reply via email to