diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-09 22:21:37 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-07-09 22:21:37 +0000 |
commit | ecedd82dcfc198d99b53f269a1213f8f214115bf (patch) | |
tree | e390f035173a9fd06a813df8aaf84b4cafa2f92f /gcc/cppexp.c | |
parent | dca8af3e56a53cdd2c6952d3d86d62b5f615e13e (diff) | |
download | ppe42-gcc-ecedd82dcfc198d99b53f269a1213f8f214115bf.tar.gz ppe42-gcc-ecedd82dcfc198d99b53f269a1213f8f214115bf.zip |
* cpperror.c (cpp_error): Default to directive_line within
directives here.
* cppexp.c (cpp_interpret_integer): Only use traditional
number semantics in directives.
* cpplib.c (prepare_directive_trad): Don't reset pfile->line.
(do_include_common): Similarly.
* cpptrad.c (scan_out_logical_line): Implement accurate
quoting of <> in #include.
* doc/cpp.texi: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55347 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cppexp.c')
-rw-r--r-- | gcc/cppexp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cppexp.c b/gcc/cppexp.c index b3a7ce60966..44ee26b09cd 100644 --- a/gcc/cppexp.c +++ b/gcc/cppexp.c @@ -377,9 +377,11 @@ cpp_interpret_integer (pfile, token, type) "integer constant is too large for its type"); /* If too big to be signed, consider it unsigned. Only warn for decimal numbers. Traditional numbers were always signed (but - we still honour an explicit U suffix). */ + we still honour an explicit U suffix); but we only have + traditional semantics in directives. */ else if (!result.unsignedp - && !CPP_OPTION (pfile, traditional) + && !(CPP_OPTION (pfile, traditional) + && pfile->state.in_directive) && !num_positive (result, precision)) { if (base == 10) |