diff options
author | Chris Demetriou <cgd@google.com> | 2009-09-18 23:15:21 -0700 |
---|---|---|
committer | Chris Demetriou <cgd@gcc.gnu.org> | 2009-09-18 23:15:21 -0700 |
commit | 74dc6a119089515f330035d60c35f56756c8c862 (patch) | |
tree | f813fae3ff4b5335403a4b5b6455bf737c81f085 /gcc | |
parent | b5e7280daa65db14481b2babb55a36774f62e720 (diff) | |
download | gcc-74dc6a119089515f330035d60c35f56756c8c862.zip gcc-74dc6a119089515f330035d60c35f56756c8c862.tar.gz gcc-74dc6a119089515f330035d60c35f56756c8c862.tar.bz2 |
re PR preprocessor/28435 (-MMD vs not found system header (included from a system header))
[libcpp/ChangeLog]
2009-09-18 Chris Demetriou <cgd@google.com>
PR preprocessor/28435:
* include/cpplib.h (struct cpp_options): Add new member
deps.need_preprocessor_output.
* files.c (open_file_failed): If preprocessor output is needed
always report an error.
[gcc/ChangeLog]
2009-09-19 Chris Demetriou <cgd@google.com>
PR preprocessor/28435:
* c-opts.c (c_common_handle_option): For -MD and -MMD, indicate
to cpplib that the preprocessor output is needed.
[gcc/testsuite/ChangeLog]
2009-09-19 Chris Demetriou <cgd@google.com>
PR preprocessor/28435:
* gcc.dg/cpp/missing-header-MD.c: New test.
* gcc.dg/cpp/missing-header-MMD.c: New test.
* gcc.dg/cpp/missing-sysheader-MD.c: New test.
* gcc.dg/cpp/missing-sysheader-MMD.c: New test.
From-SVN: r151879
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-opts.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/missing-header-MD.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/missing-header-MMD.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/missing-sysheader-MD.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp/missing-sysheader-MMD.c | 6 |
7 files changed, 39 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d7182e..27f877f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-09-19 Chris Demetriou <cgd@google.com> + + PR preprocessor/28435: + * c-opts.c (c_common_handle_option): For -MD and -MMD, indicate + to cpplib that the preprocessor output is needed. + 2009-09-19 Jakub Jelinek <jakub@redhat.com> * config/rs6000/rs6000.md (*save_gpregs_<mode>, *save_fpregs_<mode>, diff --git a/gcc/c-opts.c b/gcc/c-opts.c index 3b9b34b..d9165aa 100644 --- a/gcc/c-opts.c +++ b/gcc/c-opts.c @@ -343,6 +343,7 @@ c_common_handle_option (size_t scode, const char *arg, int value) case OPT_MD: case OPT_MMD: cpp_opts->deps.style = (code == OPT_MD ? DEPS_SYSTEM: DEPS_USER); + cpp_opts->deps.need_preprocessor_output = true; deps_file = arg; break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ed29399..301dfbb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2009-09-19 Chris Demetriou <cgd@google.com> + + PR preprocessor/28435: + * gcc.dg/cpp/missing-header-MD.c: New test. + * gcc.dg/cpp/missing-header-MMD.c: New test. + * gcc.dg/cpp/missing-sysheader-MD.c: New test. + * gcc.dg/cpp/missing-sysheader-MMD.c: New test. + 2009-09-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/41328 diff --git a/gcc/testsuite/gcc.dg/cpp/missing-header-MD.c b/gcc/testsuite/gcc.dg/cpp/missing-header-MD.c new file mode 100644 index 0000000..1983525 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/missing-header-MD.c @@ -0,0 +1,6 @@ +/* Test that missing user headers are fatal errors with -MD. */ +/* { dg-do compile } */ +/* { dg-options "-MD" } */ + +#include "nonexistent.h" /* { dg-error "nonexistent.h" } */ +/* { dg-message "terminated" "" { target *-*-* } 0 } */ diff --git a/gcc/testsuite/gcc.dg/cpp/missing-header-MMD.c b/gcc/testsuite/gcc.dg/cpp/missing-header-MMD.c new file mode 100644 index 0000000..aff8d39 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/missing-header-MMD.c @@ -0,0 +1,6 @@ +/* Test that missing user headers are fatal errors with -MMD. */ +/* { dg-do compile } */ +/* { dg-options "-MMD" } */ + +#include "nonexistent.h" /* { dg-error "nonexistent.h" } */ +/* { dg-message "terminated" "" { target *-*-* } 0 } */ diff --git a/gcc/testsuite/gcc.dg/cpp/missing-sysheader-MD.c b/gcc/testsuite/gcc.dg/cpp/missing-sysheader-MD.c new file mode 100644 index 0000000..bf255a4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/missing-sysheader-MD.c @@ -0,0 +1,6 @@ +/* Test that missing system headers are fatal errors with -MD. */ +/* { dg-do compile } */ +/* { dg-options "-MD" } */ + +#include <nonexistent.h> /* { dg-error "nonexistent.h" } */ +/* { dg-message "terminated" "" { target *-*-* } 0 } */ diff --git a/gcc/testsuite/gcc.dg/cpp/missing-sysheader-MMD.c b/gcc/testsuite/gcc.dg/cpp/missing-sysheader-MMD.c new file mode 100644 index 0000000..10cd870 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp/missing-sysheader-MMD.c @@ -0,0 +1,6 @@ +/* Test that missing system headers are fatal errors with -MMD. */ +/* { dg-do compile } */ +/* { dg-options "-MMD" } */ + +#include <nonexistent.h> /* { dg-error "nonexistent.h" } */ +/* { dg-message "terminated" "" { target *-*-* } 0 } */ |