RID_ID, RID_AT_ENCODE, RID_AT_END,
RID_AT_CLASS, RID_AT_ALIAS, RID_AT_DEFS,
RID_AT_PRIVATE, RID_AT_PROTECTED, RID_AT_PUBLIC,
- RID_AT_PROTOCOL, RID_AT_SELECTOR, RID_AT_INTERFACE,
+ RID_AT_PROTOCOL, RID_AT_SELECTOR,
+ RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH,
+ RID_AT_FINALLY, RID_AT_SYNCHRONIZED,
+ RID_AT_INTERFACE,
RID_AT_IMPLEMENTATION,
RID_MAX,
extern int flag_preprocess_only;
+/* Zero means that faster, ...NonNil variants of objc_msgSend...
+ calls will be used in ObjC; passing nil receivers to such calls
+ will most likely result in crashes. */
+extern int flag_nil_receivers;
+
+/* Nonzero means that we will allow new ObjC exception syntax (@throw,
+ @try, etc.) in source code. */
+extern int flag_objc_exceptions;
+
+/* Nonzero means that code generation will be altered to support
+ "zero-link" execution. This currently affects ObjC only, but may
+ affect other languages in the future. */
+extern int flag_zero_link;
+
+/* Nonzero means emit an '__OBJC, __image_info' for the current translation
+ unit. It will inform the ObjC runtime that class definition(s) herein
+ contained are to replace one(s) previously loaded. */
+extern int flag_replace_objc_classes;
+
/* Nonzero means don't output line number information. */
extern char flag_no_line_commands;
initializers and cleanups. */
#define COMPOUND_STMT_BODY_BLOCK(NODE) TREE_LANG_FLAG_3 (NODE)
-extern void c_expand_asm_operands (tree, tree, tree, tree, int, const char *, int);
+extern void c_expand_asm_operands (tree, tree, tree, tree, int, location_t);
/* These functions must be defined by each front-end which implements
a variant of the C language. They are used in c-common.c. */
extern int c_estimate_num_insns (tree decl);
extern bool c_decl_uninit (tree t);
+/* The following have been moved here from c-tree.h, since they're needed
+ in the ObjC++ world, too. What is more, stub-objc.c could use a few
+ prototypes. */
+extern tree lookup_interface (tree);
+extern tree is_class_name (tree);
+extern tree objc_is_object_ptr (tree);
+extern void objc_check_decl (tree);
+extern int objc_comptypes (tree, tree, int);
+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 *);
+
/* In c-ppoutput.c */
extern void init_pp_output (FILE *);
extern void preprocess_file (cpp_reader *);