[Bug c++/48369] New: [4.6 Regression] [C++0x] ICE in potential_constant_expression_1, at cp/semantics.c:7746

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 30 16:19:00 GMT 2011


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

           Summary: [4.6 Regression] [C++0x] ICE  in
                    potential_constant_expression_1, at
                    cp/semantics.c:7746
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: redi@gcc.gnu.org
                CC: jason@gcc.gnu.org


extern "C" int isnan (double);

void f(double d)
{
    bool b = isnan(d);
}

$ ~/gcc/4.6/bin/g++ s.cc -std=gnu++0x
s.cc: In function 'void f(double)':
s.cc:5:21: sorry, unimplemented: unexpected ast of kind unordered_expr
s.cc:5:21: internal compiler error: in potential_constant_expression_1, at
cp/semantics.c:7746
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


Only happens when the function is extern "C" but that obviously affects the
whole of <math.h>

No ICE for -std=c++98 / gnu++98 / c++0x, only gnu++0x

I haven't tried it on trunk



More information about the Gcc-bugs mailing list