]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
* xcoffout.c: Fix formatting.
[gcc.git] / gcc / ChangeLog
1 2000-08-28 Kazu Hirata <kazu@hxi.com>
2
3 * xcoffout.c: Fix formatting.
4
5 2000-08-28 Jason Merrill <jason@redhat.com>
6
7 * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
8
9 2000-08-28 Daniel Berlin <dberlin@redhat.com>
10
11 * dwarf2out.c (dwarf2out_finish): Don't bother calling
12 break_out_includes if it won't do anything.
13
14 2000-08-28 Richard Henderson <rth@cygnus.com>
15
16 * reload.c (push_secondary_reload): Revert 2000-08-16 change.
17 (find_reloads): Likewise.
18 * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
19 (reload_inhi): Likewise.
20
21 2000-08-28 Richard Henderson <rth@cygnus.com>
22
23 * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
24 (call_insn_operand): Don't expect a surrounding mem.
25 (constant_call_address_operand): Likewise.
26 * config/i386/i386.h (PREDICATE_CODES): Update.
27 * config/i386/i386.md (call patterns): Move the match_operand
28 for the call destination inside the mem.
29
30 2000-08-28 Richard Henderson <rth@cygnus.com>
31
32 * local-alloc.c (requires_inout): Don't use reserved range for
33 EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
34 * recog.c (asm_operand_ok): Likewise.
35 (preprocess_constraints, constrain_operands): Likewise.
36 * regclass.c (record_reg_classes): Likewise.
37 * reload.c (find_reloads): Likewise.
38 * reload1.c (maybe_fix_stack_asms): Likewise.
39 (reload_cse_simplify_operands): Likewise.
40 * stmt.c (expand_asm_operands): Likewise.
41
42 * md.texi: Update constraints documentation.
43 * tm.texi (EXTRA_CONSTRAINT): Update.
44
45 2000-08-28 Daniel Berlin <dberlin@redhat.com>
46
47 * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
48 (print_die): If we don't know the offset of the
49 target die, try the symbol. Add a trailing newline.
50 (reverse_all_dies): New fn.
51 (dwarf2out_finish): Call it.
52 (break_out_includes): Reorganize for clarity.
53 (add_sibling_attributes): Don't call reverse_die_lists.
54 (output_comp_unit): Rename from output_comdat_comp_unit. Use for
55 primary CU, too.
56 * flags.h: Add flag_eliminate_dwarf2_dups.
57 * toplev.c (f_options): Support -feliminate-dwarf2-dups.
58
59 2000-08-28 Jason Merrill <jason@redhat.com>
60
61 * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
62 * dwarf2out.c: #include "md5.h".
63 (DIE_LABEL_PREFIX): New macro.
64 (dw_val_struct): Add 'external' flag to val_die_ref.
65 (add_AT_die_ref, AT_ref): Adjust.
66 (AT_ref_external, set_AT_ref_external): New fns.
67 (build_abbrev_table): Call set_AT_ref_external.
68 (value_format): Call AT_ref_external.
69 (die_struct): Add die_symbol field.
70 (new_die): Clear it.
71 (dwarf_tag_name): Handle BINCL/EINCL.
72 (dwarf2out_start_source_file): Add BINCL DIE.
73 (dwarf2out_end_source_file): Add EINCL DIE.
74 (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
75 (loc_checksum, attr_checksum, die_checksum): New fns.
76 (is_type_die, is_comdat_die, is_symbol_die): New fns.
77 (compute_section_prefix, assign_symbol_names): New fns.
78 (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
79 (output_die): Call output_die_symbol and AT_ref_external.
80 (output_comdat_comp_unit): New fn, split out from...
81 (dwarf2out_finish): ...here. Also call add_sibling_attributes for
82 secondary CUs.
83 (output_pubnames, output_aranges): Abort if we see entries from
84 secondary CUs.
85 * toplev.h: Declare file_name_nondirectory.
86 * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
87 (rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
88 (debug_start_source_file): Call dwarf2out_start_source_file
89 regardless of debug verbosity.
90 (debug_end_source_file): Similarly.
91 * tree.h: Declare clean_symbol_name.
92 * tree.c (clean_symbol_name): Split out from...
93 (get_file_function_name_long): ...here.
94
95 * dwarf2out.c (new_loc_descr): Use calloc.
96 (splice_child_die): Remove the die from the right parent.
97 (gen_struct_or_union_die): Don't add AT_name to a specification DIE.
98
99 Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
100
101 * toplev.c (decode_g_option): Don't give warning for unknown -g
102 option; return 0 instead.
103 (main): If -g option is not recognized by front end or
104 language-independent code, give warning.
105
106 2000-08-28 Greg McGary <greg@mcgary.org>
107
108 * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
109 * config/i386/i386.c (ix86_expand_compare): Remove `static'.
110 * config/i386/i386.md (trap, conditional_trap): New insn & expand.
111
112 2000-08-27 Greg McGary <greg@mcgary.org>
113
114 * cpplex.c (parse_string): Don't look for backslash
115 before first char in `namebuf'.
116 * loop.c (strength_reduce): Skip NOTEs.
117
118 2000-08-27 Jason Merrill <jason@redhat.com>
119
120 * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
121 DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or
122 TREE_ASM_WRITTEN, either.
123 (finish_decl): Adjust.
124
125 2000-08-28 Philipp Thomas <pthomas@suse.de>
126
127 * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
128 they have been incorporated into the gettext CVS. Change the text to
129 reflect the current status of NLS. Add instructions for accessing
130 the gettext CVS and add the patch from Martin v. Loewis.
131
132 2000-08-27 Geoff Keating <geoffk@cygnus.com>
133
134 * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
135 by using gen_lowpart_common.
136 (movdi_internal64+6): Likewise.
137
138 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
139
140 * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
141 Document.
142
143 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
144 numbers to the ranges used by GDB.
145
146 2000-08-25 Richard Henderson <rth@cygnus.com>
147
148 * config/ia64/ia64.h (struct machine_function): Add n_varargs.
149 * config/ia64/ia64.c (ia64_compute_frame_size): Use it.
150 (ia64_expand_prologue): Likewise.
151 (ia64_setup_incoming_varargs): Set it. Properly skip the current
152 argument for stdargs.
153
154 2000-08-25 Jason Merrill <jason@redhat.com>
155
156 * integrate.c (expand_inline_function): Pull out the original decl.
157
158 2000-08-25 Jim Wilson <wilson@cygnus.com>
159
160 * cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
161
162 * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
163
164 2000-08-25 Greg McGary <greg@mcgary.org>
165
166 * flow.c (dump_edge_info): Use ARRAY_SIZE.
167 * config/alpha/alpha.c (alpha_expand_block_move): Likewise.
168
169 2000-08-25 Richard Earnshaw <rearnsha@arm.com>
170
171 * arm.h (STRUCT_VALUE): Define to 0, not NULL.
172
173 Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com)
174
175 * i386.c (ix86_find_base_term): New.
176 * i386-protos.h (ix86_find_base_term): Prototype.
177 * i386.h (FIND_BASE_TERM): Define.
178 * alias.c (find_base_term): Use it.
179 * tm.texi (FIND_BASE_TERM): Document it.
180
181 * alias.c (true_dependence, write_dependence_p): Unchanging
182 memory can't conflict with non-unchanging memory.
183
184 * alias.c (memrefs_conflict_p): A BLKmode reference
185 to a symbol (or CONST_INT address) always conflicts
186 with a reference to another symbol.
187
188 2000-08-25 Joseph S. Myers <jsm28@cam.ac.uk>
189
190 * c-common.c (time_char_table): Don't allow width and flags with
191 "z" format.
192
193 2000-08-25 Jakub Jelinek <jakub@redhat.com>
194
195 * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
196 way as LT and LTU when the second operand has 0 in low word.
197
198 2000-08-26 Michael Hayes <mhayes@cygnus.com>
199
200 * basic-block.h (struct loop): Rename `exits' field to
201 `exit_edges'. Add `entry_edges' and `num_entries' fields.
202
203 * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
204 (flow_loop_entry_edges_find): Add.
205 (flow_edge_list_print): Rename from flow_exits_print.
206 (flow_loops_find): Call flow_loop_entry_edges_find.
207 (flow_loop_dump): Dump entry_edges list.
208 (flow_loops_free): Free entry_edges.
209
210 2000-08-26 Michael Hayes <mhayes@cygnus.com>
211
212 * loop.c (loop_dump_aux, debug_loop): New functions.
213 (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
214
215 * flow.c (flow_loops_dump): Add callback parameter.
216 (flow_loop_dump): Add callback parameter and call it. Move
217 loop note debugging code to loop_dump_aux.
218
219 * basic-block.h (flow_loop_dump): Add callback parameter
220 (flow_loops_dump): Likewise.
221
222 * toplev.c (rest_of_compilation): Add NULL callback function pointer
223 to call to flow_loops_dump.
224
225 2000-08-26 Michael Hayes <mhayes@cygnus.com>
226
227 * loop.c (count_loop_regs_set): Replace start and end arguments
228 with loop argument. All callers udated.
229
230 2000-08-26 Michael Hayes <mhayes@cygnus.com>
231
232 * loop.c (constant_high_bytes): Delete.
233
234 2000-08-26 Michael Hayes <mhayes@cygnus.com>
235
236 * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
237 and NOTE_INSN_LOOP_VTOP to...
238 (find_and_verify_loops) ...here.
239
240 Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com>
241
242 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
243 (fini_dummy, init_dummy): Use it.
244
245 Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net>
246
247 * cpplex.c (is_macro_disabled): Caller has already checked
248 that we're not a preprocessed file.
249
250 2000-08-24 Mark Mitchell <mark@codesourcery.com>
251
252 * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
253 (c-iterate.o): Remove target.
254 * gcc/c-common.h (enum rid): Remove RID_ITERATOR.
255 * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
256 (finish_decl): Don't handle iterators.
257 (grokdeclarator): Likewise.
258 * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
259 * gcc/c-gperf.h: Regenerated.
260 * gcc/c-iterate.c: Removed.
261 * gcc/c-lex.c (init_lex): Don't handle iterators.
262 * gcc/c-parse.in (primary): Remove pop_iterator_stack call.
263 (compstmt_primary_start): Remove push_iterator_stack call.
264 (stmt): Don't allow iterator statements. Replace iterator_expand
265 with expand_expr_stmt.
266 (all_iter_stmt): Remove.
267 (all_iter_stmt_simple): Likewise.
268 (all_iter_stmt_with_decl): Likewise.
269 * gcc/c-tree.h (ITERATOR_P): Remove.
270 (ITERATOR_BOUND_P): Likewise.
271 (init_iterators): Remove declaration.
272 (iterator_expand): Likewise.
273 (iterator_for_loop_start): Likewise.
274 (iterator_for_loop_end): Likewise.
275 (iterator_for_loop_record): Likewise.
276 (push_iterator_stack): Likewise.
277 (pop_iterator_stack): Likewise.
278 * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
279 (readonly_warning): Likewise.
280 * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
281
282 2000-08-24 Jim Wilson <wilson@cygnus.com>
283
284 * c-common.c (decl_attributes, case A_ALIGN): Revert last change.
285 Copy type in a TYPE_DECL, just like pushdecl does.
286
287 2000-08-24 Richard Henderson <rth@cygnus.com>
288
289 * toplev.c (main): Enable flag_reorder_blocks at -O2.
290
291 2000-08-24 Zack Weinberg <zack@wolery.cumb.org>
292
293 * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
294 asked for one page, allocate GGC_QUIRE_SIZE of them and put
295 the extras on the free list.
296 (release_pages): Clean up.
297 (ggc_set_mark): Don't adjust G.allocated here...
298 (sweep_pages): ... do it here.
299
300 2000-08-24 Zack Weinberg <zack@wolery.cumb.org>
301
302 * cppfiles.c (read_include_file): Rearrange initializations.
303
304 2000-08-24 Richard Henderson <rth@cygnus.com>
305
306 * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
307
308 * config/ia64/ia64-protos.h: Update.
309 * config/ia64/ia64.c (gr_register_operand): New.
310 (fr_register_operand, grfr_register_operand): New.
311 (gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
312 (grfr_reg_or_8bit_operand): New.
313 (gr_reg_or_0_operand): Rename from reg_or_0_operand and
314 use gr_register_operand.
315 (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
316 (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
317 (gr_reg_or_8bit_and_adjusted_operand): Likewise.
318 (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
319 (fr_reg_or_fp01_operand): Likewise.
320 (not_postinc_memory_operand): New.
321 (ia64_split_timode): Remove unused variables.
322 (rtx_needs_barrier): Check arguments to cmpxchg.
323 (builtin_description): Remove.
324 (bdesc_2argsi, bdesc_2argdi): Remove.
325 (ia64_init_builtins): Declare all builtins directly.
326 (ia64_expand_fetch_and_op): Rewrite to be called from
327 ia64_expand_builtin directly. Use expand_binop and co.
328 (ia64_expand_op_and_fetch): Likewise.
329 (ia64_expand_compare_and_swap): Likewise.
330 (ia64_expand_binop_builtin): Remove.
331 (ia64_expand_lock_test_and_set): New.
332 (ia64_expand_lock_release): New.
333 (ia64_expand_builtin): Use them.
334 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
335 (EXTRA_CONSTRAINT): Use it.
336 (PREDICATE_CODES): Update.
337 * config/ia64/ia64.md (*): Use gr_register_operand and co.
338 (mf): Indicate that we set memory as well as use it.
339 (fetchadd_acq_si): Show memory being modified as well.
340 (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
341 (val_compare_and_swap_si, val_compare_and_swap_di): Remove.
342 (lock_test_and_set_si, lock_test_and_set_di): Remove.
343 (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
344 (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
345 (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
346 (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
347 (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
348 (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
349 (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
350 (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
351 * config/ia64/ia64intrin.h (*): Cast result to the appropriate
352 return type. Pretty print definitions.
353
354 2000-08-24 Jim Wilson <wilson@cygnus.com>
355
356 * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
357 we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
358
359 2000-08-24 Jason Merrill <jason@redhat.com>
360
361 * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
362 AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
363 (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
364 get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
365
366 2000-08-24 Greg McGary <greg@mcgary.org>
367
368 * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
369 and extendtab within their proper array boundaries.
370 * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
371 for the entire array.
372
373 * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
374 * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
375 * config/avr/avr.c (order_regs_for_local_alloc): Likewise.
376 * config/fr30/fr30.c (fr30_print_operand): Likewise.
377 * config/i386/dgux.c (output_options): Likewise.
378 * config/i386/dgux.h (ASM_FILE_START): Likewise.
379 * config/m88k/m88k.c (output_options): Likewise.
380 * config/m88k/m88k.h (ASM_FILE_START): Likewise.
381 * config/mcore/mcore.c (mcore_output_inline_const_forced,
382 layout_mcore_frame, handle_structs_in_regs): Likewise.
383 * config/mips/mips.c (output_block_move): Likewise.
384 * config/rs6000/rs6000.c (rs6000_override_options,
385 rs6000_file_start): Likewise.
386 * config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
387 * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
388 * fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
389 * builtins.c (expand_builtin_setjmp): Likewise.
390 * expr.c (safe_from_p): Likewise.
391 * flow.c (life_analysis): Likewise.
392 * fold-const.c (size_int_type_wide): Likewise.
393 * gcc.c (translate_options, init_spec, set_spec, main): Likewise.
394 * genattrtab.c (make_length_attrs): Likewise.
395 * genopinit.c (gen_insn): Likewise.
396 * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
397 * global.c (global_alloc): Likewise.
398 * local-alloc.c (find_free_reg): Likewise.
399 * mips-tdump.c (print_symbol): Likewise.
400 * mips-tfile.c (parse_def, parse_input): Likewise.
401 * reload1.c (NUM_ELIMINABLE_REGS): Likewise.
402 * stmt.c (expand_nl_goto_receiver): Likewise.
403 * stor-layout.c (set_sizetype): Likewise.
404 * varasm.c (decode_reg_name): Likewise.
405 * toplev.c (decode_f_option, decode_W_option,
406 set_target_switch, print_switch_values): Likewise.
407 (NUM_ELEM): Remove macro.
408 (display_help, main): s/NUM_ELEM/ARRAY_SIZE/
409
410 2000-08-24 Greg McGary <greg@mcgary.org>
411
412 * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
413 (MAIN_NAME_P, main_identifier_node): New macros.
414 * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
415 * c-decl.c (start_decl, grokdeclarator, start_function,
416 store_parm_decls, finish_function): Use MAIN_NAME_P.
417 * config/avr/avr.c (function_prologue, function_epilogue): Likewise.
418 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
419 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
420 * config/pdp11/pdp11.c (output_function_prologue): Likewise.
421
422 2000-08-24 Greg McGary <greg@mcgary.org>
423
424 * cppfiles.c (actual_directory): Don't write beyond `dir'
425 when it contains "".
426 * real.c (asctoeg): Stay within bounds of etens[][].
427
428 2000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
429
430 * dependence.c (dependence_string, direction_string,
431 dump_one_node, dump_node_dependence): Hide unused identifiers.
432 (get_low_bound, normalize_coefficients): Match definition to
433 static prototype.
434 (get_one_coefficient): Initialize variables `value0_is_idx' and
435 `value1_is_idx'.
436 (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
437 (ziv_test): Delete variable `idx', use parameter `sub' instead.
438 (direction_merge): Avoid automatic aggregate initialization.
439 (have_dependence_p): Use `src' not `dest' to set `src_idx'.
440 Initialize variables `dest_idx' and `src_idx'.
441 (end_dependence_analysis): Avoid C89 style function definition.
442
443 2000-08-24 Joseph S. Myers <jsm28@cam.ac.uk>
444
445 * c-common.c (time_char_table): Don't allow width with %F.
446 (check_format_info): Don't allow "Z" length with scanf.
447
448 2000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
449
450 * diagnostic.c (finish_diagnostic): Define.
451 (output_do_printf): Use wrap_text instead of output_add_string.
452 (default_print_error_function): Avoid embedded '\n'.
453
454 * diagnostic.h (flush_diagnostic_buffer): Declare.
455
456 2000-08-23 Alexandre Oliva <aoliva@redhat.com>
457
458 * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
459
460 2000-08-23 Hans-Peter Nilsson <hp@axis.com>
461
462 * Makefile.in (GCC_PASSES): Add specs.
463
464 2000-08-23 Jim Wilson <wilson@cygnus.com>
465
466 * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
467 * config/ia64/frame-ia64.c (__get_personality): Return zero if neither
468 EHANDLER nor UHANDLER bit is set.
469 (__get_except_table): Likewise.
470
471 2000-08-23 Nick Clifton <nickc@redhat.com>
472
473 * config/arm/lib1funcs.asm: Replace upper case condition codes
474 with lower case versions.
475
476 * config/arm/arm.h (STRUCT_VALUE): Define.
477 (STRUCT_VALUE_REGNUM): Delete.
478
479 2000-08-23 Zack Weinberg <zack@wolery.cumb.org>
480
481 * cpphash.h (IN_I): New flag for directive table.
482 * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
483 #pragma with IN_I.
484 (_cpp_check_directive): If -fpreprocessed, execute directives
485 marked with IN_I. Issue no warnings in this case.
486 * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
487
488 2000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
489
490 * c-common.c (print_char_table): Allow 'I' flag with %d, %i and
491 %u.
492 (check_format_info): Support printf 'I' flag; warn about it with
493 -pedantic.
494
495 2000-08-23 Richard Earnshaw (rearnsha@arm.com)
496
497 * arm.c (arm_expand_prologue): Ensure that the stack-adjustment
498 barrier can't be ignored by the alias analysis code.
499
500 2000-08-12 Eli Zaretskii <eliz@is.elta.co.il>
501
502 * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
503 works inside fixincl.
504
505 Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
506
507 * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
508 simplify_relational_operation() unless both operands are of
509 VOIDmode.
510 * cse.c (fold_rtx): Likewise.
511
512 Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
513
514 * rtlanal.c (rtx_unstable_p): The pic register is stable
515 (within one function) and the actual rtx should be used
516 when checking the registers.
517 (rtx_addr_can_trap_p): Pic memory addresses can't trap.
518
519 * alias.c (true_dependence, write_dependence_p): Fix
520 bug in previous patch.
521
522 * i386.c (ix86_GOT_alias_set): New.
523 (legitimize_pic_address): Use it.
524
525 * rtlanal.c (rtx_unstable_p): An unchanging MEM is
526 only stable if its address is stable.
527 (rtx_varies_p): An unchanging MEM can't vary if
528 its address doesn't vary.
529
530 2000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
531
532 * c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
533
534 2000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca>
535
536 * vax.h (ASM_SPEC): Pass `-J' to assembler.
537 * x-vax-gcc: New file for bootstrapping with gcc.
538 * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
539 * configure.in: Use x-vax-gcc with gcc.
540 * configure: Rebuilt.
541
542 Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
543
544 * toplev.c (rest_of_compilation): Rebuild label notes after
545 post-reload splitting pass if new labels have been created.
546
547 2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
548
549 * diagnostic.h (output_buffer_state): New macro.
550 * diagnostic.c (diagnostic_for_decl, sorry,
551 default_print_error_function, output_do_verbatim,
552 report_diagnostic, report_problematic_module): Use it.
553 (wrap_text): Tweak.
554 (output_format): Use wrap_text instead of maybe_wrap_text.
555
556 2000-08-22 Nick Clifton <nickc@redhat.com>
557
558 * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
559 Common code for ARM divide and modulus functions.
560 (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
561 ARM_DIV_MOD_BODY.
562 (FUNC_END): New macro: Common code at the end of the division and
563 modulo functions.
564 (THUMB_FUNCTION_START): New macro: Common code at the start of
565 Thumb functions.
566 (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
567
568 Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp>
569
570 * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
571
572 * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
573 sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
574 const0_rtx.
575
576 2000-08-22 Nick Clifton <nickc@redhat.com>
577
578 * config/arm/lib1funcs.asm (__umodsi3): Before performing any
579 restorative additions, test for bottom bits of IP being set,
580 rather than relying upon the RORs not matching.
581 (__modsi3): Ditto.
582
583 2000-08-22 David Edelsohn <edelsohn@gnu.org>
584
585 * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
586 text_section() as appropriate instead of emitting text csect
587 pseudo-op directly.
588 (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
589 (UNIQUE_SECTION): Define macro.
590 (ASM_OUTPUT_SECTION_NAME): Define macro.
591 * rs6000.c (rs6000_override_options): Disable -ffunction-sections
592 on AIX if debugging and -fdata-sections always.
593
594 2000-08-22 Steven King <sxking@uswest.net>
595
596 * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
597 machinery.
598 (LDBL_MAX): Same here.
599
600 2000-08-22 Richard Henderson <rth@cygnus.com>
601
602 * flow.c (tidy_fallthru_edge): Update b->end properly.
603
604 2000-08-22 Stan Cox <scox@redhat.com>
605
606 * Makefile.in (OBJS): Add dependence.o.
607 * dependence.c: New file.
608
609 2000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca>
610
611 * calls.c (check_sibcall_argument_overlap_1): Adjust for
612 ARGS_GROW_DOWNWARD.
613 (check_sibcall_argument_overlap): Likewise.
614
615 2000-08-22 Alexandre Oliva <aoliva@redhat.com>
616
617 * invoke.texi (SH Options): Document -m4-nofpu,
618 -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
619 -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
620
621 2000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
622
623 * c-common.c (check_format_info): Give the 'some locales' warning
624 for strftime %Ey rather than the unconditional 'only last 2 digits
625 of year' one.
626
627 2000-08-22 Richard Henderson <rth@cygnus.com>
628
629 * alias.c (init_alias_analysis): Do not register
630 struct_value_incoming_rtx or static_chain_rtx as pointing
631 to stack memory.
632
633 Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com)
634
635 * protoize.c (munge_compile_params): Fix typo and formatting buglets.
636
637 2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
638
639 * diagnostic.h (report_problematic_module): Declare.
640 * diagnostic.c (report_problematic_module): New function.
641 (report_error_function): Tweak.
642
643 Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
644
645 * stmt.c (expand_goto_internal, fixup_gotos): Only check
646 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
647
648 2000-08-21 Richard Henderson <rth@cygnus.com>
649
650 * flow.c (calculate_global_regs_live): Mark frame pointer live
651 everywhere before reload.
652
653 2000-08-21 Jim Wilson <wilson@cygnus.com>
654
655 * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
656 INTEL_EXTENDED_IEEE_FORMAT.
657 (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally
658 clear last two bytes of output FP value.
659
660 2000-08-21 Graham Stott <grahams@cygnus.co.uk>
661
662 * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
663
664 2000-08-21 Jakub Jelinek <jakub@redhat.com>
665
666 * unroll.c (loop_find_equiv_value): If ret is modified between
667 insn and loop_start, ret might not be equivalent to reg.
668
669 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
670
671 * c-common.c (init_dollar_format_checking,
672 maybe_read_dollar_number, finish_dollar_format_checking): New
673 functions.
674 (dollar_arguments_used, dollar_arguments_count,
675 dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
676 New variables.
677 (check_format_info): Support $ formats for scanf and printf width
678 and precision. Always increment format_chars to advance past the
679 '*' of precision, not just when the format parameters are
680 available to check.
681
682 2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
683
684 * mips.c (block_move_loop, expand_block_move,
685 function_arg_partial_nregs, save_restore_insns, function_prologue,
686 mips_expand_prologue, RA_MASK): Avoid using the `U' integer
687 constant suffix.
688 (function_arg_advance, function_arg): Match argument to format
689 specifier `%p'.
690
691 2000-08-21 Nix <nix@esperi.demon.co.uk>
692
693 * gcc.c (do_spec_1): Implement %j spec flag.
694 Remove dead comment.
695
696 * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
697 * system.h (HOST_BIT_BUCKET): Default to "/dev/null".
698 * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
699 * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
700
701 * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
702 writable) instead of hardcoded value.
703
704 * toplev.c (compile_file): Output to a file even if -fsyntax-only.
705
706 * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
707 MKTEMP_EACH_FILE.
708
709 * gcc.c (cc1_options): Do not process -o or run the assembler if
710 -fsyntax-only.
711 * objc/lang-spec.h: Likewise.
712
713 2000-08-21 Eli Zaretskii <eliz@is.elta.co.il>
714
715 * fixinc/fixincl.c (fix_with_system): Pipe the output of
716 "external" fixes through `cat', to avoid truncating the input
717 file by redirection.
718
719 2000-08-21 Jakub Jelinek <jakub@redhat.com>
720
721 * config/i386/i386.md (lea_general_1): Copy insn condition to split
722 condition.
723 (lea_general_2, lea_general_3): Likewise.
724
725 2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
726
727 * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
728 warnings to user code.
729
730 * c-lex.c (readescape, yylex): Likewise.
731
732 * c-typeck.c (store_init_value, process_init_element): Likewise
733 (c_expand_start_case): Format.
734
735 2000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
736
737 * mips/linux.h (LINK_SPEC): Use %(endian_spec).
738
739 * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
740 and linker_endian_spec to endian_spec.
741 (ENDIAN_SPEC): Add %{EB} and %{EL}.
742 (LINK_SPEC): Remove %{EB} and %{EL}.
743 (ASM_SPEC): Likewise. Use %(endian_spec).
744
745 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
746
747 * c-tree.h (flag_hosted): Move declaration from here...
748 * c-common.h (flag_hosted): ... to here.
749 (flag_noniso_default_format_attributes): New declaration.
750 * c-decl.c (flag_noniso_default_format_attributes): New variable.
751 (c_decode_option): Set it appropriately for options choosing
752 language standard variant.
753 * c-common.c (init_function_format_info): Only provide default
754 format attributes if flag_hosted. Only provide the gettext
755 formats if flag_noniso_default_format_attributes. Update
756 comments.
757 (check_format_info): Disable treatment of %a as a scanf flag in
758 C99 mode.
759
760 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
761
762 * c-common.c (scan_char_table): Add 'w' to flags for all formats
763 except 'n'.
764 (check_format_info): Set 'wide' for scanf format widths. Warn for
765 a zero scanf width. Make the check for writing into a constant
766 object at the first level of indirection; at later levels, warn if
767 any type qualifiers are encountered.
768
769 Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com)
770
771 * reload.c (reload_inner_reg_of_subreg): New function broken out of
772 push_reload.
773 (push_reload): Use reload_inner_reg_of_subreg.
774 (combine_reloads): Do not combine reloads if the input reload
775 is a SUBREG in which the inner part will need reloading.
776
777 * global.c (global_alloc): Avoid passing dumpfile argument to
778 reload routines.
779 * toplev.c (rest_of_compilation): Likewise.
780 * reload.h (reload): Remove dumpfile argument. Callers changed.
781 (debug_reload, debug_reload_to_stream): Move prototypes here.
782 * rtl.h (reload): Remove dumpfile argument.
783 * reload.c (debug_reload): Remove prototype.
784 (debug_reload_to_stream): Likewise.
785 * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
786 instead.
787
788 2000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
789
790 * diagnostic.c (context_as_prefix): Export.
791 (need_error_newline): Remove.
792 (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
793 (error_module_changed, record_last_error_module,
794 error_function_changed, record_last_error_function): New functions.
795 (initialize_diagnostics): Default intialize
796 lang_diagnostic_starter, lang_diagnostic_finalizer.
797 (init_output_buffer): Tweak.
798 (file_name_as_prefix): New function.
799 (announce_function, default_print_error_function,
800 report_error_function, set_diagnostic_context): Tweak.
801
802 2000-08-21 Richard Earnshaw <rearnsha@arm.com>
803
804 * flow.c (init_propagate_block_info): Handle SUBREG in a jump
805 condition expression.
806
807 2000-08-20 Richard Henderson <rth@cygnus.com>
808
809 * flow.c (merge_blocks_nomove): Don't seek back past the bb note.
810
811 2000-08-20 Zack Weinberg <zack@wolery.cumb.org>
812
813 * cppinit.c (cpp_init): Set global flag when called.
814 (cpp_reader_init): Bomb out if cpp_init hasn't been called.
815
816 Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
817
818 * cpplex.c (cpp_scan_buffer): Move `output_line_command' just
819 before `process_directive' so that newlines won't be missed
820 for directives.
821 (cpp_printf): Increment `print->lineno' when newline is emitted.
822
823 * cppmain.c (cb_ident): Likewise.
824 (cb_define): Likewise.
825 (cb_undef): Likewise.
826 (cb_include): Likewise.
827 (cb_def_pragma): Likewise.
828 (dump_macros_helper): Likewise.
829
830 2000-08-20 Richard Henderson <rth@cygnus.com>
831
832 * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
833 assigned before a loop.
834
835 * config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
836 (ashrsi3, lshrsi3): Likewise.
837
838 2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
839
840 * c-lang.c: #include diagnostic.h
841 (c_tree_printer): New function.
842 (lang_init): Initialize lang_printer.
843
844 * Makefile.in (c-lang.o): Depends on diagnostic.h
845
846 2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
847
848 * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
849
850 * diagnostic.c (default_diagnostic_starter,
851 default_diagnostic_finalizer): New functions.
852 (diagnostic_for_asm, diagnostic_for_decl): Tweak.
853 (pedwarn, pedwarn_with_file_and_line, error,
854 error_with_file_and_line, fatal, warning,
855 warning_with_file_and_line): Adjust call to report_diagnostic.
856 (report_diagnostic): Rework.
857 (set_diagnostic_context): New function.
858
859 * diagnostic.h (struct diagnostic_context): New data structure.
860 (diagnostic_message, diagnostic_argument_list,
861 diagnostic_file_location, diagnostic_line_location,
862 diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
863 diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
864 (set_diagnostic_context): Declare.
865 (report_diagnostic): Change prototype.
866
867 Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net>
868
869 * fix-header.c (main): Initialize cpplib.
870
871 2000-08-19 Michael Meissner <meissner@redhat.com>
872
873 * ifcvt.c (find_if_block): Do not assume that a THEN block has any
874 instructions in it before checking for indirect jumps.
875
876 * ifcvt.c (find_if_block): Do not consider a THEN block that ends
877 in a indirect jump as a potential for conditional execution.
878
879 * d30v.h (d30v_init_expanders): Don't declare here.
880 * d30v-protos.h (d30v_init_expanders): Declare here with a valid
881 prototype.
882
883 Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net>
884
885 * cpp.texi: Add @section for assertions.
886
887 Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com)
888
889 * loop.c (scan_loop): Use CONST_CALL_P instead of
890 checking for REG_LIBCALL / REG_RETVAL.
891
892 Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com)
893
894 * reload1.c (reload_as_needed): Accept dumpfile argument,
895 pass it to emit_reload_insns.
896 (emit_reload_insns): Add new dumpfile argument. If non-null
897 then dump the reloads for each insn into the dumpfile.
898 (reload): Pass dumpfile to reload_as_needed.
899
900 * invoke.texi: Clean up linux-gnu vs linux comments.
901
902 2000-08-19 Richard Henderson <rth@cygnus.com>
903
904 * config/ia64/ia64.c (reg_or_5bit_operand): New.
905 (ia64_depz_field_mask): New.
906 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
907 (PREDICATE_CODES): Update.
908 * config/ia64/ia64.md: Update commentary.
909 (depz_internal): New.
910 (ashlsi3): Implement directly.
911 (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
912 (ashldi3): Use shladd.
913 * config/ia64/ia64-protos.h: Update.
914
915 2000-08-18 Zack Weinberg <zack@wolery.cumb.org>
916
917 * toplev.c (independent_decode_option): Always process -g.
918 Remove third argument, now unused. Adjust caller to match.
919
920 2000-08-18 Richard Henderson <rth@cygnus.com>
921
922 * combine.c (make_compound_operation): Break after creating
923 the extraction.
924
925 2000-08-18 Zack Weinberg <zack@wolery.cumb.org>
926
927 * cpplib.c (cpp_register_pragma_space): Just return if the
928 namespace is already registered.
929
930 2000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com>
931
932 * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
933 constant amount. Do not generate ROTL instruction.
934
935 Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com>
936
937 * config/sh/elf.h: Do not include sh/sh.h.
938 * config/sh/rtems.h: Likewise.
939 * config/sh/rtemself.h: Do not include sh/elf.h.
940 * configure.in: Get them included with `tm_file's.
941 * configure: Rebuilt.
942
943 * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
944 * config/sh/sh.c (fpscr_set_from_mem): Use them.
945
946 Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
947
948 * stor-layout.c (compute_record_type): Don't use mode of single
949 field as mode of record if not integer mode of same type.
950
951 * regmove.c (perhaps_ends_bb_p): New function.
952 (optimize_reg_copy_1, optimize_reg_copy_2): Call it.
953 (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
954 (fixup_match_1): Likewise.
955 (fixup_match_1, combine_stack_adjustments_for_block): Add casts to
956 avoid signed/unsigned warnings.
957
958 * function.c (fixup_var_refs_1, case MEM): Update CODE after
959 updating X.
960
961 Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net>
962
963 * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
964 (_cpp_trigraph_map): Declaration moved from cpplex.c
965
966 * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1
967 instead of 256. Use consistent test for designated initializers.
968 (cpp_init): Initialize trigraph_map.
969 (initialize_standard_includes, parse_option): Use memcmp
970 instead of strncmp.
971
972 * cpplex.c (init_trigraph_map): Remove.
973 (trigraph_ok, trigraph_replace, lex_line): Refer to
974 _cpp_trigraph_map.
975
976 * cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
977 (do_unassert): Remove unused "next" local.
978
979 * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
980
981 2000-08-18 Emmanuel Marty <emarty@suntech.fr>
982
983 * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
984 insn.
985
986 2000-08-17 Richard Henderson <rth@cygnus.com>
987
988 * config/ia64/ia64.c (spill_restore_mem): Handle emitting
989 the first insn in a sequence.
990
991 Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com)
992
993 * alias.c (true_dependence, write_dependence_p): A read
994 involving a label_ref or the constant pool doesn't create
995 a dependency.
996
997 * rtl.h (unchanging): Improve documentation.
998
999 2000-08-17 Rodney Brown <RodneyBrown@mynd.com>
1000
1001 * cse.c (insert_regs): Remove unused `regno'.
1002
1003 2000-08-17 Neil Booth <NeilB@earthling.net>
1004
1005 * (cppinit.c) merge_include_chains: Use remove_dup_dir,
1006 remove_dup_dirs. If qtail == brack, remove brack not
1007 qtail.
1008 (remove_dup_dir, remove_dup_dirs): New functions.
1009
1010 2000-08-17 Neil Booth <NeilB@earthling.net>
1011
1012 * cppinit.c (cpp_cleanup): Free include dir chains.
1013 * cpplib.c (do_undef): Let _cpp_free_definition make the node void.
1014 (do_unassert): Free the assert with _cpp_free_definition.
1015 * cppmacro.c (_cpp_free_definition): Free memory allocated for
1016 assertions. Make the node a T_VOID node.
1017
1018 2000-08-17 Neil Booth <NeilB@earthling.net>
1019
1020 * cppinit.c (path_include, append_include_chain):
1021 Remove 2nd parameter (struct cpp_pending *).
1022 (path_include, initialize_standard_includes, cpp_handle_option):
1023 Update callers appropriately.
1024 (cpp_handle_option): Use pend.
1025
1026 2000-08-17 Neil Booth <NeilB@earthling.net>
1027
1028 * cppinit.c (sort_options): Remove, put functionality in
1029 cpp_init.
1030 (cpp_init): New.
1031 (initialize_builtins): Free memory.
1032 (cpp_start_read): Move init_IStable to cpp_init.
1033
1034 * cpplib.h (cpp_init): New prototype.
1035 * cppmain.c (main): Call cpp_init.
1036
1037 Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com)
1038
1039 * rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
1040 (rtx_unstable_p, rtx_varies_p): Process vectors.
1041
1042 2000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
1043
1044 * config/sh/lib1funcs.asm (GLOBAL): Define. Use for all
1045 references to GLOBAL symbols. Use LOCAL where appropriate.
1046
1047 2000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1048
1049 * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always
1050 use t-aix41 when host == target.
1051
1052 2000-08-16 Richard Henderson <rth@cygnus.com>
1053
1054 * reload.c (push_secondary_reload): Revert last change.
1055 If we use a reload_in/out pattern, make the when the same
1056 as the primary reload.
1057 (find_reloads): Likewise.
1058
1059 2000-08-16 Manfred Hollstein <manfredh@redhat.com>
1060
1061 * configure.in (libstdcxx-v3): Fix test.
1062 * configure: Regenerate.
1063
1064 Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1065
1066 * calls.c (calls_function_1, expand_call): Only test
1067 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
1068 * function.c (thread_prologue_and_epilogue_insns): Likewise.
1069
1070 2000-08-16 Richard Henderson <rth@cygnus.com>
1071
1072 * combine.c (simplify_shift_const): Revert previous two
1073 changes. If SHIFT_COUNT_TRUNCATED, crop the shift count
1074 before the main loop.
1075
1076 2000-08-15 Richard Henderson <rth@cygnus.com>
1077
1078 * combine.c (simplify_shift_const): Bound shift count when
1079 combining shifts.
1080
1081 Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1082
1083 * calls.c (ECF_SP_DEPRESSED): New macro.
1084 (calls_function_1): Treat calling sp-depressed function as alloca.
1085 (emit_call_1): Don't adjust SP if calling sp-depressed function.
1086 (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
1087 If sp-depressed, ensure block saves and restores SP.
1088 * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
1089 for INTEGER_TYPE.
1090 * function.c (keep_stack_depressed): New function.
1091 (thread_prologue_and_epilogue_insns): Call it.
1092 * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
1093 to print DECL_OFFSET_ALIGN.
1094 Print no-force-blk and transparent-union flags properly.
1095 * stmt.c (expand_goto_internal): Don't restore stack if last block
1096 and function returns with sp depressed.
1097 (fixup_gotos): Likewise.
1098 (save_stack_pointer): New function, from code in expand_decl.
1099 (expand_decl): Call new function.
1100 * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
1101 (TYPE_RETURNS_STACK_DEPRESSED): New macro.
1102 (save_stack_pointer): New declaration.
1103
1104 * diagnostic.c (fatal_function): New variable.
1105 (set_fatal_function): New function.
1106 (fatal): Call it.
1107 * diagnostic.h (set_fatal_function): New declaration.
1108
1109 2000-08-15 William Cohen <wcohen@redhat.com>
1110
1111 * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
1112 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
1113 (DWARF2_ASM_LINE_DEBUG_INFO): Defined.
1114
1115 2000-08-15 Richard Henderson <rth@cygnus.com>
1116
1117 * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
1118
1119 2000-08-15 Richard Earnshaw <rearnsha@arm.com>
1120
1121 * arm.c (arm_function_ok_for_sibcall): New function.
1122 * arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
1123 * arm.md (call expanders): Don't check here for calls that can't
1124 be sibling calls.
1125
1126 2000-08-15 Richard Earnshaw <rearnsha@arm.com>
1127
1128 * arm.md (splits generating cond_exec): Disable.
1129
1130 2000-08-15 Richard Earnshaw <rearnsha@arm.com>
1131
1132 * arm/linux-elf.h (text_section): Delete declaration.
1133
1134 2000-08-15 Richard Earnshaw <rearnsha@arm.com>
1135
1136 ARM support for unordered FP operations.
1137 * arm-protos.h (arm_comparison_operator): Declare.
1138 * arm.c (arm_comparison_operator): New function.
1139 (arm_select_cc_mode): Add unordered comparison codes.
1140 (get_arm_condition_code): Likewise.
1141 (arm_final_prescan_insn): Can't handle unordered jumps that can't
1142 be done in one insn.
1143 * arm.h (PREDICATE_CODES): Add arm_comparison_operator.
1144 * arm.md (all uses of comparison_operator): Replace with
1145 arm_comparison_operator.
1146 (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
1147 expands.
1148 (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
1149 patterns.
1150
1151 Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
1152
1153 * gthr-posix.h: Conditionally include <sched.h>; include
1154 <config.h> from libobjc/.
1155
1156 2000-08-14 Richard Henderson <rth@cygnus.com>
1157
1158 * config/i386/i386.c (legitimize_pic_address): Use Pmode
1159 for all CONSTs.
1160
1161 2000-08-14 Richard Henderson <rth@cygnus.com>
1162
1163 * configure.in (ia64-*): Set float_format for i386 long double.
1164
1165 * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
1166 as we would for i386 XFmode.
1167 (PUT_REAL): Likewise.
1168 (endian, ereal_atof, real_value_truncate): Likewise.
1169 (ereal_isneg, toe64, etens, make_nan): Likewise.
1170 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
1171
1172 * config/ia64/ia64-protos.h: Update.
1173 * config/ia64/ia64.c (general_tfmode_operand): New.
1174 (destination_tfmode_operand): New.
1175 (tfreg_or_fp01_operand): New.
1176 (ia64_split_timode): New.
1177 (spill_tfmode_operand): New.
1178 (ia64_expand_prologue): Use TFmode not XFmode.
1179 (ia64_expand_epilogue): Likewise.
1180 (ia64_function_arg): Likewise.
1181 (ia64_function_arg_advance): Likewise.
1182 (ia64_return_in_memory): Likewise.
1183 (ia64_function_value): Likewise.
1184 (ia64_print_operand): Likewise.
1185 (ia64_register_move_cost): Set GR<->FR to 5.
1186 (ia64_secondary_reload_class): Get GR for TImode memory op.
1187 * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
1188 (ROUND_TYPE_ALIGN): Remove.
1189 (LONG_DOUBLE_TYPE_SIZE): Set to 128.
1190 (INTEL_EXTENDED_IEEE_FORMAT): Define.
1191 (HARD_REGNO_NREGS): Use TFmode, not XFmode.
1192 (HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs.
1193 (MODES_TIEABLE_P): Use TFmode, not XFmode.
1194 (CLASS_MAX_NREGS): Likewise.
1195 (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
1196 (PREDICATE_CODES): Update.
1197 * config/ia64/ia64.md (movti): New.
1198 (movti_internal): Use a clobber for memory alternatives.
1199 (reload_inti, reload_outti): New.
1200 (movsfcc_astep): Predicate properly.
1201 (movdfcc_astep): Likewise.
1202 (movxf): Remove.
1203 (movtf): New.
1204 (extendsftf2, extenddftf2): New.
1205 (trunctfsf2, trunctfdf2): New.
1206 (floatditf2, fix_trunctfdi2): New.
1207 (floatunsditf2, fixuns_trunctfdi2): New.
1208 (addtf3, subtf3, multf3, abstf2): New.
1209 (negtf2, nabstf2, mintf3, maxtf3): New.
1210 (maddtf3, msubtf3, nmultf3, nmaddtf3): New.
1211 (cmptf): New.
1212 (fr_spill): Use TFmode, not XFmode.
1213 (fr_restore): Likewise.
1214 * config/ia64/lib1funcs.asm (__divtf3): New.
1215 * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
1216
1217 2000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1218
1219 * cse.c (fold_rtx): Avoid empty body in an if-statement.
1220
1221 * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
1222 `U' integer constant suffix.
1223
1224 * dwarf2out.c (add_subscript_info): Avoid empty body in an
1225 else-statement.
1226
1227 * sparc/sol2.h (__enable_execute_stack): Prototype.
1228
1229 2000-08-14 David Edelsohn <edelsohn@gnu.org>
1230
1231 * collect2.c: Remove use of AIX import file.
1232
1233 * longlong.h: Test ARCH_PWR not ARCH_POWER.
1234
1235 * rs6000.c (print_operand, case 'E'): Add else.
1236
1237 2000-08-14 Richard Henderson <rth@cygnus.com>
1238
1239 * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
1240 (movdi_symbolic): New.
1241
1242 2000-08-14 Jim Wilson <wilson@cygnus.com>
1243
1244 * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
1245 to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
1246 * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
1247 to GNU as.
1248
1249 2000-08-14 Richard Henderson <rth@cygnus.com>
1250
1251 * expr.c (emit_group_load): Don't force constants into registers.
1252 Special case source already in the correct mode.
1253
1254 2000-08-14 Zack Weinberg <zack@wolery.cumb.org>
1255
1256 * configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
1257 * fixinc/inclhack.def: Likewise.
1258 * fixinc/mkfixinc.sh: Likewise.
1259 * configure: Regenerate.
1260 * fixinc/fixincl.x: Regenerate.
1261 * install.texi: Document equivalence of linux and linux-gnu.
1262
1263 Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
1264
1265 * cse.c (insert_regs): Also in REG case: When finding an invalid
1266 value, and we make a new quantity, make sure that it won't be
1267 mistaken by for a valid one by mention_regs.
1268
1269 2000-08-13 Ralf Gütlein <ralf.guetlein@aranea.de>
1270
1271 * h8300.md: Remove obsolete peepholes.
1272
1273 2000-08-13 Kazu Hirata <kazu@hxi.com>
1274
1275 * invoke.texi (H8/300 Options): Fix typos.
1276 * config/h8300.c: Fix formatting.
1277 * config/h8300.h: Fix comment typos.
1278 (OVERRIDE_OPTIONS): Fix formatting.
1279
1280 * function.c: Fix formatting.
1281
1282 * cse.c: Fix formatting.
1283
1284 2000-08-13 Geoff Keating <geoffk@cygnus.com>
1285
1286 * flow.c (attempt_auto_inc): Remove unused variable `bb'.
1287 (attempt_auto_inc): Suppress parentheses warning.
1288 * function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
1289 * loop.c (load_mems): Remove `u' suffix in two places.
1290 * config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
1291 hex constants.
1292 * config/rs6000/rs6000.h: Likewise.
1293 * config/rs6000/sol-c0.c: Prototype some functions. Remove the
1294 __eabi dummy routine.
1295 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
1296 variable `buf_ptr'.
1297
1298 * config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
1299 not put stuff in .sdata unnecessarily.
1300 (rs6000_unique_section): New function.
1301 * config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
1302 * config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
1303
1304 * c-typeck.c (build_array_ref): Don't complain about non-lvalue
1305 arrays in C99. Don't try to look at DECL_REGISTER of a
1306 COMPONENT_REF. Don't complain twice about the same error.
1307
1308 * fixinc/inclhack.def (aix_pthread): New fix.
1309 (aix_sysmachine): New fix.
1310 * fixinc/fixincl.x: Regenerate.
1311
1312 * expr.c (expand_expr): Call convert_modes when turning a large
1313 multiply into a small one.
1314
1315 2000-08-12 Geoff Keating <geoffk@cygnus.com>
1316
1317 * tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
1318 the tree structure an exponent rather than an explicit alignment
1319 so it doesn't overflow.
1320 (SET_DECL_OFFSET_ALIGN): New macro.
1321 * stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
1322 rather than DECL_OFFSET_ALIGN.
1323 (place_field): Likewise.
1324 * expmed.c (store_bit_field): Abort on align==0 to avoid
1325 antisocial machine behaviour.
1326
1327 2000-08-12 Richard Henderson <rth@cygnus.com>
1328
1329 * sibcall.c (uses_addressof): Accept both addressof and
1330 current_function_internal_arg_pointer inside a mem.
1331 (optimize_sibling_and_tail_recursive_call): Fail tail recursion
1332 if current_function_uses_addressof.
1333 * stmt.c (expand_return): Kill tail recursion and HAVE_return
1334 optimizations.
1335
1336 2000-08-11 Richard Henderson <rth@cygnus.com>
1337
1338 * config/ia64/ia64.md (addsi3): Remove expander.
1339 (subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
1340 (*addsi3_shladd): New.
1341
1342 2000-08-11 Richard Henderson <rth@cygnus.com>
1343
1344 * config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
1345 (do_restore): Likewise.
1346 (gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
1347 (ia64_expand_prologue, ia64_expand_epilogue): Use them.
1348 (rtx_needs_barrier): Track actual bit manipulation for
1349 ar.unat moves, gr_spill, and gr_restore.
1350 (emit_insn_group_barriers): Special case gr_spill/gr_restore.
1351 (process_set): Don't handle varargs spills.
1352 * config/ia64/ia64.md (gr_spill): Accept cfa offset. Emit
1353 .mem.offset here instead of in process_set.
1354 (gr_restore): Likewise.
1355
1356 2000-08-11 Richard Henderson <rth@cygnus.com>
1357
1358 * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
1359
1360 2000-08-11 Mark Elbrecht <snowball3@bigfoot.com>
1361
1362 * gcc.texi (The Configuration File): Document
1363 COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
1364 UPDATE_PATH_HOST_CANONICALIZATION.
1365
1366 2000-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1367
1368 * c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
1369 unprototyped function pointer casts on integer constants.
1370
1371 2000-08-11 Laurynas Biveinis <lauras@softhome.net>
1372
1373 * fixproto: Recognize DOS paths with drive letters as absolute paths.
1374
1375 2000-08-11 Nathan Sidwell <nathan@codesourcery.com>
1376
1377 * extend.texi (Volatiles): Fix typos.
1378
1379 2000-08-11 Kazu Hirata <kazu@hxi.com>
1380
1381 * flow.c: Fix formatting.
1382
1383 2000-08-11 Richard Henderson <rth@cygnus.com>
1384
1385 * reload.c (push_secondary_reload): When invoking a reload_{in,out}
1386 pattern, always allocate a tertiary scratch register.
1387
1388 * config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
1389 (reload_inhi): Likewise.
1390
1391 2000-08-11 Richard Henderson <rth@cygnus.com>
1392
1393 * function.c (put_reg_into_stack): Allow type to be NULL.
1394 (schedule_fixup_var_refs): Likewise.
1395 (gen_mem_addressof): Allow decl to be NULL.
1396 (put_addressof_into_stack): Likewise.
1397
1398 * flow.c (merge_blocks_nomove): Be more careful about
1399 locating the beginning of block A.
1400
1401 * combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
1402
1403 Thu Aug 10 22:47:09 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
1404
1405 * configure.in:
1406 * configure:
1407 * gthr-posix.h:
1408 * config.in: Reverted the check for <sched.h>.
1409
1410 2000-08-10 Chris Demetriou <cgd@sibyte.com>
1411
1412 * mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
1413 macros define the name of CTOR and DTOR sections.
1414 (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
1415 DTOR_LIST_END): Change to use attributes to specify
1416 sections.
1417 * mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
1418 (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
1419 DTOR_LIST_END): Same as in mips/elf.h.
1420
1421 2000-08-10 Drew Moseley <dmoseley@redhat.com>
1422
1423 * config/mn10300/mn10300.h: Added no-crt0 option for explicitly
1424 disabling just crt0.o.
1425
1426 2000-08-10 Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton <nickc@cygnus.com>
1427
1428 * arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
1429 (CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
1430 (EXTRA_SPECS): Add them.
1431 * arm/lib1funcs.asm: Support builds for interworking.
1432 Use macros to eliminate duplicated pieces of code.
1433
1434 2000-08-10 Kazu Hirata <kazu@hxi.com>
1435
1436 * h8300.c (expand_a_rotate): New.
1437 (emit_a_rotate): Likewise.
1438 (h8300_adjust_insn_length): Add support for the rotate insns.
1439 * h8300.md (rotlqi3): New.
1440 (*rotlqi3_1): Likewise.
1441 (rotlhi3): Likewise.
1442 (*rotlhi3_1): Likewise.
1443 (rotlhi3): Likewise.
1444 (*rotlhi3_1): Likewise.
1445 * h8300-proto.h: Add prototypes for expand_a_rotate and
1446 emit_a_rotate.
1447
1448 * h8300.c: Fix comment typos.
1449 (dosize): Declare the variable amount as unsigned.
1450 (get_shift_alg): Fix a comparison between signed and unsigned.
1451 (emit_a_shift): Likewise.
1452 (h8300_adjust_insn_length): Simplify the code.
1453
1454 * c-decl.c: Fix formatting.
1455
1456 2000-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1457
1458 * c-lex.c (parse_float, yylex): For -Wtraditional, issue a
1459 warning about non-traditional numeric constant suffixes.
1460
1461 * cppexp.c (parse_number): Likewise.
1462
1463 * invoke.texi: (-Wtraditional): Document new behavior.
1464
1465 Thu Aug 10 00:11:04 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
1466
1467 * gthr-posix.h: Include auto-host.h. Conditionally include
1468 <sched.h>.
1469 * configure.in: Check for the <sched.h> header file.
1470 * config.in: Added define for HAVE_SCHED_H.
1471
1472 2000-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1473
1474 * c-typeck.c (process_init_element): For -Wtraditional, warn about
1475 initialization of unions.
1476
1477 * invoke.texi (-Wtraditional): Document new behavior.
1478
1479 2000-08-09 Zack Weinberg <zack@wolery.cumb.org>
1480
1481 * configure.in (--enable-c-cpplib): Uncomment. Use AC_DEFINE
1482 instead of extra_c_flags.
1483 (--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
1484 * configure: Regenerate.
1485 * config.in: Regenerate.
1486
1487 * cpperror.c (cpp_type2name): New function.
1488 * cpplex.c (lex_line): If we issued an error for an invalid
1489 preprocessing directive, discard that logical line.
1490 * cpplib.c (do_line): Call a hook function if the current file
1491 is renamed by #line.
1492 (do_ident): Pass the contents of the string, not the entire
1493 token, to the callback function.
1494 * cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
1495 (cb.rename_file): New hook function.
1496 (cb.ident): Adjust prototype.
1497 (cpp_type2name): Prototype.
1498 * cppmacro.c (dump_macro_args): Correct precedence lossage.
1499
1500 * cppmain.c (cb_ident): Update for changed interface.
1501 (cb_rename_file): New function.
1502 (main): Set rename callback.
1503
1504 2000-08-09 Alexandre Oliva <aoliva@redhat.com>
1505
1506 * caller-save.c (mark_referenced_regs): Mark partially-overwritten
1507 multi-word registers.
1508
1509 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
1510
1511 * c-common.c (combine_strings, check_format_info): Refer to ISO C
1512 or ISO C89 instead of ANSI C.
1513 * c-decl.c (grokdeclarator, xref_tag, finish_struct,
1514 build_enumerator, do_case): Likewise.
1515 * c-lex.c (parse_float, yylex): Likewise.
1516 * c-parse.in: Likewise.
1517 * c-typeck.c (common_type, build_array_ref, build_binary_op,
1518 build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
1519 build_c_cast, convert_for_assignment, set_init_index,
1520 set_init_label, c_expand_start_case): Likewise.
1521 * toplev.c (documented_lang_options, display_help): Likewise.
1522
1523 2000-08-08 Kazu Hirata <kazu@hxi.com>
1524
1525 * h8300.c: Fix formatting.
1526 * h8300.h: Likewise.
1527 * h8300.md: Likewise.
1528 (movsi_h8300hs): Fix formatting of the resulting assembly code.
1529
1530 * reload1.c: Fix formatting.
1531
1532 2000-08-08 Rodney Brown <RodneyBrown@mynd.com>
1533
1534 * alpha/alpha.c (alpha_emit_xfloating_libcall):
1535 Use GEN_CALL_VALUE define.
1536 * alpha/alpha.md (untyped_call): Use GEN_CALL define.
1537 * clipper/clipper.md (untyped_call): Likewise.
1538 * dsp16xx/dsp16xx.md (untyped_call): Likewise.
1539 * fx80/fx80.md (untyped_call): Likewise.
1540 * mips/mips.md (untyped_call): Likewise.
1541 * ns32k/ns32k.md (untyped_call): Likewise.
1542 * pa/pa.md (untyped_call): Likewise.
1543 * romp/romp.md (untyped_call): Likewise.
1544 * sparc/sparc.md (untyped_call): Likewise.
1545
1546 2000-08-08 Jason Eckhardt <jle@cygnus.com>
1547
1548 * config/i860/i860.c (singlemove_string): Do not generate assembler
1549 pseudo instructions that must be expanded (that is, with signed
1550 constants larger than 16 bits).
1551
1552 2000-08-08 Richard Henderson <rth@cygnus.com>
1553
1554 * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
1555 PROP_AUTOINC at -O0. Don't collect alias info at -O0.
1556 (init_propagate_block_info): Don't kill memory stores at -O0.
1557 (mark_set_1, mark_used_regs): Likewise.
1558
1559 2000-08-08 David Edelsohn <edelsohn@gnu.org>
1560
1561 * rs6000.c (optimization_options): Decorate 'level' as
1562 ATTRIBUTE_UNUSED.
1563 (mask64_operand): Remove sign-extend thinko.
1564 (rldic_operand): New function.
1565 (load_multiple_operation): regno's are unsigned ints.
1566 (store_multiple_operation): Likewise.
1567 (lmw_operation): Likewise.
1568 (stmw_operation): Likewise.
1569 (includes_lshift_p): shift_mask is unsigned int.
1570 (includes_lshift64_p): New function.
1571 (addrs_ok_for_quad_peep): unsigned int reg1.
1572 (print_operand): Consistently add "else" after
1573 output_operand_lossage().
1574 (print_operand, case 'b'): Fold in case 'W'.
1575 (print_operand, case 'W'): Print rldic MB value.
1576 (output_epilogue): Update Objective-C language string.
1577 (output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
1578 * rs6000.h (PREDICATE_CODES): Add rldic_operand.
1579 * rs6000.md (ashldi3): Add rldic instruction.
1580 (iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
1581 (cmpsi_internal2, cmpdi_interal2): Use 'b' output template
1582 modifier.
1583
1584 2000-08-08 Richard Henderson <rth@cygnus.com>
1585
1586 * config/ia64/ia64-protos.h: Remove duplicates. Update
1587 for massive code rearrangements.
1588 * config/ia64/ia64.c (ia64_arpfs_regno): Remove.
1589 (ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
1590 (ia64_local_regs, ia64_need_regstk): Remove.
1591 (ar_ccv_reg_operand): New.
1592 (ia64_gp_save_reg): New.
1593 (struct ia64_frame_info): Combine most of the size elements;
1594 add new gr save elements.
1595 (find_gr_spill): New.
1596 (next_scratch_gr_reg): New.
1597 (mark_reg_gr_used_mask): New.
1598 (ia64_compute_frame_size): Rewrite. Allocate special AR regs
1599 to GR backing store regs when possible.
1600 (ia64_initial_elimination_offset): New.
1601 (ia64_rap_fp_offset): Remove.
1602 (save_restore_insns): Remove.
1603 (setup_spill_pointers): New.
1604 (finish_spill_pointers): New.
1605 (spill_restore_mem): New.
1606 (do_spill, do_restore): New.
1607 (ia64_expand_prologue): Rewrite to use them.
1608 (ia64_expand_epilogue): Likewise.
1609 (ia64_direct_return): Update for current_frame_info changes.
1610 (ia64_function_prologue): Simplify .prologue emission. Emit
1611 .spill when needed.
1612 (ia64_setup_incoming_varargs): Don't ever emit rtl.
1613 (ia64_dbx_register_number): New.
1614 (ia64_initialize_trampoline): New.
1615 (ia64_secondary_reload_class): Request GR_REGS for integer
1616 arithmetic destined for FR_REGS.
1617 (ia64_init_machine_status): Don't reset return_address_pointer_rtx.
1618 (ia64_mark_machine_status): Mark ia64_gp_save.
1619 (rws_access_regno): Rename from rws_access_reg; don't treat
1620 predicates specially.
1621 (rws_access_reg): New. Update all callers.
1622 (rtx_needs_barrier): Remove dead unspecs.
1623 (ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
1624 (ia64_encode_section_info): Silence signed/unsigned warnings.
1625 (spill_offset, sp_offset, spill_offset_emitted): Remove.
1626 (tmp_reg, tmp_saved): Remove.
1627 (process_set): Rewrite to expect complicated bits via
1628 REG_FRAME_RELATED_EXPR.
1629 (ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
1630 in the use of ar.ccv; never set RTX_UNCHANGING_P.
1631 (ia64_expand_op_and_fetch): Likewise.
1632 (ia64_expand_compare_and_swap): Likewise.
1633 (ia64_expand_builtin): Likewise.
1634 * config/ia64/ia64.h (AR_UNAT_REGNUM): New.
1635 (FIRST_PSEUDO_REGISTER): Update.
1636 (AR_M_REGNO_P): Update.
1637 (FIXED_REGS): Don't mark three local registers as used.
1638 (EXTRA_CC_MODES): New.
1639 (SELECT_CC_MODE): New.
1640 (HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
1641 (HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
1642 (FRAME_GROWS_DOWNWARD): Unset.
1643 (STARTING_FRAME_OFFSET): Zero.
1644 (ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
1645 (INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
1646 (HARD_FRAME_POINTER_REGNUM): New.
1647 (CAN_DEBUG_WITHOUT_FP): Define.
1648 (TRAMPOLINE_TEMPLATE): Remove.
1649 (TRAMPOLINE_SIZE): Lower to 32.
1650 (TRAMPOLINE_ALIGNMENT): Lower to 64.
1651 (INITIALIZE_TRAMPOLINE): Defer to out of line function.
1652 (PREDICATE_CODES): Update.
1653 (struct machine_function): Add ia64_gp_save.
1654 * config/ia64/ia64.md: Purge unused unspecs.
1655 (movsi patterns): Allow moves to/from AR_M_REGS.
1656 (movdi patterns): Allow moves to/from p0.
1657 (call patterns): Move most setjmp hackery to ia64_gp_save_reg.
1658 (gr_spill, gr_restore): Indicate ar.unat read/written.
1659 (nonlocal_goto): Don't pass old frame_pointer.
1660 (nonlocal_goto_receiver): Remove.
1661 (exception_receiver): New.
1662 (builtin_setjmp_setup): New.
1663 (builtin_setjmp_receiver): New.
1664 * config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
1665 (__ia64_nonlocal_goto): Bundle. Don't kill r7.
1666 (__ia64_restore_stack_nonlocal): Likewise.
1667 (__ia64_trampoline): New.
1668 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
1669 function.
1670 * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
1671
1672 2000-08-08 Richard Henderson <rth@cygnus.com>
1673
1674 * frame.h (ia64_frame_state): Add my_psp.
1675 * libgcc2.c (ia64_throw_helper): Add throw_sp argument.
1676 (__throw): Pass it in. Don't clobber r7.
1677 * config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
1678 (execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
1679 and nothing to do with sp.
1680 (normalize_reg_loc): Use frame->my_psp.
1681 (frame_translate): Handle frame-pointer-less functions. Set
1682 spill_base correctly, in absence of being told.
1683 (__build_ia64_frame_state): New sp argument. Fill in frame->my_sp.
1684 (__ia64_backtrace_helper): New sp argument. Use
1685 builtin_return_address instead of label addresses.
1686 (print_record) [mem_stack_v]: No size member.
1687
1688 2000-08-08 Richard Henderson <rth@cygnus.com>
1689
1690 * regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
1691
1692 2000-08-08 Richard Henderson <rth@cygnus.com>
1693
1694 * tm.texi (LOCAL_REGNO): Document.
1695 * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
1696 (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
1697 * reload1.c (reload): Likewise when considering nonlocal labels.
1698
1699 * config/ia64/ia64.h (LOCAL_REGNO): New.
1700 * config/sparc/sparc.h (LOCAL_REGNO): New.
1701
1702 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
1703
1704 * c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
1705
1706 2000-08-07 Nick Clifton <nickc@redhat.com>
1707
1708 * config/mips/mips.c: Fix compile time warning messages.
1709 * config/mips/mips-protos.h: Add prototype for equality_op.
1710
1711 * mn10300.h (TARGET_SWITCHES): Document `-mam33'.
1712
1713 2000-08-07 Graham Stott <grahams@cygnus.co.uk>
1714
1715 * mn10300.md: Use nonimmediate_operand instead of general_operand
1716 on output operands.
1717
1718 * mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
1719
1720 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
1721
1722 * sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
1723 * sh.c (expand_block_move): Break long lines.
1724 (expand_ashiftrt, fpscr_set_from_mem): Likewise.
1725 * sh.md (mulsi3): Likewise.
1726 (movdi): Adjust spacing.
1727
1728 2000-08-07 Richard Henderson <rth@cygnus.com>
1729
1730 * expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
1731 * expr.c (emit_group_store): Don't set it.
1732
1733 2000-08-07 Kazu Hirata <kazu@hxi.com>
1734
1735 * invoke.texi (Options for Debugging Your Program or GCC): Remove
1736 duplicate entries for 'w' and 'z'.
1737
1738 * flow.c: Fix a comment typo.
1739
1740 Sun Aug 6 23:47:35 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
1741
1742 * c-parse.in: Changed the language string for Objective-C to "GNU
1743 Objective-C".
1744
1745 Sun Aug 6 11:54:03 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
1746
1747 * gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes
1748 to improve the Posix thread support for Objective-C.
1749
1750 2000-08-06 Joseph S. Myers <jsm28@cam.ac.uk>
1751
1752 * c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
1753 CTI_UNSIGNED_PTRDIFF_TYPE.
1754 (signed_size_type_node): Define.
1755 (unsigned_ptrdiff_type_node): Define.
1756 * c-decl.c (init_decl_processing): Create the
1757 signed_size_type_node and unsigned_ptrdiff_type_node types.
1758 * c-common.c (T_SC): Define.
1759 (T_SST): Define.
1760 (T_UPD): Define.
1761 (print_char_table): Use T_SST for %zd, %zi, %zn. Use T_UPD for
1762 %to, %tu, %tx, %tX. Allow %hhn (T_SC). Add "c" to the flags for
1763 %s and %p.
1764 (scan_char_table): Use T_SC for %hhd, %hhi, %hhn. Use T_SST for
1765 %zd, %zi, %zn. Use T_UPD for %to, %tu, %tx, %tX. Add "c" to the
1766 flags for %c, %s and %[.
1767 (check_format_info): Only allow leniency for signedness of targets
1768 of character pointers (when pedantic) for formats flagged with
1769 "c", so for strings but not for %hh formats. When pedantic, don't
1770 allow character pointers to substitute for void pointers if a
1771 second level of indirection is present.
1772
1773 2000-08-06 Kazu Hirata <kazu@hxi.com>
1774
1775 * invoke.texi (Options for Debugging Your Program or GCC): Update
1776 the names of dump files.
1777
1778 * h8300.c (dosize): Rearrange code for conciseness.
1779 (split_adds_subs): Likewise.
1780
1781 * loop.c: Fix formatting.
1782
1783 * dwarf2out.c: Fix formatting.
1784
1785 * tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
1786
1787 * expr.c: Fix formatting.
1788
1789 2000-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1790
1791 * rs6000.c (rs6000_maybe_dead): Prototype.
1792
1793 2000-08-06 Richard Henderson <rth@cygnus.com>
1794
1795 * stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for
1796 HAVE_nonlocal_goto as well.
1797 * config/i960/i960.md (nonlocal_goto): Don't do it here.
1798 * config/pj/pj.md (nonlocal_goto): Likewise.
1799
1800 2000-08-07 Michael Hayes <mhayes@cygnus.com>
1801
1802 * loop.c (try_swap_copy_prop): New function.
1803 (load_mems): Rename copies to load_copies and add new regset
1804 store_copies. Check for sets of shadow registers and mark
1805 in store_copies. Call try_swap_copy_prop for registers
1806 marked in store_copies.
1807
1808 Sun Aug 6 00:54:42 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
1809
1810 * objc/objc-act.c: New command line option -fconstant-string-class
1811 to allow specifying a user defined constant string class,
1812 different from NXConstantString.
1813
1814 * toplev.c: Moved the Objective-C specific options to
1815 objc/lang-options.h.
1816
1817 * objc/lang-options.h: Moved the Objective-C specific options from
1818 toplev.c. Added -fconstant-string-class.
1819
1820 2000-08-05 Chris Demetriou <cgd@sibyte.com>
1821
1822 * mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
1823 DTOR_LIST_BEGIN, DTOR_LIST_END): change type of
1824 __CTOR_LIST__ from func_ptr array to just func_ptr, to
1825 avoid extra alignment imposed on arrays.
1826 * mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
1827 DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise.
1828
1829 * mips.h: Clean up comments and spacing near MASKs.
1830 (TARGET_UNIX_ASM): Delete.
1831 (MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV,
1832 MASK_UNINIT_CONST_IN_RODATA): Change values to make mask
1833 values contiguous.
1834
1835 2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk>
1836
1837 * c-common.c (print_char_table): Add entries for the X/Open '
1838 format flag (print decimals with locale's thousands grouping
1839 character). Make %C expect wint_t.
1840 (check_format_info): If pedantic, warn when the %n$ operand
1841 number form is used. Allow for the ' flag; warn about it if
1842 pedantic.
1843
1844 2000-08-05 Zack Weinberg <zack@wolery.cumb.org>
1845
1846 * i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return
1847 type is a float mode, cfun->decl's return type is not, and
1848 TARGET_FLOAT_RETURNS_IN_80387.
1849
1850 2000-08-04 Andreas Schwab <schwab@suse.de>
1851
1852 * cppmain.c (cb_def_pragma): Skip the first two tokens from the
1853 token list, which are always `#' and `pragma'.
1854
1855 2000-08-04 Zack Weinberg <zack@wolery.cumb.org>
1856
1857 * tree.c (tree_expr_nonnegative_p): Move to...
1858 * fold-const.c: ... here. Also handle BIND_EXPR and RTL_EXPR.
1859 (rtl_expr_nonnegative_p): New.
1860 * tree.h: Add prototype for rtl_expr_nonnegative_p.
1861
1862 * real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
1863 CONST_DOUBLE_CHAIN: Move to...
1864 * rtl.h: ...here. Use XCINT/XCEXP.
1865
1866 * Makefile.in: Remove toplev.o from OBJS. Add rule to make
1867 libbackend.a; add libbackend.a to STAGESTUFF. Add BACKEND
1868 variable. Use BACKEND when linking cc1, not OBJS. Add BACKEND
1869 to VOL_FILES.
1870
1871 * objc/Make-lang.in (cc1obj): Link with $(BACKEND).
1872
1873 2000-08-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1874
1875 * config/c4x/c4x.md (return_indirect_internal): New.
1876 * config/c4x/c4x.c (c4x_expand_epilogue): Use it.
1877
1878 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
1879
1880 * c-common.c (time_char_table): Mark up formats added in C99 and
1881 make other corrections. %D and %g were added in C99. %Og is an
1882 extension. %EX is permitted. %R, %T, %n, %r, %t were added in
1883 C99. %e was added in C99. %Oj is an extension. %G and %z are in
1884 C99 rather than GNU extensions, but %OG and %Oz are extensions.
1885 %h was added in C99. %C was added in C99. %OY and %OC are
1886 extensions. Add the C99 format %F.
1887 (check_format_info): If pedantic and not in C99 mode, warn for C99
1888 formats, %E and %O.
1889
1890 Fri Aug 4 23:01:58 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
1891
1892 * function.c (schedule_fixup_var_refs): New function, broken out
1893 of put_reg_into_stack.
1894 (put_reg_into_stack): Use it.
1895 (put_var_into_stack): In CONCAT case, fixup up references for
1896 components only after fixing up references to the whole concat.
1897
1898 2000-08-04 Rodney Brown <RodneyBrown@pmsc.com>
1899
1900 * alias.c (mark_constant_function): Use INSN_P.
1901 (init_alias_analysis): Likewise.
1902 * combine.c (combine_instructions): Use INSN_P.
1903 (can_combine_p): Likewise.
1904 (try_combine): Likewise.
1905 (distribute_notes): Likewise.
1906 (distribute_links): Likewise.
1907 * cse.c (cse_around_loop): Use INSN_P.
1908 (invalidate_skipped_block): Likewise.
1909 (cse_set_around_loop): Likewise.
1910 (cse_end_of_basic_block): Likewise.
1911 (delete_trivially_dead_insns): Likewise.
1912 * emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
1913 (unshare_all_rtl_1): Likewise.
1914 (next_cc0_user): Likewise.
1915 (try_split make_insn_raw): Likewise.
1916 (remove_unnecessary_notes): Likewise.
1917 * final.c (shorten_branches): Use INSN_P.
1918 (leaf_renumber_regs): Likewise.
1919 (leaf_renumber_regs_insn): Likewise.
1920 * flow.c (find_label_refs): Use INSN_P.
1921 (verify_wide_reg): Likewise.
1922 (notice_stack_pointer_modification): Likewise.
1923 (count_or_remove_death_notes): Likewise.
1924 (verify_flow_info): Likewise.
1925 (clear_log_links): Likewise.
1926 * function.c (fixup_var_refs_insns): Use INSN_P.
1927 (compute_insns_for_mem): Likewise.
1928 * gcse.c (alloc_gcse_mem): Use INSN_P.
1929 (compute_sets): Likewise.
1930 (compute_hash_table): Likewise.
1931 (classic_gcse): Likewise.
1932 (cprop): Likewise.
1933 (insert_insn_end_bb): Likewise.
1934 (delete_null_pointer_checks_1): Likewise.
1935 * global.c (expand_preferences): Use INSN_P.
1936 (build_insn_chain): Likewise.
1937 * graph.c (node_data): Use INSN_P.
1938 * haifa-sched.c (priority): Use INSN_P.
1939 (rm_line_notes): Likewise.
1940 (rm_other_notes): Likewise.
1941 (find_insn_reg_weight): Likewise.
1942 (init_target_units): Likewise.
1943 (schedule_block): Likewise.
1944 (compute_block_forward_dependences): Likewise.
1945 (debug_dependencies): Likewise.
1946 (set_priorities): Likewise.
1947 * integrate.c (function_cannot_inline_p): Use INSN_P.
1948 (save_parm_insns): Likewise.
1949 (copy_insn_list): Likewise.
1950 * jump.c (mark_all_labels): Use INSN_P.
1951 (never_reached_warning): Likewise.
1952 * lcm.c (optimize_mode_switching): Use INSN_P.
1953 * local-alloc.c (validate_equiv_mem): Use INSN_P.
1954 (memref_used_between_p): Likewise.
1955 (update_equiv_regs): Likewise.
1956 (block_alloc): Likewise.
1957 (no_conflict_p): Likewise.
1958 * loop.c (scan_loop): Use INSN_P.
1959 (find_and_verify_loops): Likewise.
1960 (count_loop_regs_set): Likewise.
1961 (loop_reg_used_before_p): Likewise.
1962 (strength_reduce): Likewise.
1963 (recombine_givs): Likewise.
1964 (check_dbra_loop): Likewise.
1965 (load_mems): Likewise.
1966 (try_copy_prop): Likewise.
1967 * print-rtl.c (print_rtx): Use INSN_P.
1968 * recog.c (find_single_use): Use INSN_P.
1969 * reg-stack.c (stack_regs_mentioned): Use INSN_P.
1970 (next_flags_user): Likewise.
1971 (swap_rtx_condition): Likewise.
1972 * regmove.c (mark_flags_life_zones): Use INSN_P.
1973 (optimize_reg_copy_1): Likewise.
1974 (optimize_reg_copy_2): Likewise.
1975 (optimize_reg_copy_3): Likewise.
1976 (reg_is_remote_constant_p): Likewise.
1977 (fixup_match_2): Likewise.
1978 (regmove_optimize): Likewise.
1979 (fixup_match_1): Likewise.
1980 * regrename.c (build_def_use): Use INSN_P.
1981 (replace_reg_in_block): Likewise.
1982 (consider_use): Likewise.
1983 * reload.c (find_equiv_reg): Use INSN_P.
1984 * reload1.c (reload): Use INSN_P.
1985 (maybe_fix_stack_asms): Likewise.
1986 (calculate_needs_all_insns): Likewise.
1987 (reload_as_needed): Likewise.
1988 (emit_output_reload_insns): Likewise.
1989 (delete_address_reloads_1): Likewise.
1990 (reload_cse_regs_1): Likewise.
1991 (reload_combine): Likewise.
1992 (reload_cse_move2add): Likewise.
1993 * reorg.c (redundant_insn): Use INSN_P.
1994 (dbr_schedule): Likewise.
1995 * resource.c (find_dead_or_set_registers): Use INSN_P.
1996 (mark_target_live_regs): Likewise.
1997 * rtlanal.c (reg_used_between_p): Use INSN_P.
1998 (reg_referenced_between_p): Likewise.
1999 (reg_set_between_p): Likewise.
2000 (reg_set_p): Likewise.
2001 (single_set): Likewise.
2002 (multiple_sets): Likewise.
2003 (find_last_value): Likewise.
2004 (reg_set_last): Likewise.
2005 (find_reg_note): Likewise.
2006 (find_regno_note): Likewise.
2007 * sibcall.c (sequence_uses_addressof): Use INSN_P.
2008 * simplify-rtx.c (cselib_process_insn): Use INSN_P.
2009 * ssa.c (find_evaluations): Use INSN_P.
2010 (rename_block): Likewise.
2011 (rename_equivalent_regs): Likewise.
2012 * unroll.c (loop_find_equiv_value): Use INSN_P.
2013 (set_dominates_use): Likewise.
2014 * varasm.c (mark_constant_pool): Use INSN_P.
2015 (mark_constants): Likewise.
2016 * config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
2017 (alphaev4_next_group): Likewise.
2018 (alphaev5_next_group): Likewise.
2019 * config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
2020 (c4x_rptb_rpts_p): Likewise.
2021 * config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
2022 * config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
2023 (rs6000_adjust_priority): Likewise.
2024 * config/sh/sh.c (sh_loop_align): Use INSN_P.
2025 (machine_dependent_reorg): Likewise.
2026 (split_branches): Likewise.
2027 * config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
2028
2029 Fri Aug 4 11:43:49 2000 John Wehle (john@feith.com)
2030
2031 * combine.c (recog_for_combine): Remove the old notes
2032 prior to attempting to recognize the new pattern.
2033 (distribute_notes): Ignore REG_NONNEG notes.
2034
2035 2000-08-04 Chandrakala Chavva <cchavva@redhat.com>
2036
2037 * varasm.c (output_constructor): Add .align 0 for packed vars.
2038
2039 2000-08-04 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2040
2041 * configure.in: Use default thread_file even when enable_threads is
2042 yes or dce because hpux10.20 pa port uses MULTILIB implementation.
2043 * configure: Rebuilt.
2044
2045 * gthr-dce.h (__gthread_objc_condition_allocate): Fix typo.
2046
2047 2000-08-04 Donn Terry (donnte@microsoft.com)
2048
2049 * prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR.
2050
2051 2000-08-04 Mark Elbrecht <snowball3@bigfoot.com>
2052
2053 * i386/x-djgpp: Delete code that conditionally modifies target_alias.
2054 Delete code that conditionally modifies 'version'.
2055 Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR.
2056 * i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro.
2057 * gcc.c (main): Use it.
2058 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro.
2059 * prefix.c (update_path): Use it.
2060 * i386/djgpp.h (STANDARD_INCLUDE_DIR): Define.
2061 (MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'.
2062 (ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing
2063 code.
2064 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true.
2065 (SUBTARGET_SWITCHES): Adjust.
2066 (WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before
2067 defining.
2068 (WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define.
2069
2070 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
2071
2072 * c-common.h (flag_isoc94): Declare.
2073 * c-decl.c (flag_isoc94): Define.
2074 (c_decode_option): Set flag_isoc94 as appropriate.
2075 * c-common.c (T_PD, T_IM, T_UIM): Define.
2076 (format_char_info): Add tlen and jlen.
2077 (print_char_table): Add entries for %t and %j. Allow %zn. Allow
2078 %F. Allow %lf.
2079 (scan_char_table): Add entries for %t and %j. Allow %F. Allow
2080 %l[.
2081 (time_char_table): Add NULL entries for %t and %j.
2082 (check_format_info): Allow for %t and %j. Warn for %F if pedantic
2083 and not C99. Warn for %lc, %ls and %l[ if pedantic and not C94.
2084 Warn for printf %lf if pedantic and not C99. Don't warn for empty
2085 precision. Allow precision argument to be unsigned int. If
2086 pedantic, warn for %p passed an argument not a pointer to possibly
2087 qualified void or a possibly qualified character type, and for
2088 pointer targets of the wrong sign, except for character pointers.
2089
2090 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
2091
2092 * ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
2093 * c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
2094 (wint_type_node): Define.
2095 * c-decl.c (WINT_TYPE): Define.
2096 (init_decl_processing): Create the wint_type_node type.
2097 * c-common.c (T_WI): Define.
2098 (print_char_table): Use T_WI for %lc format.
2099
2100 2000-08-04 Bruce Korb <bkorb@gnu.org>
2101
2102 * fixinc/: Verified that the MSDOS patch does not break
2103 the UNIX functionality and applied the next three patches
2104 from July:
2105
2106 2000-07-28 Eli Zaretskii <eliz@is.elta.co.il>
2107
2108 * fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the
2109 output file with the temporary one by appending ".X" to generate
2110 the temporary fuile's name. If the output file already has an
2111 extension, replace it with ".X".
2112
2113 * fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR,
2114 not $DESTDIR, to find applyfix. Use sprintf instead of snprintf;
2115 reallocate the command buffer while copying the command-line
2116 argument. Redirect the output directly to the temporary file,
2117 instead of going through another temporary file.
2118 (process): Close the temporary file before unlinking it.
2119 (machine_matches) [__MSDOS__]: If the machine doesn't match, set
2120 the FD_SKIP_TEST flag. Pay attention to the FD_MACH_IFNOT flag.
2121 (run_compiles): Pass p_fixd argument to machine_matches, as it
2122 expects.
2123
2124 * fixinc/fixincl.sh: Export ORIGDIR. If $DJDIR is set in the
2125 environment, assume there are no symlinks in the include
2126 directory. When cleaning up the DONE files, look for them
2127 case-insensitively. Don't try to remove symlinks if they aren't
2128 there.
2129
2130 * fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax;
2131 all callers changed. Declare pz "const char *", to avoid compiler
2132 warnings.
2133
2134 * fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment.
2135 Change prototype of make_raw_shell_str.
2136
2137 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
2138
2139 * fixinc/fixincl.c [__MSDOS__]: Don't include "server.h".
2140 (initialize) [__MSDOS__]: Use tempnam.
2141 (initialize): Don't use SIGPIPE if it is not defined.
2142
2143 * fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should
2144 return stdout.
2145
2146 2000-07-25 Bruce Korb <bkorb@gnu.org>
2147
2148 * fixinc/fix*.[ch]: substantially reworked to make it possible
2149 to run this program without using fork(2) or pipe(2) (i.e. in
2150 a DOS environment).
2151
2152 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
2153
2154 * cppdefault.h (WINT_TYPE): Define.
2155 * cppinit.c (builtin_array): Define __WINT_TYPE__.
2156 * tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
2157 * tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
2158
2159 Fri Aug 4 06:53:46 2000 Clinton Popetz <cpopetz@cygnus.com>
2160
2161 * (mips_legitimate_address_p): Don't allow register+offset
2162 if the offset is large and negative, and we are compiling
2163 for 64 bit registers.
2164
2165 2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2166
2167 * gencodes.c (main): Define CODE_FOR_nothing as the last possible
2168 insn_code_number + 1.
2169
2170 2000-08-04 Kazu Hirata <kazu@hxi.com>
2171
2172 * h8300.c (function_prologue): Rearrange code for conciseness.
2173 (function_epilogue): Likewise.
2174 * h8300.h (OK_FOR_U): Fix formatting.
2175
2176 * cse.c: Fix a comment typo. Fix formatting.
2177
2178 2000-08-03 Richard Henderson <rth@cygnus.com>
2179
2180 * config/i386/i386.md (return_indirect_internal): New.
2181 * config/i386/i386.c (ix86_expand_epilogue): Use it.
2182
2183 2000-08-03 Zack Weinberg <zack@wolery.cumb.org>
2184
2185 * cpplex.c (parse_name): Might have to glue a CPP_OTHER token
2186 before the name.
2187 (lex_line): Glue @ onto the beginning of identifiers and
2188 string constants, in Objective-C mode.
2189 (output_token, spell_token): Handle CPP_OSTRING.
2190 (can_paste, maybe_paste_with_next): Handle pasting @ onto the
2191 beginning of a NAME or a STRING, in objc mode.
2192
2193 * cpplib.c (get_define_node): Do not permit identifiers that
2194 begin with @ to be #defined.
2195 * cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
2196 * cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
2197
2198 * c-lang.c, objc/objc-act.c (build_objc_string): Delete.
2199 * c-tree.h (build_objc_string): Delete prototype.
2200 * objc/objc-tree.def: Delete OBJC_STRING_CST.
2201 * c-lex.c (yylex): Use build_string for all three kinds of strings.
2202
2203 * c-parse.in, objc/objc-act.c: Update commentary.
2204
2205 2000-08-03 Mark Mitchell <mark@codesourcery.com>
2206
2207 * extend.texi: Fix typo in last change.
2208
2209 * extend.texi: Add commentary on statement-expressions and their
2210 interactions with C++.
2211
2212 2000-08-03 Nick Clifton <nickc@cygnus.com>
2213
2214 * dwarf2.h (DW_LANG_Java): Change value to 0x000b.
2215 * dwarf.h (LANG_JAVA): Change value to 0x000b.
2216
2217 2000-08-03 Anthony Green <green@cygnus.com>
2218
2219 * dwarf2out.c (gen_compile_unit_die): Add java language support.
2220 (add_bound_info): Check for java language.
2221 (is_java): New function.
2222 * dwarfout.c (output_compile_unit_die): Ditto.
2223 * dwarf.h (dwarf_source_language): Add java source language type.
2224 * dwarf2.h (dwarf_source_language): Ditto.
2225
2226 Thu Aug 3 20:32:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
2227
2228 * reg-stack.c (subst_stack_regs_pat): Use replace_reg to swap
2229 operands.
2230
2231 * i386.c (ix86_expand_branch): Mode of comparison in
2232 IF_THEN_ELSE is VOIDmode.
2233
2234 Thu Aug 3 10:05:53 2000 Akiko Matsushita <matusita@sra.co.jp>
2235
2236 * gengenrtl.c, rtl.c: Avoid #elif.
2237
2238 2000-08-03 Michael Poole <poole@troilus.org>
2239
2240 * tm.texi (Register Classes): Clarify order of sub-initializers
2241 in REG_CLASS_CONTENTS.
2242
2243 Thu Aug 3 15:53:03 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2244
2245 From SAITOH Masanobu:
2246 * sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax.
2247
2248 2000-08-03 David Billinghurst <David.Billinghurst@riotinto.com.au>
2249
2250 * config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option
2251 is not supported by tradcpp and isn't actually needed for cygwin.
2252
2253 2000-08-03 Kazu Hirata <kazu@hxi.com>
2254
2255 * h8300.c: Fix a comment typo.
2256 * h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8/S.
2257
2258 * jump.c: Fix formatting.
2259
2260 * toplev.c: Fix formatting.
2261
2262 Thu Aug 3 01:05:32 2000 Jeffrey A Law (law@cygnus.com)
2263
2264 * flow.c (find_auto_inc): Verify that we've got a REG before
2265 peeking at its regno. Fail, don't abort if we can't find
2266 the increment of the desired register.
2267
2268 * pa.md (shadd height reduction patterns/splitters): Remove.
2269
2270 2000-08-02 Jim Wilson <wilson@cygnus.com>
2271
2272 * config/ia64/ia64-protos.h (flag_ssa): Declare.
2273 * config/ia64/ia64.md (movti_internal, movti_internal+1): New.
2274
2275 2000-08-02 Mark Mitchell <mark@codesourcery.com>
2276
2277 * dce.c: Remove all uses of assert.
2278 * dwarf2out.c: Likewise.
2279 * dwarfout.c: Likewise.
2280 * ssa.c: Likewise.
2281
2282 2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
2283
2284 * gcc.h (lang_specific_driver): Constify second argument.
2285 * gcc.c (translate_options, process_command, main): Likewise.
2286 Constify variables to match. Cast second argument to
2287 pexecute.
2288
2289 * cppspec.c, gccspec.c: Adjust type of second argument to
2290 lang_specific_driver, and update code as necessary.
2291
2292 2000-08-02 Jakub Jelinek <jakub@redhat.com>
2293
2294 * loop.c (scan_loop): Ensure update_end label does not
2295 go away until reg_scan_update is run.
2296
2297 2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
2298
2299 * c-common.h: Prototype min_precision and c_build_qualified_type here...
2300 * c-tree.h: ... not here.
2301 * errors.h: Prototype fancy_abort.
2302
2303 * emit-rtl.c (gen_lowpart_common): Move variable 'c' into
2304 HOST_BITS_PER_WIDE_INT == 64 ifdef block.
2305 * regrename.c (regrename_optimize): Make control flow explicit.
2306 (replace_reg_in_block): Initialize reg_use to 0.
2307
2308 * i386.c (legitimate_address_p): Rename error label to
2309 report_error to avoid namespace clash.
2310
2311 2000-08-02 Kazu Hirata <kazu@hxi.com>
2312
2313 * fold-const.c: Fix formatting.
2314
2315 Wed Aug 2 16:26:15 MET DST 2000 Jan Hubicka <jh@suse.cz>
2316
2317 * i386.c (legitimate_address_p): Accept other bases than
2318 pic_offset_table_rtx for GOTOFF constructs.
2319
2320 Wed Aug 2 15:59:34 MET DST 2000 Jan Hubicka <jh@suse.cz>
2321
2322 * i386.md (shift to lea splitter): Use const_int_operand.
2323
2324 2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
2325
2326 * cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
2327 cppspec.c: Do not use 'legal' or 'illegal' in error messages
2328 and comments.
2329
2330 * cppmain.c (cb_define, cb_undef): Don't generate any output
2331 if not done_initializing.
2332 * cpplex.c (maybe_paste_with_next): When the token after a ##
2333 is an omitted rest argument, only delete the token before it
2334 if that token is a comma. Do not warn about bogus token
2335 pastes for , ## rest_arg.
2336
2337 * cpp.texi: Update.
2338 * cpp.1: Regenerate.
2339
2340 2000-08-02 Fred Fish <fnf@be.com>
2341
2342 * config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
2343 when user gives -p option. Add init_term_dyn.o for BeOS 5.0
2344 and later.
2345
2346 * config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
2347 Be directories to search path.
2348
2349 Remove support for __declspec(dllimport) and __declspec(dllexport).
2350 This is leftover cruft from the earlier BeOS gcc port when BeOS
2351 used Microsoft's PE object file format.
2352 * configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
2353 * config/i386/t-beos (winnt.o): Remove Makefile frag.
2354 * config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
2355 (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
2356 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
2357 (MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
2358 (REDO_SECTION_INFO_P): Remove.
2359 (ASM_EXPORT_DECL): Remove.
2360 (ASM_DECLARE_FUNCTION_NAME): Remove.
2361 (ASM_DECLARE_OBJECT_NAME): Remove.
2362 (ASM_OUTPUT_ALIGNED_COMMON): Remove.
2363 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
2364 (ASM_OUTPUT_ALIGNED_LOCAL): Remove.
2365 (STRIP_NAME_ENCODING): Remove.
2366
2367 Remove support for obsolete version of BeOS that is no longer
2368 supported by Be.
2369 * configure.in (i*86-*-beospe*): Remove.
2370 * config/i386/beos-pe.h: Remove.
2371
2372 2000-08-01 Jeffrey Oldham <oldham@codesourcery.com>
2373 Mark Mitchell <mark@codesourcery.com>
2374
2375 * Makefile.in (OBJS): Added dce.o.
2376 (ssa.o): Updated target to include ssa.h.
2377 (flow.o): Likewise.
2378 (toplev.o): Likewise.
2379 (dce.o): Created target.
2380 * basic-block.h: Added comments.
2381 (INVALID_BLOCK): Added definition.
2382 (connect_infinite_loops_to_exit): Added declaration.
2383 Moved SSA declarations to ssa.h.
2384 * flow.c: Added inclusion of ssa.h.
2385 (struct depth_first_search_dsS, depth_first_search_ds):
2386 Added definitions.
2387 (compute_immediate_postdominators): Added definition.
2388 (connect_infinite_loops_to_exit): Likewise.
2389 (flow_dfs_compute_reverse_init): Likewise.
2390 (flow_dfs_compute_reverse_add_bb): Likewise.
2391 (flow_dfs_compute_reverse_execute): Likewise.
2392 (flow_dfs_compute_reverse_finish): Likewise.
2393 * rtl.h (rtx/in_struct): Added use to determine insn necessity.
2394 (LABEL_P): Added definition.
2395 (JUMP_P): Likewise.
2396 (NOTE_P): Likewise.
2397 (BARRIER_P): Likewise.
2398 (JUMP_TABLE_DATA_P): Likewise.
2399 (INSN_DEAD_CODE_P): Likewise.
2400 * ssa.c: Replaced inclusions with ssa.h inclusion.
2401 (CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
2402 (rename_registers): Removed unnecessary variables.
2403 * ssa.h: Created by moving declarations from ssa.c and
2404 basic-block.h.
2405 * timevar.def: Defined TV_DEAD_CODE_ELIM.
2406 * toplev.c: Added ssa.h inclusion.
2407 (dump_file_index): Added DFI_dce.
2408 (dump_file): Added "dce" entry.
2409 Defined flag_ssa.
2410 (f_options): Added dce entry.
2411 * invoke.texi: Document -fdce. Emphasize experimental status of
2412 -fssa.
2413 * dce.c: New file.
2414
2415 2000-08-01 Zack Weinberg <zack@wolery.cumb.org>
2416
2417 * cpperror.c (v_message): Split into _cpp_begin_message and
2418 v_message macro. All callers updated.
2419 (_cpp_begin_message): Do inhibit_errors/inhibit_warnings
2420 checks here.
2421
2422 * cppfiles.c (cpp_syshdr_flags): New function.
2423 (read_include_file): Don't call cpp_output_tokens. Call
2424 enter_file hook.
2425 * cppinit.c (dump_macros_helper): Moved to cppmain.c.
2426 (cpp_reader_init): Don't initialize token_buffer. Call
2427 _cpp_init_internal_pragmas.
2428 (cpp_cleanup): Don't clear token_buffer.
2429 (cpp_start_read): Don't worry about output from -D processing.
2430 Don't call cpp_output_tokens.
2431 (cpp_finish): Don't dump macros here. Don't call
2432 cpp_output_tokens.
2433 * cppmacro.c (_cpp_dump_definition): Rename
2434 cpp_dump_definition. Write directly to a FILE *.
2435 (dump_funlike_macro): Delete.
2436 (dump_macro_args): New.
2437
2438 * cpplex.c (TOKEN_LEN): Convert to inline function.
2439 (_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens,
2440 cpp_scan_line, _cpp_dump_list): Delete.
2441 (cpp_printf, cpp_output_list): New.
2442 (output_line_command): Don't worry about entering or leaving files.
2443 (cpp_scan_buffer): Just output each token as we hit it.
2444 (process_directive): Don't call cpp_output_tokens.
2445 (_cpp_glue_header_name): Don't use token_buffer.
2446 (output_token, dump_param_spelling): Write directly to a FILE *.
2447
2448 * cpplib.c (pass_thru_directive, dump_macro_name,
2449 pragma_dispatch, do_pragma_gcc): Delete.
2450 (do_define, do_undef, parse_include, do_line, do_ident, do_pragma,
2451 do_pragma_poison, cpp_pop_buffer): Call the appropriate hook
2452 functions.
2453 (do_error, do_warning, pragma_dependency): Call
2454 _cpp_begin_message, then cpp_output_list.
2455 (cpp_register_pragma, cpp_register_pragma_space,
2456 _cpp_init_internal_pragmas): New.
2457 (do_pragma): Walk the pragmas table here.
2458 (do_pragma_once, do_pragma_poison, do_pragma_system_header,
2459 do_pragma_dependency): Return void.
2460 (do_pragma_implementation): Moved to cppmain.c.
2461
2462 * cpplib.h: Update prototypes.
2463 (struct cpp_reader): Remove printer, token_buffer,
2464 token_buffer_size, and limit. Add struct cb, and pragmas.
2465 (struct cpp_printer): Remove last_id and written.
2466 (CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN,
2467 CPP_ADJUST_WRITTEN): Delete.
2468 * cpphash.h: Update prototypes.
2469 (ufputs): New wrapper.
2470
2471 * cppmain.c (cb_define, cb_undef, cb_include, cb_ident,
2472 cb_enter_file, cb_leave_file, cb_def_pragma): New functions.
2473 (main): Set up callbacks. Register #pragma implementation.
2474 Dump macros from here.
2475
2476 2000-08-01 Geoff Keating <geoffk@cygnus.com>
2477
2478 * rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
2479 * rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
2480 * flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
2481 insns if they have a REG_MAYBE_DEAD note attached.
2482 * config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
2483 (rs6000_emit_load_toc_table): TOC loads may go dead.
2484
2485 2000-08-01 Jim Wilson <wilson@cygnus.com>
2486
2487 * config/ia64/ia64.c (ia64_function_arg): Fix last change. Verify
2488 type exists before using it. Use number of words as alignment
2489 otherwise.
2490 (ia64_function_arg_partial_nregs, ia64_function_arg_advance,
2491 ia64_va_arg): Propagate ia64_function_args changes here.
2492
2493 2000-08-01 Richard Henderson <rth@cygnus.com>
2494
2495 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL.
2496 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
2497
2498 2000-08-01 Bernd Schmidt <bernds@cygnus.co.uk>
2499
2500 From Joern Rennecke:
2501 * sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
2502 * sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
2503 unless TARGET_SH3E is set.
2504 * t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
2505
2506 * sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
2507 (ashlsi3_std): New pattern.
2508 (ashlsi3 expander): Use it for TARGET_SH3.
2509 * sh.c (gen_ashift): Use it instead of ashlsi3_k.
2510
2511 Tue Aug 1 12:34:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
2512
2513 * loop.c (canonicalize_condition): Use destination, not source to
2514 determine SET's mode.
2515
2516 2000-07-31 Mark Mitchell <mark@codesourcery.com>
2517
2518 * flow.c (clear_log_links): Fix typo.
2519
2520 Mon Jul 31 22:19:24 2000 Jeffrey A Law (law@cygnus.com)
2521
2522 * loop.c (check_dbra_loop): Make change from July 17, 2000 work
2523 on targets which need more than one insn for a compare/cbranch
2524 operation.
2525
2526 2000-07-31 Jim Wilson <wilson@cygnus.com>
2527
2528 * config/ia64/ia64.c (ia64_function_arg): Use alignment not size
2529 when computing offset.
2530
2531 Mon Jul 31 20:35:50 2000 Denis Chertykov <denisc@overta.ru>
2532
2533 * genpeep.c (main): Handle DEFINE_PEEPHOLE2.
2534
2535 2000-07-31 Geoff Keating <geoffk@cygnus.com>
2536
2537 * flow.c (clear_log_links): Nuke global_live_at_start and
2538 global_live_at_end data, since if the log_links stuff is invalid
2539 so is global_live_at_*.
2540
2541 2000-07-31 Richard Henderson <rth@cygnus.com>
2542
2543 * tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
2544
2545 2000-07-31 Jakub Jelinek <jakub@redhat.com>
2546
2547 * cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
2548 (_cpp_get_token): Don't macro expand a just pasted token if it
2549 was pasted at no_expand_level.
2550
2551 2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
2552
2553 * cppmacro.c (find_param, count_params, save_expansion):
2554 Permit 'defined' as a macro parameter name.
2555
2556 2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
2557
2558 * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
2559 xcpp to cpp throughout.
2560 (native): Remove unnecessary dependency on cpp.
2561
2562 * gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
2563 tradcpp to tradcpp0.
2564 (.i spec): Add missing output-file spec to cc1 command line.
2565 * objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
2566
2567 2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
2568
2569 * c-decl.c (mesg_implicit_function_declaration): Init to -1.
2570 (implicit_decl_warning): New function.
2571 (implicitly_declare): Use it.
2572 * c-typeck.c (build_external_ref): Use implicit_decl_warning
2573 to complain about implicit decls of builtins.
2574
2575 * c-lang.c (lang_init): Set mesg_implicit_function_declaration
2576 based on pedantic && flag_isoc99, if not already set.
2577 * c-tree.h: Declare mesg_implicit_function_declaration.
2578 Prototype implicit_decl_warning.
2579
2580 2000-07-30 Jeffrey D. Oldham <oldham@codesourcery.com>
2581
2582 * Makefile.in (ssa.o): Updated header files in dependences.
2583 * basic-block.h: Added compute_immediate_postdominators declaration.
2584 * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
2585 definition.
2586 * flow.c (compute_immediate_dominators): Updated comment.
2587 (compute_immediate_postdominators): Added definition.
2588 * rtl.h (HARD_REGISTER_P): Added definition.
2589 * ssa.c: Include additional header files.
2590 (assert): Added definition.
2591 (ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
2592 include select hard registers.
2593 (ssa_rename_to_insert): Likewise.
2594 (ssa_rename_from_initialize): Likewise.
2595 (ssa_rename_from_lookup): Likewise.
2596 (original_register): Likewise.
2597 (ssa_rename_from_insert): Added to reimplement ssa_rename_from to
2598 include select hard reigsters.
2599 (ssa_rename_from_traverse): Likewise.
2600 (ssa_rename_from_free): Likewise.
2601 (ssa_rename_from_print): Likewise.
2602 (ssa_rename_from_print_1): Likewise.
2603 (ssa_rename_from_hash_function): Likewise.
2604 (ssa_rename_from_equal): Likewise.
2605 (ssa_rename_from_delete): Likewise.
2606 (simplify_to_immediate_dominators): Removed in favor of
2607 flow.c:compute_immediate_dominators.
2608 (find_evaluations_1): Modified to work with hard registers.
2609 (insert_phi_node): Likewise.
2610 (insert_phi_nodes): Likewise.
2611 (struct rename_set_data): Updated prev_reg comment.
2612 (create_delayed_rename): Modified to work with hard registers.
2613 (RENAME_NO_RTX): Updated comment.
2614 (apply_delayed_renames): Modified to work with hard registers.
2615 (rename_insn_1): Likewise and added handling of CLOBBER rtls.
2616 (rename_block): Updated to use revised ssa_rename_to interface.
2617 (rename_registers): Updated to use revised ssa_rename_to and
2618 ssa_rename_from interface.
2619 (convert_to_ssa): Revised to use compute_immediate_dominators and
2620 deal with hard registers.
2621 (make_regs_equivalent_over_bad_edges): Modified to work with hard
2622 registers. Added check for illegal unification of hard register.
2623 (make_equivalent_phi_alternatives_equivalent): Modified to work
2624 with hard registers.
2625 (compute_conservative_reg_partition): Likewise.
2626 (coalesce_if_unconflicting): Modified to work with hard registers
2627 and check for conflicting hard registers.
2628 (mark_phi_and_copy_regs): Revised loop to work only on pseudo
2629 registers.
2630 (rename_equivalent_regs_in_insn): Modified to work with hard
2631 registers.
2632 (record_canonical_element_1): Added definition.
2633 (check_hard_regs_in_partition): Added definition.
2634 (convert_from_ssa): Added data structure deallocation and check
2635 for illegal hard register unification.
2636 (conflict_hard_regs_p): Added definition.
2637 * toplev.c (rest_of_compilation): Added comment.
2638
2639 2000-07-31 Anthony Green <green@redhat.com>
2640
2641 * config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
2642
2643 2000-07-31 Jason McMullan <jmcmullan@linuxcare.com>
2644
2645 * builtins.c (expand_builtin_apply): Don't defer pop during
2646 argument setup.
2647
2648 2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2649
2650 * calls.c (combine_pending_stack_adjustment_and_call): Only use
2651 preferred_unit_stack_boundary when it is > 1.
2652
2653 2000-07-31 Joseph S. Myers <jsm28@cam.ac.uk>
2654
2655 * c-common.c (init_function_format_info): Add C99 format functions
2656 in C99 mode.
2657
2658 * c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
2659 void' or 'register void' as being the special case of 'void' alone
2660 in a parameter list.
2661
2662 * c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
2663 discarding qualifiers into a plain warning.
2664
2665 2000-07-31 Kazu Hirata <kazu@hxi.com>
2666
2667 * combine.c: Fix formatting.
2668
2669 * h8300.md: Fix formatting.
2670
2671 * local-alloc.c: Fix formatting.
2672
2673 * h8300.c (get_shift_alg): Remove the variable alg.
2674 (emit_a_shift): Rearrange code to improve readability.
2675
2676 * h8300.md (movsi_h8300hs): Rearrange code to improve readability.
2677
2678 * h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
2679 HImode on all architectures and a combination of HImode and SImode
2680 on H8/300H and H8/S.
2681
2682 * h8300.c (split_adds_subs): Rearrange code for conciseness.
2683
2684 Mon Jul 31 12:27:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
2685
2686 * i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
2687 in my last checkin.
2688
2689 Mon Jul 31 10:41:01 MET DST 2000 Jan Hubicka <jh@suse.cz>
2690
2691 * recog.c (extract_insn): Set operand_mode according to
2692 operand if match_operand is VOIDmode.
2693
2694 Mon Jul 31 10:36:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
2695
2696 * recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
2697
2698 2000-07-31 Geoff Keating <geoffk@cygnus.com>
2699
2700 * c-parse.in (extdefs): Call ggc_collect between external
2701 definitions.
2702
2703 2000-07-30 Michael Hayes <mhayes@cygnus.com>
2704 Richard Henderson <rth@cygnus.com>
2705
2706 * Makefile.in (OBJS): Add doloop.o.
2707 * doloop.c: New file.
2708
2709 * final.c (insn_current_reference_address): Return 0 before final.
2710 * flags.h (flag_branch_on_count_reg): Fix typos in commentary.
2711 * jump.c (any_uncondjump_p): Likewise.
2712 * loop.c (indirect_jump_in_function): Make static.
2713 (strength_reduce): Call doloop_optimize.
2714 (insert_bct, instrument_loop_bct): Remove.
2715 * loop.h (doloop_optimize): Prototype.
2716 * recog.c (split_all_insns): Split all INSN_P.
2717 * toplev.c (flag_branch_on_count_reg): Default on.
2718
2719 * config/c4x/c4x.c (c4x_optimization_options): Don't set
2720 flag_branch_on_count_reg.
2721 * config/i386/i386.c (override_options): Likewise.
2722 * config/rs6000/rs6000.c (optimization_options): Likewise.
2723
2724 * config/i386/i386.md (decrement_and_branch_on_count): Remove.
2725 (doloop_end): New.
2726 (dbra_ge): Remove, as well as all it's splitters.
2727
2728 * config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
2729 (doloop_end): New.
2730
2731 * config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
2732 (ia64_register_move_cost): Declare.
2733 * config/ia64/ia64.c (ar_lc_reg_operand): New.
2734 (struct ia64_frame_info): Add ar_size.
2735 (ia64_compute_frame_size): Set it.
2736 (save_restore_insns): Save and restore ar.lc.
2737 (ia64_register_move_cost): New, moved from header file. Handle
2738 application registers.
2739 (REG_AR_PFS, REG_AR_EC): Remove. Replace with AR_*_REGNUM numbers.
2740 (emit_insn_group_barriers): Special case doloop_end_internal.
2741 (ia64_epilogue_uses): Mark ar.lc live at end.
2742 * config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
2743 (AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
2744 (FIRST_PSEUDO_REGISTER): Make room.
2745 (AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
2746 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
2747 (REG_ALLOC_ORDER): Update.
2748 (HARD_REGNO_MODE_OK): Update.
2749 (REGISTER_NAMES): Update.
2750 (enum reg_class): Add AR_M_REGS and AR_I_REGS.
2751 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
2752 (REGNO_REG_CLASS): Update.
2753 (LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
2754 (REGISTER_MOVE_COST): Move out of line.
2755 (PREDICATE_CODES): Update.
2756 * config/ia64/ia64.md (movdi patterns): Handle ar register classes.
2757 (addsi3_plus1_alt, adddi3_plus1_alt): New.
2758 (shladd_elim splitter): Allow constants in the predicate.
2759 (doloop_end, doloop_end_internal): New.
2760
2761 2000-07-30 Richard Henderson <rth@cygnus.com>
2762
2763 * genattrtab.c (struct insn_def): Add lineno member.
2764 (struct insn_ent): Likewise.
2765 (struct attr_desc): Likewise.
2766 (struct delay_desc): Likewise.
2767 (struct function_unit_op): Likewise.
2768 (struct function_unit): Likewise.
2769 (check_attr_value): Use message_with_line.
2770 (check_defs): Likewise.
2771 (expand_units): Likewise.
2772 (check_attr_test): Take a lineno argument.
2773 (gen_attr): Likewise.
2774 (gen_insn): Likewise.
2775 (gen_delay): Likewise.
2776 (gen_unit): Likewise.
2777 (main): Give it to them.
2778 (convert_set_attr_alternative): Take an insn_def argument
2779 instead of num_alt and insn_index.
2780 (convert_set_attr): Likewise.
2781 (write_test_expr): Protect INSN_ADDRESSES load
2782 with INSN_ADDRESSES_SET_P.
2783
2784 2000-07-30 Richard Henderson <rth@cygnus.com>
2785
2786 * flow.c (init_propagate_block_info): Use pc_set.
2787
2788 Sun Jul 30 20:58:34 MET DST 2000 Jan Hubicka <jh@suse.cz>
2789
2790 * i386.md (*lea_general_[123]) New insns and splits.
2791 (addsi3 to lea splitter): Handle other modes too.
2792 (shlsi3 to lea splitter): Likewise.
2793 (addhi_1_lea, shlhi_1_lea): New patterns.
2794 (addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.
2795
2796 Sun Jul 30 20:51:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
2797
2798 * recog.c (general_operand, nonimmediate_operand): Accept
2799 any mode for VOIDmode CONSTANT_P operands.
2800
2801 Sun Jul 30 20:42:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
2802
2803 * gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
2804 instead of replace_rtx.
2805 * recog.c (validate_replace_rtx_subexp): New function.
2806 * recog.h (validate_replace_rtx_subexp): Declare.
2807
2808 Sun Jul 30 20:38:26 MET DST 2000 Jan Hubicka <jh@suse.cz>
2809
2810 * combine.c (simplify_set, make_extraction, make_compound_operation
2811 make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
2812 as force_to_mode argument.
2813
2814 Sun Jul 30 20:30:41 MET DST 2000 Jan Hubicka <jh@suse.cz>
2815
2816 * combine.c (if_then_else_cond): Be sure that mode fits in
2817 HOST_WIDE_INT.
2818
2819 Sun Jul 30 20:27:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
2820
2821 * combine.c (record_promoted_value): Allow bitsize of mode
2822 to be equivalent to HOST_BITS_PER_WISE_INT.
2823
2824 Sun Jul 30 20:25:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
2825
2826 * function.c (assign_stack_local_1, assign_stack_temp_for_type):
2827 Do not call gen_mode_alignment when mode is BLKmode.
2828
2829 Sun Jul 30 20:21:54 MET DST 2000 Jan Hubicka <jh@suse.cz>
2830
2831 * loop.c (express_from_1): Fix call of simplify_gen_binary.
2832
2833 Sun Jul 30 20:08:37 MET DST 2000 Jan Hubicka <jh@suse.cz>
2834
2835 * simplify-rtx.c (simplify_relational_operation): Verify that mode ==
2836 VOIDmode implies both operands to be VOIDmode.
2837 (simplify_ternary_operation): Compute properly the mode of comparison.
2838 * combine.c (combine_simplify_rtx): Likewise.
2839
2840 2000-07-25 Michael Hayes <mph@paradise.net.nz>
2841
2842 * basic-block.h (struct loops): New field rc_order.
2843 * flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
2844 (flow_loops_free): Free rc_order.
2845 (flow_depth_first_order_compute): New parameter rc_order.
2846 (flow_loops_find): Allocate rc_order and swap usage with
2847 dfs_order.
2848
2849 2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2850 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2851
2852 * config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
2853 (push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
2854 (nodb_call, return_from_epilogue): Likewise.
2855 (return_from_interrupt_epilogue, prologue, epilogue): Likewise.
2856 * config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
2857 * config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
2858 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
2859 (c4x_valid_type_attribute_p): Likewise.
2860 * config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
2861 (FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.
2862
2863 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2864
2865 * config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
2866 and loadhi_big_constant if applicable.
2867 * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
2868 and add new splitter.s
2869
2870 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2871
2872 * config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
2873
2874 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2875
2876 * config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
2877
2878 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2879
2880 * config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
2881
2882 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2883
2884 * config/c4x/libgcc.S (divqf3): Improve accuracy.
2885
2886 2000-07-27 Mark Mitchell <mark@codesourcery.com>
2887
2888 Put phi nodes after NOTE_INSN_BASIC_BLOCK.
2889 * rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
2890 * bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
2891 (get_prev_bb_note): Likewise.
2892 (remove_scope_notes): Likewise.
2893 * flow.c (commit_one_edge_insertion): Likewise.
2894 (merge_blocks_nomove): Likewise.
2895 (verify_flow_info): Likewise.
2896 * gcse.c (insert_insn_end_bb): Likewise.
2897 * reg-stack.c (emit_swap_insn): Likewise.
2898 * ssa.c (first_insn_after_basic_block_note): New function.
2899 (insert_phi_node): Use it.
2900 (rename_block): Likewise.
2901 (eliminate_phi): Likewise.
2902 (make_regs_equivalent_over_bad_edges): Likewise.
2903 (make_equivalent_phi_alternatives_equivalent): Likewise.
2904 (for_each_successor_phi): Likewise.
2905 (convert_from_ssa): Modify phi-node deletion algorithm.
2906
2907 2000-07-29 Andreas Jaeger <aj@suse.de>
2908
2909 * configure.in (mips*-*-linux*): Use mips*el to check for little
2910 endian MIPS, add tmake_file.
2911
2912 * config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
2913 (SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
2914 Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
2915
2916 2000-07-28 Richard Henderson <rth@cygnus.com>
2917
2918 * config/ia64/ia64.c (ia64_print_operand): Fix typos.
2919 Sign extend mode size before negating.
2920
2921 2000-07-28 Richard Henderson <rth@cygnus.com>
2922
2923 * emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
2924
2925 2000-07-28 Bernd Schmidt <bernds@cygnus.co.uk>
2926
2927 * cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
2928 (cse_insn): Likewise.
2929 (addr_affects_sp_p): Likewise.
2930 * expr.c (move_by_pieces): Likewise.
2931 (clear_by_pieces): Likewise.
2932 * gcse.c (oprs_unchanged_p): Likewise.
2933 * haifa-sched.c (sched_analyze_2): Likewise.
2934 * recog.c (offsettable_address_p): Likewise.
2935 * regclass.c (record_address_regs): Likewise.
2936 * reload.c (find_reusable_reload): Likewise.
2937 (push_reload): Likewise.
2938 (operands_match_p): Likewise.
2939 (decompose): Likewise.
2940 (find_reloads_address_1): Likewise.
2941 (find_inc_amount): Likewise.
2942 * reload1.c (elimination_effects): Likewise.
2943 * resource.c (mark_set_resources): Likewise.
2944 * flow.c (attempt_auto_inc): New function; mostly broken out
2945 of find_auto_inc.
2946 (find_auto_inc): Split into two functions and enhanced to
2947 generate POST_MODIFY.
2948 * rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
2949 * rtl.h (count_all_occurrences): Declare.
2950 (HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
2951 defined.
2952 * rtlanal.c (count_all_occurrences): New function.
2953 * tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
2954 HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
2955
2956 * config/ia64/ia64-protos.h (destination_operand): Declare.
2957 * config/ia64/ia64.c (destination_operand): New function.
2958 (ia64_print_operand): Handle POST_MODIFY.
2959 (rtx_needs_barrier): Likewise.
2960 * config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
2961 (HAVE_POST_MODIFY_REG): Define to 1.
2962 (MAX_REGS_PER_ADDRESS): Change to 2.
2963 (GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
2964 (LEGITIMATE_ADDRESS_REG): New helper macro.
2965 (LEGITIMATE_ADDRESS_DISP): Likewise.
2966 (PREDICATE_CODES): Add entry for destination_operand.
2967 * config/ia64/ia64.md (all mov patterns): Use destination_operand
2968 predicate for operand 0.
2969
2970 2000-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2971
2972 * dwarf2out.c: Indent #error directive.
2973
2974 * gbl-ctors.h: Fix typo in comment.
2975 (__do_global_ctors): Prototype.
2976
2977 * gcse.c (record_one_set, pre_delete): Remove unused variables.
2978
2979 * rs6000.c (rs6000_maybe_dead): Delete unused prototype.
2980 (print_operand): Initialize variable `t'.
2981
2982 2000-07-27 Aldy Hernandez <aldyh@redhat.com>
2983
2984 * config/arm/arm.md ("call_value"): removed constraints.
2985 Constraints are ignored in expanders.
2986 (*call_value_reg): split =rf into various constraints.
2987 (*call_value_mem): same
2988 (*call_value_symbol): same
2989 (*sibcall_value_insn): same
2990
2991 2000-07-28 Philipp Thomas <pthomas@suse.de>
2992
2993 * install.texi (--enable-nls): Change the description of the NLS
2994 related configure options to match the current state.
2995 (--with-included-gettext): Likewise.
2996 (--enable-maintainer-mode): New description added.
2997 * extend.texi (-fstrict-prototype): Add missing '.'.
2998
2999 2000-07-27 Jim Wilson <wilson@cygnus.com>
3000
3001 * dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
3002 DECL_INITIAL (decl) == NULL_TREE.
3003
3004 2000-07-27 Alexandre Oliva <aoliva@redhat.com>
3005
3006 * Makefile.in (INSN_ATTR_H): New macro. Replace all dependencies
3007 on insn-attr.h with it.
3008 * genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
3009 * insn-addr.h: New header.
3010 (insn_addresses_): Renamed from insn_addresses.
3011 (INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
3012 INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
3013 INSN_ADDRESSES_NEW): New macros.
3014 * genattrtab.c (write_test_expr): Use new macros.
3015 * final.c (insn_addresses, init_insn_lengths): Likewise.
3016 (align_fuzz, shorten_branches): Likewise.
3017 (final): Likewise. Do not reject new insns if their addresses
3018 have been added to INSN_ADDRESSES.
3019 * config/arm/arm.c, config/avr/avr.c: Use new macros.
3020 * config/h8300/h8300.c, config/i370/i370.c: Likewise.
3021 * config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
3022 * config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
3023 * config/sh/sh.c: Likewise.
3024 (output_branchy_insn): Use INSN_ADDRESSES_NEW.
3025
3026 * Makefile.in (bootstrap): Move -BstageN/ back to the beginning.
3027
3028 2000-07-27 Andrew Cagney <cagney@b1.cygnus.com>
3029
3030 * gcc.c (struct prefix_list): Add member priority.
3031 (enum path_prefix_priority): Declare.
3032 (add_prefix): Replace ``first'' with ``priority''. Append new
3033 entry but keep list in priority order.
3034 (process_command): Update. Pass PREFIX_PRIORITY_B_OPT or
3035 PREFIX_PRIORITY_LAST to add_prefix.
3036 (process_command): Move include kludge - foo/stageN - to before
3037 foo/include.
3038
3039 2000-07-27 Jason Merrill <jason@redhat.com>
3040
3041 * dwarf2out.c (gen_typedef_die): Abort if we get identical
3042 TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
3043
3044 2000-07-27 RodneyBrown <RodneyBrown@pmsc.com>
3045
3046 * expr.h (get_alias_set, lang_get_alias_set): Delete prototypes.
3047 * tree.h (get_alias_set, lang_get_alias_set): Prototype.
3048
3049 2000-07-27 Joseph S. Myers <jsm28@cam.ac.uk>
3050
3051 * c-decl.c (finish_function): Don't treat 'main' specially unless
3052 flag_hosted. In C99 mode, return 0 from 'main' unless
3053 DEFAULT_MAIN_RETURN is otherwise defined.
3054
3055 * c-decl.c (store_parm_decls): In C99 mode, pedwarn for function
3056 parameters defaulting to int in an old-style function definition.
3057
3058 2000-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3059
3060 * c-parse.in (string): For -Wtraditional, warn about string
3061 concatenation only once per line.
3062
3063 Thu Jul 27 09:25:17 2000 Akiko Matsushita <matusita@sra.co.jp>
3064
3065 * pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES
3066 for HI-UX/WE2 systems.
3067
3068 2000-07-24 Bruce Korb <bkorb@gnu.org>
3069
3070 * fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC
3071 defining the __xxx_TYPE__ macros.
3072 * fixincl/fixincl.tpl(gnu_type_map): now obsolete
3073 * fixincl/fixlib.h: don't need to include "tm.h" anymore
3074 * fixincl/inclhack.def(type_map): now obsolete
3075
3076 Thu Jul 27 11:54:17 2000 Andrew Cagney <cagney@b1.cygnus.com>
3077
3078 * cpp.texi: Append a trailing full-stop to xrefs where needed.
3079
3080 2000-07-26 Dave Pitts <dpitts@cozx.com>
3081
3082 * i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash
3083 routine constants.
3084 (mvs_hash_alias): New function.
3085 (mvs_add_alias): Change argument spacing.
3086 (mvs_need_alias): Change aliasing criteria. Added documentation.
3087 (mvs_get_alias): Change to use hashed name. The hashed name prevents
3088 CSECT name collisions.
3089 (mvs_check_alias): Likewise.
3090 (handle_pragma): Change documentation.
3091 * i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx
3092 mode from SImode to DImode.
3093 (iorhi3): Changed LTORG size for insn.
3094
3095 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
3096
3097 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
3098 mem if the address is a mode_dependent_address_p.
3099
3100 2000-07-26 Kazu Hirata <kazu@hxi.com>
3101
3102 * h8300.c (print_operand): Print ":8" when the 'R' operand is
3103 suitable for 8-bit absolute.
3104 * h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New.
3105 (OK_FOR_U): Add a case for the 8-bit constant address on the
3106 H8/300H.
3107
3108 Wed Jul 26 19:26:21 2000 Hans-Peter Nilsson <hp@axis.com>
3109
3110 * varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON)
3111 && ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test
3112 ! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about
3113 lack of implemented alignment.
3114
3115 2000-07-26 Geoffrey Keating <geoffk@cygnus.com>
3116
3117 * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle
3118 cross-compiling between 64-bit and 32-bit machines.
3119
3120 2000-07-27 Richard Henderson <rth@cygnus.com>
3121
3122 * config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New.
3123 (movhicc_astep, movhi_internal_astep): New.
3124 (movsicc_astep, movsi_internal_astep): New.
3125 (movdicc_astep, movdi_internal_astep): New.
3126 (movsfcc_astep, movsf_internal_astep): New.
3127 (movdfcc_astep, movdf_internal_astep): New.
3128 (movxfcc_astep, movxf_internal_astep): New.
3129 (cmovdi_internal_astep, cmovsi_internal_astep): New.
3130 Unify the cmov[ds]i splitters.
3131
3132 2000-07-27 Rodney Brown <RodneyBrown@pmsc.com>
3133
3134 * real.c (asctoeg): Rename `error' label to unexpected_char_error
3135
3136 2000-07-26 Nick Clifton <nickc@cygnus.com>
3137
3138 * config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of
3139 __arm__. Allow it to be defined by CPP_ISA_SPEC in arm.h
3140
3141 * dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as
3142 well as PARALLEL blocks in FRAME_RELATED_EXPR notes.
3143
3144 2000-07-26 Alexandre Oliva <aoliva@redhat.com>
3145
3146 * c-decl.c (finish_enum): Convert enumerations that fit in an
3147 `int' to `int'.
3148 (build_enumerator): In pedantic mode, cast to `int' those that
3149 don't.
3150
3151 2000-07-25 Rodney Brown <RodneyBrown@pmsc.com>
3152
3153 * config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New.
3154
3155 Tue Jul 25 23:08:33 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
3156
3157 * sh.md (cmpgtdi_t): Must be split.
3158 (cmpgtdi_t+1): New splitter.
3159
3160 2000-07-25 Zack Weinberg <zack@wolery.cumb.org>
3161
3162 * cpplib.c (_cpp_check_directive): Issue -Wtraditional
3163 warnings for indented directives even if we are skipping.
3164
3165 2000-07-25 Nathan Sidwell <nathan@codesourcery.com>
3166
3167 * invoke.texi (strict-prototypes): Remove.
3168 * extend.texi (Deprecated Features): Add strict-prototypes.
3169 (Backwards Compatibility): New node.
3170
3171 2000-07-25 Jakub Jelinek <jakub@redhat.com>
3172
3173 * config/i386/i386.md (andsi_1+1): Allow HImode.
3174 (andsi_1+2): Require q_regs_operand.
3175
3176 2000-07-25 Jakub Jelinek <jakub@redhat.com>
3177
3178 * config/i386/i386.md (call_pop): Check operands[0],
3179 not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
3180 (call): Likewise.
3181 (call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
3182 (call_value): Likewise.
3183
3184 2000-07-25 Zack Weinberg <zack@wolery.cumb.org>
3185
3186 * toplev.c (pipe_closed): Delete.
3187 (crash_signal): New. Generate ICE for a fatal signal.
3188 (float_signal): Call crash_signal outside a float-handler
3189 block, not abort.
3190 (main): Install crash_signal as handler for core-dumping signals.
3191
3192 2000-07-25 David Edelsohn <edelsohn@gnu.org>
3193
3194 * rs6000.c (print_operand, case 'T'): New case.
3195
3196 * rs6000.md (call_indirect_aix32): Convert to expander of
3197 scheduled instructions.
3198 (call_indirect_aix64): Likewise.
3199 (call_value_indirect_aix{32,64}): Likewise.
3200 (call, call_value): Invoke expanders for AIX. Fall through to
3201 matchers for SysV.
3202 (call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr).
3203 (call_value_indirect_nonlocal_aix{32,64}): New patterns.
3204 (call_nonlocal_aix32): Remove CALL_LONG alternative. Operand 1
3205 only "g" constraint.
3206 (call_nonlocal_aix64): Likewise.
3207 (call_value_nonlocal_aix{32,64}): Likewise.
3208 (call_nonlocal_sysv): New pattern for ctr, lr, and symbolic
3209 operands.
3210 (call_value_nonlocal_sysv): New pattern.
3211 (indirect_jump{si,di}): Use new 'T' modifier.
3212 (tablejump{si,di} matchers): Likewise.
3213 (return_internal_{si,di}): Likewise.
3214 (return_eh_{si,di}): Likewise.
3215
3216 2000-07-24 Richard Henderson <rth@cygnus.com>
3217
3218 * config/ia64/ia64.c (ia64_print_operand): Handle "%,".
3219 * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
3220 * config/ia64/ia64.md (movdi_internal): Use it.
3221
3222 2000-07-24 Zack Weinberg <zack@wolery.cumb.org>
3223
3224 * cppexp.c: Warn about unary + if -Wtraditional.
3225 * cpplex.c (lex_line): Always set BOL on the first token of a line.
3226
3227 2000-07-24 Michael Meissner <meissner@redhat.com>
3228
3229 * d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to
3230 unsupported macro.
3231
3232 2000-07-24 Nick Clifton <nickc@cygnus.com>
3233
3234 * config/arm/arm.c (emit_multi_reg_push): Generate a
3235 REG_FRAME_RELEATED_NOTE that is compatable with the code in
3236 dwarf2out_debug_frame_expr.
3237
3238 2000-07-24 Jason Merrill <jason@redhat.com>
3239
3240 * dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without
3241 UNALIGNED_INT_ASM_OP.
3242 (def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust
3243 a location expression.
3244 (dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff. Don't
3245 assume indirect access if we're saving the CFA address exactly.
3246
3247 * Makefile.in (bootstrap): Move -BstageN/ to the end.
3248
3249 2000-07-24 Jakub Jelinek <jakub@redhat.com>
3250
3251 * tradcpp.c (main): Update max_include_len for cpp_include_defaults
3252 as well.
3253
3254 2000-07-24 Michael Meissner <meissner@redhat.com>
3255
3256 * invoke.texi (D30V Options): Add d30v options.
3257
3258 Mon Jul 24 02:04:52 2000 Jeffrey A Law (law@cygnus.com)
3259
3260 * gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not
3261 needed by our gcse pass anymore.
3262 (free_pre_mem): Corresponding changes.
3263 (compute_pre_data): Do not call compute_transpout anymore.
3264
3265 * gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'.
3266 (free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding
3267 changes.
3268
3269 * gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
3270 (compute_pre_data): Do it here instead.
3271
3272 * gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap
3273 'temp_bitmap'.
3274 (pre_delete): Corresponding changes.
3275
3276 2000-07-23 Mark Mitchell <mark@codesourcery.com>
3277
3278 * c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN
3279 to figure out whether or not a variable has already been emitted.
3280
3281 Sun Jul 23 14:49:12 2000 Jason Eckhardt <jle@cygnus.com>
3282
3283 * config/i860/i860.md (untyped_call expander): Use GEN_CALL
3284 instead of gen_call.
3285
3286 Sun Jul 23 11:52:03 2000 George Helffrich (george@gly.bris.ac.uk)
3287
3288 * dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.
3289
3290 2000-07-23 Kazu Hirata <kazu@hxi.com>
3291
3292 * h8300.c: Fix formatting.
3293
3294 2000-07-23 Joseph S. Myers <jsm28@cam.ac.uk>
3295
3296 * c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn
3297 for `long' switch expression into a plain warning.
3298
3299 * c-lex.c (init_lex): Keep the "inline" keyword in C99 mode.
3300 (yylex): Don't pedwarn for "inline" in C99 mode.
3301
3302 * bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing
3303 with %p.
3304 * ggc-page.c (debug_print_page_list, alloc_page, free_page,
3305 ggc_alloc): Likewise.
3306 * bb-reorder.c (dump_scope_forest_1): Likewise.
3307
3308 2000-07-22 Aldy Hernandez <aldyh@redhat.com>
3309
3310 * reload.c (find_reloads_toplev): Add new parameter
3311 "address_reloaded".
3312 (find_reloads): Add new parameter to find_reloads_toplev calls.
3313
3314 2000-07-22 Jeffrey Oldham <oldham@codesourcery.com>
3315
3316 * collect2.c (main): Typo fixed.
3317 * diagnostic.c: Typo fixed.
3318 * dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed.
3319 * eh-common.h: Typo fixed.
3320 * emit-rtl.c (start_sequence): Typo fixed.
3321 * flow.c (find_label_refs): Typo fixed.
3322 (calculate_global_regs_live): Typo fixed.
3323 (mark_regno_cond_dead): Typo fixed.
3324 (create_edge_list): Typos fixed.
3325 (verify_edge_list): Typo fixed.
3326 * ggc-common.c (ggc_mark_rtx_children): Typo fixed.
3327 * loop.c (strength_reduce): Typo in function name fixed.
3328 * rtl.h: Added comments. Typo in function name fixed.
3329 * rtlanal.c: Typo in function name fixed.
3330 (insn_dependant_p): Rename to ...
3331 (insn_dependent_p): ... this.
3332 (computed_jumo_p): Typo fixed.
3333
3334 2000-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3335
3336 * system.h (__FUNCTION__): Wrap definition in #ifndef.
3337
3338 2000-07-21 David Edelsohn <edelsohn@gnu.org>
3339
3340 * rs6000.h (SIZE_TYPE): Define.
3341
3342 2000-07-21 Mark Mitchell <mark@codesourcery.com>
3343
3344 * ssa.c (rename_insn_1): Don't rename registers that are
3345 CLOBBERed.
3346
3347 2000-07-21 Zack Weinberg <zack@wolery.cumb.org>
3348
3349 * diagnostic.c (trim_filename, fancy_abort): Moved here from
3350 rtl.c.
3351 (fatal_function, set_fatal_function): Removed.
3352 (fatal): Don't prepare for or call the fatal_function.
3353 (diagnostic_lock, error_recursion): New.
3354 (diagnostic_for_decl, report_diagnostic): Guard against
3355 re-entering the error reporting routines.
3356 (fancy_abort): Assume function is not NULL.
3357
3358 * errors.c (fancy_abort): New. Assume function is not NULL.
3359 * tradcpp.c (fancy_abort): Assume function is not NULL.
3360
3361 * system.h: Provide default definition of __FUNCTION__.
3362 * rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
3363 Always use __FUNCTION__ in definition of abort.
3364 * tree.h: Likewise.
3365 * varray.h: Likewise.
3366 * toplev.h: Likewise. Don't prototype set_fatal_function.
3367
3368 2000-07-20 Geoff Keating <geoffk@cygnus.com>
3369
3370 * config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
3371 in 64-bit mode.
3372 * glimits.h: Don't do #if defined for ARCH_PPC.
3373
3374 * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
3375 constants of size no larger than a pointer should go in the TOC.
3376 Add 'MODE' parameter.
3377 (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
3378 ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
3379 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
3380 * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
3381 * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
3382 * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
3383 (rs6000_legitimize_address): Likewise.
3384 (rs6000_emit_move): Likewise.
3385 (rs6000_select_rtx_section): Likewise.
3386 (output_toc): Deal properly with outputting small constants like
3387 HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
3388 * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
3389 MODE parameter. Put small constants in the TOC.
3390
3391 * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
3392 easy in SImode.
3393 (rs6000_emit_move): When reload calls us with an illegitimate
3394 address, exit early. Move the change_address calls to one place
3395 at the end of the routine. Merge the SImode and DImode expanders.
3396 When called by reload to put an integer into a FP register, force
3397 it to memory.
3398
3399 * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
3400 field.
3401 (rs6000_hash_constant): Hash mode too.
3402 (toc_hash_function): Allow for key_mode.
3403 (toc_hash_eq): Structures are different if key_mode differs.
3404 (output_toc): Add 'mode' parameter. Save key_mode.
3405 * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
3406 Pass 'mode' parameter.
3407 * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
3408
3409 * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
3410 for vtable references.
3411
3412 * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
3413 choice, don't put integer values in FP regs.
3414
3415 Thu Jul 20 18:13:52 2000 Jeffrey A Law (law@cygnus.com)
3416
3417 * flow.c (verify_flow_info): Revamp code to verify that the
3418 head and end of each basic block are in the insn chain.
3419
3420 Thu Jul 20 18:02:35 2000 Michael Matz <matzmich@cs.tu-berlin.de>
3421
3422 * gcse.c (record_one_set): Prepend instead of append onto
3423 reg_set_table, making it O(n) instead O(n^2).
3424 * lcm.c (compute_antinout_edge,compute_laterin,compute_available):
3425 Use a queue instead of a stack as worklist.
3426
3427 2000-07-20 Kazu Hirata <kazu@hxi.com>
3428
3429 * h8300.c (two_insn_adds_subs_operand): Fix a typo.
3430 * h8300.h (OK_FOR_T): New.
3431 (EXTRA_CONSTRAINT): Support OK_FOR_T.
3432 * h8300.md: Use inc/dec.[wl] for increment/decrement
3433 by 1 and 2 in HI and SI modes.
3434
3435 2000-07-20 Jim Wilson <wilson@cygnus.com>
3436
3437 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
3438 larger than 14 bits.
3439
3440 2000-07-20 Zack Weinberg <zack@wolery.cumb.org>
3441
3442 * cppmacro.c (CAN_PASTE_AFTER): New macro.
3443 (count_params): Don't set GNU_REST_ARGS on anything.
3444 (save_expansion): Set PASTE_LEFT only on tokens for which
3445 CAN_PASTE_AFTER is true, or which are named operators.
3446
3447 * cpplex.c (parse_args): Distinguish between a rest argument
3448 given one empty argument, and a rest argument given zero arguments.
3449 (maybe_paste_with_next): Look for VOID_REST tag, and trigger
3450 deletion of previous token based on that.
3451 (get_raw_token): Flatten some control structure.
3452
3453 * cpplib.h (CPP_LAST_EQ): Correct.
3454 (VOID_REST): New token flag.
3455 (GNU_REST_ARGS): Delete.
3456
3457 * tradcpp.c (main): Don't munge -D options.
3458 (make_definition): Bring -D handling in line with cpplib.
3459 (do_define): Strip all leading whitespace from macro definitions.
3460
3461 2000-07-20 David Billinghurst <David.Billinghurst@riotinto.com.au>
3462
3463 * Makefile.in (tradcpp): Depend on intl.o and version.o.
3464
3465 2000-07-20 Bruce Korb <bkorb@gnu.org>
3466
3467 * fixincl/check.tpl: strip the platform specific types before testing
3468 * fixincl/fixfixes.c(gnu_type_fix): use platform specific types
3469 * fixincl/fixincl.tpl: use platform specific types
3470 * fixincl/fixlib.h: include the platform specific types
3471 * fixincl/inclhack.def(gnu_types): don't supply the types
3472 * fixincl/fixincl.x: regen
3473
3474 2000-07-19 Jim Wilson <wilson@cygnus.com>
3475
3476 * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
3477 GR_REGS.
3478
3479 2000-07-19 Zack Weinberg <zack@wolery.cumb.org>
3480
3481 * tradcpp.c (rescan): Do not recognize directives when the #
3482 is indented.
3483
3484 2000-07-19 Zack Weinberg <zack@wolery.cumb.org>
3485
3486 Implement C++ named operators.
3487
3488 * cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
3489 of operators allowed in #if and having an _EQ variant. Add
3490 CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
3491 (cpp_token flags): Add NAMED_OP.
3492 (enum node_type): Add T_OPERATOR.
3493 (struct cpp_hashnode): Add code slot to value union.
3494 * cpphash.h (spec_nodes): Remove n_defined.
3495
3496 * cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
3497 (spell_token, can_paste, maybe_paste_with_next): Handle named operators.
3498 (is_macro_disabled): Tweak error messages.
3499
3500 * cpplib.c (get_define_node): Disallow all named operators as
3501 macro names. Tweak error messages.
3502 (_cpp_init_stacks): Don't set up spec_nodes->n_defined.
3503
3504 * cppinit.c (builtin_array): Add entries for the named operators.
3505 * cppexp.c (lex): Check for CPP_DEFINED token.
3506 (priority table): Add entries for CPP_MIN and CPP_MAX.
3507 (_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
3508
3509 2000-07-19 Bernd Schmidt <bernds@cygnus.co.uk>
3510
3511 * gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
3512 larger than the array of cuids.
3513 (alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
3514 cuids.
3515
3516 2000-07-19 Bruce Korb <bkorb@gnu.org>
3517
3518 * fixinc/fixincl.c: Convert to using a table of environment variables
3519 and activate the auto-edit marker on the fixed output files.
3520 * fixinc/fixlib.h: Define the environment table
3521 * fixinc/fixincl.sh: export the ${INPUT} dir
3522 * fixinc/check.tpl: likewise
3523
3524 2000-07-18 Zack Weinberg <zack@wolery.cumb.org>
3525
3526 * gcc.c (.h spec): Fix typo.
3527
3528 Wed Jul 19 01:22:15 CEST 2000 Marc Espie <espie@cvs.openbsd.org>
3529
3530 * Makefile.in: Fix tradcif.c path.
3531
3532 2000-07-18 Zack Weinberg <zack@wolery.cumb.org>
3533
3534 * cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
3535 macros, not five.
3536
3537 * cpphash.h (TOKEN_NAME): New macro.
3538 (_cpp_spell_operator): Deleted.
3539 (token_spellings): Now _cpp_token_spellings.
3540
3541 * cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
3542 * cpplex.c: Use OP and TK macros when expanding the
3543 TTYPE_TABLE. Eliminate token_names. For non-OPERATOR tokens,
3544 store the stringification of the enumeration name (CPP_CHAR,
3545 etc.) in the name slot of token_spellings.
3546 Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
3547 token_spellings directly.
3548 * cpplib.c: Use TOKEN_SPELL.
3549
3550 * cpplex.c (_cpp_push_token): If the token being pushed back
3551 is the previous token in this context, just subtract one from
3552 context->posn.
3553 * cppmacro.c (save_expansion): Clear aux field when storing a
3554 placemarker.
3555
3556 2000-07-18 Jakub Jelinek <jakub@redhat.com>
3557
3558 * cpplex.c (cpp_scan_buffer): Output line command even at the stop
3559 buffer, provided it is not NULL.
3560
3561 2000-07-18 Alexandre Oliva <aoliva@redhat.com>
3562
3563 * c-decl.c (duplicate_decls): Do not call make_var_volatile() in
3564 case of invalid volatile re-declaration.
3565
3566 2000-07-18 Jakub Jelinek <jakub@redhat.com>
3567
3568 * calls.c (store_arg): Return non-zero if sibcall_failure is desired.
3569 (expand_call): Adjust caller.
3570
3571 2000-07-17 Gabriel Dos Reis <gdr@codesourcery.com>
3572
3573 * diagnostic.h (report_diagnostic): Change prototype.
3574
3575 * diagnostic.c (output_do_verbatim, diagnostic_for_asm,
3576 diagnostic_for_decl): Change prototype.
3577 (error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
3578 error, warning, error_with_file_and_line,
3579 warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
3580 Adjust call to report_diagnostic, diagnostic_for_decl.
3581 (error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
3582 (output_verbatim, verbatim): Adjust call to output_do_verbatim.
3583
3584 * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
3585 varaible argument list.
3586
3587 2000-07-17 Zack Weinberg <zack@wolery.cumb.org>
3588
3589 * cpphash.c: Don't include hashtab.h. Most macro-handling code
3590 moved to cppmacro.c.
3591 (hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
3592 dump_hash_helper): Delete.
3593 (expand_hash, higher_prime_number, _cpp_lookup_with_hash,
3594 cpp_forall_identifiers): New. Implement specialized version of
3595 Vlad's expandable hash table.
3596 (cpp_lookup): Use new functions.
3597 (_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
3598 implementation.
3599 * cppmacro.c: New file.
3600 * cppinit.c (dump_macros_helper): New.
3601 (cpp_finish): Iterate over the identifier table directly.
3602 * cpplex.c (parse_name): Calculate the hash of the identifier
3603 while we scan it. Use _cpp_lookup_with_hash when we can.
3604
3605 * cpphash.h: Update prototypes.
3606 (xcnewvec, HASHSTEP): New helper macros.
3607 * cpplib.h: Update prototypes.
3608 * Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
3609 (cppmacro.o): New rule.
3610 (cpphash.o): Update deps.
3611
3612 * cppmain.c: Do not set pfile->printer if no_output is on.
3613
3614 2000-07-15 Neil Booth <neilb@earthling.net>
3615
3616 * cpplib.c: Change all directive-handler functions to return
3617 void, not int.
3618 * cpphash.h: Update typedefs.
3619
3620 2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
3621
3622 * configure: Regenerate.
3623
3624 * extend.texi (Extended Asm): Mention that a memory clobber
3625 does not count as a side-effect.
3626
3627 * unroll.c (copy_loop_body): Fix one instance of using host
3628 arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
3629 cross-compile.
3630
3631 * tlink.c (scan_linker_output): Tweak for output of AIX ld.
3632
3633 2000-07-17 Richard Henderson <rth@cygnus.com>
3634
3635 * config/ia64/ia64.md (movdi): Split out load address code.
3636 New post-reload splitter for symbolic operands.
3637 (movdi_internal): Abort if we didn't split symbolic operands
3638 when we should have.
3639 * config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
3640 (ia64_reorg): Split insns when not optimizing.
3641 * config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
3642
3643 Mon Jul 17 23:43:26 MET DST 2000 Jan Hubicka <jh@suse.cz>
3644
3645 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
3646 instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
3647
3648 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com>
3649
3650 * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
3651
3652 2000-07-17 Jason Merrill <jason@redhat.com>
3653
3654 * Makefile.in (clean): Remove libgcc directory.
3655
3656 * configure.in (-Wno-long-long check): Use higher-level macros.
3657
3658 2000-07-17 Zack Weinberg <zack@wolery.cumb.org>
3659
3660 * simplify-rtx.c (simplify_binary_operation): Recognize
3661 (compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
3662 (simplify_ternary_operation): Do not examine MODE_BITSIZE of
3663 a CONST_INT, it will always be zero.
3664
3665 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com>
3666
3667 * loop.c (check_dbra_loop) : Return if more than one condition is
3668 present to control the loop.
3669
3670 Mon Jul 17 08:26:35 2000 Clinton Popetz <cpopetz@cygnus.com>
3671
3672 * mips.c (mips_expand_prologue): Don't calculate the last argument
3673 register unless we need it. When we are calculating this, make
3674 sure FUNCTION_ARG is giving us a REG.
3675
3676 2000-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
3677
3678 * flow.c (libcall_dead_p): Use single_set to verify the insn
3679 has only one set and get for analysis.
3680 (propagate_one_insn): Don't pass the PATTERN of the insn.
3681
3682 2000-07-17 Mark Klein <mklein@dis.com>
3683
3684 * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
3685
3686 2000-07-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3687
3688 * Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
3689 * configure.in (TARGET_GETGROUPS_T): Evaluate.
3690 * sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
3691 of second argument of getgroups.
3692 * configure, config.in: Rebuilt.
3693
3694 2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
3695
3696 * simplify-rtx.c (simplify_relational_operation): Two signed
3697 values with equal high words are less/greater than each other if
3698 their low words are less/greater when considered as unsigned.
3699
3700 Mon Jul 17 02:37:06 2000 Marc Espie <espie@openbsd.org>
3701
3702 * configure.in (vax-*-openbsd): Change to new style configuration,
3703 add collect2/float_format information.
3704 * configure: Rebuilt.
3705 * config/vax/openbsd1.h: New.
3706 * config/vax/openbsd.h: New.
3707 * config/vax/t-openbsd: New.
3708
3709 2000-07-17 Chip Salzenberg <chip@valinux.com>
3710
3711 * c-common.c (shorten_compare): Quiet warnings about unsigned
3712 comparisons with zero when they occur in a system header.
3713
3714 2000-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
3715
3716 * invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
3717 update to describe current practice.
3718
3719 * glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
3720
3721 * contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
3722 references to C9X. Change references to -fstd and -flang-isoc9x
3723 to refer to -std.
3724
3725 * c-common.c (scan_char_table): Allow "z" length modifiers on
3726 diouxXn formats.
3727 (check_format_info): Use TYPE_DOMAIN on the type matched against
3728 for "z" formats, to retrieve the language size_t rather than the
3729 internal one.
3730
3731 * c-common.c (check_format_info): Do not make a pedantic objection
3732 to the 'L' length modifier if used with a floating point type
3733 character.
3734
3735 * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
3736 constants in C99 mode.
3737
3738 2000-07-17 Kazu Hirata <kazu@hxi.com>
3739
3740 * h8300.md: Fix the format of mac.
3741 (movsi_h8300hs): Output a tab after stmac instead of a space.
3742
3743 * h8300.c (two_insn_adds_subs_operand): Improve code for detecting
3744 profitable adds/subs sequences.
3745
3746 * fold-const.c: Fix comment typos.
3747
3748 2000-07-16 Laurynas Biveinis <lauras@softhome.net>
3749
3750 * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
3751
3752 2000-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3753
3754 * fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
3755
3756 2000-07-16 Neil Booth <NeilB@earthling.net>
3757
3758 * cpplex.c: Update comments.
3759 * README.Portability: Small update.
3760
3761 2000-07-16 Neil Booth <NeilB@earthling.net>
3762
3763 * README.Portability: Small update.
3764
3765 2000-07-15 Richard Henderson <rth@cygnus.com>
3766
3767 * config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
3768 * config/ia64/ia64.c (ia64_move_ok): New function.
3769 * config/ia64/ia64.md (movqi, movqi_internal): Use it.
3770 (movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
3771
3772 2000-07-15 Zack Weinberg <zack@wolery.cumb.org>
3773
3774 * cpphash.c (save_expansion): Clear PREV_WHITE on tokens
3775 immediately following a paste operator.
3776 * cppinit.c (sort_options): New function (only for HOST_EBCDIC).
3777 (cpp_reader_init): Call it, if HOST_EBCDIC.
3778 (cpp_handle_options): Do not sort option list here.
3779 (handle_option): Rename to cpp_handle_option and export.
3780 * cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
3781 _cpp_get_token directly.
3782 (cpp_scan_line): Return 0 at EOF, 1 otherwise.
3783 * cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
3784 * cpplib.h: Prototype cpp_handle_option. Update prototype of
3785 cpp_scan_line.
3786
3787 2000-07-15 Richard Henderson <rth@cygnus.com>
3788
3789 * fold-const.c (extract_muldiv): Don't optimize past an unsigned
3790 cast around an expression. Tidy other unsigned tests.
3791
3792 2000-07-15 Gabriel Dos Reis <gdr@codesourcery.com>
3793
3794 * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
3795 v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
3796 (v_message_with_decl): Rename to ...
3797 (format_with_decl): ... this. Tweak
3798 (diagnostic_for_decl): New function.
3799 (fatal_io_error): Use verbatim in lieu of notice.
3800 (announce_function): Use verbatim.
3801 (default_print_error_function): Likewise.
3802 (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
3803 infratructure.
3804
3805 2000-07-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3806
3807 * mips.c (function_arg_pass_by_reference): Don't do automatic
3808 aggregate initialization.
3809 (machine_dependent_reorg): Initialize variable `mode'.
3810
3811 * mips.md (absdi2): Change variable `regno1' to unsigned int.
3812 (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
3813 conflicts with sys/param.h macro of the same name.
3814 (reload_outdi): Likewise.
3815
3816 2000-07-15 Michael Meissner <meissner@redhat.com>
3817
3818 * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
3819 == CONST + INCREMENT, don't overwrite the tree node for FOO++,
3820 create a new node instead.
3821
3822 2000-07-15 Neil Booth <NeilB@earthling.net>
3823
3824 * README.Portability: Correct example about calling a function
3825 through a pointer to function. Format wide paragraphs.
3826
3827 2000-07-15 Michael Meissner <meissner@redhat.com>
3828
3829 * README.Portability: Update integer suffixes and function
3830 prototype sections.
3831
3832 2000-07-15 Neil Booth <NeilB@earthling.net>
3833
3834 * README.Portability: Small update.
3835
3836 2000-07-15 Neil Booth <NeilB@earthling.net>
3837
3838 * README.Portability: New file.
3839
3840 Fri Jul 14 18:13:53 2000 Mark P Mitchell <mark@codesourcery.com>
3841
3842 * INSTALL: Give special instructions for building GCC on Irix 6.
3843 * config/mips/x-iris6 (CC): Don't set it.
3844 (OLDCC): Likewise.
3845
3846 2000-07-14 Jason Merrill <jason@redhat.com>
3847
3848 * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
3849 register in the stack and later in another register, use the new
3850 register.
3851
3852 Fri Jul 14 10:25:53 2000 Clinton Popetz <cpopetz@cygnus.com>
3853
3854 * config/mips/mips.md: (absdi2): Handle sign_extend for
3855 second operand.
3856
3857 2000-07-14 Nathan Sidwell <nathan@codesourcery.com>
3858
3859 * cpplib.c (do_pragma_dependency): Tidy warning messages.
3860
3861 2000-07-14 Zack Weinberg <zack@wolery.cumb.org>
3862
3863 * .cvsignore: Correct typo.
3864
3865 2000-07-13 Mark Mitchell <mark@codesourcery.com>
3866
3867 * .cvsignore: Add generated YACC files.
3868 * objc/.cvsignore: New file.
3869
3870 2000-07-14 Neil Booth <NeilB@earthling.net>
3871
3872 * cpplex.c (adjust_column): New funcion.
3873 (skip_whitespace): Use it.
3874 (skip_block_comment): Use it, and warn about /*/* with
3875 -Wcomments.
3876
3877 2000-07-14 Neil Booth <NeilB@earthling.net>
3878
3879 * cpphash.c (struct macro_info): Add new members.
3880 (_cpp_free_definition): Delete the macro directly.
3881 (count_params): Return void, with first token of
3882 expansion in struct macro_info on success.
3883 (parse_define): Return int. Hoist syntax checking from
3884 save_macro_expansion. Leave call to save_expansion to
3885 _cpp_create_definition.
3886 (alloc_macro): Needs just 2 arguments.
3887 (free_macro): Delete.
3888 (save_expansion): Don't perform syntax check.
3889 (_cpp_create_definition): Call save_expansion.
3890
3891 2000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3892
3893 * genrecog.c (write_header): Split long string.
3894
3895 * cpphash.c (macro_info): Don't use the `signed' keyword.
3896
3897 * system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
3898
3899 2000-07-13 Jakub Jelinek <jakub@redhat.com>
3900
3901 * calls.c (stored_args_map): New variable.
3902 (check_sibcall_argument_overlap_1): New.
3903 (check_sibcall_argument_overlap): New.
3904 (expand_call): Initialize stored_args_map.
3905 Call check_sibcall_argument_overlap.
3906
3907 2000-07-13 Bruce Korb <bkorb@gnu.org>
3908
3909 * fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
3910 (emit_gnu_type): utility procedure for gnu_type_fix
3911 (gnu_type_fix): implement various pre-processor guards around
3912 standard types so these types can be defined over and over
3913 * fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
3914 types alluded to above will have GNU-compliant base types
3915 * fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
3916 * fixinc/inclhack.def: add test_text entries and utilize the new
3917 "gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
3918 * fixinc/fixincl.x: regenerate
3919
3920 2000-07-12 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
3921
3922 * diagnostic.c (vline_wrapper_message_with_location,
3923 v_message_with_file_and_line, v_error_with_file_and_file,
3924 v_error_for_asm, v_warning_for_asm, vfatal,
3925 v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
3926 vsorry, verror, vwarning, vpedwarn): Remove.
3927 (diagnostic_for_asm): New function.
3928 (pedwarn, error, warning, pedwarn_with_file_and_line,
3929 error_with_file_and_line, warning_with_file_and_line, sorry,
3930 error_for_asm, warning_for_asm, fatal): Reimplement.
3931 (finish_diagnostic): Clear diagnostic info as well.
3932
3933 2000-07-13 Neil Booth <NeilB@earthling.net>
3934
3935 * c-common.h (flag_digraphs): New.
3936 * c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
3937 * c-lex.c (yylex): Use flag_digraphs to decide whether to
3938 honour digraphs.
3939
3940 2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
3941
3942 * gcc.c (do_spec_1): Add new %B operator.
3943 (set_input): Prepare for %B.
3944
3945 (link_command_spec): Move up with the other tm.h-
3946 overrideable specs. Factor out the portion conditional on
3947 LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
3948 (struct compiler): Just have a single spec string. All users
3949 updated.
3950 (default_compilers): Remove unnecessary braces.
3951 (static_specs): Update.
3952
3953 (trad_capable_cpp, cpp_options, cc1_options, asm_options): New
3954 named specs.
3955 (C and assembly specs): Use the new named specs, as appropriate.
3956
3957 * objc/lang-specs.h: Use the new named specs.
3958 Remove unnecessary braces.
3959
3960 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
3961
3962 * gcc.c (execute): If a subprocess gets a fatal signal, report
3963 strsignal() of the signal number, and ask for a bug report.
3964 Do not do this for SIGPIPE if there's already been an error.
3965
3966 * tradcpp.c: Don't include signal.h. Don't catch SIGPIPE.
3967 Delete pipe_closed.
3968
3969 * tradcif.c: Remove.
3970
3971 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
3972
3973 * final.c (profile_function): Do not emit profile counters in
3974 the data section, if NO_PROFILE_COUNTERS is defined.
3975 * tm.texi: Document NO_PROFILE_COUNTERS. Update doc for
3976 FUNCTION_PROFILER.
3977
3978 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
3979 (FUNCTION_PROFILER): Just emit a call to mcount.
3980
3981 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
3982
3983 * tradcpp.c (main): Rename 'perror' label to 'sys_error'.
3984
3985 * cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
3986 cpplib.c, cpplib.h: Eradicate all traces of code dependent on
3987 traditional, lang_chill, or lang_fortran.
3988
3989 * cppfiles.c: #undef strcmp to suppress warning about macros
3990 used without arguments.
3991 (_cpp_execute_include): Use f, not fname, in "No include path"
3992 error.
3993 (_cpp_pop_file_buffer): New function.
3994 * cpplib.c: Don't include <sys/mman.h>.
3995 (cpp_push_buffer): Set line_base and lineno in new buffer.
3996 (cpp_pop_buffer): Use _cpp_pop_file_buffer.
3997
3998 * cpplex.c: Move all prototypes and structure declarations to the
3999 top of the file. Properly parenthesise some macro arguments.
4000 (cpp_scan_line): New function.
4001 (special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
4002 don't need to walk up the stack counting.
4003
4004 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4005
4006 * c-common.c (combine_strings): Emit a pedantic warning when a
4007 string length is greater than the minimum ANSI C is required
4008 to support.
4009
4010 Wed Jul 12 13:24:30 2000 Jeffrey A Law (law@cygnus.com)
4011
4012 * pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
4013 * d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
4014
4015 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4016
4017 * c-decl.c (define_label): Warn about identifier conflicts with
4018 labels in traditional C.
4019
4020 * c-parse.in (unop +): Warn about the unary plus operator for
4021 traditional C.
4022
4023 * c-typeck.c (store_init_value): Warn about automatic aggregate
4024 initialization for traditional C.
4025
4026 * invoke.texi (-Wtraditional): Document new warnings.
4027
4028 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
4029
4030 * Makefile.in (c-errors.o): Fix thinko in dependency.
4031
4032 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
4033
4034 * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
4035 -traditional, -ftraditional, or -traditional-cpp was given.
4036 Do not pass -traditional to the preprocessor.
4037 (.S spec): Likewise. Don't bother defining __ASSEMBLER__, the
4038 preprocessor does it automatically.
4039 * objc/lang-specs.h: Likewise. Don't bother defining __OBJC__.
4040
4041 * ch/lang-specs.h: Always use tradcpp. Do not pass
4042 -traditional, -trigraphs, or -pedantic to the preprocessor.
4043 * f/lang-specs.h (.F spec): Likewise. Don't bother defining
4044 _LANGUAGE_FORTRAN.
4045
4046 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
4047
4048 * cppexp.c (LOGICAL): Delete macro.
4049 (_cpp_parse_expr): Do not use UNARY for unary +. Implement ||
4050 and && directly.
4051
4052 * cpphash.c (HASHSIZE): Increase to 4096.
4053 (struct hashdummy): Add hash field.
4054 (eq_HASHNODE): Compare unreduced hashes, then lengths, then
4055 the string values using memcmp.
4056 (cpp_lookup): Set dummy.hash.
4057
4058 Wed Jul 12 13:15:16 2000 Marc Espie <espie@openbsd.org>
4059
4060 * configure.in (m88k-openbsd): Express configuration using new fragment
4061 style.
4062 * configure: Rebuilt.
4063 * m88k/aout-dbx.h: New.
4064 * m88k/openbsd.h: New.
4065 * m88k/xm-openbsd.h: New.
4066
4067 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4068
4069 * expr.c (expand_expr): Return const0_rtx, not error_mark_node.
4070
4071 2000-07-12 Richard Henderson <rth@cygnus.com>
4072
4073 * reload.c (push_secondary_reload): Make sure to add the new
4074 reload at the end, after acquiring secondary memory.
4075
4076 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4077
4078 * cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
4079
4080 * c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
4081 lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
4082
4083 * c-parse.in (stmt): Delete unused variables.
4084
4085 * convert.c (convert_to_vector): Likewise.
4086
4087 * gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
4088
4089 * tree.c (finish_vector_type): Prototype.
4090
4091 2000-07-12 Bruce Korb <bkorb@gnu.org>
4092
4093 * fixinc/fixfixes.c: use xmalloc
4094 * fixinc/fixincl.c(initialize): set program name for xmalloc
4095 * fixinc/fixlib.c(must_malloc): obsolete
4096 (is_cxx_header): no longer used - disabled
4097 (skip_quote): inserted and disabled for future use
4098 * fixinc/fixlib.h: reflects above
4099 * fixinc/fixtests.c: removed dinkleberries
4100
4101 2000-07-12 Neil Booth <NeilB@earthling.net>
4102
4103 * cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
4104 * cpplex.c (TOKEN_SPELL) Move to cpphash.h.
4105
4106 * cpphash.c: (struct macro_info, alloc_macro, free_macro,
4107 struct toklist_dummy): New.
4108 (cpp_free_definition): Free macros with free_macro.
4109 (count_params): Don't save paramter spellings. Save macro
4110 information in a struct macro_info.
4111 (parse_define): Don't allocate a token list.
4112 (save_expansion): Allocate the macro's token list, and
4113 save parameter spellings if necessary. Use TOKEN_SPELL.
4114 (cpp_create_definition): Make list const.
4115
4116 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
4117
4118 * c-typeck.c (pedwarn_c99): Move to
4119 * c-errors.c: ... Here.
4120 * toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
4121 * diagnostic.c (verror, vwarning, vpedwarn): Make static.
4122 * Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
4123 (c-errors.o): List dependency.
4124
4125 2000-07-12 Mark Mitchell <mark@codesourcery.com>
4126
4127 * c-parse.c: Remove.
4128 * c-parse.h: Likewise.
4129 * c-parse.y: Likewise.
4130 * objc/objc-parse.c: Likewise.
4131 * objc/objc-pasre.y: Likewise.
4132
4133 2000-07-11 Rodney Brown <RodneyBrown@pmsc.com>
4134
4135 * gcc.texi: Fix minor typos
4136 * extend.texi: Fix minor typos
4137
4138 2000-07-11 Marc Espie <espie@openbsd.org>
4139
4140 * collect2.c (main): Recognize .lo as object files.
4141
4142 2000-07-11 J. David Anglin <dave@hiauly1.hia.nrc.ca>
4143
4144 * pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
4145 true.
4146
4147 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
4148 with MAP_ANONYMOUS and MAP_ANON.
4149 * configure, config.in: Rebuilt.
4150
4151 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
4152
4153 * diagnostic.c (save_output_state): Remove.
4154 (restore_output_state): Likewise.
4155 (clear_text_info): New function.
4156 (clear_diagnostic_info): Likewise.
4157 (output_text_length, is_starting_newline, output_prefix,
4158 line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
4159 prefixing_policy, output_buffer_ptr_to_format_args): New macros
4160 (set_real_maximum_length, output_set_maximum_length,
4161 output_set_prefix, output_get_prefix, output_set_maximum_length,
4162 output_destroy_prefix, init_output_buffer,
4163 reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
4164 output_add_newline, output_add_character, output_add_space,
4165 output_append_r, output_append, wrap_text, output_format,
4166 output_do_printf, output_printf, output_do_verbatim,
4167 output_verbatim, verbatim): Use them.
4168 (output_clear): Split into cleat_text_info and
4169 clear_diagnostic_info.
4170 (struct output_state): Move to...
4171
4172 * diagnostic.h: ...Here
4173 (struct output_buffer): Adjust.
4174
4175 2000-07-11 Zack Weinberg <zack@wolery.cumb.org>
4176
4177 * cpplex.c (parse_name): No longer inline (premature optimization).
4178 (do_pop_context): Fold into pop_context.
4179 (pop_context): Returns int.
4180 (lex_next): Hoist test for end of directive into pop_context.
4181 (push_macro_context): Returns int; takes just reader and token.
4182 Hoist test for excessive nesting to caller.
4183 (push_arg_context): Returns void; takes just reader and token.
4184 Do not call stringify_arg or get_raw_token.
4185 (get_raw_token): Convert tail recursion through push_arg_context
4186 to a loop at this level. Call stringify_arg here if appropriate.
4187 (maybe_paste_with_next): Convert tail recursion to a while loop.
4188 Hoist test of paste_level to caller.
4189
4190 (stringify_arg): Push arg context at beginning.
4191 (cpp_get_token): Split out core into _cpp_get_token. Call
4192 process_directive here. Throw away CPP_PLACEMARKER tokens.
4193 (_cpp_get_token): Convert tail recursion through
4194 push_macro_context to a loop at this level.
4195 (_cpp_glue_header_name, is_macro_disabled, stringify_arg,
4196 _cpp_get_raw_token): Use _cpp_get_token.
4197 (_cpp_skip_rest_of_line): Drop the context stack directly; do
4198 not call pop_context.
4199 (_cpp_run_directive): Call lex_next directly.
4200
4201 * cpphash.h: Prototype _cpp_get_token.
4202 * cppexp.c (lex): Use it.
4203 * cpphash.c (parse_define): Use it.
4204 * cpplib.c (get_define_node, do_undef, parse_include,
4205 read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
4206 do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
4207 parse_ifdef, validate_else): Use it.
4208 (cpp_push_buffer): Tweak error message; abort if anyone tries
4209 to push a buffer while macro expansions are stacked.
4210
4211 2000-07-11 Donn Terry <donnte@microsoft.com>
4212
4213 * cpplex.c (free_macro_args, save_token): Cast arg of free
4214 and/or xrealloc to PTR.
4215 (_cpp_init_input_buffer): Clear all fields of the base context.
4216
4217 Tue Jul 11 15:28:21 CDT 2000 Clinton Popetz <cpopetz@cygnus.com>
4218
4219 * gensupport.c (process_rtx): Make rtl checking stop
4220 complaining about the define_insn while it is being
4221 converted from a define_insn_and_split.
4222
4223 Tue Jul 11 16:26:17 2000 Clinton Popetz <cpopetz@cygnus.com>
4224
4225 * config/mips/mips.c (simple_memory_operand): Access the
4226 INTVAL of the address, not it's containing MEM.
4227
4228 2000-07-11 Bruce Korb <bkorb@gnu.org>
4229
4230 * fixinc/fixtests.c(double_slash): obsolete
4231 (else_endif_label): likewise
4232 * fixinc/inclhack.def(irix_multiline_cmnt): obsolete
4233 (libc1_ifdefd_memx): correct initial comment
4234 and omit the #if/#endif pair from the memxxx declarations
4235 * fixinc/fixincl.x: regen
4236
4237 2000-07-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4238
4239 * cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
4240
4241 2000-07-11 Neil Booth <NeilB@earthling.net>
4242
4243 * cpp.texi: Update.
4244
4245 2000-07-11 Neil Booth <NeilB@earthling.net>
4246
4247 * cppinit.c: (cpp_reader_init): Allow digraphs by default.
4248 (handle_option): Set digraphs according to standard.
4249 Merge OPT_lang_c89 handler with OPT_std_c89.
4250
4251 * cpplex.c: (lex_line, can_paste): Honour digraphs in
4252 accordance with the digraphs flag.
4253
4254 * cpplib.h: (struct cpp_options): New option digraphs.
4255
4256 2000-07-10 Hans-Peter Nilsson <hp@axis.com>
4257 Bruce Korb <bkorb@gnu.org>
4258
4259 * fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
4260 * fixinc/fixincl.x: Regenerate.
4261 * fixinc/tests/base/testing.h: Add testcase.
4262
4263 2000-07-10 Richard Henderson <rth@cygnus.com>
4264
4265 * config/ia64/ia64.c (got_symbolic_operand): New.
4266 (symbolic_operand, move_operand): Revert 0701 change.
4267 * config/ia64/ia64.h (PREDICATE_CODES): Update.
4268 * config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
4269 * config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
4270 split the offset into a 14-bit low part instead of a 13-bit low part.
4271 (load_fptr): Mark the mem as unchanging.
4272 (load_symptr): Use got_symbolic_operand.
4273
4274 2000-07-10 Nick Clifton <nickc@cygnus.com>
4275
4276 * libgcc2.c (next_stack_level): Cast result of computation to
4277 (void **) so that the assignment does not generate a warning.
4278
4279 2000-07-10 Chandrakala Chavva <cchavva@redhat.com>
4280
4281 * flags.h : Add new variable flag_single_precision_constant.
4282 * toplev.c (display_help) : Add -fsingle-precision-constant option.
4283 (flag_single_precision_constant): New.
4284 * c-lex.c (yylex): Convert floating point constant to single
4285 precision constant.
4286 * invoke.texi : Add documentation for this new option.
4287
4288 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
4289
4290 * diagnostic.c (output_octal): Second parameter is unsigned.
4291 (output_long_octal): Likewise.
4292 (output_hexadecimal): Likewise.
4293 (output_long_hexadecimal): Likewise.
4294 (output_format): Adjust arguments extraction. Tweak.
4295 (output_verbatim, verbatim): End variable argument list.
4296 (report_diagnostic): Improve documentation.
4297
4298 2000-07-10 Benjamin Chelf <chelf@codesourcery.com>
4299
4300 * c-common.h (build_stmt): Declare.
4301 (build_continue_stmt): Likewise.
4302 (build_break_stmt): Likewise.
4303 (build_return_stmt): Likewise.
4304
4305 * c-decl.c (do_case): Rewrite to do what previously done in
4306 c-parse.in.
4307
4308 * c-semantics.c (build_stmt): Define.
4309 (build_return_stmt): Likewise.
4310 (build_break_stmt): Likewise.
4311 (build_continue_stmt): Likewise.
4312 (build_case_label): Likewise.
4313
4314 * c-parse.in (BREAK): Change to build tree, then generate RTL.
4315 (CONTINUE): Likewise.
4316 (RETURN): Likewise.
4317 (CASE): Likewise.
4318 (DEFAULT): Likewise.
4319
4320 * c-parse.y: Regenerate.
4321 * c-pasre.c: Likewise.
4322
4323 2000-07-09 Jason Merrill <jason@redhat.com>
4324
4325 * expr.c (expand_expr): Bail earlier if we get an error_mark_node.
4326
4327 * tree.h (STRIP_NOPS): Check for error_mark_node.
4328 (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
4329 (dwarf2out_*): Remove duplicate declarations.
4330
4331 * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
4332 DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
4333
4334 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
4335
4336 * diagnostic.c (wrap_text): New function.
4337 (maybe_wrap_text): Likewise.
4338 (output_add_string): Use it.
4339 (output_format): Likewise.
4340 (count_error): Use verbatim instead of notice.
4341 (report_error_function): Likewise. Don't use plain fprintf.
4342 (finish_diagnostic): New function.
4343 (output_do_verbatim): Tweak. Commonalize functionalities in
4344 output_verbatim and verbatim.
4345 (output_verbatim): Adjust.
4346 (verbatim): Likewise.
4347 (report_diagnostic): Define.
4348
4349 * diagnostic.h (report_diagnostic): Prototype.
4350
4351 2000-07-09 Zack Weinberg <zack@wolery.cumb.org>
4352
4353 * cppexp.c (_cpp_parse_expr): Don't use unary plus.
4354
4355 2000-07-09 Neil Booth <NeilB@earthling.net>
4356
4357 * cpphash.h: ISvspace, is_vspace, is_nvspace: New.
4358 IShspace, ISspace: Update.
4359
4360 * cppinit.c: ISTABLE: Update.
4361 V: New.
4362
4363 * cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
4364 (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
4365 (skip_block_comment, skip_line_comment, parse_string,
4366 lex_line): Use is_vspace rather than IS_NEWLINE.
4367 (skip_whitespace, lex_line): Clean up to use is_nvspace.
4368 (lex_line): Use KNOWN_DIRECTIVE. Any kind of directive
4369 gets a BOL flag.
4370 (lex_next): Unconditionally stop if within a directive.
4371 Treat directives within macro invocations as directives
4372 (after parse_args emits error), not as the argument.
4373
4374 2000-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
4375
4376 * diagnostic.c (diagnostic_args): New macro.
4377 (diagnostic_msg): Likewise.
4378 (output_formatted_integer): Likewise.
4379 (output_state): New data type.
4380 (digit_buffer): Make global.
4381 (output_add_integer): Rename to output_decimal. Squeeze
4382 digit_buffer.
4383 (output_long_decimal, output_unsigned_decimal,
4384 output_long_unsigned_decimal, output_octal, output_long_octal,
4385 output_hexadecimal, output_long_hexadecimal): New functions.
4386 (output_append_r): New function.
4387 (output_append): Tweak.
4388 (output_flush_on): Rename to output_to_stream.
4389 (output_format): Change prototype. Improve documentation. Handle
4390 more format specifiers.
4391 (build_location_prefix): Rename to context_as_prefix.
4392 (output_notice): Rename to output_do_printf.
4393 (output_printf): Tweak.
4394 (line_wrapper_printf): Likewise.
4395 (vline_wrapper_message_with_location): Adjust call to renamed
4396 functions.
4397 (v_message_with_decl): Likewise.
4398 (default_print_error_function): Likewise.
4399 (save_output_state): New function.
4400 (restore_output_state): Likewise.
4401 (output_do_verbatim): Likewise.
4402 (output_verbatim): Define.
4403 (verbatim): Likewise.
4404
4405 * diagnostic.h (printer_fn): Change return type from void to int.
4406 Improve documentation.
4407 (output_add_integer): Rename to output_decimal.
4408 (output_flush_on, output_format): Don't export.
4409 (output_verbatim, verbatim): Declare.
4410
4411 2000-07-08 Toon Moene <toon@moene.indiv.nluug.nl>
4412
4413 * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
4414 Check whether c divides op1 exactly if operation is not
4415 multiplication.
4416
4417 2000-07-08 Richard Henderson <rth@cygnus.com>
4418
4419 * final.c (final): Do not abort when reg-stack introduces
4420 a new insn.
4421
4422 2000-07-08 Zack Weinberg <zack@wolery.cumb.org>
4423
4424 * cpplib.h (struct cpp_name): Now struct cpp_string.
4425 (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
4426 CPP_HEADER_NAME): Change to type S.
4427 (struct cpp_token): Rename 'name' field to 'str'. Add 'node'
4428 field, a cpp_hashnode *. All references to val.name updated
4429 to use val.str or val.node as appropriate.
4430 (struct cpp_reader): Add spec_nodes field.
4431 (cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
4432
4433 * cpphash.h (struct spec_nodes): New.
4434 (enum spell_type): Reorder. Only SPELL_STRING tokens use
4435 val.str. All references to 'spelling > SPELL_NONE' updated to
4436 match.
4437
4438 (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
4439 pfile->buffer->inc are not NULL before dereferencing them.
4440
4441 * cpplex.c (parse_name): Take a pointer to the current token,
4442 plus current position and limit as args; return the new
4443 position; don't copy the text of a name into the string
4444 buffer, instead call cpp_lookup and store the node pointer.
4445 If extending a token, copy out the text of the old into a
4446 scratch buffer, append the new, look that up and store the new
4447 node pointer. Inline.
4448 (maybe_paste_with_next): If the result of paste is a NAME,
4449 then look up the pasted text and store its node pointer.
4450 (lex_line): Adjust for new parse_name interface.
4451 Check for L"str", L'str' using spec_nodes->n_L.
4452 (spell_token): SPELL_IDENT tokens have their spelling in
4453 val.node->name. Handle SPELL_STRING tokens that don't have
4454 string delimiters.
4455 (_cpp_expand_name_space,
4456 (can_paste): Check for L ## "str" using spec_nodes->n_L.
4457 (cpp_get_token, special_symbol): No need to call cpp_lookup.
4458 (cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
4459 return 1=equal 0=not, not a tristate.
4460
4461 * cpphash.c (var_args_str): Delete.
4462 (find_param): Compare node fields directly.
4463 (is__va_args__): Use CPP_PEDANTIC. Just compare
4464 token->val.node with spec_nodes->n__VA_ARGS__.
4465 (dump_funlike_macro): Don't use var_args_str.
4466
4467 * cpplib.c (_cpp_check_directive): Just walk through
4468 spec_nodes->dirs comparing pointers.
4469 (get_define_node, do_pragma_poison, detect_if_not_defined,
4470 parse_ifdef): The identifier has already been looked up.
4471 (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
4472 node.
4473 (do_if): Only call detect_if_not_defined at beginning of file.
4474 (_cpp_parse_assertion): Only copy string pointers for
4475 SPELL_STRING tokens.
4476 (pragma_dispatch): Take a node pointer and examine its name
4477 field.
4478 (_cpp_init_stacks): Also initialize the spec_nodes structure.
4479
4480 * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
4481 _cpp_init_macros.
4482 (cpp_cleanup): Free pfile->spec_nodes. Call _cpp_cleanup_* in
4483 reverse order from the corresponding _cpp_init_* routines.
4484
4485 * cppexp.c (parse_number, parse_charconst, parse_defined,
4486 lex): Check val.node->type instead of calling cpp_defined.
4487 Use spec_nodes entries where appropriate.
4488
4489 * fix-header.c, scan-decls.c: Update for interface changes.
4490
4491 2000-07-08 Geoffrey Keating <geoffk@cygnus.com>
4492
4493 * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
4494 emitting aux_truncdfsf2.
4495
4496 2000-07-03 Donn Terry (donnte@microsoft.com)
4497
4498 * cppinit.c (print_help): split overlong line into ISO C89
4499 maximum chunks.
4500
4501 2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
4502
4503 * cppexp.c: Update all code for new lexer interface.
4504 (op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
4505 (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
4506 * cpplex.c (token_names): Trim leading CPP_ from names; make
4507 the strings unsigned.
4508 (_cpp_spell_operator): New.
4509 (is_macro_disabled): Disable all macros if rescanning
4510 preprocessed text.
4511 (_cpp_get_directive_token): Remove.
4512
4513 * cppinit.c: Don't set no_macro_expand.
4514 * cpplib.c (read_line_number, do_line): Check only for EOF,
4515 not VSPACE.
4516 * cpphash.h: Update prototypes.
4517 * cpplib.h (CPP_VSPACE): Remove.
4518 (struct cpp_reader): Remove no_macro_expand.
4519
4520 2000-07-08 Neil Booth <NeilB@earthling.net>
4521
4522 * cpphash.c (is__va_args__): New function.
4523 (count_params): Fix line reported in error messages. Use
4524 is__va_args__. Don't return ')' on error. Flag GNU style
4525 rest args macro definitions.
4526 (parse_define): Check macro name is not __VA_ARGS__.
4527 (save_expansion): Check identifier in non-varargs-macro is
4528 not __VA_ARGS__. Don't flag GNU_VARARGS.
4529 * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
4530 (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
4531 than per-token GNU_VARARGS.
4532 * cpplib.h (GNU_VARARGS): Remove.
4533 (GNU_REST_ARGS): New.
4534
4535 Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
4536
4537 * i386.md (call_pop, call, call_value_pop): Do not set
4538 current_function_uses_pic_offset_table for calls to static
4539 functions or indirect calls.
4540
4541 2000-07-07 Jim Wilson <wilson@cygnus.com>
4542
4543 * config/ia64/ia64.c (rws_access_reg): New local write_count. If
4544 is_predicate_reg, then take max write_count of register pair.
4545
4546 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4547
4548 * tradcpp.c (main): Rename label `include' to `add_include' to
4549 avoid conflicts with variable `include' in traditional C.
4550
4551 2000-07-07 Jakub Jelinek <jakub@redhat.com>
4552
4553 * integrate.c (copy_insn_list): Remove REG_LABEL notes.
4554
4555 2000-07-07 Jakub Jelinek <jakub@redhat.com>
4556
4557 * sibcall.c (uses_addressof): Add INMEM argument, check for
4558 current_function_internal_arg_pointer outside of MEM rtxs in addition
4559 to ADDRESSOFs.
4560 (sequence_uses_addressof): Update caller.
4561
4562 2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
4563
4564 * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
4565 and friends.
4566
4567 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4568
4569 * system.h (UNION_INIT_ZERO): New macro for initializing union
4570 members in structs.
4571
4572 * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
4573
4574 2000-07-07 Neil Booth <NeilB@earthling.net>
4575
4576 * cpp.texi: Update.
4577
4578 Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com)
4579
4580 * final.c (final): Detect out of bounds array access to
4581 the insn_lengths array.
4582
4583 2000-07-07 Kazu Hirata <kazu@hxi.com>
4584
4585 * fold-const.c (fold): Fix a comment typo.
4586
4587 2000-07-07 Neil Booth <NeilB@earthling.net>
4588
4589 * cpp.texi: Update to new lexer.
4590
4591 2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
4592
4593 * tradcpp.c: New file.
4594 * tradcif.y: New file.
4595 * tradcif.c: New generated file.
4596
4597 * Makefile.in: Add rules to build tradcpp.o, tradcif.o,
4598 $(srcdir)/tradcif.c. Add tradcpp to STAGESTUFF and
4599 dependencies of C. Install tradcpp from install-common, in
4600 $(libsubdir).
4601
4602 2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
4603
4604 * cppinit.c: Include cppdefault.h. Refer to
4605 cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
4606 to GCC_INCLUDE_DIR and its length.
4607 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
4608 USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
4609 STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Move to
4610 cppdefault.h.
4611 (include_defaults_array): Move to cppdefault.c.
4612
4613 * cppdefault.h: New file.
4614 * cppdefault.c: New file.
4615
4616 * Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
4617 (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
4618 (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
4619 this file.
4620
4621 Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4622
4623 * reload.c (push_reload): When seeing if can reuse a register,
4624 check extra registers against widest of INMODE and OUTMODE.
4625
4626 2000-07-06 Neil Booth <NeilB@earthling.net>
4627
4628 * cpplib.c: (_cpp_parse_assertion): Perform hash lookups
4629 based on full length of predicate.
4630
4631 2000-07-06 Hans-Peter Nilsson <hp@axis.com>
4632
4633 * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
4634 [NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
4635
4636 2000-07-05 Kazu Hirata <kazu@hxi.com>
4637
4638 * h8300-proto.h: Fix formatting.
4639 * h8300.c: Likewise.
4640 * h8300.h: Likewise.
4641
4642 2000-07-05 Jim Wilson <wilson@cygnus.com>
4643
4644 * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
4645 CCmode.
4646
4647 2000-07-05 Rodney Brown <RodneyBrown@pmsc.com>
4648
4649 * invoke.texi: Fix minor typos
4650 * md.texi: Fix minor typos
4651
4652 2000-07-05 Zack Weinberg <zack@wolery.cumb.org>
4653
4654 * cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
4655
4656 2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
4657
4658 * cpplex.c: Don't include sys/mman.h.
4659 (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
4660
4661 * cpplib.c: Include sys/mman.h and obstack.h.
4662 (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
4663 obstack.
4664 (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
4665 (_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't
4666 bother freeing if stack entries (they will be freed with their buffer).
4667 (do_endif): Free if stack entries from the buffer obstack.
4668 (push_conditional): Allocate if stack entries from the buffer obstack.
4669
4670 (find_answer): Rename to _cpp_find_answer.
4671 (do_assert, do_unassert): Update.
4672
4673 * cpphash.h: Update prototypes.
4674 (xobnew): New convenience macro.
4675 * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
4676 Update comments.
4677 (struct cpp_hashnode): Remove disabled field.
4678
4679 * cppinit.c: Don't include hashtab.h or splay-tree.h.
4680 (report_missing_guard): Moved to cppfiles.c.
4681 (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
4682 cpp_init_includes.
4683 (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
4684 cpp_cleanup_includes. Don't destroy hashtab or
4685 all_include_files here.
4686 (cpp_finish): Use _cpp_report_missing_guards.
4687
4688 * cppfiles.c (report_missing_guard): Moved from cppinit.c.
4689 (_cpp_init_include_table): Rename _cpp_init_includes.
4690 (_cpp_cleanup_includes, _cpp_report_missing_guards): New.
4691
4692 * cppexp.c (parse_assertion): Update for new name of
4693 find_answer.
4694
4695 * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
4696
4697 2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
4698
4699 * cpplib.c (do_ident): s/VSPACE/EOF/
4700
4701 2000-07-05 Neil Booth <NeilB@earthling.net>
4702
4703 * cpplex.c: Fix trigraph replacement within strings.
4704
4705 2000-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4706
4707 * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
4708
4709 * xcoffout.c (assign_type_number): Constify.
4710 (xcoffout_source_file): Add static prototype. Don't needlessly
4711 cast away const-ness.
4712
4713 2000-07-04 Jason Merrill <jason@redhat.com>
4714
4715 * frame.h (frame_state): Move base_offset to end.
4716
4717 Mon Jul 3 21:31:43 2000 Clinton Popetz <cpopetz@cygnus.com>
4718
4719 * calls.c (emit_library_call_value_1): Revert previous change.
4720
4721 2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
4722
4723 * fix-header.c (struct partial_proto): Remove unnecessary fields.
4724 (recognized_extern, recognized_function, read_scan_file):
4725 Update for new scheme.
4726 (check_protection): It's still a multiple include guard even
4727 if it doesn't always trigger.
4728 * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
4729 new scheme.
4730 * scan.h: Declare struct cpp_token. Update prototypes.
4731
4732 2000-07-03 Neil Booth <neilb@earthling.net>
4733 Zack Weinberg <zack@wolery.cumb.org>
4734
4735 Complete overhaul of the lexer and macro expander.
4736
4737 * cpphash.c (object_defn, funct_defn, push_macro_expansion,
4738 arg, arglist, argdata, reflist, collect_objlike_expansion,
4739 collect_funlike_expansion, collect_params,
4740 warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
4741 unsafe_chars, macarg, compare_defs, special_symbol,
4742 scan_arguments, stringify, funlike_macroexpand,
4743 _cpp_quote_string, monthnames): Delete.
4744 (cpp_lookup, _cpp_free_definition, dump_funlike_macro,
4745 _cpp_create_definition, _cpp_dump_definition,
4746 dump_hash_helper): Adjust.
4747 (find_param, count_params, parse_define, var_args_str,
4748 check_macro_redefinition, save_expansion): New.
4749
4750 * cpplex.c (skip_block_comment, skip_line_comment, parse_name,
4751 parse_string, output_line_command, trigraph_replace,
4752 lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
4753 cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
4754 cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
4755 _cpp_skip_rest_of_line): Modify.
4756
4757 (maybe_macroexpand, skip_comment, copy_comment, skip_string,
4758 find_position, null_warning, bump_column, expand_name_space,
4759 pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
4760 _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
4761 _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
4762 _cpp_prescan): Delete.
4763
4764 (dump_param_spelling, process_directive, lex_next,
4765 is_macro_disabled, stringify_arg, expand_context_stack,
4766 output_token, make_string_token, alloc_number_token,
4767 special_symbol, duplicate_token, maybe_paste_with_next,
4768 can_paste, prevent_macro_expansion, restore_macro_expansion,
4769 get_temp_token, release_temp_tokens, quote_string,
4770 token_names, token_spellings, _cpp_expand_name_space,
4771 _cpp_glue_header_name, _cpp_reserve_name_space,
4772 digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
4773 placemarker_token, eof_token, cpp_context, macro_args,
4774 get_raw_token, parse_arg, parse_args, save_token,
4775 push_arg_context, push_macro_context, pop_context,
4776 do_pop_context, free_macro_args, _cpp_get_line,
4777 _cpp_run_directive): New.
4778
4779 * cpplib.c (validate_else, parse_include, push_conditional,
4780 pass_thru_directive, read_line_number, parse_ifdef,
4781 detect_if_not_defined, _cpp_check_directive, do_define,
4782 do_undef, do_include, do_import, do_include_next, do_error,
4783 do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
4784 top_pragmas, do_pragma_gcc, do_pragma_implementation,
4785 do_pragma_poison, do_pragma_system_header,
4786 do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
4787 dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
4788 do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
4789 cpp_defined): Update for new scheme.
4790 (strtoul_for_line, get_define_node, dump_macro_name,
4791 _cpp_check_linemarker, _cpp_parse_assertion): New.
4792 (_cpp_handle_directive, do_pragma_default): Delete.
4793
4794 * cpphash.h (struct predicate): Now struct answer.
4795 (enum spell_type, struct token_spelling, struct directive,
4796 directive_handler): New.
4797 Update prototypes. Remove unused macros.
4798 * cpplib.h: Update prototypes. Remove unused macros,
4799 structure definitions, and fields.
4800
4801 * cpperror.c (print_containing_files, v_message): Adjust.
4802 * cppexp.c (parse_assertion, lex, parse_escape,
4803 _cpp_parse_expr): Adjust.
4804 * cppfiles.c (open_include_file, _cpp_execute_include,
4805 _cpp_compare_file_date, cpp_read_file, read_include_file):
4806 Adjust.
4807 * cppinit.c (dump_special_to_buffer): Delete.
4808 (append_include_chain, merge_include_chains, cpp_reader_init,
4809 cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
4810 cpp_finish, handle_option, print_help): Adjust.
4811 * cppmain.c (main): Adjust.
4812
4813 2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
4814
4815 * cppspec.c (lang_specific_driver): Use double quotes in error
4816 message.
4817
4818 Mon Jul 3 16:53:43 2000 Clinton Popetz <cpopetz@cygnus.com>
4819
4820 * calls.c (emit_library_call_value_1): Use valreg instead
4821 of hard_libcall_value.
4822
4823 2000-07-03 Geoff Keating <geoffk@cygnus.com>
4824
4825 * config/rs6000/rs6000.c (rs6000_emit_move): New function.
4826 * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
4827 * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
4828 (movhi): Likewise.
4829 (movqi): Likewise.
4830 (movdf): Likewise.
4831 (movsf): Likewise.
4832 (movdi): Likewise.
4833 (movti): Likewise.
4834
4835 * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
4836 mode instead of wider_mode is being used.
4837
4838 2000-07-03 Jakub Jelinek <jakub@redhat.com>
4839
4840 * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
4841 of 'r'. Use q_regs_operand.
4842 (andsi_1+2): Use q_regs_operand.
4843
4844 2000-07-03 Jakub Jelinek <jakub@redhat.com>
4845
4846 * builtins.c (get_memory_rtx): Always put into alias set 0.
4847
4848 2000-07-03 Nick Clifton <nickc@cygnus.com>
4849
4850 * config/arm/arm.md: Fix post increment and pre increment
4851 peepholes so that they do not generate UNPREDICATBLE opcodes.
4852 (ie ones where the increment clobbers the source/destination).
4853
4854 2000-07-01 Marek Michalkiewicz <marekm@linux.org.pl>
4855
4856 * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
4857 change too big for -mtiny-stack" a warning, if larger than 63.
4858 (out_set_stack_ptr): Change the logic so -mno-interrupts is
4859 always safe to use on possible future devices.
4860 (function_prologue): Write SPH before SPL, for consistency.
4861 If interrupt_func_p true, we know we have enabled interrupts.
4862 (avr_num_arg_regs): New function. Round up to even number of
4863 bytes if no -mpack-args or if calling a libgcc function.
4864 (function_arg, function_arg_advance): Use it.
4865 (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
4866 Output "movw" if available.
4867 (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
4868 of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
4869 (asm_output_section_name): Add blanks for consistent output.
4870 (encode_section_info): Set TREE_READONLY for progmem data to
4871 avoid gas warnings about changed section attributes.
4872 (avr_hard_regno_mode_ok): Force non-QImode data to start in
4873 even numbered registers on devices with "movw".
4874 * config/avr/avr.h (MASK_*): Define bits for target_flags.
4875 (TARGET_SWITCHES): Mark help strings for translation.
4876 Add new -mpack-args and -menhanced switches.
4877 (TARGET_OPTIONS): Mark help strings for translation.
4878 (progmem_section): Add section attributes.
4879 * config/avr/avr.md (*movhi, call_insn, call_value_insn):
4880 Output "movw" if available.
4881 (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
4882 New patterns.
4883 * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
4884 call convention (arguments aligned on even registers).
4885 (_cleanup, _exit): Make weak symbols libc can override.
4886
4887 2000-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4888
4889 * fp-bit.h: New file.
4890
4891 * fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
4892 Comment #endif statements.
4893 (__thenan_sf, __thenan_df): Add missing braces around initializer.
4894
4895 Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com)
4896
4897 * gcse.c (compute_pre_data): Compute ae_kill using other local
4898 properties instead of calling compute_ae_kill.
4899
4900 * alias.c (init_alias_analysis): Do not call
4901 prologue_epilogue_contains until after reload has completed.
4902
4903 2000-07-02 Benjamin Chelf <chelf@codesourcery.com>
4904
4905 * c-common.h (genrtl_begin_compound_stmt): Remove declaration.
4906 (genrtl_finish_compound_stmt): Likewise.
4907 (genrtl_compound_stmt): Change to return void.
4908
4909 * c-semantics.c (genrtl_begin_compound_stmt): Remove function and
4910 move code from here to ...
4911 (genrtl_compound_stmt): ... here.
4912 (genrtl_finish_compound_stmt): Remove.
4913 (expand_stmt): Add comment.
4914
4915 2000-07-02 Zack Weinberg <zack@wolery.cumb.org>
4916
4917 * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
4918 and VOID_TYPE_P.
4919
4920 2000-07-02 Jakub Jelinek <jakub@redhat.com>
4921
4922 * cpplib.h (struct cpp_reader): New field include_depth.
4923 (struct cpp_printer): Rename last_bsd to last_id.
4924 * cppfiles.c (read_include_file): Bump include_depth.
4925 * cpplex.c (cpp_pop_buffer): Decrement include_depth.
4926 (output_line_command): Output correct #line if a header
4927 is including itself and is not protected against multiple inclusion.
4928 Use include_depth instead of buffer_stack_depth, last_id instead of
4929 last_bsd.
4930 * cppinit.c (cpp_start_read): Initialize last_id instead of
4931 last_bsd.
4932
4933 2000-07-01 Benjamin Chelf <chelf@codesourcery.com>
4934
4935 * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
4936 (c-semantics.o): New target.
4937
4938 * c-common.h (TREE_LANG_FLAG_?): Added documentation.
4939 (genrtl_do_pushlevel): Moved from cp/cp-tree.h.
4940 (genrtl_clear_out_block): Likewise.
4941 (genrtl_goto_stmt): Likewise.
4942 (genrtl_expr_stmt): Likewise.
4943 (genrtl_decl_stmt): Likewise.
4944 (genrtl_if_stmt): Likewise.
4945 (genrtl_while_stmt): Likewise.
4946 (genrtl_do_stmt): Likewise.
4947 (genrtl_return_stmt): Likewise.
4948 (genrtl_for_stmt): Likewise.
4949 (genrtl_break_stmt): Likewise.
4950 (genrtl_continue_stmt): Likewise.
4951 (genrtl_scope_stmt): Likewise.
4952 (genrtl_switch_stmt): Likewise.
4953 (genrtl_case_label): Likewise.
4954 (genrtl_begin_compound_stmt): Likewise.
4955 (gerntl_finish_compound_stmt): Likewise.
4956 (genrtl_compound_stmt): Likewise.
4957 (genrtl_asm_stmt): Likewise.
4958 (genrtl_decl_cleanup): Likewise.
4959 (DECL_ANON_UNION_ELEMS): Likewise.
4960 (emit_local_var): Likewise.
4961 (make_rtl_for_local_static): Likewise.
4962 (expand_cond): Likewise.
4963 (expand_stmt): Likewise.
4964 (c_expand_return): Likewise.
4965 (c_expand_start_case): Likewise.
4966 (do_case): Likewise.
4967 (COMPOUND_STMT_NO_SCOPE): Likewise.
4968 (c_expand_asm_operands): Likewise.
4969 (NEW_FOR_SCOPE_P): New macro.
4970 (expand_expr_stmt_fn): New type.
4971
4972 (set_current_function_name_declared): Likewise.
4973 (current_function_name_declared): Likewise.
4974 (lang_expand_stmt): Likewise.
4975 (stmts_are_full_exprs_p): Likewise.
4976 (anon_aggr_type_p): Likewise.
4977 (lang_expand_expr_stmt): Likewise.
4978 (build_case_label): Likewise.
4979
4980 * c-decl.c (lang_expand_expr_stmt): Initialize.
4981 (stmts_are_full_exprs_p): Define.
4982 (current_function_name_declared): Likewise.
4983 (do_case): Likewise.
4984 (lang_expand_stmt): Likewise.
4985 (set_current_function_name_declared): Likewise.
4986 (anon_aggr_type_p): Likewise.
4987
4988 * c-semantics.c: New file.
4989 (expand_cond): Moved from cp/semantics.c.
4990 (genrtl_do_pushlevel): Likewise.
4991 (genrtl_clear_out_block): Likewise.
4992 (genrtl_goto_stmt): Likewise.
4993 (genrtl_expr_stmt): Likewise.
4994 (genrtl_decl_stmt): Likewise.
4995 (genrtl_if_stmt): Likewise.
4996 (genrtl_while_stmt): Likewise.
4997 (genrtl_do_stmt): Likewise.
4998 (genrtl_return_stmt): Likewise.
4999 (genrtl_for_stmt): Likewise.
5000 (genrtl_break_stmt): Likewise.
5001 (genrtl_continue_stmt): Likewise.
5002 (genrtl_scope_stmt): Likewise.
5003 (genrtl_switch_stmt): Likewise.
5004 (genrtl_case_label): Likewise.
5005 (genrtl_begin_compound_stmt): Likewise.
5006 (genrtl_finish_compound_stmt): Likewise.
5007 (genrtl_compound_stmt): Likewise.
5008 (genrtl_asm_stmt): Likewise.
5009 (genrtl_decl_cleanup): Likewise.
5010 (make_rtl_for_local_static): Moved from cp/decl.c.
5011 (emit_local_var): Likewise.
5012 (expand_stmt): Define.
5013
5014 * c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
5015 (c_expand_return): Likewise.
5016 (c_expand_start_case): Likewise.
5017
5018 2000-07-01 Richard Henderson <rth@cygnus.com>
5019
5020 * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
5021 with the low 13 bits set.
5022 (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
5023 * config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one
5024 of the low 13 bits into a CONST plus an adddi3.
5025 (load_symptr): Set RTX_UNCHANGING_P.
5026
5027 See ChangeLog.3 for earlier changes.
5028
This page took 0.245918 seconds and 6 git commands to generate.