]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Make operand numbers contiguous in four patterns.
[gcc.git] / gcc / ChangeLog
CommitLineData
c3410241
BS
12000-11-24 Bernd Schmidt <bernds@redhat.co.uk>
2
90d10fb9
BS
3 * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
4 call_value_pop_1): Make sure operand numbers are contiguous.
5
7cf5c9e1
BS
6 * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
7
ff6534ad
BS
8 * reload1.c (conflicts_with_override): New function.
9 (emit_input_reload_insns): Use it to tighten test for validity
10 of substituting into output of previous insn.
11
176f9a7b
BS
12 * haifa-sched.c (struct ready_list): New.
13 (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
14 functions.
15 (schedule_insn): Replace args READY and N_READY with a pointer to a
16 ready_list; return void. Use the new functions to access the ready
17 list. All callers changed.
18 (queue_to_ready, debug_ready_list): Likewise.
19 (schedule_block): Initialize a ready_list structure. Use new
20 functions to access it.
21 (max_priority): Remove unused variable.
22 (schedule_insn): Don't set it.
23
52a84e42
BS
24 * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
25
c3410241
BS
26 * combine.c (cant_combine_insn_p): New function.
27 (try_combine): Use it.
28
235cfbc4
BS
29 * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
30 * c-common.c (c-obstack.c): Include "obstack.h".
31 (struct reverse_tree): Delete.
32 (reverse_list, reverse_max_depth): Delete.
33 (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
34 (struct tlist, struct tlist_cache): New.
35 (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
36 (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
37 warn_for_collisions, warn_for_collisions_1, new_tlist): New
38 static functions.
39 (verify_sequence_points): Rewritten.
40 * fold-const.c (fold): Don't lose possibly important sequence
41 points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
42
58ecb5e2
RS
432000-11-24 Richard Sandiford <rsandifo@redhat.com>
44
45 * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
46 when reversing a register-to-register copy. Reversal now disabled
47 when the previous instruction has a REG_EQUIV.
48
2f401cc8
NS
492000-11-24 Nathan Sidwell <nathan@codesourcery.com>
50
51 * c-parse.in (unary_expr): Move VA_ARG from here ...
52 (primary): ... to here.
53
963a2a84
GS
542000-11-23 Graham Stott <grahams@redhat.com>
55
56 * expr.c (store_constructor): If a field is non addressable and
57 the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
58
f9b697bf
BS
592000-11-23 Bernd Schmidt <bernds@redhat.co.uk>
60
61 * flow.c (print_rtl_and_abort): New function.
62 (verify_wide_reg, verify_local_live_at_start): Try to dump more
63 information before aborting.
64
69295d6d
AO
652000-11-23 Alexandre Oliva <aoliva@redhat.com>
66
67 * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
68 is narrower than requested mode.
69 (gen_highpart): Abort if register mode is narrower than
70 requested mode.
71
99a9c946
GS
722000-11-23 Graham Stott <grahams@redhat.com>
73
74 * cse.c (cse_insn): Initialise all regcost variables.
75 Fix a typo add missing '='.
76 Only compare costs if there is a replacement insn.
77
422be3c3
AO
78Thu Nov 23 04:33:33 2000 Alexandre Oliva <aoliva@redhat.com>
79
80 * final.c (output_addr_const) [LABEL_REF]: Simplify.
81 [MINUS]: Enclose non-CONST_INTs in parentheses.
82 [default]: Try OUTPUT_ADDR_CONST_EXTRA.
83 * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
84 * varasm.c (decode_rtx_const) [CONST]: If it's not something
85 PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
86 instead of abort()ing.
87 * sh.c (output_pic_addr_const): Removed. Fixed all callers.
88 * sh.h (OUTPUT_ADDR_CONST_EXTRA): New. Handle the UNSPECs
89 formerly handled in output_pic_addr_const.
90 * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
91 operands of MINUS in CONSTs so that decode_rtx_const() will
92 accept them.
93
43c05634
AO
94Thu Nov 23 04:10:30 2000 Alexandre Oliva <aoliva@redhat.com>
95
96 * config/sh/sh.md (mova_const): New pattern.
97 (GOTaddr2picreg): Use it.
98 * config/sh/sh.c (broken_move): Match it.
99 (mova_p): Don't match it.
100 (machine_dependent_reorg): Adjust it.
101
4773afa4
AO
102Thu Nov 23 02:09:09 2000 Alexandre Oliva <aoliva@redhat.com>
103
104 * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
105 Moved most register-number #defines...
106 * config/sh/sh.md (define_constants): ... here. Use macros to
107 refer to registers and unspecs.
108 * config/sh/sh.c: Likewise.
109
9196ece5
R
110Thu Nov 23 01:01:32 2000 J"orn Rennecke <amylaar@redhat.com>
111
112 * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
113 (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
114 (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
115 (splay-tree.o, hash.o): Likewise.
116 GCONFIG_H: New.
117 (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
118 (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
119 (hashtab.o): Likewise.
120 (gcov.o): Depend on $(CONFIG_H).
121 * configure.in: #include insn-codes.h in tm.h.
122
48a08b9c
NC
1232000-11-22 Nick Clifton <nickc@redhat.com>
124
57f56af4
NC
125 * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
126 const char * to avoid a compile time warning.
127
48a08b9c
NC
128 * config/arm/arm.md (define_constants): Define symbolic names for
129 the link register, last integer register and the fake CC register.
130 Update patterns to use these symbolic names.
131
4a5b68a2
NB
1322000-11-22 Neil Booth <neilb@earthling.net>
133
134 * cpplex.c (trigraph_ok): Ensure we don't warn twice.
135 * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
136
a165f034
RH
1372000-11-22 Richard Henderson <rth@redhat.com>
138
139 * haifa-sched.c (sched_analyze_1): Don't special-case calls
140 for clobbering registers.
141 (sched_analyze_2): Likewise.
142 (sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
143
10ebf5fe 1442000-11-22 Chris Demetriou <cgd@sibyte.com>
a165f034 145 Neil Booth <neilb@earthling.net>
10ebf5fe 146
a165f034
RH
147 * gcc.c (validate_switches): Validate multiple switches named
148 in '|' (or) expressions in specs.
149 (handle_braces): If more than 1 alternative in a '|' spec
150 matches, call do_spec1 just once.
10ebf5fe 151
fb0b2546
MM
1522000-11-22 Michael Meissner <meissner@redhat.com>
153
154 * d30v.h (TARGET_SWITCHES): Add documentation strings.
155 (TARGET_OPTIONS): Ditto.
156 (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
157 -O3.
158
67d6f2fc
JL
159Wed Nov 22 06:40:56 2000 Jeffrey A Law (law@cygnus.com)
160
161 * pa.c (hppa_encode_label): Account for addition of encoding
162 character when allocating persistent space for the new label
163 name.
164
d1209685
ZW
1652000-11-22 Zack Weinberg <zack@wolery.stanford.edu>
166
167 * Makefile.in, config.gcc, configure.in: Expunge remaining
168 traces of facility for running MD files through C preprocessor.
169
c01a508e
JM
1702000-11-22 Joseph S. Myers <jsm28@cam.ac.uk>
171
172 * gcov.texi: Add magic comments for texi2pod.pl.
173 * Makefile.in: Add rules to generate and install gcov.1.
174 * gcov.1: New (generated) file.
175
a125d855
RH
1762000-11-21 Richard Henderson <rth@redhat.com>
177
178 * regrename.c (scan_rtx_reg): Terminate the chain rather than
179 abort on mark_read with NO_REGS.
180
ed311407
MS
1812000-11-21 Mike Stump <mrs@wrs.com>
182
183 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
184 compilation with older compilers, such as /bin/cc on SunOS.
185 * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
186
cac16ef9
RH
1872000-11-21 Richard Henderson <rth@redhat.com>
188
189 * varasm.c (record_constant): Pad the constructed
190 constant_descriptor appropriately.
191
c25c12b8
R
192Wed Nov 22 00:52:55 2000 J"orn Rennecke <amylaar@redhat.com>
193
194 * rtl.h (traverse_md_constants): Declare.
195 (struct md_constant): Define.
196 * Makefile.in (HOST_RTL): Add hashtab.o .
197 (OBJS): Add hashtab.o .
198 (hashtab.o): New rule.
199 (rtl.o): Depends on HASHTAB_H.
200 * rtl.c (hashtab.h): #include.
201 (md_constants): New static variable.
202 (def_hash, def_name_eq_p, read_constants): New static functions.
203 (traverse_md_constants): New function.
204 (read_name): Do constant expansion.
205 (read_rtx): Recognize define_constants.
206 * gencodes.c (print_md_constant): New function.
207 (main): Emit #defines for all constant definitions encountered.
208 * md.texi (Constant Definitions): New node.
209 * gensupport.c (xcalloc): New function.
210
f940c352
RH
2112000-11-21 Richard Henderson <rth@redhat.com>
212
213 * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
214 * config/alpha/alpha-protos.h: Declare it.
215 * config/alpha/alpha.md (abstf_internal): Use it.
216 (negtf_internal): Likewise.
217 (andnotdi3): Unstar the name.
218 (movtf_internal): Add o/G alternative.
219
dfc55970
ZW
2202000-11-21 Zack Weinberg <zack@wolery.stanford.edu>
221
222 * stringpool.c (stringpool_statistics): Also report number and
223 percentage of entries which are identifiers.
224
d1cc928a
DN
2252000-11-21 Diego Novillo <dnovillo@redhat.com>
226
227 * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
228 visited before visiting it.
229
70f24e49
NC
2302000-11-21 Nick Clifton <nickc@redhat.com>
231
232 * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
233 TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
234
235 * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
236
3fe30ff6
RH
2372000-11-21 Richard Henderson <rth@redhat.com>
238
239 * c-common.c (c_unsafe_for_reeval): New function.
240 (add_c_tree_codes): Register it.
241 * c-common.h: Declare it.
242 * tree.c (lang_unsafe_for_reeval): New hook.
243 (unsafe_for_reeval): Call it.
244 * tree.h: Declare it.
245
3adbce3d
RH
2462000-11-21 Richard Henderson <rth@redhat.com>
247
248 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
249 references as well.
250
0736a307
NB
2512000-11-21 Neil Booth <neilb@earthling.net>
252
a165f034 253 * do_includes: Revert to using cpp_read_file.
0736a307 254
52e12ad0
BS
2552000-11-21 Bernd Schmidt <bernds@redhat.co.uk>
256
847dde95
BS
257 * loop.c (consec_sets_giv): If the reg we're examining is anything
258 but UNKNOWN_INDUCT, do nothing.
259 Reset the reg's type to UNKNOWN_INDUCT before returning.
260
52e12ad0
BS
261 Mostly from Vladimir Makarov (vmakarov@redhat.com)
262 * ia64.md (attr itanium_class): Define insn types as described in
263 Itanium docs.
264 (all insn patterns): Use itanium_class, not type attributes.
265 Occasionally split alternatives as necessary.
266 (attr type): Compute from new attr itanium_class.
267
b3e2d1eb
KG
2682000-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
269
270 * tradcpp.c (output_line_command): Mark system headers as such in
271 `line' commands.
272
0faf814f
JJ
2732000-11-21 Jakub Jelinek <jakub@redhat.com>
274
275 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Sparc has .file/.loc
276 support in as as well.
277 * configure: Regenerate.
278
3aac38d7
RH
2792000-11-20 Richard Henderson <rth@redhat.com>
280
281 * c-lex.c (orig_filename): New variable.
282 (init_c_lex): Set it. Move call to cpp_start_read ...
283 (yyparse): ... here. New function.
284 * c-parse.in (yyparse_1): Rename the parser entry point.
285 * c-tree.h: Declare it.
286
6b16805e
JJ
2872000-11-21 Jakub Jelinek <jakub@redhat.com>
288
289 * expr.c (do_compare_and_jump): If op0 was replaced by promoted
290 integer constant, use type of op1 for comparison.
291
18922061
SS
2922000-11-20 Stan Shebs <shebs@apple.com>
293
294 * config/rs6000/xm-darwin.h: New file, Darwin host definitions.
295 * config/rs6000/x-darwin: New file, Darwin host fragment.
296 * config.gcc (powerpc-*-darwin*): New host.
297 * system.h (HAVE_DESIGNATED_INITIALIZERS): Allow this to be
298 overridden by a config file.
299
d63eefbf
NB
3002000-11-20 Neil Booth <neilb@earthling.net>
301
302 * cppmacro.c (paste_tokens): Rename from paste_payloads.
303 Change token type after pasting spellings.
304 (paste_all_tokens): Use it.
305 * gcc.dg/cpp/paste2.c: Update test.
306 * objc/execute/paste.m: New test.
307
21bc13c9
RH
3082000-11-20 Richard Henderson <rth@redhat.com>
309
310 * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
311 dwarf_subscr_data_formats bits.
312 * dwarfout.c (simple_type_size_in_bits): Handle a type with
313 no computed size as size zero.
314 (field_byte_offset): Likewise.
315 (subscript_data_attribute): Handle a range with no upper bound.
316
250333d0
KG
3172000-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
318
319 * gansidecl.h (const): Check __STDC__ before undef'ing `const'.
320
1d7ff272
JM
3212000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
322
323 * c-typeck.c (build_conditional_expr): When merging type
324 qualifiers for conditional expressions between a pointer and a
325 pointer to a void type, merge the qualifiers on the target types
326 rather than the pointer type. Remove obsolete conditioned out
327 code.
328
dd07b884
NB
3292000-11-20 Neil Booth <neilb@earthling.net>
330
331 * c-lang.c (lang_init_options): Update call to
332 cpp_reader_init.
333 * cppmain.c (main): Similarly.
334 * fix-header.c (read_scan_file): Similarly.
335 * cp/lex.c (lang_init_options): Similarly.
336 * objc/objc-act.c (lang_init_options): Similarly.
337 * cppexp.c (parse_number): Only warn for unextended C89.
338 * cppinit.c (set_lang): New function.
339 (cpp_reader_init): Take a LANG argument and pass it to set_lang.
340 (COMMAND_LINE_OPTIONS): New option std=c++98.
341 (cpp_handle_option): Use set_lang.
342 * cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
343 * cppib.h (enum_c_lang): New enumeration. Update comments.
344
8d50dfb8
WC
3452000-11-20 Will Cohen <wcohen@redhat.com>
346
347 * calls.c (expand_call): Clear target only when target is in
348 hard register and current_function_check_memory_usage is set.
349
bd675859
BS
3502000-11-20 Bernd Schmidt <bernds@redhat.co.uk>
351
352 * toplev.c (rest_of_compilation): Run optimize_mode_switching even
353 if not optimizing.
354 * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
355
3df18884
RH
3562000-11-19 Richard Henderson <rth@redhat.com>
357
52403abb
RH
358 * crtstuff.c (force_to_data): Use array size 1 not 0.
359
3df18884
RH
360 * dwarf2out.c (simple_type_size_in_bits): Handle a type with
361 no computed size as size zero.
362 (field_byte_offset): Likewise.
363
cfd1c7ea
JM
3642000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
365
366 * config.gcc: Fix another typo.
367
a25f1211
RH
3682000-11-19 Richard Henderson <rth@redhat.com>
369
370 * c-decl.c (grokdeclarator): Support flexible array members.
371 Use open-ended ranges for these and zero-length arrays.
372 * c-typeck.c (push_init_level): Validate the context of
373 initialization of a zero-length array.
374 * tree.c (int_fits_type_p): Be prepared for missing bounds.
375 * varasm.c (array_size_for_constructor): New.
376 (output_constructor): Use it for arrays of unspecified length.
377 * extend.texi (Zero Length): Mention C99 flexible array members.
378 Document initialization in a top-level struct as valid.
379
65fa2185
JM
3802000-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
381
9e8fc4b8
JM
382 * config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
383
65fa2185
JM
384 * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
385 stdarg and varargs functions.
386
2e59adac
ZW
3872000-11-19 Zack Weinberg <zack@wolery.stanford.edu>
388
389 * gcc.c (process_command): Define 'j' variable when
390 MODIFY_TARGET_NAME is defined.
391
856442b6
RH
3922000-11-19 Richard Henderson <rth@redhat.com>
393
394 * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
395
88c1e412
FS
3962000-11-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
397
398 * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
399 calculation and allocation.
400
ce1cc601
KG
4012000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
402
403 * builtins.c (c_getstr): Constify variable.
404 * gmon-sol2.c (_mcleanup): Comment out #endif labels.
405 * conflict.c (const_conflict_graph_arc): New typedef.
406 (arc_hash, arc_eq): Avoid needlessly casting away const-ness.
407 * cppmacro.c (builtin_macro): Likewise.
408 * dwarf2out.c (output_comp_unit): Constify variable.
409 * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
410 * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
411 * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
412 away const-ness.
413 * tradcpp.c (rescan, do_line, macroexpand, macarg): Use
414 ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
415 * varasm.c (const_str_htab_hash, const_str_htab_eq,
416 compare_constant_1, record_constant_1): Constify.
417
967e627a
RH
4182000-11-18 Richard Henderson <rth@redhat.com>
419
420 * c-decl.c (grokdeclarator): Special case the creation of an
421 index for a zero-length array.
422 * tree.c (build_index_type): Revert Oct 20 change.
423
e9284adf
MM
4242000-11-18 Marek Michalkiewicz <marekm@linux.org.pl>
425
426 * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
427 * config/avr/avr.c (jump_tables_size): New variable.
428 (function_prologue): Initialize it as 0.
429 (function_epilogue): Add it to function_size.
430 (avr_output_addr_vec_elt): New function. Count words in jump
431 tables in jump_tables_size. Move code ...
432 * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
433 Call avr_output_addr_vec_elt instead.
434 * config/avr/avr.md (tablejump): Remove disabled define_expand.
435
67c72a63
MM
4362000-11-18 Mark Mitchell <mark@codesourcery.com>
437
438 * configure.in: Make --enable-new-gxx-abi the default.
439 * configure: Likewise.
440
0a8ad417
KG
4412000-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
442
443 * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
444
445 * tradcif.y: Include tradcpp.h. Constify. Make functions static.
446 Move extern function declarations to tradcpp.h.
447
448 * tradcpp.c: Likewise.
449
450 * tradcpp.h: New file.
451
77c4d6c0
JM
4522000-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
453
454 * c-decl.c (check_for_loop_decls): New function.
455 * c-parse.in (for_init_stmt): New.
456 (select_or_iter_stmt): Use for_init_stmt.
457 * c-tree.h (check_for_loop_decls): New declaration.
458
4a58aab6
NB
4592000-11-18 Neil Booth <neilb@earthling.net>
460
461 * cppinit.c: Update comments.
462 (cpp_reader_init): Make -imacro and -include use the standard
463 #include "" search path.
464 (do_includes): New function.
465
c3e2d242
BE
4662000-11-18 Ben Elliston <bje@redhat.com>
467
468 * config/sh/crt1.asm (start_l): Move PC-relative move instruction
469 out of a branch delay slot.
470
48adb36e
RH
4712000-11-17 Richard Henderson <rth@redhat.com>
472
473 * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
474 (ASM_SPEC): Disable and enable .mdebug based on -gstabs.
475 (ASM_FILE_START): Only write out ecoff .file directive if
476 emitting mdebug debugging.
477
9d147085
RH
4782000-11-17 Richard Henderson <rth@redhat.com>
479
480 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New. Detect
481 whether as accepts .file/.loc and produces dwarf2 line info.
482 * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
483 the assembler supports it.
484 * config.in, configure: Regenerate.
485
5b87e928
RH
4862000-11-17 Richard Henderson <rth@redhat.com>
487
488 * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
489
95c8e04b
JW
4902000-11-17 Jim Wilson <wilson@redhat.com>
491
492 * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
493 Don't clear need_barrier is next_insn is a CALL_INSN, or has
494 instruction type B or UNKNOWN.
495
14fbab6d
NB
4962000-11-17 Neil Booth <neilb@earthling.net>
497
a25f1211 498 * cpperror.c (print_file_and_line): Don't display line number if 0.
14fbab6d 499
a8a05998
ZW
5002000-11-17 Zack Weinberg <zack@wolery.stanford.edu>
501
502 * ggc.h: Delete ggc_add_string_root and ggc_mark_string. Add
503 digit_vector and digit_string.
504 * stringpool.c (digit_vector): New.
505 (ggc_alloc_string): Use digit_string.
506
507 * stmt.c (digit_strings): Delete.
508 (init_stmt): Do not initialize digit_strings.
509 (expand_asm_operands): Use ggc.h's digit_string macro.
510 * toplev.c (mark_file_stack): Delete.
511 (compile_file): Don't call init_tree_codes.
512 (main): No need to make the file stack a GC root.
513 * tree.c (init_tree_codes): Delete.
514 * tree.h (init_tree_codes): Delete.
515
516 * c-lex.c: Don't include ggc.h.
517 (mark_splay_tree_node, mark_splay_tree): Delete.
518 (init_c_lex): No need to ggc_strdup string constant. Don't add
519 file_info_tree to GGC roots.
520 (cb_enter_file, cb_rename_file): No need to ggc_strdup
521 ip->nominal_fname.
522
523 * Makefile.in (c-lex.o): No longer depends on $(GGC_H).
524
525 * dbxout.c (dbxout_init),
526 dwarf2out.c (dwarf2out_line),
527 ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
528 varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
529 xcoffout.c (xcoffout_source_file),
530 i386.c (load_pic_register):
531 Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
532
533 * except.c (create_rethrow_ref),
534 profile.c (init_edge_profiler),
535 toplev.c (compile_file),
536 varasm.c (named_section, assemble_static_space,
537 assemble_trampoline_template, output_constant_def, force_const_mem),
538 i386.c (load_pic_register),
539 ia64.c (ia64_encode_section_info),
540 rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
541 rs6000_emit_prologue, rs6000_emit_epilogue),
542 rs6000.md (load_toc_aix_si, load_toc_aix_di):
543 Change ggc_alloc_string (var, -1) to ggc_strdup (var).
544
545 * profile.c (output_func_start_profiler),
546 tree.c (make_node),
547 i386.c (load_pic_register): No need to ggc_strdup string constant.
548
61ed06c3
HPN
5492000-11-17 Hans-Peter Nilsson <hp@axis.com>
550
551 * Makefile.in (config.status): Depend on config.gcc.
552 * configure.in <for machine in $build $host $target>: Move
553 contents of loop into config.gcc, removing autoconf quoting.
554 Fix changequote bug for alpha*-*-vxworks*.
555 * configure: Regenerate.
556 * config.gcc: New.
557
520a57c8
ZW
5582000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
559
560 * c-parse.in (if_prefix): Find the filename and line number at
561 $-2 and $-1 respectively.
562 * diagnostic.c (error_recursion): Add missing newline, use
563 fputs, translate string.
564
5652000-11-16 Zack Weinberg <zack@wolery.stanford.edu>
566
567 * stringpool.c: New file.
568 * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
569 (ggc_alloc_string): Now in stringpool.o.
570 * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
571 * ggc.h: Delete prototype of ggc_add_string_root. #define
572 ggc_add_string_root and ggc_mark_string to nothing. Prototype
573 init_stringpool and stringpool_statistics.
574 (ggc_alloc_string): Returns a const char *.
575 * tree.c (hash_table, do_identifier_warnings): Delete.
576 (init_obstacks): Don't initialize the identifier hash table.
577 (get_identifier, maybe_get_identifier, start_identifier_warnings,
578 set_identifier_size): Now in stringpool.c.
579 * tree.h (struct tree_string): Constify pointer field.
580 (approx_sqrt): Prototype.
581
582 * Makefile.in (stringpool.o): Add rule, mention in OBJS.
583
584 * toplev.c (approx_sqrt): New function.
585 (compile_file): Call stringpool_statistics if mem_report is on.
586 (main): Call init_stringpool.
587
588 * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
589 (process_directive), c-typeck.c (constructor_asmspec, struct
590 initializer_stack, start_init), except.c (create_rethrow_ref),
591 stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
592 (built_in_filename), varasm,c (in_named_name,
593 assemble_static_space, struct constant_descriptor, struct
594 deferred_string, struct pool_constant, force_const_mem),
595 i386.c (pic_label_name, global_offset_table_name), rs6000.c
596 (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
597
598 * c-common.c (combine_strings): Combine strings in scratch
599 buffer, then pass to build_string.
600 * optabs.c (init_libfuncs), profile.c (init_edge_profiler,
601 output_func_start_profiler), stmt.c (init_stmt), alpha.c
602 (alpha_need_linkage), arm.c (arm_encode_call_attribute),
603 i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
604 rs6000.c (rs6000_encode_section_info): Create string in
605 scratch buffer, then pass to ggc_alloc_string.
606
607 * stmt.c (expand_asm_operands): If we must adjust the
608 constraint strings, do so by creating a new one, not by
609 modifying the old one in place. Constify some char *s.
610 * config/pa/pa.c (hppa_encode_label): Drop unnecessary second
611 argument. Create string in scratch buffer, then pass to
612 ggc_alloc_string.
613 * config/pa/pa-protos.h: Update prototype.
614 * config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
615 hppa_encode_label takes only one argument.
616
dd3b81b4
KG
6172000-11-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
618
619 * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
620 malloc/realloc.
621
622 * cpplib.c (glue_header_name): Likewise.
623
624 * fixincl.c (run_compiles, start_fixer): Likewise.
625
626 * fixlib.c (load_file_data): Likewise.
627
628 * mkdeps.c (munge): Likewise.
629
5074c1fe
HPN
6302000-11-17 Hans-Peter Nilsson <hp@axis.com>
631
632 * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
633 trailing ';'. Fix formatting.
634
74fe26b2
JW
6352000-11-16 Jim Wilson <wilson@redhat.com>
636
35d9f39d
JW
637 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
638 Shift masks left by one to avoid conflict.
639
74fe26b2
JW
640 * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
641 DECL_EXTERNAL set.
642
68dfd979
NC
6432000-11-16 Nick Clifton <nickc@redhat.com>
644
645 * config/arm/arm.c (output_arm_prologue): Note nested functions.
646 (arm_expand_prologue): For nested functions preserve the
647 static chain register during stack frame creation.
648
649 * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
650 (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
651 with a stack frame there is a 4 byte gap between the arg
652 pointer and the hard frame pointer (used to preserve the
653 static chain register during stack frame creation).
654
3ab9a08f
DD
6552000-11-16 DJ Delorie <dj@redhat.com>
656
657 * rtl.c (read_rtx): Provide suitable names for unnamed
658 define_insn and define_insn_and_split patterns, based on file
659 and line numbers.
660
fe6c2db9
NB
6612000-11-15 Neil Booth <neilb@earthling.net>
662
a8a05998
ZW
663 * cpplib.c (start_directive, end_directive): New functions.
664 (_cpp_handle_directive, run_directive): Use them.
665 (_cpp_handle_directive): Don't -Wtraditional on indented
666 null directives.
667 (_cpp_push_buffer): Don't re-clear was_skipping.
668 * cpplib.h (struct cpp_reader): New member la_saved.
669 * cppmacro.c (cpp_get_token): Don't interpret _Pragma in
670 directives.
fe6c2db9 671
a8a05998
ZW
672 gcc.dg/cpp/_Pragma1.c: Update.
673 gcc.dg/cpp/_Pragma2.c: New test.
fe6c2db9 674
62136084
MM
6752000-11-15 Mark Mitchell <mark@codesourcery.com>
676
677 * toplev.c (wrapup_global_declarations): Don't write out
678 artificial static variables that aren't needed.
679
099dde21
BS
6802000-11-15 Bernd Schmidt <bernds@redhat.co.uk>
681
682 * ia64.c (struct group): New structure.
683 (last_group): New static array.
684 (group_idx): New static variable.
685 (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
686 New static functions.
687 (emit_insn_group_barriers): Initialize and keep track of group_idx
688 and last_group.
689 Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
690 Replace all calls to emit_insn_after that emit a group barrier to use
691 emit_group_barrier_after.
692 * ia64.h (MASK_B_STEP): New.
693 (other MASK_XXX macros): Renumbered.
694 (TARGET_B_STEP): New.
695 (TARGET_SWITCHES): Add -mb-step.
696
4e7b85ed
FF
6972000-11-15 Fred Fish <fnf@be.com>
698
699 * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
700 machines for which fixincludes is not needed.
701 * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
702
ee3400e8
JM
7032000-11-15 Jason Merrill <jason@redhat.com>
704
705 * diagnostic.c (finish_abort): New fn.
706 (fancy_abort, error_recursion): Use it.
707 * toplev.c (crash_signal): Likewise.
708 * diagnostic.h: Declare it.
709
12e1243e
AH
7102000-11-13 Andrew Haley <aph@redhat.com>
711
712 * tree.c (build_type_no_quals): New function.
713 * tree.h (build_type_no_quals): Declare.
714 * c-common.c (c_get_alias_set): When considering type
715 compatibility for pointer types, ignore cv-qualifiers anywhere in
716 a pointer chain.
717
695e4773
GS
7182000-11-15 Graham Stott <grahams@redhat.com>
719
720 * regrename.c (scan_rtx_rtx): Skip to the next chain on
721 encountering a terminated chain.
722
5a7c1037
MM
7232000-11-14 Mark Mitchell <mark@codesourcery.com>
724
725 * configure.in: Move check for V3 above check for C++ header-file
726 directory.
727 * configure: Regenerated.
a8a05998 728
568c5140
DD
7292000-11-14 DJ Delorie <dj@redhat.com>
730
731 * config/v850/v850.c: Remove obstacks.
732
1268b05f
MM
733Tue Nov 14 21:54:31 2000 Marek Michalkiewicz <marekm@linux.org.pl> & Denis Chertykov <denisc@overta.ru>
734
735 * config/avr/avr.c (avr_case_values_threshold): New.
736 (avr_override_options): Set it depending on options, make it large
737 when not optimizing to work around "unable to generate reloads".
738
739 * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
740 (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
741 executable if not AVR_MEGA. Make sure jump tables are word-aligned.
742 (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
743 (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
744 (avr_case_values_threshold): Declare as extern int.
745 (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
746
747 * config/avr/avr.md (tablejump): Removed.
748 (*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
749 (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
750 index in the table, not multiplied by 2.
751 (casesi): Change to match the above insns. Always enable.
752
753 * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
754 Change to expect the word address of the table, multiply it by 2
755 here and not in the caller. Change "adiw" to faster "inc".
756
7f2f1a66
NB
7572000-11-14 Neil Booth <neilb@earthling.net>
758
759 * cppexp.c (parse_defined): Call cpp_get_token not
760 _cpp_get_token.
761 (lex): Similarly.
762 * cpplex.c (cpp_output_line): Similarly.
763 * cpplib.c (glue_header_name, do_line, do_ident,
764 parse_answer, parse_assertion): Similarly.
765 (_cpp_handle_diretive): Don't save to lookaheads
766 when processing directives.
767 * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
768 _cpp_get_token.
769 (funlike_invocation_p): Don't save to lookaheads
770 when pre-expanding arguments.
771 (_cpp_get_token): Delete.
772 (cpp_get_token): Merge contents of _cpp_get_token.
773
f36d6244
JJ
7742000-11-14 Jakub Jelinek <jakub@redhat.com>
775
776 * builtins.c (expand_builtin_setjmp): Set
777 current_function_calls_setjmp.
778 (expand_builtin_longjmp): Set current_function_calls_longjmp.
779
780 * config/sparc/sparc.md (builtin_setjmp_setup): New expand.
781 (do_builtin_setjmp_setup): New insn.
782
3401c26b
RK
783Tue Nov 14 12:34:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
784
785 * tree.c (get_unwidened): Use host_integerp and tree_low_cst.
786 (int_fits_type_p): For variable bounds, call force_fit_type.
787
bd7cf17e
JJ
7882000-11-14 Jakub Jelinek <jakub@redhat.com>
789
790 * varasm.c (struct deferred_string): New structure.
791 (const_str_htab): New variable.
792 (STRHASH): New macro.
793 (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
794 constr_str_htab_eq, const_str_htab_del): New functions.
795 (output_constant_def): Add DEFER argument, defer string
796 constants until mark_constant_pool time if requested.
797 (mark_constant_pool): Walk the insn chain even if const_str_htab is
798 not empty.
799 (mark_constants): If a SYMBOL_REF for deferred string is found,
800 output it and remove from hash table.
801 (output_addressed_constants): Set DEFER to 0 in call to
802 output_constant_def.
803 * rtl.h (STRING_POOL_ADDRESS_P): Define.
804 (output_constant_def): Adjust prototype.
805 * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
806
10e927ef
CC
8072000-11-14 Chandrakala Chavva <cchavva@redhat.com>
808
809 * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
810 signed types if flag_trapv.
811
ef90743a
ZW
8122000-11-14 Zack Weinberg <zack@wolery.stanford.edu>
813
814 * tradcpp.c, tradcif.y: Update FSF mailing address, delete
815 reference to GPLv1.
816
fe8ca71f
JM
8172000-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
818
819 * c-common.h (CTI_C_SIZE_TYPE): Update comment.
820
94b01be3
JJ
8212000-11-14 Jakub Jelinek <jakub@redhat.com>
822
823 * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
824 to array of pool_constnat pointers.
825 (struct pool_constant): Add next_sym and label members.
826 (struct pool_sym): Remove.
827 (init_varasm_status): Change pool_sym into pool_constant.
828 (mark_pool_constant): Mark pc->label string as well.
829 (mark_pool_sym_hash_table): Remove.
830 (mark_varasm_status): Remove it from caller as well.
831 (free_varasm_status): Don't free pool_sym structures.
832 (force_const_mem): Don't allocate pool_sym structure, instead
833 fill pool->label and chain it into rtx_sym hash table.
834 (find_pool_constant, mark_constant_pool): Use pool_constant instead
835 of pool_sym.
836
716120a7
JJ
8372000-11-14 Jakub Jelinek <jakub@redhat.com>
838
839 * reload1.c (emit_input_reload_insns): Honour forcing of constants
840 into memory by PREFERRED_RELOAD_CLASS NO_REGS.
841
f8032688
MM
8422000-11-14 Michael Matz <matzmich@cs.tu-berlin.de>
843
844 * dominance.c: New file.
845 * Makefile.in (OBJS): Add dominance.o.
846
847 * flow.c (compute_flow_dominators): Remove.
848 (compute_immediate_dominators): Remove.
849 (compute_immediate_postdominators): Remove.
850 * basic-block.h: Remove their prototypes.
851 (calculate_dominance_info): Add prototype.
852
853 * dce.c (eliminate_dead_code): Change calls to above functions.
854 Don't compute dominators but only immediate dominators.
855 * flow.c (flow_loops_find): Change callers.
856 * gcse.c (compute_code_hoist_data): Likewise.
857 * haifa-sched.c (schedule_insns): Likewise.
858 * ifcvt.c (if_convert): Likewise.
859 * ssa.c (convert_to_ssa): Likewise, and only compute immediate
860 dominators.
861
0caa3c8e
RH
8622000-11-14 Richard Henderson <rth@redhat.com>
863
6f122550
RH
864 * stmt.c (warn_if_unused_value): Don't warn if the expression
865 has side effects.
866
0caa3c8e
RH
867 * c-typeck.c (c_sizeof): Fold result to c_size_type_node.
868 (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
869
a78cc542
FS
8702000-11-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
871
872 * loop.c (basic_induction_var): Revert accidental checkin.
873
d9068c61
HPN
8742000-11-13 Hans-Peter Nilsson <hp@axis.com>
875
876 * c-lex.c (cb_leave_file): Harmonize conditions and order of
877 statements to those of process_directive for (action == act_pop).
878
879 * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
880
881 * local-alloc.c (equiv_init_movable_p): References to CC0 are not
882 movable.
883
ebf02523
JM
8842000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
885
886 * c-parse.in (stmts_and_decls): Deprecate use of label at end of
887 compound statement.
888
29b10746
NB
8892000-11-13 Neil Booth <neilb@earthling.net>
890
ee3400e8
JM
891 * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
892 cases return without MI check.
893 * cpplib.c (do_diagnostic): Take boolean of whether to
894 print the directive name.
895 (do_error, do_warning): Update.
896 (do_pragma_dependency): Use it.
897 * cpplib.h (VARARGS_FIRST): Delete.
898 (struct cpp_token): Delete integer.
899 * cppmacro.c (enter_macro_context): Move disabled check
900 to _cpp_get_token.
901 (_cpp_get_token): Simplify into a single loop.
29b10746 902
8105825d
RE
9032000-11-13 Richard Earnshaw <rearnsha@arm.com>
904
905 * configure.in: Use 'test -f' not '[ -e'.
906 * configure: Regenerated.
907
481a6b4a
DD
9082000-11-13 DJ Delorie <dj@redhat.com>
909
910 * config/mn10300/mn10300.md (store_movm): Note which registers are
911 really used or clobbered.
912
b7438415
JM
9132000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
914
915 * c-parse.in (ends_in_label): Remove from %union and %type.
916 (decls, stmts, lineno_stmt_or_labels, xstmts,
917 lineno_stmt_or_label, stmt_or_label): Remove.
918 (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
919 lineno_stmt_decl_or_labels_ending_decl,
920 lineno_stmt_decl_or_labels_ending_label,
921 lineno_stmt_decl_or_labels_ending_error,
922 lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
923 lineno_stmt, lineno_label): New.
924 (compstmt_nostart): Use compstmt_contents_nonempty.
925
19552aa5
JM
9262000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
927
928 * c-common.c (boolean_increment): New function.
929 * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
930 CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
931 (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
932 (boolean_increment): Declare.
933 * c-convert.c (convert): Allow for BOOLEAN_TYPE.
934 * c-decl.c (init_decl_processing): Create boolean nodes.
935 (finish_struct): Allow for _Bool bitfields.
936 * c-parse.in (reswords): Add _Bool.
937 (rid_to_yy): Allow for RID_BOOL.
938 * c-typeck.c (default_conversion): Make booleans promote to int.
939 (convert_arguments, build_unary_op, build_modify_expr,
940 convert_for_assignment): Allow for booleans.
941 * ginclude/stdbool.h: Make conforming to C99.
942
444ca59f
JM
9432000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
944
945 * c-parse.in (c99_block_start, c99_block_end,
946 c99_block_lineno_labeled_stmt): New.
947 (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
948 (stmt): Split off selection and iteration statements into...
949 (select_or_iter_stmt): New. Use c99_block_lineno_labeled_stmt.
950
f2ecb02d
JM
9512000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
952
953 * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
954 -time): Update.
955
b082bfdb
RE
9562000-11-13 Richard Earnshaw <rearnsha@arm.com>
957
958 * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
959 Rewrite to avoid use of match_dup. Don't try to tie registers that
960 are not in the same mode.
961
b9265ec1
JM
9622000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
963
964 * invoke.texi: Update lists of languages and suffixes supported.
965
cc1e60ea
JM
9662000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
967
968 * configure.in: Take toplevel configure arguments from the
969 environment to create configargs.h and substitute
970 gcc_config_arguments, taking account of any existing configargs.h
971 if reconfiguring.
972 * configure: Regenerate.
973 * gccbug.in: Include toplevel configure arguments in gccbug.
974
37357796
RE
9752000-11-13 Richard Earnshaw <rearnsha@arm.com>
976
977 * varasm.c (struct constant_descriptor): Put CONTENTS inside a
978 union to make it well-aligned. Update all uses.
979
26d4fec7
JM
9802000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
981
982 * c-parse.in (initelt): Give appropriate pedantic warnings,
983 depending on flag_isoc99, for non-ISO syntax and for C99 syntax
984 outside C99 mode.
985 (designator): If pedantic, pedwarn for a designator specifying a
986 range of elements.
987 * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
988 these cases.
989 * extend.texi: Document the C99 syntax as the preferred syntax,
990 and the pre-2.5 syntax as obsolete. Mention use of designator
991 lists for nested subobjects.
992
88f3c477
JM
9932000-11-13 Joseph S. Myers <jsm28@cam.ac.uk>
994
995 * diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
996 Add ATTRIBUTE_PRINTF.
997 * tradcpp.c (v_message, warning, error, fatal, error_with_line):
998 Add ATTRIBUTE_PRINTF*.
999
db5fbfb4
MM
10002000-11-12 Mark Mitchell <mark@codesourcery.com>
1001
1002 * function.c (assign_parms): When calling put_var_into_stack, make
1003 sure that there are no hidden pending sequences.
1004
c7b6c6cd
KG
10052000-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1006
1007 * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
1008 BUILT_IN_RINDEX. Add missing checks for BUILT_IN_STRCHR and
1009 BUILT_IN_STRRCHR.
1010
1011 * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
1012
1013 * c-common.c (c_common_nodes_and_builtins): Declare index and
1014 rindex when nonansi builtins are allowed.
1015
1016 * extend.texi (index, rindex): Document new builtins.
1017
2f86842d
MM
10182000-11-12 Mark Mitchell <mark@codesourcery.com>
1019
34f6fbdb
MM
1020 * configure.in: Turn on libstdc++ V3 by default.
1021 * configure: Regenerated.
a8a05998 1022
2f86842d
MM
1023 * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
1024
0c0ba09c
JJ
10252000-11-12 Jakub Jelinek <jakub@redhat.com>
1026
1027 * reload1.c (set_label_offsets): Go inside of PARALLELs.
1028
84a0e7b8
JM
10292000-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
1030
1031 * invoke.texi: Clean up option summary.
1032
4816b8e4
NC
10332000-11-12 Nick Clifton <nickc@redhat.com>
1034
1035 * config/mcore/mcore.c: Fix comment formating, and adjust sequence
1036 of #include headers.
1037
ee7692d2 10382000-11-12 Marc Espie <espie@openbsd.org>
a8a05998 1039
ee7692d2
ME
1040 * configure.in: Fix filds test.
1041 * configure: Regen.
1042
f8c4f860
MM
10432000-11-12 Mark Mitchell <mark@codesourcery.com>
1044
1045 * jump.c (delete_computation): Don't assume that just becuase an
1046 instruction sets a register, that register is dead.
1047
b528a07e
NB
10482000-11-12 Neil Booth <neilb@earthling.net>
1049
a8a05998
ZW
1050 * cppexp.c: Don't worry about pfile->skipping.
1051 * cpplib.c (struct if_stack): Make was_skipping unsigned char.
1052 (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
1053 for handled directives.
1054 (skip_rest_of_line): Use _cpp_lex_token after popping contexts
1055 and releasing lookaheads.
1056 (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
1057 (do_else, do_elif, push_conditional): Update logic.
1058 (do_endif): Set buffer->was_skipping rather than pfile->skipping.
1059 (unwind_if_stack): Inline into cpp_pop_buffer.
1060 (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
1061 * cpplex.c (_cpp_lex_token): Clear skipping on EOF. Handle
1062 multiple-include optimisation.
1063 * cpplib.h (struct cpp_buffer): New member was_skipping.
1064 * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping. This
1065 works because skipping == 0 in directives.
1066 (_cpp_release_lookahead): Renamed from release_lookahead.
1067 (cpp_get_token): No need to check skipping as _cpp_get_token does
1068 this for us. No need to handle MI optimisation.
b528a07e 1069
995c461c
MM
1070Sat Nov 11 21:14:02 2000 Mark P Mitchell <mark@codesourcery.com>
1071
1072 * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
1073 declarations that use `__MATH_EXCEPTION' in their prototypes, too.
1074 * fixinc/fixincl.x: Regenerated.
a8a05998 1075
56a77e1e
BK
10762000-11-11 Bruce Korb <bkorb@gnu.org>
1077
1078 * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
1079 (avoid_wchar_t_type): ditto
1080 * fixinc/fixinc.irix: obsoleted
1081
72aaffbd
ZW
10822000-11-11 Zack Weinberg <zack@wolery.stanford.edu>
1083
1084 * configure.in: Don't add $outputs to all_lang_makefiles. Add
1085 $srcdir/$s/Makefile.in if it exists.
1086 * configure: Regenerate.
1087
bbdd639d
MM
1088Sat Nov 11 18:41:20 2000 Mark P Mitchell <mark@codesourcery.com>
1089
1090 * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
1091
d96a6d1a
JM
10922000-11-11 Jason Merrill <jason@redhat.com>
1093
a8a05998 1094 * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
d96a6d1a
JM
1095 give the parm a register and then call put_var_into_stack.
1096 * stmt.c (expand_decl): Likewise.
1097
8ee322c9
JM
10982000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1099
1100 * gcc.texi: Adjust wording.
1101
8b4c8a86
MM
11022000-11-11 Mark Mitchell <mark@codesourcery.com>
1103
1104 * fixinc/inclhack.def (avoid_wchar_t_type): New fix.
1105 * fininc/fixincl.x: Regenerated.
1106
639726ba
JM
11072000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1108
1109 * invoke.texi: Correct spelling of -foptimize-register-move.
1110
4c2b647d
NB
11112000-11-11 Neil Booth <neilb@earthling.net>
1112
1113 Remove CPP_PLACEMARKERs.
1114
1115 * cppexp.c (lex): Don't handle CPP_PLACEMARKER.
1116 * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
1117 * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
a8a05998 1118 Similarly.
4c2b647d
NB
1119 * cpplib.h: Remove CPP_PLACEMARKER.
1120 (struct lexer_state): Rename skip_newlines to next_bol.
1121 * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
1122 Simplify prev_white handling as a result.
1123 (paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
1124 (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
1125 (parse_args): Similarly. Update argument count tests.
1126 (enter_macro_context): Return 2 to indicate an empty macro.
1127 (replace_args): Don't bother pre-expanding an empty argument.
1128 Handle placemarkers and ## extension during pre-expansion.
1129 (cpp_get_token): Handle empty macro expansions. Don't worry
1130 about CPP_PLACEMARKERs.
1131 (_cpp_create_definition): Empty macros are now empty.
1132 (cpp_macro_defintion): Don't special case empty macros.
1133 * scan-decls.c: Don't bother with CPP_PLACEMARKERs.
1134 * c-lex.c: Similarly.
1135
c1030c7c
JM
11362000-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1137
1138 * gcc.texi, invoke.texi: Add new section discussing language
1139 standards; link to it where appropriate; refer to ISO C instead of
1140 ANSI C.
1141
93a77848
AO
11422000-11-11 Alexandre Oliva <aoliva@redhat.com>
1143
3650b695
AO
1144 * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
1145 into account.
1146
93a77848
AO
1147 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
1148 modes.
1149
9a5a13c9
JM
11502000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
1151
1152 * gcc.texi, gcov.texi: Update dates and version numbers.
1153
1e608388
ZW
11542000-11-10 Zack Weinberg <zack@wolery.stanford.edu>
1155
1156 * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for
1157 flex and bison, specifically, first in a unified build and
1158 then installed on the system.
1159 * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename
1160 LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to
1161 match.
1162
1163 (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
1164 cppdefault.o): Remove pointless sed munging of source file
1165 name.
1166
9532e31f
BS
11672000-11-10 Bernd Schmidt <bernds@redhat.co.uk>
1168
1169 * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
1170 for address reloads. Push replacements for REG_INC notes.
1171 (regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All
1172 callers changed.
1173 * reload1.c (choose_reload_regs): Registers set in the insn can't be
1174 used for RELOAD_OTHER reloads.
1175
721de836
MM
11762000-11-10 Mark Mitchell <mark@codesourcery.com>
1177
1178 * c-dump.h: New file.
1179
4e135bdd
KG
11802000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1181
1182 * alpha.c (check_float_value): Use memcpy, not bcopy.
1183 * arm.c (output_move_double): Likewise.
1184 * arm.md: Likewise.
1185 * m88k.c (legitimize_operand): Likewise.
1186 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
1187 * m88k.md: Likewise.
1188 * mips.c (override_options): Likewise.
1189 * mips.md: Likewise.
1190 * romp.c (output_fpops): Likewise.
1191 * rs6000.c (rs6000_override_options): Likewise.
1192 * sh.md: Likewise.
1193 * vax.c (check_float_value): Likewise.
1194
1195 * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
1196 * expmed.c (synth_mult): Likewise.
1197 * final.c (add_bb_string): Likewise.
1198 * genattr.c (main): Likewise.
1199 * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
1200 Likewise.
1201 * jump.c (thread_jumps): Likewise.
1202 * prefix.c (save_string): Likewise.
1203 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
1204 * regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
1205 * reload1.c (reload, eliminate_regs): Likewise.
1206
c8abeb44
JM
12072000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
1208
1209 * gcc.texi (Service): Update to reflect current practice and
1210 location of the GNU service directory.
1211
6fb85418
BS
12122000-11-09 Bernd Schmidt <bernds@redhat.co.uk>
1213
1214 * regrename.c (build_def_use): Mark contents of REG_INC notes as
1215 needing replacement.
1216
0c478921
BS
1217 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
1218 a no-op move if regs are equal.
1219 * toplev.c (rest_of_compilation): Do the noop moves elimination pass
a8a05998 1220 when calling jump after post-reload splitting.
0c478921 1221
3b7a2e58
JM
12222000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl>
1223
a8a05998
ZW
1224 * c-tree.texi: Fix typos.
1225 * extend.texi: Likewise
1226 * gcov.texi: Likewise
1227 * rtl.texi: Likewise
1228 * tm.texi: Likewise
3b7a2e58 1229
59257980
HPN
12302000-11-09 Hans-Peter Nilsson <hp@axis.com>
1231
1232 * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
1233 in_system_header and flags[1] before dereferencing flags[2].
1234
881a8969
MH
12352000-11-09 Matthew Hiller <hiller@redhat.com>
1236
1237 * reload1.c (reload_combine): Fixed calculation of
1238 first_index_reg, last_index_reg.
1239
0a7394bc
MM
12402000-11-09 Mark Mitchell <mark@codesourcery.com>
1241
13507bd8
MM
1242 * c-dump.c (dequeue_and_dump): Dump function bodies.
1243
0a7394bc
MM
1244 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
1245 (c-dump.o): New target.
1246 * c-common.h (flag_dump_translation_unit): New variable.
1247 (C_TYPE_QUALS): New macro.
1248 (strip_array_types): New function.
1249 (DECL_C_BIT_FIELD): New macro.
1250 (SET_DECL_C_BIT_FIELD): Likewise.
1251 (CLEAR_DECL_C_BIT_FIELD): Likewise.
1252 (dump_info_p): New typedef.
1253 (dump_tree_fn): Likewise.
1254 (lang_dump_tree): New variable.
1255 (dump_node_to_file): New function.
1256 * c-common.c (flag_dump_translation_unit): Define it.
1257 (strip_array_types): New function.
1258 * c-decl.c (c_decode_option): Handle -fdump-translation-unit.
a8a05998 1259 * c-lang.c (finish_file): Call dump_node_to_file if
0a7394bc
MM
1260 flag_dump_translation_unit.
1261 * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
1262 * c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
1263 * c-dump.c: New file.
a8a05998 1264
abffe289
CF
12652000-11-09 Christopher Faylor <cgf@cygnus.com>
1266
1267 * config/i386/cygwin.h: Add mingw startfile prefix.
1268
1288c070
RH
12692000-11-09 Richard Henderson <rth@redhat.com>
1270
1271 * flow.c (invalidate_mems_from_set): Split out from ...
1272 (mark_set_1): ... here.
1273 (try_pre_increment_1): Use it. Use propagate_block_delete_insn
1274 instead of turning insn into a NOTE_INSN_DELETED.
1275
01702459
JM
12762000-11-10 Joseph S. Myers <jsm28@cam.ac.uk>
1277
1278 * extend.texi, invoke.texi: Move documentation of builtin versions
1279 of C library functions to one place and update.
1280
30355eaa
RH
12812000-11-09 Richard Henderson <rth@redhat.com>
1282
1283 * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
1284 the types themselves to discover type equivalence.
1285
5fcee6f3
MS
12862000-11-09 Mike Stump <mrs@wrs.com>
1287
1288 * Makefile.in (distclean): Remove a few extra leftovers.
1289
377b6fce
RH
12902000-11-09 Richard Henderson <rth@redhat.com>
1291
c0e3f87d
RH
1292 * recog.c (validate_replace_rtx_1): Consider subregs when
1293 replacing a register with a constant inside a sign/zero_extend.
1294
377b6fce
RH
1295 * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
1296
b52114d2
GK
12972000-11-09 Geoffrey Keating <geoffk@redhat.com>
1298
1299 * c-decl.c (finish_struct): When a structure is completed,
1300 check all its variant types for completeness.
1301
a949941c
NB
13022000-11-09 Neil Booth <neilb@earthling.net>
1303
1304 * cpphash.c: Move cpp_defined here from cpplib.c.
1305 * cpplib.c: Update comments, move cpp_defined to cpphash.c.
1306 * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
1307 * cppmacro.c (cpp_get_token): Update comments, no need now
1308 to catch the CPP_EOF meaning EOL case.
1309
9a0662b4
GK
13102000-11-08 Geoffrey Keating <geoffk@redhat.com>
1311
1312 * config/sparc/sparc.c (sparc_va_arg): When the required alignment
1313 is more than that provided, copy to a temporary.
1314
6c80a645
AO
13152000-11-09 Alexandre Oliva <aoliva@redhat.com>
1316
1317 * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
1318 interpreting $out as a macro assignment.
1319 * Makefile.in (T_TARGET): New auxiliary macro and target.
1320 (all): Add a target right in the beginning, so that we don't build
1321 T_TARGET by default.
1322
6a4afa6c
GS
13232000-11-09 Graham Stott <grahams@redhat.com>
1324
a8a05998 1325 * config/i386/i386.md (mmx_pinsrw): Output operands in correct
6a4afa6c
GS
1326 order for -mintel-syntax. Remove comment now that the operand
1327 order has been checked.
1328 (mmx_pextrw): Likewise.
1329 (mmx_pshufw): Likewise.
1330
2dee4af1
JJ
13312000-11-09 Jakub Jelinek <jakub@redhat.com>
1332
1333 * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
1334 (c_getstr): New function.
1335 (expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
1336 If both arguments are constant string, optimize out.
1337 (expand_builtin_strchr, expand_builtin_strrchr): New functions.
1338 (expand_builtin_strpbrk): Use c_getstr, do nothing if
1339 -fcheck-memory-usage.
1340 (expand_builtin_fputs): Likewise.
1341 (expand_builtin_strcmp): Add MODE argument.
1342 Use even if !HAVE_cmpstrsi.
1343 Optimize the case when both arguments are constant strings.
1344 (expand_builtin): Adjust expand_builtin_strcmp caller.
1345 Call expand_builtin_strchr and expand_builtin_strrchr.
1346 * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
1347 builtins.
1348 * builtins.def (BUILT_IN_STRRCHR): Add.
1349
97dc9fc0
GP
13502000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1351
1352 * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
1353
2e09e75a
JM
13542000-11-09 Joseph S. Myers <jsm28@cam.ac.uk>
1355
1356 * calls.c (expand_call, emit_library_call_value_1), collect2.c
1357 (scan_prog_file), config/a29k/a29k.c (print_operand),
1358 config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
1359 instead of bcopy ().
1360 * real.h: Use memcmp () instead of bcmp ().
1361 * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
1362 (split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
1363 ultrasparc_sched_init, ultrasparc_sched_reorder),
1364 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
1365 instead of bzero ().
1366 * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
1367 instead of rindex ().
1368 * configure.in: Don't check for bzero, bcmp, index or rindex.
1369 * configure, config.in: Regenerate.
1370 * system.h: Don't include declarations for bzero, bcmp, index or
1371 rindex.
1372 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
1373 bzero, bcmp, index or rindex.
1374
03fb4780
CF
1375Wed Nov 8 21:58:20 2000 Christopher Faylor <cgf@cygnus.com>
1376
1377 * config/i386/cygwin.h: Add -no-win32 switch. Separate -mno-cygwin
1378 include and library paths from -mcygwin case. Parameterize some
1379 declarations to avoid warnings. Use standard locations for include and
1380 lib dirs.
1381
ca68ea18
NC
13822000-11-08 Nick Clifton <nickc@redhat.com>
1383
1384 * config/arm/arm.md (mulsidi3adddi): Change output operand
eb68ad7c 1385 constraint from "=&" to "+&".
ca68ea18 1386 (umulsidi3adddi): Change output operand constraint from "=&" to
eb68ad7c 1387 "+&".
ca68ea18 1388
c32e1e6f
RH
13892000-11-08 Richard Henderson <rth@redhat.com>
1390
1391 * flow.c (init_propagate_block_info): Protect the rtx stored in
1392 mem_set_list from modification by find_auto_inc.
1393 (mark_set_1): Likewise.
1394
adb84b42
NB
13952000-11-08 Neil Booth <neilb@earthling.net>
1396
a8a05998
ZW
1397 Move directive handling into the lexer itself.
1398
1399 * cpplex.c (_cpp_lex_token): Handle directives directly.
1400 In the case of a directive interrupting a function-like
1401 macro invocation, use extra_char since read_ahead is
1402 used to store the '#'. Return a CPP_EOF in this case.
1403 * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
1404 (cpp_get_token): Don't handle directives here.
1405 * cpplib.h: Remove CPP_DHASH token type.
adb84b42 1406
756d6f0c
JH
1407Wed Nov 8 21:53:41 MET 2000 Jan Hubicka <jh@suse.cz>
1408
1409 * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
1410 formed using PRE_MODIFY too.
1411
c39c0db3
MM
14122000-11-08 Mark Mitchell <mark@codesourcery.com>
1413
69908851
MM
1414 * c-tree.texi (VAR_DECL): Describe representation of GCC's
1415 extension for placing variables in particular registers.
1416
c39c0db3
MM
1417 * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
1418 unprototyped C functions with no parameters.
1419
6cada0cd
JJ
14202000-11-08 Jakub Jelinek <jakub@redhat.com>
1421
1422 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
1423 before passing to fprintf.
1424
768f0669
JJ
14252000-11-08 Jakub Jelinek <jakub@redhat.com>
1426
1427 * function.c (expand_function_start): Cast GET_MODE_SIZE to
1428 HOST_WIDE_INT before negating it.
1429
df6018fd
JJ
14302000-11-08 Jakub Jelinek <jakub@redhat.com>
1431
1432 * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
1433 passed in multiple non-contiguous locations.
1434
14ae1d50 14352000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
a8a05998 1436
14ae1d50
GP
1437 * README.gnat: Remove file.
1438
673887d5
AO
14392000-11-08 Alexandre Oliva <aoliva@redhat.com>
1440
1441 * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
1442 in-place.
1443
66234570
RH
14442000-11-07 Richard Henderson <rth@redhat.com>
1445
1446 * dwarfout.c (INSN_LABEL_FMT): Remove.
1447 (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
1448 (dwarfout_label): Remove.
1449 * dwarfout.h: Remove it's prototype.
1450 * dwarf2out.c (INSN_LABEL_FMT): Remove.
1451 (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
1452 (dwarf2out_label): Remove.
1453 * dwarf2out.h: Remove it's prototype.
1454 * final.c (final_scan_insn): Don't call dwarf[2]out_label.
1455
81b75d96
RH
14562000-11-07 Richard Henderson <rth@redhat.com>
1457
cd5c4048
RH
1458 * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
1459 search on the unwind region section.
1460
1461 * config/ia64/ia64.md (movbi): Add r/r alternative.
1462 (cmovdi_internal_astep): Describe all combinations of register
1463 classes for sources & destinations; remove matching constraints.
1464 (cmovdi_internal): Likewise.
1465
81b75d96
RH
1466 * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
1467
6dbaddf9
RH
14682000-11-07 Richard Henderson <rth@redhat.com>
1469
1470 * c-lang.c (start_cdtor, finish_cdtor): New functions.
1471 (finish_file): Use them in building constructor/destructor functions.
1472
a8a05998 1473 * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
6dbaddf9
RH
1474 LD_FINI_SWITCH): Move ...
1475 * config/alpha/osf.h: ... here.
1476 * config/alpha/alpha-interix.h: Don't undef them.
1477
99b13084
JO
14782000-11-07 Jeffrey Oldham <oldham@oz.codesourcery.com>
1479
1480 * config/mips/t-iris6 (FPBIT): New. Added so that __unorddf2 is
1481 included in libgcc.a.
1482 (DPBIT): Likewise.
1483 (dp-bit.c): Likewise.
1484 (fp-bit.c): Likewise.
1485
d7cac874
NC
14862000-11-07 Nick Clifton <nickc@redhat.com>
1487
1488 * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
1489 (INTERNAL_ASM_OP): Add missing tab.
1490
961192e1
JM
14912000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
1492
1493 * alias.c (init_alias_analysis), calls.c (expand_call,
1494 emit_library_call_value_1), combine.c (init_reg_last_arrays),
1495 cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
1496 (init_output_buffer, set_diagnostic_context), dwarf2out.c
1497 (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
1498 (init_emit_once), fold-const.c (mul_double, div_and_round_double),
1499 function.c (assign_parms), gcse.c (compute_can_copy,
1500 alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
1501 compute_hash_table, compute_set_hash_table,
1502 compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
1503 (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
1504 clear_units, schedule_block), integrate.c (initialize_for_inline,
1505 expand_inline_function), jump.c (thread_jumps), local-alloc.c
1506 (local_alloc), loop.c (combine_movables, count_loop_regs_set,
1507 load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
1508 regclass.c (init_reg_sets, init_reg_sets_1, regclass,
1509 record_reg_classes, allocate_reg_info), reload.c
1510 (get_secondary_mem, remove_address_replacements, find_reloads),
1511 reload1.c (reload, set_initial_label_offsets, finish_spills,
1512 reload_as_needed, choose_reload_regs_init,
1513 reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
1514 (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
1515 (rename_registers), stmt.c (expand_end_case), unroll.c
1516 (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
1517 () instead of bzero ().
1518
e3cc3581
NB
15192000-11-07 Neil Booth <neilb@earthling.net>
1520
1521 * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
1522
f8136648
KG
15232000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1524
1525 * c-common.c (combine_strings): Only warn about long strings for C.
1526
71fd5a51
R
1527Tue Nov 7 19:44:30 2000 J"orn Rennecke <amylaar@redhat.com>
1528
1529 * combine.c (distribute_notes): Fix typo in last change.
1530
bdaa0181
GK
15312000-11-07 Geoff Keating <geoffk@redhat.com>
1532
1533 * config/rs6000/rs6000.md (movdi_internal32+1): Use
1534 operand_subreg_force rather than gen_rtx_SUBREG.
1535 (movdi_internal32+2): Likewise.
1536
bc56a125
PB
15372000-11-07 Philip Blundell <philb@gnu.org>
1538
1539 * configure.in (arm*-*-linuxaout*): Obsolete, deleted.
1540 * config/arm/linux-aout.h: Likewise.
1541 * configure: Regenerate.
1542
a71d3613
PT
15432000-11-07 Philipp Thomas <pthomas@suse.de>
1544
1545 * ABOUT-GCC-NLS: Remove the patch for gettext as it has been
1546 accepted my the gettext maintainer.
1547
26a87cab
KG
15482000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1549
1550 * builtins.c (expand_builtin_strpbrk): New function.
1551 (expand_builtin): Handle BUILT_IN_STRPBRK.
1552
1553 * builtins.def (BUILT_IN_STRPBRK): New entry.
1554
1555 * c-common.c (c_common_nodes_and_builtins): Declare builtin
1556 strpbrk.
1557
ace54f91
DB
15582000-11-07 David O'Brien <obrien@dragon.nuxi.com>
1559
1560 * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
1561 * POTFILES.in: Add config/alpha/freebsd.h
1562 * configure.in: Add alpha*-freebsd support.
1563 * configure: Regenerate.
1564
0dec5df9
JM
15652000-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
1566
1567 * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
1568 copy of ptr_type_node rather than ptr_type_node itself.
1569
bf103ec2
R
1570Tue Nov 7 06:29:24 2000 J"orn Rennecke <amylaar@redhat.com>
1571
1572 * combine.c (recog_for_combine): Allocate uninitialized vector with
1573 rtvec_alloc.
1574 * recog.c (apply_change_group): Likewise.
1575
c762163e
R
1576Tue Nov 7 06:24:02 2000 J"orn Rennecke <amylaar@redhat.com>
1577
1578 * flow.c (verify_local_live_at_start): Back out last change.
1579 * combine.c (distribute_notes): When parts of a hard reg are
1580 neither set nor referenced in PLACE, search backwards for a
1581 place to put a REG_UNUSED note; if none found, ask for flow
1582 info refresh.
1583
f34c06e5
R
1584Mon Nov 6 20:08:13 2000 J"orn Rennecke <amylaar@redhat.com>
1585
1586 * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
1587 with (clobber (match_scratch...)).
1588
2b892489
NB
15892000-11-06 Neil Booth <neilb@earthling.net>
1590
1591 * c-lex.c (init_c_lex): If cpp_start_read fails, exit with
1592 error status.
1593
ea33bfc5
NB
15942000-11-06 Neil Booth <neilb@earthling.net>
1595
a8a05998 1596 * tradcpp.c (special_symbol): Assign an null string rather
ea33bfc5
NB
1597 than writing to an unallocated buffer.
1598
56051c0a
NB
15992000-11-06 Neil Booth <neilb@earthling.net>
1600
1601 * cpplex.c (_cpp_equiv_tokens): Check arg_no in the
1602 CPP_MACRO_ARG case.
1603
6c53ebff
NB
16042000-11-06 Neil Booth <neilb@earthling.net>
1605
1606 * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
1607 tok.val.arg_no as appropriate.
1608 * cppexp.c (lex): Similarly.
1609 * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
1610 cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
1611 * cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
1612 cpp_macro_definition): Similarly.
1613 * cpplib.h (struct cpp_token): Replace aux with c and arg_no.
1614
8b1c5fd0
JJ
16152000-11-06 Jakub Jelinek <jakub@redhat.com>
1616
1617 * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
1618 operands[1] is constant, calculate the sum and generate movdi.
1619 (addsi3): Similarly. Use SImode in call to arith_4096_operand.
1620 (subsi3): Use SImode in call to arith_4096_operand.
1621
a0115140
JJ
16222000-11-06 Jakub Jelinek <jakub@redhat.com>
1623
1624 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
1625 adjust %o1, not %o0 if the return type is large structure.
1626
9ea2bda9
JJ
16272000-11-06 Jakub Jelinek <jakub@redhat.com>
1628
1629 * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
1630 update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
1631
1cf7847f
DC
1632Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
1633
1634 * expmed.c (expand_divmod): For signed divide by 2, prefer
1635 a branch and fewer shifts if branches are very cheap.
1636
436a88a6
JM
16372000-11-05 Joseph S. Myers <jsm28@cam.ac.uk>
1638
1639 * Makefile.in: Remove all targets related to building
1640 distributions and diffs, or INSTALL.
1641 * INSTALL, install1.texi: Remove.
1642 * configure.in: Remove mention of distdir.
1643 * configure: Regenerate.
1644 * objc/Make-lang.in: Remove mention of distdir.
1645
9cf11a47
NB
16462000-11-04 Neil Booth <neilb@earthling.net>
1647
1648 * cpp.texi: Update for _Pragma.
1649
f148ca88
JM
16502000-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
1651
1652 * gcc.texi (Contributing): Update URL for projects web page.
1653
16eb2788
NB
16542000-11-04 Neil Booth <neilb@earthling.net>
1655
a8a05998
ZW
1656 * cpplex.c (parse_string): Don't allow multiline strings in
1657 #include family directives.
16eb2788 1658
9232b7d9
NB
16592000-11-04 Neil Booth <neilb@earthling.net>
1660
1661 * cpplib.c (do_line): Only warn pedantically if not reading
a8a05998 1662 preprocessed input.
9232b7d9 1663
f132f529
AO
16642000-11-04 Alexandre Oliva <aoliva@redhat.com>
1665
1666 * calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
1667 RETURN_POPS_ARGS().
1668
0e9295cf
ZW
16692000-11-03 Zack Weinberg <zack@wolery.stanford.edu>
1670
1671 * builtins.c (expand_builtin_strlen): Remove unused mode
1672 argument.
1673 * gcc.c (process_command): Remove unused variable.
1674 * fold-const.c: Include expr.h.
1675 * recog.c: Include reload.h.
1676 * Makefile.in (recog.o, fold-const.o): Update deps.
1677
f2682362
GK
16782000-11-02 Geoffrey Keating <geoffk@cygnus.com>
1679
1680 * fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
1681
25f80eae
MM
1682Fri Nov 3 13:41:04 2000 Mark P Mitchell <mark@codesourcery.com>
1683
1684 * config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
1685 handling.
1686 (STARTFILE_SPEC): Likewise.
1687 (LINK_SPEC): Likewise.
1688
426159a4
KG
16892000-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1690
1691 * Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
1692 (toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
1693 (simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
1694
da61dec9
JM
16952000-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
1696
1697 * c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
1698 (dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
1699 perm_calloc, get_identifier, maybe_get_identifier,
1700 real_value_from_int_cst, simple_cst_equal), varasm.c
1701 (assemble_name, assemble_real, immed_real_const_1,
1702 compare_constant_1, decode_rtx_const, output_constant_pool): Use
1703 strrchr () instead of rindex (). Use memcmp () instead of bcmp
1704 (). Use memcpy () instead of bcopy (). Use memset () instead of
1705 bzero ().
1706
def3263a
NS
17072000-11-03 Nathan Sidwell <nathan@codesourcery.com>
1708
1709 * cppfiles.c (open_file): If already read, then don't reopen.
1710 Immediately close an empty file.
1711
94e9dc13
BS
17122000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
1713
1714 * expr.h (fold_builtin): Move declaration...
1715 * tree.h (fold_builtin): ... here.
1716
6c6a14b5
R
1717Fri Nov 3 05:41:07 2000 J"orn Rennecke <amylaar@redhat.com>
1718
1719 * flow.c (verify_local_live_at_start): Allow hard regs to die.
1720
5b569332
NB
17212000-11-02 Neil Booth <neilb@earthling.net>
1722
1723config:
1724 * a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
1725 alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
1726 alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
1727 alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
1728 arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
1729 arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
1730 c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
1731 elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
1732 i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
1733 i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
1734 i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
1735 i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
1736 i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
1737 i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
1738 i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
1739 i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
1740 i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
1741 i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
1742 i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
1743 i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
1744 i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
1745 ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
1746 m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
1747 m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
1748 m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
1749 m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
1750 m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
1751 m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
1752 m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
1753 m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
1754 m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
1755 m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
1756 mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
1757 mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
1758 mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
1759 mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
1760 mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
1761 mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
1762 ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
1763 ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
1764 pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
1765 pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
1766 romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
1767 rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
1768 rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
1769 rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
1770 sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
1771 sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
1772 sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
1773 sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
1774 sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
1775 sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
1776 sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
1777 v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
1778 vax/vaxv.h, vax/vms.h, we32k/we32k.h
a8a05998 1779
5b569332
NB
1780 Replace -A() with -A=, the new assertion syntax.
1781
03afaf36
R
1782Thu Nov 2 21:52:35 2000 J"orn Rennecke <amylaar@redhat.com>
1783
1784 * combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
1785 elim_i1.
1786 In REG_DEAD handling: When handling parts of multi-hard-reg hard
1787 registers, increment the loop counter by the size of the parts;
1788 use recursion to handle individual parts.
1789
04e3be98
NB
17902000-11-02 Neil Booth <neilb@earthling.net>
1791
1792 * configure.in: Make integrated CPP the default.
1793 * configure: Regenerate.
1794
0192d704
R
1795Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com>
1796
1797 * reload.c (find_equiv_reg): Test all hard registers for membership
1798 in the requested class.
1799
9473c522
JM
18002000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
1801
1802 * collect2.c (main, write_c_file_stat), gcc.c (translate_options,
1803 process_command, main), gcov.c (open_files, output_data), tlink.c
1804 (frob_extension, scan_linker_output), toplev.c
1805 (file_name_nondirectory): Use strchr () and strrchr () instead of
1806 index () and rindex ().
1807
0304bbad
JM
18082000-11-02 Joseph S. Myers <jsm28@cam.ac.uk>
1809
1810 * c-common.c (get_flag_spec, check_format_info_main,
1811 check_format_types): Use strchr () instead of index (). Compare
1812 against error_mark_node instead of comparing the TREE_CODE against
1813 ERROR_MARK.
1814
23356f93
ZW
18152000-11-02 Zack Weinberg <zackw@Stanford.EDU>
1816
a8a05998
ZW
1817 Integrated CPP.
1818
1819 * c-lex.c (init_c_lex): Update cpp_start_read call.
1820 (cb_ident): Update for new callback prototype.
1821 (cb_def_pragma): Update for new cpp_get_token prototype.
1822 (c_lex): Similarly. Use cpp_get_line.
1823
1824 * c-parse.in (finish_parse): Update for new cpp_finish
1825 prototype.
1826
1827 * cp/lex.c (finish_parse): Similarly.
23356f93 1828
7a099817
GK
18292000-11-01 Geoff Keating <geoffk@cygnus.com>
1830
1831 * machmode.def: Add V16QImode.
1832
a97c9600
RH
18332000-11-01 Richard Henderson <rth@redhat.com>
1834
1835 * dwarf2out.c (loc_descriptor_from_tree): Check for null result
1836 from rtl_for_decl_location.
1837 (add_location_or_const_value_attribute): Likewise.
1838
a0a9606d
NB
18392000-11-01 Neil Booth <neilb@earthling.net>
1840
a8a05998
ZW
1841 * cpplib.c (run_directive): Use correct line number for output
1842 of _Pragma. Remember any in-progress directive.
1843
1844 * gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
a0a9606d 1845
ba89764a
RH
18462000-11-01 Richard Henderson <rth@redhat.com>
1847
1848 * stmt.c (expand_start_null_loop): Set continue_label.
1849
b0b3afb2
BS
18502000-11-01 Bernd Schmidt <bernds@redhat.co.uk>
1851
1852 * builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
1853 (expand_builtin_constant_p): Move parts of the code into
1854 fold_builtin_constant_p.
1855 (expand_builtin_strlen): Move parts of the code into fold_builtin.
1856 * expr.h (fold_builtin): Declare.
1857 * fold-const.c (fold): Handle builtin calls.
1858
1859 * c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
1860
f0de0c5d
RH
18612000-11-01 Richard Henderson <rth@redhat.com>
1862
1863 * stmt.c (expand_start_null_loop): New.
a8a05998 1864 (expand_end_null_loop): New.
f0de0c5d
RH
1865 * c-semantics.c (genrtl_do_stmt): Use them.
1866 * tree.h: Declare them.
1867
3a59c77c
RH
18682000-11-01 Richard Henderson <rth@redhat.com>
1869
1870 * cppmain.c (scan_buffer): Don't avoid paste for assembly.
1871
12c4f523
NB
18722000-11-01 Neil Booth <neilb@earthling.net>
1873
1874 * c-parse.in (_yylex): Remove CPP_BACKSLASH case.
1875 * cp/spew.c: Similarly.
1876 * cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
1877 * cppmacro.c (stringify_arg): Similarly.
1878 * cpplib.h (CPP_BACKSLASH): Delete.
1879
78e7629e
KG
18802000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1881
1882 * builtins.c (expand_builtin_strstr): New function.
1883 (expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
1884
1885 * builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
1886
1887 * c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
1888 and builtin strchr.
1889
32ee391b
RH
18902000-10-31 Richard Henderson <rth@redhat.com>
1891
1892 * config/i386/i386.c (fcmov_comparison_operator): Check for
1893 CCFPmode or CCFPUmode instead of CCmode.
1894 (ix86_expand_fp_movcc): Call ix86_expand_setcc for most
1895 unordered operations as well.
1896
5f10ef5b
RH
18972000-10-31 Richard Henderson <rth@redhat.com>
1898
1899 * c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
1900 of integer_zero_node.
1901
d599b81f
RH
19022000-10-31 Richard Henderson <rth@redhat.com>
1903
1904 * c-semantics.c (genrtl_do_stmt): Special case do/while(0).
1905
1426f761
NC
19062000-10-31 Nick Clifton <nickc@redhat.com>
1907
1908 * config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
1909 -fdata-sections to override the section attribute of a DECL.
1910
a8c0159a
CD
19112000-10-31 Chris Demetriou <cgd@sibyte.com>
1912
1913 * libgcc2.c (__shtab): Remove __shtab variable.
1914 * libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
1915 * Makefile.in (LIB2FUNCS): Remove _shtab from list of library
1916 members.
1917
8215347e
JW
19182000-10-31 Jim Wilson <wilson@redhat.com>
1919
1920 * defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
1921 * tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
1922 * dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
1923 instead of ASM_OUTPUT_INTERNAL_LABEL.
1924 (dwarf2out_end_block, dwarf2out_label): Likewise.
1925 * final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
1926 * config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
a8a05998 1927
d8041cc8
RH
19282000-10-31 Richard Henderson <rth@redhat.com>
1929
1930 * dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
1931 (size_of_locs): Set it.
1932 (output_loc_operands): Use it to compute branch displacement.
1933 (int_loc_descriptor): New.
1934 (mem_loc_descriptor): Dereference memory in the proper size.
1935 Use DW_OP_plus_uconst when possible. Use int_loc_descriptor.
1936 (loc_descriptor_from_tree): New.
1937 (rtl_for_decl_location): Break out from ...
1938 (add_location_or_const_value_attribute): ... here.
1939 (add_bound_info): Use loc_descriptor_from_tree.
1940
86368122
NB
19412000-10-31 Neil Booth <neilb@earthling.net>
1942
1943 * cpp.texi: Update for new command line assertion syntax.
1944 * cpplib.c (cpp_define): Simplify a bit.
1945 (cpp_assert, cpp_unassert): Use handle_assertion.
1946 (handle_assertion): New function; accept new command line
1947 syntax with '='.
1948 * testsuite/gcc.dg/cpp/assert3.c: New tests.
1949
e1998242
NB
19502000-10-31 Neil Booth <neilb@earthling.net>
1951
1952 * cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
1953 undefined. Remove #ifdef check.
1954 * config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
1955 Define STDC_0_IN_SYSTEM_HEADERS to 1.
1956
7e08e190
JH
19572000-10-31 Jan Hubicka <jh@suse.cz>
1958 Jakub Jelinek <jakub@redhat.com>
1959
1960 * config/i386/i386.h: Clarify CCNOmode description in comment.
1961 (EXTRA_CC_MODES): Remove CCRCmode.
1962 * config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
1963 (put_condition_code, ix86_match_ccmode): Likewise.
1964 (ix86_cc_mode): Likewise. Fix comment.
1965 (ix86_expand_strlensi_unroll_1): *rc patterns are gone.
1966 * config/i386/i386.md: Add unspec 12 description.
1967 (adddi3 split): Use unspec 12 instead of CCRCmode.
1968 (addsi3_carry_rc): Remove.
1969 (addsi3_cc, addqi3_cc): New patterns.
1970 (addsi_3): Swap operands, match CCZmode.
1971 (addsi_4): Rewritten.
1972 (addsi_5): Renamed from addsi_6.
1973 (addsi_6): Removed.
1974 (addhi_3): Swap operands, match CCZmode.
1975 (addhi_4): Rewritten.
1976 (addhi_5): Renamed from addhi_6.
1977 (addhi_6): Removed.
1978 (addqi_3): Swap operands, match CCZmode.
1979 (addqi_4): Rewritten.
1980 (addqi_5): Renamed from addqi_6. Use =q constraint for clobber.
1981 (subsi3_carry_rc): Removed.
1982 (iorqi_3): Use =q constraint for clobber.
1983 (xorqi_cc_2): Likewise.
1984 (negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
1985 (x86_movsicc_0_m1_rc): Removed.
1986 (cmp?i peepholes): Remove neg. Use CCGCmode instead of CCRCmode.
1987
93cc1c69
JM
19882000-10-31 Joseph S. Myers <jsm28@cam.ac.uk>
1989
1990 * c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
1991 and decrement of complex types.
1992
bcb38cc1
KG
19932000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1994
1995 * builtins.c (expand_builtin_fputs): When deleting NOP calls to
1996 builtin fputs, ensure we still evaluate the stream in case it
1997 has side-effects.
1998
681cb233
JJ
19992000-10-31 Jakub Jelinek <jakub@redhat.com>
2000
2001 * expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
2002 to expand_shift.
2003
4b9580a5
R
2004Tue Oct 31 15:33:27 2000 J"orn Rennecke <amylaar@redhat.com>
2005
2006 * sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
2007 (fp_extended_operand, emit_fpscr_use): Likewise.
2008 * sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
2009 (fpul_operand): New function.
2010 * sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
2011 fp_extended_operand. Add fpul_operand.
2012 * sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
2013 (mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
2014 (cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
2015 (negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
2016 (adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
2017 (divdf3_i): Likewise.
2018 (floatsisf2): Likewise. Use fpul_operand for 'y' operand.
2019 (floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
2020 (fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
2021 (fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
2022 (extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
2023
332316cd
BS
20242000-10-31 Bernd Schmidt <bernds@redhat.co.uk>
2025
a8a05998 2026 * config/i386/i386.c (ix86_init_builtins): Correct return type
332316cd
BS
2027 building v4hi_ftype_v4hi_int_int tree node.
2028 (ix86_expand_builtin): Use correct operand numbers 0 and 1.
2029 Copy operand 0 into a Pmode register, don't generate a MEM rtx.
2030
2031 * config/i386/i386.md (sse_movntdi): Use mmx register constraint
2032 for operand 1.
2033 (mmx__uavgv8qi3): Correct insn mnemonic.
2034 (mmx_psadbw): Correct insn mnemonic. Use V8QI mode for operands 1 and 2.
2035 (mmx_punpckhwd): Correct insn mnemonic.
2036 (mmx_punpckhdq): Likewise.
2037 (mmx_punpcklwd): Likewise.
2038 (mmx_punpckldq): Likewise.
2039 (prefetch): Use immediare_operand and 'n' constraint for operand 1.
2040 Renumber case labels to match the _mm_prefetch constants defined in
2041 xmmintrin.h.
2042
1d766db0
BS
2043 * recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
2044 if the splitter didn't emit new insns.
2045 Make sure we call cleanup_subreg_operands even when splitting the last
2046 insn in a basic block.
2047
8bb16620
BS
2048 * invoke.texi (Debugging Options): Describe -do.
2049 * toplev.c (enum_dump_file_index): New entry DFI_postreload.
2050 (dump_file): Likewise.
2051 (rest_of_compilation): Split .greg dump into .greg and .postreload.
2052
a5c3cccd
NB
20532000-10-30 Neil Booth <neilb@earthling.net>
2054
2055 * cppfiles.c (stack_include_file): Check for stacked contexts
2056 here.
2057 * cpphash.h (_cpp_do__Pragma): New prototype.
2058 * cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
2059
2060 * cpplex.c (skip_escaped_newlines): Only process trigraphs and
2061 escaped newlines if !(buffer->from_stage3).
2062 (_cpp_lex_token): Warn about missing newlines iff
2063 !buffer->from_stage3.
2064
2065 * cpplib.c (get__Pragma_string, destringize,
2066 _cpp_do__Pragma): New functions.
2067 (run_directive): Set output_line for _Pragma to avoid line
2068 markers in output. Set from_stage3 and prevent macro expansion
2069 for _Pragma and command-line options. Check buffer exhaustion.
2070 (cpp_push_buffer): Don't check for stacked macro contexts, as
2071 this is perfectly legitimate for _Pragma. Move the check to
2072 stack_include_file instead. Set from_stage3 iff buffer is
2073 preprocessed input.
2074
2075 * cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
2076 unsigned. New boolean from_stage3.
2077 (struct spec_nodes): Add n__Pragma.
2078
2079 * cppmacro.c (enter_macro_context): Flip sense of return value.
2080 (_cpp_get_token): Handle _Pragma operator.
2081
dbdaea41
PE
20822000-10-30 Phil Edwards <pme@sources.redhat.com>
2083
2084 * gcc.texi: The C++ standard isn't "draft" anymore.
2085
8a47978d
MM
20862000-10-30 Mark Mitchell <mark@codesourcery.com>
2087
2088 * cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
2089
1641a823
NB
20902000-10-29 Neil Booth <neilb@earthling.net>
2091
2092 * cpplib.c (skip_rest_of_line): Use _cpp_get_token.
2093
8c7b74b9
JM
20942000-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
2095
526aba28
JM
2096 * toplev.c, flags.h, fold-const.c, real.c, rtl.c,
2097 fixinc/inclhack.def: Change comments mentioning C9X to refer to
2098 C99 instead.
2099
8c7b74b9
JM
2100 * invoke.texi: Document that -V will only work for very similar
2101 versions of driver and compiler.
2102
44ed91a1
NB
21032000-10-29 Neil Booth <neilb@earthling.net>
2104
2105 * cppmacro.c (_cpp_create_definition): Optimize the case of
a8a05998 2106 a macro defined to itself.
44ed91a1 2107
3542203b
NB
21082000-10-29 Neil Booth <neilb@earthling.net>
2109
2110 * cpplex.c (save_comment): Don't store new lines in C++ comments.
2111
6f268adf
MH
21122000-10-29 Michael Hayes <mhayes@redhat.com>
2113
2114 * integrate.c (copy_insn_list): Copy the unchanging flag for calls.
2115
926c5678
GK
21162000-10-28 Geoffrey Keating <geoffk@cygnus.com>
2117
2118 * cpphash.c (cpp_forall_identifiers): Add context variable
2119 for callback routine.
2120 * cppmain.c (dump_macro): Update to match cpp_forall_identifiers
2121 change.
2122 (main): Call cpp_forall_identifiers with null context.
2123 * cpplib.h (cpp_forall_identifiers): Update prototype.
2124
2125 * cppmain.c: Make `parse_in' and `print' static.
2126
69f4cc4b
AM
21272000-10-28 Alan Modra <alan@linuxcare.com.au>
2128
2129 * c-decl.c (finish_function): Clear c_function_name_declared_p.
2130
ce73761f
RH
21312000-10-28 Richard Henderson <rth@redhat.com>
2132
2133 * regrename.c (scan_rtx_address): Frob action, not class,
2134 when trying to disable optimization.
2135
2c21b247
MM
21362000-10-28 Mark Mitchell <mark@codesourcery.com>
2137
2138 * c-semantics.c (make_rtl_for_local_static): Don't clobber
2139 DECL_ASSEMBLER_NAME.
2140
8763704d
JM
21412000-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
2142
2143 * configure.in: Determine and substitute gcc_version_full.
2144 * configure: Regenerate.
2145 * gccbug.in: Use it to give full version. Don't allow
2146 confidential PRs.
2147
85941a0a
RH
21482000-10-28 Richard Henderson <rth@redhat.com>
2149
2150 * recog.c (split_all_insns): Run cleanup_subreg_operands
2151 after reload.
2152
2153 * regrename.c (regrename_optimize): Verify that all registers of
2154 a multiple register mode are available.
2155 (scan_rtx_address): Accept the mode of the address; all callers
2156 changed.
2157
2158 * cpplib.c (run_directive): Fix prototype.
2159
69add2a8
BS
21602000-10-28 Bernd Schmidt <bernds@redhat.co.uk>
2161
2162 * reload.c (find_reloads): Distinguish "wins" so that we know whether
2163 a given operand won because of a matching constraint or not; then use
2164 that information to compute goal_alternative_matched properly.
4c3a2649
BS
2165 * reload1.c (choose_reload_regs): Never set reload_override_in for an
2166 optional reload.
69add2a8 2167
005f39ce
BS
2168 * config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
2169 accurate value for MULT.
55d8cb78
BS
2170 * config/ia64/ia64.c (ia64_print_operand): Require probability to be
2171 2% or > 98% before using static branch prediction bits.
005f39ce 2172
93c80368
NB
21732000-10-28 Neil Booth <neilb@earthling.net>
2174
2175 New macro expander.
a8a05998 2176
93c80368
NB
2177 * cpplib.c (struct answer): New.
2178 (struct if_stack): Use cpp_lexer_pos rather than line and col.
2179 Rename cmacro mi_cmacro.
2180 (struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
2181 IN_I): New directive and flags.
2182 (skip_rest_of_line, check_eol, run_directive, glue_header_name,
2183 parse_answer, parse_assertion, find_answer): New functions.
2184 (parse_ifdef, detect_if_not_defined, validate_else): Remove.
2185 (lex_macro_node): New function to replace parse_ifdef and
2186 get_define_node.
2187
2188 (_cpp_handle_directive): New function, combines _cpp_check_directive
2189 and _cpp_check_linemarker.
2190
2191 (do_define, do_undef, parse_include, do_include, do_import,
2192 do_include_next, read_line_number, do_line, do_ident, do_pragma,
2193 do_pragma_once, do_pragma_poison, do_pragma_dependency):
2194 Update for new token getting interface.
2195
2196 (do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
2197 : Update for new multiple-include optimisation technique.
2198 (do_elif): Don't forget to invalidate controlling macros.
2199
2200 (unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
2201 (parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
2202 Functions to handle assertions with the new token interface.
2203 (do_assert, do_unassert): Use them.
2204
2205 (cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
2206 Use run_directive.
2207
2208 (_cpp_init_stacks): Register directive names. Don't register special
2209 nodes.
2210
2211 * cpperror.c (print_containing_files, _cpp_begin_message): Update to
2212 new position recording regime.
2213 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
2214 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
2215 cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
2216 (cpp_type2name): Move to cpplex.c.
2217
2218 * cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
2219 (parse_defined): Update to handle new multiple include optimisation
2220 method. Remove poisoned identifier warning.
2221 (parse_assertion, TYPE_NAME): Delete.
2222 (lex): Update for multiple include optimisation, removal of
2223 CPP_DEFINED, to use _cpp_test_assertion for assertions and
2224 cpp_token_as_text.
2225 (_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
2226 (op_as_text): New function, to wrap cpp_token_as_text.
2227
2228 * cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
2229 Update for MI optimisation.
2230 (_cpp_execute_include): Take a token rather than 3 arguments. Fix
2231 segfault on diagnostic.
2232 (_cpp_compare_file_date): Take a token rather than 3 args.
2233 (cpp_read_file): Work correctly for zero-length files.
2234
2235 * cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
2236 _cpp_init_hashtable and _cpp_cleanup_hashtable.
2237 (cpp_lookup): Place identifiers at front of identifier pool
2238 for _cpp_lookup_with_hash.
2239 (_cpp_lookup_with_hash): Require identifiers to be at the front of
2240 the identifier pool. Commit the memory if not already in the
2241 hash table.
2242
2243 * cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
2244 Initialise various members of cpp_reader, memory pools, and the
2245 special nodes.
2246 (cpp_printer_init): Delete.
2247 (cpp_cleanup): Update.
2248 (struct builtin, builtin_array, initialize_builtins): Update for new
2249 hashnode definition and builtin handling.
2250 (cpp_start_read, cpp_finish): Don't take or initialise a
2251 printer. Update.
2252
2253 * cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
2254 PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
2255 T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
2256 T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
2257 (struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
2258 struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
2259 NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
2260 struct toklist, struct cpp_context, struct specnodes,
2261 TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
2262 NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
2263 enum builtin_type, cpp_can_paste): New.
2264 (struct cpp_token): Delete line and col members.
2265 (struct cpp_buffer): New member output_lineno.
2266 (struct lexer_state): Delete indented, in_lex_line, seen_dot.
2267 Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
2268 (struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
2269 ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
2270 base_context, context, directive, mi_state, mi_if_not_defined,
2271 mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
2272 mlstring_pos, macro_buffer, macro_buffer_len.
2273 Delete members mls_line, mls_column, token_list, potential_control_macro,
2274 temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
2275 context_cap, cur_context, no_expand_level, paste_level, contexts, args,
2276 save_parameter_spellings, need_newline, .
2277 Change type of date, time and spec_nodes members.
2278 Change prototypes for include and ident callbacks.
2279 (struct cpp_hashnode): Change type of name. Remove union members
2280 expansion and code. Add members macro, operator and builtin.
2281
2282 (cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
2283 cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
2284 cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
2285 cpp_stop_lookahead): New prototypes.
2286 (cpp_printer_init, cpp_dump_definition): Delete prototypes.
2287
2288 (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
2289 Move from cpphash.h.
2290
2291 * cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
2292 ufputs): Move to cpplib.h.
2293 (enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
2294 TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
2295 COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
2296 struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
2297 _cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
2298 _cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
2299 _cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
2300 _cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
2301 _cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
2302 _cpp_parse_assertion, _cpp_find_answer): Delete.
2303 (VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
2304 POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
2305 _cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
2306 _cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
2307 _cpp_handle_directive, DSC): New.
2308 (struct include_file): New member defined.
2309
2310 (DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
2311 _cpp_compare_file_date): Update.
2312 (_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
2313 (_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
2314 _cpp_cleanup_hashtable.
2315
2316 * Makefile.in: Remove cppoutput.c.
a8a05998 2317
93c80368
NB
2318 * cppoutput.c: Delete
2319
2320 * fixheader.c (read_scan_file): Update for new cpp_get_token
2321 prototype.
2322 (recognized_function): New argument LINE.
2323
2324 * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
2325 new cpp_get_token prototype.
2326
2327 * scan.h (recognized_function): Update prototype.
2328
2329 * po/POTFILES.in: Remove cppoutput.c.
a8a05998 2330
229a2e65
MM
23312000-10-27 Mark Mitchell <mark@codesourcery.com>
2332
2333 * c-typeck.c (check_init_type_bitfields): Remove.
2334 (constructor_incremental): Likewise.
2335 (struct constructor_stack): Remove incremental bit.
2336 (struct initializer_stack): Likewise.
2337 (start_init): Don't play with constructor_incremental.
2338 (finish_init): Likewise.
2339 (really_start_incremental_init): Likewise.
2340 (push_init_level): Likewise.
2341 (pop_init_level): Likewise.
2342 (output_init_level): Likewise.
2343 (output_pending_init_elements): Likewise.
2344
63eb1269
MC
23452000-10-21 Mike Coleman <mcoleman2@kc.rr.com>
2346
2347 * c-pragma.c (handle_pragma_pack): Initialize align to -1.
a8a05998 2348 Improve error messages. Correct parsing of
63eb1269
MC
2349 #pragma pack(pop [,id]). Do not check the user-supplied
2350 alignment if we're popping.
2351
2352 * gcc.dg/pack-test-1.c: New test case.
2353 * gcc.dg/pack-test-2.c: New test case.
2354 * gcc.dg/pack-test-1.h: New file.
2355
ae2eceaa
NB
23562000-10-27 Neil Booth <neilb@earthling.net>
2357
2358 * cpp.texi: Update.
2359
04e149ab
KC
23602000-10-27 Kelley Cook <kelley.cook@home.com>
2361
2362 * invoke.texi: Document -mintel-syntax
2363
2b2a8f1f
RH
23642000-10-27 Richard Henderson <rth@redhat.com>
2365
2366 * invoke.texi: Document -frename-registers. Add it to -O3.
2367 * toplev.c (rest_of_compilation): Run regrename before ifcvt2.
2368 (enum dump_file_index, dump_file): Update order.
2369 (main): Set flag_rename_registers at -O3.
2370
10c9f189
RH
23712000-10-27 Richard Henderson <rth@redhat.com>
2372
93c89ab3
RH
2373 * config/alpha/alpha.h (enum reg_class): Add PV_REG.
2374 (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
2375 (REG_CLASS_FROM_LETTER): Assign it to 'c'.
2376 * config/alpha/alpha.md (call_osf_1): Use it.
2377 (call_value_osf_1): Likewise.
2378
10c9f189
RH
2379 * config/ia64/ia64.c: Revert 10-23 patch.
2380 (ia64_hard_regno_rename_ok): New.
2381 * config/ia64/ia64-protos.h: Declare it.
2382 * config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
2383
541f7d56
BS
23842000-10-27 Bernd Schmidt <bernds@redhat.co.uk>
2385 Richard Henderson <rth@redhat.com>
2386
a8a05998
ZW
2387 * regrename.c: Rewrite to handle multi-register modes and
2388 cond_exec instructions.
2389 * Makefile.in (regrename.o): Update dependancies.
2390 * recog.h (struct operand_alternative): Add is_address.
2391 * recog.c (preprocess_constraints) [case 'p']: Set it.
541f7d56 2392
b8dad04b
ZW
23932000-10-27 Zack Weinberg <zack@wolery.stanford.edu>
2394
2395 * configure.in: If not NO_MINUS_C_MINUS_O, substitute
2396 OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to
2397 top level. Kill oldstyle_subdirs. Do not include
2398 $srcdir/$s/Makefile.in in all_lang_makefiles, but do include
2399 $outputs. Do not run configure.lang from config.status.
2400 Rearrange warning-flag logic to correspond to what the
2401 makefile wants. Put special vax stage1 options in
2402 @stage1_flags@ not @stage1_warn_cflags@. Don't do anything
2403 with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
2404 (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
2405 switch is given, nothing otherwise.
2406 * configure.lang: Delete.
2407
a8a05998
ZW
2408 * Makefile.in: Expunge all traces of extra_c_objs,
2409 extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from
2410 @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set
2411 warning options via a three level scheme so that -pedantic and
2412 -Wtraditional are not used for non-C front ends: LOOSE_WARN,
2413 STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
2414 WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
b8dad04b
ZW
2415 Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
2416 Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P,
a8a05998
ZW
2417 LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file
2418 generation rules. Wrap all rules that change the current
2419 directory in parentheses; pmake doesn't spawn a new shell for
2420 each command. Expunge all references to $(P). When one
2421 command depends on another and they're run all at once, use &&
2422 to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files
2423 deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2
2424 and beyond.
b8dad04b
ZW
2425
2426 * objc/Make-lang.in: Wrap all rules that change the current
2427 directory in parentheses. Expunge all references to $(P).
2428 When one command depends on another and they're run all at
2429 once, use && to separate them, not ;. Add OUTPUT_OPTION to
2430 all object-file generation rules. Delete obsolete variables.
2431 * objc/Makefile.in: Delete.
2432
fadb729c
JJ
24332000-10-27 Jakub Jelinek <jakub@redhat.com>
2434
2435 * calls.c (expand_call): If sibcall_failure is set during pass 1,
2436 clear tail_call_insns as well.
2437
254bb256
NC
24382000-10-27 Nick Clifton <nickc@redhat.com>
2439
2440 * config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
2441 prototype.
2442
8eb99146
RH
24432000-10-26 Richard Henderson <rth@redhat.com>
2444
b8dad04b 2445 * calls.c (expand_call): Supress sibcall if we have a
8eb99146
RH
2446 BLKmode return in registers.
2447
036099eb
BS
24482000-10-26 Bernd Schmidt <bernds@redhat.co.uk>
2449
2450 * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
2451 into memory.
2452
13c6f0d5
NS
24532000-10-26 Nathan Sidwell <nathan@codesourcery.com>
2454
2455 * tree.c (make_node, case 't'): Set alignment to that of
2456 char_type_node.
2457 * expr.c (move_by_pieces_ninsns): Abort if some length remains.
2458
be5aeb60
MM
24592000-10-25 Mark Mitchell <mark@codesourcery.com>
2460
2461 * Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
2462 * configure.in (enable-libstdcxx-v3): Arrange to have
2463 HAVE_LIBSTDCXX_V3 substituted into the output files.
2464
78192b09
RH
24652000-10-25 Richard Henderson <rth@redhat.com>
2466
4667f705
RH
2467 * recog.c (constrain_operands): Initialize which_alternative
2468 before no alternatives early exit.
2469
78192b09
RH
2470 * cse.c (find_comparison_args): Check that we can reverse a
2471 comparison if needed before accepting the substitution.
2472
081b49f1
RH
2473 * reload.c (find_reloads_address_part): Kill rtx obstack hackery.
2474
d4f1c1fa
RH
2475 * simplify-rtx.c (simplify_relational_operation): Sign extend
2476 low words before sign extending to high words.
2477
bc27e96c
NC
24782000-10-25 Nick Clifton <nickc@redhat.com>
2479
2480 * config/mcore/mcore.c: Include config.h before system.h.
2481
24822000-10-25 Ray Essick <essick@ddna.labs.mot.com>
2483
2484 * config/mcore/mcore.md (return): Force function epilogue to
2485 always be generated to work around epilogue suppression bug in
2486 M*Core backend.
2487
e0c9fbb7
JM
24882000-10-25 Joseph S. Myers <jsm28@cam.ac.uk>
2489
2490 * c-decl.c (grokdeclarator): Move warning for qualified void
2491 return types with -pedantic to when the function type is
2492 constructed. At -W, warn in general for qualified function return
2493 types, except for volatile void.
2494 * invoke.texi: Document this new warning at -W.
2495
138e79e7
NB
24962000-10-25 Neil Booth <neilb@earthling.net>
2497
b8dad04b
ZW
2498 * cpp.texi: Update with implementation-defined behavior and
2499 internal limits.
138e79e7 2500
dc5041ab
JJ
25012000-10-25 Jakub Jelinek <jakub@redhat.com>
2502
2503 * stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
2504 incomplete type force it into alias set 0.
2505
e004f2f7
JW
2506Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com)
2507
2508 * alias.c: Include basic-block.h.
2509 (loop_p): New function.
2510 (mark_constant_function): Use it.
2511 * Makefile.in (alias.o): Update dependencies.
2512
15c09738
AH
25132000-10-24 Aldy Hernandez <aldyh@redhat.com>
2514
2515 * config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
2516 like memory.
b8dad04b 2517
a8ca7756
JW
25182000-10-24 Jim Wilson <wilson@cygnus.com>
2519
2520 * expmed.c (store_bit_field): Move integer pun code down after
2521 code that calls emit_move_insn for entire register move.
2522 * stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
2523 Oct 20 changes. Only store mode in TYPE_MODE if RECORD_TYPE.
b8dad04b 2524
c0fc376b
RH
25252000-10-24 Richard Henderson <rth@cygnus.com>
2526
2527 * rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
2528 register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
2529
d7836e38
AH
25302000-10-24 Aldy Hernandez <aldyh@redhat.com>
2531
b8dad04b
ZW
2532 * gcse.c (cprop_insn): do not propagate constants into jump_insn
2533 for machines with CC0 more than once.
d7836e38 2534
5e2c51ba
RH
25352000-10-24 Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
2536
b8dad04b
ZW
2537 * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
2538 pseudos just like memory.
5e2c51ba 2539
c71e1201
AO
25402000-10-24 Alexandre Oliva <aoliva@redhat.com>
2541
2542 * combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
2543 when deleting libcall sequence collapsed to a single instruction.
2544
5129d2ce
AH
25452000-10-24 Andrew Haley <aph@cygnus.co.uk>
2546
2547 * expr.c (do_store_flag): Don't crash if either side of a
2548 comparison is error_mark_node.
2549
f85b5d65
JJ
25502000-10-24 Jakub Jelinek <jakub@redhat.com>
2551
2552 * sibcall.c (purge_mem_unchanging_flag): New function.
2553 (optimize_sibling_and_tail_recursive_calls): Call it.
2554
4adee315
PT
25552000-10-24 Philipp Thomas <pthomas@suse.de>
2556
2557 * Makefile.in (check-po): New target for doing checks in the po
2558 subdir if all languages configured.
2559 (CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
2560 configure if NLS is enabled.
2561 * configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
2562 otherwise leave empty.
2563 * configure: Regenerate.
2564
fb204271
DN
25652000-10-23 Diego Novillo <dnovillo@cygnus.com>
2566
2567 * i386.c (print_operand): Handle new 'A' formatting code.
2568 387 opcodes need suffixes even with -mintel-syntax.
2569 Check for explicit size override (codes 'b', 'w' and 'k').
2570 (print_operand_address): Check if register prefix is needed when
2571 emitting `ds' segment override.
2572 * i386.h: Add comment about new 'A' formatting code.
2573 * i386.md (jump and call patterns): Emit absolute references using %A.
2574
8a959ea5
RH
25752000-10-23 Richard Henderson <rth@cygnus.com>
2576
b8dad04b 2577 * config/ia64/ia64.c (ia64_expand_prologue): Mark extra
8a959ea5
RH
2578 output registers as fixed.
2579 (ia64_function_epilogue): Undo output fixation.
2580
964686de
RH
25812000-10-23 Richard Henderson <rth@cygnus.com>
2582
2583 * config/alpha/alpha.md: Add names for all unnamed insns; use
2584 define_insn_and_split in some obvious places.
2585 (lda): Remove.
2586 (zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
2587 (zero_extendqisi2, zero_extendqidi2): Likewise.
2588 (zero_extendhisi2, zero_extendhidi2): Likewise.
2589 (abs splitters): Fix match_scratch operand number.
2590 (bcc_reverse): Swap pc & label instead of non-canonical compare.
2591
18a3c539
JW
25922000-10-23 Jim Wilson <wilson@cygnus.com>
2593
2594 * ia64.c (ia64_print_operand, case 'r'): Correct comment. Handle
2595 CONST_INT.
2596 * ia64.md (cmpsi_adjusted): Use %r3.
2597 (cmpdi_adjusted): Likewise.
2598
57dd137f
DN
25992000-10-23 Diego Novillo <dnovillo@cygnus.com>
2600
2601 * config/i386/att.h (ASM_FILE_START): Define.
2602
d984704d
DN
26032000-10-23 Diego Novillo <dnovillo@cygnus.com>
2604
2605 * config/i386/linux.h (ASM_FILE_START): Define.
2606
261f21e7
DL
2607Wed Oct 18 11:16:40 2000 Donald Lindsay <dlindsay@cygnus.com>
2608
2609 * gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
2610 since this (only) drags in a crt0.o reference that the .ld files
2611 also introduce.
2612
96af667a
GK
26132000-10-23 Geoff Keating <geoffk@cygnus.com>
2614
2af88768
GK
2615 * reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
2616 overwrite the value in a RELOAD_FOR_INPUT and other kinds of
2617 reloads just like an RELOAD_FOR_OUTPUT would.
2618
96af667a
GK
2619 * local-alloc.c (update_equiv_regs): Add an abort(). When
2620 deleting or moving insns, update reg_equiv[regno].init_insns.
2621
d252a515
MM
26222000-10-23 Mark Mitchell <mark@codesourcery.com>
2623
2624 * c-tree.texi: Improve documentation for IF_STMTs and related
2625 conditional statements.
2626
f9808f81
MM
26272000-10-22 Mark Mitchell <mark@codesourcery.com>
2628
2629 * expr.c (do_preexpand_calls): Remove.
2630 (same_from_p): Don't use CALL_EXPR_RTL.
2631 (expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
2632 (preexpand_calls): Remove.
2633 * tree.c (first_rtl_op): Remove CALL_EXPR case.
2634 (unsave_expr_1): Likewise.
2635 * tree.def (CALL_EXPR): Give it only two slots.
2636 * tree.h (CALL_EXPR_RTL): Remove.
2637
ae4bd622
CC
26382000-10-21 Chandrakala Chavva <cchavva@redhat.com>
2639
2640 * libgcc-std.ver (__addvsi3, __addvdi3, __subvsi3, __subvdi3,
b8dad04b
ZW
2641 __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
2642 New functions.
ae4bd622 2643
3e555c7d
AO
26442000-10-22 Alexandre Oliva <aoliva@redhat.com>
2645
2646 * calls.c (combine_pending_stack_adjustment_and_call): Don't
2647 adjust stack when unadjusted_alignment ends up as zero.
2648
99bdaa68
JM
26492000-10-22 Joseph S. Myers <jsm28@cam.ac.uk>
2650
2651 * fixinc/genfixes: Remove EGCS reference.
2652 * install.texi: Remove EGCS reference.
2653 * INSTALL: Regenerate.
2654
e36308b0
MM
26552000-10-22 Mark Mitchell <mark@codesourcery.com>
2656
2657 * tree.h (TYPE_IS_SIZETYPE): Add more documentation.
2658
bf6eb15f
JM
26592000-10-21 Joseph S. Myers <jsm28@cam.ac.uk>
2660
2661 * diagnostic.c: Remove EGCS reference in comment.
2662
e62ff0c3
RK
2663Sat Oct 21 08:24:25 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2664
2665 * loop.c (strength_reduce): Fix error in last change.
2666
0ad7574f
DE
26672000-10-20 David Edelsohn <edelsohn@gnu.org>
2668
2669 * Makefile.in (SHLIB_NM_FLAGS): New.
2670 (libgcc.mk): Pass it.
2671 * mklibgcc.in (libgcc.map): Use it.
2672
2673 * rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
2674 SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
2675
8f54374e
KG
26762000-10-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2677
2678 * mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
2679
2680 * sparc.c (load_pic_register): Delete unused varaible.
2681
2682 * libgcc2.c (__addvsi3): Delete unused variable.
2683
2684 * libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
2685 __subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
2686 __negvdi2): Prototype.
2687
2688 * ssa.c (apply_delayed_renames): Avoid undefined operation.
2689
2690 * toplev.c (display_target_options): Make static to match
2691 prototype. Delete empty declaration.
2692
3f568531
TT
26932000-10-20 Tom Tromey <tromey@cygnus.com>
2694
2695 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
2696 * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
2697
235783d1
RK
2698Fri Oct 20 17:05:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2699
2700 * expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
2701 returned MEM.
2702 (expand_expr_unaligned, case ARRAY_REF): Check that index is
2703 a constant before comparing it; use tree_low_cst.
2704 * tree.c (save_expr): Set TREE_READONLY.
2705 (substitute_expr): Return inside of NON_LVALUE_EXPR.
2706 (build, build1): Set TREE_READONLY if all operands are.
2707 (build_index_type): If upper bound is a negative number, lower
2708 bound is zero and sizetype is unsigned, use upper bound of one and
2709 lower of zero.
2710
2e44948d
DE
27112000-10-20 David Edelsohn <edelsohn@gnu.org>
2712
2713 * gcc.c (process_command, main): Use "because" instead of
2714 "since" in error messages.
2715
44475138
RK
2716Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2717
382110c0
RK
2718 * stor-layout.c (compute_record_mode): Use tree_low_cst.
2719 Don't use mode of field for record unless sizes are the same.
2720 (layout_type, case ARRAY_TYPE): Remove special bounds handling
2721 previously added for Ada; also change to using host_integerp
2722 and tree_low_cst.
2723
1dcdb0df
RK
2724 * loop.c (strength_reduce): Show when new register made for
2725 giv is known to be a pointer and its aligment if so and known.
2726 (loop_dump_aux): Show VERBOSE parameter unused.
2727
ebb13e7e
RK
2728 * gcse.c (set_hash_table_size): Now unsigned.
2729 * sdbout.c (template_name_p): Add "const" to avoid warnings.
2730 (sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
2731 (sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
2732 (sdbout_end_epilogue): Remove variable NAME.
2733 * system.h (getopt): Add default definition.
2734 * config/alpha/alpha.c (print_operand): Don't continue processing
2735 after issuing error.
2736 (summarize_insn): Avoid use of UL in constant.
2737
1468899d
RK
2738 * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
2739
44475138
RK
2740 * fold-const.c (force_fit_type): Unsigned values can overflow
2741 if they are sizetype.
2742 (int_const_binop): Don't use cache if overflows.
391db8c9 2743
23ccfa6d
RH
27442000-10-20 Richard Henderson <rth@cygnus.com>
2745
2746 * function.c (locate_and_pad_parm): Zero alignment_pad.
2747
4ca0f257
RH
2748 * regrename.c (rr_replace_reg): Rewrite to use recog_data to
2749 perform substitutions, and apply_change_group to see if it worked.
2750
0345195a
RK
2751Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2752
d57e164f
RK
2753 * dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
2754
0345195a
RK
2755 * combine.c (struct undo): Change int to unsigned int.
2756 (do_SUBST_INT): Args are unsigned int.
2757 (make_extraction, force_to_mode): Use proper type when forming mask.
2758 (make_field_assignment): Likewise.
2759
2f74f7e9
JM
27602000-10-20 Joseph S. Myers <jsm28@cam.ac.uk>
2761
2762 * c-common.c (check_format_info_recurse): Extract string constant
2763 initializers from non-volatile constant arrays and check them as
2764 formats.
2765 * c-typeck.c (decl_constant_value): Don't check pedantic or check
2766 for DECL_MODE (decl) != BLKmode.
2767 (decl_constant_value_for_broken_optimization): New function which
2768 includes these checks.
2769 (default_conversion, convert_for_assignment, digest_init): Use
2770 decl_constant_value_for_broken_optimization instead of
2771 decl_constant_value.
2772
971774bb
MM
27732000-10-20 Mark Mitchell <mark@codesourcery.com>
2774
2775 * tree.h (DECL_ALIGN_UNIT): New macro.
2776
afee2a52
MM
27772000-10-14 Marek Michalkiewicz <marekm@linux.org.pl>
2778
2779 * config/avr/avr-protos.h (avr_output_bld): New.
2780 (out_shift_with_cnt): Add t_len argument.
2781 * config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
2782 (output_movqi, output_movhi, output_movsisf): Optimize loading
2783 any constant with exactly one bit set to NO_LD_REGS.
2784 (out_shift_with_cnt): Optimize output code for size or speed,
2785 depending on optimize_size. Handle small shift counts as well
2786 (if not hand-optimized in ?sh??i3_out). Shifts can be done
2787 with or without a scratch register, with help of __tmp_reg__
2788 or __zero_reg__ if necessary. Add T_LEN argument to pass the
2789 length of TEMPLATE in words, return total insn length in *LEN.
2790 (ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
2791 out_shift_with_cnt to work with the above change.
2792 (ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
2793 lshrsi3_out): Likewise. Optimize more known shift count cases.
2794 Remove cases already well optimized in out_shift_with_cnt.
2795 (avr_output_bld): New function.
2796 * config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
2797 (TARGET_SWITCHES): Remove -mpack-args backward compatibility.
2798 * config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
2799 Add reload_completed to insn condition - only for peepholes.
2800 (ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
2801 in a register or memory.
2802 (ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
2803 Do not require a scratch register.
2804 (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
2805 *lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
2806 Optimize shifts by known count using a scratch register, but only
2807 if one is still available after register allocation.
2808
831f9339 28092000-10-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
b8dad04b 2810
831f9339
DA
2811 * t-vax: New file. Don't build modules from libgcc1.c.
2812
bf6d9fd7
JW
2813Fri Oct 20 00:57:00 EDT 2000 John Wehle (john@feith.com)
2814
2815 * alias.c: (mark_constant_function): Don't check pure functions.
2816 Initialize and end alias analysis.
2817 (nonlocal_mentioned_p): Rename from nonlocal_reference_p.
2818 Don't make a special exception for recursion. Handle
2819 UNSPEC_VOLATILE. Don't assume ASM_OPERANDS is non-local
2820 unless it's volatile.
2821
2822 * local-alloc.c (equivalence): New structure.
2823 (reg_equiv): Define.
2824 (contains_replace_regs): Remove array and use
2825 field in reg_equiv.
2826 (memref_referenced_p): Likewise.
2827 (no_equiv): Likewise.
2828 (update_equiv_regs): Likewise.
2829
2830 (equiv_init_varies_p,
2831 equiv_init_movable_p): New functions.
2832 (update_equiv_regs): Use them. Use rtx_varies_p
2833 instead of function_invariant_p. Process insns
2834 from end to beginning. Allow a REG_EQUIV insn
2835 within the same loop as a use to be moved, also
2836 allow it to be moved out of a loop. Update
2837 REG_DEAD notes when substituting into an insn.
2838
ef375129
JW
28392000-10-19 Jim Wilson <wilson@cygnus.com>
2840
f4fce7ed
JW
2841 * c-decl.c (start_decl): Check for error_mark_node type before using
2842 COMPLETE_TYPE_P.
2843 (finish_decl): Likewise. Don't give an error if decl type is
2844 already error_mark_node.
2845
ef375129
JW
2846 * haifa-sched.c (compute_trg_info): Add explanatory comments.
2847 New local update_blocks. Use update_blocks to remove duplicates
2848 when computing update blocks. Check for bblst_table overflow.
2849 (schedule_block): Add explanatory comment. Reduce bblst_size by
2850 factor of 2.
2851 * config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
2852 notes.
b8dad04b 2853
3cf37281
CC
28542000-10-19 Chandrakala Chavva <cchavva@redhat.com>
2855
2856 * libgcc2.c (_mulvsi3): Change variables u and v to a and b.
2857
e6b4d09d
CC
28582000-10-19 Chandrakala Chavva <cchavva@redhat.com>
2859
2860 * expmed.c: Minor corrections in comments.
2861 * invoke.texi: Added desciption for the new option -ftrapv.
2862
3d2adde6
CC
28632000-10-19 Chandrakala Chavva <cchavva@redhat.com>
2864
2865 * libgcc2.c: Added the missing #endif.
2866
1aa9fd24
JH
2867Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz>
2868
2869 * i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document.
2870
91ce572a
CC
28712000-10-18 Chandrakala Chavva <cchavva@redhat.com>
2872
b8dad04b
ZW
2873 * expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
2874 Use smulv_optab for -ftrapv.
2875 (expand_mult_highpart): Use unsigned multiply.
2876 (expand_divmod): Special-case division by -1.
2877 For EXACT_DIV_EXPR, do right shift first, then the multiply.
2878 For complex divide, use abs with unsigned result.
2879 * expr.c (force_operand): Use unsigned multiply.
2880 (expand_expr): Use overflow-trapping optabs for signed types if
2881 flag_trapv.
2882 If flag_trapv, don't generate a recursive call with EXPAND_SUM
2883 if the type is signed and the original call wasn't EXPAND_SUM or
2884 EXPAND_INITIALIZER.
2885 * expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
2886 (negv_optab, absv_optab): Declare.
2887 * flags.h (flag_trapv): Declare.
2888 * genopinit.c (optabs): Add entries for addv_optab, subv_optab,
2889 smulv_optab, sdivv_optab, negv_optab and absv_optab.
91ce572a 2890 (gen_insn): Interpret '$P' as requiring an integer mode,
b8dad04b
ZW
2891 including partial integer modes.
2892 * loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
2893 (product_cheap_p): Use unsigned expand_mult.
2894 * optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
2895 (negv_optab, absv_optab): Define.
2896 (expand_binop): Use overflow-trapping optabs for signed types if
2897 flag_trapv.
2898 Handle negv_optab libe neg_optab.
2899 (expand_abs): Take result_unsignedp argument instead of unsignedp one.
2900 Use overflow-trapping optabs for signed result if flag_trapv.
2901 (expand_complex_abs): Use overflow-trapping optabs for signed types if
2902 flag_trapv.
2903 Don't open-code complex absolute-value operation for flag_trapv.
2904 (init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
2905 sdivv_optab, negv_optab and absv_optab.
2906 * toplev.c (flag_trapv): Define.
2907 (lang_independent_options f_options): Include flag_trapv.
2908 * tree.h (TYPE_TRAP_SIGNED): Define.
2909 * libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
2910 __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
2911 New functions.
2912 * Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
2913 _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
91ce572a 2914
4c2c5712
GK
29152000-10-18 Geoffrey Keating <geoffk@cygnus.com>
2916 David V. Henkel-Wallace <gumby@cygnus.com>
2917
2918 * config/i386/t-netware: Bring in from the Red Hat tree.
2919 * config/i386/netware.h: Likewise.
2920 * config/netware.h: Likewise.
2921 * config/rs6000/netware.h: Delete.
2922 * configure.in: Add i[34567]86-*-netware.
2923 * configure: Hand-edit to match configure.in change.
2924
6bcedb4e
MM
29252000-10-18 Mark Mitchell <mark@codesourcery.com>
2926
2927 * c-common.h (flag_no_builtin): Declare.
2928 (flag_no_nonansi_builtin): Likewise.
2929 (c_common_nodes_and_builtins): Change prototype.
2930 * c-common.c (flag_no_builtin): New variable.
2931 (flag_no_nonansi_builtin): Likewise.
2932 (c_common_nodes_and_builtins): Remove parameters. Adjust
2933 accordingly.
2934 * c-decl.c (flag_no_builtin): Remove.
2935 (flag_no_nonansi_builtin): Likewise.
2936 (init_decl_processing): Adjust call to
2937 c_common_nodes_and_builtins.
b8dad04b 2938
989b26a7
ME
29392000-10-18 Marc Espie <espie@openbsd.org>
2940
2941 * tm.texi (LIBGCC_SPEC): Synch with reality.
2942
81cf47b2
JM
29432000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
2944
2945 * c-common.c (check_format_types): Check for writing through a
2946 NULL pointer argument.
2947
27c35f4b
HPN
29482000-10-18 Hans-Peter Nilsson <hp@axis.com>
2949
2950 * tm.texi (Exception Region Output): Document
2951 DWARF_CIE_DATA_ALIGNMENT.
2952 * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
2953 #ifndef.
2954 [ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
2955 DWARF_CIE_DATA_ALIGNMENT.
2956
4a7da9b5
MH
29572000-10-18 Michael Hayes <mhayes@cygnus.com>
2958
2959 * basic-block.h (struct loop): Delete fields pre_header_root
2960 and pre_header_trace and replace with pre_header_edges
2961 and num_pre_header_edges.
2962 * flow.c (flow_loop_dump): Dump pre_header_edges.
2963 (flow_loops_free): Free pre_header_edges.
2964 (flow_loop_pre_header_scan): Calculate pre_header_edges.
2965
42c10750
GP
29662000-10-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2967
2968 * contrib.texi: Update references to steering committee members
2969 and Jeff Law's entry.
2970
ade7d3cc
JM
29712000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
2972
2973 * c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
2974 (maybe_read_dollar_number, check_format_info_main): Use them for
2975 pedantic warning messages.
2976
c5251260
JM
29772000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
2978
2979 * c-common.c (check_format_info_main): Minor cleanup: move
2980 variables into inner scopes; initialize declarations where
2981 appropriate; don't hardcode "scanf" name on warning for zero
2982 width.
2983
67673f5c
MM
29842000-10-17 Mark Mitchell <mark@codesourcery.com>
2985
2986 * c-common.c (back_end_hook): New variable.
2987 * c-common.h (back_end_hook): Declare it.
2988 * c-lang.c (finish_file): Use it.
2989
2990 * emit-rtl.c (init_emit_once): Initialize the const_int_htab
2991 earlier.
b8dad04b 2992
1aa9fd24 29932000-10-18 Jan Hubicka <jh@suse.cz>
265dab10 2994
b8dad04b
ZW
2995 * i386.c (ix86_comparison_operator, put_condition_code,
2996 ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
2997 (ix86_expand_strlensi_unroll_1): Use CCRCmode.
2998 * i386.h (EXTRA_CC_MODES): Add CCRCmode.
2999 * i386.md (adddi and negdi splitter): Use CCRCmode.
3000 (add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
3001 (subsi3_carry): add '*'
3002 (addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
3003 (cmp to add peep2): Use CCRCmode; swap operands.
265dab10 3004
b054460b
KH
30052000-10-18 Kazu Hirata <kazu@hxi.com>
3006
8682223f
KH
3007 * h8300.c: Fix a comment typo.
3008 (round_frame_size): New.
3009 (compute_saved_regs): Likewise.
3010 (push): Likewise.
3011 (pop): Likewise.
3012 (push_order): Remove.
3013 (pop_order): Likewise.
3014 (function_prologue): Rearrange code for readability.
3015 (function_epilogue): Likewise.
3016
b054460b
KH
3017 * config/h8300/h8300.md: Remove an unnecessary sign_extend
3018 expander that is used when not optimizing. Output a tab after
3019 each assembly insns.
3020
f27e6bb2
KH
3021 * reorg.c: Fix formatting.
3022
19ca869b
JR
30232000-10-17 Joern Rennecke <amylaar@redhat.co.uk>
3024
3025 * reload1.c (move2add_note_store): Check for simple
3026 auto-inc in destination.
3027
2ddb1ca1
MC
30282000-10-17 Michael Chastain <chastain@redhat.com>
3029
3030 * config/i386/i386-aout.h: define INT_ASM_OP.
3031
11881f37
AM
3032Tue Oct 17 20:11:08 2000 Alan Modra <alan@linuxcare.com.au>
3033
3034 * pa.c (print_operand): Handle case 'c' for .vtable_inherit
3035
33e39e38
MB
3036Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
3037
3038 * i370.md: Fix spelling typo.
3039
832ea3b3
FS
30402000-10-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3041
3042 * function.c (locate_and_pad_parm): Don't align stack unconditionally.
2b7fb034 3043 Fixes execute/20001017-1.c on powerpc-linux-gnu.
832ea3b3
FS
3044
3045 * expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
2b7fb034 3046 * rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
832ea3b3
FS
3047 LABEL_REF.
3048
3049 * rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
3050 ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
3051 here...
3052 * rs6000/aix.h: ...to here.
3053 * rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
3054
4c646291
JJ
30552000-10-17 Jakub Jelinek <jakub@redhat.com>
3056
3057 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
3058
3059 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
3060 sure linker can relax even the delay slot mov %g1,%o7, fix output
3061 formating.
3062
07e0fe3d
KH
30632000-10-17 Kazu Hirata <kazu@hxi.com>
3064
3065 * config/h8300/h8300.md: Remove an unnecessary zero_extend
3066 expander that is used when not optimizing. Output a tab after
3067 each assembly insns.
3068
10501d8f
CC
30692000-10-17 Chandrakala Chavva <cchavva@redhat.com>
3070
3071 * gcc.c: New options --target-help.
3072 (process_command): Added code to parse this new option.
3073 * toplev.c (display_target_options): New function to support the
3074 above new option.
3075 * cppinit.c (new_pending_directive) : New option OPT_target__help.
3076 (cpp_handle_option): Support this new option.
3077 * invoke.texi: Added notes about --target-help option.
b8dad04b 3078
c330e9c1 30792000-10-17 Graham Stott <grahams@redhat.com>
b8dad04b 3080
c330e9c1
GS
3081 * config/i386/i386.md (testqi_1): Add missing operand prefix
3082 for operand 0.
3083 * config/i386/i386-protos.h: Add missing prototype.
b8dad04b 3084
69ac4831
DN
30852000-10-17 Diego Novillo <dnovillo@cygnus.com>
3086
3087 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
3088 _GLOBAL_OFFSET_TABLE should not have a $ prefix when
3089 using -mintel-syntax.
3090
b691cb00
JM
30912000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
3092
3093 * c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
3094 (format_types): Use it for printf.
3095 (maybe_read_dollar_number): Add parameter for the kind of format
3096 involved. Warn for multiple use for arguments if this is
3097 inappropriate for the kind of format involved.
3098 (check_format_info_main): Update calls to maybe_read_dollar_number.
3099
948eab23
DA
31002000-10-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3101
3102 * inclhack.def (hpux_maxint): Also apply fix to values.h.
3103 * fixincl.x: Rebuilt.
3104
1651ab85
AO
31052000-10-17 Alexandre Oliva <aoliva@redhat.com>
3106
3107 * genrecog.c (write_switch): Return the first condition that needs a
3108 label.
3109
2683ed8d
BS
31102000-10-17 Bernd Schmidt <bernds@redhat.co.uk>
3111
3112 * c-tree.h (warn_sequence_point): Move declaration to...
3113 * c-common.h (warn_sequence_point): ... here.
3114 * c-decl.c (warn_sequence_point): Move definition to...
3115 * c-common.c (warn_sequence_point): ... here.
3116 (struct reverse_tree): New.
3117 (reverse_list, reverse_max_depth): New static variables.
3118 (build_reverse_tree, common_ancestor, modify_ok
3119 verify_sequence_points): New functions.
3120 (c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
3121 * c-typeck.c (check_modify_expr): Delete.
3122 (build_modify_expr): Don't call it.
3123
74ff4629
JM
31242000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
3125
3126 * c-common.h (warn_missing_format_attribute): New variable.
3127 * c-decl.c (warn_missing_format_attribute): New variable.
3128 (c_decode_option): Decode -Wmissing-format-attribute and
3129 -Wno-missing-format-attribute.
3130 * c-common.c (check_function_format): If
3131 -Wmissing-format-attribute, give a warning where a vprintf or
3132 vscanf function is called by a function without its own printf or
3133 scanf attribute.
3134 * toplev.c (documented_lang_options): Add
3135 -Wmissing-format-attribute.
3136 * invoke.texi: Document -Wmissing-format-attribute.
3137
1d3b0e2c
ME
31382000-10-17 Marc Espie <espie@openbsd.org>
3139
3140 * invoke.texi (-shared): Insist on requiring code generation flags
3141 to be used along with -shared, and document the subtle failure that
3142 may occur otherwise.
3143
1c217171
DA
31442000-10-16 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3145
3146 * pa.md (return_internal): Move `use' after `return'.
3147
11f3dc89
TP
31482000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
3149
3150 * machmode.def: Correct comment.
3151
0952f89b
RB
31522000-10-16 Rodney Brown <RodneyBrown@mynd.com>
3153
47c10e9b
RB
3154 * print-rtl.c (print_rtx_head): Constify.
3155 * rtl.h (print_rtx_head): Similarly.
3156
0952f89b
RB
3157 * config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
3158 Constify char * return value.
3159 * config/pa/pa/pa.c
3160 (output_64bit_and, output_64bit_ior): Constify char * return value.
3161 (pa_can_combine_p): Make static.
3162 (function_arg): Decorate unused `named' argument. Fix comment typo.
3163 (function_arg_partial_nregs): Decorate unused `named' argument.
3164
6d2e1454
JM
31652000-10-16 Joseph S. Myers <jsm28@cam.ac.uk>
3166
3167 * c-common.c (format_check_results): New structure.
3168 (finish_dollar_format_checking): Adjust to take a
3169 format_check_results * parameter.
3170 (check_format_info, check_format_info_recurse,
3171 check_format_info_main): Split check_format_info into three
3172 functions, the main checking going in check_format_info_main.
3173 Recurse when any reduction of the format string argument towards a
3174 string literal is done; go down both branches of a conditional
3175 expression. Don't warn for extra format arguments or empty format
3176 strings if they only occur in some branches of a conditional
3177 expression.
3178
4d231df7
KH
31792000-10-16 Kazu Hirata <kazu@hxi.com>
3180
f2a9645f 3181 * config/h8300/h8300.c: Remove obstack. Include ggc.h.
4d231df7 3182
55143861
JJ
31832000-10-16 Jakub Jelinek <jakub@redhat.com>
3184
3185 * rtlanal.c (may_trap_p): Check operand modes of COMPARE.
3186
406df25c
DN
31872000-10-15 Diego Novillo <dnovillo@cygnus.com>
3188
3189 * i386.md (*movsi_or): Switch operand order for intel syntax.
3190
e8beb821
JM
31912000-10-14 Joseph S. Myers <jsm28@cam.ac.uk>
3192
2f6256e7
JM
3193 * PROBLEMS: Remove.
3194
e8beb821
JM
3195 * gcc.texi (Contributing): Update.
3196
c1f9de5a
DN
31972000-10-13 Diego Novillo <dnovillo@cygnus.com>
3198
3199 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
3200 appropriate assembler dialect.
3201
f58e0b0c
AO
32022000-10-13 Alexandre Oliva <aoliva@redhat.com>
3203
3204 * c-common.c (c_expand_builtin): PARAMS-ize prototype.
3205
08f81276
MM
32062000-10-12 Marek Michalkiewicz <marekm@linux.org.pl>
3207
3208 * config/avr/avr.c (output_movhi, output_movsisf): Fix loading
3209 constants 1 and 2 to NO_LD_REGS.
3210
4b945402
KG
32112000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3212
3213 * Makefile.in (c-parse.c, tradcif.c): Create atomically.
b8dad04b 3214
4b945402
KG
3215 * objc/Make-lang.in (objc-parse.c): Likewise.
3216
c7319d87
RE
32172000-10-13 Richard Earnshaw <rearnsha@arm.com>
3218
3219 * arm.c: Include obstack.h
3220 (minipool_obstack, minipool_startobj): Define.
3221 (arm_add_gc_roots): Initialize them.
3222 (create_fix_barrier): Use our new obstack.
3223 (push_minipool_barrier, push_minipool_fix): Likewise.
3224 (arm_reorg): Release obstack memory.
3225
fccf9848
JJ
32262000-10-13 Jakub Jelinek <jakub@redhat.com>
3227
3228 * config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
3229 (prologue, exception_receiver, builtin_setjmp_receiver): New
3230 patterns.
3231 * config/sparc/sparc.h (FINALIZE_PIC): Remove.
3232 * config/sparc/sparc-protos.h (finalize_pic): Remove.
3233 (load_pic_register): New prototype.
3234 * config/sparc/sparc.c (pic_setup_code): Remove.
3235 (finalize_pic): Rename to...
3236 (load_pic_register): ...this function.
3237 Don't look for nonlocal_goto_receivers and emit pic setup code
3238 directly. Don't check current_function_uses_pic_offset_table.
3239
7584b89f
RE
32402000-10-13 Richard Earnshaw <rearnsha@arm.com>
3241
3242 * tree.h (struct obstack): Declare.
3243
1f8f4a0b
MM
32442000-10-12 Mark Mitchell <mark@codesourcery.com>
3245
b8dad04b 3246 Remove obstacks.
1f8f4a0b 3247 * Makefile.in (ggc-callbacks.o): Remove target.
b8dad04b 3248 (flow.o): Depend on GGC_H.
1f8f4a0b
MM
3249 * alias.c (init_alias_analysis):
3250 Remove ggc_p conditionals.
b8dad04b 3251 (end_alias_analysis): Likewise.
1f8f4a0b 3252 * basic-block.h (init_flow): New function.
b8dad04b 3253 (allocate_reg_life_data): Declare.
1f8f4a0b
MM
3254 * bb-reorder.c (function_obstack): Replace with ...
3255 (flow_obstack): ... new variable.
b8dad04b 3256 (fixup_reorder_chain): Use it.
1f8f4a0b 3257 * c-decl.c (ggc_p): Remove.
b8dad04b 3258 (caller-save.c): Don't call oballoc/obfree.
1f8f4a0b
MM
3259 * combine.c (struct
3260 undobuf): Remove storage.
3261 (try_combine): Don't call oballoc.
b8dad04b 3262 (undo_all): Don't call obfree.
1f8f4a0b
MM
3263 * cse.c (insert): Use xmalloc, not
3264 oballoc.
b8dad04b 3265 (cse_main): Adjust accordingly.
1f8f4a0b
MM
3266 * dwarf2out.c (save_rtx): Remove
3267 obstack code.
b8dad04b 3268 (dwarf2out_init): Remove ggc_p conditionals.
1f8f4a0b
MM
3269 * emit-rtl.c (rtl_obstack): Remove.
3270 (gen_rtx_CONST_INT): Remove ggc_p conditionals.
3271 (make_insn_raw): Likewise.
3272 (emit_insn_before): Likewise.
3273 (emit_insn_after): Likewise.
3274 (emit_insn): Likewise.
3275 (gen_sequence): Likewise.
3276 (copy_insn_1): Remove handling of `b' RTL components.
b8dad04b 3277 (init_emit_once): Remove ggc_p conditionals.
1f8f4a0b
MM
3278 * except.c (create_rethrow_ref): Don't fool with obstacks.
3279 (add_partial_entry): Likewise.
3280 (call_get_eh_context): Likewise.
3281 (begin_protect_partials): Likewise.
b8dad04b 3282 (protect_with_terminate): Likewise.
1f8f4a0b 3283 * explow.c
b8dad04b 3284 (plus_constant_wide): Likewise.
1f8f4a0b
MM
3285 * expr.c (init_expr_once):
3286 Likewise.
3287 (emit_block_move): Likewise.
3288 (clear_storage): Likewise.
b8dad04b 3289 (expand_expr): Likewise.
1f8f4a0b
MM
3290 * flow.c (function_obstack): Remove.
3291 (flow_obstack): New variable.
3292 (flow_firstobj): Likewise.
3293 (create_base_block): Use the flow_obstack.
3294 (split_block): Likewise.
3295 (split_edge): Likewise.
3296 (calculate_global_regs_live): Likewise.
3297 (allocate_bb_life_data): Make it static. Likewiwse.
3298 (init_flow): New function.
b8dad04b 3299 (size_int_type_wide): Remove ggc_p conditionals.
1f8f4a0b
MM
3300 * function.c
3301 (push_function_context_to): Don't call save_tree_status.
3302 (pop_function_context_from): Or restore_tree_status.
3303 (assign_stack_local_1): Don't call push_obstacks.
3304 (find_fixup_replacement): Use xmalloc.
3305 (fixup_var_refs_insns): Free the storage.
3306 (insns_for_mem_walk): Don't mess with obstacks.
3307 (instantiate_decls): Likewise.
3308 (trampoline_address): Likewise.
b8dad04b 3309 (expand_function_end): Likewise.
1f8f4a0b
MM
3310 * function.h (sturct function):
3311 Remove obstack-related variables.
3312 (save_tree_status): Don't declare.
b8dad04b 3313 (restore_tree_status): Likewise.
1f8f4a0b 3314 * gcse.c (compute_can_copy):
b8dad04b 3315 Don't call oballoc/obfree.
1f8f4a0b
MM
3316 * genattrtab.c (operate_exp): Remove
3317 ggc_p conditionals.
3318 (simplify_cond): Likewise.
3319 (simplify_test_exp): Don't mess with obstacks.
b8dad04b 3320 (optimize_attrs): Likewise.
1f8f4a0b 3321 * gengenrtl.c (gendef): Don't include
b8dad04b
ZW
3322 ggc_p conditionals.
3323 * ggc-callbacks.c (ggc_p): Remove.
3324 * ggc-none.c (ggc_p): Remove.
3325 * ggc.h (ggc_p): Don't declare.
265dab10 3326 * integrate.c (save_for_inline): Don't mess with obstacks.
1f8f4a0b 3327 (integrate_decl_tree): Likewise.
b8dad04b 3328 (output_inline_function): Likewise.
1f8f4a0b 3329 * lists.c
b8dad04b 3330 (init_EXPR_INSN_LIST_cache): Likewise.
1f8f4a0b
MM
3331 * loop.c (temp_obstack):
3332 Remove.
3333 (rtl_obstack): Likewise.
3334 (init_loop): Don't mess with obstacks.
3335 (reg_address_cost): Free BIVs and GIVs.
3336 (check_insns_for_bivs): Use xmalloc, not oballoc.
3337 (find_mem_givs): Likewise.
3338 (record_biv): Likewise.
3339 (general_induction_var): Likewise.
b8dad04b 3340 (product_cheap_p): Likewse.
1f8f4a0b 3341 * optabs.c (init_one_libfunc): Remove
b8dad04b 3342 ggc_p conditional.
1f8f4a0b
MM
3343 * print-tree.c (debug_tree): Don't use
3344 oballoc/obfree.
b8dad04b 3345 (print_node): Likewise.
1f8f4a0b 3346 * profile.c (output_func_start_profiler):
b8dad04b 3347 Remove call to temporary_allocation.
1f8f4a0b 3348 * reload1.c
b8dad04b 3349 (eliminate_regs_in_insn): Don't mess with obstacks.
1f8f4a0b
MM
3350 * resource.c
3351 (mark_target_live_regs): Use xmalloc.
b8dad04b 3352 (free_resource_info): Free the memory.
1f8f4a0b
MM
3353 * rtl.c (rtl_obstack):
3354 Remove.
3355 (rtvec_alloc): Don't mess with obstacks.
3356 (rtx_alloc): Likewise.
3357 (rtx_free): Remove.
3358 (copy_rtx): Don't handle `b' cases.
b8dad04b 3359 (read_rtx): Use a local rtl_obstack.
1f8f4a0b
MM
3360 * rtl.h (oballoc): Remove.
3361 (obfree): Likewise.
3362 (pop_obstacks): Likewise.
3363 (push_obstacks): Likewise.
3364 (allocate_bb_life_data): Likewise.
3365 (allocate_reg_life_data): Likewise.
b8dad04b 3366 (rtx_free): Likewise.
1f8f4a0b 3367 * sdbout.c (sdbout_queue_anonymous_type):
b8dad04b 3368 Use tree_cons, not saveable_tree_cons.
1f8f4a0b 3369 * simplify-rtx.c
b8dad04b 3370 (cselib_init): Don't mess with obstacks.
1f8f4a0b
MM
3371 * stmt.c
3372 (mark_block_nesting): Mark the label_chain.
3373 (epxand_label): Use ggc_alloc, not oballoc.
3374 (clear_last_expr): Don't mess with obstacks.
3375 (expand_decl_cleanup): Likewise.
3376 (expand_dcc_cleanup): Likewise.
3377 (expand_dhc_cleanup): Likewise.
3378 (expand_anon_union_decl): Likewise.
3379 (add_case_node): Use xmalloc, not oballoc.
3380 (free_case_nodes): New function.
b8dad04b 3381 (expand_end_case): Call it.
1f8f4a0b
MM
3382 * stor-layout.c (layout_type): Don't
3383 mess with obstacks.
b8dad04b 3384 (layout_type): Likewise.
1f8f4a0b
MM
3385 * toplev.c (wrapup_global_declarations):
3386 Likewise.
3387 (compile_file): Remove ggc_p conditionals.
3388 (rest_of_compilation): Call init_flow. Remove ggc_p conditionals.
b8dad04b 3389 (decode_f_option): Remove ggc_p conditionals.
1f8f4a0b
MM
3390 * tree.c
3391 (function_maybepermanent_obstack): Remove.
3392 (maybepermanent_obstack): Likewise.
3393 (function_obstack): Likewise.
3394 (tmeporary_obstack): Likewise.
3395 (momentary_obstack): Likewise.
3396 (temp_decl_obstack): Likewise.
3397 (saveable_obstack): Likewise.
3398 (rtl_obstack): Likewise.
3399 (current_obstack): Likewise.
3400 (expression_obstack): Likewise.
3401 (struct obstack_stack): Likewise.
3402 (obstack_stack): Likewise.
3403 (obstack_stack_obstack): Likewise.
3404 (maybepermanent_firstobj): Likewise.
3405 (temporary_firstobj): Likewise.
3406 (momentary_firstobj): Likewise.
3407 (temp_decl_firstobj): Likewise.
3408 (momentary_function_firstobj): Likewise.
3409 (all_types_permanent): Likewise.
3410 (struct momentary_level): Likewise.
3411 (momentary_stack): Likewise.
3412 (init_obstacks): Remove initialization of removed obstacks.
3413 (save_tree_status): Remove.
3414 (restore_tree_status): Likewise.
3415 (temporary_allocation): Liekwise.
3416 (end_temporary_allocation): Liekwise.
3417 (resume_temporary_allocation): Likewise.
3418 (saveable_allocation): Likewise.
3419 (push_obstacks): Likewise.
3420 (push_obstacks_nochange): Likewise.
3421 (pop_obstacks): Likewise.
3422 (allocation_temporary_p): Likewise.
3423 (permanent_allocation): Likewise.
3424 (preserve_data): Likewise.
3425 (preserve_initializer): Likewise.
3426 (rtl_in_current_obstack): Likewise.
3427 (rtl_in_saveable_obstack): Likewise.
3428 (oballoc): Likewise.
3429 (obfree): Likewise.
3430 (savealloc): Likewise.
3431 (expralloc): Likewise.
3432 (print_obstack_name): Likewise.
3433 (debug_obstack): Likewise.
3434 (object_permanent_p): Likewise.
3435 (push_momentary): Likewise.
3436 (perserve_momentary): Likewise.
3437 (clear_momentary): Likewise.
3438 (pop_momentary): Likewise.
3439 (pop_momentary_nofree): Likewise.
3440 (suspend_momentary): Likewise.
3441 (resume_momentary): Likewise.
3442 (make_node): Don't set TREE_PERMANENT.
3443 (copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK.
3444 Don't set TREE_PERMANENT.
3445 (get_identifier): Remove ggc_p conditionals.
3446 (build_string): Likewise.
3447 (make_tree_vec): Likewise.
3448 (build_decl_list): Remove.
3449 (build_expr_list): Likewise.
3450 (tree_cons): Remove ggc_p conditionals.
3451 (decl_tree_cons): Remove.
3452 (expr_tree_cons): Likewise.
3453 (perm_tree_cons): Likewise.
3454 (temp_tree_cons): Likewise.
3455 (saveable_tree_cons): Likewise.
3456 (build1): Remove ggc_p conditionals.
3457 (build_parse_node): Likewise.
3458 (build_type_attribute_variant): Don't mess with obstacks.
3459 (build_type_copy): Likewise.
3460 (type_hash_canon): Likewise.
3461 (build_pointer_type): Likewise.
3462 (build_reference_type): Likewise.
3463 (build_index_type): Likewise.
3464 (build_range_type): Likewise.
b8dad04b 3465 (dump_tree_statistics): Don't print obstack information.
1f8f4a0b
MM
3466 * tree.h
3467 (struct tree_common): Remove permanent_flag.
3468 (TREE_PERMANENT): Remove.
3469 (TREE_SET_PERMANENT): Likewise.
3470 (TYPE_OBSTACK): Likewise.
3471 (struct tree_type): Remove obstack.
3472 (oballoc): Remove.
3473 (savealloc): Likewise.
3474 (build_decl_list): Likewise.
3475 (build_expr_list): Likewise.
3476 (perm_tree_cons): Likewise.
3477 (temp_tree_cons): Likewise.
3478 (saveable_tree_cons): Likewise.
3479 (decl_tree_cons): Likewise.
3480 (expr_tree_cons): Likewise.
3481 (suspend_momentary): Likewise.
3482 (allocation_temporary_p): Likewise.
3483 (resume_momentary): Likewise.
3484 (push_obstacks_nochange): Likewise.
3485 (permanent_allocation): Likewise.
3486 (push_momentary): Likewise.
3487 (clear_momentary): Likewise.
3488 (pop_momentary): Likewise.
3489 (end_temporary_allocation): Likewise.
3490 (pop_obstacks): Likewise.
3491 (push_obstacks): Likewise.
3492 (pop_momentary_nofree): LIkewise.
3493 (preserve_momentary): Likewise.
3494 (saveable_allocation): Likewise.
3495 (temporary_allocation): Likewise.
3496 (resume_temporary_allocation): Likewise.
3497 (perserve_initializer): Likewise.
3498 (debug_obstack): Likewise.
3499 (rtl_in_current_obstack): Likewise.
3500 (rtl_in_saveable_obstack): Likewise.
b8dad04b 3501 (obfree): Likewise.
1f8f4a0b
MM
3502 * varasm.c (current_obstack): Remove.
3503 (saveable_obstack): Remove.
3504 (rtl_obstack): Remove.
3505 (immed_double_const): Don't mess with obstacks.
3506 (immed_real_cons): Likewise.
3507 (output_constant_def): Likewise.
3508 (init_varasm_status): Use xcalloc.
3509 (mark_pool_constant): Mark the pool constant itself.
3510 (free_varasm_status): Free memory.
3511 (decode_rtx_const): Call bzero directly, rather than expanding it
3512 inline.
3513 (record_rtx_const): Don't mess with obstacks.
3514 (force_const_mem): Likewise.
3515 * config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
3516 conditionals.
3517 (aof_pic_entry): Likewise.
3518 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
3519 * config/m32r/m32r.c (m32r_encode_section_info): Likewise.
3520 * config/pa/pa.c (saveable_obstack): Remove.
3521 (rtl_obstack): Likewise.
3522 (current_obstack): Likewise.
3523 (output_call): Don't mess with obstacks.
3524 (hppa_encode_label): Remove ggc_p conditionals.
3525 * config/romp/romp.c (get_symref): Don't mess with obstacks.
3526 * config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
3527 (rs6000_encode_section_info): Likewise.
3528 * config/sh/sh.c (get_fpscr_rtx): Likewise.
b8dad04b 3529
9dcbdc7e
JH
3530Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz>
3531
3532 * i386.md (adddi3, subdi3 splitters): Update for new pattern.
3533 (addsi3_cc, addqi3_cc, subsi3_cc): Remove
3534 (addsi3_carry): Canonicalize.
3535 (addqi_5): Remove '*'.
3536 (sbb pattern): Canonicalize.
3537
3538 * i386.md (cmp to inc/add peep2): New.
3539
74490e05
RE
35402000-10-12 Richard Earnshaw <rearnsha@arm.com>
3541
3542 * bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
3543 the exit block.
3544
bc87c1c8
JM
35452000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
3546
3547 * gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
3548 * README.TRAD, TESTS.FLUNK: Remove.
3549
9fa8f75d
JM
35502000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
3551
3552 * c-common.c (decl_attributes): Don't allow strftime formats with
3553 first_arg_num nonzero.
3554 (check_format_info): Set wanted_type and wanted_type_name to zero
3555 before they are possibly assigned and used.
3556
4831bc84
JM
35572000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
3558
3559 * c-common.c (scanf_flag_specs): Add flags ' and I.
3560 (strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
3561 or the ^ and # flags together.
3562 (scan_char_table): Handle the ' and I flags.
3563 (format_types): Add ' and I flags for scanf.
3564
2f7026a0
JM
35652000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
3566
3567 * c-common.c (print_char_table): Use the unpromoted type for
3568 lengths "h" and "hh" with conversions dioxXu.
3569 (check_format_types): Apply the default argument promotions where
3570 the wanted type is not a pointer target.
3571
bb58bec5 35722000-10-11 Michael Meeks <mmeeks@gnu.org>
b8dad04b 3573 Joseph S. Myers <jsm28@cam.ac.uk>
bb58bec5
JM
3574
3575 * c-typeck.c (check_modify_expr): New function.
3576 (build_modify_expr): Call it if warn_sequence_point.
3577 * c-decl.c (warn_sequence_point): New variable.
3578 (c_decode_option): Handle -Wsequence-point and
3579 -Wno-sequence-point. Enable -Wsequence-point as part of -Wall.
3580 * c-tree.h (warn_sequence_point): Declare.
3581 * invoke.texi (-Wsequence-point): Document.
3582 * toplev.c (documented_lang_options): Add -Wsequence-point and
3583 -Wno-sequence-point.
3584 Original work by Michael Meeks, 16 Jun 1998.
3585
0fba7208
RK
3586Wed Oct 11 06:15:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3587
3588 * tree.c (get_narrower): Don't look at precision of field if
3589 not laid out yet.
3590
67e570ea
DC
3591Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
3592
3593 * config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
3594 declaration for data with "progmem" attribute.
3595
80b8585d
MM
35962000-10-09 Marek Michalkiewicz <marekm@linux.org.pl>
3597
3598 * config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
3599 Correct insn length if shift count is a memory operand.
3600 * config/avr/avr.md: New define_peephole2 to use *reload_inqi.
3601 (*iorhi3_clobber): Change lo8 to hi8.
3602 (zero_extendhisi2): Change %B0 to %A1.
3603 (ashlhi3, ashrhi3): Correct insn length.
3604 (andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
3605 from "clobber" to "set_n" in some alternatives.
3606
462561b7
JJ
36072000-10-10 Jakub Jelinek <jakub@redhat.com>
3608
3609 * reload1.c (calculate_needs_all_insns): If deleting an instruction,
3610 remove its insn_chain structure as well.
3611
0b8833aa
DA
36122000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3613
3614 * dbxout.c (dbxout_source_line): Remove extra tab.
3615
c690f089
HPN
36162000-10-09 Hans-Peter Nilsson <hp@bitrange.com>
3617
3618 * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
3619
1854631b
RH
36202000-10-09 Richard Henderson <rth@cygnus.com>
3621
3622 * Makefile.in (LANG_LIB2FUNCS): Remove.
3623 (LIB2FUNCS): Remove _pure.
3624 (LIB2ADD): Remove LANG_LIB2FUNCS.
3625 (stage_a): Don't set LANG_LIB2FUNCS.
3626 * libgcc2.c (__terminate): Mark noreturn.
3627 (__pure_virtual): Remove.
3628 * mklibgcc.in: Remove LIB2ADD .txt processing.
3629
880c4dcb
RE
36302000-10-09 Richard Earnshaw <rearnsha@arm.com>
3631
3632 * arm.md (push_multi): Revert unintended change.
3633
5895f793
RE
36342000-10-09 Richard Earnshaw <rearnsha@arm.com>
3635
b8dad04b 3636 * arm.c: Miscellaneous white space and comment clean-ups. No
5895f793
RE
3637 functional change.
3638 * arm.md: Likewise.
3639
1092710d
KG
36402000-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3641
3642 * c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
3643 STRING_CST by calling combine_strings.
3644
ca356f3a
RE
36452000-10-09 Richard Earnshaw <rearnsha@arm.com>
3646
3647 * arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
3648 (thumb_output_move_mem_multiple): Support new insn format.
3649 * arm.md (movmem12b): Use SSA compatible format.
3650 (movmem8b): Likewise.
3651
cca0a211
RE
36522000-10-09 Richard Earnshaw <rearnsha@arm.com>
3653
3654 * arm.md (predicable): New attribute, default to "no".
3655 (all patterns): Mark as predicable if appropriate.
3656 (conditional execution splits): Split using predication format.
3657 (define_cond_exec): Define.
3658 * arm.c (arm_print_operand): handle insn predicate.
b8dad04b 3659
1146cfde
GP
36602000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3661
3662 * README.NS32K: Remove file.
3663
36642000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3665
3666 * README-bugs: Remove file.
3667
4d0230e1
PT
36682000-10-08 Philipp Thomas <pthomas@suse.de>
3669 * aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
3670 for test.
3671 * configure: Rebuilt.
3672
9fdf713f
PT
36732000-10-08 Philipp Thomas <pthomas@suse.de>
3674 * aclocal.m4 (AM_WITH_NLS): When not using included gettext,
3675 disable catalog building if no suitable program was found.
3676 Move warning message from here
3677 (AM_GNU_GETTEXT): To here.
3678 * configure: Rebuilt.
3679
00036f5c
PT
36802000-10-08 Philipp Thomas <pthomas@suse.de>
3681 * aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
3682 different cache variables.
3683 (GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
3684 uses different cache variables.
3685 (AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
3686 * configure: Regenerated.
b8dad04b 3687
aefa45d3
RH
36882000-10-08 Richard Henderson <rth@cygnus.com>
3689
3690 * Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
3691 * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
3692 * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
3693 Use SHLIB_EXT.
3694
3695 * config/t-linux (SHLIB_EXT): New.
3696 (SHLIB_LINK): Use the entire build command, with substitutions.
3697 (SHLIB_LIBS): Remove.
3698 * config/alpha/t-osf4: Likewise.
3699 * config/mips/t-iris6: Likewise.
3700 * config/sparc/t-sol2: Likewise, but move shlib stuff...
3701 * config/sparc/t-slibgcc-sld: ...here.
3702 * config/sparc/t-slibgcc: New file.
3703
b15ad712
JM
37042000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
3705
3706 * tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
3707 * c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
3708 CTI_UINTMAX_TYPE.
3709 (intmax_type_node, uintmax_type_node): Define.
3710 * c-common.c (decl_attributes): If pedantic, warn if `mode'
3711 attributes create a type wider than intmax_t.
3712 (T_IM, T_UIM): Define properly.
3713 * c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
3714 defined.
3715 (init_decl_processing): Initialize intmax_type_node and
3716 uintmax_type_node.
3717 * c-lex.c (lex_number): When pedantic and warning for integer
3718 constants that are too large, in C99 mode warn for those that have
3719 a type wider than long long.
3720
2588e44e
JM
37212000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
3722
3723 * c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
3724 FMT_FLAG_FANCY_PERCENT_OK): Define.
3725 (format_char_info): Add flag "4" to comment.
3726 (format_flag_spec, format_flag_pair): New structures.
3727 (format_kind_info): Add additional fields to control format
3728 checking.
3729 (printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
3730 scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
3731 arrays.
3732 (time_char_table): Use "4" flag to handle %Ey.
3733 (format_types): Add entries for new fields.
3734 (get_flag_spec): New function.
3735 (check_format_info): Increase size of flag_chars[] to 256.
3736 Control format checking using the new fields of a format_kind_info
3737 and the new tables; remove all conditionals on printf_format_type,
3738 scanf_format_type or strftime_format_type. Handle all details of
3739 bad combinations of flags (including width, precision and strftime
3740 modifiers) through data rather than ad hoc code. Handle all
3741 details of standard versions in which flags appeared through
3742 data. Use the "4" flag.
3743
7b7de7c0
WC
37442000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
3745
3746 * config/h8300/h8300.md: Remove the memory alternative and correct
3747 the insn lengths in the templates for sign extention and zero
3748 extention.
3749
9a1ba437
RH
37502000-10-07 Richard Henderson <rth@cygnus.com>
3751
3752 * calls.c (expand_call): Disallow sibcalls to noreturn functions.
3753 * flow.c (make_edges): Revert last change.
3754
3755 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
3756 TREE_THIS_VOLATILE.
3757 * config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
3758
d38d55b4
DB
37592000-10-06 David O'Brien <obrien@dragon.nuxi.com>
3760
3761 * config/alpha/elf.h: Standardize the formatting.
3762
94984e91
DB
37632000-10-06 David O'Brien <obrien@FreeBSD.org>
3764
3765 * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
3766 #undef.
3767
3e4eac3f
RH
37682000-10-06 Richard Henderson <rth@cygnus.com>
3769
3770 * function.c (diddle_return_value): Examine
3771 current_function_return_rtx instead of the DECL_RESULT.
3772 (expand_function_end): Handle reloading DECL_RESULT from memory
3773 into a hard register. Query promote_mode for sign of mismatched
3774 modes.
3775
4071f896
VM
37762000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
3777
3778 * haifa-sched.c (schedule_insns): Fix typo in freeing
3779 forward_dependency_cache.
3780
eb69f95c
AO
37812000-10-06 Alexandre Oliva <aoliva@redhat.com>
3782
3783 * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
3784 `TARGET_SH2' as a condition.
3785
178b88b9
VM
37862000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
3787
3788 * haifa-sched.c (anti_dependency_cache, output_dependency_cache,
3789 forward_dependency_cache): New variables.
3790 (add_dependence, remove_dependence): Use anti_dependency_cache and
3791 output_dependency_cache.
3792 (compute_block_forward_dependences): Use forward_dependency_cache.
3793 (schedule_insns): Allocate and free memory for anti/output/forward
3794 dependencies caches.
b8dad04b 3795
827bdee4
AO
37962000-10-06 Alexandre Oliva <aoliva@redhat.com>
3797
3798 * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
3799 `! TARGET_SH1'. Reindent.
3800
c70eaeaf
KG
38012000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3802
3803 * builtins.c (is_valid_printf_arglist, expand_builtin_printf):
3804 Move functions from here ...
3805
3806 * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
3807 ... to here.
3808 (c_expand_builtin): New function.
3809 (init_function_format_info): Don't set `check_function_format_ptr'.
3810 (c_common_nodes_and_builtins): Set built_in_class type for
3811 printf/__builtin_printf to BUILT_IN_FRONTEND.
3812 (c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
3813
3814 * c-common.h (build_function_call): Declare.
3815
3816 * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
3817 to `lang_expand_expr' rather than `expand_builtin'.
3818
3819 * tree.c (check_function_format_ptr): Delete.
3820
3821 * tree.h (check_function_format_ptr): Likewise.
3822
f299afab
HPN
38232000-10-06 Hans-Peter Nilsson <hp@bitrange.com>
3824
3825 * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
3826 DW_OP_bregx when cfa->reg > 31.
3827
3828 * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
3829 break.
3830
b313a0fe
RH
38312000-10-05 Richard Henderson <rth@cygnus.com>
3832
3833 * c-decl.c (warn_missing_noreturn): Remove.
3834 (c_expand_body): Don't set or check can_reach_end.
3835 * c-tree.h (warn_missing_noreturn): Move ...
3836 * flags.h: ... here.
3837 (can_reach_end): Remove.
3838 * flow.c (check_function_return_warnings): New.
3839 (make_edges): No edge to exit for noreturn sibcalls.
3840 * function.c (expand_function_end): Save the return value
3841 clobber instruction.
3842 (mark_function_status): Mark it.
3843 * function.h (struct function): Add x_clobber_return_insn.
3844 * jump.c (can_reach_end): Remove.
3845 (calculate_can_reach_end): Remove.
3846 (jump_optimize_1): Don't call it.
3847 * output.h (check_function_return_warnings): Declare.
3848 * toplev.c (warn_missing_noreturn): Move from c-decl.c
3849 (rest_of_compilation): Call check_function_return_warnings.
3850
83dad10c
RH
38512000-10-05 Richard Henderson <rth@cygnus.com>
3852
3853 * Makefile.in (NM_FOR_TARGET): New.
3854 (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
3855 (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
3856 * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map. Depend the
3857 shared library build on that and EXTRA_MULTILIB_PARTS.
3858 * mkmap-flat.awk: New file.
3859 * mkmap-symver.awk: New file.
3860 * libgcc-std.ver: New file.
3861 * config/libgcc-glibc.ver: New file.
3862 * config/ia64/libgcc-ia64.ver: New file.
3863 * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
3864 (SHLIB_LINK): Add --version-script.
3865 * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
3866 * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
3867 * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
3868 (SHLIB_LINK): Add -M.
3869
d6eacd48
RH
38702000-10-05 Richard Henderson <rth@cygnus.com>
3871
3872 * Makefile.in (LIB2FUNCS): Add _clz.
3873 * libgcc2.c (__ffsdi2): Use count_trailing_zeros.
3874 (__clz_tab): Put in its own unit, non-static.
3875 * libgcc2.h: Always include longlong.h.
3876
29279975
RH
3877 * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
3878 a zero instead of -1.
3879 (count_trailing_zeros): Likewise.
3880
c74fa144
RH
38812000-10-05 Richard Henderson <rth@cygnus.com>
3882
3883 * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
3884 when second op1 is const0_rtx. Validate op0 as a register.
3885 * config/alpha/alpha.md (setcc_internal): Don't allow constants
3886 in the first argument of the compare.
3887 (setcc_swapped_internal): Likewise.
3888 (setne_internal): Likewise.
3889
c5620996
GK
38902000-10-05 Geoff Keating <geoffk@cygnus.com>
3891
3892 * tree.c (tree_size): New function split out of copy_node.
3893 (make_node): Remove obstack handling. Use tree_size.
3894 (copy_node): Use tree_size.
3895 * tree.h: Prototype tree_size.
3896
331fe257
RH
38972000-10-05 Richard Henderson <rth@cygnus.com>
3898
3899 * diagnostic.c (output_format): Add missing break.
3900
cc0cbae1
JW
39012000-10-05 Jim Wilson <wilson@cygnus.com>
3902
3903 * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
3904 SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
3905 sequence insn to INSN, and delete last sequence insn.
3906
f5fa9a5b
PE
39072000-10-05 Phil Edwards <pme@gcc.gnu.org>
3908
3909 * gcc.c (main): Include generated configargs.h header
3910 and use arguments in '-v' output.
3911
2296d164
RK
3912Thu Oct 5 16:16:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3913
3914 * gcc.c: Move data on prefixes forward in file and reorganize.
3915 (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
3916 Always define, but make null if no value.
3917 (static_specs): Add "md_exec_prefix", "md_startfile_prefix",
3918 and "md_startfile_prefix_1".
3919 (main): Check whether md_exec_prefix and the others are the
3920 null string rather than whether the macro is defined.
3921
43d75418
R
3922Thu Oct 5 19:04:18 2000 J"orn Rennecke <amylaar@redhat.co.uk>
3923
3924 * (convert_move): Use zero_extendpsisi2 to do an unsigned extension
3925 from PSImode to SImode.
3926
e389897b
JJ
39272000-10-05 Jakub Jelinek <jakub@redhat.com>
3928
3929 * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
3930 from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
3931 * dwarf2out.c (add_const_value_attribute): Divide by 4, not
3932 sizeof(long).
3933
b8fbe62c
RK
3934Thu Oct 5 09:31:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3935
3936 * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
3937 negation in proper type.a
3938
50503ac8
RH
39392000-10-04 Richard Henderson <rth@cygnus.com>
3940
3941 * configure.in (enable-shared): New.
3942 * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
3943 (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
3944 * mklibgcc.in: Use them to link shared a libgcc.
3945 * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
3946 * config/alpha/t-ieee (SHLIB_MULTILIB): New.
3947 * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
3948 * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
3949
3950 * configure.in (alpha-osf*): Use t-osf and x-osf.
3951 * config/alpha/t-osf: New file.
3952 * config/alpha/t-osf4: New file.
3953 * config/alpha/x-osf: New file.
3954 * config/alpha/x-alpha: Remove file.
3955
4b606faf
WC
39562000-10-04 Will Cohen <wcohen@redhat.com>
3957
3958 * c-typeck.c (process_init_element): Added warning for zero-length
3959 array.
3960
3961 * extend.texi (Zero Length): State that static initializers for
3962 zero-length arrays are not allowed.
3963
c9b89a21
JH
3964Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz>
3965
3966 * rtlanal.c (single_set_1): Do not require USE and CLOBBERs
3967 to come last.
3968
81bce466
MH
39692000-10-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
3970
3971 * config/float-c4x.h: New.
3972 * configure.in (c4x-*): Set float_format to c4x.
b8dad04b 3973 * configure: Regenerate.
81bce466 3974
72882e08
KG
39752000-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3976
3977 * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
3978 compilation for solaris versions 2.7 and greater.
3979
ea205a52
ME
39802000-10-02 Marc Espie <espie@openbsd.org>
3981
3982 * config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
3983 instead of redefining from scratch.
3984
618ec0d7
DB
39852000-10-02 David O'Brien <obrien@dragon.nuxi.com>
3986
3987 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
3988
f15b9af9
MM
39892000-10-01 Mark Mitchell <mark@codesourcery.com>
3990
776749c5
MM
3991 * config/ns32k/genix.h: Remove.
3992 * config/ns32k/x-genix: Likewise.
3993 * config/ns32k/xm-genix.h: Likewise.
3994 * config/fx80: Remove all filee in directory.
3995 * config/pyr: Likewise.
3996 * config/tahoe: Likewise.
3997 * config/gmicro: Likewise.
3998 * config/spur: Likewise.
3999 * configure.in: Remove configury bits for above targets.
4000 * configure: Regenerated.
b8dad04b 4001
a7b4171a
MM
4002 * configure.in: Don't configure chill by default.
4003 * configure: Regenerated.
b8dad04b 4004
f15b9af9
MM
4005 * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
4006 (lang_mark_false_label_stack): Remove.
4007 * c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate
4008 <top level> string in GC area.
4009 (mark_splay_tree_node): New function.
4010 (mark_splay_tree): Likewise.
4011 * except.c (mark_eh_status): Only call lang_mark_false_label_stack
4012 if it exists.
4013 * ggc-callbacks.c (lang_mark_false_label_stack): Remove.
4014 * ggc-common.c (lang_mark_false_label_stack): Change type.
4015 * ggc.h (ggc_alloc_string): Add comment.
4016 (ggc_strdup): New function.
b8dad04b 4017
51296ba0
DC
4018Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru>
4019
4020 * config/avr/avr.h (BRANCH_COST): Define as 0.
4021
4022 * config/pdp11/pdp11.c: #include "tree.h" added.
4023
adcd8f77
MM
40242000-09-30 Marek Michalkiewicz <marekm@linux.org.pl>
4025
4026 * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
4027 ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
4028 with known shift count.
4029 * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
4030 New alternative for shift count 2 with no scratch register.
4031 (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
4032 "set_n" for shift counts 1 and 2.
4033
e35b9579
GK
40342000-09-30 Geoff Keating <geoffk@cygnus.com>
4035
4036 * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE. Calculate
4037 the mask value from the individual SET operations.
4038 (return_internal_si): Move the USE after the RETURN.
4039 (return_internal_di): Likewise.
4040 (return_and_restore_fpregs_si): Likewise.
4041 (return_and_restore_fpregs_di): Likewise.
4042 (return_eh_si): Likewise.
4043 (return_eh_di): Likewise.
4044 * config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
4045 or check, the USE.
4046 (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
4047 Don't generate a PARALLEL around a single operation movsi_to_cr.
4048 Generate the RETURN first in any PARALLELs.
4049
4050 * rtlanal.c (single_set_1): Use fatal_insn to display the
4051 invalid insn. Check for more cases when a USE or CLOBBER occurs
4052 before a SET.
4053 * Makefile.in: Update dependencies for rtlanal.o.
4054
1fba7553
JM
40552000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
4056
4057 * i386.c: Move include of "config.h" to before that of <setjmp.h>.
4058
28e6b1c2
JM
40592000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
4060
4061 * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
4062 Consistently use @email for formatting email addresses.
4063
f2fa288f
RH
40642000-09-29 Richard Henderson <rth@cygnus.com>
4065
4066 * cse.c (notreg_cost): New argument outer.
4067 (COST): Pass in SET to notreg_cost
4068 (COST_IN): New.
4069 (fold_rtx): Use COST_IN. Prefer constants when costs
4070 are the same.
4071
a1c63101
DE
40722000-09-29 David Edelsohn <edelsohn@gnu.org>
4073
4074 * fixinc/inclhack.def (broken_cabs): Generalize regex.
4075 * fixinc/fixincl.x: Regenerate.
4076
70dd0f7f
FS
40772000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4078
4079 * loop.c (check_final_value): A GIV is not replaceable if used
4080 before set.
4081
0c6129af
JL
4082Fri Sep 29 10:04:12 2000 Jeffrey A Law (law@cygnus.com)
4083
4084 * version.c: Bump to gcc-2.97.
4085
4086Frs Sep 29 13:37:59 MET DST 2000 Jan Hubicka <jh@suse.cz>
6c698a6d
JH
4087
4088 * final.c (final_scan_insn): Remove extra extract_insn call;
4089 Use caching for constrain_operands.
4090 (cleanup_subreg_operands): Use caching for extract_insn.
4091 * recog.c (constrain_operands_cached): New.
4092 * recog.h (constrain_operands_cached): Declare.
4093 * i386.c (ix86_attr_length_immediate_default,
4094 ix86_attr_length_address_default, ix86_agi_dependant): Cache
4095 extract_insn call.
4096
4097 * recog.c (asm_noperands): Tweak.
4098 (extract_insn): Do not call asm_noperads for non-asm instructions.
4099
4100Fri Sep 29 13:20:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
4101
4102 * recog.c (recog_memoized): Rename to recog_memoized_1.
4103 * recog.h (recog_memoized): Rename to recog_memoized_1.
4104 (recog_memoized): New macro.
4105 * rtl.h (single_set): Rename to single_set_1
4106 (single_set): New macro.
4107 * rtlanal.c (single_set): Rename to single_set_1; expect clobbers
4108 to be last.
4109
4110 * i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
4111 Do not use match_dup of input operands at outputs.
4112 Use register_operand for memory expression.
4113 (rep_movsi): Put use last, canonicalize.
4114 Use register_operand for memory expression.
4115 (rep_movqi): Put use last.
4116 Use register_operand for memory expression.
4117 (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
4118 of input operands at outputs. Use register_operand for memory
4119 expression.
4120 (rep_stossi): Put use last; canonicalize; fix match_dup in
4121 the address expression
4122 (rep_stosqi): Likewise.
4123 (memcmp expander): Update calls.
4124 (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
4125 the clobbers.
4126
4127 * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
4128 VOIDmode.
4129 (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
4130
41e5a1f5
DB
41312000-09-28 David O'Brien <obrien@FreeBSD.org>
4132
4133 * config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
4134 Contains the old contents of config/i386/freebsd.h
4135 * config/i386/freebsd.h: Now the ELF rather than a.out config file.
4136 Contains the old contents of config/i386/freebsd-elf.h
4137 * config/i386/freebsd-elf.h: Retire this file -- contents moved to
4138 config/i386/freebsd.h.
4139 * configure.in: Adjust for above changes.
4140 * po/POTFILES.in: Likewise.
4141 * po/en_GB.po: Likewise.
4142 * po/gcc.pot: Likewise.
4143 * configure: Rebuilt.
4144
1db88ef9 41452000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
70dd0f7f 4146
1db88ef9
FS
4147 * doloop.c (doloop_modify): Prevent delete_insn() from
4148 deleting too much. Prefer loop->top over loop->start as
4149 target for the new JUMP insn.
4150 (doloop_valid_p): Ignore loop with exit_count != 0.
4151
6a07a77f
PT
41522000-09-28 Philipp Thomas <pthomas@suse.de>
4153
4154 * invoke.texi (i386 Options): Add athlon to table of possible
4155 choices for -mcpu=.
4156
b5dd2c76
GDR
41572000-09-28 Gabriel Dos Reis <gdr@codesourcery.com>
4158
4159 * diagnostic.h (output_clear_message_text): New function.
4160 (output_message_text): New macro.
4161
4162 * diagnostic.c (clear_text_info): Rename to
b8dad04b 4163 output_clear_message_text.
b5dd2c76
GDR
4164 (output_clear): Adjust.
4165 (output_finish): Rename to output_finalize_message. Tweek.
b8dad04b 4166 (output_to_stream): Adjust.
b5dd2c76 4167
d8090680
NB
41682000-09-28 Neil Booth <neilb@earthling.net>
4169
4170 * cpperror.c (_cpp_begin_message): Do the test for suppression
b8dad04b
ZW
4171 of warnings and pedantic warnings before the "is a warning an
4172 error" tests.
d8090680
NB
4173 * cppinit.c (cpp_handle_option): Remove surplus \n.
4174 * cpplex.c (ON_REST_ARG): Delete.
4175 (skip_block_comment): Initialise prevc.
4176 (parse_args): Improve error messages.
4177 (maybe_paste_with_next): Use CONTEXT_VARARGS rather
4178 than ON_REST_ARG.
4179 * cpplib.c (cpp_push_buffer): Fix grammar in message.
4180 * cppmain.c (main): Set callbacks for #ident and #pragma
4181 only if no_output option is false.
4182 (do_pragma_implementation): Only call the #pragma handler
4183 if it is set in the cpp_reader structure.
4184
e93eff94
DL
4185Wed Sep 27 14:00:07 2000 Donald Lindsay <dlindsay@cygnus.com>
4186
4187 * integrate.c (copy_insn_list): if an ignored return value
4188 is being clobbered, skip cloning that into the inline copy.
4189
59c5d27a
JM
41902000-09-27 Joseph S. Myers <jsm28@cam.ac.uk>
4191
4192 * extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
4193 use @uref for formatting URLs.
4194
15ca066d
ME
41952000-09-27 Mark Elbrecht <snowball3@bigfoot.com>
4196
4197 * config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
4198 name and prefix.
4199
5a8e2650
NB
4200Tue 26-Sep-2000 18:25:38 BST Neil Booth <neilb@earthling.net>
4201
4202 * gcc.c (cpp_options): Add spec for -ftabstop=.
4203 (invoke_as): New spec that handles invoking as.
4204 Update specs to handle -save-temps and -traditional.
4205 * ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
4206 Use invoke_as.
4207 * cp/lang-specs.h, objc/lang-specs.h: Update to use
4208 invoke_as, and handle -save-temps and -traditional (if
4209 appropriate).
4210
380f6ad3
JJ
42112000-09-26 Jakub Jelinek <jakub@redhat.com>
4212
4213 * config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
4214 op0 is a SUBREG.
4215 (function_arg_slotno): Accept TImode/CTImode.
4216 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
4217 to UNITS_PER_WORD.
4218
ef120fc0
MH
42192000-09-26 Michael Hayes <mhayes@cygnus.com>
4220
4221 * flow.c (flow_loop_pre_header_scan): Punt if loop enters
4222 from entry block.
4223
cf606f45
JW
42242000-09-25 Jim Wilson <wilson@cygnus.com>
4225
4226 * config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
4227 (REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
4228 (LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
4229 (REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
4230
a94c1199
NB
4231Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net>
4232
b8dad04b 4233 * cpplex.c (parse_args): Don't set VOID_REST flag.
a94c1199
NB
4234 (CONTEXT_VARARGS): New flag.
4235 (maybe_paste_with_next): Set context earlier in loop. Use
4236 it. Do varargs test with CONTEXT_VARARGS flag.
4237 (push_arg_context): Set CONTEXT_VARARGS flag if we're
4238 pushing an argument context for a varargs argument.
4239 * cpplib.h (VOID_REST): Delete.
b8dad04b 4240 * gcc.dg/cpp/vararg1.c: Add test case.
a94c1199 4241
317639a8
BC
42422000-09-25 Branko Cibej <branko.cibej@hermes.si>
4243
b8dad04b
ZW
4244 * flags.h: Declare warning flag warn_system_headers.
4245 * toplev.c: Define it.
4246 (W_options): Add option -Wsystem-headers.
4247 * diagnostic.c (count_error): Test warn_system_headers.
4248 * invoke.texi: Add description for -Wsystem-headers.
317639a8
BC
4249 * cpplib.h (cpp_options): New member warn_system_headers.
4250 * cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
4251 CPP_IN_SYSTEM_HEADER.
4252 * cpplib.c (do_import, do_pragma_once): Likewise.
4253 * cpperror.c (_cpp_begin_message): Test warn_system_headers
4254 and CPP_IN_SYSTEM_HEADER.
4255 * cppinit.c (handle_option): Recognize -Wsystem_headers.
4256 (print_help): Describe -Wsystem_headers.
4257 * cpplex.c (lex_line): Reorganize condition so that warnings
4258 about C++ comments in system headers can be enabled. Remove
4259 label do_line_comment.
4260
1c6d33ef
NB
4261Mon 25-Sep-2000 23:38:27 BST Neil Booth <neilb@earthling.net>
4262
4263 * cpplex.c (save_comment): Only store the initial '/'
4264 now.
4265 (lex_token): Combine handling of the two comment types.
b8dad04b 4266 Pass everything but the initial '/' to save_comment.
1c6d33ef 4267
7de4d004
NB
4268Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net>
4269
4270 * cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
4271 _cpp_can_paste): New library-internal prototypes.
4272 * cpplex.c (dump_param_spelling, output_line_command,
4273 output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
4274 cpp_printf, cpp_output_list): Move to cppoutput.c.
4275 (process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
4276 * cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
4277 cppoutput.c.
4278 * cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
4279 dump_param_spelling, output_line_command, cpp_scan_buffer,
4280 cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
4281 from elsewhere.
4282 * Makefile.in: Add cppoutput.c.
4283 * po/POTFILES.in: Add cppoutput.c.
4284
66db6b45
RH
42852000-09-25 Richard Henderson <rth@cygnus.com>
4286
4287 * config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
4288 * config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
4289 split until after reload.
4290 (rotlsi3, rotldi3): New.
4291
4b40f758
GDR
42922000-09-25 Gabriel Dos Reis <gdr@codesourcery.com>
4293
4294 * diagnostic.c (output_last_position): Define.
4295 (set_real_maximum_length): Tweek.
4296 * diagnostic.h (output_last_position): Declare.
4297
0f290768
KH
42982000-09-25 Kazu Hirata <kazu@hxi.com>
4299
4300 * config/i386/i386.c: Fix formatting.
4301
90e9ee6c
AL
43022000-09-24 Alan Lehotsky <alehotsky@cygnus.com>
4303
4304 * emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
4305 UNITS_PER_WORD is small.
4306
0e00b68b
JM
43072000-09-25 Joseph S. Myers <jsm28@cam.ac.uk>
4308
4309 * c-common.c (format_char_info): Add flags2; update comments.
4310 (print_char_table, scan_char_table, time_char_table): Split some
4311 flags out into flags2.
4312 (check_format_info): Use flags2 for those flags, for identifying
4313 the initial character of a scanf scanset, and for identifying
4314 printf formats where the '0' flag is ignored with precision.
4315
0a3e1f45
HPN
43162000-09-25 Hans-Peter Nilsson <hp@axis.com>
4317
4318 Changes below marked "here" add TABs on either or both sides,
4319 covering start of line, up to any operand for all noted .*ASM.*_OP
e8638df0 4320 definitions. All callers changed.
047c1c92
HPN
4321 * tm.texi: Make documented *_ASM.*_OP:s include spacing
4322 (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
4323 BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4324 ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
4325 ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
4326 Fix typos in description for LONG_LONG_TYPE_SIZE and
4327 FINI_SECTION_ASM_OP.
0a3e1f45
HPN
4328 * crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
4329 why these defaults don't have leading spacing.
4330 * dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
4331 * dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4332 UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
4333 * dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
4334 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
4335 PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
4336 * defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
4337 * varasm.c (ASM_STABS_OP): Here.
4338 * xcoffout.h (ASM_STABS_OP): Here.
e662a129
HPN
4339 * config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
4340 SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
4341 INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
4342 STRING_ASM_OP): Here.
4343 * config/freebsd.h (IDENT_ASM_OP): Here.
4344 * config/linux-aout.h (SET_ASM_OP): Here.
4345 * config/linux.h (SET_ASM_OP): Here.
4346 * config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
4347 INT_ASM_OP): Here.
4348 * config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
4349 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
4350 * config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
4351 * config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
4352 INT_ASM_OP): Here.
4353 * config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
4354 SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
4355 INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
4356 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4357 FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
4358 * config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
4359 CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
8c13c7b3
HPN
4360 * config/a29k/udi.h (INT_ASM_OP): Here.
4361 * config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
4362 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
4363 SET_ASM_OP): Here.
4364 * config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
4365 READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4366 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4367 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
4368 ASM_STABD_OP): Here.
4369 * config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
4370 COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
4371 CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
4372 BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
4373 INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
4374 SIZE_ASM_OP, STRING_ASM_OP): Here.
4375 * config/alpha/vms.h (LINK_SECTION_ASM_OP,
4376 READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
4377 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
4378 * config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
8202cda0 4379 (PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
8c13c7b3
HPN
4380 * config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
4381 Here.
4382 * config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4383 BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
4384 * config/arm/coff.h (INT_ASM_OP): Here.
4385 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
4386 * config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
4387 * config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
4388 INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
4389 * config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
4390 * config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4391 ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
4392 STRING_ASM_OP): Here. Update documentation copy in comments.
4e8aa65c
HPN
4393 * config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
4394 * config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
4395 DATA_SECTION_ASM_OP): Here.
4396 * config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
4397 Here.
4398 * config/convex/convex.h (TEXT_SECTION_ASM_OP,
4399 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
4400 * config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4401 BSS_SECTION_ASM_OP): Here.
4402 * config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4403 BSS_SECTION_ASM_OP): Here.
4404 * config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4405 Here.
4406 * config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
4407 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
4408 * config/h8300/h8300.h (ASM_WORD_OP): Here.
71d48a01
HPN
4409 * config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4410 BSS_SECTION_ASM_OP): Here.
4411 * config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
4412 * config/i386/bsd.h (ASM_BYTE_OP): Here.
4413 * config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
4414 * config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
4415 * config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
4416 Here.
4417 * config/i386/freebsd-elf.h (SET_ASM_OP): Here.
4418 * config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
4419 Here.
4420 * config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
4421 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
4422 * config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
4423 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
4424 SET_ASM_OP): Here.
4425 * config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
4426 * config/i386/netbsd.h (INT_ASM_OP): Here.
4427 * config/i386/openbsd.h (INT_ASM_OP): Here.
4428 * config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
4429 IDENT_ASM_OP): Here.
4430 * config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
4431 ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
4432 LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
4433 SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
4434 * config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
4435 SHARED_BSS_SECTION_ASM_OP): Here.
4436 * config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
4437 * config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
4438 DATA_SECTION_ASM_OP): Here.
4439 * config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
4440 CONST_SECTION_ASM_OP): Here.
4441 * config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
4442 * config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4443 BSS_SECTION_ASM_OP): Here.
de323aa1
HPN
4444 * config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
4445 * config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
4446 * config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
4447 BSS_ASM_OP): Here, but use trailing spaces.
4448 * config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
4449 DATA_SECTION_ASM_OP): Here.
4450 * config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
4451 Here.
4452 * config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
4453 DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
4454 * config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
4455 TDESC_SECTION_ASM_OP): Here.
4456 * config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
4457 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
4458 * config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4459 Here.
4460 * config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4461 BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
4462 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4463 UNALIGNED_DOUBLE_INT_ASM_OP): Here.
4464 * config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
4465 COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
4466 FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
4467 SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
6e7b07a7
HPN
4468 * config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
4469 * config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
4470 * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
4471 SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
4472 SET_ASM_OP): Here.
4473 * config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
4474 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
4475 * config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
4476 * config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
4477 * config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
4478 * config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
4479 * config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
4480 * config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4481 GLOBAL_ASM_OP): Here.
4482 * config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
4483 BSS_SECTION_ASM_OP): Here.
4484 * config/m68k/m68kv4.h (BSS_ASM_OP): Here.
4485 * config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4486 ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
4487 DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
4488 SKIP_ASM_OP): Here.
4489 * config/m68k/newsgas.h (SET_ASM_OP): Here.
4490 * config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
4491 FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
4492 * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
4493 SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
4494 SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
4495 but use trailing spaces.
4496 * config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
4497 DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
4498 FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
4499 Here.
4500 * config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
4501 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
4502 * config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4503 CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
4504 DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
4505 IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
4506 GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
4507 BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
4508 CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
4509 SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
4510 VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4511 PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
4512 ASM_BYTE_OP): Here.
4513 * config/m88k/openbsd.h (SET_ASM_OP): Here.
4514 * config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
4515 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
78d057d8
HPN
4516 * config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
4517 UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
4518 DTORS_SECTION_ASM_OP): Here.
4519 * config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
4520 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
4521 * config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
4522 BSS_SECTION_ASM_OP): Here.
4523 * config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
4524 * config/mips/iris5.h (ABICALLS_ASM_OP): Here.
4525 * config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
4526 POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
4527 CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
4528 DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
4529 * config/mips/mips.c (ABICALLS_ASM_OP): Here.
4530 * config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
4531 Here.
4532 * config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
4533 Here.
4534 * config/mips/osfrose.h (SET_ASM_OP): Here.
4535 * config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
76bbee81
HPN
4536 * config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
4537 * config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
4538 * config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4539 Here.
4540 * config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
4541 * config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
4542 * config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
4543 * config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
4544 * config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
4545 * config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4546 Here.
4547 * config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4548 Here.
4549 * config/rs6000/rs6000.h (SET_ASM_OP): Here.
4550 * config/rs6000/sol2.h (ASM_STABN_OP): Here.
4551 * config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
4552 Here.
471b6f1b
HPN
4553 * config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
4554 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
4555 * config/sparc/linux.h (COMMON_ASM_OP): Here.
4556 * config/sparc/linux64.h (COMMON_ASM_OP,
4557 UNALIGNED_DOUBLE_INT_ASM_OP): Here.
4558 * config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
4559 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
4560 * config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
4561 * config/sparc/pbd.h (ASM_INT_OP): Here.
4562 * config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
4563 * config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
4564 DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
4565 * config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
4566 UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
4567 * config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
4568 UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
4569 UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
4570 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
4571 CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
4572 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
4573 EH_FRAME_SECTION_ASM_OP): Here.
4574 * config/sparc/vxsim.h (COMMON_ASM_OP): Here.
4575 * config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4576 Here.
4577 * config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4578 Here.
4579 * config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
4580 TCOMMON_ASM_OP): Here.
4581 * config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
4582 Here.
4583 * config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4584 ASM_BYTE_OP): Here.
0a3e1f45 4585
ea9ea008
RH
45862000-09-25 Richard Henderson <rth@cygnus.com>
4587
4588 * expmed.c (store_bit_field): Adjust last change to not consider
4589 any word-sized field naturally aligned.
4590
9e495700
RH
45912000-09-24 Richard Henderson <rth@cygnus.com>
4592
4593 * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
4594 TFmode unordered compares properly. Revalidate integer compare
4595 operands.
4596 (alpha_emit_setcc): New.
4597 (alpha_emit_conditional_move): Revalidate integer compare operands.
4598 * config/alpha/alpha-protos.h: Update.
4599 * config/alpha/alpha.md (cmpdi): Allow general operands.
4600 (sne): Use alpha_emit_setcc.
4601 (seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
4602 (sunordered, sordered): New.
4603
2ed4af6f
RH
46042000-09-24 Richard Henderson <rth@cygnus.com>
4605
4606 * config/ia64/ia64-protos.h: Update.
4607 * config/ia64/ia64.c (call_multiple_values_operation): Remove.
4608 (ia64_expand_call): New.
4609 (ia64_expand_prologue): Emit an alloc if we need extra input
4610 registers.
4611 (ia64_expand_epilogue): New arg sibcall_p; don't emit the return
4612 instruction if true.
4613 (struct reg_flags): Add is_sibcall.
4614 (rtx_needs_barrier): A sibcall does not use CFM et al. Ignore USEs.
4615 (emit_insn_group_barriers): Set flags.is_sibcall. Remove hacks
4616 for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
4617 * config/ia64/ia64.h (PREDICATE_CODES): Update.
4618 * config/ia64/ia64.md (call): Use ia64_expand_call.
4619 (call_value): Likewise.
4620 (sibcall, sibcall_value): New.
4621 (call patterns): Remove extra expanders; tidy.
4622 (sibcall_epilogue): New.
4623 (set_bsp): Remove the extra USE. Put the operand inside the UNSPEC.
4624
e1389cac
RH
46252000-09-24 Richard Henderson <rth@cygnus.com>
4626
4627 * emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
4628
fd442cef
RH
4629 * sibcall.c (skip_pic_restore): New.
4630 (identify_call_return_value): Use it.
4631
c06aa51e
MM
46322000-09-24 Mark Mitchell <mark@codesourcery.com>
4633
4634 * c-tree.texi: Moved here from cp/ir.texi. Documented nested
4635 functions. Generalize to handle both C and C++.
4636 * Makefile.in (c-tree.info): New target.
4637 (info): Add c-tree.info.
b8dad04b 4638
bd5dab53
RK
4639Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4640
4641 * expr.c (store_field): If BITSIZE is negative, use size of type.
4642 (expand_expr, case COMPONENT_EXPR): Likewise.
4643
838f313b
NB
4644Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net>
4645
4646 * cpplex.c: Update TODO comment.
4647 * cpplib.c (do_error, do_warning): Merge common code of
4648 do_error and do_warning into do_diagnostic. Use it.
4649 (do_diagnostic): New function.
4650 * cpplib.h: Fix comment typo.
4651
c5412f06
JM
46522000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
4653
4654 * c-common.c (check_format_info): Warn for a wide character string
4655 used as a non-wide format argument.
4656
1c44c45d
JM
46572000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
4658
4659 * builtins.def (BUILT_IN_LLABS): Add.
4660 * builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
4661 * c-common.c (c_common_nodes_builtins): Create builtin functions
4662 __builtin_llabs, and plain llabs unless no_nonansi_builtins
4663 outside of C99 mode.
4664 (expand_tree_builtin): Handle BUILT_IN_LLABS.
4665
cbcff6df
NB
4666Sat 23-Sep-2000 22:39:18 BST Neil Booth <NeilB@earthling.net>
4667
4668 * cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
4669 CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
4670 * cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
4671 _cpp_free_toklist): No need to worry about extra dummy token
4672 at the start of token lists any more.
4673 (trigraph_ok): Only warn outside comments.
4674 (skip_block_comment): Set and clear lexing_comment.
4675 (skip_line_comment): Take a cpp_reader not cpp_buffer.
4676 Set and clear lexing_comment.
4677 (parse_number): Handle leading '.' indicated by pfile->seen_dot.
4678 (check_long_token): Delete.
4679 (lex_percent, lex_dot): New subroutines of lex_token to
4680 handle lexing of '.' and '%' without lookback.
4681 (lex_token): Use lex_dot and lex_percent.
4682 (lex_line): Don't check for LIST_OFFSET.
4683 (_cpp_init_input_buffer): Update for new _cpp_init_toklist.
4684 * cpplib.c (_cpp_parse_assertion): Similarly.
4685 (cpp_push_buffer): Initialize extra_char.
4686 * cpplib.h (LIST_OFFSET): Delete.
4687 (struct cpp_buffer): New member extra_char.
4688 (struct lexer_state): New members lexing_comment and seen_dot.
4689
2abdcaee
JM
46902000-09-23 Jason Merrill <jason@redhat.com>
4691
4692 * config/rs6000/x-aix41 (CLIB): Define here.
4693 * config/rs6000/t-aix43: Not here.
4694 * config/rs6000/t-aix41: Or here. Remove.
4695 * configure.in: Don't use it.
4696
981d4858
JM
46972000-09-22 Jason Merrill <jason@redhat.com>
4698
2abdcaee
JM
4699 * configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
4700 * toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
4701 * config.in: Regenerate.
4702
981d4858
JM
4703 * configure.in: Fix checks for assembler features when using a
4704 one-tree assembler that has not yet been built.
4705 Fix --disable-threads.
4706
afa223c6
GK
47072000-09-19 Geoff Keating <geoffk@cygnus.com>
4708
4709 * stmt.c (expand_asm_operands): Allow # in constraints.
4710
a3a834aa
JM
47112000-09-22 Jason Merrill <jason@redhat.com>
4712
4713 * c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
4714
4715 * dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
4716 function-local names.
4717
18424ae1
BL
47182000-09-22 Brad Lucier <lucier@math.purdue.edu>
4719 Mark Mitchell <mark@codesourcery.com>
4720
b8dad04b
ZW
4721 * toplev.c (warn_disabled_optimization): Declare new warning flag.
4722 * flags.h (warn_disabled_optimization): Add it here.
4723 * gcse.c (gcse_main): Add warning when disabled.
4724 * invoke.texi: Document -Wdisabled-optimization.
18424ae1 4725
1bfb5f8f
JM
47262000-09-21 Jason Merrill <jason@redhat.com>
4727
4728 * dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
4729
4730 * dwarf2out.c (tree_add_const_value_attribute): New fn.
4731 (gen_variable_die): Call it for non-definitions.
4732
4733 * dwarf2out.c (die_struct): Add die_mark field.
4734 (mark_dies, unmark_dies): New fns.
4735 (clear_die_sizes): Remove.
4736 (print_die): Check die_symbol rather than die_offset.
4737 (build_abbrev_table, output_pubnames, output_aranges): Check
4738 die_mark rather than die_offset.
4739 (output_comp_unit): Move calc_die_sizes after build_abbrev_table.
4740 Call mark_dies.
4741
2047e26f
NB
4742Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net>
4743
4744 * cppfiles.c (lookup_include_file): Rename to open_file.
4745 Always create a splay tree value, even on syscall failures.
4746 Negative entries indicated by fd == -2.
4747 Re-open files closed in the meantime.
4748 (_cpp_fake_include): Create a negative splay tree entry.
4749 (find_include_file, cpp_read_file): Update for function name
4750 change.
4751 * gcc.gd/cpp/mi4.c: Testcase.
4752
f27cd94d
NC
47532000-09-21 Nick Clifton <nickc@redhat.com>
4754
2359a5e1
NC
4755 * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
4756 ARM and THUMB modes.
4757
f27cd94d 4758 * config/mcore/mcore.c: Fix compile time warnings.
b8dad04b 4759 * config/mcore/mcore-protos.h: Fix compile time warnings.
f27cd94d 4760
7373064a
DA
47612000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
4762
4763 * configure.in: Correct test of gcc_cv_glibc.
4764 * configure: Rebuilt.
4765 * config.in: Rebuilt.
4766
07328167
KG
47672000-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4768
4769 * builtins.c (expand_builtin_fputs): Also expand when length!=1.
4770 (expand_builtin): Handle BUILT_IN_FWRITE.
4771
4772 * builtins.def (BUILT_IN_FWRITE): New entry.
4773
4774 * c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
4775
5fa7c8ce
RK
4776Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4777
dc36ec2c
RK
4778 * gcc.c (modify_target): New variable and struct.
4779 (process_command): Handle MODIFY_TARGET_NAME.
4780 * tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
4781 * config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
4782
5fa7c8ce
RK
4783 * c-decl.c (finish_decl): Add else's to avoid referencing
4784 TYPE_DOMAIN of an ERROR_MARK.
4785
155b14a8
DC
4786Wed Sep 20 21:44:31 2000 Denis Chertykov <denisc@overta.ru>
4787
4788 * config/avr/avr.c (adjust_insn_length): Adjust lengths of
4789 `reload_in*' insns.
4790
47912000-09-19 Marek Michalkiewicz <marekm@linux.org.pl>
4792
4793 * config/avr/avr.md (neghi2): Add alternative for input and output
4794 operands in different registers, as in negsi2.
4795 (*negsi2): Remove '*' from the name. Use "movw" if available.
4796
fd09c61f
JW
47972000-09-19 Jim Wilson <wilson@cygnus.com>
4798
4799 * config/ia64/crtbegin.asm (__dso_handle): Delete use of
4800 HAVE_GAS_HIDDEN macro.
4801
7eea5554
NB
4802Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net>
4803
4804 * cpplex.c (lex_line): Drop the EOF token for unknown
4805 directives in assembler.
4806
a473fe45
DE
48072000-09-19 David Edelsohn <edelsohn@gnu.org>
4808
4809 * configure.in: Allow enable_threads_flag value of "aix". Define
fd60bf96 4810 thread_file as "aix" for AIX 4.3 and above.
a473fe45 4811 * configure: Regenerated.
fd60bf96
DE
4812
4813 * gthr-aix.h: New file.
4814
a473fe45
DE
4815 * rs6000/t-aix43: Replace soft-float multilib with pthread.
4816 Remove 403 processor multilib match. Fix rios2 processor multilib
4817 match.
4818
fd60bf96
DE
4819 * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
4820 to return to appropriate csect.
4821
ad3fd36f
KG
48222000-09-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4823
4824 * builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
4825 functions.
4826 (expand_builtin_fputs): Set `target' parameter for `expand_expr'.
4827 (expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
4828 BUILT_IN_PRINTF.
4829
4830 * builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
4831 New entries.
4832
4833 * c-common.c (init_function_format_info): Handle __builtin_printf.
4834 Set `check_function_format_ptr'.
4835 (c_common_nodes_and_builtins): Set `puts_ftype' and
4836 `printf_ftype'. Declare __builtin_putchar, __builtin_puts,
4837 __builtin_printf and printf.
4838
4839 * tree.c, tree.h (check_function_format_ptr): Declare.
4840
6f3d20a0
NB
4841Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net>
4842
b8dad04b 4843 * cppfiles.c (read_include_file): Take no special action for
6f3d20a0
NB
4844 zero-length files.
4845
b4f75276
BS
48462000-09-19 Bernd Schmidt <bernds@redhat.co.uk>
4847
afc6898e
BS
4848 * final.c (insn_current_reference_address): Use INSN_SHUID of seq
4849 rather than that of branch.
4850 (shorten_branches): Don't increment insn_current_address twice.
4851
b4f75276
BS
4852 Undo most of the Wed Jan 27 23:39:53 1999 patch:
4853 * loop.h (struct induction): Delete members derived, ix and last_use.
4854 (struct loop_ivs): Delete members first_increment_giv and
4855 last_increment_giv.
4856 * loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
4857 recombine_givs): Delete functions.
4858 (find_and_verify_loops): Don't initialize cont_dominator.
4859 (strength_reduce): Lose code to try to find bivs that can be
4860 expressed as givs of another biv, and to convert biv increments
4861 into givs.
4862 Lose loop_scan_start variable, always use loop->scan_start.
4863 Don't call recombine_givs. Don't handle derived givs.
4864 (record_giv): Don't initialize derived and last_use fields.
4865 (biv_eliminiation_giv_has_0_offset): Lose code to handle derived
4866 givs.
4867 * unroll.c (derived_regs): Delete static variable.
4868 (unroll_loop): Don't initialize it.
4869 (copy_loop_body): Lose code to handle derived givs.
4870 (find_splittable_givs): Don't check for givs made from biv
4871 increments.
4872 Don't set derived_regs.
4873
0f805606
BS
4874 Fix misapplied earlier patch:
4875 * config/sh/sh.md (floatsisf_ie): Reenable. Remove explicit reference
4876 to fpul.
4877 (floatsisf2): Generate floatsisf_ie by default.
4878 (floatsisf_i4): Conditional on TARGET_SH4.
4879
4880 (floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
4881 predicate for the expanders.
4882
8aa0e194
RH
48832000-09-19 Richard Henderson <rth@cygnus.com>
4884
0d97fd9e
RH
4885 * config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
4886 in addition to pentium and pentiumpro symbols.
4887 (CPP_CPU_DEFAULT_SPEC): Likewise.
4888
39b726dd
RH
4889 * c-typeck.c (c_expand_asm_operands): Restore the output tree
4890 after expanding.
4891
9790cefd
RH
4892 * stmt.c (expand_expr_stmt): Only call warn_if_unused_value
4893 if the tree has side effects.
4894 (warn_if_unused_value): Do not warn about void constructs.
4895
8e5a0fcb
RH
4896 * c-decl.c (poplevel): Invoke warn_about_unused_variables.
4897
8aa0e194
RH
4898 * unroll.c (copy_loop_body): Update LABEL_NUSES before
4899 calling invert_jump.
4900
62f7f1f5
GK
49012000-09-18 Geoff Keating <geoffk@cygnus.com>
4902
4903 * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
4904 into anything.
4905
3f80e6ac
KG
49062000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4907
4908 * Makefile.in (c-common.o): Depend on diagnostic.h.
4909
4910 * c-common.c: Include diagnostic.h.
4911 (tfaff): Delete.
4912 (status_warning): New function.
4913 (check_format_info, maybe_read_dollar_number, check_format_types,
4914 finish_dollar_format_checking, check_function_format): Accept a
4915 `status' parameter. All callers changed.
4916
4917 * c-common.h (check_function_format): Accept a `status' parameter.
4918
4919 * c-typeck.c: Update call to `check_function_format'.
4920
cfbd829c
RH
49212000-09-18 Richard Henderson <rth@cygnus.com>
4922
4923 * c-decl.c (c_expand_body): Call mark_varargs before
4924 expand_function_start.
4925
c21d86e1
GK
49262000-09-18 Geoff Keating <geoffk@cygnus.com>
4927
4928 * config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
4929 * config/rs6000/eabi-ci.asm: Likewise.
4930
f0417c82
RH
49312000-09-18 Richard Henderson <rth@cygnus.com>
4932
4933 * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
4934 for BImode.
4935
226ed43f
JW
49362000-09-18 Jim Wilson <wilson@cygnus.com>
4937
5c3c320e
JW
4938 * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
4939 before passing it to fold_rtx_mult_add.
4940
ec919c98
JW
4941 * unroll.c (final_giv_value): Pass increment through
4942 extend_value_for_giv before passing it to emit_iv_add_mult.
4943
226ed43f
JW
4944 * function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
4945 paradoxical subreg, then directly substitute the replacement and
4946 return.
4947
b542c0fb
NB
4948Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net>
4949
b4f75276 4950 * cpp.texi: Update documentation, including some clarifications,
b542c0fb
NB
4951 the treatment of various newline combinations, and space between
4952 backslash and newline.
4953
800a6a0c
R
4954Mon Sep 18 21:00:47 2000 J"orn Rennecke <amylaar@redhat.co.uk>
4955
4956 * sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
4957 Replace ASM_OUTPUT_LABELREF with assemble_name.
4958
50ceefc2
R
4959Mon Sep 18 20:26:50 2000 J"orn Rennecke <amylaar@redhat.co.uk>
4960
4961 * sh.c (addsubcosts): CONST is not cheap.
4962 (find_barrier): For Sh1, take alignment after jumps into account.
4963
659e47fb
AH
49642000-09-15 Andrew Haley <aph@redhat.com>
4965
4966 * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
4967 remove all SETs of SUBREGs of hard registers.
7373064a 4968 * function.c (purge_hard_subreg_sets): New function.
659e47fb
AH
4969 (purge_single_hard_subreg_set): New function.
4970 * rtl.h: (purge_hard_subreg_sets): New function.
4971
f2f90c63
RH
49722000-09-18 Richard Henderson <rth@cygnus.com>
4973
4974 * config/ia64/ia64-protos.h: Update.
4975 * config/ia64/ia64.c (signed_inequality_operator): New.
4976 (ia64_expand_compare): New.
4977 (ia64_register_move_cost): Handle PR_REGS moves.
4978 (ia64_secondary_reload_class): Require a GR when moving to a PR.
4979 (struct reg_write_state): Add written_by_and/or.
4980 (struct reg_flags): Add is_and/or.
4981 (rws_update): Set them.
4982 (rws_access_regno): Test them to allow parallel comparisons.
4983 (rtx_needs_barrier): Recognize parallel comparisons.
4984 (emit_insn_group_barriers): Set prev_insn after a call stop bit.
4985 Call recog_memoized; ignore pred_rel_mutex.
4986 (emit_predicate_relation_info): Don't call find_basic_blocks here.
4987 (ia64_reorg): Do it here instead.
4988 * config/ia64/ia64.h: s/CCmode/BImode/g
4989 (MODES_TIEABLE_P): Don't tie BImode.
4990 (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
4991 (CONST_COSTS): Pick sensible values for CONST_INT based on context.
4992 (RTX_COSTS): Make multiply 4 insns.
4993 (MEMORY_MOVE_COST): New.
4994 (PREDICATE_CODES): Update.
4995 * config/ia64/ia64.md: s/CCmode/BImode/g
4996 (movcci, movbi): New.
4997 (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
4998 (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
4999 (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
5000 (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
5001 (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
5002 (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
5003 (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
5004 (mulsi, muldi): Use xmpy not xma.
5005 (cmpbi): New.
5006 (movcc, movcc_internal): Remove.
5007 (branch expanders): Use ia64_expand_compare.
5008 (setcc expanders): Likewise.
5009 (cmov insns): Use move_operand and ia64_move_ok.
5010 (pred_rel_mutex): Use unspec not unspec_volatile. Prevent the
5011 scheduler from moving it past a use.
5012 * config/ia64/build.hacks: Remove.
5013
0d9f234d
NB
5014Mon 18-Sep-2000 19:21:35 BST Neil Booth <NeilB@earthling.net>
5015
5016 * cpphash.h (HASHSTEP): Take character rather than pointer
5017 to character.
5018 (_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
5019
5020 * cpphash.c (cpp_loookup): Update for new HASHSTEP.
5021
5022 * cpplex.c (auto_expand_name_space, trigraph_replace,
5023 backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
5024 IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
5025 BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
5026 KNOWN_DIRECTIVE): Delete.
5027
5028 (handle_newline, check_long_token, skip_escaped_newlines,
5029 unterminated): New functions.
5030 (ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
5031
5032 (parse_identifier): Was parse_name, new implementation.
5033 (skip_line_comment, skip_block_comment, skip_whitespace,
5034 parse_number, parse_string, trigraph_ok, save_comment,
5035 adjust_column, _cpp_get_line): New implementations.
5036
5037 (lex_token): New function. Lexes a token at a time, looking
5038 forwards. Contains most of the guts of the old lex_line.
5039 (lex_line): New implementation, using lex_token to obtain
5040 individual tokens.
5041 (cpp_scan_buffer): Use the token's line, not the list's line.
5042
5043 * cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
5044 New implementations.
5045 (do_assert): Don't bother setting the answer's list's line.
5046 (cpp_push_buffer): Initialise new pfile and read_ahead members
5047 of struct cpp_buffer.
5048
5049 * cpplib.h (cppchar_t): New typedef.
5050 (struct cpp_buffer): read_ahead, pfile and col_adjust are
5051 new members.
5052 (struct lexer_state): New structure that determines the state
5053 and behaviour of the lexer.
5054 (IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
5055 (struct cpp_reader): New member "state". Rename
5056 multiline_string_line and multiline_string_column. Delete
5057 col_adjust, in_lex_line members.
5058 (CPP_BUF_COLUMN): Update.
5059
a191f0ee
RH
50602000-09-18 Richard Henderson <rth@cygnus.com>
5061
9f8e169e
RH
5062 * combine.c (simplify_comparison): Shift a NOT out of a single
5063 bit test.
5064
1f3f36d1
RH
5065 * combine.c (if_then_else_cond): Canonicalize BImode true to
5066 STORE_FLAG_VALUE.
5067 * explow.c (trunc_int_for_mode): Likewise.
5068
5bd60ce6
RH
5069 * combine.c (combine_simplify_rtx): Use gen_unary to distribute
5070 the NOT for De Morgan's rule.
5071 * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
5072 of a comparison to the reverse comparison.
5073
d340408c
RH
5074 * combine.c (try_combine): Allow split to create a single insn.
5075
a191f0ee
RH
5076 * machmode.def: Add BImode. Add a column for bitsize.
5077 * machmode.h (DEF_MACHMODE): Adjust for extra column.
5078 (GET_MODE_BITSIZE): Use it.
5079 * rtl.c (DEF_MACHMODE): Adjust for extra column.
5080 (mode_bitsize): New.
5081 (mode_mask_array): Use bitsize.
5082 * combine.c (combine_simplify_rtx): Require inner and outer
5083 modes to match on nonzero_bits optimizations.
5084
5d77a50c
BS
50852000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
5086
5087 * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
5088 its entry in spill_reg_store.
0fb8cb90 5089 * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
2e361e59
BS
5090 * sh.c (reg_no_subreg_operand): New function.
5091 * sh-protos.h (reg_no_subreg_operand): Declare it.
5092 * sh.h (PREDICATE_CODES): Add it.
5093 * sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
5094 input operand that needs to be in fpul.
5095 (fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
42d5d0f1
BS
5096 * sh.c (find_barrier): Take into account that machine_dependent_reorg
5097 might add new insns.
5d77a50c 5098
55eec660
AO
50992000-09-18 Alexandre Oliva <aoliva@redhat.com>
5100
40fc375d
AO
5101 * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
5102 MAYBE_DEAD.
5103 (sh_expand_epilogue): Take the PIC register into account when
5104 computing the frame size.
5105
55eec660
AO
5106 * config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
5107 * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
5108 LABEL_REFs with a PIC-safe unspec.
5109
fc6df7e1
JM
51102000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
5111
5112 * c-common.c (check_format_info): Properly save the argument
5113 number and parameter for $ operand number formats in case width
5114 and precision arguments are also used. Allow printf width and
5115 precision arguments to have operand numbers even if none was
5116 specified for the main format, since this is OK for %*.*m. Only
5117 object to missing $ operand number if the format used requires an
5118 argument.
5119
effa5541
JM
51202000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
5121
5122 * c-common.c (format_char_info): Add 'W' flag to comment.
5123 (print_char_table, scan_char_table): Use it.
5124 (check_format_info): Use the 'W' flag to determine whether a
5125 format argument is written into.
5126
99303ae4
JM
51272000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
5128
5129 * c-common.c (check_format_types): Reorganise and clean up,
5130 checking earlier for ERROR_MARKs and making cur_type into its
5131 TYPE_MAIN_VARIANT where convenient.
5132
9231abf2
JM
51332000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
5134
5135 * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
5136
cf67d231
BS
51372000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
5138
5139 * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
5140
bd793c65
BS
5141 * i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
5142 * i386.c (struct builtin_description): New.
5143 (bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
5144 (mmx_reg_operand): Declare MODE arg as unused.
5145 (ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
5146 ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
5147 ix86_expand_binop_builtin, ix86_expand_store_builtin,
5148 ix86_init_builtins, ix86_expand_builtin): New functions.
5149 * i386.h (ix86_builtins): New enumeration.
5150 (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
5151 * i386.md (attr length_immediate): 0 for mmx/sse types.
5152 (attr prefix_0f): 1 for mmx/sse types.
5153 (setcc_2): Remove "*" so we get gen_setcc_2.
5154 (emms): Account for changed register numbering. Set "memory" attr
5155 to unknown.
5156 (sfence): Set "memory" attr to unknown.
5157
4070d885
AJ
51582000-09-18 Andreas Jaeger <aj@suse.de>
5159
5160 * configure.in: Define _GNU_SOURCE only when using the GNU C
5161 Library.
a191f0ee
RH
5162 * configure: Regenerated.
5163 * config.in: Regenerated.
4070d885 5164
2ac86f90
MM
51652000-09-17 Mark Mitchell <mark@codesourcery.com>
5166
31a1fdad
MM
5167 * cppinit.c (cpp_init): Don't use ANSI prototypes.
5168 * flow.c (flow_dump_loop): Likewise.
5169 (flow_loops_dump): Likewise.
5170
2ac86f90
MM
5171 * c-typeck.c (c_start_case): Fix typo.
5172
60e9d01c
JM
51732000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
5174
5175 * c-decl.c (grokdeclarator): Don't give a warning about defaulting
5176 to int for plain complex which defaults to complex double. Do
5177 warn about defaulting to complex double if pedantic. Warn about
5178 complex integer types if pedantic. Warn about complex types if
5179 pedantic and not in C99 mode.
5180 * c-typeck.c (build_unary_op): If pedantic, warn about use of ~
5181 for complex conjugation.
5182
bc5006c7
JM
51832000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
5184
5185 * contrib.texi: Update my entry.
5186
7e3bd81e
DC
5187Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru>
5188
23cb1766
RK
5189 * config/avr/avr.md (mcu_enhanced): New attribute.
5190 (mcu_mega): Likewise.
5191 (extendhisi2): Use mcu_enhanced.
5192 (zero_extendhisi2): Likewise.
5193 (call_insn): Use mcu_enhanced and mcu_mega.
5194 (call_value_insn): Likewise.
5195 (*sbrx_branch): Use mcu_mega.
5196 (*sbrx_and_branchsi): Likewise.
5197 (*sbrx_and_branchhi): Likewise.
5198 (*tablejump_lib): Likewise.
7e3bd81e 5199
6a51f4a0
RK
5200Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5201
ec569656
RK
5202 * alias.c (true_dependence): Allow non-unchanging read to conflict
5203 with unchanging write.
5204
23cb1766
RK
5205 * expr.c (store_constructor_field): Accept ALIAS_SET arg.
5206 (store_constructor): Pass alias_set to it.
5207
a52fb89b
RK
5208 * c-decl.c (grokdeclarator): Reorder tests to avoid looking at
5209 TYPE_MAIN_VARIANT of ERROR_MARK.
5210 * c-lex.c (readescape): Avoid using printf syntax we don't recognize.
5211
6a51f4a0
RK
5212 * simplify-rtx.c (simplify_unary_operation): Add cases
5213 FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
5214
ebb1b59a
BS
52152000-09-17 Bernd Schmidt <bernds@redhat.co.uk>
5216
a191f0ee 5217 * expr.h (emit_library_call, emit_library_call_value): Delete
ebb1b59a
BS
5218 declarations.
5219 * rtl.h (enum libcall_type): New.
5220 (emit_library_call, emit_library_call_value): Change fn_type arg to
a191f0ee 5221 be of type enum libcall_type.
ebb1b59a
BS
5222 * calls.c: Likewise for the function definitions. Several callers
5223 throughout changed to use the new enumeration appropriately.
5224 (emit_library_call_value_1): Likewise. Put back code to make libcall
a191f0ee 5225 blocks of equal form, but only use it for the two new higher
ebb1b59a
BS
5226 enumeration values.
5227
8f17b5c5
MM
52282000-09-16 Mark Mitchell <mark@codesourcery.com>
5229
5230 Convert the C front-end to use function-at-a-time mode.
5231 * c-common.h: Include splay-tree.h.
5232 (C_DECLARED_LABEL_FLAG): New macro.
5233 (struct language_function): Add x_scope_stmt_stack and
5234 x_function_name_declared_p.
5235 (RECHAIN_STMTS): Move definition.
5236 (lang_statment_code_p): Likewise.
5237 (lang_expand_stmt): Likewise.
5238 (lang_expand_decl_stmt): New variable.
5239 (lang_expand_function_end): Likewise.
5240 (current_scope_stmt_stack): New function.
5241 (add_decl_stmt): Likewise.
5242 (add_scope_stmt): Likewise.
5243 (mark_stmt_tree): Likewise.
5244 (struct c_lang_decl): New structure.
5245 (DECL_SAVED_TREE): Define.
5246 (c_mark_lang_decl): New function.
5247 (c_expand_start_cond): Change prototype.
5248 (c_finish_then): New function.
5249 (c_finish_else): Likewise.
5250 (current_function_name_declared): Remove.
5251 (set_current_function_name_declared): Likewise.
5252 (mark_c_language_function): Declare.
5253 (case_compare): Likewise.
5254 (c_add_case_label): Likewise.
5255 (c_expand_expr): Likewise.
5256 (c_safe_from_p): Likewise.
5257 * c-common.c (lang_expand_function_end): New variable.
5258 (struct if_elt): Add if_stmt.
5259 (c_expand_start_cond): Add the if-statement to the statement-tree,
5260 rather than generating RTL.
5261 (c_finish_then): New function.
5262 (c_expand_start_else): Don't generate RTL.
5263 (c_finish_else): New function.
5264 (c_expand_expr_stmt): Don't generate RTL.
5265 (statement_code_p): Add SCOPE_STMT.
5266 (case_compare): New function.
5267 (c_add_case_label): Likewise.
5268 (mark_stmt_tree): Likewise.
5269 (c_mark_lang_decl): Likewise.
5270 (mark_c_language_function): Likewise.
5271 (c_expand_expr): Likewise.
5272 (c_safe_from_p): Likewise.
5273 * c-decl.c (c_stmt_tree): New variable
5274 (c_scope_stmt_stack): Likewise.
5275 (c_function_name_declared_p): Likewise.
5276 (lang_expand_expr_stmt): Remove.
5277 (poplevel): Don't call output_inline_function for nested
5278 functions.
5279 (pushdecl): Don't set DECL_CONTEXT for a local declaration of an
5280 `extern' function.
5281 (redeclaration_error_message): Change means of computing whether
5282 or not a function is nested.
5283 (lookup_label): Don't call label_rtx.
5284 (init_decl_processing): Add more GC roots.
5285 (start_decl): Add DECL_STMTs to the statement-tree, rather than
5286 calling rest_of_decl_compilation.
5287 (finish_decl): Don't call expand_decl.
5288 (store_parm_decls): Begin the statement-tree, but don't generate
5289 RTL.
5290 (finish_function): Tie off the statement-tree. Call c_expand_body
5291 if appropriate.
5292 (c_expand_body): New function.
5293 (push_c_function_context): Save more information.
5294 (pop_c_function_contxt): Likewise.
5295 (copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
5296 (lang_mark_tree): Mark it.
5297 (current_stmt_tree): Adjust.
5298 (current_scope_stmt_stack): New function.
5299 (do_case): Remove.
5300 (set_current_name_declared): Likewise.
5301 (c_begin_compound_stmt): Define.
5302 (c_expand_decl_stmt): Likewise.
5303 * c-lang.c: Include rtl.h and expr.h.
5304 (lang_init): Set more language-specific hooks.
5305 * c-lex.c: Include expr.h.
5306 * c-parse.in: Changes throughout to add statements to the
5307 statement-tree, rather than generating RTL after every statement.
5308 * c-semantics.c (lang_expand_decl_stmt): Define.
5309 (add_decl_stmt): New function.
5310 (add_scope_stmt): Likewise.
5311 (finish_stmt_tree): Tweak.
5312 (genrtl_expr_stmt): Likewise.
5313 (genrtl_decl_stmt): Handle local labels, and call
5314 lang_expand_decl_stmt if required.
5315 (genrtl_for_stmt): Fix line-number handling.
5316 (genrtl_case_label): Handle cleanups.
5317 (genrtl_asm_stmt): Don't call combine_strings.
5318 (genrtl_compound_stmt): Simplify.
5319 (expand_stmt): Handle SCOPE_STMTs.
5320 * c-tree.h (struct lang_decl): New structure.
5321 (C_DECLARED_LABEL_FLAG): Remove.
5322 (c_begin_compound_stmt): Declare.
5323 (c_expand_decl_stmt): Likewise.
5324 (c_expand_start_case): Rename to c_start_case.
5325 (c_finish_case): New function.
5326 * c-typeck.c (start_init): Tweak setting of
5327 constructor_incremental.
5328 (c_expand_asm_operands): Tweak error-handling. Add to the
5329 statement-tree.
5330 (c_expand_return): Add to the statement-tree.
5331 (c_expand_start_case): Rename to ...
5332 (c_start_case): ... this.
5333 (struct c_switch): New type.
5334 (switch_stack): New variable.
5335 (do_case): Simplify.
5336 (c_finish_case): New function.
5337 * dependence.c: Include expr.h.
5338 (enum dependence_type): Change spelling of enumerals.
5339 (check_node_dependence): Adjust.
5340 * expr.h (lang_safe_from_p): Declare.
5341 (safe_from_p): Likewise.
5342 * expr.c (lang_safe_from_p): New variable.
5343 (safe_from_p): Give it external linkage. Use lang_safe_from_p.
5344 * stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
5345 * toplev.c (rest_of_decl_compilation): Robustify.
5346 * tree.c (contains_placeholder_p): Likewise.
5347 * Makefile.in: Update dependencies.
5348 * objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
5349 * objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
5350 (objc_expand_function_end): New function.
5351 (finish_method_def): Use it.
5352 (init_objc): Initialize more language-specific hooks.
5353 * objc/Make-lang.in: Update dependencies.
7373064a 5354
4797e955
GK
53552000-09-16 Geoffrey Keating <geoffk@cygnus.com>
5356
5357 * configure.in: Define macros that affect features before
5358 testing for features. Don't define _XOPEN_SOURCE.
5359 * configure: Regenerated.
5360 * config.in: Regenerated.
5361
ae0fb1b9
JW
5362Sat Sep 16 19:42:50 EDT 2000 John Wehle (john@feith.com)
5363
5364 * rtlanal.c (rtx_varies_p): Volatile asms vary.
5365 (rtx_unstable_p): Restructure code. Volatile asms
5366 are unstable.
5367
5748b2cb 5368Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
ae0f4dee 5369
87c31d6b
RK
5370 * function.h (no_debugging_symbols): New field.
5371 * integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
5372 Initialize no_debugging_symbols.
5373 (output_inline_function): Save and restore write_symbols and set from
5374 no_debugging_symbols.
5375 * toplev.c (rest_of_compilation): Call save_for_inline.
5376 * tree.h: Update comment.
7373064a 5377
5748b2cb
RK
5378 * stor-layout.c (place_field): Don't do anything if field or
5379 its type are ERROR_MARK.
5380
5381Sat Sep 16 19:14:00 2000 Laurynas Biveinis <lauras@softhome.net>
5382
5383 * cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
5384 (read_include_file): Ensure inc->mmaped is initialized.
ae0f4dee 5385
6f84c9bd
RH
53862000-09-16 Richard Henderson <rth@cygnus.com>
5387
5388 * cppiles.c (purge_cache): Use PTR not caddr_t.
5389
50c57e7b
HPN
53902000-09-16 Hans-Peter Nilsson <hp@axis.com>
5391
5392 * gcc.c: In description for %{<S}, say the option removed is -S.
5393 * invoke.texi (Spec Files): Ditto.
5394
dd745546
AJ
53952000-09-16 Andreas Jaeger <aj@suse.de>
5396
5397 * configure.in: Always define _GNU_SOURCE to make interfaces
5398 visible that were hidden by only defining _GNU_SOURCE.
5399 * configure: Regenerated.
5400
08ebc1c5
NB
5401Sat 16-Sep-2000 08:13:45 BST Neil Booth <NeilB@earthling.net>
5402
5403 * cpplex.c (push_macro_context): Set an argument's level after
5404 calling parse_args. We could loop infinitely otherwise.
5405
16abe34a
TT
54062000-09-15 Tom Tromey <tromey@cygnus.com>
5407
5408 * configure, config.in: Rebuilt.
5409 * configure.in: Check for iconv.h. Define _XOPEN_SOURCE.
5410
61c16b10
GM
54112000-09-15 Greg McGary <greg@mcgary.org>
5412
5413 * cppmacro.c (check_trad_stringification): Check token
5414 text pointers against limit before dereferencing.
5415
6a357625
JM
54162000-09-15 Joseph S. Myers <jsm28@cam.ac.uk>
5417
5418 * c-common.c (format_wanted_type): New structure.
5419 (check_format_types): New function.
5420 (check_format_info): Pass all checking of types of format
5421 arguments, including width and precision arguments, to this new
5422 function.
5423
6a1d1088
GP
54242000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5425
5426 * BUGS: Remove file.
5427
a3b815cb
JJ
54282000-09-15 Jakub Jelinek <jakub@redhat.com>
5429
54f5c4b0
JJ
5430 * config/alpha/alpha.c (override_options): ev6 cache latencies
5431 from Richard Henderson. Don't allow -mmemory-latency=L0.
5432
a3b815cb
JJ
5433 * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
5434 (TARGET_OPTIONS): Add tune=.
5435 (alpha_tune_string): Declare.
5436 * config/alpha/alpha.c (override_options): Add cpu_table.
5437 Use alpha_cpu_string first to set both alpha_cpu and target_flags
5438 and then alpha_tune_string to set alpha_cpu only.
5439 Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
5440 * config/alpha/elf.h (ASM_FILE_START): Likewise.
5441 * config/alpha/osf.h (ASM_FILE_START): Likewise.
5442 * config/alpha/openbsd.h (ASM_FILE_START): Likewise.
5443
9076b9c1
JH
5444Fri Sep 15 19:45:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
5445
5446 * i386-protos.h (no_comparison_operator, uno_comparison_operator):
5447 Remove.
5448 (ix86_comparison_operator, ix86_cc_mode): Declare
5449 * i386.h (CCGC, CCGCO): New modes.
5450 (SELECT_CC_MODE): Move offline to ....
5451 * i386.c (ix86_cc_mode): .... here; use new modes.
5452 (ix86_comparison_operator): New.
5453 (fcmov_comparison_operator): Ensure proper mode.
5454 (put_condition_mode): More sanity checking.
5455 (ix86_match_ccmode): Handle new modes.
5456 (ix86_expand_fp_compare): GEU requires CCmode.
5457 (ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
5458 doing it by hand.
5459 * i386.md (cmp?i_ccz_1): Remove
5460 (cmp?i_ccno_1): Use ix86_match_ccmode.
5461 (cmp?i_minus_1): New.
5462 (cmpsi_1): New expander.
5463 (cmpqi_ext_1): Use match_ccmode
5464 (cmpqi_ext_3): New expander.
5465 (cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
5466 (cmpqi_ext_4): Use match_ccmode.
5467 (add?i_?): Use match_ccmode.
5468 (add?i_6): New.
5469 (test?i_ccz_1): Remove
5470 (test?i_1): New.
5471 (testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
5472 (testqi_ext_0): Use ix86_match_ccmode.
5473 (*xorqi_cc_ext_1): Use ix86_match_ccmode.
5474 (xorqi_cc_ext_1): New expander.
5475 (shift patterns): Use CCGOCmode for all shifts except for sar.
5476 (setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
5477 (setcc_3, jcc_3, miv?icc_c): Remove.
5478
3724ec07
WC
54792000-09-15 Will Cohen <wcohen@redhat.com>
5480
5481 * dwarf2out.c (add_const_value_attribute): Changed array into a
5482 xmalloced object, so it exists after function exit.
5483 (free_AT): Added case for dw_val_class_float to free allocated
5484 memory.
5485
182a4620
KH
54862000-09-15 Kazu Hirata <kazu@hxi.com>
5487
5488 * config/i386/i386.md: Fix a comment typo.
d25a45d4 5489 * gcc.c: Fix formatting.
182a4620 5490
aff2c2d3
BS
54912000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
5492
5493 * optabs.c (emit_libcall_block): If target is a user variable,
5494 copy to a temporary first.
642dfa8b
BS
5495 * expr.c (convert_move): When generating a libcall, make a libcall
5496 block.
188c5e6c
BS
5497 * calls.c (emit_library_call_value_1): Don't create a libcall
5498 sequence here; our caller will in most cases do it.
aff2c2d3 5499
0c4c9b16
BS
5500 * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
5501 MACH into FPUL.
5502 (SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
5503 * sh.md (reload_outsf): Generate recognizable patterns for
5504 TARGET_SH3E.
5505 (floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
5506 fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
5507 fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
5508 truncdfsf2_i4): Change not to use explicit references to fpul.
5509 (floatsisf2_ie): Remove USE of fpscr.
5510 (floatsisf2): Change default expansion to match this.
5511 (fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
5512 unused patterns.
5513
308ecea0
RH
55142000-09-15 Richard Henderson <rth@cygnus.com>
5515
5516 * expmed.c (store_bit_field): Consider naturally aligned
5517 memory for direct reference.
5518
e01acbb1
RH
55192000-09-15 Richard Henderson <rth@cygnus.com>
5520
5521 * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
5522 AND addresses into alias set 0.
5523 (alpha_expand_unaligned_store): Likewise.
5524 (alpha_expand_unaligned_load_words): Likewise.
5525 (alpha_expand_unaligned_store_words): Likewise.
5526
c363a0c0
BS
55272000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
5528
5529 * config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
5530 * config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
5531 is defined.
dd193c79
BS
5532 * config/mips/mips.c (mips_va_arg): Args passed by reference have a
5533 rsize of UNITS_PER_WORD.
c363a0c0 5534
ff94c747
NB
5535Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net>
5536
5537 * cpplex.c (ON_REST_ARG): Correct the test.
5538 (maybe_paste_with_next): Duplicate a token that fail pasting,
5539 and clear its PASTE_LEFT flag, so that nested pasting attempts
5540 do not occur.
5541
b437f1a7
RH
55422000-09-14 Richard Henderson <rth@cygnus.com>
5543
5544 * calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
5545 * cse.c (rtx_cost): Likewise.
5546 * optabls.c (expand_binop): Likewise.
5547 (expand_twoval_binop, prepare_cmp_insn): Likewise.
5548 * regclass.c (copy_cost): Likewise.
5549 * reload1.c (reload_cse_move2add): Likewise.
5550
d9dbd9b1
JM
55512000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
5552
5553 * c-parse.in (reswords): Add _Complex.
5554
9207d3b1
DA
55552000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca>
5556
5557 * gcc.1: Delete documentation for -undef preprocessor option.
5558
395a451c
AO
55592000-09-14 Alexandre Oliva <aoliva@redhat.com>
5560
5561 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
5562 STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
5563 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
5564 Remove undefine before config/elfos.h.
5565 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
5566
17f0f8fa
KH
55672000-09-14 Kazu Hirata <kazu@hxi.com>
5568
5569 * invoke.texi (H8/300 Options): Add -ms2600.
5570 * config/h8300.c (h8300_init_once): Output an error when -ms2600
5571 is used without -ms.
5572 * config/h8300.h (TARGET_MAC): New.
5573 (TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
5574 (CONDITIONA_REGISTER_USAGE): Disable the mac register on any
5575 machine other than H8/S2600.
5576 * config/h8300.md: Accept mac instructions on the H8/S2600 instead
5577 of the H8/S2000.
5578
9e8f528c
AO
55792000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
5580
5581 * reload.c (find_reloads_address_1): Generate reloads for auto_inc
5582 pseudos that refer to the original pseudos, not only to their
5583 equivalent memory locations.
5584
9985f210
RK
5585Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5586
fe7a8445
RK
5587 * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
5588 when making new MEM.
5589
9985f210
RK
5590 * Makefile.in (LN): Remove duplicate definition.
5591
2f93c5c3
BS
55922000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
5593
5594 From Joern Rennecke:
5595 * local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
5596 on an insn and function_invariant_p returns nonzero for the source,
5597 add a REG_EQUAL note.
5598
b24ea077
JW
5599Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com)
5600
5601 * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
5602 conflict with frame_pointer_rtx.
5603
fd5d5b07
KH
56042000-09-13 Kazu Hirata <kazu@hxi.com>
5605
5606 * loop.c: Fix formatting.
5607 * loop.h: Likewise.
5608
26102535
RH
56092000-09-13 Richard Henderson <rth@cygnus.com>
5610
5611 * config/ia64/ia64.md (divsf3): New.
5612 (divsf3_internal_lat, divsf3_internal_thr): New.
5613 (divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
5614 (divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
5615 (adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
5616 (madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
5617 (nmadddf4_alts, nmadddf4_trunc): New.
5618 (addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
5619 (subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
5620 (multf3_truncsf_alts, multf3_truncdf_alts): New.
5621 (maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
5622 (msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
5623 (nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
5624 (nmaddtf4_truncdf_alts): New.
5625 (recip_approx): Don't predicate.
5626
938566fb
RH
56272000-09-13 Richard Henderson <rth@cygnus.com>
5628
5629 * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
5630
c349e40b
SC
56312000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5632
5633 * flags.h (flag_dump_rtl_in_asm): Declare.
5634 * toplev.c (flag_dump_rtl_in_asm): Define.
5635 (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
5636 if -dP is specified.
5637 * rtl.h (print_rtx_head): Declare.
5638 * print-rtl.c (print_rtx_head): Define.
5639 (print_rtx): Print the string pointed to by print_rtx_head
5640 at beginning of each dump line.
5641 (print_rtl): Likewise.
5642 (print_rtl_single): Likewise.
5643 * final.c (final_scan_insn): Dump the insn in the assembly
5644 file for debugging.
5645 * gcc.1: Document -dP option.
5646 * invoke.texi (Debugging Options): Likewise.
5647
2856c3e3
SC
56482000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5649
5650 * md.texi (Machine Constraints): Document the 68HC11 constraints.
5651 * install.texi (Configurations): Document the 68HC11&68HC12 port.
5652 * invoke.texi (Option Summary, M68hc1x Options): Document the options.
5653
1ca04dc8
DC
5654Tue Sep 12 13:51:13 2000 Denis Chertykov <denisc@overta.ru>
5655
5656 * config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
5657 * config/avr/avr.md (*movstrqi_insn): Cleanup output template.
5658 (*clrstrqi): Likewise.
5659 (xorhi3,xorsi3,absqi2): Likewise.
5660 (one_cmplhi2,one_cmplsi2): Likewise.
5661 (addsi3): Two stupid constraint alternatives removed.
5662 (extendhisi2): Use `movw' for enhanced avr cores.
5663 (zero_extendhisi2): Likewise.
5664
bb07060a
JW
5665Wed Sep 13 02:31:23 EDT 2000 John Wehle (john@feith.com)
5666
5667 * alias.c (find_base_term): Use frame_pointer_rtx
5668 when handling an ADDRESSOF.
5669
5670 * cse.c (canon_hash): Handle USE of BLKmode memory.
5671 (cse_insn): Outgoing arguments for a libcall don't
5672 affect any recorded expressions.
5673
d21445e7
TT
56742000-09-12 Tom Tromey <tromey@cygnus.com>
5675
5676 * configure, config.in: Rebuilt.
5677 * configure.in: Check for iconv, nl_langinfo, langinfo.h.
5678
5c80f6e6
JJ
56792000-09-12 Jakub Jelinek <jakub@redhat.com>
5680
5681 * c-lex.c (lex_string): Use charwidth to compute bytemask.
5682 * expr.c (expand_expr): Don't optimize constant array references
5683 initialized with wide string constants.
5684
635a2a90
MH
56852000-09-13 Michael Hayes <mhayes@cygnus.com>
5686
a191f0ee 5687 * loop.c (note_set_pseudo_multiple_uses): Correct.
635a2a90 5688
cc2999aa
JW
56892000-09-12 Jim Wilson <wilson@cygnus.com>
5690
5691 * ifcvt.c (noce_process_if_block): If A and B are the same, and no
5692 else block, and X has side-effects, then fail.
5693
a0b6cdee
GM
56942000-09-12 Greg McGary <greg@mcgary.org>
5695
5696 * config/mips/mips-protos.h
5697 (trap_cmp_op, mips_gen_conditional_trap): New func decls.
5698 * config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
5699 (PREDICATE_CODES): Add "trap_cmp_op".
5700 * config/mips/mips.c
5701 (trap_cmp_op, mips_gen_conditional_trap): New functions.
5702 * config/mips/mips.md (trap, conditional_trap): New patterns.
5703
24948ccc
BS
57042000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
5705
5706 * flow.c (try_pre_increment_1): Don't do anything to sets of the stack
5707 pointer.
5708
3ff5f682
KG
57092000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5710
5711 * builtins.c (built_in_decls): New array.
5712 (expand_builtin_fputs): New function.
5713 (expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
5714
5715 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
5716
5717 * c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
5718
5719 * tree.h (built_in_decls): New array.
5720
208b0ab1
JL
5721Tue Sep 12 08:53:57 2000 Jeffrey A Law (law@cygnus.com)
5722
5723 * convex.md: Use "+" instead of "=" for outputs wrapped in a
5724 STRICT_LOW_PART.
5725 * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
5726
a86dc4a3
KH
57272000-09-12 Kazu Hirata <kazu@hxi.com>
5728
7a403706
KH
5729 * haifa-sched.c: Fix formatting.
5730
c9541287
KH
5731 * genattrtab.c: Fix formatting.
5732
a86dc4a3
KH
5733 * unroll.c: Fix formatting.
5734
3af556f7
BK
57352000-09-12 Bruce Korb <bkorb@gnu.org>
5736
5737 * fixinc/fixfixes.c: make a type for the fix procedure & use it,
5738 remove obsolete code
5739 * fixinc/fixincl.c: Use PARAMS, not _P_. Add no-op default to switch.
5740 * fixinc/fixincl.tpl: make non-exported arrays static scope
5741 * fixinc/fixincl.x: regenerate
5742 * fixinc/fixlib.h: Use PARAMS, not _P_
5743 * fixinc/fixtests.c: make a type for the test proc & use it
5744 * fixinc/server.h: Use PARAMS, not _P_
5745
32892c52
KG
57462000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5747
5748 * c-typeck.c (process_init_element): Avoid union init warnings on
5749 floating point zero. Don't crash on unions containing structs.
5750
ae0a1c23
AO
57512000-09-12 Alexandre Oliva <aoliva@redhat.com>
5752
5753 * config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
5754 general_movsrc_operand, and remove CONST_INT from
5755 general_movdst_operand.
5756
f1c1dfc3
BS
57572000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
5758
5759 * cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
5760 if a reference to non-fixed hardreg is seen. Otherwise, count hard
5761 regs with a higher cost.
5762 (preferrable): Deal with cases where either cost or regcost is
5763 MAX_COST.
5764 (cse_insn): Use MAX_COST rather than 10000. Always initialize
5765 regcost values.
5766 (COSTS_N_INSNS): Move definition...
5767 * rtl.h: ...here.
5768 (MAX_COST): New macro.
5769 * loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
5770 constant.
5771
f444e36b
MM
57722000-09-11 Mark Mitchell <mark@codesourcery.com>
5773
5774 * c-common.h (genrtl_clear_out_block): Remove.
5775 * c-semantics.c (genrtl_clear_out_block): Remove.
5776 (genrtl_while_stmt): Don't call it.
5777 (genrtl_for_stmt): Likewise.
5778
a58d32c2
ZW
57792000-09-11 Zack Weinberg <zack@wolery.cumb.org>
5780
5781 * cppfiles.c: Move all default-#defines to top of file.
5782 (open_include_file): Replace by lookup_include_file.
5783 (read_with_read, read_file): Merged into read_include_file.
5784 (stack_include_file, purge_cache): New functions.
5785 (close_cached_fd): Delete.
dd745546 5786 (lookup_include_file, read_include_file, _cpp_pop_file_buffer):
a58d32c2
ZW
5787 Cache the in-memory buffer, not the file descriptor.
5788
5789 * cpphash.h (struct include_file): Add buffer, st, refcnt,
5790 mapped fields.
5791 (xcnew): New utility macro.
5792 (DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
5793 * cpplib.h (struct cpp_buffer): Remove mapped field.
5794
57952000-09-11 Zack Weinberg <zack@wolery.cumb.org>
5796
5797 * cpplex.c (parse_string): Accept backslash space newline as a
5798 line continuation.
5799 (lex_line): Likewise.
5800 (_cpp_get_token): Remove hard limit on macro nesting.
5801
bfa29b63
PT
58022000-09-12 Philipp Thomas <pthomas@suse.de>
5803
5804 * aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
5805 * configure: Rebuilt.
5806
97ca9316
MH
58072000-09-13 Michael Hayes <mhayes@cygnus.com>
5808
5809 * flow.c (split_block): Fix update of registers live at
5810 end of split block.
5811
d90ffc8d
JH
5812Tue Sep 12 01:51:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
5813
5814 * i386.md (add?i_3, add?i_5): New.
5815 (add?i_4): Rename from add?i_3; Fix compare pattern.
5816 (sub?i_3, xor?i_3, ior?i_3): New.
5817
5818 * genrecog.c (write_tree): Output code to clear insn_extract cache.
5819 * genattrtab.c (write_attr_case): Gen call to extract_insn_cache
5820 instead of extract_insn and extract_constrain_insn_cache instead of
5821 extract_insn and constrain_operands.
5822 * recog.c (extract_insn_cached, extract_constrain_insn_cached):
5823 New functions.
5824 (extract_insn): Clear which_alternative.
5825 (constrain_operands): Set which_alternative to -1 when failed.
5826 * recog.h (extract_constrain_insn_cached, extract_insn_cached):
5827 Declare.
5828
4843bda9
MH
58292000-09-11 Matthew Hiller <hiller@redhat.com>
5830
5831 * config/h8300/h8300.md (movstrictqi): Changed constraint modifier
5832 on operand 0 to '+'.
5833 (movstricthi): Likewise.
5834
ed5bb68d
MH
58352000-09-12 Michael Hayes <mhayes@cygnus.com>
5836
5837 * loop.h (LOOP_IVS): New macro.
5838 (REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
5839 (struct loop_ivs): New.
5840 (struct loop_info): Add ivs field.
5841 (reg_iv_type, reg_iv_info): Delete prototype.
5842 (reg_biv_class, loop_iv_list): Likewise.
5843 * loop.c (record_biv, find_life_end): Pass loop argument.
5844 (reg_iv_type): Remove global array and use
5845 field in loop_regs structure within loop_ivs structure.
5846 (reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
5847 (first_increment_giv, last_increment_giv): Use entry in
5848 loop_ivs structure.
5849 (record_initial): Pass ivs pointer.
5850 * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
5851
1ecd860b
MH
58522000-09-12 Michael Hayes <mhayes@cygnus.com>
5853
5854 * loop.h (LOOP_REGS): New macro.
5855 (struct loop_regs): New.
5856 (struct loop_info): Add regs field.
dd745546 5857 * loop.c (set_in_loop): Remove global array and store
1ecd860b
MH
5858 in loop_regs structure as part of loop_info structure.
5859 (n_times_set, may_not_optimize): Likewise.
5860 (reg_single_usage, moved_once): Likewise.
5861 (count_one_set): Add regs argument.
5862 (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
5863 (set_pseudo_multiple_uses): Pass regs pointer.
5864
0a5b41f2
MH
58652000-09-12 Michael Hayes <mhayes@cygnus.com>
5866
5867 * unroll.c (iteration_info): Subsume into loop_iterations.
5868 * loop.h (loop_info): New field iv.
5869
5d6a16e2
MH
58702000-09-12 Michael Hayes <mhayes@cygnus.com>
5871
5872 * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
5873 (LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
5874 (flow_loops_update): New prototype.
5875 (flow_loops_find): Add flags to prototype.
5876 (struct loop): Add `pre_header_root' and `pre_header_trace' fields.
5877 * flow.c (flow_loop_pre_header_scan): New.
5878 (flow_loop_dump): Dump pre-header root and trace and exit dominators.
5879 (flow_loop_free): Free pre-header root and trace and exit dominators.
5880 (flow_loops_find): New argument flags.
5881 (flow_loops_update): New function.
5882 * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
5883
c586192c
MH
58842000-09-12 Michael Hayes <mhayes@cygnus.com>
5885
5886 * basic-block.h (split_block, update_bb_for_insn): New prototypes.
5887 * flow.c (split_block, update_bb_for_insn): New functions.
5888
a5e5cf67
RH
58892000-09-11 Richard Henderson <rth@cygnus.com>
5890
5891 * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
5892
655f2eb9
RH
58932000-09-11 Richard Henderson <rth@cygnus.com>
5894
5895 * config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
5896 * config/ia64/ia64.c (fr_nonimmediate_operand): New.
5897 (ia64_override_options): Prevent optimizing division for both
5898 latency and throughput.
5899 (rtx_needs_barrier): Handle frcpa.
5900 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
5901 (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
5902 (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
5903 (TARGET_SWITCHES): Add -minline-divide-min-latency and
5904 -minline-divide-max-throughput.
5905 (PREDICATE_CODES): Update.
5906 * config/ia64/ia64.md (extendsidi2): Remove * from f case.
5907 (zero_extendsidi2): Likewise. Fix typo in f case insn.
5908 (extendsfdf2): Add cases for gr<->fr and fr<->mem.
5909 (extendsftf2): Likewise.
5910 (extenddftf2): Likewise.
5911 (fix_trunctfdi2_alts): New.
5912 (fixuns_trunctfdi2_alts): New.
5913 (madd*4): Rename from madd*3.
5914 (divsi3, modsi3, udivsi3, umodsi3): New.
5915 (divsi3_internal): New.
5916 (divdi3, moddi3, udivdi3, umoddi3): New.
5917 (divdi3_internal_lat, divdi3_internal_thr): New.
5918 (multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
5919 (recip_approx): New.
5920
b5d7770c
AO
59212000-09-11 Alexandre Oliva <aoliva@redhat.com>
5922
5923 * print-rtl.c (debug_call_placeholder_verbose): New variable.
5924 (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
5925 set.
5926 * integrate.c (copy_rtx_and_substitute): Don't share
5927 LEAF_REG_REMAPpable registers with the inlined function. Don't
5928 share the function value with calling sequences.
5929
6ff85fd8
JJ
59302000-09-11 Jakub Jelinek <jakub@redhat.com>
5931
2a1da89b
JJ
5932 * c-decl.c (do_case): Fix a typo.
5933
6ff85fd8
JJ
5934 * combine.c (simplify_if_then_else): Don't convert a == b ? b : a
5935 to a if the comparison is floating mode and not -ffast-math.
5936 * simplify-rtx.c (simplify_ternary_operation): Likewise.
5937
4102c782
R
5938Mon Sep 11 20:07:48 2000 J"orn Rennecke <amylaar@redhat.co.uk>
5939
5940 * sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
5941 gen_ic_invalidate_line.
5942
52a21fc6
PB
59432000-09-11 Philip Blundell <pb@futuretv.com>
5944
5945 * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
5946
669ed2b1
UD
5947Mon Sep 11 10:48:41 2000 Ulrich Drepper <drepper@redhat.com>
5948
5949 * install.texi (LANGUAGES): Update to include new languages.
5950 * INSTALL: Rebuilt.
5951
50936d27
DD
59522000-09-11 DJ Delorie <dj@redhat.com>
5953
5954 * gcc.c (main): Don't warn about unused -B prefixes
5955 (unused_prefix_warnings): remove
5956
00174bdf
KH
59572000-09-11 Kazu Hirata <kazu@hxi.com>
5958
f5d927c0
KH
5959 * final.c: Fix formatting.
5960
00174bdf
KH
5961 * integrate.c: Fix formatting.
5962
b14066a9
GK
59632000-09-11 Geoff Keating <geoffk@cygnus.com>
5964
5965 * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
5966
e695931e
BS
59672000-09-11 Bernd Schmidt <bernds@redhat.co.uk>
5968
5969 * reload.c (regno_clobbered_p): Fix thinko in previous change.
5970
456aadaa
SC
59712000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5972
5973 * gcc.1: Document 68hc11 specific options.
5974
9cb8fcaf
GK
59752000-09-10 Geoff Keating <geoffk@cygnus.com>
5976
e0f7170a
GK
5977 * config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
5978 (TARGET_LONG_DOUBLE_128): Define.
5979 (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
5980 (LONG_DOUBLE_TYPE_SIZE): Redefine.
5981 (MAX_LONG_DOUBLE_TYPE_SIZE): Define.
5982 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
5983 of __LONG_DOUBLE_128__.
5984 (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
5985 passed.
5986 (CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
5987 (CPP_SYSV_DEFAULT_SPEC): Define.
5988 (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
5989 (INIT_TARGET_OPTABS): Define.
5990
9cb8fcaf
GK
5991 * config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
5992 (RS6000_UITRUNC): Likewise.
5993 (INIT_TARGET_OPTABS): New macro.
5994 * config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
5995 (trunc_defined): Delete.
5996 (output_prolog): Don't output .extern definitions for fp->int
5997 conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
5998 * config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
5999 (trunc_defined): Delete.
6000 (RS6000_ITRUNC): Moved to aix.h.
6001 (RS6000_UITRUNC): Likewise.
6002 * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
6003 only emit a libcall.
6004 (fixuns_truncdfsi2): Delete.
6005 (trunc_call): Delete.
6006 (trunc_call_rtl): Delete.
6007
8f820299
ZW
60082000-09-10 Zack Weinberg <zack@wolery.cumb.org>
6009
6010 * varasm.c (make_decl_rtl): Restore leading star on
dd745546 6011 DECL_ASSEMBLER_NAME set for decls with an asmspec.
8f820299 6012
4337bc93
ZW
60132000-09-10 Zack Weinberg <zack@wolery.cumb.org>
6014
6015 * c-pragma.c (handle_pragma_pack): Correct parsing logic so it
6016 won't give a spurious error for '#pragma pack()'. Simplify
6017 control flow for readability. 'reset' action is not necessary.
6018
d8ea8f28
ZW
60192000-09-10 Zack Weinberg <zack@wolery.cumb.org>
6020
6021 * defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
6022 SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
6023 LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
6024 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
6025
6026 * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
6027 profile.c, sdbout.c, tradcif.y, tree.c:
6028 Include defaults.h if not already included.
6029 Don't define the above macros.
6030
6031 * Makefile.in: Update dependencies.
6032
56cb9733
MM
60332000-09-10 Mark Mitchell <mark@codesourcery.com>
6034
6035 * c-common.h (add_stmt): Change prototype.
6036 (RECHAIN_STMTS): New macro.
6037 (CASE_LABEL_DECL): Likewise.
6038 (genrtl_case_label): Change prototype.
6039 (c_expand_start_case): Remove prototype.
6040 (build_case_label): Change prototype.
6041 (decl_constant_value): Declare.
6042 * c-common.c (check_case_value): Handle C++'s extensions to C
6043 semantics.
6044 * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
d8ea8f28 6045 field.
56cb9733
MM
6046 * c-parse.in (stmt): Adjust handling of return statements and case
6047 laels.
6048 * c-semantics.c (add_stmt): Return the new statement.
6049 (genrtl_return_stmt): Take the RETURN_STMT as input, not the
6050 returned expression. Directly generate RTL, rather than calling
6051 c_expand_return.
6052 (genrtl_switch_stmt): Don't call c_expand_start_case.
6053 (build_case_label): Take the LABEL_DECL as input, too.
6054 (genrtl_case_label): Just call add_case_node.
6055 (expand_stmt): Adjust calls to genrtl_return_stmt and
6056 genrtl_case_label.
6057 * c-tree.h (c_expand_start_case): Declare.
6058 * c-typeck.c (decl_constant_value): Give it external linkage.
6059 (c_expand_return): Don't call expand_return or expand_null_return;
6060 use genrtl_return_stmt instead.
6061 * stmt.c (struct nesting): Remove num_ranges field.
6062 (add_case_node): Give it external linkage.
6063 (expand_start_case): Don't set num_ranges.
6064 (expand_start_case_dummy): Don't clear it.
6065 (pushcase): Rely on add_case_node to handle `default' labels.
6066 (add_case_node): Handle `default' labels.
6067 * tree.c (tree_int_cst_compare): New function.
6068 * tree.h (tree_int_cst_compare): Declare.
6069 (add_case_node): Likewise.
6070
aac02f4e
RH
60712000-09-10 Richard Henderson <rth@cygnus.com>
6072
6073 * c-parse.in: Revert last change.
6074 (init_reswords): Do not enter disabled keywords into the ridpointers
6075 table, modulo objc weirdness.
6076 (_yylex): Return the canonical spelling for a keyword.
6077
75d8aea7
PB
60782000-09-10 Philip Blundell <philb@gnu.org>
6079
6080 * config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
6081 * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
6082
d982e46e
JW
6083Sun Sep 10 14:30:28 EDT 2000 John Wehle (john@feith.com)
6084
6085 * alias.c (find_base_term): Handle ADDRESSOF.
6086 (memrefs_conflict_p): An ADDRESSOF doesn't conflict.
6087
212d447c
DC
60882000-09-10 Denis Chertykov <denisc@overta.ru>
6089
6090 * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
6091 outputting templates with many lines.
6092
a746dbf5
SC
60932000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6094
6095 * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
6096 to decide whether 64-bit support must be generated.
6097
1d0f6d89
RH
60982000-09-10 Richard Henderson <rth@cygnus.com>
6099
6100 * c-parse.in (asm patterns): Fix volatile check.
6101
e1aa5140
KG
61022000-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6103
6104 * cppmacro.c (check_trad_stringification): New function.
6105 (save_expansion): If -Wtraditional, warn about stringification of
6106 macro arguments.
6107
afa1738b
MH
61082000-09-11 Michael Hayes <mhayes@cygnus.com>
6109
6110 * loop.h (struct loop_mem_info): Move from loop.c
6111 (struct loop_info): Add fields store_mems, mems, mems_idx,
6112 mems_allocated, unknown_address_altered,
6113 unknown_constant_address_altered, num_mem_sets, and
6114 first_loop_store_insn.
6115
6116 * loop.c (loop_store_mems): Replace with field in loop_info struct.
6117 (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
6118 (unknown_address_altered, unknown_constant_address_altered): Likewise.
6119 (num_mem_sets): Likewise.
dd745546 6120 (replace_loop_mems, replace_loop_regs): New.
afa1738b
MH
6121 (struct loop_replace_args): New.
6122 (load_mems): Use replace_loop_mems.
6123 (try_copy_prop): Use replace_loop_regs.
6124 (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
6125
63883fc3
SC
61262000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6127
6128 * configure.in: Recognize m6811-elf and m6812-elf.
6129 * configure: Regenerate.
6130
808788fe
GK
61312000-09-09 Geoff Keating <geoffk@cygnus.com>
6132
6133 * recog.c (validate_replace_rtx_1): Correct MODE parameter in call
6134 to operand_subword.
6135
02055ad6
MH
61362000-09-10 Michael Hayes <mhayes@cygnus.com>
6137
6138 * loop.c (struct movables): New.
6139 (num_movables): Move into struct movables.
6140 (the_movables): Change type to struct movables.
6141 (ignore_some_movables): Change struct movable arg to struct movables.
dd745546 6142 (force_movables, combine_movables, regs_match_p): Likewise.
02055ad6
MH
6143 (rtx_equal_for_loop_p, move_movables): Likewise.
6144 (scan_loop): Change movables to be of type struct movables.
6145 Replace last_movable with field in movables structure.
6146
ae54392b
ZW
61472000-09-08 Zack Weinberg <zack@wolery.cumb.org>
6148
6149 * c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
6150 (init_pragma): Avoid warning if pfile happens to be unused.
6151 * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never
6152 define init_pragma to nothing. Always prototype
6153 init_pragma. Prototype dispatch_pragma if !USE_CPPLIB.
6154
6155 * c-lex.c (process_directive): Always call dispatch_pragma.
6156 Initialize entering_c_header to 0.
6157
385c9217
SC
61582000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6159
6160 * config/m68hc11/m68hc11.md: New file, machine description for
6161 68HC11 & 68HC12.
6162 * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
6163 * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
6164 * config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
6165 * config/m68hc11/m68hc11-protos.h: New file.
6166 * config/m68hc11/m68hc11-crt0.S: New file, startup code.
6167 * config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
6168 * config/m68hc11/xm-m68hc11.h: New file, target defs.
6169 * config/m68hc11/larith.asm: New file, libgcc routines.
6170
dfaf3cdb
SC
61712000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6172
6173 * Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
6174 (FPBIT_FUNCS): Add _usi_to_sf.
6175 * config/fp-bit.c (usi_to_float): New function.
6176 * config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
6177 (usi_to_float): Add appropriate #define.
6178
915119a5
BS
61792000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
6180
6181 * i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
6182 new functions.
6183 * i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
6184 * i386.md (attr "type"): Add sse and mmx types.
6185 (attr "memory"): Handle them without a crash.
6186 (movsi_1, movdi_2): Allow MMX regs.
6187 (movdi splits): Don't split moves involving MMX regs.
6188 (setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
6189 (movv4sf_internal, movv4si_internal, movv8qi_internal,
6190 movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
6191 movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
6192 sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
6193 sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
6194 sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
6195 addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
6196 divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
6197 sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
dd745546
AJ
6198 sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
6199 vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
915119a5
BS
6200 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
6201 cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
6202 addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
6203 subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
6204 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
6205 mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
6206 mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
6207 eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
6208 smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
6209 lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
6210 mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
6211 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
6212 mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
6213 mmx_clrdi): New patterns.
6214
8e49e00a
RE
62152000-09-08 Richard Earnshaw <rearnsha@arm.com>
6216
6217 * arm.c: Don't include tm.h directly.
6218
bd5621a3
JH
6219Fri Sep 8 14:34:56 MET DST 2000 Jan Hubicka <jh@suse.cz>
6220
6221 * recog.c (validate_replace_rtx_1): Fix confusion about equality
6222 testing; simplify subregs of constants and nested subregs.
e65d02cf 6223
6b3783de
AO
62242000-09-08 Alexandre Oliva <aoliva@redhat.com>
6225
6226 * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
6227
82be40f7
BS
62282000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
6229
6230 * combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
6231 VEC_CONCAT.
9af354b7
BS
6232 * rtl.texi (description of USE): Add note about possible pitfalls
6233 with this rtx.
ce701d1b
BS
6234 From Richard Henderson:
6235 * reload1.c (choose_reload_regs): Compute need_mode properly.
82be40f7 6236
4287b5f1
RH
62372000-09-07 Richard Henderson <rth@cygnus.com>
6238
6239 * config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
6240 (__modsi3, __umodsi3): Likewise.
6241 (__udivsi3): Likewise. Normalize the TFmode values.
6242
c5d71f39
GK
62432000-09-07 Geoff Keating <geoffk@cygnus.com>
6244
6245 * config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
6246 with a prototype.
6247 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
6248 warning.
6249
712646d0
R
6250Fri Sep 8 03:26:38 2000 J"orn Rennecke <amylaar@redhat.co.uk>
6251
6252 * sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
6253 (cmpeqdi_t): Add output pattern.
6254 (cmpeqdi_t+1): Don't split when not optimizing.
6255 Restore proper splitting operation.
6256
30acbc3e
RH
62572000-09-07 Richard Henderson <rth@cygnus.com>
6258
6259 * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
6260 do not call dispatch_pragma.
6261
46146529
JW
62622000-09-07 Jim Wilson <wilson@cygnus.com>
6263
6264 * reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
6265 to CLASS_CANNOT_CHANGE_MODE.
6266 * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
6267 mode classes are different.
6268
6db83155
ZW
62692000-09-07 Zack Weinberg <zack@wolery.cumb.org>
6270
6271 * cpplib.h (struct cpp_options): Add user_label_prefix member,
6272 left out of commit which removed cppulp.c.
6273
0d45144b
RH
62742000-09-07 Richard Henderson <rth@cygnus.com>
6275
6276 * bb-reorder.c (fixup_reorder_chain): Add jump in new block
6277 after switch for CASE_DROPS_THROUGH.
6278
e8cb4873
RH
62792000-09-07 Richard Henderson <rth@cygnus.com>
6280
6281 * loop.c (strength_reduce): Call check_ext_dependant_givs.
6282 Properly extend the biv initial value for the giv.
6283 (record_biv): Zero ext_dependant.
6284 (record_giv): New argument ext_val. Update all callers.
6285 (general_induction_var): Likewise.
6286 (consec_sets_giv): Likewise.
6287 (simplify_giv_expr): Likewise. Fill in ext_val if we find
6288 a sign-extend, zero-extend, or truncate.
6289 (combine_givs_p): Make sure modes are compatible.
6290 (check_ext_dependant_givs): New.
6291 (extend_value_for_giv): New.
6292 * loop.h (struct induction): Add ext_dependant.
6293 * unroll.c (iteration_info): Extend the biv initial value for the giv.
6294 (find_splittable_givs): Likewise.
6295 (final_giv_value): Likewise.
6296
8b97c5f8
ZW
62972000-09-07 Zack Weinberg <zack@wolery.cumb.org>
6298
6299 * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
6300 REGISTER_TARGET_PRAGMAS is defined. Duplicate some
6301 definitions from cpplib.h.
6302 * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
6303 already done it.
6304 * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add
6305 documentation for REGISTER_TARGET_PRAGMAS.
6306
6307 * c-lex.c: Include cpplib.h before c-pragma.h. Define a
6308 default-pragma callback to implement -Wunknown-pragmas if
6309 USE_CPPLIB.
6310 * c-parse.in: Move all includes to top of file.
6311 * c-pragma.c: Include cpplib.h before c-pragma.h. Include
6312 tm_p.h.
6313 (dispatch_pragma): Put the namespace in the -Wunknown-pragmas
6314 warning.
6315 (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
6316
6317 * arm.h, arm-protos.h, arm.c,
6318 c4x.h, c4x-protos.h, c4x.c,
6319 h8300.h, h8300-protos.h, h8300.c,
6320 i370.h, i370-protos.h, i370.c,
6321 i960.h, i960-protos.h, i960.c,
d8ea8f28 6322 sh.h, sh-protos.h, sh.c,
8b97c5f8
ZW
6323 v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
6324 pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
6325
6326 * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add
6327 multiple include guard.
6328 * i370.md (untyped_call): Use GEN_CALL.
6329 (umodsi3): Remove unused variable.
6330 * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
6331 * v850.c (output_move_single, output_move_double): Constify
6332 return value.
6333 (print_operand): Constify a char *.
6334 * v850.h (struct small_memory_info): Constify name member.
6335
1898584f
KH
63362000-09-07 Kazu Hirata <kazu@hxi.com>
6337
6338 * config/h8300.h: Fix comment typos.
6339 * config/h8300/h8300.md: Likewise.
6340 * config/h8300/lib1funcs.asm: Likewise.
6341
771c4df3
NB
6342Thu 07-Sep-2000 21:29:00 BST Neil Booth <NeilB@earthling.net>
6343
6344 * Makefile.in: Remove references to cppulp.{c,o}.
6345 * cppinit.c (initialize_builtins, cpp_start_read,
6346 cpp_handle_option): Update to use cpp_options structure.
6347 * cppulp.c: Remove.
6348
2496f0b5
JM
63492000-09-07 Joseph S. Myers <jsm28@cam.ac.uk>
6350
6351 * c-common.c (time_char_table): Allow %#b and %#h.
6352
bf6302f0
HB
63532000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6354
6355 * reorg.c (find_end_label): If the basic block reorder pass moves the
6356 return insn to some other place try to locate it again and put our
6357 end_of_function_label there.
6358 * reorg.c (relax_delay_slots): Check if find_end_label created a
6359 new label that invalidates the current optimazation.
6360
4598ffe9
CM
63612000-09-07 Catherine Moore <clm@redhat.com>
6362
e8cb4873
RH
6363 * unroll.c (unroll_loop): Check for unconditional jumps
6364 to loop continuation. Delete if n_iterations is 1.
6365 (ujump_to_loop_cont): New routine.
4598ffe9 6366
ff427764
BS
63672000-09-07 Bernd Schmidt <bernds@redhat.co.uk>
6368
6369 * rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
6370 MODE_VECTOR_FLOAT.
8441bc30
BS
6371 * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
6372 to handle multiword modes correctly. All callers and the declaration
6373 changed.
d8ea8f28 6374
54f7877c
MM
63752000-09-06 Mark Mitchell <mark@codesourcery.com>
6376
6377 * c-common.h (prep_stmt): Declare.
6378 (lang_expand_stmt): Likewise.
6379 * c-decl.c (lang_expand_stmt): Remove.
6380 * c-semantics.c (lang_expand_stmt): Define.
6381 (prep_stmt): New function.
6382 (expand_stmt): Handle common statement types here.
d8ea8f28 6383
93ca1662
NY
63842000-09-07 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com>
6385
6386 * configure.in (sh-*-linux*): Added.
6387 * configure: Rebuilt.
6388 * config/sh/t-linux: New file.
6389 * config/sh/sh.h (USERMODE_BIT): Define.
6390 (TARGET_USERMODE): Likewise.
6391 (TARGET_SWITCHES): New switches for the bits above.
6392 (INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
6393 * config/sh/linux.h: New file.
6394 * config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
6395 underscore on linux.
6396 (L_sdivsi3, L_udivsi3): Define for linux.
6397 (L_ic_invalidate): Define.
6398 * invoke.texi (SH Options): Document -musermode.
6399
71105114
AO
64002000-09-07 Alexandre Oliva <aoliva@redhat.com>
6401
4979c2a9
AO
6402 * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
6403 CSE unless generating PIC.
6404
71105114
AO
6405 * config/sh/sh.md (symPLT_label2reg): Force the initialization of
6406 the PIC register.
6407
d5cfb451
L
64082000-09-06 H.J. Lu (hjl@gnu.org)
6409
6410 * Makefile.in (clean_s1): Depend on stage_b.
6411 (clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
6412 stage2. They are used for "make compare".
6413
ae499cce
MM
64142000-09-06 Mark Mitchell <mark@codesourcery.com>
6415
6416 Move statement-tree facilities from C++ to C front-end.
6417 * c-common.h (c_tree_index): Add CTI_VOID_ZERO.
6418 (void_zero_node): New macro.
6419 (struct stmt_tree_s): New type.
6420 (stmt_tree): New typedef.
6421 (struct language_function): New type.
6422 (last_tree): New macro.
6423 (last_expr_type): Likewise.
6424 (walk_tree_fn): New typedef.
6425 (current_stmt_tree): New function.
6426 (begin_stmt_tree): Likewise.
6427 (add_stmt): Likewise.
6428 (finish_stmt_tree): Likewise.
6429 (statement_code_p): Likewise.
6430 (lang_statement_code_p): New variable.
6431 (walk_stmt_tree): New function.
6432 (STMT_IS_FULL_EXPR_P): New macro.
6433 * c-common.c (lang_statement_code_p): New variable.
6434 (c_common_nodes_and_builtins): Initialize void_zero_node.
6435 (statement_code_p): New function.
6436 (walk_stmt_tree): Likewise.
6437 * c-decl.c (language_function): Rename to ...
6438 (c_language_function): ... this. Include language_function.
6439 (push_c_function_context): Adjust accordingly.
6440 (pop_c_function_context): Likewise.
6441 (mark_c_function_context): Likewise.
6442 (current_stmt_tree): Define.
6443 * c-semantics.c (begin_stmt_tree): New function.
6444 (add_stmt): Likewise.
6445 (prune_unused_decls): Likewise.
6446 (finish_stmt_tree): Likewise.
6447
4f4b88d0
HB
64482000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6449
e8cb4873 6450 * flow.c (insn_dead_p): Detect dead memory stores with auto increments.
4f4b88d0 6451
f725a3ec
KH
64522000-09-06 Kazu Hirata <kazu@hxi.com>
6453
6454 * calls.c: Fix formatting.
6455
0806f95f
GS
64562000-09-06 Graham Stott <grahams@cygnus.co.uk>
6457
e8cb4873 6458 * config/i386/i386.h (ADDRESS_COST): Fix typo.
0806f95f 6459
0e5921e8
ZW
64602000-09-06 Zack Weinberg <zack@wolery.cumb.org>
6461
6462 Integrated preprocessor.
6463
6464 * Makefile.in: Remove all references to c-parse.gperf,
6465 c-gperf.h, and c-parse.h. Remove -d from yacc command line
6466 generating c-parse.c. Update dependencies.
6467 * c-parse.gperf, c-gperf.h: Delete.
6468
6469 * c-common.c: Don't define parse_options, cpp_token, yy_cur,
6470 yy_lim, or yy_get_token. Don't define get_directive_line if
6471 USE_CPPLIB.
6472 * c-common.h: Add multiple include guard. Define RID values
6473 for every keyword in C, C++, and Objective C. Put all the
6474 modifiers first.
6475 (struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
6476 * c-decl.c (c_decode_option): Handle -lang-objc here.
6477 (print_lang_identifier): Handle C_IS_RESERVED_WORD case.
6478 (grokdeclarator): Adjust for new RID scheme.
6479 (extract_interface_info): New stub.
6480 * c-lang.c: Don't declare yy_cur or parse_options.
6481 (lang_init_options): Call cpp_init. Don't call
6482 cpp_options_init.
6483 (lang_init): Don't call check_newline if USE_CPPLIB.
6484
6485 * c-lex.c: Don't include c-parse.h. Do include timevar.h.
6486 Elide lots of unnecessary code if USE_CPPLIB. Delete code
6487 rendered unnecessary by new architecture. Move routines not
6488 shared with C++ to c-parse.in. Maintain a local idea of the
6489 line number. Handle C++ as well as C.
6490 [USE_CPPLIB]: Declare and register callbacks for #ident and
6491 for entering/leaving files.
6492 (init_c_lex, c_lex): Are now the entry points to this file.
6493 (check_newline): Break out directive handling to
6494 process_directive.
6495 (read_ucs, is_extended_char, utf8_extend_token): Moved here
6496 from C++ front end.
6497 (readescape, parse_float): Overhaul.
6498 (lex_number, lex_string, lex_charconst): Break out of c_lex
6499 (n'ee yylex).
6500 (get_fileinfo, update_header_times, dump_one_header,
6501 dump_time_statistics): New and/or moved here from C++.
6502 Support per-file data needed by C++ and per-header timing
6503 statistics (C++ only, at the moment).
6504 * c-lex.h: Update prototypes. Add multiple include guard.
6505 * c-tree.h (struct lang_identifier): Add rid_code field.
6506 (C_IS_RESERVED_WORD, C_RID_CODE): New.
6507
6508 * c-parse.in: Include c-pragma.h. Remove unnecesary calls to
6509 reinit_parse_for_function and/or position_after_white_space.
6510 (save_filename, save_lineno): Look ahead before saving.
6511 (label -> identifier ':'): Save file and line before shifting ':'.
6512 (reservedwords): No need to call get_identifier.
6513 (init_parse, finish_parse, yyerror, yylex, yyprint,
6514 make_pointer_declarator): Are now here for C/ObjC.
6515 (rid_to_yy): Conversion table from RID constants to Yacc codes.
6516
6517 * c-pragma.c: Rewrite parsing logic to fit with cpplib's
6518 #pragma registry. Provide dummy implementation of that
6519 interface if !USE_CPPLIB.
6520 * c-pragma.h: Update to match.
6521
6522 * flags.h: Add multiple include guard.
6523 (flag_detailed_statistics): Moved here from C++.
6524 * toplev.c: Define flag_detailed_statistics.
6525
6526 * gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
6527 #if USE_CPPLIB.
6528 * timevar.def (TV_CPP, TV_LEX): New.
6529 * timevar.h: Add multiple include guard.
6530
6531 * objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
6532 #if USE_CPPLIB.
6533 * objc/objc-act.c: Don't mention yy_cur or parse_options.
6534 Initialize cpplib properly. Force lineno to 0 after first
6535 call to check_newline. Don't handle -lang-objc here.
6536 Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
6537
5638268e
DE
65382000-09-06 David Edelsohn <edelsohn@gnu.org>
6539
6540 * rs6000.md: Correct function unit definitions for cr_logical and
6541 mtjmpr.
6542 (sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
6543 and use portable method for >=0 and floating point >=. Remove
6544 associated matchers.
6545
44835fdd
MM
65462000-09-06 Mark Mitchell <mark@codesourcery.com>
6547
6548 * extend.texi: Mark named return value extension as deprecated.
6549
bab6226b
GK
65502000-09-06 Geoff Keating <geoffk@cygnus.com>
6551
6552 * config/rs6000/rs6000.c (rs6000_reverse_condition): Return
6553 the result.
6554
e6513023
GDR
65552000-09-06 Gabriel Dos Reis <gdr@codesourcery.com>
6556
6557 * toplev.c (display_help): Fix thinko in documentation.
6558
6559 * diagnostic.h (output_buffer::indent_skip): New fields.
6560 (output_indentation): New macro.
6561
6562 * diagnostic.c (output_indent): New function.
6563 (output_set_prefix, clear_diagnostic_info): Use.
6564 (output_emit_prefix): Predict future indentation.
6565
112c7aea
DD
65662000-09-06 DJ Delorie <dj@redhat.com>
6567
6568 * Makefile.in (stage_*): add more dependencies to ensure parallel
6569 builds build correctly
6570
1bac0fb4
MH
65712000-09-06 Manfred Hollstein <manfredh@redhat.com>
6572
6573 * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
6574 not bootstrap-lean_f.
6575
f472a17c
AS
65762000-09-06 Andreas Schwab <schwab@suse.de>
6577
6578 * mklibgcc.in: Emit rule for libgcc-stage-start.
6579 * Makefile.in (stage1-start, stage2-start, stage3-start,
6580 stage4-start): Don't handle libgcc here, use libgcc.mk instead.
6581
630c79be 65822000-09-06 Bernd Schmidt <bernds@redhat.co.uk>
611bbf2a
BS
6583
6584 * local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
6585 (update_equiv_regs): Likewise, except for the mn10200 kludge.
6586 (combine_regs): Likewise.
6587
630c79be
BS
6588 * Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
6589 * cse.c: Include "basic-block.h".
6590 (struct table_elt): New field REGCOST.
6591 (CHEAP_REG): Delete macro.
6592 (COST): Return 0 for REGs.
6593 (approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
6594 (notreg_cost): Return 0 for appropriate SUBREGs.
6595 (COSTS_N_INSNS): Return N * 2.
6596 (rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
6597 SUBREGs.
6598 (CHEAPER): Use new function preferrable.
6599 (insert): Initialize REGCOST member.
6600 (find_best_addr): Use approx_reg_cost for estimation of register
6601 usage.
6602 (cse_insn): Likewise.
6603 * loop.c (iv_add_mult_cost): New function.
6604 (add_cost, shift_cost, mult_cost): Delete variables.
6605 (init_loop): Don't initialize add_cost; reduce copy_cost by half.
6606 (strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
6607 Make code that detects autoinc opportunities slightly less optimistic.
6608 (simplify_giv_expr): If expression contains other reg that is also a
6609 giv, only increment benefit if this is the only use of that reg.
6610 (consec_sets_giv): Take that change into account.
6611 (combine_givs): Slightly more verbose output.
6612
6613 * i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
6614 not the cost of an equivalent shift.
6615 * sh-protos.h (addsubcosts): Declare.
6616 * sh.c (addsubcosts): New function.
6617 * sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
6618 (RTX_COSTS): Tweak. Use addsubcosts.
6619 (ADDRESS_COST): Return higher cost for reg+reg addressing.
6620
39a10a29
GK
66212000-09-06 Geoff Keating <geoffk@cygnus.com>
6622
6623 * config/rs6000/rs6000.c (validate_condition_mode): New function.
6624 (branch_comparison_operator): Call validate_condition_mode to
6625 abort rather than returning 0.
6626 (branch_positive_comparison_operator): New function.
6627 (scc_comparison_operator): Call validate_condition_mode to abort
6628 rather than returning 0.
6629 (ccr_bit): Call validate_condition_mode. Update for
6630 new branch scheme.
6631 (print_operand): Delete %C modifier. Update %E case
6632 to use EQ bit not SO bit.
6633 (rs6000_reverse_condition): New function.
6634 (rs6000_generate_compare): New function.
6635 (rs6000_emit_sCOND): New function.
6636 (rs6000_emit_cbranch): New function.
6637 (output_cbranch): The length of a long branch insn is
6638 now only 8 bytes. Add validate_condition_mode. Use
6639 rs6000_reverse_condition. Remove cror generation.
bab6226b 6640
39a10a29
GK
6641 * config/rs6000/rs6000.h: Update comments.
6642 (PREDICATE_CODES): Add new predicate. Update codes used
6643 by branch_comparison_operator and scc_comparison_operator.
6644 * config/rs6000/rs6000-protos.h: Add prototypes for
6645 new external functions.
6646 * config/rs6000/rs6000.md: Add new scheduling parameters
6647 for cr_logical instructions. Change length of branch
6648 instructions.
6649 (bCOND patterns): Call rs6000_emit_cbranch.
6650 (sCOND patterns): Call rs6000_emit_sCOND.
6651 (branch patterns): Change lengths to 4.
6652 (cr logical patterns): New.
6653
2a4bbffa
RH
66542000-09-06 Richard Henderson <rth@cygnus.com>
6655
6656 * config/i386/i386.md (call_pop): Fix test for setting
6657 current_function_uses_pic_offset_table.
6658 (call, call_value_pop, call_value): Likewise.
6659
eab828ba
ZW
66602000-09-06 Zack Weinberg <zack@wolery.cumb.org>
6661
6662 * timevar.c (timevar_add): Delete.
6663 (timevar_get): Also count time since the selected timer was
6664 last updated. Do not examine the timevar stack if the
6665 selected timer is standalone.
6666
f1d6a533
DA
66672000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
6668
6669 * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
6670
53c5b5d7
JM
66712000-09-05 Jason Merrill <jason@redhat.com>
6672
6673 * c-decl.c (finish_incomplete_decl): Don't call complete_array_type
6674 for 'extern' arrays.
6675
3392dafc
RH
66762000-09-05 Richard Henderson <rth@cygnus.com>
6677
6678 * config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
6679 Eliminate final copy from non-trapping case.
6680 (__divdf3, __divsf3): Likewise.
6681
2a7ffc85
RH
66822000-09-05 Richard Henderson <rth@cygnus.com>
6683
6684 * config/ia64/ia64.md (mulhi3): Fix typo last change.
6685 * config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
6686
204093e6
DT
66872000-09-03 Donn Terry <donn@interix.com>, Laurynas Biveinis <lauras@softhome.net>
6688
6689 * Makefile.in: Restructure bootstrap stages to allow clean
6690 restart after failure.
6691
514f96e6
RH
66922000-09-05 Richard Henderson <rth@cygnus.com>
6693
6694 * config/ia64.md (movsi and movdi patterns): Allow moves from
6695 8-bit constants to AR registers.
6696
cf1f6ae3
RH
66972000-09-05 Richard Henderson <rth@cygnus.com>
6698
6699 * config/ia64/ia64.md (mulhi3): New.
6700
d8d7a286
RH
67012000-09-05 Richard Henderson <rth@cygnus.com>
6702
6703 * config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
6704 * config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
6705 Optimization Guide, minimum latency alternative.
6706 (__moddi3, __udivdi3, __umoddi3): Likewise.
6707 (__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
6708
a6efbece
BK
67092000-09-05 Bruce Korb <bkorb@gnu.org>
6710
0e5921e8
ZW
6711 * fixinc/fixincl.c (load_file): always read header files
6712 with sizes that are a multiple of the page size.
dc46505a 6713 & use libiberty's getpagesize for determining that.
a6efbece 6714
c0712acb
AO
67152000-09-05 Alexandre Oliva <aoliva@redhat.com>
6716
6717 * gcse.c (hash_string_1): Add prototype.
6718 * cse.c (canon_hash_string): Likewise.
6719
af7f0fde
CN
67202000-09-04 Craig Newell <CraigN@ieee.org>
6721
6722 * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
6723
4993ddc1
AS
67242000-09-04 Andreas Schwab <schwab@suse.de>
6725
6726 * Makefile.in (STAGESTUFF): Remove libgcc.
6727 (stage1-start, stage2-start, stage3-start): Copy the contents of
6728 the libgcc directory explicitly.
6729 (mostlyclean): Clean libgcc.
6730
5e640c56
AH
67312000-09-04 Andrew Haley <aph@redhat.com>
6732
6733 * dwarf2out.c: (stack_adjust_offset): New prototype.
6734
25ffb1f6
JH
6735Wed Jan 1 00:23:59 MET 1997 Jan Hubicka <jh@suse.cz>
6736
6737 * combine.c (make_extraction): Fix rtx_cost comparison to
6738 match the comment.
6739
6740Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz>
6741
0e5921e8 6742 * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
25ffb1f6
JH
6743 umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
6744 Add '*' to insn pattern name.
6745
29844fa7
JJ
67462000-09-04 Jakub Jelinek <jakub@redhat.com>
6747
6748 * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
6749 use posn - 1 to index into tokens array.
6750 (maybe_paste_with_next): Adjust caller.
6751
0d86f538
GK
67522000-09-03 Geoff Keating <geoffk@cygnus.com>
6753
bff46771
GK
6754 * invoke.texi: Document the -mvxworks option for rs6000 ELF.
6755
0d86f538
GK
6756 * config/rs6000/rs6000.h: Update various comments about XER_REGNO.
6757 (REGNO_REG_CLASS): Use symbolic register
6758 names.
6759
4e67550b
RE
67602000-09-03 Richard Earnshaw <rearnsha@arm.com>
6761
0e5921e8 6762 * arm.c (final_prescan_insn): If the form of a jump insn isn't
4e67550b
RE
6763 recognized, don't try to conditionally execute it.
6764
150f4100
DC
6765Sun Sep 3 13:10:56 2000 Denis Chertykov <denisc@overta.ru>
6766
6767 * config/avr/avr.md ("*tablejump_lib"): New pattern.
6768 (call_value_insn): Right length claculation.
6769 (call_insn): Likewise.
6770
5fecfd8d
MM
67712000-09-02 Marek Michalkiewicz <marekm@linux.org.pl>
6772
6773 * config/avr/avr-protos.h, config/avr/avr.c (unique_section,
6774 gas_output_limited_string, gas_output_ascii, output_movqi,
6775 output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
6776 out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
6777 out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
6778 ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
6779 lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
6780 out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
6781 Add "const" as needed to remove warnings.
6782
6783 * config/avr/avr.c (avr_override_options, avr_init_once,
6784 function_prologue, function_epilogue, frame_pointer_required_p,
6785 class_likely_spilled_p, order_regs_for_local_alloc,
6786 avr_address_cost, avr_ret_register): Use K&R style arguments.
6787 (initial_elimination_offset, gas_output_limited_string):
6788 Remove ATTRIBUTE_UNUSED from the used arguments.
6789 (output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
6790 Use local variables src, dest, base to access operands[].
6791 Rename reg_dest to reg_src if that's what it is.
6792 (output_movhi, output_movsisf): Optimize loading 8-bit immediate
6793 constants to LD_REGS if reg_was_0.
6794 (output_reload_insisf): Change arg 3 to insn length and set it.
6795 (out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
6796 access to 16-bit I/O register pairs.
6797 (avr_address_cost): Lower cost for the above case.
6798 (out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
6799 may be clobbered, also for LD_REGS.
6800 (adjust_insn_length): Correct insn length for iorhi3 and iorsi3
6801 with a CONST_INT.
6802
6803 * config/avr/avr.h (PTRDIFF_TYPE): Make signed.
6804
6805 * config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
6806 macro to test_hard_reg_class function.
6807 (*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
6808 for loading immediate constants to LD_REGS.
6809 (andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
6810
6811
bad3869a
MM
6812Sat Sep 2 13:58:23 2000 Marek Michalkiewicz <marekm@linux.org.pl>
6813
6814 * config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
6815 * config/avr/libgcc.S: Lost part of the previous patch.
6816
802a8181
DA
68172000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca>
6818
6819 * gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
6820 object before calling pthread_mutex_init.
6821
1a66cd67
AO
68222000-09-02 Alexandre Oliva <aoliva@redhat.com>
6823
6824 * config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
6825 config/sh/crtn.asm: New files.
6826 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
6827 (crt1.o, crti.o, crtn.o): New targets.
6828 * configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
6829 sh/t-elf.
6830 * configure: Rebuilt.
6831 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
6832 STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
6833 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
6834 Undefine for config/elfos.h to redefine.
6835 (STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
6836
68372000-09-02 Alexandre Oliva <aoliva@redhat.com>, Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
6838
6839 * config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
6840 legitimize_pic_address, output_pic_addr_const): Declare.
6841 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
6842 (PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
6843 (TARGET_SWITCHES): New switch -mprefergot.
6844 (OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
6845 (PIC_OFFSET_TABLE_REGNUM): Define.
6846 (GOT_SYMBOL_TABLE): Likewise.
6847 (LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
6848 (ENCODE_SECTION_INFO): Define.
6849 (FINALIZE_PIC): New macros.
6850 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
6851 (ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
6852 * config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
6853 (prepare_move_operands): Call emit_pic_move or
6854 emit_pic_const_move if appropriate.
6855 (output_far_jump): For PIC, use braf and output long offset.
0e5921e8 6856 (machine_dependent_reorg):
1a66cd67
AO
6857 (sh_expand_prologue): Save and initialize the PIC register.
6858 (sh_expand_epilogue): Restore it.
6859 (initial_elimination_offset): Account for it.
6860 (nonpic_symbol_mentioned_p): New function.
6861 (legitimize_pic_address): Likewise.
6862 (output_pic_addr_const): Likewise.
6863 * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
6864 (call, call_value): Use them.
6865 (GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
6866 symPLT_label2reg): New expands.
6867 * invoke.texi (SH Options): Document -mprefergot.
6868
6462bb43
AO
68692000-09-01 Alexandre Oliva <aoliva@redhat.com>
6870
6871 * rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
6872 * gcse.c (hash_string_1): New function.
6873 (hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
6874 (expr_equiv_p) <ASM_OPERANDS>: Likewise.
6875 * cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
6876 (canon_hash_string): New function.
6877 (canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
6878 (exp_equiv_p) <ASM_OPERANDS>: Likewise.
6879 (fold_rtx): Use ASM_OPERANDS accessor macros.
6880 * emit-rtl.c (copy_insn_1): Likewise.
6881 * integrate.c (copy_rtx_and_substitute): Likewise.
6882 * stmt.c (expand_asm_operands): Likewise. Give an
6883 ASM_OPERANDS rtx the mode of the output reg being set from it.
6884
1b4f90cd
FF
68852000-09-01 Fred Fish <fnf@be.com>
6886
6887 * fix-header.c (write_rbrac): Add putc and getc to list of
6888 functions to protect against prior definition as a macro.
0e5921e8 6889
3c786c69
JM
68902000-09-01 Joseph S. Myers <jsm28@cam.ac.uk>
6891
6892 * c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
6893 (c_size_type_node): Define.
6894 * c-decl.c (init_decl_processing): Initialize c_size_type_node.
6895 * c-common.c (enum format_lengths, enum format_std_version,
6896 format_length_info, format_type_detail, BADLEN, NOLENGTHS,
6897 format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
6898 T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
6899 T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
6900 T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
6901 TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
6902 format_types): Define.
6903 (format_char_info, print_char_table, scan_char_table,
6904 time_char_table): Rearrange for new organization of information
6905 about format length modifiers and standard versions.
6906 (T_ST): Redefine to use c_size_type_node.
6907 (check_format_info): Obtain information about length modifiers and
6908 standard versions from tables. Adjust warning message wordings.
6909 Use the name from the user's program for `ll' and `hh' length
6910 modifiers in warning messages. Use more informative names for
6911 wanted types where available (for wchar_t, wint_t, size_t, signed
6912 size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
6913
8a09bb27
JW
69142000-09-01 Jim Wilson <wilson@cygnus.com>
6915
ca3920ad
JW
6916 * calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
6917 * combine.c (distribute_notes): Handle REG_NORETURN.
6918 * rtl.c (reg_note_name): Add REG_NORETURN.
6919 * rtl.h (enum reg_note): Likewise.
6920
6921 * config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
6922 ia64_file_start.
6923 * config/ia64/ia64.c (emit_safe_across_calls): Likewise.
6924 (rtx_needs_barrier): Handle unspec_volatile 8 and 9.
6925 (emit_predicate_relation_info): Handle conditional calls with
6926 REG_NORETURN.
6927 * config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
6928 instead of ia64_file_start.
6929 * config/ia64/sysv4.h (ASM_FILE_START): Likewise.
6930 * config/ia64/ia64.md (safe_across_calls_all,
6931 save_across_calls_normal): New patterns.
6932
8a09bb27
JW
6933 * loop.c (check_final_value): Check for biv use before checking for
6934 giv use. Check for both biv and giv uses. Always set last_giv_use
6935 if there is a giv use.
6936
11a13704
RH
69372000-09-01 Richard Henderson <rth@cygnus.com>
6938
6939 * config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
6940 (madddi3): Likewise.
6941 (maddsi3): New.
6942
6324d2bb
RK
6943Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6944
fcf1b822
RK
6945 * expr.c (clear_storage): Don't use emit_move_insn unless
6946 either BLKmode or proper size.
6947 (store_constructor): Don't call clear_storage if REG of wrong size.
6948
6324d2bb
RK
6949 * flow.c (init_propagate_block_info): Don't mark frame dead at end
6950 of function if returns wiht stack pointer depressed.
6951
1ba5ae8f
AH
69522000-09-01 Andrew Haley <aph@redhat.com>
6953
0e5921e8
ZW
6954 * dwarf2out.c (stack_adjust_offset): New function.
6955 (dwarf2out_stack_adjust): Break out stack adjust logic into
6956 new stack_adjust_offset function. Look inside parallels and
6957 sequences for stack adjustments.
1ba5ae8f 6958
893f3d5b
JL
69592000-08-31 Jeff Law <law@cygnus.com>
6960
94c51f7a
JL
6961 * arm.md: Use no_new_pseudos to determine when it is safe
6962 to create new pseudo registers.
6963
0e5921e8
ZW
6964 * arm.c (legitimize_pic_address): Use no_new_pseudos to determine
6965 when we can safely allocate new registers.
893f3d5b 6966
1b3d8f8a
GK
69672000-08-31 Geoffrey Keating <geoffk@cygnus.com>
6968
6969 * stmt.c (expand_asm_operands): Twiddle generating_concat_p
6970 so that CONCATs are not generated for ASMs.
6971 * emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
6972 not generating_concat_p.
6973 * function.c (pop_function_context_from): Reset
6974 generating_concat_p.
6975 (prepare_function_start): Likewise.
6976 * rtl.c (generating_concat_p): Define.
6977 * rtl.h (generating_concat_p): Declare.
6978 * toplev.c (rest_of_compilation): No CONCATs after RTL generation.
6979
4e8bd75f 69802000-08-22 Philipp Thomas <pthomas@suse.de>
0e5921e8 6981 Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
4e8bd75f
PT
6982
6983 * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
6984 for translation.
6985
b145ee27
GM
69862000-08-30 Greg McGary <greg@mcgary.org>
6987
6988 * Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
6989 * fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
6990 * fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
6991
2afaa41c
GM
69922000-08-30 Greg McGary <greg@mcgary.org>
6993
6994 * tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
6995 (TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
6996 (TREE_INT_CST): New macro.
6997 * varasm.c (const_hash, compare_constant_1, record_constant_1):
6998 Use new macro TREE_INT_CST.
6999
1d92b3e1
NB
7000Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net>
7001
7002 * contrib.texi: Add self.
7003
b23ca156
AO
70042000-08-30 Alexandre Oliva <aoliva@redhat.com>
7005
7006 * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
7007 (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
7008 and labels.
7009
aef9fbbf
DA
70102000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
7011
7012 * fixinc/gnu-regex.c: Don't define `const'.
7013
85f3d674
RK
7014Tue Aug 29 22:09:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7015
7016 * expr.c (store_constructor): Allow variable bounds of array type.
7017 (expand_expr): Don't blow up if type is ERROR_MARK.
7018 * varasm.c (output_constructor): Don't access lower bound of array
7019 type unless need it if index is supplied (so it can be a variable
7020 if no index is supplied).
7021 Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
7022 Other minor cleanups.
7023
5b67ad6f
DA
70242000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
7025
7026 * Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
7027 for compilations in stage 1 and subsequent stages, respectively.
7028 * configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
7029 * configure: Rebuilt.
7030 * x-vax, x-vax-gcc: Deleted.
7031
63ad61ed
ZW
70322000-08-29 Zack Weinberg <zack@wolery.cumb.org>
7033
7034 * c-common.c (declare_function_name): Use func_id_node,
7035 function_id_node, and pretty_function_id_node. Do not make
0e5921e8 7036 __func__ visible at file scope.
63ad61ed
ZW
7037 * c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
7038 CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
7039 (function_id_node, pretty_function_id_node, func_id_node): New
7040 macros.
7041 * c-decl.c (init_decl_processing): Initialize function_id_node,
7042 pretty_function_id_node, and func_id_node.
7043 (c_make_fname_decl): Correct comment.
7044
7045 * tree.h (struct tree_identifier): Constify pointer member.
7046
7047 * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
7048 * c-pragma.h (struct weak_syms): Constify name and value members.
0e5921e8 7049 (add_weak): Constify arguments.
63ad61ed
ZW
7050
7051 * calls.c (special_function_p): Constify a char *.
7052 (expand_call): Remove variable which is initialized and then
7053 never used.
7054 * dependence.c (struct def_use, struct induction, struct subscript):
7055 Constify 'variable' member.
7056 (get_low_bound, have_induction_variable): Constify char * argument.
7057 (find_induction_variable): Add braces to avoid dangling else.
7058 (classify_dependence): Constify char * arrays.
7059 * profile.c (output_func_start_profiler): Constify a char *.
7060 * stor-layout.c (finalize_record_size): Constify a char *.
7061 * tree.c (is_attribute_p): Constify a char *.
7062 * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
7063
7064 * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
7065 for comprehensibility. Do not call get_identifier if we did
7066 not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to
7067 create temporary string constants, not ggc_alloc_string. No
7068 need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const
7069 char * to hold IDENTIFIER_POINTERs.
7070
cee58bc0
RH
70712000-08-29 Richard Henderson <rth@cygnus.com>
7072
7073 * config/ia64/ia64.md (muldi3): Use grfr_register_operand
7074 for the inputs.
7075
94aaab7a
RH
70762000-08-29 Richard Henderson <rth@cygnus.com>
7077
7078 * reload.c (push_secondary_reload): Allow class == reload_class
7079 if we're using a reload_in/out pattern.
7080
60a3c181
RH
7081 * config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use
7082 the half that does not conflict with the reload register.
7083 (reload_outti): Likewise.
7084
9218435e
KH
70852000-08-29 Kazu Hirata <kazu@hxi.com>
7086
4381f7c2
KH
7087 * reload.c: Fix formatting.
7088
7089 * stmt.c: Fix formatting.
7090
9218435e
KH
7091 * gcc.c: Fix formatting.
7092
fba0bfd4
ZW
70932000-08-29 Zack Weinberg <zack@wolery.cumb.org>
7094
7095 * flags.h (time_report, mem_report): New global flags.
7096 * toplev.c: Define time_report and mem_report.
7097 (f_options): Add -ftime-report and -fmem-report.
7098 (compile_file): Turn on time_report if quiet_flag is off.
7099 Call ggc_print_statistics at very end if mem_report is on.
7100 * timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
7101
7102 * ggc-common.c (ggc_print_statistics): Rename to
7103 ggc_print_common_statistics; all callers changed. Scale
7104 quantities above 10K to kilobytes and above 10M to megabytes.
7105 * ggc-page.c (ggc_page_print_statistics): Rename to
7106 ggc_print_statistics. Report memory consumed by internal data
7107 structures for each allocation bucket. Scale quantities above
7108 10K to kilobytes and above 10M to megabytes.
7109 * ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
7110 Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
7111 Define tally_leaves always.
7112 (ggc_print_statistics): New function.
7113 * ggc.h: Adjust for renamed functions.
7114
612105a6
DC
7115Wed Aug 30 00:11:42 2000 Denis Chertykov <denisc@overta.ru>
7116
7117 * config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
7118 output_movsisf instead of which_alternative.
7119
7120 * config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
7121
6bec29c9
DC
7122Tue Aug 29 22:29:58 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
7123
7124 * config/avr/avr-protos.h: (avr_output_ascii) Removed.
7125 (avr_progmem_p): New prototype.
7126 (output_movsisf): Prototype declaration changed.
7127 (output_movqi): New prototype.
7128 (output_movhi): New prototype.
7129 (call_insn_operand): Likewise.
0e5921e8 7130 (final_prescan_insn): Likewise.
6bec29c9
DC
7131 (avr_simplify_comparision_p): Likewise.
7132 (avr_normalize_condition): Likewise.
7133 (compare_eq_p): Likewise.
7134 (out_shift_with_cnt): Likewise.
7135 (const_int_pow2_p): Likewise.
7136 (output_reload_inhi): Prototype declaration changed.
7137
7138 * config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
7139 (ldi_reg_rtx): New. rtx for r31.
7140 (avr_init_stack): Initialize as "__stack".
7141 (function_prologue): Use it.
7142 Replace all TARGET_ENHANCED with AVR_ENHANCED.
7143 (avr_mcu_name): Initialize as "avr2".
7144 (avr_enhanced_p, avr_mega_p): New variables.
7145 (mcu_types, avr_override_options): Handle all known MCU types.
7146 Also handle avr1 (only preprocess, assemble and link).
7147 (print_operand): Using of `%K' in output template removed.
7148 (out_movqi_r_mr): Optimized.
7149 (out_movhi_r_mr): Likewise.
7150 (output_movqi): New function.
7151 (output_movhi): Likewise.
7152 (out_movsi_r_mr): Optimized.
7153 (output_movsisf): Compute insn length for `adjust_insn_length'
7154 (out_movqi_mr_r): Optimized.
7155 (out_movhi_mr_r): Optimized.
7156 (adjust_insn_length): Use output_movsisf, output_movqi,
7157 output_movhi for insn length adjusting.
7158 (reg_unused_after): Use dead_or_set_p.
7159 (preferred_reload_class): Now havn't any restriction.
7160 (reg_was_0): New function.
7161 (io_address_p): Likewise.
7162 (const_int_pow2_p): Likewise.
7163 (output_reload_inhi): Likewise.
7164 (output_reload_insisf): Likewise.
7165
7166 * config/avr/avr.h (MULTILIB_DEFAULTS): Define.
7167 (LIB_SPEC): Use -lc for all supported devices.
7168 (LIBGCC_SPEC): Use -lgcc for all supported devices.
7169 (AVR_MEGA): Define as avr_mega_p.
7170 (AVR_ENHANCED): New, define as avr_enhanced_p.
7171 (TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
7172 (CPP_SPEC, LINK_SPEC): Handle all known MCU types.
7173 (CRT_BINUTILS_SPECS): Handle all known MCU types.
7174 Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
7175 (EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
7176 (ASM_SPEC): Pass -mmcu=... to the assembler.
7177 Change all -DAVR_* to -D__AVR_*__.
7178 (INIT_TARGET_OPTABS), config/avr/libgcc.S:
7179 Rename library functions to start with two underscores.
7180 (ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
7181 alignment.
7182 (ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
7183 (SUPPORTS_WEAK): Likewise.
7184 (LDI_REG_REGNO): New. Register r31 will be used as temporary
7185 register for loading constants to r0-r14.
7186
7187 * config/avr/avr.md: Replace all TARGET_ENHANCED with
7188 AVR_ENHANCED.
7189 (*mov_r_sp): Removed. Handled by output_movhi.
7190 (*mov_sp_r): Likewise.
7191 (*mov_sp_r_no_interrupts): Likewise
7192 (*mov_sp_r_tiny): Likewise.
7193 (*movqi): Use output_movqi.
7194 (*reload_inqi): New.
7195 (*movhi): Use output_movhi.
7196 (*reload_inhi): New.
7197 (*negsi2): Optimized.
7198 (*negsf2): Likewise.
7199 Added peepholes (define_peephole2) for loading constants to r0-r14
7200 and for using `cpse' command.
7201
7202 * config/avr/libgcc.S: Rename library functions to start with two
7203 underscores.
7204 Add support for enhanced core.
7205 (_moqhi3): Fix typo, now _modqi3.
7206 (__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
7207 (__prologue_saves__): Remove test for stack adjust by 0.
7208 (__tablejump__): New.
7209
7210 * config/avr/t-avr: Build libgcc2 with -mcall-prologues.
7211 Add multilib support.
7212
20bd7bfa
JW
7213Tue Aug 29 15:17:54 EDT 2000 John Wehle (john@feith.com)
7214
7215 * loop.c (prescan_loop): Don't check unknown_address_altered
7216 when deciding if insert_loop_mem is safe. Add BLKmode MEMs
7217 to loop_store_mems as necessary.
7218 (loop_invariant_p): Don't check unknown_address_altered
7219 or unknown_constant_address_altered.
7220
76f941a8
DA
72212000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
7222
7223 * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
7224
2c8f0515
ZW
72252000-08-29 Zack Weinberg <zack@wolery.cumb.org>
7226
7227 * cpperror.c (print_file_and_line): If line is (unsigned int)-1,
7228 print just the filename.
7229 * cpplex.c (_cpp_run_directive): Add additional argument, the
7230 name to give the synthetic buffer. This defaults to
7231 translated "<command line>".
7232 * cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
7233 Adjust to match.
7234 (_cpp_define_builtin): New function.
7235 * cppinit.c (initialize_builtins): Use _cpp_define_builtin.
7236 * cpphash.h: Update prototypes.
7237
7238 * tradcpp.c (main): Process -D and -U simultaneously, in the
7239 order they appeared on the command line.
7240
6ad79f1b
KG
72412000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7242
7243 * c-decl.c (define_label): Call warning_with_file_and_line and
7244 error_with_file_and_line instead of plain warning or error.
7245
7246 * c-parse.in (label): Use save_filename/save_lineno to ensure
7247 correct values for calls to define_label.
7248
4361b41d
MM
72492000-08-29 Mark Mitchell <mark@codesourcery.com>
7250
7251 * calls.c (expand_call): Don't create a VAR_DECL just to throw it
7252 away.
7253 * expr.c (expand_expr, case TARGET_EXPR): Don't call
7254 mark_addressable.
7255 * tree.h (get_file_function_name): Remove two duplicate
7256 declarations.
7257
abf9af02
KH
72582000-08-28 Kazu Hirata <kazu@hxi.com>
7259
dc478a5d
KH
7260 * tree.c: Fix formatting.
7261
abf9af02
KH
7262 * xcoffout.c: Fix formatting.
7263
5f632b5e
JM
72642000-08-28 Jason Merrill <jason@redhat.com>
7265
7266 * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
7267
72682000-08-28 Daniel Berlin <dberlin@redhat.com>
7269
7270 * dwarf2out.c (dwarf2out_finish): Don't bother calling
7271 break_out_includes if it won't do anything.
7272
38323cc3
RH
72732000-08-28 Richard Henderson <rth@cygnus.com>
7274
7275 * reload.c (push_secondary_reload): Revert 2000-08-16 change.
7276 (find_reloads): Likewise.
7277 * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
7278 (reload_inhi): Likewise.
7279
e1ff012c
RH
72802000-08-28 Richard Henderson <rth@cygnus.com>
7281
7282 * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
7283 (call_insn_operand): Don't expect a surrounding mem.
7284 (constant_call_address_operand): Likewise.
7285 * config/i386/i386.h (PREDICATE_CODES): Update.
7286 * config/i386/i386.md (call patterns): Move the match_operand
7287 for the call destination inside the mem.
7288
c2cba7a9
RH
72892000-08-28 Richard Henderson <rth@cygnus.com>
7290
7291 * local-alloc.c (requires_inout): Don't use reserved range for
7292 EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
7293 * recog.c (asm_operand_ok): Likewise.
7294 (preprocess_constraints, constrain_operands): Likewise.
7295 * regclass.c (record_reg_classes): Likewise.
7296 * reload.c (find_reloads): Likewise.
7297 * reload1.c (maybe_fix_stack_asms): Likewise.
7298 (reload_cse_simplify_operands): Likewise.
7299 * stmt.c (expand_asm_operands): Likewise.
7300
7301 * md.texi: Update constraints documentation.
7302 * tm.texi (EXTRA_CONSTRAINT): Update.
7303
5f632b5e
JM
73042000-08-28 Daniel Berlin <dberlin@redhat.com>
7305
7306 * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
7307 (print_die): If we don't know the offset of the
7308 target die, try the symbol. Add a trailing newline.
7309 (reverse_all_dies): New fn.
7310 (dwarf2out_finish): Call it.
7311 (break_out_includes): Reorganize for clarity.
7312 (add_sibling_attributes): Don't call reverse_die_lists.
7313 (output_comp_unit): Rename from output_comdat_comp_unit. Use for
7314 primary CU, too.
7315 * flags.h: Add flag_eliminate_dwarf2_dups.
7316 * toplev.c (f_options): Support -feliminate-dwarf2-dups.
7317
5de0e8d4
JM
73182000-08-28 Jason Merrill <jason@redhat.com>
7319
5f632b5e
JM
7320 * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
7321 * dwarf2out.c: #include "md5.h".
7322 (DIE_LABEL_PREFIX): New macro.
7323 (dw_val_struct): Add 'external' flag to val_die_ref.
7324 (add_AT_die_ref, AT_ref): Adjust.
7325 (AT_ref_external, set_AT_ref_external): New fns.
7326 (build_abbrev_table): Call set_AT_ref_external.
7327 (value_format): Call AT_ref_external.
7328 (die_struct): Add die_symbol field.
7329 (new_die): Clear it.
7330 (dwarf_tag_name): Handle BINCL/EINCL.
7331 (dwarf2out_start_source_file): Add BINCL DIE.
7332 (dwarf2out_end_source_file): Add EINCL DIE.
7333 (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
7334 (loc_checksum, attr_checksum, die_checksum): New fns.
7335 (is_type_die, is_comdat_die, is_symbol_die): New fns.
7336 (compute_section_prefix, assign_symbol_names): New fns.
7337 (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
7338 (output_die): Call output_die_symbol and AT_ref_external.
7339 (output_comdat_comp_unit): New fn, split out from...
0e5921e8 7340 (dwarf2out_finish): ...here. Also call add_sibling_attributes for
5f632b5e
JM
7341 secondary CUs.
7342 (output_pubnames, output_aranges): Abort if we see entries from
7343 secondary CUs.
7344 * toplev.h: Declare file_name_nondirectory.
7345 * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
7346 (rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
7347 (debug_start_source_file): Call dwarf2out_start_source_file
7348 regardless of debug verbosity.
7349 (debug_end_source_file): Similarly.
7350 * tree.h: Declare clean_symbol_name.
7351 * tree.c (clean_symbol_name): Split out from...
7352 (get_file_function_name_long): ...here.
7353
5de0e8d4
JM
7354 * dwarf2out.c (new_loc_descr): Use calloc.
7355 (splice_child_die): Remove the die from the right parent.
7356 (gen_struct_or_union_die): Don't add AT_name to a specification DIE.
7357
04324727
RK
7358Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7359
7360 * toplev.c (decode_g_option): Don't give warning for unknown -g
7361 option; return 0 instead.
7362 (main): If -g option is not recognized by front end or
7363 language-independent code, give warning.
7364
9e3e266c
GM
73652000-08-28 Greg McGary <greg@mcgary.org>
7366
7367 * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
7368 * config/i386/i386.c (ix86_expand_compare): Remove `static'.
7369 * config/i386/i386.md (trap, conditional_trap): New insn & expand.
7370
a0bff95f
GM
73712000-08-27 Greg McGary <greg@mcgary.org>
7372
7373 * cpplex.c (parse_string): Don't look for backslash
7374 before first char in `namebuf'.
7375 * loop.c (strength_reduce): Skip NOTEs.
7376
edb4c415
JM
73772000-08-27 Jason Merrill <jason@redhat.com>
7378
7379 * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
7380 DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or
7381 TREE_ASM_WRITTEN, either.
7382 (finish_decl): Adjust.
7383
6e88e75c
PT
73842000-08-28 Philipp Thomas <pthomas@suse.de>
7385
7386 * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
7387 they have been incorporated into the gettext CVS. Change the text to
7388 reflect the current status of NLS. Add instructions for accessing
7389 the gettext CVS and add the patch from Martin v. Loewis.
7390
e53ca51f
GK
73912000-08-27 Geoff Keating <geoffk@cygnus.com>
7392
7393 * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
7394 by using gen_lowpart_common.
7395 (movdi_internal64+6): Likewise.
7396
a0a6fdc8
AO
73972000-08-26 Alexandre Oliva <aoliva@redhat.com>
7398
1b2dd04a
AO
7399 * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
7400 Document.
7401
a0a6fdc8
AO
7402 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
7403 numbers to the ranges used by GDB.
7404
26a110f5
RH
74052000-08-25 Richard Henderson <rth@cygnus.com>
7406
7407 * config/ia64/ia64.h (struct machine_function): Add n_varargs.
7408 * config/ia64/ia64.c (ia64_compute_frame_size): Use it.
7409 (ia64_expand_prologue): Likewise.
7410 (ia64_setup_incoming_varargs): Set it. Properly skip the current
7411 argument for stdargs.
7412
ecff20d4
JM
74132000-08-25 Jason Merrill <jason@redhat.com>
7414
7415 * integrate.c (expand_inline_function): Pull out the original decl.
7416
caa511fd
JW
74172000-08-25 Jim Wilson <wilson@cygnus.com>
7418
d51ff7cb
JW
7419 * cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
7420
caa511fd
JW
7421 * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
7422
9a56f4f6
GM
74232000-08-25 Greg McGary <greg@mcgary.org>
7424
7425 * flow.c (dump_edge_info): Use ARRAY_SIZE.
7426 * config/alpha/alpha.c (alpha_expand_block_move): Likewise.
7427
31448271
RE
74282000-08-25 Richard Earnshaw <rearnsha@arm.com>
7429
7430 * arm.h (STRUCT_VALUE): Define to 0, not NULL.
7431
b949ea8b
JW
7432Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com)
7433
7434 * i386.c (ix86_find_base_term): New.
7435 * i386-protos.h (ix86_find_base_term): Prototype.
7436 * i386.h (FIND_BASE_TERM): Define.
7437 * alias.c (find_base_term): Use it.
7438 * tm.texi (FIND_BASE_TERM): Document it.
7439
7440 * alias.c (true_dependence, write_dependence_p): Unchanging
7441 memory can't conflict with non-unchanging memory.
7442
7443 * alias.c (memrefs_conflict_p): A BLKmode reference
7444 to a symbol (or CONST_INT address) always conflicts
7445 with a reference to another symbol.
7446
343b7260
JM
74472000-08-25 Joseph S. Myers <jsm28@cam.ac.uk>
7448
7449 * c-common.c (time_char_table): Don't allow width and flags with
7450 "z" format.
7451
1f9124e4
JJ
74522000-08-25 Jakub Jelinek <jakub@redhat.com>
7453
7454 * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
7455 way as LT and LTU when the second operand has 0 in low word.
7456
6057c0e6
MH
74572000-08-26 Michael Hayes <mhayes@cygnus.com>
7458
135ebc36
MH
7459 * basic-block.h (struct loop): Rename `exits' field to
7460 `exit_edges'. Add `entry_edges' and `num_entries' fields.
7461
7462 * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
7463 (flow_loop_entry_edges_find): Add.
7464 (flow_edge_list_print): Rename from flow_exits_print.
7465 (flow_loops_find): Call flow_loop_entry_edges_find.
7466 (flow_loop_dump): Dump entry_edges list.
7467 (flow_loops_free): Free entry_edges.
0e5921e8 7468
135ebc36 74692000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 7470
6057c0e6
MH
7471 * loop.c (loop_dump_aux, debug_loop): New functions.
7472 (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
7473
7474 * flow.c (flow_loops_dump): Add callback parameter.
7475 (flow_loop_dump): Add callback parameter and call it. Move
7476 loop note debugging code to loop_dump_aux.
7477
7478 * basic-block.h (flow_loop_dump): Add callback parameter
7479 (flow_loops_dump): Likewise.
7480
7481 * toplev.c (rest_of_compilation): Add NULL callback function pointer
7482 to call to flow_loops_dump.
0e5921e8 7483
028fc6e7
MH
74842000-08-26 Michael Hayes <mhayes@cygnus.com>
7485
7486 * loop.c (count_loop_regs_set): Replace start and end arguments
7487 with loop argument. All callers udated.
0e5921e8 7488
371502a8 74892000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 7490
371502a8
MH
7491 * loop.c (constant_high_bytes): Delete.
7492
e375c819
MH
74932000-08-26 Michael Hayes <mhayes@cygnus.com>
7494
7495 * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
7496 and NOTE_INSN_LOOP_VTOP to...
7497 (find_and_verify_loops) ...here.
7498
036cfb36
AO
7499Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com>
7500
7501 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
7502 (fini_dummy, init_dummy): Use it.
7503
c2e20542
NB
7504Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net>
7505
7506 * cpplex.c (is_macro_disabled): Caller has already checked
7507 that we're not a preprocessed file.
7508
83bab8db
MM
75092000-08-24 Mark Mitchell <mark@codesourcery.com>
7510
7511 * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
7512 (c-iterate.o): Remove target.
7513 * gcc/c-common.h (enum rid): Remove RID_ITERATOR.
7514 * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
7515 (finish_decl): Don't handle iterators.
7516 (grokdeclarator): Likewise.
7517 * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
7518 * gcc/c-gperf.h: Regenerated.
7519 * gcc/c-iterate.c: Removed.
7520 * gcc/c-lex.c (init_lex): Don't handle iterators.
7521 * gcc/c-parse.in (primary): Remove pop_iterator_stack call.
7522 (compstmt_primary_start): Remove push_iterator_stack call.
7523 (stmt): Don't allow iterator statements. Replace iterator_expand
7524 with expand_expr_stmt.
7525 (all_iter_stmt): Remove.
7526 (all_iter_stmt_simple): Likewise.
7527 (all_iter_stmt_with_decl): Likewise.
7528 * gcc/c-tree.h (ITERATOR_P): Remove.
7529 (ITERATOR_BOUND_P): Likewise.
7530 (init_iterators): Remove declaration.
7531 (iterator_expand): Likewise.
7532 (iterator_for_loop_start): Likewise.
7533 (iterator_for_loop_end): Likewise.
7534 (iterator_for_loop_record): Likewise.
7535 (push_iterator_stack): Likewise.
7536 (pop_iterator_stack): Likewise.
7537 * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
7538 (readonly_warning): Likewise.
7539 * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
0e5921e8 7540
aee3c6b0
JW
75412000-08-24 Jim Wilson <wilson@cygnus.com>
7542
7543 * c-common.c (decl_attributes, case A_ALIGN): Revert last change.
7544 Copy type in a TYPE_DECL, just like pushdecl does.
7545
58d8c980
RH
75462000-08-24 Richard Henderson <rth@cygnus.com>
7547
7548 * toplev.c (main): Enable flag_reorder_blocks at -O2.
7549
054f5e69
ZW
75502000-08-24 Zack Weinberg <zack@wolery.cumb.org>
7551
0e5921e8 7552 * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
054f5e69
ZW
7553 asked for one page, allocate GGC_QUIRE_SIZE of them and put
7554 the extras on the free list.
7555 (release_pages): Clean up.
7556 (ggc_set_mark): Don't adjust G.allocated here...
7557 (sweep_pages): ... do it here.
7558
75592000-08-24 Zack Weinberg <zack@wolery.cumb.org>
7560
7561 * cppfiles.c (read_include_file): Rearrange initializations.
7562
0551c32d
RH
75632000-08-24 Richard Henderson <rth@cygnus.com>
7564
7565 * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
7566
7567 * config/ia64/ia64-protos.h: Update.
7568 * config/ia64/ia64.c (gr_register_operand): New.
7569 (fr_register_operand, grfr_register_operand): New.
7570 (gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
7571 (grfr_reg_or_8bit_operand): New.
0e5921e8 7572 (gr_reg_or_0_operand): Rename from reg_or_0_operand and
0551c32d
RH
7573 use gr_register_operand.
7574 (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
7575 (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
7576 (gr_reg_or_8bit_and_adjusted_operand): Likewise.
7577 (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
7578 (fr_reg_or_fp01_operand): Likewise.
7579 (not_postinc_memory_operand): New.
7580 (ia64_split_timode): Remove unused variables.
7581 (rtx_needs_barrier): Check arguments to cmpxchg.
7582 (builtin_description): Remove.
7583 (bdesc_2argsi, bdesc_2argdi): Remove.
7584 (ia64_init_builtins): Declare all builtins directly.
7585 (ia64_expand_fetch_and_op): Rewrite to be called from
7586 ia64_expand_builtin directly. Use expand_binop and co.
7587 (ia64_expand_op_and_fetch): Likewise.
7588 (ia64_expand_compare_and_swap): Likewise.
7589 (ia64_expand_binop_builtin): Remove.
7590 (ia64_expand_lock_test_and_set): New.
7591 (ia64_expand_lock_release): New.
7592 (ia64_expand_builtin): Use them.
7593 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
7594 (EXTRA_CONSTRAINT): Use it.
7595 (PREDICATE_CODES): Update.
7596 * config/ia64/ia64.md (*): Use gr_register_operand and co.
7597 (mf): Indicate that we set memory as well as use it.
7598 (fetchadd_acq_si): Show memory being modified as well.
0e5921e8 7599 (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
0551c32d
RH
7600 (val_compare_and_swap_si, val_compare_and_swap_di): Remove.
7601 (lock_test_and_set_si, lock_test_and_set_di): Remove.
7602 (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
7603 (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
7604 (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
7605 (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
7606 (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
7607 (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
7608 (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
7609 (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
7610 * config/ia64/ia64intrin.h (*): Cast result to the appropriate
7611 return type. Pretty print definitions.
7612
7c866fb5
JW
76132000-08-24 Jim Wilson <wilson@cygnus.com>
7614
7615 * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
7616 we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
7617
40e8cc95
JM
76182000-08-24 Jason Merrill <jason@redhat.com>
7619
7620 * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
7621 AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
0e5921e8 7622 (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
40e8cc95
JM
7623 get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
7624
b6a1cbae
GM
76252000-08-24 Greg McGary <greg@mcgary.org>
7626
7627 * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
7628 and extendtab within their proper array boundaries.
7629 * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
7630 for the entire array.
7631
7632 * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
7633 * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
7634 * config/avr/avr.c (order_regs_for_local_alloc): Likewise.
7635 * config/fr30/fr30.c (fr30_print_operand): Likewise.
7636 * config/i386/dgux.c (output_options): Likewise.
7637 * config/i386/dgux.h (ASM_FILE_START): Likewise.
7638 * config/m88k/m88k.c (output_options): Likewise.
7639 * config/m88k/m88k.h (ASM_FILE_START): Likewise.
7640 * config/mcore/mcore.c (mcore_output_inline_const_forced,
7641 layout_mcore_frame, handle_structs_in_regs): Likewise.
7642 * config/mips/mips.c (output_block_move): Likewise.
7643 * config/rs6000/rs6000.c (rs6000_override_options,
7644 rs6000_file_start): Likewise.
7645 * config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
7646 * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
7647 * fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
7648 * builtins.c (expand_builtin_setjmp): Likewise.
7649 * expr.c (safe_from_p): Likewise.
7650 * flow.c (life_analysis): Likewise.
7651 * fold-const.c (size_int_type_wide): Likewise.
7652 * gcc.c (translate_options, init_spec, set_spec, main): Likewise.
7653 * genattrtab.c (make_length_attrs): Likewise.
7654 * genopinit.c (gen_insn): Likewise.
7655 * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
7656 * global.c (global_alloc): Likewise.
7657 * local-alloc.c (find_free_reg): Likewise.
7658 * mips-tdump.c (print_symbol): Likewise.
7659 * mips-tfile.c (parse_def, parse_input): Likewise.
7660 * reload1.c (NUM_ELIMINABLE_REGS): Likewise.
7661 * stmt.c (expand_nl_goto_receiver): Likewise.
7662 * stor-layout.c (set_sizetype): Likewise.
7663 * varasm.c (decode_reg_name): Likewise.
7664 * toplev.c (decode_f_option, decode_W_option,
7665 set_target_switch, print_switch_values): Likewise.
7666 (NUM_ELEM): Remove macro.
7667 (display_help, main): s/NUM_ELEM/ARRAY_SIZE/
7668
5b47282c
GM
76692000-08-24 Greg McGary <greg@mcgary.org>
7670
7671 * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
7672 (MAIN_NAME_P, main_identifier_node): New macros.
7673 * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
7674 * c-decl.c (start_decl, grokdeclarator, start_function,
7675 store_parm_decls, finish_function): Use MAIN_NAME_P.
7676 * config/avr/avr.c (function_prologue, function_epilogue): Likewise.
7677 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
7678 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
7679 * config/pdp11/pdp11.c (output_function_prologue): Likewise.
7680
87ae0c74
GM
76812000-08-24 Greg McGary <greg@mcgary.org>
7682
7683 * cppfiles.c (actual_directory): Don't write beyond `dir'
7684 when it contains "".
7685 * real.c (asctoeg): Stay within bounds of etens[][].
7686
b148aeaa
KG
76872000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7688
7689 * dependence.c (dependence_string, direction_string,
7690 dump_one_node, dump_node_dependence): Hide unused identifiers.
7691 (get_low_bound, normalize_coefficients): Match definition to
7692 static prototype.
7693 (get_one_coefficient): Initialize variables `value0_is_idx' and
7694 `value1_is_idx'.
7695 (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
7696 (ziv_test): Delete variable `idx', use parameter `sub' instead.
7697 (direction_merge): Avoid automatic aggregate initialization.
7698 (have_dependence_p): Use `src' not `dest' to set `src_idx'.
7699 Initialize variables `dest_idx' and `src_idx'.
7700 (end_dependence_analysis): Avoid C89 style function definition.
7701
4894ecce
JM
77022000-08-24 Joseph S. Myers <jsm28@cam.ac.uk>
7703
7704 * c-common.c (time_char_table): Don't allow width with %F.
7705 (check_format_info): Don't allow "Z" length with scanf.
7706
2ab99c46
GDR
77072000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
7708
7709 * diagnostic.c (finish_diagnostic): Define.
7710 (output_do_printf): Use wrap_text instead of output_add_string.
7711 (default_print_error_function): Avoid embedded '\n'.
7712
7713 * diagnostic.h (flush_diagnostic_buffer): Declare.
7714
335e59bd
AO
77152000-08-23 Alexandre Oliva <aoliva@redhat.com>
7716
7717 * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
7718
d9fe00bb
HPN
77192000-08-23 Hans-Peter Nilsson <hp@axis.com>
7720
7721 * Makefile.in (GCC_PASSES): Add specs.
7722
b97644fc
JW
77232000-08-23 Jim Wilson <wilson@cygnus.com>
7724
7725 * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
7726 * config/ia64/frame-ia64.c (__get_personality): Return zero if neither
7727 EHANDLER nor UHANDLER bit is set.
7728 (__get_except_table): Likewise.
7729
64a7723d
NC
77302000-08-23 Nick Clifton <nickc@redhat.com>
7731
02689e18
NC
7732 * config/arm/lib1funcs.asm: Replace upper case condition codes
7733 with lower case versions.
7734
64a7723d
NC
7735 * config/arm/arm.h (STRUCT_VALUE): Define.
7736 (STRUCT_VALUE_REGNUM): Delete.
7737
bbdac7d0
ZW
77382000-08-23 Zack Weinberg <zack@wolery.cumb.org>
7739
7740 * cpphash.h (IN_I): New flag for directive table.
7741 * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
7742 #pragma with IN_I.
7743 (_cpp_check_directive): If -fpreprocessed, execute directives
7744 marked with IN_I. Issue no warnings in this case.
7745 * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
7746
d8eceea4
JM
77472000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
7748
7749 * c-common.c (print_char_table): Allow 'I' flag with %d, %i and
7750 %u.
7751 (check_format_info): Support printf 'I' flag; warn about it with
7752 -pedantic.
7753
e04c2d6c
RE
77542000-08-23 Richard Earnshaw (rearnsha@arm.com)
7755
7756 * arm.c (arm_expand_prologue): Ensure that the stack-adjustment
7757 barrier can't be ignored by the alias analysis code.
7758
f4306baa
EZ
77592000-08-12 Eli Zaretskii <eliz@is.elta.co.il>
7760
7761 * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
7762 works inside fixincl.
7763
95d0e5f1
AO
7764Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
7765
7766 * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
7767 simplify_relational_operation() unless both operands are of
7768 VOIDmode.
7769 * cse.c (fold_rtx): Likewise.
7770
55efb413
JW
7771Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
7772
7773 * rtlanal.c (rtx_unstable_p): The pic register is stable
7774 (within one function) and the actual rtx should be used
7775 when checking the registers.
7776 (rtx_addr_can_trap_p): Pic memory addresses can't trap.
7777
7778 * alias.c (true_dependence, write_dependence_p): Fix
7779 bug in previous patch.
7780
7781 * i386.c (ix86_GOT_alias_set): New.
7782 (legitimize_pic_address): Use it.
7783
7784 * rtlanal.c (rtx_unstable_p): An unchanging MEM is
7785 only stable if its address is stable.
7786 (rtx_varies_p): An unchanging MEM can't vary if
7787 its address doesn't vary.
7788
aac625ac
KG
77892000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7790
7791 * c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
7792
62432849
DA
77932000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca>
7794
7795 * vax.h (ASM_SPEC): Pass `-J' to assembler.
7796 * x-vax-gcc: New file for bootstrapping with gcc.
dd745546 7797 * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
62432849
DA
7798 * configure.in: Use x-vax-gcc with gcc.
7799 * configure: Rebuilt.
7800
1eb994b7
R
7801Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
7802
7803 * toplev.c (rest_of_compilation): Rebuild label notes after
7804 post-reload splitting pass if new labels have been created.
7805
f6a542de
GDR
78062000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
7807
7808 * diagnostic.h (output_buffer_state): New macro.
7809 * diagnostic.c (diagnostic_for_decl, sorry,
7810 default_print_error_function, output_do_verbatim,
7811 report_diagnostic, report_problematic_module): Use it.
7812 (wrap_text): Tweak.
7813 (output_format): Use wrap_text instead of maybe_wrap_text.
7814
888e552f
NC
78152000-08-22 Nick Clifton <nickc@redhat.com>
7816
7817 * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
7818 Common code for ARM divide and modulus functions.
7819 (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
7820 ARM_DIV_MOD_BODY.
7821 (FUNC_END): New macro: Common code at the end of the division and
7822 modulo functions.
7823 (THUMB_FUNCTION_START): New macro: Common code at the start of
7824 Thumb functions.
7825 (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
0e5921e8 7826
89e43e33
KK
7827Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp>
7828
7829 * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
7830
7831 * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
7832 sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
7833 const0_rtx.
7834
7405dc37
NC
78352000-08-22 Nick Clifton <nickc@redhat.com>
7836
7837 * config/arm/lib1funcs.asm (__umodsi3): Before performing any
7838 restorative additions, test for bottom bits of IP being set,
7839 rather than relying upon the RORs not matching.
7840 (__modsi3): Ditto.
7841
9861b0c9
DE
78422000-08-22 David Edelsohn <edelsohn@gnu.org>
7843
7844 * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
60a3c181 7845 text_section() as appropriate instead of emitting text csect
9861b0c9
DE
7846 pseudo-op directly.
7847 (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
7848 (UNIQUE_SECTION): Define macro.
7849 (ASM_OUTPUT_SECTION_NAME): Define macro.
7850 * rs6000.c (rs6000_override_options): Disable -ffunction-sections
60a3c181 7851 on AIX if debugging and -fdata-sections always.
9861b0c9
DE
7852
78532000-08-22 Steven King <sxking@uswest.net>
df3a88f0
SK
7854
7855 * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
7856 machinery.
7857 (LDBL_MAX): Same here.
7858
b578dbd7
RH
78592000-08-22 Richard Henderson <rth@cygnus.com>
7860
7861 * flow.c (tidy_fallthru_edge): Update b->end properly.
7862
d061bc1e
SC
78632000-08-22 Stan Cox <scox@redhat.com>
7864
60a3c181
RH
7865 * Makefile.in (OBJS): Add dependence.o.
7866 * dependence.c: New file.
0e5921e8 7867
23d16877 78682000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca>
3cadd778 7869
d60eab50
AO
7870 * calls.c (check_sibcall_argument_overlap_1): Adjust for
7871 ARGS_GROW_DOWNWARD.
7872 (check_sibcall_argument_overlap): Likewise.
7873
23d16877
AO
78742000-08-22 Alexandre Oliva <aoliva@redhat.com>
7875
3cadd778
AO
7876 * invoke.texi (SH Options): Document -m4-nofpu,
7877 -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
7878 -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
7879
23e4d028
JM
78802000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
7881
7882 * c-common.c (check_format_info): Give the 'some locales' warning
7883 for strftime %Ey rather than the unconditional 'only last 2 digits
7884 of year' one.
7885
bc82c87c
RH
78862000-08-22 Richard Henderson <rth@cygnus.com>
7887
7888 * alias.c (init_alias_analysis): Do not register
7889 struct_value_incoming_rtx or static_chain_rtx as pointing
7890 to stack memory.
7891
7db9125f
JL
7892Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com)
7893
7894 * protoize.c (munge_compile_params): Fix typo and formatting buglets.
7895
b413d64d
GDR
78962000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
7897
7898 * diagnostic.h (report_problematic_module): Declare.
7899 * diagnostic.c (report_problematic_module): New function.
7900 (report_error_function): Tweak.
7901
c4a6c0f3
RK
7902Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7903
7904 * stmt.c (expand_goto_internal, fixup_gotos): Only check
7905 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
7906
770a7feb
RH
79072000-08-21 Richard Henderson <rth@cygnus.com>
7908
7909 * flow.c (calculate_global_regs_live): Mark frame pointer live
7910 everywhere before reload.
7911
280db205
JW
79122000-08-21 Jim Wilson <wilson@cygnus.com>
7913
7914 * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
7915 INTEL_EXTENDED_IEEE_FORMAT.
7916 (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally
7917 clear last two bytes of output FP value.
7918
94c21c17
GS
79192000-08-21 Graham Stott <grahams@cygnus.co.uk>
7920
7921 * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
7922
6315f068
JJ
79232000-08-21 Jakub Jelinek <jakub@redhat.com>
7924
7925 * unroll.c (loop_find_equiv_value): If ret is modified between
7926 insn and loop_start, ret might not be equivalent to reg.
7927
5804a754
JM
79282000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
7929
7930 * c-common.c (init_dollar_format_checking,
7931 maybe_read_dollar_number, finish_dollar_format_checking): New
7932 functions.
7933 (dollar_arguments_used, dollar_arguments_count,
7934 dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
7935 New variables.
7936 (check_format_info): Support $ formats for scanf and printf width
7937 and precision. Always increment format_chars to advance past the
7938 '*' of precision, not just when the format parameters are
7939 available to check.
7940
95adab8e
KG
79412000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7942
7943 * mips.c (block_move_loop, expand_block_move,
7944 function_arg_partial_nregs, save_restore_insns, function_prologue,
7945 mips_expand_prologue, RA_MASK): Avoid using the `U' integer
7946 constant suffix.
7947 (function_arg_advance, function_arg): Match argument to format
7948 specifier `%p'.
7949
49009afd
JL
79502000-08-21 Nix <nix@esperi.demon.co.uk>
7951
7952 * gcc.c (do_spec_1): Implement %j spec flag.
7953 Remove dead comment.
7954
7955 * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
60a3c181
RH
7956 * system.h (HOST_BIT_BUCKET): Default to "/dev/null".
7957 * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
7958 * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
49009afd 7959
60a3c181 7960 * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
49009afd
JL
7961 writable) instead of hardcoded value.
7962
7963 * toplev.c (compile_file): Output to a file even if -fsyntax-only.
7964
60a3c181
RH
7965 * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
7966 MKTEMP_EACH_FILE.
49009afd 7967
60a3c181 7968 * gcc.c (cc1_options): Do not process -o or run the assembler if
49009afd 7969 -fsyntax-only.
05a3d06e 7970 * objc/lang-spec.h: Likewise.
49009afd
JL
7971
79722000-08-21 Eli Zaretskii <eliz@is.elta.co.il>
dc13bad7
EZ
7973
7974 * fixinc/fixincl.c (fix_with_system): Pipe the output of
7975 "external" fixes through `cat', to avoid truncating the input
7976 file by redirection.
7977
cb694d2c
JJ
79782000-08-21 Jakub Jelinek <jakub@redhat.com>
7979
7980 * config/i386/i386.md (lea_general_1): Copy insn condition to split
7981 condition.
7982 (lea_general_2, lea_general_3): Likewise.
7983
cde6e684
KG
79842000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7985
7986 * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
7987 warnings to user code.
7988
7989 * c-lex.c (readescape, yylex): Likewise.
7990
7991 * c-typeck.c (store_init_value, process_init_element): Likewise
7992 (c_expand_start_case): Format.
7993
120dc6cd
MR
79942000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
7995
7996 * mips/linux.h (LINK_SPEC): Use %(endian_spec).
7997
7998 * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
0e5921e8 7999 and linker_endian_spec to endian_spec.
120dc6cd
MR
8000 (ENDIAN_SPEC): Add %{EB} and %{EL}.
8001 (LINK_SPEC): Remove %{EB} and %{EL}.
0e5921e8 8002 (ASM_SPEC): Likewise. Use %(endian_spec).
120dc6cd 8003
93e2382f
JM
80042000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
8005
8006 * c-tree.h (flag_hosted): Move declaration from here...
8007 * c-common.h (flag_hosted): ... to here.
8008 (flag_noniso_default_format_attributes): New declaration.
8009 * c-decl.c (flag_noniso_default_format_attributes): New variable.
8010 (c_decode_option): Set it appropriately for options choosing
8011 language standard variant.
8012 * c-common.c (init_function_format_info): Only provide default
8013 format attributes if flag_hosted. Only provide the gettext
8014 formats if flag_noniso_default_format_attributes. Update
8015 comments.
8016 (check_format_info): Disable treatment of %a as a scanf flag in
8017 C99 mode.
8018
f3d360aa
JM
80192000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
8020
8021 * c-common.c (scan_char_table): Add 'w' to flags for all formats
8022 except 'n'.
8023 (check_format_info): Set 'wide' for scanf format widths. Warn for
8024 a zero scanf width. Make the check for writing into a constant
8025 object at the first level of indirection; at later levels, warn if
8026 any type qualifiers are encountered.
8027
e04ca094
JL
8028Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com)
8029
e6ea3b5f
JL
8030 * reload.c (reload_inner_reg_of_subreg): New function broken out of
8031 push_reload.
8032 (push_reload): Use reload_inner_reg_of_subreg.
8033 (combine_reloads): Do not combine reloads if the input reload
8034 is a SUBREG in which the inner part will need reloading.
8035
e04ca094
JL
8036 * global.c (global_alloc): Avoid passing dumpfile argument to
8037 reload routines.
8038 * toplev.c (rest_of_compilation): Likewise.
8039 * reload.h (reload): Remove dumpfile argument. Callers changed.
8040 (debug_reload, debug_reload_to_stream): Move prototypes here.
8041 * rtl.h (reload): Remove dumpfile argument.
8042 * reload.c (debug_reload): Remove prototype.
8043 (debug_reload_to_stream): Likewise.
8044 * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
8045 instead.
8046
24805e80
GDR
80472000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
8048
8049 * diagnostic.c (context_as_prefix): Export.
8050 (need_error_newline): Remove.
8051 (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
8052 (error_module_changed, record_last_error_module,
8053 error_function_changed, record_last_error_function): New functions.
8054 (initialize_diagnostics): Default intialize
8055 lang_diagnostic_starter, lang_diagnostic_finalizer.
8056 (init_output_buffer): Tweak.
8057 (file_name_as_prefix): New function.
8058 (announce_function, default_print_error_function,
8059 report_error_function, set_diagnostic_context): Tweak.
8060
056b6841
RE
80612000-08-21 Richard Earnshaw <rearnsha@arm.com>
8062
8063 * flow.c (init_propagate_block_info): Handle SUBREG in a jump
8064 condition expression.
8065
7171b491
RH
80662000-08-20 Richard Henderson <rth@cygnus.com>
8067
8068 * flow.c (merge_blocks_nomove): Don't seek back past the bb note.
8069
3cb553b4
ZW
80702000-08-20 Zack Weinberg <zack@wolery.cumb.org>
8071
8072 * cppinit.c (cpp_init): Set global flag when called.
8073 (cpp_reader_init): Bomb out if cpp_init hasn't been called.
8074
9861b0c9 8075Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
3cb553b4 8076
60a3c181
RH
8077 * cpplex.c (cpp_scan_buffer): Move `output_line_command' just
8078 before `process_directive' so that newlines won't be missed
8079 for directives.
8080 (cpp_printf): Increment `print->lineno' when newline is emitted.
3cb553b4 8081
60a3c181
RH
8082 * cppmain.c (cb_ident): Likewise.
8083 (cb_define): Likewise.
8084 (cb_undef): Likewise.
8085 (cb_include): Likewise.
8086 (cb_def_pragma): Likewise.
8087 (dump_macros_helper): Likewise.
3cb553b4 8088
9c668921
RH
80892000-08-20 Richard Henderson <rth@cygnus.com>
8090
8091 * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
8092 assigned before a loop.
8093
8094 * config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
8095 (ashrsi3, lshrsi3): Likewise.
8096
4e1e6a01
GDR
80972000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
8098
8099 * c-lang.c: #include diagnostic.h
8100 (c_tree_printer): New function.
8101 (lang_init): Initialize lang_printer.
8102
8103 * Makefile.in (c-lang.o): Depends on diagnostic.h
8104
e2840263
GDR
81052000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
8106
8107 * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
8108
8109 * diagnostic.c (default_diagnostic_starter,
8110 default_diagnostic_finalizer): New functions.
8111 (diagnostic_for_asm, diagnostic_for_decl): Tweak.
8112 (pedwarn, pedwarn_with_file_and_line, error,
8113 error_with_file_and_line, fatal, warning,
8114 warning_with_file_and_line): Adjust call to report_diagnostic.
8115 (report_diagnostic): Rework.
8116 (set_diagnostic_context): New function.
8117
8118 * diagnostic.h (struct diagnostic_context): New data structure.
8119 (diagnostic_message, diagnostic_argument_list,
8120 diagnostic_file_location, diagnostic_line_location,
8121 diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
8122 diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
8123 (set_diagnostic_context): Declare.
8124 (report_diagnostic): Change prototype.
8125
574f7425
NB
8126Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net>
8127
8128 * fix-header.c (main): Initialize cpplib.
8129
f1e42c81
MM
81302000-08-19 Michael Meissner <meissner@redhat.com>
8131
34c9e848
MM
8132 * ifcvt.c (find_if_block): Do not assume that a THEN block has any
8133 instructions in it before checking for indirect jumps.
8134
f1e42c81
MM
8135 * ifcvt.c (find_if_block): Do not consider a THEN block that ends
8136 in a indirect jump as a potential for conditional execution.
8137
8138 * d30v.h (d30v_init_expanders): Don't declare here.
8139 * d30v-protos.h (d30v_init_expanders): Declare here with a valid
8140 prototype.
8141
9d6c2770
NB
8142Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net>
8143
8144 * cpp.texi: Add @section for assertions.
8145
e76d9acb
JW
8146Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com)
8147
8148 * loop.c (scan_loop): Use CONST_CALL_P instead of
8149 checking for REG_LIBCALL / REG_RETVAL.
8150
f49957d6
JL
8151Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com)
8152
850aac53
JL
8153 * reload1.c (reload_as_needed): Accept dumpfile argument,
8154 pass it to emit_reload_insns.
8155 (emit_reload_insns): Add new dumpfile argument. If non-null
8156 then dump the reloads for each insn into the dumpfile.
8157 (reload): Pass dumpfile to reload_as_needed.
8158
f49957d6
JL
8159 * invoke.texi: Clean up linux-gnu vs linux comments.
8160
041f25e6
RH
81612000-08-19 Richard Henderson <rth@cygnus.com>
8162
8163 * config/ia64/ia64.c (reg_or_5bit_operand): New.
8164 (ia64_depz_field_mask): New.
8165 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
8166 (PREDICATE_CODES): Update.
8167 * config/ia64/ia64.md: Update commentary.
8168 (depz_internal): New.
8169 (ashlsi3): Implement directly.
8170 (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
8171 (ashldi3): Use shladd.
8172 * config/ia64/ia64-protos.h: Update.
8173
319ea138
ZW
81742000-08-18 Zack Weinberg <zack@wolery.cumb.org>
8175
8176 * toplev.c (independent_decode_option): Always process -g.
8177 Remove third argument, now unused. Adjust caller to match.
8178
8231ad94
RH
81792000-08-18 Richard Henderson <rth@cygnus.com>
8180
8181 * combine.c (make_compound_operation): Break after creating
8182 the extraction.
8183
6e19bb38
ZW
81842000-08-18 Zack Weinberg <zack@wolery.cumb.org>
8185
8186 * cpplib.c (cpp_register_pragma_space): Just return if the
8187 namespace is already registered.
8188
477d303f
RE
81892000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com>
8190
8191 * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
8192 constant amount. Do not generate ROTL instruction.
8193
ffe51c8a
AO
8194Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com>
8195
8196 * config/sh/elf.h: Do not include sh/sh.h.
8197 * config/sh/rtems.h: Likewise.
8198 * config/sh/rtemself.h: Do not include sh/elf.h.
8199 * configure.in: Get them included with `tm_file's.
8200 * configure: Rebuilt.
8201
8845e874
AO
8202 * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
8203 * config/sh/sh.c (fpscr_set_from_mem): Use them.
8204
3f546a53
RK
8205Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8206
7d2950e5
RK
8207 * stor-layout.c (compute_record_type): Don't use mode of single
8208 field as mode of record if not integer mode of same type.
8209
a1c1fdd0
RK
8210 * regmove.c (perhaps_ends_bb_p): New function.
8211 (optimize_reg_copy_1, optimize_reg_copy_2): Call it.
8212 (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
8213 (fixup_match_1): Likewise.
8214 (fixup_match_1, combine_stack_adjustments_for_block): Add casts to
8215 avoid signed/unsigned warnings.
0e5921e8 8216
3f546a53
RK
8217 * function.c (fixup_var_refs_1, case MEM): Update CODE after
8218 updating X.
8219
61d0346d
NB
8220Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net>
8221
8222 * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
8223 (_cpp_trigraph_map): Declaration moved from cpplex.c
8224
8225 * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1
8226 instead of 256. Use consistent test for designated initializers.
8227 (cpp_init): Initialize trigraph_map.
8228 (initialize_standard_includes, parse_option): Use memcmp
8229 instead of strncmp.
8230
8231 * cpplex.c (init_trigraph_map): Remove.
8232 (trigraph_ok, trigraph_replace, lex_line): Refer to
8233 _cpp_trigraph_map.
8234
8235 * cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
8236 (do_unassert): Remove unused "next" local.
8237
8238 * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
8239
ef42b1dd
EM
82402000-08-18 Emmanuel Marty <emarty@suntech.fr>
8241
8242 * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
8243 insn.
8244
bc08aefe
RH
82452000-08-17 Richard Henderson <rth@cygnus.com>
8246
8247 * config/ia64/ia64.c (spill_restore_mem): Handle emitting
8248 the first insn in a sequence.
8249
49982682
JW
8250Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com)
8251
8252 * alias.c (true_dependence, write_dependence_p): A read
8253 involving a label_ref or the constant pool doesn't create
8254 a dependency.
8255
8256 * rtl.h (unchanging): Improve documentation.
8257
889e5964
RB
82582000-08-17 Rodney Brown <RodneyBrown@mynd.com>
8259
8260 * cse.c (insert_regs): Remove unused `regno'.
8261
dd69c71b
NB
82622000-08-17 Neil Booth <NeilB@earthling.net>
8263
8264 * (cppinit.c) merge_include_chains: Use remove_dup_dir,
8265 remove_dup_dirs. If qtail == brack, remove brack not
8266 qtail.
8267 (remove_dup_dir, remove_dup_dirs): New functions.
8268
709e9e50
NB
82692000-08-17 Neil Booth <NeilB@earthling.net>
8270
8271 * cppinit.c (cpp_cleanup): Free include dir chains.
8272 * cpplib.c (do_undef): Let _cpp_free_definition make the node void.
8273 (do_unassert): Free the assert with _cpp_free_definition.
8274 * cppmacro.c (_cpp_free_definition): Free memory allocated for
8275 assertions. Make the node a T_VOID node.
8276
e33f6253
NB
82772000-08-17 Neil Booth <NeilB@earthling.net>
8278
8279 * cppinit.c (path_include, append_include_chain):
8280 Remove 2nd parameter (struct cpp_pending *).
8281 (path_include, initialize_standard_includes, cpp_handle_option):
8282 Update callers appropriately.
8283 (cpp_handle_option): Use pend.
8284
c154ba66
NB
82852000-08-17 Neil Booth <NeilB@earthling.net>
8286
8287 * cppinit.c (sort_options): Remove, put functionality in
8288 cpp_init.
8289 (cpp_init): New.
8290 (initialize_builtins): Free memory.
8291 (cpp_start_read): Move init_IStable to cpp_init.
8292
8293 * cpplib.h (cpp_init): New prototype.
8294 * cppmain.c (main): Call cpp_init.
8295
9c82ac6b
JW
8296Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com)
8297
8298 * rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
8299 (rtx_unstable_p, rtx_varies_p): Process vectors.
8300
acd50a92
NY
83012000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
8302
8303 * config/sh/lib1funcs.asm (GLOBAL): Define. Use for all
8304 references to GLOBAL symbols. Use LOCAL where appropriate.
8305
cfedbb1f
KG
83062000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8307
8308 * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always
8309 use t-aix41 when host == target.
8310
31989264
RH
83112000-08-16 Richard Henderson <rth@cygnus.com>
8312
8313 * reload.c (push_secondary_reload): Revert last change.
8314 If we use a reload_in/out pattern, make the when the same
8315 as the primary reload.
8316 (find_reloads): Likewise.
8317
d84c5634
MH
83182000-08-16 Manfred Hollstein <manfredh@redhat.com>
8319
8320 * configure.in (libstdcxx-v3): Fix test.
8321 * configure: Regenerate.
8322
43db0363
RK
8323Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8324
8325 * calls.c (calls_function_1, expand_call): Only test
8326 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
8327 * function.c (thread_prologue_and_epilogue_insns): Likewise.
8328
853d8828
RH
83292000-08-16 Richard Henderson <rth@cygnus.com>
8330
8331 * combine.c (simplify_shift_const): Revert previous two
8332 changes. If SHIFT_COUNT_TRUNCATED, crop the shift count
8333 before the main loop.
8334
3e626beb
RH
83352000-08-15 Richard Henderson <rth@cygnus.com>
8336
8337 * combine.c (simplify_shift_const): Bound shift count when
8338 combining shifts.
8339
f507188a
RK
8340Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8341
7393c642
RK
8342 * calls.c (ECF_SP_DEPRESSED): New macro.
8343 (calls_function_1): Treat calling sp-depressed function as alloca.
8344 (emit_call_1): Don't adjust SP if calling sp-depressed function.
8345 (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
8346 If sp-depressed, ensure block saves and restores SP.
8347 * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
8348 for INTEGER_TYPE.
8349 * function.c (keep_stack_depressed): New function.
8350 (thread_prologue_and_epilogue_insns): Call it.
8351 * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
8352 to print DECL_OFFSET_ALIGN.
8353 Print no-force-blk and transparent-union flags properly.
8354 * stmt.c (expand_goto_internal): Don't restore stack if last block
8355 and function returns with sp depressed.
8356 (fixup_gotos): Likewise.
8357 (save_stack_pointer): New function, from code in expand_decl.
8358 (expand_decl): Call new function.
8359 * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
8360 (TYPE_RETURNS_STACK_DEPRESSED): New macro.
8361 (save_stack_pointer): New declaration.
8362
f507188a
RK
8363 * diagnostic.c (fatal_function): New variable.
8364 (set_fatal_function): New function.
8365 (fatal): Call it.
8366 * diagnostic.h (set_fatal_function): New declaration.
8367
56847207
WC
83682000-08-15 William Cohen <wcohen@redhat.com>
8369
8370 * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
8371 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
8372 (DWARF2_ASM_LINE_DEBUG_INFO): Defined.
8373
7791b7f9
RH
83742000-08-15 Richard Henderson <rth@cygnus.com>
8375
8376 * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
8377
f99fce0c
RE
83782000-08-15 Richard Earnshaw <rearnsha@arm.com>
8379
8380 * arm.c (arm_function_ok_for_sibcall): New function.
8381 * arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
8382 * arm.md (call expanders): Don't check here for calls that can't
8383 be sibling calls.
8384
74da3101
RE
83852000-08-15 Richard Earnshaw <rearnsha@arm.com>
8386
8387 * arm.md (splits generating cond_exec): Disable.
8388
2c210617
RE
83892000-08-15 Richard Earnshaw <rearnsha@arm.com>
8390
8391 * arm/linux-elf.h (text_section): Delete declaration.
8392
05ed98a1
RE
83932000-08-15 Richard Earnshaw <rearnsha@arm.com>
8394
8395 ARM support for unordered FP operations.
8396 * arm-protos.h (arm_comparison_operator): Declare.
8397 * arm.c (arm_comparison_operator): New function.
8398 (arm_select_cc_mode): Add unordered comparison codes.
8399 (get_arm_condition_code): Likewise.
8400 (arm_final_prescan_insn): Can't handle unordered jumps that can't
8401 be done in one insn.
8402 * arm.h (PREDICATE_CODES): Add arm_comparison_operator.
8403 * arm.md (all uses of comparison_operator): Replace with
8404 arm_comparison_operator.
8405 (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
8406 expands.
8407 (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
8408 patterns.
0e5921e8 8409
ed78c862
OP
8410Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
8411
8412 * gthr-posix.h: Conditionally include <sched.h>; include
8413 <config.h> from libobjc/.
8414
4859dd36
RH
84152000-08-14 Richard Henderson <rth@cygnus.com>
8416
8417 * config/i386/i386.c (legitimize_pic_address): Use Pmode
8418 for all CONSTs.
8419
3f622353
RH
84202000-08-14 Richard Henderson <rth@cygnus.com>
8421
8422 * configure.in (ia64-*): Set float_format for i386 long double.
8423
8424 * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
8425 as we would for i386 XFmode.
8426 (PUT_REAL): Likewise.
8427 (endian, ereal_atof, real_value_truncate): Likewise.
8428 (ereal_isneg, toe64, etens, make_nan): Likewise.
8429 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
8430
8431 * config/ia64/ia64-protos.h: Update.
8432 * config/ia64/ia64.c (general_tfmode_operand): New.
8433 (destination_tfmode_operand): New.
8434 (tfreg_or_fp01_operand): New.
8435 (ia64_split_timode): New.
8436 (spill_tfmode_operand): New.
8437 (ia64_expand_prologue): Use TFmode not XFmode.
8438 (ia64_expand_epilogue): Likewise.
8439 (ia64_function_arg): Likewise.
8440 (ia64_function_arg_advance): Likewise.
8441 (ia64_return_in_memory): Likewise.
8442 (ia64_function_value): Likewise.
8443 (ia64_print_operand): Likewise.
8444 (ia64_register_move_cost): Set GR<->FR to 5.
8445 (ia64_secondary_reload_class): Get GR for TImode memory op.
8446 * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
8447 (ROUND_TYPE_ALIGN): Remove.
8448 (LONG_DOUBLE_TYPE_SIZE): Set to 128.
8449 (INTEL_EXTENDED_IEEE_FORMAT): Define.
8450 (HARD_REGNO_NREGS): Use TFmode, not XFmode.
8451 (HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs.
8452 (MODES_TIEABLE_P): Use TFmode, not XFmode.
8453 (CLASS_MAX_NREGS): Likewise.
8454 (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
8455 (PREDICATE_CODES): Update.
8456 * config/ia64/ia64.md (movti): New.
8457 (movti_internal): Use a clobber for memory alternatives.
8458 (reload_inti, reload_outti): New.
8459 (movsfcc_astep): Predicate properly.
8460 (movdfcc_astep): Likewise.
8461 (movxf): Remove.
8462 (movtf): New.
8463 (extendsftf2, extenddftf2): New.
8464 (trunctfsf2, trunctfdf2): New.
8465 (floatditf2, fix_trunctfdi2): New.
8466 (floatunsditf2, fixuns_trunctfdi2): New.
8467 (addtf3, subtf3, multf3, abstf2): New.
8468 (negtf2, nabstf2, mintf3, maxtf3): New.
8469 (maddtf3, msubtf3, nmultf3, nmaddtf3): New.
8470 (cmptf): New.
8471 (fr_spill): Use TFmode, not XFmode.
8472 (fr_restore): Likewise.
8473 * config/ia64/lib1funcs.asm (__divtf3): New.
8474 * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
8475
e49a1d2e
KG
84762000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8477
8478 * cse.c (fold_rtx): Avoid empty body in an if-statement.
0e5921e8 8479
e49a1d2e
KG
8480 * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
8481 `U' integer constant suffix.
8482
8483 * dwarf2out.c (add_subscript_info): Avoid empty body in an
8484 else-statement.
8485
8486 * sparc/sol2.h (__enable_execute_stack): Prototype.
8487
78fbdbf7
DE
84882000-08-14 David Edelsohn <edelsohn@gnu.org>
8489
8490 * collect2.c: Remove use of AIX import file.
8491
8492 * longlong.h: Test ARCH_PWR not ARCH_POWER.
8493
8494 * rs6000.c (print_operand, case 'E'): Add else.
8495
9a89adb8
RH
84962000-08-14 Richard Henderson <rth@cygnus.com>
8497
8498 * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
8499 (movdi_symbolic): New.
8500
00e149c7
JW
85012000-08-14 Jim Wilson <wilson@cygnus.com>
8502
8503 * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
8504 to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
8505 * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
8506 to GNU as.
8507
2ee5437b
RH
85082000-08-14 Richard Henderson <rth@cygnus.com>
8509
8510 * expr.c (emit_group_load): Don't force constants into registers.
8511 Special case source already in the correct mode.
8512
57119aa9
ZW
85132000-08-14 Zack Weinberg <zack@wolery.cumb.org>
8514
8515 * configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
8516 * fixinc/inclhack.def: Likewise.
0e5921e8 8517 * fixinc/mkfixinc.sh: Likewise.
57119aa9
ZW
8518 * configure: Regenerate.
8519 * fixinc/fixincl.x: Regenerate.
8520 * install.texi: Document equivalence of linux and linux-gnu.
8521
d9f20424
R
8522Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
8523
8524 * cse.c (insert_regs): Also in REG case: When finding an invalid
8525 value, and we make a new quantity, make sure that it won't be
8526 mistaken by for a valid one by mention_regs.
8527
c8fa6556
RG
8528