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