]>
Commit | Line | Data |
---|---|---|
13107ec0 TT |
1 | 2000-07-27 Tom Tromey <tromey@cygnus.com> |
2 | Anthony Green <green@cygnus.com> | |
3 | Alexandre Petit-Bianco <apbianco@cygnus.com> | |
4 | ||
5 | * class.c (make_class_data): Create vtable for abstract classes. | |
6 | (get_dispatch_table): Changed to cope with abstract classes. | |
7 | ||
da632f2c APB |
8 | 2000-07-27 Tom Tromey <tromey@cygnus.com> |
9 | ||
10 | * parse.y (patch_method_invocation): Don't reverse the argument | |
11 | list when dealing with anonymous class constructors. Fixed typo in | |
12 | comment. | |
13 | ||
14 | 2000-07-27 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
15 | ||
16 | * parse.y (build_alias_initializer_parameter_list): Reverse | |
17 | crafted list when building aliases for anonymous class | |
18 | constructors. | |
19 | ||
1e12ab9b APB |
20 | 2000-07-25 Alexandre Petit-Bianco <apbianco@cygnus.com> |
21 | ||
22 | * parse.y (jdep_resolve_class): Don't bother checking potential | |
23 | innerclass access if `decl' is NULL. | |
24 | (find_in_imports_on_demand): TREE_PURPOSE of `import' contains the | |
25 | WFL. | |
26 | ||
4c31fe99 APB |
27 | 2000-07-25 Alexandre Petit-Bianco <apbianco@cygnus.com> |
28 | ||
29 | * parse.c: Remove (again.) | |
30 | ||
1e12ab9b APB |
31 | 2000-07-24 Alexandre Petit-Bianco <apbianco@cygnus.com> |
32 | ||
33 | * parse.y (find_as_inner_class): Removed 2000-07-19 patches. | |
34 | * jcf-parse.c (HANDLE_INNERCLASSES_ATTRIBUTE): Local `decl' moved | |
35 | outside the `if' statement, alias to innerclass removed, `decl' | |
36 | used to mark the class complete. | |
37 | ||
f4530f43 APB |
38 | 2000-07-21 Alexandre Petit-Bianco <apbianco@cygnus.com> |
39 | ||
40 | * parse.y (simple_name:): Fixed typo in error message. | |
41 | ||
e7c7bcef APB |
42 | 2000-07-21 Alexandre Petit-Bianco <apbianco@cygnus.com> |
43 | ||
44 | * parse.y (java_complete_lhs): LOOP_EXPR:, SWITCH_EXPR: the node | |
45 | or its first operand can be error marks. | |
46 | ||
47 | 2000-07-20 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
48 | ||
49 | * parse.h (SET_TYPE_FOR_RESOLUTION): Use GET_CPC. | |
50 | * parse.y (method_header): Likewise. | |
51 | ||
52 | 2000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
53 | ||
54 | * parse.y (find_as_inner_class): Handle the case where the | |
55 | enclosing context of an innerclass has been loaded as bytecode. | |
56 | ||
4142b247 APB |
57 | 2000-07-19 Alexandre Petit-Bianco <apbianco@cygnus.com> |
58 | ||
59 | * parse.y (simple_name:): Reject `$' in type names. | |
60 | (resolve_type_during_patch): Use `type' as a second | |
61 | argument to resolve_no_layout. Fixes gcj/257. | |
62 | ||
ca2875c4 JS |
63 | 2000-07-18 Jeff Sturm <jeff.sturm@appnet.com> |
64 | ||
65 | * lang-specs.h: Added %(jc1) to java compiler options. | |
66 | ||
bfbbc080 ZW |
67 | 2000-07-14 Zack Weinberg <zack@wolery.cumb.org> |
68 | ||
69 | * .cvsignore: New file. | |
70 | ||
11b26d72 APB |
71 | 2000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com> |
72 | ||
73 | * parse.y (not_accessible_p): Access granted to innerclasses | |
74 | (indirectly) extending the reference type. Fixes gcj/249. | |
75 | ||
76 | 2000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
77 | ||
78 | * parse.y (patch_method_invocation): Fixed comment. | |
79 | (maybe_use_access_method): Build this$<n>s to the context of the | |
80 | target method, or a type that extends it. Fixes gcj/242. | |
81 | ||
649c9142 MM |
82 | 2000-07-13 Mark Mitchell <mark@codesourcery.com> |
83 | ||
84 | * parse.c: Remove. | |
85 | ||
ee97d354 APB |
86 | 2000-07-13 Alexandre Petit-Bianco <apbianco@cygnus.com> |
87 | ||
88 | * parse.y (fold_constant_for_init): Avoid bullish conversion. | |
89 | ||
44fadf1e TT |
90 | 2000-07-13 Tom Tromey <tromey@cygnus.com> |
91 | ||
92 | * lang-specs.h: Added %{I*}. | |
93 | ||
ea414c97 ZW |
94 | 2000-07-13 Zack Weinberg <zack@wolery.cumb.org> |
95 | ||
96 | * lang-specs.h: Use the new named specs. Remove unnecessary braces. | |
97 | ||
792abd35 MM |
98 | 2000-07-12 Mark Mitchell <mark@codesourcery.com> |
99 | ||
100 | * parse-scan.c: Remove. | |
101 | ||
11b26d72 APB |
102 | 2000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com> |
103 | ||
104 | * class.c (set_super_info): Handled protected inner classes. | |
105 | (common_enclosing_context_p): Bail early if arguments aren't both | |
106 | inner classes. | |
107 | (get_access_flags_from_decl): Handle private and protected inner | |
108 | classes. | |
109 | * java-tree.h (TYPE_PROTECTED_INNER_CLASS): New macro. | |
110 | (CLASS_PROTECTED): Likewise. | |
111 | (struct lang_type): New bitfield `poic.' | |
112 | * parse.y (jdep_resolve_class): Call check_inner_class_access on | |
113 | inner classes only. | |
114 | (check_inner_class_access): Renamed arguments, added | |
115 | comments. Handles protected inner classes (fixes gcj/225) | |
116 | (not_accessible_p): Fixed comments. Avoid handling inner classes. | |
117 | ||
118 | 2000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
119 | ||
120 | * parse.y (resolve_qualified_expression_name): Verify qualified | |
121 | access to `this.' Fixes gcj/239. | |
122 | ||
e67eb1a0 | 123 | 2000-07-10 Alexandre Petit-Bianco <apbianco@cygnus.com> |
2f2bd00a | 124 | |
e67eb1a0 APB |
125 | * jcf-write.c (generate_classfile): Don't install ConstantValue |
126 | for null pointers. | |
2f2bd00a | 127 | |
11b26d72 APB |
128 | 2000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com> |
129 | ||
130 | * parse.y (resolve_qualified_expression_name): Handle inner class | |
131 | access. Fixes gcj/256. | |
132 | ||
629d4b4d APB |
133 | 2000-07-07 Alexandre Petit-Bianco <apbianco@cygnus.com> |
134 | ||
135 | * jcf-write.c (generate_classfile): Properly install the | |
136 | ConstantValue attribute and the initial value constant pool index | |
137 | on string constants. | |
138 | * parse.y (java_complete_lhs): Keep DECL_INITIAL when emitting | |
139 | class files. | |
140 | ||
0c2b8145 APB |
141 | 2000-07-06 Alexandre Petit-Bianco <apbianco@cygnus.com> |
142 | ||
143 | * parse.h (BUILD_PTR_FROM_NAME): Surround with a do/while | |
144 | construct. | |
145 | * parse.y (find_as_inner_class): Fixed typo. | |
146 | (do_resolve_class): Explore enclosing contexts when searching for | |
147 | innerclasses. Removed curly brackets around BUILD_PTR_FROM_NAME. | |
148 | (check_inner_class_access): Check `decl' which can be null in case | |
149 | of previous errors. | |
150 | ||
151 | 2000-07-05 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
152 | ||
153 | * java-tree.h (java_debug_context): Declared `extern.' | |
154 | (safe_layout_class): Likewise. | |
155 | * parse.y (resolve_field_access): Field must be `static' in order | |
156 | to be replaced by its initial value. Added comments. | |
157 | (find_applicable_accessible_methods_list): Fixed typo. | |
158 | (find_most_specific_methods_list): Methods found in innerclasses | |
159 | take over methods founds in the enclosing contexts. | |
160 | (java_complete_tree): Loosen restrictions on the type of DECLs | |
161 | that can be replaced by their initialization values. | |
162 | (valid_ref_assignconv_cast_p): Removed call to `enclosing_context_p.' | |
163 | ||
0267da64 TT |
164 | 2000-07-05 Tom Tromey <tromey@cygnus.com> |
165 | ||
166 | * Make-lang.in (PARSE_DIR): New macro. | |
167 | (PARSE_RELDIR): Likewise. | |
168 | (PARSE_C): Likewise. | |
169 | (PARSE_SCAN_C): Likewise. | |
170 | ($(PARSE_C)): New target. | |
171 | ($(PARSE_SCAN_C)): Likewise. | |
172 | (SET_BISON): New macro. | |
173 | (BISONFLAGS): Likewise. | |
174 | (JAVABISONFLAGS): Likewise. | |
175 | ||
1bbee75b BM |
176 | 2000-07-02 Bryce McKinlay <bryce@albatross.co.nz> |
177 | ||
178 | * gjavah.c (HANDLE_METHOD): Call print_method_info with a NULL stream | |
179 | argument on the first pass for CNI as well as JNI. | |
180 | (print_method_info): Set up method name on the first pass only. | |
181 | ||
98a52c2c APB |
182 | 2000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com> |
183 | ||
184 | * parse.y (parser_qualified_classname): Removed parameter | |
185 | `is_static'. | |
186 | (create_interface): Removed first passed parameter to | |
187 | parser_qualified_classname. | |
188 | (create_class): Likewise. Don't install alias on static | |
189 | innerclasses. Fixes gcj/275. | |
190 | ||
191 | 2000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
192 | ||
193 | * parse.y (maybe_generate_pre_expand_clinit): Don't build a | |
194 | debugable statement with empty_stmt_node. Fixes gcj/272 | |
195 | ||
196 | 2000-07-01 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
197 | ||
198 | * expr.c (build_instanceof): Layout type after it's loaded. Fixes | |
199 | gcj/271. | |
200 | ||
c1c8f8cc APB |
201 | 2000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com> |
202 | ||
203 | * jcf-write.c (push_long_const): Appropriately cast short negative | |
204 | constant to jword. | |
205 | ||
cf1b2274 APB |
206 | 2000-06-29 Alexandre Petit-Bianco <apbianco@cygnus.com> |
207 | ||
208 | * parse.y (verify_constructor_super): Use loop variable | |
209 | `m_arg_type' initialized with `mdecl_arg_type'. | |
210 | ||
6eaeeb55 TT |
211 | 2000-06-29 Tom Tromey <tromey@cygnus.com> |
212 | ||
213 | * parse.y (resolve_field_access): Handle case where `type_found' | |
214 | is NULL. | |
215 | ||
18ee3d5e APB |
216 | 2000-06-27 Alexandre Petit-Bianco <apbianco@cygnus.com> |
217 | ||
218 | * expr.c (lookup_field): The same field can be found through two | |
219 | different interface. Don't declare it ambiguous in that case. | |
220 | ||
61d5c158 TT |
221 | 2000-06-27 Tom Tromey <tromey@cygnus.com> |
222 | ||
223 | * lex.c (java_lineterminator): Don't recognize \r after \n. If \r | |
224 | follows \r, then unget it at a lower level. | |
225 | ||
70541f45 TT |
226 | 2000-06-26 Tom Tromey <tromey@cygnus.com> |
227 | ||
228 | * parse.y (resolve_field_access): Pass decl, not DECL_INITIAL, to | |
229 | java_complete_tree. | |
230 | ||
774d2baf TT |
231 | 2000-06-25 Tom Tromey <tromey@cygnus.com> |
232 | ||
233 | * parse.y (for_statement): Wrap expression in a WFL if it is a | |
234 | constant. For PR gcj/268. | |
235 | ||
d6baf6f5 APB |
236 | 2000-06-25 Alexandre Petit-Bianco <apbianco@cygnus.com> |
237 | ||
238 | * parse.y (do_resolve_class): Minor optimiztion in the package | |
239 | list search. Removed unecessary test and return statement. | |
240 | (valid_ref_assignconv_cast_p): Order of arguments to | |
241 | enclosing_context_p fixed. | |
242 | ||
120f0c10 TT |
243 | 2000-06-24 Tom Tromey <tromey@cygnus.com> |
244 | ||
ae4a4c88 TT |
245 | * expr.c (lookup_field): Print error and return error_mark_node if |
246 | field reference is ambiguous. | |
247 | ||
120f0c10 TT |
248 | * parse.y (check_abstract_method_definitions): Also check if |
249 | `other_method' is abstract. | |
250 | ||
cf1748bf APB |
251 | 2000-06-23 Alexandre Petit-Bianco <apbianco@cygnus.com> |
252 | ||
253 | * class.c (set_super_info): Handle ACC_PRIVATE for (inner) | |
254 | classes. | |
255 | * java-tree.h (TYPE_PRIVATE_INNER_CLASS): New macro. | |
256 | (struct lang_type): New field `pic.' | |
257 | (CLASS_PRIVATE): New macro. | |
258 | * parse.y (check_inner_class_access): New function. | |
259 | (jdep_resolve_class): Call it. | |
260 | ||
f1ff439a TT |
261 | 2000-06-23 Tom Tromey <tromey@cygnus.com> |
262 | ||
263 | * parse.y (patch_incomplete_class_ref): Initialize the returned | |
264 | class. For PR gcj/260. | |
265 | ||
9a7ab4b3 APB |
266 | 2000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com> |
267 | ||
268 | * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'. | |
269 | ||
270 | 2000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
271 | ||
272 | * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for | |
273 | Java specific checks. | |
274 | * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage | |
275 | screened by DECL_P. | |
276 | * java-tree.def (CASE_EXPR): Marked 'e'. | |
277 | (DEFAULT_EXPR): Likewise. | |
278 | * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage | |
279 | screened by DECL_P. | |
280 | * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for | |
281 | Java specific checks. | |
282 | (generate_bytecode_insns): Test try_block for BLOCK before using | |
283 | BLOCK_EXPR_BODY. | |
284 | * parse.y (build_wfl_wrap): Added `location' argument. Set | |
285 | EXPR_WFL_LINECOL accordingly. | |
286 | (dim_expr:): Wrap constants with WFLs. | |
287 | (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC. | |
288 | (resolve_package): Check for `stmt' not being a BLOCK before | |
289 | building a debuggable statement with it. | |
290 | (make_qualified_primary): Added extra parameter to build_wfl_wrap | |
291 | invocation. | |
292 | (resolve_field_access): Make sure `decl' is a DECL before treating | |
293 | it as such. | |
294 | (maybe_build_primttype_type_ref): Make sure `wfl''s node is an | |
295 | IDENTIFIER_NODE before treating it as such. | |
296 | (patch_new_array_init): Make sure `elt' is a TREE_LIST before | |
297 | treating it as such. | |
298 | (find_applicable_accessible_methods_list): CLASS_INTERFACE macro | |
299 | to be applied only on non array types. | |
300 | ||
301 | 2000-06-16 Per Bothner <per@bothner.com> | |
302 | ||
303 | * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't | |
304 | define in terms of DECL_RESULT, as that fails when --enable-checking. | |
305 | ||
ffb1f63d KG |
306 | 2000-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
307 | ||
308 | * jcf-write.c (CHECK_PUT): Add static prototype. Make pointer | |
309 | types the same in comparison. | |
310 | (CHECK_OP): Add static prototype. | |
311 | ||
11cf4d18 JJ |
312 | 2000-06-13 Jakub Jelinek <jakub@redhat.com> |
313 | ||
314 | * typeck.c (build_java_array_type): Set TYPE_USER_ALIGN. | |
315 | * parse.y (java_complete_class): Set DECL_USER_ALIGN. | |
316 | * parse.c: Rebuilt. | |
317 | ||
5ac9118e KG |
318 | 2000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
319 | ||
320 | * decl.c (create_primitive_vtable): Prototype. | |
321 | ||
322 | * jcf-write.c (generate_bytecode_insns): Initialize variable | |
323 | `saved_context'. | |
324 | ||
325 | * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. | |
326 | ||
ad69b5b6 BM |
327 | 2000-06-09 Bryce McKinlay <bryce@albatross.co.nz> |
328 | ||
329 | * parse.y (find_applicable_accessible_methods_list): Use a hashtable | |
330 | to track searched classes, and do not search the same class more than | |
331 | once. Call find_applicable_accessible_methods_list on immediate | |
332 | superclass, instead of search_applicable_method_list on all ancestors. | |
333 | Fix for PR gcj/238. | |
334 | ||
cf1748bf APB |
335 | 2000-06-09 Bryce McKinlay <bryce@albatross.co.nz> |
336 | ||
337 | * parse.y (register_fields): Permit static fields in inner classes | |
338 | if they are final. Fix for PR gcj/255. | |
339 | ||
9a7ab4b3 APB |
340 | 2000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com> |
341 | ||
342 | * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries. | |
343 | * parse.y (find_in_imports): Returned type changed to void, | |
344 | leading comment fixed. | |
345 | (register_package): New function. | |
346 | (qualify_and_find): Likewise. | |
347 | (package_declaration:): Use `register_package'. | |
348 | (single_type_import_declaration:): Removed local variable | |
349 | `node'. Added missing `;' for consistency. | |
350 | (type_import_on_demand_declaration:): Use `chainon' to link new | |
351 | entries. | |
352 | (lookup_field_wrapper): Lookup local variables defined in outer | |
353 | contexts first. | |
354 | (java_complete_class): Don't reverse the list of imported on demand. | |
355 | (do_resolve_class): Reorganized. Removed local variable | |
356 | `original_name'. Call `qualify_and_find' with the current package | |
357 | name, invoke `find_in_imports_on_demand' right after. Call | |
358 | `qualify_and_find' with the packages we've seen so far. Fixed | |
359 | operations numbering in comments. | |
360 | (java_expand_class): Don't reverse `package_list'. | |
361 | (find_most_specific_methods_list): New local variables `abstract' | |
362 | and `candidates'. Use them to pick the right method. | |
363 | ||
14d075d8 TT |
364 | Tue Jun 6 11:39:05 2000 Tom Tromey <tromey@ferrule.cygnus.com> |
365 | ||
366 | * parse.y (check_modifiers_consistency): Don't subtract out | |
367 | `PUBLIC_TK' from argument to THIS_MODIFIER_ONLY. | |
368 | ||
603832a0 PT |
369 | 2000-06-04 Philipp Thomas <pthomas@suse.de> |
370 | ||
371 | * Makefile.in (INTLLIBS): New. | |
372 | (LIBS): Add above. | |
373 | (DEPLIBS): Ditto. | |
374 | ||
8f975c18 APB |
375 | Fri Jun 2 16:48:55 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
376 | ||
377 | * class.c (get_dispatch_table): Build the vtable dummy entry list | |
378 | element with a null purpose. Fixed leading comment. | |
379 | (build_dtable_decl): Build an accurate dtable type when appropriate | |
380 | and use it. | |
381 | ||
2e761e49 RH |
382 | 2000-06-02 Richard Henderson <rth@cygnus.com> |
383 | ||
384 | * lang.c (lang_get_alias_set): New. | |
385 | ||
0f145be8 APB |
386 | 2000-05-31 Alexandre Petit-Bianco <apbianco@cygnus.com> |
387 | ||
388 | * parse.y (resolve_field_access): Complete the DECL_INITIAL tree | |
389 | before using it as the accessed field. | |
390 | ||
2771fe54 TT |
391 | 2000-05-31 Tom Tromey <tromey@cygnus.com> |
392 | ||
393 | * java-tree.h (boolean_array_vtable, byte_array_vtable, | |
394 | char_array_vtable, short_array_vtable, int_array_vtable, | |
395 | long_array_vtable, float_array_vtable, double_array_vtable): | |
396 | Declare. | |
397 | * expr.c (get_primitive_array_vtable): New function. | |
398 | (create_primitive_vtable): New function. | |
399 | (java_lang_expand_expr): Enable code to statically generate | |
400 | arrays. | |
401 | * decl.c (init_decl_processing): Create primitive vtables. | |
402 | (boolean_array_vtable, byte_array_vtable, char_array_vtable, | |
403 | short_array_vtable, int_array_vtable, long_array_vtable, | |
404 | float_array_vtable, double_array_vtable): Define. | |
405 | ||
30a3caef ZW |
406 | 2000-05-26 Zack Weinberg <zack@wolery.cumb.org> |
407 | ||
408 | * java/parse.y (find_applicable_accessible_methods_list): | |
409 | Don't add an uninitialized value to the list. | |
410 | ||
b8c5b1c6 TT |
411 | 2000-05-25 Tom Tromey <tromey@cygnus.com> |
412 | ||
40aaba2b TT |
413 | * parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC |
414 | when trying to see if field's class should be initialized. Always | |
415 | initialize field's declaring class, not qualified class. | |
416 | For PR gcj/162. | |
417 | ||
b8c5b1c6 TT |
418 | * parse.y (array_constructor_check_entry): Pass `wfl_value', not |
419 | `wfl_operator', to maybe_build_primttype_type_ref. | |
420 | Fixes PR gcj/235. | |
421 | ||
6518c7b5 BM |
422 | 2000-05-23 Bryce McKinlay <bryce@albatross.co.nz> |
423 | ||
424 | * parse.y (patch_method_invocation): Don't try to lookup methods | |
425 | in primitive types. | |
426 | ||
611a4b87 APB |
427 | 2000-05-02 Alexandre Petit-Bianco <apbianco@cygnus.com> |
428 | ||
429 | * parse.y (resolve_field_access): Call the appropriate <clinit> | |
430 | before accessing the length of a static array. Craft a decl for | |
431 | the field while its time. Fixes PR gcj/129. | |
432 | ||
6b48deee APB |
433 | 2000-05-01 Alexandre Petit-Bianco <apbianco@cygnus.com> |
434 | ||
435 | * parse.y (resolve_package): Correctly set `*next' (was off by | |
436 | one.) | |
437 | (resolve_qualified_expression_name): Fixed comment. | |
438 | ||
0ba154aa APB |
439 | Thu Apr 27 17:47:34 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
440 | ||
441 | * jcf-parse.c (jcf_parse_source): Reset current_class and | |
442 | current_function_decl to NULL before parsing a new file. | |
443 | ||
c280e37a APB |
444 | Thu Apr 27 17:25:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
445 | ||
446 | * parse.y (block_end:): If the collected block doesn't feature a | |
447 | statement, insert an empty statement. | |
448 | ||
92d83515 APB |
449 | 2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> |
450 | ||
451 | * parse.y (maybe_yank_clinit): New function. | |
452 | (maybe_generate_pre_expand_clinit): Always link <clinit> at the | |
453 | end of the list of methods belonging to a class. | |
454 | (java_complete_expand_method): Check whether <clinit> is really | |
455 | necessary and expand it accordingly. | |
456 | ||
ec5bb3cf APB |
457 | 2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> |
458 | ||
459 | * parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be | |
460 | processed by the method's switch statement. | |
461 | ||
67db0ce7 TT |
462 | 2000-05-19 Tom Tromey <tromey@cygnus.com> |
463 | ||
464 | * java-tree.h: Added init state enum. | |
465 | * decl.c (emit_init_test_initialization): Initialize class | |
466 | initialization check variable by looking at class' state. | |
467 | ||
43490bec TT |
468 | 2000-05-19 Tom Tromey <tromey@cygnus.com> |
469 | ||
470 | * java-tree.h (build_instanceof): Declare. | |
471 | (build_get_class): Declare. | |
472 | * parse.y (patch_binop): Use build_instanceof. | |
473 | * expr.c (build_instanceof): New function. If class is final, | |
474 | don't make a function call. | |
475 | (expand_java_INSTANCEOF): Use it. | |
476 | (build_get_class): New function. | |
477 | ||
062edaed AO |
478 | 2000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
479 | ||
480 | * jcf-write.c (generate_classfile): Scan the source_file for | |
481 | slashes with the right pointer variable. | |
482 | ||
078721e1 AC |
483 | Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com> |
484 | ||
485 | * lang.c (lang_decode_option): Update -Wunused flags by calling | |
486 | set_Wunused. | |
487 | * decl.c (poplevel): Replace warn_unused with warn_unused_label. | |
488 | ||
46543024 | 489 | 2000-05-09 Zack Weinberg <zack@wolery.cumb.org> |
3b304f5b ZW |
490 | |
491 | * check_init.c (check_init): Constify local char *. | |
492 | * class.c (push_class): Constify local char *. | |
493 | * java_tree.h: Update prototypes. | |
494 | * jcf-io.c (open_class): Constify filename parameter and | |
495 | return value. | |
496 | (find_class): Remove redundant string copy. Cast return from | |
497 | open_class. | |
498 | * jcf-parse.c (read_class, parse_class_file, yyparse): | |
499 | Constify local char *. | |
500 | * jcf-write.c (generate_bytecode_insns, generate_classfile): | |
501 | Constify local char *. | |
502 | * jcf.h (JCF): Constify filename and classname. | |
503 | (JCF_FINISH): Cast args to FREE to char * when appropriate. | |
504 | * lang.c (init_parse): Constify parameter and return value. | |
505 | * lex.c (java_get_line_col): Constify filename parameter. | |
506 | * parse.h: Constify parser_ctxt.filename. Update prototypes. | |
507 | * parse.y (java_parser_context_suspend, | |
508 | issue_warning_error_from_context, safe_layout_class): Constify | |
509 | local char *. | |
510 | * parse.c: Regenerate. | |
511 | ||
4c6a8973 TT |
512 | 2000-05-08 Tom Tromey <tromey@cygnus.com> |
513 | ||
514 | * expr.c (build_jni_stub): Cache the result of | |
515 | _Jv_LookupJNIMethod. | |
516 | ||
e117276e APB |
517 | 2000-05-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
518 | ||
519 | * decl.c (predef_filenames_size): Now 7. | |
520 | (predef_filenames): New seventh entry. | |
521 | ||
652f2504 TT |
522 | 2000-05-04 Tom Tromey <tromey@cygnus.com> |
523 | ||
524 | * boehm.c (mark_reference_fields): Don't mark RawData fields. | |
525 | Keep track of when we've seen a reference field after a | |
526 | non-reference field. | |
527 | (get_boehm_type_descriptor): Handle case where we see | |
528 | non-reference fields but no trailing reference field. | |
529 | * decl.c (rawdata_ptr_type_node): Define. | |
530 | (init_decl_processing): Initialize rawdata_ptr_type_node. | |
531 | * java-tree.h (rawdata_ptr_type_node): Declare. | |
532 | ||
ccedaff3 KG |
533 | 2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
534 | ||
535 | * jcf-dump.c (SPECIAL_IINC): Ensure arguments match format | |
536 | specifiers in calls to fprintf. | |
537 | ||
dd5d6281 TT |
538 | 2000-05-03 Andrew Haley <aph@cygnus.com> |
539 | ||
540 | * expr.c (build_java_jsr): Use emit_jump, not expand_goto. | |
541 | ||
542 | * javaop.h (WORD_TO_INT): New function. | |
543 | (IMMEDIATE_s4): Use WORD_TO_INT. | |
544 | * jcf.h (JPOOL_INT): Ditto. | |
545 | ||
546 | * gjavah.c (decode_signature_piece): Don't treat `$' as namespace | |
547 | separator. | |
548 | ||
dd5d6281 | 549 | 2000-04-19 Tom Tromey <tromey@cygnus.com> |
7145d9fe TT |
550 | |
551 | * class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE | |
552 | on native function. | |
553 | * jcf-parse.c (parse_class_file): Call build_jni_stub for native | |
554 | JNI methods. | |
555 | * expr.c (build_jni_stub): New function. | |
556 | * lang-specs.h: -fjni and -femit-class-file are incompatible. | |
557 | * parse.c: Rebuilt. | |
558 | * parse.y (java_complete_expand_methods): Expand a native method | |
559 | and call build_jni_stub if -fjni given. | |
560 | * lang-options.h: Document -fjni. | |
561 | * lang.c (flag_jni): New global. | |
562 | (lang_f_options): Added `jni' entry. | |
563 | * java-tree.h (soft_lookupjnimethod_node, | |
564 | soft_getjnienvnewframe_node, soft_jnipopsystemframe_node): | |
565 | Declare. | |
566 | (flag_jni): Declare. | |
567 | (build_jni_stub): Declare. | |
568 | (struct lang_decl): Added `native' flag. | |
569 | (METHOD_NATIVE): Redefined to use `native' field of lang specific | |
570 | structure. | |
571 | * decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node, | |
572 | soft_jnipopsystemframe_node): New globals. | |
573 | (init_decl_processing): Set them. _Jv_InitClass only takes one | |
574 | argument. | |
575 | ||
576 | * java-tree.def: Put into `C' mode. | |
577 | ||
e815887f TT |
578 | 2000-04-27 Tom Tromey <tromey@cygnus.com> |
579 | ||
580 | Fix for PR gcj/2: | |
581 | * expr.c (expand_invoke): Generate check to see if object pointer | |
582 | is null in nonvirtual invocation case. | |
583 | * java-tree.h (soft_nullpointer_node): Declare. | |
584 | * decl.c (soft_nullpointer_node): New global. | |
585 | (init_decl_processing): Initialize soft_nullpointer_node. | |
586 | * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final' | |
587 | or `private' methods. | |
588 | (patch_invoke): Handle INVOKE_NONVIRTUAL case. | |
589 | ||
ad81223c APB |
590 | Wed Apr 26 14:29:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
591 | ||
592 | * decl.c (complete_start_java_method): Don't call _Jv_InitClass | |
593 | from <clinit> | |
594 | ||
f1acc01e TT |
595 | 2000-04-26 Tom Tromey <tromey@cygnus.com> |
596 | ||
597 | * zextract.c (find_zip_file_start): New function. | |
598 | (read_zip_archive): Use it. | |
599 | ||
e803d3b2 APB |
600 | 2000-04-25 Alexandre Petit-Bianco <apbianco@cygnus.com> |
601 | ||
602 | * parse.y (register_incomplete_type): Handle JDEP_ANONYMOUS. | |
603 | ||
152de068 APB |
604 | 2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> |
605 | ||
606 | * class.c (common_enclosing_context_p): New function. | |
607 | * java-tree.h (common_enclosing_context_p): Added prototype. | |
608 | * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow | |
609 | classes sharing an outer context with the current instance. | |
610 | * parse.y (build_access_to_thisn): Fixed leading comment. | |
611 | (verify_constructor_super): New local `supper_inner'. Skip | |
612 | enclosing context argument in the case of inner class constructors. | |
613 | (patch_method_invocation): Insert proper context as second | |
614 | parameter to pure inner class constructor super invocations. | |
615 | ||
93220702 APB |
616 | Mon Apr 24 14:59:36 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
617 | ||
618 | * parse.y (end_class_declaration): Reset the interface number | |
619 | counter. | |
620 | ||
dfb99c83 APB |
621 | 2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> |
622 | ||
623 | * parse.y (source_start_java_method): Deleted unecessary code. | |
624 | (patch_method_invocation): Fixed comment. | |
625 | ||
e60a8c26 RL |
626 | 2000-04-24 Robert Lipe <robertlipe@usa.net> |
627 | ||
628 | * parse.h (_jdep): Member `kind' now ENUM_BITFIELD. | |
629 | ||
3c8c10b8 TT |
630 | 2000-04-23 Tom Tromey <tromey@cygnus.com> |
631 | ||
632 | * boehm.c (mark_reference_fields): Use int_byte_position. | |
633 | ||
8a008c41 TT |
634 | 2000-04-22 Tom Tromey <tromey@cygnus.com> |
635 | ||
636 | * boehm.c (mark_reference_fields): Only call byte_position on | |
637 | non-static fields. | |
638 | ||
d5f76aba TT |
639 | 2000-04-22 Tom Tromey <tromey@cygnus.com> |
640 | ||
641 | * boehm.c (mark_reference_fields): Added `last_view_index' | |
642 | argument. Use DECL_FIELD_OFFSET to determine field's offset. | |
643 | ||
a40d21da APB |
644 | Thu Apr 20 17:41:28 2000 Mo DeJong <mdejong@cygnus.com> |
645 | ||
646 | * parse.h (INTERFACE_INNER_MODIFIERS): New macro. | |
647 | * parse.y (check_class_interface_creation): Fixed comments. Select | |
648 | permitted modifiers for (inner) interfaces. Changed error message | |
649 | to report rejected modifiers used with local classes. | |
650 | ||
651 | 2000-04-20 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
652 | ||
653 | * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Immediate inner classes | |
654 | of directly inherited type considered in scope. | |
655 | * parse.y (do_resolve_class): Search inherited classes for inner | |
656 | classes. | |
657 | ||
473e7b07 TT |
658 | 2000-04-20 Tom Tromey <tromey@cygnus.com> |
659 | ||
660 | * parse.y (not_accessible_p): Use member's class, not current | |
661 | class, when doing inheritance check for protected reference. | |
662 | Fixes PR gcj/124. | |
663 | ||
c52fbf0f JS |
664 | Thu Apr 20 18:20:58 2000 Jason Schroeder <shrode@subnature.com> |
665 | ||
666 | * jcf-dump.c (SPECIAL_IINC): Fixed typo printing iinc instruction. | |
667 | ||
f2760b27 APB |
668 | 2000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com> |
669 | ||
670 | * parse.y (lookup_field_wrapper): Search for final local aliases. | |
671 | (resolve_expression_name): Let lookup_field_wrapper search for | |
672 | final local aliases. Force the value of `name' if one is found. | |
673 | (qualify_ambiguous_name): CONVERT_EXPR is enough to now we have | |
674 | an expression name. Fixed comments. | |
675 | ||
807bc1db APB |
676 | 2000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com> |
677 | ||
678 | * parse.y (yyerror): `msg' can be null, don't use it in that case. | |
679 | ||
ecb36604 TT |
680 | 2000-04-19 Tom Tromey <tromey@cygnus.com> |
681 | ||
682 | * gjavah.c (cxx_keyword_subst): Avoid potential infinite loop. | |
683 | ||
48a840d9 APB |
684 | 2000-04-18 Alexandre Petit-Bianco <apbianco@cygnus.com> |
685 | ||
686 | * parse.y (maybe_make_nested_class_name): Use `obstack_grow0'. | |
687 | ||
83c1f628 TT |
688 | 2000-04-18 Tom Tromey <tromey@cygnus.com> |
689 | ||
690 | PR gcj/211: | |
691 | * gjavah.c (utf8_cmp): Changed return value. | |
692 | (cxx_keyword_subst): Handle all C++ keywords. Allocate new return | |
693 | result. | |
694 | (cxx_keywords): New global. | |
695 | (get_field_name): Handle new result of cxx_keyword_subst. | |
696 | (print_method_info): Likewise. | |
697 | ||
a7384840 BM |
698 | 2000-04-17 Bryce McKinlay <bryce@albatross.co.nz> |
699 | ||
700 | * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names | |
701 | with a newline, for CNI. | |
702 | (print_stub_or_jni): Print a space or newline before method name for | |
703 | CNI as well as JNI. | |
704 | (print_cxx_classname): Don't write leading "::" in CNI stub method. | |
705 | (process_file): Include gcj/cni.h if generating CNI stubs. | |
706 | ||
3e0768f0 TT |
707 | 2000-04-16 Tom Tromey <tromey@cygnus.com> |
708 | ||
709 | * gjavah.c (decompile_method): Use print_field_name. | |
710 | Fixes PR gcj/205. | |
711 | ||
48a840d9 APB |
712 | 2000-04-14 Alexandre Petit-Bianco <apbianco@cygnus.com> |
713 | ||
714 | * parse.y (java_expand_classes): Reverse the package list once. | |
715 | (java_complete_lhs): PLUS_EXPR: don't try rhs and lhs at string | |
716 | reduction. | |
717 | (patch_binop): New temp `cn'. Call patch_string on LHS/RHS of | |
718 | the `==' and `!=' operators. | |
719 | ||
cedea510 APB |
720 | 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
721 | ||
722 | * jcf-write.c (generate_bytecode_insns): At invokation time, | |
723 | always relate an interface method to the type of its selector. | |
724 | ||
e803d3b2 APB |
725 | 2000-04-05 Tom Tromey <tromey@cygnus.com> |
726 | ||
727 | Fix for PR gcj/2: | |
728 | * expr.c (expand_invoke): Generate check to see if object pointer | |
729 | is null in nonvirtual invocation case. | |
730 | * java-tree.h (soft_nullpointer_node): Declare. | |
731 | * decl.c (soft_nullpointer_node): New global. | |
732 | (init_decl_processing): Initialize soft_nullpointer_node. | |
733 | * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final' | |
734 | or `private' methods. | |
735 | (patch_invoke): Handle INVOKE_NONVIRTUAL case. | |
736 | ||
bc2874c9 TT |
737 | 2000-04-05 Tom Tromey <tromey@cygnus.com> |
738 | ||
739 | Fix for PR gcj/140: | |
740 | * parse.y (check_final_assignment): Recognize assignments to the | |
741 | `length' field of an array when generating class files. | |
742 | ||
256172c4 APB |
743 | 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
744 | ||
745 | * class.c (decl_hash): Prototype removed. | |
746 | (decl_compare): Likewise. | |
747 | ||
e0fc4118 TT |
748 | 2000-04-05 Tom Tromey <tromey@cygnus.com> |
749 | ||
750 | * parse.h (THIS_MODIFIER_ONLY): Changed meaning of `v' parameter. | |
751 | * parse.y (check_modifiers_consistency): Check for final/volatile | |
752 | clash. Fixes PR gcj/164. | |
753 | ||
e0422ed0 APB |
754 | 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
755 | ||
756 | * class.c: (java_hash_hash_tree_node): Renamed from `decl_hash', | |
757 | made global. | |
758 | (java_hash_compare_tree_node): Renamed from `decl_compare, made | |
759 | global. | |
760 | (add_method_1): Use `java_hash_hash_tree_node' and | |
761 | `java_hash_compare_tree_node'. | |
762 | * java-tree.h: (java_hash_hash_tree_node): Prototyped. | |
763 | (java_hash_compare_tree_node): Likewise. | |
764 | * parse.y (find_applicable_accessible_methods_list): Create, | |
765 | delete and use a hash table to remember already searched interfaces. | |
766 | ||
4200941b MW |
767 | 2000-04-03 Matt Welsh <mdw@cs.berkeley.edu> |
768 | ||
769 | * jcf-depend.c (add_entry): Fixed bug where list was always replaced | |
770 | with latest entry. | |
771 | ||
c0b864fc KG |
772 | 2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
773 | ||
774 | * boehm.c (mark_reference_fields, set_bit): Prototype. | |
775 | (set_bit): Un-ANSI-fy definition. | |
776 | ||
777 | * class.c (init_test_hash_newfunc, decl_hash, decl_compare): | |
778 | Prototype. | |
779 | ||
780 | * decl.c (emit_init_test_initialization): Likewise. | |
781 | ||
782 | * gjavah.c (jni_print_char): Likewise. | |
783 | ||
784 | * parse.y (create_new_parser_context): Likewise. | |
785 | ||
7a678b64 | 786 | Thu Mar 30 15:26:56 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
64ea4a5e APB |
787 | |
788 | * expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000 | |
789 | patch missing hunk. Fixed indentation. | |
790 | ||
05411ecf TT |
791 | 2000-03-30 Tom Tromey <tromey@cygnus.com> |
792 | ||
793 | * gjavah.c (D_NAN_MASK): Only define as word-reversed when | |
794 | HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree. | |
795 | ||
acbedd7c APB |
796 | 2000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com> |
797 | ||
798 | * parse-scan.y (pop_class_context): Reset `inner_qualifier_length' | |
799 | when negative *before* using it as an array index. | |
800 | * ChangeLog: Fixed typo. | |
801 | ||
0981a859 APB |
802 | 2000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com> |
803 | ||
804 | * parse-scan.y (pop_class_context): Reset `inner_qualifier_length' | |
805 | to 0 when it reaches -1. | |
806 | ||
807 | 2000-03-27 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
808 | ||
809 | * jcf-parse.c (get_constant): Properly cast `num' during the | |
acbedd7c | 810 | invocation of `add_double'. |
0981a859 APB |
811 | * jcf-write.c (push_long_const): Properly cast `lo' before |
812 | comparing it to short bounds. | |
813 | * parse-scan.y (interface_declaration:): Rule re-arrange so that | |
814 | `interface_body:' is reduced after the current interface is | |
815 | pushed. | |
816 | ||
a843e0ce TT |
817 | 2000-03-26 Tom Tromey <tromey@cygnus.com> |
818 | ||
819 | * jvspec.c (jvgenmain_spec): Add `%{<...}' construct for each | |
820 | Java-specific `-f' option. | |
821 | ||
ad41cc2a RK |
822 | Sun Mar 26 11:37:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
823 | ||
824 | * decl.c (init_decl_processing): Only call initialize_sizetypes once. | |
825 | Adjust order of making types. | |
826 | Make bitsize_*_node values. | |
827 | ||
770ae6cc RK |
828 | Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
829 | ||
830 | * class.c (make_field_value): Use byte_position. | |
831 | * expr.c (JAVA_ARRAY_LENGTH_OFFSET): Use byte_position. | |
832 | (java_array_data_offset): Likewise. | |
833 | * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Add case to | |
834 | bzero call. | |
835 | ||
165f37bc APB |
836 | 2000-03-22 Alexandre Petit-Bianco <apbianco@cygnus.com> |
837 | ||
838 | * parse.y (check_abstract_method_definitions): New local | |
839 | `end_type_reached'. Make sure we also consider `end_type'. | |
0981a859 APB |
840 | (java_check_abstract_method_definitions): Make sure we eventually |
841 | consider `java.lang.Object'. | |
842 | (maybe_use_access_method): Don't use access method if not in the | |
843 | context of a pure inner class or if the method's context is right. | |
844 | (find_applicable_accessible_methods_list): New static flag | |
165f37bc | 845 | `object_done'. Don't search abstract classes as interfaces. Fixed |
0981a859 APB |
846 | indentation. Fixed the `java.lang.Object' only search. Search |
847 | class interface(s) first, then fully search enclosing contexts. | |
848 | (find_most_specific_methods_list): Pick the closest candidate when | |
165f37bc APB |
849 | they're all abstract. |
850 | ||
124906f9 APB |
851 | Mon Mar 20 08:58:51 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
852 | ||
853 | * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR: | |
854 | properly initialize `finished_label.' Don't emit gotos for empty | |
855 | try statements. | |
856 | ||
c14f7160 ML |
857 |