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