OSDN Git Service

2009-04-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
authormanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Apr 2009 22:12:52 +0000 (22:12 +0000)
committermanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Apr 2009 22:12:52 +0000 (22:12 +0000)
commit9ab71c6b292bda7d4826e8f20cf2c45dc0d86ba0
treefd9591c53025bec4c451b0619535e1e5e33a2a4d
parentd124a06aa30d5b842c7d5ee1db7f124931ae6f9a
2009-04-21  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c++/13358
* doc/invoke.texi (-Wlong-long): Update description.
* c-lex (interpret_integer): Only warn if there was no previous
overflow and -Wlong-long is enabled.
* c-decl.c (declspecs_add_type): Drop redundant flags.
* c.opt (Wlong-long): Init to -1.
* c-opts.c (sanitize_cpp_opts): Synchronize cpp's warn_long_long
and front-end warn_long_long. Wlong-long only depends on other
flags if it is uninitialized.
* c-parser.c (disable_extension_diagnostics): warn_long_long is
the same for CPP and FE.
(restore_extension_diagnostics): Likewise.
libcpp/
* init.c (cpp_create_reader): Wlong_long is disabled by default.
* expr.c (cpp_classify_number): Give different messages for C and
C++ front-ends.
cp/
* parser.c (cp_parser_check_decl_spec): Drop redundant flags.
* error.c (pedwarn_cxx98): New.
* cp-tree.h (pedwarn_cxx98): Declare.
testsuite/
* gcc.dg/wtr-int-type-1.c: Use two dg-warning to match two
messages. Test for "long long" in system headers.
* gcc.dg/c99-longlong-2.c: New.
* g++.dg/warn/pr13358.C: New.
* g++.dg/warn/pr13358-2.C: New.
* g++.dg/warn/pr13358-3.C: New.
* g++.dg/warn/pr13358-4.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146459 138bc75d-0d04-0410-961f-82ee72b054a4
22 files changed:
gcc/ChangeLog
gcc/c-decl.c
gcc/c-lex.c
gcc/c-opts.c
gcc/c-parser.c
gcc/c.opt
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/error.c
gcc/cp/parser.c
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/warn/pr13358-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/pr13358-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/pr13358-4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/warn/pr13358.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/c90-longlong-1.c
gcc/testsuite/gcc.dg/c99-longlong-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/wtr-int-type-1.c
libcpp/ChangeLog
libcpp/expr.c
libcpp/init.c