diff options
author | Marek Polacek <polacek@redhat.com> | 2014-07-24 09:00:13 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2014-07-24 09:00:13 +0000 |
commit | cdc94aca13aa1bf9531ed11d798e346c99a6c83f (patch) | |
tree | 80f4055f85aa23d29694b53c72ed56d1d18bf7c2 | |
parent | 34f2124e5f92ba0f2d48a86a77ea4b6347ccf027 (diff) | |
download | gcc-cdc94aca13aa1bf9531ed11d798e346c99a6c83f.zip gcc-cdc94aca13aa1bf9531ed11d798e346c99a6c83f.tar.gz gcc-cdc94aca13aa1bf9531ed11d798e346c99a6c83f.tar.bz2 |
re PR c/57653 (filename information discarded when using -imacros)
PR c/57653
* c-opts.c (c_finish_options): If -imacros is in effect, return.
* c-c++-common/pr57653.c: New test.
* c-c++-common/pr57653.h: New file.
* c-c++-common/pr57653-2.c: New test.
* c-c++-common/pr57653-2.h: New file.
From-SVN: r212972
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-opts.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/pr57653-2.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/pr57653-2.h | 1 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/pr57653.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/pr57653.h | 1 |
7 files changed, 31 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 186c041..81ec256 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2014-07-24 Marek Polacek <polacek@redhat.com> + + PR c/57653 + * c-opts.c (c_finish_options): If -imacros is in effect, return. + 2014-07-16 Dodji Seketeli <dodji@redhat.com> PR preprocessor/60723 - missing system-ness marks for macro tokens diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c index 968b703..3f8e6e6 100644 --- a/gcc/c-family/c-opts.c +++ b/gcc/c-family/c-opts.c @@ -1438,6 +1438,12 @@ c_finish_options (void) static void push_command_line_include (void) { + /* This can happen if disabled by -imacros for example. + Punt so that we don't set "<command-line>" as the filename for + the header. */ + if (include_cursor > deferred_count) + return; + if (!done_preinclude) { done_preinclude = true; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c3e9c5c..09ff1dc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2014-07-24 Marek Polacek <polacek@redhat.com> + + PR c/57653 + * c-c++-common/pr57653.c: New test. + * c-c++-common/pr57653.h: New file. + * c-c++-common/pr57653-2.c: New test. + * c-c++-common/pr57653-2.h: New file. + 2014-07-23 Jiong Wang <jiong.wang@arm.com> * gcc.target/aarch64/test_frame_common.h: New file. diff --git a/gcc/testsuite/c-c++-common/pr57653-2.c b/gcc/testsuite/c-c++-common/pr57653-2.c new file mode 100644 index 0000000..086f6be --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr57653-2.c @@ -0,0 +1,4 @@ +/* { dg-do preprocess } */ +/* { dg-options "-imacros ${srcdir}/c-c++-common/pr57653-2.h" } */ + +/* Empty. */ diff --git a/gcc/testsuite/c-c++-common/pr57653-2.h b/gcc/testsuite/c-c++-common/pr57653-2.h new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr57653-2.h @@ -0,0 +1 @@ + diff --git a/gcc/testsuite/c-c++-common/pr57653.c b/gcc/testsuite/c-c++-common/pr57653.c new file mode 100644 index 0000000..620471e --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr57653.c @@ -0,0 +1,6 @@ +/* { dg-do compile } */ +/* { dg-options "-imacros ${srcdir}/c-c++-common/pr57653.h" } */ + +__attribute__((used)) static const char s[] = F; + +/* { dg-final { scan-assembler-not "command-line" } } */ diff --git a/gcc/testsuite/c-c++-common/pr57653.h b/gcc/testsuite/c-c++-common/pr57653.h new file mode 100644 index 0000000..5a93388 --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr57653.h @@ -0,0 +1 @@ +#define F __FILE__ |