]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
TimeZone.java (getAvailableIDs): Activated commented out code dependent on compiler...
[gcc.git] / gcc / ChangeLog
CommitLineData
6951bc4a
NB
12000-12-04 Neil Booth <neilb@earthling.net>
2
3 * cppinternals.texi: New file.
4
614c7d37
NB
52000-12-04 Neil Booth <neilb@earthling.net>
6
7 * cppfiles.c (cpp_make_system_header): Take 2 booleans,
8 and operate on current buffer.
9 (cpp_read_file): Rename _cpp_read_file.
10 * cpplib.c (do_line, do_pragma_system_header): Update calls to
11 cpp_make_system_header.
12 * fix-header.c: Similarly.
13 * cpphash.h (_cpp_read_file): Move from...
14 * cpplib.h: ... here.
15 * cppinit.c (do_includes, cpp_start_read): Update appropriately.
16
611b1df4
KG
172000-12-03 Kaveh R. Ghazi <ghazi@teal.rutgers.edu>
18
19 * builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
20 Handle another transformation.
21
d19fb8e3
NC
222000-12-03 Nick Clifton <nickc@redhat.com>
23
24 * config.gcc: Add support for StrongARM targets.
25 * config/arm/t-strongarm-elf: New file.
26 * config/arm/t-strongarm-coff: New file.
27 * config/arm/t-strongarm-pe: New file.
28 * config/arm/strongarm-pe.h: New file.
29
302000-12-03 Nick Clifton <nickc@redhat.com>
31
32 * NEWS: Mention XScale has been added.
33 * config.gcc: Add support for XScale targets.
34 * config/arm/arm.h: Add support for XScale processor.
35 * config/arm/arm.c: Add support for XScale processor.
36 * config/arm/arm.md: Add support for XScale processor.
37 * config/arm/t-xscale-elf: New file.
38 * config/arm/t-xscale-coff: New file.
39 * config/arm/xscale-elf.h: New file.
40 * config/arm/xscale-coff.h: New file.
41
250d07b6
RH
422000-12-03 Richard Henderson <rth@redhat.com>
43
44 * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
45 unless exception handling is enabled, and if not using sjlj.
46
47 * builtins.c (expand_builtin_setjmp_setup): New.
48 (expand_builtin_setjmp_receiver): New.
49 (expand_builtin_setjmp): Split out _setup and _receiver functions.
50 Move argument parsing in from ...
51 (expand_builtin): ... here.
52 * except.c (receive_exception_label): Branch around receiver
53 unless new-style exceptions. Call expand_builtin_setjmp_receiver.
54 (start_dynamic_handler): Call expand_builtin_setjmp_setup.
55 * expr.h: Update builtin setjmp decls.
56
5c032c4d
BK
572000-12-03 Bruce Korb <bkorb@gcc.org>
58
59 * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
60 build machine name. Default to the target.
61
3769600a
LB
622000-12-03 Laurynas Biveinis <lauras@softhome.net>
63
64 * Makefile.in: use $(build_canonical), not $(canonical_build).
65
b4ead7d4
BS
662000-12-03 Bernd Schmidt <bernds@redhat.co.uk>
67
68 * Makefile.in (OBJS): Add sched-rgn.o.
69 (sched-rgn.o): New rule. * haifa-sched.c (sched_verbose): No
70 longer static.
71 (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
72 INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
73 UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
74 MAX_BLOCKAGE_COST): Move to sched-int.h.
75 (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
76 IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
77 FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
78 OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
79 rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
80 RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
81 debug_regions, find_single_block_region, find_rgns, too_large,
82 init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
83 bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
84 extract_bitlst, bblst, struct candidate, candidate_table,
85 bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
86 SRC_PROB, target_bb, split_edges, compute_trg_info,
87 debug_candidate, debug_candidates, bbset, bbset_size, dom,
88 IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
89 rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
90 EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
91 compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
92 IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
93 MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
94 update_live, set_spec_fed, is_pfree, find_conditional_protection,
95 is_conditionally_protected, may_trap_exp, haifa_classify_insn,
96 is_prisky, is_exception_free, add_branch_dependences,
97 propagate_deps, compute_block_backward_dependences,
98 debug_dependencies, is_cfg_nonregular, build_control_flow,
99 new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
100 BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
101 UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
102 CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
103 target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
104 can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
105 rgn_rank, region_sched_info): Move to sched-rgn.c.
106 (debug_reg_vector): Delete useless function.
107 (get_bb_head_tail): Likewise.
108 (insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
109 no_real_insns_p, rm_line_notes, save_line_notes,
110 restore_line_notes, rm_redundant_line_notes, sched_init): No
111 longer static.
112 (rm_line_notes, save_line_notes, restore_line_notes,
113 schedule_block, set_priorities): Change argument to be a real
114 basic block, not one of haifa's "bb"s. All callers changed
115 (rm_other_notes): Initialize note_list here, not in
116 schedule_region.
117 (sched_finish): New function, called from schedule_insn. * *
118 sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
119 INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
120 UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
121 MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
122 (get_block_head_tail, no_real_insns_p, rm_line_notes,
123 save_line_notes, restore_line_notes, rm_redundant_line_notes,
124 rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
125 sched_init, sched_finish, ready_add, insn_cost): Declare.
126
f415f5a4
LB
1272000-12-03 Laurynas Biveinis <lauras@softhome.net>
128 Bruce Korb <bkorb@gnu.org>
129
130 * Makefile.in: pass $(build_canonical) to mkfixinc.sh.
131 * fixinc/mkfixinc.sh: accept build system name as an argument.
132 Use it for choosing the fix build method. Use the target for
133 selecting special fix rules.
134
1708fd40
BS
1352000-12-03 Bernd Schmidt <bernds@redhat.co.uk>
136
16f6ece6
BS
137 * Makefile.in (OBJS): Add sched-deps.o.
138 (sched-deps.o): New rule.
139 * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
140 sched-int.h.
141 (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
142 sched-int.h.
143 (SIZE_FOR_MODE): Delete unused macro.
144 (reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
145 reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
146 anti_dependency_cache, output_dependency_cache,
147 forward_dependency_cache): Variables moved to sched-deps.c.
148 (add_dependence, remove_dependence, find_insn_list,
149 find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
150 sched_analyze_insn, sched_analyze_1, sched_analyze_2,
151 sched_analyze, group_leader, compute_forward_dependences,
152 init_deps, free_deps, init_dependency_caches, free_dependency_caches):
153 Functions moved to sched-deps.c.
154 (schedule_region): Call init_deps_global and finish_deps_global
155 instead of directly manipulating dependency data structures.
156 * sched-deps.c: New file.
157 (init_deps_global, finish_deps_global): New functions.
158 * sched-int.h (struct haifa_insn_data, struct deps): Moved here from
159 haifa-sched.c.
160 (h_i_d): Declare.
161 (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
162 from haifa-sched.c.
163
c62c2659
BS
164 * Makefile.in (OBJS): Add sched-vis.o.
165 (sched-vis.o): New rule.
166 * haifa-sched.c (get_unit_last_insn): New function.
167 (sched_dump, insn_unit, actual_hazard_this_instance): No longer
168 static.
169 (schedule_block): Call visualize_alloc and visualize_free. Delete
170 spurious return statement.
171 (init_target_units, insn_print_units, get_visual_tbl_length,
172 init_block_visualization, print_block_visualization, safe_concat,
173 visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
174 print_exp, print_value, print_pattern, print_insn, target_units,
175 MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
176 n_vis_no_unit, vis_no_unit): Move scheduling visualization
177 functions/variables...
178 * sched-vis.c: ...here. New file.
179 (visualize_alloc, visualize_free): New functions.
180 (visualize_scheduled_insns, visualize_stall_cycles,
181 print_block_visualization): Lose basic block argument. All callers
182 changed.
183 (visualize_scheduled_insns): Use new function get_unit_last_insn.
16f6ece6
BS
184 * sched-int.h (current_sched_info, sched_dump): Declare.
185 (init_target_units, insn_print_units, init_block_visualization,
186 print_block_visualization, visualize_scheduled_inns,
187 visualize_no_unit, visualize_stall_cycles, visualize_alloc,
188 visualize_free): Declare functions.
c62c2659 189
1708fd40
BS
190 * sched-int.h: New file.
191 * Makefile.in (haifa-sched.o): Depend on it.
192 * haifa-sched.c: Include it.
193 (no_real_insns_p): New function.
194 (current_sched_info): New static variable.
195 (__inline, HAIFA_INLINE): Moved to sched-int.h.
196 (get_block_head_tail): Minor cleanup.
197 (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
198 rgn_print_insn, rgn_rank): New functions, broken out of
199 rank_for_schedule, schedule_insn and schedule_block, where they
200 are now called through function pointers in current_sched_info.
201 (queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
202 print_insn): To display uid and block number, call the print_insn
203 function pointer in current_schedule_info.
204 (region_sched_info): New static variable.
205 (sched_target_n_insns, sched_n_insns, target_n_insns): New global
206 variables, moved out of schedule_block.
207 (schedule_block): Return void. All callers changed.
208 Move some of the setup code into schedule_region. Get head/tail
209 from current_sched_info, and update it when done.
210 (schedule_region): Slightly rearranged, some code moved here from
211 schedule_block. Call no_real_insns_p to avoid doing work for a
212 block that consists only of notes and labels.
213 (schedule_insns): Initialize current_sched_info.
214
8aaef6e0
NB
2152000-12-03 Neil Booth <neilb@earthling.net>
216
217 * cppmacro.c (funlike_invocation_p): Re-disable macros enabled
218 by contexts drops AFTER argument pre-expansion, so that they
219 remain enabled during argument pre-expansion.
220 (_cpp_pop_context): Unconditionally re-enable a macro when
221 dropping a context level.
222
94a3d3b9
MH
2232000-12-03 Manfred Hollstein <manfredh@redhat.com>
224
225 * arm/t-linux (MULTILIB_OPTIONS): Comment.
226 (MULTILIB_DIRNAMES): Likewise.
227 (EXTRA_MULTILIB_PARTS): Likewise.
228 (LIBGCC): Likewise.
229 (INSTALL_LIBGCC): Likewise.
230
d118937d
KG
2312000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
232
233 * builtins.c (expand_builtin_strcat, expand_builtin_strncat,
234 expand_builtin_strspn, expand_builtin_strcspn): New functions.
235 (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
236 BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
237
238 * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
239 BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
240
241 * c-common.c (c_common_nodes_and_builtins): Declare builtin
242 strcat, strncat, strspn and strcspn.
243 (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
244
245 * extend.texi (strcat, strcspn, strncat, strspn): Document new
246 builtins.
247
ca8034a0
KG
2482000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
249
250 * builtins.c (expand_builtin_strcmp): Use const*_rtx when
251 expanding strcmp at compile-time. Add another transformation.
252 (expand_builtin_strncmp): Add more transformations. Call
253 expand_builtin_memcmp, not expand_builtin_strcmp, under
254 appropriate conditions if HAVE_cmpstrsi.
255
6c873122
DE
2562000-12-02 David Edelsohn <edelsohn@gnu.org>
257
258 * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
259 instruction.
260 (cr logic): Really make operands sequential.
261
690c96c8
GK
2622000-12-02 Geoffrey Keating <geoffk@redhat.com>
263
264 * c-common.c (combine_strings): When the ISO C standard specifies
265 the maximum length of a string, it doesn't include the trailing
266 zero byte.
b43db0b3
GK
267
268 * cpplib.c (do_ifdef): Add check_eol() call.
269 (do_ifndef): Likewise.
270
283da1d3
DB
2712000-12-02 Daniel Berlin <dberlin@redhat.com>
272 Bruce Korb <bkorb@gnu.org>
273
274 * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
275 * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
276 * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
277 * fixinc/fixfix.c(wrap_fix): avoid wrapping files that
278 use the "__need_" hackery. It breaks them.
279 * fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
280 Sometimes on DOS and BeOS the temp output file cannot be opened.
281 Skip the file noisily. Ought to be fixed instead.
282
6864a6c6
BK
2832000-12-02 Bruce Korb <bkorb@gnu.org>
284
285 From: 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
286
287 * fixfixes.c (emit_gnu_type, format_write): Prototype.
288 (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
289 custom uppercase ctype macros.
290 * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
291 Use gcc's custom uppercase ctype macros.
292 (main): Prototype.
293 (machine_matches): Add static prototype and constify variable.
294 (create_file, test_test, egrep_test): Add static prototype.
295 (quoted_file_exists): Likewise, and constify parameters.
296 (extract_quoted_files, internal_fix, start_fixer, fix_applies,
297 write_replacement, test_for_changes): Add static prototype.
298 (write_replacement, test_for_changes): Delete excess argument to
299 `create_file'.
300 * fixtests.c (test): Make static.
301 * server.c (load_data, sig_handler, server_setup, find_shell): Add
302 static prototype.
303 (sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
304
d7156fee
BK
3052000-12-02 Bruce Korb <bkorb@gnu.org>
306
307 * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
308 (per Laurynas Biveinis <lauras@softhome.net>)
309
f1008e52
RE
3102000-12-02 Richard Earnshaw <rearnsha@arm.com>
311
312 * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
313 macros.
314 (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
315 (REGNO_OK_FOR_FOR_BASE_P): Delete.
316 (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
317 both strict and non-strict uses.
318 (REG_MODE_OK_FOR_BASE_P): Define in terms of above.
319 (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
320 (REG_OK_FOR_INDEX_P): Define in terms of above.
321 (REG_OK_FOR_BASE_P): Delete.
322 (REG_OK_FOR_PRE_POST_P): Delete.
323 (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
324 (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
325 (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
326 (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
327 (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes. Use ARM
328 specific variants rather than general ones. Use ARM_REG_OK_FOR_BASE_P
329 in pre/post increment cases.
330 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
331 (ARM_LEGITIMIZE_ADDRESS): Similarly.
332 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
333 * arm.c (legitimate_pic_address): Similarly.
334
4eb191f3
NB
3352000-12-02 Neil Booth <neilb@earthling.net>
336
337 * tradcpp.c (struct answer, parse_assertion, parse_answer,
338 canonicalize_text, find_answer): New.
339 (do_assert, do_unassert): Provide appropriate function bodies.
340 (union hashval): New member answers.
341
84e6f1ba
MM
3422000-11-23 Marek Michalkiewicz <marekm@linux.org.pl>
343
344 * config/avr/avr.md: Document UNSPEC usage.
345 (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
346 Make operand 0 input only, clobber it. Use UNSPEC, not a bogus
347 MEM for program memory word reference. Do not add the label to
348 the table index in each of the asm output templates, instead ...
349 (casesi): ... do it in RTL. Adjust to match the above change.
350
a88f02e7
BS
3512000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
352
0884b60c
BS
353 * c-common.c (PTRDIFF_TYPE): Provide default here, ...
354 * c-decl.c: ... not here.
355
a88f02e7
BS
356 * haifa-sched.c (sched_dump): Renamed from dump. All users changed.
357 (old_max_uid): New variable.
358 (compute_forward_dependences): Renamed from
359 compute_block_forward_dependences; changed to accept block head and
360 tail instead of block number. Caller changed.
361 (free_deps, init_dependency_caches, free_dependency_caches,
362 init_regions, sched_init): New functions, split out from
363 schedule_insns and compute_block_backward_dependences.
364
fef1de5d
NB
3652000-12-02 Neil Booth <neilb@earthling.net>
366
367 * cppexp.c (parse_number): Update diagnostic test.
368
88edcc06
BS
3692000-12-02 Bernd Schmidt <bernds@redhat.co.uk>
370
371 * reload1.c (free_for_value_p): New function, frontend to
372 reload_reg_free_for_value_p. All callers of the latter now call
373 this function with an additional mode argument.
374
a325caa0
GP
3752000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
376
377 * install.texi (Configurations): Remove obsolete documentation for
378 hppa*-*-*.
379
3808a17d
GP
3802000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
381
382 * install.texi (Installation): Remove obsolete description for
383 libstdc++ which is now an integral part of GCC.
384
27646dba
JB
3852000-12-01 Jim Blandy <jimb@redhat.com>
386
387 * dbxout.c (dbxout_parms): Correctly describe parameters passed by
388 invisible reference in registers, but then spilled to the stack.
389 Remove code to emit a second stab for such parameters; it attempts
390 to describe the value's location by introducing a synthetic C++
391 `reference' type, and then saying the stack slot has that
392 reference type. This loses type information (breaking GDB's
393 `ptype' command, among other things) just to describe a location
394 which stabs can represent correctly in other ways.
395
cb51ecd2
AO
3962000-12-01 Alexandre Oliva <aoliva@redhat.com>
397
08106825
AO
398 * final.c (output_addr_const) <PLUS>: Don't assume at least one
399 operand is a CONST_INT.
400
cb51ecd2
AO
401 * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
402 (machine_dependent_reorg): Split all insns.
403 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
404 reg_class_contents[SIBCALL_REGS].
405 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
406 * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
407 call_value_pcrel, call, call_value, sibcall): Match even when
408 not optimizing.
409 (sibcalli_pcrel, sibcall_pcrel): Likewise. Use constraint `k'
410 for call address.
411 (sibcalli): Likewise.
412
4d808927
JM
4132000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
414
415 * c-common.c (warn_format, warn_format_y2k,
416 warn_format_extra_args, warn_format_nonliteral): Define.
417 (check_format_info): Check warn_format_nonliteral and
418 warn_format_extra_args.
419 (check_format_info_main): Check warn_format_y2k.
420 (set_Wformat): New function.
421 * c-common.h (warn_format_y2k, warn_format_extra_args,
422 warn_format_nonliteral, set_Wformat): Declare.
423 * c-decl.c (warn_format): Remove definition.
424 (c_decode_option): Handle -Wformat-nonliteral,
425 -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
426 Use set_Wformat.
427 * invoke.texi: Document these new options and -Wformat=2.
428 * toplev.c (documented_lang_options): Add these new options.
429
e78f4a97
JM
4302000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
431
432 * builtins.def (BUILT_IN_IMAXABS): Add.
433 * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
434 * c-common.c (c_common_nodes_and_builtins): Create builtin
435 functions __builtin_imaxabs, and plain imaxabs unless
436 flag_no_nonansi_builtin outside C99 mode.
437 (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
438 * extend.texi: Document builtin imaxabs.
439
5fd8e536
JM
4402000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
441
442 * c-common.c: Include "defaults.h".
443 (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
444 (c_common_nodes_and_builtins): Create string_type_node,
445 const_string_type_node, wint_type_node, intmax_type_node,
446 uintmax_type_node, default_function_type, ptrdiff_type_node and
447 unsigned_ptrdiff_type_node.
448 * c-common.h (identifier_global_value): Declare.
449 * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
450 (init_decl_processing): Don't create string_type_node,
451 const_string_type_node, wint_type_node, intmax_type_node,
452 uintmax_type_node, default_function_type, ptrdiff_type_node and
453 unsigned_ptrdiff_type_node.
454 (identifier_global_value): New function.
455
8d9e9a08
NB
4562000-12-01 Neil Booth <neilb@earthling.net>
457
458 * cppinit.c (initialize): Forgotten prototype.
459 * cpplex.c (_cpp_lex_token): Loop until not skipping.
460 Always clear PREV_WHITE upon meeting a new line.
461 * cpplib.c (end_directive): Set pfile->skipping after
462 skip_rest_of_line.
463 * cpplib.h (cpp_reader): Remove macro_pos.
464 * cppmacro.c (cpp_get_line): Don't do anything special inside
465 macros.
466 (parse_arg): Add PREV_WHITE if a token appears after new lines.
467 (funlike_invocation_p): Save and restore the output position
468 over a successful check for a '('.
469 (enter_macro_context): Delete uses of macro_pos.
470 (cpp_get_token): Don't use pfile->skipping.
471
c4765d18
PE
4722000-12-01 Phil Edwards <pme@sources.redhat.com>
473
474 * diagnostic.c: Fix typos in comments.
475 * diagnostic.h: Likewise.
476
815d683e
PE
4772000-11-30 Phil Edwards <pme@sources.redhat.com>
478
479 * rtl.texi (Machine Modes): Document BImode and OImode.
480
ae24178a
JM
4812000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
482
483 * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
484 .FPP.
485
c7b82833
JM
4862000-12-01 Joseph S. Myers <jsm28@cam.ac.uk>
487
488 * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
489 incomplete element type.
490 (grokparms): Before checking for incomplete parameter type, check
491 the type isn't error_mark_node.
492
ab937357
JJ
4932000-12-01 Jakub Jelinek <jakub@redhat.com>
494
495 * builtins.c (target_char_cast): New function.
496 (expand_builtin_strchr): Use it.
497 (expand_builtin_strrchr): Use it.
498 (builtin_memset_read_str): New function.
499 (expand_builtin_memset): Use target_char_cast.
500 Try to optimize memset with second argument non-zero using
501 store_by_pieces.
502
3a69a7d5
MM
5032000-11-30 Marek Michalkiewicz <marekm@linux.org.pl>
504
505 * install.texi (avr): Replace incomplete list of supported MCU
506 types with a link to the current one ...
507 * invoke.texi (AVR Options): ... here. Update -mmcu= to list
508 all supported MCU types. Document -minit-stack= default.
509 Document new options -mno-tablejump, -mtiny-stack.
510 * md.texi (AVR family): Fix typo in 'w' constraint letter
511 description. Document 'q'. Update 'O'.
512
53895717
BS
5132000-12-01 Bernd Schmidt <bernds@redhat.co.uk>
514
515 * combine.c (cant_combine_insn_p): Only disallow insns involving
516 hard regs if they are reg-reg moves.
517 (try_combine, can_combine_p, combinable_i3pat): Delete old
518 SMALL_REGISTER_CLASSES tests.
519
f00018dd
AO
5202000-12-01 Alexandre Oliva <aoliva@redhat.com>
521
3d422cb1
AO
522 * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
523 whether X is a CONST_INT.
524 (addsubcosts): Likewise.
525
f00018dd
AO
526 * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
527 mis-used XINT.
528 (ARG_POINTER_REGNUM): Set to AP_REG.
529
95ac07b0
AO
5302000-11-30 Alexandre Oliva <aoliva@redhat.com>
531
ecfdeaeb
AO
532 * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
533 splits): Only match on TARGET_SH4.
534
95ac07b0
AO
535 * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
536 of subsequent insns.
537
f2720858
RH
5382000-11-30 Richard Henderson <rth@redhat.com>
539
540 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
541 * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
542
ef7d91cd
RH
5432000-11-30 Richard Henderson <rth@redhat.com>
544
545 * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
546 (DO_SELECT_SECTION): New.
547 (SELECT_SECTION): Use it.
548 (UNIQUE_SECTION_P): New.
549 (UNIQUE_SECTION): New.
550
29ced803
AO
5512000-11-30 Alexandre Oliva <aoliva@redhat.com>
552
553 * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
554 from va_list before using it.
555
25e4379f
MM
5562000-11-30 Michael Matz <matzmich@cs.tu-berlin.de>
557
558 * flow.c (make_edge): Early out, if no flags to set.
559 (calculate_global_regs_live): Clear out garbage only when necessary.
560
561 * simplify-rtx.c (varray_type used_regs): New.
562 (clear_table): Use it to only clear necessary items.
563 (cselib_lookup, cselib_record_set): Remember newly set items.
564 (cselib_update_varray_sizes, cselib_init): Initialize and grow
565 used_regs.
566
567 * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
568 Move clearing of dead regs out of insn-loop.
569
41c39533
RH
5702000-11-30 Richard Henderson <rth@redhat.com>
571
572 * calls.c (expand_call): Emit queued insns before creating
573 the tail recursion sequence.
574
039df8c7
DA
5752000-11-30 J. David Anglin <dave.anglin@nrc.ca>
576 Bruce Korb <bkorb@gnu.org>
577
578 * fixinc/inclhack.def(): prevent dual double definition protection
579 * fixinc/fixincl.x: regenerate
580
42cfed37
LR
5812000-11-29 Loren J. Rittle <ljrittle@acm.org>
582
583 * fixinc/Makefile.in (fixincl.x): Explicitly state the
584 location of the generated file.
585
a6bb9efa
GP
5862000-11-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
587
588 * README.FRESCO: Remove obsolete file.
589
255b8a49
JL
5902000-11-30 Mark Kettenis <kettenis@gnu.org>
591
592 * configure.in: Reorganize handling of *-*-gnu*, to share target
593 specific make details with Linux. Update comments to clarify
594 the distinction between GNU/Linux and GNU/Hurd.
595 * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
596 TARGET_LIBGCC2_CFLAGS): Remove. We now use the settings from
597 config/t-linux for the Hurd.
598
5992000-11-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
75273d08
SC
600
601 * config/mn10200/udivmod.c, config/mn10200/divmod.c,
602 config/mn10200/udivmodsi4.c: Moved from here.
603 * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
604 * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
605 C division functions.
606 * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
607
15c2086a
JL
608Thu Nov 30 01:12:52 2000 Jeffrey A Law (law@cygnus.com)
609
610 * pa.md (conditional moves): Avoid holes in operand list.
611 (mod, umod patterns): Similarly.
612 (variable extract/shift patterns): Similarly.
613
9105f671
NB
6142000-11-30 Neil Booth <neilb@earthling.net>
615
616 * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
617 maybe_objc_check_decl, build_objc_string_object,
618 objc_declare_alias, objc_declare_class, build_message_expr,
619 build_protocol_expr, build_selector_expr, build_encode_expr,
620 get_class_ivars, start_class, start_protocol): Remove
621 redundant code, assuming doing_objc_thang is true.
622
31a7659b
JDA
6232000-11-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
624
1f80ea95
JDA
625 * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
626 (record_unscaled_index_insn_codes): Likewise.
627 (unscaled_index_insn_codes): Delete.
628 (max_unscaled_index_insn_codes_uid): Delete.
629 (output_function_prologue, output_function_epilogue, pa_reorg):
630 Don't use the unscaled index insn hack.
631
d16ca6a6
JDA
632 * pa.md: Remove hack from all index insns to reverse the operand
633 order of frame and stack pointer references incorrectly created
634 in the reload pass.
635
3502dc9c
JDA
636 * function.h (emit_status): Delete member regno_pointer_flag and
637 rename regno_pointer_flag_length to regno_pointer_align_length.
638 Delete define for REGNO_POINTER_FLAG.
639 * integrate.h (inline_remap): Delete member regno_pointer_flag.
640 Add member x_regno_reg_rtx.
641 * rtl.h (rtx_def): Use frame_related bit to indicate register is
642 a pointer in REG expressions. Define REG_POINTER macro.
643 * alias.c (find_base_value, find_base_term): Use REG_POINTER
644 instead of REGNO_POINTER_FLAG.
645 * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
646 * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
647 of regno_pointer_flag_length. Remove code which refers to
648 regno_pointer_flag.
649 (mark_reg_pointer): Use REG_POINTER.
650 (free_emit_status): Remove code which refers to regno_pointer_flag.
651 (init_emit, mark_emit_status): Likewise.
652 * flow.c (dump_flow_info): Likewise.
653 * function.c (preserve_temp_slots): Likewise.
654 * integrate.c (expand_inline_function, copy_rtx_and_substitute):
655 Use x_regno_reg_rtx instead of regno_pointer_flag for function
656 pointer determination in map.
657 * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
658 * predict.c (estimate_probability): Likewise.
659 * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
660 * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
661 regno_pointer_flag for function pointer determination in map.
662 * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
663 REG_POINTER.
664 * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
665 Use REG_POINTER.
666 (restore_unscaled_index_insn_codes): Revise comment.
667
31a7659b
JDA
668 * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
669
9f1bbeaa
JM
6702000-11-30 Joseph S. Myers <jsm28@cam.ac.uk>
671
672 * extend.texi: Update documentation for attributes.
673
74e5aa4b
DB
6742000-11-29 David O'Brien <obrien@FreeBSD.org>
675
676 * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
677 (ASM_DECLARE_OBJECT_NAME): Same.
678 (ASM_FILE_END): Same.
679 (ASM_FINISH_DECLARE_OBJECT): Same.
680 (ASM_IDENTIFY_GCC): Same.
681 (ASM_IDENTIFY_LANGUAGE): Same.
682 (ASM_OUTPUT_CONSTRUCTOR): Same.
683 (ASM_OUTPUT_DEF): Same.
684 (ASM_OUTPUT_DESTRUCTOR): Same.
685 (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
686 (ASM_OUTPUT_SECTION_NAME): Same.
687 (ASM_WEAKEN_LABEL): Same.
688 (BSS_SECTION_ASM_OP): Same.
689 (COMMON_ASM_OP): Same.
690 (CONST_SECTION_ASM_OP): Same.
691 (CONST_SECTION_FUNCTION): Same.
692 (CTORS_SECTION_ASM_OP): Same.
693 (DTORS_SECTION_ASM_OP): Same.
694 (ESCAPES): Same.
695 (FINI_SECTION_ASM_OP): Same.
696 (IDENT_ASM_OP): Same.
697 (IDENT_ASM_OP): Same.
698 (INIT_SECTION_ASM_OP): Same.
699 (INT_ASM_OP): Same.
700 (MAX_OFILE_ALIGNMENT): Same.
701 (SBSS_SECTION_ASM_OP): Same.
702 (SDATA_SECTION_ASM_OP): Same.
703 (SECTION_FUNCTION_TEMPLATE): Same.
704 (SELECT_SECTION): Same.
705 (SE_CONST_SECTION): Same.
706 (SIZE_ASM_OP): Same.
707 (SKIP_ASM_OP): Same.
708 (STRING_ASM_OP): Same.
709 (STRING_LIMIT): Same.
710 (TYPE_ASM_OP): Same.
711 (TYPE_OPERAND_FMT): Same.
712
0eaed3c6
NB
7132000-11-29 Neil Booth <neilb@earthling.net>
714
715 * c-decl.c (c_decode_option): Don't handle -lang-objc.
716 * objc/lang-options.h: Remove -lang-objc.
717 * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
718 * objc/objc-act.c (lang_init_options): Set c_language.
719
98166639
JJ
7202000-11-29 Jakub Jelinek <jakub@redhat.com>
721
722 * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
723 tests.
724
f3b55474
NB
7252000-11-29 Neil Booth <neilb@earthling.net>
726
727 * c-pragma.c (init_pragma): Update for parse_in type change.
728
b86ecfa9
LB
7292000-11-29 Laurynas Biveinis <lauras@softhome.net>
730
731 * configure.in: recognize DOS-style absolute paths.
732
57814e5e
JJ
7332000-11-29 Jakub Jelinek <jakub@redhat.com>
734
735 * expr.h (store_by_pieces): Add prototype.
736 (can_store_by_pieces): Likewise.
737 * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
738 (can_store_by_pieces): New.
739 (store_by_pieces): New.
740 (clear_by_pieces): New.
741 (clear_by_pieces_1): New.
742 (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
743 arbitrary compiler generated constants into memory block.
744 (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
745 * builtins.c (c_readstr): New.
746 (builtin_memcpy_read_str): New.
747 (expand_builtin_memcpy): If src is string constant and
748 emit_block_move would move it by pieces, compute integer constants
749 from the string and store it into memory block instead.
750 (builtin_strncpy_read_str): New.
751 (expand_builtin_strncpy): If N is not constant zero and c_strlen does
752 not return INTEGER_CST, don't optimize.
753 If N is larger than strlen(src) + 1, try to copy the string
754 including padding with store_by_pieces.
755 (expand_builtin_strcmp): If both arguments have side effects, don't
756 optimize.
757 (expand_builtin_fputs): If STR has side effects, don't optimize.
758
76b7dad3
RE
7592000-11-29 Richard Earnshaw <rearnsha@arm.com>
760
761 * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
762 Add use of link register.
763
b722c82c
JM
7642000-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
765
766 * extend.texi: Update documentation for default format attributes.
767
01fa3508
JL
768Tue Nov 28 21:56:45 2000 Jeffrey A Law (law@cygnus.com)
769
770 * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
771 a list, to keep track of the sections.
772
4bec9f7d
NC
7732000-11-28 Nick Clifton <nickc@redhat.com>
774
775 * config/arm/arm.md (pic_load_addr): Split into
776 pic_load_addr_arm and pic_load_addr_thumb.
777
778 * config/arm/arm.c (legitimize_pic_address): Generate either
779 ARM or Thumb versions of pic_load_addr.
780 (arm_finalize_pic): Generate either ARM or Thumb versions of
781 pic_load_addr.
782
54fef245
RH
7832000-11-28 Richard Henderson <rth@redhat.com>
784
785 * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
786 after sibcall do_pending_stack_adjust.
787
f423a6a7
R
788Wed Nov 29 00:08:23 2000 J"orn Rennecke <amylaar@redhat.com>
789
790 * jump.c (delete_insn): Check that REG_LABEL note actually contains
791 a CODE_LABEL.
792
eaf299c6
NB
7932000-11-28 Neil Booth <neilb@earthling.net>
794
01933a51
JM
795 * c-common.h: Remove flag_digraphs.
796 * c-decl.c: Remove flag_digraphs.
797 (c_decode_option): Don't set it.
798 * c-lex.c (init_c_lex): Don't do anything for digraphs.
eaf299c6 799
7dfe7bd6
RH
8002000-11-28 Richard Henderson <rth@redhat.com>
801
802 * c-parse.in (finish_parse): Update for parse_in type change.
803 (_yylex): Likewise.
804
8dc4676d
NB
8052000-11-28 Neil Booth <neilb@earthling.net>
806
01933a51
JM
807 * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
808 indicating whether to scan all buffers on the stack or
809 just one.
810 * cppinit.c (do_includes): Update.
811 * cppmain.c (main): Update.
812 * cpplib.h: Update prototype.
8dc4676d 813
c77e04ae
RH
8142000-11-28 Richard Henderson <rth@redhat.com>
815
816 * genoutput.c (validate_insn_operands): New.
817 (gen_insn): Call it.
818
819 * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
820 (divmoddi_internal): Likewise.
821 * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
822 * config/i960/i960.md (branch patterns): Likewise.
823 * config/ia64/ia64.md (tbit_and_0): Likewise.
824 (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
825 * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
826 * config/mips/mips.md (divmodsi4_internal): Likewise.
827 (divmoddi4_internal): Likewise.
828 * config/rs6000/rs6000.md (call patterns): Likewise.
829 * config/sh/sh.md (movsi_y): Likewise.
830 * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
831
79bc4669
RH
8322000-11-28 Richard Henderson <rth@redhat.com>
833
834 * config.gcc: Kill residual pyramid support.
835
cf44ea52
NB
8362000-11-28 Neil Booth <neilb@earthling.net>
837
838 * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
839 * c-decl.c (c_decode_option): Update to match.
840 * c-lex.c (init_c_lex, yyparse): Update to match.
841 * c-lang.c (lang_init_options): Use cpp_create_reader.
842 * cppinit.c (cpp_init): Rename initialize.
843 (cpp_reader_init): Rename cpp_create_reader. Create the
844 reader. Initialize cpplib if appropriate.
845 * cpplib.h (cpp_create_reader) New prototype.
846 (cpp_init, cpp_reader_init): Delete prototypes.
847 * cppmain.c (general_init, setup_callbacks): New functions.
848 (main): Use them.
849 * fix-header.c (scan_in): Change type to cpp_reader *.
850 (read_scan_file): Update for new cpplib interface and scan_in type.
851
852 * cp/decl.c (parse_in): Change to cpp_reader *.
853 (lang_decode_option): Update.
854 * cp/lex.c (lang_init_options): Use new cpplib interface.
855 (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
856 * cp/spew.c (read_token): Update.
857 * objc/objc-act.c (lang_init_options): Update new cpplib interface.
858
48c4d691
JJ
8592000-11-28 Jakub Jelinek <jakub@redhat.com>
860
861 * loop.c (load_mems): Avoid using next_label to find end_label. If
862 jumping outside of the loop (other than loop end), don't hoist MEMs
863 out of loop.
864
fb158467
JH
8652000-11-28 Jan Hubicka <jh@suse.cz>
866
867 * calls.c (expand_call): Don't disable tail recursion based
868 on the loop nest.
869
40bd4395
NB
8702000-11-28 Neil Booth <neilb@earthling.net>
871
01933a51
JM
872 * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
873 (struct directive): Drop 4th argument from handlers.
874 (do_define, do_line, do_include, do_undef, do_else, do_elif,
875 do_endif): Similarly.
876 (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
877 (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
878 (make_definition, make_undef): Take a const char*.
879 (make_assertion): New function.
880 (struct directive_table): Update.
881 (main): Handle -A command line argument.
882 (handle_directive): Drop fourth handler argument.
40bd4395 883
77ea49a4
BS
8842000-11-28 Bernd Schmidt <bernds@redhat.co.uk>
885
886 * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
887 is anything but REG or MEM, but look inside STRICT_LOW_PART.
888
c5c0b3d9
RK
889Tue Nov 28 09:53:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
890
891 * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
892 (IS_ABSOLUTE_PATHNAME): New macro.
893 * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
894
dd80b906
JJ
8952000-11-28 Jakub Jelinek <jakub@redhat.com>
896
897 * config/i386/i386.md (truncxfsf2_2): Fix predicate.
898
102870fb
JW
8992000-11-27 Jim Wilson <wilson@redhat.com>
900
901 * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
902
9734e80c
MK
9032000-11-27 Matthias Klose <doko@cs.tu-berlin.de>
904
905 * extend.texi (Nested Functions): Update URL of Usenix paper.
906
cf77f15f
MM
9072000-11-27 Mark Mitchell <mark@codesourcery.com>
908
909 * function.c (free_after_compilation): Clear x_clobber_return_insn.
910
6a6b1628
NB
9112000-11-27 Neil Booth <neilb@earthling.net>
912
01933a51
JM
913 * cppinit.c (cpp_reader_init): Remove handling of warn_paste
914 command line options.
915 (cpp_handle_option): Similarly.
916 * cpplib.h (struct cpp_options): Remove warn_paste.
917 * cppmacro.c (paste_tokens): Apart from assembler, make
918 unpasteable token warning mandatory.
6a6b1628 919
fb6a7b08
NB
9202000-11-27 Neil Booth <neilb@earthling.net>
921
01933a51
JM
922 * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
923 (main): Allocate a pending directive set of these. Use it.
924 Merge handling of -D and -U. Update handling of pending
925 directives. Free the memory after use.
fb6a7b08 926
7dfc0fbe
BS
9272000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
928
929 * flow.c (entry_exit_blocks): Add entry for cond_local_set.
930 (struct propagate_block_info): Add new member cond_local_set.
931 (propagate_block): Accept new arg cond_local_set. All callers
932 changed.
933 (init_propagate_block_info): Likewise.
934 (calculate_global_regs_live): Allocate & free cond_local_set. Always
935 rescan if there's overlap between cond_local_set and new_live_at_end.
936 (mark_set_1): Set bits either in cond_local_set or local_set, as
937 appropriate.
938 * basic-block.h (struct basic_block_def): New field cond_local_set.
939 (propagate_block, init_propagate_block_info): Update prototypes.
940
5f6fa212
KK
941Mon Nov 27 17:29:44 2000 kaz Kojima <kkojima@rr.iij4u.or.jp>
942
943 * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
944 T register.
945
8bb9536a
RE
9462000-11-27 Richard Earnshaw <rearnsha@arm.com>
947
948 * arm.c (select_dominance_cc_mode): Handle new way that combine
949 canonicalizes conditional compares.
950 (arm_select_cc_mode): Likewise.
951 * arm.md: Garbage collect some dead code.
952 (cmp_and, cmp_ior): New patterns.
953 (splitter for conditional move with inverted false): Use cond_exec
954 and handle unordered comparisons.
955
4211a8fb
JH
956Mon Nov 27 17:22:56 MET 2000 Jan Hubicka <jh@suse.cz>
957
958 * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
959 * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
960 * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
961 ix86_force_to_memory and ix86_free_from_memory.
962
bb6ae783
RE
9632000-11-27 Richard Earnshaw <rearnsha@arm.com>
964
965 * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
966 arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
967 anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
968 one_cmpldi2): Merge with splitters to create define_insn_and_split
969 patterns. Remove redundant splits.
970 (peephole2 for add:SI of invalid immediate): New.
971 (peephole2 for minus:SI of invalid immediate): New.
972 (peephole2 for ior:SI of invalid immediate): New.
973 (peephole for merge of move and compare): Convert ot peephole2.
974 (addsf3, adddf3): Mark as commutative.
975
976 * arm.md (thumb peephole for merging stack adjustments): Convert to
977 peephole2.
978
70bbeb8b
BS
9792000-11-27 Bernd Schmidt <bernds@redhat.co.uk>
980
375de5b6
BS
981 * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
982
70bbeb8b
BS
983 * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
984 (reload_cse_simplify_operands): Do nothing about operands where both
985 the operand and the match_operand fail to give us a mode.
986 * simplify-rtx.c (wrap_constant): New function.
987 (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
988 CONST describing the proper mode.
989 (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
990 cselib_lookup.
991 (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
992 htab_find_slot_with_hash.
993 (cselib_lookup): Likewise.
994
7dbe6ae9
BS
995 Based on a patch from Geoff Keating <geoffk@redhat.com>:
996 * loop.c (basic_induction_var): If a REG is set from something
997 that is not a biv, then the REG is not a biv. Even if it is
998 earlier set from something that is a biv.
999
6b2adea9
AO
10002000-11-27 Alexandre Oliva <aoliva@redhat.com>
1001
1002 * configure.in (extra_objs): Enclose extra_headers in quotes.
1003 * configure: Rebuilt.
1004
27e2564a
NB
10052000-11-27 Neil Booth <neilb@earthling.net>
1006
01933a51
JM
1007 * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
1008 Combine into the new function cb_change_file.
1009 (init_c_lex): Update.
1010 * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
1011 (cpp_syshdr_flags): Delete.
1012 * cpphash.h (_cpp_do_file_change): New prototype.
1013 Move struct cpp_buffer here from...
1014 * cpplib.h (struct cpp_buffer): ... here.
1015 (enum cpp_fc_reason, struct cpp_file_loc,
1016 struct_cpp_file_change, change_file): New.
1017 (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
1018 * cpplib.c (do_line): Update for new cb_change_file callback.
1019 (_cpp_do_file_change): New function.
1020 (_cpp_pop_buffer): Update to use it.
1021 * cppmain.c (move_printer): Delete.
1022 (main): Set up single callback cb_change_file.
1023 (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
1024 (cb_change_file): New.
1025 * fix-header.c (cur_file, cb_change_file): New.
1026 (recognized_function, read_scan_file): Update.
1027 * scan-decls.c (scan_decls): Update.
1028 * scan.h (recognized_function): Update prototype.
27e2564a 1029
9ccb25d5
MM
10302000-11-26 Mark Mitchell <mark@codesourcery.com>
1031
1032 * tree.h (mark_tree_hashtable): New function.
1033 * tree.c (mark_tree_hashtable_entry): New function.
1034 (mark_tree_hashtable): Likewise.
1035
5fcd86dd
MM
10362000-11-27 Michael Meissner <meissner@redhat.com>
1037
1038 * d30v-protos.h (srelational_si_operator): Correctly spell
1039 function.
1040 (urelational_si_operator): Ditto.
1041 (relational_si_operator): Ditto.
1042 (d30v_expand_prologue): Add prototype.
1043 (d30v_expand_epilogue): Ditto.
1044
1045 * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
1046
1047 * d30v.md (movcccc_*): Delete now unused patterns.
1048 (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
1049 IF_THEN_ELSE.
1050 (define_cond_exec): Use 'b' to select branch flags.
1051
da9e9f08
KG
10522000-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1053
1054 * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
1055 functions.
1056 (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
1057
1058 * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
1059
1060 * c-common.c (c_common_nodes_and_builtins): Declare builtin
1061 strncpy and strncmp.
1062
1063 * extend.texi (strncmp, strncpy): Document new builtins.
1064
231db5f4
MM
10652000-11-26 Mark Mitchell <mark@codesourcery.com>
1066
1067 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
1068 a list, to keep track of the sections.
1069 * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
1070 parameter provided will always be a canonical string.
1071
7463ef45
NB
10722000-11-26 Neil Booth <neilb@earthling.net>
1073
5fcd86dd
MM
1074 * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
1075 current buffer.
7463ef45 1076
1ccfb3dd
JM
10772000-11-26 Joseph S. Myers <jsm28@cam.ac.uk>
1078
1079 * makefile.vms: Remove EGCS references.
1080
0b34cf1e
UD
10812000-11-26 Ulrich Drepper <drepper@redhat.com>
1082
1083 * dwarf2out.c (output_file_names): New function. Compute minimal
1084 combination of directory and file name table and emit them.
1085 (output_line_info): Remove code to emit directory and file name
1086 table and call output_file_names instead.
1087 (file_info_cmp): Helper function to sort directory names.
1088
5fcd86dd 10892000-11-26 Neil Booth <neilb@earthling.net>
bdb05a7b 1090
5fcd86dd
MM
1091 * cpplib.h (struct cpp_reader): Remove lang_asm.
1092 (struct cpp_options): Remove c89. New members lang,
1093 extended_numbers.
1094 * cppexp.c (parse_number): Use them.
1095 * cpphash.h (VALID_SIGN): Use them.
1096 * cppinit.c (set_lang, cpp_start_read): Update.
1097 * cpplex.c (parse_string, _cpp_lex_token): Update.
1098 * cpplib.c (_cpp_handle_directive): Update.
1099 * cppmacro.c (parse_args): Update.
1100 * cppmain.c (scan_buffer): Update.
bdb05a7b 1101
72bd1f9e
RK
1102Sun Nov 26 10:02:37 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1103
1104 * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
1105 proper type.
1106
5fcd86dd
MM
11072000-11-26 Neil Booth <neilb@earthling.net>
1108
1109 * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
1110 * c-decl.c: Remove parse_in declaration.
1111 * c-lang.c: Similarly.
1112 * c-lex.c: Similarly.
1113 * c-parse.in: Similarly.
1114 * c-pragma.c: Similarly.
1115 * configure.in: Similarly.
1116 * cp/Make-lang.in: Similarly.
1117 * cp/spew.c: Similarly.
1118 * cp/decl2.c: Remove check for lang-c++ option.
1119 * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
1120 * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
1121 * c-lex.h: Add declaration of parse_in.
1122 * cppinit.c: Call set_lang after allocating pfile->pending.
1123 * configure: Regenerate.
056487e7 1124
1786009e
ZW
11252000-11-25 Zack Weinberg <zack@wolery.stanford.edu>
1126
1127 * combine.c (try_combine): Remove redundant test.
1128
3645c4dc
RH
11292000-11-25 Richard Henderson <rth@redhat.com>
1130
1131 * c-common.h (DECL_C_HARD_REGISTER): New.
1132 * c-decl.c (finish_decl): Set it for asm register variables.
1133 * c-semantics.c (emit_local_var): Test it when instantiating one.
1134
a17a5850
RH
11352000-11-25 Richard Henderson <rth@redhat.com>
1136
1137 * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
1138 lineno for the start of the function.
1139
2e18bbae
RH
11402000-11-25 Richard Henderson <rth@redhat.com>
1141
1142 * dwarf2out.c (file_table, file_table_allocated): Remove.
1143 (file_table_allocated): Remove.
1144 (struct file_table): New.
1145 (decl_file_table, line_file_table): New.
1146 (print_dwarf_line_table): Use them.
1147 (size_of_line_prolog): Likewise.
1148 (output_line_info): Likewise.
1149 (add_src_coords_attributes): Likewise.
1150 (gen_subprogram_die): Likewise.
1151 (gen_variable_die): Likewise.
1152 (dwarf2out_add_library_unit_info): Likewise.
1153 (dwarf2out_line): Likewise.
1154 (lookup_filename): Take a struct file_table argument.
1155 (init_file_table): New.
1156 (dwarf2out_init): Use it.
1157
163686bd
JM
11582000-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
1159
1160 * invoke.texi: Update sequence points references.
1161
a32f2771
NB
11622000-11-25 Neil Booth <neilb@earthling.net>
1163
01933a51
JM
1164 * c-common.c: Remove USE_CPPLIB conditional inclusions.
1165 * c-common.h: Similarly.
1166 * c-decl.c: Similarly.
a32f2771
NB
1167 * c-lang.c: Similarly.
1168 * c-lex.c: Similarly.
01933a51
JM
1169 * c-parse.in: Similarly.
1170 * c-pragma.c: Similarly.
1171 * c-pragma.h: Similarly.
1172 * gcc.c: Similarly.
1173 * toplev.c: Similarly.
1174 * cp/cp-tree.h: Similarly.
1175 * cp/decl2.c: Similarly.
1176 * cp/lang-specs.h: Similarly.
1177 * cp/lex.c: Similarly.
1178 * cp/lex.h: Similarly.
1179 * cp/spew.c: Similarly.
1180 * java/lang-options.h: Similarly.
1181 * objc/lang-specs.h: Similarly.
1182 * objc/objc-act.c: Similarly.
1183
1184 * configure.in: Remove configure option.
1185 * config.in: Regenerate.
1186 * configure: Regenerate.
a32f2771 1187
3e8aa6e3
RH
11882000-11-25 Richard Henderson <rth@redhat.com>
1189
1190 * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
1191 Revert 2000-11-22 change.
1192
59a9e22e
BS
11932000-11-25 Bernd Schmidt <bernds@redhat.co.uk>
1194
1195 * config/i386/i386.h (FIXED_REGS): Make the three flags registers
1196 fixed.
1197
2be36552
PT
11982000-11-25 Philipp Thomas <pthomas@suse.de>
1199 * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
1200 * configure: Rebuilt.
1201
4df1190a
JJ
12022000-11-25 Jakub Jelinek <jakub@redhat.com>
1203
1204 * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
1205 Handle CONST_INT as second argument.
1206 * config/sparc/sparc.c (set_extends): Remove first argument.
1207 Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
1208 MOV.
1209 (sparc_check_64): Abort if first argument is not REG.
1210 If it is DImode REG, look at the lower register of the register
1211 pair.
1212
1213 * config/sparc/sparc.c (load_pic_register, restore_regs,
1214 output_return, sparc_v8plus_shift, sparc_function_profiler,
1215 sparc_function_block_profiler, sparc_block_profiler): Fix output
1216 formatting.
1217
6915629f
AO
12182000-11-25 Alexandre Oliva <aoliva@redhat.com>
1219
ae010e43
AO
1220 * config/sh/sh.h (TARGET_NONE): New.
1221 (TARGET_SWITCHES): For all variant-selecting switch, use
1222 TARGET_NONE to reset all other variant-selecting switch. Added
1223 empty strings to avoid warnings.
1224 (TARGET_DEFAULT): Set to SH1_BIT.
1225
8618466f
AO
1226 * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
1227 insn-codes.h.
1228
5db5a888
AO
1229 * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
1230 (sibcall_pcrel): New insn_and_split.
1231 (sibcall, sibcall_value, sibcall_epilogue): New expands.
1232
6915629f
AO
1233 * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
1234 symPLT_label2reg, call, call_value): Don't set
1235 current_function_uses_pic_offset_table.
1236 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
1237 PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
1238 takes it into account.
1239 (FINALIZE_PIC): Delete, useless.
1240 (LEGITIMATE_CONSTANT_P): Delete, unused.
1241 * config/sh/sh.c (sh_expand_prologue): Don't use
1242 current_function_uses_pic_offset_table. Don't special-case
1243 PIC_OFFSET_TABLE_REGNUM. Initialize it if it's ever live and
1244 PIC is enabled.
1245 (sh_expand_epilogue, initial_elimination_offset): Don't
1246 special case PIC_OFFSET_TABLE_REGNUM.
1247
2d01e445
AO
12482000-11-25 Alexandre Oliva <aoliva@redhat.com>, NIIBE Yutaka <gniibe@m17n.org>
1249
1250 * config/sh/sh-protos.h (symbol_ref_operand): Declare.
1251 * config/sh/sh.md (UNSPEC_CALLER): New constant.
1252 (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
1253 (call_pcrel, call_value_pcrel): New insn_and_splits.
1254 (call, call_value): Use them.
1255 (call_site): New expand.
1256 (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
1257 * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
1258 Output call_site label.
1259 (PREDICATE_CODES): Added symbol_ref_operand.
1260 * config/sh/sh.c (symbol_ref_operand): Define.
1261 * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
1262 to CALL_INSNs in the split sequence.
1263
c3edd394
NC
12642000-11-24 Nick Clifton <nickc@redhat.com>
1265
1266 * config.gcc (v850-*-*): Define c_target_objs and
1267 cxx_target_objs.
1268
1269 * config/v850/t-v850: Define how to build v850-c.o
1270
1271 * config/v850/v850.h (struct data_area_stack_element): Move
1272 definition here from v850.c.
1273
1274 * config/v850v850.c: Include gcc.h to avoid compile time
1275 warning.
1276 (push_data_area): Move to v850-c.c.
1277 (pop_data_area): Move to v850-c.c.
1278 (mark_current_function_as_interrupt): Move to v850-c.c.
1279 (GHS_default_section_names): Allow to be exported.
1280 (GHS_current_section_names): Allow to be exported.
1281 (data_area_stack_elements): Allow to be exported.
1282 (ghs_pragma_section): Move to v850-c.c.
1283 (ghs_pragma_interrupt): Move to v850-c.c.
1284 (ghs_pragma_starttda): Move to v850-c.c.
1285 (ghs_pragma_startsda): Move to v850-c.c.
1286 (ghs_pragma_startzda): Move to v850-c.c.
1287 (ghs_pragma_endtda): Move to v850-c.c.
1288 (ghs_pragma_endsda): Move to v850-c.c.
1289 (ghs_pragma_endzda): Move to v850-c.c.
1290
1291 * config/v850/v850-c.c: New file: Contains v850 specific
1292 pragma parsing functions.
1293
aac69a49
NC
12942000-11-24 Nick Clifton <nickc@redhat.com>
1295
1296 * config.gcc (extra_objs): Remove duplicate description.
1297 (c_target_objs): New variable. Contains target specific
1298 object files for the gcc C compiler only.
1299 (cxx_target_objs): New variable. Contains target specific
1300 object files for the gxx C++ compiler only.
1301
1302 * configure.in (c_target_objs): Substitute in the makefile.
1303 (cxx_target_objs): Substitute in the makefile.
1304 * configure: Regenerate.
1305
1306 * Makefile.in (C_TARGET_OBJS): Define and initialise from
1307 c_target_objs.
1308 (CXX_TARGET_OBJS): Define and initialise from
1309 cxx_target_objs.
1310 (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
1311
1312 * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
1313
1314 * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
1315 about how the use of the 'c_lex' function requires the use of
1316 the target specific, language specific object files feature of
1317 the configuration mechanism.
1318
7257bbc6
RK
1319Fri Nov 24 18:50:58 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1320
1321 * gcc.c (process_command): Use F_OK, not R_OK.
1322
c3ff75c4
AK
13232000-11-24 Arno J. Klaassen <arno@heho.snv.jussieu.fr>
1324
1325 * flow.c (print_rtl_and_abort): Remove ANSIism.
1326
104ee20b
AO
1327Fri Nov 24 19:54:36 2000 Alexandre Oliva <aoliva@redhat.com>
1328
1329 * config/sh/sh.h (GENERAL_REGISTER_P,
1330 GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
1331 FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros. Use them
1332 all over.
1333 (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
1334 * config/sh/sh.c: Use new macros.
1335 * config/sh/sh.md: Likewise.
1336
5d00b10a
AO
1337Fri Nov 24 19:46:16 2000 Alexandre Oliva <aoliva@redhat.com>
1338
1339 * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
1340 instead of just MACH_REG in DImode. Always refer to FPSCR_REG
1341 in PSImode.
1342
33f77355
DC
1343Fri Nov 24 22:37:41 2000 Denis Chertykov <denisc@overta.ru>
1344
1345 * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
1346 fixed.
1347 (machine_dependent_reorg): Wrong optimization based on
1348 NOTICE_UPDATE_CC removed.
1349
692dc9c6
R
1350Fri Nov 24 19:48:09 2000 J"orn Rennecke <amylaar@redhat.com>
1351
1352 * jump.c (delete_computation): Re-instate deletion of feeding insn.
1353 (delete_insn): Look for REG_LABEL notes.
1354 (redirect_tablejump): Delete feeding insns.
1355
c3410241
BS
13562000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
1357
90d10fb9
BS
1358 * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
1359 call_value_pop_1): Make sure operand numbers are contiguous.
1360
7cf5c9e1
BS
1361 * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
1362
ff6534ad
BS
1363 * reload1.c (conflicts_with_override): New function.
1364 (emit_input_reload_insns): Use it to tighten test for validity
1365 of substituting into output of previous insn.
1366
176f9a7b
BS
1367 * haifa-sched.c (struct ready_list): New.
1368 (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
1369 functions.
1370 (schedule_insn): Replace args READY and N_READY with a pointer to a
1371 ready_list; return void. Use the new functions to access the ready
1372 list. All callers changed.
1373 (queue_to_ready, debug_ready_list): Likewise.
1374 (schedule_block): Initialize a ready_list structure. Use new
1375 functions to access it.
1376 (max_priority): Remove unused variable.
1377 (schedule_insn): Don't set it.
1378
52a84e42
BS
1379 * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
1380
c3410241
BS
1381 * combine.c (cant_combine_insn_p): New function.
1382 (try_combine): Use it.
1383
235cfbc4
BS
1384 * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
1385 * c-common.c (c-obstack.c): Include "obstack.h".
1386 (struct reverse_tree): Delete.
1387 (reverse_list, reverse_max_depth): Delete.
1388 (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
1389 (struct tlist, struct tlist_cache): New.
1390 (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
1391 (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
1392 warn_for_collisions, warn_for_collisions_1, new_tlist): New
1393 static functions.
1394 (verify_sequence_points): Rewritten.
1395 * fold-const.c (fold): Don't lose possibly important sequence
1396 points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
1397
58ecb5e2
RS
13982000-11-24 Richard Sandiford <rsandifo@redhat.com>
1399
1400 * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
1401 when reversing a register-to-register copy. Reversal now disabled
1402 when the previous instruction has a REG_EQUIV.
1403
2f401cc8
NS
14042000-11-24 Nathan Sidwell <nathan@codesourcery.com>
1405
1406 * c-parse.in (unary_expr): Move VA_ARG from here ...
1407 (primary): ... to here.
1408
963a2a84
GS
14092000-11-23 Graham Stott <grahams@redhat.com>
1410
1411 * expr.c (store_constructor): If a field is non addressable and
1412 the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
1413
f9b697bf
BS
14142000-11-23 Bernd Schmidt <bernds@redhat.co.uk>
1415
1416 * flow.c (print_rtl_and_abort): New function.
1417 (verify_wide_reg, verify_local_live_at_start): Try to dump more
1418 information before aborting.
1419
69295d6d
AO
14202000-11-23 Alexandre Oliva <aoliva@redhat.com>
1421
1422 * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
1423 is narrower than requested mode.
1424 (gen_highpart): Abort if register mode is narrower than
1425 requested mode.
1426
99a9c946
GS
14272000-11-23 Graham Stott <grahams@redhat.com>
1428
1429 * cse.c (cse_insn): Initialise all regcost variables.
1430 Fix a typo add missing '='.
1431 Only compare costs if there is a replacement insn.
1432
422be3c3
AO
1433Thu Nov 23 04:33:33 2000 Alexandre Oliva <aoliva@redhat.com>
1434
1435 * final.c (output_addr_const) [LABEL_REF]: Simplify.
1436 [MINUS]: Enclose non-CONST_INTs in parentheses.
1437 [default]: Try OUTPUT_ADDR_CONST_EXTRA.
1438 * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
1439 * varasm.c (decode_rtx_const) [CONST]: If it's not something
1440 PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
1441 instead of abort()ing.
1442 * sh.c (output_pic_addr_const): Removed. Fixed all callers.
1443 * sh.h (OUTPUT_ADDR_CONST_EXTRA): New. Handle the UNSPECs
1444 formerly handled in output_pic_addr_const.
1445 * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
1446 operands of MINUS in CONSTs so that decode_rtx_const() will
1447 accept them.
1448
43c05634
AO
1449Thu Nov 23 04:10:30 2000 Alexandre Oliva <aoliva@redhat.com>
1450
1451 * config/sh/sh.md (mova_const): New pattern.
1452 (GOTaddr2picreg): Use it.
1453 * config/sh/sh.c (broken_move): Match it.
1454 (mova_p): Don't match it.
1455 (machine_dependent_reorg): Adjust it.
1456
4773afa4
AO
1457Thu Nov 23 02:09:09 2000 Alexandre Oliva <aoliva@redhat.com>
1458
1459 * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
1460 Moved most register-number #defines...
1461 * config/sh/sh.md (define_constants): ... here. Use macros to
1462 refer to registers and unspecs.
1463 * config/sh/sh.c: Likewise.
1464
9196ece5
R
1465Thu Nov 23 01:01:32 2000 J"orn Rennecke <amylaar@redhat.com>
1466
1467 * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
1468 (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
1469 (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
1470 (splay-tree.o, hash.o): Likewise.
1471 GCONFIG_H: New.
1472 (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
1473 (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
1474 (hashtab.o): Likewise.
1475 (gcov.o): Depend on $(CONFIG_H).
1476 * configure.in: #include insn-codes.h in tm.h.
1477
48a08b9c
NC
14782000-11-22 Nick Clifton <nickc@redhat.com>
1479
57f56af4
NC
1480 * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
1481 const char * to avoid a compile time warning.
1482
48a08b9c
NC
1483 * config/arm/arm.md (define_constants): Define symbolic names for
1484 the link register, last integer register and the fake CC register.
1485 Update patterns to use these symbolic names.
1486
4a5b68a2
NB
14872000-11-22 Neil Booth <neilb@earthling.net>
1488
1489 * cpplex.c (trigraph_ok): Ensure we don't warn twice.
1490 * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
1491
a165f034
RH
14922000-11-22 Richard Henderson <rth@redhat.com>
1493
1494 * haifa-sched.c (sched_analyze_1): Don't special-case calls
1495 for clobbering registers.
1496 (sched_analyze_2): Likewise.
1497 (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
1498
10ebf5fe 14992000-11-22 Chris Demetriou <cgd@sibyte.com>
a165f034 1500 Neil Booth <neilb@earthling.net>
10ebf5fe 1501
a165f034
RH
1502 * gcc.c (validate_switches): Validate multiple switches named
1503 in '|' (or) expressions in specs.
1504 (handle_braces): If more than 1 alternative in a '|' spec
1505 matches, call do_spec1 just once.
10ebf5fe 1506
fb0b2546
MM
15072000-11-22 Michael Meissner <meissner@redhat.com>
1508
1509 * d30v.h (TARGET_SWITCHES): Add documentation strings.
1510 (TARGET_OPTIONS): Ditto.
1511 (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
1512 -O3.
1513
67d6f2fc
JL
1514Wed Nov 22 06:40:56 2000 Jeffrey A Law (law@cygnus.com)
1515
1516 * pa.c (hppa_encode_label): Account for addition of encoding
1517 character when allocating persistent space for the new label
1518 name.
1519
d1209685
ZW
15202000-11-22 Zack Weinberg <zack@wolery.stanford.edu>
1521
1522 * Makefile.in, config.gcc, configure.in: Expunge remaining
1523 traces of facility for running MD files through C preprocessor.
1524
c01a508e
JM
15252000-11-22 Joseph S. Myers <jsm28@cam.ac.uk>
1526
1527 * gcov.texi: Add magic comments for texi2pod.pl.
1528 * Makefile.in: Add rules to generate and install gcov.1.
1529 * gcov.1: New (generated) file.
1530
a125d855
RH
15312000-11-21 Richard Henderson <rth@redhat.com>
1532
1533 * regrename.c (scan_rtx_reg): Terminate the chain rather than
1534 abort on mark_read with NO_REGS.
1535
ed311407
MS
15362000-11-21 Mike Stump <mrs@wrs.com>
1537
1538 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
1539 compilation with older compilers, such as /bin/cc on SunOS.
1540 * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
1541
cac16ef9
RH
15422000-11-21 Richard Henderson <rth@redhat.com>
1543
1544 * varasm.c (record_constant): Pad the constructed
1545 constant_descriptor appropriately.
1546
c25c12b8
R
1547Wed Nov 22 00:52:55 2000 J"orn Rennecke <amylaar@redhat.com>
1548
1549 * rtl.h (traverse_md_constants): Declare.
1550 (struct md_constant): Define.
1551 * Makefile.in (HOST_RTL): Add hashtab.o .
1552 (OBJS): Add hashtab.o .
1553 (hashtab.o): New rule.
1554 (rtl.o): Depends on HASHTAB_H.
1555 * rtl.c (hashtab.h): #include.
1556 (md_constants): New static variable.
1557 (def_hash, def_name_eq_p, read_constants): New static functions.
1558 (traverse_md_constants): New function.
1559 (read_name): Do constant expansion.
1560 (read_rtx): Recognize define_constants.
1561 * gencodes.c (print_md_constant): New function.
1562 (main): Emit #defines for all constant definitions encountered.
1563 * md.texi (Constant Definitions): New node.
1564 * gensupport.c (xcalloc): New function.
1565
f940c352
RH
15662000-11-21 Richard Henderson <rth@redhat.com>
1567
1568 * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
1569 * config/alpha/alpha-protos.h: Declare it.
1570 * config/alpha/alpha.md (abstf_internal): Use it.
1571 (negtf_internal): Likewise.
1572 (andnotdi3): Unstar the name.
1573 (movtf_internal): Add o/G alternative.
1574
dfc55970
ZW
15752000-11-21 Zack Weinberg <zack@wolery.stanford.edu>
1576
1577 * stringpool.c (stringpool_statistics): Also report number and
1578 percentage of entries which are identifiers.
1579
d1cc928a
DN
15802000-11-21 Diego Novillo <dnovillo@redhat.com>
1581
1582 * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
1583 visited before visiting it.
1584
70f24e49
NC
15852000-11-21 Nick Clifton <nickc@redhat.com>
1586
1587 * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
1588 TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
1589
1590 * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
1591
3fe30ff6
RH
15922000-11-21 Richard Henderson <rth@redhat.com>
1593
1594 * c-common.c (c_unsafe_for_reeval): New function.
1595 (add_c_tree_codes): Register it.
1596 * c-common.h: Declare it.
1597 * tree.c (lang_unsafe_for_reeval): New hook.
1598 (unsafe_for_reeval): Call it.
1599 * tree.h: Declare it.
1600
3adbce3d
RH
16012000-11-21 Richard Henderson <rth@redhat.com>
1602
1603 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
1604 references as well.
1605
0736a307
NB
16062000-11-21 Neil Booth <neilb@earthling.net>
1607
a165f034 1608 * do_includes: Revert to using cpp_read_file.
0736a307 1609
52e12ad0
BS
16102000-11-21 Bernd Schmidt <bernds@redhat.co.uk>
1611
847dde95
BS
1612 * loop.c (consec_sets_giv): If the reg we're examining is anything
1613 but UNKNOWN_INDUCT, do nothing.
1614 Reset the reg's type to UNKNOWN_INDUCT before returning.
1615
52e12ad0
BS
1616 Mostly from Vladimir Makarov (vmakarov@redhat.com)
1617 * ia64.md (attr itanium_class): Define insn types as described in
1618 Itanium docs.
1619 (all insn patterns): Use itanium_class, not type attributes.
1620 Occasionally split alternatives as necessary.
1621 (attr type): Compute from new attr itanium_class.
1622
b3e2d1eb
KG
16232000-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1624
1625 * tradcpp.c (output_line_command): Mark system headers as such in
1626 `line' commands.
1627
0faf814f
JJ
16282000-11-21 Jakub Jelinek <jakub@redhat.com>
1629
1630 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
1631 support in as as well.
1632 * configure: Regenerate.
1633
3aac38d7
RH
16342000-11-20 Richard Henderson <rth@redhat.com>
1635
1636 * c-lex.c (orig_filename): New variable.
1637 (init_c_lex): Set it. Move call to cpp_start_read ...
1638 (yyparse): ... here. New function.
1639 * c-parse.in (yyparse_1): Rename the parser entry point.
1640 * c-tree.h: Declare it.
1641
6b16805e
JJ
16422000-11-21 Jakub Jelinek <jakub@redhat.com>
1643
1644 * expr.c (do_compare_and_jump): If op0 was replaced by promoted
1645 integer constant, use type of op1 for comparison.
1646
18922061
SS
16472000-11-20 Stan Shebs <shebs@apple.com>
1648
1649 * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
1650 * config/rs6000/x-darwin: New file, Darwin host fragment.
1651 * config.gcc (powerpc-*-darwin*): New host.
1652 * system.h (HAVE_DESIGNATED_INITIALIZERS): Allow this to be
1653 overridden by a config file.
1654
d63eefbf
NB
16552000-11-20 Neil Booth <neilb@earthling.net>
1656
1657 * cppmacro.c (paste_tokens): Rename from paste_payloads.
1658 Change token type after pasting spellings.
1659 (paste_all_tokens): Use it.
1660 * gcc.dg/cpp/paste2.c: Update test.
1661 * objc/execute/paste.m: New test.
1662
21bc13c9
RH
16632000-11-20 Richard Henderson <rth@redhat.com>
1664
1665 * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
1666 dwarf_subscr_data_formats bits.
1667 * dwarfout.c (simple_type_size_in_bits): Handle a type with
1668 no computed size as size zero.
1669 (field_byte_offset): Likewise.
1670 (subscript_data_attribute): Handle a range with no upper bound.
1671
250333d0
KG
16722000-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1673
1674 * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
1675
1d7ff272
JM
16762000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
1677
1678 * c-typeck.c (build_conditional_expr): When merging type
1679 qualifiers for conditional expressions between a pointer and a
1680 pointer to a void type, merge the qualifiers on the target types
1681 rather than the pointer type. Remove obsolete conditioned out
1682 code.
1683
dd07b884
NB
16842000-11-20 Neil Booth <neilb@earthling.net>
1685
1686 * c-lang.c (lang_init_options): Update call to
1687 cpp_reader_init.
1688 * cppmain.c (main): Similarly.
1689 * fix-header.c (read_scan_file): Similarly.
1690 * cp/lex.c (lang_init_options): Similarly.
1691 * objc/objc-act.c (lang_init_options): Similarly.
1692 * cppexp.c (parse_number): Only warn for unextended C89.
1693 * cppinit.c (set_lang): New function.
1694 (cpp_reader_init): Take a LANG argument and pass it to set_lang.
1695 (COMMAND_LINE_OPTIONS): New option std=c++98.
1696 (cpp_handle_option): Use set_lang.
1697 * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
1698 * cppib.h (enum_c_lang): New enumeration. Update comments.
1699
8d50dfb8
WC
17002000-11-20 Will Cohen <wcohen@redhat.com>
1701
1702 * calls.c (expand_call): Clear target only when target is in
1703 hard register and current_function_check_memory_usage is set.
1704
bd675859
BS
17052000-11-20 Bernd Schmidt <bernds@redhat.co.uk>
1706
1707 * toplev.c (rest_of_compilation): Run optimize_mode_switching even
1708 if not optimizing.
1709 * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
1710
3df18884
RH
17112000-11-19 Richard Henderson <rth@redhat.com>
1712
52403abb
RH
1713 * crtstuff.c (force_to_data): Use array size 1 not 0.
1714
3df18884
RH
1715 * dwarf2out.c (simple_type_size_in_bits): Handle a type with
1716 no computed size as size zero.
1717 (field_byte_offset): Likewise.
1718
cfd1c7ea
JM
17192000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
1720
1721 * config.gcc: Fix another typo.
1722
a25f1211
RH
17232000-11-19 Richard Henderson <rth@redhat.com>
1724
1725 * c-decl.c (grokdeclarator): Support flexible array members.
1726 Use open-ended ranges for these and zero-length arrays.
1727 * c-typeck.c (push_init_level): Validate the context of
1728 initialization of a zero-length array.
1729 * tree.c (int_fits_type_p): Be prepared for missing bounds.
1730 * varasm.c (array_size_for_constructor): New.
1731 (output_constructor): Use it for arrays of unspecified length.
1732 * extend.texi (Zero Length): Mention C99 flexible array members.
1733 Document initialization in a top-level struct as valid.
1734
65fa2185
JM
17352000-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
1736
9e8fc4b8
JM
1737 * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
1738
65fa2185
JM
1739 * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
1740 stdarg and varargs functions.
1741
2e59adac
ZW
17422000-11-19 Zack Weinberg <zack@wolery.stanford.edu>
1743
1744 * gcc.c (process_command): Define 'j' variable when
1745 MODIFY_TARGET_NAME is defined.
1746
856442b6
RH
17472000-11-19 Richard Henderson <rth@redhat.com>
1748
1749 * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
1750
88c1e412
FS
17512000-11-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1752
1753 * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
1754 calculation and allocation.
1755
ce1cc601
KG
17562000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1757
1758 * builtins.c (c_getstr): Constify variable.
1759 * gmon-sol2.c (_mcleanup): Comment out #endif labels.
1760 * conflict.c (const_conflict_graph_arc): New typedef.
1761 (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
1762 * cppmacro.c (builtin_macro): Likewise.
1763 * dwarf2out.c (output_comp_unit): Constify variable.
1764 * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
1765 * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
1766 * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
1767 away const-ness.
1768 * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
1769 ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
1770 * varasm.c (const_str_htab_hash, const_str_htab_eq,
1771 compare_constant_1, record_constant_1): Constify.
1772
967e627a
RH
17732000-11-18 Richard Henderson <rth@redhat.com>
1774
1775 * c-decl.c (grokdeclarator): Special case the creation of an
1776 index for a zero-length array.
1777 * tree.c (build_index_type): Revert Oct 20 change.
1778
e9284adf
MM
17792000-11-18 Marek Michalkiewicz <marekm@linux.org.pl>
1780
1781 * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
1782 * config/avr/avr.c (jump_tables_size): New variable.
1783 (function_prologue): Initialize it as 0.
1784 (function_epilogue): Add it to function_size.
1785 (avr_output_addr_vec_elt): New function. Count words in jump
1786 tables in jump_tables_size. Move code ...
1787 * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
1788 Call avr_output_addr_vec_elt instead.
1789 * config/avr/avr.md (tablejump): Remove disabled define_expand.
1790
67c72a63
MM
17912000-11-18 Mark Mitchell <mark@codesourcery.com>
1792
1793 * configure.in: Make --enable-new-gxx-abi the default.
1794 * configure: Likewise.
1795
0a8ad417
KG
17962000-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1797
1798 * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
1799
1800 * tradcif.y: Include tradcpp.h. Constify. Make functions static.
1801 Move extern function declarations to tradcpp.h.
1802
1803 * tradcpp.c: Likewise.
1804
1805 * tradcpp.h: New file.
1806
77c4d6c0
JM
18072000-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
1808
1809 * c-decl.c (check_for_loop_decls): New function.
1810 * c-parse.in (for_init_stmt): New.
1811 (select_or_iter_stmt): Use for_init_stmt.
1812 * c-tree.h (check_for_loop_decls): New declaration.
1813
4a58aab6
NB
18142000-11-18 Neil Booth <neilb@earthling.net>
1815
1816 * cppinit.c: Update comments.
1817 (cpp_reader_init): Make -imacro and -include use the standard
1818 #include "" search path.
1819 (do_includes): New function.
1820
c3e2d242
BE
18212000-11-18 Ben Elliston <bje@redhat.com>
1822
1823 * config/sh/crt1.asm (start_l): Move PC-relative move instruction
1824 out of a branch delay slot.
1825
48adb36e
RH
18262000-11-17 Richard Henderson <rth@redhat.com>
1827
1828 * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
1829 (ASM_SPEC): Disable and enable .mdebug based on -gstabs.
1830 (ASM_FILE_START): Only write out ecoff .file directive if
1831 emitting mdebug debugging.
1832
9d147085
RH
18332000-11-17 Richard Henderson <rth@redhat.com>
1834
1835 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New. Detect
1836 whether as accepts .file/.loc and produces dwarf2 line info.
1837 * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
1838 the assembler supports it.
1839 * config.in, configure: Regenerate.
1840
5b87e928
RH
18412000-11-17 Richard Henderson <rth@redhat.com>
1842
1843 * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
1844
95c8e04b
JW
18452000-11-17 Jim Wilson <wilson@redhat.com>
1846
1847 * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
1848 Don't clear need_barrier is next_insn is a CALL_INSN, or has
1849 instruction type B or UNKNOWN.
1850
14fbab6d
NB
18512000-11-17 Neil Booth <neilb@earthling.net>
1852
a25f1211 1853 * cpperror.c (print_file_and_line): Don't display line number if 0.
14fbab6d 1854
a8a05998
ZW
18552000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
1856
1857 * ggc.h: Delete ggc_add_string_root and ggc_mark_string. Add
1858 digit_vector and digit_string.
1859 * stringpool.c (digit_vector): New.
1860 (ggc_alloc_string): Use digit_string.
1861
1862 * stmt.c (digit_strings): Delete.
1863 (init_stmt): Do not initialize digit_strings.
1864 (expand_asm_operands): Use ggc.h's digit_string macro.
1865 * toplev.c (mark_file_stack): Delete.
1866 (compile_file): Don't call init_tree_codes.
1867 (main): No need to make the file stack a GC root.
1868 * tree.c (init_tree_codes): Delete.
1869 * tree.h (init_tree_codes): Delete.
1870
1871 * c-lex.c: Don't include ggc.h.
1872 (mark_splay_tree_node, mark_splay_tree): Delete.
1873 (init_c_lex): No need to ggc_strdup string constant. Don't add
1874 file_info_tree to GGC roots.
1875 (cb_enter_file, cb_rename_file): No need to ggc_strdup
1876 ip->nominal_fname.
1877
1878 * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
1879
1880 * dbxout.c (dbxout_init),
1881 dwarf2out.c (dwarf2out_line),
1882 ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
1883 varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
1884 xcoffout.c (xcoffout_source_file),
1885 i386.c (load_pic_register):
1886 Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
1887
1888 * except.c (create_rethrow_ref),
1889 profile.c (init_edge_profiler),
1890 toplev.c (compile_file),
1891 varasm.c (named_section, assemble_static_space,
1892 assemble_trampoline_template, output_constant_def, force_const_mem),
1893 i386.c (load_pic_register),
1894 ia64.c (ia64_encode_section_info),
1895 rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
1896 rs6000_emit_prologue, rs6000_emit_epilogue),
1897 rs6000.md (load_toc_aix_si, load_toc_aix_di):
1898 Change ggc_alloc_string (var, -1) to ggc_strdup (var).
1899
1900 * profile.c (output_func_start_profiler),
1901 tree.c (make_node),
1902 i386.c (load_pic_register): No need to ggc_strdup string constant.
1903
61ed06c3
HPN
19042000-11-17 Hans-Peter Nilsson <hp@axis.com>
1905
1906 * Makefile.in (config.status): Depend on config.gcc.
1907 * configure.in <for machine in $build $host $target>: Move
1908 contents of loop into config.gcc, removing autoconf quoting.
1909 Fix changequote bug for alpha*-*-vxworks*.
1910 * configure: Regenerate.
1911 * config.gcc: New.
1912
520a57c8
ZW
19132000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
1914
1915 * c-parse.in (if_prefix): Find the filename and line number at
1916 $-2 and $-1 respectively.
1917 * diagnostic.c (error_recursion): Add missing newline, use
1918 fputs, translate string.
1919
19202000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
1921
1922 * stringpool.c: New file.
1923 * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
1924 (ggc_alloc_string): Now in stringpool.o.
1925 * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
1926 * ggc.h: Delete prototype of ggc_add_string_root. #define
1927 ggc_add_string_root and ggc_mark_string to nothing. Prototype
1928 init_stringpool and stringpool_statistics.
1929 (ggc_alloc_string): Returns a const char *.
1930 * tree.c (hash_table, do_identifier_warnings): Delete.
1931 (init_obstacks): Don't initialize the identifier hash table.
1932 (get_identifier, maybe_get_identifier, start_identifier_warnings,
1933 set_identifier_size): Now in stringpool.c.
1934 * tree.h (struct tree_string): Constify pointer field.
1935 (approx_sqrt): Prototype.
1936
1937 * Makefile.in (stringpool.o): Add rule, mention in OBJS.
1938
1939 * toplev.c (approx_sqrt): New function.
1940 (compile_file): Call stringpool_statistics if mem_report is on.
1941 (main): Call init_stringpool.
1942
1943 * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
1944 (process_directive), c-typeck.c (constructor_asmspec, struct
1945 initializer_stack, start_init), except.c (create_rethrow_ref),
1946 stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
1947 (built_in_filename), varasm,c (in_named_name,
1948 assemble_static_space, struct constant_descriptor, struct
1949 deferred_string, struct pool_constant, force_const_mem),
1950 i386.c (pic_label_name, global_offset_table_name), rs6000.c
1951 (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
1952
1953 * c-common.c (combine_strings): Combine strings in scratch
1954 buffer, then pass to build_string.
1955 * optabs.c (init_libfuncs), profile.c (init_edge_profiler,
1956 output_func_start_profiler), stmt.c (init_stmt), alpha.c
1957 (alpha_need_linkage), arm.c (arm_encode_call_attribute),
1958 i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
1959 rs6000.c (rs6000_encode_section_info): Create string in
1960 scratch buffer, then pass to ggc_alloc_string.
1961
1962 * stmt.c (expand_asm_operands): If we must adjust the
1963 constraint strings, do so by creating a new one, not by
1964 modifying the old one in place. Constify some char *s.
1965 * config/pa/pa.c (hppa_encode_label): Drop unnecessary second
1966 argument. Create string in scratch buffer, then pass to
1967 ggc_alloc_string.
1968 * config/pa/pa-protos.h: Update prototype.
1969 * config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
1970 hppa_encode_label takes only one argument.
1971
dd3b81b4
KG
19722000-11-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1973
1974 * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
1975 malloc/realloc.
1976
1977 * cpplib.c (glue_header_name): Likewise.
1978
1979 * fixincl.c (run_compiles, start_fixer): Likewise.
1980
1981 * fixlib.c (load_file_data): Likewise.
1982
1983 * mkdeps.c (munge): Likewise.
1984
5074c1fe
HPN
19852000-11-17 Hans-Peter Nilsson <hp@axis.com>
1986
1987 * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
1988 trailing ';'. Fix formatting.
1989
74fe26b2
JW
19902000-11-16 Jim Wilson <wilson@redhat.com>
1991
35d9f39d
JW
1992 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
1993 Shift masks left by one to avoid conflict.
1994
74fe26b2
JW
1995 * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
1996 DECL_EXTERNAL set.
1997
68dfd979
NC
19982000-11-16 Nick Clifton <nickc@redhat.com>
1999
2000 * config/arm/arm.c (output_arm_prologue): Note nested functions.
2001 (arm_expand_prologue): For nested functions preserve the
2002 static chain register during stack frame creation.
2003
2004 * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
2005 (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
2006 with a stack frame there is a 4 byte gap between the arg
2007 pointer and the hard frame pointer (used to preserve the
2008 static chain register during stack frame creation).
2009
3ab9a08f
DD
20102000-11-16 DJ Delorie <dj@redhat.com>
2011
2012 * rtl.c (read_rtx): Provide suitable names for unnamed
2013 define_insn and define_insn_and_split patterns, based on file
2014 and line numbers.
2015
fe6c2db9
NB
20162000-11-15 Neil Booth <neilb@earthling.net>
2017
a8a05998
ZW
2018 * cpplib.c (start_directive, end_directive): New functions.
2019 (_cpp_handle_directive, run_directive): Use them.
2020 (_cpp_handle_directive): Don't -Wtraditional on indented
2021 null directives.
2022 (_cpp_push_buffer): Don't re-clear was_skipping.
2023 * cpplib.h (struct cpp_reader): New member la_saved.
2024 * cppmacro.c (cpp_get_token): Don't interpret _Pragma in
2025 directives.
fe6c2db9 2026
a8a05998
ZW
2027 gcc.dg/cpp/_Pragma1.c: Update.
2028 gcc.dg/cpp/_Pragma2.c: New test.
fe6c2db9 2029
62136084
MM
20302000-11-15 Mark Mitchell <mark@codesourcery.com>
2031
2032 * toplev.c (wrapup_global_declarations): Don't write out
2033 artificial static variables that aren't needed.
2034
099dde21
BS
20352000-11-15 Bernd Schmidt <bernds@redhat.co.uk>
2036
2037 * ia64.c (struct group): New structure.
2038 (last_group): New static array.
2039 (group_idx): New static variable.
2040 (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
2041 New static functions.
2042 (emit_insn_group_barriers): Initialize and keep track of group_idx
2043 and last_group.
2044 Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
2045 Replace all calls to emit_insn_after that emit a group barrier to use
2046 emit_group_barrier_after.
2047 * ia64.h (MASK_B_STEP): New.
2048 (other MASK_XXX macros): Renumbered.
2049 (TARGET_B_STEP): New.
2050 (TARGET_SWITCHES): Add -mb-step.
2051
4e7b85ed
FF
20522000-11-15 Fred Fish <fnf@be.com>
2053
2054 * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
2055 machines for which fixincludes is not needed.
2056 * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
2057
ee3400e8
JM
20582000-11-15 Jason Merrill <jason@redhat.com>
2059
2060 * diagnostic.c (finish_abort): New fn.
2061 (fancy_abort, error_recursion): Use it.
2062 * toplev.c (crash_signal): Likewise.
2063 * diagnostic.h: Declare it.
2064
12e1243e
AH
20652000-11-13 Andrew Haley <aph@redhat.com>
2066
2067 * tree.c (build_type_no_quals): New function.
2068 * tree.h (build_type_no_quals): Declare.
2069 * c-common.c (c_get_alias_set): When considering type
2070 compatibility for pointer types, ignore cv-qualifiers anywhere in
2071 a pointer chain.
2072
695e4773
GS
20732000-11-15 Graham Stott <grahams@redhat.com>
2074
2075 * regrename.c (scan_rtx_rtx): Skip to the next chain on
2076 encountering a terminated chain.
2077
5a7c1037
MM
20782000-11-14 Mark Mitchell <mark@codesourcery.com>
2079
2080 * configure.in: Move check for V3 above check for C++ header-file
2081 directory.
2082 * configure: Regenerated.
a8a05998 2083
568c5140
DD
20842000-11-14 DJ Delorie <dj@redhat.com>
2085
2086 * config/v850/v850.c: Remove obstacks.
2087
1268b05f
MM
2088Tue Nov 14 21:54:31 2000 Marek Michalkiewicz <marekm@linux.org.pl> & Denis Chertykov <denisc@overta.ru>
2089
2090 * config/avr/avr.c (avr_case_values_threshold): New.
2091 (avr_override_options): Set it depending on options, make it large
2092 when not optimizing to work around "unable to generate reloads".
2093
2094 * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
2095 (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
2096 executable if not AVR_MEGA. Make sure jump tables are word-aligned.
2097 (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
2098 (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
2099 (avr_case_values_threshold): Declare as extern int.
2100 (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
2101
2102 * config/avr/avr.md (tablejump): Removed.
2103 (*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
2104 (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
2105 index in the table, not multiplied by 2.
2106 (casesi): Change to match the above insns. Always enable.
2107
2108 * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
2109 Change to expect the word address of the table, multiply it by 2
2110 here and not in the caller. Change "adiw" to faster "inc".
2111
7f2f1a66
NB
21122000-11-14 Neil Booth <neilb@earthling.net>
2113
2114 * cppexp.c (parse_defined): Call cpp_get_token not
2115 _cpp_get_token.
2116 (lex): Similarly.
2117 * cpplex.c (cpp_output_line): Similarly.
2118 * cpplib.c (glue_header_name, do_line, do_ident,
2119 parse_answer, parse_assertion): Similarly.
2120 (_cpp_handle_diretive): Don't save to lookaheads
2121 when processing directives.
2122 * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
2123 _cpp_get_token.
2124 (funlike_invocation_p): Don't save to lookaheads
2125 when pre-expanding arguments.
2126 (_cpp_get_token): Delete.
2127 (cpp_get_token): Merge contents of _cpp_get_token.
2128
f36d6244
JJ
21292000-11-14 Jakub Jelinek <jakub@redhat.com>
2130
2131 * builtins.c (expand_builtin_setjmp): Set
2132 current_function_calls_setjmp.
2133 (expand_builtin_longjmp): Set current_function_calls_longjmp.
2134
2135 * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
2136 (do_builtin_setjmp_setup): New insn.
2137
3401c26b
RK
2138Tue Nov 14 12:34:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2139
2140 * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
2141 (int_fits_type_p): For variable bounds, call force_fit_type.
2142
bd7cf17e
JJ
21432000-11-14 Jakub Jelinek <jakub@redhat.com>
2144
2145 * varasm.c (struct deferred_string): New structure.
2146 (const_str_htab): New variable.
2147 (STRHASH): New macro.
2148 (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
2149 constr_str_htab_eq, const_str_htab_del): New functions.
2150 (output_constant_def): Add DEFER argument, defer string
2151 constants until mark_constant_pool time if requested.
2152 (mark_constant_pool): Walk the insn chain even if const_str_htab is
2153 not empty.
2154 (mark_constants): If a SYMBOL_REF for deferred string is found,
2155 output it and remove from hash table.
2156 (output_addressed_constants): Set DEFER to 0 in call to
2157 output_constant_def.
2158 * rtl.h (STRING_POOL_ADDRESS_P): Define.
2159 (output_constant_def): Adjust prototype.
2160 * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
2161
10e927ef
CC
21622000-11-14 Chandrakala Chavva <cchavva@redhat.com>
2163
2164 * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
2165 signed types if flag_trapv.
2166
ef90743a
ZW
21672000-11-14 Zack Weinberg <zack@wolery.stanford.edu>
2168
2169 * tradcpp.c, tradcif.y: Update FSF mailing address, delete
2170 reference to GPLv1.
2171
fe8ca71f
JM
21722000-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
2173
2174 * c-common.h (CTI_C_SIZE_TYPE): Update comment.
2175
94b01be3
JJ
21762000-11-14 Jakub Jelinek <jakub@redhat.com>
2177
2178 * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
2179 to array of pool_constnat pointers.
2180 (struct pool_constant): Add next_sym and label members.
2181 (struct pool_sym): Remove.
2182 (init_varasm_status): Change pool_sym into pool_constant.
2183 (mark_pool_constant): Mark pc->label string as well.
2184 (mark_pool_sym_hash_table): Remove.
2185 (mark_varasm_status): Remove it from caller as well.
2186 (free_varasm_status): Don't free pool_sym structures.
2187 (force_const_mem): Don't allocate pool_sym structure, instead
2188 fill pool->label and chain it into rtx_sym hash table.
2189 (find_pool_constant, mark_constant_pool): Use pool_constant instead
2190 of pool_sym.
2191
716120a7
JJ
21922000-11-14 Jakub Jelinek <jakub@redhat.com>
2193
2194 * reload1.c (emit_input_reload_insns): Honour forcing of constants
2195 into memory by PREFERRED_RELOAD_CLASS NO_REGS.
2196
f8032688
MM
21972000-11-14 Michael Matz <matzmich@cs.tu-berlin.de>
2198
2199 * dominance.c: New file.
2200 * Makefile.in (OBJS): Add dominance.o.
2201
2202 * flow.c (compute_flow_dominators): Remove.
2203 (compute_immediate_dominators): Remove.
2204 (compute_immediate_postdominators): Remove.
2205 * basic-block.h: Remove their prototypes.
2206 (calculate_dominance_info): Add prototype.
2207
2208 * dce.c (eliminate_dead_code): Change calls to above functions.
2209 Don't compute dominators but only immediate dominators.
2210 * flow.c (flow_loops_find): Change callers.
2211 * gcse.c (compute_code_hoist_data): Likewise.
2212 * haifa-sched.c (schedule_insns): Likewise.
2213 * ifcvt.c (if_convert): Likewise.
2214 * ssa.c (convert_to_ssa): Likewise, and only compute immediate
2215 dominators.
2216
0caa3c8e
RH
22172000-11-14 Richard Henderson <rth@redhat.com>
2218
6f122550
RH
2219 * stmt.c (warn_if_unused_value): Don't warn if the expression
2220 has side effects.
2221
0caa3c8e
RH
2222 * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
2223 (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
2224
a78cc542
FS
22252000-11-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2226
2227 * loop.c (basic_induction_var): Revert accidental checkin.
2228
d9068c61
HPN
22292000-11-13 Hans-Peter Nilsson <hp@axis.com>
2230
2231 * c-lex.c (cb_leave_file): Harmonize conditions and order of
2232 statements to those of process_directive for (action == act_pop).
2233
2234 * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
2235
2236 * local-alloc.c (equiv_init_movable_p): References to CC0 are not
2237 movable.
2238
ebf02523
JM
22392000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2240
2241 * c-parse.in (stmts_and_decls): Deprecate use of label at end of
2242 compound statement.
2243
29b10746
NB
22442000-11-13 Neil Booth <neilb@earthling.net>
2245
ee3400e8
JM
2246 * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
2247 cases return without MI check.
2248 * cpplib.c (do_diagnostic): Take boolean of whether to
2249 print the directive name.
2250 (do_error, do_warning): Update.
2251 (do_pragma_dependency): Use it.
2252 * cpplib.h (VARARGS_FIRST): Delete.
2253 (struct cpp_token): Delete integer.
2254 * cppmacro.c (enter_macro_context): Move disabled check
2255 to _cpp_get_token.
2256 (_cpp_get_token): Simplify into a single loop.
29b10746 2257
8105825d
RE
22582000-11-13 Richard Earnshaw <rearnsha@arm.com>
2259
2260 * configure.in: Use 'test -f' not '[ -e'.
2261 * configure: Regenerated.
2262
481a6b4a
DD
22632000-11-13 DJ Delorie <dj@redhat.com>
2264
2265 * config/mn10300/mn10300.md (store_movm): Note which registers are
2266 really used or clobbered.
2267
b7438415
JM
22682000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2269
2270 * c-parse.in (ends_in_label): Remove from %union and %type.
2271 (decls, stmts, lineno_stmt_or_labels, xstmts,
2272 lineno_stmt_or_label, stmt_or_label): Remove.
2273 (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
2274 lineno_stmt_decl_or_labels_ending_decl,
2275 lineno_stmt_decl_or_labels_ending_label,
2276 lineno_stmt_decl_or_labels_ending_error,
2277 lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
2278 lineno_stmt, lineno_label): New.
2279 (compstmt_nostart): Use compstmt_contents_nonempty.
2280
19552aa5
JM
22812000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2282
2283 * c-common.c (boolean_increment): New function.
2284 * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
2285 CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
2286 (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
2287 (boolean_increment): Declare.
2288 * c-convert.c (convert): Allow for BOOLEAN_TYPE.
2289 * c-decl.c (init_decl_processing): Create boolean nodes.
2290 (finish_struct): Allow for _Bool bitfields.
2291 * c-parse.in (reswords): Add _Bool.
2292 (rid_to_yy): Allow for RID_BOOL.
2293 * c-typeck.c (default_conversion): Make booleans promote to int.
2294 (convert_arguments, build_unary_op, build_modify_expr,
2295 convert_for_assignment): Allow for booleans.
2296 * ginclude/stdbool.h: Make conforming to C99.
2297
444ca59f
JM
22982000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2299
2300 * c-parse.in (c99_block_start, c99_block_end,
2301 c99_block_lineno_labeled_stmt): New.
2302 (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
2303 (stmt): Split off selection and iteration statements into...
2304 (select_or_iter_stmt): New. Use c99_block_lineno_labeled_stmt.
2305
f2ecb02d
JM
23062000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2307
2308 * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
2309 -time): Update.
2310
b082bfdb
RE
23112000-11-13 Richard Earnshaw <rearnsha@arm.com>
2312
2313 * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
2314 Rewrite to avoid use of match_dup. Don't try to tie registers that
2315 are not in the same mode.
2316
b9265ec1
JM
23172000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2318
2319 * invoke.texi: Update lists of languages and suffixes supported.
2320
cc1e60ea
JM
23212000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2322
2323 * configure.in: Take toplevel configure arguments from the
2324 environment to create configargs.h and substitute
2325 gcc_config_arguments, taking account of any existing configargs.h
2326 if reconfiguring.
2327 * configure: Regenerate.
2328 * gccbug.in: Include toplevel configure arguments in gccbug.
2329
37357796
RE
23302000-11-13 Richard Earnshaw <rearnsha@arm.com>
2331
2332 * varasm.c (struct constant_descriptor): Put CONTENTS inside a
2333 union to make it well-aligned. Update all uses.
2334
26d4fec7
JM
23352000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2336
2337 * c-parse.in (initelt): Give appropriate pedantic warnings,
2338 depending on flag_isoc99, for non-ISO syntax and for C99 syntax
2339 outside C99 mode.
2340 (designator): If pedantic, pedwarn for a designator specifying a
2341 range of elements.
2342 * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
2343 these cases.
2344 * extend.texi: Document the C99 syntax as the preferred syntax,
2345 and the pre-2.5 syntax as obsolete. Mention use of designator
2346 lists for nested subobjects.
2347
88f3c477
JM
23482000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
2349
2350 * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
2351 Add ATTRIBUTE_PRINTF.
2352 * tradcpp.c (v_message, warning, error, fatal, error_with_line):
2353 Add ATTRIBUTE_PRINTF*.
2354
db5fbfb4
MM
23552000-11-12 Mark Mitchell <mark@codesourcery.com>
2356
2357 * function.c (assign_parms): When calling put_var_into_stack, make
2358 sure that there are no hidden pending sequences.
2359
c7b6c6cd
KG
23602000-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2361
2362 * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
2363 BUILT_IN_RINDEX. Add missing checks for BUILT_IN_STRCHR and
2364 BUILT_IN_STRRCHR.
2365
2366 * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
2367
2368 * c-common.c (c_common_nodes_and_builtins): Declare index and
2369 rindex when nonansi builtins are allowed.
2370
2371 * extend.texi (index, rindex): Document new builtins.
2372
2f86842d
MM
23732000-11-12 Mark Mitchell <mark@codesourcery.com>
2374
34f6fbdb
MM
2375 * configure.in: Turn on libstdc++ V3 by default.
2376 * configure: Regenerated.
a8a05998 2377
2f86842d
MM
2378 * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
2379
0c0ba09c
JJ
23802000-11-12 Jakub Jelinek <jakub@redhat.com>
2381
2382 * reload1.c (set_label_offsets): Go inside of PARALLELs.
2383
84a0e7b8
JM
23842000-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
2385
2386 * invoke.texi: Clean up option summary.
2387
4816b8e4
NC
23882000-11-12 Nick Clifton <nickc@redhat.com>
2389
2390 * config/mcore/mcore.c: Fix comment formating, and adjust sequence
2391 of #include headers.
2392
ee7692d2 23932000-11-12 Marc Espie <espie@openbsd.org>
a8a05998 2394
ee7692d2
ME
2395 * configure.in: Fix filds test.
2396 * configure: Regen.
2397
f8c4f860
MM
23982000-11-12 Mark Mitchell <mark@codesourcery.com>
2399
2400 * jump.c (delete_computation): Don't assume that just becuase an
2401 instruction sets a register, that register is dead.
2402
b528a07e
NB
24032000-11-12 Neil Booth <neilb@earthling.net>
2404
a8a05998
ZW
2405 * cppexp.c: Don't worry about pfile->skipping.
2406 * cpplib.c (struct if_stack): Make was_skipping unsigned char.
2407 (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
2408 for handled directives.
2409 (skip_rest_of_line): Use _cpp_lex_token after popping contexts
2410 and releasing lookaheads.
2411 (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
2412 (do_else, do_elif, push_conditional): Update logic.
2413 (do_endif): Set buffer->was_skipping rather than pfile->skipping.
2414 (unwind_if_stack): Inline into cpp_pop_buffer.
2415 (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
2416 * cpplex.c (_cpp_lex_token): Clear skipping on EOF. Handle
2417 multiple-include optimisation.
2418 * cpplib.h (struct cpp_buffer): New member was_skipping.
2419 * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping. This
2420 works because skipping == 0 in directives.
2421 (_cpp_release_lookahead): Renamed from release_lookahead.
2422 (cpp_get_token): No need to check skipping as _cpp_get_token does
2423 this for us. No need to handle MI optimisation.
b528a07e 2424
995c461c
MM
2425Sat Nov 11 21:14:02 2000 Mark P Mitchell <mark@codesourcery.com>
2426
2427 * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
2428 declarations that use `__MATH_EXCEPTION' in their prototypes, too.
2429 * fixinc/fixincl.x: Regenerated.
a8a05998 2430
56a77e1e
BK
24312000-11-11 Bruce Korb <bkorb@gnu.org>
2432
2433 * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
2434 (avoid_wchar_t_type): ditto
2435 * fixinc/fixinc.irix: obsoleted
2436
72aaffbd
ZW
24372000-11-11 Zack Weinberg <zack@wolery.stanford.edu>
2438
2439 * configure.in: Don't add $outputs to all_lang_makefiles. Add
2440 $srcdir/$s/Makefile.in if it exists.
2441 * configure: Regenerate.
2442
bbdd639d
MM
2443Sat Nov 11 18:41:20 2000 Mark P Mitchell <mark@codesourcery.com>
2444
2445 * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
2446
d96a6d1a
JM
24472000-11-11 Jason Merrill <jason@redhat.com>
2448
a8a05998 2449 * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
d96a6d1a
JM
2450 give the parm a register and then call put_var_into_stack.
2451 * stmt.c (expand_decl): Likewise.
2452
8ee322c9
JM
24532000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
2454
2455 * gcc.texi: Adjust wording.
2456
8b4c8a86
MM
24572000-11-11 Mark Mitchell <mark@codesourcery.com>
2458
2459 * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
2460 * fininc/fixincl.x: Regenerated.
2461
639726ba
JM
24622000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
2463
2464 * invoke.texi: Correct spelling of -foptimize-register-move.
2465
4c2b647d
NB
24662000-11-11 Neil Booth <neilb@earthling.net>
2467
2468 Remove CPP_PLACEMARKERs.
2469
2470 * cppexp.c (lex): Don't handle CPP_PLACEMARKER.
2471 * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
2472 * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
a8a05998 2473 Similarly.
4c2b647d
NB
2474 * cpplib.h: Remove CPP_PLACEMARKER.
2475 (struct lexer_state): Rename skip_newlines to next_bol.
2476 * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
2477 Simplify prev_white handling as a result.
2478 (paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
2479 (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
2480 (parse_args): Similarly. Update argument count tests.
2481 (enter_macro_context): Return 2 to indicate an empty macro.
2482 (replace_args): Don't bother pre-expanding an empty argument.
2483 Handle placemarkers and ## extension during pre-expansion.
2484 (cpp_get_token): Handle empty macro expansions. Don't worry
2485 about CPP_PLACEMARKERs.
2486 (_cpp_create_definition): Empty macros are now empty.
2487 (cpp_macro_defintion): Don't special case empty macros.
2488 * scan-decls.c: Don't bother with CPP_PLACEMARKERs.
2489 * c-lex.c: Similarly.
2490
c1030c7c
JM
24912000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
2492
2493 * gcc.texi, invoke.texi: Add new section discussing language
2494 standards; link to it where appropriate; refer to ISO C instead of
2495 ANSI C.
2496
93a77848
AO
24972000-11-11 Alexandre Oliva <aoliva@redhat.com>
2498
3650b695
AO
2499 * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
2500 into account.
2501
93a77848
AO
2502 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
2503 modes.
2504
9a5a13c9
JM
25052000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
2506
2507 * gcc.texi, gcov.texi: Update dates and version numbers.
2508
1e608388
ZW
25092000-11-10 Zack Weinberg <zack@wolery.stanford.edu>
2510
2511 * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
2512 flex and bison, specifically, first in a unified build and
2513 then installed on the system.
2514 * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
2515 LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
2516 match.
2517
2518 (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
2519 cppdefault.o): Remove pointless sed munging of source file
2520 name.
2521
9532e31f
BS
25222000-11-10 Bernd Schmidt <bernds@redhat.co.uk>
2523
2524 * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
2525 for address reloads. Push replacements for REG_INC notes.
2526 (regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All
2527 callers changed.
2528 * reload1.c (choose_reload_regs): Registers set in the insn can't be
2529 used for RELOAD_OTHER reloads.
2530
721de836
MM
25312000-11-10 Mark Mitchell <mark@codesourcery.com>
2532
2533 * c-dump.h: New file.
2534
4e135bdd
KG
25352000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2536
2537 * alpha.c (check_float_value): Use memcpy, not bcopy.
2538 * arm.c (output_move_double): Likewise.
2539 * arm.md: Likewise.
2540 * m88k.c (legitimize_operand): Likewise.
2541 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
2542 * m88k.md: Likewise.
2543 * mips.c (override_options): Likewise.
2544 * mips.md: Likewise.
2545 * romp.c (output_fpops): Likewise.
2546 * rs6000.c (rs6000_override_options): Likewise.
2547 * sh.md: Likewise.
2548 * vax.c (check_float_value): Likewise.
2549
2550 * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
2551 * expmed.c (synth_mult): Likewise.
2552 * final.c (add_bb_string): Likewise.
2553 * genattr.c (main): Likewise.
2554 * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
2555 Likewise.
2556 * jump.c (thread_jumps): Likewise.
2557 * prefix.c (save_string): Likewise.
2558 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
2559 * regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
2560 * reload1.c (reload, eliminate_regs): Likewise.
2561
c8abeb44
JM
25622000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
2563
2564 * gcc.texi (Service): Update to reflect current practice and
2565 location of the GNU service directory.
2566
6fb85418
BS
25672000-11-09 Bernd Schmidt <bernds@redhat.co.uk>
2568
2569 * regrename.c (build_def_use): Mark contents of REG_INC notes as
2570 needing replacement.
2571
0c478921
BS
2572 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
2573 a no-op move if regs are equal.
2574 * toplev.c (rest_of_compilation): Do the noop moves elimination pass
a8a05998 2575 when calling jump after post-reload splitting.
0c478921 2576
3b7a2e58
JM
25772000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl>
2578
a8a05998
ZW
2579 * c-tree.texi: Fix typos.
2580 * extend.texi: Likewise
2581 * gcov.texi: Likewise
2582 * rtl.texi: Likewise
2583 * tm.texi: Likewise
3b7a2e58 2584
59257980
HPN
25852000-11-09 Hans-Peter Nilsson <hp@axis.com>
2586
2587 * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
2588 in_system_header and flags[1] before dereferencing flags[2].
2589
881a8969
MH
25902000-11-09 Matthew Hiller <hiller@redhat.com>
2591
2592 * reload1.c (reload_combine): Fixed calculation of
2593 first_index_reg, last_index_reg.
2594
0a7394bc
MM
25952000-11-09 Mark Mitchell <mark@codesourcery.com>
2596
13507bd8
MM
2597 * c-dump.c (dequeue_and_dump): Dump function bodies.
2598
0a7394bc
MM
2599 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
2600 (c-dump.o): New target.
2601 * c-common.h (flag_dump_translation_unit): New variable.
2602 (C_TYPE_QUALS): New macro.
2603 (strip_array_types): New function.
2604 (DECL_C_BIT_FIELD): New macro.
2605 (SET_DECL_C_BIT_FIELD): Likewise.
2606 (CLEAR_DECL_C_BIT_FIELD): Likewise.
2607 (dump_info_p): New typedef.
2608 (dump_tree_fn): Likewise.
2609 (lang_dump_tree): New variable.
2610 (dump_node_to_file): New function.
2611 * c-common.c (flag_dump_translation_unit): Define it.
2612 (strip_array_types): New function.
2613 * c-decl.c (c_decode_option): Handle -fdump-translation-unit.
a8a05998 2614 * c-lang.c (finish_file): Call dump_node_to_file if
0a7394bc
MM
2615 flag_dump_translation_unit.
2616 * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
2617 * c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
2618 * c-dump.c: New file.
a8a05998 2619
abffe289
CF
26202000-11-09 Christopher Faylor <cgf@cygnus.com>
2621
2622 * config/i386/cygwin.h: Add mingw startfile prefix.
2623
1288c070
RH
26242000-11-09 Richard Henderson <rth@redhat.com>
2625
2626 * flow.c (invalidate_mems_from_set): Split out from ...
2627 (mark_set_1): ... here.
2628 (try_pre_increment_1): Use it. Use propagate_block_delete_insn
2629 instead of turning insn into a NOTE_INSN_DELETED.
2630
01702459
JM
26312000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
2632
2633 * extend.texi, invoke.texi: Move documentation of builtin versions
2634 of C library functions to one place and update.
2635
30355eaa
RH
26362000-11-09 Richard Henderson <rth@redhat.com>
2637
2638 * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
2639 the types themselves to discover type equivalence.
2640
5fcee6f3
MS
26412000-11-09 Mike Stump <mrs@wrs.com>
2642
2643 * Makefile.in (distclean): Remove a few extra leftovers.
2644
377b6fce
RH
26452000-11-09 Richard Henderson <rth@redhat.com>
2646
c0e3f87d
RH
2647 * recog.c (validate_replace_rtx_1): Consider subregs when
2648 replacing a register with a constant inside a sign/zero_extend.
2649
377b6fce
RH
2650 * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
2651
b52114d2
GK
26522000-11-09 Geoffrey Keating <geoffk@redhat.com>
2653
2654 * c-decl.c (finish_struct): When a structure is completed,
2655 check all its variant types for completeness.
2656
a949941c
NB
26572000-11-09 Neil Booth <neilb@earthling.net>
2658
2659 * cpphash.c: Move cpp_defined here from cpplib.c.
2660 * cpplib.c: Update comments, move cpp_defined to cpphash.c.
2661 * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
2662 * cppmacro.c (cpp_get_token): Update comments, no need now
2663 to catch the CPP_EOF meaning EOL case.
2664
9a0662b4
GK
26652000-11-08 Geoffrey Keating <geoffk@redhat.com>
2666
2667 * config/sparc/sparc.c (sparc_va_arg): When the required alignment
2668 is more than that provided, copy to a temporary.
2669
6c80a645
AO
26702000-11-09 Alexandre Oliva <aoliva@redhat.com>
2671
2672 * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
2673 interpreting $out as a macro assignment.
2674 * Makefile.in (T_TARGET): New auxiliary macro and target.
2675 (all): Add a target right in the beginning, so that we don't build
2676 T_TARGET by default.
2677
6a4afa6c
GS
26782000-11-09 Graham Stott <grahams@redhat.com>
2679
a8a05998 2680 * config/i386/i386.md (mmx_pinsrw): Output operands in correct
6a4afa6c
GS
2681 order for -mintel-syntax. Remove comment now that the operand
2682 order has been checked.
2683 (mmx_pextrw): Likewise.
2684 (mmx_pshufw): Likewise.
2685
2dee4af1
JJ
26862000-11-09 Jakub Jelinek <jakub@redhat.com>
2687
2688 * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
2689 (c_getstr): New function.
2690 (expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
2691 If both arguments are constant string, optimize out.
2692 (expand_builtin_strchr, expand_builtin_strrchr): New functions.
2693 (expand_builtin_strpbrk): Use c_getstr, do nothing if
2694 -fcheck-memory-usage.
2695 (expand_builtin_fputs): Likewise.
2696 (expand_builtin_strcmp): Add MODE argument.
2697 Use even if !HAVE_cmpstrsi.
2698 Optimize the case when both arguments are constant strings.
2699 (expand_builtin): Adjust expand_builtin_strcmp caller.
2700 Call expand_builtin_strchr and expand_builtin_strrchr.
2701 * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
2702 builtins.
2703 * builtins.def (BUILT_IN_STRRCHR): Add.
2704
97dc9fc0
GP
27052000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2706
2707 * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
2708
2e09e75a
JM
27092000-11-09 Joseph S. Myers <jsm28@cam.ac.uk>
2710
2711 * calls.c (expand_call, emit_library_call_value_1), collect2.c
2712 (scan_prog_file), config/a29k/a29k.c (print_operand),
2713 config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
2714 instead of bcopy ().
2715 * real.h: Use memcmp () instead of bcmp ().
2716 * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
2717 (split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
2718 ultrasparc_sched_init, ultrasparc_sched_reorder),
2719 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
2720 instead of bzero ().
2721 * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
2722 instead of rindex ().
2723 * configure.in: Don't check for bzero, bcmp, index or rindex.
2724 * configure, config.in: Regenerate.
2725 * system.h: Don't include declarations for bzero, bcmp, index or
2726 rindex.
2727 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
2728 bzero, bcmp, index or rindex.
2729
03fb4780
CF
2730Wed Nov 8 21:58:20 2000 Christopher Faylor <cgf@cygnus.com>
2731
2732 * config/i386/cygwin.h: Add -no-win32 switch. Separate -mno-cygwin
2733 include and library paths from -mcygwin case. Parameterize some
2734 declarations to avoid warnings. Use standard locations for include and
2735 lib dirs.
2736
ca68ea18
NC
27372000-11-08 Nick Clifton <nickc@redhat.com>
2738
2739 * config/arm/arm.md (mulsidi3adddi): Change output operand
eb68ad7c 2740 constraint from "=&" to "+&".
ca68ea18 2741 (umulsidi3adddi): Change output operand constraint from "=&" to
eb68ad7c 2742 "+&".
ca68ea18 2743
c32e1e6f
RH
27442000-11-08 Richard Henderson <rth@redhat.com>
2745
2746 * flow.c (init_propagate_block_info): Protect the rtx stored in
2747 mem_set_list from modification by find_auto_inc.
2748 (mark_set_1): Likewise.
2749
adb84b42
NB
27502000-11-08 Neil Booth <neilb@earthling.net>
2751
a8a05998
ZW
2752 Move directive handling into the lexer itself.
2753
2754 * cpplex.c (_cpp_lex_token): Handle directives directly.
2755 In the case of a directive interrupting a function-like
2756 macro invocation, use extra_char since read_ahead is
2757 used to store the '#'. Return a CPP_EOF in this case.
2758 * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
2759 (cpp_get_token): Don't handle directives here.
2760 * cpplib.h: Remove CPP_DHASH token type.
adb84b42 2761
756d6f0c
JH
2762Wed Nov 8 21:53:41 MET 2000 Jan Hubicka <jh@suse.cz>
2763
2764 * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
2765 formed using PRE_MODIFY too.
2766
c39c0db3
MM
27672000-11-08 Mark Mitchell <mark@codesourcery.com>
2768
69908851
MM
2769 * c-tree.texi (VAR_DECL): Describe representation of GCC's
2770 extension for placing variables in particular registers.
2771
c39c0db3
MM
2772 * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
2773 unprototyped C functions with no parameters.
2774
6cada0cd
JJ
27752000-11-08 Jakub Jelinek <jakub@redhat.com>
2776
2777 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
2778 before passing to fprintf.
2779
768f0669
JJ
27802000-11-08 Jakub Jelinek <jakub@redhat.com>
2781
2782 * function.c (expand_function_start): Cast GET_MODE_SIZE to
2783 HOST_WIDE_INT before negating it.
2784
df6018fd
JJ
27852000-11-08 Jakub Jelinek <jakub@redhat.com>
2786
2787 * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
2788 passed in multiple non-contiguous locations.
2789
14ae1d50 27902000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
a8a05998 2791
14ae1d50
GP
2792 * README.gnat: Remove file.
2793
673887d5
AO
27942000-11-08 Alexandre Oliva <aoliva@redhat.com>
2795
2796 * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
2797 in-place.
2798
66234570
RH
27992000-11-07 Richard Henderson <rth@redhat.com>
2800
2801 * dwarfout.c (INSN_LABEL_FMT): Remove.
2802 (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
2803 (dwarfout_label): Remove.
2804 * dwarfout.h: Remove it's prototype.
2805 * dwarf2out.c (INSN_LABEL_FMT): Remove.
2806 (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
2807 (dwarf2out_label): Remove.
2808 * dwarf2out.h: Remove it's prototype.
2809 * final.c (final_scan_insn): Don't call dwarf[2]out_label.
2810
81b75d96
RH
28112000-11-07 Richard Henderson <rth@redhat.com>
2812
cd5c4048
RH
2813 * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
2814 search on the unwind region section.
2815
2816 * config/ia64/ia64.md (movbi): Add r/r alternative.
2817 (cmovdi_internal_astep): Describe all combinations of register
2818 classes for sources & destinations; remove matching constraints.
2819 (cmovdi_internal): Likewise.
2820
81b75d96
RH
2821 * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
2822
6dbaddf9
RH
28232000-11-07 Richard Henderson <rth@redhat.com>
2824
2825 * c-lang.c (start_cdtor, finish_cdtor): New functions.
2826 (finish_file): Use them in building constructor/destructor functions.
2827
a8a05998 2828 * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
6dbaddf9
RH
2829 LD_FINI_SWITCH): Move ...
2830 * config/alpha/osf.h: ... here.
2831 * config/alpha/alpha-interix.h: Don't undef them.
2832
99b13084
JO
28332000-11-07 Jeffrey Oldham <oldham@oz.codesourcery.com>
2834
2835 * config/mips/t-iris6 (FPBIT): New. Added so that __unorddf2 is
2836 included in libgcc.a.
2837 (DPBIT): Likewise.
2838 (dp-bit.c): Likewise.
2839 (fp-bit.c): Likewise.
2840
d7cac874
NC
28412000-11-07 Nick Clifton <nickc@redhat.com>
2842
2843 * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
2844 (INTERNAL_ASM_OP): Add missing tab.
2845
961192e1
JM
28462000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
2847
2848 * alias.c (init_alias_analysis), calls.c (expand_call,
2849 emit_library_call_value_1), combine.c (init_reg_last_arrays),
2850 cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
2851 (init_output_buffer, set_diagnostic_context), dwarf2out.c
2852 (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
2853 (init_emit_once), fold-const.c (mul_double, div_and_round_double),
2854 function.c (assign_parms), gcse.c (compute_can_copy,
2855 alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
2856 compute_hash_table, compute_set_hash_table,
2857 compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
2858 (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
2859 clear_units, schedule_block), integrate.c (initialize_for_inline,
2860 expand_inline_function), jump.c (thread_jumps), local-alloc.c
2861 (local_alloc), loop.c (combine_movables, count_loop_regs_set,
2862 load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
2863 regclass.c (init_reg_sets, init_reg_sets_1, regclass,
2864 record_reg_classes, allocate_reg_info), reload.c
2865 (get_secondary_mem, remove_address_replacements, find_reloads),
2866 reload1.c (reload, set_initial_label_offsets, finish_spills,
2867 reload_as_needed, choose_reload_regs_init,
2868 reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
2869 (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
2870 (rename_registers), stmt.c (expand_end_case), unroll.c
2871 (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
2872 () instead of bzero ().
2873
e3cc3581
NB
28742000-11-07 Neil Booth <neilb@earthling.net>
2875
2876 * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
2877
f8136648
KG
28782000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2879
2880 * c-common.c (combine_strings): Only warn about long strings for C.
2881
71fd5a51
R
2882Tue Nov 7 19:44:30 2000 J"orn Rennecke <amylaar@redhat.com>
2883
2884 * combine.c (distribute_notes): Fix typo in last change.
2885
bdaa0181
GK
28862000-11-07 Geoff Keating <geoffk@redhat.com>
2887
2888 * config/rs6000/rs6000.md (movdi_internal32+1): Use
2889 operand_subreg_force rather than gen_rtx_SUBREG.
2890 (movdi_internal32+2): Likewise.
2891
bc56a125
PB
28922000-11-07 Philip Blundell <philb@gnu.org>
2893
2894 * configure.in (arm*-*-linuxaout*): Obsolete, deleted.
2895 * config/arm/linux-aout.h: Likewise.
2896 * configure: Regenerate.
2897
a71d3613
PT
28982000-11-07 Philipp Thomas <pthomas@suse.de>
2899
2900 * ABOUT-GCC-NLS: Remove the patch for gettext as it has been
2901 accepted my the gettext maintainer.
2902
26a87cab
KG
29032000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2904
2905 * builtins.c (expand_builtin_strpbrk): New function.
2906 (expand_builtin): Handle BUILT_IN_STRPBRK.
2907
2908 * builtins.def (BUILT_IN_STRPBRK): New entry.
2909
2910 * c-common.c (c_common_nodes_and_builtins): Declare builtin
2911 strpbrk.
2912
ace54f91
DB
29132000-11-07 David O'Brien <obrien@dragon.nuxi.com>
2914
2915 * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
2916 * POTFILES.in: Add config/alpha/freebsd.h
2917 * configure.in: Add alpha*-freebsd support.
2918 * configure: Regenerate.
2919
0dec5df9
JM
29202000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
2921
2922 * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
2923 copy of ptr_type_node rather than ptr_type_node itself.
2924
bf103ec2
R
2925Tue Nov 7 06:29:24 2000 J"orn Rennecke <amylaar@redhat.com>
2926
2927 * combine.c (recog_for_combine): Allocate uninitialized vector with
2928 rtvec_alloc.
2929 * recog.c (apply_change_group): Likewise.
2930
c762163e
R
2931Tue Nov 7 06:24:02 2000 J"orn Rennecke <amylaar@redhat.com>
2932
2933 * flow.c (verify_local_live_at_start): Back out last change.
2934 * combine.c (distribute_notes): When parts of a hard reg are
2935 neither set nor referenced in PLACE, search backwards for a
2936 place to put a REG_UNUSED note; if none found, ask for flow
2937 info refresh.
2938
f34c06e5
R
2939Mon Nov 6 20:08:13 2000 J"orn Rennecke <amylaar@redhat.com>
2940
2941 * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
2942 with (clobber (match_scratch...)).
2943
2b892489
NB
29442000-11-06 Neil Booth <neilb@earthling.net>
2945
2946 * c-lex.c (init_c_lex): If cpp_start_read fails, exit with
2947 error status.
2948
ea33bfc5
NB
29492000-11-06 Neil Booth <neilb@earthling.net>
2950
a8a05998 2951 * tradcpp.c (special_symbol): Assign an null string rather
ea33bfc5
NB
2952 than writing to an unallocated buffer.
2953
56051c0a
NB
29542000-11-06 Neil Booth <neilb@earthling.net>
2955
2956 * cpplex.c (_cpp_equiv_tokens): Check arg_no in the
2957 CPP_MACRO_ARG case.
2958
6c53ebff
NB
29592000-11-06 Neil Booth <neilb@earthling.net>
2960
2961 * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
2962 tok.val.arg_no as appropriate.
2963 * cppexp.c (lex): Similarly.
2964 * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
2965 cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
2966 * cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
2967 cpp_macro_definition): Similarly.
2968 * cpplib.h (struct cpp_token): Replace aux with c and arg_no.
2969
8b1c5fd0
JJ
29702000-11-06 Jakub Jelinek <jakub@redhat.com>
2971
2972 * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
2973 operands[1] is constant, calculate the sum and generate movdi.
2974 (addsi3): Similarly. Use SImode in call to arith_4096_operand.
2975 (subsi3): Use SImode in call to arith_4096_operand.
2976
a0115140
JJ
29772000-11-06 Jakub Jelinek <jakub@redhat.com>
2978
2979 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
2980 adjust %o1, not %o0 if the return type is large structure.
2981
9ea2bda9
JJ
29822000-11-06 Jakub Jelinek <jakub@redhat.com>
2983
2984 * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
2985 update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
2986
1cf7847f
DC
2987Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
2988
2989 * expmed.c (expand_divmod): For signed divide by 2, prefer
2990 a branch and fewer shifts if branches are very cheap.
2991
436a88a6
JM
29922000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
2993
2994 * Makefile.in: Remove all targets related to building
2995 distributions and diffs, or INSTALL.
2996 * INSTALL, install1.texi: Remove.
2997 * configure.in: Remove mention of distdir.
2998 * configure: Regenerate.
2999 * objc/Make-lang.in: Remove mention of distdir.
3000
9cf11a47
NB
30012000-11-04 Neil Booth <neilb@earthling.net>
3002
3003 * cpp.texi: Update for _Pragma.
3004
f148ca88
JM
30052000-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
3006
3007 * gcc.texi (Contributing): Update URL for projects web page.
3008
16eb2788
NB
30092000-11-04 Neil Booth <neilb@earthling.net>
3010
a8a05998
ZW
3011 * cpplex.c (parse_string): Don't allow multiline strings in
3012 #include family directives.
16eb2788 3013
9232b7d9
NB
30142000-11-04 Neil Booth <neilb@earthling.net>
3015
3016 * cpplib.c (do_line): Only warn pedantically if not reading
a8a05998 3017 preprocessed input.
9232b7d9 3018
f132f529
AO
30192000-11-04 Alexandre Oliva <aoliva@redhat.com>
3020
3021 * calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
3022 RETURN_POPS_ARGS().
3023
0e9295cf
ZW
30242000-11-03 Zack Weinberg <zack@wolery.stanford.edu>
3025
3026 * builtins.c (expand_builtin_strlen): Remove unused mode
3027 argument.
3028 * gcc.c (process_command): Remove unused variable.
3029 * fold-const.c: Include expr.h.
3030 * recog.c: Include reload.h.
3031 * Makefile.in (recog.o, fold-const.o): Update deps.
3032
f2682362
GK
30332000-11-02 Geoffrey Keating <geoffk@cygnus.com>
3034
3035 * fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
3036
25f80eae
MM
3037Fri Nov 3 13:41:04 2000 Mark P Mitchell <mark@codesourcery.com>
3038
3039 * config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
3040 handling.
3041 (STARTFILE_SPEC): Likewise.
3042 (LINK_SPEC): Likewise.
3043
426159a4
KG
30442000-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3045
3046 * Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
3047 (toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
3048 (simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
3049
da61dec9
JM
30502000-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
3051
3052 * c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
3053 (dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
3054 perm_calloc, get_identifier, maybe_get_identifier,
3055 real_value_from_int_cst, simple_cst_equal), varasm.c
3056 (assemble_name, assemble_real, immed_real_const_1,
3057 compare_constant_1, decode_rtx_const, output_constant_pool): Use
3058 strrchr () instead of rindex (). Use memcmp () instead of bcmp
3059 (). Use memcpy () instead of bcopy (). Use memset () instead of
3060 bzero ().
3061
def3263a
NS
30622000-11-03 Nathan Sidwell <nathan@codesourcery.com>
3063
3064 * cppfiles.c (open_file): If already read, then don't reopen.
3065 Immediately close an empty file.
3066
94e9dc13
BS
30672000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
3068
3069 * expr.h (fold_builtin): Move declaration...
3070 * tree.h (fold_builtin): ... here.
3071
6c6a14b5
R
3072Fri Nov 3 05:41:07 2000 J"orn Rennecke <amylaar@redhat.com>
3073
3074 * flow.c (verify_local_live_at_start): Allow hard regs to die.
3075
5b569332
NB
30762000-11-02 Neil Booth <neilb@earthling.net>
3077
3078config:
3079 * a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
3080 alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
3081 alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
3082 alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
3083 arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
3084 arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
3085 c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
3086 elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
3087 i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
3088 i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
3089 i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
3090 i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
3091 i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
3092 i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
3093 i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
3094 i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
3095 i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
3096 i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
3097 i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
3098 i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
3099 i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
3100 ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
3101 m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
3102 m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
3103 m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
3104 m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
3105 m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
3106 m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
3107 m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
3108 m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
3109 m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
3110 m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
3111 mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
3112 mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
3113 mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
3114 mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
3115 mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
3116 mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
3117 ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
3118 ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
3119 pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
3120 pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
3121 romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
3122 rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
3123 rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
3124 rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
3125 sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
3126 sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
3127 sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
3128 sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
3129 sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
3130 sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
3131 sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
3132 v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
3133 vax/vaxv.h, vax/vms.h, we32k/we32k.h
a8a05998 3134
5b569332
NB
3135 Replace -A() with -A=, the new assertion syntax.
3136
03afaf36
R
3137Thu Nov 2 21:52:35 2000 J"orn Rennecke <amylaar@redhat.com>
3138
3139 * combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
3140 elim_i1.
3141 In REG_DEAD handling: When handling parts of multi-hard-reg hard
3142 registers, increment the loop counter by the size of the parts;
3143 use recursion to handle individual parts.
3144
04e3be98
NB
31452000-11-02 Neil Booth <neilb@earthling.net>
3146
3147 * configure.in: Make integrated CPP the default.
3148 * configure: Regenerate.
3149
0192d704
R
3150Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com>
3151
3152 * reload.c (find_equiv_reg): Test all hard registers for membership
3153 in the requested class.
3154
9473c522
JM
31552000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
3156
3157 * collect2.c (main, write_c_file_stat), gcc.c (translate_options,
3158 process_command, main), gcov.c (open_files, output_data), tlink.c
3159 (frob_extension, scan_linker_output), toplev.c
3160 (file_name_nondirectory): Use strchr () and strrchr () instead of
3161 index () and rindex ().
3162
0304bbad
JM
31632000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
3164
3165 * c-common.c (get_flag_spec, check_format_info_main,
3166 check_format_types): Use strchr () instead of index (). Compare
3167 against error_mark_node instead of comparing the TREE_CODE against
3168 ERROR_MARK.
3169
23356f93
ZW
31702000-11-02 Zack Weinberg <zackw@Stanford.EDU>
3171
a8a05998
ZW
3172 Integrated CPP.
3173
3174 * c-lex.c (init_c_lex): Update cpp_start_read call.
3175 (cb_ident): Update for new callback prototype.
3176 (cb_def_pragma): Update for new cpp_get_token prototype.
3177 (c_lex): Similarly. Use cpp_get_line.
3178
3179 * c-parse.in (finish_parse): Update for new cpp_finish
3180 prototype.
3181
3182 * cp/lex.c (finish_parse): Similarly.
23356f93 3183
7a099817
GK
31842000-11-01 Geoff Keating <geoffk@cygnus.com>
3185
3186 * machmode.def: Add V16QImode.
3187
a97c9600
RH
31882000-11-01 Richard Henderson <rth@redhat.com>
3189
3190 * dwarf2out.c (loc_descriptor_from_tree): Check for null result
3191 from rtl_for_decl_location.
3192 (add_location_or_const_value_attribute): Likewise.
3193
a0a9606d
NB
31942000-11-01 Neil Booth <neilb@earthling.net>
3195
a8a05998
ZW
3196 * cpplib.c (run_directive): Use correct line number for output
3197 of _Pragma. Remember any in-progress directive.
3198
3199 * gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
a0a9606d 3200
ba89764a
RH
32012000-11-01 Richard Henderson <rth@redhat.com>
3202
3203 * stmt.c (expand_start_null_loop): Set continue_label.
3204
b0b3afb2
BS
32052000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
3206
3207 * builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
3208 (expand_builtin_constant_p): Move parts of the code into
3209 fold_builtin_constant_p.
3210 (expand_builtin_strlen): Move parts of the code into fold_builtin.
3211 * expr.h (fold_builtin): Declare.
3212 * fold-const.c (fold): Handle builtin calls.
3213
3214 * c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
3215
f0de0c5d
RH
32162000-11-01 Richard Henderson <rth@redhat.com>
3217
3218 * stmt.c (expand_start_null_loop): New.
a8a05998 3219 (expand_end_null_loop): New.
f0de0c5d
RH
3220 * c-semantics.c (genrtl_do_stmt): Use them.
3221 * tree.h: Declare them.
3222
3a59c77c
RH
32232000-11-01 Richard Henderson <rth@redhat.com>
3224
3225 * cppmain.c (scan_buffer): Don't avoid paste for assembly.
3226
12c4f523
NB
32272000-11-01 Neil Booth <neilb@earthling.net>
3228
3229 * c-parse.in (_yylex): Remove CPP_BACKSLASH case.
3230 * cp/spew.c: Similarly.
3231 * cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
3232 * cppmacro.c (stringify_arg): Similarly.
3233 * cpplib.h (CPP_BACKSLASH): Delete.
3234
78e7629e
KG
32352000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3236
3237 * builtins.c (expand_builtin_strstr): New function.
3238 (expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
3239
3240 * builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
3241
3242 * c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
3243 and builtin strchr.
3244
32ee391b
RH
32452000-10-31 Richard Henderson <rth@redhat.com>
3246
3247 * config/i386/i386.c (fcmov_comparison_operator): Check for
3248 CCFPmode or CCFPUmode instead of CCmode.
3249 (ix86_expand_fp_movcc): Call ix86_expand_setcc for most
3250 unordered operations as well.
3251
5f10ef5b
RH
32522000-10-31 Richard Henderson <rth@redhat.com>
3253
3254 * c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
3255 of integer_zero_node.
3256
d599b81f
RH
32572000-10-31 Richard Henderson <rth@redhat.com>
3258
3259 * c-semantics.c (genrtl_do_stmt): Special case do/while(0).
3260
1426f761
NC
32612000-10-31 Nick Clifton <nickc@redhat.com>
3262
3263 * config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
3264 -fdata-sections to override the section attribute of a DECL.
3265
a8c0159a
CD
32662000-10-31 Chris Demetriou <cgd@sibyte.com>
3267
3268 * libgcc2.c (__shtab): Remove __shtab variable.
3269 * libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
3270 * Makefile.in (LIB2FUNCS): Remove _shtab from list of library
3271 members.
3272
8215347e
JW
32732000-10-31 Jim Wilson <wilson@redhat.com>
3274
3275 * defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
3276 * tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
3277 * dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
3278 instead of ASM_OUTPUT_INTERNAL_LABEL.
3279 (dwarf2out_end_block, dwarf2out_label): Likewise.
3280 * final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
3281 * config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
a8a05998 3282
d8041cc8
RH
32832000-10-31 Richard Henderson <rth@redhat.com>
3284
3285 * dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
3286 (size_of_locs): Set it.
3287 (output_loc_operands): Use it to compute branch displacement.
3288 (int_loc_descriptor): New.
3289 (mem_loc_descriptor): Dereference memory in the proper size.
3290 Use DW_OP_plus_uconst when possible. Use int_loc_descriptor.
3291 (loc_descriptor_from_tree): New.
3292 (rtl_for_decl_location): Break out from ...
3293 (add_location_or_const_value_attribute): ... here.
3294 (add_bound_info): Use loc_descriptor_from_tree.
3295
86368122
NB
32962000-10-31 Neil Booth <neilb@earthling.net>
3297
3298 * cpp.texi: Update for new command line assertion syntax.
3299 * cpplib.c (cpp_define): Simplify a bit.
3300 (cpp_assert, cpp_unassert): Use handle_assertion.
3301 (handle_assertion): New function; accept new command line
3302 syntax with '='.
3303 * testsuite/gcc.dg/cpp/assert3.c: New tests.
3304
e1998242
NB
33052000-10-31 Neil Booth <neilb@earthling.net>
3306
3307 * cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
3308 undefined. Remove #ifdef check.
3309 * config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
3310 Define STDC_0_IN_SYSTEM_HEADERS to 1.
3311
7e08e190
JH
33122000-10-31 Jan Hubicka <jh@suse.cz>
3313 Jakub Jelinek <jakub@redhat.com>
3314
3315 * config/i386/i386.h: Clarify CCNOmode description in comment.
3316 (EXTRA_CC_MODES): Remove CCRCmode.
3317 * config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
3318 (put_condition_code, ix86_match_ccmode): Likewise.
3319 (ix86_cc_mode): Likewise. Fix comment.
3320 (ix86_expand_strlensi_unroll_1): *rc patterns are gone.
3321 * config/i386/i386.md: Add unspec 12 description.
3322 (adddi3 split): Use unspec 12 instead of CCRCmode.
3323 (addsi3_carry_rc): Remove.
3324 (addsi3_cc, addqi3_cc): New patterns.
3325 (addsi_3): Swap operands, match CCZmode.
3326 (addsi_4): Rewritten.
3327 (addsi_5): Renamed from addsi_6.
3328 (addsi_6): Removed.
3329 (addhi_3): Swap operands, match CCZmode.
3330 (addhi_4): Rewritten.
3331 (addhi_5): Renamed from addhi_6.
3332 (addhi_6): Removed.
3333 (addqi_3): Swap operands, match CCZmode.
3334 (addqi_4): Rewritten.
3335 (addqi_5): Renamed from addqi_6. Use =q constraint for clobber.
3336 (subsi3_carry_rc): Removed.
3337 (iorqi_3): Use =q constraint for clobber.
3338 (xorqi_cc_2): Likewise.
3339 (negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
3340 (x86_movsicc_0_m1_rc): Removed.
3341 (cmp?i peepholes): Remove neg. Use CCGCmode instead of CCRCmode.
3342
93cc1c69
JM
33432000-10-31 Joseph S. Myers <jsm28@cam.ac.uk>
3344
3345 * c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
3346 and decrement of complex types.
3347
bcb38cc1
KG
33482000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3349
3350 * builtins.c (expand_builtin_fputs): When deleting NOP calls to
3351 builtin fputs, ensure we still evaluate the stream in case it
3352 has side-effects.
3353
681cb233
JJ
33542000-10-31 Jakub Jelinek <jakub@redhat.com>
3355
3356 * expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
3357 to expand_shift.
3358
4b9580a5
R
3359Tue Oct 31 15:33:27 2000 J"orn Rennecke <amylaar@redhat.com>
3360
3361 * sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
3362 (fp_extended_operand, emit_fpscr_use): Likewise.
3363 * sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
3364 (fpul_operand): New function.
3365 * sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
3366 fp_extended_operand. Add fpul_operand.
3367 * sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
3368 (mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
3369 (cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
3370 (negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
3371 (adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
3372 (divdf3_i): Likewise.
3373 (floatsisf2): Likewise. Use fpul_operand for 'y' operand.
3374 (floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
3375 (fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
3376 (fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
3377 (extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
3378
332316cd
BS
33792000-10-31 Bernd Schmidt <bernds@redhat.co.uk>
3380
a8a05998 3381 * config/i386/i386.c (ix86_init_builtins): Correct return type
332316cd
BS
3382 building v4hi_ftype_v4hi_int_int tree node.
3383 (ix86_expand_builtin): Use correct operand numbers 0 and 1.
3384 Copy operand 0 into a Pmode register, don't generate a MEM rtx.
3385
3386 * config/i386/i386.md (sse_movntdi): Use mmx register constraint
3387 for operand 1.
3388 (mmx__uavgv8qi3): Correct insn mnemonic.
3389 (mmx_psadbw): Correct insn mnemonic. Use V8QI mode for operands 1 and 2.
3390 (mmx_punpckhwd): Correct insn mnemonic.
3391 (mmx_punpckhdq): Likewise.
3392 (mmx_punpcklwd): Likewise.
3393 (mmx_punpckldq): Likewise.
3394 (prefetch): Use immediare_operand and 'n' constraint for operand 1.
3395 Renumber case labels to match the _mm_prefetch constants defined in
3396 xmmintrin.h.
3397
1d766db0
BS
3398 * recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
3399 if the splitter didn't emit new insns.
3400 Make sure we call cleanup_subreg_operands even when splitting the last
3401 insn in a basic block.
3402
8bb16620
BS
3403 * invoke.texi (Debugging Options): Describe -do.
3404 * toplev.c (enum_dump_file_index): New entry DFI_postreload.
3405 (dump_file): Likewise.
3406 (rest_of_compilation): Split .greg dump into .greg and .postreload.
3407
a5c3cccd
NB
34082000-10-30 Neil Booth <neilb@earthling.net>
3409
3410 * cppfiles.c (stack_include_file): Check for stacked contexts
3411 here.
3412 * cpphash.h (_cpp_do__Pragma): New prototype.
3413 * cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
3414
3415 * cpplex.c (skip_escaped_newlines): Only process trigraphs and
3416 escaped newlines if !(buffer->from_stage3).
3417 (_cpp_lex_token): Warn about missing newlines iff
3418 !buffer->from_stage3.
3419
3420 * cpplib.c (get__Pragma_string, destringize,
3421 _cpp_do__Pragma): New functions.
3422 (run_directive): Set output_line for _Pragma to avoid line
3423 markers in output. Set from_stage3 and prevent macro expansion
3424 for _Pragma and command-line options. Check buffer exhaustion.
3425 (cpp_push_buffer): Don't check for stacked macro contexts, as
3426 this is perfectly legitimate for _Pragma. Move the check to
3427 stack_include_file instead. Set from_stage3 iff buffer is
3428 preprocessed input.
3429
3430 * cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
3431 unsigned. New boolean from_stage3.
3432 (struct spec_nodes): Add n__Pragma.
3433
3434 * cppmacro.c (enter_macro_context): Flip sense of return value.
3435 (_cpp_get_token): Handle _Pragma operator.
3436
dbdaea41
PE
34372000-10-30 Phil Edwards <pme@sources.redhat.com>
3438
3439 * gcc.texi: The C++ standard isn't "draft" anymore.
3440
8a47978d
MM
34412000-10-30 Mark Mitchell <mark@codesourcery.com>
3442
3443 * cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
3444
1641a823
NB
34452000-10-29 Neil Booth <neilb@earthling.net>
3446
3447 * cpplib.c (skip_rest_of_line): Use _cpp_get_token.
3448
8c7b74b9
JM
34492000-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
3450
526aba28
JM
3451 * toplev.c, flags.h, fold-const.c, real.c, rtl.c,
3452 fixinc/inclhack.def: Change comments mentioning C9X to refer to
3453 C99 instead.
3454
8c7b74b9
JM
3455 * invoke.texi: Document that -V will only work for very similar
3456 versions of driver and compiler.
3457
44ed91a1
NB
34582000-10-29 Neil Booth <neilb@earthling.net>
3459
3460 * cppmacro.c (_cpp_create_definition): Optimize the case of
a8a05998 3461 a macro defined to itself.
44ed91a1 3462
3542203b
NB
34632000-10-29 Neil Booth <neilb@earthling.net>
3464
3465 * cpplex.c (save_comment): Don't store new lines in C++ comments.
3466
6f268adf
MH
34672000-10-29 Michael Hayes <mhayes@redhat.com>
3468
3469 * integrate.c (copy_insn_list): Copy the unchanging flag for calls.
3470
926c5678
GK
34712000-10-28 Geoffrey Keating <geoffk@cygnus.com>
3472
3473 * cpphash.c (cpp_forall_identifiers): Add context variable
3474 for callback routine.
3475 * cppmain.c (dump_macro): Update to match cpp_forall_identifiers
3476 change.
3477 (main): Call cpp_forall_identifiers with null context.
3478 * cpplib.h (cpp_forall_identifiers): Update prototype.
3479
3480 * cppmain.c: Make `parse_in' and `print' static.
3481
69f4cc4b
AM
34822000-10-28 Alan Modra <alan@linuxcare.com.au>
3483
3484 * c-decl.c (finish_function): Clear c_function_name_declared_p.
3485
ce73761f
RH
34862000-10-28 Richard Henderson <rth@redhat.com>
3487
3488 * regrename.c (scan_rtx_address): Frob action, not class,
3489 when trying to disable optimization.
3490
2c21b247
MM
34912000-10-28 Mark Mitchell <mark@codesourcery.com>
3492
3493 * c-semantics.c (make_rtl_for_local_static): Don't clobber
3494 DECL_ASSEMBLER_NAME.
3495
8763704d
JM
34962000-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
3497
3498 * configure.in: Determine and substitute gcc_version_full.
3499 * configure: Regenerate.
3500 * gccbug.in: Use it to give full version. Don't allow
3501 confidential PRs.
3502
85941a0a
RH
35032000-10-28 Richard Henderson <rth@redhat.com>
3504
3505 * recog.c (split_all_insns): Run cleanup_subreg_operands
3506 after reload.
3507
3508 * regrename.c (regrename_optimize): Verify that all registers of
3509 a multiple register mode are available.
3510 (scan_rtx_address): Accept the mode of the address; all callers
3511 changed.
3512
3513 * cpplib.c (run_directive): Fix prototype.
3514
69add2a8
BS
35152000-10-28 Bernd Schmidt <bernds@redhat.co.uk>
3516
3517 * reload.c (find_reloads): Distinguish "wins" so that we know whether
3518 a given operand won because of a matching constraint or not; then use
3519 that information to compute goal_alternative_matched properly.
4c3a2649
BS
3520 * reload1.c (choose_reload_regs): Never set reload_override_in for an
3521 optional reload.
69add2a8 3522
005f39ce
BS
3523 * config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
3524 accurate value for MULT.
55d8cb78
BS
3525 * config/ia64/ia64.c (ia64_print_operand): Require probability to be
3526 2% or > 98% before using static branch prediction bits.
005f39ce 3527
93c80368
NB
35282000-10-28 Neil Booth <neilb@earthling.net>
3529
3530 New macro expander.
a8a05998 3531
93c80368
NB
3532 * cpplib.c (struct answer): New.
3533 (struct if_stack): Use cpp_lexer_pos rather than line and col.
3534 Rename cmacro mi_cmacro.
3535 (struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
3536 IN_I): New directive and flags.
3537 (skip_rest_of_line, check_eol, run_directive, glue_header_name,
3538 parse_answer, parse_assertion, find_answer): New functions.
3539 (parse_ifdef, detect_if_not_defined, validate_else): Remove.
3540 (lex_macro_node): New function to replace parse_ifdef and
3541 get_define_node.
3542
3543 (_cpp_handle_directive): New function, combines _cpp_check_directive
3544 and _cpp_check_linemarker.
3545
3546 (do_define, do_undef, parse_include, do_include, do_import,
3547 do_include_next, read_line_number, do_line, do_ident, do_pragma,
3548 do_pragma_once, do_pragma_poison, do_pragma_dependency):
3549 Update for new token getting interface.
3550
3551 (do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
3552 : Update for new multiple-include optimisation technique.
3553 (do_elif): Don't forget to invalidate controlling macros.
3554
3555 (unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
3556 (parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
3557 Functions to handle assertions with the new token interface.
3558 (do_assert, do_unassert): Use them.
3559
3560 (cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
3561 Use run_directive.
3562
3563 (_cpp_init_stacks): Register directive names. Don't register special
3564 nodes.
3565
3566 * cpperror.c (print_containing_files, _cpp_begin_message): Update to
3567 new position recording regime.
3568 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
3569 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
3570 cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
3571 (cpp_type2name): Move to cpplex.c.
3572
3573 * cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
3574 (parse_defined): Update to handle new multiple include optimisation
3575 method. Remove poisoned identifier warning.
3576 (parse_assertion, TYPE_NAME): Delete.
3577 (lex): Update for multiple include optimisation, removal of
3578 CPP_DEFINED, to use _cpp_test_assertion for assertions and
3579 cpp_token_as_text.
3580 (_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
3581 (op_as_text): New function, to wrap cpp_token_as_text.
3582
3583 * cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
3584 Update for MI optimisation.
3585 (_cpp_execute_include): Take a token rather than 3 arguments. Fix
3586 segfault on diagnostic.
3587 (_cpp_compare_file_date): Take a token rather than 3 args.
3588 (cpp_read_file): Work correctly for zero-length files.
3589
3590 * cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
3591 _cpp_init_hashtable and _cpp_cleanup_hashtable.
3592 (cpp_lookup): Place identifiers at front of identifier pool
3593 for _cpp_lookup_with_hash.
3594 (_cpp_lookup_with_hash): Require identifiers to be at the front of
3595 the identifier pool. Commit the memory if not already in the
3596 hash table.
3597
3598 * cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
3599 Initialise various members of cpp_reader, memory pools, and the
3600 special nodes.
3601 (cpp_printer_init): Delete.
3602 (cpp_cleanup): Update.
3603 (struct builtin, builtin_array, initialize_builtins): Update for new
3604 hashnode definition and builtin handling.
3605 (cpp_start_read, cpp_finish): Don't take or initialise a
3606 printer. Update.
3607
3608 * cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
3609 PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
3610 T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
3611 T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
3612 (struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
3613 struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
3614 NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
3615 struct toklist, struct cpp_context, struct specnodes,
3616 TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
3617 NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
3618 enum builtin_type, cpp_can_paste): New.
3619 (struct cpp_token): Delete line and col members.
3620 (struct cpp_buffer): New member output_lineno.
3621 (struct lexer_state): Delete indented, in_lex_line, seen_dot.
3622 Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
3623 (struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
3624 ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
3625 base_context, context, directive, mi_state, mi_if_not_defined,
3626 mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
3627 mlstring_pos, macro_buffer, macro_buffer_len.
3628 Delete members mls_line, mls_column, token_list, potential_control_macro,
3629 temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
3630 context_cap, cur_context, no_expand_level, paste_level, contexts, args,
3631 save_parameter_spellings, need_newline, .
3632 Change type of date, time and spec_nodes members.
3633 Change prototypes for include and ident callbacks.
3634 (struct cpp_hashnode): Change type of name. Remove union members
3635 expansion and code. Add members macro, operator and builtin.
3636
3637 (cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
3638 cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
3639 cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
3640 cpp_stop_lookahead): New prototypes.
3641 (cpp_printer_init, cpp_dump_definition): Delete prototypes.
3642
3643 (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
3644 Move from cpphash.h.
3645
3646 * cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
3647 ufputs): Move to cpplib.h.
3648 (enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
3649 TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
3650 COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
3651 struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
3652 _cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
3653 _cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
3654 _cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
3655 _cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
3656 _cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
3657 _cpp_parse_assertion, _cpp_find_answer): Delete.
3658 (VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
3659 POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
3660 _cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
3661 _cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
3662 _cpp_handle_directive, DSC): New.
3663 (struct include_file): New member defined.
3664
3665 (DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
3666 _cpp_compare_file_date): Update.
3667 (_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
3668 (_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
3669 _cpp_cleanup_hashtable.
3670
3671 * Makefile.in: Remove cppoutput.c.
a8a05998 3672
93c80368
NB
3673 * cppoutput.c: Delete
3674
3675 * fixheader.c (read_scan_file): Update for new cpp_get_token
3676 prototype.
3677 (recognized_function): New argument LINE.
3678
3679 * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
3680 new cpp_get_token prototype.
3681
3682 * scan.h (recognized_function): Update prototype.
3683
3684 * po/POTFILES.in: Remove cppoutput.c.
a8a05998 3685
229a2e65
MM
36862000-10-27 Mark Mitchell <mark@codesourcery.com>
3687
3688 * c-typeck.c (check_init_type_bitfields): Remove.
3689 (constructor_incremental): Likewise.
3690 (struct constructor_stack): Remove incremental bit.
3691 (struct initializer_stack): Likewise.
3692 (start_init): Don't play with constructor_incremental.
3693 (finish_init): Likewise.
3694 (really_start_incremental_init): Likewise.
3695 (push_init_level): Likewise.
3696 (pop_init_level): Likewise.
3697 (output_init_level): Likewise.
3698 (output_pending_init_elements): Likewise.
3699
63eb1269
MC
37002000-10-21 Mike Coleman <mcoleman2@kc.rr.com>
3701
3702 * c-pragma.c (handle_pragma_pack): Initialize align to -1.
a8a05998 3703 Improve error messages. Correct parsing of
63eb1269
MC
3704 #pragma pack(pop [,id]). Do not check the user-supplied
3705 alignment if we're popping.
3706
3707 * gcc.dg/pack-test-1.c: New test case.
3708 * gcc.dg/pack-test-2.c: New test case.
3709 * gcc.dg/pack-test-1.h: New file.
3710
ae2eceaa
NB
37112000-10-27 Neil Booth <neilb@earthling.net>
3712
3713 * cpp.texi: Update.
3714
04e149ab
KC
37152000-10-27 Kelley Cook <kelley.cook@home.com>
3716
3717 * invoke.texi: Document -mintel-syntax
3718
2b2a8f1f
RH
37192000-10-27 Richard Henderson <rth@redhat.com>
3720
3721 * invoke.texi: Document -frename-registers. Add it to -O3.
3722 * toplev.c (rest_of_compilation): Run regrename before ifcvt2.
3723 (enum dump_file_index, dump_file): Update order.
3724 (main): Set flag_rename_registers at -O3.
3725
10c9f189
RH
37262000-10-27 Richard Henderson <rth@redhat.com>
3727
93c89ab3
RH
3728 * config/alpha/alpha.h (enum reg_class): Add PV_REG.
3729 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3730 (REG_CLASS_FROM_LETTER): Assign it to 'c'.
3731 * config/alpha/alpha.md (call_osf_1): Use it.
3732 (call_value_osf_1): Likewise.
3733
10c9f189
RH
3734 * config/ia64/ia64.c: Revert 10-23 patch.
3735 (ia64_hard_regno_rename_ok): New.
3736 * config/ia64/ia64-protos.h: Declare it.
3737 * config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
3738
541f7d56
BS
37392000-10-27 Bernd Schmidt <bernds@redhat.co.uk>
3740 Richard Henderson <rth@redhat.com>
3741
a8a05998
ZW
3742 * regrename.c: Rewrite to handle multi-register modes and
3743 cond_exec instructions.
3744 * Makefile.in (regrename.o): Update dependancies.
3745 * recog.h (struct operand_alternative): Add is_address.
3746 * recog.c (preprocess_constraints) [case 'p']: Set it.
541f7d56 3747
b8dad04b
ZW
37482000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
3749
3750 * configure.in: If not NO_MINUS_C_MINUS_O, substitute
3751 OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to
3752 top level. Kill oldstyle_subdirs. Do not include
3753 $srcdir/$s/Makefile.in in all_lang_makefiles, but do include
3754 $outputs. Do not run configure.lang from config.status.
3755 Rearrange warning-flag logic to correspond to what the
3756 makefile wants. Put special vax stage1 options in
3757 @stage1_flags@ not @stage1_warn_cflags@. Don't do anything
3758 with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
3759 (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
3760 switch is given, nothing otherwise.
3761 * configure.lang: Delete.
3762
a8a05998
ZW
3763 * Makefile.in: Expunge all traces of extra_c_objs,
3764 extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from
3765 @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set
3766 warning options via a three level scheme so that -pedantic and
3767 -Wtraditional are not used for non-C front ends: LOOSE_WARN,
3768 STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
3769 WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
b8dad04b
ZW
3770 Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
3771 Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P,
a8a05998
ZW
3772 LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file
3773 generation rules. Wrap all rules that change the current
3774 directory in parentheses; pmake doesn't spawn a new shell for
3775 each command. Expunge all references to $(P). When one
3776 command depends on another and they're run all at once, use &&
3777 to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files
3778 deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2
3779 and beyond.
b8dad04b
ZW
3780
3781 * objc/Make-lang.in: Wrap all rules that change the current
3782 directory in parentheses. Expunge all references to $(P).
3783 When one command depends on another and they're run all at
3784 once, use && to separate them, not ;. Add OUTPUT_OPTION to
3785 all object-file generation rules. Delete obsolete variables.
3786 * objc/Makefile.in: Delete.
3787
fadb729c
JJ
37882000-10-27 Jakub Jelinek <jakub@redhat.com>
3789
3790 * calls.c (expand_call): If sibcall_failure is set during pass 1,
3791 clear tail_call_insns as well.
3792
254bb256
NC
37932000-10-27 Nick Clifton <nickc@redhat.com>
3794
3795 * config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
3796 prototype.
3797
8eb99146
RH
37982000-10-26 Richard Henderson <rth@redhat.com>
3799
b8dad04b 3800 * calls.c (expand_call): Supress sibcall if we have a
8eb99146
RH
3801 BLKmode return in registers.
3802
036099eb
BS
38032000-10-26 Bernd Schmidt <bernds@redhat.co.uk>
3804
3805 * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
3806 into memory.
3807
13c6f0d5
NS
38082000-10-26 Nathan Sidwell <nathan@codesourcery.com>
3809
3810 * tree.c (make_node, case 't'): Set alignment to that of
3811 char_type_node.
3812 * expr.c (move_by_pieces_ninsns): Abort if some length remains.
3813
be5aeb60
MM
38142000-10-25 Mark Mitchell <mark@codesourcery.com>
3815
3816 * Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
3817 * configure.in (enable-libstdcxx-v3): Arrange to have
3818 HAVE_LIBSTDCXX_V3 substituted into the output files.
3819
78192b09
RH
38202000-10-25 Richard Henderson <rth@redhat.com>
3821
4667f705
RH
3822 * recog.c (constrain_operands): Initialize which_alternative
3823 before no alternatives early exit.
3824
78192b09
RH
3825 * cse.c (find_comparison_args): Check that we can reverse a
3826 comparison if needed before accepting the substitution.
3827
081b49f1
RH
3828 * reload.c (find_reloads_address_part): Kill rtx obstack hackery.
3829
d4f1c1fa
RH
3830 * simplify-rtx.c (simplify_relational_operation): Sign extend
3831 low words before sign extending to high words.
3832
bc27e96c
NC
38332000-10-25 Nick Clifton <nickc@redhat.com>
3834
3835 * config/mcore/mcore.c: Include config.h before system.h.
3836
38372000-10-25 Ray Essick <essick@ddna.labs.mot.com>
3838
3839 * config/mcore/mcore.md (return): Force function epilogue to
3840 always be generated to work around epilogue suppression bug in
3841 M*Core backend.
3842
e0c9fbb7
JM
38432000-10-25 Joseph S. Myers <jsm28@cam.ac.uk>
3844
3845 * c-decl.c (grokdeclarator): Move warning for qualified void
3846 return types with -pedantic to when the function type is
3847 constructed. At -W, warn in general for qualified function return
3848 types, except for volatile void.
3849 * invoke.texi: Document this new warning at -W.
3850
138e79e7
NB
38512000-10-25 Neil Booth <neilb@earthling.net>
3852
b8dad04b
ZW
3853 * cpp.texi: Update with implementation-defined behavior and
3854 internal limits.
138e79e7 3855
dc5041ab
JJ
38562000-10-25 Jakub Jelinek <jakub@redhat.com>
3857
3858 * stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
3859 incomplete type force it into alias set 0.
3860
e004f2f7
JW
3861Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com)
3862
3863 * alias.c: Include basic-block.h.
3864 (loop_p): New function.
3865 (mark_constant_function): Use it.
3866 * Makefile.in (alias.o): Update dependencies.
3867
15c09738
AH
38682000-10-24 Aldy Hernandez <aldyh@redhat.com>
3869
3870 * config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
3871 like memory.
b8dad04b 3872
a8ca7756
JW
38732000-10-24 Jim Wilson <wilson@cygnus.com>
3874
3875 * expmed.c (store_bit_field): Move integer pun code down after
3876 code that calls emit_move_insn for entire register move.
3877 * stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
3878 Oct 20 changes. Only store mode in TYPE_MODE if RECORD_TYPE.
b8dad04b 3879
c0fc376b
RH
38802000-10-24 Richard Henderson <rth@cygnus.com>
3881
3882 * rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
3883 register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
3884
d7836e38
AH
38852000-10-24 Aldy Hernandez <aldyh@redhat.com>
3886
b8dad04b
ZW
3887 * gcse.c (cprop_insn): do not propagate constants into jump_insn
3888 for machines with CC0 more than once.
d7836e38 3889
5e2c51ba
RH
38902000-10-24 Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
3891
b8dad04b
ZW
3892 * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
3893 pseudos just like memory.
5e2c51ba 3894
c71e1201
AO
38952000-10-24 Alexandre Oliva <aoliva@redhat.com>
3896
3897 * combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
3898 when deleting libcall sequence collapsed to a single instruction.
3899
5129d2ce
AH
39002000-10-24 Andrew Haley <aph@cygnus.co.uk>
3901
3902 * expr.c (do_store_flag): Don't crash if either side of a
3903 comparison is error_mark_node.
3904
f85b5d65
JJ
39052000-10-24 Jakub Jelinek <jakub@redhat.com>
3906
3907 * sibcall.c (purge_mem_unchanging_flag): New function.
3908 (optimize_sibling_and_tail_recursive_calls): Call it.
3909
4adee315
PT
39102000-10-24 Philipp Thomas <pthomas@suse.de>
3911
3912 * Makefile.in (check-po): New target for doing checks in the po
3913 subdir if all languages configured.
3914 (CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
3915 configure if NLS is enabled.
3916 * configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
3917 otherwise leave empty.
3918 * configure: Regenerate.
3919
fb204271
DN
39202000-10-23 Diego Novillo <dnovillo@cygnus.com>
3921
3922 * i386.c (print_operand): Handle new 'A' formatting code.
3923 387 opcodes need suffixes even with -mintel-syntax.
3924 Check for explicit size override (codes 'b', 'w' and 'k').
3925 (print_operand_address): Check if register prefix is needed when
3926 emitting `ds' segment override.
3927 * i386.h: Add comment about new 'A' formatting code.
3928 * i386.md (jump and call patterns): Emit absolute references using %A.
3929
8a959ea5
RH
39302000-10-23 Richard Henderson <rth@cygnus.com>
3931
b8dad04b 3932 * config/ia64/ia64.c (ia64_expand_prologue): Mark extra
8a959ea5
RH
3933 output registers as fixed.
3934 (ia64_function_epilogue): Undo output fixation.
3935
964686de
RH
39362000-10-23 Richard Henderson <rth@cygnus.com>
3937
3938 * config/alpha/alpha.md: Add names for all unnamed insns; use
3939 define_insn_and_split in some obvious places.
3940 (lda): Remove.
3941 (zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
3942 (zero_extendqisi2, zero_extendqidi2): Likewise.
3943 (zero_extendhisi2, zero_extendhidi2): Likewise.
3944 (abs splitters): Fix match_scratch operand number.
3945 (bcc_reverse): Swap pc & label instead of non-canonical compare.
3946
18a3c539
JW
39472000-10-23 Jim Wilson <wilson@cygnus.com>
3948
3949 * ia64.c (ia64_print_operand, case 'r'): Correct comment. Handle
3950 CONST_INT.
3951 * ia64.md (cmpsi_adjusted): Use %r3.
3952 (cmpdi_adjusted): Likewise.
3953
57dd137f
DN
39542000-10-23 Diego Novillo <dnovillo@cygnus.com>
3955
3956 * config/i386/att.h (ASM_FILE_START): Define.
3957
d984704d
DN
39582000-10-23 Diego Novillo <dnovillo@cygnus.com>
3959
3960 * config/i386/linux.h (ASM_FILE_START): Define.
3961
261f21e7
DL
3962Wed Oct 18 11:16:40 2000 Donald Lindsay <dlindsay@cygnus.com>
3963
3964 * gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
3965 since this (only) drags in a crt0.o reference that the .ld files
3966 also introduce.
3967
96af667a
GK
39682000-10-23 Geoff Keating <geoffk@cygnus.com>
3969
2af88768
GK
3970 * reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
3971 overwrite the value in a RELOAD_FOR_INPUT and other kinds of
3972 reloads just like an RELOAD_FOR_OUTPUT would.
3973
96af667a
GK
3974 * local-alloc.c (update_equiv_regs): Add an abort(). When
3975 deleting or moving insns, update reg_equiv[regno].init_insns.
3976
d252a515
MM
39772000-10-23 Mark Mitchell <mark@codesourcery.com>
3978
3979 * c-tree.texi: Improve documentation for IF_STMTs and related
3980 conditional statements.
3981
f9808f81
MM
39822000-10-22 Mark Mitchell <mark@codesourcery.com>
3983
3984 * expr.c (do_preexpand_calls): Remove.
3985 (same_from_p): Don't use CALL_EXPR_RTL.
3986 (expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
3987 (preexpand_calls): Remove.
3988 * tree.c (first_rtl_op): Remove CALL_EXPR case.
3989 (unsave_expr_1): Likewise.
3990 * tree.def (CALL_EXPR): Give it only two slots.
3991 * tree.h (CALL_EXPR_RTL): Remove.
3992
ae4bd622
CC
39932000-10-21 Chandrakala Chavva <cchavva@redhat.com>
3994
3995 * libgcc-std.ver (__addvsi3, __addvdi3, __subvsi3, __subvdi3,
b8dad04b
ZW
3996 __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
3997 New functions.
ae4bd622 3998
3e555c7d
AO
39992000-10-22 Alexandre Oliva <aoliva@redhat.com>
4000
4001 * calls.c (combine_pending_stack_adjustment_and_call): Don't
4002 adjust stack when unadjusted_alignment ends up as zero.
4003
99bdaa68
JM
40042000-10-22 Joseph S. Myers <jsm28@cam.ac.uk>
4005
4006 * fixinc/genfixes: Remove EGCS reference.
4007 * install.texi: Remove EGCS reference.
4008 * INSTALL: Regenerate.
4009
e36308b0
MM
40102000-10-22 Mark Mitchell <mark@codesourcery.com>
4011
4012 * tree.h (TYPE_IS_SIZETYPE): Add more documentation.
4013
bf6eb15f
JM
40142000-10-21 Joseph S. Myers <jsm28@cam.ac.uk>
4015
4016 * diagnostic.c: Remove EGCS reference in comment.
4017
e62ff0c3
RK
4018Sat Oct 21 08:24:25 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4019
4020 * loop.c (strength_reduce): Fix error in last change.
4021
0ad7574f
DE
40222000-10-20 David Edelsohn <edelsohn@gnu.org>
4023
4024 * Makefile.in (SHLIB_NM_FLAGS): New.
4025 (libgcc.mk): Pass it.
4026 * mklibgcc.in (libgcc.map): Use it.
4027
4028 * rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
4029 SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
4030
8f54374e
KG
40312000-10-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4032
4033 * mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
4034
4035 * sparc.c (load_pic_register): Delete unused varaible.
4036
4037 * libgcc2.c (__addvsi3): Delete unused variable.
4038
4039 * libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
4040 __subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
4041 __negvdi2): Prototype.
4042
4043 * ssa.c (apply_delayed_renames): Avoid undefined operation.
4044
4045 * toplev.c (display_target_options): Make static to match
4046 prototype. Delete empty declaration.
4047
3f568531
TT
40482000-10-20 Tom Tromey <tromey@cygnus.com>
4049
4050 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
4051 * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
4052
235783d1
RK
4053Fri Oct 20 17:05:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4054
4055 * expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
4056 returned MEM.
4057 (expand_expr_unaligned, case ARRAY_REF): Check that index is
4058 a constant before comparing it; use tree_low_cst.
4059 * tree.c (save_expr): Set TREE_READONLY.
4060 (substitute_expr): Return inside of NON_LVALUE_EXPR.
4061 (build, build1): Set TREE_READONLY if all operands are.
4062 (build_index_type): If upper bound is a negative number, lower
4063 bound is zero and sizetype is unsigned, use upper bound of one and
4064 lower of zero.
4065
2e44948d
DE
40662000-10-20 David Edelsohn <edelsohn@gnu.org>
4067
4068 * gcc.c (process_command, main): Use "because" instead of
4069 "since" in error messages.
4070
44475138
RK
4071Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4072
382110c0
RK
4073 * stor-layout.c (compute_record_mode): Use tree_low_cst.
4074 Don't use mode of field for record unless sizes are the same.
4075 (layout_type, case ARRAY_TYPE): Remove special bounds handling
4076 previously added for Ada; also change to using host_integerp
4077 and tree_low_cst.
4078
1dcdb0df
RK
4079 * loop.c (strength_reduce): Show when new register made for
4080 giv is known to be a pointer and its aligment if so and known.
4081 (loop_dump_aux): Show VERBOSE parameter unused.
4082
ebb13e7e
RK
4083 * gcse.c (set_hash_table_size): Now unsigned.
4084 * sdbout.c (template_name_p): Add "const" to avoid warnings.
4085 (sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
4086 (sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
4087 (sdbout_end_epilogue): Remove variable NAME.
4088 * system.h (getopt): Add default definition.
4089 * config/alpha/alpha.c (print_operand): Don't continue processing
4090 after issuing error.
4091 (summarize_insn): Avoid use of UL in constant.
4092
1468899d
RK
4093 * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
4094
44475138
RK
4095 * fold-const.c (force_fit_type): Unsigned values can overflow
4096 if they are sizetype.
4097 (int_const_binop): Don't use cache if overflows.
391db8c9 4098
23ccfa6d
RH
40992000-10-20 Richard Henderson <rth@cygnus.com>
4100
4101 * function.c (locate_and_pad_parm): Zero alignment_pad.
4102
4ca0f257
RH
4103 * regrename.c (rr_replace_reg): Rewrite to use recog_data to
4104 perform substitutions, and apply_change_group to see if it worked.
4105
0345195a
RK
4106Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4107
d57e164f
RK
4108 * dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
4109
0345195a
RK
4110 * combine.c (struct undo): Change int to unsigned int.
4111 (do_SUBST_INT): Args are unsigned int.
4112 (make_extraction, force_to_mode): Use proper type when forming mask.
4113 (make_field_assignment): Likewise.
4114
2f74f7e9
JM
41152000-10-20 Joseph S. Myers <jsm28@cam.ac.uk>
4116
4117 * c-common.c (check_format_info_recurse): Extract string constant
4118 initializers from non-volatile constant arrays and check them as
4119 formats.
4120 * c-typeck.c (decl_constant_value): Don't check pedantic or check
4121 for DECL_MODE (decl) != BLKmode.
4122 (decl_constant_value_for_broken_optimization): New function which
4123 includes these checks.
4124 (default_conversion, convert_for_assignment, digest_init): Use
4125 decl_constant_value_for_broken_optimization instead of
4126 decl_constant_value.
4127
971774bb
MM
41282000-10-20 Mark Mitchell <mark@codesourcery.com>
4129
4130 * tree.h (DECL_ALIGN_UNIT): New macro.
4131
afee2a52
MM
41322000-10-14 Marek Michalkiewicz <marekm@linux.org.pl>
4133
4134 * config/avr/avr-protos.h (avr_output_bld): New.
4135 (out_shift_with_cnt): Add t_len argument.
4136 * config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
4137 (output_movqi, output_movhi, output_movsisf): Optimize loading
4138 any constant with exactly one bit set to NO_LD_REGS.
4139 (out_shift_with_cnt): Optimize output code for size or speed,
4140 depending on optimize_size. Handle small shift counts as well
4141 (if not hand-optimized in ?sh??i3_out). Shifts can be done
4142 with or without a scratch register, with help of __tmp_reg__
4143 or __zero_reg__ if necessary. Add T_LEN argument to pass the
4144 length of TEMPLATE in words, return total insn length in *LEN.
4145 (ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
4146 out_shift_with_cnt to work with the above change.
4147 (ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
4148 lshrsi3_out): Likewise. Optimize more known shift count cases.
4149 Remove cases already well optimized in out_shift_with_cnt.
4150 (avr_output_bld): New function.
4151 * config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
4152 (TARGET_SWITCHES): Remove -mpack-args backward compatibility.
4153 * config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
4154 Add reload_completed to insn condition - only for peepholes.
4155 (ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
4156 in a register or memory.
4157 (ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
4158 Do not require a scratch register.
4159 (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
4160 *lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
4161 Optimize shifts by known count using a scratch register, but only
4162 if one is still available after register allocation.
4163
831f9339 41642000-10-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
b8dad04b 4165
831f9339
DA
4166 * t-vax: New file. Don't build modules from libgcc1.c.
4167
bf6d9fd7
JW
4168Fri Oct 20 00:57:00 EDT 2000 John Wehle (john@feith.com)
4169
4170 * alias.c: (mark_constant_function): Don't check pure functions.
4171 Initialize and end alias analysis.
4172 (nonlocal_mentioned_p): Rename from nonlocal_reference_p.
4173 Don't make a special exception for recursion. Handle
4174 UNSPEC_VOLATILE. Don't assume ASM_OPERANDS is non-local
4175 unless it's volatile.
4176
4177 * local-alloc.c (equivalence): New structure.
4178 (reg_equiv): Define.
4179 (contains_replace_regs): Remove array and use
4180 field in reg_equiv.
4181 (memref_referenced_p): Likewise.
4182 (no_equiv): Likewise.
4183 (update_equiv_regs): Likewise.
4184
4185 (equiv_init_varies_p,
4186 equiv_init_movable_p): New functions.
4187 (update_equiv_regs): Use them. Use rtx_varies_p
4188 instead of function_invariant_p. Process insns
4189 from end to beginning. Allow a REG_EQUIV insn
4190 within the same loop as a use to be moved, also
4191 allow it to be moved out of a loop. Update
4192 REG_DEAD notes when substituting into an insn.
4193
ef375129
JW
41942000-10-19 Jim Wilson <wilson@cygnus.com>
4195
f4fce7ed
JW
4196 * c-decl.c (start_decl): Check for error_mark_node type before using
4197 COMPLETE_TYPE_P.
4198 (finish_decl): Likewise. Don't give an error if decl type is
4199 already error_mark_node.
4200
ef375129
JW
4201 * haifa-sched.c (compute_trg_info): Add explanatory comments.
4202 New local update_blocks. Use update_blocks to remove duplicates
4203 when computing update blocks. Check for bblst_table overflow.
4204 (schedule_block): Add explanatory comment. Reduce bblst_size by
4205 factor of 2.
4206 * config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
4207 notes.
b8dad04b 4208
3cf37281
CC
42092000-10-19 Chandrakala Chavva <cchavva@redhat.com>
4210
4211 * libgcc2.c (_mulvsi3): Change variables u and v to a and b.
4212
e6b4d09d
CC
42132000-10-19 Chandrakala Chavva <cchavva@redhat.com>
4214
4215 * expmed.c: Minor corrections in comments.
4216 * invoke.texi: Added desciption for the new option -ftrapv.
4217
3d2adde6
CC
42182000-10-19 Chandrakala Chavva <cchavva@redhat.com>
4219
4220 * libgcc2.c: Added the missing #endif.
4221
1aa9fd24
JH
4222Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz>
4223
4224 * i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document.
4225
91ce572a
CC
42262000-10-18 Chandrakala Chavva <cchavva@redhat.com>
4227
b8dad04b
ZW
4228 * expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
4229 Use smulv_optab for -ftrapv.
4230 (expand_mult_highpart): Use unsigned multiply.
4231 (expand_divmod): Special-case division by -1.
4232 For EXACT_DIV_EXPR, do right shift first, then the multiply.
4233 For complex divide, use abs with unsigned result.
4234 * expr.c (force_operand): Use unsigned multiply.
4235 (expand_expr): Use overflow-trapping optabs for signed types if
4236 flag_trapv.
4237 If flag_trapv, don't generate a recursive call with EXPAND_SUM
4238 if the type is signed and the original call wasn't EXPAND_SUM or
4239 EXPAND_INITIALIZER.
4240 * expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
4241 (negv_optab, absv_optab): Declare.
4242 * flags.h (flag_trapv): Declare.
4243 * genopinit.c (optabs): Add entries for addv_optab, subv_optab,
4244 smulv_optab, sdivv_optab, negv_optab and absv_optab.
91ce572a 4245 (gen_insn): Interpret '$P' as requiring an integer mode,
b8dad04b
ZW
4246 including partial integer modes.
4247 * loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
4248 (product_cheap_p): Use unsigned expand_mult.
4249 * optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
4250 (negv_optab, absv_optab): Define.
4251 (expand_binop): Use overflow-trapping optabs for signed types if
4252 flag_trapv.
4253 Handle negv_optab libe neg_optab.
4254 (expand_abs): Take result_unsignedp argument instead of unsignedp one.
4255 Use overflow-trapping optabs for signed result if flag_trapv.
4256 (expand_complex_abs): Use overflow-trapping optabs for signed types if
4257 flag_trapv.
4258 Don't open-code complex absolute-value operation for flag_trapv.
4259 (init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
4260 sdivv_optab, negv_optab and absv_optab.
4261 * toplev.c (flag_trapv): Define.
4262 (lang_independent_options f_options): Include flag_trapv.
4263 * tree.h (TYPE_TRAP_SIGNED): Define.
4264 * libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
4265 __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
4266 New functions.
4267 * Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
4268 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
91ce572a 4269
4c2c5712
GK
42702000-10-18 Geoffrey Keating <geoffk@cygnus.com>
4271 David V. Henkel-Wallace <gumby@cygnus.com>
4272
4273 * config/i386/t-netware: Bring in from the Red Hat tree.
4274 * config/i386/netware.h: Likewise.
4275 * config/netware.h: Likewise.
4276 * config/rs6000/netware.h: Delete.
4277 * configure.in: Add i[34567]86-*-netware.
4278 * configure: Hand-edit to match configure.in change.
4279
6bcedb4e
MM
42802000-10-18 Mark Mitchell <mark@codesourcery.com>
4281
4282 * c-common.h (flag_no_builtin): Declare.
4283 (flag_no_nonansi_builtin): Likewise.
4284 (c_common_nodes_and_builtins): Change prototype.
4285 * c-common.c (flag_no_builtin): New variable.
4286 (flag_no_nonansi_builtin): Likewise.
4287 (c_common_nodes_and_builtins): Remove parameters. Adjust
4288 accordingly.
4289 * c-decl.c (flag_no_builtin): Remove.
4290 (flag_no_nonansi_builtin): Likewise.
4291 (init_decl_processing): Adjust call to
4292 c_common_nodes_and_builtins.
b8dad04b 4293
989b26a7
ME
42942000-10-18 Marc Espie <espie@openbsd.org>
4295
4296 * tm.texi (LIBGCC_SPEC): Synch with reality.
4297
81cf47b2
JM
42982000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
4299
4300 * c-common.c (check_format_types): Check for writing through a
4301 NULL pointer argument.
4302
27c35f4b
HPN
43032000-10-18 Hans-Peter Nilsson <hp@axis.com>
4304
4305 * tm.texi (Exception Region Output): Document
4306 DWARF_CIE_DATA_ALIGNMENT.
4307 * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
4308 #ifndef.
4309 [ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
4310 DWARF_CIE_DATA_ALIGNMENT.
4311
4a7da9b5
MH
43122000-10-18 Michael Hayes <mhayes@cygnus.com>
4313
4314 * basic-block.h (struct loop): Delete fields pre_header_root
4315 and pre_header_trace and replace with pre_header_edges
4316 and num_pre_header_edges.
4317 * flow.c (flow_loop_dump): Dump pre_header_edges.
4318 (flow_loops_free): Free pre_header_edges.
4319 (flow_loop_pre_header_scan): Calculate pre_header_edges.
4320
42c10750
GP
43212000-10-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4322
4323 * contrib.texi: Update references to steering committee members
4324 and Jeff Law's entry.
4325
ade7d3cc
JM
43262000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
4327
4328 * c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
4329 (maybe_read_dollar_number, check_format_info_main): Use them for
4330 pedantic warning messages.
4331
c5251260
JM
43322000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
4333
4334 * c-common.c (check_format_info_main): Minor cleanup: move
4335 variables into inner scopes; initialize declarations where
4336 appropriate; don't hardcode "scanf" name on warning for zero
4337 width.
4338
67673f5c
MM
43392000-10-17 Mark Mitchell <mark@codesourcery.com>
4340
4341 * c-common.c (back_end_hook): New variable.
4342 * c-common.h (back_end_hook): Declare it.
4343 * c-lang.c (finish_file): Use it.
4344
4345 * emit-rtl.c (init_emit_once): Initialize the const_int_htab
4346 earlier.
b8dad04b 4347
1aa9fd24 43482000-10-18 Jan Hubicka <jh@suse.cz>
265dab10 4349
b8dad04b
ZW
4350 * i386.c (ix86_comparison_operator, put_condition_code,
4351 ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
4352 (ix86_expand_strlensi_unroll_1): Use CCRCmode.
4353 * i386.h (EXTRA_CC_MODES): Add CCRCmode.
4354 * i386.md (adddi and negdi splitter): Use CCRCmode.
4355 (add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
4356 (subsi3_carry): add '*'
4357 (addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
4358 (cmp to add peep2): Use CCRCmode; swap operands.
265dab10 4359
b054460b
KH
43602000-10-18 Kazu Hirata <kazu@hxi.com>
4361
8682223f
KH
4362 * h8300.c: Fix a comment typo.
4363 (round_frame_size): New.
4364 (compute_saved_regs): Likewise.
4365 (push): Likewise.
4366 (pop): Likewise.
4367 (push_order): Remove.
4368 (pop_order): Likewise.
4369 (function_prologue): Rearrange code for readability.
4370 (function_epilogue): Likewise.
4371
b054460b
KH
4372 * config/h8300/h8300.md: Remove an unnecessary sign_extend
4373 expander that is used when not optimizing. Output a tab after
4374 each assembly insns.
4375
f27e6bb2
KH
4376 * reorg.c: Fix formatting.
4377
19ca869b
JR
43782000-10-17 Joern Rennecke <amylaar@redhat.co.uk>
4379
4380 * reload1.c (move2add_note_store): Check for simple
4381 auto-inc in destination.
4382
2ddb1ca1
MC
43832000-10-17 Michael Chastain <chastain@redhat.com>
4384
4385 * config/i386/i386-aout.h: define INT_ASM_OP.
4386
11881f37
AM
4387Tue Oct 17 20:11:08 2000 Alan Modra <alan@linuxcare.com.au>
4388
4389 * pa.c (print_operand): Handle case 'c' for .vtable_inherit
4390
33e39e38
MB
4391Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
4392
4393 * i370.md: Fix spelling typo.
4394
832ea3b3
FS
43952000-10-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4396
4397 * function.c (locate_and_pad_parm): Don't align stack unconditionally.
2b7fb034 4398 Fixes execute/20001017-1.c on powerpc-linux-gnu.
832ea3b3
FS
4399
4400 * expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
2b7fb034 4401 * rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
832ea3b3
FS
4402 LABEL_REF.
4403
4404 * rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
4405 ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
4406 here...
4407 * rs6000/aix.h: ...to here.
4408 * rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
4409
4c646291
JJ
44102000-10-17 Jakub Jelinek <jakub@redhat.com>
4411
4412 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
4413
4414 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
4415 sure linker can relax even the delay slot mov %g1,%o7, fix output
4416 formating.
4417
07e0fe3d
KH
44182000-10-17 Kazu Hirata <kazu@hxi.com>
4419
4420 * config/h8300/h8300.md: Remove an unnecessary zero_extend
4421 expander that is used when not optimizing. Output a tab after
4422 each assembly insns.
4423
10501d8f
CC
44242000-10-17 Chandrakala Chavva <cchavva@redhat.com>
4425
4426 * gcc.c: New options --target-help.
4427 (process_command): Added code to parse this new option.
4428 * toplev.c (display_target_options): New function to support the
4429 above new option.
4430 * cppinit.c (new_pending_directive) : New option OPT_target__help.
4431 (cpp_handle_option): Support this new option.
4432 * invoke.texi: Added notes about --target-help option.
b8dad04b 4433
c330e9c1 44342000-10-17 Graham Stott <grahams@redhat.com>
b8dad04b 4435
c330e9c1
GS
4436 * config/i386/i386.md (testqi_1): Add missing operand prefix
4437 for operand 0.
4438 * config/i386/i386-protos.h: Add missing prototype.
b8dad04b 4439
69ac4831
DN
44402000-10-17 Diego Novillo <dnovillo@cygnus.com>
4441
4442 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
4443 _GLOBAL_OFFSET_TABLE should not have a $ prefix when
4444 using -mintel-syntax.
4445
b691cb00
JM
44462000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
4447
4448 * c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
4449 (format_types): Use it for printf.
4450 (maybe_read_dollar_number): Add parameter for the kind of format
4451 involved. Warn for multiple use for arguments if this is
4452 inappropriate for the kind of format involved.
4453 (check_format_info_main): Update calls to maybe_read_dollar_number.
4454
948eab23
DA
44552000-10-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
4456
4457 * inclhack.def (hpux_maxint): Also apply fix to values.h.
4458 * fixincl.x: Rebuilt.
4459
1651ab85
AO
44602000-10-17 Alexandre Oliva <aoliva@redhat.com>
4461
4462 * genrecog.c (write_switch): Return the first condition that needs a
4463 label.
4464
2683ed8d
BS
44652000-10-17 Bernd Schmidt <bernds@redhat.co.uk>
4466
4467 * c-tree.h (warn_sequence_point): Move declaration to...
4468 * c-common.h (warn_sequence_point): ... here.
4469 * c-decl.c (warn_sequence_point): Move definition to...
4470 * c-common.c (warn_sequence_point): ... here.
4471 (struct reverse_tree): New.
4472 (reverse_list, reverse_max_depth): New static variables.
4473 (build_reverse_tree, common_ancestor, modify_ok
4474 verify_sequence_points): New functions.
4475 (c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
4476 * c-typeck.c (check_modify_expr): Delete.
4477 (build_modify_expr): Don't call it.
4478
74ff4629
JM
44792000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
4480
4481 * c-common.h (warn_missing_format_attribute): New variable.
4482 * c-decl.c (warn_missing_format_attribute): New variable.
4483 (c_decode_option): Decode -Wmissing-format-attribute and
4484 -Wno-missing-format-attribute.
4485 * c-common.c (check_function_format): If
4486 -Wmissing-format-attribute, give a warning where a vprintf or
4487 vscanf function is called by a function without its own printf or
4488 scanf attribute.
4489 * toplev.c (documented_lang_options): Add
4490 -Wmissing-format-attribute.
4491 * invoke.texi: Document -Wmissing-format-attribute.
4492
1d3b0e2c
ME
44932000-10-17 Marc Espie <espie@openbsd.org>
4494
4495 * invoke.texi (-shared): Insist on requiring code generation flags
4496 to be used along with -shared, and document the subtle failure that
4497 may occur otherwise.
4498
1c217171
DA
44992000-10-16 J. David Anglin <dave@hiauly1.hia.nrc.ca>
4500
4501 * pa.md (return_internal): Move `use' after `return'.
4502
11f3dc89
TP
45032000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
4504
4505 * machmode.def: Correct comment.
4506
0952f89b
RB
45072000-10-16 Rodney Brown <RodneyBrown@mynd.com>
4508
47c10e9b
RB
4509 * print-rtl.c (print_rtx_head): Constify.
4510 * rtl.h (print_rtx_head): Similarly.
4511
0952f89b
RB
4512 * config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
4513 Constify char * return value.
4514 * config/pa/pa/pa.c
4515 (output_64bit_and, output_64bit_ior): Constify char * return value.
4516 (pa_can_combine_p): Make static.
4517 (function_arg): Decorate unused `named' argument. Fix comment typo.
4518 (function_arg_partial_nregs): Decorate unused `named' argument.
4519
6d2e1454
JM
45202000-10-16 Joseph S. Myers <jsm28@cam.ac.uk>
4521
4522 * c-common.c (format_check_results): New structure.
4523 (finish_dollar_format_checking): Adjust to take a
4524 format_check_results * parameter.
4525 (check_format_info, check_format_info_recurse,
4526 check_format_info_main): Split check_format_info into three
4527 functions, the main checking going in check_format_info_main.
4528 Recurse when any reduction of the format string argument towards a
4529 string literal is done; go down both branches of a conditional
4530 expression. Don't warn for extra format arguments or empty format
4531 strings if they only occur in some branches of a conditional
4532 expression.
4533
4d231df7
KH
45342000-10-16 Kazu Hirata <kazu@hxi.com>
4535
f2a9645f 4536 * config/h8300/h8300.c: Remove obstack. Include ggc.h.
4d231df7 4537
55143861
JJ
45382000-10-16 Jakub Jelinek <jakub@redhat.com>
4539
4540 * rtlanal.c (may_trap_p): Check operand modes of COMPARE.
4541
406df25c
DN
45422000-10-15 Diego Novillo <dnovillo@cygnus.com>
4543
4544 * i386.md (*movsi_or): Switch operand order for intel syntax.
4545
e8beb821
JM
45462000-10-14 Joseph S. Myers <jsm28@cam.ac.uk>
4547
2f6256e7
JM
4548 * PROBLEMS: Remove.
4549
e8beb821
JM
4550 * gcc.texi (Contributing): Update.
4551
c1f9de5a
DN
45522000-10-13 Diego Novillo <dnovillo@cygnus.com>
4553
4554 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
4555 appropriate assembler dialect.
4556
f58e0b0c
AO
45572000-10-13 Alexandre Oliva <aoliva@redhat.com>
4558
4559 * c-common.c (c_expand_builtin): PARAMS-ize prototype.
4560
08f81276
MM
45612000-10-12 Marek Michalkiewicz <marekm@linux.org.pl>
4562
4563 * config/avr/avr.c (output_movhi, output_movsisf): Fix loading
4564 constants 1 and 2 to NO_LD_REGS.
4565
4b945402
KG
45662000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4567
4568 * Makefile.in (c-parse.c, tradcif.c): Create atomically.
b8dad04b 4569
4b945402
KG
4570 * objc/Make-lang.in (objc-parse.c): Likewise.
4571
c7319d87
RE
45722000-10-13 Richard Earnshaw <rearnsha@arm.com>
4573
4574 * arm.c: Include obstack.h
4575 (minipool_obstack, minipool_startobj): Define.
4576 (arm_add_gc_roots): Initialize them.
4577 (create_fix_barrier): Use our new obstack.
4578 (push_minipool_barrier, push_minipool_fix): Likewise.
4579 (arm_reorg): Release obstack memory.
4580
fccf9848
JJ
45812000-10-13 Jakub Jelinek <jakub@redhat.com>
4582
4583 * config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
4584 (prologue, exception_receiver, builtin_setjmp_receiver): New
4585 patterns.
4586 * config/sparc/sparc.h (FINALIZE_PIC): Remove.
4587 * config/sparc/sparc-protos.h (finalize_pic): Remove.
4588 (load_pic_register): New prototype.
4589 * config/sparc/sparc.c (pic_setup_code): Remove.
4590 (finalize_pic): Rename to...
4591 (load_pic_register): ...this function.
4592 Don't look for nonlocal_goto_receivers and emit pic setup code
4593 directly. Don't check current_function_uses_pic_offset_table.
4594
7584b89f
RE
45952000-10-13 Richard Earnshaw <rearnsha@arm.com>
4596
4597 * tree.h (struct obstack): Declare.
4598
1f8f4a0b
MM
45992000-10-12 Mark Mitchell <mark@codesourcery.com>
4600
b8dad04b 4601 Remove obstacks.
1f8f4a0b 4602 * Makefile.in (ggc-callbacks.o): Remove target.
b8dad04b 4603 (flow.o): Depend on GGC_H.
1f8f4a0b
MM
4604 * alias.c (init_alias_analysis):
4605 Remove ggc_p conditionals.
b8dad04b 4606 (end_alias_analysis): Likewise.
1f8f4a0b 4607 * basic-block.h (init_flow): New function.
b8dad04b 4608 (allocate_reg_life_data): Declare.
1f8f4a0b
MM
4609 * bb-reorder.c (function_obstack): Replace with ...
4610 (flow_obstack): ... new variable.
b8dad04b 4611 (fixup_reorder_chain): Use it.
1f8f4a0b 4612 * c-decl.c (ggc_p): Remove.
b8dad04b 4613 (caller-save.c): Don't call oballoc/obfree.
1f8f4a0b
MM
4614 * combine.c (struct
4615 undobuf): Remove storage.
4616 (try_combine): Don't call oballoc.
b8dad04b 4617 (undo_all): Don't call obfree.
1f8f4a0b
MM
4618 * cse.c (insert): Use xmalloc, not
4619 oballoc.
b8dad04b 4620 (cse_main): Adjust accordingly.
1f8f4a0b
MM
4621 * dwarf2out.c (save_rtx): Remove
4622 obstack code.
b8dad04b 4623 (dwarf2out_init): Remove ggc_p conditionals.
1f8f4a0b
MM
4624 * emit-rtl.c (rtl_obstack): Remove.
4625 (gen_rtx_CONST_INT): Remove ggc_p conditionals.
4626 (make_insn_raw): Likewise.
4627 (emit_insn_before): Likewise.
4628 (emit_insn_after): Likewise.
4629 (emit_insn): Likewise.
4630 (gen_sequence): Likewise.
4631 (copy_insn_1): Remove handling of `b' RTL components.
b8dad04b 4632 (init_emit_once): Remove ggc_p conditionals.
1f8f4a0b
MM
4633 * except.c (create_rethrow_ref): Don't fool with obstacks.
4634 (add_partial_entry): Likewise.
4635 (call_get_eh_context): Likewise.
4636 (begin_protect_partials): Likewise.
b8dad04b 4637 (protect_with_terminate): Likewise.
1f8f4a0b 4638 * explow.c
b8dad04b 4639 (plus_constant_wide): Likewise.
1f8f4a0b
MM
4640 * expr.c (init_expr_once):
4641 Likewise.
4642 (emit_block_move): Likewise.
4643 (clear_storage): Likewise.
b8dad04b 4644 (expand_expr): Likewise.
1f8f4a0b
MM
4645 * flow.c (function_obstack): Remove.
4646 (flow_obstack): New variable.
4647 (flow_firstobj): Likewise.
4648 (create_base_block): Use the flow_obstack.
4649 (split_block): Likewise.
4650 (split_edge): Likewise.
4651 (calculate_global_regs_live): Likewise.
4652 (allocate_bb_life_data): Make it static. Likewiwse.
4653 (init_flow): New function.
b8dad04b 4654 (size_int_type_wide): Remove ggc_p conditionals.
1f8f4a0b
MM
4655 * function.c
4656 (push_function_context_to): Don't call save_tree_status.
4657 (pop_function_context_from): Or restore_tree_status.
4658 (assign_stack_local_1): Don't call push_obstacks.
4659 (find_fixup_replacement): Use xmalloc.
4660 (fixup_var_refs_insns): Free the storage.
4661 (insns_for_mem_walk): Don't mess with obstacks.
4662 (instantiate_decls): Likewise.
4663 (trampoline_address): Likewise.
b8dad04b 4664 (expand_function_end): Likewise.
1f8f4a0b
MM
4665 * function.h (sturct function):
4666 Remove obstack-related variables.
4667 (save_tree_status): Don't declare.
b8dad04b 4668 (restore_tree_status): Likewise.
1f8f4a0b 4669 * gcse.c (compute_can_copy):
b8dad04b 4670 Don't call oballoc/obfree.
1f8f4a0b
MM
4671 * genattrtab.c (operate_exp): Remove
4672 ggc_p conditionals.
4673 (simplify_cond): Likewise.
4674 (simplify_test_exp): Don't mess with obstacks.
b8dad04b 4675 (optimize_attrs): Likewise.
1f8f4a0b 4676 * gengenrtl.c (gendef): Don't include
b8dad04b
ZW
4677 ggc_p conditionals.
4678 * ggc-callbacks.c (ggc_p): Remove.
4679 * ggc-none.c (ggc_p): Remove.
4680 * ggc.h (ggc_p): Don't declare.
265dab10 4681 * integrate.c (save_for_inline): Don't mess with obstacks.
1f8f4a0b 4682 (integrate_decl_tree): Likewise.
b8dad04b 4683 (output_inline_function): Likewise.
1f8f4a0b 4684 * lists.c
b8dad04b 4685 (init_EXPR_INSN_LIST_cache): Likewise.
1f8f4a0b
MM
4686 * loop.c (temp_obstack):
4687 Remove.
4688 (rtl_obstack): Likewise.
4689 (init_loop): Don't mess with obstacks.
4690 (reg_address_cost): Free BIVs and GIVs.
4691 (check_insns_for_bivs): Use xmalloc, not oballoc.
4692 (find_mem_givs): Likewise.
4693 (record_biv): Likewise.
4694 (general_induction_var): Likewise.
b8dad04b 4695 (product_cheap_p): Likewse.
1f8f4a0b 4696 * optabs.c (init_one_libfunc): Remove
b8dad04b 4697 ggc_p conditional.
1f8f4a0b
MM
4698 * print-tree.c (debug_tree): Don't use
4699 oballoc/obfree.
b8dad04b 4700 (print_node): Likewise.
1f8f4a0b 4701 * profile.c (output_func_start_profiler):
b8dad04b 4702 Remove call to temporary_allocation.
1f8f4a0b 4703 * reload1.c
b8dad04b 4704 (eliminate_regs_in_insn): Don't mess with obstacks.
1f8f4a0b
MM
4705 * resource.c
4706 (mark_target_live_regs): Use xmalloc.
b8dad04b 4707 (free_resource_info): Free the memory.
1f8f4a0b
MM
4708 * rtl.c (rtl_obstack):
4709 Remove.
4710 (rtvec_alloc): Don't mess with obstacks.
4711 (rtx_alloc): Likewise.
4712 (rtx_free): Remove.
4713 (copy_rtx): Don't handle `b' cases.
b8dad04b 4714 (read_rtx): Use a local rtl_obstack.
1f8f4a0b
MM
4715 * rtl.h (oballoc): Remove.
4716 (obfree): Likewise.
4717 (pop_obstacks): Likewise.
4718 (push_obstacks): Likewise.
4719 (allocate_bb_life_data): Likewise.
4720 (allocate_reg_life_data): Likewise.
b8dad04b 4721 (rtx_free): Likewise.
1f8f4a0b 4722 * sdbout.c (sdbout_queue_anonymous_type):
b8dad04b 4723 Use tree_cons, not saveable_tree_cons.
1f8f4a0b 4724 * simplify-rtx.c
b8dad04b 4725 (cselib_init): Don't mess with obstacks.
1f8f4a0b
MM
4726 * stmt.c
4727 (mark_block_nesting): Mark the label_chain.
4728 (epxand_label): Use ggc_alloc, not oballoc.
4729 (clear_last_expr): Don't mess with obstacks.
4730 (expand_decl_cleanup): Likewise.
4731 (expand_dcc_cleanup): Likewise.
4732 (expand_dhc_cleanup): Likewise.
4733 (expand_anon_union_decl): Likewise.
4734 (add_case_node): Use xmalloc, not oballoc.
4735 (free_case_nodes): New function.
b8dad04b 4736 (expand_end_case): Call it.
1f8f4a0b
MM
4737 * stor-layout.c (layout_type): Don't
4738 mess with obstacks.
b8dad04b 4739 (layout_type): Likewise.
1f8f4a0b
MM
4740 * toplev.c (wrapup_global_declarations):
4741 Likewise.
4742 (compile_file): Remove ggc_p conditionals.
4743 (rest_of_compilation): Call init_flow. Remove ggc_p conditionals.
b8dad04b 4744 (decode_f_option): Remove ggc_p conditionals.
1f8f4a0b
MM
4745 * tree.c
4746 (function_maybepermanent_obstack): Remove.
4747 (maybepermanent_obstack): Likewise.
4748 (function_obstack): Likewise.
4749 (tmeporary_obstack): Likewise.
4750 (momentary_obstack): Likewise.
4751 (temp_decl_obstack): Likewise.
4752 (saveable_obstack): Likewise.
4753 (rtl_obstack): Likewise.
4754 (current_obstack): Likewise.
4755 (expression_obstack): Likewise.
4756 (struct obstack_stack): Likewise.
4757 (obstack_stack): Likewise.
4758 (obstack_stack_obstack): Likewise.
4759 (maybepermanent_firstobj): Likewise.
4760 (temporary_firstobj): Likewise.
4761 (momentary_firstobj): Likewise.
4762 (temp_decl_firstobj): Likewise.
4763 (momentary_function_firstobj): Likewise.
4764 (all_types_permanent): Likewise.
4765 (struct momentary_level): Likewise.
4766 (momentary_stack): Likewise.
4767 (init_obstacks): Remove initialization of removed obstacks.
4768 (save_tree_status): Remove.
4769 (restore_tree_status): Likewise.
4770 (temporary_allocation): Liekwise.
4771 (end_temporary_allocation): Liekwise.
4772 (resume_temporary_allocation): Likewise.
4773 (saveable_allocation): Likewise.
4774 (push_obstacks): Likewise.
4775 (push_obstacks_nochange): Likewise.
4776 (pop_obstacks): Likewise.
4777 (allocation_temporary_p): Likewise.
4778 (permanent_allocation): Likewise.
4779 (preserve_data): Likewise.
4780 (preserve_initializer): Likewise.
4781 (rtl_in_current_obstack): Likewise.
4782 (rtl_in_saveable_obstack): Likewise.
4783 (oballoc): Likewise.
4784 (obfree): Likewise.
4785 (savealloc): Likewise.
4786 (expralloc): Likewise.
4787 (print_obstack_name): Likewise.
4788 (debug_obstack): Likewise.
4789 (object_permanent_p): Likewise.
4790 (push_momentary): Likewise.
4791 (perserve_momentary): Likewise.
4792 (clear_momentary): Likewise.
4793 (pop_momentary): Likewise.
4794 (pop_momentary_nofree): Likewise.
4795 (suspend_momentary): Likewise.
4796 (resume_momentary): Likewise.
4797 (make_node): Don't set TREE_PERMANENT.
4798 (copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK.
4799 Don't set TREE_PERMANENT.
4800 (get_identifier): Remove ggc_p conditionals.
4801 (build_string): Likewise.
4802 (make_tree_vec): Likewise.
4803 (build_decl_list): Remove.
4804 (build_expr_list): Likewise.
4805 (tree_cons): Remove ggc_p conditionals.
4806 (decl_tree_cons): Remove.
4807 (expr_tree_cons): Likewise.
4808 (perm_tree_cons): Likewise.
4809 (temp_tree_cons): Likewise.
4810 (saveable_tree_cons): Likewise.
4811 (build1): Remove ggc_p conditionals.
4812 (build_parse_node): Likewise.
4813 (build_type_attribute_variant): Don't mess with obstacks.
4814 (build_type_copy): Likewise.
4815 (type_hash_canon): Likewise.
4816 (build_pointer_type): Likewise.
4817 (build_reference_type): Likewise.
4818 (build_index_type): Likewise.
4819 (build_range_type): Likewise.
b8dad04b 4820 (dump_tree_statistics): Don't print obstack information.
1f8f4a0b
MM
4821 * tree.h
4822 (struct tree_common): Remove permanent_flag.
4823 (TREE_PERMANENT): Remove.
4824 (TREE_SET_PERMANENT): Likewise.
4825 (TYPE_OBSTACK): Likewise.
4826 (struct tree_type): Remove obstack.
4827 (oballoc): Remove.
4828 (savealloc): Likewise.
4829 (build_decl_list): Likewise.
4830 (build_expr_list): Likewise.
4831 (perm_tree_cons): Likewise.
4832 (temp_tree_cons): Likewise.
4833 (saveable_tree_cons): Likewise.
4834 (decl_tree_cons): Likewise.
4835 (expr_tree_cons): Likewise.
4836 (suspend_momentary): Likewise.
4837 (allocation_temporary_p): Likewise.
4838 (resume_momentary): Likewise.
4839 (push_obstacks_nochange): Likewise.
4840 (permanent_allocation): Likewise.
4841 (push_momentary): Likewise.
4842 (clear_momentary): Likewise.
4843 (pop_momentary): Likewise.
4844 (end_temporary_allocation): Likewise.
4845 (pop_obstacks): Likewise.
4846 (push_obstacks): Likewise.
4847 (pop_momentary_nofree): LIkewise.
4848 (preserve_momentary): Likewise.
4849 (saveable_allocation): Likewise.
4850 (temporary_allocation): Likewise.
4851 (resume_temporary_allocation): Likewise.
4852 (perserve_initializer): Likewise.
4853 (debug_obstack): Likewise.
4854 (rtl_in_current_obstack): Likewise.
4855 (rtl_in_saveable_obstack): Likewise.
b8dad04b 4856 (obfree): Likewise.
1f8f4a0b
MM
4857 * varasm.c (current_obstack): Remove.
4858 (saveable_obstack): Remove.
4859 (rtl_obstack): Remove.
4860 (immed_double_const): Don't mess with obstacks.
4861 (immed_real_cons): Likewise.
4862 (output_constant_def): Likewise.
4863 (init_varasm_status): Use xcalloc.
4864 (mark_pool_constant): Mark the pool constant itself.
4865 (free_varasm_status): Free memory.
4866 (decode_rtx_const): Call bzero directly, rather than expanding it
4867 inline.
4868 (record_rtx_const): Don't mess with obstacks.
4869 (force_const_mem): Likewise.
4870 * config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
4871 conditionals.
4872 (aof_pic_entry): Likewise.
4873 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
4874 * config/m32r/m32r.c (m32r_encode_section_info): Likewise.
4875 * config/pa/pa.c (saveable_obstack): Remove.
4876 (rtl_obstack): Likewise.
4877 (current_obstack): Likewise.
4878 (output_call): Don't mess with obstacks.
4879 (hppa_encode_label): Remove ggc_p conditionals.
4880 * config/romp/romp.c (get_symref): Don't mess with obstacks.
4881 * config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
4882 (rs6000_encode_section_info): Likewise.
4883 * config/sh/sh.c (get_fpscr_rtx): Likewise.
b8dad04b 4884
9dcbdc7e
JH
4885Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz>
4886
4887 * i386.md (adddi3, subdi3 splitters): Update for new pattern.
4888 (addsi3_cc, addqi3_cc, subsi3_cc): Remove
4889 (addsi3_carry): Canonicalize.
4890 (addqi_5): Remove '*'.
4891 (sbb pattern): Canonicalize.
4892
4893 * i386.md (cmp to inc/add peep2): New.
4894
74490e05
RE
48952000-10-12 Richard Earnshaw <rearnsha@arm.com>
4896
4897 * bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
4898 the exit block.
4899
bc87c1c8
JM
49002000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
4901
4902 * gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
4903 * README.TRAD, TESTS.FLUNK: Remove.
4904
9fa8f75d
JM
49052000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
4906
4907 * c-common.c (decl_attributes): Don't allow strftime formats with
4908 first_arg_num nonzero.
4909 (check_format_info): Set wanted_type and wanted_type_name to zero
4910 before they are possibly assigned and used.
4911
4831bc84
JM
49122000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
4913
4914 * c-common.c (scanf_flag_specs): Add flags ' and I.
4915 (strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
4916 or the ^ and # flags together.
4917 (scan_char_table): Handle the ' and I flags.
4918 (format_types): Add ' and I flags for scanf.
4919
2f7026a0
JM
49202000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
4921
4922 * c-common.c (print_char_table): Use the unpromoted type for
4923 lengths "h" and "hh" with conversions dioxXu.
4924 (check_format_types): Apply the default argument promotions where
4925 the wanted type is not a pointer target.
4926
bb58bec5 49272000-10-11 Michael Meeks <mmeeks@gnu.org>
b8dad04b 4928 Joseph S. Myers <jsm28@cam.ac.uk>
bb58bec5
JM
4929
4930 * c-typeck.c (check_modify_expr): New function.
4931 (build_modify_expr): Call it if warn_sequence_point.
4932 * c-decl.c (warn_sequence_point): New variable.
4933 (c_decode_option): Handle -Wsequence-point and
4934 -Wno-sequence-point. Enable -Wsequence-point as part of -Wall.
4935 * c-tree.h (warn_sequence_point): Declare.
4936 * invoke.texi (-Wsequence-point): Document.
4937 * toplev.c (documented_lang_options): Add -Wsequence-point and
4938 -Wno-sequence-point.
4939 Original work by Michael Meeks, 16 Jun 1998.
4940
0fba7208
RK
4941Wed Oct 11 06:15:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4942
4943 * tree.c (get_narrower): Don't look at precision of field if
4944 not laid out yet.
4945
67e570ea
DC
4946Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
4947
4948 * config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
4949 declaration for data with "progmem" attribute.
4950
80b8585d
MM
49512000-10-09 Marek Michalkiewicz <marekm@linux.org.pl>
4952
4953 * config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
4954 Correct insn length if shift count is a memory operand.
4955 * config/avr/avr.md: New define_peephole2 to use *reload_inqi.
4956 (*iorhi3_clobber): Change lo8 to hi8.
4957 (zero_extendhisi2): Change %B0 to %A1.
4958 (ashlhi3, ashrhi3): Correct insn length.
4959 (andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
4960 from "clobber" to "set_n" in some alternatives.
4961
462561b7
JJ
49622000-10-10 Jakub Jelinek <jakub@redhat.com>
4963
4964 * reload1.c (calculate_needs_all_insns): If deleting an instruction,
4965 remove its insn_chain structure as well.
4966
0b8833aa
DA
49672000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
4968
4969 * dbxout.c (dbxout_source_line): Remove extra tab.
4970
c690f089
HPN
49712000-10-09 Hans-Peter Nilsson <hp@bitrange.com>
4972
4973 * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
4974
1854631b
RH
49752000-10-09 Richard Henderson <rth@cygnus.com>
4976
4977 * Makefile.in (LANG_LIB2FUNCS): Remove.
4978 (LIB2FUNCS): Remove _pure.
4979 (LIB2ADD): Remove LANG_LIB2FUNCS.
4980 (stage_a): Don't set LANG_LIB2FUNCS.
4981 * libgcc2.c (__terminate): Mark noreturn.
4982 (__pure_virtual): Remove.
4983 * mklibgcc.in: Remove LIB2ADD .txt processing.
4984
880c4dcb
RE
49852000-10-09 Richard Earnshaw <rearnsha@arm.com>
4986
4987 * arm.md (push_multi): Revert unintended change.
4988
5895f793
RE
49892000-10-09 Richard Earnshaw <rearnsha@arm.com>
4990
b8dad04b 4991 * arm.c: Miscellaneous white space and comment clean-ups. No
5895f793
RE
4992 functional change.
4993 * arm.md: Likewise.
4994
1092710d
KG
49952000-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4996
4997 * c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
4998 STRING_CST by calling combine_strings.
4999
ca356f3a
RE
50002000-10-09 Richard Earnshaw <rearnsha@arm.com>
5001
5002 * arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
5003 (thumb_output_move_mem_multiple): Support new insn format.
5004 * arm.md (movmem12b): Use SSA compatible format.
5005 (movmem8b): Likewise.
5006
cca0a211
RE
50072000-10-09 Richard Earnshaw <rearnsha@arm.com>
5008
5009 * arm.md (predicable): New attribute, default to "no".
5010 (all patterns): Mark as predicable if appropriate.
5011 (conditional execution splits): Split using predication format.
5012 (define_cond_exec): Define.
5013 * arm.c (arm_print_operand): handle insn predicate.
b8dad04b 5014
1146cfde
GP
50152000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5016
5017 * README.NS32K: Remove file.
5018
50192000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5020
5021 * README-bugs: Remove file.
5022
4d0230e1
PT
50232000-10-08 Philipp Thomas <pthomas@suse.de>
5024 * aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
5025 for test.
5026 * configure: Rebuilt.
5027
9fdf713f
PT
50282000-10-08 Philipp Thomas <pthomas@suse.de>
5029 * aclocal.m4 (AM_WITH_NLS): When not using included gettext,
5030 disable catalog building if no suitable program was found.
5031 Move warning message from here
5032 (AM_GNU_GETTEXT): To here.
5033 * configure: Rebuilt.
5034
00036f5c
PT
50352000-10-08 Philipp Thomas <pthomas@suse.de>
5036 * aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
5037 different cache variables.
5038 (GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
5039 uses different cache variables.
5040 (AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
5041 * configure: Regenerated.
b8dad04b 5042
aefa45d3
RH
50432000-10-08 Richard Henderson <rth@cygnus.com>
5044
5045 * Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
5046 * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
5047 * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
5048 Use SHLIB_EXT.
5049
5050 * config/t-linux (SHLIB_EXT): New.
5051 (SHLIB_LINK): Use the entire build command, with substitutions.
5052 (SHLIB_LIBS): Remove.
5053 * config/alpha/t-osf4: Likewise.
5054 * config/mips/t-iris6: Likewise.
5055 * config/sparc/t-sol2: Likewise, but move shlib stuff...
5056 * config/sparc/t-slibgcc-sld: ...here.
5057 * config/sparc/t-slibgcc: New file.
5058
b15ad712
JM
50592000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
5060
5061 * tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
5062 * c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
5063 CTI_UINTMAX_TYPE.
5064 (intmax_type_node, uintmax_type_node): Define.
5065 * c-common.c (decl_attributes): If pedantic, warn if `mode'
5066 attributes create a type wider than intmax_t.
5067 (T_IM, T_UIM): Define properly.
5068 * c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
5069 defined.
5070 (init_decl_processing): Initialize intmax_type_node and
5071 uintmax_type_node.
5072 * c-lex.c (lex_number): When pedantic and warning for integer
5073 constants that are too large, in C99 mode warn for those that have
5074 a type wider than long long.
5075
2588e44e
JM
50762000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
5077
5078 * c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
5079 FMT_FLAG_FANCY_PERCENT_OK): Define.
5080 (format_char_info): Add flag "4" to comment.
5081 (format_flag_spec, format_flag_pair): New structures.
5082 (format_kind_info): Add additional fields to control format
5083 checking.
5084 (printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
5085 scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
5086 arrays.
5087 (time_char_table): Use "4" flag to handle %Ey.
5088 (format_types): Add entries for new fields.
5089 (get_flag_spec): New function.
5090 (check_format_info): Increase size of flag_chars[] to 256.
5091 Control format checking using the new fields of a format_kind_info
5092 and the new tables; remove all conditionals on printf_format_type,
5093 scanf_format_type or strftime_format_type. Handle all details of
5094 bad combinations of flags (including width, precision and strftime
5095 modifiers) through data rather than ad hoc code. Handle all
5096 details of standard versions in which flags appeared through
5097 data. Use the "4" flag.
5098
7b7de7c0
WC
50992000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
5100
5101 * config/h8300/h8300.md: Remove the memory alternative and correct
5102 the insn lengths in the templates for sign extention and zero
5103 extention.
5104
9a1ba437
RH
51052000-10-07 Richard Henderson <rth@cygnus.com>
5106
5107 * calls.c (expand_call): Disallow sibcalls to noreturn functions.
5108 * flow.c (make_edges): Revert last change.
5109
5110 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
5111 TREE_THIS_VOLATILE.
5112 * config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
5113
d38d55b4
DB
51142000-10-06 David O'Brien <obrien@dragon.nuxi.com>
5115
5116 * config/alpha/elf.h: Standardize the formatting.
5117
94984e91
DB
51182000-10-06 David O'Brien <obrien@FreeBSD.org>
5119
5120 * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
5121 #undef.
5122
3e4eac3f
RH
51232000-10-06 Richard Henderson <rth@cygnus.com>
5124
5125 * function.c (diddle_return_value): Examine
5126 current_function_return_rtx instead of the DECL_RESULT.
5127 (expand_function_end): Handle reloading DECL_RESULT from memory
5128 into a hard register. Query promote_mode for sign of mismatched
5129 modes.
5130
4071f896
VM
51312000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
5132
5133 * haifa-sched.c (schedule_insns): Fix typo in freeing
5134 forward_dependency_cache.
5135
eb69f95c
AO
51362000-10-06 Alexandre Oliva <aoliva@redhat.com>
5137
5138 * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
5139 `TARGET_SH2' as a condition.
5140
178b88b9
VM
51412000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
5142
5143 * haifa-sched.c (anti_dependency_cache, output_dependency_cache,
5144 forward_dependency_cache): New variables.
5145 (add_dependence, remove_dependence): Use anti_dependency_cache and
5146 output_dependency_cache.
5147 (compute_block_forward_dependences): Use forward_dependency_cache.
5148 (schedule_insns): Allocate and free memory for anti/output/forward
5149 dependencies caches.
b8dad04b 5150
827bdee4
AO
51512000-10-06 Alexandre Oliva <aoliva@redhat.com>
5152
5153 * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
5154 `! TARGET_SH1'. Reindent.
5155
c70eaeaf
KG
51562000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5157
5158 * builtins.c (is_valid_printf_arglist, expand_builtin_printf):
5159 Move functions from here ...
5160
5161 * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
5162 ... to here.
5163 (c_expand_builtin): New function.
5164 (init_function_format_info): Don't set `check_function_format_ptr'.
5165 (c_common_nodes_and_builtins): Set built_in_class type for
5166 printf/__builtin_printf to BUILT_IN_FRONTEND.
5167 (c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
5168
5169 * c-common.h (build_function_call): Declare.
5170
5171 * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
5172 to `lang_expand_expr' rather than `expand_builtin'.
5173
5174 * tree.c (check_function_format_ptr): Delete.
5175
5176 * tree.h (check_function_format_ptr): Likewise.
5177
f299afab
HPN
51782000-10-06 Hans-Peter Nilsson <hp@bitrange.com>
5179
5180 * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
5181 DW_OP_bregx when cfa->reg > 31.
5182
5183 * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
5184 break.
5185
b313a0fe
RH
51862000-10-05 Richard Henderson <rth@cygnus.com>
5187
5188 * c-decl.c (warn_missing_noreturn): Remove.
5189 (c_expand_body): Don't set or check can_reach_end.
5190 * c-tree.h (warn_missing_noreturn): Move ...
5191 * flags.h: ... here.
5192 (can_reach_end): Remove.
5193 * flow.c (check_function_return_warnings): New.
5194 (make_edges): No edge to exit for noreturn sibcalls.
5195 * function.c (expand_function_end): Save the return value
5196 clobber instruction.
5197 (mark_function_status): Mark it.
5198 * function.h (struct function): Add x_clobber_return_insn.
5199 * jump.c (can_reach_end): Remove.
5200 (calculate_can_reach_end): Remove.
5201 (jump_optimize_1): Don't call it.
5202 * output.h (check_function_return_warnings): Declare.
5203 * toplev.c (warn_missing_noreturn): Move from c-decl.c
5204 (rest_of_compilation): Call check_function_return_warnings.
5205
83dad10c
RH
52062000-10-05 Richard Henderson <rth@cygnus.com>
5207
5208 * Makefile.in (NM_FOR_TARGET): New.
5209 (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
5210 (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
5211 * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map. Depend the
5212 shared library build on that and EXTRA_MULTILIB_PARTS.
5213 * mkmap-flat.awk: New file.
5214 * mkmap-symver.awk: New file.
5215 * libgcc-std.ver: New file.
5216 * config/libgcc-glibc.ver: New file.
5217 * config/ia64/libgcc-ia64.ver: New file.
5218 * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
5219 (SHLIB_LINK): Add --version-script.
5220 * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
5221 * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
5222 * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
5223 (SHLIB_LINK): Add -M.
5224
d6eacd48
RH
52252000-10-05 Richard Henderson <rth@cygnus.com>
5226
5227 * Makefile.in (LIB2FUNCS): Add _clz.
5228 * libgcc2.c (__ffsdi2): Use count_trailing_zeros.
5229 (__clz_tab): Put in its own unit, non-static.
5230 * libgcc2.h: Always include longlong.h.
5231
29279975
RH
5232 * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
5233 a zero instead of -1.
5234 (count_trailing_zeros): Likewise.
5235
c74fa144
RH
52362000-10-05 Richard Henderson <rth@cygnus.com>
5237
5238 * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
5239 when second op1 is const0_rtx. Validate op0 as a register.
5240 * config/alpha/alpha.md (setcc_internal): Don't allow constants
5241 in the first argument of the compare.
5242 (setcc_swapped_internal): Likewise.
5243 (setne_internal): Likewise.
5244
c5620996
GK
52452000-10-05 Geoff Keating <geoffk@cygnus.com>
5246
5247 * tree.c (tree_size): New function split out of copy_node.
5248 (make_node): Remove obstack handling. Use tree_size.
5249 (copy_node): Use tree_size.
5250 * tree.h: Prototype tree_size.
5251
331fe257
RH
52522000-10-05 Richard Henderson <rth@cygnus.com>
5253
5254 * diagnostic.c (output_format): Add missing break.
5255
cc0cbae1
JW
52562000-10-05 Jim Wilson <wilson@cygnus.com>
5257
5258 * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
5259 SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
5260 sequence insn to INSN, and delete last sequence insn.
5261
f5fa9a5b
PE
52622000-10-05 Phil Edwards <pme@gcc.gnu.org>
5263
5264 * gcc.c (main): Include generated configargs.h header
5265 and use arguments in '-v' output.
5266
2296d164
RK
5267Thu Oct 5 16:16:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5268
5269 * gcc.c: Move data on prefixes forward in file and reorganize.
5270 (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
5271 Always define, but make null if no value.
5272 (static_specs): Add "md_exec_prefix", "md_startfile_prefix",
5273 and "md_startfile_prefix_1".
5274 (main): Check whether md_exec_prefix and the others are the
5275 null string rather than whether the macro is defined.
5276
43d75418
R
5277Thu Oct 5 19:04:18 2000 J"orn Rennecke <amylaar@redhat.co.uk>
5278
5279 * (convert_move): Use zero_extendpsisi2 to do an unsigned extension
5280 from PSImode to SImode.
5281
e389897b
JJ
52822000-10-05 Jakub Jelinek <jakub@redhat.com>
5283
5284 * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
5285 from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
5286 * dwarf2out.c (add_const_value_attribute): Divide by 4, not
5287 sizeof(long).
5288
b8fbe62c
RK
5289Thu Oct 5 09:31:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5290
5291 * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
5292 negation in proper type.a
5293
50503ac8
RH
52942000-10-04 Richard Henderson <rth@cygnus.com>
5295
5296 * configure.in (enable-shared): New.
5297 * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
5298 (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
5299 * mklibgcc.in: Use them to link shared a libgcc.
5300 * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
5301 * config/alpha/t-ieee (SHLIB_MULTILIB): New.
5302 * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
5303 * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
5304
5305 * configure.in (alpha-osf*): Use t-osf and x-osf.
5306 * config/alpha/t-osf: New file.
5307 * config/alpha/t-osf4: New file.
5308 * config/alpha/x-osf: New file.
5309 * config/alpha/x-alpha: Remove file.
5310
4b606faf
WC
53112000-10-04 Will Cohen <wcohen@redhat.com>
5312
5313 * c-typeck.c (process_init_element): Added warning for zero-length
5314 array.
5315
5316 * extend.texi (Zero Length): State that static initializers for
5317 zero-length arrays are not allowed.
5318
c9b89a21
JH
5319Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz>
5320
5321 * rtlanal.c (single_set_1): Do not require USE and CLOBBERs
5322 to come last.
5323
81bce466
MH
53242000-10-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5325
5326 * config/float-c4x.h: New.
5327 * configure.in (c4x-*): Set float_format to c4x.
b8dad04b 5328 * configure: Regenerate.
81bce466 5329
72882e08
KG
53302000-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5331
5332 * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
5333 compilation for solaris versions 2.7 and greater.
5334
ea205a52
ME
53352000-10-02 Marc Espie <espie@openbsd.org>
5336
5337 * config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
5338 instead of redefining from scratch.
5339
618ec0d7
DB
53402000-10-02 David O'Brien <obrien@dragon.nuxi.com>
5341
5342 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
5343
f15b9af9
MM
53442000-10-01 Mark Mitchell <mark@codesourcery.com>
5345
776749c5
MM
5346 * config/ns32k/genix.h: Remove.
5347 * config/ns32k/x-genix: Likewise.
5348 * config/ns32k/xm-genix.h: Likewise.
5349 * config/fx80: Remove all filee in directory.
5350 * config/pyr: Likewise.
5351 * config/tahoe: Likewise.
5352 * config/gmicro: Likewise.
5353 * config/spur: Likewise.
5354 * configure.in: Remove configury bits for above targets.
5355 * configure: Regenerated.
b8dad04b 5356
a7b4171a
MM
5357 * configure.in: Don't configure chill by default.
5358 * configure: Regenerated.
b8dad04b 5359
f15b9af9
MM
5360 * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
5361 (lang_mark_false_label_stack): Remove.
5362 * c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate
5363 <top level> string in GC area.
5364 (mark_splay_tree_node): New function.
5365 (mark_splay_tree): Likewise.
5366 * except.c (mark_eh_status): Only call lang_mark_false_label_stack
5367 if it exists.
5368 * ggc-callbacks.c (lang_mark_false_label_stack): Remove.
5369 * ggc-common.c (lang_mark_false_label_stack): Change type.
5370 * ggc.h (ggc_alloc_string): Add comment.
5371 (ggc_strdup): New function.
b8dad04b 5372
51296ba0
DC
5373Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru>
5374
5375 * config/avr/avr.h (BRANCH_COST): Define as 0.
5376
5377 * config/pdp11/pdp11.c: #include "tree.h" added.
5378
adcd8f77
MM
53792000-09-30 Marek Michalkiewicz <marekm@linux.org.pl>
5380
5381 * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
5382 ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
5383 with known shift count.
5384 * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
5385 New alternative for shift count 2 with no scratch register.
5386 (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
5387 "set_n" for shift counts 1 and 2.
5388
e35b9579
GK
53892000-09-30 Geoff Keating <geoffk@cygnus.com>
5390
5391 * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE. Calculate
5392 the mask value from the individual SET operations.
5393 (return_internal_si): Move the USE after the RETURN.
5394 (return_internal_di): Likewise.
5395 (return_and_restore_fpregs_si): Likewise.
5396 (return_and_restore_fpregs_di): Likewise.
5397 (return_eh_si): Likewise.
5398 (return_eh_di): Likewise.
5399 * config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
5400 or check, the USE.
5401 (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
5402 Don't generate a PARALLEL around a single operation movsi_to_cr.
5403 Generate the RETURN first in any PARALLELs.
5404
5405 * rtlanal.c (single_set_1): Use fatal_insn to display the
5406 invalid insn. Check for more cases when a USE or CLOBBER occurs
5407 before a SET.
5408 * Makefile.in: Update dependencies for rtlanal.o.
5409
1fba7553
JM
54102000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
5411
5412 * i386.c: Move include of "config.h" to before that of <setjmp.h>.
5413
28e6b1c2
JM
54142000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
5415
5416 * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
5417 Consistently use @email for formatting email addresses.
5418
f2fa288f
RH
54192000-09-29 Richard Henderson <rth@cygnus.com>
5420
5421 * cse.c (notreg_cost): New argument outer.
5422 (COST): Pass in SET to notreg_cost
5423 (COST_IN): New.
5424 (fold_rtx): Use COST_IN. Prefer constants when costs
5425 are the same.
5426
a1c63101
DE
54272000-09-29 David Edelsohn <edelsohn@gnu.org>
5428
5429 * fixinc/inclhack.def (broken_cabs): Generalize regex.
5430 * fixinc/fixincl.x: Regenerate.
5431
70dd0f7f
FS
54322000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5433
5434 * loop.c (check_final_value): A GIV is not replaceable if used
5435 before set.
5436
0c6129af
JL
5437Fri Sep 29 10:04:12 2000 Jeffrey A Law (law@cygnus.com)
5438
5439 * version.c: Bump to gcc-2.97.
5440
5441Frs Sep 29 13:37:59 MET DST 2000 Jan Hubicka <jh@suse.cz>
6c698a6d
JH
5442
5443 * final.c (final_scan_insn): Remove extra extract_insn call;
5444 Use caching for constrain_operands.
5445 (cleanup_subreg_operands): Use caching for extract_insn.
5446 * recog.c (constrain_operands_cached): New.
5447 * recog.h (constrain_operands_cached): Declare.
5448 * i386.c (ix86_attr_length_immediate_default,
5449 ix86_attr_length_address_default, ix86_agi_dependant): Cache
5450 extract_insn call.
5451
5452 * recog.c (asm_noperands): Tweak.
5453 (extract_insn): Do not call asm_noperads for non-asm instructions.
5454
5455Fri Sep 29 13:20:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
5456
5457 * recog.c (recog_memoized): Rename to recog_memoized_1.
5458 * recog.h (recog_memoized): Rename to recog_memoized_1.
5459 (recog_memoized): New macro.
5460 * rtl.h (single_set): Rename to single_set_1
5461 (single_set): New macro.
5462 * rtlanal.c (single_set): Rename to single_set_1; expect clobbers
5463 to be last.
5464
5465 * i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
5466 Do not use match_dup of input operands at outputs.
5467 Use register_operand for memory expression.
5468 (rep_movsi): Put use last, canonicalize.
5469 Use register_operand for memory expression.
5470 (rep_movqi): Put use last.
5471 Use register_operand for memory expression.
5472 (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
5473 of input operands at outputs. Use register_operand for memory
5474 expression.
5475 (rep_stossi): Put use last; canonicalize; fix match_dup in
5476 the address expression
5477 (rep_stosqi): Likewise.
5478 (memcmp expander): Update calls.
5479 (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
5480 the clobbers.
5481
5482 * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
5483 VOIDmode.
5484 (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
5485
41e5a1f5
DB
54862000-09-28 David O'Brien <obrien@FreeBSD.org>
5487
5488 * config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
5489 Contains the old contents of config/i386/freebsd.h
5490 * config/i386/freebsd.h: Now the ELF rather than a.out config file.
5491 Contains the old contents of config/i386/freebsd-elf.h
5492 * config/i386/freebsd-elf.h: Retire this file -- contents moved to
5493 config/i386/freebsd.h.
5494 * configure.in: Adjust for above changes.
5495 * po/POTFILES.in: Likewise.
5496 * po/en_GB.po: Likewise.
5497 * po/gcc.pot: Likewise.
5498 * configure: Rebuilt.
5499
1db88ef9 55002000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
70dd0f7f 5501
1db88ef9
FS
5502 * doloop.c (doloop_modify): Prevent delete_insn() from
5503 deleting too much. Prefer loop->top over loop->start as
5504 target for the new JUMP insn.
5505 (doloop_valid_p): Ignore loop with exit_count != 0.
5506
6a07a77f
PT
55072000-09-28 Philipp Thomas <pthomas@suse.de>
5508
5509 * invoke.texi (i386 Options): Add athlon to table of possible
5510 choices for -mcpu=.
5511
b5dd2c76
GDR
55122000-09-28 Gabriel Dos Reis <gdr@codesourcery.com>
5513
5514 * diagnostic.h (output_clear_message_text): New function.
5515 (output_message_text): New macro.
5516
5517 * diagnostic.c (clear_text_info): Rename to
b8dad04b 5518 output_clear_message_text.
b5dd2c76
GDR
5519 (output_clear): Adjust.
5520 (output_finish): Rename to output_finalize_message. Tweek.
b8dad04b 5521 (output_to_stream): Adjust.
b5dd2c76 5522
d8090680
NB
55232000-09-28 Neil Booth <neilb@earthling.net>
5524
5525 * cpperror.c (_cpp_begin_message): Do the test for suppression
b8dad04b
ZW
5526 of warnings and pedantic warnings before the "is a warning an
5527 error" tests.
d8090680
NB
5528 * cppinit.c (cpp_handle_option): Remove surplus \n.
5529 * cpplex.c (ON_REST_ARG): Delete.
5530 (skip_block_comment): Initialise prevc.
5531 (parse_args): Improve error messages.
5532 (maybe_paste_with_next): Use CONTEXT_VARARGS rather
5533 than ON_REST_ARG.
5534 * cpplib.c (cpp_push_buffer): Fix grammar in message.
5535 * cppmain.c (main): Set callbacks for #ident and #pragma
5536 only if no_output option is false.
5537 (do_pragma_implementation): Only call the #pragma handler
5538 if it is set in the cpp_reader structure.
5539
e93eff94
DL
5540Wed Sep 27 14:00:07 2000 Donald Lindsay <dlindsay@cygnus.com>
5541
5542 * integrate.c (copy_insn_list): if an ignored return value
5543 is being clobbered, skip cloning that into the inline copy.
5544
59c5d27a
JM
55452000-09-27 Joseph S. Myers <jsm28@cam.ac.uk>
5546
5547 * extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
5548 use @uref for formatting URLs.
5549
15ca066d
ME
55502000-09-27 Mark Elbrecht <snowball3@bigfoot.com>
5551
5552 * config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
5553 name and prefix.
5554
5a8e2650
NB
5555Tue 26-Sep-2000 18:25:38 BST Neil Booth <neilb@earthling.net>
5556
5557 * gcc.c (cpp_options): Add spec for -ftabstop=.
5558 (invoke_as): New spec that handles invoking as.
5559 Update specs to handle -save-temps and -traditional.
5560 * ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
5561 Use invoke_as.
5562 * cp/lang-specs.h, objc/lang-specs.h: Update to use
5563 invoke_as, and handle -save-temps and -traditional (if
5564 appropriate).
5565
380f6ad3
JJ
55662000-09-26 Jakub Jelinek <jakub@redhat.com>
5567
5568 * config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
5569 op0 is a SUBREG.
5570 (function_arg_slotno): Accept TImode/CTImode.
5571 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
5572 to UNITS_PER_WORD.
5573
ef120fc0
MH
55742000-09-26 Michael Hayes <mhayes@cygnus.com>
5575
5576 * flow.c (flow_loop_pre_header_scan): Punt if loop enters
5577 from entry block.
5578
cf606f45
JW
55792000-09-25 Jim Wilson <wilson@cygnus.com>
5580
5581 * config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
5582 (REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
5583 (LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
5584 (REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
5585
a94c1199
NB
5586Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net>
5587
b8dad04b 5588 * cpplex.c (parse_args): Don't set VOID_REST flag.
a94c1199
NB
5589 (CONTEXT_VARARGS): New flag.
5590 (maybe_paste_with_next): Set context earlier in loop. Use
5591 it. Do varargs test with CONTEXT_VARARGS flag.
5592 (push_arg_context): Set CONTEXT_VARARGS flag if we're
5593 pushing an argument context for a varargs argument.
5594 * cpplib.h (VOID_REST): Delete.
b8dad04b 5595 * gcc.dg/cpp/vararg1.c: Add test case.
a94c1199 5596
317639a8
BC
55972000-09-25 Branko Cibej <branko.cibej@hermes.si>
5598
b8dad04b
ZW
5599 * flags.h: Declare warning flag warn_system_headers.
5600 * toplev.c: Define it.
5601 (W_options): Add option -Wsystem-headers.
5602 * diagnostic.c (count_error): Test warn_system_headers.
5603 * invoke.texi: Add description for -Wsystem-headers.
317639a8
BC
5604 * cpplib.h (cpp_options): New member warn_system_headers.
5605 * cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
5606 CPP_IN_SYSTEM_HEADER.
5607 * cpplib.c (do_import, do_pragma_once): Likewise.
5608 * cpperror.c (_cpp_begin_message): Test warn_system_headers
5609 and CPP_IN_SYSTEM_HEADER.
5610 * cppinit.c (handle_option): Recognize -Wsystem_headers.
5611 (print_help): Describe -Wsystem_headers.
5612 * cpplex.c (lex_line): Reorganize condition so that warnings
5613 about C++ comments in system headers can be enabled. Remove
5614 label do_line_comment.
5615
1c6d33ef
NB
5616Mon 25-Sep-2000 23:38:27 BST Neil Booth <neilb@earthling.net>
5617
5618 * cpplex.c (save_comment): Only store the initial '/'
5619 now.
5620 (lex_token): Combine handling of the two comment types.
b8dad04b 5621 Pass everything but the initial '/' to save_comment.
1c6d33ef 5622
7de4d004
NB
5623Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net>
5624
5625 * cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
5626 _cpp_can_paste): New library-internal prototypes.
5627 * cpplex.c (dump_param_spelling, output_line_command,
5628 output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
5629 cpp_printf, cpp_output_list): Move to cppoutput.c.
5630 (process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
5631 * cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
5632 cppoutput.c.
5633 * cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
5634 dump_param_spelling, output_line_command, cpp_scan_buffer,
5635 cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
5636 from elsewhere.
5637 * Makefile.in: Add cppoutput.c.
5638 * po/POTFILES.in: Add cppoutput.c.
5639
66db6b45
RH
56402000-09-25 Richard Henderson <rth@cygnus.com>
5641
5642 * config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
5643 * config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
5644 split until after reload.
5645 (rotlsi3, rotldi3): New.
5646
4b40f758
GDR
56472000-09-25 Gabriel Dos Reis <gdr@codesourcery.com>
5648
5649 * diagnostic.c (output_last_position): Define.
5650 (set_real_maximum_length): Tweek.
5651 * diagnostic.h (output_last_position): Declare.
5652
0f290768
KH
56532000-09-25 Kazu Hirata <kazu@hxi.com>
5654
5655 * config/i386/i386.c: Fix formatting.
5656
90e9ee6c
AL
56572000-09-24 Alan Lehotsky <alehotsky@cygnus.com>
5658
5659 * emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
5660 UNITS_PER_WORD is small.
5661
0e00b68b
JM
56622000-09-25 Joseph S. Myers <jsm28@cam.ac.uk>
5663
5664 * c-common.c (format_char_info): Add flags2; update comments.
5665 (print_char_table, scan_char_table, time_char_table): Split some
5666 flags out into flags2.
5667 (check_format_info): Use flags2 for those flags, for identifying
5668 the initial character of a scanf scanset, and for identifying
5669 printf formats where the '0' flag is ignored with precision.
5670
0a3e1f45
HPN
56712000-09-25 Hans-Peter Nilsson <hp@axis.com>
5672
5673 Changes below marked "here" add TABs on either or both sides,
5674 covering start of line, up to any operand for all noted .*ASM.*_OP
e8638df0 5675 definitions. All callers changed.
047c1c92
HPN
5676 * tm.texi: Make documented *_ASM.*_OP:s include spacing
5677 (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
5678 BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
5679 ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
5680 ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
5681 Fix typos in description for LONG_LONG_TYPE_SIZE and
5682 FINI_SECTION_ASM_OP.
0a3e1f45
HPN
5683 * crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
5684 why these defaults don't have leading spacing.
5685 * dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
5686 * dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5687 UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
5688 * dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
5689 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
5690 PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
5691 * defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
5692 * varasm.c (ASM_STABS_OP): Here.
5693 * xcoffout.h (ASM_STABS_OP): Here.
e662a129
HPN
5694 * config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
5695 SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
5696 INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
5697 STRING_ASM_OP): Here.
5698 * config/freebsd.h (IDENT_ASM_OP): Here.
5699 * config/linux-aout.h (SET_ASM_OP): Here.
5700 * config/linux.h (SET_ASM_OP): Here.
5701 * config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
5702 INT_ASM_OP): Here.
5703 * config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
5704 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
5705 * config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
5706 * config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
5707 INT_ASM_OP): Here.
5708 * config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
5709 SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
5710 INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
5711 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
5712 FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
5713 * config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
5714 CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
8c13c7b3
HPN
5715 * config/a29k/udi.h (INT_ASM_OP): Here.
5716 * config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
5717 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
5718 SET_ASM_OP): Here.
5719 * config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
5720 READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5721 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5722 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
5723 ASM_STABD_OP): Here.
5724 * config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
5725 COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
5726 CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
5727 BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
5728 INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
5729 SIZE_ASM_OP, STRING_ASM_OP): Here.
5730 * config/alpha/vms.h (LINK_SECTION_ASM_OP,
5731 READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
5732 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
5733 * config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
8202cda0 5734 (PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
8c13c7b3
HPN
5735 * config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
5736 Here.
5737 * config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5738 BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
5739 * config/arm/coff.h (INT_ASM_OP): Here.
5740 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
5741 * config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
5742 * config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
5743 INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
5744 * config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
5745 * config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5746 ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
5747 STRING_ASM_OP): Here. Update documentation copy in comments.
4e8aa65c
HPN
5748 * config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
5749 * config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
5750 DATA_SECTION_ASM_OP): Here.
5751 * config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
5752 Here.
5753 * config/convex/convex.h (TEXT_SECTION_ASM_OP,
5754 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
5755 * config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5756 BSS_SECTION_ASM_OP): Here.
5757 * config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5758 BSS_SECTION_ASM_OP): Here.
5759 * config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5760 Here.
5761 * config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
5762 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
5763 * config/h8300/h8300.h (ASM_WORD_OP): Here.
71d48a01
HPN
5764 * config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5765 BSS_SECTION_ASM_OP): Here.
5766 * config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
5767 * config/i386/bsd.h (ASM_BYTE_OP): Here.
5768 * config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
5769 * config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
5770 * config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
5771 Here.
5772 * config/i386/freebsd-elf.h (SET_ASM_OP): Here.
5773 * config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
5774 Here.
5775 * config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
5776 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
5777 * config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
5778 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
5779 SET_ASM_OP): Here.
5780 * config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
5781 * config/i386/netbsd.h (INT_ASM_OP): Here.
5782 * config/i386/openbsd.h (INT_ASM_OP): Here.
5783 * config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
5784 IDENT_ASM_OP): Here.
5785 * config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
5786 ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
5787 LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
5788 SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
5789 * config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
5790 SHARED_BSS_SECTION_ASM_OP): Here.
5791 * config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
5792 * config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
5793 DATA_SECTION_ASM_OP): Here.
5794 * config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
5795 CONST_SECTION_ASM_OP): Here.
5796 * config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
5797 * config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5798 BSS_SECTION_ASM_OP): Here.
de323aa1
HPN
5799 * config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
5800 * config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
5801 * config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
5802 BSS_ASM_OP): Here, but use trailing spaces.
5803 * config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
5804 DATA_SECTION_ASM_OP): Here.
5805 * config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
5806 Here.
5807 * config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
5808 DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
5809 * config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
5810 TDESC_SECTION_ASM_OP): Here.
5811 * config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
5812 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
5813 * config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5814 Here.
5815 * config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5816 BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
5817 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5818 UNALIGNED_DOUBLE_INT_ASM_OP): Here.
5819 * config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
5820 COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
5821 FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
5822 SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
6e7b07a7
HPN
5823 * config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
5824 * config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
5825 * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
5826 SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
5827 SET_ASM_OP): Here.
5828 * config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
5829 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
5830 * config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
5831 * config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
5832 * config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
5833 * config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
5834 * config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
5835 * config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5836 GLOBAL_ASM_OP): Here.
5837 * config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
5838 BSS_SECTION_ASM_OP): Here.
5839 * config/m68k/m68kv4.h (BSS_ASM_OP): Here.
5840 * config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5841 ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
5842 DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
5843 SKIP_ASM_OP): Here.
5844 * config/m68k/newsgas.h (SET_ASM_OP): Here.
5845 * config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
5846 FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
5847 * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
5848 SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
5849 SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
5850 but use trailing spaces.
5851 * config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
5852 DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
5853 FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
5854 Here.
5855 * config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
5856 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
5857 * config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5858 CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
5859 DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
5860 IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
5861 GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
5862 BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
5863 CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
5864 SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
5865 VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
5866 PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
5867 ASM_BYTE_OP): Here.
5868 * config/m88k/openbsd.h (SET_ASM_OP): Here.
5869 * config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
5870 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
78d057d8
HPN
5871 * config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
5872 UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
5873 DTORS_SECTION_ASM_OP): Here.
5874 * config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
5875 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
5876 * config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
5877 BSS_SECTION_ASM_OP): Here.
5878 * config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
5879 * config/mips/iris5.h (ABICALLS_ASM_OP): Here.
5880 * config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
5881 POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
5882 CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
5883 DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
5884 * config/mips/mips.c (ABICALLS_ASM_OP): Here.
5885 * config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
5886 Here.
5887 * config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
5888 Here.
5889 * config/mips/osfrose.h (SET_ASM_OP): Here.
5890 * config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
76bbee81
HPN
5891 * config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
5892 * config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
5893 * config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5894 Here.
5895 * config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
5896 * config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
5897 * config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
5898 * config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
5899 * config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
5900 * config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5901 Here.
5902 * config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5903 Here.
5904 * config/rs6000/rs6000.h (SET_ASM_OP): Here.
5905 * config/rs6000/sol2.h (ASM_STABN_OP): Here.
5906 * config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
5907 Here.
471b6f1b
HPN
5908 * config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
5909 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
5910 * config/sparc/linux.h (COMMON_ASM_OP): Here.
5911 * config/sparc/linux64.h (COMMON_ASM_OP,
5912 UNALIGNED_DOUBLE_INT_ASM_OP): Here.
5913 * config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
5914 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
5915 * config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
5916 * config/sparc/pbd.h (ASM_INT_OP): Here.
5917 * config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
5918 * config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
5919 DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
5920 * config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
5921 UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
5922 * config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
5923 UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
5924 UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
5925 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
5926 CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
5927 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
5928 EH_FRAME_SECTION_ASM_OP): Here.
5929 * config/sparc/vxsim.h (COMMON_ASM_OP): Here.
5930 * config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5931 Here.
5932 * config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5933 Here.
5934 * config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
5935 TCOMMON_ASM_OP): Here.
5936 * config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
5937 Here.
5938 * config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
5939 ASM_BYTE_OP): Here.
0a3e1f45 5940
ea9ea008
RH
59412000-09-25 Richard Henderson <rth@cygnus.com>
5942
5943 * expmed.c (store_bit_field): Adjust last change to not consider
5944 any word-sized field naturally aligned.
5945
9e495700
RH
59462000-09-24 Richard Henderson <rth@cygnus.com>
5947
5948 * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
5949 TFmode unordered compares properly. Revalidate integer compare
5950 operands.
5951 (alpha_emit_setcc): New.
5952 (alpha_emit_conditional_move): Revalidate integer compare operands.
5953 * config/alpha/alpha-protos.h: Update.
5954 * config/alpha/alpha.md (cmpdi): Allow general operands.
5955 (sne): Use alpha_emit_setcc.
5956 (seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
5957 (sunordered, sordered): New.
5958
2ed4af6f
RH
59592000-09-24 Richard Henderson <rth@cygnus.com>
5960
5961 * config/ia64/ia64-protos.h: Update.
5962 * config/ia64/ia64.c (call_multiple_values_operation): Remove.
5963 (ia64_expand_call): New.
5964 (ia64_expand_prologue): Emit an alloc if we need extra input
5965 registers.
5966 (ia64_expand_epilogue): New arg sibcall_p; don't emit the return
5967 instruction if true.
5968 (struct reg_flags): Add is_sibcall.
5969 (rtx_needs_barrier): A sibcall does not use CFM et al. Ignore USEs.
5970 (emit_insn_group_barriers): Set flags.is_sibcall. Remove hacks
5971 for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
5972 * config/ia64/ia64.h (PREDICATE_CODES): Update.
5973 * config/ia64/ia64.md (call): Use ia64_expand_call.
5974 (call_value): Likewise.
5975 (sibcall, sibcall_value): New.
5976 (call patterns): Remove extra expanders; tidy.
5977 (sibcall_epilogue): New.
5978 (set_bsp): Remove the extra USE. Put the operand inside the UNSPEC.
5979
e1389cac
RH
59802000-09-24 Richard Henderson <rth@cygnus.com>
5981
5982 * emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
5983
fd442cef
RH
5984 * sibcall.c (skip_pic_restore): New.
5985 (identify_call_return_value): Use it.
5986
c06aa51e
MM
59872000-09-24 Mark Mitchell <mark@codesourcery.com>
5988
5989 * c-tree.texi: Moved here from cp/ir.texi. Documented nested
5990 functions. Generalize to handle both C and C++.
5991 * Makefile.in (c-tree.info): New target.
5992 (info): Add c-tree.info.
b8dad04b 5993
bd5dab53
RK
5994Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5995
5996 * expr.c (store_field): If BITSIZE is negative, use size of type.
5997 (expand_expr, case COMPONENT_EXPR): Likewise.
5998
838f313b
NB
5999Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net>
6000
6001 * cpplex.c: Update TODO comment.
6002 * cpplib.c (do_error, do_warning): Merge common code of
6003 do_error and do_warning into do_diagnostic. Use it.
6004 (do_diagnostic): New function.
6005 * cpplib.h: Fix comment typo.
6006
c5412f06
JM
60072000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
6008
6009 * c-common.c (check_format_info): Warn for a wide character string
6010 used as a non-wide format argument.
6011
1c44c45d
JM
60122000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
6013
6014 * builtins.def (BUILT_IN_LLABS): Add.
6015 * builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
6016 * c-common.c (c_common_nodes_builtins): Create builtin functions
6017 __builtin_llabs, and plain llabs unless no_nonansi_builtins
6018 outside of C99 mode.
6019 (expand_tree_builtin): Handle BUILT_IN_LLABS.
6020
cbcff6df
NB
6021Sat 23-Sep-2000 22:39:18 BST Neil Booth <NeilB@earthling.net>
6022
6023 * cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
6024 CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
6025 * cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
6026 _cpp_free_toklist): No need to worry about extra dummy token
6027 at the start of token lists any more.
6028 (trigraph_ok): Only warn outside comments.
6029 (skip_block_comment): Set and clear lexing_comment.
6030 (skip_line_comment): Take a cpp_reader not cpp_buffer.
6031 Set and clear lexing_comment.
6032 (parse_number): Handle leading '.' indicated by pfile->seen_dot.
6033 (check_long_token): Delete.
6034 (lex_percent, lex_dot): New subroutines of lex_token to
6035 handle lexing of '.' and '%' without lookback.
6036 (lex_token): Use lex_dot and lex_percent.
6037 (lex_line): Don't check for LIST_OFFSET.
6038 (_cpp_init_input_buffer): Update for new _cpp_init_toklist.
6039 * cpplib.c (_cpp_parse_assertion): Similarly.
6040 (cpp_push_buffer): Initialize extra_char.
6041 * cpplib.h (LIST_OFFSET): Delete.
6042 (struct cpp_buffer): New member extra_char.
6043 (struct lexer_state): New members lexing_comment and seen_dot.
6044
2abdcaee
JM
60452000-09-23 Jason Merrill <jason@redhat.com>
6046
6047 * config/rs6000/x-aix41 (CLIB): Define here.
6048 * config/rs6000/t-aix43: Not here.
6049 * config/rs6000/t-aix41: Or here. Remove.
6050 * configure.in: Don't use it.
6051
981d4858
JM
60522000-09-22 Jason Merrill <jason@redhat.com>
6053
2abdcaee
JM
6054 * configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
6055 * toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
6056 * config.in: Regenerate.
6057
981d4858
JM
6058 * configure.in: Fix checks for assembler features when using a
6059 one-tree assembler that has not yet been built.
6060 Fix --disable-threads.
6061
afa223c6
GK
60622000-09-19 Geoff Keating <geoffk@cygnus.com>
6063
6064 * stmt.c (expand_asm_operands): Allow # in constraints.
6065
a3a834aa
JM
60662000-09-22 Jason Merrill <jason@redhat.com>
6067
6068 * c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
6069
6070 * dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
6071 function-local names.
6072
18424ae1
BL
60732000-09-22 Brad Lucier <lucier@math.purdue.edu>
6074 Mark Mitchell <mark@codesourcery.com>
6075
b8dad04b
ZW
6076 * toplev.c (warn_disabled_optimization): Declare new warning flag.
6077 * flags.h (warn_disabled_optimization): Add it here.
6078 * gcse.c (gcse_main): Add warning when disabled.
6079 * invoke.texi: Document -Wdisabled-optimization.
18424ae1 6080
1bfb5f8f
JM
60812000-09-21 Jason Merrill <jason@redhat.com>
6082
6083 * dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
6084
6085 * dwarf2out.c (tree_add_const_value_attribute): New fn.
6086 (gen_variable_die): Call it for non-definitions.
6087
6088 * dwarf2out.c (die_struct): Add die_mark field.
6089 (mark_dies, unmark_dies): New fns.
6090 (clear_die_sizes): Remove.
6091 (print_die): Check die_symbol rather than die_offset.
6092 (build_abbrev_table, output_pubnames, output_aranges): Check
6093 die_mark rather than die_offset.
6094 (output_comp_unit): Move calc_die_sizes after build_abbrev_table.
6095 Call mark_dies.
6096
2047e26f
NB
6097Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net>
6098
6099 * cppfiles.c (lookup_include_file): Rename to open_file.
6100 Always create a splay tree value, even on syscall failures.
6101 Negative entries indicated by fd == -2.
6102 Re-open files closed in the meantime.
6103 (_cpp_fake_include): Create a negative splay tree entry.
6104 (find_include_file, cpp_read_file): Update for function name
6105 change.
6106 * gcc.gd/cpp/mi4.c: Testcase.
6107
f27cd94d
NC
61082000-09-21 Nick Clifton <nickc@redhat.com>
6109
2359a5e1
NC
6110 * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
6111 ARM and THUMB modes.
6112
f27cd94d 6113 * config/mcore/mcore.c: Fix compile time warnings.
b8dad04b 6114 * config/mcore/mcore-protos.h: Fix compile time warnings.
f27cd94d 6115
7373064a
DA
61162000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
6117
6118 * configure.in: Correct test of gcc_cv_glibc.
6119 * configure: Rebuilt.
6120 * config.in: Rebuilt.
6121
07328167
KG
61222000-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6123
6124 * builtins.c (expand_builtin_fputs): Also expand when length!=1.
6125 (expand_builtin): Handle BUILT_IN_FWRITE.
6126
6127 * builtins.def (BUILT_IN_FWRITE): New entry.
6128
6129 * c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
6130
5fa7c8ce
RK
6131Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6132
dc36ec2c
RK
6133 * gcc.c (modify_target): New variable and struct.
6134 (process_command): Handle MODIFY_TARGET_NAME.
6135 * tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
6136 * config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
6137
5fa7c8ce
RK
6138 * c-decl.c (finish_decl): Add else's to avoid referencing
6139 TYPE_DOMAIN of an ERROR_MARK.
6140
155b14a8
DC
6141Wed Sep 20 21:44:31 2000 Denis Chertykov <denisc@overta.ru>
6142
6143 * config/avr/avr.c (adjust_insn_length): Adjust lengths of
6144 `reload_in*' insns.
6145
61462000-09-19 Marek Michalkiewicz <marekm@linux.org.pl>
6147
6148 * config/avr/avr.md (neghi2): Add alternative for input and output
6149 operands in different registers, as in negsi2.
6150 (*negsi2): Remove '*' from the name. Use "movw" if available.
6151
fd09c61f
JW
61522000-09-19 Jim Wilson <wilson@cygnus.com>
6153
6154 * config/ia64/crtbegin.asm (__dso_handle): Delete use of
6155 HAVE_GAS_HIDDEN macro.
6156
7eea5554
NB
6157Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net>
6158
6159 * cpplex.c (lex_line): Drop the EOF token for unknown
6160 directives in assembler.
6161
a473fe45
DE
61622000-09-19 David Edelsohn <edelsohn@gnu.org>
6163
6164 * configure.in: Allow enable_threads_flag value of "aix". Define
fd60bf96 6165 thread_file as "aix" for AIX 4.3 and above.
a473fe45 6166 * configure: Regenerated.
fd60bf96
DE
6167
6168 * gthr-aix.h: New file.
6169
a473fe45
DE
6170 * rs6000/t-aix43: Replace soft-float multilib with pthread.
6171 Remove 403 processor multilib match. Fix rios2 processor multilib
6172 match.
6173
fd60bf96
DE
6174 * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
6175 to return to appropriate csect.
6176
ad3fd36f
KG
61772000-09-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6178
6179 * builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
6180 functions.
6181 (expand_builtin_fputs): Set `target' parameter for `expand_expr'.
6182 (expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
6183 BUILT_IN_PRINTF.
6184
6185 * builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
6186 New entries.
6187
6188 * c-common.c (init_function_format_info): Handle __builtin_printf.
6189 Set `check_function_format_ptr'.
6190 (c_common_nodes_and_builtins): Set `puts_ftype' and
6191 `printf_ftype'. Declare __builtin_putchar, __builtin_puts,
6192 __builtin_printf and printf.
6193
6194 * tree.c, tree.h (check_function_format_ptr): Declare.
6195
6f3d20a0
NB
6196Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net>
6197
b8dad04b 6198 * cppfiles.c (read_include_file): Take no special action for
6f3d20a0
NB
6199 zero-length files.
6200
b4f75276
BS
62012000-09-19 Bernd Schmidt <bernds@redhat.co.uk>
6202
afc6898e
BS
6203 * final.c (insn_current_reference_address): Use INSN_SHUID of seq
6204 rather than that of branch.
6205 (shorten_branches): Don't increment insn_current_address twice.
6206
b4f75276
BS
6207 Undo most of the Wed Jan 27 23:39:53 1999 patch:
6208 * loop.h (struct induction): Delete members derived, ix and last_use.
6209 (struct loop_ivs): Delete members first_increment_giv and
6210 last_increment_giv.
6211 * loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
6212 recombine_givs): Delete functions.
6213 (find_and_verify_loops): Don't initialize cont_dominator.
6214 (strength_reduce): Lose code to try to find bivs that can be
6215 expressed as givs of another biv, and to convert biv increments
6216 into givs.
6217 Lose loop_scan_start variable, always use loop->scan_start.
6218 Don't call recombine_givs. Don't handle derived givs.
6219 (record_giv): Don't initialize derived and last_use fields.
6220 (biv_eliminiation_giv_has_0_offset): Lose code to handle derived
6221 givs.
6222 * unroll.c (derived_regs): Delete static variable.
6223 (unroll_loop): Don't initialize it.
6224 (copy_loop_body): Lose code to handle derived givs.
6225 (find_splittable_givs): Don't check for givs made from biv
6226 increments.
6227 Don't set derived_regs.
6228
0f805606
BS
6229 Fix misapplied earlier patch:
6230 * config/sh/sh.md (floatsisf_ie): Reenable. Remove explicit reference
6231 to fpul.
6232 (floatsisf2): Generate floatsisf_ie by default.
6233 (floatsisf_i4): Conditional on TARGET_SH4.
6234
6235 (floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
6236 predicate for the expanders.
6237
8aa0e194
RH
62382000-09-19 Richard Henderson <rth@cygnus.com>
6239
0d97fd9e
RH
6240 * config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
6241 in addition to pentium and pentiumpro symbols.
6242 (CPP_CPU_DEFAULT_SPEC): Likewise.
6243
39b726dd
RH
6244 * c-typeck.c (c_expand_asm_operands): Restore the output tree
6245 after expanding.
6246
9790cefd
RH
6247 * stmt.c (expand_expr_stmt): Only call warn_if_unused_value
6248 if the tree has side effects.
6249 (warn_if_unused_value): Do not warn about void constructs.
6250
8e5a0fcb
RH
6251 * c-decl.c (poplevel): Invoke warn_about_unused_variables.
6252
8aa0e194
RH
6253 * unroll.c (copy_loop_body): Update LABEL_NUSES before
6254 calling invert_jump.
6255
62f7f1f5
GK
62562000-09-18 Geoff Keating <geoffk@cygnus.com>
6257
6258 * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
6259 into anything.
6260
3f80e6ac
KG
62612000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6262
6263 * Makefile.in (c-common.o): Depend on diagnostic.h.
6264
6265 * c-common.c: Include diagnostic.h.
6266 (tfaff): Delete.
6267 (status_warning): New function.
6268 (check_format_info, maybe_read_dollar_number, check_format_types,
6269 finish_dollar_format_checking, check_function_format): Accept a
6270 `status' parameter. All callers changed.
6271
6272 * c-common.h (check_function_format): Accept a `status' parameter.
6273
6274 * c-typeck.c: Update call to `check_function_format'.
6275
cfbd829c
RH
62762000-09-18 Richard Henderson <rth@cygnus.com>
6277
6278 * c-decl.c (c_expand_body): Call mark_varargs before
6279 expand_function_start.
6280
c21d86e1
GK
62812000-09-18 Geoff Keating <geoffk@cygnus.com>
6282
6283 * config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
6284 * config/rs6000/eabi-ci.asm: Likewise.
6285
f0417c82
RH
62862000-09-18 Richard Henderson <rth@cygnus.com>
6287
6288 * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
6289 for BImode.
6290
226ed43f
JW
62912000-09-18 Jim Wilson <wilson@cygnus.com>
6292
5c3c320e
JW
6293 * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
6294 before passing it to fold_rtx_mult_add.
6295
ec919c98
JW
6296 * unroll.c (final_giv_value): Pass increment through
6297 extend_value_for_giv before passing it to emit_iv_add_mult.
6298
226ed43f
JW
6299 * function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
6300 paradoxical subreg, then directly substitute the replacement and
6301 return.
6302
b542c0fb
NB
6303Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net>
6304
b4f75276 6305 * cpp.texi: Update documentation, including some clarifications,
b542c0fb
NB
6306 the treatment of various newline combinations, and space between
6307 backslash and newline.
6308
800a6a0c
R
6309Mon Sep 18 21:00:47 2000 J"orn Rennecke <amylaar@redhat.co.uk>
6310
6311 * sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
6312 Replace ASM_OUTPUT_LABELREF with assemble_name.
6313
50ceefc2
R
6314Mon Sep 18 20:26:50 2000 J"orn Rennecke <amylaar@redhat.co.uk>
6315
6316 * sh.c (addsubcosts): CONST is not cheap.
6317 (find_barrier): For Sh1, take alignment after jumps into account.
6318
659e47fb
AH
63192000-09-15 Andrew Haley <aph@redhat.com>
6320
6321 * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
6322 remove all SETs of SUBREGs of hard registers.
7373064a 6323 * function.c (purge_hard_subreg_sets): New function.
659e47fb
AH
6324 (purge_single_hard_subreg_set): New function.
6325 * rtl.h: (purge_hard_subreg_sets): New function.
6326
f2f90c63
RH
63272000-09-18 Richard Henderson <rth@cygnus.com>
6328
6329 * config/ia64/ia64-protos.h: Update.
6330 * config/ia64/ia64.c (signed_inequality_operator): New.
6331 (ia64_expand_compare): New.
6332 (ia64_register_move_cost): Handle PR_REGS moves.
6333 (ia64_secondary_reload_class): Require a GR when moving to a PR.
6334 (struct reg_write_state): Add written_by_and/or.
6335 (struct reg_flags): Add is_and/or.
6336 (rws_update): Set them.
6337 (rws_access_regno): Test them to allow parallel comparisons.
6338 (rtx_needs_barrier): Recognize parallel comparisons.
6339 (emit_insn_group_barriers): Set prev_insn after a call stop bit.
6340 Call recog_memoized; ignore pred_rel_mutex.
6341 (emit_predicate_relation_info): Don't call find_basic_blocks here.
6342 (ia64_reorg): Do it here instead.
6343 * config/ia64/ia64.h: s/CCmode/BImode/g
6344 (MODES_TIEABLE_P): Don't tie BImode.
6345 (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
6346 (CONST_COSTS): Pick sensible values for CONST_INT based on context.
6347 (RTX_COSTS): Make multiply 4 insns.
6348 (MEMORY_MOVE_COST): New.
6349 (PREDICATE_CODES): Update.
6350 * config/ia64/ia64.md: s/CCmode/BImode/g
6351 (movcci, movbi): New.
6352 (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
6353 (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
6354 (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
6355 (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
6356 (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
6357 (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
6358 (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
6359 (mulsi, muldi): Use xmpy not xma.
6360 (cmpbi): New.
6361 (movcc, movcc_internal): Remove.
6362 (branch expanders): Use ia64_expand_compare.
6363 (setcc expanders): Likewise.
6364 (cmov insns): Use move_operand and ia64_move_ok.
6365 (pred_rel_mutex): Use unspec not unspec_volatile. Prevent the
6366 scheduler from moving it past a use.
6367 * config/ia64/build.hacks: Remove.
6368
0d9f234d
NB
6369Mon 18-Sep-2000 19:21:35 BST Neil Booth <NeilB@earthling.net>
6370
6371 * cpphash.h (HASHSTEP): Take character rather than pointer
6372 to character.
6373 (_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
6374
6375 * cpphash.c (cpp_loookup): Update for new HASHSTEP.
6376
6377 * cpplex.c (auto_expand_name_space, trigraph_replace,
6378 backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
6379 IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
6380 BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
6381 KNOWN_DIRECTIVE): Delete.
6382
6383 (handle_newline, check_long_token, skip_escaped_newlines,
6384 unterminated): New functions.
6385 (ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
6386
6387 (parse_identifier): Was parse_name, new implementation.
6388 (skip_line_comment, skip_block_comment, skip_whitespace,
6389 parse_number, parse_string, trigraph_ok, save_comment,
6390 adjust_column, _cpp_get_line): New implementations.
6391
6392 (lex_token): New function. Lexes a token at a time, looking
6393 forwards. Contains most of the guts of the old lex_line.
6394 (lex_line): New implementation, using lex_token to obtain
6395 individual tokens.
6396 (cpp_scan_buffer): Use the token's line, not the list's line.
6397
6398 * cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
6399 New implementations.
6400 (do_assert): Don't bother setting the answer's list's line.
6401 (cpp_push_buffer): Initialise new pfile and read_ahead members
6402 of struct cpp_buffer.
6403
6404 * cpplib.h (cppchar_t): New typedef.
6405 (struct cpp_buffer): read_ahead, pfile and col_adjust are
6406 new members.
6407 (struct lexer_state): New structure that determines the state
6408 and behaviour of the lexer.
6409 (IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
6410 (struct cpp_reader): New member "state". Rename
6411 multiline_string_line and multiline_string_column. Delete
6412 col_adjust, in_lex_line members.
6413 (CPP_BUF_COLUMN): Update.
6414
a191f0ee
RH
64152000-09-18 Richard Henderson <rth@cygnus.com>
6416
9f8e169e
RH
6417 * combine.c (simplify_comparison): Shift a NOT out of a single
6418 bit test.
6419
1f3f36d1
RH
6420 * combine.c (if_then_else_cond): Canonicalize BImode true to
6421 STORE_FLAG_VALUE.
6422 * explow.c (trunc_int_for_mode): Likewise.
6423
5bd60ce6
RH
6424 * combine.c (combine_simplify_rtx): Use gen_unary to distribute
6425 the NOT for De Morgan's rule.
6426 * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
6427 of a comparison to the reverse comparison.
6428
d340408c
RH
6429 * combine.c (try_combine): Allow split to create a single insn.
6430
a191f0ee
RH
6431 * machmode.def: Add BImode. Add a column for bitsize.
6432 * machmode.h (DEF_MACHMODE): Adjust for extra column.
6433 (GET_MODE_BITSIZE): Use it.
6434 * rtl.c (DEF_MACHMODE): Adjust for extra column.
6435 (mode_bitsize): New.
6436 (mode_mask_array): Use bitsize.
6437 * combine.c (combine_simplify_rtx): Require inner and outer
6438 modes to match on nonzero_bits optimizations.
6439
5d77a50c
BS
64402000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
6441
6442 * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
6443 its entry in spill_reg_store.
0fb8cb90 6444 * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
2e361e59
BS
6445 * sh.c (reg_no_subreg_operand): New function.
6446 * sh-protos.h (reg_no_subreg_operand): Declare it.
6447 * sh.h (PREDICATE_CODES): Add it.
6448 * sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
6449 input operand that needs to be in fpul.
6450 (fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
42d5d0f1
BS
6451 * sh.c (find_barrier): Take into account that machine_dependent_reorg
6452 might add new insns.
5d77a50c 6453
55eec660
AO
64542000-09-18 Alexandre Oliva <aoliva@redhat.com>
6455
40fc375d
AO
6456 * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
6457 MAYBE_DEAD.
6458 (sh_expand_epilogue): Take the PIC register into account when
6459 computing the frame size.
6460
55eec660
AO
6461 * config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
6462 * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
6463 LABEL_REFs with a PIC-safe unspec.
6464
fc6df7e1
JM
64652000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
6466
6467 * c-common.c (check_format_info): Properly save the argument
6468 number and parameter for $ operand number formats in case width
6469 and precision arguments are also used. Allow printf width and
6470 precision arguments to have operand numbers even if none was
6471 specified for the main format, since this is OK for %*.*m. Only
6472 object to missing $ operand number if the format used requires an
6473 argument.
6474
effa5541
JM
64752000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
6476
6477 * c-common.c (format_char_info): Add 'W' flag to comment.
6478 (print_char_table, scan_char_table): Use it.
6479 (check_format_info): Use the 'W' flag to determine whether a
6480 format argument is written into.
6481
99303ae4
JM
64822000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
6483
6484 * c-common.c (check_format_types): Reorganise and clean up,
6485 checking earlier for ERROR_MARKs and making cur_type into its
6486 TYPE_MAIN_VARIANT where convenient.
6487
9231abf2
JM
64882000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
6489
6490 * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
6491
cf67d231
BS
64922000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
6493
6494 * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
6495
bd793c65
BS
6496 * i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
6497 * i386.c (struct builtin_description): New.
6498 (bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
6499 (mmx_reg_operand): Declare MODE arg as unused.
6500 (ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
6501 ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
6502 ix86_expand_binop_builtin, ix86_expand_store_builtin,
6503 ix86_init_builtins, ix86_expand_builtin): New functions.
6504 * i386.h (ix86_builtins): New enumeration.
6505 (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
6506 * i386.md (attr length_immediate): 0 for mmx/sse types.
6507 (attr prefix_0f): 1 for mmx/sse types.
6508 (setcc_2): Remove "*" so we get gen_setcc_2.
6509 (emms): Account for changed register numbering. Set "memory" attr
6510 to unknown.
6511 (sfence): Set "memory" attr to unknown.
6512
4070d885
AJ
65132000-09-18 Andreas Jaeger <aj@suse.de>
6514
6515 * configure.in: Define _GNU_SOURCE only when using the GNU C
6516 Library.
a191f0ee
RH
6517 * configure: Regenerated.
6518 * config.in: Regenerated.
4070d885 6519
2ac86f90
MM
65202000-09-17 Mark Mitchell <mark@codesourcery.com>
6521
31a1fdad
MM
6522 * cppinit.c (cpp_init): Don't use ANSI prototypes.
6523 * flow.c (flow_dump_loop): Likewise.
6524 (flow_loops_dump): Likewise.
6525
2ac86f90
MM
6526 * c-typeck.c (c_start_case): Fix typo.
6527
60e9d01c
JM
65282000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
6529
6530 * c-decl.c (grokdeclarator): Don't give a warning about defaulting
6531 to int for plain complex which defaults to complex double. Do
6532 warn about defaulting to complex double if pedantic. Warn about
6533 complex integer types if pedantic. Warn about complex types if
6534 pedantic and not in C99 mode.
6535 * c-typeck.c (build_unary_op): If pedantic, warn about use of ~
6536 for complex conjugation.
6537
bc5006c7
JM
65382000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
6539
6540 * contrib.texi: Update my entry.
6541
7e3bd81e
DC
6542Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru>
6543
23cb1766
RK
6544 * config/avr/avr.md (mcu_enhanced): New attribute.
6545 (mcu_mega): Likewise.
6546 (extendhisi2): Use mcu_enhanced.
6547 (zero_extendhisi2): Likewise.
6548 (call_insn): Use mcu_enhanced and mcu_mega.
6549 (call_value_insn): Likewise.
6550 (*sbrx_branch): Use mcu_mega.
6551 (*sbrx_and_branchsi): Likewise.
6552 (*sbrx_and_branchhi): Likewise.
6553 (*tablejump_lib): Likewise.
7e3bd81e 6554
6a51f4a0
RK
6555Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6556
ec569656
RK
6557 * alias.c (true_dependence): Allow non-unchanging read to conflict
6558 with unchanging write.
6559
23cb1766
RK
6560 * expr.c (store_constructor_field): Accept ALIAS_SET arg.
6561 (store_constructor): Pass alias_set to it.
6562
a52fb89b
RK
6563 * c-decl.c (grokdeclarator): Reorder tests to avoid looking at
6564 TYPE_MAIN_VARIANT of ERROR_MARK.
6565 * c-lex.c (readescape): Avoid using printf syntax we don't recognize.
6566
6a51f4a0
RK
6567 * simplify-rtx.c (simplify_unary_operation): Add cases
6568 FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
6569
ebb1b59a
BS
65702000-09-17 Bernd Schmidt <bernds@redhat.co.uk>
6571
a191f0ee 6572 * expr.h (emit_library_call, emit_library_call_value): Delete
ebb1b59a
BS
6573 declarations.
6574 * rtl.h (enum libcall_type): New.
6575 (emit_library_call, emit_library_call_value): Change fn_type arg to
a191f0ee 6576 be of type enum libcall_type.
ebb1b59a
BS
6577 * calls.c: Likewise for the function definitions. Several callers
6578 throughout changed to use the new enumeration appropriately.
6579 (emit_library_call_value_1): Likewise. Put back code to make libcall
a191f0ee 6580 blocks of equal form, but only use it for the two new higher
ebb1b59a
BS
6581 enumeration values.
6582
8f17b5c5
MM
65832000-09-16 Mark Mitchell <mark@codesourcery.com>
6584
6585 Convert the C front-end to use function-at-a-time mode.
6586 * c-common.h: Include splay-tree.h.
6587 (C_DECLARED_LABEL_FLAG): New macro.
6588 (struct language_function): Add x_scope_stmt_stack and
6589 x_function_name_declared_p.
6590 (RECHAIN_STMTS): Move definition.
6591 (lang_statment_code_p): Likewise.
6592 (lang_expand_stmt): Likewise.
6593 (lang_expand_decl_stmt): New variable.
6594 (lang_expand_function_end): Likewise.
6595 (current_scope_stmt_stack): New function.
6596 (add_decl_stmt): Likewise.
6597 (add_scope_stmt): Likewise.
6598 (mark_stmt_tree): Likewise.
6599 (struct c_lang_decl): New structure.
6600 (DECL_SAVED_TREE): Define.
6601 (c_mark_lang_decl): New function.
6602 (c_expand_start_cond): Change prototype.
6603 (c_finish_then): New function.
6604 (c_finish_else): Likewise.
6605 (current_function_name_declared): Remove.
6606 (set_current_function_name_declared): Likewise.
6607 (mark_c_language_function): Declare.
6608 (case_compare): Likewise.
6609 (c_add_case_label): Likewise.
6610 (c_expand_expr): Likewise.
6611 (c_safe_from_p): Likewise.
6612 * c-common.c (lang_expand_function_end): New variable.
6613 (struct if_elt): Add if_stmt.
6614 (c_expand_start_cond): Add the if-statement to the statement-tree,
6615 rather than generating RTL.
6616 (c_finish_then): New function.
6617 (c_expand_start_else): Don't generate RTL.
6618 (c_finish_else): New function.
6619 (c_expand_expr_stmt): Don't generate RTL.
6620 (statement_code_p): Add SCOPE_STMT.
6621 (case_compare): New function.
6622 (c_add_case_label): Likewise.
6623 (mark_stmt_tree): Likewise.
6624 (c_mark_lang_decl): Likewise.
6625 (mark_c_language_function): Likewise.
6626 (c_expand_expr): Likewise.
6627 (c_safe_from_p): Likewise.
6628 * c-decl.c (c_stmt_tree): New variable
6629 (c_scope_stmt_stack): Likewise.
6630 (c_function_name_declared_p): Likewise.
6631 (lang_expand_expr_stmt): Remove.
6632 (poplevel): Don't call output_inline_function for nested
6633 functions.
6634 (pushdecl): Don't set DECL_CONTEXT for a local declaration of an
6635 `extern' function.
6636 (redeclaration_error_message): Change means of computing whether
6637 or not a function is nested.
6638 (lookup_label): Don't call label_rtx.
6639 (init_decl_processing): Add more GC roots.
6640 (start_decl): Add DECL_STMTs to the statement-tree, rather than
6641 calling rest_of_decl_compilation.
6642 (finish_decl): Don't call expand_decl.
6643 (store_parm_decls): Begin the statement-tree, but don't generate
6644 RTL.
6645 (finish_function): Tie off the statement-tree. Call c_expand_body
6646 if appropriate.
6647 (c_expand_body): New function.
6648 (push_c_function_context): Save more information.
6649 (pop_c_function_contxt): Likewise.
6650 (copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
6651 (lang_mark_tree): Mark it.
6652 (current_stmt_tree): Adjust.
6653 (current_scope_stmt_stack): New function.
6654 (do_case): Remove.
6655 (set_current_name_declared): Likewise.
6656 (c_begin_compound_stmt): Define.
6657 (c_expand_decl_stmt): Likewise.
6658 * c-lang.c: Include rtl.h and expr.h.
6659 (lang_init): Set more language-specific hooks.
6660 * c-lex.c: Include expr.h.
6661 * c-parse.in: Changes throughout to add statements to the
6662 statement-tree, rather than generating RTL after every statement.
6663 * c-semantics.c (lang_expand_decl_stmt): Define.
6664 (add_decl_stmt): New function.
6665 (add_scope_stmt): Likewise.
6666 (finish_stmt_tree): Tweak.
6667 (genrtl_expr_stmt): Likewise.
6668 (genrtl_decl_stmt): Handle local labels, and call
6669 lang_expand_decl_stmt if required.
6670 (genrtl_for_stmt): Fix line-number handling.
6671 (genrtl_case_label): Handle cleanups.
6672 (genrtl_asm_stmt): Don't call combine_strings.
6673 (genrtl_compound_stmt): Simplify.
6674 (expand_stmt): Handle SCOPE_STMTs.
6675 * c-tree.h (struct lang_decl): New structure.
6676 (C_DECLARED_LABEL_FLAG): Remove.
6677 (c_begin_compound_stmt): Declare.
6678 (c_expand_decl_stmt): Likewise.
6679 (c_expand_start_case): Rename to c_start_case.
6680 (c_finish_case): New function.
6681 * c-typeck.c (start_init): Tweak setting of
6682 constructor_incremental.
6683 (c_expand_asm_operands): Tweak error-handling. Add to the
6684 statement-tree.
6685 (c_expand_return): Add to the statement-tree.
6686 (c_expand_start_case): Rename to ...
6687 (c_start_case): ... this.
6688 (struct c_switch): New type.
6689 (switch_stack): New variable.
6690 (do_case): Simplify.
6691 (c_finish_case): New function.
6692 * dependence.c: Include expr.h.
6693 (enum dependence_type): Change spelling of enumerals.
6694 (check_node_dependence): Adjust.
6695 * expr.h (lang_safe_from_p): Declare.
6696 (safe_from_p): Likewise.
6697 * expr.c (lang_safe_from_p): New variable.
6698 (safe_from_p): Give it external linkage. Use lang_safe_from_p.
6699 * stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
6700 * toplev.c (rest_of_decl_compilation): Robustify.
6701 * tree.c (contains_placeholder_p): Likewise.
6702 * Makefile.in: Update dependencies.
6703 * objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
6704 * objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
6705 (objc_expand_function_end): New function.
6706 (finish_method_def): Use it.
6707 (init_objc): Initialize more language-specific hooks.
6708 * objc/Make-lang.in: Update dependencies.
7373064a 6709
4797e955
GK
67102000-09-16 Geoffrey Keating <geoffk@cygnus.com>
6711
6712 * configure.in: Define macros that affect features before
6713 testing for features. Don't define _XOPEN_SOURCE.
6714 * configure: Regenerated.
6715 * config.in: Regenerated.
6716
ae0fb1b9
JW
6717Sat Sep 16 19:42:50 EDT 2000 John Wehle (john@feith.com)
6718
6719 * rtlanal.c (rtx_varies_p): Volatile asms vary.
6720 (rtx_unstable_p): Restructure code. Volatile asms
6721 are unstable.
6722
5748b2cb 6723Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
ae0f4dee 6724
87c31d6b
RK
6725 * function.h (no_debugging_symbols): New field.
6726 * integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
6727 Initialize no_debugging_symbols.
6728 (output_inline_function): Save and restore write_symbols and set from
6729 no_debugging_symbols.
6730 * toplev.c (rest_of_compilation): Call save_for_inline.
6731 * tree.h: Update comment.
7373064a 6732
5748b2cb
RK
6733 * stor-layout.c (place_field): Don't do anything if field or
6734 its type are ERROR_MARK.
6735
6736Sat Sep 16 19:14:00 2000 Laurynas Biveinis <lauras@softhome.net>
6737
6738 * cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
6739 (read_include_file): Ensure inc->mmaped is initialized.
ae0f4dee 6740
6f84c9bd
RH
67412000-09-16 Richard Henderson <rth@cygnus.com>
6742
6743 * cppiles.c (purge_cache): Use PTR not caddr_t.
6744
50c57e7b
HPN
67452000-09-16 Hans-Peter Nilsson <hp@axis.com>
6746
6747 * gcc.c: In description for %{<S}, say the option removed is -S.
6748 * invoke.texi (Spec Files): Ditto.
6749
dd745546
AJ
67502000-09-16 Andreas Jaeger <aj@suse.de>
6751
6752 * configure.in: Always define _GNU_SOURCE to make interfaces
6753 visible that were hidden by only defining _GNU_SOURCE.
6754 * configure: Regenerated.
6755
08ebc1c5
NB
6756Sat 16-Sep-2000 08:13:45 BST Neil Booth <NeilB@earthling.net>
6757
6758 * cpplex.c (push_macro_context): Set an argument's level after
6759 calling parse_args. We could loop infinitely otherwise.
6760
16abe34a
TT
67612000-09-15 Tom Tromey <tromey@cygnus.com>
6762
6763 * configure, config.in: Rebuilt.
6764 * configure.in: Check for iconv.h. Define _XOPEN_SOURCE.
6765
61c16b10
GM
67662000-09-15 Greg McGary <greg@mcgary.org>
6767
6768 * cppmacro.c (check_trad_stringification): Check token
6769 text pointers against limit before dereferencing.
6770
6a357625
JM
67712000-09-15 Joseph S. Myers <jsm28@cam.ac.uk>
6772
6773 * c-common.c (format_wanted_type): New structure.
6774 (check_format_types): New function.
6775 (check_format_info): Pass all checking of types of format
6776 arguments, including width and precision arguments, to this new
6777 function.
6778
6a1d1088
GP
67792000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6780
6781 * BUGS: Remove file.
6782
a3b815cb
JJ
67832000-09-15 Jakub Jelinek <jakub@redhat.com>
6784
54f5c4b0
JJ
6785 * config/alpha/alpha.c (override_options): ev6 cache latencies
6786 from Richard Henderson. Don't allow -mmemory-latency=L0.
6787
a3b815cb
JJ
6788 * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
6789 (TARGET_OPTIONS): Add tune=.
6790 (alpha_tune_string): Declare.
6791 * config/alpha/alpha.c (override_options): Add cpu_table.
6792 Use alpha_cpu_string first to set both alpha_cpu and target_flags
6793 and then alpha_tune_string to set alpha_cpu only.
6794 Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
6795 * config/alpha/elf.h (ASM_FILE_START): Likewise.
6796 * config/alpha/osf.h (ASM_FILE_START): Likewise.
6797 * config/alpha/openbsd.h (ASM_FILE_START): Likewise.
6798
9076b9c1
JH
6799Fri Sep 15 19:45:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
6800
6801 * i386-protos.h (no_comparison_operator, uno_comparison_operator):
6802 Remove.
6803 (ix86_comparison_operator, ix86_cc_mode): Declare
6804 * i386.h (CCGC, CCGCO): New modes.
6805 (SELECT_CC_MODE): Move offline to ....
6806 * i386.c (ix86_cc_mode): .... here; use new modes.
6807 (ix86_comparison_operator): New.
6808 (fcmov_comparison_operator): Ensure proper mode.
6809 (put_condition_mode): More sanity checking.
6810 (ix86_match_ccmode): Handle new modes.
6811 (ix86_expand_fp_compare): GEU requires CCmode.
6812 (ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
6813 doing it by hand.
6814 * i386.md (cmp?i_ccz_1): Remove
6815 (cmp?i_ccno_1): Use ix86_match_ccmode.
6816 (cmp?i_minus_1): New.
6817 (cmpsi_1): New expander.
6818 (cmpqi_ext_1): Use match_ccmode
6819 (cmpqi_ext_3): New expander.
6820 (cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
6821 (cmpqi_ext_4): Use match_ccmode.
6822 (add?i_?): Use match_ccmode.
6823 (add?i_6): New.
6824 (test?i_ccz_1): Remove
6825 (test?i_1): New.
6826 (testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
6827 (testqi_ext_0): Use ix86_match_ccmode.
6828 (*xorqi_cc_ext_1): Use ix86_match_ccmode.
6829 (xorqi_cc_ext_1): New expander.
6830 (shift patterns): Use CCGOCmode for all shifts except for sar.
6831 (setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
6832 (setcc_3, jcc_3, miv?icc_c): Remove.
6833
3724ec07
WC
68342000-09-15 Will Cohen <wcohen@redhat.com>
6835
6836 * dwarf2out.c (add_const_value_attribute): Changed array into a
6837 xmalloced object, so it exists after function exit.
6838 (free_AT): Added case for dw_val_class_float to free allocated
6839 memory.
6840
182a4620
KH
68412000-09-15 Kazu Hirata <kazu@hxi.com>
6842
6843 * config/i386/i386.md: Fix a comment typo.
d25a45d4 6844 * gcc.c: Fix formatting.
182a4620 6845
aff2c2d3
BS
68462000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
6847
6848 * optabs.c (emit_libcall_block): If target is a user variable,
6849 copy to a temporary first.
642dfa8b
BS
6850 * expr.c (convert_move): When generating a libcall, make a libcall
6851 block.
188c5e6c
BS
6852 * calls.c (emit_library_call_value_1): Don't create a libcall
6853 sequence here; our caller will in most cases do it.
aff2c2d3 6854
0c4c9b16
BS
6855 * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
6856 MACH into FPUL.
6857 (SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
6858 * sh.md (reload_outsf): Generate recognizable patterns for
6859 TARGET_SH3E.
6860 (floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
6861 fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
6862 fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
6863 truncdfsf2_i4): Change not to use explicit references to fpul.
6864 (floatsisf2_ie): Remove USE of fpscr.
6865 (floatsisf2): Change default expansion to match this.
6866 (fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
6867 unused patterns.
6868
308ecea0
RH
68692000-09-15 Richard Henderson <rth@cygnus.com>
6870
6871 * expmed.c (store_bit_field): Consider naturally aligned
6872 memory for direct reference.
6873
e01acbb1
RH
68742000-09-15 Richard Henderson <rth@cygnus.com>
6875
6876 * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
6877 AND addresses into alias set 0.
6878 (alpha_expand_unaligned_store): Likewise.
6879 (alpha_expand_unaligned_load_words): Likewise.
6880 (alpha_expand_unaligned_store_words): Likewise.
6881
c363a0c0
BS
68822000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
6883
6884 * config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
6885 * config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
6886 is defined.
dd193c79
BS
6887 * config/mips/mips.c (mips_va_arg): Args passed by reference have a
6888 rsize of UNITS_PER_WORD.
c363a0c0 6889
ff94c747
NB
6890Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net>
6891
6892 * cpplex.c (ON_REST_ARG): Correct the test.
6893 (maybe_paste_with_next): Duplicate a token that fail pasting,
6894 and clear its PASTE_LEFT flag, so that nested pasting attempts
6895 do not occur.
6896
b437f1a7
RH
68972000-09-14 Richard Henderson <rth@cygnus.com>
6898
6899 * calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
6900 * cse.c (rtx_cost): Likewise.
6901 * optabls.c (expand_binop): Likewise.
6902 (expand_twoval_binop, prepare_cmp_insn): Likewise.
6903 * regclass.c (copy_cost): Likewise.
6904 * reload1.c (reload_cse_move2add): Likewise.
6905
d9dbd9b1
JM
69062000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
6907
6908 * c-parse.in (reswords): Add _Complex.
6909
9207d3b1
DA
69102000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca>
6911
6912 * gcc.1: Delete documentation for -undef preprocessor option.
6913
395a451c
AO
69142000-09-14 Alexandre Oliva <aoliva@redhat.com>
6915
6916 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
6917 STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
6918 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
6919 Remove undefine before config/elfos.h.
6920 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
6921
17f0f8fa
KH
69222000-09-14 Kazu Hirata <kazu@hxi.com>
6923
6924 * invoke.texi (H8/300 Options): Add -ms2600.
6925 * config/h8300.c (h8300_init_once): Output an error when -ms2600
6926 is used without -ms.
6927 * config/h8300.h (TARGET_MAC): New.
6928 (TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
6929 (CONDITIONA_REGISTER_USAGE): Disable the mac register on any
6930 machine other than H8/S2600.
6931 * config/h8300.md: Accept mac instructions on the H8/S2600 instead
6932 of the H8/S2000.
6933
9e8f528c
AO
69342000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
6935
6936 * reload.c (find_reloads_address_1): Generate reloads for auto_inc
6937 pseudos that refer to the original pseudos, not only to their
6938 equivalent memory locations.
6939
9985f210
RK
6940Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6941
fe7a8445
RK
6942 * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
6943 when making new MEM.
6944
9985f210
RK
6945 * Makefile.in (LN): Remove duplicate definition.
6946
2f93c5c3
BS
69472000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
6948
6949 From Joern Rennecke:
6950 * local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
6951 on an insn and function_invariant_p returns nonzero for the source,
6952 add a REG_EQUAL note.
6953
b24ea077
JW
6954Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com)
6955
6956 * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
6957 conflict with frame_pointer_rtx.
6958
fd5d5b07
KH
69592000-09-13 Kazu Hirata <kazu@hxi.com>
6960
6961 * loop.c: Fix formatting.
6962 * loop.h: Likewise.
6963
26102535
RH
69642000-09-13 Richard Henderson <rth@cygnus.com>
6965
6966 * config/ia64/ia64.md (divsf3): New.
6967 (divsf3_internal_lat, divsf3_internal_thr): New.
6968 (divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
6969 (divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
6970 (adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
6971 (madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
6972 (nmadddf4_alts, nmadddf4_trunc): New.
6973 (addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
6974 (subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
6975 (multf3_truncsf_alts, multf3_truncdf_alts): New.
6976 (maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
6977 (msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
6978 (nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
6979 (nmaddtf4_truncdf_alts): New.
6980 (recip_approx): Don't predicate.
6981
938566fb
RH
69822000-09-13 Richard Henderson <rth@cygnus.com>
6983
6984 * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
6985
c349e40b
SC
69862000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6987
6988 * flags.h (flag_dump_rtl_in_asm): Declare.
6989 * toplev.c (flag_dump_rtl_in_asm): Define.
6990 (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
6991 if -dP is specified.
6992 * rtl.h (print_rtx_head): Declare.
6993 * print-rtl.c (print_rtx_head): Define.
6994 (print_rtx): Print the string pointed to by print_rtx_head
6995 at beginning of each dump line.
6996 (print_rtl): Likewise.
6997 (print_rtl_single): Likewise.
6998 * final.c (final_scan_insn): Dump the insn in the assembly
6999 file for debugging.
7000 * gcc.1: Document -dP option.
7001 * invoke.texi (Debugging Options): Likewise.
7002
2856c3e3
SC
70032000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7004
7005 * md.texi (Machine Constraints): Document the 68HC11 constraints.
7006 * install.texi (Configurations): Document the 68HC11&68HC12 port.
7007 * invoke.texi (Option Summary, M68hc1x Options): Document the options.
7008
1ca04dc8
DC
7009Tue Sep 12 13:51:13 2000 Denis Chertykov <denisc@overta.ru>
7010
7011 * config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
7012 * config/avr/avr.md (*movstrqi_insn): Cleanup output template.
7013 (*clrstrqi): Likewise.
7014 (xorhi3,xorsi3,absqi2): Likewise.
7015 (one_cmplhi2,one_cmplsi2): Likewise.
7016 (addsi3): Two stupid constraint alternatives removed.
7017 (extendhisi2): Use `movw' for enhanced avr cores.
7018 (zero_extendhisi2): Likewise.
7019
bb07060a
JW
7020Wed Sep 13 02:31:23 EDT 2000 John Wehle (john@feith.com)
7021
7022 * alias.c (find_base_term): Use frame_pointer_rtx
7023 when handling an ADDRESSOF.
7024
7025 * cse.c (canon_hash): Handle USE of BLKmode memory.
7026 (cse_insn): Outgoing arguments for a libcall don't
7027 affect any recorded expressions.
7028
d21445e7
TT
70292000-09-12 Tom Tromey <tromey@cygnus.com>
7030
7031 * configure, config.in: Rebuilt.
7032 * configure.in: Check for iconv, nl_langinfo, langinfo.h.
7033
5c80f6e6
JJ
70342000-09-12 Jakub Jelinek <jakub@redhat.com>
7035
7036 * c-lex.c (lex_string): Use charwidth to compute bytemask.
7037 * expr.c (expand_expr): Don't optimize constant array references
7038 initialized with wide string constants.
7039
635a2a90
MH
70402000-09-13 Michael Hayes <mhayes@cygnus.com>
7041
a191f0ee 7042 * loop.c (note_set_pseudo_multiple_uses): Correct.
635a2a90 7043
cc2999aa
JW
70442000-09-12 Jim Wilson <wilson@cygnus.com>
7045
7046 * ifcvt.c (noce_process_if_block): If A and B are the same, and no
7047 else block, and X has side-effects, then fail.
7048
a0b6cdee
GM
70492000-09-12 Greg McGary <greg@mcgary.org>
7050
7051 * config/mips/mips-protos.h
7052 (trap_cmp_op, mips_gen_conditional_trap): New func decls.
7053 * config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
7054 (PREDICATE_CODES): Add "trap_cmp_op".
7055 * config/mips/mips.c
7056 (trap_cmp_op, mips_gen_conditional_trap): New functions.
7057 * config/mips/mips.md (trap, conditional_trap): New patterns.
7058
24948ccc
BS
70592000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
7060
7061 * flow.c (try_pre_increment_1): Don't do anything to sets of the stack
7062 pointer.
7063
3ff5f682
KG
70642000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7065
7066 * builtins.c (built_in_decls): New array.
7067 (expand_builtin_fputs): New function.
7068 (expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
7069
7070 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
7071
7072 * c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
7073
7074 * tree.h (built_in_decls): New array.
7075
208b0ab1
JL
7076Tue Sep 12 08:53:57 2000 Jeffrey A Law (law@cygnus.com)
7077
7078 * convex.md: Use "+" instead of "=" for outputs wrapped in a
7079 STRICT_LOW_PART.
7080 * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
7081
a86dc4a3
KH
70822000-09-12 Kazu Hirata <kazu@hxi.com>
7083
7a403706
KH
7084 * haifa-sched.c: Fix formatting.
7085
c9541287
KH
7086 * genattrtab.c: Fix formatting.
7087
a86dc4a3
KH
7088 * unroll.c: Fix formatting.
7089
3af556f7
BK
70902000-09-12 Bruce Korb <bkorb@gnu.org>
7091
7092 * fixinc/fixfixes.c: make a type for the fix procedure & use it,
7093 remove obsolete code
7094 * fixinc/fixincl.c: Use PARAMS, not _P_. Add no-op default to switch.
7095 * fixinc/fixincl.tpl: make non-exported arrays static scope
7096 * fixinc/fixincl.x: regenerate
7097 * fixinc/fixlib.h: Use PARAMS, not _P_
7098 * fixinc/fixtests.c: make a type for the test proc & use it
7099 * fixinc/server.h: Use PARAMS, not _P_
7100
32892c52
KG
71012000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7102
7103 * c-typeck.c (process_init_element): Avoid union init warnings on
7104 floating point zero. Don't crash on unions containing structs.
7105
ae0a1c23
AO
71062000-09-12 Alexandre Oliva <aoliva@redhat.com>
7107
7108 * config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
7109 general_movsrc_operand, and remove CONST_INT from
7110 general_movdst_operand.
7111
f1c1dfc3
BS
71122000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
7113
7114 * cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
7115 if a reference to non-fixed hardreg is seen. Otherwise, count hard
7116 regs with a higher cost.
7117 (preferrable): Deal with cases where either cost or regcost is
7118 MAX_COST.
7119 (cse_insn): Use MAX_COST rather than 10000. Always initialize
7120 regcost values.
7121 (COSTS_N_INSNS): Move definition...
7122 * rtl.h: ...here.
7123 (MAX_COST): New macro.
7124 * loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
7125 constant.
7126
f444e36b
MM
71272000-09-11 Mark Mitchell <mark@codesourcery.com>
7128
7129 * c-common.h (genrtl_clear_out_block): Remove.
7130 * c-semantics.c (genrtl_clear_out_block): Remove.
7131 (genrtl_while_stmt): Don't call it.
7132 (genrtl_for_stmt): Likewise.
7133
a58d32c2
ZW
71342000-09-11 Zack Weinberg <zack@wolery.cumb.org>
7135
7136 * cppfiles.c: Move all default-#defines to top of file.
7137 (open_include_file): Replace by lookup_include_file.
7138 (read_with_read, read_file): Merged into read_include_file.
7139 (stack_include_file, purge_cache): New functions.
7140 (close_cached_fd): Delete.
dd745546 7141 (lookup_include_file, read_include_file, _cpp_pop_file_buffer):
a58d32c2
ZW
7142 Cache the in-memory buffer, not the file descriptor.
7143
7144 * cpphash.h (struct include_file): Add buffer, st, refcnt,
7145 mapped fields.
7146 (xcnew): New utility macro.
7147 (DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
7148 * cpplib.h (struct cpp_buffer): Remove mapped field.
7149
71502000-09-11 Zack Weinberg <zack@wolery.cumb.org>
7151
7152 * cpplex.c (parse_string): Accept backslash space newline as a
7153 line continuation.
7154 (lex_line): Likewise.
7155 (_cpp_get_token): Remove hard limit on macro nesting.
7156
bfa29b63
PT
71572000-09-12 Philipp Thomas <pthomas@suse.de>
7158
7159 * aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
7160 * configure: Rebuilt.
7161
97ca9316
MH
71622000-09-13 Michael Hayes <mhayes@cygnus.com>
7163
7164 * flow.c (split_block): Fix update of registers live at
7165 end of split block.
7166
d90ffc8d
JH
7167Tue Sep 12 01:51:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
7168
7169 * i386.md (add?i_3, add?i_5): New.
7170 (add?i_4): Rename from add?i_3; Fix compare pattern.
7171 (sub?i_3, xor?i_3, ior?i_3): New.
7172
7173 * genrecog.c (write_tree): Output code to clear insn_extract cache.
7174 * genattrtab.c (write_attr_case): Gen call to extract_insn_cache
7175 instead of extract_insn and extract_constrain_insn_cache instead of
7176 extract_insn and constrain_operands.
7177 * recog.c (extract_insn_cached, extract_constrain_insn_cached):
7178 New functions.
7179 (extract_insn): Clear which_alternative.
7180 (constrain_operands): Set which_alternative to -1 when failed.
7181 * recog.h (extract_constrain_insn_cached, extract_insn_cached):
7182 Declare.
7183
4843bda9
MH
71842000-09-11 Matthew Hiller <hiller@redhat.com>
7185
7186 * config/h8300/h8300.md (movstrictqi): Changed constraint modifier
7187 on operand 0 to '+'.
7188 (movstricthi): Likewise.
7189
ed5bb68d
MH
71902000-09-12 Michael Hayes <mhayes@cygnus.com>
7191
7192 * loop.h (LOOP_IVS): New macro.
7193 (REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
7194 (struct loop_ivs): New.
7195 (struct loop_info): Add ivs field.
7196 (reg_iv_type, reg_iv_info): Delete prototype.
7197 (reg_biv_class, loop_iv_list): Likewise.
7198 * loop.c (record_biv, find_life_end): Pass loop argument.
7199 (reg_iv_type): Remove global array and use
7200 field in loop_regs structure within loop_ivs structure.
7201 (reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
7202 (first_increment_giv, last_increment_giv): Use entry in
7203 loop_ivs structure.
7204 (record_initial): Pass ivs pointer.
7205 * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
7206
1ecd860b
MH
72072000-09-12 Michael Hayes <mhayes@cygnus.com>
7208
7209 * loop.h (LOOP_REGS): New macro.
7210 (struct loop_regs): New.
7211 (struct loop_info): Add regs field.
dd745546 7212 * loop.c (set_in_loop): Remove global array and store
1ecd860b
MH
7213 in loop_regs structure as part of loop_info structure.
7214 (n_times_set, may_not_optimize): Likewise.
7215 (reg_single_usage, moved_once): Likewise.
7216 (count_one_set): Add regs argument.
7217 (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
7218 (set_pseudo_multiple_uses): Pass regs pointer.
7219
0a5b41f2
MH
72202000-09-12 Michael Hayes <mhayes@cygnus.com>
7221
7222 * unroll.c (iteration_info): Subsume into loop_iterations.
7223 * loop.h (loop_info): New field iv.
7224
5d6a16e2
MH
72252000-09-12 Michael Hayes <mhayes@cygnus.com>
7226
7227 * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
7228 (LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
7229 (flow_loops_update): New prototype.
7230 (flow_loops_find): Add flags to prototype.
7231 (struct loop): Add `pre_header_root' and `pre_header_trace' fields.
7232 * flow.c (flow_loop_pre_header_scan): New.
7233 (flow_loop_dump): Dump pre-header root and trace and exit dominators.
7234 (flow_loop_free): Free pre-header root and trace and exit dominators.
7235 (flow_loops_find): New argument flags.
7236 (flow_loops_update): New function.
7237 * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
7238
c586192c
MH
72392000-09-12 Michael Hayes <mhayes@cygnus.com>
7240
7241 * basic-block.h (split_block, update_bb_for_insn): New prototypes.
7242 * flow.c (split_block, update_bb_for_insn): New functions.
7243
a5e5cf67
RH
72442000-09-11 Richard Henderson <rth@cygnus.com>
7245
7246 * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
7247
655f2eb9
RH
72482000-09-11 Richard Henderson <rth@cygnus.com>
7249
7250 * config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
7251 * config/ia64/ia64.c (fr_nonimmediate_operand): New.
7252 (ia64_override_options): Prevent optimizing division for both
7253 latency and throughput.
7254 (rtx_needs_barrier): Handle frcpa.
7255 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
7256 (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
7257 (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
7258 (TARGET_SWITCHES): Add -minline-divide-min-latency and
7259 -minline-divide-max-throughput.
7260 (PREDICATE_CODES): Update.
7261 * config/ia64/ia64.md (extendsidi2): Remove * from f case.
7262 (zero_extendsidi2): Likewise. Fix typo in f case insn.
7263 (extendsfdf2): Add cases for gr<->fr and fr<->mem.
7264 (extendsftf2): Likewise.
7265 (extenddftf2): Likewise.
7266 (fix_trunctfdi2_alts): New.
7267 (fixuns_trunctfdi2_alts): New.
7268 (madd*4): Rename from madd*3.
7269 (divsi3, modsi3, udivsi3, umodsi3): New.
7270 (divsi3_internal): New.
7271 (divdi3, moddi3, udivdi3, umoddi3): New.
7272 (divdi3_internal_lat, divdi3_internal_thr): New.
7273 (multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
7274 (recip_approx): New.
7275
b5d7770c
AO
72762000-09-11 Alexandre Oliva <aoliva@redhat.com>
7277
7278 * print-rtl.c (debug_call_placeholder_verbose): New variable.
7279 (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
7280 set.
7281 * integrate.c (copy_rtx_and_substitute): Don't share
7282 LEAF_REG_REMAPpable registers with the inlined function. Don't
7283 share the function value with calling sequences.
7284
6ff85fd8
JJ
72852000-09-11 Jakub Jelinek <jakub@redhat.com>
7286
2a1da89b
JJ
7287 * c-decl.c (do_case): Fix a typo.
7288
6ff85fd8
JJ
7289 * combine.c (simplify_if_then_else): Don't convert a == b ? b : a
7290 to a if the comparison is floating mode and not -ffast-math.
7291 * simplify-rtx.c (simplify_ternary_operation): Likewise.
7292
4102c782
R
7293Mon Sep 11 20:07:48 2000 J"orn Rennecke <amylaar@redhat.co.uk>
7294
7295 * sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
7296 gen_ic_invalidate_line.
7297
52a21fc6
PB
72982000-09-11 Philip Blundell <pb@futuretv.com>
7299
7300 * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
7301
669ed2b1
UD
7302Mon Sep 11 10:48:41 2000 Ulrich Drepper <drepper@redhat.com>
7303
7304 * install.texi (LANGUAGES): Update to include new languages.
7305 * INSTALL: Rebuilt.
7306
50936d27
DD
73072000-09-11 DJ Delorie <dj@redhat.com>
7308
7309 * gcc.c (main): Don't warn about unused -B prefixes
7310 (unused_prefix_warnings): remove
7311
00174bdf
KH
73122000-09-11 Kazu Hirata <kazu@hxi.com>
7313
f5d927c0
KH
7314 * final.c: Fix formatting.
7315
00174bdf
KH
7316 * integrate.c: Fix formatting.
7317
b14066a9
GK
73182000-09-11 Geoff Keating <geoffk@cygnus.com>
7319
7320 * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
7321
e695931e
BS
73222000-09-11 Bernd Schmidt <bernds@redhat.co.uk>
7323
7324 * reload.c (regno_clobbered_p): Fix thinko in previous change.
7325
456aadaa
SC
73262000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7327
7328 * gcc.1: Document 68hc11 specific options.
7329
9cb8fcaf
GK
73302000-09-10 Geoff Keating <geoffk@cygnus.com>
7331
e0f7170a
GK
7332 * config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
7333 (TARGET_LONG_DOUBLE_128): Define.
7334 (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
7335 (LONG_DOUBLE_TYPE_SIZE): Redefine.
7336 (MAX_LONG_DOUBLE_TYPE_SIZE): Define.
7337 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
7338 of __LONG_DOUBLE_128__.
7339 (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
7340 passed.
7341 (CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
7342 (CPP_SYSV_DEFAULT_SPEC): Define.
7343 (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
7344 (INIT_TARGET_OPTABS): Define.
7345
9cb8fcaf
GK
7346 * config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
7347 (RS6000_UITRUNC): Likewise.
7348 (INIT_TARGET_OPTABS): New macro.
7349 * config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
7350 (trunc_defined): Delete.
7351 (output_prolog): Don't output .extern definitions for fp->int
7352 conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
7353 * config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
7354 (trunc_defined): Delete.
7355 (RS6000_ITRUNC): Moved to aix.h.
7356 (RS6000_UITRUNC): Likewise.
7357 * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
7358 only emit a libcall.
7359 (fixuns_truncdfsi2): Delete.
7360 (trunc_call): Delete.
7361 (trunc_call_rtl): Delete.
7362
8f820299
ZW
73632000-09-10 Zack Weinberg <zack@wolery.cumb.org>
7364
7365 * varasm.c (make_decl_rtl): Restore leading star on
dd745546 7366 DECL_ASSEMBLER_NAME set for decls with an asmspec.
8f820299 7367
4337bc93
ZW
73682000-09-10 Zack Weinberg <zack@wolery.cumb.org>
7369
7370 * c-pragma.c (handle_pragma_pack): Correct parsing logic so it
7371 won't give a spurious error for '#pragma pack()'. Simplify
7372 control flow for readability. 'reset' action is not necessary.
7373
d8ea8f28
ZW
73742000-09-10 Zack Weinberg <zack@wolery.cumb.org>
7375
7376 * defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
7377 SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
7378 LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
7379 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
7380
7381 * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
7382 profile.c, sdbout.c, tradcif.y, tree.c:
7383 Include defaults.h if not already included.
7384 Don't define the above macros.
7385
7386 * Makefile.in: Update dependencies.
7387
56cb9733
MM
73882000-09-10 Mark Mitchell <mark@codesourcery.com>
7389
7390 * c-common.h (add_stmt): Change prototype.
7391 (RECHAIN_STMTS): New macro.
7392 (CASE_LABEL_DECL): Likewise.
7393 (genrtl_case_label): Change prototype.
7394 (c_expand_start_case): Remove prototype.
7395 (build_case_label): Change prototype.
7396 (decl_constant_value): Declare.
7397 * c-common.c (check_case_value): Handle C++'s extensions to C
7398 semantics.
7399 * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
d8ea8f28 7400 field.
56cb9733
MM
7401 * c-parse.in (stmt): Adjust handling of return statements and case
7402 laels.
7403 * c-semantics.c (add_stmt): Return the new statement.
7404 (genrtl_return_stmt): Take the RETURN_STMT as input, not the
7405 returned expression. Directly generate RTL, rather than calling
7406 c_expand_return.
7407 (genrtl_switch_stmt): Don't call c_expand_start_case.
7408 (build_case_label): Take the LABEL_DECL as input, too.
7409 (genrtl_case_label): Just call add_case_node.
7410 (expand_stmt): Adjust calls to genrtl_return_stmt and
7411 genrtl_case_label.
7412 * c-tree.h (c_expand_start_case): Declare.
7413 * c-typeck.c (decl_constant_value): Give it external linkage.
7414 (c_expand_return): Don't call expand_return or expand_null_return;
7415 use genrtl_return_stmt instead.
7416 * stmt.c (struct nesting): Remove num_ranges field.
7417 (add_case_node): Give it external linkage.
7418 (expand_start_case): Don't set num_ranges.
7419 (expand_start_case_dummy): Don't clear it.
7420 (pushcase): Rely on add_case_node to handle `default' labels.
7421 (add_case_node): Handle `default' labels.
7422 * tree.c (tree_int_cst_compare): New function.
7423 * tree.h (tree_int_cst_compare): Declare.
7424 (add_case_node): Likewise.
7425
aac02f4e
RH
74262000-09-10 Richard Henderson <rth@cygnus.com>
7427
7428 * c-parse.in: Revert last change.
7429 (init_reswords): Do not enter disabled keywords into the ridpointers
7430 table, modulo objc weirdness.
7431 (_yylex): Return the canonical spelling for a keyword.
7432
75d8aea7
PB
74332000-09-10 Philip Blundell <philb@gnu.org>
7434
7435 * config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
7436 * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
7437
d982e46e
JW
7438Sun Sep 10 14:30:28 EDT 2000 John Wehle (john@feith.com)
7439
7440 * alias.c (find_base_term): Handle ADDRESSOF.
7441 (memrefs_conflict_p): An ADDRESSOF doesn't conflict.
7442
212d447c
DC
74432000-09-10 Denis Chertykov <denisc@overta.ru>
7444
7445 * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
7446 outputting templates with many lines.
7447
a746dbf5
SC
74482000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7449
7450 * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
7451 to decide whether 64-bit support must be generated.
7452
1d0f6d89
RH
74532000-09-10 Richard Henderson <rth@cygnus.com>
7454
7455 * c-parse.in (asm patterns): Fix volatile check.
7456
e1aa5140
KG
74572000-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7458
7459 * cppmacro.c (check_trad_stringification): New function.
7460 (save_expansion): If -Wtraditional, warn about stringification of
7461 macro arguments.
7462
afa1738b
MH
74632000-09-11 Michael Hayes <mhayes@cygnus.com>
7464
7465 * loop.h (struct loop_mem_info): Move from loop.c
7466 (struct loop_info): Add fields store_mems, mems, mems_idx,
7467 mems_allocated, unknown_address_altered,
7468 unknown_constant_address_altered, num_mem_sets, and
7469 first_loop_store_insn.
7470
7471 * loop.c (loop_store_mems): Replace with field in loop_info struct.
7472 (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
7473 (unknown_address_altered, unknown_constant_address_altered): Likewise.
7474 (num_mem_sets): Likewise.
dd745546 7475 (replace_loop_mems, replace_loop_regs): New.
afa1738b
MH
7476 (struct loop_replace_args): New.
7477 (load_mems): Use replace_loop_mems.
7478 (try_copy_prop): Use replace_loop_regs.
7479 (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
7480
63883fc3
SC
74812000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7482
7483 * configure.in: Recognize m6811-elf and m6812-elf.
7484 * configure: Regenerate.
7485
808788fe
GK
74862000-09-09 Geoff Keating <geoffk@cygnus.com>
7487
7488 * recog.c (validate_replace_rtx_1): Correct MODE parameter in call
7489 to operand_subword.
7490
02055ad6
MH
74912000-09-10 Michael Hayes <mhayes@cygnus.com>
7492
7493 * loop.c (struct movables): New.
7494 (num_movables): Move into struct movables.
7495 (the_movables): Change type to struct movables.
7496 (ignore_some_movables): Change struct movable arg to struct movables.
dd745546 7497 (force_movables, combine_movables, regs_match_p): Likewise.
02055ad6
MH
7498 (rtx_equal_for_loop_p, move_movables): Likewise.
7499 (scan_loop): Change movables to be of type struct movables.
7500 Replace last_movable with field in movables structure.
7501
ae54392b
ZW
75022000-09-08 Zack Weinberg <zack@wolery.cumb.org>
7503
7504 * c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
7505 (init_pragma): Avoid warning if pfile happens to be unused.
7506 * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never
7507 define init_pragma to nothing. Always prototype
7508 init_pragma. Prototype dispatch_pragma if !USE_CPPLIB.
7509
7510 * c-lex.c (process_directive): Always call dispatch_pragma.
7511 Initialize entering_c_header to 0.
7512
385c9217
SC
75132000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7514
7515 * config/m68hc11/m68hc11.md: New file, machine description for
7516 68HC11 & 68HC12.
7517 * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
7518 * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
7519 * config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
7520 * config/m68hc11/m68hc11-protos.h: New file.
7521 * config/m68hc11/m68hc11-crt0.S: New file, startup code.
7522 * config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
7523 * config/m68hc11/xm-m68hc11.h: New file, target defs.
7524 * config/m68hc11/larith.asm: New file, libgcc routines.
7525
dfaf3cdb
SC
75262000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7527
7528 * Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
7529 (FPBIT_FUNCS): Add _usi_to_sf.
7530 * config/fp-bit.c (usi_to_float): New function.
7531 * config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
7532 (usi_to_float): Add appropriate #define.
7533
915119a5
BS
75342000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
7535
7536 * i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
7537 new functions.
7538 * i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
7539 * i386.md (attr "type"): Add sse and mmx types.
7540 (attr "memory"): Handle them without a crash.
7541 (movsi_1, movdi_2): Allow MMX regs.
7542 (movdi splits): Don't split moves involving MMX regs.
7543 (setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
7544 (movv4sf_internal, movv4si_internal, movv8qi_internal,
7545 movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
7546 movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
7547 sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
7548 sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
7549 sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
7550 addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
7551 divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
7552 sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
dd745546
AJ
7553 sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
7554 vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
915119a5
BS
7555 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
7556 cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
7557 addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
7558 subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
7559 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
7560 mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
7561 mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
7562 eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
7563 smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
7564 lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
7565 mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
7566 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
7567 mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
7568 mmx_clrdi): New patterns.
7569
8e49e00a
RE
75702000-09-08 Richard Earnshaw <rearnsha@arm.com>
7571
7572 * arm.c: Don't include tm.h directly.
7573
bd5621a3
JH
7574Fri Sep 8 14:34:56 MET DST 2000 Jan Hubicka <jh@suse.cz>
7575
7576 * recog.c (validate_replace_rtx_1): Fix confusion about equality
7577 testing; simplify subregs of constants and nested subregs.
e65d02cf 7578
6b3783de
AO
75792000-09-08 Alexandre Oliva <aoliva@redhat.com>
7580
7581 * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
7582
82be40f7
BS
75832000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
7584
7585 * combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
7586 VEC_CONCAT.
9af354b7
BS
7587 * rtl.texi (description of USE): Add note about possible pitfalls
7588 with this rtx.
ce701d1b
BS
7589 From Richard Henderson:
7590 * reload1.c (choose_reload_regs): Compute need_mode properly.
82be40f7 7591
4287b5f1
RH
75922000-09-07 Richard Henderson <rth@cygnus.com>
7593
7594 * config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
7595 (__modsi3, __umodsi3): Likewise.
7596 (__udivsi3): Likewise. Normalize the TFmode values.
7597
c5d71f39
GK
75982000-09-07 Geoff Keating <geoffk@cygnus.com>
7599
7600 * config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
7601 with a prototype.
7602 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
7603 warning.
7604
712646d0
R
7605Fri Sep 8 03:26:38 2000 J"orn Rennecke <amylaar@redhat.co.uk>
7606
7607 * sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
7608 (cmpeqdi_t): Add output pattern.
7609 (cmpeqdi_t+1): Don't split when not optimizing.
7610 Restore proper splitting operation.
7611
30acbc3e
RH
76122000-09-07 Richard Henderson <rth@cygnus.com>
7613
7614 * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
7615 do not call dispatch_pragma.
7616
46146529
JW
76172000-09-07 Jim Wilson <wilson@cygnus.com>
7618
7619 * reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
7620 to CLASS_CANNOT_CHANGE_MODE.
7621 * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
7622 mode classes are different.
7623
6db83155
ZW
76242000-09-07 Zack Weinberg <zack@wolery.cumb.org>
7625
7626 * cpplib.h (struct cpp_options): Add user_label_prefix member,
7627 left out of commit which removed cppulp.c.
7628
0d45144b
RH
76292000-09-07 Richard Henderson <rth@cygnus.com>
7630
7631 * bb-reorder.c (fixup_reorder_chain): Add jump in new block
7632 after switch for CASE_DROPS_THROUGH.
7633
e8cb4873
RH
76342000-09-07 Richard Henderson <rth@cygnus.com>
7635
7636 * loop.c (strength_reduce): Call check_ext_dependant_givs.
7637 Properly extend the biv initial value for the giv.
7638 (record_biv): Zero ext_dependant.
7639 (record_giv): New argument ext_val. Update all callers.
7640 (general_induction_var): Likewise.
7641 (consec_sets_giv): Likewise.
7642 (simplify_giv_expr): Likewise. Fill in ext_val if we find
7643 a sign-extend, zero-extend, or truncate.
7644 (combine_givs_p): Make sure modes are compatible.
7645 (check_ext_dependant_givs): New.
7646 (extend_value_for_giv): New.
7647 * loop.h (struct induction): Add ext_dependant.
7648 * unroll.c (iteration_info): Extend the biv initial value for the giv.
7649 (find_splittable_givs): Likewise.
7650 (final_giv_value): Likewise.
7651
8b97c5f8
ZW
76522000-09-07 Zack Weinberg <zack@wolery.cumb.org>
7653
7654 * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
7655 REGISTER_TARGET_PRAGMAS is defined. Duplicate some
7656 definitions from cpplib.h.
7657 * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
7658 already done it.
7659 * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add
7660 documentation for REGISTER_TARGET_PRAGMAS.
7661
7662 * c-lex.c: Include cpplib.h before c-pragma.h. Define a
7663 default-pragma callback to implement -Wunknown-pragmas if
7664 USE_CPPLIB.
7665 * c-parse.in: Move all includes to top of file.
7666 * c-pragma.c: Include cpplib.h before c-pragma.h. Include
7667 tm_p.h.
7668 (dispatch_pragma): Put the namespace in the -Wunknown-pragmas
7669 warning.
7670 (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
7671
7672 * arm.h, arm-protos.h, arm.c,
7673 c4x.h, c4x-protos.h, c4x.c,
7674 h8300.h, h8300-protos.h, h8300.c,
7675 i370.h, i370-protos.h, i370.c,
7676 i960.h, i960-protos.h, i960.c,
d8ea8f28 7677 sh.h, sh-protos.h, sh.c,
8b97c5f8
ZW
7678 v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
7679 pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
7680
7681 * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add
7682 multiple include guard.
7683 * i370.md (untyped_call): Use GEN_CALL.
7684 (umodsi3): Remove unused variable.
7685 * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
7686 * v850.c (output_move_single, output_move_double): Constify
7687 return value.
7688 (print_operand): Constify a char *.
7689 * v850.h (struct small_memory_info): Constify name member.
7690
1898584f
KH
76912000-09-07 Kazu Hirata <kazu@hxi.com>
7692
7693 * config/h8300.h: Fix comment typos.
7694 * config/h8300/h8300.md: Likewise.
7695 * config/h8300/lib1funcs.asm: Likewise.
7696
771c4df3
NB
7697Thu 07-Sep-2000 21:29:00 BST Neil Booth <NeilB@earthling.net>
7698
7699 * Makefile.in: Remove references to cppulp.{c,o}.
7700 * cppinit.c (initialize_builtins, cpp_start_read,
7701 cpp_handle_option): Update to use cpp_options structure.
7702 * cppulp.c: Remove.
7703
2496f0b5
JM
77042000-09-07 Joseph S. Myers <jsm28@cam.ac.uk>
7705
7706 * c-common.c (time_char_table): Allow %#b and %#h.
7707
bf6302f0
HB
77082000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7709
7710 * reorg.c (find_end_label): If the basic block reorder pass moves the
7711 return insn to some other place try to locate it again and put our
7712 end_of_function_label there.
7713 * reorg.c (relax_delay_slots): Check if find_end_label created a
7714 new label that invalidates the current optimazation.
7715
4598ffe9
CM
77162000-09-07 Catherine Moore <clm@redhat.com>
7717
e8cb4873
RH
7718 * unroll.c (unroll_loop): Check for unconditional jumps
7719 to loop continuation. Delete if n_iterations is 1.
7720 (ujump_to_loop_cont): New routine.
4598ffe9 7721
ff427764
BS
77222000-09-07 Bernd Schmidt <bernds@redhat.co.uk>
7723
7724 * rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
7725 MODE_VECTOR_FLOAT.
8441bc30
BS
7726 * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
7727 to handle multiword modes correctly. All callers and the declaration
7728 changed.
d8ea8f28 7729
54f7877c
MM
77302000-09-06 Mark Mitchell <mark@codesourcery.com>
7731
7732 * c-common.h (prep_stmt): Declare.
7733 (lang_expand_stmt): Likewise.
7734 * c-decl.c (lang_expand_stmt): Remove.
7735 * c-semantics.c (lang_expand_stmt): Define.
7736 (prep_stmt): New function.
7737 (expand_stmt): Handle common statement types here.
d8ea8f28 7738
93ca1662
NY
77392000-09-07 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com>
7740
7741 * configure.in (sh-*-linux*): Added.
7742 * configure: Rebuilt.
7743 * config/sh/t-linux: New file.
7744 * config/sh/sh.h (USERMODE_BIT): Define.
7745 (TARGET_USERMODE): Likewise.
7746 (TARGET_SWITCHES): New switches for the bits above.
7747 (INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
7748 * config/sh/linux.h: New file.
7749 * config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
7750 underscore on linux.
7751 (L_sdivsi3, L_udivsi3): Define for linux.
7752 (L_ic_invalidate): Define.
7753 * invoke.texi (SH Options): Document -musermode.
7754
71105114
AO
77552000-09-07 Alexandre Oliva <aoliva@redhat.com>
7756
4979c2a9
AO
7757 * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
7758 CSE unless generating PIC.
7759
71105114
AO
7760 * config/sh/sh.md (symPLT_label2reg): Force the initialization of
7761 the PIC register.
7762
d5cfb451
L
77632000-09-06 H.J. Lu (hjl@gnu.org)
7764
7765 * Makefile.in (clean_s1): Depend on stage_b.
7766 (clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
7767 stage2. They are used for "make compare".
7768
ae499cce
MM
77692000-09-06 Mark Mitchell <mark@codesourcery.com>
7770
7771 Move statement-tree facilities from C++ to C front-end.
7772 * c-common.h (c_tree_index): Add CTI_VOID_ZERO.
7773 (void_zero_node): New macro.
7774 (struct stmt_tree_s): New type.
7775 (stmt_tree): New typedef.
7776 (struct language_function): New type.
7777 (last_tree): New macro.
7778 (last_expr_type): Likewise.
7779 (walk_tree_fn): New typedef.
7780 (current_stmt_tree): New function.
7781 (begin_stmt_tree): Likewise.
7782 (add_stmt): Likewise.
7783 (finish_stmt_tree): Likewise.
7784 (statement_code_p): Likewise.
7785 (lang_statement_code_p): New variable.
7786 (walk_stmt_tree): New function.
7787 (STMT_IS_FULL_EXPR_P): New macro.
7788 * c-common.c (lang_statement_code_p): New variable.
7789 (c_common_nodes_and_builtins): Initialize void_zero_node.
7790 (statement_code_p): New function.
7791 (walk_stmt_tree): Likewise.
7792 * c-decl.c (language_function): Rename to ...
7793 (c_language_function): ... this. Include language_function.
7794 (push_c_function_context): Adjust accordingly.
7795 (pop_c_function_context): Likewise.
7796 (mark_c_function_context): Likewise.
7797 (current_stmt_tree): Define.
7798 * c-semantics.c (begin_stmt_tree): New function.
7799 (add_stmt): Likewise.
7800 (prune_unused_decls): Likewise.
7801 (finish_stmt_tree): Likewise.
7802
4f4b88d0
HB
78032000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7804
e8cb4873 7805 * flow.c (insn_dead_p): Detect dead memory stores with auto increments.
4f4b88d0 7806
f725a3ec
KH
78072000-09-06 Kazu Hirata <kazu@hxi.com>
7808
7809 * calls.c: Fix formatting.
7810
0806f95f
GS
78112000-09-06 Graham Stott <grahams@cygnus.co.uk>
7812
e8cb4873 7813 * config/i386/i386.h (ADDRESS_COST): Fix typo.
0806f95f 7814
0e5921e8
ZW
78152000-09-06 Zack Weinberg <zack@wolery.cumb.org>
7816
7817 Integrated preprocessor.
7818
7819 * Makefile.in: Remove all references to c-parse.gperf,
7820 c-gperf.h, and c-parse.h. Remove -d from yacc command line
7821 generating c-parse.c. Update dependencies.
7822 * c-parse.gperf, c-gperf.h: Delete.
7823
7824 * c-common.c: Don't define parse_options, cpp_token, yy_cur,
7825 yy_lim, or yy_get_token. Don't define get_directive_line if
7826 USE_CPPLIB.
7827 * c-common.h: Add multiple include guard. Define RID values
7828 for every keyword in C, C++, and Objective C. Put all the
7829 modifiers first.
7830 (struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
7831 * c-decl.c (c_decode_option): Handle -lang-objc here.
7832 (print_lang_identifier): Handle C_IS_RESERVED_WORD case.
7833 (grokdeclarator): Adjust for new RID scheme.
7834 (extract_interface_info): New stub.
7835 * c-lang.c: Don't declare yy_cur or parse_options.
7836 (lang_init_options): Call cpp_init. Don't call
7837 cpp_options_init.
7838 (lang_init): Don't call check_newline if USE_CPPLIB.
7839
7840 * c-lex.c: Don't include c-parse.h. Do include timevar.h.
7841 Elide lots of unnecessary code if USE_CPPLIB. Delete code
7842 rendered unnecessary by new architecture. Move routines not
7843 shared with C++ to c-parse.in. Maintain a local idea of the
7844 line number. Handle C++ as well as C.
7845 [USE_CPPLIB]: Declare and register callbacks for #ident and
7846 for entering/leaving files.
7847 (init_c_lex, c_lex): Are now the entry points to this file.
7848 (check_newline): Break out directive handling to
7849 process_directive.
7850 (read_ucs, is_extended_char, utf8_extend_token): Moved here
7851 from C++ front end.
7852 (readescape, parse_float): Overhaul.
7853 (lex_number, lex_string, lex_charconst): Break out of c_lex
7854 (n'ee yylex).
7855 (get_fileinfo, update_header_times, dump_one_header,
7856 dump_time_statistics): New and/or moved here from C++.
7857 Support per-file data needed by C++ and per-header timing
7858 statistics (C++ only, at the moment).
7859 * c-lex.h: Update prototypes. Add multiple include guard.
7860 * c-tree.h (struct lang_identifier): Add rid_code field.
7861 (C_IS_RESERVED_WORD, C_RID_CODE): New.
7862
7863 * c-parse.in: Include c-pragma.h. Remove unnecesary calls to
7864 reinit_parse_for_function and/or position_after_white_space.
7865 (save_filename, save_lineno): Look ahead before saving.
7866 (label -> identifier ':'): Save file and line before shifting ':'.
7867 (reservedwords): No need to call get_identifier.
7868 (init_parse, finish_parse, yyerror, yylex, yyprint,
7869 make_pointer_declarator): Are now here for C/ObjC.
7870 (rid_to_yy): Conversion table from RID constants to Yacc codes.
7871
7872 * c-pragma.c: Rewrite parsing logic to fit with cpplib's
7873 #pragma registry. Provide dummy implementation of that
7874 interface if !USE_CPPLIB.
7875 * c-pragma.h: Update to match.
7876
7877 * flags.h: Add multiple include guard.
7878 (flag_detailed_statistics): Moved here from C++.
7879 * toplev.c: Define flag_detailed_statistics.
7880
7881 * gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
7882 #if USE_CPPLIB.
7883 * timevar.def (TV_CPP, TV_LEX): New.
7884 * timevar.h: Add multiple include guard.
7885
7886 * objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
7887 #if USE_CPPLIB.
7888 * objc/objc-act.c: Don't mention yy_cur or parse_options.
7889 Initialize cpplib properly. Force lineno to 0 after first
7890 call to check_newline. Don't handle -lang-objc here.
7891 Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
7892
5638268e
DE
78932000-09-06 David Edelsohn <edelsohn@gnu.org>
7894
7895 * rs6000.md: Correct function unit definitions for cr_logical and
7896 mtjmpr.
7897 (sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
7898 and use portable method for >=0 and floating point >=. Remove
7899 associated matchers.
7900
44835fdd
MM
79012000-09-06 Mark Mitchell <mark@codesourcery.com>
7902
7903 * extend.texi: Mark named return value extension as deprecated.
7904
bab6226b
GK
79052000-09-06 Geoff Keating <geoffk@cygnus.com>
7906
7907 * config/rs6000/rs6000.c (rs6000_reverse_condition): Return
7908 the result.
7909
e6513023
GDR
79102000-09-06 Gabriel Dos Reis <gdr@codesourcery.com>
7911
7912 * toplev.c (display_help): Fix thinko in documentation.
7913
7914 * diagnostic.h (output_buffer::indent_skip): New fields.
7915 (output_indentation): New macro.
7916
7917 * diagnostic.c (output_indent): New function.
7918 (output_set_prefix, clear_diagnostic_info): Use.
7919 (output_emit_prefix): Predict future indentation.
7920
112c7aea
DD
79212000-09-06 DJ Delorie <dj@redhat.com>
7922
7923 * Makefile.in (stage_*): add more dependencies to ensure parallel
7924 builds build correctly
7925
1bac0fb4
MH
79262000-09-06 Manfred Hollstein <manfredh@redhat.com>
7927
7928 * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
7929 not bootstrap-lean_f.
7930
f472a17c
AS
79312000-09-06 Andreas Schwab <schwab@suse.de>
7932
7933 * mklibgcc.in: Emit rule for libgcc-stage-start.
7934 * Makefile.in (stage1-start, stage2-start, stage3-start,
7935 stage4-start): Don't handle libgcc here, use libgcc.mk instead.
7936
630c79be 79372000-09-06 Bernd Schmidt <bernds@redhat.co.uk>
611bbf2a
BS
7938
7939 * local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
7940 (update_equiv_regs): Likewise, except for the mn10200 kludge.
7941 (combine_regs): Likewise.
7942
630c79be
BS
7943 * Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
7944 * cse.c: Include "basic-block.h".
7945 (struct table_elt): New field REGCOST.
7946 (CHEAP_REG): Delete macro.
7947 (COST): Return 0 for REGs.
7948 (approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
7949 (notreg_cost): Return 0 for appropriate SUBREGs.
7950 (COSTS_N_INSNS): Return N * 2.
7951 (rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
7952 SUBREGs.
7953 (CHEAPER): Use new function preferrable.
7954 (insert): Initialize REGCOST member.
7955 (find_best_addr): Use approx_reg_cost for estimation of register
7956 usage.
7957 (cse_insn): Likewise.
7958 * loop.c (iv_add_mult_cost): New function.
7959 (add_cost, shift_cost, mult_cost): Delete variables.
7960 (init_loop): Don't initialize add_cost; reduce copy_cost by half.
7961 (strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
7962 Make code that detects autoinc opportunities slightly less optimistic.
7963 (simplify_giv_expr): If expression contains other reg that is also a
7964 giv, only increment benefit if this is the only use of that reg.
7965 (consec_sets_giv): Take that change into account.
7966 (combine_givs): Slightly more verbose output.
7967
7968 * i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
7969 not the cost of an equivalent shift.
7970 * sh-protos.h (addsubcosts): Declare.
7971 * sh.c (addsubcosts): New function.
7972 * sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
7973 (RTX_COSTS): Tweak. Use addsubcosts.
7974 (ADDRESS_COST): Return higher cost for reg+reg addressing.
7975
39a10a29
GK
79762000-09-06 Geoff Keating <geoffk@cygnus.com>
7977
7978 * config/rs6000/rs6000.c (validate_condition_mode): New function.
7979 (branch_comparison_operator): Call validate_condition_mode to
7980 abort rather than returning 0.
7981 (branch_positive_comparison_operator): New function.
7982 (scc_comparison_operator): Call validate_condition_mode to abort
7983 rather than returning 0.
7984 (ccr_bit): Call validate_condition_mode. Update for
7985 new branch scheme.
7986 (print_operand): Delete %C modifier. Update %E case
7987 to use EQ bit not SO bit.
7988 (rs6000_reverse_condition): New function.
7989 (rs6000_generate_compare): New function.
7990 (rs6000_emit_sCOND): New function.
7991 (rs6000_emit_cbranch): New function.
7992 (output_cbranch): The length of a long branch insn is
7993 now only 8 bytes. Add validate_condition_mode. Use
7994 rs6000_reverse_condition. Remove cror generation.
bab6226b 7995
39a10a29
GK
7996 * config/rs6000/rs6000.h: Update comments.
7997 (PREDICATE_CODES): Add new predicate. Update codes used
7998 by branch_comparison_operator and scc_comparison_operator.
7999 * config/rs6000/rs6000-protos.h: Add prototypes for
8000 new external functions.
8001 * config/rs6000/rs6000.md: Add new scheduling parameters
8002 for cr_logical instructions. Change length of branch
8003 instructions.
8004 (bCOND patterns): Call rs6000_emit_cbranch.
8005 (sCOND patterns): Call rs6000_emit_sCOND.
8006 (branch patterns): Change lengths to 4.
8007 (cr logical patterns): New.
8008
2a4bbffa
RH
80092000-09-06 Richard Henderson <rth@cygnus.com>
8010
8011 * config/i386/i386.md (call_pop): Fix test for setting
8012 current_function_uses_pic_offset_table.
8013 (call, call_value_pop, call_value): Likewise.
8014
eab828ba
ZW
80152000-09-06 Zack Weinberg <zack@wolery.cumb.org>
8016
8017 * timevar.c (timevar_add): Delete.
8018 (timevar_get): Also count time since the selected timer was
8019 last updated. Do not examine the timevar stack if the
8020 selected timer is standalone.
8021
f1d6a533
DA
80222000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
8023
8024 * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
8025
53c5b5d7
JM
80262000-09-05 Jason Merrill <jason@redhat.com>
8027
8028 * c-decl.c (finish_incomplete_decl): Don't call complete_array_type
8029 for 'extern' arrays.
8030
3392dafc
RH
80312000-09-05 Richard Henderson <rth@cygnus.com>
8032
8033 * config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
8034 Eliminate final copy from non-trapping case.
8035 (__divdf3, __divsf3): Likewise.
8036
2a7ffc85
RH
80372000-09-05 Richard Henderson <rth@cygnus.com>
8038
8039 * config/ia64/ia64.md (mulhi3): Fix typo last change.
8040 * config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
8041
204093e6
DT
80422000-09-03 Donn Terry <donn@interix.com>, Laurynas Biveinis <lauras@softhome.net>
8043
8044 * Makefile.in: Restructure bootstrap stages to allow clean
8045 restart after failure.
8046
514f96e6
RH
80472000-09-05 Richard Henderson <rth@cygnus.com>
8048
8049 * config/ia64.md (movsi and movdi patterns): Allow moves from
8050 8-bit constants to AR registers.
8051
cf1f6ae3
RH
80522000-09-05 Richard Henderson <rth@cygnus.com>
8053
8054 * config/ia64/ia64.md (mulhi3): New.
8055
d8d7a286
RH
80562000-09-05 Richard Henderson <rth@cygnus.com>
8057
8058 * config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
8059 * config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
8060 Optimization Guide, minimum latency alternative.
8061 (__moddi3, __udivdi3, __umoddi3): Likewise.
8062 (__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
8063
a6efbece
BK
80642000-09-05 Bruce Korb <bkorb@gnu.org>
8065
0e5921e8
ZW
8066 * fixinc/fixincl.c (load_file): always read header files
8067 with sizes that are a multiple of the page size.
dc46505a 8068 & use libiberty's getpagesize for determining that.
a6efbece 8069
c0712acb
AO
80702000-09-05 Alexandre Oliva <aoliva@redhat.com>
8071
8072 * gcse.c (hash_string_1): Add prototype.
8073 * cse.c (canon_hash_string): Likewise.
8074
af7f0fde
CN
80752000-09-04 Craig Newell <CraigN@ieee.org>
8076
8077 * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
8078
4993ddc1
AS
80792000-09-04 Andreas Schwab <schwab@suse.de>
8080
8081 * Makefile.in (STAGESTUFF): Remove libgcc.
8082 (stage1-start, stage2-start, stage3-start): Copy the contents of
8083 the libgcc directory explicitly.
8084 (mostlyclean): Clean libgcc.
8085
5e640c56
AH
80862000-09-04 Andrew Haley <aph@redhat.com>
8087
8088 * dwarf2out.c: (stack_adjust_offset): New prototype.
8089
25ffb1f6
JH
8090Wed Jan 1 00:23:59 MET 1997 Jan Hubicka <jh@suse.cz>
8091
8092 * combine.c (make_extraction): Fix rtx_cost comparison to
8093 match the comment.
8094
8095Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz>
8096
0e5921e8 8097 * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
25ffb1f6
JH
8098 umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
8099 Add '*' to insn pattern name.
8100
29844fa7
JJ
81012000-09-04 Jakub Jelinek <jakub@redhat.com>
8102
8103 * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
8104 use posn - 1 to index into tokens array.
8105 (maybe_paste_with_next): Adjust caller.
8106
0d86f538
GK
81072000-09-03 Geoff Keating <geoffk@cygnus.com>
8108
bff46771
GK
8109 * invoke.texi: Document the -mvxworks option for rs6000 ELF.
8110
0d86f538
GK
8111 * config/rs6000/rs6000.h: Update various comments about XER_REGNO.
8112 (REGNO_REG_CLASS): Use symbolic register
8113 names.
8114
4e67550b
RE
81152000-09-03 Richard Earnshaw <rearnsha@arm.com>
8116
0e5921e8 8117 * arm.c (final_prescan_insn): If the form of a jump insn isn't
4e67550b
RE
8118 recognized, don't try to conditionally execute it.
8119
150f4100
DC
8120Sun Sep 3 13:10:56 2000 Denis Chertykov <denisc@overta.ru>
8121
8122 * config/avr/avr.md ("*tablejump_lib"): New pattern.
8123 (call_value_insn): Right length claculation.
8124 (call_insn): Likewise.
8125
5fecfd8d
MM
81262000-09-02 Marek Michalkiewicz <marekm@linux.org.pl>
8127
8128 * config/avr/avr-protos.h, config/avr/avr.c (unique_section,
8129 gas_output_limited_string, gas_output_ascii, output_movqi,
8130 output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
8131 out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
8132 out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
8133 ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
8134 lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
8135 out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
8136 Add "const" as needed to remove warnings.
8137
8138 * config/avr/avr.c (avr_override_options, avr_init_once,
8139 function_prologue, function_epilogue, frame_pointer_required_p,
8140 class_likely_spilled_p, order_regs_for_local_alloc,
8141 avr_address_cost, avr_ret_register): Use K&R style arguments.
8142 (initial_elimination_offset, gas_output_limited_string):
8143 Remove ATTRIBUTE_UNUSED from the used arguments.
8144 (output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
8145 Use local variables src, dest, base to access operands[].
8146 Rename reg_dest to reg_src if that's what it is.
8147 (output_movhi, output_movsisf): Optimize loading 8-bit immediate
8148 constants to LD_REGS if reg_was_0.
8149 (output_reload_insisf): Change arg 3 to insn length and set it.
8150 (out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
8151 access to 16-bit I/O register pairs.
8152 (avr_address_cost): Lower cost for the above case.
8153 (out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
8154 may be clobbered, also for LD_REGS.
8155 (adjust_insn_length): Correct insn length for iorhi3 and iorsi3
8156 with a CONST_INT.
8157
8158 * config/avr/avr.h (PTRDIFF_TYPE): Make signed.
8159
8160 * config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
8161 macro to test_hard_reg_class function.
8162 (*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
8163 for loading immediate constants to LD_REGS.
8164 (andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
8165
8166
bad3869a
MM
8167Sat Sep 2 13:58:23 2000 Marek Michalkiewicz <marekm@linux.org.pl>
8168
8169 * config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
8170 * config/avr/libgcc.S: Lost part of the previous patch.
8171
802a8181
DA
81722000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca>
8173
8174 * gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
8175 object before calling pthread_mutex_init.
8176
1a66cd67
AO
81772000-09-02 Alexandre Oliva <aoliva@redhat.com>
8178
8179 * config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
8180 config/sh/crtn.asm: New files.
8181 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
8182 (crt1.o, crti.o, crtn.o): New targets.
8183 * configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
8184 sh/t-elf.
8185 * configure: Rebuilt.
8186 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
8187 STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
8188 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
8189 Undefine for config/elfos.h to redefine.
8190 (STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
8191
81922000-09-02 Alexandre Oliva <aoliva@redhat.com>, Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
8193
8194 * config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
8195 legitimize_pic_address, output_pic_addr_const): Declare.
8196 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
8197 (PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
8198 (TARGET_SWITCHES): New switch -mprefergot.
8199 (OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
8200 (PIC_OFFSET_TABLE_REGNUM): Define.
8201 (GOT_SYMBOL_TABLE): Likewise.
8202 (LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
8203 (ENCODE_SECTION_INFO): Define.
8204 (FINALIZE_PIC): New macros.
8205 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
8206 (ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
8207 * config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
8208 (prepare_move_operands): Call emit_pic_move or
8209 emit_pic_const_move if appropriate.
8210 (output_far_jump): For PIC, use braf and output long offset.
0e5921e8 8211 (machine_dependent_reorg):
1a66cd67
AO
8212 (sh_expand_prologue): Save and initialize the PIC register.
8213 (sh_expand_epilogue): Restore it.
8214 (initial_elimination_offset): Account for it.
8215 (nonpic_symbol_mentioned_p): New function.
8216 (legitimize_pic_address): Likewise.
8217 (output_pic_addr_const): Likewise.
8218 * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
8219 (call, call_value): Use them.
8220 (GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
8221 symPLT_label2reg): New expands.
8222 * invoke.texi (SH Options): Document -mprefergot.
8223
6462bb43
AO
82242000-09-01 Alexandre Oliva <aoliva@redhat.com>
8225
8226 * rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
8227 * gcse.c (hash_string_1): New function.
8228 (hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
8229 (expr_equiv_p) <ASM_OPERANDS>: Likewise.
8230 * cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
8231 (canon_hash_string): New function.
8232 (canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
8233 (exp_equiv_p) <ASM_OPERANDS>: Likewise.
8234 (fold_rtx): Use ASM_OPERANDS accessor macros.
8235 * emit-rtl.c (copy_insn_1): Likewise.
8236 * integrate.c (copy_rtx_and_substitute): Likewise.
8237 * stmt.c (expand_asm_operands): Likewise. Give an
8238 ASM_OPERANDS rtx the mode of the output reg being set from it.
8239
1b4f90cd
FF
82402000-09-01 Fred Fish <fnf@be.com>
8241
8242 * fix-header.c (write_rbrac): Add putc and getc to list of
8243 functions to protect against prior definition as a macro.
0e5921e8 8244
3c786c69
JM
82452000-09-01 Joseph S. Myers <jsm28@cam.ac.uk>
8246
8247 * c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
8248 (c_size_type_node): Define.
8249 * c-decl.c (init_decl_processing): Initialize c_size_type_node.
8250 * c-common.c (enum format_lengths, enum format_std_version,
8251 format_length_info, format_type_detail, BADLEN, NOLENGTHS,
8252 format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
8253 T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
8254 T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
8255 T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
8256 TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
8257 format_types): Define.
8258 (format_char_info, print_char_table, scan_char_table,
8259 time_char_table): Rearrange for new organization of information
8260 about format length modifiers and standard versions.
8261 (T_ST): Redefine to use c_size_type_node.
8262 (check_format_info): Obtain information about length modifiers and
8263 standard versions from tables. Adjust warning message wordings.
8264 Use the name from the user's program for `ll' and `hh' length
8265 modifiers in warning messages. Use more informative names for
8266 wanted types where available (for wchar_t, wint_t, size_t, signed
8267 size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
8268
8a09bb27
JW
82692000-09-01 Jim Wilson <wilson@cygnus.com>
8270
ca3920ad
JW
8271 * calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
8272 * combine.c (distribute_notes): Handle REG_NORETURN.
8273 * rtl.c (reg_note_name): Add REG_NORETURN.
8274 * rtl.h (enum reg_note): Likewise.
8275
8276 * config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
8277 ia64_file_start.
8278 * config/ia64/ia64.c (emit_safe_across_calls): Likewise.
8279 (rtx_needs_barrier): Handle unspec_volatile 8 and 9.
8280 (emit_predicate_relation_info): Handle conditional calls with
8281 REG_NORETURN.
8282 * config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
8283 instead of ia64_file_start.
8284 * config/ia64/sysv4.h (ASM_FILE_START): Likewise.
8285 * config/ia64/ia64.md (safe_across_calls_all,
8286 save_across_calls_normal): New patterns.
8287
8a09bb27
JW
8288 * loop.c (check_final_value): Check for biv use before checking for
8289 giv use. Check for both biv and giv uses. Always set last_giv_use
8290 if there is a giv use.
8291
11a13704
RH
82922000-09-01 Richard Henderson <rth@cygnus.com>
8293
8294 * config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
8295 (madddi3): Likewise.
8296 (maddsi3): New.
8297
6324d2bb
RK
8298Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8299
fcf1b822
RK
8300 * expr.c (clear_storage): Don't use emit_move_insn unless
8301 either BLKmode or proper size.
8302 (store_constructor): Don't call clear_storage if REG of wrong size.
8303
6324d2bb
RK
8304 * flow.c (init_propagate_block_info): Don't mark frame dead at end
8305 of function if returns wiht stack pointer depressed.
8306
1ba5ae8f
AH
83072000-09-01 Andrew Haley <aph@redhat.com>
8308
0e5921e8
ZW
8309 * dwarf2out.c (stack_adjust_offset): New function.
8310 (dwarf2out_stack_adjust): Break out stack adjust logic into
8311 new stack_adjust_offset function. Look inside parallels and
8312 sequences for stack adjustments.
1ba5ae8f 8313
893f3d5b
JL
83142000-08-31 Jeff Law <law@cygnus.com>
8315
94c51f7a
JL
8316 * arm.md: Use no_new_pseudos to determine when it is safe
8317 to create new pseudo registers.
8318
0e5921e8
ZW
8319 * arm.c (legitimize_pic_address): Use no_new_pseudos to determine
8320 when we can safely allocate new registers.
893f3d5b 8321
1b3d8f8a
GK
83222000-08-31 Geoffrey Keating <geoffk@cygnus.com>
8323
8324 * stmt.c (expand_asm_operands): Twiddle generating_concat_p
8325 so that CONCATs are not generated for ASMs.
8326 * emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
8327 not generating_concat_p.
8328 * function.c (pop_function_context_from): Reset
8329 generating_concat_p.
8330 (prepare_function_start): Likewise.
8331 * rtl.c (generating_concat_p): Define.
8332 * rtl.h (generating_concat_p): Declare.
8333 * toplev.c (rest_of_compilation): No CONCATs after RTL generation.
8334
4e8bd75f 83352000-08-22 Philipp Thomas <pthomas@suse.de>
0e5921e8 8336 Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
4e8bd75f
PT
8337
8338 * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
8339 for translation.
8340
b145ee27
GM
83412000-08-30 Greg McGary <greg@mcgary.org>
8342
8343 * Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
8344 * fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
8345 * fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
8346
2afaa41c
GM
83472000-08-30 Greg McGary <greg@mcgary.org>
8348
8349 * tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
8350 (TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
8351 (TREE_INT_CST): New macro.
8352 * varasm.c (const_hash, compare_constant_1, record_constant_1):
8353 Use new macro TREE_INT_CST.
8354
1d92b3e1
NB
8355Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net>
8356
8357 * contrib.texi: Add self.
8358
b23ca156
AO
83592000-08-30 Alexandre Oliva <aoliva@redhat.com>
8360
8361 * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
8362 (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
8363 and labels.
8364
aef9fbbf
DA
83652000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
8366
8367 * fixinc/gnu-regex.c: Don't define `const'.
8368
85f3d674
RK
8369Tue Aug 29 22:09:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8370
8371 * expr.c (store_constructor): Allow variable bounds of array type.
8372 (expand_expr): Don't blow up if type is ERROR_MARK.
8373 * varasm.c (output_constructor): Don't access lower bound of array
8374 type unless need it if index is supplied (so it can be a variable
8375 if no index is supplied).
8376 Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
8377 Other minor cleanups.
8378
5b67ad6f
DA
83792000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
8380
8381 * Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
8382 for compilations in stage 1 and subsequent stages, respectively.
8383 * configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
8384 * configure: Rebuilt.
8385 * x-vax, x-vax-gcc: Deleted.
8386
63ad61ed
ZW
83872000-08-29 Zack Weinberg <zack@wolery.cumb.org>
8388
8389 * c-common.c (declare_function_name): Use func_id_node,
8390 function_id_node, and pretty_function_id_node. Do not make
0e5921e8 8391 __func__ visible at file scope.
63ad61ed
ZW
8392 * c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
8393 CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
8394 (function_id_node, pretty_function_id_node, func_id_node): New
8395 macros.
8396 * c-decl.c (init_decl_processing): Initialize function_id_node,
8397 pretty_function_id_node, and func_id_node.
8398 (c_make_fname_decl): Correct comment.
8399
8400 * tree.h (struct tree_identifier): Constify pointer member.
8401
8402 * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
8403 * c-pragma.h (struct weak_syms): Constify name and value members.
0e5921e8 8404 (add_weak): Constify arguments.
63ad61ed
ZW
8405
8406 * calls.c (special_function_p): Constify a char *.
8407 (expand_call): Remove variable which is initialized and then
8408 never used.
8409 * dependence.c (struct def_use, struct induction, struct subscript):
8410 Constify 'variable' member.
8411 (get_low_bound, have_induction_variable): Constify char * argument.
8412 (find_induction_variable): Add braces to avoid dangling else.
8413 (classify_dependence): Constify char * arrays.
8414 * profile.c (output_func_start_profiler): Constify a char *.
8415 * stor-layout.c (finalize_record_size): Constify a char *.
8416 * tree.c (is_attribute_p): Constify a char *.
8417 * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
8418
8419 * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
8420 for comprehensibility. Do not call get_identifier if we did
8421 not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to
8422 create temporary string constants, not ggc_alloc_string. No
8423 need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const
8424 char * to hold IDENTIFIER_POINTERs.
8425
cee58bc0
RH
84262000-08-29 Richard Henderson <rth@cygnus.com>
8427
8428 * config/ia64/ia64.md (muldi3): Use grfr_register_operand
8429 for the inputs.
8430
94aaab7a
RH
84312000-08-29 Richard Henderson <rth@cygnus.com>
8432
8433 * reload.c (push_secondary_reload): Allow class == reload_class
8434 if we're using a reload_in/out pattern.
8435
60a3c181
RH
8436 * config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use
8437 the half that does not conflict with the reload register.
8438 (reload_outti): Likewise.
8439
9218435e
KH
84402000-08-29 Kazu Hirata <kazu@hxi.com>
8441
4381f7c2
KH
8442 * reload.c: Fix formatting.
8443
8444 * stmt.c: Fix formatting.
8445
9218435e
KH
8446 * gcc.c: Fix formatting.
8447
fba0bfd4
ZW
84482000-08-29 Zack Weinberg <zack@wolery.cumb.org>
8449
8450 * flags.h (time_report, mem_report): New global flags.
8451 * toplev.c: Define time_report and mem_report.
8452 (f_options): Add -ftime-report and -fmem-report.
8453 (compile_file): Turn on time_report if quiet_flag is off.
8454 Call ggc_print_statistics at very end if mem_report is on.
8455 * timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
8456
8457 * ggc-common.c (ggc_print_statistics): Rename to
8458 ggc_print_common_statistics; all callers changed. Scale
8459 quantities above 10K to kilobytes and above 10M to megabytes.
8460 * ggc-page.c (ggc_page_print_statistics): Rename to
8461 ggc_print_statistics. Report memory consumed by internal data
8462 structures for each allocation bucket. Scale quantities above
8463 10K to kilobytes and above 10M to megabytes.
8464 * ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
8465 Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
8466 Define tally_leaves always.
8467 (ggc_print_statistics): New function.
8468 * ggc.h: Adjust for renamed functions.
8469
612105a6
DC
8470Wed Aug 30 00:11:42 2000 Denis Chertykov <denisc@overta.ru>
8471
8472 * config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
8473 output_movsisf instead of which_alternative.
8474
8475 * config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
8476
6bec29c9
DC
8477Tue Aug 29 22:29:58 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
8478
8479 * config/avr/avr-protos.h: (avr_output_ascii) Removed.
8480 (avr_progmem_p): New prototype.
8481 (output_movsisf): Prototype declaration changed.
8482 (output_movqi): New prototype.
8483 (output_movhi): New prototype.
8484 (call_insn_operand): Likewise.
0e5921e8 8485 (final_prescan_insn): Likewise.
6bec29c9
DC
8486 (avr_simplify_comparision_p): Likewise.
8487 (avr_normalize_condition): Likewise.
8488 (compare_eq_p): Likewise.
8489 (out_shift_with_cnt): Likewise.
8490 (const_int_pow2_p): Likewise.
8491 (output_reload_inhi): Prototype declaration changed.
8492
8493 * config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
8494 (ldi_reg_rtx): New. rtx for r31.
8495 (avr_init_stack): Initialize as "__stack".
8496 (function_prologue): Use it.
8497 Replace all TARGET_ENHANCED with AVR_ENHANCED.
8498 (avr_mcu_name): Initialize as "avr2".
8499 (avr_enhanced_p, avr_mega_p): New variables.
8500 (mcu_types, avr_override_options): Handle all known MCU types.
8501 Also handle avr1 (only preprocess, assemble and link).
8502 (print_operand): Using of `%K' in output template removed.
8503 (out_movqi_r_mr): Optimized.
8504 (out_movhi_r_mr): Likewise.
8505 (output_movqi): New function.
8506 (output_movhi): Likewise.
8507 (out_movsi_r_mr): Optimized.
8508 (output_movsisf): Compute insn length for `adjust_insn_length'
8509 (out_movqi_mr_r): Optimized.
8510 (out_movhi_mr_r): Optimized.
8511 (adjust_insn_length): Use output_movsisf, output_movqi,
8512 output_movhi for insn length adjusting.
8513 (reg_unused_after): Use dead_or_set_p.
8514 (preferred_reload_class): Now havn't any restriction.
8515 (reg_was_0): New function.
8516 (io_address_p): Likewise.
8517 (const_int_pow2_p): Likewise.
8518 (output_reload_inhi): Likewise.
8519 (output_reload_insisf): Likewise.
8520
8521 * config/avr/avr.h (MULTILIB_DEFAULTS): Define.
8522 (LIB_SPEC): Use -lc for all supported devices.
8523 (LIBGCC_SPEC): Use -lgcc for all supported devices.
8524 (AVR_MEGA): Define as avr_mega_p.
8525 (AVR_ENHANCED): New, define as avr_enhanced_p.
8526 (TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
8527 (CPP_SPEC, LINK_SPEC): Handle all known MCU types.
8528 (CRT_BINUTILS_SPECS): Handle all known MCU types.
8529 Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
8530 (EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
8531 (ASM_SPEC): Pass -mmcu=... to the assembler.
8532 Change all -DAVR_* to -D__AVR_*__.
8533 (INIT_TARGET_OPTABS), config/avr/libgcc.S:
8534 Rename library functions to start with two underscores.
8535 (ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
8536 alignment.
8537 (ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
8538 (SUPPORTS_WEAK): Likewise.
8539 (LDI_REG_REGNO): New. Register r31 will be used as temporary
8540 register for loading constants to r0-r14.
8541
8542 * config/avr/avr.md: Replace all TARGET_ENHANCED with
8543 AVR_ENHANCED.
8544 (*mov_r_sp): Removed. Handled by output_movhi.
8545 (*mov_sp_r): Likewise.
8546 (*mov_sp_r_no_interrupts): Likewise
8547 (*mov_sp_r_tiny): Likewise.
8548 (*movqi): Use output_movqi.
8549 (*reload_inqi): New.
8550 (*movhi): Use output_movhi.
8551 (*reload_inhi): New.
8552 (*negsi2): Optimized.
8553 (*negsf2): Likewise.
8554 Added peepholes (define_peephole2) for loading constants to r0-r14
8555 and for using `cpse' command.
8556
8557 * config/avr/libgcc.S: Rename library functions to start with two
8558 underscores.
8559 Add support for enhanced core.
8560 (_moqhi3): Fix typo, now _modqi3.
8561 (__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
8562 (__prologue_saves__): Remove test for stack adjust by 0.
8563 (__tablejump__): New.
8564
8565 * config/avr/t-avr: Build libgcc2 with -mcall-prologues.
8566 Add multilib support.
8567
20bd7bfa
JW
8568Tue Aug 29 15:17:54 EDT 2000 John Wehle (john@feith.com)
8569
8570 * loop.c (prescan_loop): Don't check unknown_address_altered
8571 when deciding if insert_loop_mem is safe. Add BLKmode MEMs
8572 to loop_store_mems as necessary.
8573 (loop_invariant_p): Don't check unknown_address_altered
8574 or unknown_constant_address_altered.
8575
76f941a8
DA
85762000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
8577
8578 * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
8579
2c8f0515
ZW
85802000-08-29 Zack Weinberg <zack@wolery.cumb.org>
8581
8582 * cpperror.c (print_file_and_line): If line is (unsigned int)-1,
8583 print just the filename.
8584 * cpplex.c (_cpp_run_directive): Add additional argument, the
8585 name to give the synthetic buffer. This defaults to
8586 translated "<command line>".
8587 * cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
8588 Adjust to match.
8589 (_cpp_define_builtin): New function.
8590 * cppinit.c (initialize_builtins): Use _cpp_define_builtin.
8591 * cpphash.h: Update prototypes.
8592
8593 * tradcpp.c (main): Process -D and -U simultaneously, in the
8594 order they appeared on the command line.
8595
6ad79f1b
KG
85962000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8597
8598 * c-decl.c (define_label): Call warning_with_file_and_line and
8599 error_with_file_and_line instead of plain warning or error.
8600
8601 * c-parse.in (label): Use save_filename/save_lineno to ensure
8602 correct values for calls to define_label.
8603
4361b41d
MM
86042000-08-29 Mark Mitchell <mark@codesourcery.com>
8605
8606 * calls.c (expand_call): Don't create a VAR_DECL just to throw it
8607 away.
8608 * expr.c (expand_expr, case TARGET_EXPR): Don't call
8609 mark_addressable.
8610 * tree.h (get_file_function_name): Remove two duplicate
8611 declarations.
8612
abf9af02
KH
86132000-08-28 Kazu Hirata <kazu@hxi.com>
8614
dc478a5d
KH
8615 * tree.c: Fix formatting.
8616
abf9af02
KH
8617 * xcoffout.c: Fix formatting.
8618
5f632b5e
JM
86192000-08-28 Jason Merrill <jason@redhat.com>
8620
8621 * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
8622
86232000-08-28 Daniel Berlin <dberlin@redhat.com>
8624
8625 * dwarf2out.c (dwarf2out_finish): Don't bother calling
8626 break_out_includes if it won't do anything.
8627
38323cc3
RH
86282000-08-28 Richard Henderson <rth@cygnus.com>
8629
8630 * reload.c (push_secondary_reload): Revert 2000-08-16 change.
8631 (find_reloads): Likewise.
8632 * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
8633 (reload_inhi): Likewise.
8634
e1ff012c
RH
86352000-08-28 Richard Henderson <rth@cygnus.com>
8636
8637 * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
8638 (call_insn_operand): Don't expect a surrounding mem.
8639 (constant_call_address_operand): Likewise.
8640 * config/i386/i386.h (PREDICATE_CODES): Update.
8641 * config/i386/i386.md (call patterns): Move the match_operand
8642 for the call destination inside the mem.
8643
c2cba7a9
RH
86442000-08-28 Richard Henderson <rth@cygnus.com>
8645
8646 * local-alloc.c (requires_inout): Don't use reserved range for
8647 EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
8648 * recog.c (asm_operand_ok): Likewise.
8649 (preprocess_constraints, constrain_operands): Likewise.
8650 * regclass.c (record_reg_classes): Likewise.
8651 * reload.c (find_reloads): Likewise.
8652 * reload1.c (maybe_fix_stack_asms): Likewise.
8653 (reload_cse_simplify_operands): Likewise.
8654 * stmt.c (expand_asm_operands): Likewise.
8655
8656 * md.texi: Update constraints documentation.
8657 * tm.texi (EXTRA_CONSTRAINT): Update.
8658
5f632b5e
JM
86592000-08-28 Daniel Berlin <dberlin@redhat.com>
8660
8661 * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
8662 (print_die): If we don't know the offset of the
8663 target die, try the symbol. Add a trailing newline.
8664 (reverse_all_dies): New fn.
8665 (dwarf2out_finish): Call it.
8666 (break_out_includes): Reorganize for clarity.
8667 (add_sibling_attributes): Don't call reverse_die_lists.
8668 (output_comp_unit): Rename from output_comdat_comp_unit. Use for
8669 primary CU, too.
8670 * flags.h: Add flag_eliminate_dwarf2_dups.
8671 * toplev.c (f_options): Support -feliminate-dwarf2-dups.
8672
5de0e8d4
JM
86732000-08-28 Jason Merrill <jason@redhat.com>
8674
5f632b5e
JM
8675 * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
8676 * dwarf2out.c: #include "md5.h".
8677 (DIE_LABEL_PREFIX): New macro.
8678 (dw_val_struct): Add 'external' flag to val_die_ref.
8679 (add_AT_die_ref, AT_ref): Adjust.
8680 (AT_ref_external, set_AT_ref_external): New fns.
8681 (build_abbrev_table): Call set_AT_ref_external.
8682 (value_format): Call AT_ref_external.
8683 (die_struct): Add die_symbol field.
8684 (new_die): Clear it.
8685 (dwarf_tag_name): Handle BINCL/EINCL.
8686 (dwarf2out_start_source_file): Add BINCL DIE.
8687 (dwarf2out_end_source_file): Add EINCL DIE.
8688 (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
8689 (loc_checksum, attr_checksum, die_checksum): New fns.
8690 (is_type_die, is_comdat_die, is_symbol_die): New fns.
8691 (compute_section_prefix, assign_symbol_names): New fns.
8692 (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
8693 (output_die): Call output_die_symbol and AT_ref_external.
8694 (output_comdat_comp_unit): New fn, split out from...
0e5921e8 8695 (dwarf2out_finish): ...here. Also call add_sibling_attributes for
5f632b5e
JM
8696 secondary CUs.
8697 (output_pubnames, output_aranges): Abort if we see entries from
8698 secondary CUs.
8699 * toplev.h: Declare file_name_nondirectory.
8700 * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
8701 (rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
8702 (debug_start_source_file): Call dwarf2out_start_source_file
8703 regardless of debug verbosity.
8704 (debug_end_source_file): Similarly.
8705 * tree.h: Declare clean_symbol_name.
8706 * tree.c (clean_symbol_name): Split out from...
8707 (get_file_function_name_long): ...here.
8708
5de0e8d4
JM
8709 * dwarf2out.c (new_loc_descr): Use calloc.
8710 (splice_child_die): Remove the die from the right parent.
8711 (gen_struct_or_union_die): Don't add AT_name to a specification DIE.
8712
04324727
RK
8713Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8714
8715 * toplev.c (decode_g_option): Don't give warning for unknown -g
8716 option; return 0 instead.
8717 (main): If -g option is not recognized by front end or
8718 language-independent code, give warning.
8719
9e3e266c
GM
87202000-08-28 Greg McGary <greg@mcgary.org>
8721
8722 * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
8723 * config/i386/i386.c (ix86_expand_compare): Remove `static'.
8724 * config/i386/i386.md (trap, conditional_trap): New insn & expand.
8725
a0bff95f
GM
87262000-08-27 Greg McGary <greg@mcgary.org>
8727
8728 * cpplex.c (parse_string): Don't look for backslash
8729 before first char in `namebuf'.
8730 * loop.c (strength_reduce): Skip NOTEs.
8731
edb4c415
JM
87322000-08-27 Jason Merrill <jason@redhat.com>
8733
8734 * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
8735 DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or
8736 TREE_ASM_WRITTEN, either.
8737 (finish_decl): Adjust.
8738
6e88e75c
PT
87392000-08-28 Philipp Thomas <pthomas@suse.de>
8740
8741 * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
8742 they have been incorporated into the gettext CVS. Change the text to
8743 reflect the current status of NLS. Add instructions for accessing
8744 the gettext CVS and add the patch from Martin v. Loewis.
8745
e53ca51f
GK
87462000-08-27 Geoff Keating <geoffk@cygnus.com>
8747
8748 * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
8749 by using gen_lowpart_common.
8750 (movdi_internal64+6): Likewise.
8751
a0a6fdc8
AO
87522000-08-26 Alexandre Oliva <aoliva@redhat.com>
8753
1b2dd04a
AO
8754 * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
8755 Document.
8756
a0a6fdc8
AO
8757 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
8758 numbers to the ranges used by GDB.
8759
26a110f5
RH
87602000-08-25 Richard Henderson <rth@cygnus.com>
8761
8762 * config/ia64/ia64.h (struct machine_function): Add n_varargs.
8763 * config/ia64/ia64.c (ia64_compute_frame_size): Use it.
8764 (ia64_expand_prologue): Likewise.
8765 (ia64_setup_incoming_varargs): Set it. Properly skip the current
8766 argument for stdargs.
8767
ecff20d4
JM
87682000-08-25 Jason Merrill <jason@redhat.com>
8769
8770 * integrate.c (expand_inline_function): Pull out the original decl.
8771
caa511fd
JW
87722000-08-25 Jim Wilson <wilson@cygnus.com>
8773
d51ff7cb
JW
8774 * cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
8775
caa511fd
JW
8776 * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
8777
9a56f4f6
GM
87782000-08-25 Greg McGary <greg@mcgary.org>
8779
8780 * flow.c (dump_edge_info): Use ARRAY_SIZE.
8781 * config/alpha/alpha.c (alpha_expand_block_move): Likewise.
8782
31448271
RE
87832000-08-25 Richard Earnshaw <rearnsha@arm.com>
8784
8785 * arm.h (STRUCT_VALUE): Define to 0, not NULL.
8786
b949ea8b
JW
8787Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com)
8788
8789 * i386.c (ix86_find_base_term): New.
8790 * i386-protos.h (ix86_find_base_term): Prototype.
8791 * i386.h (FIND_BASE_TERM): Define.
8792 * alias.c (find_base_term): Use it.
8793 * tm.texi (FIND_BASE_TERM): Document it.
8794
8795 * alias.c (true_dependence, write_dependence_p): Unchanging
8796 memory can't conflict with non-unchanging memory.
8797
8798 * alias.c (memrefs_conflict_p): A BLKmode reference
8799 to a symbol (or CONST_INT address) always conflicts
8800 with a reference to another symbol.
8801
343b7260
JM
88022000-08-25 Joseph S. Myers <jsm28@cam.ac.uk>
8803
8804 * c-common.c (time_char_table): Don't allow width and flags with
8805 "z" format.
8806
1f9124e4
JJ
88072000-08-25 Jakub Jelinek <jakub@redhat.com>
8808
8809 * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
8810 way as LT and LTU when the second operand has 0 in low word.
8811
6057c0e6
MH
88122000-08-26 Michael Hayes <mhayes@cygnus.com>
8813
135ebc36
MH
8814 * basic-block.h (struct loop): Rename `exits' field to
8815 `exit_edges'. Add `entry_edges' and `num_entries' fields.
8816
8817 * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
8818 (flow_loop_entry_edges_find): Add.
8819 (flow_edge_list_print): Rename from flow_exits_print.
8820 (flow_loops_find): Call flow_loop_entry_edges_find.
8821 (flow_loop_dump): Dump entry_edges list.
8822 (flow_loops_free): Free entry_edges.
0e5921e8 8823
135ebc36 88242000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 8825
6057c0e6
MH
8826 * loop.c (loop_dump_aux, debug_loop): New functions.
8827 (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
8828
8829 * flow.c (flow_loops_dump): Add callback parameter.
8830 (flow_loop_dump): Add callback parameter and call it. Move
8831 loop note debugging code to loop_dump_aux.
8832
8833 * basic-block.h (flow_loop_dump): Add callback parameter
8834 (flow_loops_dump): Likewise.
8835
8836 * toplev.c (rest_of_compilation): Add NULL callback function pointer
8837 to call to flow_loops_dump.
0e5921e8 8838
028fc6e7
MH
88392000-08-26 Michael Hayes <mhayes@cygnus.com>
8840
8841 * loop.c (count_loop_regs_set): Replace start and end arguments
8842 with loop argument. All callers udated.
0e5921e8 8843
371502a8 88442000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 8845
371502a8
MH
8846 * loop.c (constant_high_bytes): Delete.
8847
e375c819
MH
88482000-08-26 Michael Hayes <mhayes@cygnus.com>
8849
8850 * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
8851 and NOTE_INSN_LOOP_VTOP to...
8852 (find_and_verify_loops) ...here.
8853
036cfb36
AO
8854Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com>
8855
8856 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
8857 (fini_dummy, init_dummy): Use it.
8858
c2e20542
NB
8859Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net>
8860
8861 * cpplex.c (is_macro_disabled): Caller has already checked
8862 that we're not a preprocessed file.
8863
83bab8db
MM
88642000-08-24 Mark Mitchell <mark@codesourcery.com>
8865
8866 * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
8867 (c-iterate.o): Remove target.
8868 * gcc/c-common.h (enum rid): Remove RID_ITERATOR.
8869 * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
8870 (finish_decl): Don't handle iterators.
8871 (grokdeclarator): Likewise.
8872 * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
8873 * gcc/c-gperf.h: Regenerated.
8874 * gcc/c-iterate.c: Removed.
8875 * gcc/c-lex.c (init_lex): Don't handle iterators.
8876 * gcc/c-parse.in (primary): Remove pop_iterator_stack call.
8877 (compstmt_primary_start): Remove push_iterator_stack call.
8878 (stmt): Don't allow iterator statements. Replace iterator_expand
8879 with expand_expr_stmt.
8880 (all_iter_stmt): Remove.
8881 (all_iter_stmt_simple): Likewise.
8882 (all_iter_stmt_with_decl): Likewise.
8883 * gcc/c-tree.h (ITERATOR_P): Remove.
8884 (ITERATOR_BOUND_P): Likewise.
8885 (init_iterators): Remove declaration.
8886 (iterator_expand): Likewise.
8887 (iterator_for_loop_start): Likewise.
8888 (iterator_for_loop_end): Likewise.
8889 (iterator_for_loop_record): Likewise.
8890 (push_iterator_stack): Likewise.
8891 (pop_iterator_stack): Likewise.
8892 * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
8893 (readonly_warning): Likewise.
8894 * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
0e5921e8 8895
aee3c6b0
JW
88962000-08-24 Jim Wilson <wilson@cygnus.com>
8897
8898 * c-common.c (decl_attributes, case A_ALIGN): Revert last change.
8899 Copy type in a TYPE_DECL, just like pushdecl does.
8900
58d8c980
RH
89012000-08-24 Richard Henderson <rth@cygnus.com>
8902
8903 * toplev.c (main): Enable flag_reorder_blocks at -O2.
8904
054f5e69
ZW
89052000-08-24 Zack Weinberg <zack@wolery.cumb.org>
8906
0e5921e8 8907 * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
054f5e69
ZW
8908 asked for one page, allocate GGC_QUIRE_SIZE of them and put
8909 the extras on the free list.
8910 (release_pages): Clean up.
8911 (ggc_set_mark): Don't adjust G.allocated here...
8912 (sweep_pages): ... do it here.
8913
89142000-08-24 Zack Weinberg <zack@wolery.cumb.org>
8915
8916 * cppfiles.c (read_include_file): Rearrange initializations.
8917
0551c32d
RH
89182000-08-24 Richard Henderson <rth@cygnus.com>
8919
8920 * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
8921
8922 * config/ia64/ia64-protos.h: Update.
8923 * config/ia64/ia64.c (gr_register_operand): New.
8924 (fr_register_operand, grfr_register_operand): New.
8925 (gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
8926 (grfr_reg_or_8bit_operand): New.
0e5921e8 8927 (gr_reg_or_0_operand): Rename from reg_or_0_operand and
0551c32d
RH
8928 use gr_register_operand.
8929 (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
8930 (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
8931 (gr_reg_or_8bit_and_adjusted_operand): Likewise.
8932 (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
8933 (fr_reg_or_fp01_operand): Likewise.
8934 (not_postinc_memory_operand): New.
8935 (ia64_split_timode): Remove unused variables.
8936 (rtx_needs_barrier): Check arguments to cmpxchg.
8937 (builtin_description): Remove.
8938 (bdesc_2argsi, bdesc_2argdi): Remove.
8939 (ia64_init_builtins): Declare all builtins directly.
8940 (ia64_expand_fetch_and_op): Rewrite to be called from
8941 ia64_expand_builtin directly. Use expand_binop and co.
8942 (ia64_expand_op_and_fetch): Likewise.
8943 (ia64_expand_compare_and_swap): Likewise.
8944 (ia64_expand_binop_builtin): Remove.
8945 (ia64_expand_lock_test_and_set): New.
8946 (ia64_expand_lock_release): New.
8947 (ia64_expand_builtin): Use them.
8948 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
8949 (EXTRA_CONSTRAINT): Use it.
8950 (PREDICATE_CODES): Update.
8951 * config/ia64/ia64.md (*): Use gr_register_operand and co.
8952 (mf): Indicate that we set memory as well as use it.
8953 (fetchadd_acq_si): Show memory being modified as well.
0e5921e8 8954 (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
0551c32d
RH
8955 (val_compare_and_swap_si, val_compare_and_swap_di): Remove.
8956 (lock_test_and_set_si, lock_test_and_set_di): Remove.
8957 (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
8958 (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
8959 (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
8960 (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
8961 (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
8962 (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
8963 (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
8964 (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
8965 * config/ia64/ia64intrin.h (*): Cast result to the appropriate
8966 return type. Pretty print definitions.
8967
7c866fb5
JW
89682000-08-24 Jim Wilson <wilson@cygnus.com>
8969
8970 * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
8971 we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
8972
40e8cc95
JM
89732000-08-24 Jason Merrill <jason@redhat.com>
8974
8975 * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
8976 AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
0e5921e8 8977 (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
40e8cc95
JM
8978 get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
8979
b6a1cbae
GM
89802000-08-24 Greg McGary <greg@mcgary.org>
8981
8982 * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
8983 and extendtab within their proper array boundaries.
8984 * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
8985 for the entire array.
8986
8987 * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
8988 * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
8989 * config/avr/avr.c (order_regs_for_local_alloc): Likewise.
8990 * config/fr30/fr30.c (fr30_print_operand): Likewise.
8991 * config/i386/dgux.c (output_options): Likewise.
8992 * config/i386/dgux.h (ASM_FILE_START): Likewise.
8993 * config/m88k/m88k.c (output_options): Likewise.
8994 * config/m88k/m88k.h (ASM_FILE_START): Likewise.
8995 * config/mcore/mcore.c (mcore_output_inline_const_forced,
8996 layout_mcore_frame, handle_structs_in_regs): Likewise.
8997 * config/mips/mips.c (output_block_move): Likewise.
8998 * config/rs6000/rs6000.c (rs6000_override_options,
8999 rs6000_file_start): Likewise.
9000 * config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
9001 * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
9002 * fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
9003 * builtins.c (expand_builtin_setjmp): Likewise.
9004 * expr.c (safe_from_p): Likewise.
9005 * flow.c (life_analysis): Likewise.
9006 * fold-const.c (size_int_type_wide): Likewise.
9007 * gcc.c (translate_options, init_spec, set_spec, main): Likewise.
9008 * genattrtab.c (make_length_attrs): Likewise.
9009 * genopinit.c (gen_insn): Likewise.
9010 * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
9011 * global.c (global_alloc): Likewise.
9012 * local-alloc.c (find_free_reg): Likewise.
9013 * mips-tdump.c (print_symbol): Likewise.
9014 * mips-tfile.c (parse_def, parse_input): Likewise.
9015 * reload1.c (NUM_ELIMINABLE_REGS): Likewise.
9016 * stmt.c (expand_nl_goto_receiver): Likewise.
9017 * stor-layout.c (set_sizetype): Likewise.
9018 * varasm.c (decode_reg_name): Likewise.
9019 * toplev.c (decode_f_option, decode_W_option,
9020 set_target_switch, print_switch_values): Likewise.
9021 (NUM_ELEM): Remove macro.
9022 (display_help, main): s/NUM_ELEM/ARRAY_SIZE/
9023
5b47282c
GM
90242000-08-24 Greg McGary <greg@mcgary.org>
9025
9026 * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
9027 (MAIN_NAME_P, main_identifier_node): New macros.
9028 * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
9029 * c-decl.c (start_decl, grokdeclarator, start_function,
9030 store_parm_decls, finish_function): Use MAIN_NAME_P.
9031 * config/avr/avr.c (function_prologue, function_epilogue): Likewise.
9032 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
9033 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
9034 * config/pdp11/pdp11.c (output_function_prologue): Likewise.
9035
87ae0c74
GM
90362000-08-24 Greg McGary <greg@mcgary.org>
9037
9038 * cppfiles.c (actual_directory): Don't write beyond `dir'
9039 when it contains "".
9040 * real.c (asctoeg): Stay within bounds of etens[][].
9041
b148aeaa
KG
90422000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9043
9044 * dependence.c (dependence_string, direction_string,
9045 dump_one_node, dump_node_dependence): Hide unused identifiers.
9046 (get_low_bound, normalize_coefficients): Match definition to
9047 static prototype.
9048 (get_one_coefficient): Initialize variables `value0_is_idx' and
9049 `value1_is_idx'.
9050 (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
9051 (ziv_test): Delete variable `idx', use parameter `sub' instead.
9052 (direction_merge): Avoid automatic aggregate initialization.
9053 (have_dependence_p): Use `src' not `dest' to set `src_idx'.
9054 Initialize variables `dest_idx' and `src_idx'.
9055 (end_dependence_analysis): Avoid C89 style function definition.
9056
4894ecce
JM
90572000-08-24 Joseph S. Myers <jsm28@cam.ac.uk>
9058
9059 * c-common.c (time_char_table): Don't allow width with %F.
9060 (check_format_info): Don't allow "Z" length with scanf.
9061
2ab99c46
GDR
90622000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
9063
9064 * diagnostic.c (finish_diagnostic): Define.
9065 (output_do_printf): Use wrap_text instead of output_add_string.
9066 (default_print_error_function): Avoid embedded '\n'.
9067
9068 * diagnostic.h (flush_diagnostic_buffer): Declare.
9069
335e59bd
AO
90702000-08-23 Alexandre Oliva <aoliva@redhat.com>
9071
9072 * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
9073
d9fe00bb
HPN
90742000-08-23 Hans-Peter Nilsson <hp@axis.com>
9075
9076 * Makefile.in (GCC_PASSES): Add specs.
9077
b97644fc
JW
90782000-08-23 Jim Wilson <wilson@cygnus.com>
9079
9080 * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
9081 * config/ia64/frame-ia64.c (__get_personality): Return zero if neither
9082 EHANDLER nor UHANDLER bit is set.
9083 (__get_except_table): Likewise.
9084
64a7723d
NC
90852000-08-23 Nick Clifton <nickc@redhat.com>
9086
02689e18
NC
9087 * config/arm/lib1funcs.asm: Replace upper case condition codes
9088 with lower case versions.
9089
64a7723d
NC
9090 * config/arm/arm.h (STRUCT_VALUE): Define.
9091 (STRUCT_VALUE_REGNUM): Delete.
9092
bbdac7d0
ZW
90932000-08-23 Zack Weinberg <zack@wolery.cumb.org>
9094
9095 * cpphash.h (IN_I): New flag for directive table.
9096 * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
9097 #pragma with IN_I.
9098 (_cpp_check_directive): If -fpreprocessed, execute directives
9099 marked with IN_I. Issue no warnings in this case.
9100 * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
9101
d8eceea4
JM
91022000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
9103
9104 * c-common.c (print_char_table): Allow 'I' flag with %d, %i and
9105 %u.
9106 (check_format_info): Support printf 'I' flag; warn about it with
9107 -pedantic.
9108
e04c2d6c
RE
91092000-08-23 Richard Earnshaw (rearnsha@arm.com)
9110
9111 * arm.c (arm_expand_prologue): Ensure that the stack-adjustment
9112 barrier can't be ignored by the alias analysis code.
9113
f4306baa
EZ
91142000-08-12 Eli Zaretskii <eliz@is.elta.co.il>
9115
9116 * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
9117 works inside fixincl.
9118
95d0e5f1
AO
9119Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
9120
9121 * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
9122 simplify_relational_operation() unless both operands are of
9123 VOIDmode.
9124 * cse.c (fold_rtx): Likewise.
9125
55efb413
JW
9126Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
9127
9128 * rtlanal.c (rtx_unstable_p): The pic register is stable
9129 (within one function) and the actual rtx should be used
9130 when checking the registers.
9131 (rtx_addr_can_trap_p): Pic memory addresses can't trap.
9132
9133 * alias.c (true_dependence, write_dependence_p): Fix
9134 bug in previous patch.
9135
9136 * i386.c (ix86_GOT_alias_set): New.
9137 (legitimize_pic_address): Use it.
9138
9139 * rtlanal.c (rtx_unstable_p): An unchanging MEM is
9140 only stable if its address is stable.
9141 (rtx_varies_p): An unchanging MEM can't vary if
9142 its address doesn't vary.
9143
aac625ac
KG
91442000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9145
9146 * c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
9147
62432849
DA
91482000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca>
9149
9150 * vax.h (ASM_SPEC): Pass `-J' to assembler.
9151 * x-vax-gcc: New file for bootstrapping with gcc.
dd745546 9152 * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
62432849
DA
9153 * configure.in: Use x-vax-gcc with gcc.
9154 * configure: Rebuilt.
9155
1eb994b7
R
9156Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
9157
9158 * toplev.c (rest_of_compilation): Rebuild label notes after
9159 post-reload splitting pass if new labels have been created.
9160
f6a542de
GDR
91612000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
9162
9163 * diagnostic.h (output_buffer_state): New macro.
9164 * diagnostic.c (diagnostic_for_decl, sorry,
9165 default_print_error_function, output_do_verbatim,
9166 report_diagnostic, report_problematic_module): Use it.
9167 (wrap_text): Tweak.
9168 (output_format): Use wrap_text instead of maybe_wrap_text.
9169
888e552f
NC
91702000-08-22 Nick Clifton <nickc@redhat.com>
9171
9172 * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
9173 Common code for ARM divide and modulus functions.
9174 (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
9175 ARM_DIV_MOD_BODY.
9176 (FUNC_END): New macro: Common code at the end of the division and
9177 modulo functions.
9178 (THUMB_FUNCTION_START): New macro: Common code at the start of
9179 Thumb functions.
9180 (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
0e5921e8 9181
89e43e33
KK
9182Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp>
9183
9184 * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
9185
9186 * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
9187 sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
9188 const0_rtx.
9189
7405dc37
NC
91902000-08-22 Nick Clifton <nickc@redhat.com>
9191
9192 * config/arm/lib1funcs.asm (__umodsi3): Before performing any
9193 restorative additions, test for bottom bits of IP being set,
9194 rather than relying upon the RORs not matching.
9195 (__modsi3): Ditto.
9196
9861b0c9
DE
91972000-08-22 David Edelsohn <edelsohn@gnu.org>
9198
9199 * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
60a3c181 9200 text_section() as appropriate instead of emitting text csect
9861b0c9
DE
9201 pseudo-op directly.
9202 (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
9203 (UNIQUE_SECTION): Define macro.
9204 (ASM_OUTPUT_SECTION_NAME): Define macro.
9205 * rs6000.c (rs6000_override_options): Disable -ffunction-sections
60a3c181 9206 on AIX if debugging and -fdata-sections always.
9861b0c9
DE
9207
92082000-08-22 Steven King <sxking@uswest.net>
df3a88f0
SK
9209
9210 * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
9211 machinery.
9212 (LDBL_MAX): Same here.
9213
b578dbd7
RH
92142000-08-22 Richard Henderson <rth@cygnus.com>
9215
9216 * flow.c (tidy_fallthru_edge): Update b->end properly.
9217
d061bc1e
SC
92182000-08-22 Stan Cox <scox@redhat.com>
9219
60a3c181
RH
9220 * Makefile.in (OBJS): Add dependence.o.
9221 * dependence.c: New file.
0e5921e8 9222
23d16877 92232000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca>
3cadd778 9224
d60eab50
AO
9225 * calls.c (check_sibcall_argument_overlap_1): Adjust for
9226 ARGS_GROW_DOWNWARD.
9227 (check_sibcall_argument_overlap): Likewise.
9228
23d16877
AO
92292000-08-22 Alexandre Oliva <aoliva@redhat.com>
9230
3cadd778
AO
9231 * invoke.texi (SH Options): Document -m4-nofpu,
9232 -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
9233 -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
9234
23e4d028
JM
92352000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
9236
9237 * c-common.c (check_format_info): Give the 'some locales' warning
9238 for strftime %Ey rather than the unconditional 'only last 2 digits
9239 of year' one.
9240
bc82c87c
RH
92412000-08-22 Richard Henderson <rth@cygnus.com>
9242
9243 * alias.c (init_alias_analysis): Do not register
9244 struct_value_incoming_rtx or static_chain_rtx as pointing
9245 to stack memory.
9246
7db9125f
JL
9247Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com)
9248
9249 * protoize.c (munge_compile_params): Fix typo and formatting buglets.
9250
b413d64d
GDR
92512000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
9252
9253 * diagnostic.h (report_problematic_module): Declare.
9254 * diagnostic.c (report_problematic_module): New function.
9255 (report_error_function): Tweak.
9256
c4a6c0f3
RK
9257Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9258
9259 * stmt.c (expand_goto_internal, fixup_gotos): Only check
9260 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
9261
770a7feb
RH
92622000-08-21 Richard Henderson <rth@cygnus.com>
9263
9264 * flow.c (calculate_global_regs_live): Mark frame pointer live
9265 everywhere before reload.
9266
280db205
JW
92672000-08-21 Jim Wilson <wilson@cygnus.com>
9268
9269 * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
9270 INTEL_EXTENDED_IEEE_FORMAT.
9271 (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally
9272 clear last two bytes of output FP value.
9273
94c21c17
GS
92742000-08-21 Graham Stott <grahams@cygnus.co.uk>
9275
9276 * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
9277
6315f068
JJ
92782000-08-21 Jakub Jelinek <jakub@redhat.com>
9279
9280 * unroll.c (loop_find_equiv_value): If ret is modified between
9281 insn and loop_start, ret might not be equivalent to reg.
9282
5804a754
JM
92832000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
9284
9285 * c-common.c (init_dollar_format_checking,
9286 maybe_read_dollar_number, finish_dollar_format_checking): New
9287 functions.
9288 (dollar_arguments_used, dollar_arguments_count,
9289 dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
9290 New variables.
9291 (check_format_info): Support $ formats for scanf and printf width
9292 and precision. Always increment format_chars to advance past the
9293 '*' of precision, not just when the format parameters are
9294 available to check.
9295
95adab8e
KG
92962000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9297
9298 * mips.c (block_move_loop, expand_block_move,
9299 function_arg_partial_nregs, save_restore_insns, function_prologue,
9300 mips_expand_prologue, RA_MASK): Avoid using the `U' integer
9301 constant suffix.
9302 (function_arg_advance, function_arg): Match argument to format
9303 specifier `%p'.
9304
49009afd
JL
93052000-08-21 Nix <nix@esperi.demon.co.uk>
9306
9307 * gcc.c (do_spec_1): Implement %j spec flag.
9308 Remove dead comment.
9309
9310 * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
60a3c181
RH
9311 * system.h (HOST_BIT_BUCKET): Default to "/dev/null".
9312 * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
9313 * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
49009afd 9314
60a3c181 9315 * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
49009afd
JL
9316 writable) instead of hardcoded value.
9317
9318 * toplev.c (compile_file): Output to a file even if -fsyntax-only.
9319
60a3c181
RH
9320 * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
9321 MKTEMP_EACH_FILE.
49009afd 9322
60a3c181 9323 * gcc.c (cc1_options): Do not process -o or run the assembler if
49009afd 9324 -fsyntax-only.
05a3d06e 9325 * objc/lang-spec.h: Likewise.
49009afd
JL
9326
93272000-08-21 Eli Zaretskii <eliz@is.elta.co.il>
dc13bad7
EZ
9328
9329 * fixinc/fixincl.c (fix_with_system): Pipe the output of
9330 "external" fixes through `cat', to avoid truncating the input
9331 file by redirection.
9332
cb694d2c
JJ
93332000-08-21 Jakub Jelinek <jakub@redhat.com>
9334
9335 * config/i386/i386.md (lea_general_1): Copy insn condition to split
9336 condition.
9337 (lea_general_2, lea_general_3): Likewise.
9338
cde6e684
KG
93392000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9340
9341 * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
9342 warnings to user code.
9343
9344 * c-lex.c (readescape, yylex): Likewise.
9345
9346 * c-typeck.c (store_init_value, process_init_element): Likewise
9347 (c_expand_start_case): Format.
9348
120dc6cd
MR
93492000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
9350
9351 * mips/linux.h (LINK_SPEC): Use %(endian_spec).
9352
9353 * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
0e5921e8 9354 and linker_endian_spec to endian_spec.
120dc6cd
MR
9355 (ENDIAN_SPEC): Add %{EB} and %{EL}.
9356 (LINK_SPEC): Remove %{EB} and %{EL}.
0e5921e8 9357 (ASM_SPEC): Likewise. Use %(endian_spec).
120dc6cd 9358
93e2382f
JM
93592000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
9360
9361 * c-tree.h (flag_hosted): Move declaration from here...
9362 * c-common.h (flag_hosted): ... to here.
9363 (flag_noniso_default_format_attributes): New declaration.
9364 * c-decl.c (flag_noniso_default_format_attributes): New variable.
9365 (c_decode_option): Set it appropriately for options choosing
9366 language standard variant.
9367 * c-common.c (init_function_format_info): Only provide default
9368 format attributes if flag_hosted. Only provide the gettext
9369 formats if flag_noniso_default_format_attributes. Update
9370 comments.
9371 (check_format_info): Disable treatment of %a as a scanf flag in
9372 C99 mode.
9373
f3d360aa
JM
93742000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
9375
9376 * c-common.c (scan_char_table): Add 'w' to flags for all formats
9377 except 'n'.
9378 (check_format_info): Set 'wide' for scanf format widths. Warn for
9379 a zero scanf width. Make the check for writing into a constant
9380 object at the first level of indirection; at later levels, warn if
9381 any type qualifiers are encountered.
9382
e04ca094
JL
9383Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com)
9384
e6ea3b5f
JL
9385 * reload.c (reload_inner_reg_of_subreg): New function broken out of
9386 push_reload.
9387 (push_reload): Use reload_inner_reg_of_subreg.
9388 (combine_reloads): Do not combine reloads if the input reload
9389 is a SUBREG in which the inner part will need reloading.
9390
e04ca094
JL
9391 * global.c (global_alloc): Avoid passing dumpfile argument to
9392 reload routines.
9393 * toplev.c (rest_of_compilation): Likewise.
9394 * reload.h (reload): Remove dumpfile argument. Callers changed.
9395 (debug_reload, debug_reload_to_stream): Move prototypes here.
9396 * rtl.h (reload): Remove dumpfile argument.
9397 * reload.c (debug_reload): Remove prototype.
9398 (debug_reload_to_stream): Likewise.
9399 * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
9400 instead.
9401
24805e80
GDR
94022000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
9403
9404 * diagnostic.c (context_as_prefix): Export.
9405 (need_error_newline): Remove.
9406 (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
9407 (error_module_changed, record_last_error_module,
9408 error_function_changed, record_last_error_function): New functions.
9409 (initialize_diagnostics): Default intialize
9410 lang_diagnostic_starter, lang_diagnostic_finalizer.
9411 (init_output_buffer): Tweak.
9412 (file_name_as_prefix): New function.
9413 (announce_function, default_print_error_function,
9414 report_error_function, set_diagnostic_context): Tweak.
9415
056b6841
RE
94162000-08-21 Richard Earnshaw <rearnsha@arm.com>
9417
9418 * flow.c (init_propagate_block_info): Handle SUBREG in a jump
9419 condition expression.
9420
7171b491
RH
94212000-08-20 Richard Henderson <rth@cygnus.com>
9422
9423 * flow.c (merge_blocks_nomove): Don't seek back past the bb note.
9424
3cb553b4
ZW
94252000-08-20 Zack Weinberg <zack@wolery.cumb.org>
9426
9427 * cppinit.c (cpp_init): Set global flag when called.
9428 (cpp_reader_init): Bomb out if cpp_init hasn't been called.
9429
9861b0c9 9430Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
3cb553b4 9431
60a3c181
RH
9432 * cpplex.c (cpp_scan_buffer): Move `output_line_command' just
9433 before `process_directive' so that newlines won't be missed
9434 for directives.
9435 (cpp_printf): Increment `print->lineno' when newline is emitted.
3cb553b4 9436
60a3c181
RH
9437 * cppmain.c (cb_ident): Likewise.
9438 (cb_define): Likewise.
9439 (cb_undef): Likewise.
9440 (cb_include): Likewise.
9441 (cb_def_pragma): Likewise.
9442 (dump_macros_helper): Likewise.
3cb553b4 9443
9c668921
RH
94442000-08-20 Richard Henderson <rth@cygnus.com>
9445
9446 * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
9447 assigned before a loop.
9448
9449 * config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
9450 (ashrsi3, lshrsi3): Likewise.
9451
4e1e6a01
GDR
94522000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
9453
9454 * c-lang.c: #include diagnostic.h
9455 (c_tree_printer): New function.
9456 (lang_init): Initialize lang_printer.
9457
9458 * Makefile.in (c-lang.o): Depends on diagnostic.h
9459
e2840263
GDR
94602000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
9461
9462 * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
9463
9464 * diagnostic.c (default_diagnostic_starter,
9465 default_diagnostic_finalizer): New functions.
9466 (diagnostic_for_asm, diagnostic_for_decl): Tweak.
9467 (pedwarn, pedwarn_with_file_and_line, error,
9468 error_with_file_and_line, fatal, warning,
9469 warning_with_file_and_line): Adjust call to report_diagnostic.
9470 (report_diagnostic): Rework.
9471 (set_diagnostic_context): New function.
9472
9473 * diagnostic.h (struct diagnostic_context): New data structure.
9474 (diagnostic_message, diagnostic_argument_list,
9475 diagnostic_file_location, diagnostic_line_location,
9476 diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
9477 diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
9478 (set_diagnostic_context): Declare.
9479 (report_diagnostic): Change prototype.
9480
574f7425
NB
9481Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net>
9482
9483 * fix-header.c (main): Initialize cpplib.
9484
f1e42c81
MM
94852000-08-19 Michael Meissner <meissner@redhat.com>
9486
34c9e848
MM
9487 * ifcvt.c (find_if_block): Do not assume that a THEN block has any
9488 instructions in it before checking for indirect jumps.
9489
f1e42c81
MM
9490 * ifcvt.c (find_if_block): Do not consider a THEN block that ends
9491 in a indirect jump as a potential for conditional execution.
9492
9493 * d30v.h (d30v_init_expanders): Don't declare here.
9494 * d30v-protos.h (d30v_init_expanders): Declare here with a valid
9495 prototype.
9496
9d6c2770
NB
9497Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net>
9498
9499 * cpp.texi: Add @section for assertions.
9500
e76d9acb
JW
9501Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com)
9502
9503 * loop.c (scan_loop): Use CONST_CALL_P instead of
9504 checking for REG_LIBCALL / REG_RETVAL.
9505
f49957d6
JL
9506Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com)
9507
850aac53
JL
9508 * reload1.c (reload_as_needed): Accept dumpfile argument,
9509 pass it to emit_reload_insns.
9510 (emit_reload_insns): Add new dumpfile argument. If non-null
9511 then dump the reloads for each insn into the dumpfile.
9512 (reload): Pass dumpfile to reload_as_needed.
9513
f49957d6
JL
9514 * invoke.texi: Clean up linux-gnu vs linux comments.
9515
041f25e6
RH
95162000-08-19 Richard Henderson <rth@cygnus.com>
9517
9518 * config/ia64/ia64.c (reg_or_5bit_operand): New.
9519 (ia64_depz_field_mask): New.
9520 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
9521 (PREDICATE_CODES): Update.
9522 * config/ia64/ia64.md: Update commentary.
9523 (depz_internal): New.
9524 (ashlsi3): Implement directly.
9525 (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
9526 (ashldi3): Use shladd.
9527 * config/ia64/ia64-protos.h: Update.
9528
319ea138
ZW
95292000-08-18 Zack Weinberg <zack@wolery.cumb.org>
9530
9531 * toplev.c (independent_decode_option): Always process -g.
9532 Remove third argument, now unused. Adjust caller to match.
9533
8231ad94
RH
95342000-08-18 Richard Henderson <rth@cygnus.com>
9535
9536 * combine.c (make_compound_operation): Break after creating
9537 the extraction.
9538
6e19bb38
ZW
95392000-08-18 Zack Weinberg <zack@wolery.cumb.org>
9540
9541 * cpplib.c (cpp_register_pragma_space): Just return if the
9542 namespace is already registered.
9543
477d303f
RE
95442000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com>
9545
9546 * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
9547 constant amount. Do not generate ROTL instruction.
9548
ffe51c8a
AO
9549Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com>
9550
9551 * config/sh/elf.h: Do not include sh/sh.h.
9552 * config/sh/rtems.h: Likewise.
9553 * config/sh/rtemself.h: Do not include sh/elf.h.
9554 * configure.in: Get them included with `tm_file's.
9555 * configure: Rebuilt.
9556
8845e874
AO
9557 * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
9558 * config/sh/sh.c (fpscr_set_from_mem): Use them.
9559
3f546a53
RK
9560Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9561
7d2950e5
RK
9562 * stor-layout.c (compute_record_type): Don't use mode of single
9563 field as mode of record if not integer mode of same type.
9564
a1c1fdd0
RK
9565 * regmove.c (perhaps_ends_bb_p): New function.
9566 (optimize_reg_copy_1, optimize_reg_copy_2): Call it.
9567 (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
9568 (fixup_match_1): Likewise.
9569 (fixup_match_1, combine_stack_adjustments_for_block): Add casts to
9570 avoid signed/unsigned warnings.
0e5921e8 9571
3f546a53
RK
9572 * function.c (fixup_var_refs_1, case MEM): Update CODE after
9573 updating X.
9574
61d0346d
NB
9575Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net>
9576
9577 * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
9578 (_cpp_trigraph_map): Declaration moved from cpplex.c
9579
9580 * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1
9581 instead of 256. Use consistent test for designated initializers.
9582 (cpp_init): Initialize trigraph_map.
9583 (initialize_standard_includes, parse_option): Use memcmp
9584 instead of strncmp.
9585
9586 * cpplex.c (init_trigraph_map): Remove.
9587 (trigraph_ok, trigraph_replace, lex_line): Refer to
9588 _cpp_trigraph_map.
9589
9590 * cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
9591 (do_unassert): Remove unused "next" local.
9592
9593 * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
9594
ef42b1dd
EM
95952000-08-18 Emmanuel Marty <emarty@suntech.fr>
9596
9597 * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
9598 insn.
9599
bc08aefe
RH
96002000-08-17 Richard Henderson <rth@cygnus.com>
9601
9602 * config/ia64/ia64.c (spill_restore_mem): Handle emitting
9603 the first insn in a sequence.
9604
49982682
JW
9605Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com)
9606
9607 * alias.c (true_dependence, write_dependence_p): A read
9608 involving a label_ref or the constant pool doesn't create
9609 a dependency.
9610
9611 * rtl.h (unchanging): Improve documentation.
9612
889e5964
RB
96132000-08-17 Rodney Brown <RodneyBrown@mynd.com>
9614
9615 * cse.c (insert_regs): Remove unused `regno'.
9616
dd69c71b
NB
96172000-08-17 Neil Booth <NeilB@earthling.net>
9618
9619 * (cppinit.c) merge_include_chains: Use remove_dup_dir,
9620 remove_dup_dirs. If qtail == brack, remove brack not
9621 qtail.
9622 (remove_dup_dir, remove_dup_dirs): New functions.
9623
709e9e50
NB
96242000-08-17 Neil Booth <NeilB@earthling.net>
9625
9626 * cppinit.c (cpp_cleanup): Free include dir chains.
9627 * cpplib.c (do_undef): Let _cpp_free_definition make the node void.
9628 (do_unassert): Free the assert with _cpp_free_definition.
9629 * cppmacro.c (_cpp_free_definition): Free memory allocated for
9630 assertions. Make the node a T_VOID node.
9631
e33f6253
NB
96322000-08-17 Neil Booth <NeilB@earthling.net>
9633
9634 * cppinit.c (path_include, append_include_chain):
9635 Remove 2nd parameter (struct cpp_pending *).
9636 (path_include, initialize_standard_includes, cpp_handle_option):
9637 Update callers appropriately.
9638 (cpp_handle_option): Use pend.
9639
c154ba66
NB
96402000-08-17 Neil Booth <NeilB@earthling.net>
9641
9642 * cppinit.c (sort_options): Remove, put functionality in
9643 cpp_init.
9644 (cpp_init): New.
9645 (initialize_builtins): Free memory.
9646 (cpp_start_read): Move init_IStable to cpp_init.
9647
9648 * cpplib.h (cpp_init): New prototype.
9649 * cppmain.c (main): Call cpp_init.
9650
9c82ac6b
JW
9651Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com)
9652
9653 * rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
9654 (rtx_unstable_p, rtx_varies_p): Process vectors.
9655
acd50a92
NY
96562000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
9657
9658 * config/sh/lib1funcs.asm (GLOBAL): Define. Use for all
9659 references to GLOBAL symbols. Use LOCAL where appropriate.
9660
cfedbb1f
KG
96612000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9662
9663 * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always
9664 use t-aix41 when host == target.
9665
31989264
RH
96662000-08-16 Richard Henderson <rth@cygnus.com>
9667
9668 * reload.c (push_secondary_reload): Revert last change.
9669 If we use a reload_in/out pattern, make the when the same
9670 as the primary reload.
9671 (find_reloads): Likewise.
9672
d84c5634
MH
96732000-08-16 Manfred Hollstein <manfredh@redhat.com>
9674
9675 * configure.in (libstdcxx-v3): Fix test.
9676 * configure: Regenerate.
9677
43db0363
RK
9678Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9679
9680 * calls.c (calls_function_1, expand_call): Only test
9681 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
9682 * function.c (thread_prologue_and_epilogue_insns): Likewise.
9683
853d8828
RH
96842000-08-16 Richard Henderson <rth@cygnus.com>
9685
9686 * combine.c (simplify_shift_const): Revert previous two
9687 changes. If SHIFT_COUNT_TRUNCATED, crop the shift count
9688 before the main loop.
9689
3e626beb
RH
96902000-08-15 Richard Henderson <rth@cygnus.com>
9691
9692 * combine.c (simplify_shift_const): Bound shift count when
9693 combining shifts.
9694
f507188a
RK
9695Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9696
7393c642
RK
9697 * calls.c (ECF_SP_DEPRESSED): New macro.
9698 (calls_function_1): Treat calling sp-depressed function as alloca.
9699 (emit_call_1): Don't adjust SP if calling sp-depressed function.
9700 (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
9701 If sp-depressed, ensure block saves and restores SP.
9702 * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
9703 for INTEGER_TYPE.
9704 * function.c (keep_stack_depressed): New function.
9705 (thread_prologue_and_epilogue_insns): Call it.
9706 * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
9707 to print DECL_OFFSET_ALIGN.
9708 Print no-force-blk and transparent-union flags properly.
9709 * stmt.c (expand_goto_internal): Don't restore stack if last block
9710 and function returns with sp depressed.
9711 (fixup_gotos): Likewise.
9712 (save_stack_pointer): New function, from code in expand_decl.
9713 (expand_decl): Call new function.
9714 * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
9715 (TYPE_RETURNS_STACK_DEPRESSED): New macro.
9716 (save_stack_pointer): New declaration.
9717
f507188a
RK
9718 * diagnostic.c (fatal_function): New variable.
9719 (set_fatal_function): New function.
9720 (fatal): Call it.
9721 * diagnostic.h (set_fatal_function): New declaration.
9722
56847207
WC
97232000-08-15 William Cohen <wcohen@redhat.com>
9724
9725 * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
9726 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
9727 (DWARF2_ASM_LINE_DEBUG_INFO): Defined.
9728
7791b7f9
RH
97292000-08-15 Richard Henderson <rth@cygnus.com>
9730
9731 * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
9732
f99fce0c
RE
97332000-08-15 Richard Earnshaw <rearnsha@arm.com>
9734
9735 * arm.c (arm_function_ok_for_sibcall): New function.
9736 * arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
9737 * arm.md (call expanders): Don't check here for calls that can't
9738 be sibling calls.
9739
74da3101
RE
97402000-08-15 Richard Earnshaw <rearnsha@arm.com>
9741
9742 * arm.md (splits generating cond_exec): Disable.
9743
2c210617
RE
97442000-08-15 Richard Earnshaw <rearnsha@arm.com>
9745
9746 * arm/linux-elf.h (text_section): Delete declaration.
9747
05ed98a1
RE
97482000-08-15 Richard Earnshaw <rearnsha@arm.com>
9749
9750 ARM support for unordered FP operations.
9751 * arm-protos.h (arm_comparison_operator): Declare.
9752 * arm.c (arm_comparison_operator): New function.
9753 (arm_select_cc_mode): Add unordered comparison codes.
9754 (get_arm_condition_code): Likewise.
9755 (arm_final_prescan_insn): Can't handle unordered jumps that can't
9756 be done in one insn.
9757 * arm.h (PREDICATE_CODES): Add arm_comparison_operator.
9758 * arm.md (all uses of comparison_operator): Replace with
9759 arm_comparison_operator.
9760 (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
9761 expands.
9762 (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
9763 patterns.
0e5921e8 9764
ed78c862
OP
9765Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
9766
9767 * gthr-posix.h: Conditionally include <sched.h>; include
9768 <config.h> from libobjc/.
9769
4859dd36
RH
97702000-08-14 Richard Henderson <rth@cygnus.com>
9771
9772 * config/i386/i386.c (legitimize_pic_address): Use Pmode
9773 for all CONSTs.
9774
3f622353
RH
97752000-08-14 Richard Henderson <rth@cygnus.com>
9776
9777 * configure.in (ia64-*): Set float_format for i386 long double.
9778
9779 * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
9780 as we would for i386 XFmode.
9781 (PUT_REAL): Likewise.
9782 (endian, ereal_atof, real_value_truncate): Likewise.
9783 (ereal_isneg, toe64, etens, make_nan): Likewise.
9784 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
9785
9786 * config/ia64/ia64-protos.h: Update.
9787 * config/ia64/ia64.c (general_tfmode_operand): New.
9788 (destination_tfmode_operand): New.
9789 (tfreg_or_fp01_operand): New.
9790 (ia64_split_timode): New.
9791 (spill_tfmode_operand): New.
9792 (ia64_expand_prologue): Use TFmode not XFmode.
9793 (ia64_expand_epilogue): Likewise.
9794 (ia64_function_arg): Likewise.
9795 (ia64_function_arg_advance): Likewise.
9796 (ia64_return_in_memory): Likewise.
9797 (ia64_function_value): Likewise.
9798 (ia64_print_operand): Likewise.
9799 (ia64_register_move_cost): Set GR<->FR to 5.
9800 (ia64_secondary_reload_class): Get GR for TImode memory op.
9801 * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
9802 (ROUND_TYPE_ALIGN): Remove.
9803 (LONG_DOUBLE_TYPE_SIZE): Set to 128.
9804 (INTEL_EXTENDED_IEEE_FORMAT): Define.
9805 (HARD_REGNO_NREGS): Use TFmode, not XFmode.
9806 (HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs.
9807 (MODES_TIEABLE_P): Use TFmode, not XFmode.
9808 (CLASS_MAX_NREGS): Likewise.
9809 (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
9810 (PREDICATE_CODES): Update.
9811 * config/ia64/ia64.md (movti): New.
9812 (movti_internal): Use a clobber for memory alternatives.
9813 (reload_inti, reload_outti): New.
9814 (movsfcc_astep): Predicate properly.
9815 (movdfcc_astep): Likewise.
9816 (movxf): Remove.
9817 (movtf): New.
9818 (extendsftf2, extenddftf2): New.
9819 (trunctfsf2, trunctfdf2): New.
9820 (floatditf2, fix_trunctfdi2): New.
9821 (floatunsditf2, fixuns_trunctfdi2): New.
9822 (addtf3, subtf3, multf3, abstf2): New.
9823 (negtf2, nabstf2, mintf3, maxtf3): New.
9824 (maddtf3, msubtf3, nmultf3, nmaddtf3): New.
9825 (cmptf): New.
9826 (fr_spill): Use TFmode, not XFmode.
9827 (fr_restore): Likewise.
9828 * config/ia64/lib1funcs.asm (__divtf3): New.
9829 * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
9830
e49a1d2e
KG
98312000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9832
9833 * cse.c (fold_rtx): Avoid empty body in an if-statement.
0e5921e8 9834
e49a1d2e
KG
9835 * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
9836 `U' integer constant suffix.
9837
9838 * dwarf2out.c (add_subscript_info): Avoid empty body in an
9839 else-statement.
9840
9841 * sparc/sol2.h (__enable_execute_stack): Prototype.
9842
78fbdbf7
DE
98432000-08-14 David Edelsohn <edelsohn@gnu.org>
9844
9845 * collect2.c: Remove use of AIX import file.
9846
9847 * longlong.h: Test ARCH_PWR not ARCH_POWER.
9848
9849 * rs6000.c (print_operand, case 'E'): Add else.
9850
9a89adb8
RH
98512000-08-14 Richard Henderson <rth@cygnus.com>
9852
9853 * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
9854 (movdi_symbolic): New.
9855
00e149c7
JW
98562000-08-14 Jim Wilson <wilson@cygnus.com>
9857
9858 * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
9859 to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
9860 * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
9861 to GNU as.
9862
2ee5437b
RH
98632000-08-14 Richard Henderson <rth@cygnus.com>
9864
9865 * expr.c (emit_group_load): Don't force constants into registers.
9866 Special case source already in the correct mode.
9867
57119aa9
ZW
98682000-08-14 Zack Weinberg <zack@wolery.cumb.org>
9869
9870 * configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
9871 * fixinc/inclhack.def: Likewise.
0e5921e8 9872 * fixinc/mkfixinc.sh: Likewise.
57119aa9
ZW
9873 * configure: Regenerate.
9874 * fixinc/fixincl.x: Regenerate.
9875 * install.texi: Document equivalence of linux and linux-gnu.
9876
d9f20424
R
9877Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
9878
9879 * cse.c (insert_regs): Also in REG case: When finding an invalid
9880 value, and we make a new quantity, make sure that it won't be
9881 mistaken by for a valid one by mention_regs.
9882
c8fa6556
RG
9883