aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2014-08-12 18:53:33 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2014-08-12 18:53:33 +0000
commit6dc99c33a682e6a20ec14450d48db8385a343b38 (patch)
tree8fc6633efbe1c9993cf1d8cb8bb403fd0fd330bd /gcc/c
parent253e34040c869ba73d0eca1d48895b147688ab29 (diff)
downloadgcc-6dc99c33a682e6a20ec14450d48db8385a343b38.zip
gcc-6dc99c33a682e6a20ec14450d48db8385a343b38.tar.gz
gcc-6dc99c33a682e6a20ec14450d48db8385a343b38.tar.bz2
c-parser.c (c_parser_postfix_expression): Add pedwarn.
* c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>: Add pedwarn. (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>: Likewise. (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise. * gcc.dg/concat.c: Add dg-options. * gcc.dg/func-outside-2.c: Add __extension__. * gcc.dg/pr19967.c: Use -std=c99. * gcc.dg/pr22458-1.c: Add dg-options. * gcc.dg/pr33676.c: Add dg-options. * gcc.dg/gnu-predef-1.c: New test. * gcc.dg/c90-func-1.c: New test. * gcc.dg/c90-func-2.c: New test. * gcc.dg/c90-func-2.h: New test. From-SVN: r213875
Diffstat (limited to 'gcc/c')
-rw-r--r--gcc/c/ChangeLog8
-rw-r--r--gcc/c/c-parser.c16
2 files changed, 24 insertions, 0 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 154768b..1d55309 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,11 @@
+2014-08-12 Marek Polacek <polacek@redhat.com>
+
+ * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
+ Add pedwarn.
+ (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
+ Likewise.
+ (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
+
2014-08-10 Marek Polacek <polacek@redhat.com>
PR c/51849
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index ca8577c..5f23379 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -7136,8 +7136,24 @@ c_parser_postfix_expression (c_parser *parser)
switch (c_parser_peek_token (parser)->keyword)
{
case RID_FUNCTION_NAME:
+ pedwarn (loc, OPT_Wpedantic, "ISO C does not support "
+ "%<__FUNCTION__%> predefined identifier");
+ expr.value = fname_decl (loc,
+ c_parser_peek_token (parser)->keyword,
+ c_parser_peek_token (parser)->value);
+ c_parser_consume_token (parser);
+ break;
case RID_PRETTY_FUNCTION_NAME:
+ pedwarn (loc, OPT_Wpedantic, "ISO C does not support "
+ "%<__PRETTY_FUNCTION__%> predefined identifier");
+ expr.value = fname_decl (loc,
+ c_parser_peek_token (parser)->keyword,
+ c_parser_peek_token (parser)->value);
+ c_parser_consume_token (parser);
+ break;
case RID_C99_FUNCTION_NAME:
+ pedwarn_c90 (loc, OPT_Wpedantic, "ISO C90 does not support "
+ "%<__func__%> predefined identifier");
expr.value = fname_decl (loc,
c_parser_peek_token (parser)->keyword,
c_parser_peek_token (parser)->value);