annotate gcc/objc/ChangeLog @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
1 2018-10-17 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3 * Make-lang.in (selftest-objc): New.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
4
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
5 2018-04-20 Martin Liska <mliska@suse.cz>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
6
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
7 PR objc/85476
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
8 * objc-act.c (finish_class): Do not overflow string buffer.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
9
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
10 2018-01-03 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
11
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
12 Update copyright years.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
13
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
14 2017-11-30 Jakub Jelinek <jakub@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
15
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
16 * objc-next-runtime-abi-01.c (generate_dispatch_table): Use ; instead
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
17 of ;;.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
18
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
19 2017-11-10 Martin Sebor <msebor@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
20
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
21 PR c/81117
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
22 * objc-encoding.c (encode_type): Use memcpy instead of strncpy.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
23
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
24 2017-10-31 David Malcolm <dmalcolm@redhat.com>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
25
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
26 * objc-gnu-runtime-abi-01.c (objc_gnu_runtime_abi_01_init): Use
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
27 UNKNOWN_LOCATION rather than 0.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
28
111
kono
parents:
diff changeset
29 2017-10-17 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 * objc-act.c (objc_common_tree_size): Return size of TYPE nodes.
kono
parents:
diff changeset
32
kono
parents:
diff changeset
33 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 * objc-act.c (objc_decl_method_attributes): Use wi::to_wide when
kono
parents:
diff changeset
36 operating on trees as wide_ints.
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 2017-09-29 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 * objc-act.c (check_ivars, gen_declaration): For OBJCPLUS look at
kono
parents:
diff changeset
41 DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL.
kono
parents:
diff changeset
42
kono
parents:
diff changeset
43 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
44 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
45 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 * objc-encoding.c (encode_type): Use SCALAR_INT_TYPE_MODE.
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
50 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
51 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
52
kono
parents:
diff changeset
53 * objc-encoding.c (encode_type): Use SCALAR_FLOAT_TYPE_MODE
kono
parents:
diff changeset
54 instead of TYPE_MODE.
kono
parents:
diff changeset
55
kono
parents:
diff changeset
56 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
kono
parents:
diff changeset
57 Alan Hayward <alan.hayward@arm.com>
kono
parents:
diff changeset
58 David Sherwood <david.sherwood@arm.com>
kono
parents:
diff changeset
59
kono
parents:
diff changeset
60 * objc-encoding.c (encode_gnu_bitfield): Prefix mode names with E_ in
kono
parents:
diff changeset
61 case statements.
kono
parents:
diff changeset
62
kono
parents:
diff changeset
63 2017-08-09 Marek Polacek <polacek@redhat.com>
kono
parents:
diff changeset
64
kono
parents:
diff changeset
65 PR c/81417
kono
parents:
diff changeset
66 * objc-next-runtime-abi-02.c (build_v2_build_objc_method_call): Update
kono
parents:
diff changeset
67 a call to build_conditional_expr.
kono
parents:
diff changeset
68
kono
parents:
diff changeset
69 2017-08-08 Martin Liska <mliska@suse.cz>
kono
parents:
diff changeset
70
kono
parents:
diff changeset
71 * objc-gnu-runtime-abi-01.c: Include header files.
kono
parents:
diff changeset
72 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
73 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
74
kono
parents:
diff changeset
75 2017-07-20 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
76
kono
parents:
diff changeset
77 Remove TYPE_METHODS.
kono
parents:
diff changeset
78 * objc-runtime-shared-support.c (build_ivar_list_initializer):
kono
parents:
diff changeset
79 Don't presume first item is a FIELD_DECL.
kono
parents:
diff changeset
80
kono
parents:
diff changeset
81 2017-07-19 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
82
kono
parents:
diff changeset
83 * objc-act.h (CLASS_NST_METHODS, CLASS_CLS_METHODS): Use
kono
parents:
diff changeset
84 TYPE_{MIN,MAX}_VALUE_RAW.
kono
parents:
diff changeset
85
kono
parents:
diff changeset
86 2017-05-16 Sylvestre Ledru <sylvestre@debian.org>
kono
parents:
diff changeset
87
kono
parents:
diff changeset
88 * objc-runtime-shared-support.c (build_module_descriptor):
kono
parents:
diff changeset
89 Remove unnecessary conditional when building instance of
kono
parents:
diff changeset
90 objc_module. CID 1406758
kono
parents:
diff changeset
91
kono
parents:
diff changeset
92 2017-05-09 Nathan Sidwell <nathan@acm.org>
kono
parents:
diff changeset
93
kono
parents:
diff changeset
94 * objc-gnu-runtime-abi-01.c (objc_add_static_instance): Use
kono
parents:
diff changeset
95 pushdecl lang_hook.
kono
parents:
diff changeset
96
kono
parents:
diff changeset
97 2017-05-04 Martin Sebor <msebor@redhat.com>
kono
parents:
diff changeset
98
kono
parents:
diff changeset
99 PR translation/80280
kono
parents:
diff changeset
100 * objc-gnu-runtime-abi-01.c (objc_eh_runtime_type): Add missing
kono
parents:
diff changeset
101 quoting to directives.
kono
parents:
diff changeset
102 * objc-next-runtime-abi-01.c (objc_eh_runtime_type): Ditto.
kono
parents:
diff changeset
103 * objc-next-runtime-abi-02.c (next_runtime_02_eh_type): Ditto.
kono
parents:
diff changeset
104
kono
parents:
diff changeset
105 2017-01-01 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
106
kono
parents:
diff changeset
107 Update copyright years.
kono
parents:
diff changeset
108
kono
parents:
diff changeset
109 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
kono
parents:
diff changeset
110 Richard Biener <rguenther@suse.de>
kono
parents:
diff changeset
111
kono
parents:
diff changeset
112 * config-lang.in (gtfiles): Add c/c-parser.h.
kono
parents:
diff changeset
113
kono
parents:
diff changeset
114 2016-09-27 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
115
kono
parents:
diff changeset
116 * objc-act.c (continue_class): Remove break after return.
kono
parents:
diff changeset
117 (objc_maybe_printable_name): Likewise.
kono
parents:
diff changeset
118
kono
parents:
diff changeset
119 2016-08-12 Marek Polacek <polacek@redhat.com>
kono
parents:
diff changeset
120
kono
parents:
diff changeset
121 PR c/7652
kono
parents:
diff changeset
122 * objc-encoding.c (encode_type): Add FALLTHRU.
kono
parents:
diff changeset
123
kono
parents:
diff changeset
124 2016-06-07 David Malcolm <dmalcolm@redhat.com>
kono
parents:
diff changeset
125
kono
parents:
diff changeset
126 * objc-act.c (objc_build_component_ref): Update call
kono
parents:
diff changeset
127 to build_component_ref for added param, passing UNKNOWN_LOCATION.
kono
parents:
diff changeset
128
kono
parents:
diff changeset
129 2016-04-18 Michael Matz <matz@suse.de>
kono
parents:
diff changeset
130
kono
parents:
diff changeset
131 * objc-act.c (objc_build_struct): Use SET_DECL_ALIGN.
kono
parents:
diff changeset
132
kono
parents:
diff changeset
133 2016-02-12 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
134
kono
parents:
diff changeset
135 * objc-act.c: Spelling fixes - behaviour -> behavior and
kono
parents:
diff changeset
136 neighbour -> neighbor.
kono
parents:
diff changeset
137 * objc-map.h: Likewise.
kono
parents:
diff changeset
138
kono
parents:
diff changeset
139 2016-01-04 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
140
kono
parents:
diff changeset
141 Update copyright years.
kono
parents:
diff changeset
142
kono
parents:
diff changeset
143 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
144
kono
parents:
diff changeset
145 * objc-act.c: Remove unused header files.
kono
parents:
diff changeset
146 * objc-encoding.c: Likewise.
kono
parents:
diff changeset
147 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
148 * objc-lang.c: Likewise.
kono
parents:
diff changeset
149 * objc-map.c: Likewise.
kono
parents:
diff changeset
150 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
151 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
152 * objc-runtime-shared-support.c: Likewise.
kono
parents:
diff changeset
153
kono
parents:
diff changeset
154 2015-11-09 Alan Modra <amodra@gmail.com>
kono
parents:
diff changeset
155
kono
parents:
diff changeset
156 * objc-encoding.c (encode_aggregate_within): Cast obstack_next_free
kono
parents:
diff changeset
157 return value.
kono
parents:
diff changeset
158
kono
parents:
diff changeset
159 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
160
kono
parents:
diff changeset
161 * objc-lang.c: Reorder #include's and remove duplicates.
kono
parents:
diff changeset
162 * objc-map.c: Likewise.
kono
parents:
diff changeset
163
kono
parents:
diff changeset
164 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
kono
parents:
diff changeset
165
kono
parents:
diff changeset
166 * objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h:
kono
parents:
diff changeset
167 Remove useless typedefs.
kono
parents:
diff changeset
168
kono
parents:
diff changeset
169 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
170
kono
parents:
diff changeset
171 * objc-map.h: Fix double word typos.
kono
parents:
diff changeset
172
kono
parents:
diff changeset
173 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
174
kono
parents:
diff changeset
175 * objc-act.c: Adjust includes.
kono
parents:
diff changeset
176 * objc-encoding.c: Likewise.
kono
parents:
diff changeset
177 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
178 * objc-lang.c: Likewise.
kono
parents:
diff changeset
179 * objc-map.c: Likewise.
kono
parents:
diff changeset
180 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
181 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
182 * objc-runtime-shared-support.c: Likewise.
kono
parents:
diff changeset
183
kono
parents:
diff changeset
184 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
185
kono
parents:
diff changeset
186 * objc-act.c: Remove ipa-ref.h and plugin-api.h from include list.
kono
parents:
diff changeset
187
kono
parents:
diff changeset
188 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
kono
parents:
diff changeset
189
kono
parents:
diff changeset
190 * objc-act.c (objc_string_hasher): Inherit from ggc_ptr_hash
kono
parents:
diff changeset
191 rather than ggc_hasher.
kono
parents:
diff changeset
192
kono
parents:
diff changeset
193 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
kono
parents:
diff changeset
194
kono
parents:
diff changeset
195 * objc-act.c (decl_name_hash): Inherit from nofree_ptr_hash rather
kono
parents:
diff changeset
196 than typed_noop_remove. Remove redudant typedefs.
kono
parents:
diff changeset
197
kono
parents:
diff changeset
198 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
199
kono
parents:
diff changeset
200 * objc-act.c: Do not include input.h, line-map.h or is-a.h.
kono
parents:
diff changeset
201 * objc-encoding.c: Likewise.
kono
parents:
diff changeset
202 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
203 * objc-lang.c: Likewise.
kono
parents:
diff changeset
204 * objc-map.c: Likewise.
kono
parents:
diff changeset
205 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
206 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
207 * objc-runtime-shared-support.c: Likewise.
kono
parents:
diff changeset
208
kono
parents:
diff changeset
209 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
210
kono
parents:
diff changeset
211 * objc-act.c : Adjust include files.
kono
parents:
diff changeset
212 * objc-encoding.c : Likewise.
kono
parents:
diff changeset
213 * objc-gnu-runtime-abi-01.c : Likewise.
kono
parents:
diff changeset
214 * objc-lang.c : Likewise.
kono
parents:
diff changeset
215 * objc-map.c : Likewise.
kono
parents:
diff changeset
216 * objc-next-runtime-abi-01.c : Likewise.
kono
parents:
diff changeset
217 * objc-next-runtime-abi-02.c : Likewise.
kono
parents:
diff changeset
218 * objc-runtime-shared-support.c : Likewise.
kono
parents:
diff changeset
219
kono
parents:
diff changeset
220 2015-06-08 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
221
kono
parents:
diff changeset
222 * objc-runtime-shared-support.c (build_module_descriptor): Set
kono
parents:
diff changeset
223 TREE_USED on UOBJC_MODULES_decl.
kono
parents:
diff changeset
224
kono
parents:
diff changeset
225 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
226
kono
parents:
diff changeset
227 * objc-act.c (objc_write_global_declarations): Adjust comment.
kono
parents:
diff changeset
228 * objc-gnu-runtime-abi-01.c (build_selector_table_decl): Set
kono
parents:
diff changeset
229 TREE_USED bit.
kono
parents:
diff changeset
230
kono
parents:
diff changeset
231 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
232
kono
parents:
diff changeset
233 * objc-act.c: Adjust includes for restructured coretypes.h.
kono
parents:
diff changeset
234 * objc-encoding.c: Likewise.
kono
parents:
diff changeset
235 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
236 * objc-lang.c: Likewise.
kono
parents:
diff changeset
237 * objc-map.c: Likewise.
kono
parents:
diff changeset
238 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
239 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
240 * objc-runtime-shared-support.c: Likewise.
kono
parents:
diff changeset
241
kono
parents:
diff changeset
242 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
kono
parents:
diff changeset
243
kono
parents:
diff changeset
244 * Make-lang.in (objc.mostlyclean): Remove cc1obj.
kono
parents:
diff changeset
245
kono
parents:
diff changeset
246 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
kono
parents:
diff changeset
247
kono
parents:
diff changeset
248 * objc-act.c: Adjust for hash_table changes.
kono
parents:
diff changeset
249
kono
parents:
diff changeset
250 2015-01-09 Michael Collison <michael.collison@linaro.org>
kono
parents:
diff changeset
251
kono
parents:
diff changeset
252 * objc-act.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
kono
parents:
diff changeset
253 input.h, alias.h, symtab.h, options, fold-const.h,
kono
parents:
diff changeset
254 wide-int.h, and inchash.h due to flattening of tree.h.
kono
parents:
diff changeset
255 * objc-encoding.c: Ditto.
kono
parents:
diff changeset
256 * objc-gnu-runtime-abi-01.c: Ditto.
kono
parents:
diff changeset
257 * objc-lang.c: Ditto.
kono
parents:
diff changeset
258 * objc-map.c: Ditto.
kono
parents:
diff changeset
259 * objc-next-runtime-abi-01.c: Ditto.
kono
parents:
diff changeset
260 * objc-next-runtime-abi-02.c: Ditto.
kono
parents:
diff changeset
261 * objc-runtime-shared-support.c: Ditto.
kono
parents:
diff changeset
262
kono
parents:
diff changeset
263 2015-01-05 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
264
kono
parents:
diff changeset
265 Update copyright years.
kono
parents:
diff changeset
266
kono
parents:
diff changeset
267 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
268
kono
parents:
diff changeset
269 * objc-act.c: Adjust include files.
kono
parents:
diff changeset
270
kono
parents:
diff changeset
271 2014-10-22 Alan Modra <amodra@gmail.com>
kono
parents:
diff changeset
272
kono
parents:
diff changeset
273 * objc-encoding.c (encode_array): Cast result of obstack_base.
kono
parents:
diff changeset
274 (encode_type): Likewise.
kono
parents:
diff changeset
275
kono
parents:
diff changeset
276 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
277
kono
parents:
diff changeset
278 * objc-act.c: Adjust include files.
kono
parents:
diff changeset
279
kono
parents:
diff changeset
280 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
kono
parents:
diff changeset
281
kono
parents:
diff changeset
282 * objc-act.c: use hash_table instead of hashtab.
kono
parents:
diff changeset
283
kono
parents:
diff changeset
284 2014-09-15 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
285
kono
parents:
diff changeset
286 * Make-lang.in (check_objc_parallelize): Change to just an upper
kono
parents:
diff changeset
287 bound number.
kono
parents:
diff changeset
288
kono
parents:
diff changeset
289 2014-07-14 Jan Hubicka <hubicka@ucw.cz>
kono
parents:
diff changeset
290
kono
parents:
diff changeset
291 * objc-act.c (objc_common_tree_size): New function.
kono
parents:
diff changeset
292 * objc-act.h (KEYWORD_KEY_NAME, KEYWORD_ARG_NAME): Add type
kono
parents:
diff changeset
293 checking.
kono
parents:
diff changeset
294 (INSTANCE_METHOD_OR_CLASS_METHOD_DECL_CHECK): New macro.
kono
parents:
diff changeset
295 (METHOD_SEL_NAME, METHOD_SEL_ARGS, METHOD_ADD_ARGS,
kono
parents:
diff changeset
296 METHOD_ADD_ARGS_ELLIPSIS_P, METHOD_DEFINITION, METHOD_ENCODING,
kono
parents:
diff changeset
297 METHOD_TYPE_ATTRIBUTES, METHOD_PROPERTY_CONTEXT): Add type checking.
kono
parents:
diff changeset
298 (METHOD_SEL_ARGS): Use decl_common.size instead of
kono
parents:
diff changeset
299 decl_non_common.result.
kono
parents:
diff changeset
300 (PROPERTY_NAME, PROPERTY_GETTER_NAME, PROPERTY_SETTER_NAME,
kono
parents:
diff changeset
301 PROPERTY_READONLY, PROPERTY_NONATOMIC, PROPERTY_ASSIGN_SEMANTICS,
kono
parents:
diff changeset
302 PROPERTY_IVAR_NAME, PROPERTY_DYNAMIC, PROPERTY_HAS_NO_GETTER,
kono
parents:
diff changeset
303 PROPERTY_HAS_NO_SETTER, PROPERTY_OPTIONAL): Add type checking.
kono
parents:
diff changeset
304 (objc_common_tree_size): Declare.
kono
parents:
diff changeset
305 * objc-lang.c (LANG_HOOKS_TREE_SIZE): New macro.
kono
parents:
diff changeset
306
kono
parents:
diff changeset
307 2014-06-24 Jan Hubicka <hubicka@ucw.cz>
kono
parents:
diff changeset
308
kono
parents:
diff changeset
309 * objc-act.c (objc_xref_basetypes): Set TYPE_BINFO of type variants,
kono
parents:
diff changeset
310 too.
kono
parents:
diff changeset
311
kono
parents:
diff changeset
312 2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
kono
parents:
diff changeset
313
kono
parents:
diff changeset
314 * objc-act.c: Adjust.
kono
parents:
diff changeset
315
kono
parents:
diff changeset
316 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
kono
parents:
diff changeset
317
kono
parents:
diff changeset
318 * objc-act.c (objc_build_string_object): Adjust.
kono
parents:
diff changeset
319 (continue_class): Likewise.
kono
parents:
diff changeset
320 * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
kono
parents:
diff changeset
321 * objc-map.c (objc_map_alloc_ggc): Likewise.
kono
parents:
diff changeset
322 (objc_map_private_resize): Likewise.
kono
parents:
diff changeset
323 * objc-next-runtime-abi-02.c (objc_next_runtime_abi_02_init):
kono
parents:
diff changeset
324 Likewise.
kono
parents:
diff changeset
325 (hash_name_enter): Likewise.
kono
parents:
diff changeset
326
kono
parents:
diff changeset
327 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
kono
parents:
diff changeset
328 Mike Stump <mikestump@comcast.net>
kono
parents:
diff changeset
329 Richard Sandiford <rdsandiford@googlemail.com>
kono
parents:
diff changeset
330
kono
parents:
diff changeset
331 * objc-act.c: Include wide-int.h.
kono
parents:
diff changeset
332 (objc_decl_method_attributes): Use wide-int interfaces.
kono
parents:
diff changeset
333
kono
parents:
diff changeset
334 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
kono
parents:
diff changeset
335
kono
parents:
diff changeset
336 PR objc/56044
kono
parents:
diff changeset
337 * objc-act.c (objc_ivar_visibility, objc_default_ivar_visibility): Add.
kono
parents:
diff changeset
338 (objc_init): Initialize objc_default_ivar_visibility.
kono
parents:
diff changeset
339 (objc_start_class_interface): Use objc_default_ivar_visibility.
kono
parents:
diff changeset
340 (objc_start_class_implementation): Likewise.
kono
parents:
diff changeset
341 (objc_lookup_ivar): Implement -fno-local-ivars.
kono
parents:
diff changeset
342
kono
parents:
diff changeset
343 2014-01-31 Marek Polacek <polacek@redhat.com>
kono
parents:
diff changeset
344
kono
parents:
diff changeset
345 PR c/59963
kono
parents:
diff changeset
346 * objc-next-runtime-abi-02.c (build_throw_stmt): Pass vNULL to
kono
parents:
diff changeset
347 build_function_call_vec.
kono
parents:
diff changeset
348 (finish_catch): Likewise.
kono
parents:
diff changeset
349 (next_runtime_abi_02_get_class_reference): Likewise.
kono
parents:
diff changeset
350 * objc-next-runtime-abi-01.c (build_objc_method_call): Pass vNULL to
kono
parents:
diff changeset
351 build_function_call_vec.
kono
parents:
diff changeset
352 (build_throw_stmt): Likewise.
kono
parents:
diff changeset
353 * objc-gnu-runtime-abi-01.c: (build_objc_method_call): Pass vNULL to
kono
parents:
diff changeset
354 build_function_call_vec.
kono
parents:
diff changeset
355 (build_throw_stmt): Likewise.
kono
parents:
diff changeset
356
kono
parents:
diff changeset
357 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
kono
parents:
diff changeset
358
kono
parents:
diff changeset
359 Update copyright years
kono
parents:
diff changeset
360
kono
parents:
diff changeset
361 2013-12-04 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
362
kono
parents:
diff changeset
363 PR c/52023
kono
parents:
diff changeset
364 * objc-act.c (objc_synthesize_getter): Update calls to
kono
parents:
diff changeset
365 c_sizeof_or_alignof_type.
kono
parents:
diff changeset
366
kono
parents:
diff changeset
367 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
368
kono
parents:
diff changeset
369 * objc/objc-act.c: Add required include files from gimple.h.
kono
parents:
diff changeset
370
kono
parents:
diff changeset
371 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
kono
parents:
diff changeset
372
kono
parents:
diff changeset
373 * objc-encoding.c: Replace tree_low_cst (..., 1) with tree_to_uhwi
kono
parents:
diff changeset
374 throughout.
kono
parents:
diff changeset
375
kono
parents:
diff changeset
376 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
kono
parents:
diff changeset
377
kono
parents:
diff changeset
378 * objc-next-runtime-abi-02.c: Replace tree_low_cst (..., 0) with
kono
parents:
diff changeset
379 tree_to_shwi throughout.
kono
parents:
diff changeset
380
kono
parents:
diff changeset
381 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
382
kono
parents:
diff changeset
383 * objc-act.c: Include only gimplify.h and gimple.h as needed.
kono
parents:
diff changeset
384
kono
parents:
diff changeset
385 2013-11-14 Diego Novillo <dnovillo@google.com>
kono
parents:
diff changeset
386
kono
parents:
diff changeset
387 * objc-act.c: Include stringpool.h.
kono
parents:
diff changeset
388 Include stor-layout.h.
kono
parents:
diff changeset
389 Include attribs.h.
kono
parents:
diff changeset
390 * objc-encoding.c: Include stringpool.h.
kono
parents:
diff changeset
391 Include stor-layout.h.
kono
parents:
diff changeset
392 * objc-gnu-runtime-abi-01.c: Include stringpool.h.
kono
parents:
diff changeset
393 * objc-next-runtime-abi-01.c:
kono
parents:
diff changeset
394 Include stringpool.h.
kono
parents:
diff changeset
395 * objc-next-runtime-abi-02.c: Include stringpool.h.
kono
parents:
diff changeset
396 * objc-runtime-shared-support.c: Include stringpool.h.
kono
parents:
diff changeset
397
kono
parents:
diff changeset
398 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
399
kono
parents:
diff changeset
400 * objc-act.c: Include gimplify.h.
kono
parents:
diff changeset
401
kono
parents:
diff changeset
402 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
kono
parents:
diff changeset
403
kono
parents:
diff changeset
404 * objc-act.c (objc_push_parm): Handle atomic qualifier.
kono
parents:
diff changeset
405
kono
parents:
diff changeset
406 2013-09-25 Tom Tromey <tromey@redhat.com>
kono
parents:
diff changeset
407
kono
parents:
diff changeset
408 * Make-lang.in (START_HDRS, cc1obj-checksum.o, objc/objc-lang.o)
kono
parents:
diff changeset
409 (objc/objc-runtime-shared-support.o)
kono
parents:
diff changeset
410 (objc/objc-gnu-runtime-abi-01.o, objc/objc-next-runtime-abi-01.o)
kono
parents:
diff changeset
411 (objc/objc-next-runtime-abi-02.o, objc/objc-act.o)
kono
parents:
diff changeset
412 (objc/objc-encoding.o, objc/objc-map.o): Remove.
kono
parents:
diff changeset
413
kono
parents:
diff changeset
414 2013-09-14 Iain Sandoe <iain@codesourcery.com>
kono
parents:
diff changeset
415
kono
parents:
diff changeset
416 PR target/48094
kono
parents:
diff changeset
417 * objc-next-runtime-abi-01.c (generate_objc_image_info): Remove.
kono
parents:
diff changeset
418 (objc_generate_v1_next_metadata): Remove generation of ImageInfo.
kono
parents:
diff changeset
419 * objc-next-runtime-abi-02.c (generate_v2_objc_image_info): Remove.
kono
parents:
diff changeset
420 (objc_generate_v2_next_metadata): Remove generation of ImageInfo.
kono
parents:
diff changeset
421
kono
parents:
diff changeset
422 2013-07-21 Ondřej Bílka <neleai@seznam.cz>
kono
parents:
diff changeset
423
kono
parents:
diff changeset
424 * objc-act.c: Fix typos.
kono
parents:
diff changeset
425 * objc-encoding.c: Likewise.
kono
parents:
diff changeset
426 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
427 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
428 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
429
kono
parents:
diff changeset
430 2013-05-22 Paolo Carlini <paolo.carlini@oracle.com>
kono
parents:
diff changeset
431
kono
parents:
diff changeset
432 * objc-next-runtime-abi-02.c (build_v2_build_objc_method_call):
kono
parents:
diff changeset
433 Fix build_conditional_expr call.
kono
parents:
diff changeset
434
kono
parents:
diff changeset
435 2013-05-16 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
436
kono
parents:
diff changeset
437 * Make-lang.in (cc1obj$(exeext)): Use link mutex.
kono
parents:
diff changeset
438
kono
parents:
diff changeset
439 2012-11-20 Diego Novillo <dnovillo@google.com>
kono
parents:
diff changeset
440
kono
parents:
diff changeset
441 * objc-act.c: Replace all vec<T, A>() initializers with vNULL.
kono
parents:
diff changeset
442
kono
parents:
diff changeset
443 2012-11-16 Diego Novillo <dnovillo@google.com>
kono
parents:
diff changeset
444
kono
parents:
diff changeset
445 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
kono
parents:
diff changeset
446
kono
parents:
diff changeset
447 * objc-act.c: Use new vec API in vec.h.
kono
parents:
diff changeset
448 * objc-act.h: Likewise.
kono
parents:
diff changeset
449 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
450 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
451 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
452 * objc-runtime-hooks.h: Likewise.
kono
parents:
diff changeset
453 * objc-runtime-shared-support.c: Likewise.
kono
parents:
diff changeset
454 * objc-runtime-shared-support.h: Likewise.
kono
parents:
diff changeset
455
kono
parents:
diff changeset
456 2012-10-01 Lawrence Crowl <crowl@google.com>
kono
parents:
diff changeset
457
kono
parents:
diff changeset
458 * Make-lang.in (OBJC_OBJS): Add dependence on hash-table.o.
kono
parents:
diff changeset
459 (objc-act.o): Add dependence on hash-table.h.
kono
parents:
diff changeset
460 * objc-act.c (objc_detect_field_duplicates): Change to new type-safe
kono
parents:
diff changeset
461 hash table.
kono
parents:
diff changeset
462
kono
parents:
diff changeset
463 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
464
kono
parents:
diff changeset
465 * Make-ang.in: Adjust for move of C front-end files.
kono
parents:
diff changeset
466 * config-lang.in: Likewise.
kono
parents:
diff changeset
467 * objc-encoding.c: Look for cp-tree.h in cp/, and for c-tree.h
kono
parents:
diff changeset
468 and c-lang.h in c/.
kono
parents:
diff changeset
469 * objc-runtime-shared-support.c: Likewise.
kono
parents:
diff changeset
470 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
471 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
472 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
473 * objc-act.c: Likewise.
kono
parents:
diff changeset
474 * objc-lang.c: Likewise.
kono
parents:
diff changeset
475
kono
parents:
diff changeset
476 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
477
kono
parents:
diff changeset
478 * objc-next-runtime-abi-01.c: Do not include tm.h and output.h.
kono
parents:
diff changeset
479 Include c-family/c-target.h.
kono
parents:
diff changeset
480 (handle_next_class_ref): Rewrite to emit top-level asm statements.
kono
parents:
diff changeset
481 (handle_next_impent): Likewise.
kono
parents:
diff changeset
482 * objc/Make-lang.in: Fix dependencies for objc-next-runtime-abi-01.o.
kono
parents:
diff changeset
483
kono
parents:
diff changeset
484 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
485
kono
parents:
diff changeset
486 * objc-act.c: Do not include output.h.
kono
parents:
diff changeset
487
kono
parents:
diff changeset
488 2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
kono
parents:
diff changeset
489
kono
parents:
diff changeset
490 PR objc++/53388
kono
parents:
diff changeset
491 * objc-act.c (objc_get_class_reference, objc_build_message_expr):
kono
parents:
diff changeset
492 Use build_min_nt_loc.
kono
parents:
diff changeset
493
kono
parents:
diff changeset
494 2012-04-20 Jan Hubicka <jh@suse.cz>
kono
parents:
diff changeset
495
kono
parents:
diff changeset
496 * objc-act.c (mark_referenced_methods); Use
kono
parents:
diff changeset
497 cgraph_mark_force_output_node.
kono
parents:
diff changeset
498
kono
parents:
diff changeset
499 2012-03-21 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
500
kono
parents:
diff changeset
501 * objc-act (objc_build_ivar_assignment): Do not call assemble_external.
kono
parents:
diff changeset
502 (objc_build_global_assignment): Likewise.
kono
parents:
diff changeset
503 (objc_build_strong_cast_assignment): Likewise.
kono
parents:
diff changeset
504 * objc-next-runtime-abi-01.c: Cleanup commented-out assemble_external.
kono
parents:
diff changeset
505 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
506 * objc-gnu-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
507
kono
parents:
diff changeset
508 2012-03-05 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
509
kono
parents:
diff changeset
510 * objc-map.c (objc_map_private_resize, objc_map_alloc_ggc): Don't
kono
parents:
diff changeset
511 call _stat functions without MEM_STAT_INFO.
kono
parents:
diff changeset
512
kono
parents:
diff changeset
513 2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
514
kono
parents:
diff changeset
515 * objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
kono
parents:
diff changeset
516 for Objective-C m32.
kono
parents:
diff changeset
517
kono
parents:
diff changeset
518 2011-10-29 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
519
kono
parents:
diff changeset
520 PR target/47997
kono
parents:
diff changeset
521 * objc-act.c (objc_build_string_object): Remove redundant second
kono
parents:
diff changeset
522 call to fix_string_type (). Add a checking assert that we are,
kono
parents:
diff changeset
523 indeed, passed a STRING_CST.
kono
parents:
diff changeset
524
kono
parents:
diff changeset
525 2011-10-18 Mikael Pettersson <mikpe@it.uu.se>
kono
parents:
diff changeset
526
kono
parents:
diff changeset
527 PR objc/50743
kono
parents:
diff changeset
528 * objc-act.c (check_duplicates): Cast TREE_VEC_LENGTH result to
kono
parents:
diff changeset
529 size_t to avoid signed/unsigned
kono
parents:
diff changeset
530 comparison.
kono
parents:
diff changeset
531 (insert_method_into_method_map): Likewise.
kono
parents:
diff changeset
532
kono
parents:
diff changeset
533 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
534
kono
parents:
diff changeset
535 * objc-map.h: New file.
kono
parents:
diff changeset
536 * objc-map.c: New file.
kono
parents:
diff changeset
537 * config-lang.in (gtfiles): Added objc-map.h.
kono
parents:
diff changeset
538 * Make-lang.in (OBJC_OBJS): Added objc-map.o.
kono
parents:
diff changeset
539 (objc/objc-map.o): New rule.
kono
parents:
diff changeset
540 (objc/objc-act.o): Depend on objc/objc-map.h.
kono
parents:
diff changeset
541 * objc-next-runtime-abi-02.c: Added a TODO comment.
kono
parents:
diff changeset
542 * objc-act.c: Include objc-map.h.
kono
parents:
diff changeset
543 (nst_method_hash_list, cls_method_hash_list): Removed.
kono
parents:
diff changeset
544 (instance_method_map, class_method_map): New.
kono
parents:
diff changeset
545 (cls_name_hash_list, als_name_hash_list): Removed.
kono
parents:
diff changeset
546 (class_name_map, alias_name_map): Removed.
kono
parents:
diff changeset
547 (ivar_offset_hash_list): Removed.
kono
parents:
diff changeset
548 (hash_class_name_enter, hash_class_name_lookup, hash_enter,
kono
parents:
diff changeset
549 hash_lookup, hash_add_attr, add_method_to_hash_list): Removed.
kono
parents:
diff changeset
550 (interface_hash_init): New.
kono
parents:
diff changeset
551 (objc_init): Call interface_hash_init.
kono
parents:
diff changeset
552 (objc_write_global_declarations): Iterate over class_method_map
kono
parents:
diff changeset
553 and instance_method_map instead of cls_method_hash_list and
kono
parents:
diff changeset
554 nst_method_hash_list.
kono
parents:
diff changeset
555 (objc_declare_alias): Use alias_name_map instead of
kono
parents:
diff changeset
556 cls_name_hash_list.
kono
parents:
diff changeset
557 (objc_is_class_name): Use class_name_map and alias_name_map
kono
parents:
diff changeset
558 instead of cls_name_hash_list and als_name_hash_list.
kono
parents:
diff changeset
559 (interface_tuple, interface_htab, hash_interface, eq_interface):
kono
parents:
diff changeset
560 Removed.
kono
parents:
diff changeset
561 (interface_map): New.
kono
parents:
diff changeset
562 (add_class): Renamed to add_interface. Use interface_map instead
kono
parents:
diff changeset
563 of interface_htab.
kono
parents:
diff changeset
564 (lookup_interface): Use interface_map instead of interface_htab.
kono
parents:
diff changeset
565 (check_duplicates): Changed first argument to be a tree,
kono
parents:
diff changeset
566 potentially a TREE_VEC, instead of a hash. Changed implementation
kono
parents:
diff changeset
567 to match.
kono
parents:
diff changeset
568 (lookup_method_in_hash_lists): Use class_method_map and
kono
parents:
diff changeset
569 instance_method_map instead of cls_method_hash_list and
kono
parents:
diff changeset
570 nst_method_hash_list.
kono
parents:
diff changeset
571 (objc_build_selector_expr): Likewise.
kono
parents:
diff changeset
572 (hash_func): Removed.
kono
parents:
diff changeset
573 (hash_init): Create instance_method_map, class_method_map,
kono
parents:
diff changeset
574 class_name_map, and alias_name_map. Do not create
kono
parents:
diff changeset
575 nst_method_hash_list, cls_method_hash_list, cls_name_hash_list,
kono
parents:
diff changeset
576 als_name_hash_list, and ivar_offset_hash_list.
kono
parents:
diff changeset
577 (insert_method_into_method_map): New.
kono
parents:
diff changeset
578 (objc_add_method): Use insert_method_into_method_map instead of
kono
parents:
diff changeset
579 add_method_to_hash_list.
kono
parents:
diff changeset
580 (start_class): Call add_interface instead of add_class.
kono
parents:
diff changeset
581 * objc-act.h (cls_name_hash_list, als_name_hash_list,
kono
parents:
diff changeset
582 nst_method_hash_list, cls_method_hash_list): Removed.
kono
parents:
diff changeset
583
kono
parents:
diff changeset
584 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
kono
parents:
diff changeset
585
kono
parents:
diff changeset
586 * objc-next-runtime-abi-01.c (objc_build_exc_ptr): Delete old
kono
parents:
diff changeset
587 interface with two parallel arrays to hold standard builtin
kono
parents:
diff changeset
588 declarations, and replace it with a function based interface that
kono
parents:
diff changeset
589 can support creating builtins on the fly in the future. Change
kono
parents:
diff changeset
590 all uses, and poison the old names. Make sure 0 is not a
kono
parents:
diff changeset
591 legitimate builtin index.
kono
parents:
diff changeset
592 * objc-next-runtime-abi-02.c (objc_build_exc_ptr): Ditto.
kono
parents:
diff changeset
593 * objc-gnu-runtime-abi-01.c (objc_build_exc_ptr): Ditto.
kono
parents:
diff changeset
594
kono
parents:
diff changeset
595 2011-07-19 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
596
kono
parents:
diff changeset
597 * objc-next-runtime-abi-02.c (objc_v2_build_ivar_ref):
kono
parents:
diff changeset
598 Use fold_build_pointer_plus.
kono
parents:
diff changeset
599 (objc2_build_ehtype_initializer): Likewise.
kono
parents:
diff changeset
600
kono
parents:
diff changeset
601 2011-07-11 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
602
kono
parents:
diff changeset
603 * objc-encoding.h (obstack.h): Do not include.
kono
parents:
diff changeset
604 (util_obstack, util_firstobj): Do not declare.
kono
parents:
diff changeset
605 (encode_field_decl): Updated prototype to return a tree and take a
kono
parents:
diff changeset
606 single tree argument. Updated comments.
kono
parents:
diff changeset
607 * objc-encoding.c (util_obstack, util_firstobj): Made static.
kono
parents:
diff changeset
608 (objc_encoding_init): New.
kono
parents:
diff changeset
609 (encode_field_decl): Existing function renamed to encode_field and
kono
parents:
diff changeset
610 made static. New encode_field_decl wrapper function added.
kono
parents:
diff changeset
611 (encode_aggregate_fields): Update call to encode_field_decl to
kono
parents:
diff changeset
612 call encode_field.
kono
parents:
diff changeset
613 * objc-next-runtime-abi-02.c (obstack.h): Do not include.
kono
parents:
diff changeset
614 (util_obstack, util_firstobj): Do not declare.
kono
parents:
diff changeset
615 (build_v2_ivar_list_initializer): Updated call to
kono
parents:
diff changeset
616 encode_field_decl.
kono
parents:
diff changeset
617 * objc-runtime-shared-support.c (obstack.h): Do not include.
kono
parents:
diff changeset
618 (util_obstack, util_firstobj): Do not declare.
kono
parents:
diff changeset
619 (build_ivar_list_initializer): Updated call to encode_field_decl.
kono
parents:
diff changeset
620 * objc-act.c (objc_init): Use objc_encoding_init.
kono
parents:
diff changeset
621 * Make-lang.in (objc/objc-runtime-shared-support.o): Do not depend
kono
parents:
diff changeset
622 on OBSTACK_H.
kono
parents:
diff changeset
623 (objc/objc-gnu-runtime-abi-01.o): Likewise.
kono
parents:
diff changeset
624 (objc/objc-next-runtime-abi-01.o): Likewise.
kono
parents:
diff changeset
625 (objc/objc-next-runtime-abi-02.o): Likewise.
kono
parents:
diff changeset
626 (objc/objc-act.o): Likewise.
kono
parents:
diff changeset
627
kono
parents:
diff changeset
628 2011-07-04 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
629
kono
parents:
diff changeset
630 Refactored encoding code into objc-encoding.h and objc-encoding.c.
kono
parents:
diff changeset
631 * objc-act.c (util_obstack, util_firstobj, encode_type_qualifiers,
kono
parents:
diff changeset
632 encode_type, generating_instance_variables, objc_method_parm_type,
kono
parents:
diff changeset
633 objc_encoded_type_size, encode_method_prototype,
kono
parents:
diff changeset
634 objc_build_encode_expr, pointee_is_readonly, encode_pointer,
kono
parents:
diff changeset
635 encode_array, encode_vector, encode_aggregate_fields,
kono
parents:
diff changeset
636 encode_aggregate_within, encode_next_bitfield,
kono
parents:
diff changeset
637 encode_gnu_bitfield, encode_field_decl,
kono
parents:
diff changeset
638 objc_v2_encode_property_attr): Moved to objc-encoding.h and
kono
parents:
diff changeset
639 objc-encoding.c. No change in the actual code.
kono
parents:
diff changeset
640 Include objc-encoding.h.
kono
parents:
diff changeset
641 (objc_init): Added TODO.
kono
parents:
diff changeset
642 (objc_build_property_setter_name): Made non-static so it can be
kono
parents:
diff changeset
643 called from objc-encoding.c.
kono
parents:
diff changeset
644 * objc-act.h (OBJC_ENCODE_INLINE_DEFS,
kono
parents:
diff changeset
645 OBJC_ENCODE_DONT_INLINE_DEFS): Moved to objc-encoding.h.
kono
parents:
diff changeset
646 * objc-runtime-shared-support.h (objc_v2_encode_property_attr,
kono
parents:
diff changeset
647 encode_method_prototype, encode_field_decl,
kono
parents:
diff changeset
648 generating_instance_variables): Moved to objc-encoding.h.
kono
parents:
diff changeset
649 (objc_build_property_setter_name): Declare.
kono
parents:
diff changeset
650 * objc-encoding.c: New.
kono
parents:
diff changeset
651 * objc-encoding.h: New.
kono
parents:
diff changeset
652 * objc-gnu-runtime-abi-01.c: Include objc-encoding.h.
kono
parents:
diff changeset
653 * objc-next-runtime-abi-01.c: Likewise.
kono
parents:
diff changeset
654 * objc-next-runtime-abi-02.c: Likewise.
kono
parents:
diff changeset
655 * objc-runtime-shared-support.c: Likewise.
kono
parents:
diff changeset
656 * Make-lang.in (OBJC_OBJS): Added objc-encoding.o.
kono
parents:
diff changeset
657 (objc/objc-lang.o): Reordered dependencies.
kono
parents:
diff changeset
658 (objc/objc-runtime-shared-support.o): Reordered dependencies.
kono
parents:
diff changeset
659 Added dependencies on objc-encoding.h and on $(GGC_H),
kono
parents:
diff changeset
660 $(DIAGNOSTIC_CORE_H), $(FLAGS_H) and input.h.
kono
parents:
diff changeset
661 (objc/objc-gnu-runtime-abi-01.o): Likewise.
kono
parents:
diff changeset
662 (objc/objc-next-runtime-abi-01.o): Likewise.
kono
parents:
diff changeset
663 (objc/objc-next-runtime-abi-02.o): Likewise.
kono
parents:
diff changeset
664 (objc/objc-act.o): Reordered dependencies. Added dependency on
kono
parents:
diff changeset
665 objc-encoding.h.
kono
parents:
diff changeset
666 (objc/objc-encoding.o): New rule.
kono
parents:
diff changeset
667
kono
parents:
diff changeset
668 * objc-encoding.c (encode_type): Use "%<%T%>" format when printing
kono
parents:
diff changeset
669 warning "unknown type %<%T%> found during Objective-C encoding"
kono
parents:
diff changeset
670 instead of using gen_type_name.
kono
parents:
diff changeset
671
kono
parents:
diff changeset
672 2011-06-05 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
673
kono
parents:
diff changeset
674 * objc-act.c (receiver_is_class_object): Expanded comment.
kono
parents:
diff changeset
675 (objc_finish_message_expr): Likewise.
kono
parents:
diff changeset
676
kono
parents:
diff changeset
677 2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
678
kono
parents:
diff changeset
679 PR objc/48539
kono
parents:
diff changeset
680 * objc-act.c (objc_finish_message_expr): Warn if messaging a class
kono
parents:
diff changeset
681 that was only declared using @class without an @interface. Warn
kono
parents:
diff changeset
682 if messaging an instance of a class that was only declared using
kono
parents:
diff changeset
683 @class without an @interface, unless the receiver was also typed
kono
parents:
diff changeset
684 with a protocol list.
kono
parents:
diff changeset
685
kono
parents:
diff changeset
686 2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
687
kono
parents:
diff changeset
688 * objc-act.c (objc_decl_method_attributes): Implement nonnull
kono
parents:
diff changeset
689 attribute for Objective-C methods.
kono
parents:
diff changeset
690
kono
parents:
diff changeset
691 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
692
kono
parents:
diff changeset
693 * config-lang.in (gtfiles): Updated order of files to fix building
kono
parents:
diff changeset
694 when the gcc/cp directory is missing, as in the case of some
kono
parents:
diff changeset
695 release tarballs.
kono
parents:
diff changeset
696
kono
parents:
diff changeset
697 2011-05-20 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
698
kono
parents:
diff changeset
699 * objc-act.c (objc_compare_types): Use function_args_iterator
kono
parents:
diff changeset
700 instead of TYPE_ARG_TYPES to compare function argument types.
kono
parents:
diff changeset
701
kono
parents:
diff changeset
702 2011-05-13 Toon Moene <toon@moene.org>
kono
parents:
diff changeset
703
kono
parents:
diff changeset
704 * objc-next-runtime-abi-02.c (newabi_append_ro):
kono
parents:
diff changeset
705 Add const qualifier to constant variable pointer declaration.
kono
parents:
diff changeset
706
kono
parents:
diff changeset
707 2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
708
kono
parents:
diff changeset
709 * objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors.
kono
parents:
diff changeset
710 (CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise.
kono
parents:
diff changeset
711 (PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise.
kono
parents:
diff changeset
712
kono
parents:
diff changeset
713 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
714
kono
parents:
diff changeset
715 * objc-runtime-shared-support.h (get_arg_type_list): Delete.
kono
parents:
diff changeset
716 (build_function_type_for_method): Declare.
kono
parents:
diff changeset
717 * objc-runtime-hooks.h (struct _objc_runtime_hooks_r): Change
kono
parents:
diff changeset
718 type of get_arg_type_base_list field.
kono
parents:
diff changeset
719 * objc-act.h (OBJC_VOID_AT_END): Delete.
kono
parents:
diff changeset
720 * objc-act.c (get_arg_type_list): Delete.
kono
parents:
diff changeset
721 (build_function_type_for_method): New function.
kono
parents:
diff changeset
722 (objc_decl_method_attributes): Call build_function_type_for_method.
kono
parents:
diff changeset
723 (really_start_method): Likewise.
kono
parents:
diff changeset
724 * objc-gnu-runtime-abi-01.c
kono
parents:
diff changeset
725 (gnu_runtime_abi_01_get_type_arg_list_base): Change prototype and
kono
parents:
diff changeset
726 adjust function accordingly. Update header comment.
kono
parents:
diff changeset
727 (build_objc_method_call): Call build_function_type_for_method.
kono
parents:
diff changeset
728 * objc-next-runtime-abi-01.c
kono
parents:
diff changeset
729 (next_runtime_abi_01_get_type_arg_list_base): Change prototype and
kono
parents:
diff changeset
730 adjust function accordingly. Update header comment.
kono
parents:
diff changeset
731 (build_objc_method_call): Call build_function_type_for_method.
kono
parents:
diff changeset
732 * objc-next-runtime-abi-02.c
kono
parents:
diff changeset
733 (next_runtime_abi_02_get_type_arg_list_base): Change prototype and
kono
parents:
diff changeset
734 adjust function accordingly. Update header comment.
kono
parents:
diff changeset
735 (objc_copy_to_temp_side_effect_params): Take fntype instead of a
kono
parents:
diff changeset
736 typelist. Use function_args_iterator for traversing fntype.
kono
parents:
diff changeset
737 (build_v2_build_objc_method_call): Adjust call to it.
kono
parents:
diff changeset
738 Call build_function_type_for_method
kono
parents:
diff changeset
739
kono
parents:
diff changeset
740 2011-05-05 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
741
kono
parents:
diff changeset
742 * objc-act.c (objc_start_method_definition): Add parameter expr.
kono
parents:
diff changeset
743 Update call to start_method_def.
kono
parents:
diff changeset
744 (objc_generate_cxx_ctor_or_dtor, objc_synthesize_getter,
kono
parents:
diff changeset
745 objc_synthesize_setter) Update calls to
kono
parents:
diff changeset
746 objc_start_method_definition.
kono
parents:
diff changeset
747 (objc_get_parm_info): Add parameter expr. Update call to
kono
parents:
diff changeset
748 get_parm_info.
kono
parents:
diff changeset
749 (start_method_def): Add parameter expr. Update call to
kono
parents:
diff changeset
750 objc_get_parm_info.
kono
parents:
diff changeset
751 * objc-gnu-runtime-abi-01.c (build_module_initializer_routine):
kono
parents:
diff changeset
752 Update call to objc_get_parm_info.
kono
parents:
diff changeset
753 * objc-runtime-shared-support.h (objc_get_parm_info): Add extra
kono
parents:
diff changeset
754 parameter.
kono
parents:
diff changeset
755
kono
parents:
diff changeset
756 2011-04-26 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
757
kono
parents:
diff changeset
758 * objc-act.c (objc_fold_objc_type_ref): Remove.
kono
parents:
diff changeset
759 * objc-act.h: Remove prototype.
kono
parents:
diff changeset
760
kono
parents:
diff changeset
761 2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
762
kono
parents:
diff changeset
763 * objc-act.c (synth_module_prologue): Call build_function_type_list
kono
parents:
diff changeset
764 instead of build_function_type.
kono
parents:
diff changeset
765 * objc-next-runtime-abi-02.c (next_runtime_02_initialize):
kono
parents:
diff changeset
766 Likewise.
kono
parents:
diff changeset
767
kono
parents:
diff changeset
768 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
769
kono
parents:
diff changeset
770 * objc-act.c (ivar_of_class): New.
kono
parents:
diff changeset
771 (objc_is_public): Use ivar_of_class.
kono
parents:
diff changeset
772
kono
parents:
diff changeset
773 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
774
kono
parents:
diff changeset
775 * objc-act.c (objc_get_interface_ivars): Removed.
kono
parents:
diff changeset
776 (objc_detect_field_duplicates): New.
kono
parents:
diff changeset
777 (hash_instance_variable): New.
kono
parents:
diff changeset
778 (eq_instance_variable): New.
kono
parents:
diff changeset
779
kono
parents:
diff changeset
780 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
781
kono
parents:
diff changeset
782 * objc-act.c (objc_declare_protocols): Renamed to
kono
parents:
diff changeset
783 objc_declare_protocol. Changed first argument to be an identifier
kono
parents:
diff changeset
784 instead of a tree chain of identifiers, so that callers don't have
kono
parents:
diff changeset
785 to create a temporary tree chain.
kono
parents:
diff changeset
786
kono
parents:
diff changeset
787 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
788
kono
parents:
diff changeset
789 * objc-act.c (objc_declare_class): Changed to take a single
kono
parents:
diff changeset
790 identifier as argument instead of a tree list. This means callers
kono
parents:
diff changeset
791 don't have to build temporary tree lists to call this function.
kono
parents:
diff changeset
792 (synth_module_prologue): Updated calls to objc_declare_class.
kono
parents:
diff changeset
793
kono
parents:
diff changeset
794 2011-04-13 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
795
kono
parents:
diff changeset
796 * objc-act.c (build_keyword_selector): Use get_identifier_with_length
kono
parents:
diff changeset
797 instead of get_identifier.
kono
parents:
diff changeset
798
kono
parents:
diff changeset
799 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
800
kono
parents:
diff changeset
801 * objc-lang.c (objc_init_ts): Move code for this function...
kono
parents:
diff changeset
802 * objc-act.c (objc_common_init_ts): ...here. Define.
kono
parents:
diff changeset
803 * objc-act.h (objc_common_init_ts): Declare.
kono
parents:
diff changeset
804
kono
parents:
diff changeset
805 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
806
kono
parents:
diff changeset
807 * objc-act.c (objc_build_message_expr): Accept two arguments
kono
parents:
diff changeset
808 instead of one so that callers can simply pass the arguments
kono
parents:
diff changeset
809 without having to create a temporary chain to hold them.
kono
parents:
diff changeset
810
kono
parents:
diff changeset
811 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
812
kono
parents:
diff changeset
813 * objc-act.c (comp_proto_with_proto): Do not create and use
kono
parents:
diff changeset
814 inefficient temporary argument lists. Compare the arguments
kono
parents:
diff changeset
815 directly. (match_proto_with_proto): Removed; incorporated into
kono
parents:
diff changeset
816 comp_proto_with_proto ().
kono
parents:
diff changeset
817
kono
parents:
diff changeset
818 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
819
kono
parents:
diff changeset
820 * objc-act.c (printable_ivar_name): New.
kono
parents:
diff changeset
821 (add_instance_variable): Call printable_ivar_name() when an error
kono
parents:
diff changeset
822 message needs to be printed. Do not prepare the instance variable
kono
parents:
diff changeset
823 for printing unless there is an actual error.
kono
parents:
diff changeset
824
kono
parents:
diff changeset
825 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
826
kono
parents:
diff changeset
827 * objc-act.c (objc_is_class_name, objc_is_id): For efficiency,
kono
parents:
diff changeset
828 avoid calling identifier_global_value() multiple times.
kono
parents:
diff changeset
829
kono
parents:
diff changeset
830 2011-04-12 Martin Jambor <mjambor@suse.cz>
kono
parents:
diff changeset
831
kono
parents:
diff changeset
832 * objc-act.c (mark_referenced_methods): Call cgraph_get_create_node
kono
parents:
diff changeset
833 instead of cgraph_node.
kono
parents:
diff changeset
834
kono
parents:
diff changeset
835 2011-04-06 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
836
kono
parents:
diff changeset
837 * objc-act.c: Include c-target.h instead of target.h.
kono
parents:
diff changeset
838 * Make-lang.in (objc/objc-act.o): Update dependencies.
kono
parents:
diff changeset
839
kono
parents:
diff changeset
840 2011-03-06 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
841
kono
parents:
diff changeset
842 * lang-specs.h: Match -save-temps* instead of -save-temps.
kono
parents:
diff changeset
843
kono
parents:
diff changeset
844 2011-02-26 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
845
kono
parents:
diff changeset
846 * objc-act.c (objc_v2_encode_prop_attr): Rewritten.
kono
parents:
diff changeset
847
kono
parents:
diff changeset
848 2011-02-23 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
849
kono
parents:
diff changeset
850 * objc-act.c (build_private_template): Do not copy the
kono
parents:
diff changeset
851 CLASS_HAS_EXCEPTION_ATTR from the class to the struct.
kono
parents:
diff changeset
852 * objc-act.h (CLASS_HAS_EXCEPTION_ATTR): Define using
kono
parents:
diff changeset
853 TYPE_LANG_SLOT_0.
kono
parents:
diff changeset
854
kono
parents:
diff changeset
855 2011-02-22 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
856
kono
parents:
diff changeset
857 PR objc/47832
kono
parents:
diff changeset
858 * objc-act.c (flexible_array_type_p): New.
kono
parents:
diff changeset
859 (add_instance_variable): Produce an error if an instance variable
kono
parents:
diff changeset
860 uses flexible array members.
kono
parents:
diff changeset
861 (encode_array): Do not emit an error if encoding a flexible array
kono
parents:
diff changeset
862 type while generating instance variables.
kono
parents:
diff changeset
863
kono
parents:
diff changeset
864 2011-02-21 Mike Stump <mikestump@comcast.net>
kono
parents:
diff changeset
865
kono
parents:
diff changeset
866 * Make-lang.in (check_objc_parallelize): Refine for 4 processor
kono
parents:
diff changeset
867 machines.
kono
parents:
diff changeset
868
kono
parents:
diff changeset
869 2011-02-20 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
870
kono
parents:
diff changeset
871 * objc-gnu-runtime-abi-01.c (TARGET_64BIT): Removed. Removed
kono
parents:
diff changeset
872 usage of padding fields. Do not include tm.h.
kono
parents:
diff changeset
873 * objc-act.c (objc_write_global_declaration): Set input_location
kono
parents:
diff changeset
874 to BUILTINS_LOCATION while generating runtime metadata.
kono
parents:
diff changeset
875
kono
parents:
diff changeset
876 2011-01-20 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
877
kono
parents:
diff changeset
878 PR objc/47784
kono
parents:
diff changeset
879 * objc-act.c (objc_maybe_build_modify_expr): If 'rhs' has side
kono
parents:
diff changeset
880 effects, do not use a temporary variable.
kono
parents:
diff changeset
881
kono
parents:
diff changeset
882 2011-01-19 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
883
kono
parents:
diff changeset
884 * objc-next-runtime-abi-01.c: Updated comments.
kono
parents:
diff changeset
885 * objc-next-runtime-abi-02.c: Same.
kono
parents:
diff changeset
886
kono
parents:
diff changeset
887 2011-01-19 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
888
kono
parents:
diff changeset
889 * objc-act.c (objc_init, generate_struct_by_value_array): Updated
kono
parents:
diff changeset
890 comments.
kono
parents:
diff changeset
891
kono
parents:
diff changeset
892 2011-01-19 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
893
kono
parents:
diff changeset
894 * objc-act.c: Updated comments.
kono
parents:
diff changeset
895 * objc-next-runtime-abi-02.c: Same.
kono
parents:
diff changeset
896 * objc-runtime-shared-support.c: Same.
kono
parents:
diff changeset
897 * objc-runtime-hooks.h: Same.
kono
parents:
diff changeset
898 * objc-act.h: Same.
kono
parents:
diff changeset
899 * objc-gnu-runtime-abi-01.c: Same.
kono
parents:
diff changeset
900
kono
parents:
diff changeset
901 2011-01-19 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
902
kono
parents:
diff changeset
903 * objc-gnu-runtime-abi-01.c (objc_generate_v1_gnu_metadata): Do
kono
parents:
diff changeset
904 not generate metadata if there is nothing to put into it.
kono
parents:
diff changeset
905
kono
parents:
diff changeset
906 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
907
kono
parents:
diff changeset
908 * config-lang.in (gtfiles): Updated.
kono
parents:
diff changeset
909 * Make-lang.in (START_HDRS): New.
kono
parents:
diff changeset
910 (OBJC_OBJS): Added new object files.
kono
parents:
diff changeset
911 (objc/objc-act.o): Updated prerequisites.
kono
parents:
diff changeset
912 (objc/objc-lang.o): Updated prerequisites.
kono
parents:
diff changeset
913 (objc/objc-runtime-shared-support.o): New.
kono
parents:
diff changeset
914 (objc/objc-gnu-runtime-abi-01.o): New.
kono
parents:
diff changeset
915 (objc/objc-next-runtime-abi-01.o): New.
kono
parents:
diff changeset
916 (objc/objc-next-runtime-abi-02.o): New.
kono
parents:
diff changeset
917 * objc-runtime-hooks.h: New.
kono
parents:
diff changeset
918 * objc-runtime-shared-support.h: New.
kono
parents:
diff changeset
919 * objc-runtime-shared-support.c: New.
kono
parents:
diff changeset
920 * objc-gnu-runtime-abi-01.c: New.
kono
parents:
diff changeset
921 * objc-next-metadata-tags.h: New.
kono
parents:
diff changeset
922 * objc-next-runtime-abi-01.c: New.
kono
parents:
diff changeset
923 * objc-next-runtime-abi-02.c: New.
kono
parents:
diff changeset
924 * objc-lang.c: Include c-lang.h.
kono
parents:
diff changeset
925 (LANG_HOOKS_EH_PERSONALITY): Removed.
kono
parents:
diff changeset
926 * objc-act.h: Moved many declarations and code from objc-act.c
kono
parents:
diff changeset
927 into objc-act.h to make them available outside objc-act.c.
kono
parents:
diff changeset
928 (objc_eh_runtime_type): Removed.
kono
parents:
diff changeset
929 (objc_eh_personality): Removed.
kono
parents:
diff changeset
930 (CLASS_HAS_EXCEPTION_ATTR): New.
kono
parents:
diff changeset
931 (OCTI_SUPER_SUPERFIELD_ID): New.
kono
parents:
diff changeset
932 (OCTI_V1_PROP_LIST_TEMPL): New.
kono
parents:
diff changeset
933 (OCTI_V1_PROP_NAME_ATTR_CHAIN): New.
kono
parents:
diff changeset
934 (super_superclassfield_id): New.
kono
parents:
diff changeset
935 (objc_prop_list_ptr): New.
kono
parents:
diff changeset
936 (prop_names_attr_chain): New.
kono
parents:
diff changeset
937 * objc-act.c: Include new runtime headers. Moved many #defines
kono
parents:
diff changeset
938 and declarations into objc-act.h and
kono
parents:
diff changeset
939 objc-runtime-shared-support.h. Made some corresponding functions
kono
parents:
diff changeset
940 non-static, and moved some others into
kono
parents:
diff changeset
941 objc-runtime-shared-support.c. Moved metadata generation code
kono
parents:
diff changeset
942 into the new runtime hook files.
kono
parents:
diff changeset
943 (ivar_offset_hash_list): New.
kono
parents:
diff changeset
944 (objc_init): Call generate_struct_value_by_array() before doing
kono
parents:
diff changeset
945 any runtime initialization. Create the appropriate runtime hook
kono
parents:
diff changeset
946 structures.
kono
parents:
diff changeset
947 (init_objc): Removed. Code moved directly into objc_init.
kono
parents:
diff changeset
948 (finish_objc): Removed. Code moved directly into
kono
parents:
diff changeset
949 objc_write_global_declarations.
kono
parents:
diff changeset
950 (objc_write_global_declarations): Do the warn_selector checks
kono
parents:
diff changeset
951 before emitting metadata. Use a runtime hook to emit the
kono
parents:
diff changeset
952 metadata. Do not emit the metadata or do -gen-decls processing if
kono
parents:
diff changeset
953 -fsyntax-only or we are producing a PCH.
kono
parents:
diff changeset
954 (build_objc_exception_stuff): Renamed to
kono
parents:
diff changeset
955 build_common_objc_exception_stuff. Remove TREE_NOTHROW flag from
kono
parents:
diff changeset
956 objc_exception_throw_decl.
kono
parents:
diff changeset
957 (synth_module_prologue): Call runtime initialize hook instead of
kono
parents:
diff changeset
958 building runtime declarations here. Use the
kono
parents:
diff changeset
959 default_constant_string_class_name runtime hook to set the
kono
parents:
diff changeset
960 constant string class name.
kono
parents:
diff changeset
961 (objc_build_string_object): Call the setup_const_string_class_decl
kono
parents:
diff changeset
962 runtime hook instead of setup_string_decl. Call the
kono
parents:
diff changeset
963 build_const_string_constructor runtime hook instead of building
kono
parents:
diff changeset
964 the string object here.
kono
parents:
diff changeset
965 (get_objc_string_decl): Added prop_names_attr case. Removed
kono
parents:
diff changeset
966 gcc_unreachable() at the end.
kono
parents:
diff changeset
967 (objc_begin_catch_clause): Distinguish between @catch (...) and
kono
parents:
diff changeset
968 @catch (id x). Call the begin_catch runtime hook instead of
kono
parents:
diff changeset
969 building the CATCH_EXPR here.
kono
parents:
diff changeset
970 (objc_finish_catch_clause): Call the finish_catch runtime hook
kono
parents:
diff changeset
971 instead of adding the catch here.
kono
parents:
diff changeset
972 (objc_finish_try_stmt): Call the finish_try_stmt runtime hook
kono
parents:
diff changeset
973 instead of doing it here.
kono
parents:
diff changeset
974 (objc_build_throw_stmt): Bail out early for error_mark_node. Call
kono
parents:
diff changeset
975 the build_exc_ptr runtime hook instead of objc_build_exc_ptr.
kono
parents:
diff changeset
976 Call the build_throw_stmt runtime hook instead of building the
kono
parents:
diff changeset
977 throw call here.
kono
parents:
diff changeset
978 (objc_generate_cxx_cdtors): Set has_cxx_cdtors for the GNU runtime
kono
parents:
diff changeset
979 as well.
kono
parents:
diff changeset
980 (get_arg_type_list): Call the get_arg_type_list_base runtime hook
kono
parents:
diff changeset
981 instead of building the list of arguments here.
kono
parents:
diff changeset
982 (receiver_is_class_object): Call the receiver_is_class_object
kono
parents:
diff changeset
983 runtime hook instead of doing the check here. Call the
kono
parents:
diff changeset
984 tag_getclass runtime hook instead of using TAG_GETCLASS.
kono
parents:
diff changeset
985 (objc_finish_message_expr): Call the build_objc_method_call
kono
parents:
diff changeset
986 runtime hook.
kono
parents:
diff changeset
987 (objc_build_protocol_expr): Call the get_protocol_reference
kono
parents:
diff changeset
988 runtime hook.
kono
parents:
diff changeset
989 (objc_build_selector_expr): Call the build_selector_reference
kono
parents:
diff changeset
990 runtime hook.
kono
parents:
diff changeset
991 (build_ivar_reference): Call the build_ivar_reference runtime
kono
parents:
diff changeset
992 hook.
kono
parents:
diff changeset
993 (hash_init): Set up ivar_offset_hash_list.
kono
parents:
diff changeset
994 (start_class): Recognize the objc_exception attribute and store
kono
parents:
diff changeset
995 it.
kono
parents:
diff changeset
996 (continue_class): Use the class_decl and metaclass_decl runtime
kono
parents:
diff changeset
997 hooks.
kono
parents:
diff changeset
998 (build_objc_property_accessor_helpers): Renamed to
kono
parents:
diff changeset
999 build_common_objc_property_accessor_helpers. Do not build
kono
parents:
diff changeset
1000 objc_copyStruct_decl, objc_getPropertyStruct_decl and
kono
parents:
diff changeset
1001 objc_setPropertyStruct_decl.
kono
parents:
diff changeset
1002 (objc_synthesize_getter): Check what struct setter/getter helper
kono
parents:
diff changeset
1003 is available instead of checking the type of runtime.
kono
parents:
diff changeset
1004 (get_super_receiver): Use the super_superclassfield_ident runtime
kono
parents:
diff changeset
1005 hook. Added assert. Use the get_class_super_ref and
kono
parents:
diff changeset
1006 get_category_super_ref runtime hooks.
kono
parents:
diff changeset
1007 (objc_v2_encode_prop_attr): New.
kono
parents:
diff changeset
1008
kono
parents:
diff changeset
1009 2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1010
kono
parents:
diff changeset
1011 PR objc/47314
kono
parents:
diff changeset
1012 * objc-act.c (finish_objc): When calling check_duplicates to check
kono
parents:
diff changeset
1013 duplicated instance methods, set 'is_class' to 0, not 1.
kono
parents:
diff changeset
1014
kono
parents:
diff changeset
1015 2011-01-14 Ben Elliston <bje@au.ibm.com>
kono
parents:
diff changeset
1016
kono
parents:
diff changeset
1017 PR 19162
kono
parents:
diff changeset
1018 * objc-act.c (generate_struct_by_value_array): Do not output a
kono
parents:
diff changeset
1019 definition for struct_forward_array.
kono
parents:
diff changeset
1020
kono
parents:
diff changeset
1021 2011-01-08 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1022
kono
parents:
diff changeset
1023 * objc-act.c (objc_finish_foreach_loop): Mark collection expression
kono
parents:
diff changeset
1024 as read.
kono
parents:
diff changeset
1025
kono
parents:
diff changeset
1026 2011-01-02 H.J. Lu <hongjiu.lu@intel.com>
kono
parents:
diff changeset
1027
kono
parents:
diff changeset
1028 * objc-act.c (check_that_protocol_is_defined): Fix a typo.
kono
parents:
diff changeset
1029
kono
parents:
diff changeset
1030 2011-01-02 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1031
kono
parents:
diff changeset
1032 * objc-act.c (check_that_protocol_is_defined): New.
kono
parents:
diff changeset
1033 (lookup_protocol): Call check_that_protocol_is_defined.
kono
parents:
diff changeset
1034
kono
parents:
diff changeset
1035 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1036
kono
parents:
diff changeset
1037 * objc-act.c (objc_types_are_equivalent): Fixed comparing protocol
kono
parents:
diff changeset
1038 lists. Check them two-ways to fix comparisons when one protocol
kono
parents:
diff changeset
1039 implements the other one, or when one list contains duplicated
kono
parents:
diff changeset
1040 protocols.
kono
parents:
diff changeset
1041
kono
parents:
diff changeset
1042 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1043
kono
parents:
diff changeset
1044 * objc-act.c (objc_add_method): When emitting an error because a
kono
parents:
diff changeset
1045 method with the same name but conflicting types is found in the
kono
parents:
diff changeset
1046 same class or category interface, print a note with the location
kono
parents:
diff changeset
1047 of the original method. Also, improved the error message to
kono
parents:
diff changeset
1048 clearly state that the conflict is due to conflicting types, and
kono
parents:
diff changeset
1049 produce it for protocols as well. Emit an error if two identical
kono
parents:
diff changeset
1050 methods are declared in a protocol, but one is @required and the
kono
parents:
diff changeset
1051 other one is @optional.
kono
parents:
diff changeset
1052
kono
parents:
diff changeset
1053 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1054
kono
parents:
diff changeset
1055 * objc-act.c (start_class): Warn when a class attribute is
kono
parents:
diff changeset
1056 ignored.
kono
parents:
diff changeset
1057 (objc_declare_protocols): Warn when a protocol attribute in a
kono
parents:
diff changeset
1058 protocol forward-declaration is ignored.
kono
parents:
diff changeset
1059 (start_protocol): Warn when a protocol attribute is ignored.
kono
parents:
diff changeset
1060
kono
parents:
diff changeset
1061 2010-12-30 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1062
kono
parents:
diff changeset
1063 * objc-act.c (objc_set_method_opt): Tidy up error messages. In
kono
parents:
diff changeset
1064 particular, explicitly mention whether the error is due to the
kono
parents:
diff changeset
1065 @optional or @required keyword instead of mentioning
kono
parents:
diff changeset
1066 "@optional/@required".
kono
parents:
diff changeset
1067
kono
parents:
diff changeset
1068 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1069
kono
parents:
diff changeset
1070 PR objc/47118
kono
parents:
diff changeset
1071 * objc-act.c (objc_build_synchronized): Check the argument of
kono
parents:
diff changeset
1072 @synchronized and emit an appropriate error if it is not a valid
kono
parents:
diff changeset
1073 Objective-C object. Deal gracefully with that case. Updated
kono
parents:
diff changeset
1074 comments and variable names.
kono
parents:
diff changeset
1075
kono
parents:
diff changeset
1076 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1077
kono
parents:
diff changeset
1078 PR objc/47075
kono
parents:
diff changeset
1079 * objc-act.h (PROPERTY_REF_DEPRECATED_GETTER): New.
kono
parents:
diff changeset
1080 * objc-tree.def (PROPERTY_REF): Increased the number of operands
kono
parents:
diff changeset
1081 from 3 to 4.
kono
parents:
diff changeset
1082 * objc-act.c (objc_finish_message_expr): Added optional argument
kono
parents:
diff changeset
1083 allowing to return the deprecated method prototype for deprecated
kono
parents:
diff changeset
1084 methods, instead of immediately emitting the deprecation warning.
kono
parents:
diff changeset
1085 (objc_maybe_build_component_ref): Do not warn for a deprecated
kono
parents:
diff changeset
1086 property. When building the getter call, get the deprecated
kono
parents:
diff changeset
1087 method prototype from objc_finish_message_expr() and put it into
kono
parents:
diff changeset
1088 the PROPERTY_REF.
kono
parents:
diff changeset
1089 (objc_build_class_component_ref): Same change.
kono
parents:
diff changeset
1090 (finish_class): Mark the getter and setter as deprecated if they
kono
parents:
diff changeset
1091 are generated from a deprecated property.
kono
parents:
diff changeset
1092 (objc_gimplify_property_ref): If the getter is deprecated, emit a
kono
parents:
diff changeset
1093 deprecation warning.
kono
parents:
diff changeset
1094 (objc_build_setter_call, objc_build_message_expr,
kono
parents:
diff changeset
1095 objc_finish_foreach_loop): Updated call to
kono
parents:
diff changeset
1096 objc_finish_message_expr.
kono
parents:
diff changeset
1097
kono
parents:
diff changeset
1098 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1099
kono
parents:
diff changeset
1100 PR objc/47076
kono
parents:
diff changeset
1101 * objc-act.c (lookup_protocol): Added 'definition_required'
kono
parents:
diff changeset
1102 argument. If 'definition_required', and the protocol is not
kono
parents:
diff changeset
1103 defined, emit a warning.
kono
parents:
diff changeset
1104 (objc_declare_protocols): Updated call to lookup_protocol.
kono
parents:
diff changeset
1105 (start_protocol): Same change.
kono
parents:
diff changeset
1106 (check_protocol_recursively): Same change.
kono
parents:
diff changeset
1107 (objc_build_protocol_expr): Same change.
kono
parents:
diff changeset
1108 (lookup_and_install_protocols): Added definition_required argument.
kono
parents:
diff changeset
1109 Pass it to lookup_protocol.
kono
parents:
diff changeset
1110 (objc_get_protocol_qualified_type): Updated call to
kono
parents:
diff changeset
1111 lookup_and_install_protocols.
kono
parents:
diff changeset
1112 (start_class): Updated calls to lookup_and_install_protocols; pass
kono
parents:
diff changeset
1113 true to 'definition_required' to get the warnings.
kono
parents:
diff changeset
1114 (start_protocol): Updated calls to lookup_and_install_protocols.
kono
parents:
diff changeset
1115
kono
parents:
diff changeset
1116 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1117
kono
parents:
diff changeset
1118 * objc-act.c (objc_start_category_interface): Produce an error if
kono
parents:
diff changeset
1119 a class extension is found after the class @implementation.
kono
parents:
diff changeset
1120
kono
parents:
diff changeset
1121 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1122
kono
parents:
diff changeset
1123 PR objc/47073
kono
parents:
diff changeset
1124 * objc-act.c (encode_method_prototype): Fixed both location and
kono
parents:
diff changeset
1125 format string of error "type %qT does not have a known size".
kono
parents:
diff changeset
1126
kono
parents:
diff changeset
1127 2010-12-26 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1128
kono
parents:
diff changeset
1129 * config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c.
kono
parents:
diff changeset
1130
kono
parents:
diff changeset
1131 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
1132
kono
parents:
diff changeset
1133 * objc-act.c (next_sjlj_build_enter_and_setjmp): Use prototype_p.
kono
parents:
diff changeset
1134
kono
parents:
diff changeset
1135 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1136
kono
parents:
diff changeset
1137 * objc-act.c (objc_init): Call using_eh_for_cleanups.
kono
parents:
diff changeset
1138 (objc_init_exceptions): Renamed to objc_maybe_warn_exceptions. Do
kono
parents:
diff changeset
1139 not call using_eh_for_cleanups.
kono
parents:
diff changeset
1140 (objc_begin_try_stmt): Do not call objc_init_exceptions.
kono
parents:
diff changeset
1141 (objc_build_throw_stmt): Updated call to
kono
parents:
diff changeset
1142 objc_maybe_warn_exceptions.
kono
parents:
diff changeset
1143
kono
parents:
diff changeset
1144 2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1145
kono
parents:
diff changeset
1146 * objc/objc-act.c (objc_eh_personality): Select personality name on
kono
parents:
diff changeset
1147 runtime.
kono
parents:
diff changeset
1148 (objc_init_exceptions): New.
kono
parents:
diff changeset
1149 (objc_begin_try_stmt): Use objc_init_exceptions.
kono
parents:
diff changeset
1150 (objc_build_throw_stmt): Likewise.
kono
parents:
diff changeset
1151
kono
parents:
diff changeset
1152 2010-12-10 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1153
kono
parents:
diff changeset
1154 * objc-act.c (objc_in_class_extension): New.
kono
parents:
diff changeset
1155 (objc_start_category_interface): If -fobjc-std=objc1
kono
parents:
diff changeset
1156 was specified, produce an error if a class extension is used.
kono
parents:
diff changeset
1157 (objc_finish_interface): Reset objc_in_class_extension to false.
kono
parents:
diff changeset
1158 (objc_add_property_declaration): Allow a class extension to extend
kono
parents:
diff changeset
1159 readonly properties in the main @interface to be readwrite.
kono
parents:
diff changeset
1160 (start_class): Added code to deal with class extensions. In that
kono
parents:
diff changeset
1161 case, return the existing interface after adding any additional
kono
parents:
diff changeset
1162 protocols to it and setting objc_in_class_extension to true.
kono
parents:
diff changeset
1163 (continue_class): If in a class extension, do not generate the
kono
parents:
diff changeset
1164 instance variable template.
kono
parents:
diff changeset
1165
kono
parents:
diff changeset
1166 2010-12-08 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1167
kono
parents:
diff changeset
1168 * objc-act.c (objc_build_throw_stmt): Check that the argument of
kono
parents:
diff changeset
1169 @throw is an object and emit an error if not.
kono
parents:
diff changeset
1170
kono
parents:
diff changeset
1171 2010-12-08 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1172
kono
parents:
diff changeset
1173 * objc-act.c (objc_finish_foreach_loop): Use error_at() instead of
kono
parents:
diff changeset
1174 error() when printing an error about the iterating variable or
kono
parents:
diff changeset
1175 collection not being an object.
kono
parents:
diff changeset
1176
kono
parents:
diff changeset
1177 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1178
kono
parents:
diff changeset
1179 * objc-act.c (objc_finish_foreach_loop): Mark the
kono
parents:
diff changeset
1180 object_expression as used.
kono
parents:
diff changeset
1181
kono
parents:
diff changeset
1182 2010-12-06 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1183
kono
parents:
diff changeset
1184 * objc-act.c: Include c-family/c-objc.h.
kono
parents:
diff changeset
1185 * objc-lang.c: Same change.
kono
parents:
diff changeset
1186 * Make-lang.in (objc/objc-act.o): Depend on
kono
parents:
diff changeset
1187 c-family/c-objc.h.
kono
parents:
diff changeset
1188 (objc/objc-lang.o): Same change.
kono
parents:
diff changeset
1189 * config-lang.in (gtfiles): Added c-family/c-objc.h.
kono
parents:
diff changeset
1190
kono
parents:
diff changeset
1191 2010-12-02 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
1192
kono
parents:
diff changeset
1193 * lang-specs.h: Don't handle -ftraditional.
kono
parents:
diff changeset
1194
kono
parents:
diff changeset
1195 2010-12-02 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1196
kono
parents:
diff changeset
1197 * objc-act.c (objc_build_throw_stmt): Return error_mark_node and
kono
parents:
diff changeset
1198 not NULL_TREE when a @throw is used outside of a @catch block.
kono
parents:
diff changeset
1199
kono
parents:
diff changeset
1200 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1201
kono
parents:
diff changeset
1202 * objc-act.c (objc_build_volatilized_type): Removed.
kono
parents:
diff changeset
1203 (objc_non_volatilized_type): Removed.
kono
parents:
diff changeset
1204 (objc_type_quals_match): Removed.
kono
parents:
diff changeset
1205 (local_variables_to_volatilize): New.
kono
parents:
diff changeset
1206 (objc_volatilize_decl): Add the decl to volatilize to
kono
parents:
diff changeset
1207 local_variables_to_volatilize, but don't volatilize it yet.
kono
parents:
diff changeset
1208 (objc_finish_function): New.
kono
parents:
diff changeset
1209 * objc-act.h (local_variables_to_volatilize): New.
kono
parents:
diff changeset
1210
kono
parents:
diff changeset
1211 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1212 Mike Stump <mikestump@comcast.net>
kono
parents:
diff changeset
1213
kono
parents:
diff changeset
1214 Allow 'make check-objc -j2'
kono
parents:
diff changeset
1215 * Make-lang.in (lang_checks_parallelized): New.
kono
parents:
diff changeset
1216 (check_objc_parallelize): New.
kono
parents:
diff changeset
1217
kono
parents:
diff changeset
1218 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1219
kono
parents:
diff changeset
1220 * objc-act.c (start_class): When a class is reimplemented,
kono
parents:
diff changeset
1221 generate an error and avoid adding the class to the list of
kono
parents:
diff changeset
1222 implemented classes again, but do not return error_mark_node.
kono
parents:
diff changeset
1223
kono
parents:
diff changeset
1224 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1225
kono
parents:
diff changeset
1226 * objc-act.c (objc_maybe_build_component_ref): Removed TODO.
kono
parents:
diff changeset
1227
kono
parents:
diff changeset
1228 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1229
kono
parents:
diff changeset
1230 * objc-act.c (objc_eh_runtime_type): Avoid ICE if error_mark_node
kono
parents:
diff changeset
1231 is passed as argument.
kono
parents:
diff changeset
1232 (objc_begin_catch_clause): Added code to deal with an
kono
parents:
diff changeset
1233 error_mark_node or NULL_TREE argument. Improved checks for
kono
parents:
diff changeset
1234 invalid arguments. Added code to traverse typedefs.
kono
parents:
diff changeset
1235
kono
parents:
diff changeset
1236 2010-11-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1237
kono
parents:
diff changeset
1238 * objc-act.c (objc_demangle): Return immediately if the string is
kono
parents:
diff changeset
1239 too short. Detect names that do not need demangling, and return
kono
parents:
diff changeset
1240 them unchanged.
kono
parents:
diff changeset
1241
kono
parents:
diff changeset
1242 2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1243
kono
parents:
diff changeset
1244 Implemented optional properties.
kono
parents:
diff changeset
1245 * objc-act.h (PROPERTY_OPTIONAL): New.
kono
parents:
diff changeset
1246 * objc-act.c (objc_add_property_declaration): Set
kono
parents:
diff changeset
1247 PROPERTY_OPTIONAL if appropriate.
kono
parents:
diff changeset
1248 (finish_class): When generating definitions of setter and getter
kono
parents:
diff changeset
1249 methods associated with a property for a protocol, mark them as
kono
parents:
diff changeset
1250 optional if the property is optional.
kono
parents:
diff changeset
1251 (maybe_make_artificial_property_decl): Added 'getter_name'
kono
parents:
diff changeset
1252 argument. Set PROPERTY_OPTIONAL.
kono
parents:
diff changeset
1253 (objc_maybe_build_component_ref): Updated calls to
kono
parents:
diff changeset
1254 maybe_make_artificial_property_decl. Added code for optional,
kono
parents:
diff changeset
1255 readonly properties.
kono
parents:
diff changeset
1256 (objc_build_class_component_ref): Updated call to
kono
parents:
diff changeset
1257 maybe_make_artificial_property_decl.
kono
parents:
diff changeset
1258
kono
parents:
diff changeset
1259 2010-11-27 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1260
kono
parents:
diff changeset
1261 * objc-act.c (objc_build_struct): Fixed loops that save and
kono
parents:
diff changeset
1262 restore TYPE_OBJC_INFO to iterate over all variants of the type; a
kono
parents:
diff changeset
1263 special case for the current type is then no longer required.
kono
parents:
diff changeset
1264 Duplicate TYPE_LANG_SPECIFIC for each type before restoring
kono
parents:
diff changeset
1265 TYPE_OBJC_INFO.
kono
parents:
diff changeset
1266 (objc_get_protocol_qualified_type): Updated comments.
kono
parents:
diff changeset
1267
kono
parents:
diff changeset
1268 2010-11-25 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1269
kono
parents:
diff changeset
1270 * objc-act.c (objc_build_struct): Install TYPE_OBJC_INTERFACE
kono
parents:
diff changeset
1271 after finish_struct, not before, otherwise it may be wiped out by
kono
parents:
diff changeset
1272 it. This fixes spurious warnings when a class has more than 15
kono
parents:
diff changeset
1273 instance variables.
kono
parents:
diff changeset
1274
kono
parents:
diff changeset
1275 2010-11-23 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1276
kono
parents:
diff changeset
1277 PR objc/24358
kono
parents:
diff changeset
1278 * lang-specs.h: Added objective-c-cpp-output. Mapped .mi to
kono
parents:
diff changeset
1279 objective-c-cpp-output instead of objc-cpp-output. Print a
kono
parents:
diff changeset
1280 deprecation note every time objc-cpp-output is requested.
kono
parents:
diff changeset
1281
kono
parents:
diff changeset
1282 2010-11-22 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
1283
kono
parents:
diff changeset
1284 * objc-act.c (write_symbols): Don't declare here.
kono
parents:
diff changeset
1285
kono
parents:
diff changeset
1286 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1287
kono
parents:
diff changeset
1288 PR objc/41108
kono
parents:
diff changeset
1289 * objc-act.c (objc_generate_write_barrier): Added assert to make sure
kono
parents:
diff changeset
1290 this function is only called with the next runtime.
kono
parents:
diff changeset
1291
kono
parents:
diff changeset
1292 2010-11-20 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1293
kono
parents:
diff changeset
1294 PR c/46547
kono
parents:
diff changeset
1295 * objc-act.c (in_late_binary_op): Remove.
kono
parents:
diff changeset
1296
kono
parents:
diff changeset
1297 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1298
kono
parents:
diff changeset
1299 * objc-act.c (objc_start_class_interface): Do not warn that class
kono
parents:
diff changeset
1300 attributes are unimplemented. Pass the attributes to start_class.
kono
parents:
diff changeset
1301 (objc_start_category_interface): Updated call to start_class.
kono
parents:
diff changeset
1302 (objc_start_class_implementation): Same change.
kono
parents:
diff changeset
1303 (objc_start_category_implementation): Same change.
kono
parents:
diff changeset
1304 (objc_build_class_component_ref): Warn if the class is deprecated.
kono
parents:
diff changeset
1305 (build_private_template): Mark the template as deprecated if the
kono
parents:
diff changeset
1306 class is deprecated.
kono
parents:
diff changeset
1307 (start_class): Added 'attributes' argument. Emit a warning if
kono
parents:
diff changeset
1308 using a deprecated class as superclass of a class, or original
kono
parents:
diff changeset
1309 class of a category. Recognize the 'deprecated' attribute when
kono
parents:
diff changeset
1310 starting and interface, and mark the interface with
kono
parents:
diff changeset
1311 TREE_DEPRECATED if present. Store attributes in the interface.
kono
parents:
diff changeset
1312
kono
parents:
diff changeset
1313 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1314
kono
parents:
diff changeset
1315 * objc-act.c (lookup_protocol): Added 'warn_if_deprecated'
kono
parents:
diff changeset
1316 argument. If it is 'true' and the protocol is deprecated, emit a
kono
parents:
diff changeset
1317 deprecation warning.
kono
parents:
diff changeset
1318 (objc_start_protocol): Do not warn that protocol attributes are
kono
parents:
diff changeset
1319 unimplemented. Pass the attributes to start_protocol.
kono
parents:
diff changeset
1320 (start_protocol): Added attributes argument. Recognize the
kono
parents:
diff changeset
1321 'deprecated' attribute and mark the protocols with TREE_DEPRECATED
kono
parents:
diff changeset
1322 if present. Store attributes in the protocol.
kono
parents:
diff changeset
1323 (objc_declare_protocols): Added 'attributes' argument. Recognize
kono
parents:
diff changeset
1324 the 'deprecated' attribute and mark the protocols with
kono
parents:
diff changeset
1325 TREE_DEPRECATED if present. Store attributes in the protocol.
kono
parents:
diff changeset
1326 Updated call to lookup_protocol.
kono
parents:
diff changeset
1327 (objc_build_protocol_expr): Updated call to lookup_protocol.
kono
parents:
diff changeset
1328 (check_protocol_recursively): Same change.
kono
parents:
diff changeset
1329 (lookup_and_install_protocols): Same change.
kono
parents:
diff changeset
1330 * objc-act.h: Updated comments.
kono
parents:
diff changeset
1331
kono
parents:
diff changeset
1332 2010-11-17 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1333
kono
parents:
diff changeset
1334 * objc-act.c (lookup_method_in_protocol_list): Search methods in
kono
parents:
diff changeset
1335 PROTOCOL_OPTIONAL_CLS_METHODS / PROTOCOL_OPTIONAL_NST_METHODS if
kono
parents:
diff changeset
1336 they are not found in PROTOCOL_CLS_METHODS / PROTOCOL_NST_METHODS.
kono
parents:
diff changeset
1337
kono
parents:
diff changeset
1338 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1339
kono
parents:
diff changeset
1340 * objc-act.c (objc_build_setter_call): New.
kono
parents:
diff changeset
1341 (objc_maybe_build_modify_expr): Rewritten to build a compound
kono
parents:
diff changeset
1342 statement.
kono
parents:
diff changeset
1343 (objc_build_incr_expr_for_property_ref): Updated calls to
kono
parents:
diff changeset
1344 objc_maybe_build_modify_expr to call objc_build_setter_call
kono
parents:
diff changeset
1345 instead. Use build_modify_expr () instead of build2 (MODIFY_EXPR,
kono
parents:
diff changeset
1346 ...). Use convert () instead of build1 (NOP_EXPR, ...). Use
kono
parents:
diff changeset
1347 TREE_NO_WARNING on the final compound statement to silence C++
kono
parents:
diff changeset
1348 warnings.
kono
parents:
diff changeset
1349
kono
parents:
diff changeset
1350 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1351
kono
parents:
diff changeset
1352 * objc-act.c (objc_build_incr_expr_for_property_ref): New.
kono
parents:
diff changeset
1353 (objc_create_temporary_var): Moved it towards the beginning of the
kono
parents:
diff changeset
1354 file so that objc_build_incr_expr_for_property_ref can use it.
kono
parents:
diff changeset
1355
kono
parents:
diff changeset
1356 2010-11-14 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1357
kono
parents:
diff changeset
1358 * objc-act.c (objc_add_property_declaration): Check that the decl
kono
parents:
diff changeset
1359 we received from the parser is a FIELD_DECL; reject array and
kono
parents:
diff changeset
1360 bitfield properties. Convert the warning when a property is
kono
parents:
diff changeset
1361 readonly and a setter is specified into an error. Convert errors
kono
parents:
diff changeset
1362 when a property declaration does not match a property declaration
kono
parents:
diff changeset
1363 in a superclass into warnings.
kono
parents:
diff changeset
1364 (objc_add_synthesize_declaration_for_property): Use
kono
parents:
diff changeset
1365 DECL_BIT_FIELD_TYPE to determine the type of an instance variable
kono
parents:
diff changeset
1366 if it is a bitfield. Throw an error if we are asked to synthesize
kono
parents:
diff changeset
1367 setters/getters for a bitfield instance variable but the property
kono
parents:
diff changeset
1368 is not appropriate - it must be assign and nonatomic. If the
kono
parents:
diff changeset
1369 property is readonly, allow the instance variable type to be a
kono
parents:
diff changeset
1370 specialization of the property type.
kono
parents:
diff changeset
1371 (objc_type_valid_for_messaging): Fixed returning 'false' for a
kono
parents:
diff changeset
1372 Class qualified with a protocol when the 'accept_classes' argument
kono
parents:
diff changeset
1373 is 'false'.
kono
parents:
diff changeset
1374
kono
parents:
diff changeset
1375 2010-11-13 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1376
kono
parents:
diff changeset
1377 * objc-act.c (objc_get_protocol_qualified_type): detect cases
kono
parents:
diff changeset
1378 where we are asked to attach a protocol to something which is not
kono
parents:
diff changeset
1379 an Objective-C object type, and produce an error.
kono
parents:
diff changeset
1380
kono
parents:
diff changeset
1381 2010-11-11 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1382
kono
parents:
diff changeset
1383 * objc-act.c (objc_add_property_declaration): Check that the type
kono
parents:
diff changeset
1384 of a property and of an inherited property match.
kono
parents:
diff changeset
1385 (objc_maybe_build_component_ref): Tidied up indentation and
kono
parents:
diff changeset
1386 comments.
kono
parents:
diff changeset
1387 (objc_common_type): Added new type of check (-5).
kono
parents:
diff changeset
1388 (objc_add_synthesize_declaration_for_property): Check that the
kono
parents:
diff changeset
1389 property to synthesize and the instance variable to use have the
kono
parents:
diff changeset
1390 same type.
kono
parents:
diff changeset
1391
kono
parents:
diff changeset
1392 2010-11-10 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
1393
kono
parents:
diff changeset
1394 * objc-act.c (objc_init): Use %' in diagnostic.
kono
parents:
diff changeset
1395 (objc_set_method_opt): Remove trailing '.' from diagnostic.
kono
parents:
diff changeset
1396
kono
parents:
diff changeset
1397 2010-11-10 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
1398
kono
parents:
diff changeset
1399 * objc-act.c (dump_base_name): Don't declare here.
kono
parents:
diff changeset
1400
kono
parents:
diff changeset
1401 2010-11-08 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1402
kono
parents:
diff changeset
1403 * objc-act.c (objc_add_dynamic_declaration_for_property): Do not
kono
parents:
diff changeset
1404 search for the @property declation only in the current context,
kono
parents:
diff changeset
1405 but also in inherited properties. Do not mark the original
kono
parents:
diff changeset
1406 PROPERTY_DECL in the @interface or @protocol with
kono
parents:
diff changeset
1407 PROPERTY_DYNAMIC.
kono
parents:
diff changeset
1408 (check_methods): To check if a method is associated with a
kono
parents:
diff changeset
1409 @dynamic property, search for the property in IMPL_PROPERTY_DECL.
kono
parents:
diff changeset
1410 (check_accessible_methods): Same change.
kono
parents:
diff changeset
1411 * objc-act.h: Updated comment.
kono
parents:
diff changeset
1412
kono
parents:
diff changeset
1413 2010-11-08 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1414
kono
parents:
diff changeset
1415 * objc-act.c (objc_add_synthesize_declaration_for_property):
kono
parents:
diff changeset
1416 Iterate over IMPL_PROPERTY_DECL, not CLASS_PROPERTY_DECL, when
kono
parents:
diff changeset
1417 checking for an existing @synthesize or @dynamic declaration.
kono
parents:
diff changeset
1418 Search for an inherited @property declaration if none is found in
kono
parents:
diff changeset
1419 the local interface. If the required instance variable does not
kono
parents:
diff changeset
1420 exist, return instead of trying to continue to prevent a compiler
kono
parents:
diff changeset
1421 crash later. Check that the instance variable is not already
kono
parents:
diff changeset
1422 being used by another @synthesize.
kono
parents:
diff changeset
1423 (objc_add_dynamic_declaration_for_property): Iterate over
kono
parents:
diff changeset
1424 IMPL_PROPERTY_DECL, not CLASS_PROPERTY_DECL, when checking for an
kono
parents:
diff changeset
1425 existing @synthesize or @dynamic declaration.
kono
parents:
diff changeset
1426 (objc_synthesize_getter): Search for the getter declaration in
kono
parents:
diff changeset
1427 protocols and superclasses as well.
kono
parents:
diff changeset
1428 (objc_synthesize_setter): Search for the setter declaration in
kono
parents:
diff changeset
1429 protocols and superclasses as well.
kono
parents:
diff changeset
1430
kono
parents:
diff changeset
1431 2010-11-08 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1432
kono
parents:
diff changeset
1433 * objc-act.c (lookup_property): When checking categories, also
kono
parents:
diff changeset
1434 check the protocols attached to each.
kono
parents:
diff changeset
1435 (objc_add_property_declaration): Determine the
kono
parents:
diff changeset
1436 PROPERTY_SETTER_NAME and PROPERTY_GETTER_NAME here. Tidied up
kono
parents:
diff changeset
1437 error message. Search for an existing property declaration with
kono
parents:
diff changeset
1438 the same name which would be inherited from the class hiearchy,
kono
parents:
diff changeset
1439 and produce an error if it has incompatible attributes.
kono
parents:
diff changeset
1440 (check_methods): Changed second parameter. If the method is a
kono
parents:
diff changeset
1441 getter or setter for a property, do not warn if it is inherited as
kono
parents:
diff changeset
1442 opposed to implemented directly in the class.
kono
parents:
diff changeset
1443 (check_protocol): Updated calls to check_methods.
kono
parents:
diff changeset
1444 (finish_class): Do not determine the PROPERTY_SETTER_NAME and
kono
parents:
diff changeset
1445 PROPERTY_GETTER_NAME here; this is now done earlier, in
kono
parents:
diff changeset
1446 objc_add_property_declaration.
kono
parents:
diff changeset
1447 * objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Added comments.
kono
parents:
diff changeset
1448
kono
parents:
diff changeset
1449 2010-11-06 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1450
kono
parents:
diff changeset
1451 Fixed using the Objective-C 2.0 dot-syntax with self and super.
kono
parents:
diff changeset
1452 * objc-act.c (OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS): New.
kono
parents:
diff changeset
1453 (maybe_make_artificial_property_decl): Added 'implementation'
kono
parents:
diff changeset
1454 argument. Use OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS when
kono
parents:
diff changeset
1455 looking up getters or setters for a class. If an implementation
kono
parents:
diff changeset
1456 is specified, search it as well for a getter or setter.
kono
parents:
diff changeset
1457 (objc_maybe_build_component_ref): Updated calls to
kono
parents:
diff changeset
1458 maybe_make_artificial_property_decl; added code to deal with
kono
parents:
diff changeset
1459 'self' and 'super' and with methods declared locally in the
kono
parents:
diff changeset
1460 implementation. Store the getter call expression in the
kono
parents:
diff changeset
1461 PROPERTY_REF instead of throwing it away.
kono
parents:
diff changeset
1462 (objc_build_class_component_ref): Updated calls to
kono
parents:
diff changeset
1463 maybe_make_artificial_property_decl, and store the getter call
kono
parents:
diff changeset
1464 expression in PROPERTY_REF instead of throwing it away.
kono
parents:
diff changeset
1465 (lookup_method_static): Implemented
kono
parents:
diff changeset
1466 OBJC_LOOKUP_NO_INSTANCE_METHODS_OF_ROOT_CLASS option.
kono
parents:
diff changeset
1467 (objc_gimplify_property_ref): Do not build the getter method call
kono
parents:
diff changeset
1468 here; instead use the one stored in the PROPERTY_REF. If it's not
kono
parents:
diff changeset
1469 there, produce helpful error messages.
kono
parents:
diff changeset
1470 * objc-tree.def (PROPERTY_REF): Increased the number of operands
kono
parents:
diff changeset
1471 from 2 to 3. Updated comments.
kono
parents:
diff changeset
1472 * objc-act.h (PROPERTY_REF_GETTER_CALL): New.
kono
parents:
diff changeset
1473
kono
parents:
diff changeset
1474 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1475
kono
parents:
diff changeset
1476 PR target/44981
kono
parents:
diff changeset
1477 * objc-act.c (objc_build_string_object): Amend for renamed hook.
kono
parents:
diff changeset
1478 (objc_string_ref_type_p): New.
kono
parents:
diff changeset
1479 (objc_check_format_arg): New.
kono
parents:
diff changeset
1480
kono
parents:
diff changeset
1481 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1482
kono
parents:
diff changeset
1483 Fixed using the Objective-C 2.0 dot-syntax with class names.
kono
parents:
diff changeset
1484 * objc-act.c (objc_build_class_component_ref): New.
kono
parents:
diff changeset
1485
kono
parents:
diff changeset
1486 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1487
kono
parents:
diff changeset
1488 * objc-act.c (objc_add_dynamic_declaration): Allow @dynamic in a
kono
parents:
diff changeset
1489 category.
kono
parents:
diff changeset
1490 (objc_type_valid_for_messaging): Added 'accept_classes' argument;
kono
parents:
diff changeset
1491 if set to 'true', return 'true' for Class objects. Do not remove
kono
parents:
diff changeset
1492 more than on pointer indirection.
kono
parents:
diff changeset
1493 (objc_add_property_declaration): Only warn about 'assign'
kono
parents:
diff changeset
1494 semantics for Objective-C objects if warn_property_assign_default;
kono
parents:
diff changeset
1495 and do not warn if the property is readonly or if the type is a Class.
kono
parents:
diff changeset
1496 (objc_finish_foreach_loop): Updated calls to
kono
parents:
diff changeset
1497 objc_type_valid_for_messaging.
kono
parents:
diff changeset
1498
kono
parents:
diff changeset
1499 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1500
kono
parents:
diff changeset
1501 Implemented -fobjc-std=objc1 flag.
kono
parents:
diff changeset
1502 * objc-act.c (objc_start_class_interface): If attributes are
kono
parents:
diff changeset
1503 specified when flag_objc1_only is set, print an error.
kono
parents:
diff changeset
1504 (objc_start_category_interface): Same change.
kono
parents:
diff changeset
1505 (objc_start_protocol): Same change.
kono
parents:
diff changeset
1506 (objc_add_method_declaration): Same change.
kono
parents:
diff changeset
1507 (objc_start_method_definition): Same change.
kono
parents:
diff changeset
1508 (objc_build_keyword_decl): Same change.
kono
parents:
diff changeset
1509 (objc_set_visibility): If OBJC_IVAR_VIS_PACKAGE is used when
kono
parents:
diff changeset
1510 flag_objc1_set is set, print an error.
kono
parents:
diff changeset
1511 (objc_set_method_opt): If flag_objc1_only is set, print an error.
kono
parents:
diff changeset
1512 (objc_add_property_declaration): Same change.
kono
parents:
diff changeset
1513 (objc_add_synthesize_declaration): Same change.
kono
parents:
diff changeset
1514 (objc_add_dynamic_declaration): Same change.
kono
parents:
diff changeset
1515 (objc_finish_foreach_loop): Same change.
kono
parents:
diff changeset
1516 (objc_maybe_build_component_ref): If flag_objc1_only is set,
kono
parents:
diff changeset
1517 return immediately.
kono
parents:
diff changeset
1518
kono
parents:
diff changeset
1519 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1520
kono
parents:
diff changeset
1521 * objc-act.c (maybe_make_artificial_property_decl): New.
kono
parents:
diff changeset
1522 (objc_maybe_build_component_ref): Call
kono
parents:
diff changeset
1523 maybe_make_artificial_property_decl if a property can not be
kono
parents:
diff changeset
1524 found. Do not call objc_finish_message_expr if
kono
parents:
diff changeset
1525 PROPERTY_HAS_NO_GETTER.
kono
parents:
diff changeset
1526 * objc-act.h Updated comments.
kono
parents:
diff changeset
1527 (PROPERTY_HAS_NO_GETTER): New.
kono
parents:
diff changeset
1528 (PROPERTY_HAS_NO_SETTER): New.
kono
parents:
diff changeset
1529 * objc-tree.def: Updated comment.
kono
parents:
diff changeset
1530
kono
parents:
diff changeset
1531 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1532
kono
parents:
diff changeset
1533 Implemented format and noreturn attributes for Objective-C methods.
kono
parents:
diff changeset
1534 * objc-act.c (objc_start_method_definition): If method attributes
kono
parents:
diff changeset
1535 are specified emit a warning and ignore them.
kono
parents:
diff changeset
1536 (build_objc_method_call): Moved deprecation warnings from here ...
kono
parents:
diff changeset
1537 (objc_finish_message_expr): to here. Do not emit deprecation
kono
parents:
diff changeset
1538 warnings if the receiver is of type 'id'.
kono
parents:
diff changeset
1539 (really_start_method): Install 'deprecation' and 'noreturn'
kono
parents:
diff changeset
1540 attributes.
kono
parents:
diff changeset
1541 (objc_decl_method_attributes): Carefully filter out the list of
kono
parents:
diff changeset
1542 attributes, allowing only "noreturn", "format", "sentinel" and
kono
parents:
diff changeset
1543 "deprecated". In the case of "format", adjust the arguments.
kono
parents:
diff changeset
1544 Always process the attributes in the same way no matter if
kono
parents:
diff changeset
1545 "sentinel" is in the list or not.
kono
parents:
diff changeset
1546
kono
parents:
diff changeset
1547 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1548
kono
parents:
diff changeset
1549 * objc-act.c (objc_maybe_build_component_ref): Warn about using
kono
parents:
diff changeset
1550 deprecated properties.
kono
parents:
diff changeset
1551 (objc_maybe_printable_name): Support PROPERTY_DECL.
kono
parents:
diff changeset
1552
kono
parents:
diff changeset
1553 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1554
kono
parents:
diff changeset
1555 Implemented Objective-C 2.0 property accessors.
kono
parents:
diff changeset
1556 * objc-act.h (enum objc_tree_index): Added OCTI_GET_PROPERTY_DECL,
kono
parents:
diff changeset
1557 OCTI_SET_PROPERTY_DECL, OCTI_COPY_STRUCT_DECL,
kono
parents:
diff changeset
1558 OCTI_GET_PROPERTY_STRUCT_DECL and OCTI_SET_PROPERTY_STRUCT_DECL.
kono
parents:
diff changeset
1559 (objc_getProperty_decl): New.
kono
parents:
diff changeset
1560 (objc_setProperty_decl): New.
kono
parents:
diff changeset
1561 (objc_copyStruct_decl): New.
kono
parents:
diff changeset
1562 (objc_getPropertyStruct_decl): New.
kono
parents:
diff changeset
1563 (objc_setPropertyStruct_decl): New.
kono
parents:
diff changeset
1564 * objc-act.c (build_objc_property_accessor_helpers): New.
kono
parents:
diff changeset
1565 (synth_module_prologue): Call
kono
parents:
diff changeset
1566 build_objc_property_accessor_helpers.
kono
parents:
diff changeset
1567 (lookup_ivar): New.
kono
parents:
diff changeset
1568 (objc_synthesize_getter): Implemented synthesizing getters that
kono
parents:
diff changeset
1569 work with properties that are not nonatomic, assign properties.
kono
parents:
diff changeset
1570 (objc_synthesize_setter): Implemented synthesizing setters that
kono
parents:
diff changeset
1571 work with properties that are not nonatomic, assign properties.
kono
parents:
diff changeset
1572
kono
parents:
diff changeset
1573 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1574
kono
parents:
diff changeset
1575 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
kono
parents:
diff changeset
1576 * objc-tree.def (PROPERTY_REF): New.
kono
parents:
diff changeset
1577 * objc-act.h: Added comments for all the PROPERTY_ macros.
kono
parents:
diff changeset
1578 (PROPERTY_NAME): Use DECL_NAME.
kono
parents:
diff changeset
1579 (PROPERTY_COPIES): Removed.
kono
parents:
diff changeset
1580 (PROPERTY_READONLY): Use DECL_LANG_FLAG_0 for it.
kono
parents:
diff changeset
1581 (PROPERTY_NONATOMIC): New.
kono
parents:
diff changeset
1582 (objc_property_assign_semantics): Make it a typedef.
kono
parents:
diff changeset
1583 (PROPERTY_ASSIGN_SEMANTICS): New.
kono
parents:
diff changeset
1584 (PROPERTY_DYNAMIC): New.
kono
parents:
diff changeset
1585 (PROPERTY_REF_OBJECT): New.
kono
parents:
diff changeset
1586 (PROPERTY_REF_PROPERTY_DECL): New.
kono
parents:
diff changeset
1587 * objc-act.c (CALL_EXPR_OBJC_PROPERTY_GETTER): Removed.
kono
parents:
diff changeset
1588 (in_objc_property_setter_name_context): Removed.
kono
parents:
diff changeset
1589 (objc_add_property_declaration): Removed copies and ivar arguments
kono
parents:
diff changeset
1590 and code supporting them. Fixed recovering when readonly and
kono
parents:
diff changeset
1591 setter attributes are specified. Removed support for @property in
kono
parents:
diff changeset
1592 @implementation context. Updated error message. Double-check
kono
parents:
diff changeset
1593 that a property does not have a DECL_INITIAL. Validate the
kono
parents:
diff changeset
1594 property assign semantics and emit appropriate errors and
kono
parents:
diff changeset
1595 warnings. Check for duplicate property declarations. Set
kono
parents:
diff changeset
1596 DECL_SOURCE_LOCATION, TREE_DEPRECATED, PROPERTY_NONATOMIC,
kono
parents:
diff changeset
1597 PROPERTY_ASSIGN_SEMANTICS and PROPERTY_DYNAMIC of the new
kono
parents:
diff changeset
1598 PROPERTY_DECL. Do not set PROPERTY_COPIES. Set
kono
parents:
diff changeset
1599 PROPERTY_IVAR_NAME to NULL_TREE.
kono
parents:
diff changeset
1600 (objc_build_getter_call): Renamed to
kono
parents:
diff changeset
1601 objc_maybe_build_component_ref. If the property is not found in
kono
parents:
diff changeset
1602 the interface, search in the protocol list. Do not generate the
kono
parents:
diff changeset
1603 getter call; instead, build and return a PROPERTY_REF.
kono
parents:
diff changeset
1604 (objc_is_property_ref): New.
kono
parents:
diff changeset
1605 (objc_setter_func_call): Removed.
kono
parents:
diff changeset
1606 (get_selector_from_reference): Removed.
kono
parents:
diff changeset
1607 (is_property): Removed.
kono
parents:
diff changeset
1608 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
kono
parents:
diff changeset
1609 Updated to work on a PROPERTY_REF and use the PROPERTY_DECL from
kono
parents:
diff changeset
1610 the PROPERTY_REF. Generate an error if the property is read-only.
kono
parents:
diff changeset
1611 (build_property_reference): Removed.
kono
parents:
diff changeset
1612 (objc_finish_message_expr): Removed check to produce "readonly
kono
parents:
diff changeset
1613 property can not be set" error when
kono
parents:
diff changeset
1614 in_objc_property_setter_name_context. We now generate the error
kono
parents:
diff changeset
1615 earlier, in objc_maybe_build_modify_expr, which will only generate
kono
parents:
diff changeset
1616 the setter call if the property is readwrite.
kono
parents:
diff changeset
1617 (check_methods): Recognize dynamic properties.
kono
parents:
diff changeset
1618 (check_methods_accessible): Same change.
kono
parents:
diff changeset
1619 (objc_build_property_ivar_name): Removed.
kono
parents:
diff changeset
1620 (objc_build_property_setter_name): Dropped bool argument. Always
kono
parents:
diff changeset
1621 add the ':' at the end.
kono
parents:
diff changeset
1622 (objc_gen_one_property_datum): Removed.
kono
parents:
diff changeset
1623 (objc_process_getter_setter): Removed.
kono
parents:
diff changeset
1624 (objc_synthesize_getter): Mark 'klass' argument as unused. Use
kono
parents:
diff changeset
1625 PROPERTY_GETTER_NAME instead of PROPERTY_NAME. Set the
kono
parents:
diff changeset
1626 DECL_SOURCE_LOCATION of the new method to be the same as the one
kono
parents:
diff changeset
1627 for the @synthesize. Always use PROPERTY_IVAR_NAME as it is
kono
parents:
diff changeset
1628 instead of trying to guess what it should be. Removed use of
kono
parents:
diff changeset
1629 CLASS_IVARS. Use the location of @synthesize for c_finish_return
kono
parents:
diff changeset
1630 and c_end_compound_statement.
kono
parents:
diff changeset
1631 (objc_synthesize_setter): Mark 'klass' argument as unused. Use
kono
parents:
diff changeset
1632 PROPERTY_SETTER_NAME instead of trying to guess what it should be.
kono
parents:
diff changeset
1633 Set the DECL_SOURCE_LOCATION of the new method to be the same as
kono
parents:
diff changeset
1634 the one for the @synthesize. Always use PROPERTY_IVAR_NAME as it
kono
parents:
diff changeset
1635 is instead of trying to guess what it should be. Removed use of
kono
parents:
diff changeset
1636 CLASS_IVARS. Use the location of @synthesize for c_finish_return
kono
parents:
diff changeset
1637 and c_end_compound_statement. Emit an error and keep going,
kono
parents:
diff changeset
1638 instead of aborting, if the setter prototype does not have the
kono
parents:
diff changeset
1639 expected argument.
kono
parents:
diff changeset
1640 (objc_add_synthesize_declaration_for_property): New.
kono
parents:
diff changeset
1641 (objc_add_synthesize_declaration): Removed ATTRIBUTE_UNUSED from
kono
parents:
diff changeset
1642 all arguments. Improved error message. Filled in the rest of the
kono
parents:
diff changeset
1643 function, which used to be a placeholder, with an actual
kono
parents:
diff changeset
1644 implementation.
kono
parents:
diff changeset
1645 (objc_add_dynamic_declaration_for_property): New.
kono
parents:
diff changeset
1646 (objc_add_dynamic_declaration): Removed ATTRIBUTE_UNUSED from all
kono
parents:
diff changeset
1647 arguments. Improved error message. Filled in the rest of the
kono
parents:
diff changeset
1648 function, which used to be a placeholder, with an actual
kono
parents:
diff changeset
1649 implementation.
kono
parents:
diff changeset
1650 (objc_gen_property_data): Rewritten.
kono
parents:
diff changeset
1651 (finish_class): Added explicit switch cases for
kono
parents:
diff changeset
1652 CLASS_INTERFACE_TYPE, CATEGORY_INTERFACE_TYPE and
kono
parents:
diff changeset
1653 PROTOCOL_INTERFACE_TYPE. Added a default switch case which is
kono
parents:
diff changeset
1654 gcc_unreachable. Rewritten the processing of properties, in
kono
parents:
diff changeset
1655 particular to not synthesize prototypes for getters and setters if
kono
parents:
diff changeset
1656 they already exist and to install the getter and setter names into
kono
parents:
diff changeset
1657 PROPERTY_GETTER_NAME and PROPERTY_SETTER_NAME. Do not generate
kono
parents:
diff changeset
1658 warnings about setter, getter and ivar property attributes.
kono
parents:
diff changeset
1659 (objc_lookup_ivar): Removed support for properties.
kono
parents:
diff changeset
1660 (objc_gimplify_property_ref): New.
kono
parents:
diff changeset
1661 (objc_gimplify_expr): Use a switch. In case of a PROPERTY_REF, call
kono
parents:
diff changeset
1662 objc_gimplify_property_ref.
kono
parents:
diff changeset
1663
kono
parents:
diff changeset
1664 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1665
kono
parents:
diff changeset
1666 * objc-act.c (objc_add_property_declaration): Added arguments to
kono
parents:
diff changeset
1667 pass the various property attributes that were parsed with the
kono
parents:
diff changeset
1668 property declaration. Process arguments to determine the final
kono
parents:
diff changeset
1669 property attributes and produce error messages as appropriate.
kono
parents:
diff changeset
1670 Added temporary code to keep the compiler silent about variables
kono
parents:
diff changeset
1671 set but not used - for new attributes that are only checked but
kono
parents:
diff changeset
1672 have no effect yet.
kono
parents:
diff changeset
1673 (property_readonly): Removed.
kono
parents:
diff changeset
1674 (property_setter): Removed.
kono
parents:
diff changeset
1675 (property_getter): Removed.
kono
parents:
diff changeset
1676 (property_ivar): Removed.
kono
parents:
diff changeset
1677 (property_copies): Removed.
kono
parents:
diff changeset
1678 (objc_set_property_attr): Removed.
kono
parents:
diff changeset
1679 * objc-act.h (enum property_assign_semantics): New.
kono
parents:
diff changeset
1680
kono
parents:
diff changeset
1681 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1682
kono
parents:
diff changeset
1683 * objc-act.c (objc_add_property_variable): Renamed to
kono
parents:
diff changeset
1684 objc_add_property_declaration. Added location argument. Updated
kono
parents:
diff changeset
1685 warnings and errors to use it. Use error, not fatal_error, if a
kono
parents:
diff changeset
1686 property declaration is found outside an interface or
kono
parents:
diff changeset
1687 implementation context.
kono
parents:
diff changeset
1688
kono
parents:
diff changeset
1689 2010-10-24 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1690
kono
parents:
diff changeset
1691 * objc-act.c (objc_build_keyword_decl): Updated comments. Do not
kono
parents:
diff changeset
1692 emit a warning that method parameter attributes are unimplemented.
kono
parents:
diff changeset
1693 Instead, store them into DECL_ATTRIBUTES of the KEYWORD_DECL.
kono
parents:
diff changeset
1694 (start_method_def): Copy attributes from each KEYWORD_DECL into
kono
parents:
diff changeset
1695 the corresponding PARM_DECL.
kono
parents:
diff changeset
1696 (objc_warn_deprecated_use): Removed.
kono
parents:
diff changeset
1697 (build_objc_method_call): Call warn_deprecated_use, not
kono
parents:
diff changeset
1698 objc_warn_deprecated_use.
kono
parents:
diff changeset
1699 (objc_maybe_printable_name): Do not try to get the identifier name
kono
parents:
diff changeset
1700 of DECLs that we don't recognize. Immediately return NULL for them.
kono
parents:
diff changeset
1701 (objc_printable_name): Removed C++-specific case, which is no
kono
parents:
diff changeset
1702 longer used. Updated comments.
kono
parents:
diff changeset
1703
kono
parents:
diff changeset
1704 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1705
kono
parents:
diff changeset
1706 * objc-act.c (OBJC_GEN_METHOD_LABEL): Updated comments.
kono
parents:
diff changeset
1707 (objc_demangle): Return NULL if demangling can not be done because
kono
parents:
diff changeset
1708 the string to demangle is not an Objective-C mangled method name.
kono
parents:
diff changeset
1709 Be smarter in demangling method names so that at least for methods
kono
parents:
diff changeset
1710 with no arguments we are able to almost always demangle '_' correctly.
kono
parents:
diff changeset
1711 Updated comments.
kono
parents:
diff changeset
1712 (objc_maybe_printable_name): New.
kono
parents:
diff changeset
1713 (objc_printable_name): Call objc_maybe_printable_name. If it
kono
parents:
diff changeset
1714 returns NULL, call cxx_printable_name in Objective-C++.
kono
parents:
diff changeset
1715
kono
parents:
diff changeset
1716 2010-10-21 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1717
kono
parents:
diff changeset
1718 Based on the CFString implementation in FSF apple/trunk branch.
kono
parents:
diff changeset
1719
kono
parents:
diff changeset
1720 * objc/objc-act.c (objc_build_string_object): Handle CFStrings.
kono
parents:
diff changeset
1721
kono
parents:
diff changeset
1722 2010-10-21 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1723
kono
parents:
diff changeset
1724 * objc-act.c (get_objc_string_decl): Use a switch instead of a
kono
parents:
diff changeset
1725 chain of ifs. Use gcc_unreachable instead of abort.
kono
parents:
diff changeset
1726 (add_objc_string): Same change.
kono
parents:
diff changeset
1727 (generate_protocol_list): Same change - twice.
kono
parents:
diff changeset
1728 (synth_id_with_class_suffix): Same change.
kono
parents:
diff changeset
1729 (build_keyword_selector): Same change - twice.
kono
parents:
diff changeset
1730 (objc_build_message_expr): Same change.
kono
parents:
diff changeset
1731 (objc_build_selector_expr): Same change.
kono
parents:
diff changeset
1732 (check_methods): Same change - and added missing gcc_unreachable
kono
parents:
diff changeset
1733 for default case.
kono
parents:
diff changeset
1734 (check_methods_accessible): Same change - twice, and added missing
kono
parents:
diff changeset
1735 gcc_unreachable for default case in one of them.
kono
parents:
diff changeset
1736 (start_class): Same change - and added missing gcc_unreachable for
kono
parents:
diff changeset
1737 default case.
kono
parents:
diff changeset
1738 (continue_class): Same change.
kono
parents:
diff changeset
1739 (objc_gen_property_data): Same change.
kono
parents:
diff changeset
1740 (finish_class): Same change.
kono
parents:
diff changeset
1741 (encode_type_qualifiers): Added missing gcc_unreachable.
kono
parents:
diff changeset
1742 (encode_type): Small code tidy up to reduce duplicated code. Use
kono
parents:
diff changeset
1743 gcc_unreachable instead of abort - twice.
kono
parents:
diff changeset
1744 (encode_gnu_bitfield): Use a switch instead of a chain of ifs -
kono
parents:
diff changeset
1745 twice. Added missing gcc_unreachable for default case - twice.
kono
parents:
diff changeset
1746 (dump_interface): Use a switch instead of a chain of ifs.
kono
parents:
diff changeset
1747 (handle_impent): Same change.
kono
parents:
diff changeset
1748
kono
parents:
diff changeset
1749 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1750
kono
parents:
diff changeset
1751 * objc-act.h (objc_inherit_code): Removed.
kono
parents:
diff changeset
1752 * objc-act.c (objc_inherit_code): Removed.
kono
parents:
diff changeset
1753 (objc_set_method_type): Removed.
kono
parents:
diff changeset
1754 (objc_build_method_signature): Added is_class_method argument.
kono
parents:
diff changeset
1755 Use it instead of the global objc_inherit_code variable.
kono
parents:
diff changeset
1756 (objc_add_method_declaration): Same change.
kono
parents:
diff changeset
1757 (objc_start_method_definition): Same change.
kono
parents:
diff changeset
1758 (objc_generate_cxx_ctor_or_dtor): Updated call to
kono
parents:
diff changeset
1759 objc_start_method_definition. Do not call objc_set_method_type.
kono
parents:
diff changeset
1760 (adjust_type_for_id_default): Mark as inline.
kono
parents:
diff changeset
1761 (objc_synthesize_getter): Updated call to
kono
parents:
diff changeset
1762 objc_start_method_definition. Do not set objc_inherit_code.
kono
parents:
diff changeset
1763 (objc_synthesize_setter): Updated call to
kono
parents:
diff changeset
1764 objc_start_method_definition. Do not set objc_inherit_code.
kono
parents:
diff changeset
1765
kono
parents:
diff changeset
1766 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1767
kono
parents:
diff changeset
1768 Merge from 'apple/trunk' branch on FSF servers. Obvious updates
kono
parents:
diff changeset
1769 to gcc_alloc_xxx calls in hash_init and hash_class_name_enter to
kono
parents:
diff changeset
1770 get it to compile in the current trunk.
kono
parents:
diff changeset
1771
kono
parents:
diff changeset
1772 2006-01-27 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1773
kono
parents:
diff changeset
1774 Radar 4345837
kono
parents:
diff changeset
1775 * objc/objc-act.c (hash_class_name_enter): New.
kono
parents:
diff changeset
1776 (hash_class_name_lookup): New.
kono
parents:
diff changeset
1777 (objc_declare_alias): Enter alias name into hash table.
kono
parents:
diff changeset
1778 (objc_declare_class): Enter class name into hash table.
kono
parents:
diff changeset
1779 (objc_is_class_name): Do a hash look up of class name.
kono
parents:
diff changeset
1780 (hash_init): Initialize the two new hash tables.
kono
parents:
diff changeset
1781 * objc-act.h: Added cls_name_hash_list and als_name_hash_list
kono
parents:
diff changeset
1782 declarations, removed class_chain and alias_chain.
kono
parents:
diff changeset
1783
kono
parents:
diff changeset
1784 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1785
kono
parents:
diff changeset
1786 * objc-lang.c (finish_file): Removed.
kono
parents:
diff changeset
1787 * objc-act.c (objc_finish_file): Renamed to
kono
parents:
diff changeset
1788 objc_write_global_declarations. Do not try to instantiate C++
kono
parents:
diff changeset
1789 templates when compiling Objective-C++ as this is now
kono
parents:
diff changeset
1790 automatically done before this function is called. Do not check
kono
parents:
diff changeset
1791 for syntax-only run or PCH generation as this is done by the
kono
parents:
diff changeset
1792 callers.
kono
parents:
diff changeset
1793 * objc-act.h (objc_finish_file): Removed.
kono
parents:
diff changeset
1794
kono
parents:
diff changeset
1795 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1796
kono
parents:
diff changeset
1797 Implemented parsing @synthesize and @dynamic for
kono
parents:
diff changeset
1798 Objective-C/Objective-C++.
kono
parents:
diff changeset
1799 * objc-act.c (objc_add_synthesize_declaration): New.
kono
parents:
diff changeset
1800 (objc_add_dynamic_declaration): New.
kono
parents:
diff changeset
1801
kono
parents:
diff changeset
1802 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1803
kono
parents:
diff changeset
1804 * objc-act.c (lookup_and_install_protocols): Return NULL if passed
kono
parents:
diff changeset
1805 error_mark_node.
kono
parents:
diff changeset
1806
kono
parents:
diff changeset
1807 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1808
kono
parents:
diff changeset
1809 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
1810
kono
parents:
diff changeset
1811 2006-03-10 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1812
kono
parents:
diff changeset
1813 Radar 4407151
kono
parents:
diff changeset
1814 * objc/objc-act.c (objc_is_class_name): template parameter is not
kono
parents:
diff changeset
1815 an objective class name.
kono
parents:
diff changeset
1816 (objc_generate_cxx_cdtors): Check for the null
kono
parents:
diff changeset
1817 objc_implementation_context.
kono
parents:
diff changeset
1818
kono
parents:
diff changeset
1819 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1820
kono
parents:
diff changeset
1821 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
1822
kono
parents:
diff changeset
1823 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1824
kono
parents:
diff changeset
1825 Radar 4330422
kono
parents:
diff changeset
1826 * objc/objc-act.c (objc_non_volatilized_type): New
kono
parents:
diff changeset
1827
kono
parents:
diff changeset
1828 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1829
kono
parents:
diff changeset
1830 Radar 4204796
kono
parents:
diff changeset
1831 * objc-act.c (objc_build_volatilized_type): Build 'volatilzed'
kono
parents:
diff changeset
1832 types with proper attribute set and correctly.
kono
parents:
diff changeset
1833 (objc_volatilize_decl): Remove unneeded code.
kono
parents:
diff changeset
1834 (objc_type_quals_match): Use the new attribute to check on
kono
parents:
diff changeset
1835 'volatilzed' type.
kono
parents:
diff changeset
1836 (hash_init): removed unneeded code.
kono
parents:
diff changeset
1837
kono
parents:
diff changeset
1838 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1839
kono
parents:
diff changeset
1840 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
1841
kono
parents:
diff changeset
1842 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1843
kono
parents:
diff changeset
1844 Radar 4133425
kono
parents:
diff changeset
1845 * objc-act.c (objc_diagnose_private_ivar): New.
kono
parents:
diff changeset
1846
kono
parents:
diff changeset
1847 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1848
kono
parents:
diff changeset
1849 * objc-act.c: Rename 'objc_public_flag' to objc_ivar_visibility and
kono
parents:
diff changeset
1850 make its type 'objc_ivar_visibility_kind'.
kono
parents:
diff changeset
1851 (objc_start_class_interface): Update to use visibility enum.
kono
parents:
diff changeset
1852 (objc_start_class_implementation): Likewise.
kono
parents:
diff changeset
1853 (objc_set_visibility): Update to use visibility enum, warn that
kono
parents:
diff changeset
1854 @package is handle as per @public.
kono
parents:
diff changeset
1855 (add_instance_variable): Handle OBJC_IVAR_VIS_PACKAGE.
kono
parents:
diff changeset
1856 * objc-act.h: Rename 'objc_public_flag' to objc_ivar_visibility and
kono
parents:
diff changeset
1857 make its type 'objc_ivar_visibility_kind'.
kono
parents:
diff changeset
1858
kono
parents:
diff changeset
1859 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1860
kono
parents:
diff changeset
1861 merge from FSF apple 'trunk' branch.
kono
parents:
diff changeset
1862 2006 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1863
kono
parents:
diff changeset
1864 Radars 4436866, 4505126, 4506903, 4517826
kono
parents:
diff changeset
1865 * objc-act.c (CALL_EXPR_OBJC_PROPERTY_GETTER): New.
kono
parents:
diff changeset
1866 property_readonly, property_getter, property_setter, property_ivar,
kono
parents:
diff changeset
1867 property_copies, in_objc_property_setter_name_context: New vars.
kono
parents:
diff changeset
1868 (objc_set_property_attr): New.
kono
parents:
diff changeset
1869 (objc_add_property_variable): New.
kono
parents:
diff changeset
1870 (lookup_property_in_list): New.
kono
parents:
diff changeset
1871 (lookup_property): New.
kono
parents:
diff changeset
1872 (objc_build_getter_call): New.
kono
parents:
diff changeset
1873 (objc_setter_func_call): New.
kono
parents:
diff changeset
1874 (get_selector_from_reference): New.
kono
parents:
diff changeset
1875 (objc_build_setter_call): New.
kono
parents:
diff changeset
1876 (is_property): New.
kono
parents:
diff changeset
1877 (build_property_reference): New.
kono
parents:
diff changeset
1878 (objc_finish_message_expr): Detect readonly property and warn.
kono
parents:
diff changeset
1879 (objc_build_property_ivar_name): New.
kono
parents:
diff changeset
1880 (objc_build_property_setter_name): New.
kono
parents:
diff changeset
1881 (objc_gen_one_property_datum): New.
kono
parents:
diff changeset
1882 (objc_process_getter_setter): New.
kono
parents:
diff changeset
1883 (objc_synthesize_getter): New.
kono
parents:
diff changeset
1884 (objc_synthesize_setter): New.
kono
parents:
diff changeset
1885 (objc_gen_property_data): New.
kono
parents:
diff changeset
1886 (finish_class): Generate property data.
kono
parents:
diff changeset
1887 (comp_proto_with_proto): Separated from ...
kono
parents:
diff changeset
1888 (match_proto_with_proto): ... New.
kono
parents:
diff changeset
1889 (objc_lookup_ivar): Handle properties.
kono
parents:
diff changeset
1890 * objc-tree.def (PROPERTY_DECL): New tree code.
kono
parents:
diff changeset
1891 * objc-act.h: CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS update size.
kono
parents:
diff changeset
1892 (METHOD_PROPERTY_CONTEXT): New.
kono
parents:
diff changeset
1893 (PROPERTY_NAME): New.
kono
parents:
diff changeset
1894 (PROPERTY_GETTER_NAME): New.
kono
parents:
diff changeset
1895 (PROPERTY_SETTER_NAME): New.
kono
parents:
diff changeset
1896 (PROPERTY_IVAR_NAME): New.
kono
parents:
diff changeset
1897 (PROPERTY_READONLY): New.
kono
parents:
diff changeset
1898 (PROPERTY_COPIES): New.
kono
parents:
diff changeset
1899 (TOTAL_CLASS_RAW_IVARS): New.
kono
parents:
diff changeset
1900 (CLASS_PROPERTY_DECL): New.
kono
parents:
diff changeset
1901 (IMPL_PROPERTY_DECL): New.
kono
parents:
diff changeset
1902 * objc-lang.c (objc_init_ts): Update fields for property_decl.
kono
parents:
diff changeset
1903
kono
parents:
diff changeset
1904 2010-10-13 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
1905
kono
parents:
diff changeset
1906 * objc-act.c (objc_eh_personality): Update call to
kono
parents:
diff changeset
1907 build_personality_function.
kono
parents:
diff changeset
1908
kono
parents:
diff changeset
1909 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1910
kono
parents:
diff changeset
1911 merge from FSF apple 'trunk' branch.
kono
parents:
diff changeset
1912
kono
parents:
diff changeset
1913 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1914 Radar 3803157 (method attributes)
kono
parents:
diff changeset
1915 * objc/objc-act.h (METHOD_TYPE_ATTRIBUTES): New macro.
kono
parents:
diff changeset
1916 * objc/objc-act.c (objc_decl_method_attributes): New.
kono
parents:
diff changeset
1917 (objc_add_method_declaration): Process method's attribute.
kono
parents:
diff changeset
1918 (objc_start_method_definition): Ditto.
kono
parents:
diff changeset
1919 (build_objc_method_call): Inject method attribute into
kono
parents:
diff changeset
1920 built function type.
kono
parents:
diff changeset
1921 (objc_method_decl): New.
kono
parents:
diff changeset
1922 (objc_warn_deprecated)use): New.
kono
parents:
diff changeset
1923
kono
parents:
diff changeset
1924 2010-10-07 Andi Kleen <ak@linux.intel.com>
kono
parents:
diff changeset
1925
kono
parents:
diff changeset
1926 * Make-lang.in (cc1obj-dummy): Remove.
kono
parents:
diff changeset
1927 (cc1obj-checksum): Change to run checksum over object files
kono
parents:
diff changeset
1928 and options only.
kono
parents:
diff changeset
1929
kono
parents:
diff changeset
1930 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1931
kono
parents:
diff changeset
1932 PR objc/45925
kono
parents:
diff changeset
1933 * objc-act.c (objc_finish_foreach_loop): Convert return value of
kono
parents:
diff changeset
1934 countByEnumeratingWithState:objects:count: to long unsigned int.
kono
parents:
diff changeset
1935
kono
parents:
diff changeset
1936 2010-10-07 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1937
kono
parents:
diff changeset
1938 * objc-act.c (build_objc_method_call): Replace calls to
kono
parents:
diff changeset
1939 build_function_call () with the VEC equivalent. Construct parameter
kono
parents:
diff changeset
1940 lists as VECs.
kono
parents:
diff changeset
1941
kono
parents:
diff changeset
1942 2010-10-07 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1943
kono
parents:
diff changeset
1944 * objc-act.c (objc_build_message_expr): Call mark_exp_read () to
kono
parents:
diff changeset
1945 signal that the receiver has been used.
kono
parents:
diff changeset
1946
kono
parents:
diff changeset
1947 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1948
kono
parents:
diff changeset
1949 * README: Obsolete file removed.
kono
parents:
diff changeset
1950
kono
parents:
diff changeset
1951 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1952
kono
parents:
diff changeset
1953 Implemented fast enumeration for Objective-C.
kono
parents:
diff changeset
1954 * objc-act.c (build_fast_enumeration_state_template): New.
kono
parents:
diff changeset
1955 (TAG_ENUMERATION_MUTATION): New.
kono
parents:
diff changeset
1956 (TAG_FAST_ENUMERATION_STATE): New.
kono
parents:
diff changeset
1957 (synth_module_prologue): Call build_fast_enumeration_state_template() and set up
kono
parents:
diff changeset
1958 objc_enumeration_mutation_decl.
kono
parents:
diff changeset
1959 (objc_create_temporary_var): Allow providing a name to temporary
kono
parents:
diff changeset
1960 variables.
kono
parents:
diff changeset
1961 (objc_build_exc_ptr): Updated calls to
kono
parents:
diff changeset
1962 objc_create_temporary_var().
kono
parents:
diff changeset
1963 (next_sjlj_build_try_catch_finally): Same change.
kono
parents:
diff changeset
1964 (objc_finish_foreach_loop): New.
kono
parents:
diff changeset
1965 * objc-act.h: Added OCTI_FAST_ENUM_STATE_TEMP,
kono
parents:
diff changeset
1966 OCTI_ENUM_MUTATION_DECL, objc_fast_enumeration_state_template,
kono
parents:
diff changeset
1967 objc_enumeration_mutation_decl.
kono
parents:
diff changeset
1968
kono
parents:
diff changeset
1969 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
1970
kono
parents:
diff changeset
1971 2006-04-12 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1972
kono
parents:
diff changeset
1973 Radar 4507230
kono
parents:
diff changeset
1974 * objc-act.c (objc_type_valid_for_messaging): New routine to check
kono
parents:
diff changeset
1975 for valid objc object types.
kono
parents:
diff changeset
1976 (objc_finish_foreach_loop): Check for invalid objc objects in
kono
parents:
diff changeset
1977 foreach header.
kono
parents:
diff changeset
1978
kono
parents:
diff changeset
1979 2010-10-05 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
1980
kono
parents:
diff changeset
1981 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
1982
kono
parents:
diff changeset
1983 2005-10-17 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1984
kono
parents:
diff changeset
1985 Radar 4290840
kono
parents:
diff changeset
1986 * objc-act.c (objc_start_method_definition): Check for
kono
parents:
diff changeset
1987 error_mark_node for the selector name and make a quick exit.
kono
parents:
diff changeset
1988
kono
parents:
diff changeset
1989 2010-10-04 Andi Kleen <ak@linux.intel.com>
kono
parents:
diff changeset
1990
kono
parents:
diff changeset
1991 * Make-lang.in (cc1obj-dummy, cc1obj): Add + to build rule.
kono
parents:
diff changeset
1992
kono
parents:
diff changeset
1993 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
1994
kono
parents:
diff changeset
1995 merge from FSF 'apple/trunk' branch.
kono
parents:
diff changeset
1996 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
1997
kono
parents:
diff changeset
1998 Radar 4386773
kono
parents:
diff changeset
1999 * objc/objc-act.c (objc_set_method_opt): New function.
kono
parents:
diff changeset
2000 (objc_start_protocol, objc_finish_interface): Reset
kono
parents:
diff changeset
2001 objc_method_optional_flag flag.
kono
parents:
diff changeset
2002 (objc_add_method_declaration): Pass on the new
kono
parents:
diff changeset
2003 flag to objc_add_method.
kono
parents:
diff changeset
2004 (objc_add_method): Add optional methods to new chain in
kono
parents:
diff changeset
2005 the protocol class.
kono
parents:
diff changeset
2006 * objc/objc-act.h (CLASS_OPTIONAL_CLS_METHODS)
kono
parents:
diff changeset
2007 (CLASS_OPTIONAL_NST_METHODS): New macros accessing a protocol
kono
parents:
diff changeset
2008 class's optional method chains.
kono
parents:
diff changeset
2009
kono
parents:
diff changeset
2010 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2011
kono
parents:
diff changeset
2012 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
2013
kono
parents:
diff changeset
2014 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
2015
kono
parents:
diff changeset
2016 Radar 4278236
kono
parents:
diff changeset
2017 * objc-act.c (objc_declare_class): Pick the right
kono
parents:
diff changeset
2018 type tree.
kono
parents:
diff changeset
2019
kono
parents:
diff changeset
2020 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2021
kono
parents:
diff changeset
2022 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
2023
kono
parents:
diff changeset
2024 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
2025
kono
parents:
diff changeset
2026 Radar 4281748
kono
parents:
diff changeset
2027 * objc-act.c (objc_check_global_decl): New
kono
parents:
diff changeset
2028
kono
parents:
diff changeset
2029 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2030
kono
parents:
diff changeset
2031 * objc-act.c (objc_is_reserved_word): Removed.
kono
parents:
diff changeset
2032
kono
parents:
diff changeset
2033 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
2034
kono
parents:
diff changeset
2035 * objc-act.c (objc_add_method_declaration): Handle and ignore
kono
parents:
diff changeset
2036 attributes.
kono
parents:
diff changeset
2037 (objc_start_method_definition): Likewise.
kono
parents:
diff changeset
2038 (objc_generate_cxx_ctor_or_dtor): Pass NULL attributes to ctor/dtor.
kono
parents:
diff changeset
2039 (objc_build_keyword_decl): Handle and ignore attributes.
kono
parents:
diff changeset
2040
kono
parents:
diff changeset
2041 2010-09-28 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2042
kono
parents:
diff changeset
2043 * objc-act.c (objc_eh_personality): Use targetm.except_unwind_info.
kono
parents:
diff changeset
2044
kono
parents:
diff changeset
2045 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
2046
kono
parents:
diff changeset
2047 * objc-act.c (objc_start_class_interface): Handle and ignore attributes.
kono
parents:
diff changeset
2048 (objc_start_category_interface): Likewise.
kono
parents:
diff changeset
2049 (objc_start_protocol): Likewise.
kono
parents:
diff changeset
2050
kono
parents:
diff changeset
2051 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2052
kono
parents:
diff changeset
2053 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
2054
kono
parents:
diff changeset
2055 2005-08-23 Stuart Hastings <stuart@apple.com>
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2056 Ziemowit Laski <zlaski@apple.com>
111
kono
parents:
diff changeset
2057
kono
parents:
diff changeset
2058 Radar 4209854
kono
parents:
diff changeset
2059 * objc-act.c (objc_decay_parm_type): New function.
kono
parents:
diff changeset
2060 (get_arg_type_list): Decay types for all named arguments.
kono
parents:
diff changeset
2061 (objc_push_parm): Rebuild the PARM_DECL if its type has
kono
parents:
diff changeset
2062 been decayed.
kono
parents:
diff changeset
2063
kono
parents:
diff changeset
2064 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2065
kono
parents:
diff changeset
2066 * objc-act.c (encode_type): Fixed encoding enums with the next
kono
parents:
diff changeset
2067 runtime.
kono
parents:
diff changeset
2068
kono
parents:
diff changeset
2069 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2070
kono
parents:
diff changeset
2071 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
2072
kono
parents:
diff changeset
2073 2005-07-18 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
2074
kono
parents:
diff changeset
2075 Radar 4175534
kono
parents:
diff changeset
2076 * objc-act.c (objc_compare_types): A new silent comparison
kono
parents:
diff changeset
2077 mode (-4), differing from regular comparison (-3) in that
kono
parents:
diff changeset
2078 'false' is returned instead of issuing warnings.
kono
parents:
diff changeset
2079
kono
parents:
diff changeset
2080 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2081
kono
parents:
diff changeset
2082 * objc-act.c (encode_type): Do not add 'r' with the next runtime.
kono
parents:
diff changeset
2083 (encode_aggregate_within): Reorganized code to be more readable.
kono
parents:
diff changeset
2084 (encode_aggregate_fields): Updated second argument to be 'bool'
kono
parents:
diff changeset
2085 instead of 'int'.
kono
parents:
diff changeset
2086
kono
parents:
diff changeset
2087 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2088
kono
parents:
diff changeset
2089 PR objc/45763
kono
parents:
diff changeset
2090 PR objc/25450
kono
parents:
diff changeset
2091 PR objc/25464
kono
parents:
diff changeset
2092 * objc-act.c: Improved comments for encoding functions.
kono
parents:
diff changeset
2093 (encode_aggregate_within): For the GNU runtime, rewritten some
kono
parents:
diff changeset
2094 obsfuscated code to clarify the various cases.
kono
parents:
diff changeset
2095 (encode_aggregate): Function removed.
kono
parents:
diff changeset
2096 (encode_array): Generate an error if asked to encode an incomplete
kono
parents:
diff changeset
2097 array as part of generating instance variables. Else, when
kono
parents:
diff changeset
2098 encoding an incomplete array inside a structure, encode it as an
kono
parents:
diff changeset
2099 array of zero size.
kono
parents:
diff changeset
2100 (encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as
kono
parents:
diff changeset
2101 '^c' instead of '*'.
kono
parents:
diff changeset
2102 (encode_gnu_bitfield): Encode enumerated types exactly in the same
kono
parents:
diff changeset
2103 type as integer types instead of using a hardcoded 'i'. If asked
kono
parents:
diff changeset
2104 to encode a non-integer type as a bitfield, do not abort
kono
parents:
diff changeset
2105 compilation immediately; instead generate an error, then skip the
kono
parents:
diff changeset
2106 type.
kono
parents:
diff changeset
2107 (encode_type): Use a 'switch' instead of a sequence of 'if's.
kono
parents:
diff changeset
2108 Added a 'default' clause that gets executed if the type can not be
kono
parents:
diff changeset
2109 matched, and that encodes it as '?' (unknown) and produces a
kono
parents:
diff changeset
2110 warning. For the GNU runtime, encode enumerated types exactly in
kono
parents:
diff changeset
2111 the same way as integer types instead of using a hardcoded 'i'.
kono
parents:
diff changeset
2112 Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'.
kono
parents:
diff changeset
2113 Encode C++ reference types as pointers. Call encode_vector to
kono
parents:
diff changeset
2114 encode vectors.
kono
parents:
diff changeset
2115 (encode_vector): New function.
kono
parents:
diff changeset
2116
kono
parents:
diff changeset
2117 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2118
kono
parents:
diff changeset
2119 Merge from 'apple/trunk' branch on FSF servers. I modified the
kono
parents:
diff changeset
2120 changes to be used only when compiling for the NeXT runtime.
kono
parents:
diff changeset
2121
kono
parents:
diff changeset
2122 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
2123
kono
parents:
diff changeset
2124 Radar 4301047
kono
parents:
diff changeset
2125
kono
parents:
diff changeset
2126 * objc-act.c (encode_type): Remove the hack.
kono
parents:
diff changeset
2127
kono
parents:
diff changeset
2128 2005-07-20 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
2129
kono
parents:
diff changeset
2130 Radar 4136935
kono
parents:
diff changeset
2131 * objc-act.c (pointee_is_readonly): New function.
kono
parents:
diff changeset
2132 (encode_pointer, encode_aggregate_within, encode_type):
kono
parents:
diff changeset
2133 Attempt to emulate GCC 3.3 when generating type encodings.
kono
parents:
diff changeset
2134
kono
parents:
diff changeset
2135 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2136
kono
parents:
diff changeset
2137 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
2138
kono
parents:
diff changeset
2139 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
2140
kono
parents:
diff changeset
2141 Radar 4229905
kono
parents:
diff changeset
2142 * objc-act.c (objc_have_common_types): New function.
kono
parents:
diff changeset
2143
kono
parents:
diff changeset
2144 2005-06-22 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
2145
kono
parents:
diff changeset
2146 Radar 4154928
kono
parents:
diff changeset
2147 * objc-act.c (objc_common_type): New function.
kono
parents:
diff changeset
2148
kono
parents:
diff changeset
2149 2010-09-27 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
2150
kono
parents:
diff changeset
2151 * objc-act.c (objc_get_class_reference): Use CP_TYPE_CONTEXT.
kono
parents:
diff changeset
2152 (objc_is_global_reference_p): Use DECL_FILE_SCOPE_P.
kono
parents:
diff changeset
2153
kono
parents:
diff changeset
2154 2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2155
kono
parents:
diff changeset
2156 * objc-act.c: Removed historical, obsolete comment at the top of
kono
parents:
diff changeset
2157 the file.
kono
parents:
diff changeset
2158
kono
parents:
diff changeset
2159 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2160
kono
parents:
diff changeset
2161 PR objc/23710
kono
parents:
diff changeset
2162 * objc-act.c (objc_start_method_definition): Do not abort upon a
kono
parents:
diff changeset
2163 'method definition not in @implementation context' error. Return
kono
parents:
diff changeset
2164 'false' instead.
kono
parents:
diff changeset
2165
kono
parents:
diff changeset
2166 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2167
kono
parents:
diff changeset
2168 PR objc/25965
kono
parents:
diff changeset
2169 * objc-act.c (objc_get_interface_ivars): New function.
kono
parents:
diff changeset
2170 (objc_collecting_ivars): New variable.
kono
parents:
diff changeset
2171 (continue_class): Set and reset objc_collecting_ivars for context.
kono
parents:
diff changeset
2172
kono
parents:
diff changeset
2173 2010-09-15 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2174
kono
parents:
diff changeset
2175 Merge from 'apple/trunk' branch on FSF servers.
kono
parents:
diff changeset
2176
kono
parents:
diff changeset
2177 2006-03-09 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
2178
kono
parents:
diff changeset
2179 Radar 4457381
kono
parents:
diff changeset
2180 * objc/objc-act.c (objc_finish_message_expr): Look for message in
kono
parents:
diff changeset
2181 @class's protocol list.
kono
parents:
diff changeset
2182
kono
parents:
diff changeset
2183 2006-02-07 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
2184
kono
parents:
diff changeset
2185 Radar 4219590
kono
parents:
diff changeset
2186 * objc/objc-act.c (objc_start_method_definition): Initialize
kono
parents:
diff changeset
2187 break/continue labels.
kono
parents:
diff changeset
2188
kono
parents:
diff changeset
2189 2005-08-22 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
2190
kono
parents:
diff changeset
2191 Radar 4174166
kono
parents:
diff changeset
2192 * objc-act.c (objc_compare_types): Compare function
kono
parents:
diff changeset
2193 pointers; indicate success if the right-hand side has
kono
parents:
diff changeset
2194 a return type that is covariant, and the argument types
kono
parents:
diff changeset
2195 contravariant, with those of the left side.
kono
parents:
diff changeset
2196
kono
parents:
diff changeset
2197 2005-08-22 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
2198
kono
parents:
diff changeset
2199 Radar 4216500
kono
parents:
diff changeset
2200 * objc-act.c (objc_get_protocol_qualified_type): When looking
kono
parents:
diff changeset
2201 at a typedef, retrieve the precise type it describes (rather
kono
parents:
diff changeset
2202 than merely looking up a class by name).
kono
parents:
diff changeset
2203
kono
parents:
diff changeset
2204 2010-09-10 Nicola Pero <nicola.pero@meta-innovation.com>
kono
parents:
diff changeset
2205
kono
parents:
diff changeset
2206 * objc/objc-act.c (objc_begin_try_stmt): Generate an error if
kono
parents:
diff changeset
2207 -fobjc-exceptions was not used. (objc_build_throw_stmt): Same
kono
parents:
diff changeset
2208 change.
kono
parents:
diff changeset
2209
kono
parents:
diff changeset
2210 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
2211
kono
parents:
diff changeset
2212 * objc-act.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
kono
parents:
diff changeset
2213
kono
parents:
diff changeset
2214 2010-07-10 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
2215
kono
parents:
diff changeset
2216 PR objc/44140
kono
parents:
diff changeset
2217 * objc-act.c: build_objc_string_decl() remove declaration.
kono
parents:
diff changeset
2218 (finish_var_decl): Remove forcing of var output and marking
kono
parents:
diff changeset
2219 as "Used".
kono
parents:
diff changeset
2220 (init_def_list): Use integer_zero_node.
kono
parents:
diff changeset
2221 (init_objc_symtab): Use integer_zero_node, make the short
kono
parents:
diff changeset
2222 integer type specific on relevant nodes.
kono
parents:
diff changeset
2223 (generate_objc_symtab_decl): Remove call to
kono
parents:
diff changeset
2224 forward_declare_categories(). Use null_pointer_node where
kono
parents:
diff changeset
2225 appropriate.
kono
parents:
diff changeset
2226 (build_module_descriptor): Comment and mark this item as
kono
parents:
diff changeset
2227 DECL_PRESERVE_P.
kono
parents:
diff changeset
2228 (generate_static_references): Use gcc_unreachable instead of
kono
parents:
diff changeset
2229 abort ().
kono
parents:
diff changeset
2230 (diagnose_missing_method): New.
kono
parents:
diff changeset
2231 (build_next_selector_translation_table): New.
kono
parents:
diff changeset
2232 (build_gnu_selector_translation_table): New.
kono
parents:
diff changeset
2233 (add_objc_string): Merge code from build_objc_string_decl...
kono
parents:
diff changeset
2234 ... and delete build_objc_string_decl().
kono
parents:
diff changeset
2235 (generate_dispatch_table): Make integer types explicit.
kono
parents:
diff changeset
2236 (generate_category): Pass implent and arrange for the data
kono
parents:
diff changeset
2237 to be extracted within the routine. Do not start new vars,
kono
parents:
diff changeset
2238 but finish the ones collcted during parsing.
kono
parents:
diff changeset
2239 (generate_shared_structures): Likewise.
kono
parents:
diff changeset
2240 (finish_objc): Reorder code so that we finish variables before
kono
parents:
diff changeset
2241 referencing them. Save the global data before calling meta-data
kono
parents:
diff changeset
2242 creation routines, and pass the current reference to the two
kono
parents:
diff changeset
2243 main routines. Only call generate_objc_image_info () for the
kono
parents:
diff changeset
2244 NeXT runtime.
kono
parents:
diff changeset
2245 (generate_classref_translation_entry): Comment on and make this
kono
parents:
diff changeset
2246 item DECL_PRESERVE_P.
kono
parents:
diff changeset
2247 (handle_class_ref): Use varpool interfaces, comment on and make
kono
parents:
diff changeset
2248 this item DECL_PRESERVE_P.
kono
parents:
diff changeset
2249 (handle_impent): Likewise.
kono
parents:
diff changeset
2250 (generate_objc_image_info): Only generate when the content is
kono
parents:
diff changeset
2251 non-zero. Make integer types explict.
kono
parents:
diff changeset
2252
kono
parents:
diff changeset
2253 2010-07-03 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
2254
kono
parents:
diff changeset
2255 PR objc/24867
kono
parents:
diff changeset
2256 * objc-act.c (build_sized_array_type): New function.
kono
parents:
diff changeset
2257 (add_objc_string): Use it.
kono
parents:
diff changeset
2258 (generate_protocol_list): Likewise.
kono
parents:
diff changeset
2259 (generate_objc_image_info): Likewise.
kono
parents:
diff changeset
2260 (add_field_decl): New function.
kono
parents:
diff changeset
2261 (objc_build_struct): Use a VEC rather than building a TREE_LIST.
kono
parents:
diff changeset
2262 (generate_struct_by_value_array): Use add_field_decl.
kono
parents:
diff changeset
2263 (build_objc_symtab_template): Likewise.
kono
parents:
diff changeset
2264 (build_module_descriptor): Likewise.
kono
parents:
diff changeset
2265 (build_objc_exception_stuff): Likewise.
kono
parents:
diff changeset
2266 (build_protocol_template): Likewise.
kono
parents:
diff changeset
2267 (build_method_prototype_list_template): Likewise.
kono
parents:
diff changeset
2268 (build_method_prototype_template): Likewise.
kono
parents:
diff changeset
2269 (build_category_template): Likewise.
kono
parents:
diff changeset
2270 (build_selector_template): Likewise.
kono
parents:
diff changeset
2271 (build_class_template): Likewise.
kono
parents:
diff changeset
2272 (build_super_template): Likewise.
kono
parents:
diff changeset
2273 (build_ivar_template): Likewise.
kono
parents:
diff changeset
2274 (build_ivar_list_template): Likewise.
kono
parents:
diff changeset
2275 (build_method_list_template): Likewise.
kono
parents:
diff changeset
2276 (build_method_template): Likewise.
kono
parents:
diff changeset
2277
kono
parents:
diff changeset
2278 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
2279
kono
parents:
diff changeset
2280 * objc-act.c: Do not include except.h.
kono
parents:
diff changeset
2281
kono
parents:
diff changeset
2282 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
kono
parents:
diff changeset
2283
kono
parents:
diff changeset
2284 * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
kono
parents:
diff changeset
2285 allocation.
kono
parents:
diff changeset
2286
kono
parents:
diff changeset
2287 * objc-act.c (objc_volatilize_decl): Likewise.
kono
parents:
diff changeset
2288 (objc_build_string_object): Likewise.
kono
parents:
diff changeset
2289 (hash_init): Likewise.
kono
parents:
diff changeset
2290 (hash_enter): Likewise.
kono
parents:
diff changeset
2291 (hash_add_attr): Likewise.
kono
parents:
diff changeset
2292 (add_class): Likewise.
kono
parents:
diff changeset
2293 (start_class): Likewise.
kono
parents:
diff changeset
2294
kono
parents:
diff changeset
2295 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
2296
kono
parents:
diff changeset
2297 * objc-act.c: Update include path for moved files.
kono
parents:
diff changeset
2298 * objc-lang.c: Likewise.
kono
parents:
diff changeset
2299 * config-lang.in: Update paths in gtfiles for files in c-family/.
kono
parents:
diff changeset
2300
kono
parents:
diff changeset
2301 2010-06-01 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
2302
kono
parents:
diff changeset
2303 * objc-act.c (build_next_objc_exception_stuff): Give setjmp a
kono
parents:
diff changeset
2304 varargs type instead of a zero-argument type.
kono
parents:
diff changeset
2305
kono
parents:
diff changeset
2306 2010-05-30 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
2307
kono
parents:
diff changeset
2308 * objc-act.c (synth_module_prologue): Use build_function_type_list
kono
parents:
diff changeset
2309 instead of build_function_type.
kono
parents:
diff changeset
2310 (build_module_initializer_routine): Likewise.
kono
parents:
diff changeset
2311 (build_next_objc_exception_stuff): Likewise.
kono
parents:
diff changeset
2312 (build_objc_exception_stuff): Likewise.
kono
parents:
diff changeset
2313
kono
parents:
diff changeset
2314 2010-05-27 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
2315
kono
parents:
diff changeset
2316 * objc-act.c: Include diagnostic-core.h instead of diagnostic.h.
kono
parents:
diff changeset
2317 * Make-lang.in (objc/objc-act.o): Update dependencies.
kono
parents:
diff changeset
2318
kono
parents:
diff changeset
2319 2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
2320
kono
parents:
diff changeset
2321 * objc-act.h: Do not include gimple.h.
kono
parents:
diff changeset
2322 * objc-act.c: Do not include rtl.h, expr.h, libfuncs.h, and tm_p.h.
kono
parents:
diff changeset
2323 Include gimple.h. Explain why except.h has to be included.
kono
parents:
diff changeset
2324 * objc-lang.c: Do not include diagnostics.h.
kono
parents:
diff changeset
2325 * Make-lang.in: Update dependencies.
kono
parents:
diff changeset
2326
kono
parents:
diff changeset
2327 2010-05-25 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
2328
kono
parents:
diff changeset
2329 * objc-act.c (objc_build_constructor): Adjust OBJCPLUS impedance
kono
parents:
diff changeset
2330 mismatch code for VECs.
kono
parents:
diff changeset
2331
kono
parents:
diff changeset
2332 2010-05-25 Nathan Froyd <froydnj@codesourcery.com>
kono
parents:
diff changeset
2333
kono
parents:
diff changeset
2334 * objc-act.c (objc_build_constructor): Take a VEC instead of a tree.
kono
parents:
diff changeset
2335 Use build_constructor instead of build_constructor_from_list.
kono
parents:
diff changeset
2336 (objc_build_string_object): Build a VEC argument for
kono
parents:
diff changeset
2337 objc_build_constructor.
kono
parents:
diff changeset
2338 (init_def_list): Likewise.
kono
parents:
diff changeset
2339 (init_objc_symtab): Likewise.
kono
parents:
diff changeset
2340 (init_module_descriptor): Likewise.
kono
parents:
diff changeset
2341 (generate_static_references): Likewise.
kono
parents:
diff changeset
2342 (build_selector_translation_table): Likewise.
kono
parents:
diff changeset
2343 (build_descriptor_table_initializer): Likewise.
kono
parents:
diff changeset
2344 (generate_descriptor_table): Likewise.
kono
parents:
diff changeset
2345 (build_protocol_initializer): Likewise.
kono
parents:
diff changeset
2346 (build_ivar_list_initializer): Likewise.
kono
parents:
diff changeset
2347 (generate_ivars_list): Likewise.
kono
parents:
diff changeset
2348 (build_dispatch_table_initializer): Likewise.
kono
parents:
diff changeset
2349 (generate_dispatch_table): Likewise.
kono
parents:
diff changeset
2350 (generate_protocol_list): Likewise.
kono
parents:
diff changeset
2351 (build_category_initializer): Likewise.
kono
parents:
diff changeset
2352 (build_shared_structure_initializer): Likewise.
kono
parents:
diff changeset
2353 (generate_objc_image_info): Likewise.
kono
parents:
diff changeset
2354
kono
parents:
diff changeset
2355 2010-04-30 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
2356
kono
parents:
diff changeset
2357 PR objc++/32052
kono
parents:
diff changeset
2358 * objc-act.c (encode_aggregate_within): Encode structure tags
kono
parents:
diff changeset
2359 with template args for ObjC++.
kono
parents:
diff changeset
2360
kono
parents:
diff changeset
2361 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
2362
kono
parents:
diff changeset
2363 * objc-act.c: Do not include varray.h.
kono
parents:
diff changeset
2364
kono
parents:
diff changeset
2365 2010-04-07 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2366
kono
parents:
diff changeset
2367 PR c/18624
kono
parents:
diff changeset
2368 * objc-act.c (finish_var_decl, objc_begin_catch_clause,
kono
parents:
diff changeset
2369 really_start_method, get_super_receiver, handle_class_ref): Set
kono
parents:
diff changeset
2370 DECL_READ_P in addition to TREE_USED.
kono
parents:
diff changeset
2371
kono
parents:
diff changeset
2372 2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
2373
kono
parents:
diff changeset
2374 PR objc/35996
kono
parents:
diff changeset
2375 * objc-act.c (objc_init): Warn that -fobjc-gc is ignored for
kono
parents:
diff changeset
2376 -fgnu-runtime and set flag_objc_gc to zero.
kono
parents:
diff changeset
2377
kono
parents:
diff changeset
2378 2010-04-07 Iain Sandoe <iains@gcc.gnu.org>
kono
parents:
diff changeset
2379
kono
parents:
diff changeset
2380 PR objc++/23716
kono
parents:
diff changeset
2381 * objc-act.c (build_module_initializer_routine): Make the argument
kono
parents:
diff changeset
2382 to objc_start_function NULL_TREE when compiling ObjC++.
kono
parents:
diff changeset
2383
kono
parents:
diff changeset
2384 2010-02-18 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
kono
parents:
diff changeset
2385 Mike Stump <mikestump@comcast.net>
kono
parents:
diff changeset
2386
kono
parents:
diff changeset
2387 PR objc/43061
kono
parents:
diff changeset
2388 * objc-act.c (finish_var_decl): Set the generated symbols as "used".
kono
parents:
diff changeset
2389
kono
parents:
diff changeset
2390 2009-12-17 Shujing Zhao <pearly.zhao@oracle.com>
kono
parents:
diff changeset
2391
kono
parents:
diff changeset
2392 * objc-act.c (objc_substitute_decl, build_ivar_reference,
kono
parents:
diff changeset
2393 get_super_receiver): Update build_indirect_ref calls.
kono
parents:
diff changeset
2394
kono
parents:
diff changeset
2395 2009-11-28 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2396
kono
parents:
diff changeset
2397 * objc-act.c (generate_shared_structures): Remove unused sc_spec and
kono
parents:
diff changeset
2398 decl_specs variables.
kono
parents:
diff changeset
2399 (objc_build_message_expr): Remove unused loc variable.
kono
parents:
diff changeset
2400 (objc_finish_message_expr): Remove unused saved_rtype variable.
kono
parents:
diff changeset
2401 (encode_field_decl): Remove unused type variable.
kono
parents:
diff changeset
2402
kono
parents:
diff changeset
2403 PR obj-c++/42156
kono
parents:
diff changeset
2404 * objc-act.c (objc_build_struct): INIT_TYPE_OBJC_INFO for
kono
parents:
diff changeset
2405 type variants that don't have it initialized yet.
kono
parents:
diff changeset
2406
kono
parents:
diff changeset
2407 2009-09-14 Jan Hubicka <jh@suse.cz>
kono
parents:
diff changeset
2408
kono
parents:
diff changeset
2409 * objc-act.c (objc_add_static_instance): Do not set DECL_COMMON.
kono
parents:
diff changeset
2410
kono
parents:
diff changeset
2411 2009-09-14 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2412
kono
parents:
diff changeset
2413 * objc-act.c (objc_init_exceptions): Don't call
kono
parents:
diff changeset
2414 default_init_unwind_resume_libfunc.
kono
parents:
diff changeset
2415 (objc_build_exc_ptr): Use __builtin_eh_pointer.
kono
parents:
diff changeset
2416
kono
parents:
diff changeset
2417 2009-09-13 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
2418 Rafael Avila de Espindola <espindola@google.com>
kono
parents:
diff changeset
2419
kono
parents:
diff changeset
2420 * objc-act.c (objc_eh_runtime_type): Export.
kono
parents:
diff changeset
2421 (objc_init_exceptions): Remove. Move warning code ...
kono
parents:
diff changeset
2422 (objc_begin_try_stmt): ... here
kono
parents:
diff changeset
2423 (objc_build_throw_stmt): ... and here.
kono
parents:
diff changeset
2424 (objc_eh_personality_decl): New.
kono
parents:
diff changeset
2425 (objc_eh_personality): New function.
kono
parents:
diff changeset
2426 * objc-act.h (objc_eh_runtime_type): Declare.
kono
parents:
diff changeset
2427 (objc_eh_personality): Likewise.
kono
parents:
diff changeset
2428 * objc-lang.c (LANG_HOOKS_EH_RUNTIME_TYPE): Define.
kono
parents:
diff changeset
2429 (LANG_HOOKS_EH_PERSONALITY): Likewise.
kono
parents:
diff changeset
2430
kono
parents:
diff changeset
2431 2009-09-03 Diego Novillo <dnovillo@google.com>
kono
parents:
diff changeset
2432
kono
parents:
diff changeset
2433 * objc-lang.c (lang_hooks): Remove const qualifier.
kono
parents:
diff changeset
2434
kono
parents:
diff changeset
2435 2009-08-20 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
2436
kono
parents:
diff changeset
2437 * objc-act.c: Include c-lang.h
kono
parents:
diff changeset
2438 * Make-lang.in (objc/objc-act.o): Add c-lang.h dependency.
kono
parents:
diff changeset
2439
kono
parents:
diff changeset
2440 2009-07-17 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2441 Manuel López-Ibáñez <manu@gcc.gnu.org>
kono
parents:
diff changeset
2442
kono
parents:
diff changeset
2443 PR 40435
kono
parents:
diff changeset
2444 * objc-act.c: Add location argument to all calls to
kono
parents:
diff changeset
2445 build_fold_addr_expr.
kono
parents:
diff changeset
2446
kono
parents:
diff changeset
2447 2009-07-14 Taras Glek <tglek@mozilla.com>
kono
parents:
diff changeset
2448 Rafael Espindola <espindola@google.com>
kono
parents:
diff changeset
2449
kono
parents:
diff changeset
2450 * Make-lang.in (objc.install-plugin): New target for
kono
parents:
diff changeset
2451 installing plugin headers.
kono
parents:
diff changeset
2452
kono
parents:
diff changeset
2453 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
kono
parents:
diff changeset
2454
kono
parents:
diff changeset
2455 * objc-act.c (next_sjlj_build_catch_list): Replace EXPR_LOCUS by
kono
parents:
diff changeset
2456 EXPR_LOCATION.
kono
parents:
diff changeset
2457
kono
parents:
diff changeset
2458 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
kono
parents:
diff changeset
2459
kono
parents:
diff changeset
2460 * objc-act.c: Replace %J by an explicit location. Update all
kono
parents:
diff changeset
2461 calls.
kono
parents:
diff changeset
2462
kono
parents:
diff changeset
2463 2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
kono
parents:
diff changeset
2464
kono
parents:
diff changeset
2465 * objc-act.c: Replace %H by an explicit location. Update all
kono
parents:
diff changeset
2466 calls.
kono
parents:
diff changeset
2467
kono
parents:
diff changeset
2468 2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
2469
kono
parents:
diff changeset
2470 PR objc/28050
kono
parents:
diff changeset
2471 * objc-act.c (objc_build_message_args): Return if ARGS is the
kono
parents:
diff changeset
2472 error_mark_node.
kono
parents:
diff changeset
2473
kono
parents:
diff changeset
2474 2009-06-19 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2475
kono
parents:
diff changeset
2476 * objc-act.c (objc_in_struct, objc_struct_types): Remove.
kono
parents:
diff changeset
2477 (objc_struct_info): New static variable.
kono
parents:
diff changeset
2478 (objc_start_struct): Pass &objc_struct_info, not &objc_in_struct
kono
parents:
diff changeset
2479 and &objc_struct_types, to start_struct.
kono
parents:
diff changeset
2480 (objc_finish_struct): Likewise for finish_struct.
kono
parents:
diff changeset
2481
kono
parents:
diff changeset
2482 2009-06-15 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2483
kono
parents:
diff changeset
2484 * objc-act.c (objc_start_function): Don't set
kono
parents:
diff changeset
2485 label_context_stack_se or label_context_stack_vm.
kono
parents:
diff changeset
2486
kono
parents:
diff changeset
2487 2009-06-12 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2488
kono
parents:
diff changeset
2489 * objc-act.c (finish_var_decl): Pass location to finish_decl.
kono
parents:
diff changeset
2490 (objc_get_parm_info): Same.
kono
parents:
diff changeset
2491 (get_super_receiver): Same.
kono
parents:
diff changeset
2492 * objc-act.c (objc_build_component_ref): Pass location to
kono
parents:
diff changeset
2493 build_compound_ref.
kono
parents:
diff changeset
2494 (build_module_initializer_routine): Pass location to
kono
parents:
diff changeset
2495 c_end_compound_stmt.
kono
parents:
diff changeset
2496 (objc_generate_static_init_call): Pass location to build_stmt.
kono
parents:
diff changeset
2497 (build_typed_selector_reference): New location argument.
kono
parents:
diff changeset
2498 (build_selector_reference): Same.
kono
parents:
diff changeset
2499 (objc_substitute_decl): Pass location to build_array_ref.
kono
parents:
diff changeset
2500 (next_sjlj_build_try_catch_finally): Pass location to build_stmt.
kono
parents:
diff changeset
2501 (objc_begin_catch_clause): Same.
kono
parents:
diff changeset
2502 (objc_finish_try_stmt): Same.
kono
parents:
diff changeset
2503 (objc_finish_catch_clause): Pass location to c_end_compound_stmt.
kono
parents:
diff changeset
2504 (objc_build_throw_stmt): New argument.
kono
parents:
diff changeset
2505 (generate_shared_structures): Pass location to build_c_cast.
kono
parents:
diff changeset
2506 (objc_build_message_expr): Use local location.
kono
parents:
diff changeset
2507 (objc_finish_message_expr): Use input_location.
kono
parents:
diff changeset
2508 (build_objc_method_call): New argument.
kono
parents:
diff changeset
2509 (objc_build_selector_expr): Same.
kono
parents:
diff changeset
2510 (get_super_receiver): Pass location to build_c_cast,
kono
parents:
diff changeset
2511 build_modify_expr, build_compound_expr.
kono
parents:
diff changeset
2512 * objc-act.c: Add location to all calls to start_struct, build_decl,
kono
parents:
diff changeset
2513 finish_struct.
kono
parents:
diff changeset
2514
kono
parents:
diff changeset
2515 2009-06-09 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2516
kono
parents:
diff changeset
2517 * objc-act.c (objc_gimplify_expr): Change return type to int.
kono
parents:
diff changeset
2518 * objc-act.h: Update declaration.
kono
parents:
diff changeset
2519
kono
parents:
diff changeset
2520 2009-06-08 Alexandre Oliva <aoliva@redhat.com>
kono
parents:
diff changeset
2521
kono
parents:
diff changeset
2522 * objc-act.c (objc_init): Skip print_struct_values during
kono
parents:
diff changeset
2523 -fcompare-debug-second.
kono
parents:
diff changeset
2524
kono
parents:
diff changeset
2525 2009-06-03 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2526
kono
parents:
diff changeset
2527 * Make-lang.in (cc1obj-checksum.o): Depend upon $(CONFIG_H) and
kono
parents:
diff changeset
2528 $(SYSTEM_H).
kono
parents:
diff changeset
2529
kono
parents:
diff changeset
2530 2009-05-27 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2531
kono
parents:
diff changeset
2532 * Make-lang.in (cc1obj-dummy$(exeext)): Change $(COMPILER) to
kono
parents:
diff changeset
2533 $(LINKER).
kono
parents:
diff changeset
2534 (cc1obj$(exeext)): Likewise.
kono
parents:
diff changeset
2535
kono
parents:
diff changeset
2536 2009-05-26 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2537
kono
parents:
diff changeset
2538 * Make-lang.in (cc1obj-dummy$(exeext)): Use $(COMPILER).
kono
parents:
diff changeset
2539 (cc1obj$(exeext)): Likewise.
kono
parents:
diff changeset
2540
kono
parents:
diff changeset
2541 2009-05-20 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2542
kono
parents:
diff changeset
2543 * objc-act.c (objc_generate_cxx_ctor_or_dtor): Pass NULL rather
kono
parents:
diff changeset
2544 than NULL_TREE to build_special_member_call.
kono
parents:
diff changeset
2545
kono
parents:
diff changeset
2546 2009-05-10 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2547
kono
parents:
diff changeset
2548 * objc-act.c (objc_building_struct): New static variable.
kono
parents:
diff changeset
2549 (objc_in_struct, objc_struct_types): New static variables.
kono
parents:
diff changeset
2550 (objc_start_struct, objc_finish_struct): New static functions.
kono
parents:
diff changeset
2551 (generate_struct_by_value_array): Call objc_start_struct instead
kono
parents:
diff changeset
2552 of start_struct, and call objc_finish_struct instead of
kono
parents:
diff changeset
2553 finish_struct.
kono
parents:
diff changeset
2554 (objc_build_struct, build_objc_symtab_template): Likewise.
kono
parents:
diff changeset
2555 (build_module_descriptor): Likewise.
kono
parents:
diff changeset
2556 (build_next_objc_exception_stuff): Likewise.
kono
parents:
diff changeset
2557 (build_protocol_template): Likewise.
kono
parents:
diff changeset
2558 (build_method_prototype_list_template): Likewise.
kono
parents:
diff changeset
2559 (build_method_prototype_template): Likewise.
kono
parents:
diff changeset
2560 (build_category_template, build_selector_template): Likewise.
kono
parents:
diff changeset
2561 (build_class_template, build_super_template): Likewise.
kono
parents:
diff changeset
2562 (build_ivar_template, build_ivar_list_template): Likewise.
kono
parents:
diff changeset
2563 (build_method_list_template): Likewise.
kono
parents:
diff changeset
2564 (build_method_template): Likewise.
kono
parents:
diff changeset
2565
kono
parents:
diff changeset
2566 2009-05-10 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
2567
kono
parents:
diff changeset
2568 * objc-act.c: Include intl.h.
kono
parents:
diff changeset
2569 (objc_lookup_protocol): Use complete sentences for diagnostics
kono
parents:
diff changeset
2570 with %qE for identifiers and translating results of
kono
parents:
diff changeset
2571 gen_type_name_0 to locale character set.
kono
parents:
diff changeset
2572 (objc_check_decl, check_protocol_recursively,
kono
parents:
diff changeset
2573 lookup_and_install_protocols, objc_build_string_object,
kono
parents:
diff changeset
2574 objc_get_class_reference, objc_declare_alias, objc_declare_class,
kono
parents:
diff changeset
2575 objc_get_class_ivars, error_with_ivar, check_duplicates,
kono
parents:
diff changeset
2576 objc_finish_message_expr, objc_build_protocol_expr,
kono
parents:
diff changeset
2577 objc_build_selector_expr, build_ivar_reference, objc_add_method,
kono
parents:
diff changeset
2578 add_category, add_instance_variable, objc_is_public,
kono
parents:
diff changeset
2579 check_methods, check_methods_accessible, check_protocol,
kono
parents:
diff changeset
2580 start_class, finish_class, start_protocol, really_start_method,
kono
parents:
diff changeset
2581 get_super_receiver, objc_lookup_ivar): Use %E and %qE for
kono
parents:
diff changeset
2582 identifiers in diagnostics. Translate generated text to locale
kono
parents:
diff changeset
2583 character set as needed.
kono
parents:
diff changeset
2584 (check_protocol, check_protocols): Change name parameter to type
kono
parents:
diff changeset
2585 tree.
kono
parents:
diff changeset
2586 (lang_report_error_function): Remove.
kono
parents:
diff changeset
2587
kono
parents:
diff changeset
2588 2009-04-27 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2589
kono
parents:
diff changeset
2590 * objc-act.c (objc_gimplify_expr): Add casts to enum type.
kono
parents:
diff changeset
2591
kono
parents:
diff changeset
2592 2009-04-24 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2593
kono
parents:
diff changeset
2594 * objc-act.c (get_super_receiver): Update calls to
kono
parents:
diff changeset
2595 build_modify_expr to pass new argument.
kono
parents:
diff changeset
2596
kono
parents:
diff changeset
2597 2009-04-21 Taras Glek <tglek@mozilla.com>
kono
parents:
diff changeset
2598
kono
parents:
diff changeset
2599 * objc-act.c: Update GTY annotations to new syntax
kono
parents:
diff changeset
2600 * objc-act.h: Likewise
kono
parents:
diff changeset
2601
kono
parents:
diff changeset
2602 2009-04-21 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
2603
kono
parents:
diff changeset
2604 * ChangeLog: Add copyright and license notices.
kono
parents:
diff changeset
2605
kono
parents:
diff changeset
2606 2009-04-20 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2607
kono
parents:
diff changeset
2608 * objc-act.c (objc_rewrite_function_call): Change parameter from
kono
parents:
diff changeset
2609 params to first_param. Change all callers.
kono
parents:
diff changeset
2610
kono
parents:
diff changeset
2611 2009-03-30 Dominique d'Humieres <dominiq@lps.ens.fr>
kono
parents:
diff changeset
2612
kono
parents:
diff changeset
2613 PR bootstrap/39583
kono
parents:
diff changeset
2614 * objc-act.c (in_late_binary_op): Define for Objective-C++.
kono
parents:
diff changeset
2615
kono
parents:
diff changeset
2616 2009-03-29 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
2617
kono
parents:
diff changeset
2618 PR c/456
kono
parents:
diff changeset
2619 PR c/5675
kono
parents:
diff changeset
2620 PR c/19976
kono
parents:
diff changeset
2621 PR c/29116
kono
parents:
diff changeset
2622 PR c/31871
kono
parents:
diff changeset
2623 PR c/35198
kono
parents:
diff changeset
2624 * objc-act.c (objc_finish_try_stmt): Set in_late_binary_op.
kono
parents:
diff changeset
2625
kono
parents:
diff changeset
2626 2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
kono
parents:
diff changeset
2627
kono
parents:
diff changeset
2628 PR bootstrap/38262
kono
parents:
diff changeset
2629 * Make-lang.in (cc1obj-dummy, cc1obj): Add BACKENDLIBS,
kono
parents:
diff changeset
2630 remove GMPLIBS.
kono
parents:
diff changeset
2631
kono
parents:
diff changeset
2632 2008-10-06 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2633
kono
parents:
diff changeset
2634 * objc-act.c (objc_build_string_object): Pass location to
kono
parents:
diff changeset
2635 build_unary_op.
kono
parents:
diff changeset
2636 (init_def_list): Same.
kono
parents:
diff changeset
2637 (init_objc_symtab): Same.
kono
parents:
diff changeset
2638 (init_module_descriptor): Same.
kono
parents:
diff changeset
2639 (build_module_initializer_routine): Same.
kono
parents:
diff changeset
2640 (generate_static_references): Same.
kono
parents:
diff changeset
2641 (build_typed_selector_reference): Same.
kono
parents:
diff changeset
2642 (add_objc_string): Same.
kono
parents:
diff changeset
2643 (objc_substitute_decl): Same.
kono
parents:
diff changeset
2644 (objc_build_ivar_assignment): Same.
kono
parents:
diff changeset
2645 (objc_build_global_assignment): Same.
kono
parents:
diff changeset
2646 (objc_build_strong_cast_assignment): Same.
kono
parents:
diff changeset
2647 (generate_protocols): Same.
kono
parents:
diff changeset
2648 (build_protocol_initializer): Same.
kono
parents:
diff changeset
2649 (build_dispatch_table_initializer): Same.
kono
parents:
diff changeset
2650 (generate_protocol_list): Same.
kono
parents:
diff changeset
2651 (build_category_initializer): Same.
kono
parents:
diff changeset
2652 (build_shared_structure_initializer): Same.
kono
parents:
diff changeset
2653 (generate_shared_structures): Same.
kono
parents:
diff changeset
2654 (objc_build_protocol_expr): Same.
kono
parents:
diff changeset
2655 (build_ivar_reference): Same.
kono
parents:
diff changeset
2656 (get_super_receiver): Same.
kono
parents:
diff changeset
2657
kono
parents:
diff changeset
2658 2008-09-23 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2659
kono
parents:
diff changeset
2660 * objc-act.c (next_sjlj_build_enter_and_setjmp): Call
kono
parents:
diff changeset
2661 c_common_truthvalue_conversion with location.
kono
parents:
diff changeset
2662 (next_sjlj_build_catch_list): Same.
kono
parents:
diff changeset
2663 (next_sjlj_build_try_catch_finally): Same.
kono
parents:
diff changeset
2664
kono
parents:
diff changeset
2665 2008-09-17 Andrew Pinski <andrew_pinski@playstation.sony.com>
kono
parents:
diff changeset
2666
kono
parents:
diff changeset
2667 PR objc/37460
kono
parents:
diff changeset
2668 * objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.
kono
parents:
diff changeset
2669 * objc-act.h (objc_get_callee_fndecl): Remove prototype.
kono
parents:
diff changeset
2670 * objc-act.c (objc_get_callee_fndecl): Kill.
kono
parents:
diff changeset
2671
kono
parents:
diff changeset
2672 2008-09-17 Jan Hubicka <jh@suse.cz>
kono
parents:
diff changeset
2673
kono
parents:
diff changeset
2674 PR c++/18071
kono
parents:
diff changeset
2675 * objc/objc-act.c (objc_finish_method_definition): Do not set
kono
parents:
diff changeset
2676 DECL_INLINE.
kono
parents:
diff changeset
2677
kono
parents:
diff changeset
2678 2008-09-01 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2679
kono
parents:
diff changeset
2680 * objc-act.c (build_typed_selector_reference): Pass input_location to
kono
parents:
diff changeset
2681 build_unary_op calls.
kono
parents:
diff changeset
2682 (build_selector_reference): Same, but to build_array_ref.
kono
parents:
diff changeset
2683 (objc_substitute_decl): Same.
kono
parents:
diff changeset
2684 (build_ivar_reference): Same, but to build_indirect_ref.
kono
parents:
diff changeset
2685 (get_super_receiver): Same.
kono
parents:
diff changeset
2686
kono
parents:
diff changeset
2687 2008-07-28 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
2688
kono
parents:
diff changeset
2689 Merge from gimple-tuples-branch.
kono
parents:
diff changeset
2690
kono
parents:
diff changeset
2691 2008-07-18 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2692
kono
parents:
diff changeset
2693 * Make-lang.in (objc-lang.o): Depend on GIMPLE_H.
kono
parents:
diff changeset
2694 (objc-act.o): Rename TREE_GIMPLE_H to GIMPLE_H.
kono
parents:
diff changeset
2695 * objc-act.h: Include gimple.h instead of tree-gimple.h.
kono
parents:
diff changeset
2696 * ipa-reference.c: Same.
kono
parents:
diff changeset
2697
kono
parents:
diff changeset
2698 2007-11-10 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2699
kono
parents:
diff changeset
2700 * objc-act.c (objc_gimplify_expr): Change pre and post to sequences.
kono
parents:
diff changeset
2701 * objc-act.h (objc_gimplify_expr): Change prototype accordingly.
kono
parents:
diff changeset
2702
kono
parents:
diff changeset
2703 2008-07-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
kono
parents:
diff changeset
2704
kono
parents:
diff changeset
2705 * objc-act.c: Fix comment typos.
kono
parents:
diff changeset
2706
kono
parents:
diff changeset
2707 2008-07-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
kono
parents:
diff changeset
2708
kono
parents:
diff changeset
2709 * objc-act.c (objc_start_class_interface,
kono
parents:
diff changeset
2710 objc_start_category_interface, objc_start_class_implementation,
kono
parents:
diff changeset
2711 objc_start_category_implementation, objc_build_struct,
kono
parents:
diff changeset
2712 generate_static_references, build_private_template,
kono
parents:
diff changeset
2713 lookup_category, objc_add_method, add_category,
kono
parents:
diff changeset
2714 add_instance_variable, objc_is_public, conforms_to_protocol,
kono
parents:
diff changeset
2715 start_class, continue_class, finish_class): Avoid C++ keywords.
kono
parents:
diff changeset
2716
kono
parents:
diff changeset
2717 2008-07-14 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2718
kono
parents:
diff changeset
2719 PR objc++/36723
kono
parents:
diff changeset
2720 * objc-act.c (objc_build_constructor): Update C++ tweak.
kono
parents:
diff changeset
2721
kono
parents:
diff changeset
2722 2007-07-14 Rafael Ávila de Espíndola <espindola@google.com>
kono
parents:
diff changeset
2723
kono
parents:
diff changeset
2724 * objc-act.c (synth_module_prologue): Use TREE_NO_WARNING instead
kono
parents:
diff changeset
2725 of DECL_IN_SYSTEM_HEADER.
kono
parents:
diff changeset
2726
kono
parents:
diff changeset
2727 2008-07-11 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
2728
kono
parents:
diff changeset
2729 * objc-act.c (objc_is_reserved_word): Always check for RID_CLASS,
kono
parents:
diff changeset
2730 etc., not just when OBJCPLUS is defined.
kono
parents:
diff changeset
2731
kono
parents:
diff changeset
2732 2008-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
kono
parents:
diff changeset
2733
kono
parents:
diff changeset
2734 * objc-act.c (setup_string_decl, objc_build_string_object,
kono
parents:
diff changeset
2735 hash_interface, eq_interface, objc_begin_try_stmt,
kono
parents:
diff changeset
2736 encode_method_prototype, build_ivar_list_initializer,
kono
parents:
diff changeset
2737 objc_build_encode_expr): Fix for -Wc++-compat.
kono
parents:
diff changeset
2738
kono
parents:
diff changeset
2739 2008-05-12 Tomas Bily <tbily@suse.cz>
kono
parents:
diff changeset
2740
kono
parents:
diff changeset
2741 * objc-act.c (objc_generate_write_barrier, objc_finish_message_expr):
kono
parents:
diff changeset
2742 Use CONVERT_EXPR_P.
kono
parents:
diff changeset
2743
kono
parents:
diff changeset
2744 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
kono
parents:
diff changeset
2745
kono
parents:
diff changeset
2746 * objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT.
kono
parents:
diff changeset
2747
kono
parents:
diff changeset
2748 2008-04-03 Tom Tromey <tromey@redhat.com>
kono
parents:
diff changeset
2749
kono
parents:
diff changeset
2750 * Make-lang.in (objc_OBJS): New variable.
kono
parents:
diff changeset
2751
kono
parents:
diff changeset
2752 2008-03-27 Tom Tromey <tromey@redhat.com>
kono
parents:
diff changeset
2753
kono
parents:
diff changeset
2754 * Make-lang.in: Revert automatic dependency patch.
kono
parents:
diff changeset
2755
kono
parents:
diff changeset
2756 2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
kono
parents:
diff changeset
2757
kono
parents:
diff changeset
2758 PR obj-c++/35704
kono
parents:
diff changeset
2759 * objc-act.c (objc_build_component_ref): Fix call to
kono
parents:
diff changeset
2760 finish_class_member_access_expr.
kono
parents:
diff changeset
2761 (objc_generate_cxx_ctor_or_dtor): Fix call to
kono
parents:
diff changeset
2762 build_special_member_call.
kono
parents:
diff changeset
2763
kono
parents:
diff changeset
2764 2008-03-25 Andrew Pinski <pinskia@gmail.com>
kono
parents:
diff changeset
2765
kono
parents:
diff changeset
2766 PR objc/29197
kono
parents:
diff changeset
2767 * objc-act.c (encode_type): Handle when type is error_mark_node.
kono
parents:
diff changeset
2768 (objc_push_parm): Handle when the type of parm is error_mark_node.
kono
parents:
diff changeset
2769
kono
parents:
diff changeset
2770 2008-03-25 Tom Tromey <tromey@redhat.com>
kono
parents:
diff changeset
2771
kono
parents:
diff changeset
2772 * Make-lang.in (objc_OBJS): New variable.
kono
parents:
diff changeset
2773 (cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove.
kono
parents:
diff changeset
2774
kono
parents:
diff changeset
2775 2008-03-21 Andreas Tobler <a.tobler@schweiz.org>
kono
parents:
diff changeset
2776
kono
parents:
diff changeset
2777 PR bootstrap/35660
kono
parents:
diff changeset
2778 * objc-act.c (objc_generate_cxx_ctor_or_dtor): Rename IS_AGGR_TYPE to
kono
parents:
diff changeset
2779 MAYBE_CLASS_TYPE_P.
kono
parents:
diff changeset
2780 (objc_generate_cxx_cdtors): Likewise.
kono
parents:
diff changeset
2781 (add_instance_variable): Likewise.
kono
parents:
diff changeset
2782
kono
parents:
diff changeset
2783 2008-02-26 Tom Tromey <tromey@redhat.com>
kono
parents:
diff changeset
2784
kono
parents:
diff changeset
2785 * objc-act.c (objc_init): Remove old location code.
kono
parents:
diff changeset
2786
kono
parents:
diff changeset
2787 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
kono
parents:
diff changeset
2788
kono
parents:
diff changeset
2789 PR other/35107
kono
parents:
diff changeset
2790 * Make-lang.in (cc1obj-dummy, cc1obj): Add $(GMPLIBS).
kono
parents:
diff changeset
2791
kono
parents:
diff changeset
2792 2007-07-30 Nick Clifton <nickc@redhat.com>
kono
parents:
diff changeset
2793
kono
parents:
diff changeset
2794 * Make-lang.in: Change copyright header to refer to version 3 of
kono
parents:
diff changeset
2795 the GNU General Public License and to point readers at the
kono
parents:
diff changeset
2796 COPYING3 file and the FSF's license web page.
kono
parents:
diff changeset
2797 * lang-specs.h, objc-act.c, objc-tree.def, objc-act.h,
kono
parents:
diff changeset
2798 config-lang.in, objc-lang.c: Likewise.
kono
parents:
diff changeset
2799
kono
parents:
diff changeset
2800 2007-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
kono
parents:
diff changeset
2801
kono
parents:
diff changeset
2802 * objc-act.c (objc_get_callee_fndecl): Constify.
kono
parents:
diff changeset
2803 * objc-act.h (objc_get_callee_fndecl): Likewise.
kono
parents:
diff changeset
2804
kono
parents:
diff changeset
2805 2007-07-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
kono
parents:
diff changeset
2806
kono
parents:
diff changeset
2807 * objc-act.c (volatilized_hash, volatilized_eq, string_hash,
kono
parents:
diff changeset
2808 string_eq): Constify.
kono
parents:
diff changeset
2809
kono
parents:
diff changeset
2810 2007-04-04 Stuart Hastings <stuart@apple.com>
kono
parents:
diff changeset
2811
kono
parents:
diff changeset
2812 PR 31281
kono
parents:
diff changeset
2813 * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile from rethrow decl.
kono
parents:
diff changeset
2814
kono
parents:
diff changeset
2815 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
kono
parents:
diff changeset
2816
kono
parents:
diff changeset
2817 * Make-lang.in: Add dummy lang.install-pdf target.
kono
parents:
diff changeset
2818
kono
parents:
diff changeset
2819 2007-02-18 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
2820
kono
parents:
diff changeset
2821 * objc/objc-act.c: Fix comment typos.
kono
parents:
diff changeset
2822
kono
parents:
diff changeset
2823 2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
kono
parents:
diff changeset
2824 Brooks Moses <brooks.moses@codesourcery.com>
kono
parents:
diff changeset
2825 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
2826
kono
parents:
diff changeset
2827 * objc-act.c (receiver_is_class_object): Use new CALL_EXPR accessors.
kono
parents:
diff changeset
2828 (objc_get_callee_fndecl): Likewise.
kono
parents:
diff changeset
2829
kono
parents:
diff changeset
2830 2007-01-23 Andrew Pinski <pinskia@gmail.com>
kono
parents:
diff changeset
2831
kono
parents:
diff changeset
2832 PR objc/27438
kono
parents:
diff changeset
2833 * objc-act.c (objc_add_static_instance): Mark the decl as
kono
parents:
diff changeset
2834 TREE_USED.
kono
parents:
diff changeset
2835
kono
parents:
diff changeset
2836 2007-01-20 Andrew Pinski <pinskia@gmail.com>
kono
parents:
diff changeset
2837
kono
parents:
diff changeset
2838 PR objc/30479
kono
parents:
diff changeset
2839 * objc-act.c (hash_interface): Use IDENTIFIER_HASH_VALUE instead
kono
parents:
diff changeset
2840 of htab_hash_pointer.
kono
parents:
diff changeset
2841 (lookup_interface): Likewise.
kono
parents:
diff changeset
2842 (add_class): Likewise.
kono
parents:
diff changeset
2843
kono
parents:
diff changeset
2844 2007-01-02 Douglas Gregor <doug.gregor@gmail.com>
kono
parents:
diff changeset
2845
kono
parents:
diff changeset
2846 * objc-act.c (objc_build_volatilized_type): Keep track of
kono
parents:
diff changeset
2847 canonical types.
kono
parents:
diff changeset
2848 (objc_get_protocol_qualified_type): Ditto.
kono
parents:
diff changeset
2849
kono
parents:
diff changeset
2850 2006-11-02 Andreas Tobler <a.tobler@schweiz.org>
kono
parents:
diff changeset
2851
kono
parents:
diff changeset
2852 * objc-act.c (objc_finish_file): Remove ifdef clause for OBJCPLUS and
kono
parents:
diff changeset
2853 content where we called cp_finish_file.
kono
parents:
diff changeset
2854
kono
parents:
diff changeset
2855 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
kono
parents:
diff changeset
2856
kono
parents:
diff changeset
2857 * objc-act.c (synth_module_prologue): Replace calls to
kono
parents:
diff changeset
2858 builtin_function with add_builtin_function.
kono
parents:
diff changeset
2859 (build_next_objc_exception_stuff): Replace calls to
kono
parents:
diff changeset
2860 builtin_function with add_builtin_function.
kono
parents:
diff changeset
2861 (build_objc_exception_stuff): Replace calls to
kono
parents:
diff changeset
2862 builtin_function with add_builtin_function.
kono
parents:
diff changeset
2863
kono
parents:
diff changeset
2864 2006-10-10 Brooks Moses <bmoses@stanford.edu>
kono
parents:
diff changeset
2865
kono
parents:
diff changeset
2866 * Make-lang.in: Added empty "objc.pdf" target.
kono
parents:
diff changeset
2867
kono
parents:
diff changeset
2868 2006-09-26 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
2869
kono
parents:
diff changeset
2870 PR objc/29195
kono
parents:
diff changeset
2871 * objc-act.c (objc_push_parm): If we change the type of the
kono
parents:
diff changeset
2872 decl, relayout the decl.
kono
parents:
diff changeset
2873
kono
parents:
diff changeset
2874 2006-09-19 Eric Christopher <echristo@apple.com>
kono
parents:
diff changeset
2875
kono
parents:
diff changeset
2876 * objc-act.c (JBLEN): Rename to OBJC_JBLEN,
kono
parents:
diff changeset
2877 default to something innocuous.
kono
parents:
diff changeset
2878 (build_next_objc_exception_stuff): Rename JBLEN.
kono
parents:
diff changeset
2879
kono
parents:
diff changeset
2880 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2881
kono
parents:
diff changeset
2882 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
kono
parents:
diff changeset
2883
kono
parents:
diff changeset
2884 2006-07-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2885
kono
parents:
diff changeset
2886 PR obj-c++/28434
kono
parents:
diff changeset
2887 * objc-act.c (lookup_and_install_protocols): Skip error_mark_nodes.
kono
parents:
diff changeset
2888
kono
parents:
diff changeset
2889 2006-06-06 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
2890
kono
parents:
diff changeset
2891 * objc-act.c: Remove prototype for objc_build_volatilized_type.
kono
parents:
diff changeset
2892
kono
parents:
diff changeset
2893 2006-05-24 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
2894
kono
parents:
diff changeset
2895 * objc-act.c (build_next_objc_exception_stuff): Use JBLEN instead of _JBLEN.
kono
parents:
diff changeset
2896
kono
parents:
diff changeset
2897 2006-05-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2898
kono
parents:
diff changeset
2899 PR objc/27240
kono
parents:
diff changeset
2900 * objc-act.c (objc_is_public): Return early on invalid type.
kono
parents:
diff changeset
2901
kono
parents:
diff changeset
2902 2006-03-02 Fariborz Jahanian <fjahanian@apple.com>
kono
parents:
diff changeset
2903
kono
parents:
diff changeset
2904 * objc-act.c (init_module_descriptor): Remove file name from
kono
parents:
diff changeset
2905 module descriptor.
kono
parents:
diff changeset
2906 (gen_type_name_0): Fix ICE when issuing warning.
kono
parents:
diff changeset
2907
kono
parents:
diff changeset
2908 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
kono
parents:
diff changeset
2909
kono
parents:
diff changeset
2910 * Make-lang.in (OBJC): Remove
kono
parents:
diff changeset
2911 (OBJECTIVE-C): Remove
kono
parents:
diff changeset
2912 (objective-c): Remove
kono
parents:
diff changeset
2913 (.PHONY): Remove objective-c and ObjC
kono
parents:
diff changeset
2914
kono
parents:
diff changeset
2915 2005-12-14 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
2916
kono
parents:
diff changeset
2917 PR objc/25360
kono
parents:
diff changeset
2918 * objc/objc-act.c (encode_type): Encode Complex types as 'j' followed
kono
parents:
diff changeset
2919 by the inner type.
kono
parents:
diff changeset
2920
kono
parents:
diff changeset
2921 2005-12-12 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
2922
kono
parents:
diff changeset
2923 PR objc/25348
kono
parents:
diff changeset
2924 * objc-act.c (encode_array): Handle arrays to zero sized types.
kono
parents:
diff changeset
2925
kono
parents:
diff changeset
2926 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
kono
parents:
diff changeset
2927
kono
parents:
diff changeset
2928 * Make-lang.in (objc.all.build, objc.install-normal): Remove.
kono
parents:
diff changeset
2929
kono
parents:
diff changeset
2930 2005-12-07 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
kono
parents:
diff changeset
2931
kono
parents:
diff changeset
2932 * Make-lang.in: Remove all dependencies on s-gtype.
kono
parents:
diff changeset
2933
kono
parents:
diff changeset
2934 2005-12-02 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
2935
kono
parents:
diff changeset
2936 * objc-act.c (objc_build_exc_ptr, next_sjlj_build_enter_and_setjmp
kono
parents:
diff changeset
2937 next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
kono
parents:
diff changeset
2938 next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
kono
parents:
diff changeset
2939 build_objc_method_call, objc_rewrite_function_call): Use buildN
kono
parents:
diff changeset
2940 instead of build.
kono
parents:
diff changeset
2941
kono
parents:
diff changeset
2942 2005-10-20 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
2943
kono
parents:
diff changeset
2944 * objc-act.c (synth_module_prologue): Clear TREE_NOTHROW
kono
parents:
diff changeset
2945 on objc_msgSend and like builtin functions.
kono
parents:
diff changeset
2946
kono
parents:
diff changeset
2947 2005-10-17 Andreas Krebbel <krebbel1@de.ibm.com>
kono
parents:
diff changeset
2948
kono
parents:
diff changeset
2949 * objc-act.c (objc_build_component_ref): Adjust call to
kono
parents:
diff changeset
2950 finish_class_member_access_expr due to a changed prototype.
kono
parents:
diff changeset
2951
kono
parents:
diff changeset
2952 2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
2953
kono
parents:
diff changeset
2954 PR objc/23306
kono
parents:
diff changeset
2955 * objc-act.c (generate_strings): Remove and move code to
kono
parents:
diff changeset
2956 finish decl to ...
kono
parents:
diff changeset
2957 (add_objc_string): here when creating a new string decl.
kono
parents:
diff changeset
2958 (finish_objc): Don't call generate_strings.
kono
parents:
diff changeset
2959
kono
parents:
diff changeset
2960 2005-08-31 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
2961
kono
parents:
diff changeset
2962 PR objc/23381
kono
parents:
diff changeset
2963 * objc-act.c (next_sjlj_build_try_catch_finally): Set
kono
parents:
diff changeset
2964 TREE_SIDE_EFFECTS on catch_seq after building it.
kono
parents:
diff changeset
2965
kono
parents:
diff changeset
2966 2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
2967
kono
parents:
diff changeset
2968 part of PR objc/21992
kono
parents:
diff changeset
2969 * objc-act.c (handle_class_ref): The ref decl is always referenced.
kono
parents:
diff changeset
2970
kono
parents:
diff changeset
2971 2005-07-20 Giovanni Bajo <giovannibajo@libero.it>
kono
parents:
diff changeset
2972
kono
parents:
diff changeset
2973 Make CONSTRUCTOR use VEC to store initializers.
kono
parents:
diff changeset
2974 * objc-act.c (objc_build_constructor): Use build_constructor_from_list
kono
parents:
diff changeset
2975 instead of build_constructor.
kono
parents:
diff changeset
2976
kono
parents:
diff changeset
2977 2005-07-08 Daniel Berlin <dberlin@dberlin.org>
kono
parents:
diff changeset
2978
kono
parents:
diff changeset
2979 * objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
kono
parents:
diff changeset
2980 removed.
kono
parents:
diff changeset
2981 * objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
kono
parents:
diff changeset
2982 (KEYWORD_KEY_NAME): Use decl_minimal.
kono
parents:
diff changeset
2983 (METHOD_SEL_NAME): Ditto..
kono
parents:
diff changeset
2984 (METHOD_SEL_ARGS): Use decl_non_common.
kono
parents:
diff changeset
2985 (METHOD_ADD_ARGS): Ditto.
kono
parents:
diff changeset
2986 (METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
kono
parents:
diff changeset
2987 (METHOD_DEFINITION): Ditto.
kono
parents:
diff changeset
2988 (METHOD_ENCODING): Ditto.
kono
parents:
diff changeset
2989 * objc-lang.c: (objc_init_ts): New function.
kono
parents:
diff changeset
2990
kono
parents:
diff changeset
2991 2005-07-07 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
2992
kono
parents:
diff changeset
2993 * objc-act.c (objc_build_struct): Pass in an actual @interface
kono
parents:
diff changeset
2994 instead of its name, and annotate the struct created (and all
kono
parents:
diff changeset
2995 existing variants thereof) with the @interface.
kono
parents:
diff changeset
2996 (objc_compare_types): Treat forward-declared ObjC classes
kono
parents:
diff changeset
2997 as stand-alone (root) classes for purposes of type comparisons.
kono
parents:
diff changeset
2998 (build_private_template): Move some code to objc_build_struct().
kono
parents:
diff changeset
2999
kono
parents:
diff changeset
3000 2005-07-07 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3001
kono
parents:
diff changeset
3002 PR objc/22274
kono
parents:
diff changeset
3003 * objc-act.c (objc_build_string_object): For GNU-style constants,
kono
parents:
diff changeset
3004 use the @interface type rather than the built-in type.
kono
parents:
diff changeset
3005
kono
parents:
diff changeset
3006 2005-07-03 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
3007
kono
parents:
diff changeset
3008 * Make-lang.in (cc1plus-checksum.c): Use
kono
parents:
diff changeset
3009 build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
kono
parents:
diff changeset
3010
kono
parents:
diff changeset
3011 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3012
kono
parents:
diff changeset
3013 * objc-act.c: Use %q to quote in diagnostics.
kono
parents:
diff changeset
3014
kono
parents:
diff changeset
3015 2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3016
kono
parents:
diff changeset
3017 * objc-act.c: Use '+' flag instead of %J. Use 'q' flag for
kono
parents:
diff changeset
3018 quoting.
kono
parents:
diff changeset
3019
kono
parents:
diff changeset
3020 2005-06-30 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3021
kono
parents:
diff changeset
3022 * objc-act.c (objc_build_volatilized_type): New function.
kono
parents:
diff changeset
3023 (objc_volatilize_decl): Call objc_build_volatilized_type()
kono
parents:
diff changeset
3024 instead of build_qualified_type().
kono
parents:
diff changeset
3025
kono
parents:
diff changeset
3026 2005-06-29 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3027
kono
parents:
diff changeset
3028 * objc-act.c (objc_build_internal_const_str_type): New function.
kono
parents:
diff changeset
3029 (check_string_class_template): Use objc_get_class_ivars() instead
kono
parents:
diff changeset
3030 of TYPE_FIELDS() to retrieve ivar list.
kono
parents:
diff changeset
3031 (AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather
kono
parents:
diff changeset
3032 than the field itself.
kono
parents:
diff changeset
3033 (objc_build_string_object): Synthesize a "__builtin_ObjCString"
kono
parents:
diff changeset
3034 type and use it to lay out compile-time string objects.
kono
parents:
diff changeset
3035 * objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type):
kono
parents:
diff changeset
3036 New.
kono
parents:
diff changeset
3037
kono
parents:
diff changeset
3038 2005-06-28 Paul Brook <paul@codesourcery.com>
kono
parents:
diff changeset
3039
kono
parents:
diff changeset
3040 * objc-act.c (objc_init_exceptions): Call
kono
parents:
diff changeset
3041 default_init_unwind_resume_libfunc.
kono
parents:
diff changeset
3042
kono
parents:
diff changeset
3043 2005-06-27 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3044
kono
parents:
diff changeset
3045 * objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO
kono
parents:
diff changeset
3046 portion of TYPE_LANG_SPECIFIC info for all variants of
kono
parents:
diff changeset
3047 a class before calling finish_struct(), and restore
kono
parents:
diff changeset
3048 same TYPE_OBJC_INFO afterwards.
kono
parents:
diff changeset
3049
kono
parents:
diff changeset
3050 2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
kono
parents:
diff changeset
3051
kono
parents:
diff changeset
3052 * all files: Update FSF address in copyright headers.
kono
parents:
diff changeset
3053
kono
parents:
diff changeset
3054 2005-06-15 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3055
kono
parents:
diff changeset
3056 * objc-act.c (my_build_string_pointer): New.
kono
parents:
diff changeset
3057 (objc_get_class_reference, get_super_receiver): Call
kono
parents:
diff changeset
3058 my_build_string_pointer instead of my_build_string when building
kono
parents:
diff changeset
3059 function arguments.
kono
parents:
diff changeset
3060
kono
parents:
diff changeset
3061 2005-05-25 Mike Stump <mrs@mrs.kithrup.com>
kono
parents:
diff changeset
3062
kono
parents:
diff changeset
3063 * objc-act.c (volatilized_hash): Avoid warnings on 64-bit
kono
parents:
diff changeset
3064 machines.
kono
parents:
diff changeset
3065
kono
parents:
diff changeset
3066 2005-05-24 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3067
kono
parents:
diff changeset
3068 * objc-act.c (objc_build_struct): New function.
kono
parents:
diff changeset
3069 (objc_derived_from_p): Likewise.
kono
parents:
diff changeset
3070 (objc_build_component_ref): Likewise.
kono
parents:
diff changeset
3071 (objc_copy_binfo): Likewise.
kono
parents:
diff changeset
3072 (objc_xref_basetypes): Likewise.
kono
parents:
diff changeset
3073 (objc_lookup_protocol): Likewise.
kono
parents:
diff changeset
3074 (objc_compare_protocols): Likewise.
kono
parents:
diff changeset
3075 (objc_volatilize_decl): Likewise.
kono
parents:
diff changeset
3076 (encode_aggregate_fields): Likewise.
kono
parents:
diff changeset
3077 (volatilized_hash): Likewise.
kono
parents:
diff changeset
3078 (volatilized_eq): Likewise.
kono
parents:
diff changeset
3079 (objc_compare_types): Likewise.
kono
parents:
diff changeset
3080 (objc_type_quals_match): Likewise.
kono
parents:
diff changeset
3081 (DERIVED_FROM_P): New ObjC macro, corresponding to C++ macro
kono
parents:
diff changeset
3082 of same name.
kono
parents:
diff changeset
3083 (get_class_ivars): Add second parameter indicating if entire
kono
parents:
diff changeset
3084 hierarchy is desired.
kono
parents:
diff changeset
3085 (struct volatilized_type): New type.
kono
parents:
diff changeset
3086 (volatilized_htab): New hash table.
kono
parents:
diff changeset
3087 (objc_types_compatible_p, objc_comptypes): Remove functions.
kono
parents:
diff changeset
3088 (synth_module_prologue): Do not initialize 'unused_list'.
kono
parents:
diff changeset
3089 (objc_get_class_reference): Fix ObjC++ impedance mismatches.
kono
parents:
diff changeset
3090 (objc_declare_alias): Implement as a typedef.
kono
parents:
diff changeset
3091 (objc_substitute_decl, objc_gimplify_expr): Reformat.
kono
parents:
diff changeset
3092 (objc_get_class_ivars): Adjust call to get_class_ivars().
kono
parents:
diff changeset
3093 (next_sjlj_build_enter_and_setjmp, synth_forward_declarations,
kono
parents:
diff changeset
3094 build_ivar_reference, get_super_receiver): Call
kono
parents:
diff changeset
3095 objc_build_component_ref() instead of build_component_ref().
kono
parents:
diff changeset
3096 (objc_begin_catch_clause): Use DERIVED_FROM_P() instead of
kono
parents:
diff changeset
3097 objc_comptypes().
kono
parents:
diff changeset
3098 (build_private_template): Call objc_build_struct() instead of
kono
parents:
diff changeset
3099 start_struct() and finish_struct().
kono
parents:
diff changeset
3100 (hash_init): Initialize volatilized_htab.
kono
parents:
diff changeset
3101 (objc_is_public): Adjust calls to objc_get_ivars(); adjust
kono
parents:
diff changeset
3102 ObjC++ impedance mismatches.
kono
parents:
diff changeset
3103 (encode_aggregate_within): Streamline by calling
kono
parents:
diff changeset
3104 encode_aggregate_fields().
kono
parents:
diff changeset
3105 * objc-act.h (objc_types_compatible_p): Remove prototype.
kono
parents:
diff changeset
3106 (OCTI_UNUSED_LIST, unused_list): Remove slot.
kono
parents:
diff changeset
3107 * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
kono
parents:
diff changeset
3108
kono
parents:
diff changeset
3109 2005-05-18 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
3110
kono
parents:
diff changeset
3111 * Make-lang.in (cc1obj-dummy): New.
kono
parents:
diff changeset
3112 (cc1obj-checksum.c): New.
kono
parents:
diff changeset
3113 (cc1obj-checksum.o): New.
kono
parents:
diff changeset
3114 (cc1obj): Add cc1obj-checksum.o.
kono
parents:
diff changeset
3115
kono
parents:
diff changeset
3116 2005-05-18 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
3117
kono
parents:
diff changeset
3118 PR objc/21641
kono
parents:
diff changeset
3119 * objc-act.c (struct interface_tuple): Mark it up for GC.
kono
parents:
diff changeset
3120 (interface_htab): It is really a struct interface_tuple.
kono
parents:
diff changeset
3121
kono
parents:
diff changeset
3122 2005-05-17 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3123 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
3124
kono
parents:
diff changeset
3125 Yet more Objective-C++...
kono
parents:
diff changeset
3126
kono
parents:
diff changeset
3127 * objc-act.c (objc_finish_try_stmt): Add return value.
kono
parents:
diff changeset
3128 (objc_build_synchronized): Likewise.
kono
parents:
diff changeset
3129
kono
parents:
diff changeset
3130 * objc-act.c (objc_is_gcable_type): Add.
kono
parents:
diff changeset
3131 (objc_substitute_decl): Add.
kono
parents:
diff changeset
3132 (objc_build_ivar_assignment): Add.
kono
parents:
diff changeset
3133 (objc_build_global_assignment): Add.
kono
parents:
diff changeset
3134 (objc_build_strong_cast_assignment): Add.
kono
parents:
diff changeset
3135 (objc_is_ivar_reference_p): Add.
kono
parents:
diff changeset
3136 (objc_is_global_reference_p): Add.
kono
parents:
diff changeset
3137 (objc_generate_write_barrier): Add.
kono
parents:
diff changeset
3138 (objc_rewrite_function_call): Add.
kono
parents:
diff changeset
3139 (objc_gimplify_expr): Add Objective-C++ support.
kono
parents:
diff changeset
3140 * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
kono
parents:
diff changeset
3141 (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Add.
kono
parents:
diff changeset
3142 (INIT_TYPE_OBJC_INFO): Add Objective-C++ support.
kono
parents:
diff changeset
3143 (DUP_TYPE_OBJC_INFO): Likewise.
kono
parents:
diff changeset
3144 (struct imp_entry): Add field has_cxx_cdtors.
kono
parents:
diff changeset
3145 (struct imp_entry *imp_list): Add OCTI_UMSG_FAST_DECL,
kono
parents:
diff changeset
3146 OCTI_METH_LIST_TEMPL, OCTI_METH_PROTO_LIST_TEMPL,
kono
parents:
diff changeset
3147 OCTI_IVAR_LIST_TEMPL, OCTI_ASSIGN_IVAR_DECL,
kono
parents:
diff changeset
3148 OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
kono
parents:
diff changeset
3149 OCTI_ASSIGN_STRONGCAST_DECL.
kono
parents:
diff changeset
3150 (umsg_fast_decl): Add.
kono
parents:
diff changeset
3151 (objc_assign_ivar_decl): Add.
kono
parents:
diff changeset
3152 (objc_assign_ivar_fast_decl): Add.
kono
parents:
diff changeset
3153 (objc_assign_global_decl): Add.
kono
parents:
diff changeset
3154 (objc_assign_strong_cast_decl): Add.
kono
parents:
diff changeset
3155 (objc_method_list_ptr): Add.
kono
parents:
diff changeset
3156 (objc_method_proto_list_ptr): Add.
kono
parents:
diff changeset
3157 (objc_ivar_list_ptr): Add.
kono
parents:
diff changeset
3158
kono
parents:
diff changeset
3159 * objc-act.c (should_call_super_dealloc): Add.
kono
parents:
diff changeset
3160 (OBJC_VERSION): Bump to 6.
kono
parents:
diff changeset
3161 (objc_is_gcable_type): Add.
kono
parents:
diff changeset
3162 (objc_substitute_decl): Add.
kono
parents:
diff changeset
3163 (objc_build_ivar_assignment): Add.
kono
parents:
diff changeset
3164 (objc_build_global_assignment): Add.
kono
parents:
diff changeset
3165 (objc_build_strong_cast_assignment): Add.
kono
parents:
diff changeset
3166 (objc_is_gcable_p): Add.
kono
parents:
diff changeset
3167 (objc_is_ivar_reference_p): Add.
kono
parents:
diff changeset
3168 (objc_is_global_reference_p): Add.
kono
parents:
diff changeset
3169 (generate_shared_structures): Add flags parameter.
kono
parents:
diff changeset
3170 (objc_generate_cxx_ctor_or_dtor): Add.
kono
parents:
diff changeset
3171 (objc_generate_cxx_cdtors): Add.
kono
parents:
diff changeset
3172 (add_class): Add name parameter.
kono
parents:
diff changeset
3173 (objc_types_share_size_and_alignment): Add.
kono
parents:
diff changeset
3174 (comp_proto_with_proto): Add strict parameter.
kono
parents:
diff changeset
3175 (CLS_HAS_CXX_STRUCTORS): Add.
kono
parents:
diff changeset
3176 (TAG_ASSIGNIVAR): Add.
kono
parents:
diff changeset
3177 (TAG_ASSIGNGLOBAL): Add.
kono
parents:
diff changeset
3178 (TAG_ASSIGNSTRONGCAST): Add.
kono
parents:
diff changeset
3179 (TAG_MSGSEND_FAST): Add.
kono
parents:
diff changeset
3180 (TAG_ASSIGNIVAR_FAST): Add.
kono
parents:
diff changeset
3181 (TAG_CXX_CONSTRUCT): Add.
kono
parents:
diff changeset
3182 (TAG_CXX_DESTRUCT): Add.
kono
parents:
diff changeset
3183 (OBJC_LOOKUP_CLASS): Add.
kono
parents:
diff changeset
3184 (OBJC_LOOKUP_NO_SUPER): Add.
kono
parents:
diff changeset
3185 (objc_finish_file): Add pch support.
kono
parents:
diff changeset
3186 (objc_finish_implementation): Add Objective-C++ support.
kono
parents:
diff changeset
3187 (synth_module_prologue): Likewise.
kono
parents:
diff changeset
3188 (synth_module_prologue): Add fast dispatching.
kono
parents:
diff changeset
3189 (objc_get_class_reference): Add Objective-C++ support.
kono
parents:
diff changeset
3190 (objc_generate_write_barrier): Likewise.
kono
parents:
diff changeset
3191 (next_sjlj_build_enter_and_setjmp): Likewise.
kono
parents:
diff changeset
3192 (objc_begin_try_stmt): Likewise.
kono
parents:
diff changeset
3193 (build_next_objc_exception_stuff): Add fast ivar support.
kono
parents:
diff changeset
3194 (build_private_template): Mark the record as used so debug
kono
parents:
diff changeset
3195 information is generated.
kono
parents:
diff changeset
3196 (build_protocol_template): Add Objective-C++ support.
kono
parents:
diff changeset
3197 (objc_method_parm_type) Likewise.
kono
parents:
diff changeset
3198 (objc_generate_cxx_ctor_or_dtor): Likewise.
kono
parents:
diff changeset
3199 (objc_generate_cxx_cdtors): Likewise.
kono
parents:
diff changeset
3200 (build_protocol_initializer): Likewise.
kono
parents:
diff changeset
3201 (build_category_template): Likewise.
kono
parents:
diff changeset
3202 (build_class_template): Likewise.
kono
parents:
diff changeset
3203 (build_method_list_template): Likewise.
kono
parents:
diff changeset
3204 (build_category_initializer): Likewise.
kono
parents:
diff changeset
3205 (build_shared_structure_initializer): Likewise.
kono
parents:
diff changeset
3206 (objc_finish_message_expr): Likewise.
kono
parents:
diff changeset
3207 (build_objc_method_call): Add fast dispatch support.
kono
parents:
diff changeset
3208 (lookup_method_static): Add support to end search at superclasses.
kono
parents:
diff changeset
3209 (add_method_to_hash_list): Add strict parameter to
kono
parents:
diff changeset
3210 comp_proto_with_proto.
kono
parents:
diff changeset
3211 (objc_add_method): Likewise.
kono
parents:
diff changeset
3212 (objc_add_method): Also set the interface_value.
kono
parents:
diff changeset
3213 (add_instance_variable): Add Objective-C++ support.
kono
parents:
diff changeset
3214 (objc_is_public): Likewise.
kono
parents:
diff changeset
3215 (start_class): Likewise.
kono
parents:
diff changeset
3216 (continue_class): Likewise.
kono
parents:
diff changeset
3217 (encode_aggregate_within): Likewise.
kono
parents:
diff changeset
3218 (start_method_def): Likewise.
kono
parents:
diff changeset
3219 (objc_start_function): Clear current_function_returns_value
kono
parents:
diff changeset
3220 and current_function_returns_null.
kono
parents:
diff changeset
3221 (really_start_method): Add Objective-C++ support.
kono
parents:
diff changeset
3222 (objc_finish_method_definition): Add warning for missing
kono
parents:
diff changeset
3223 [super dealloc].
kono
parents:
diff changeset
3224 (finish_objc): Add Objective-C++ support.
kono
parents:
diff changeset
3225 (generate_objc_image_info): Likewise.
kono
parents:
diff changeset
3226 (objc_lookup_ivar): Likewise.
kono
parents:
diff changeset
3227 * objc-act.h (TYPE_HAS_OBJC_INFO): Likewise.
kono
parents:
diff changeset
3228 (INIT_TYPE_OBJC_INFO): Likewise.
kono
parents:
diff changeset
3229 (DUP_TYPE_OBJC_INFO): Likewise.
kono
parents:
diff changeset
3230
kono
parents:
diff changeset
3231 2005-04-23 DJ Delorie <dj@redhat.com>
kono
parents:
diff changeset
3232
kono
parents:
diff changeset
3233 * objc-act.c: Adjust warning() callers.
kono
parents:
diff changeset
3234
kono
parents:
diff changeset
3235 2005-04-21 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
3236
kono
parents:
diff changeset
3237 * objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
kono
parents:
diff changeset
3238 this field of an objc method decl.
kono
parents:
diff changeset
3239 * objc-act.c (build_method_decl): Take an additional "ellipsis"
kono
parents:
diff changeset
3240 argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
kono
parents:
diff changeset
3241 (objc_build_method_signature): Accept additional "ellipsis"
kono
parents:
diff changeset
3242 argument and pass it to build_method_decl.
kono
parents:
diff changeset
3243 (get_arg_type_list, start_method_def, gen_method_decl): Use
kono
parents:
diff changeset
3244 the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
kono
parents:
diff changeset
3245 TREE_OVERFLOW field of a TREE_LIST node.
kono
parents:
diff changeset
3246
kono
parents:
diff changeset
3247 2005-04-20 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3248
kono
parents:
diff changeset
3249 PR c/12913
kono
parents:
diff changeset
3250 * objc-act.c (objc_start_function): Create stack level for context
kono
parents:
diff changeset
3251 of identifiers with variably modified type.
kono
parents:
diff changeset
3252
kono
parents:
diff changeset
3253 2005-03-30 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3254
kono
parents:
diff changeset
3255 PR c/772
kono
parents:
diff changeset
3256 PR c/17913
kono
parents:
diff changeset
3257 * objc-act.c (objc_start_function): Push context on
kono
parents:
diff changeset
3258 label_context_stack.
kono
parents:
diff changeset
3259
kono
parents:
diff changeset
3260 2005-03-23 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3261
kono
parents:
diff changeset
3262 * objc-act.c (next_sjlj_build_enter_and_setjmp,
kono
parents:
diff changeset
3263 next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally):
kono
parents:
diff changeset
3264 Call c_common_truthvalue_conversion.
kono
parents:
diff changeset
3265
kono
parents:
diff changeset
3266 2005-02-25 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3267
kono
parents:
diff changeset
3268 * Make-lang.in (objc/objc-parse.o-warn, objc/objc-parse.o,
kono
parents:
diff changeset
3269 objc/objc-parse.c, objc/objc-parse.y): Remove
kono
parents:
diff changeset
3270 (OBJC_OBJS, objc.srcextra, objc.tags, objc.mostlyclean,
kono
parents:
diff changeset
3271 objc.distclean, objc.maintainer-clean): Update for new parser.
kono
parents:
diff changeset
3272 * config-lang.in (gtfiles): Update for new parser.
kono
parents:
diff changeset
3273
kono
parents:
diff changeset
3274 2005-01-29 Kazu Hirata <kazu@cs.umass.edu>
kono
parents:
diff changeset
3275
kono
parents:
diff changeset
3276 * lang-specs.h, objc-act.c, objc-act.h, objc-lang.c: Update
kono
parents:
diff changeset
3277 copyright.
kono
parents:
diff changeset
3278
kono
parents:
diff changeset
3279 2005-01-27 Matt Austern <austern@apple.com>
kono
parents:
diff changeset
3280
kono
parents:
diff changeset
3281 * objc-act.c (objc_finish_file): In ObjC++ mode, set at_eof before
kono
parents:
diff changeset
3282 calling instantiate_pending_templates.
kono
parents:
diff changeset
3283
kono
parents:
diff changeset
3284 2005-01-26 Alexander Malmberg <alexander@malmberg.org>
kono
parents:
diff changeset
3285
kono
parents:
diff changeset
3286 PR objc/18862
kono
parents:
diff changeset
3287 * objc-act.c (build_selector_translation_table): Use
kono
parents:
diff changeset
3288 input_location in the diagnostic for the GNU runtime or if
kono
parents:
diff changeset
3289 TREE_PURPOSE (chain) is NULL.
kono
parents:
diff changeset
3290
kono
parents:
diff changeset
3291 2005-01-25 Alexander Malmberg <alexander@malmberg.org>
kono
parents:
diff changeset
3292
kono
parents:
diff changeset
3293 PR objc/18408
kono
parents:
diff changeset
3294 * objc-act.c (objc_types_compatible_p): New function.
kono
parents:
diff changeset
3295 * objc-act.h (objc_types_compatible_p): Declare.
kono
parents:
diff changeset
3296 * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
kono
parents:
diff changeset
3297
kono
parents:
diff changeset
3298 2005-01-16 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3299
kono
parents:
diff changeset
3300 * objc-act.c (objc_push_parm): Call c_type_promotes_to()
kono
parents:
diff changeset
3301 via a lang-hook.
kono
parents:
diff changeset
3302
kono
parents:
diff changeset
3303 2005-01-15 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3304
kono
parents:
diff changeset
3305 PR objc/19321
kono
parents:
diff changeset
3306 * objc-act.c (get_arg_type_list): Decay function arguments into
kono
parents:
diff changeset
3307 pointers.
kono
parents:
diff changeset
3308 (objc_push_parm): Likewise; bring PARM_DECL construction closer
kono
parents:
diff changeset
3309 in line with what the C front-end does.
kono
parents:
diff changeset
3310 (objc_get_parm_info): Call pushdecl() and finish_decl() on
kono
parents:
diff changeset
3311 each PARM_DECL, like the C front-end does.
kono
parents:
diff changeset
3312 (start_method_def): Remove redundant ARRAY_TYPE decay.
kono
parents:
diff changeset
3313 (objc_start_function): Bring closer in line with what the
kono
parents:
diff changeset
3314 C front-end does for functions.
kono
parents:
diff changeset
3315
kono
parents:
diff changeset
3316 2005-01-14 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
3317
kono
parents:
diff changeset
3318 * lang-specs.h ("@objective-c"): Use cc1obj when -E is used so
kono
parents:
diff changeset
3319 that -fobjc-exceptions is accepted.
kono
parents:
diff changeset
3320
kono
parents:
diff changeset
3321 2004-12-30 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3322
kono
parents:
diff changeset
3323 PR objc/18971
kono
parents:
diff changeset
3324 * objc-act.c (get_arg_type_list, start_method_def): Decay
kono
parents:
diff changeset
3325 array arguments into pointers.
kono
parents:
diff changeset
3326 (gen_type_name_0): Learn to pretty-print array types.
kono
parents:
diff changeset
3327
kono
parents:
diff changeset
3328 2004-12-15 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3329
kono
parents:
diff changeset
3330 * objc-act.c (build_private_template): Change to return 'void'; do
kono
parents:
diff changeset
3331 not set ivar_context, uprivate_record or objc_instance_type.
kono
parents:
diff changeset
3332 (objc_comptypes, gen_type_name_0): For types 'id' and 'Class',
kono
parents:
diff changeset
3333 retrieve protocol list from the pointee rather than the pointer itself;
kono
parents:
diff changeset
3334 check TYPE_HAS_OBJC_INFO(...) precondition before accessing
kono
parents:
diff changeset
3335 TYPE_OBJC_PROTOCOL_LIST.
kono
parents:
diff changeset
3336 (objc_get_protocol_qualified_type): For types 'id' and 'Class',
kono
parents:
diff changeset
3337 construct a variant of the pointee as well as the pointer, and
kono
parents:
diff changeset
3338 store protocol information in the former. When creating variants
kono
parents:
diff changeset
3339 of RECORD_TYPEs, clone their TYPE_LANG_SPECIFIC fields and propagate
kono
parents:
diff changeset
3340 TYPE_OBJC_INTERFACE information.
kono
parents:
diff changeset
3341 (objc_declare_class): If a TYPE_DECL is looked up, retrieve the
kono
parents:
diff changeset
3342 underlying RECORD_TYPE to check for presence of TYPE_OBJC_INTERFACE;
kono
parents:
diff changeset
3343 for newly-created RECORD_TYPEs, create a tentative TYPE_OBJC_INTERFACE
kono
parents:
diff changeset
3344 holding an IDENTIFIER_NODE.
kono
parents:
diff changeset
3345 (objc_finish_message_expr): Check TYPE_HAS_OBJC_INFO(...) before
kono
parents:
diff changeset
3346 accessing TYPE_OBJC_PROTOCOL_LIST; Use TYPE_OBJC_INTERFACE instead
kono
parents:
diff changeset
3347 of calling lookup_interface(); allow for TYPE_OBJC_INTERFACE holding
kono
parents:
diff changeset
3348 an IDENTIFIER_NODE (meaning a @class forward-declaration only).
kono
parents:
diff changeset
3349 (objc_is_public): Check TYPE_OBJC_INTERFACE instead of calling
kono
parents:
diff changeset
3350 lookup_interface().
kono
parents:
diff changeset
3351 (continue_class): For @implementations, set ivar_context,
kono
parents:
diff changeset
3352 uprivate_record and objc_instance_type, for @interfaces, call
kono
parents:
diff changeset
3353 build_private_template().
kono
parents:
diff changeset
3354 (encode_pointer): Check TYPE_HAS_OBJC_INFO(...) before accessing
kono
parents:
diff changeset
3355 TYPE_OBJC_INTERFACE.
kono
parents:
diff changeset
3356 (objc_types_are_equivalent): Check TYPE_HAS_OBJC_INFO(...) before
kono
parents:
diff changeset
3357 accessing TYPE_OBJC_PROTOCOL_LIST.
kono
parents:
diff changeset
3358 * objc-act.h (OBJC_INFO_SLOT_ELTS, TYPE_OBJC_INFO, INIT_TYPE_OBJC_INFO,
kono
parents:
diff changeset
3359 DUP_TYPE_OBJC_INFO, ALLOC_OBJC_TYPE_LANG_SPECIFIC,
kono
parents:
diff changeset
3360 SIZEOF_OBJC_TYPE_LANG_SPECIFIC): New macros.
kono
parents:
diff changeset
3361 (TYPE_OBJC_INTERFACE): Replaces TREE_STATIC_INSTANCE and now points
kono
parents:
diff changeset
3362 to an actual @interface; stored in TYPE_LANG_SPECIFIC(...).
kono
parents:
diff changeset
3363 (TYPE_OBJC_PROTOCOL_LIST): Replaces TYPE_PROTOCOL_LIST; stored in
kono
parents:
diff changeset
3364 TYPE_LANG_SPECIFIC(...).
kono
parents:
diff changeset
3365 (TREE_STATIC_INSTANCE, TYPE_PROTOCOL_LIST): Delete.
kono
parents:
diff changeset
3366 (IS_ID, IS_CLASS, IS_PROTOCOL_QUALIFIED_UNTYPED, IS_SUPER,
kono
parents:
diff changeset
3367 TYPED_OBJECT): Check for POINTER_TYPE rather than POINTER_TYPE_P;
kono
parents:
diff changeset
3368 adjust for use of TYPE_OBJC_INTERFACE and TYPE_OBJC_PROTOCOL_LIST
kono
parents:
diff changeset
3369 instead of TREE_STATIC_INSTANCE and TYPE_PROTOCOL_LIST.
kono
parents:
diff changeset
3370
kono
parents:
diff changeset
3371 2004-11-29 Joseph Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3372
kono
parents:
diff changeset
3373 PR c/7544
kono
parents:
diff changeset
3374 * Make-lang.in (objc/objc-act.o): Update dependencies.
kono
parents:
diff changeset
3375 * objc-act.c (objc_finish_file): Call
kono
parents:
diff changeset
3376 maybe_apply_pending_pragma_weaks if not OBJCPLUS.
kono
parents:
diff changeset
3377
kono
parents:
diff changeset
3378 2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
3379
kono
parents:
diff changeset
3380 PR objc/18406
kono
parents:
diff changeset
3381 * obj-act.c (encode_type): 96bits doubles are encoded the
kono
parents:
diff changeset
3382 same way as 64bit and 128bit doubles are.
kono
parents:
diff changeset
3383
kono
parents:
diff changeset
3384 2004-11-09 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
3385
kono
parents:
diff changeset
3386 * objc-act.c: Use %q, %< and %> for quoting in diagnostics.
kono
parents:
diff changeset
3387
kono
parents:
diff changeset
3388 2004-11-08 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
3389
kono
parents:
diff changeset
3390 PR objc/16546
kono
parents:
diff changeset
3391 * objc-act.c (generate_method_descriptors): Remove setting
kono
parents:
diff changeset
3392 the new decls' type to variable_length_type.
kono
parents:
diff changeset
3393 (generate_ivar_lists): Likewise.
kono
parents:
diff changeset
3394 (generate_dispatch_tables): Likewise.
kono
parents:
diff changeset
3395
kono
parents:
diff changeset
3396 2004-10-30 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3397
kono
parents:
diff changeset
3398 * objc-act.c (objc_lookup_ivar): The new OTHER parameter
kono
parents:
diff changeset
3399 contains the result of the ID lookup by the C or C++
kono
parents:
diff changeset
3400 front-end; in class methods, use OTHER if it exists;
kono
parents:
diff changeset
3401 in instance methods, use OTHER only if it is locally
kono
parents:
diff changeset
3402 declared.
kono
parents:
diff changeset
3403
kono
parents:
diff changeset
3404 2004-10-26 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3405
kono
parents:
diff changeset
3406 * objc-act.c (finish_class): Do not synthesize bogus
kono
parents:
diff changeset
3407 'extern objc_object *_Foo;' declarations for @interface Foo.
kono
parents:
diff changeset
3408
kono
parents:
diff changeset
3409 2004-10-25 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3410 David Ayers <d.ayers@inode.at>
kono
parents:
diff changeset
3411
kono
parents:
diff changeset
3412 * objc-act.c (objc_comptypes): Use IS_PROTOCOL_QUALIFIED_UNTYPED
kono
parents:
diff changeset
3413 instead of IS_PROTOCOL_QUALIFIED_ID; add comparisons for:
kono
parents:
diff changeset
3414 'Class <Protocol> != id <Protocol>'; 'Class <Protocol> != <class> *';
kono
parents:
diff changeset
3415 'Class <Protocol> == id' and 'Class <Protocol> == Class'.
kono
parents:
diff changeset
3416 (objc_is_id): Add test for 'super'.
kono
parents:
diff changeset
3417 (objc_finish_message_expr): Allow for messaging of 'Class <Proto>'
kono
parents:
diff changeset
3418 receivers; if class methods are not found in protocol lists, search
kono
parents:
diff changeset
3419 for instance methods therein and warn if one is found. Look in
kono
parents:
diff changeset
3420 global hash tables for suitable method as a last resort when messaging
kono
parents:
diff changeset
3421 'id <Proto>', 'Class <Proto>' and invalid receiver types.
kono
parents:
diff changeset
3422 (objc_add_method): Insert instance methods listed in protocols into
kono
parents:
diff changeset
3423 the global class method hash table.
kono
parents:
diff changeset
3424 * objc-act.h (IS_PROTOCOL_QUALIFIED_ID): Rename to
kono
parents:
diff changeset
3425 IS_PROTOCOL_QUALIFIED_UNTYPED and allow for 'Class <Proto>' in
kono
parents:
diff changeset
3426 addition to 'id <Proto>'.
kono
parents:
diff changeset
3427
kono
parents:
diff changeset
3428 2004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
3429
kono
parents:
diff changeset
3430 PR objc/17923
kono
parents:
diff changeset
3431 * objc-act.c (objc_build_string_object): Create a CONST_DECL
kono
parents:
diff changeset
3432 for the NeXT runtime case.
kono
parents:
diff changeset
3433
kono
parents:
diff changeset
3434 2004-10-02 Kazu Hirata <kazu@cs.umass.edu>
kono
parents:
diff changeset
3435
kono
parents:
diff changeset
3436 * objc-act.c: Fix comment typos.
kono
parents:
diff changeset
3437
kono
parents:
diff changeset
3438 2004-09-24 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3439
kono
parents:
diff changeset
3440 * objc-act.c (init_objc_symtab, init_module_descriptor,
kono
parents:
diff changeset
3441 build_shared_structure_initializer): When initializing 'long'
kono
parents:
diff changeset
3442 fields, ensure that the initializer value is also 'long'.
kono
parents:
diff changeset
3443
kono
parents:
diff changeset
3444 2004-09-24 Zack Weinberg <zack@codesourcery.com>
kono
parents:
diff changeset
3445
kono
parents:
diff changeset
3446 * objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION
kono
parents:
diff changeset
3447 throughout.
kono
parents:
diff changeset
3448 (objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION.
kono
parents:
diff changeset
3449 (build_selector_translation_table): Use %J in diagnostic
kono
parents:
diff changeset
3450 instead of diddling input_line. Fix spelling.
kono
parents:
diff changeset
3451
kono
parents:
diff changeset
3452 2004-09-21 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3453
kono
parents:
diff changeset
3454 * objc-act.c (objc_fold_objc_type_ref): New function.
kono
parents:
diff changeset
3455 * objc-act.h (objc_fold_objc_type_ref): New prototype.
kono
parents:
diff changeset
3456
kono
parents:
diff changeset
3457 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
kono
parents:
diff changeset
3458
kono
parents:
diff changeset
3459 * objc-act.c (objc_start_function, really_start_method,
kono
parents:
diff changeset
3460 objc_get_parm_info, start_method_def): Update to new arg_info
kono
parents:
diff changeset
3461 structures.
kono
parents:
diff changeset
3462
kono
parents:
diff changeset
3463 2004-09-07 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3464
kono
parents:
diff changeset
3465 * Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of
kono
parents:
diff changeset
3466 objc/objc-act.h.
kono
parents:
diff changeset
3467 (objc/objc-act.o): Depend on $(HASHTAB_H).
kono
parents:
diff changeset
3468 * objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and
kono
parents:
diff changeset
3469 objcp-decl.h instead of c-tree.h.
kono
parents:
diff changeset
3470 (build_module_descriptor, get_class_ivars, synth_id_with_class_suffix,
kono
parents:
diff changeset
3471 error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl,
kono
parents:
diff changeset
3472 build_protocol_template): Adjust prototypes.
kono
parents:
diff changeset
3473 (build_module_initializer_routine, start_class, continue_class,
kono
parents:
diff changeset
3474 finish_class, start_method_def, objc_start_function, start_protocol,
kono
parents:
diff changeset
3475 build_method_decl, objc_add_method, add_instance_variable,
kono
parents:
diff changeset
3476 build_ivar_reference, is_ivar, is_private, get_super_receiver,
kono
parents:
diff changeset
3477 build_selector_table_decl, objc_push_parm, objc_get_parm_info,
kono
parents:
diff changeset
3478 gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl,
kono
parents:
diff changeset
3479 create_field_decl): New prototypes.
kono
parents:
diff changeset
3480 (objc_expand_function_end, comp_method_with_proto, objc_expr_last,
kono
parents:
diff changeset
3481 gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl,
kono
parents:
diff changeset
3482 define_decl, create_builtin_decl, gen_declspecs): Remove prototypes.
kono
parents:
diff changeset
3483 (TYPE_ID): Rename to OBJECT_TYPEDEF_NAME.
kono
parents:
diff changeset
3484 (CLASS_TYPEDEF_NAME): New.
kono
parents:
diff changeset
3485 (TAG_EXECCLASS): Change from a global variable to a #define.
kono
parents:
diff changeset
3486 (TAG_RETURN_STRUCT): Delete.
kono
parents:
diff changeset
3487 (TAG_GNUINIT): New, holds '__objc_gnu_init' name.
kono
parents:
diff changeset
3488 (objc_inherit_code, objc_public_flag): New, moved from c-parse.in.
kono
parents:
diff changeset
3489 (string_descriptor): New struct.
kono
parents:
diff changeset
3490 (string_htab): New hash table.
kono
parents:
diff changeset
3491 (string_hash, string_eq): New prototypes.
kono
parents:
diff changeset
3492 (generate_struct_by_value_array): Call create_field_decl() instead of
kono
parents:
diff changeset
3493 create_builtin_decl().
kono
parents:
diff changeset
3494 (objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS;
kono
parents:
diff changeset
3495 In ObjC++ mode, call cxx_init() instead of c_objc_common_init().
kono
parents:
diff changeset
3496 (objc_finish_file): In ObjC++, call instantiate_pending_templates()
kono
parents:
diff changeset
3497 and cp_finish_file().
kono
parents:
diff changeset
3498 (define_decl, get_static_reference, get_protocol_reference,
kono
parents:
diff changeset
3499 create_builtin_decl): Remove functions.
kono
parents:
diff changeset
3500 (objc_start_class_interface, objc_start_category_interface,
kono
parents:
diff changeset
3501 objc_start_protocol, objc_continue_interface, objc_finish_interface,
kono
parents:
diff changeset
3502 objc_start_class_implementation, objc_start_category_implementation,
kono
parents:
diff changeset
3503 objc_continue_implementation, objc_finish_implementation,
kono
parents:
diff changeset
3504 objc_set_visibility, objc_set_method_type,
kono
parents:
diff changeset
3505 objc_build_method_signature, objc_add_method_declaration,
kono
parents:
diff changeset
3506 objc_start_method_definition, objc_add_instance_variable,
kono
parents:
diff changeset
3507 objc_get_protocol_qualified_type, create_field_decl,
kono
parents:
diff changeset
3508 start_var_decl, finish_var_decl): New functions.
kono
parents:
diff changeset
3509 (setup_string_decl): Simplify since it is only called once.
kono
parents:
diff changeset
3510 (synth_module_prologue): Call build_class_template(); predefine 'id'
kono
parents:
diff changeset
3511 and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug
kono
parents:
diff changeset
3512 hooks for duration of function; fix GNU runtime messenger signatures
kono
parents:
diff changeset
3513 to correspond to reality; forward-declare '__objc_exec_class' for the
kono
parents:
diff changeset
3514 GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate
kono
parents:
diff changeset
3515 'extern "C" { ... }' wrappers around synthesized declarations; call
kono
parents:
diff changeset
3516 build_protocol_template() and build_category_template().
kono
parents:
diff changeset
3517 (string_hash, string_eq): New functions.
kono
parents:
diff changeset
3518 (objc_build_string_object): Check metaclass correctness only once;
kono
parents:
diff changeset
3519 store string literals in hash table.
kono
parents:
diff changeset
3520 (objc_build_constructor): Do not convert initializer elements;
kono
parents:
diff changeset
3521 adjust for ObjC++ impedance mismatch.
kono
parents:
diff changeset
3522 (build_objc_symtab_template): Call create_field_decl() instead of
kono
parents:
diff changeset
3523 create_builtin_decl().
kono
parents:
diff changeset
3524 (init_objc_symtab): Add missing conversion to initializer element.
kono
parents:
diff changeset
3525 (build_metadata_decl): Call start_var_decl() instead of define_decl().
kono
parents:
diff changeset
3526 (generate_objc_symtab_decl): Do not call build_category_template();
kono
parents:
diff changeset
3527 call start_var_decl() and finish_var_decl() instead of start_decl()
kono
parents:
diff changeset
3528 and finish_decl().
kono
parents:
diff changeset
3529 (build_module_descriptor): Call create_field_decl() instead of
kono
parents:
diff changeset
3530 grokfield(); call start_var_decl() and finish_var_decl() instead of
kono
parents:
diff changeset
3531 start_decl() and finish_decl(); always mark module descriptor as
kono
parents:
diff changeset
3532 used; move GNU runtime-specific functionality to
kono
parents:
diff changeset
3533 build_module_initializer_routine().
kono
parents:
diff changeset
3534 (build_module_initializer_routine): New function, broken off of
kono
parents:
diff changeset
3535 build_module_descriptor().
kono
parents:
diff changeset
3536 (objc_static_init_needed_p, objc_generate_static_init_call): New
kono
parents:
diff changeset
3537 functions.
kono
parents:
diff changeset
3538 (generate_static_references, generate_strings,
kono
parents:
diff changeset
3539 build_selector_translation_table, generate_descriptor_table,
kono
parents:
diff changeset
3540 generate_ivars_list, generate_dispatch_table, generate_category): Call
kono
parents:
diff changeset
3541 start_var_decl() and finish_var_decl() instead of start_decl() and
kono
parents:
diff changeset
3542 finish_decl(); build a type directly instead of via groktypename().
kono
parents:
diff changeset
3543 (build_selector_reference_decl, build_selector_table_decl,
kono
parents:
diff changeset
3544 build_class_reference_decl, build_protocol_reference,
kono
parents:
diff changeset
3545 generate_objc_image_info): Call start_var_decl() instead of
kono
parents:
diff changeset
3546 build_decl().
kono
parents:
diff changeset
3547 (build_selector_reference): For GNU runtime, do not call
kono
parents:
diff changeset
3548 build_selector_reference_decl().
kono
parents:
diff changeset
3549 (build_selector, build_typed_selector_reference): Always convert
kono
parents:
diff changeset
3550 result to the selector type.
kono
parents:
diff changeset
3551 (add_objc_string): Cast return value to 'char *'.
kono
parents:
diff changeset
3552 (build_method_prototype_template, build_selector_template,
kono
parents:
diff changeset
3553 build_method_template): Use actual selector type for fields
kono
parents:
diff changeset
3554 pointing to selectors.
kono
parents:
diff changeset
3555 (finish_objc): For GNU runtime, call
kono
parents:
diff changeset
3556 build_module_initializer_routine() after build_module_descriptor().
kono
parents:
diff changeset
3557 (generate_protocol_list, generate_shared_structures): Call
kono
parents:
diff changeset
3558 start_var_decl() and finish_var_decl() instead of start_decl() and
kono
parents:
diff changeset
3559 finish_decl(); build a type directly instead of via
kono
parents:
diff changeset
3560 groktypename().
kono
parents:
diff changeset
3561 (synth_id_with_class_suffix): Return a string.
kono
parents:
diff changeset
3562 (get_arg_type_list): For instance methods, use the instance type for
kono
parents:
diff changeset
3563 'self'; do not call groktypename_in_parm_context().
kono
parents:
diff changeset
3564 (build_objc_string_decl): Squash redeclaration errors in ObjC++.
kono
parents:
diff changeset
3565 (objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME;
kono
parents:
diff changeset
3566 handle RECORD_TYPEs in ObjC as well as ObjC++.
kono
parents:
diff changeset
3567 (objc_is_id): New function.
kono
parents:
diff changeset
3568 (objc_is_object_ptr): Return the canonical type node.
kono
parents:
diff changeset
3569 (objc_get_class_ivars): Simplify using get_class_ivars().
kono
parents:
diff changeset
3570 (get_class_ivars): Remove second parameter; create a fresh copy
kono
parents:
diff changeset
3571 of the ivar list for each call; do not check for existence of
kono
parents:
diff changeset
3572 super class.
kono
parents:
diff changeset
3573 (objc_eh_runtime_type): Mark #ifndef OBJCPLUS.
kono
parents:
diff changeset
3574 (objc_init_exceptions): When using SJLJ-style exceptions, require
kono
parents:
diff changeset
3575 the use of '-fobjc-exceptions' flag; do not require it for DWARF-style
kono
parents:
diff changeset
3576 exceptions.
kono
parents:
diff changeset
3577 (objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use
kono
parents:
diff changeset
3578 objc_object_type instead of objc_id_type.
kono
parents:
diff changeset
3579 (objc_begin_catch_clause): Convert the incoming PARM_DECL into
kono
parents:
diff changeset
3580 a VAR_DECL before placing it in the appropriate scope; do not
kono
parents:
diff changeset
3581 call define_decl(); adjust call to c_begin_compound_stmt();
kono
parents:
diff changeset
3582 use objc_object_type instead of objc_id_type.
kono
parents:
diff changeset
3583 (build_next_objc_exception_stuff): Call create_field_decl() instead
kono
parents:
diff changeset
3584 of create_builtin_decl(); construct type directly instead of calling
kono
parents:
diff changeset
3585 groktypename(); use OBJC_VOID_AT_END to mark end of function parameters.
kono
parents:
diff changeset
3586 (build_private_template): Adjust call to get_class_ivars(); build
kono
parents:
diff changeset
3587 a type directly instead of via groktypename().
kono
parents:
diff changeset
3588 (build_protocol_template, build_method_prototype_list_template,
kono
parents:
diff changeset
3589 build_method_prototype_template, build_category_template,
kono
parents:
diff changeset
3590 build_selector_template, build_class_template, build_super_template,
kono
parents:
diff changeset
3591 build_ivar_template, build_ivar_list_template,
kono
parents:
diff changeset
3592 build_method_list_template, build_method_template):
kono
parents:
diff changeset
3593 Call create_field_decl() instead of grokfield().
kono
parents:
diff changeset
3594 (objc_method_parm_type): Do not call groktypename().
kono
parents:
diff changeset
3595 (generate_descriptor_table): Call start_var_decl() and
kono
parents:
diff changeset
3596 finish_var_decl() instead of start_decl() and finish_decl().
kono
parents:
diff changeset
3597 (generate_method_descriptors, build_protocol_initializer,
kono
parents:
diff changeset
3598 generate_dispatch_tables, build_category_initializer,
kono
parents:
diff changeset
3599 build_shared_structure_initializer): Do not call groktypename().
kono
parents:
diff changeset
3600 (generate_protocols): Call start_var_decl() and finish_var_decl()
kono
parents:
diff changeset
3601 instead of start_decl() and finish_decl(); do not call groktypename().
kono
parents:
diff changeset
3602 (error_with_ivar): Remove last parameter.
kono
parents:
diff changeset
3603 (check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition
kono
parents:
diff changeset
3604 to CLASS_IVARS lists; adjust calls to error_with_ivar().
kono
parents:
diff changeset
3605 (generate_ivar_lists): Convert one of the initializer elements; do
kono
parents:
diff changeset
3606 not call groktypename().
kono
parents:
diff changeset
3607 (get_arg_type_list, start_method_def, gen_method_def): Account for
kono
parents:
diff changeset
3608 new representation of variable arguments and '...' in Objective-C
kono
parents:
diff changeset
3609 methods; add Objective-C++ impedance matching code.
kono
parents:
diff changeset
3610 (is_objc_type_qualifier): Remove function.
kono
parents:
diff changeset
3611 (adjust_type_for_id_default): Simplify; there is no longer a need to
kono
parents:
diff changeset
3612 wade through declspecs.
kono
parents:
diff changeset
3613 (lookup_interface, start_class, continue_class,
kono
parents:
diff changeset
3614 finish_class, start_method_def, start_protocol, build_method_decl,
kono
parents:
diff changeset
3615 objc_add_method, add_instance_variable, build_ivar_reference,
kono
parents:
diff changeset
3616 is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue):
kono
parents:
diff changeset
3617 Make into static functions.
kono
parents:
diff changeset
3618 (receiver_is_class_object): Use new IS_CLASS() macro.
kono
parents:
diff changeset
3619 (objc_build_message_expr): Tweak ObjC++ message argument handling;
kono
parents:
diff changeset
3620 call objc_finish_message_expr() instead of finish_message_expr().
kono
parents:
diff changeset
3621 (finish_message_expr): Rename to objc_finish_message_expr(); use
kono
parents:
diff changeset
3622 OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME.
kono
parents:
diff changeset
3623 call gen_type_name() instead of gen_declaration(); call objc_is_id()
kono
parents:
diff changeset
3624 instead of using IS_ID and IS_CLASS; Use objc_class_name instead of
kono
parents:
diff changeset
3625 calling get_identifier("Class"); handle CONVERT_EXPRs in receiver.
kono
parents:
diff changeset
3626 (build_objc_method_call, warn_with_method): Do not call groktypename().
kono
parents:
diff changeset
3627 (build_ivar_reference): Call convert() instead of clobbering in a
kono
parents:
diff changeset
3628 type.
kono
parents:
diff changeset
3629 (hash_init): Initialize string_htab hash table.
kono
parents:
diff changeset
3630 (add_instance_variable): Simplify parameter list; do not call grokfield();
kono
parents:
diff changeset
3631 do not populate CLASS_IVARS list.
kono
parents:
diff changeset
3632 (start_class): Check for the existence of super class, if one was specified.
kono
parents:
diff changeset
3633 (continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not
kono
parents:
diff changeset
3634 call build_class_template(); adjust call to get_class_ivars(); call
kono
parents:
diff changeset
3635 build_decl(), pushdecl() and finish_decl() instead of define_decl().
kono
parents:
diff changeset
3636 (finish_class): Call build_decl(), pushdecl() and finish_decl() instead
kono
parents:
diff changeset
3637 of define_decl().
kono
parents:
diff changeset
3638 (add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size.
kono
parents:
diff changeset
3639 (start_protocol): Do not call build_protocol_template(); use
kono
parents:
diff changeset
3640 PROTOCOL_BINFO_ELTS for the tree vector size.
kono
parents:
diff changeset
3641 (encode_type_qualifiers): Do not handle the 'const' qualifier here.
kono
parents:
diff changeset
3642 (encode_pointer): Encode 'const char *' as 'r*', for backwards
kono
parents:
diff changeset
3643 compatibility.
kono
parents:
diff changeset
3644 (encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld".
kono
parents:
diff changeset
3645 (encode_type): Handle the 'const' qualifier here.
kono
parents:
diff changeset
3646 (objc_parmlist): New global variable, sued by objc_push_parm and
kono
parents:
diff changeset
3647 objc_get_parm_info().
kono
parents:
diff changeset
3648 (objc_push_parm, objc_get_parm_info): New functions.
kono
parents:
diff changeset
3649 (objc_expr_last): Remove function.
kono
parents:
diff changeset
3650 (synth_self_and_ucmd_args): For instance methods, use the instance
kono
parents:
diff changeset
3651 type for 'self'; call objc_push_parm() instead of push_parm_decl().
kono
parents:
diff changeset
3652 (start_method_def): Do not call push_scope(), declare_parm_level(),
kono
parents:
diff changeset
3653 pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last();
kono
parents:
diff changeset
3654 just use objc_push_parm() and objc_get_parm_info().
kono
parents:
diff changeset
3655 (comp_method_with_proto): Remove function.
kono
parents:
diff changeset
3656 (objc_types_are_equivalent): Strip away indirections before comparing
kono
parents:
diff changeset
3657 underlying types.
kono
parents:
diff changeset
3658 (comp_proto_with_proto): Do not call groktypename(); types are no
kono
parents:
diff changeset
3659 longer in raw declspec format.
kono
parents:
diff changeset
3660 (objc_start_function): New function.
kono
parents:
diff changeset
3661 (really_start_method): Call comp_proto_with_proto() instead of
kono
parents:
diff changeset
3662 comp_method_with_proto(); call objc_start_function() instead of
kono
parents:
diff changeset
3663 hand-crafting a function declarator.
kono
parents:
diff changeset
3664 (continue_method_def, objc_expand_function_end): Remove functions.
kono
parents:
diff changeset
3665 (get_super_receiver): Call objc_get_current_scope() instead of
kono
parents:
diff changeset
3666 get_current_scope(); reference 'super_class' field (instead of
kono
parents:
diff changeset
3667 'class').
kono
parents:
diff changeset
3668 (finish_method_def): Rename to objc_finish_method_definition() and
kono
parents:
diff changeset
3669 add a function decl parameter; move method encoding call from
kono
parents:
diff changeset
3670 objc_expand_function_end().
kono
parents:
diff changeset
3671 (is_complex_decl, adorn_decl, gen_declarator, gen_declspecs,
kono
parents:
diff changeset
3672 gen_declaration_1): Remove functions.
kono
parents:
diff changeset
3673 (tmpbuf, RAW_DECLSPEC): Remove.
kono
parents:
diff changeset
3674 (gen_declaration): Remove second parameter; simplify to deal
kono
parents:
diff changeset
3675 with TYPE_P nodes instead of raw declspecs.
kono
parents:
diff changeset
3676 (gen_type_name, gen_type_name_0): New functions.
kono
parents:
diff changeset
3677 (gen_method_decl): Remove second parameter; call gen_type_name()
kono
parents:
diff changeset
3678 instead of gen_declaration_1().
kono
parents:
diff changeset
3679 (dump_interface): Adjust calls to gen_declaration() and
kono
parents:
diff changeset
3680 gen_method_decl(); do not allocate a separate string buffer.
kono
parents:
diff changeset
3681 (init_objc): Allocate a larger string buffer to accommodate
kono
parents:
diff changeset
3682 dump_interface(); adjust call to build_module_descriptor();
kono
parents:
diff changeset
3683 add call to build_module_initializer_routine() for the GNU
kono
parents:
diff changeset
3684 runtime.
kono
parents:
diff changeset
3685 (generate_classref_translation_entry): Do not call start_decl(); call
kono
parents:
diff changeset
3686 finish_var_decl() instead of finish_decl(); call convert() instead of
kono
parents:
diff changeset
3687 build_c_cast().
kono
parents:
diff changeset
3688 * objc-act.h (CLASS_OWN_IVARS): Remove accessor.
kono
parents:
diff changeset
3689 (CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is
kono
parents:
diff changeset
3690 gone.
kono
parents:
diff changeset
3691 (OCTI_GNU_INIT_DECL, GNU_INIT_decl): New.
kono
parents:
diff changeset
3692 (OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove.
kono
parents:
diff changeset
3693 (OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME,
kono
parents:
diff changeset
3694 objc_object_type and objc_object_name, respectively.
kono
parents:
diff changeset
3695 (OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference,
kono
parents:
diff changeset
3696 objc_class_name): New.
kono
parents:
diff changeset
3697 (IS_CLASS): New macro.
kono
parents:
diff changeset
3698 (IS_ID, IS_SUPER): Robustify.
kono
parents:
diff changeset
3699 (OCTI_EXECCLASS_DECL, execclass_decl): New.
kono
parents:
diff changeset
3700 (finish_file, start_class, continue_class, finish_class,
kono
parents:
diff changeset
3701 start_method_def, continue_method_def, finish_method_def,
kono
parents:
diff changeset
3702 start_protocol, finish_protocol, objc_build_throw_stmt,
kono
parents:
diff changeset
3703 objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
kono
parents:
diff changeset
3704 objc_build_synchronized_epilogue, objc_build_try_prologue,
kono
parents:
diff changeset
3705 objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue,
kono
parents:
diff changeset
3706 objc_build_finally_prologue, objc_build_finally_epilogue,
kono
parents:
diff changeset
3707 is_ivar, is_private, is_public, add_instance_variable, objc_add_method,
kono
parents:
diff changeset
3708 get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name,
kono
parents:
diff changeset
3709 get_class_reference, get_static_reference, get_object_reference,
kono
parents:
diff changeset
3710 build_message_expr, finish_message_expr, build_selector_expr,
kono
parents:
diff changeset
3711 build_ivar_reference, build_keyword_decl, build_method_decl,
kono
parents:
diff changeset
3712 build_protocol_expr, build_objc_string_object, objc_declare_alias,
kono
parents:
diff changeset
3713 objc_declare_class, objc_declare_protocols, objc_comptypes,
kono
parents:
diff changeset
3714 objc_check_decl, build_encode_expr): Remove prototypes.
kono
parents:
diff changeset
3715 (imp_count, cat_count): Make GGC-aware.
kono
parents:
diff changeset
3716 (OBJC_SET_TYPE_NAME): New macro.
kono
parents:
diff changeset
3717
kono
parents:
diff changeset
3718 2004-09-03 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3719
kono
parents:
diff changeset
3720 * config-lang.in: Update copyright notice.
kono
parents:
diff changeset
3721 (lang_requires): Indicate that ObjC requires C to be built first.
kono
parents:
diff changeset
3722
kono
parents:
diff changeset
3723 2004-09-01 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3724
kono
parents:
diff changeset
3725 * objc-act.c (objc_check_decl): Use OBJC_TYPE_NAME macro instead of
kono
parents:
diff changeset
3726 TYPE_NAME.
kono
parents:
diff changeset
3727 (build_objc_string_object): Rename to objc_build_string_object().
kono
parents:
diff changeset
3728 (get_class_reference): Rename to objc_get_class_reference().
kono
parents:
diff changeset
3729 (get_class_ivars_from_name): Rename to objc_get_class_ivars().
kono
parents:
diff changeset
3730 (next_sjlj_build_catch_list, get_super_receiver): Call
kono
parents:
diff changeset
3731 objc_get_class_reference() instead of get_class_reference().
kono
parents:
diff changeset
3732 (build_keyword_decl): Rename to objc_build_keyword_decl().
kono
parents:
diff changeset
3733 (build_message_expr): Rename to objc_build_message_expr().
kono
parents:
diff changeset
3734 (build_protocol_expr): Rename to objc_build_protocol_expr().
kono
parents:
diff changeset
3735 (build_selector_expr): Rename to objc_build_selector_expr().
kono
parents:
diff changeset
3736 (build_encode_expr): Rename to objc_build_encode_expr().
kono
parents:
diff changeset
3737 * objc-act.h (get_class_ivars_from_name): Rename prototype to
kono
parents:
diff changeset
3738 objc_get_class_ivars().
kono
parents:
diff changeset
3739 (get_class_reference): Rename prototype to objc_get_class_reference().
kono
parents:
diff changeset
3740 (build_message_expr): Rename prototype to objc_build_message_expr().
kono
parents:
diff changeset
3741 (build_selector_expr): Rename prototype to objc_build_selector_expr().
kono
parents:
diff changeset
3742 (build_keyword_decl): Rename prototype to objc_build_keyword_decl().
kono
parents:
diff changeset
3743 (build_protocol_expr): Rename prototype to objc_build_prototype_expr().
kono
parents:
diff changeset
3744 (build_objc_string_object): Rename prototype to
kono
parents:
diff changeset
3745 objc_build_string_object().
kono
parents:
diff changeset
3746
kono
parents:
diff changeset
3747 2004-09-01 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3748
kono
parents:
diff changeset
3749 * objc-act.c (lookup_interface): Make function 'static' and add a
kono
parents:
diff changeset
3750 local prototype.
kono
parents:
diff changeset
3751 (objc_check_decl, get_class_reference, objc_declare_alias,
kono
parents:
diff changeset
3752 objc_declare_class, objc_is_object_ptr): Call objc_is_class_name()
kono
parents:
diff changeset
3753 instead of is_class_name().
kono
parents:
diff changeset
3754 (get_super_receiver, objc_clear_super_receiver): Call
kono
parents:
diff changeset
3755 objc_get_current_scope() instead of get_current_scope().
kono
parents:
diff changeset
3756 (is_class_name): Rename to objc_is_class_name.
kono
parents:
diff changeset
3757 (lookup_objc_ivar): Rename to objc_lookup_ivar.
kono
parents:
diff changeset
3758
kono
parents:
diff changeset
3759 2004-08-28 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3760
kono
parents:
diff changeset
3761 * objc-act.c (objc_is_reserved_word): New function.
kono
parents:
diff changeset
3762
kono
parents:
diff changeset
3763 2004-08-15 Ziemowit Laski <zlaski@apple.com>
kono
parents:
diff changeset
3764
kono
parents:
diff changeset
3765 * Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H),
kono
parents:
diff changeset
3766 $(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h.
kono
parents:
diff changeset
3767 (objc/objc-parse.o): Do not depend on gtype-objc.h.
kono
parents:
diff changeset
3768 * objc-act.c: Do not include gtype-objc.h.
kono
parents:
diff changeset
3769 (finish_file): Rename to objc_finish_file().
kono
parents:
diff changeset
3770 * objc-act.h (finish_file): Update copyright notice; remove prototype.
kono
parents:
diff changeset
3771 * objc-lang.c: Update copyright notice; include diagnostic.h,
kono
parents:
diff changeset
3772 c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include
kono
parents:
diff changeset
3773 toplev.h.
kono
parents:
diff changeset
3774 (finish_file): New hook routine.
kono
parents:
diff changeset
3775 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
kono
parents:
diff changeset
3776 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
kono
parents:
diff changeset
3777 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
kono
parents:
diff changeset
3778 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
kono
parents:
diff changeset
3779 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
kono
parents:
diff changeset
3780 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
kono
parents:
diff changeset
3781 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
kono
parents:
diff changeset
3782 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
kono
parents:
diff changeset
3783 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
kono
parents:
diff changeset
3784 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
kono
parents:
diff changeset
3785 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
kono
parents:
diff changeset
3786 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
kono
parents:
diff changeset
3787 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
kono
parents:
diff changeset
3788 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
kono
parents:
diff changeset
3789 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
kono
parents:
diff changeset
3790 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
kono
parents:
diff changeset
3791 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
kono
parents:
diff changeset
3792 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
kono
parents:
diff changeset
3793 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
kono
parents:
diff changeset
3794 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
kono
parents:
diff changeset
3795 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
kono
parents:
diff changeset
3796 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
kono
parents:
diff changeset
3797 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
kono
parents:
diff changeset
3798 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
kono
parents:
diff changeset
3799 Move to c-objc-common.h.
kono
parents:
diff changeset
3800
kono
parents:
diff changeset
3801
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3802 Copyright (C) 2004-2018 Free Software Foundation, Inc.
111
kono
parents:
diff changeset
3803
kono
parents:
diff changeset
3804 Copying and distribution of this file, with or without modification,
kono
parents:
diff changeset
3805 are permitted in any medium without royalty provided the copyright
kono
parents:
diff changeset
3806 notice and this notice are preserved.