diff options
author | Janis Johnson <janis187@us.ibm.com> | 2009-04-01 17:31:26 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2009-04-01 17:31:26 +0000 |
commit | 839a3b8ab591c78acfcbc99842cda631d2a3b829 (patch) | |
tree | 6d2eb69c07acf9dfdd9f7f3af93d923a035bc1f3 /gcc/c-lex.c | |
parent | 667e8acbceb7f87159d098dc7d1fa8a7ddaebb17 (diff) | |
download | gcc-839a3b8ab591c78acfcbc99842cda631d2a3b829.zip gcc-839a3b8ab591c78acfcbc99842cda631d2a3b829.tar.gz gcc-839a3b8ab591c78acfcbc99842cda631d2a3b829.tar.bz2 |
re PR target/39027 (double floating point suffix of 'd' and 'D' not accepted)
gcc/
PR c/29027
* c-lex.c (interpret_float): Default (no suffix) is double.
libcpp/
PR c/29027
* include/cpplib.h (CPP_N_DEFAULT): Define.
* expr.c (interpret_float_suffix): Recognize d or D for double,
return new value for default.
(cpp_classify_number): Issue pedwarn for use of d or D in suffix.
gcc/testsuite/
PR c/29027
* gcc.dg/fltconst-1.c: Don't error for use of d or D in suffix.
* gcc.dg/fltconst-2.c: New test.
* gcc.dg/fltconst-double-pedantic-1.c: New test.
* gcc.dg/fltconst-double-pedantic-2.c: New test.
From-SVN: r145422
Diffstat (limited to 'gcc/c-lex.c')
-rw-r--r-- | gcc/c-lex.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/c-lex.c b/gcc/c-lex.c index 72a9590..9fe29df 100644 --- a/gcc/c-lex.c +++ b/gcc/c-lex.c @@ -612,6 +612,13 @@ interpret_float (const cpp_token *token, unsigned int flags) char *copy; size_t copylen; + /* Default (no suffix) is double. */ + if (flags & CPP_N_DEFAULT) + { + flags ^= CPP_N_DEFAULT; + flags |= CPP_N_MEDIUM; + } + /* Decode _Fract and _Accum. */ if (flags & CPP_N_FRACT || flags & CPP_N_ACCUM) return interpret_fixed (token, flags); |