[cfe-commits] r42238 - /cfe/trunk/AST/Expr.cpp
Neil Booth
neil at daikokuya.co.uk
Sat Sep 22 17:33:08 PDT 2007
Chris Lattner wrote:-
> Use the APFloat routines to evaluate FP immediates as
> integer constant expressions. The only questionable
> thing is that we now reject:
>
> void foo() {
> switch (1) {
> case (int)1.0e10000:
> ;
> }
> }
>
> with:
>
> t.c:5:13: error: case label does not reduce to an integer constant
> case (int)1.0e10000:
> ~~~~~^~~~~~~~~
>
> GCC accepts this, emitting the pedwarn:
> t.c:5: warning: floating constant exceeds range of 'double'
You could just set the integer value to the largest value. Or is
something else the problem here?
FWIW I tend to think such code should always be a hard error; I
see little value in accepting such things :)
Neil.
More information about the cfe-commits
mailing list