aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-parser.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gcc.gnu.org>2006-08-17 07:02:55 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2006-08-17 07:02:55 +0000
commit6d4d7b0eed1846e13f5dd75765696b2b6854af44 (patch)
treea00c91d8a45badf842fef53d1a9a8662c9f6f24b /gcc/c-parser.c
parente98a430b854487d164b042b9a1ab0cb6dba0ca25 (diff)
downloadgcc-6d4d7b0eed1846e13f5dd75765696b2b6854af44.zip
gcc-6d4d7b0eed1846e13f5dd75765696b2b6854af44.tar.gz
gcc-6d4d7b0eed1846e13f5dd75765696b2b6854af44.tar.bz2
[multiple changes]
2006-08-17 Paolo Bonzini <bonzini@gnu.org> PR c++/28573 * c-common.c (fold_offsetof_1): Add an argument and recurse down to it or the INTEGER_CST. Fail on a CALL_EXPR. (fold_offsetof): Pass new argument to fold_offsetof_1. * c-parser.c (c_parser_postfix_expression): Don't include a NULL operand into an INDIRECT_REF. * c-typeck.c (build_unary_op): Adjust call to fold_offsetof. cp: 2006-08-17 Paolo Bonzini <bonzini@gnu.org> PR c++/28573 * semantics.c (finish_offsetof): Add new argument to fold_offsetof. testsuite: 2006-08-17 Paolo Bonzini <bonzini@gnu.org> PR c++/28573 * g++.dg/parse/offsetof6.C: New test. * g++.dg/parse/offsetof7.C: New test. From-SVN: r116208
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r--gcc/c-parser.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index 6e243df..9031e5b 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -5203,7 +5203,7 @@ c_parser_postfix_expression (c_parser *parser)
if (type == error_mark_node)
offsetof_ref = error_mark_node;
else
- offsetof_ref = build1 (INDIRECT_REF, type, NULL);
+ offsetof_ref = build1 (INDIRECT_REF, type, null_pointer_node);
/* Parse the second argument to __builtin_offsetof. We
must have one identifier, and beyond that we want to
accept sub structure and sub array references. */
@@ -5245,7 +5245,7 @@ c_parser_postfix_expression (c_parser *parser)
c_parser_error (parser, "expected identifier");
c_parser_skip_until_found (parser, CPP_CLOSE_PAREN,
"expected %<)%>");
- expr.value = fold_offsetof (offsetof_ref);
+ expr.value = fold_offsetof (offsetof_ref, NULL_TREE);
expr.original_code = ERROR_MARK;
}
break;