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