diff options
author | Marek Polacek <polacek@redhat.com> | 2014-07-27 17:09:38 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2014-07-27 17:09:38 +0000 |
commit | 61eb99f6cc4a1deed034cca72870a21d340d5aa2 (patch) | |
tree | 820f36cafea197aafe4a4a9b0925081fe2507eac /gcc | |
parent | 17522262ead9bae03bf6d21cc2b1e7a02ef60c60 (diff) | |
download | gcc-61eb99f6cc4a1deed034cca72870a21d340d5aa2.zip gcc-61eb99f6cc4a1deed034cca72870a21d340d5aa2.tar.gz gcc-61eb99f6cc4a1deed034cca72870a21d340d5aa2.tar.bz2 |
re PR c/61861 (Incorrect column number for -Wdiscarded-qualifiers)
PR c/61861
* macro.c (builtin_macro): Add location parameter. Set
location of builtin macro to the expansion point.
(enter_macro_context): Pass location to builtin_macro.
* gcc.dg/pr61861.c: New test.
From-SVN: r213102
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr61861.c | 37 |
2 files changed, 42 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9f2311b..48717fc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-07-27 Marek Polacek <polacek@redhat.com> + + PR c/61861 + * gcc.dg/pr61861.c: New test. + 2014-07-27 Petr Murzin <petr.murzin@intel.com> * gcc.target/i386/avx512f-vbroadcastf64x4-2.c: Fix the uninitialized diff --git a/gcc/testsuite/gcc.dg/pr61861.c b/gcc/testsuite/gcc.dg/pr61861.c new file mode 100644 index 0000000..d902868 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr61861.c @@ -0,0 +1,37 @@ +/* { dg-do compile } */ +/* { dg-prune-output "expected" } */ + +extern void foo (int); +extern void bar (int, char *); + +#define F __FILE__ /* { dg-error "11:passing argument" } */ +#define T __TIME__ /* { dg-error "11:passing argument" } */ +#define D __DATE__ /* { dg-error "11:passing argument" } */ +#define L __LINE__ /* { dg-error "11:passing argument" } */ + +#define F2 "foo" /* { dg-error "12:passing argument" } */ +#define T2 "foo" /* { dg-error "12:passing argument" } */ +#define D2 "foo" /* { dg-error "12:passing argument" } */ +#define L2 42 /* { dg-error "12:passing argument" } */ + +void +f (void) +{ + foo (__FILE__); /* { dg-error "8:passing argument" } */ + foo (__BASE_FILE__); /* { dg-error "8:passing argument" } */ + foo (__TIME__); /* { dg-error "8:passing argument" } */ + foo (__DATE__); /* { dg-error "8:passing argument" } */ + foo (__TIMESTAMP__); /* { dg-error "8:passing argument" } */ + bar (1, __LINE__); /* { dg-error "11:passing argument" } */ + bar (__COUNTER__, __COUNTER__); /* { dg-error "21:passing argument" } */ + + foo (F); /* { dg-message "8:in expansion of" } */ + foo (T); /* { dg-message "8:in expansion of" } */ + foo (D); /* { dg-message "8:in expansion of" } */ + bar (1, L); /* { dg-message "11:in expansion of" } */ + + foo (F2); /* { dg-message "8:in expansion of" } */ + foo (T2); /* { dg-message "8:in expansion of" } */ + foo (D2); /* { dg-message "8:in expansion of" } */ + bar (1, L2); /* { dg-message "11:in expansion of" } */ +} |