diff options
author | Ziemowit Laski <zlaski@apple.com> | 2003-09-25 01:26:01 +0000 |
---|---|---|
committer | Ziemowit Laski <zlaski@gcc.gnu.org> | 2003-09-25 01:26:01 +0000 |
commit | 264fa2db22ce7cf50ebb108edb097acf0c9f2a57 (patch) | |
tree | 1052b4d25cc404c17e6402e22b8183026f4d4263 /gcc/c-common.h | |
parent | 3b6fdb2fa04453ebf17ec1dfd3ef62b413442430 (diff) | |
download | gcc-264fa2db22ce7cf50ebb108edb097acf0c9f2a57.zip gcc-264fa2db22ce7cf50ebb108edb097acf0c9f2a57.tar.gz gcc-264fa2db22ce7cf50ebb108edb097acf0c9f2a57.tar.bz2 |
MERGE OF objc-improvements-branch into MAINLINE.
2003-09-24 Ziemowit Laski <zlaski@apple.com>
MERGE OF objc-improvements-branch into MAINLINE.
See 'gcc/ChangeLog' and 'gcc/testsuite/ChangeLog' for
the gory details.
From-SVN: r71748
Diffstat (limited to 'gcc/c-common.h')
-rw-r--r-- | gcc/c-common.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/gcc/c-common.h b/gcc/c-common.h index 0bbc955..c8a0ecc 100644 --- a/gcc/c-common.h +++ b/gcc/c-common.h @@ -99,7 +99,10 @@ enum rid 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, @@ -354,6 +357,25 @@ extern void resort_sorted_fields (void *, void *, gt_pointer_operator, 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; @@ -1309,6 +1331,19 @@ extern void fe_file_change (const struct line_map *); 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 *); |