1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
|
2004-08-06 Ziemowit Laski <zlaski@apple.com>
* doc/frontends.texi: Mention Objective-C++ in addition to
Objective-C.
* doc/install.texi: Add 'obj-c++' to list of configurable
languages.
* doc/invoke.texi: Rename Objective-C option headings to
indicate they also apply to Objective-C++. List file
extensions for Objective-C++ sources. Mention that
ObjC and ObjC++ compilations may also use C and C++ options,
respectively. Point users to doc/standards.texi for
further info on ObjC and ObjC++.
* doc/sourcebuild.texi: Mention the objcp/ directory and
the Objective-C++ sources it contains.
* doc/standards.texi: Update link to Apple ObjC site;
add link to gcc readings.html WWW doc.
2004-07-30 Ziemowit Laski <zlaski@apple.com>
* c-common.h (objc_is_type_qualifier): Remove prototype.
(objc_add_instance_variable): Adjust prototype to accept 1 parameter
and return void.
* c-parse.in (OBJC_TYPE_QUAL): New %token.
(ivars, ivar_declarator): Remove nonterminals and their associated
productions.
(objc_quals, objc_qual, objc_typename, optellipsis): New nonterminals.
(ivar_decl): Use component_decl; adjust call to
objc_add_instance_variable().
(opt_semi): Add a pedantic-mode warning.
(objc_catch_prefix): Call grokparm() before calling
objc_begin_catch_clause().
(methoddecl, keyworddecl): Use objc_typename instead of typename.
(optparms): Chain parameters via tree lists, rather than directly.
(rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
* c-typeck.c (build_component_ref): Check for ObjC-ness before
calling objc_is_public().
(build_c_cast): Retrieve main variant of type before casting to it.
* stub-objc.c (objc_is_type_qualifier): Remove stub.
(objc_add_instance_variable): Adjust stub to accept 1 parameter and
return void.
(objc_is_public): New stub.
2004-06-25 Ziemowit Laski <zlaski@apple.com>
* c-common.h (objc_static_init_needed_p,
objc_generate_static_init_call): New prototypes.
* c-objc-common.c (build_cdtor): If present, call the Objective-C
static initializer before all others.
* c-parse.in (opt_semi): New nonterminal.
(methoddef): Allow for an optional semicolon in method definitions.
* stub-objc.c (objc_static_init_needed_p,
objc_generate_static_init_call): New stubs.
2004-06-23 Ziemowit Laski <zlaski@apple.com>
* c-common.h (objc_is_id, objc_get_protocol_qualified_type): New
prototypes.
(objc_method_ellipsis, objc_get_static_reference,
objc_get_object_reference, objc_continue_method_definition):
Remove prototypes.
* c-parse.in (optparms, optellipsis): New nonterminals.
(myparms, myparm, myxdecls, mydecls, mydecl, optarglist): Remove.
(typespec_nonreserved_nonattr): Call objc_get_protocol_qualified_type()
instead of objc_get_static_reference() or objc_get_object_reference().
* c-typeck.c (build_c_cast): Preserve the NOP_EXPR when casting
to an Objective-C type.
* expr.c (categorize_ctor_elements_1): Check for presence of
designated initializer before checking its TREE_CODE.
* stub_objc.c (objc_is_id, objc_get_protocol_qualified_type): New
stub functions.
(objc_method_ellipsis, objc_get_static_reference,
objc_get_object_reference, objc_continue_method_definition):
Remove stub functions.
2004-06-09 Ziemowit Laski <zlaski@apple.com>
* c-common.h (objc_is_type_qualifier): New prototype.
* stub-objc.c (objc_is_type_qualifier, objc_clear_super_receiver):
New stubs.
2004-03-04 Ziemowit Laski <zlaski@apple.com>
* Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
* c-common.h (lookup_interface): Remove prototype.
(is_class_name): Rename to objc_is_class_name.
(lookup_objc_ivar): Rename to objc_lookup_ivar.
(get_current_scope): Rename to objc_get_current_scope.
(objc_is_reserved_word, objc_lookup_ivar, objc_declare_alias,
objc_declare_class, objc_declare_protocols, objc_method_ellipsis,
objc_is_public, objc_build_message_expr, objc_finish_message_expr,
objc_build_selector_expr, objc_build_protocol_expr,
objc_build_encode_expr, objc_build_string_object,
objc_get_static_reference, objc_get_object_reference,
objc_get_class_reference, objc_get_class_ivars,
objc_start_class_interface, objc_start_category_interface,
objc_start_protocol, objc_continue_interface,
objc_finish_interface, objc_start_class_implementation,
objc_start_category_implementation, objc_continue_implementation,
objc_finish_implementation, objc_set_visibility,
objc_set_method_type, objc_build_method_signature,
objc_add_method_declaration, objc_start_method_definition,
objc_continue_method_definition, objc_finish_method_definition,
objc_add_instance_variable, objc_clear_super_receiver,
objc_build_keyword_decl, objc_build_throw_stmt,
objc_build_try_prologue, objc_build_try_epilogue,
objc_build_catch_stmt, objc_build_catch_epilogue,
objc_build_finally_prologue, objc_build_synchronized_prologue,
objc_build_synchronized_epilogue,
objc_build_try_catch_finally_stmt): New prototypes.
* c-decl.c (get_current_scope): Rename to objc_get_current_scope.
* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word()
instead of using macros.
* c-parse.in: Include c-common.h instead of objc-act.h.
(methodtype): Specify %type; remove (explicit) semantic actions.
(objc_inherit_code, objc_public_flag): Remove.
(primary): Call objc_is_public() instead of is_public(),
objc_build_message_expr() instead of build_message_expr(),
objc_build_selector_expr() instead of build_selector_expr(),
objc_build_protocol_expr() instead of build_protocol_expr(),
objc_build_encode_expr() instead of build_encode_expr(),
objc_build_string_object() instead of build_objc_string_object().
(typespec_nonreserved_nonattr): Call objc_get_static_reference()
instead of get_static_reference(), objc_get_object_reference()
instead of get_object_reference().
(component_decl_list2): Call objc_get_class_ivars() instead of
get_class_ivars_from_name().
(objcdef): Move semantic action to objc_finish_implementation(),
and call it.
(classdef): Move semantic actions to objc_start_class_interface(),
objc_continue_interface(), objc_finish_interface(),
objc_start_class_implementation(), objc_continue_implementation(),
objc_start_category_interface() and objc_start_category_implementation()
and call them.
(protocoldef): Move semantic actions to objc_start_protocol() and
objc_finish_interface() and call them.
(visibility_spec): Move semantic actions to objc_set_visibility() and
call it.
(ivar_declarator): Call objc_add_instance_variable() instead of
add_instance_variable().
(methoddef): Move semantic actions to objc_set_method_type() and
objc_start_method_definition(), objc_continue_method_definition()
and objc_finish_method_definition() and call them.
(methodproto): Move semantic actions to objc_set_method_type() and
objc_add_method_declaration() and call them.
(methoddecl): Call objc_build_method_signature() instead of
build_method_decl().
(optparmlist): Call objc_method_ellipsis().
(keyworddecl): Call objc_build_keyword_decl() instead of
build_keyword_decl().
(receiver): Call objc_get_class_reference() instead of
get_class_reference().
(yylexname): Call objc_is_class_name() instead of is_class_name().
* c-typeck.c (build_external_ref): Call objc_lookup_ivar() instead of
lookup_objc_ivar().
* gengtype.c (get_file_basename): Actually check lang subdirectory
name instead of merely its length.
* stub-objc.c (lookup_interface): Remove stub.
(is_class_name): Rename to objc_is_class_name.
(lookup_objc_ivar): Rename to objc_lookup_ivar.
(objc_is_reserved_word, objc_declare_alias, objc_declare_class,
objc_declare_protocols, objc_start_protocol, objc_method_ellipsis,
objc_start_class_interface, objc_start_category_interface,
objc_continue_interface, objc_finish_interface,
objc_add_instance_variable, objc_set_visibility,
objc_set_method_type, objc_start_class_implementation,
objc_start_category_implementation, objc_continue_implementation,
objc_finish_implementation, objc_add_method_declaration,
objc_start_method_definition, objc_continue_method_definition,
objc_finish_method_definition, objc_build_keyword_decl,
objc_build_method_signature, objc_build_encode_expr, objc_build_protocol_expr,
objc_build_selector_expr, objc_build_message_expr,
objc_build_string_object, objc_get_class_reference, objc_get_object_reference,
objc_get_static_reference): New stubs.
2004-03-02 Ziemowit Laski <zlaski@apple.com>
* gengtype.c (get_base_file_bitmap): Allow for file found
in a language subdirectory to also be used by other languages.
2004-01-30 Ziemowit Laski <zlaski@apple.com>
* Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
(C_AND_OBJC_OBJS): Add c-pretty-print.o.
(C_OBJC): Remove c-pretty-print.o.
(c-lang.o): Depend on c-objc-common.h.
(c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
* c-decl.c (groktypename_in_parm_context): Remove.
* c-lang.c: Include c-objc-common.h.
(LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
Move to c-objc-common.h.
(c_initialize_diagnostics): Move to c-objc-common.c.
* c-objc-common.c: Include c-pretty-print.h and c-objc-common.h.
(c_tree_printer): Use pp_base_string() macro instead of pp_string().
(c_initialize_diagnostics): Moved from c-lang.c.
* c-objc-common.h: New file.
* c-tree.h (groktypename_in_parm_context, get_current_scope,
objc_mark_locals_volatile): Remove prototypes.
* doc/invoke.texi (-x option): Rename 'cpp-output' and 'objc-cpp-output'
to 'c-cpp-output' and 'objective-c-cpp-output', respectively. Add
'objective-c++', 'objective-c++-header' and 'objective-c++-cpp-output'.
* gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
Objective-C++ extensions; rename 'cpp-output' to 'c-cpp-output'.
* gengtype.c (get_file_basename): Match entire subdirectory name
('cp', 'objc', 'objcp') rather than just its suffix.
(get_output_file_with_visibility): Add more special cases for headers
used by more than one front-end.
|