]>
Commit | Line | Data |
---|---|---|
f1ff439a TT |
1 | 2000-06-23 Tom Tromey <tromey@cygnus.com> |
2 | ||
3 | * parse.y (patch_incomplete_class_ref): Initialize the returned | |
4 | class. For PR gcj/260. | |
5 | ||
9a7ab4b3 APB |
6 | 2000-06-21 Alexandre Petit-Bianco <apbianco@cygnus.com> |
7 | ||
8 | * except.c (prepare_eh_table_type): Use `CATCH_ALL_TYPE'. | |
9 | ||
10 | 2000-06-20 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
11 | ||
12 | * check-init.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for | |
13 | Java specific checks. | |
14 | * expr.c (build_instanceof): CLASS_INTERFACE and CLASS_FINAL usage | |
15 | screened by DECL_P. | |
16 | * java-tree.def (CASE_EXPR): Marked 'e'. | |
17 | (DEFAULT_EXPR): Likewise. | |
18 | * jcf-parse.c (set_source_filename): CLASS_COMPLETE_P usage | |
19 | screened by DECL_P. | |
20 | * jcf-write.c (ENABLE_JC1_CHECKING): Replaces ENABLE_CHECKING for | |
21 | Java specific checks. | |
22 | (generate_bytecode_insns): Test try_block for BLOCK before using | |
23 | BLOCK_EXPR_BODY. | |
24 | * parse.y (build_wfl_wrap): Added `location' argument. Set | |
25 | EXPR_WFL_LINECOL accordingly. | |
26 | (dim_expr:): Wrap constants with WFLs. | |
27 | (method_declarator): Use TREE_TYPE not TYPE_NAME on GET_CPC. | |
28 | (resolve_package): Check for `stmt' not being a BLOCK before | |
29 | building a debuggable statement with it. | |
30 | (make_qualified_primary): Added extra parameter to build_wfl_wrap | |
31 | invocation. | |
32 | (resolve_field_access): Make sure `decl' is a DECL before treating | |
33 | it as such. | |
34 | (maybe_build_primttype_type_ref): Make sure `wfl''s node is an | |
35 | IDENTIFIER_NODE before treating it as such. | |
36 | (patch_new_array_init): Make sure `elt' is a TREE_LIST before | |
37 | treating it as such. | |
38 | (find_applicable_accessible_methods_list): CLASS_INTERFACE macro | |
39 | to be applied only on non array types. | |
40 | ||
41 | 2000-06-16 Per Bothner <per@bothner.com> | |
42 | ||
43 | * java-tree.h (LABEL_RETURN_LABELS, LABEL_PENDING_CHAIN): Don't | |
44 | define in terms of DECL_RESULT, as that fails when --enable-checking. | |
45 | ||
ffb1f63d KG |
46 | 2000-06-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
47 | ||
48 | * jcf-write.c (CHECK_PUT): Add static prototype. Make pointer | |
49 | types the same in comparison. | |
50 | (CHECK_OP): Add static prototype. | |
51 | ||
11cf4d18 JJ |
52 | 2000-06-13 Jakub Jelinek <jakub@redhat.com> |
53 | ||
54 | * typeck.c (build_java_array_type): Set TYPE_USER_ALIGN. | |
55 | * parse.y (java_complete_class): Set DECL_USER_ALIGN. | |
56 | * parse.c: Rebuilt. | |
57 | ||
5ac9118e KG |
58 | 2000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
59 | ||
60 | * decl.c (create_primitive_vtable): Prototype. | |
61 | ||
62 | * jcf-write.c (generate_bytecode_insns): Initialize variable | |
63 | `saved_context'. | |
64 | ||
65 | * lang.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED. | |
66 | ||
9a7ab4b3 APB |
67 | 2000-06-06 Alexandre Petit-Bianco <apbianco@cygnus.com> |
68 | ||
69 | * parse.h (REGISTER_IMPORT): Use `chainon' to link new entries. | |
70 | * parse.y (find_in_imports): Returned type changed to void, | |
71 | leading comment fixed. | |
72 | (register_package): New function. | |
73 | (qualify_and_find): Likewise. | |
74 | (package_declaration:): Use `register_package'. | |
75 | (single_type_import_declaration:): Removed local variable | |
76 | `node'. Added missing `;' for consistency. | |
77 | (type_import_on_demand_declaration:): Use `chainon' to link new | |
78 | entries. | |
79 | (lookup_field_wrapper): Lookup local variables defined in outer | |
80 | contexts first. | |
81 | (java_complete_class): Don't reverse the list of imported on demand. | |
82 | (do_resolve_class): Reorganized. Removed local variable | |
83 | `original_name'. Call `qualify_and_find' with the current package | |
84 | name, invoke `find_in_imports_on_demand' right after. Call | |
85 | `qualify_and_find' with the packages we've seen so far. Fixed | |
86 | operations numbering in comments. | |
87 | (java_expand_class): Don't reverse `package_list'. | |
88 | (find_most_specific_methods_list): New local variables `abstract' | |
89 | and `candidates'. Use them to pick the right method. | |
90 | ||
14d075d8 TT |
91 | Tue Jun 6 11:39:05 2000 Tom Tromey <tromey@ferrule.cygnus.com> |
92 | ||
93 | * parse.y (check_modifiers_consistency): Don't subtract out | |
94 | `PUBLIC_TK' from argument to THIS_MODIFIER_ONLY. | |
95 | ||
603832a0 PT |
96 | 2000-06-04 Philipp Thomas <pthomas@suse.de> |
97 | ||
98 | * Makefile.in (INTLLIBS): New. | |
99 | (LIBS): Add above. | |
100 | (DEPLIBS): Ditto. | |
101 | ||
8f975c18 APB |
102 | Fri Jun 2 16:48:55 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
103 | ||
104 | * class.c (get_dispatch_table): Build the vtable dummy entry list | |
105 | element with a null purpose. Fixed leading comment. | |
106 | (build_dtable_decl): Build an accurate dtable type when appropriate | |
107 | and use it. | |
108 | ||
2e761e49 RH |
109 | 2000-06-02 Richard Henderson <rth@cygnus.com> |
110 | ||
111 | * lang.c (lang_get_alias_set): New. | |
112 | ||
0f145be8 APB |
113 | 2000-05-31 Alexandre Petit-Bianco <apbianco@cygnus.com> |
114 | ||
115 | * parse.y (resolve_field_access): Complete the DECL_INITIAL tree | |
116 | before using it as the accessed field. | |
117 | ||
2771fe54 TT |
118 | 2000-05-31 Tom Tromey <tromey@cygnus.com> |
119 | ||
120 | * java-tree.h (boolean_array_vtable, byte_array_vtable, | |
121 | char_array_vtable, short_array_vtable, int_array_vtable, | |
122 | long_array_vtable, float_array_vtable, double_array_vtable): | |
123 | Declare. | |
124 | * expr.c (get_primitive_array_vtable): New function. | |
125 | (create_primitive_vtable): New function. | |
126 | (java_lang_expand_expr): Enable code to statically generate | |
127 | arrays. | |
128 | * decl.c (init_decl_processing): Create primitive vtables. | |
129 | (boolean_array_vtable, byte_array_vtable, char_array_vtable, | |
130 | short_array_vtable, int_array_vtable, long_array_vtable, | |
131 | float_array_vtable, double_array_vtable): Define. | |
132 | ||
30a3caef ZW |
133 | 2000-05-26 Zack Weinberg <zack@wolery.cumb.org> |
134 | ||
135 | * java/parse.y (find_applicable_accessible_methods_list): | |
136 | Don't add an uninitialized value to the list. | |
137 | ||
b8c5b1c6 TT |
138 | 2000-05-25 Tom Tromey <tromey@cygnus.com> |
139 | ||
40aaba2b TT |
140 | * parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC |
141 | when trying to see if field's class should be initialized. Always | |
142 | initialize field's declaring class, not qualified class. | |
143 | For PR gcj/162. | |
144 | ||
b8c5b1c6 TT |
145 | * parse.y (array_constructor_check_entry): Pass `wfl_value', not |
146 | `wfl_operator', to maybe_build_primttype_type_ref. | |
147 | Fixes PR gcj/235. | |
148 | ||
6518c7b5 BM |
149 | 2000-05-23 Bryce McKinlay <bryce@albatross.co.nz> |
150 | ||
151 | * parse.y (patch_method_invocation): Don't try to lookup methods | |
152 | in primitive types. | |
153 | ||
611a4b87 APB |
154 | 2000-05-02 Alexandre Petit-Bianco <apbianco@cygnus.com> |
155 | ||
156 | * parse.y (resolve_field_access): Call the appropriate <clinit> | |
157 | before accessing the length of a static array. Craft a decl for | |
158 | the field while its time. Fixes PR gcj/129. | |
159 | ||
6b48deee APB |
160 | 2000-05-01 Alexandre Petit-Bianco <apbianco@cygnus.com> |
161 | ||
162 | * parse.y (resolve_package): Correctly set `*next' (was off by | |
163 | one.) | |
164 | (resolve_qualified_expression_name): Fixed comment. | |
165 | ||
0ba154aa APB |
166 | Thu Apr 27 17:47:34 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
167 | ||
168 | * jcf-parse.c (jcf_parse_source): Reset current_class and | |
169 | current_function_decl to NULL before parsing a new file. | |
170 | ||
c280e37a APB |
171 | Thu Apr 27 17:25:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
172 | ||
173 | * parse.y (block_end:): If the collected block doesn't feature a | |
174 | statement, insert an empty statement. | |
175 | ||
92d83515 APB |
176 | 2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> |
177 | ||
178 | * parse.y (maybe_yank_clinit): New function. | |
179 | (maybe_generate_pre_expand_clinit): Always link <clinit> at the | |
180 | end of the list of methods belonging to a class. | |
181 | (java_complete_expand_method): Check whether <clinit> is really | |
182 | necessary and expand it accordingly. | |
183 | ||
ec5bb3cf APB |
184 | 2000-04-17 Alexandre Petit-Bianco <apbianco@cygnus.com> |
185 | ||
186 | * parse.y (fold_constant_for_init): Let VAR_DECL and FIELD_DECL be | |
187 | processed by the method's switch statement. | |
188 | ||
67db0ce7 TT |
189 | 2000-05-19 Tom Tromey <tromey@cygnus.com> |
190 | ||
191 | * java-tree.h: Added init state enum. | |
192 | * decl.c (emit_init_test_initialization): Initialize class | |
193 | initialization check variable by looking at class' state. | |
194 | ||
43490bec TT |
195 | 2000-05-19 Tom Tromey <tromey@cygnus.com> |
196 | ||
197 | * java-tree.h (build_instanceof): Declare. | |
198 | (build_get_class): Declare. | |
199 | * parse.y (patch_binop): Use build_instanceof. | |
200 | * expr.c (build_instanceof): New function. If class is final, | |
201 | don't make a function call. | |
202 | (expand_java_INSTANCEOF): Use it. | |
203 | (build_get_class): New function. | |
204 | ||
062edaed AO |
205 | 2000-05-18 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
206 | ||
207 | * jcf-write.c (generate_classfile): Scan the source_file for | |
208 | slashes with the right pointer variable. | |
209 | ||
078721e1 AC |
210 | Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com> |
211 | ||
212 | * lang.c (lang_decode_option): Update -Wunused flags by calling | |
213 | set_Wunused. | |
214 | * decl.c (poplevel): Replace warn_unused with warn_unused_label. | |
215 | ||
46543024 | 216 | 2000-05-09 Zack Weinberg <zack@wolery.cumb.org> |
3b304f5b ZW |
217 | |
218 | * check_init.c (check_init): Constify local char *. | |
219 | * class.c (push_class): Constify local char *. | |
220 | * java_tree.h: Update prototypes. | |
221 | * jcf-io.c (open_class): Constify filename parameter and | |
222 | return value. | |
223 | (find_class): Remove redundant string copy. Cast return from | |
224 | open_class. | |
225 | * jcf-parse.c (read_class, parse_class_file, yyparse): | |
226 | Constify local char *. | |
227 | * jcf-write.c (generate_bytecode_insns, generate_classfile): | |
228 | Constify local char *. | |
229 | * jcf.h (JCF): Constify filename and classname. | |
230 | (JCF_FINISH): Cast args to FREE to char * when appropriate. | |
231 | * lang.c (init_parse): Constify parameter and return value. | |
232 | * lex.c (java_get_line_col): Constify filename parameter. | |
233 | * parse.h: Constify parser_ctxt.filename. Update prototypes. | |
234 | * parse.y (java_parser_context_suspend, | |
235 | issue_warning_error_from_context, safe_layout_class): Constify | |
236 | local char *. | |
237 | * parse.c: Regenerate. | |
238 | ||
4c6a8973 TT |
239 | 2000-05-08 Tom Tromey <tromey@cygnus.com> |
240 | ||
241 | * expr.c (build_jni_stub): Cache the result of | |
242 | _Jv_LookupJNIMethod. | |
243 | ||
e117276e APB |
244 | 2000-05-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
245 | ||
246 | * decl.c (predef_filenames_size): Now 7. | |
247 | (predef_filenames): New seventh entry. | |
248 | ||
652f2504 TT |
249 | 2000-05-04 Tom Tromey <tromey@cygnus.com> |
250 | ||
251 | * boehm.c (mark_reference_fields): Don't mark RawData fields. | |
252 | Keep track of when we've seen a reference field after a | |
253 | non-reference field. | |
254 | (get_boehm_type_descriptor): Handle case where we see | |
255 | non-reference fields but no trailing reference field. | |
256 | * decl.c (rawdata_ptr_type_node): Define. | |
257 | (init_decl_processing): Initialize rawdata_ptr_type_node. | |
258 | * java-tree.h (rawdata_ptr_type_node): Declare. | |
259 | ||
ccedaff3 KG |
260 | 2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
261 | ||
262 | * jcf-dump.c (SPECIAL_IINC): Ensure arguments match format | |
263 | specifiers in calls to fprintf. | |
264 | ||
dd5d6281 TT |
265 | 2000-05-03 Andrew Haley <aph@cygnus.com> |
266 | ||
267 | * expr.c (build_java_jsr): Use emit_jump, not expand_goto. | |
268 | ||
269 | * javaop.h (WORD_TO_INT): New function. | |
270 | (IMMEDIATE_s4): Use WORD_TO_INT. | |
271 | * jcf.h (JPOOL_INT): Ditto. | |
272 | ||
273 | * gjavah.c (decode_signature_piece): Don't treat `$' as namespace | |
274 | separator. | |
275 | ||
dd5d6281 | 276 | 2000-04-19 Tom Tromey <tromey@cygnus.com> |
7145d9fe TT |
277 | |
278 | * class.c (add_method_1): Set both DECL_EXTERNAL and METHOD_NATIVE | |
279 | on native function. | |
280 | * jcf-parse.c (parse_class_file): Call build_jni_stub for native | |
281 | JNI methods. | |
282 | * expr.c (build_jni_stub): New function. | |
283 | * lang-specs.h: -fjni and -femit-class-file are incompatible. | |
284 | * parse.c: Rebuilt. | |
285 | * parse.y (java_complete_expand_methods): Expand a native method | |
286 | and call build_jni_stub if -fjni given. | |
287 | * lang-options.h: Document -fjni. | |
288 | * lang.c (flag_jni): New global. | |
289 | (lang_f_options): Added `jni' entry. | |
290 | * java-tree.h (soft_lookupjnimethod_node, | |
291 | soft_getjnienvnewframe_node, soft_jnipopsystemframe_node): | |
292 | Declare. | |
293 | (flag_jni): Declare. | |
294 | (build_jni_stub): Declare. | |
295 | (struct lang_decl): Added `native' flag. | |
296 | (METHOD_NATIVE): Redefined to use `native' field of lang specific | |
297 | structure. | |
298 | * decl.c (soft_lookupjnimethod_node, soft_getjnienvnewframe_node, | |
299 | soft_jnipopsystemframe_node): New globals. | |
300 | (init_decl_processing): Set them. _Jv_InitClass only takes one | |
301 | argument. | |
302 | ||
303 | * java-tree.def: Put into `C' mode. | |
304 | ||
e815887f TT |
305 | 2000-04-27 Tom Tromey <tromey@cygnus.com> |
306 | ||
307 | Fix for PR gcj/2: | |
308 | * expr.c (expand_invoke): Generate check to see if object pointer | |
309 | is null in nonvirtual invocation case. | |
310 | * java-tree.h (soft_nullpointer_node): Declare. | |
311 | * decl.c (soft_nullpointer_node): New global. | |
312 | (init_decl_processing): Initialize soft_nullpointer_node. | |
313 | * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final' | |
314 | or `private' methods. | |
315 | (patch_invoke): Handle INVOKE_NONVIRTUAL case. | |
316 | ||
ad81223c APB |
317 | Wed Apr 26 14:29:33 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
318 | ||
319 | * decl.c (complete_start_java_method): Don't call _Jv_InitClass | |
320 | from <clinit> | |
321 | ||
f1acc01e TT |
322 | 2000-04-26 Tom Tromey <tromey@cygnus.com> |
323 | ||
324 | * zextract.c (find_zip_file_start): New function. | |
325 | (read_zip_archive): Use it. | |
326 | ||
e803d3b2 APB |
327 | 2000-04-25 Alexandre Petit-Bianco <apbianco@cygnus.com> |
328 | ||
329 | * parse.y (register_incomplete_type): Handle JDEP_ANONYMOUS. | |
330 | ||
152de068 APB |
331 | 2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> |
332 | ||
333 | * class.c (common_enclosing_context_p): New function. | |
334 | * java-tree.h (common_enclosing_context_p): Added prototype. | |
335 | * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Relaxed test to allow | |
336 | classes sharing an outer context with the current instance. | |
337 | * parse.y (build_access_to_thisn): Fixed leading comment. | |
338 | (verify_constructor_super): New local `supper_inner'. Skip | |
339 | enclosing context argument in the case of inner class constructors. | |
340 | (patch_method_invocation): Insert proper context as second | |
341 | parameter to pure inner class constructor super invocations. | |
342 | ||
93220702 APB |
343 | Mon Apr 24 14:59:36 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
344 | ||
345 | * parse.y (end_class_declaration): Reset the interface number | |
346 | counter. | |
347 | ||
dfb99c83 APB |
348 | 2000-04-24 Alexandre Petit-Bianco <apbianco@cygnus.com> |
349 | ||
350 | * parse.y (source_start_java_method): Deleted unecessary code. | |
351 | (patch_method_invocation): Fixed comment. | |
352 | ||
e60a8c26 RL |
353 | 2000-04-24 Robert Lipe <robertlipe@usa.net> |
354 | ||
355 | * parse.h (_jdep): Member `kind' now ENUM_BITFIELD. | |
356 | ||
3c8c10b8 TT |
357 | 2000-04-23 Tom Tromey <tromey@cygnus.com> |
358 | ||
359 | * boehm.c (mark_reference_fields): Use int_byte_position. | |
360 | ||
8a008c41 TT |
361 | 2000-04-22 Tom Tromey <tromey@cygnus.com> |
362 | ||
363 | * boehm.c (mark_reference_fields): Only call byte_position on | |
364 | non-static fields. | |
365 | ||
d5f76aba TT |
366 | 2000-04-22 Tom Tromey <tromey@cygnus.com> |
367 | ||
368 | * boehm.c (mark_reference_fields): Added `last_view_index' | |
369 | argument. Use DECL_FIELD_OFFSET to determine field's offset. | |
370 | ||
a40d21da APB |
371 | Thu Apr 20 17:41:28 2000 Mo DeJong <mdejong@cygnus.com> |
372 | ||
373 | * parse.h (INTERFACE_INNER_MODIFIERS): New macro. | |
374 | * parse.y (check_class_interface_creation): Fixed comments. Select | |
375 | permitted modifiers for (inner) interfaces. Changed error message | |
376 | to report rejected modifiers used with local classes. | |
377 | ||
378 | 2000-04-20 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
379 | ||
380 | * parse.h (INNER_ENCLOSING_SCOPE_CHECK): Immediate inner classes | |
381 | of directly inherited type considered in scope. | |
382 | * parse.y (do_resolve_class): Search inherited classes for inner | |
383 | classes. | |
384 | ||
473e7b07 TT |
385 | 2000-04-20 Tom Tromey <tromey@cygnus.com> |
386 | ||
387 | * parse.y (not_accessible_p): Use member's class, not current | |
388 | class, when doing inheritance check for protected reference. | |
389 | Fixes PR gcj/124. | |
390 | ||
c52fbf0f JS |
391 | Thu Apr 20 18:20:58 2000 Jason Schroeder <shrode@subnature.com> |
392 | ||
393 | * jcf-dump.c (SPECIAL_IINC): Fixed typo printing iinc instruction. | |
394 | ||
f2760b27 APB |
395 | 2000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com> |
396 | ||
397 | * parse.y (lookup_field_wrapper): Search for final local aliases. | |
398 | (resolve_expression_name): Let lookup_field_wrapper search for | |
399 | final local aliases. Force the value of `name' if one is found. | |
400 | (qualify_ambiguous_name): CONVERT_EXPR is enough to now we have | |
401 | an expression name. Fixed comments. | |
402 | ||
807bc1db APB |
403 | 2000-04-19 Alexandre Petit-Bianco <apbianco@cygnus.com> |
404 | ||
405 | * parse.y (yyerror): `msg' can be null, don't use it in that case. | |
406 | ||
ecb36604 TT |
407 | 2000-04-19 Tom Tromey <tromey@cygnus.com> |
408 | ||
409 | * gjavah.c (cxx_keyword_subst): Avoid potential infinite loop. | |
410 | ||
48a840d9 APB |
411 | 2000-04-18 Alexandre Petit-Bianco <apbianco@cygnus.com> |
412 | ||
413 | * parse.y (maybe_make_nested_class_name): Use `obstack_grow0'. | |
414 | ||
83c1f628 TT |
415 | 2000-04-18 Tom Tromey <tromey@cygnus.com> |
416 | ||
417 | PR gcj/211: | |
418 | * gjavah.c (utf8_cmp): Changed return value. | |
419 | (cxx_keyword_subst): Handle all C++ keywords. Allocate new return | |
420 | result. | |
421 | (cxx_keywords): New global. | |
422 | (get_field_name): Handle new result of cxx_keyword_subst. | |
423 | (print_method_info): Likewise. | |
424 | ||
a7384840 BM |
425 | 2000-04-17 Bryce McKinlay <bryce@albatross.co.nz> |
426 | ||
427 | * gjavah.c (print_name_for_stub_or_jni): Don't prefix method names | |
428 | with a newline, for CNI. | |
429 | (print_stub_or_jni): Print a space or newline before method name for | |
430 | CNI as well as JNI. | |
431 | (print_cxx_classname): Don't write leading "::" in CNI stub method. | |
432 | (process_file): Include gcj/cni.h if generating CNI stubs. | |
433 | ||
3e0768f0 TT |
434 | 2000-04-16 Tom Tromey <tromey@cygnus.com> |
435 | ||
436 | * gjavah.c (decompile_method): Use print_field_name. | |
437 | Fixes PR gcj/205. | |
438 | ||
48a840d9 APB |
439 | 2000-04-14 Alexandre Petit-Bianco <apbianco@cygnus.com> |
440 | ||
441 | * parse.y (java_expand_classes): Reverse the package list once. | |
442 | (java_complete_lhs): PLUS_EXPR: don't try rhs and lhs at string | |
443 | reduction. | |
444 | (patch_binop): New temp `cn'. Call patch_string on LHS/RHS of | |
445 | the `==' and `!=' operators. | |
446 | ||
cedea510 APB |
447 | 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
448 | ||
449 | * jcf-write.c (generate_bytecode_insns): At invokation time, | |
450 | always relate an interface method to the type of its selector. | |
451 | ||
e803d3b2 APB |
452 | 2000-04-05 Tom Tromey <tromey@cygnus.com> |
453 | ||
454 | Fix for PR gcj/2: | |
455 | * expr.c (expand_invoke): Generate check to see if object pointer | |
456 | is null in nonvirtual invocation case. | |
457 | * java-tree.h (soft_nullpointer_node): Declare. | |
458 | * decl.c (soft_nullpointer_node): New global. | |
459 | (init_decl_processing): Initialize soft_nullpointer_node. | |
460 | * parse.y (invocation_mode): Return INVOKE_NONVIRTUAL for `final' | |
461 | or `private' methods. | |
462 | (patch_invoke): Handle INVOKE_NONVIRTUAL case. | |
463 | ||
bc2874c9 TT |
464 | 2000-04-05 Tom Tromey <tromey@cygnus.com> |
465 | ||
466 | Fix for PR gcj/140: | |
467 | * parse.y (check_final_assignment): Recognize assignments to the | |
468 | `length' field of an array when generating class files. | |
469 | ||
256172c4 APB |
470 | 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
471 | ||
472 | * class.c (decl_hash): Prototype removed. | |
473 | (decl_compare): Likewise. | |
474 | ||
e0fc4118 TT |
475 | 2000-04-05 Tom Tromey <tromey@cygnus.com> |
476 | ||
477 | * parse.h (THIS_MODIFIER_ONLY): Changed meaning of `v' parameter. | |
478 | * parse.y (check_modifiers_consistency): Check for final/volatile | |
479 | clash. Fixes PR gcj/164. | |
480 | ||
e0422ed0 APB |
481 | 2000-04-05 Alexandre Petit-Bianco <apbianco@cygnus.com> |
482 | ||
483 | * class.c: (java_hash_hash_tree_node): Renamed from `decl_hash', | |
484 | made global. | |
485 | (java_hash_compare_tree_node): Renamed from `decl_compare, made | |
486 | global. | |
487 | (add_method_1): Use `java_hash_hash_tree_node' and | |
488 | `java_hash_compare_tree_node'. | |
489 | * java-tree.h: (java_hash_hash_tree_node): Prototyped. | |
490 | (java_hash_compare_tree_node): Likewise. | |
491 | * parse.y (find_applicable_accessible_methods_list): Create, | |
492 | delete and use a hash table to remember already searched interfaces. | |
493 | ||
4200941b MW |
494 | 2000-04-03 Matt Welsh <mdw@cs.berkeley.edu> |
495 | ||
496 | * jcf-depend.c (add_entry): Fixed bug where list was always replaced | |
497 | with latest entry. | |
498 | ||
c0b864fc KG |
499 | 2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
500 | ||
501 | * boehm.c (mark_reference_fields, set_bit): Prototype. | |
502 | (set_bit): Un-ANSI-fy definition. | |
503 | ||
504 | * class.c (init_test_hash_newfunc, decl_hash, decl_compare): | |
505 | Prototype. | |
506 | ||
507 | * decl.c (emit_init_test_initialization): Likewise. | |
508 | ||
509 | * gjavah.c (jni_print_char): Likewise. | |
510 | ||
511 | * parse.y (create_new_parser_context): Likewise. | |
512 | ||
7a678b64 | 513 | Thu Mar 30 15:26:56 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
64ea4a5e APB |
514 | |
515 | * expr.c (java_lang_expand_expr): Added Anthony's Thu Jan 6 2000 | |
516 | patch missing hunk. Fixed indentation. | |
517 | ||
05411ecf TT |
518 | 2000-03-30 Tom Tromey <tromey@cygnus.com> |
519 | ||
520 | * gjavah.c (D_NAN_MASK): Only define as word-reversed when | |
521 | HOST_FLOAT_WORDS_BIG_ENDIAN and HOST_WORDS_BIG_ENDIAN disagree. | |
522 | ||
acbedd7c APB |
523 | 2000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com> |
524 | ||
525 | * parse-scan.y (pop_class_context): Reset `inner_qualifier_length' | |
526 | when negative *before* using it as an array index. | |
527 | * ChangeLog: Fixed typo. | |
528 | ||
0981a859 APB |
529 | 2000-03-28 Alexandre Petit-Bianco <apbianco@cygnus.com> |
530 | ||
531 | * parse-scan.y (pop_class_context): Reset `inner_qualifier_length' | |
532 | to 0 when it reaches -1. | |
533 | ||
534 | 2000-03-27 Alexandre Petit-Bianco <apbianco@cygnus.com> | |
535 | ||
536 | * jcf-parse.c (get_constant): Properly cast `num' during the | |
acbedd7c | 537 | invocation of `add_double'. |
0981a859 APB |
538 | * jcf-write.c (push_long_const): Properly cast `lo' before |
539 | comparing it to short bounds. | |
540 | * parse-scan.y (interface_declaration:): Rule re-arrange so that | |
541 | `interface_body:' is reduced after the current interface is | |
542 | pushed. | |
543 | ||
a843e0ce TT |
544 | 2000-03-26 Tom Tromey <tromey@cygnus.com> |
545 | ||
546 | * jvspec.c (jvgenmain_spec): Add `%{<...}' construct for each | |
547 | Java-specific `-f' option. | |
548 | ||
ad41cc2a RK |
549 | Sun Mar 26 11:37:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
550 | ||
551 | * decl.c (init_decl_processing): Only call initialize_sizetypes once. | |
552 | Adjust order of making types. | |
553 | Make bitsize_*_node values. | |
554 | ||
770ae6cc RK |
555 | Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
556 | ||
557 | * class.c (make_field_value): Use byte_position. | |
558 | * expr.c (JAVA_ARRAY_LENGTH_OFFSET): Use byte_position. | |
559 | (java_array_data_offset): Likewise. | |
560 | * java-tree.h (MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Add case to | |
561 | bzero call. | |
562 | ||
165f37bc APB |
563 | 2000-03-22 Alexandre Petit-Bianco <apbianco@cygnus.com> |
564 | ||
565 | * parse.y (check_abstract_method_definitions): New local | |
566 | `end_type_reached'. Make sure we also consider `end_type'. | |
0981a859 APB |
567 | (java_check_abstract_method_definitions): Make sure we eventually |
568 | consider `java.lang.Object'. | |
569 | (maybe_use_access_method): Don't use access method if not in the | |
570 | context of a pure inner class or if the method's context is right. | |
571 | (find_applicable_accessible_methods_list): New static flag | |
165f37bc | 572 | `object_done'. Don't search abstract classes as interfaces. Fixed |
0981a859 APB |
573 | indentation. Fixed the `java.lang.Object' only search. Search |
574 | class interface(s) first, then fully search enclosing contexts. | |
575 | (find_most_specific_methods_list): Pick the closest candidate when | |
165f37bc APB |
576 | they're all abstract. |
577 | ||
124906f9 APB |
578 | Mon Mar 20 08:58:51 2000 Alexandre Petit-Bianco <apbianco@cygnus.com> |
579 | ||
580 | * jcf-write.c (generate_bytecode_insns): TRY_FINALLY_EXPR: | |
581 | properly initialize `finished_label.' Don't emit gotos for empty | |
582 | try statements. | |
583 | ||
c14f7160 ML |
584 |