aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2004-06-01 08:12:23 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-06-01 08:12:23 -0700
commit7a3ea2011be31e937186df05335f665a8a983028 (patch)
treebfb9b2da79e35521eae05ac845e476d726baa281 /gcc/c-common.h
parentc4ec6988bc930288ea6c7fa2ec67a6cfbd0c0d73 (diff)
downloadgcc-7a3ea2011be31e937186df05335f665a8a983028.zip
gcc-7a3ea2011be31e937186df05335f665a8a983028.tar.gz
gcc-7a3ea2011be31e937186df05335f665a8a983028.tar.bz2
c-parse.in (OFFSETOF, [...]): New.
* c-parse.in (OFFSETOF, offsetof_member_designator): New. (primary): Handle offsetof. Add error productions for faux functions. Move component_ref objc checking to build_component_ref. (reswords): Add offsetof. (rid_to_yy): Add offsetof. * c-tree.h (build_offsetof): Declare. * c-common.h (objc_is_public): Declare. * c-typeck.c (build_component_ref): Check objc_is_public. (build_offsetof): New. * stub-objc.c (objc_is_public): New. * objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename from is_public. * ginclude/stddef.h (offsetof): Use __builtin_offsetof. * doc/extend.texi (Offsetof): Move from C++ section to C section and rewrite for __builtin_offsetof. cp/ * lex.c (reswords): Rename "__offsetof" to "__builtin_offsetof". * parser.c (struct cp_parser): Remove in_offsetof. (cp_parser_new): Don't set it. (cp_parser_unary_expression): Don't check it. (cp_parser_postfix_open_square_expression): Split out from ... (cp_parser_postfix_expression): ... here. (cp_parser_postfix_dot_deref_expression): Likewise. (cp_parser_builtin_offsetof): New. (cp_parser_primary_expression): Use it. testsuite/ * g++.dg/template/dependent-expr4.C: Use __builtin_offsetof. From-SVN: r82549
Diffstat (limited to 'gcc/c-common.h')
-rw-r--r--gcc/c-common.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/c-common.h b/gcc/c-common.h
index 8d0f926..7394f10 100644
--- a/gcc/c-common.h
+++ b/gcc/c-common.h
@@ -1236,6 +1236,7 @@ extern tree objc_message_selector (void);
extern tree lookup_objc_ivar (tree);
extern void *get_current_scope (void);
extern void objc_mark_locals_volatile (void *);
+extern int objc_is_public (tree, tree);
/* In c-ppoutput.c */
extern void init_pp_output (FILE *);