]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
ia64.c (emit_insn_group_barriers): Special case epilogue_deallocate_stack.
[gcc.git] / gcc / ChangeLog
CommitLineData
e57b9d65
RH
12000-06-27 Richard Henderson <rth@cygnus.com>
2
3 * config/ia64/ia64.c (emit_insn_group_barriers): Special case
4 epilogue_deallocate_stack.
5
6 * config/ia64/ia64.c (ia64_print_operand) [case D]: Emit
7 completers for UNORDERED and ORDERED as well.
8 * config/ia64/ia64.md (bunordered, bordered): New.
9 (sunordered, sordered): New.
10
6ef67412
JH
11Tue Jun 27 12:14:12 MET DST 2000 Jan Hubicka <jh@suse.cz>
12
13 * genattrtab.c (write_attr_value): Do not abort for CONST_INT operands.
14 * i386.c (ix86_attr_length_default): Kill.
15 (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
16 New.
17 * i386-protos.h (ix86_attr_length_default): Kill
18 (ix86_attr_length_immediate_default, ix86_attr_length_address_default):
19 Add prototype
20 * i386.md (attribute type): Add "test".
21 (attribute length_prefix): Kill.
22 (attribute length_opcode): Kill.
23 (attribute i387, mode, length_immediate, length_address, prefix_data16,
24 prefix_rep, prefix_0f, modrm): New.
25 (attribute length): Compute using the new attributes.
26 (attribute pent_prefix): New.
27 (attribute pent_pair): Compute using pent_prefix.
28 (all insn patterns): Set mode,modrm and immediate_length attributes where
29 needed.
30 (cmpsi patterns): Compute sizes propertly for test instruction.
31 (movsi, movhi patterns): Compute sizes propertly for eax shortcuts.
32 (movstricthi_xor, movstrictqi_xor): New patterns.
33 (andsi/andhi): Use splitters to generate xor instructions.
34 (xorqi_ext_1): New pattern.
35 (movstricthi->movstricthi_xor peep2): New.
36
638f9bae
JH
37Tue Jun 27 12:03:03 MET DST 2000 Jan Hubicka <jh@suse.cz>
38
39 * i386.md (addqi_low_1): Remove.
40
047142d3
PT
412000-06-27 Philipp Thomas <pthomas@suse.de>
42
43 * 1750a.h: Mark help strings for options/switches for translation.
44 * a29k.h: Likewise.
45 * alpha.h: Likewise.
46 * arm.h: Likewise.
47 * pe.h: Likewise.
48 * riscix.h: Likewise.
49 * c4x.h: Likewise.
50 * clipper.h: Likewise.
51 * convex.h: Likewise.
52 * elxsi.h: Likewise.
53 * fr30.h: Likewise.
54 * fx80.h: Likewise.
55 * h8300.h: Likewise.
56 * i370.h: Likewise.
57 * cygwin.h: Likewise.
58 * dgux.h: Likewise.
59 * djgpp.h: Likewise.
60 * i386.h: Likewise.
61 * osf1elf.h: Likewise.
62 * osfrose.h: Likewise.
63 * sco5.h: Likewise.
64 * win32.h: Likewise.
65 * i860.h: Likewise.
66 * paragon.h: Likewise.
67 * i960.h: Likewise.
68 * ia64.h: Likewise.
69 * m32r.h: Likewise.
70 * mcore.h: Likewise.
71 * mips.h: Likewise.
72 * mn10300.h: Likewise.
73 * ns32k.h: Likewise.
74 * pdp11.h: Likewise.
75 * pj.h: Likewise.
76 * aix.h: Likewise.
77 * aix41.h: Likewise.
78 * aix43.h: Likewise.
79 * beos.h: Likewise.
80 * rs6000.h: Likewise.
81 * sysv4.h: Likewise.
82 * linux.h: Likewise.
83 * linux64.h: Likewise.
84 * sp64-elf.h: Likewise.
85 * sparc.h: Likewise.
86 * splet.h: Likewise.
87 * v850.h: Likewise.
88 * convex.h (TARGET_SWITCHES): Provide descriptions and mark them
89 for translation.
90 * sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
91 Properly document option and mark for translation.
92 * sp86x-elf.h: Likewise.
93
a7180f70
BS
942000-06-27 Bernd Schmidt <bernds@cygnus.co.uk>
95
96 Add MMX and SSE registers to i386 machine description.
97 * i386-protos.h (ix86_constant_alignment, ix86_data_alignment,
98 ix86_local_alignment): Declare.
99
100 * i386.h (TARGET_MMX, TARGET_SSE): New.
101 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
102 REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
103 REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER,
104 enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers.
105 (FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New.
106 (FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros.
107 (RETURN_IN_MEMORY): Handle MMX/SSE.
108 (REG_PARM_STACK_SPACE): Added so the first three TImode parameters
109 also get stack space.
110 (MUST_PASS_IN_STACK): Added TImode to the default definition.
111 (CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words.
112 (MMX_REGISTER_NAMES): New.
113 (ALIGN_MODE_128): New macro.
114 (CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function.
115 (DATA_ALIGNMENT): Likewise.
116 (LOCAL_ALIGNMENT): Likewise.
117 (CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not
118 TARGET_MMX/TARGET_SSE.
119 (VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros.
120 (REG_CLASS_FROM_LETTER): 'y' for MMX regs.
121 (SECONDARY_MEMORY_NEEDED): Be conservative about copying between
122 SSE/MMX regs and something else.
123 (CLASS_MAX_NREGS): 1 for SSE and MMX regs.
124 (REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs,
125 3 if moving between MMX regs and something else.
126
127 * i386.c (reg_class): Add SSE_REGS, MMX_REGS.
128 (regclass_map): Add MMX/SSE registers.
129 (print_operand): Add code to print XMMWORD as appropriate.
130 (ix86_split_movdi): Abort for MMX regs.
131 (init_cumulative_args): Also allow SSE_REGS
132 (function_arg_advance, function_arg): Likewise
133 (print_reg): Support 'm'. Add case for TImode.
134 (override_options): TARGET_SSE implies TARGET_MMX.
135 (ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment):
136 New functions.
137
138 * config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to
139 FIRST_SSE_REG.
140 * config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in
141 memory.
142 * config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise.
143 * config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise.
144
5397b155
GK
1452000-06-26 Geoff Keating <geoffk@cygnus.com>
146
147 * ssa.c (struct rename_set_data): Change the name of field
148 'set_dest' to 'old_reg'. Add comments.
149 (struct rename_context): Change the name of 'set_data' to
150 'new_renames'. Add new field 'done_renames'.
151 (create_delayed_rename): New function.
152 (apply_delayed_renames): New function.
153 (rename_insn_1): Use the new functions. Handle CLOBBERS. Handle
154 SUBREGs and similar by emitting a move.
155 (new_registers_for_updates): Delete, functionality moved to
156 apply_delayed_renames.
157 (rename_block): Handle moves emitted by rename_insn_1 by putting
158 them into a SEQUENCE with the original insn. Add sanity checks
159 and comments.
160 (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
161 (rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
162
7d9d8943
AM
1632000-06-26 Andrew Macleod <amacleod@cygnus.com>
164 Jason Merrill <jason@redhat.com>
165
166 * dwarf2.h (enum dwarf_call_frame_info): Add
167 DW_CFA_def_cfa_expression.
168 * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
169 dw_loc_descr_struct entry.
170 (struct cfa_loc): New structure to track a CFA location.
171 (lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
172 (lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
173 offset, plus handle DW_CFA_def_cfa_expression.
174 (def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
175 cfa_loc record.
176 (dwarf2out_def_cfa): Entry point maintained for compatability.
177 (dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
178 (cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
179 (cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
180 (initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
181 cfa_reg.
182 (dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
183 sequences for the new DW_CFA_def_cfa_expression record.
184 (dwarf2out_frame_debug): Use new variables/fields.A
185 (output_cfi): Handle DW_CFA_def_cfa_expression.
186 (output_cfa_loc): New function to generate a CFI record for
187 DW_CFA_def_cfa_expression.
188 (get_cfa_from_loc_descr): New function to get a cfa_loc record from
189 a dw_loc_descr sequeunce.
190 (build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
191 (dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
192 size_of_locs, output_loc_operands, output_loc_sequence): Move into
193 unwind info section.
194 * frame.h (frame_state): Add base_offset and indirect fields.
195 * frame-dwarf2.c (decode_stack_op): New function to interpret a
196 dw_loc_descr operation.
197 (execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
198 (struct frame_state): Add base offset and indirect fields.
199 * libgcc2.c (next_stack_level): Support indirect loading for CFA.
200
903f51d9
RH
2012000-06-26 Joseph S. Myers <jsm28@cam.ac.uk>
202
203 * c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
204 Make warnings about implicit int be pedwarns in C99. Don't warn
205 about duplicate type qualifiers in C99.
206 (start_function): Make warning about implict int return type be a
207 pedwarn in C99.
208 * c-lex.c (yylex): Don't warn about `long long' in C99.
209 * c-typeck.c (c_expand_return): In C99, always pedwarn about
210 `return' with no value in function returning non-void.
211
2122000-06-26 Richard Henderson <rth@cygnus.com>
213
214 * c-typeck.c (pedwarn_c99): New.
215 * diagnostic.c (verror, vwarning, vpedwarn): Export.
216 * toplev.h: Prototype them.
217
de9a3171
DA
2182000-06-26 J. David Anglin <dave@hiauly1.hia.nrc.ca>
219
220 * c-typeck.c (digest_init): Return error_mark_node node when
221 TREE_TYPE (init) == error_mark_node.
222
cab10d56
PT
2232000-06-26 Philipp Thomas <pthomas@suse.de>
224
225 * aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no,
226 test for msgfmt without path instead.
227 * configure: Rebuilt.
228
1a03d967
TP
2292000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
230
903f51d9 231 * gengenrtl.c (special_rtx): Fix typo in comment.
1a03d967 232
ece0fc8d
MH
2332000-06-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
234
235 * mklibgcc.in (LIB2FUNCS): Add missing space.
236
4061f623
BS
2372000-06-24 Bernd Schmidt <bernds@cygnus.co.uk>
238
239 * tree.h (enum tree_index): Add vector type nodes.
240 Add accessor macros for them.
241 (TYPE_REPRESENATION_TYPE): New macro.
242 * tree.c (build_common_tree_nodes_2): Build these nodes.
243 (finish_vector_type): New function.
244 * c-common.c (type_for_mode): Handle vector modes.
245 * tm.texi (VECTOR_MODE_SUPPORTED_P): Document.
246
247 * dbxout.c (dbxout_type): Handle VECTOR_TYPEs.
248 * dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers.
249 * dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs.
250 (gen_type_die): Likewise.
251 * dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers.
252 (fundamental_type_code): Likewise.
253 (type_is_fundamental): VECTOR_TYPEs aren't.
254 (output_type): Handle VECTOR_TYPEs.
255
6d77b53e
KH
2562000-06-25 Kazu Hirata <kazu@hxi.com>
257
258 * config/arm.c: Fix a comment typo.
259 * config/arm.h: Likewise.
260
17297c41
PT
2612000-06-25 Philipp Thomas <pthomas@suse.de>
262
263 * aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog
264 compiler found.
265 AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no.
266 * configure: Rebuilt.
267
865e0471
JDA
2682000-06-25 John David Anglin <dave.anglin@nrc.ca>
269
903f51d9 270 * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
865e0471 271
ee95744f
HB
2722000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
273
274 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating
275 libgcc.a.
276
be78ffb2
JM
2772000-06-24 Marc Espie <espie@cvs.openbsd.org>
278
7d9d8943 279 * collect2.c (resolve_lib_name): Move '/' check out of loop.
be78ffb2
JM
280
2812000-06-24 Dirk Duellmann <Dirk.Duellmann@cern.ch>
282
283 * ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0.
284
ef97beff
JJ
2852000-06-24 Jakub Jelinek <jakub@redhat.com>
286
287 * stmt.c (expand_decl_cleanup): Emit a dummy insn after
288 last_unconditional_cleanup.
289
0b4565c9
BS
2902000-06-24 Bernd Schmidt <bernds@cygnus.co.uk>
291
292 * tree.def (VECTOR_TYPE): New node type.
293 * tree.h: Adjust some comments to reflect addition of vector types.
294 (TYPE_VECTOR_SUBPARTS): New macro.
295 * stor-layout.c (layout_type): Handle VECTOR_TYPE.
296 * c-convert.c (convert): Likewise.
297 * convert.c (convert_to_integer): Handle vector modes.
298 (convert_to_vector): New function.
299 * convert.h (convert_to_vector): Declare.
300 * expr.c (convert_move): Handle vector modes.
301 * expmed.c (extract_bit_field): Don't abort for vector modes.
302
78cf8279
MM
3032000-06-24 Marek Michalkiewicz <marekm@linux.org.pl>
304
305 * config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype.
306 * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr):
307 New functions, common code moved from function_{prologue,epilogue}
308 and extended to support the -mtiny-stack option.
309 (function_prologue, function_epilogue): Use them.
310 Use lo8/hi8 consistently for asm output readability.
311 (avr_hard_regno_mode_ok): New function.
312 * config/avr/avr.h (TARGET_SWITCHES): Fix typo. Add -mtiny-stack.
313 (UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c.
314 (HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function.
315 * config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack.
316 Write SPH before SPL.
317 (*movqi): No need to disable interrupts for just one "out"
318 in alternative 5. Change length attribute from 4 to 1.
319 * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
320 Write SPH before SPL.
321
f9f27ee5
BS
3222000-06-24 Bernd Schmidt <bernds@cygnus.co.uk>
323
324 * rtl.texi (Vector Operations): New node.
325 (Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus.
326 (Conversions): Add ss_truncate, us_truncate.
327 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER,
328 VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE,
329 US_TRUNCATE): New rtx codes.
330 * machmode.def: Add vector modes.
331 * machmode.h (enum mode_class): Add MODE_VECTOR_INT and
332 MODE_VECTOR_FLOAT.
333 (INTEGER_MODE_P): Check for MODE_VECTOR_INT.
334 (FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT.
335 (VECTOR_MODE_P): New.
336
e4e3ab5a
NS
3372000-06-24 Nathan Sidwell <nathan@codesourcery.com>
338
339 * cpp.texi: Clarify #pragma GCC namespace.
340
47f01856
PT
3412000-06-24 Philipp Thomas <pthomas@suse.de>
342
343 * aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build
344 all catalogs specified in ALL_LINGUAS.
345 * configure: Rebuilt.
346
93b7b953
JJ
3472000-06-23 Jakub Jelinek <jakub@redhat.com>
348
349 * config/sparc/sparc.md (reload_outdi+1): Handle
350 HOST_BITS_PER_WIDE_INT == 64 case correctly.
351 (adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise.
352
3e0abe15
GK
3532000-06-23 Geoffrey Keating <geoffk@cygnus.com>
354
355 * alias.c (fixed_scalar_and_varying_struct_p): Don't examine
356 struct vs. scalar-ness when -fno-strict-aliasing.
357
82443371
NS
3582000-06-23 Nathan Sidwell <nathan@codesourcery.com>
359
360 * cpplib.c (struct pragma_entry): New structure.
361 (pragma_dispatch): Pragma dispatcher.
362 (top_pragmas, gcc_pragmas): New static variables.
363 (do_pragma): Use pragma_dispatch.
364 (do_pragma_gcc): New pragma handler.
365 * cpp.texi: Update.
366
7ab923cc
JJ
3672000-06-23 Jakub Jelinek <jakub@redhat.com>
368
369 * calls.c (compute_argument_addresses): Force stack slots into
370 alias set 0.
371 * expr.c (emit_push_insn): Force pushes into alias set 0.
372
054451ea
RH
3732000-06-23 Richard Henderson <rth@cygnus.com>
374
375 * config/ia64/ia64.md (pred_rel_mutex): Only take one register.
376 * config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match.
377
290c3f1d
JM
3782000-06-22 Jason Merrill <jason@redhat.com>
379
380 * toplev.c (compile_file): Always call timevar_print.
381 * Makefile.in (calls.o): Depend on TIMEVAR_H.
382
990e8954
NS
3832000-06-22 Nathan Sidwell <nathan@codesourcery.com>
384
385 * varasm.c (constant_descriptor): Make contents unsigned char.
386 (mark_const_hash_entry): Adjust.
387 (const_hash): Just hash the code of unknown nodes.
388 (compare_constant_1): Adjust for unsigned char.
389 Use language specific expander on unknown nodes.
390 (record_constant_1): Likewise.
391
e605b040
ZW
3922000-06-21 Zack Weinberg <zack@wolery.cumb.org>
393
394 * cppfiles.c (cpp_make_system_header): New function.
395 * cpplib.h: Prototype it.
396 * cpplib.c (do_line, do_pragma_system_header): Use it.
397 * fix-header.c (read_scan_file): Use it.
398
399 * fix-header.c (check_macro_names): Cast second arg of
400 cpp_defined to const unsigned char *.
401 (read_scan_file): Make getchar_call const unsigned char.
402
c31a6508
ZW
4032000-06-21 Zack Weinberg <zack@wolery.cumb.org>
404
405 * cppfiles.c: Include splay-tree.h, not hashtab.h.
406 (redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete.
407 (destroy_include_file_node): New.
408 (_cpp_init_include_hash): Rename _cpp_init_include_table.
409 Create a splay tree, not a hash table.
410 (open_include_file): Look up the path in the include table,
411 do the multiple include optimization here, etc.
412 (cpp_included): Walk the path.
413 (find_include_file): Just walk the path calling
414 open_include_file, or call it directly for an absolute path.
415 (_cpp_fake_ihash): Rename _cpp_fake_include and update for new
416 scheme.
417 (read_include_file): Update for new scheme. Don't close the
418 file unless reading fails.
419 (_cpp_execute_include, cpp_read_file): Tweak for new scheme.
420
421 * cpphash.h (struct ihash, NEVER_REINCLUDE): Delete.
422 (struct include_file): New.
423 (NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New
424 macros.
425 (CPP_PEDANTIC, CPP_WTRADITIONAL): Update.
426 Update prototypes.
427
428 * cppinit.c: Include splay-tree.h.
429 (cpp_reader_init, cpp_cleanup): Update.
430
431 * cpplib.h (struct cpp_buffer): Change ihash field to
432 'struct include_file *inc'. Remove system_header_p.
433 (struct cpp_reader): Change all_include_files to a
434 struct splay_tree_s *.
435
436 * cpplex.c: Update all references to cpp_buffer->ihash and/or
437 cpp_buffer->system_header_p.
438 (cpp_pop_buffer): Close file here, only if DO_NOT_REREAD.
439
5193cc6d
ZW
440 * Makefile.in (SPLAY_TREE_H): New macro.
441 (cppfiles.o, cppinit.o): Update dependencies.
442
d8c70cd0
MB
443Wed Jun 21 11:05:48 2000 Martin Buchholz <martin@xemacs.org>
444
445 * invoke.texi (g++): "g++" is not a script anymore.
446
d9893a68
DA
4472000-06-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
448
539a6f05
DA
449 * function.c (round_down): Delete obsolete prototype.
450
d9893a68
DA
451 * pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__.
452
e5ec2402
ZW
4532000-06-20 Zack Weinberg <zack@wolery.cumb.org>
454
063a4b85
ZW
455 * configure.in: Use 'test a = b' not 'test a == b'.
456 * configure: Regen.
457
6650a443
ZW
458 * Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS).
459
e5ec2402
ZW
460 * Makefile.in: Remove all references to HOST_INTLLIBS.
461
462 * cpplex.c (parse_name): Don't warn about $ in identifiers if
463 skipping.
464
21b90691
PT
4652000-06-20 Philipp Thomas <pthomas@suse.de>
466
467 * config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later
468 for PA 2.0.
469
8ba7b396
R
470Mon Jun 19 23:26:40 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
471
472 * Take REG_INC notes into account.
473
7e585d16
ZW
4742000-06-19 Zack Weinberg <zack@wolery.cumb.org>
475
476 * c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
477 (primary: IDENTIFIER): Just call build_external_ref.
478 * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
479 Regenerate.
480 * c-lex.c (lastiddecl): Remove.
481 (yylex): Replace all instances of lastiddecl with local
482 variables.
483
484 * c-typeck.c (build_external_ref): New function. Treat decls
485 with C_DECL_ANTICIPATED mostly the same as nonexistent decls.
486 Look up the decl from the id here. Call lookup_objc_ivar.
487 * c-lang.c (lookup_objc_ivar): Stub.
488 * objc/objc-act.c (lookup_objc_ivar): New function.
489
490 * c-tree.h: Prototype lookup_objc_ivar and build_external_ref.
491 * c-lex.h: Don't declare lastiddecl.
492
35b1567d
BC
4932000-06-19 Benjamin Chelf <chelf@codesourcery.com>
494
495 * c-common.h (IF_COND): Added documentation.
496 (THEN_CLAUSE): Likewise.
497 (ELSE_CLAUSE): Likewise.
498 (WHILE_COND): Likewise.
499 (WHILE_BODY): Likewise.
500 (DO_COND): Likewise.
501 (DO_BODY): Likewise.
502 (RETURN_EXPR): Likewise.
503 (EXPR_STMT_EXPR): Likewise.
504 (FOR_INIT_STMT): Likewise.
505 (FOR_COND): Likewise.
506 (FOR_EXPR): Likewise.
507 (FOR_BODY): Likewise.
508 (SWITCH_COND): Likewise.
509 (SWITCH_BODY): Likewise.
510 (CASE_LOW): Likewise.
511 (CASE_HIGH): Likewise.
512 (GOTO_DESTINATION): Likewise.
513 (COMPOUND_BODY): Likewise.
514 (ASM_CV_QUAL): Likewise.
515 (ASM_STRING): Likewise.
516 (ASM_OUTPUTS): Likewise.
517 (ASM_INPUTS): Likewise.
518 (ASM_CLOBBERS): Likewise.
519 (DECL_STMT_DECL): Likewise.
520 (STMT_EXPR_STMT): Likewise.
521 (LABEL_STMT_LABEL): Likewise.
522
7e585d16
ZW
523 * c-common.def: Added documenetion for SRCLOC, EXPR_STMT,
524 COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT,
525 RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT,
35b1567d
BC
526 LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR.
527
59f406b7
KG
5282000-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
529
530 * configure.in (--enable-checking): Update --help doc to reflect
531 new defaults. Ensure $ac_save_IFS is set before $IFS is changed.
532
c357082f
RK
533Sun Jun 18 21:42:15 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
534
0a377997
RK
535 * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
536
c357082f
RK
537 * function.c (put_var_into_stack): Don't reference DECL_ fields
538 if input is a SAVE_EXPR.
539 Use set_mem_attributes in COMPLEX case.
540
3b572406
RH
5412000-06-18 Richard Henderson <rth@cygnus.com>
542
543 * config/ia64/ia64-protos.h (process_for_unwind_directive): Declare.
544 (ia64_file_start): Declare.
545 * config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0.
546 (GR_REGNO_P): Likewise.
547 * config/ia64/ia64.c: Many prototypes.
548 (ia64_reg_numbers): Constify.
549 (ia64_input_reg_names, ia64_local_reg_names): Likewise.
550 (ia64_section_threshold): Make unsigned.
551 (ia64_print_operand): Constify.
552 (fix_range): Constify.
553 (ia64_init_builtins): Don't compare signed vs unsigned.
554 (ia64_expand_builtin): Likewise.
555
556 * config/ia64/ia64.h (EXTRA_CONSTRAINT): New.
557 (CONSTRAINT_OK_FOR_Q): New.
558 * config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem.
559 (movsf_internal, movdf_internal): Likewise.
560 (cmovdi_internal): Rewrite so that constraints and predicates match;
561 simplify splitters.
562 (cmovsi_internal): Likewise.
563
564 * config/ia64/ia64.h (ASM_SPEC): Add -x for gas.
565 (ASM_FILE_START): New.
566 * config/ia64/ia64.c (ia64_file_start): New.
567 (rtx_needs_barrier): Handle pred.rel.mutex.
568 (emit_predicate_relation_info): New.
569 * config/ia64/ia64.md (pred_rel_mutex): New.
570 * config/ia64/linux.h (ASM_SPEC): Define.
571 * config/ia64/sysv4.h (ASM_FILE_START): Define.
572
573 * config/ia64/ia64.c (ia64_encode_section_info): Fix thinko
574 filtering global register variables.
575
5538e30f
KG
5762000-06-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
577
578 * c-common.c (add_c_tree_codes): Fix definition for traditional C.
579
289b3cc5
MM
5802000-06-17 Michael Meissner <meissner@redhat.com>
581
582 * gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is
583 not present and there is a field after a '-'.
584
33002945
BK
5852000-06-17 Bruce Korb <bkorb@gnu.org>
586
587 * fixinc/check.tpl: finish the implementation of multiple tests
588 for a single fix
589 * fixinc/inclhack.def(ctrl_quotes_def): add a second test
590 (io_quotes_def): add a second test
c1fd153e 591 (various): reorder `files' so that "limits.h" is never first
33002945
BK
592 * fixinc/tests/base/*: update the testing output
593
c19bd6c0
RK
594Sat Jun 17 10:33:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
595
596 * gcc.texi: Remove reference to stupid.c.
597
c7d87c0a
BC
5982000-06-16 Benjamin Chelf <chelf@codesourcery.com>
599
600 * c-common.c (c_tree_code_type): New array.
601 (c_tree_code_length): Likewise.
602 (c_tree_code_name): Likewise.
603 (add_c_tree_codes): New function.
604
605 * c-common.h (add_c_tree_codes): Declare.
606 (enum c_tree_code): New enum.
607
608 * c-lex.c (init_parse): Added call to add_c_tree_codes.
7e585d16 609
cf6d5133
KG
6102000-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
611
612 * fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify
613 select pattern to also match macro defs with only one argument.
614
8bad7136
JL
615Thu Jun 15 18:56:12 2000 Jeffrey A Law (law@cygnus.com)
616
617 * i386.md: Create new [right,left] rotate and right shift
618 patterns to optimize shift by 1 bit for certain ia32 processors.
619 Update patterns which perform left shifts to optimize shift by
620 1 bit for certain ia32 processors.
621 * i386.c (const_int_1_operand): New predicate.
622 * i386.h (PREDICATE_CODES): Handle const_int_1_operand.
623 * i386-protos.h (const_int_1_operand): Prototype.
624
ddc22296
R
625Wed Jun 14 23:46:26 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
626
627 * mips.c (machine_dependent_reorg): Fix braces for nested if.
628
e4a0656f
GK
6292000-06-14 Geoff Keating <geoffk@cygnus.com>
630
631 * rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare
632 LABEL_REFs.
633
f6a0cc96
RH
6342000-06-14 Richard Henderson <rth@cygnus.com>
635
d98a8d38
RH
636 * conflict.c (conflict_graph_compute): Don't look for REG_INC.
637
638 * config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit
639 auto-inc code.
640
f6a0cc96
RH
641 * print-rtl.c (print_rtx): Emit space before mem alias set.
642
2eba1afa
DE
6432000-06-14 David Edelsohn <edelsohn@gnu.org>
644
645 * rs6000.c (expand_block_move): Fix typo in earlier change.
646 (print_operand): Remove unused variables neg and op.
647 (toc_hash_mark_entry): Fix prototype.
648
c7d87c0a 6492000-06-14 Benjamin Chelf <chelf@codesourcery.com>
d7e7759d
BC
650
651 * c-common.h (IF_COND): Moved here from cp/cp-tree.h.
652 (THEN_CLAUSE): Likewise.
653 (ELSE_CLAUSE): Likewise.
654 (WHILE_COND): Likewise.
655 (WHILE_BODY): Likewise.
656 (DO_COND): Likewise.
657 (DO_BODY): Likewise.
658 (RETURN_EXPR): Likewise.
659 (EXPR_STMT_EXPR): Likewise.
660 (FOR_INIT_STMT): Likewise.
661 (FOR_COND): Likewise.
662 (FOR_EXPR): Likewise.
663 (FOR_BODY): Likewise.
664 (SWITCH_COND): Likewise.
665 (SWITCH_BODY): Likewise.
666 (CASE_LOW): Likewise.
667 (CASE_HIGH): Likewise.
668 (GOTO_DESTINATION): Likewise.
669 (COMPOUND_BODY): Likewise.
670 (ASM_CV_QUAL): Likewise.
671 (ASM_STRING): Likewise.
672 (ASM_OUTPUTS): Likewise.
673 (ASM_INPUTS): Likewise.
674 (ASM_CLOBBERS): Likewise.
675 (DECL_STMT_DECL): Likewise.
676 (STMT_EXPR_STMT): Likewise.
677 (LABEL_STMT_LABEL): Likewise.
678 (SCOPE_BEGIN_P): Likewise.
679 (SCOPE_END_P): Likewise.
680 (SCOPE_STMT_BLOCK): Likewise.
681 (SCOPE_NULLIFIED_P): Likewise.
682 (SCOPE_NO_CLEANUPS_P): Likewise.
683 (SCOPE_PARTIAL_P): Likewise.
684 (ASM_VOLATILE_P): Likewise.
685 (STMT_LINENO): Likewise.
686 (STMT_LINENO_FOR_FN_P): Likewise.
687
1d54a1dc 688 * c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR,
d7e7759d
BC
689 ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT,
690 FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT,
691 CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT,
692 SCOPE_STMT, CASE_LABEL, STMT_EXPR.
693
694 * gencheck.c (tree_codes[]): Added '#include "c-common.def"'.
7e585d16 695
33261b0a
DB
6962000-06-14 David O'Brien <obrien@FreeBSD.org>
697
e9cefc3e
DB
698 * gcc.c (main): Quiet compiler warnings. argv is assumed to be
699 writable in parts of the GCC code.
700
33261b0a
DB
701 * config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf
702 specification match cast.
703
c70c1917
JL
704Wed Jun 14 09:25:57 2000 Jeffrey A Law (law@cygnus.com)
705
706 * configure.in: Revert AC_TYPE_GETGROUPS patch from June 13.
707 * configure, config.in: Rebuilt.
af889c6c 708 * sys-protos.h: Similarly.
c70c1917 709
65b98a02
JW
710Wed Jun 14 03:39:58 EDT 2000 John Wehle (john@feith.com)
711
712 * ifcvt.c (EDGE_COMPLEX): Move definition ...
713 * basic-block.h (EDGE_COMPLEX): ... here.
714
715 * loop.c (check_dbra_loop): Specify the register when
716 generating REG_NONNEG notes and don't generate duplicates.
717
11cf4d18
JJ
7182000-06-13 Jakub Jelinek <jakub@redhat.com>
719
720 * tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
721 (struct tree_type, struct tree_decl): Add user_align member.
722 * stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
723 (place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
724 and DECL_USER_ALIGN 0, cap alignment to this value.
725 (place_field): Likewise.
726 (finalize_type_size): Set TYPE_USER_ALIGN.
727 (layout_type): Likewise.
728 (initialize_sizetypes): Likewise.
729 * c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
730 DECL_USER_ALIGN to 1.
731 * c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
732 (xfer_tag): Set TYPE_USER_ALIGN.
733 (finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
734 (finish_enum): Likewise.
735 * stmt.c (expand_decl): Set DECL_USER_ALIGN.
736 (expand_anon_union_decl): Likewise.
737 * tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
738 (build_index_type): Set TYPE_USER_ALIGN.
739 (build_range_type): Likewise.
740 (build_common_tree_nodes_2): Likewise.
741 * tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
742
51d0e20c
AJ
7432000-06-13 Andreas Jaeger <aj@suse.de>
744
745 * configure.in: Use --enable-checking=misc,tree,gc by default if
746 no --enable-checking option is given and for
747 --enable-checking=yes.
748 * configure: Rebuilt.
749
46327bc5
RH
7502000-06-13 Richard Henderson <rth@cygnus.com>
751
752 * libgcc2.c (ia64_throw_helper): Use __builtin_return_address.
753 (__throw): Don't pass the address of a label.
754
755 * config/ia64/ia64.c (ia64_compute_frame_size): Use
756 current_function_is_leaf.
757 (ia64_expand_prologue): Likewise. Modify return_address_pointer_rtx
758 instead of reg_names[RETURN_ADDRESS_REGNUM].
759 (ia64_init_machine_status): Reset return_address_pointer_rtx.
760 * config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename
761 from RETURN_ADDRESS_REGNUM. Update all uses.
762 (RETURN_ADDR_RTX): Use return_address_pointer_rtx; return
763 zero instead of null on failure.
764 (ELIMINABLE_REGS): Add ra->b0 elimination.
765 (CAN_ELIMINATE): Update accordingly.
766 (INITIAL_ELIMINATION_OFFSET): Likewise.
767 (REGISTER_NAMES): Use an illegal assembler name for
768 RETURN_ADDRESS_POINTER_REGNUM.
769
13da91fd
RH
7702000-06-13 Richard Henderson <rth@cygnus.com>
771
772 * config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS,
773 GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS.
774 (REG_CLASS_NAMES): Likewise.
775 (REG_CLASS_CONTENTS): Likewise.
776 (FR_FP_REGNO_P, FR_INT_REGNO_P): Remove.
777 (HARD_REGNO_MODE_OK): Remove references to them.
778 (REGNO_REG_CLASS): Likewise.
779 (REG_CLASS_FROM_LETTER): Likewise.
780 (CLASS_MAX_NREGS): Likewise.
781 (REGISTER_MOVE_COST): Likewise.
782 * config/ia64/ia64.c (ia64_secondary_reload_class): Likewise.
783 * config/ia64/ia64.md (*): Replace "e" constraints with "f".
784 (movqi_internal): Special case moves from zero.
785 (movhi_internal, movsi_internal): Likewise.
786 (movdi_internal): Likewise. Fill out "f" constraints.
787 (movsf_internal): Fill out "r" constraints.
788 (movdf_internal): Likewise.
789
ef384380
RH
7902000-06-13 Richard Henderson <rth@cygnus.com>
791
792 * flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM
793 alive before reload.
794
795 * haifa-sched.c (struct deps): Add in_post_call_group_p.
796 (add_dependence): Handle notes between SCHED_GROUP_P insns.
797 (remove_dependence): Always define.
798 (set_sched_group_p): New.
799 (sched_analyze_2): Use it.
800 (sched_analyze_insn): Don't special-case naked uses. Look for
801 and extend in_post_call_group_p.
802 (sched_analyze): Clear stale SCHED_GROUP_P. Set in_post_call_group_p.
803 (init_deps): Clear in_post_call_group_p.
804
02188693
RH
8052000-06-13 Richard Henderson <rth@cygnus.com>
806
807 * combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and
808 CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE
809 and hard-coded tests.
810 (simplify_set): Likewise.
811 (gen_lowpart_for_combine): Likewise.
812 * emit-rtl.c (gen_lowpart_common): Likewise.
813 * global.c (find_reg): Likewise.
814 * local-alloc.c (find_free_reg): Likewise.
815 * recog.c (register_operand): Likewise.
816 * regclass.c (init_reg_sets_1): Likewise.
817 (record_operand_costs, regclass): Likewise.
818 * reload.c (push_reload): Likewise.
819 * reload1.c (choose_reload_regs): Likewise.
820 * flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE.
821 * local-alloc.c (struct qty): Rename changes_size to changes_mode.
822 Update all references.
823 * regs.h (struct reg_info_def): Likewise.
824 (REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE.
825 * tm.texi (CLASS_CANNOT_CHANGE_MODE): Document.
826 (CLASS_CANNOT_CHANGE_MODE_P): Likewise.
827
828 * config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename.
829 (CLASS_CANNOT_CHANGE_MODE_P): New.
830 * config/mips/mips.h: Likewise.
831 * config/pa/pa32-regs.h: Likewise.
832 * config/pa/pa64-regs.h: Likewise.
833 * config/rs6000/rs6000.h: Likewise.
834 * config/sh/sh.h: Likewise.
835 * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New.
836 (CLASS_CANNOT_CHANGE_MODE_P): New.
837 * config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code.
838 * config/d30v/d30v.h: Likewise.
839
092417da
DA
8402000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
841
842 * configure.in: Add AC_TYPE_GETGROUPS test.
843 * sys-protos.h: Use GETGROUPS_T * for second arg of getgroups.
844 * configure: Rebuilt.
51d0e20c 845 * config.in: Rebuilt.
092417da 846
be8d9ace
RH
8472000-06-13 Richard Henderson <rth@cygnus.com>
848
849 * explow.c (set_mem_attributes): Do nothing for NULL type.
850
f8bc3f3a
JL
851Tue Jun 13 14:45:10 2000 Jeffrey A Law (law@cygnus.com)
852
853 * config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler
854 correctly.
855
46b1ac3f
JW
8562000-06-13 James E. Wilson <wilson@cygnus.com>
857
858 * config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf.
859
592f1241
JL
860Tue Jun 13 14:05:35 2000 Jeffrey A Law (law@cygnus.com)
861
862 * Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference.
863
37aeda9a
PT
8642000-06-13 Philipp Thomas <pthomas@suse.de>
865
866 * configure.in(ALL_LINGUAS): Changed en_UK to en_GB.
867 * configure: Rebuilt.
868
bad4c106
DB
8692000-06-07 David O'Brien <obrien@FreeBSD.org>
870
871 * configure.in: Adjust FreeBSD bits to match changes to config.guess.
872 We now default to ELF for the i386, and a.out is the special case.
873 * configure: Rebuilt.
874
efd0378b
HPN
875Tue Jun 13 10:05:30 2000 Hans-Peter Nilsson <hp@axis.com>
876
877 * final.c (final_scan_insn): Delete notes between cc0 setter and
878 user when restarting from setter.
879
97ce876c
DA
8802000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca>
881
882 * vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and
883 cast to squelch signed/unsigned warnings.
884
54925c20
ZW
8852000-06-13 Zack Weinberg <zack@wolery.cumb.org>
886
887 * cpplib.c (handle_directive): Print non-NUL-terminated string
888 with %.*s.
889
89d237bf
MM
8902000-06-12 Michael Meissner <meissner@redhat.com>
891
892 * ifcvt.c (dead_or_predicable): Don't do conditional execution
893 path if the machine needs extra support to do conditional
894 execution.
895
c5588504
JL
896Mon Jun 12 17:04:17 2000 Jeffrey A Law (law@cygnus.com)
897
898 * print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC
899 to print the alias set.
900 * print-tree.c (print_node, DECL_* nodes and case 't'): Similarly.
901
c6bb035c
DA
9022000-06-12 J. David Anglin <dave@hiauly1.hia.nrc.ca>
903
7e585d16 904 * config/float-vax.h: Add GFLOAT defines.
c6bb035c 905
5d712c39
MK
906Mon Jun 12 9:44:00 2000 Mark Klein <mklein@dis.com>
907
908 * configure.in: Update tm dependencies for MPE.
909 * configure: Rebuilt.
910
b9b9d063
L
9112000-06-12 H.J. Lu <hjl@gnu.org>
912
913 * gengenrtl.c (obstack_alloc_rtx): Correct the allocated size.
914
f6bf7de2
DE
9152000-06-12 David Edelsohn <edelsohn@gnu.org>
916
917 * aix41.h (SUBTARGET_SWITCHES): Delete threads.
918 (CPP_SPEC): Change mthreads to pthread.
919 (LIB_SPEC): Likewise.
920 (STARTFILE_SPEC): Likewise.
e4a0656f 921 * aix43.h (SUBTARGET_SWITCHES): Delete threads.
f6bf7de2
DE
922 (CPP_SPEC): Change mthreads to pthread.
923 (LIB_SPEC): Likewise.
924 (STARTFILE_SPEC): Likewise.
925 * rs6000-protos.h (reg_or_arith_cint_operand): New.
926 * rs6000.c (reg_or_arith_cint_operand): New.
927 (num_insns_constant_wide): Decorate unsigned constant.
928 * rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand.
929 * rs6000.md (addsi3): Use new predicate.
930 (subsi3, adddi3, subdi3): Likewise.
931
f6f8291a
MM
9322000-06-12 Mark Mitchell <mark@codesourcery.com>
933
934 * c-common.c (lang_get_alias_set): Fix typo.
935
61f286b6
RE
9362000-06-12 Richard Earnshaw <rearnsha@arm.com>
937
938 * flow.c (mark_used_regs): Revert last change.
939 (life_analysis): Remove PROP_AUTOINC if running after reload.
940 (propagate_one_insn): PROP_AUTOINC is always off after reload.
941
68b0ba71
RE
9422000-06-11 Richard Earnshaw <rearnsha@arm.com>
943
944 * flow.c (mark_used_regs): Don't call find_auto_inc after reload
945 has run.
946
5ac9118e
KG
9472000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
948
949 * bb-reorder.c (build_scope_forest): Initialize variable
950 `curr_scope'.
951
952 * calls.c (expand_call): Likewise for variables
953 `save_pending_stack_adjust' and `save_stack_pointer_delta'.
954
955 * i386.c (function_arg_advance, function_arg): Cast to avoid
956 signed/unsigned warnings.
957
958 * i386.h (MEMORY_MOVE_COST): Likewise.
959
960 * ifcvt.c (cond_exec_process_if_block): Initialize variables
961 `else_start' and `else_end'.
962
963 * libgcc2.h (__eh_alloc, __eh_free): Prototype.
964
965 * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.
966
c4c37359
MM
9672000-06-10 Mark Mitchell <mark@codesourcery.com>
968
969 * Makefile.in (libintl.a): Depend on intl.all.
970
77665459
L
9712000-06-09 H.J. Lu (hjl@gnu.org)
972
973 * Makefile.in (c-parse.o): Also depend on output.h.
974
cbd3488b
JL
9752000-06-09 Rodney Brown <RodneyBrown@mynd.com>
976
7e585d16
ZW
977 * mcore-protos.h: discards const warning removal.
978 * mcore.c: discards const warning removal.
cbd3488b
JL
979
9802000-06-09 Kazu Hirata <kazu@hxi.com>
981
982 * config/h8300/lib1funcs.asm: Declare the machine architecture at
983 the beginning of the file.
984
9852000-06-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
986
987 * real.h: Add prototype for ldexp.
988
f8a83ee3
ZW
9892000-06-09 Zack Weinberg <zack@wolery.cumb.org>
990
991 * ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename
992 it ggc_alloc, drop second argument, never clear returned memory.
993 * ggc-common.c (ggc_alloc_string): Use ggc_alloc.
994 (ggc_alloc_cleared): New.
995 * ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not
996 ggc_alloc_obj. Remove ggc_alloc macro.
997 (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc.
998
999 * rtl.c (rtvec_alloc): Clear the vector always.
1000 (rtx_alloc): Clear the first word always. Remove dirty
1001 obstack tricks (this routine is no longer a bottleneck).
1002 * tree.c (make_node): Clear the new node always.
1003 (make_tree_vec): Likewise.
7e585d16 1004 (tree_cons): Clear the common structure always.
f8a83ee3
ZW
1005 (build1): Likewise; also, clear TREE_COMPLEXITY.
1006 * gengenrtl.c: Use puts wherever possible. Remove extra
1007 newlines.
1008 (gendef): Clear the first word of an RTX in the generator
1009 function, irrespective of ggc_p. Initialize '0' slots to
1010 NULL.
1011 (genlegend): Don't generate obstack_alloc_rtx routine, just a
1012 thin wrapper macro around obstack_alloc.
1013
1014 * stmt.c (expand_fixup): Use ggc_alloc.
1015 * c-typeck.c (add_pending_init): Use ggc_alloc.
1016 * emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem).
1017 * varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to
1018 const0_rtx when it is created.
1019 (immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if
1020 we are not in a function.
1021
1022 * tree.c (tree_class_check_failed): Make second arg an int.
1023 * tree.h: Update prototype.
1024
e7cd085f
GK
10252000-06-09 Geoff Keating <geoffk@cygnus.com>
1026
1027 * tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT
f8a83ee3 1028 of an error_mark_node.
e7cd085f 1029
bb779a52
DC
1030Fri Jun 9 20:35:13 2000 Denis Chertykov <denisc@overta.ru>
1031
1032 * config/avr/avr.c (asm_output_section_name): bugfix.
1033
ea11ca7e
JM
10342000-06-09 Jason Merrill <jason@casey.soma.redhat.com>
1035
1036 * timevar.def: Add TV_EXPAND.
1037 * timevar.c (timevar_print): Update timing information.
1038 * calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining.
1039
1040 * stmt.c (expand_return): Check for error_mark_node.
1041
e0fcc0e1
KG
10422000-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1043
6efa1582
KG
1044 * configure.in: Also avoid wrapping auto-build.h with IN_GCC.
1045
2c8c1c46
KG
1046 * scan-types.sh (VALUE) Wrap use with double quotes to protect
1047 variable against filename expansion when it contains "char *".
1048
e0fcc0e1
KG
1049 * system.h (SSIZE_MAX): Delete backup definition.
1050
1051 * cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t)
1052 instead of SSIZE_MAX.
1053
e95b1e6a
JJ
10542000-06-09 Jakub Jelinek <jakub@redhat.com>
1055
1056 * configure.in: Check whether gas supports -relax.
1057 * configure, config.in: Rebuilt.
1058 * config/sparc/sparc.h (ASM_RELAX_SPEC): Define.
1059 (EXTRA_SPECS): Add asm_relax.
1060 (ASM_SPEC): Add %(asm_relax).
1061 (TARGET_SWITCHES): Add -mrelax and -mno-relax.
1062 * config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC.
1063 (LINK_SPEC): Pass -relax to linker unless -mno-relax or -r.
1064 (ASM_SPEC): Add %(asm_relax).
1065 * config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise.
1066 * config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION,
1067 never use sethi/jmpl for leaf tail calls. Use or with rs2 %g0
1068 instead of mov, so that gas can further optimize it.
1069
25dd13ec
JW
10702000-06-08 James E. Wilson <wilson@bletchleypark.cygnus.com>
1071
1072 * dwarf2out.c (size_of_die, case dw_val_class_const): Use
1073 size_of_sleb128.
1074 (value_format, case dw_val_class_const): Use sdata format.
1075 (output_die): Call output_sleb128.
1076
0186257f
JW
10772000-06-08 James E. Wilson <wilson@cygnus.com>
1078
21217bd0
JW
1079 * dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses
1080 UNALIGNED_DOUBLE_INT_ASM_OP. Rename old macro to
1081 ASM_OUTPUT_DWARF_CONST_DOUBLE.
1082 (output_die, case dw_val_class_unsigned_const): Correct call to
1083 ASM_OUTPUT_DWARF_DATA8.
1084 (output_die, case dw_val_class_long_long): Use
1085 ASM_OUTPUT_DWARF_CONST_DOUBLE.
1086 * tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when
1087 pos is zero.
7e585d16 1088
0186257f
JW
1089 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Add.
1090 (output_function_prologue): Fix mispelling.
1091 (output_function_prologue, output_function_epilogue): Reorder to
1092 match ia64.c definition order.
1093 * config/ia64/ia64.c (ia64_expand_prologue): Add comment.
1094 (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns.
1095 Use r3 instead of r2 for large stack restores.
1096 (ia64_output_end_prologue): New function.
1097 (process_set): Emit ".restore sp" for epilogue stack restores.
1098 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define.
7e585d16 1099
06ebf127
JJ
11002000-06-08 Jakub Jelinek <jakub@redhat.com>
1101
1102 * dbxout.c (dbxout_type_fields): Don't segfault on fields with
1103 incomplete types.
1104
89d7f003
NS
11052000-06-08 Nathan Sidwell <nathan@codesourcery.com>
1106
1107 * frame.c (end_fde_sort): Remove extraneous erratic array test.
1108
11092000-06-08 Denis Perchine <dyp@perchine.com>
1110
1111 * frame.c (start_fde_sort): Don't malloc (0).
1112
5667abce
ZW
11132000-06-07 Zack Weinberg <zack@wolery.cumb.org>
1114
1115 * c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on
7e585d16 1116 error_mark_node.
5667abce
ZW
1117 * print-tree.c (print_node): The transparent_union_flag means
1118 different things for unions and arrays. Do not inspect it
1119 with TYPE_TRANSPARENT_UNION.
1120
5af7e2c2
JJ
11212000-06-06 Jakub Jelinek <jakub@redhat.com>
1122
1123 * cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef
1124 returned NULL.
1125
3f8a8c68
DC
1126Wed Jun 7 20:34:33 2000 Denis Chertykov <denisc@overta.ru>
1127
1128 * config/avr/avr.c (asm_output_section_name): output section
1129 attributes.
1130 * config/avr/libgcc.S (.text.libgcc): declare section attributes.
1131
c0240be4
JW
11322000-06-06 James E. Wilson <wilson@cygnus.com>
1133
1134 * frame.h (struct unwind_info_ptr): Collapse version, flags, and length
1135 fields into header field.
1136 (IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New
1137 macros to access length, flags, and version info from header field.
1138 * config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here.
1139 * config/ia64/crtend.asm (__do_frame_setup_aux): Add here.
1140 (__do_global_ctors_aux): Fix caller.
1141 * config/ia64/frame-ia64.c (get_unwind_record): Change parameter
1142 prologue_flag to header. Pass to read_P_record.
1143 (read_P_record): New argument header. Implement P4 format.
1144 Multiply P7_T_SIZE by 16.
1145 (execute_one_ia64_descriptor): New static local region_header. Pass to
1146 get_unwind_record. Copy r to region_header if r is a header record.
1147 (print_all_records): Likewise.
1148 (__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH.
1149 (__get_personality, __get_except_table): Likewise.
1150 * config/ia64/ia64.c (process_set): Do not divide offsets by 4.
1151
24c40136
PT
11522000-06-06 Philipp Thomas <pthomas@suse.de>
1153
7e585d16 1154 * configure.in (AC_C_INLINE): Added.
24c40136
PT
1155 * aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default.
1156 * configure: Regenerate.
1157
5b2abab8
MM
11582000-06-06 Mark Mitchell <mark@codesourcery.com>
1159
1160 * c-common.h (c_language_kind): New type.
1161 (c_language): New variab.e
1162 * c-common.c (lang_get_alias_set): Don't put structures in
1163 non-zero alias sets in C++.
1164 * c-decl.c (c_language): Define it.
1165 * c-lex.c (doing_objc_thang): Remove.
1166 * c-tree.h (doing_objc_thang): Make it a macro.
1167 * objc/objc-act.c (lang_decode_option): Set c_language, not
7e585d16
ZW
1168 doing_objc_thang.
1169
764dbbf2
GDR
11702000-06-06 Gabriel Dos Reis <gdr@codesourcery.com>
1171
1172 * diagnostic.c (output_maximum_width): Remove.
1173 (doing_line_wrapping): Tweak.
1174 (diagnostic_buffer): New object.
1175 (global_output_buffer): New object.
1176 (output_destroy_prefix): New function.
1177 (default_initialize_buffer): Likewise.
1178 (reshape_diagnostic_buffer): Likewise.
1179 (initialize_diagnostics): Likewise.
1180 (output_clear): Tweak.
1181 (line_wrapper_printf): Adjust call to init_output_buffer.
1182 (vline_wrapper_message_with_location): Likewise. Use
7e585d16 1183 output_destroy_prefix.
764dbbf2
GDR
1184 (v_message_with_decl): Likewise.
1185
1186 * diagnostic.h (struct output_buffer): Constify prefix.
1187 (init_output_buffer, output_get_prefix): Constify.
1188 (diagnostic_message_length_per_line): Likewise.
1189 (reshape_diagnostic_buffer): Declare.
1190 (default_initialize_buffer): Declare.
1191 (initialize_diagnostics): Declare.
1192 (diagnostic_buffer): Declare new obbject.
1193
1194 * toplev.c: #include diagnostic.h
1195 (display_help): Document diagnostic formatting options.
1196 (decode_f_option): Handle diagnostic formatting options.
1197 (main): Setup initialization for diagnostic messages outputter.
1198
1199 * toplev.h (set_message_length): Remove.
1200
1201 * Makefile.in (toplev.o): Depends upon diagnostic.h
1202
1203 * invoke.texi : Document diagnostics formatting options.
1204
faf0173b
PDM
1205Tue Jun 6 19:25:32 2000 Philippe De Muyter <phdm@macqel.be>
1206
1207 * configure.in (Make the links): Typo fix : the file that must be
1208 included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'.
1209 * configure: File rebuilt.
1210
103c63ae
NS
12112000-06-06 Nathan Sidwell <nathan@codesourcery.com>
1212
1213 * eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines.
1214 (eh_context): Add alloc_mask and alloc_buffer emergency fallback
1215 space.
1216 * libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on
1217 emergency eh_context buffer, if malloc fails.
1218 (__eh_free): Moved from cp/exception.cc. Release to emergency
1219 eh_context buffer, if appropriate.
1220
051ffad5
JM
12212000-06-06 Jason Merrill <jason@casey.soma.redhat.com>
1222
1223 * expr.c (store_expr): Fix typo.
1224
a60369f0
KG
12252000-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1226
1227 * m68k.c (legitimize_pic_address): Move prototype ...
7e585d16 1228
a60369f0
KG
1229 * m68k-protos.h (legitimize_pic_address): ... here.
1230
1231 * m68k.md (legitimize_pic_address): Delete prototypes.
1232 (untyped_call): Invoke GEN_CALL(), not gen_call().
1233
1234 * nextstep.c: Include system.h and toplev.h.
1235 (get_directive_line): Don't prototype.
1236 (handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify.
1237
1238 * nextstep.h (handle_pragma): Prototype.
1239 (SECTION_FUNCTION): Prototype FUNCTION(). Move prototype of
1240 objc_section_init ...
1241 (EXTRA_SECTION_FUNCTIONS): ... here.
1242
df07dc5b
RK
1243Tue Jun 6 08:17:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1244
1245 * sdbout.c (struct sdb_file): NAME now const.
1246 (sdbout_init): input_file_name now const.
1247 (sdbout_start_new_source_file): FILENAME now const.
1248 * sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above.
1249
f519a452
GDR
12502000-06-06 Gabriel Dos Reis <gdr@codesourcery.com>
1251
1252 * c-typeck.c (build_conditional_expr): Handle complex data types.
1253
258a120b
JM
12542000-06-05 Jason Merrill <jason@casey.soma.redhat.com>
1255
1256 * explow.c (maybe_set_unchanging): New function, broken out from...
1257 (set_mem_attributes): Here.
1258 * expr.h: Declare it.
1259 * stmt.c (expand_decl): Call it.
1260
c9d8a813
RH
12612000-06-05 Richard Henderson <rth@cygnus.com>
1262
1263 * reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE
1264 while looking for a register to inherit from.
1265
a7833bec
JM
12662000-06-05 Jason Merrill <jason@casey.soma.redhat.com>
1267
2aceb30d
JM
1268 * Makefile.in (libgcc.ready): Lose.
1269 (libgcc.mk): Just use mv, not move-if-change.
1270 (LIBGCC_DEPS): New macro.
1271 (libgcc.a): Use it.
1272 (stmp-multilib): Likewise.
1273 * mklibgcc.in (stmp-dirs): New target. Make everything depend on
1274 it rather than the directories themselves.
1275 (LIB2ADD): Depend on the list file rather than 'force'.
1276
a7833bec
JM
1277 * fold-const.c (fold, case COND_EXPR): Elide conversion between
1278 cv-qualified versions of types.
1279
77b91512
RK
1280Mon Jun 5 14:06:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1281
1282 * config/sparc/sparc.c (short_branch): Correct error in range
1283 computation.
1284
a7fc602f
DA
12852000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1286
1287 * fixinc/inclhack.def: New include hacks for ultrix.
1288 * (nested_ultrix): Replaced by ultrix_nested_svc.
1289 * (ultrix_atof_param): test_text string added.
1290 * (ultrix_ifdef): Modified select string.
1291
88a19424
ZW
12922000-06-05 Zack Weinberg <zack@wolery.cumb.org>
1293
1294 * objc/objc-act.c (generate_method_descriptors): Register
1295 objc_method_prototype_template as a GC root.
1296 (comp_method_with_proto): Register function_type as a GC root.
1297 (comp_proto_with_proto): Replace function_type1 and
1298 function_type2 with a two-element array; register it as a GC root.
1299
1300 (generate_protocols, build_protocol_initializer,
1301 generate_protocol_list, build_category_initializer,
1302 build_shared_structure_initializer): Do not cache cast_type
1303 and/or cast_type2.
1304
a696c1d6
DA
13052000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1306
1307 * function.c (assign_parms): Add missing argument to set_mem_attributes
1308 call.
1309
71653180
NS
13102000-06-05 Nathan Sidwell <nathan@codesourcery.com>
1311
1312 * tree.h (VOID_TYPE_P): New macro.
1313 (COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P.
1314 * c-decl.c (grokdeclarator): Use VOID_TYPE_P.
1315 (get_parm_info): Likewise.
1316 (store_parm_decls): Likewise.
1317 (combine_parm_decls): Likewise.
1318 (finish_function): Likewise.
1319 * c-typeck.c (build_function_call): Likewise.
1320 (build_binary_op): Likewise.
1321 (build_conditional_expr): Likewise.
1322 (internal_build_compound_expr): Likewise.
1323 (convert_for_assignment): Likewise.
1324 * stmt.c (expend_expr_stmt): Likewise.
1325 (warn_if_unused_value): Likewise.
1326 (expand_return): Likewise.
1327 * c-parse.in (primary): Likewise.
1328 * c-parse.y, c-parse.c, c-parse.h: Regenerate.
1329 * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
1330
80661759
RK
1331Mon Jun 5 06:46:28 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1332
1333 * alias.c (get_alias_set): If compnent is addressable, use alias
1334 set of component.
1335 * c-decl.c (init_decl_processing): Don't call record_component_aliases.
1336 (grokdeclarator): Likewise.
1337 * c-typeck.c (common_type): Likewise.
1338
cd306eed
AS
13392000-06-04 Alex Samuel <samuel@codesourcery.com>
1340
1341 * Makefile.in (OBJS): Remove dyn_string.o
1342 (dyn-string.o): Delete rule.
1343 * dyn-string.c: Delete file
1344 * dyn-string.h: Likewise.
7e585d16 1345
031926e2
KG
13462000-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1347
1348 * Makefile.in (intl.*): Honor non-zero exit codes in the intl
1349 subdir.
1350
e7cd085f 13512000-06-03 Geoff Keating <geoffk@cygnus.com>
b16a49a1 1352
7e585d16
ZW
1353 * alias.c (record_component_aliases): Don't inspect
1354 DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures.
b16a49a1 1355
e7cd085f 1356Sat Jun 3 19:05:30 2000 Michael Meissner <meissner@redhat.com>
90280148 1357
089f6dc3
MM
1358 * ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call
1359 it with the pattern to do machine dependent work.
90280148
MM
1360 (cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined,
1361 use it to modify the true/false tests used in conditional
1362 execution. If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are
1363 defined, invoke them if the conversion to conditional execution
1364 was successful or not.
1365
1366 * tm.texi (IFCVT_MODIFY_TESTS): Document.
1367 (IFCVT_MODIFY_INSN): Ditto.
1368 (IFCVT_MODIFY_FINAL): Ditto.
1369 (IFCVT_MODIFY_CANCEL): Ditto.
1370
bc83ee59
MK
1371Sat Jun 3 15:26:13 2000 Matt Kraai <kraai@alumni.carnegiemellon.edu>
1372
1373 * toplev.c (main): Fix misspellings of possibility and language.
1374
570eb5c8
RH
13752000-06-03 Richard Henderson <rth@cygnus.com>
1376
1377 * alias.c (record_alias_subset): Initialize has_zero_child in the
1378 superset.
1379
d6c266b2
RE
13802000-06-03 Richard Earnshaw (rearnsha@arm.com)
1381
1382 * arm.md (untyped_call): Use GEN_CALL macro.
1383
f0267a67
PN
13842000-06-02 Pekka Nikander <pnr@teldanex.tcm.hut.fi>
1385
1386 * Makefile.in: Use $(MAKE) not "make"
1387
2bf105ab
RK
1388Fri Jun 2 19:31:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1389
1390 * alias.c (struct alias_set_entry): New field has_zero_child.
1391 (mem_in_disjoint_alias_sets_p): Return 0 if set in either ase.
1392 (get_alias_set): If language-dependent routine set TYPE_ALIAS_SET,
1393 do nothing.
1394 Call record_component_aliases for aggregate types.
1395 (record_alias_subset): Set has_zero_child.
1396 (record_component_aliases, case ARRAY_TYPE): Do nothing if
1397 TYPE_NONALIASES_COMPONENT.
1398 (record_component_aliases, case RECORD_TYPE): Test
1399 DECL_NONADDRESSABLE_P.
1400 * c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead
1401 of TREE_ADDRESSABLE.
1402 * calls.c (initialize_argument_information): Only test
1403 TYPE_TRANSPARENT_UNION for UNION_TYPE.
1404 * function.c (assign_parms): Likewise.
1405 * integrate.c (function_cannot_inline_p): Likewise.
1406 * stor-layout.c (finish_record_layout): Don't call
1407 record_component_aliases.
1408 * tree.h (struct tree_int_cst): Use struct tree_common.
1409 (struct tree_real_cst, struct tree_string): Likewise.
1410 (struct tree_complex, struct tree_identifier): Likewise.
1411 (struct tree_list, struct tree_vec, struct tree_exp): Likewise.
1412 (struct tree_block, struct tree_type, struct tree_decl): Likewise.
1413 (TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK.
1414 (TYPE_NONALIASES_COMPONENT): New macro.
1415 (TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK.
1416 (DECL_NONADDRESSABLE_P): New macro.
1417 (struct tree_decl): Reorder bits for clarity of how many left;
1418 add non_adressable.
1419
3378216a
JM
14202000-06-02 Jason Merrill <jason@casey.soma.redhat.com>
1421
1422 * Makefile.in (libgcc.a): Also depend on $(LIB2ADD).
1423 * mklibgcc.in (force): New target.
1424 Make LIB2ADD stuff depend on it.
1425
2e761e49
RH
14262000-06-02 Richard Henderson <rth@cygnus.com>
1427
1428 * alias.c (lang_get_alias_set): Remove.
1429 (get_alias_set): Call it directly, not indirectly.
1430 * c-common.c (lang_get_alias_set): Rename from c_get_alias_set.
1431 * c-common.h (c_get_alias_set): Don't declare.
1432 * c-decl.c (init_decl_processing): Don't set lang_get_alias_set.
1433 * expr.h (lang_get_alias_set): Declare as function, not pointer.
7e585d16 1434
56ce79f7
BK
14352000-06-02 Bruce Korb <bkorb@gnu.org>
1436
1437 * fixinc/server.c(sig_handler): resume closing server on SIGPIPE
1438 (server_setup): define the server's master pid
1439 (close_server): actually do the deed IFF we are the server's master
1440
8f215dce
JJ
14412000-06-02 Jakub Jelinek <jakub@redhat.com>
1442
1443 * c-common.c (c_get_alias_set): Check whether signed_type did not
1444 return its argument before calling get_alias_set on the result.
1445
4636c0a2
AM
14462000-06-02 Andrew MacLeod <amacleod@cygnus.com>
1447
1448 * expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE.
1449
aff2c066
R
1450Fri Jun 2 00:22:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
1451
1452 * sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave.
1453 (CONDITIONAL_REGISTER_USAGE): Mac registers are call used
1454 for TARGET_NOMACSAVE.
1455 (NOMACSAVE_BIT): Define.
1456 (TARGET_NOMACSAVE): Define.
1457 (TARGET_SWITCHES): Add "nomacsave".
1458
400d1b19
TM
14592000-06-02 Toshiyasu Morita <toshi.morita@sega.com>
1460
1461 * sh.md (untyped_call): Remove excess parameters
1462
bec7ddd7
LR
14632000-06-01 Loren J. Rittle <ljrittle@acm.org>
1464
1465 * fixinc/inclhack.def (osf_namespace_a): Relax expression to
1466 match that used before the conversion to c_fix style.
ef6df611 1467 * fixinc/fixincl.x: regenerate
bec7ddd7 1468
ee418a77
SC
14692000-06-01 Stan Cox <scox@cygnus.com>
1470
1471 * varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix
1472 macro argument typo.
1473
d7a2e0f7
ZW
14742000-06-01 Zack Weinberg <zack@wolery.cumb.org>
1475
1476 * cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL. Improve
1477 error message.
7e585d16 1478 * cpplib.c (parse_include): Remove support for VAX-C
d7a2e0f7
ZW
1479 "#include starlet" misfeature.
1480
14812000-05-31 Laurynas Biveinis <lauras@softhome.net>
1482
1483 * cppfiles.c: conditionally define O_BINARY.
1484 (open_include_file): pass O_BINARY to open().
1485
eb9c1bb6
RH
14862000-06-01 Richard Henderson <rth@cygnus.com>
1487
1488 * i960.c (i960_br_predict_opcode): Remove.
1489 (i960_print_operand) [+]: Emit branch prediction hints.
1490 (i960_function_arg): Return early for VOIDmode.
1491 (i960_round_align): Return early for incomplete types.
1492 * i960.h (PRINT_OPERAND_PUNCT_VALID_P): New.
1493 * i960.md (all conditional branches): Add "%+".
1494
f824e5c3
RK
1495Thu Jun 1 12:24:21 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1496
1497 * alias.c (get_alias_set): Don't call language-specific routine more
1498 than is needed and clean up code a bit.
1499 * c-common.c (c_get_alias_set): All references whose type
1500 is char get alias set 0, but character types need not.
1501 * varasm.c (make_function_rtl): Don't call set_mem_attributes.
1502 (make_decl_rtl): Don't call it for FUNCTION_DECL.
1503
079b71f5
BK
15042000-06-01 Bruce Korb <bkorb@gnu.org>
1505
1506 * fixinc/tests/base/...: new base result files
1507
a940d8bd
CP
1508Thu Jun 1 09:37:35 2000 Clinton Popetz <cpopetz@cygnus.com>
1509
1510 * config/i386/i386.c (ix86_use_fcomi_compare): Make global.
1511 * config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare.
1512 * config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we
1513 will use FCOMI.
7e585d16 1514
bc11d9b8
RH
15152000-06-01 Richard Henderson <rth@cygnus.com>
1516
03d2f2b8
RH
1517 * Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h.
1518
eb9c1bb6 1519 * c-decl.c (init_decl_processing): Set lang_get_alias_set first thing.
bc11d9b8 1520
ac9cd70f
RH
15212000-05-31 Richard Henderson <rth@cygnus.com>
1522
1523 * config/ia64/ia64.c (sdata_symbolic_operand): Consider small
1524 CONSTANT_POOL_ADDRESS_P addresses for .sdata.
1525 * config/ia64/sysv4.h (SELECT_RTX_SECTION): New.
1526
85548039
RH
15272000-05-31 Richard Henderson <rth@cygnus.com>
1528
1529 * config/ia64/ia64-protos.h (ia64_expand_prediction): Remove.
1530 * config/ia64/ia64.c (ia64_expand_prediction): Move code ...
1531 (ia64_print_operand) [+]: ... here. Use current_output_insn.
1532 * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New.
1533 * config/ia64/ia64.md (all branch/call patterns): Use %+.
1534
e0fa93b3
RH
15352000-05-31 Richard Henderson <rth@cygnus.com>
1536
1537 * ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers.
1538
abb9a4c5
RH
15392000-05-31 Richard Henderson <rth@cygnus.com>
1540
7e585d16 1541 * ifcvt.c (merge_if_block): Be prepared for JOIN to have no
18153f6c
RH
1542 remaining edges.
1543 (find_if_block): Allow THEN with no outgoing edges.
abb9a4c5
RH
1544 * flow.c (merge_blocks_nomove): Remove a barrier not following
1545 a jump as well.
1546
eb7e5da2
RH
15472000-05-31 Richard Henderson <rth@cygnus.com>
1548
1549 * flow.c (propagate_block): Move initialization of mem_set_list ...
7e585d16 1550 (init_propagate_block_info): ... here. Also track blocks with
eb7e5da2
RH
1551 no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
1552
26a41784
RH
15532000-05-31 Richard Henderson <rth@cygnus.com>
1554
1555 * jump.c (jump_optimize_1): Revert 05-18 change.
1556
2228d450
MM
15572000-05-31 Mark Mitchell <mark@codesourcery.com>
1558
1559 * invoke.texi: Remove documentation for -fguiding-decls.
1560
99923eed
RH
15612000-05-31 Richard Henderson <rth@cygnus.com>
1562
1563 * configure.in: Fix typo last change.
1564
dc6746e7
PT
15652000-05-31 Philipp Thomas <pthomas@suse.de>
1566
7e585d16 1567 * configure.in (enable-nls): Enable if build == host, i.e. when
dc6746e7
PT
1568 not building a canadian cross compiler.
1569 (enable-maintainer-mode): Added for use with i18n.
1570 * aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
1571 cross section of ALL_LINGUAS and LINGUAS.
1572 * configure: Rebuild.
1573
5d7d28c2
BK
15742000-05-31 Bruce Korb <bkorb@gnu.org>
1575
1b813bfe
BK
1576 * fixinc/check.tpl: rework to use test result tree
1577 * fixinc/Makefile.in: change invocation of check script
1578 * fixinc/check.diff: No longer needed
1579 * fixinc/fixincl.x: regenerate
1580 * fixinc/inclhack.def: add new tests
1581 * fixinc/tests/base/arch/i960/archI960.h: New test result
1582 * fixinc/tests/base/curses.h: modified test result
1583 * fixinc/tests/base/stdio.h: ditto
1584 * fixinc/tests/base/time.h: ditto
1585 * fixinc/tests/base/sys/asm.h: ditto
1586 * fixinc/tests/base/sys/stat.h: ditto
1587 * fixinc/tests/base/sys/wait.h: ditto
5d7d28c2 1588
231a2828
PDM
1589Wed May 31 13:17:20 2000 Philippe De Muyter <phdm@macqel.be>
1590
1591 * except.c (clear_function_eh_region): Do not free NULL.
1592
8c410416
RK
1593Wed May 31 08:07:52 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1594
3bdf5ad1
RK
1595 * Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
1596 * alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
1597 (REG_BASE_VALUE): Remove unneeded cast to unsigned.
1598 (get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
1599 (find_base_decl): New function, from c_find_base_decl in c-common.c.
1600 (new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
1601 (get_alias_set): Likewise.
1602 Major rework to do more things and allow language-specific code
1603 to just handle special-cases.
1604 (record_alias_subset): Args are HOST_WIDE_INT.
1605 (record_component_alias): Local vars are HOST_WIDE_INT.
1606 Don't handle COMPLEX_EXPR.
1607 (get_varargs_alias_set): Moved from builtins.c.
1608 (get_frame_alias_set): New function.
1609 * builtins.c (expand_builtin_return_address): Use frame alias set.
1610 (expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
1611 for setjmp buffer.
1612 (get_memory_rtx): Rework to use set_mem_attributes.
1613 (get_varargs_alias_set): Deleted from here.
1614 * c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
1615 (c_find_base_decl): Deleted from here.
1616 (c_get_alias_set): Remove many cases and rework to just handle
1617 C-specific cases.
1618 * c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
1619 * c-decl.c (rtl.h, expr.h): Now included.
1620 (init_decl_processing): Call record_component_aliases on array types.
1621 (grokdeclarator): Likewise.
1622 Set TREE_ADDRESSABLE for all fields that are not bitfields.
1623 * c-typeck.c (common_type): Call record_component_aliases for array.
1624 * caller-save.c (setup_save_areas): Rework register loop for unsigned.
1625 Set all save areas to the frame alias set.
1626 * calls.c (initialie_argument_information): Call set_mem_attributes.
1627 (compute_argument_addresses, expand_call): Likewise.
1628 * explow.c (set_mem_attributes): New function.
1629 (stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
1630 * expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
1631 LEN and OFFSET now HOST_WIDE_INT.
1632 (clear_by_pieces): Similar changes.
1633 (move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
1634 (move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
1635 (move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
1636 (clear_by_pieces_1): Likewise.
1637 (emit_push_insn): Call set_mem_attributes.
1638 (expand_expr, case INDIRECT_REF): Likewise.
1639 (expand_expr, case VAR_DECL): Call change_address.
1640 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
1641 tree_low_cst.
1642 (get_varargs_alias_set, get_frame_alias_set): New decls.
1643 (record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
1644 (new_alias_set, set_mem_attributes): Likewse.
1645 * function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
1646 (assign_stack_temp_for_type): Likewise.
1647 Can split slot even if alias set since can copy.
1648 Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
1649 (assign_temp): Use host_integerp and tree_low_cst.
1650 (put_var_into_stack): Properly handle SAVE_EXPR.
1651 (put_addressof_into_stack): Likewise.
1652 (assign_parms): Call set_mem_attributes.
1653 Delete #if 0 code.
1654 (fix_lexical_address): Put reference to chain into frame alias set.
1655 (expand_function_start): Call set_mem_attributes.
1656 * integrate.c (expand_inline_function): Likewise.
1657 * recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
1658 * regmove.c (try_apply_stack_adjustment): Likewise.
1659 * reload.c (push_reload, make_memloc): Likewise.
1660 * reload1.c (alter_reg): Make alias sets for spilled pseudos.
1661 * rtl.def (MEM): Update comment.
1662 * rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
1663 (move_by_pieces): Change length to HOST_WIDE_INT.
1664 (record_base_value, record_alias_subset): Delete from here.
1665 * stmt.c (expand_decl): Call set_mem_attributes.
1666 * stor-layout.c (finish_record_layout): Call record_component_aliases.i
1667 * toplev.c (compile_file): Call init_alias_once earlier.
1668 * tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
1669 from here: now in alias.c.
1670 * tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
1671 (struct tree_decl): Likewise.
1672 (get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
1673 * varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
1674 (output_constant_def, force_const_mem): Likewise.
7e585d16 1675
8c410416
RK
1676 * flow.c (propagate_block): If block has no successors, stores to
1677 frame are dead if not used.
1678
ecc9dd93
NS
16792000-05-31 Nathan Sidwell <nathan@codesourcery.com>
1680
1681 * stmt (expand_end_case): Reorder conversion sequence for jump
1682 table to avoid extra truncations.
1683
2bc63114
JL
1684Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com)
1685
1686 * ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
1687 in the block is more than just a simple conditional branch.
1688 (noce_process_if_block): Similarly.
1689
885e80cc
AO
1690Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com>
1691
1692 * optabs.c (prepare_float_lib_cmp): Protect *px and *py from
1693 queue.
1694
ab577d8a
MM
16952000-05-30 Michael Meissner <meissner@redhat.com>
1696
1697 * dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH
1698 instructions. Treat LO_SUM operations as loading the full integer
1699 constant.
1700
d3bc8938
RH
17012000-05-30 Richard Henderson <rth@cygnus.com>
1702
1703 * combine.c (get_pos_from_mask): Test exact_log2 result as signed.
1704
48b710dd
RH
17052000-05-30 Richard Henderson <rth@cygnus.com>
1706
1707 * bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
1708
26e903ee
BK
17092000-05-30 Bruce Korb <bkorb@gnu.org>
1710
1711 * fixinc/tests/*: Added expected result files for fixinc's make check
22e50c5b 1712 * fixinc/fixfixes(char_macro_*_fix): Restore original algorithm
26e903ee 1713
28ecb7ab
RH
17142000-05-30 Richard Henderson <rth@cygnus.com>
1715
1716 * config/alpha/alpha.md (*setne_internal): Use match_operator
1717 instead of working down from insn.
1718
7f094a94
KG
17192000-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1720
1721 * invoke.texi (-Wtraditional): Update WRT function macros.
1722
d3a36404
PDM
1723Tue May 30 09:57:32 2000 Philippe De Muyter <phdm@macqel.be>
1724
1725 * except.c (free_exception_table): Do not free NULL.
1726
37dbf7aa
ZW
17272000-05-29 Zack Weinberg <zack@wolery.cumb.org>
1728
1729 * cpplib.c (do_if): Don't save and restore only_seen_white here.
1730 * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
1731 and skipping here.
1732
6a3dbe65
RE
17332000-05-29 Richard Earnshaw (rearnsha@arm.com)
1734
7e585d16 1735 * flow.c (mark_used_reg): If a register is unconditionally live,
6a3dbe65
RE
1736 remove any conditional death information.
1737
b1a9f6a0
RH
17382000-05-29 Richard Henderson <rth@cygnus.com>
1739
1740 * final.c (current_output_insn): New.
1741 (final_scan_insn): Set it.
1742 * output.h: Declare it.
1743
5cb7d6b4
RH
17442000-05-29 Richard Henderson <rth@cygnus.com>
1745
c5daf9c4
RH
1746 * stor-layout.c (finalize_record_size): Fix typo.
1747
5cb7d6b4
RH
1748 * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
1749 if nlabel is null.
1750
ea4a453b
ZW
17512000-05-29 Zack Weinberg <zack@wolery.cumb.org>
1752
1753 * cpplib.h (cpp_reader): Remove if_stack. Change
1754 potential_control_macro to a cpp_hashnode *. Add skipping flag.
1755 * cpphash.h (struct ihash): Change control_macro to a
1756 cpp_hashnode * and shorten name to cmacro.
1757 Add NEVER_REINCLUDE constant.
1758
1759 * cppfiles.c (redundant_include_p): Drop cpp_reader argument.
1760 Examine the cmacro node directly, no need to call cpp_defined.
1761 (_cpp_execute_include, read_include_file): Set cmacro to
1762 NEVER_REINCLUDE, not U"".
1763 * cpplex.c (cpp_push_buffer): Don't set new->if_stack.
1764 (cpp_get_token): If pfile->skipping is true, discard text and
1765 keep scanning until we hit a directive; don't expand macros.
1766
1767 * cpplib.c (struct if_stack): Remove if_succeeded, add
1768 was_skipping. Change control_macro to a cpp_hashnode * and
1769 shorten name to cmacro. Remove typedef IF_STACK.
1770 (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
1771 (conditional_skip, skip_if_group,
1772 consider_directive_while_skipping): Delete.
1773 (push_conditional): New.
1774 (_cpp_handle_directive): Don't process directives other than
1775 conditionals if we are skipping.
1776
1777 (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
1778 Update to new scheme.
1779 (validate_else): Skip rest of line here, unconditionally.
1780 (_cpp_unwind_if_stack): The stack is per-buffer. Force
1781 pfile->skipping off.
1782
1783 (all): Remove `scare quotes' from error messages.
1784
86c82654
RH
17852000-05-29 Richard Henderson <rth@cygnus.com>
1786
1787 * function.c (emit_return_into_block): New line_note arg; emit it.
1788 (thread_prologue_and_epilogue_insns): Attempt to locate a line note
1789 for the close brace to accompany HAVE_return. Move all line notes
1790 following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
1791
8f4773ea
RH
17922000-05-29 Richard Henderson <rth@cygnus.com>
1793
1794 * longlong.h [__alpha] (count_leading_zeros): New.
1795 (count_trailing_zeros): New.
1796 (COUNT_LEADING_ZEROS_0): New.
1797
1798 * config/alpha/alpha.c (alpha_zero_comparison_operator): New.
1799 (alpha_split_conditional_move): New.
1800 * config/alpha/alpha-protos.h: Prototype them.
1801 * config/alpha/alpha.h (PREDICATE_CODES): Update.
1802 (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
1803 * config/alpha/alpha.md: Update ffs cix commentary.
1804 (*ze_and_ne): New.
1805 (*nabssf2, *nabsdf2): New.
1806 (*mov[qhsd]icc_internal): Use add_operand.
1807 (if_then_else constant splitters): New.
1808 (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
1809 (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
1810
7b40bc6b
RH
18112000-05-29 Richard Henderson <rth@cygnus.com>
1812
d41638e4
RH
1813 * combine.c (force_to_mode) [MINUS]: Convert subtraction from
1814 a constant to NEG or NOT when conditions allow.
1815
085f1714
RH
1816 * combine.c (combine_simplify_rtx): Don't create an if_then_else
1817 unless both args are general_operand. Don't canonicalize plus
1818 to ior unless it helps.
1819
7b40bc6b
RH
1820 * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
1821 instead track register_life_up_to_date. Toggle no_new_pseudos
7e585d16 1822 around if_convert.
7b40bc6b 1823
37c67319
GK
18242000-05-28 Geoff Keating <geoffk@cygnus.com>
1825
1826 * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
1827 so output_operand doesn't see them.
1828
1270c255
CP
1829Sun May 28 18:37:07 2000 Clinton Popetz <cpopetz@cygnus.com>
1830
1831 * lcm.c (make_preds_opaque): Fix comment.
7e585d16 1832 (optimize_mode_switching): Use NORMAL_MODE instead of
1270c255
CP
1833 MODE_USES_IN_EXIT_BLOCK. Change leftover instance of
1834 FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE.
1835 Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
1836 * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
1837 (MODE_USES_IN_EXIT_BLOCK): Delete.
1838 (MODE_AT_ENTRY) Rename to NORMAL_MODE.
1839 * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
1840 (MODE_AT_ENTRY): Rename to NORMAL_MODE.
1841 (MODE_NEEDED): Don't look for USE.
1842 (EPILOGUE_USES): Define.
1843
d7bfe267
PDM
1844Sun May 28 23:26:59 2000 Philippe De Muyter <phdm@macqel.be>
1845
1846 * mklibgcc.in (all): Variable initialised to `libgcc'.
1847
6f5ef761
GDR
18482000-05-28 Gabriel Dos Reis <gdr@codesourcery.com>
1849
1850 * toplev.h (skip_leading_substring): New macro.
1851 * toplev.c (decode_f_option): Use skip_leading_substring instead
1852 of strncmp.
1853 (decode_W_option): Likewise.
1854
055177dc
NC
18552000-05-28 Nick Clifton <nickc@cygnus.com>
1856
1857 * tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can
1858 modify reg_names.
1859
f83ed238
RH
18602000-05-28 Richard Henderson <rth@cygnus.com>
1861
9ef07cf1
RH
1862 * regclass.c (record_operand_costs): Protect reg_changes_size
1863 with CLASS_CANNOT_CHANGE_SIZE.
1864
f83ed238
RH
1865 * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
1866
5828d725
RH
18672000-05-28 Richard Henderson <rth@cygnus.com>
1868
1869 * function.c (diddle_return_value): A pcc-style struct return
1870 returns a pointer.
1871
f8f769ea
ZW
18722000-05-27 Zack Weinberg <zack@wolery.cumb.org>
1873
1874 * cppfiles.c: Read files in, using mmap if possible, then
1875 prescan them separately.
1876 (read_file, read_with_read): New functions.
1877 * cpplex.c: Don't define UCHAR_MAX.
1878 (_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read
1879 the file here.
1880
1881 * cppinit.c (handle_option): Automatically define __cplusplus,
1882 __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
1883 the respective -lang switch.
1884
1885 * cpphash.h (enum node_type, struct hashnode, _cpp_lookup
1886 prototype): Move to...
1887 * cpplib.h: ... here. Rename struct hashnode to struct
1888 cpp_hashnode and give it a typedef. Rename _cpp_lookup to
1889 cpp_lookup. Add 'fe_value' slot, a union tree_node *.
1890
e79f71f7
GK
18912000-05-27 Geoffrey Keating <geoffk@cygnus.com>
1892
1893 * config/rs6000/rs6000.md (movsi): Constify 'name'.
1894
1895 * regclass.c [CLASS_CANNOT_CHANGE_SIZE]
1896 (class_can_change_size): New variable.
1897 (reg_changes_size): New variable.
1898 (init_reg_sets_1): Initialise class_can_change_size.
1899 (record_operand_costs): Remove subreg_changes_size.
1900 Don't pass it around. Instead update reg_changes_size.
1901 (regclass): Initialise and free reg_changes_size. If a register
1902 changes size, don't preference it to a class that contains
1903 registers that can't change size.
1904 (record_reg_classes): Don't look at subreg_changes_size.
1905
e087aeb2
RH
19062000-05-27 Richard Henderson <rth@cygnus.com>
1907
1908 * print-rtl.c (reg_names): Remove const.
1909 * regclass.c (reg_names): Likewise.
1910 * regs.h (reg_names): Likewise.
1911 * hard-reg-set.h (reg_names): Likewise.
1912
7d70b8b2
RH
19132000-05-27 Richard Henderson <rth@cygnus.com>
1914
1915 * config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
1916
4f1c5cce
RH
19172000-05-27 Richard Henderson <rth@cygnus.com>
1918
1919 * config/alpha/alpha.c (alpha_does_function_need_gp): Test
1920 TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
1921 (alpha_expand_prologue): Emit prologue_mcount if needed.
1922 * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
1923 * config/alpha/alpha.md (prologue_mcount): New.
1924 * config/alpha/linux.h (FUNCTION_PROFILER): Remove.
1925 (TARGET_PROFILING_NEEDS_GP): Undef before redefining.
1926 * config/alpha/netbsd.h: Likewise.
1927
a1920fc3
RH
19282000-05-27 Richard Henderson <rth@cygnus.com>
1929
1930 * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
1931 change to config/elfos.h.
1932
d80eb1e1
RH
19332000-05-27 Richard Henderson <rth@cygnus.com>
1934
1935 * Makefile.in (resource.o): Depend on except.h.
1936 * except.h (output_exception_table_data): Prototype.
1937 * genconfig.c (gen_peephole2): Prototype.
1938 * genemit.c (main): Include ggc.h.
1939 * genoutput.c: Revert parts of last change: include errors.h
1940 (main): Set progname.
1941 * recog.c: Include hard-reg-set.h before recog.h.
1942 * resource.c: Include except.h.
1943
1944 * config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
1945 with RTX_CODE.
1946 (alpha_write_linkage): Protect with BUFSIZ.
1947 (alpha_need_linkage): Update prototype.
1948 * config/alpha/alpha.c (function_arg): Move VMS code here.
1949 (alpha_links_base): Remove.
1950 (alpha_links): New.
1951 (mark_alpha_links_node, mark_alpha_links): New.
1952 (alpha_write_one_linkage): New.
1953 (alpha_need_linkage): Use a splay tree. Build the linkage symbol.
1954 (alpha_write_linkage): Use splay_tree_foreach.
1955 * config/alpha/alpha.md (call_vms): Use alpha_need_linkage
1956 to get the linkage symbol.
1957 (call_value_vms): Likewise.
1958 * config/alpha/elf.h (output_file_directive): Remove decl.
1959 (ctors_section, dtors_section): Prototype.
1960 (sbss_section, sdata_section): Prototype.
1961 * config/alpha/vms.h (FUNCTION_ARG): Remove.
1962 (readonly_section, link_section, literals_section): Prototype.
1963 (ctors_section, dtors_section): Prototype.
1964 (vms_valid_decl_attribute_p): Remove decl.
1965 (alpha_arg_type, alpha_arg_info_reg_val): Likewise.
1966
ed8afe3a
GK
19672000-05-27 Geoff Keating <geoffk@cygnus.com>
1968
4f9e0766
GK
1969 * reload.c (get_secondary_mem): Don't widen floating-point modes.
1970
ed8afe3a
GK
1971 * combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when
1972 substituting the REG in a (subreg:X (reg:Y ...)).
1973
f624ffa7
NB
19742000-05-28 Neil Booth <NeilB@earthling.net>
1975
1976 * cpplex.c (_cpp_lex_line): Merge vertical space. Flag
1977 first token of a line BOL. Update EOF code for this.
1978 Remove illegal directive check - it appears in the (not
1979 yet committed) caller.
1980 * cpplib.h (BOL): New flag.
1981
ad265aa4
NB
19822000-05-28 Neil Booth <NeilB@earthling.net>
1983
37dbf7aa 1984 * cpplex.c (_cpp_init_toklist): No comment space to initialise.
ad265aa4
NB
1985 (_cpp_free_toklist): No comment space to free.
1986 (expand_comment_space): Remove.
37dbf7aa
ZW
1987 (save_comment_space): Place the comment in the current token and
1988 not in a separate comment space.
1989 (_cpp_lex_line): Save comments during plain code and #define
1990 directives only.
1991 * cpplib.h (struct _cpp_toklist): Remove comment space.
ad265aa4 1992
d1d9a6bd
NB
19932000-05-28 Neil Booth <NeilB@earthling.net>
1994
1995 * cppexp.c (parse_assertion): Supply extra argument to
1996 _cpp_init_toklist.
1997 * cpplib.c (do_assert, do_unassert): Similarly.
1998 * cpphash.h (_cpp_init_toklist) Update.
1999 (_cpp_expand_token_space): New.
2000 (DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
2001 * cpplex.c (_cpp_init_toklist): New argument.
2002 (parse_string2): New argument multiline_ok.
2003 (spell_token): Take a const cpp_token *.
2004 (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used.
2005 (SPELL_ macros): Replace with enum.
2006 (expand_token_space): Replace with _cpp_expand_token_space.
2007 Take COUNT argument.
2008 (IS_DIRECTIVE): Update.
2009 (_cpp_lex_line): Update token structure before parsing number.
2010 Don't assume start at beginning of token list.
2011 (save_comment): Use INIT_TOKEN_NAME.
2012
c190ed67
ZW
20132000-05-27 Zack Weinberg <zack@wolery.cumb.org>
2014
f45c9d95
ZW
2015 * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
2016 -Wmissing-prototypes.
2017 * configure: Regenerate.
2018 * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
2019
2020 * builtins.c, calls.c: Change all instances of gen_call_* or
2021 gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
2022 * calls.c (struct_value_size_rtx): Separate definition from
2023 initialization to avoid unused variable warning.
2024
2025 * genflags.c (gen_macro): New function.
2026 (gen_proto): Call it for gen_call_* and gen_sibcall_*.
2027 (gen_nonproto): Delete.
2028 (gen_insn): Put all insns on the same obstack.
2029 (main): Generate prototypes for everything unconditionally.
2030
7e585d16 2031 * configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented
f12bc141
ZW
2032 out check for wchar_t.
2033 * acconfig.h: Add template for ssize_t. Remove @TOP@.
7e585d16
ZW
2034 * system.h: Add infrastructure for defining missing
2035 TYPE_MAX/TYPE_MIN macros. Use it to provide fallback
f12bc141
ZW
2036 definitions of UCHAR_MAX and SSIZE_MAX.
2037 * configure: Regenerate.
2038 * config.in: Regenerate.
2039
c190ed67
ZW
2040 * Makefile.in (libgcc2.ready): Rename to libgcc.ready.
2041 Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
2042 headers.
2043 (clean): No need to delete libgcc1.a, libgcc1-asm.a,
2044 libgcc2.a, or libgcc1.null.
2045
23280139
RH
20462000-05-27 Richard Henderson <rth@cygnus.com>
2047
2048 * Makefile.in (recog.o): Don't depend on resource.h.
2049 * recog.c: Don't include resource.h.
2050 (recog_last_allowed_insn): Remove.
2051 (recog_next_insn): Remove.
2052 (struct peep2_insn_data): New.
2053 (peep2_insn_data, peep2_current): New.
2054 (peep2_next_insn): New.
2055 (peep2_regno_dead_p, peep2_reg_dead_p): New.
2056 (peep2_find_free_register): New.
2057 (peephole2_optimize): Track life information by insn as we go.
2058 * recog.h: Update declarations.
2059 * resource.c (find_free_register, reg_dead_p): Remove.
2060 * resource.h: Remove their declarations.
2061 * toplev.c: Include hard-reg-set.h before recog.h.
2062
2063 * genconfig.c (max_insns_per_peep2): New.
2064 (gen_peephole2): New.
2065 (main): Call it.
2066 * genemit.c (output_peephole2_scratches): Generate calls to
2067 peep2_find_free_register; adjust surrounding code.
2068 (main): Have insn-emit.c include hard-reg-set.h before recog.h.
2069 * genrecog.c (change_state): Don't track last_insn.
2070 (write_action): Write into *_pmatch_len before accepting.
2071 (write_tree): Adjust peephole2_insns and subroutines to match.
2072
2073 * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
2074
d2c6a1b6
RH
2075 * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
2076 (hard_int_register_operand): New.
2077 * config/alpha/alpha-protos.h: Declare it.
2078 * config/alpha/alpha.h (PREDICATE_CODES): Update.
2079 * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
2080 as needed; use peep2_reg_dead_p instead of dead_or_set_p.
2081
30196c1f
RH
20822000-05-27 Richard Henderson <rth@cygnus.com>
2083
2084 * function.c (thread_prologue_epilogue_insns): Don't move the
2085 line note at the head of the chain. Only force a lineno note
2086 before the end of block 0.
2087
d96a2fcd
RH
20882000-05-27 Richard Henderson <rth@cygnus.com>
2089
892ecf92
RH
2090 * gensupport.c (collect_insn_data): Record the maximum number
2091 of alternatives, not the last seen.
2092
d96a2fcd
RH
2093 * genoutput.c: Don't include errors.h.
2094 (struct data): Add lineno member.
2095 (have_error): New.
2096 (scan_operands): Use message_with_line instead of error.
2097 (validate_insn_alternatives): Likewise.
2098 (gen_insn): Accept and store the pattern's line number.
2099 (gen_peephole, gen_expand, gen_split): Likewise.
2100 (main): Don't set progname. Pass line_no to gen_foo.
2101
5401747e
RH
21022000-05-27 Richard Henderson <rth@cygnus.com>
2103
2104 * config/d30v/d30v.c (d30v_print_operand): Handle ':'.
2105 * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
2106 * config/d30v/d30v.md (attr predicable): New.
2107 (all insn patterns): Mark non-predicable patterns; use %: on the rest.
2108 (andsi3*): Unify into one pattern.
2109 (iorsi3*, xorsi3*): Likewise.
2110 (peephole2 patterns): Use peep2_reg_dead_p; verify not a
2111 conditional return.
2112 (old cond_exec patterns): Remove.
2113 (define_cond_exec): New.
2114
8d5e6e25
RK
2115Sat May 27 11:01:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2116
2117 * tree.h (TREE_CODE_LENGTH): New macro.
2118 * c-common.c (c_find_base_decl): Use it.
2119 * expr.c (safe_from_p): Likewise.
2120 * print-tree.c (print_node): Likewise.
2121 * tree.c (make_node, copy_node, get_identifier): Likewie.
2122 (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
2123 (build, build_nt, build_parse_node, simple_cst_equal): Likewise.
2124 * fold-const.c (make_range): Likewise.
2125 (fold): Likewise; also use first_rtl_op.
2126 * c-iterate.c (collect_iterators): Use first_rtl_op.
2127 * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
2128 Use IS_EXPR_CODE_CLASS.
2129 (preexpand_calls): Likewise.
2130 * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
2131 and TREE_CODE_LENGTH.
2132 * stmt.c (warn_if_unused_value): If no operands, no unused value.
2133
1d328b19
GK
21342000-05-26 Geoffrey Keating <geoffk@cygnus.com>
2135
aee86b38
GK
2136 * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
2137 than '%1(%*)'.
2138 (movdi_internal64): Likewise.
2139
1d328b19
GK
2140 * config/rs6000/rs6000.md: Correct order of operands for DImode
2141 boolean patterns.
2142
2143 * config/rs6000/rs6000.c (boolean_or_operator): New function.
2144 * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it.
2145 * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator.
2146 * config/rs6000/rs6000.md: Use boolean_or_operator instead of
2147 boolean_operator for the boolean patterns without NOTs.
2148
2149 * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename
2150 from reg_or_u_cint_operand. Change comment and behaviour.
2151 (logical_operand): Clean up, add assertion.
2152 (non_logical_cint_operand): Also check for
2153 reg_or_logical_cint_operand.
2154 * config/rs6000/rs6000.h (PREDICATE_CODES): Update.
2155 * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand
2156 in the expander.
2157 (xorsi3): Likewise.
2158 (iordi3): Likewise.
2159 (xordi3): Likewise.
2160
defd0dea
MM
21612000-05-26 Mark Mitchell <mark@codesourcery.com>
2162
2163 * tree.h (struct record_layout_info): Rename to (struct
2164 record_layout_info_s).
2165 * stor-layout.c (start_record_layout): Replace
2166 `record_layout_info' with `record_layout_info_s'.
2167
1bc48f82
RE
21682000-05-26 Richard Earnshaw <rearnsha@arm.com>
2169
2170 * flow.c (find_label_refs): New function.
7e585d16 2171 (find_basic_blocks_1): Call it for each alternative of a call
1bc48f82
RE
2172 placeholder.
2173
5f361012
RE
21742000-05-26 Richard Earnshaw <rearnsha@arm.com>
2175
2176 * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
2177 of get_pc.
2178
a0e5a544
RH
21792000-05-25 Richard Henderson <rth@cygnus.com>
2180
2181 * config/alpha/alpha.c (alpha_comparison_operator): Don't be
2182 so strict about DImode.
2183 (alpha_swapped_comparison_operator): Likewise.
2184 * config/alpha/alpha.md (*setne_internal): Name it. Allow
2185 any integer output mode.
2186 (*setcc_internal): Likewise.
2187 (*setcc_swapped_internal): Likewise.
2188 (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
2189 (*mov[qhs]icc_internal): New.
2190 (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
2191
b49425e4
DA
21922000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2193
2194 * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
2195
f008a564
RH
21962000-05-25 Richard Henderson <rth@cygnus.com>
2197
2198 * bb-reorder.c (reorder_block_def): Reorder elements for size.
2199 Remove add_jump; add next; replace flags with visited.
2200 (rbd_init): Remove.
2201 (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
2202 (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
2203 (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
2204 (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
2205 (RBI): New.
2206 (reorder_index, reorder_last_visited): Remove.
2207 (skip_insns_after_block): Rewrite to use a switch.
2208 (get_common_dest): Remove.
2209 (chain_reorder_blocks): Remove.
2210 (record_effective_endpoints): Split out from reorder_basic_blocks.
2211 (make_reorder_chain): Likewise. Loop until all blocks are placed.
2212 (make_reorder_chain_1): Renamed from old make_reorder_chain.
2213 Only construct the reorder chain, do not move insns. Try harder
2214 to tail recurse.
2215 (label_for_bb, emit_jump_to_block_after): New.
2216 (fixup_reorder_chain): Use them. Do bulk block movement. Examine
2217 and adjust the jump insns appropriately. Fixup basic_block_info.
2218 (verify_insn_chain): Always define.
2219 (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko
2220 in allocation size.
2221 (make_new_scope): Don't write zeros to calloc'd space.
2222 (build_scope_forest): Rely on xrealloc to DTRT.
2223 (reorder_basic_blocks): Don't build loop nest. Don't fail if
2224 profile_arc_flag. Streamline EH test.
2225
2226 * flow.c (redirect_edge_succ, redirect_edge_pred): New.
2227 * basic-block.h: Declare them.
2228
2d4aecb3
AO
22292000-05-25 Alexandre Oliva <aoliva@cygnus.com>
2230
2231 * emit-rtl.c (reset_used_decls): New function.
2232 (unshare_all_rtl_again): Call it.
2233
476f2869
ZW
22342000-05-25 Zack Weinberg <zack@wolery.cumb.org>
2235
2236 * cpplex.c (maybe_macroexpand): Warn about function-like
2237 macros used in non-function context, if -Wtraditional.
2238
88741818
MM
22392000-05-25 Mark Mitchell <mark@codesourcery.com>
2240
2241 * recog.c (peephole2_optimize): Use INSN_P.
2242
4e4017cb
RH
22432000-05-25 Richard Henderson <rth@cygnus.com>
2244
2245 * ifcvt.c (seq_contains_jump): New.
2246 (noce_try_store_flag_constants): Use it to fail conversion.
2247 (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.
2248
0519ce30
MM
22492000-05-25 Mark Mitchell <mark@codesourcery.com>
2250
2251 * except.h (can_throw): Declare it.
2252 * except.c (can_throw): Give it external linkage.
2253 * resource.c (find_dead_or_set_registers): Use can_throw.
7e585d16 2254
a0ee3b83
RH
22552000-05-25 Richard Henderson <rth@cygnus.com>
2256
2257 * flow.c (mark_set_1): Don't record conditionally dead memory.
2258
7f1c097d
JH
22592000-05-25 Jan Hubicka <jh@suse.cz>
2260
2261 * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
2262 and pc_set at the place of simplejump_p and condjump_p.
2263 * cse.c (record_jump_equiv): Likewise.
2264 * emit-rtl.c (emit): Likewise.
2265 * explow.c (find_next_ref): Likewise.
2266 * flow.c (tidy_fallthru_edge): Likewise.
2267 (init_propagate_block_info): Likewise.
2268 * gcse.c (delete_null_pointer_checks): Likewise.
2269 * ifcvt.c (cond_exec_get_condition, noce_get_condition,
2270 dead_or_predicable): Likewise.
2271 * integrate.c (copy_insn_list): Likewise.
2272 * loop.c (scan_loop, verify_dominator, find_and_verify_loops,
2273 for_each_insn_in_loop, check_dbra_loop, get_condition,
2274 insert_bct, load_mems): Likewise.
2275 * resource.c (find_dead_or_set_registers): Likewise.
2276 * sibcalls.c (simplejump_p): Likewise.
2277 * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.
2278
acad7ed3
DE
22792000-05-25 David Edelsohn <edelsohn@gnu.org>
2280
2281 * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
2282 to STRING case. Use doubleword STRING move for TARGET_POWERPC64
2283 when unaligned.
2284 * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
2285 (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
2286 (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
2287 * rs6000.md: Name various internal patterns.
2288
742dff15
JH
22892000-05-25 Jan Hubicka <jh@suse.cz>
2290
2291 * jump.c (invert_exp_1): Remove first argument, use pc_set
2292 to get the expression.
2293 (redirect_exp): Make static; redirect only the pc_set expression,
2294 remove first argument.
2295 (invert_exp): Remove first argument, make static.
2296 (jump_optimize): Use any_condjump_p, any_uncondjump_p and
2297 any_onlyjump at most places where we originaly did condjump_p
2298 and simplejump_p.
2299 (jump_back_p, follow_jumps, thread_jumps): Likewise.
2300 (delete_barrier_succesors): Use pc_set.
2301 (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
2302 calls of invert_exp and redirect_exp.
2303 * rtl.h (redirect_exp, invert_exp): Remove.
2304 * unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
2305
d1ee23e5
RH
23062000-05-25 Richard Henderson <rth@cygnus.com>
2307
2308 * stmt.c (expand_end_bindings): Fix thinko last change.
2309
ce152ef8 23102000-05-25 Andrew MacLeod <amacleod@cygnus.com>
742dff15 2311 Andrew Haley <aph@cygnus.com>
ce152ef8
AM
2312
2313 * except.c (func_eh_entry): Add emitted field.
2314 (new_eh_region_entry): Set emitted field to 0;
2315 (output_exception_table_entry): Only emit previously un-emitted data,
2316 and send it to the eh_data section.
2317 (output_exception_table): Break out common parts. Output
2318 exception table for entire compilation unit to eh_data section.
2319 (output_exception_table_data): Common parts of output_exception_table.
2320 Send output to eh_data section.
2321 (output_function_exception_table): Output exception table data for
2322 a single function to eh_data section.
2323 (free_exception_table): New external to free the table.
2324 * except.h (free_exception_table): Add prototype.
2325 (output_function_exception_table): Add prototype.
2326 * final.c (final_end_function): Output function exception table
2327 for IA64_UNWIND_INFO.
2328 (final_scan_insn): Emit any unwind directives for an insn.
2329
2330 * frame-dwarf2.c: New file containing all DWARF 2 specific code
2331 from frame.c.
2332 * frame.c: Remove all DWARF 2 specific code.
2333 * config/ia64/frame-ia64.c: New file.
7e585d16 2334 (gthread_stuff): Make all gthread available with
ce152ef8
AM
2335 IA64_UNWIND_INFO.
2336 (dwarf_fde): Define an IA64 struct for dwarf_fde.
2337 (__register_frame_info, __register_frame): Move to common area of file.
2338 (__register_frame_info_table, __register_frame_table): Move to common i
2339 area.
2340 (__deregister_frame_info, __deregister_frame): Move to common area.
2341 (__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
2342 (read_uleb128): New version for ia64.
2343 (get_unwind_record): Read the next IA-64 unwind record.
2344 (read_R_record): Read a region header record.
2345 (process_a_b_reg_code): X record helper.
2346 (read_X_record): Read an X format record.
2347 (read_B_record): Read a B format record.
2348 (P3_record_types): List of record types matching the P3 format.
2349 (P7_record_types): List of record types matching the P7 format.
2350 (P8_record_types): List of record types matching the P8 format.
2351 (read_P_record): Read a P format record.
2352 (init_ia64_reg_loc): Set default fields for a register.
2353 (init_ia64_unwind_frame): Set defaults for all register records.
2354 (execute_one_ia64_descriptor): Execute one descriptor record.
2355 (rse_address_add): Calculate the position of a local reg in memory.
2356 (normalize_reg_loc): Turn a location descriptor into a memory address.
7e585d16 2357 (maybe_normalize_reg_loc): Only normalize a descriptor if it falls
ce152ef8
AM
2358 within a specified PC offset range.
2359 (get_real_reg_value): Given a register location, retrieve its value.
2360 (set_real_reg_value): Change the value of a register location.
2361 (copy_reg_value): Copy reg values, if needed.
2362 (copy_saved_reg_state): Copy all registers that need to be copied.
2363 (process_state_between): Normalize all frame register records that
2364 fall within the specified PC range.
7e585d16 2365 (frame_translate): Take a processed frame description, and turn
ce152ef8
AM
2366 everything into addresses.
2367 (build_ia64_frame_state ): Find and create frame state record for a PC.
2368 (get_personality): Get the personality routine for a given frame.
2369 (get_except_table): Get the exception table for a given frame.
2370 (record_name): Unwind record names for debugging.
2371 (print_record): Print and unwind record.
2372 (print_all_records): Print an entire unwind image.
2373 (__ia64_backtrace): Print a backtrace.
2374 (ia64_backtrace_helper): New function.
2375 (__register_frame_info_aux): New function.
2376 * config/ia64/crtend.asm (__do_frame_setup_aux): New function.
2377
2378 * frame.h (enum unw_record_type): New unwind record types.
2379 (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
2380 (struct unw_r_record, unwind_record): New unwind record structs.
2381 (struct unwind_info_ptr): Unwind information layout.
7e585d16 2382 (IA64_UNW_LOC_TYPE_*): Macros for different types for location
ce152ef8
AM
2383 descriptors.
2384 (struct ia64_reg_loc): Register location description.
2385 (struct ia64_frame_state): Location of all registers in a frame.
2386 (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
2387 * libgcc2.c (__ia64_personality_v1): Personality routine.
2388 (__calc_caller_bsp): Calculate the bsp register for the caller's
2389 frame.
7e585d16 2390 (ia64_throw_helper): Figure out who to return to and set up the
ce152ef8
AM
2391 registers.
2392 (__throw): Throw routine.
2393
2394 * output.h (assemble_eh_align, assemble_eh_label): New functions
7e585d16 2395 to generate EH info where we want it.
ce152ef8
AM
2396 (assemble_eh_integer): New function.
2397 * toplev.c (compile_file): Output module level exception table for
2398 non-ia64 targets.
7e585d16 2399 (main): Set exceptions_via_longjump and flag_new_exceptions based
ce152ef8
AM
2400 on IA64_UNWIND_INFO too.
2401
2402 * varasm.c (assemble_eh_label): Generate a label via
2403 ASM_OUTPUT_EH_LABEL if it has been specified.
7e585d16 2404 (assemble_eh_align): Generate an alignment directive via
ce152ef8
AM
2405 ASM_OUTPUT_EH_ALIGN if it has been specified.
2406 (assemble_eh_label): Generate an integer value via
2407 ASM_OUTPUT_EH_type if they have been specified.
2408 * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
2409 (ia64_init_builtins): Add __builtin_ia64_bsp
7e585d16 2410 and __builtin_ia64_flushrs.
ce152ef8
AM
2411 (ia64_expand_builtin): Add IA64_BUILTIN_BSP and
2412 IA64_BUILTIN_FLUSHRS.
2413 * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
2414 IA64_BUILTIN_FLUSHRS.
2415
2416 * config/ia64/ia64.md (flushrs): New insn to flush the register
2417 stack. Add to unspec list.
2418
2419 * config/ia64/crtbegin.asm (frame_object): Change size.
2420 (__do_frame_setup_aux): New function.
2421 * config/ia64/crtend.asm: call __do_frame_setup_aux.
2422 * config/ia64/t-ia64 (LIB2ADDEH): Add.
2423 * Makefile.in (LIB2ADDEH): Add.
2424 (LIB2ADD): Use LIB2ADDEH.
7e585d16 2425
7bdebc3a
RH
24262000-05-24 Richard Henderson <rth@cygnus.com>
2427
2428 * recog.c (offsettable_address_p): If mode size is zero, assume
2429 BIGGEST_ALIGNMENT.
2430
ff5def20
DA
24312000-05-24 J. David Anglin <dave@hiauly.hia.nrc.ca>
2432
2433 * configure.in: Check for -Wno-long-long option support and improve
2434 handling of warning CFLAGS for stages 1 and 2.
2435 * Makefile.in (WARN_CFLAGS): Move definition to configure.in.
2436 * configure: Regenerate.
2437
c20a2ab1
JL
2438Wed May 24 19:37:53 2000 Jeffrey A Law (law@cygnus.com)
2439
2440 * gcc.texi: Remove contributor list. Instead include contrib.texi.
2441 * contrib.texi: New file.
2442
af198097
R
2443Thu May 25 02:27:22 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2444
2445 * loop.c (basic_induction_var): Avoid double recording of an increment.
2446
98d1cd45
R
2447Thu May 25 02:19:27 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2448
2449 * Back out this patch:
2450 Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com>
742dff15
JH
2451 * loop.h (struct induction): Add multi_insn_incr.
2452 * loop.c (basic_induction_var): New multi_insn_incr argument.
2453 Set it if we search back through previous insns for the biv.
2454 (record_biv): New multi_insn_incr argument; fill in struct induction.
2455 (strength_reduce): Discard an iv with multiple bivs, any of
2456 which require multiple insns to increment.
98d1cd45
R
2457
2458 * loop.c (check_insn_for_bivs): Remove bits copied from above patch.
2459
db7ba742
R
2460Thu May 25 02:09:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2461
2462 * rtl.h (loc_mentioned_in_p): Declare.
2463 * reload.c (loc_mentioned_in_p): Moved from here...
2464 * rtlanal.c (loc_mentioned_in_p): to here. No longer static.
2465 Fix loop increment for 'E' handling.
2466 * loop.c (strength_reduce): When doing biv->giv conversion,
2467 take multi-insn biv increments into account.
2468
04da69d3
JM
24692000-05-24 Jason Merrill <jason@casey.soma.redhat.com>
2470
2471 * stmt.c (expand_end_bindings): Look through NOTEs to find a
2472 BARRIER.
2473
f5e846c8
MM
24742000-05-24 Mark Mitchell <mark@codesourcery.com>
2475
2476 * calls.c (expand_call): Handle cleanups in tail-recursion
2477 arguments analagously to cleanups in sibling calls.
2478
ba34d877
KG
24792000-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2480
2481 * simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND.
2482 All callers changed.
2483
ea4da9db
AO
24842000-05-24 Alexandre Oliva <aoliva@cygnus.com>
2485
2486 * expr.c (expand_assignment, store_expr, expand_expr,
2487 expand_expr_unaligned): Set in_check_memory_usage while emitting
2488 chkr_check_addr libcall.
2489
d08230fe
NC
24902000-05-24 Nick Clifton <nickc@cygnus.com>
2491
2492 * fold-const.c (extract_muldiv): When constructing a
2493 multiplier/divisor, do not expect const_binop to correctly
2494 determine if overflow has occured, so check explicitly.
2495
0543d026
AO
24962000-05-24 Alexandre Oliva <aoliva@cygnus.com>
2497
2498 * c-decl.c (build_enumerator): Don't modify the value's type,
2499 convert it.
2500
3c56b105
AJ
25012000-05-24 Andreas Jaeger <aj@suse.de>
2502
2503 * mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default.
2504
b39d221a
EC
25052000-05-24 Eric Christopher <echristo@cygnus.com>
2506
2507 * configure.in: Redefine inhibit_libc conditions.
2508 * libgcc2.c: Remove inhibit_libc conditional define.
2509 * configure: Regenerate.
2510
d6c6b553
PE
25112000-05-24 Phil Edwards <pme@sourceware.cygnus.com>
2512
2513 * configure.in: For --enable-languages=LIST, check for empty LIST.
2514 * configure: Regenerate.
2515
53e2d849
LB
25162000-05-24 Lars Brinkhoff <lars@nocrew.org>
2517
2518 * pdp11.h (STACK_BOUNDARY): Define.
2519
5896bebb
JJ
25202000-05-24 Jakub Jelinek <jakub@redhat.com>
2521
2522 * ifcvt.c (if_convert): Update life info globally.
2523
5c6df058
AO
25242000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2525
2526 * emit-rtl.c (unshare_all_decls): New function.
2527 (unshare_all_rtl): Call it.
2528
cd2b33d0
NC
25292000-05-23 Nick Clifton <nickc@cygnus.com>
2530
2531 * configure.in: Treat 'strongarm' as if it were 'arm' when
2532 determining cpu type.
2533
2534 * configure: Regenerate.
2535
2536 * config/arm/arm.c: Change 'char *' to 'const char *' for cases
2537 where constant strings are involved.
2538
2539 * config/arm/arm.h (arm_condition_codes): Change type to 'const
2540 char *'.
2541
2542 * config/arm/arm-protos.h: Change 'char *' to 'const char *' for
2543 cases where constant strings are involved.
2544
8ceaac3c
CP
2545Tue May 23 15:08:31 2000 Clinton Popetz <cpopetz@cygnus.com>
2546
2547 * config/sh/sh.c (gen_far_branch, split_branches): Update
2548 to reflect new prototypes for redirect_jump and invert_jump.
2549 (sh_insn_length_adjustment): Get rid of const warnings.
2550
923c2d86
KH
25512000-05-23 Kazu Hirata <kazu@hxi.com>
2552
2553 * invoke.texi (Options for Debugging Your Program or GCC): Update
2554 the names of dump files.
2555
e38df833
PDM
2556Tue May 23 13:58:52 2000 Philippe De Muyter <phdm@macqel.be>
2557
2558 * configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix.
2559 * configure: Regenerated.
2560
3839069b
ZW
25612000-05-23 Zack Weinberg <zack@wolery.cumb.org>
2562
2563 * simplify-rtx.c (SIGN_EXTEND): New macro.
7e585d16 2564 (simplify_unary_operation, simplify_binary_operation,
3839069b 2565 simplify_relational_operation): Use SIGN_EXTEND. Make low
7e585d16 2566 halves of (low, high) pairs unsigned if they weren't already.
3839069b
ZW
2567 (simplify_ternary_operation): Cast INTVAL to unsigned before
2568 comparing to a MODE_BITSIZE.
2569
f31e826b
KG
25702000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2571
2572 * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros
2573 rewritten from the internals of gcc_AC_NEED_DECLARATION{S}.
7e585d16 2574
f31e826b
KG
2575 * configure.in (gcc_AC_CHECK_DECLS): Call this instead of
2576 gcc_AC_NEED_DECLARATIONS.
2577
2578 * dwarfout.c: Don't prototype time().
2579
2580 * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*.
2581
2582 * system.h: Likewise.
2583
2584 * toplev.c: Likewise.
2585
04de7314
ZW
25862000-05-23 Zack Weinberg <zack@wolery.cumb.org>
2587
2588 * c-decl.c (pushdecl): Invert sense of test for non-global types.
2589
a3afe920
R
2590Tue May 23 18:11:42 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2591
2592 * reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION.
2593
ed7fd6c8
JL
25942000-05-23 Jonathan Larmour <jlarmour@redhat.co.uk>
2595
2596 * config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define
2597
b81f53a1
RK
2598Tue May 23 06:50:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2599
2600 * config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
2601 (alpha_start_function): Never write ..ng label if VMS or NT.
2602 (alpha_align_insns): Remove GP_IN_USE arg.
2603 Alignment now unsigned.
2604 (alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
2605 * config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
2606 and two define_insn's.
2607
3c094e22
RH
26082000-05-22 Richard Henderson <rth@cygnus.com>
2609
2610 * combine.c (simplify_comparison): Use trunc_int_for_mode.
2611
163d3408
RH
26122000-05-22 Richard Henderson <rth@cygnus.com>
2613
2614 * stor-layout.c (place_field): Change rli->size to rli->offset.
2615
ca1117cc
RH
26162000-05-22 Richard Henderson <rth@cygnus.com>
2617
7e585d16 2618 * function.c (thread_prologue_and_epilogue_insns): Make sure
ca1117cc
RH
2619 existing line number notes appear after the prologue.
2620
941cc05a
RK
2621Mon May 22 21:49:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2622
2623 * config/alpha/alpha.c (alpha_fnname): New static variable.
2624 (print_operand, case '~'): New case.
2625 (alpha_expand_prologue): Emit prologue_ldgp insn if needed.
2626 (alpha_start_function): Set alpha_fnname.
2627 Write "ng" label if no ldgp; don't write ldgp insn.
2628 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
2629 * config/alpha/alpha.md (prologue_ldgp): New define_insn.
2630
46972a36
CP
2631Mon May 22 11:30:48 2000 Clinton Popetz <cpopetz@cygnus.com>
2632
2633 * jump.c (jump_optimize_1): Don't increment LABEL_NUSES
2634 on deleted labels.
2635
5dd33f4b
ZW
26362000-05-22 Zack Weinberg <zack@wolery.cumb.org>
2637
2638 * varasm.c (eh_frame_section): Revert change to argument list.
2639
2bc9f98c
RK
2640Mon May 22 13:14:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2641
678164a5
RK
2642 * optabs.c (can_extend_p): Allow unsignedp to have any nonzero value.
2643 (gen_extend_insn, can_fix_p, can_float_p): Likewise.
7e585d16 2644
2bc9f98c
RK
2645 * final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
2646 dangling "else" that causes "break" to be conditional.
2647 Also remove unneeded code at start.
2648
37941398
PDM
2649Mon May 22 17:31:35 2000 Philippe De Muyter <phdm@macqel.be>
2650
2651 * m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1.
2652 * fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto.
2653 * gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto.
2654
1f046771
JJ
26552000-05-22 Jakub Jelinek <jakub@redhat.com>
2656
2657 * config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has
2658 just one argument.
2659
a0c33338
RK
2660Mon May 22 06:57:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2661
2662 * alias.c (record_component_aliases): New function.
2663 * tree.h: Clean up some declarations and comments.
2664 (record_component_aliases): New declaration.
2665 * tree.c (get_alias_set): If type and has alias set, use it.
2666
a774e06e
RH
26672000-05-22 Richard Henderson <rth@cygnus.com>
2668
2669 * simplify-rtx.c (simplify_ternary_operation): Try to simplify
2670 IF_THEN_ELSE to a setcc form.
0dab8f8a 2671 * jump.c (can_reverse_comparison_p): Be prepared for insn null.
a774e06e 2672
93a718f6
KG
26732000-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2674
2675 * fixinc/inclhack.def (sun_malloc): Handle `calloc'.
2676 (sun_malloc, sysz_stdtypes_for_sun): Add test_text.
2677
f85cf636
RK
2678Sun May 21 16:42:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2679
2680 * combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is
2681 not a PARALLEL.
2682
242b0ce6
AO
26832000-05-20 Alexandre Oliva <aoliva@cygnus.com>
2684
212bc5fa
AO
2685 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
2686 * config/mn10300/mn10300.c (print_operand): Likewise.
2687
7f251dee
AO
2688 * final.c (split_double): Right shift of negative values is not
2689 portable.
2690
13462862
AO
2691 * ifcvt.c (if_convert): Scan and kill dead code.
2692
242b0ce6
AO
2693 * emit-rtl.c (unshare_all_rtl): Store the copied rtx.
2694
fbd40359
ZW
26952000-05-20 Zack Weinberg <zack@wolery.cumb.org>
2696
2697 * diagnostic.c: Eliminate implicit int.
2698 * except.c, gcc.c: Add static prototypes.
2699 * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
2700 * gensupport.c (process_rtx): Use XVEC to initialize vector
2701 slot of 'split'.
2702
7e585d16 2703 * print-rtl.c: If DEBUG_REGISTER_NAMES, define static
fbd40359
ZW
2704 debug_reg_names instead of static reg_names. If not, define
2705 global reg_names.
2706 * regclass.c: Don't define global reg_names unless
2707 DEBUG_REGISTER_NAMES is defined.
2708
2709 * reload1.c (order_regs_for_reload): Remove unused variable.
2710 * varasm.c: Include output.h after defaults.h. Define
2711 eh_frame_section as function of no args, not of unspecified args.
2712
2713 * gcc.c: Constify argbuf; arguments to store_arg,
2714 process_command, main; elements of struct command and struct
2715 switchstr; local variables in execute, process_command, main.
2716
cd64831f
BK
27172000-05-20 Bruce Korb <bkorb@gnu.org>
2718
cb8d5168 2719 * fixinc/inclhack.def: many applications of c_fix=format + tests
cd64831f 2720 * fixinc/check.diff: regenerated
a8228686 2721 * fixinc/fixincl.x: regenerated
cd64831f 2722
dc1618bc
RK
2723Sat May 20 09:30:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2724
ac3d9668
RK
2725 * alias.c: Clarify some comments.
2726 (record_base_value): REGNO is unsigned.
2727 * rtl.h (record_base_value): Likewise.
2728
dc1618bc
RK
2729 * alias.c (aliases_everything_p): Don't special-case QImode here.
2730 * c-common.c (c_get_alias_set): Do it here.
2731 Handle BIT_FIELD_REF by getting alias info for arg.
2732 Use POINTER_TYPE_P.
2733
de467fe7
AO
27342000-05-20 Alexandre Oliva <aoliva@cygnus.com>
2735
2736 * mklibgcc.in: Restore rule to create ${dir}.
2737
34840988
L
2738Sat May 20 08:45:41 2000 H.J. Lu <hjl@gnu.org>
2739
2740 * Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for
2741 GCC_FOR_TARGET used by MULTILIBS.
2742 * mklibgcc.in: Make sure each .o file depends on the
2743 directory it will be in.
2744 Make the multilib directory depends libgcc.
2745
b71e9845
L
2746Sat May 20 08:29:28 2000 H.J. Lu <hjl@gnu.org>
2747
2748 * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1.
2749
c2b63960
AO
2750Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com>
2751
2752 * fold-const.c (make_range): Handle degenerated intervals.
2753 Fixes c-torture/execute/991221-1.c
2754
efc9bd41
RK
2755Fri May 19 18:16:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2756
2757 * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
2758 * reload.c (find_equiv_reg): Likewise.
2759 * alias.c (init_alias_analysis): Likewise.
2760 Only call prologue_epilogue_contains on insns.
2761 * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
2762 * bb-reorder.c (hard-reg-set.h): Include earlier.
2763 * haifa-sched.c (hard-reg-set.h): Likewise.
2764 * ifcvt.c (hard-reg-set.h): Likewise.
2765 * local-alloc.c (hard-reg-set.h): Likewise.
2766 * loop.c (hard-reg-set.h): Likewise.
2767 * predict.c (hard-reg-set.h): Likewise.
2768 * regrename.c (hard-reg-set.h): Likewise.
2769 * flow.c (hard-reg-set.h): Likewise.
2770 (reg_set_to_hard_reg_set): New function.
2771 * bitmap.c (regs.h, basic-block.h): No longer include.
2772 (bitmap.h): Now include.
2773 * conflict.c (hard-reg-set.h): Include.
2774 * profile.c (hard-reg-set.h): Likewise.
2775 * print-rtl.c (hard-reg-set.h): Likewise.
2776 * sbitmap.c (hard-reg-set.h): Likewise.
2777 * toplev.c (hard-reg-set.h): Likewise.
2778 * unroll.c (hard-reg-set.h, basic-block.h): Likewise.
2779 * hard-reg-set.h (reg_names): Now constant.
2780 * regs.h (reg_names): Likewise.
2781 * regclass.c (reg_names): Likewise.
2782 * loop.h (basic-block.h): No longer include.
2783 (bitmap.h): Now include.
2784 * reload1.c (order_regs_for_reload): Avoid loop over reg sets.
2785 * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
2786 (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.
2787
51891abe
JH
27882000-05-19 Jan Hubicka <jh@suse.cz>
2789 Richard Henderson <rth@cygnus.com>
2790
2791 * basic-block.h (struct edge_def): New field "count".
2792 (struct basic_block_def): Likewise.
2793 * flow.c (entry_exit_blocks): Add count fileds.
2794 (split_edge): Keep count information up-to-date.
2795 (dump_edge_info, dump_flow_info): Dump count fields.
2796
2797 * final.c (count_instrumented_edges): Rename to edge from arc.
2798 (end_final): Update users.
2799 * profile.c: Include expr.h, basic-block.h.
2800 (struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
2801 (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
2802 (ignore_next_note, return_label_execution_count): Kill.
2803 (bbg_file_name, da_file_name): Kill.
2804 (edge_info, bb_info): New structures.
2805 (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
2806 (count_instrumented_edges, total_num_edges): Rename to edge from arc.
2807 (total_num_edges_instrumented): Likewise.
2808 (init_arc, expand_spanning_tree): Kill.
2809 (fill_spanning_tree, tablejump_entry_p): Kill.
2810 (instrument_edges): Rewrite from instrument_arcs to use
2811 commit_edge_insertions infrastructure.
2812 (compute_branch_probabilities): Remove arguments; rewrite for
2813 CFG infrastructure; use rtl_dump_file directly.
2814 (branch_prob, find_spanning_tree): Likewise.
2815 (union_groups, find_group): New.
2816 (init_branch_prob): Make bbg_file_name and da_file_name local.
2817 (end_branch_prob): Use rtl_dump_file directly.
2818 (init_edge_profiler): Rename to edge from arc.
2819 (output_arc_profiler): Kill.
2820 (gen_edge_profiler): New.
2821 (output_func_start_profiler): Turn off profiling. Make the
2822 constructor static when we can.
2823 * rtl.h (branch_prob, end_branch_prob): Update prototypes.
2824
2825 * toplev.c (DFI_flow): Remove.
2826 (DFI_cfg, DFI_life): New.
2827 (dump_file): Update accordingly.
2828 (compile_file): Call end_branch_prob if profile_arc_flag too.
2829 (rest_of_compilation): Move flow1 cfg creation to DFI_cfg. Do edge
2830 profiling after the CFG is built. Move flow1 life analysis to
2831 DFI_life. Always estimate remaining probabilities.
2832
228c4d97
RH
28332000-05-19 Richard Henderson <rth@cygnus.com>
2834
b6cfd264
RH
2835 * ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
2836
228c4d97
RH
2837 * flow.c (make_edges): The sibling call edge to exit is abnormal.
2838
9ba11d5a
RH
28392000-05-19 Richard Henderson <rth@cygnus.com>
2840
2841 * jump.c (redirect_jump): Add delete_unused argument. Don't
2842 remove labels and code following when LABEL_NUSES goes to zero.
2843 (invert_jump): Likewise.
2844 (jump_optimize_1): Fix redirect/invert arguments.
2845 (do_cross_jump, thread_jumps): Likewise.
2846 * flow.c (split_edge): Likewise.
2847 * reorg.c (optimize_skip): Likewise.
2848 (reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise.
2849 * profile.c (instrument_arcs): Likewise.
2850 * loop.c (find_and_verify_loops): Likewise. Fix indentation.
2851 * rtl.h: Update prototypes.
2852
555a0aa7
CP
2853Fri May 19 12:05:13 2000 Clinton Popetz <cpopetz@cygnus.com>
2854
7e585d16 2855 * ssa.c (convert_from_ssa): Tell life_analysis we need death
555a0aa7
CP
2856 notes.
2857 (make_regs_equivalent_over_bad_edges): Only look at abnormal
2858 critical edges.
2859
a58f64f5
ZW
28602000-05-19 Zack Weinberg <zack@wolery.cumb.org>
2861
021c89ed 2862 * cpphash.c (funlike_macroexpand): Make sure not to walk p1
7e585d16 2863 past l1 when deleting whitespace and markers.
021c89ed 2864
a58f64f5
ZW
2865 * cpplex.c (_cpp_scan_until): Clear AUX field of tokens.
2866 * cpplib.c (do_unassert): Put the list to compare against on
2867 the stack.
2868
da6d3adf
BK
28692000-05-19 Bruce Korb <bkorb@gnu.org>
2870
2871 * fixinc/README: cleaned up old documentation
2872 * fixinc/check.diff: regenerated & verified on OSR5 on ix86
2873 * fixinc/check.tpl: compute the list of needed directories
2874 emit "#if defined(name)" because of conflict
2875 omit machine name differences from output differences
2876 * fixinc/inclhack.def( m88k_multi_incl ): Use `wrap' function
2877 (machine_name): change test text to use `sed' markers
2878 * fixinc/fixincl.x: regen
2879
f2b33981
RK
2880Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2881
2882 * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
2883 a CONSTRUCTOR.
2884
c6fd0f17
CD
28852000-05-18 Chris Demetriou <cgd@sibyte.com>
2886
2887 * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
2888 it to match the current practice.
2889
e7f731a7
MM
28902000-05-18 Mark Mitchell <mark@codesourcery.com>
2891
2892 * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under.
2893
a8393d5d
RH
28942000-05-18 Richard Henderson <rth@cygnus.com>
2895
2896 * rtlanal.c (insn_dependant_p, insn_dependant_p_1): New.
2897 * rtl.h (insn_dependant_p): Declare it.
2898 * loop.c (strength_reduce): Use it.
2899
036182e7
AO
29002000-05-18 Alexandre Oliva <aoliva@cygnus.com>
2901
2902 * config/mn10300/mn10300.c (expand_prologue, expand_epilogue):
2903 16-bit and 64-bit clean-up.
2904
2838397c
ME
29052000-05-18 Mark Elbrecht <snowball3@bigfoot.com>
2906
9ba11d5a 2907 * configure.in (*-pc-msdosdjgpp): Set float_format to none.
2838397c
ME
2908 * configure: Rebuilt.
2909
1b3459d2
ZW
29102000-05-18 Zack Weinberg <zack@wolery.cumb.org>
2911
2912 * genopinit.c: Use $ for escape sequences in optab patterns.
2913 Remove backslashes from optab patterns. Change $A, $B, $C to
2914 expand to (int) whatever instead of just whatever; remove
2915 explicit (int) from all optab patterns.
2916
2917 * gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
2918 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
2919 genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
2920 genrecog.c: Remove private copies of xmalloc, xrealloc, and
2921 xstrdup.
2922
3fe3a08f
RH
29232000-05-18 Richard Henderson <rth@cygnus.com>
2924
2925 * jump.c (jump_optimize_1): Base minimum insn count during
2926 find_cross_jump on BRANCH_COST.
2927
21835d9b
JJ
29282000-05-18 Jakub Jelinek <jakub@redhat.com>
2929
2930 * print-rtl.c (print_rtx): Only print note line number as string
2931 if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
2932 * final.c (final_scan_insn): Do nothing for note line number 0.
2933
099049da
JJ
29342000-05-18 Jakub Jelinek <jakub@redhat.com>
2935
2936 * gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
2937 from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
2938 NOTE_INSN_DELETED_LABEL.
2939
265f5849
NC
29402000-05-18 Nick Clifton <nickc@cygnus.com>
2941
2942 * config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant,
2943 uninitialised data in .rodata not .bss, and do not interpret an
2944 error in the initialisation value as meaning that the variable
2945 should be placed in the .bss section.
2946
3642ea2f
PDM
2947Thu May 18 12:10:18 2000 Philippe De Muyter <phdm@macqel.be>
2948
2949 * configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o',
2950 not `$ac_cv_prog_cc_cc_c_o'.
2951 * configure: Regenerated.
2952
7aba5a5f
CD
29532000-05-18 Chris Demetriou <cgd@sibyte.com>
2954 Richard Henderson <rth@cygnus.com>
2955
2956 * c-common.h (enum c_tree_index): Add g77 type entries.
2957 (g77_integer_type_node, g77_uinteger_type_node): New.
2958 (g77_longint_type_node, g77_ulongint_type_node): New.
2959 * c-decl.c (init_decl_processing): Initialize them.
2960
009ac3d3
RH
29612000-05-18 Richard Henderson <rth@cygnus.com>
2962
14f3e03b
RH
2963 * config/h8300/h8300.md (subs patterns): Use %G to negate.
2964
009ac3d3
RH
2965 * config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT.
2966 (small_power_of_two): Likewise; use exact_log2.
2967 (adds_subs_operand, one_insn_adds_subs_operand): Remove.
2968 (output_adds_subs): Remove.
2969 (two_insn_adds_subs_operand): New.
2970 (split_adds_subs): New.
2971 * config/h8300/h8300-protos.h: Update.
2972 * config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT.
2973 (CONST_OK_FOR_L): Match strict adds operands.
2974 (CONST_OK_FOR_N): Match struct subs operands.
2975 * config/h8300/h8300.md (adds_subs insns): Remove.
2976 (addhi patterns): Output adds/subs directly.
2977 (addsi_h8300h): Likewise.
2978 (addhi/addsi splitters): New. Decompose two_insn_adds_subs_operand.
2979
15dad1d9
ZW
29802000-05-18 Zack Weinberg <zack@wolery.cumb.org>
2981
2982 * cppexp.c (parse_assertion): New.
2983 (lex): Call it for CPP_HASH. Remove CPP_ASSERTION case.
2984 (_cpp_parse_expr): Remove case '#'. Don't set
2985 parsing_if_directive.
2986 * cpphash.c (collect_objlike_expansion,
2987 collect_funlike_expansion, collect_params,
2988 _cpp_create_definition): The list no longer has a trailing
2989 VSPACE token.
2990 * cpphash.h (enum node_type): Add T_ASSERTION.
2991 (struct hashnode): Remove aschain, add pred.
2992 (struct predicate): New.
2993 Update prototypes.
2994
2995 * cpplex.c (expand_token_space): Handle both offset and
2996 nonoffset lists.
2997 (init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
2998 (_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
2999 _cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
3000 _cpp_equiv_toklists): New.
3001 (_cpp_scan_line): Rename to _cpp_scan_until; add ability to
3002 stop at any single-character token, not just newline.
3003 (_cpp_lex_token): Remove special cases for #define and #if.
3004 (cpp_get_token): Expect # as a separate token type. Remove
3005 DIRECTIVE case.
3006 (_cpp_get_directive_token): Remove DIRECTIVE case.
3007 (_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
3008
3009 * cpplib.c (_cpp_check_directive): Set dirno and
3010 SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
3011 (_cpp_handle_directive): Run # <number> through the same logic
3012 as normal directives.
3013 (do_define): Don't set parsing_define_directive. Use
3014 _cpp_scan_until. The list does not have a VSPACE at the end.
7e585d16 3015 (do_if): Save, clear, and restore only_seen_white around
15dad1d9
ZW
3016 _cpp_parse_expr.
3017 (skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
3018 (do_assert, do_unassert): Rewrite.
3019
3020 * cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
3021 (LIST_OFFSET): New flag.
3022 (struct cpp_toklist): Replace dir_handler and dir_flags with
3023 dirno and flags.
3024 (struct cpp_reader): Remove parsing_if_directive and
3025 parsing_define_directive.
3026
7021bb50
KG
30272000-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3028
3029 * fixinc/inclhack.def (broken_cabs): Update fix to handle comments
3030 following the cabs decl which terminate on the following line.
3031 Add the corresponding test_text case.
3032
6ab3e7dd
NB
30332000-05-18 Neil Booth <NeilB@earthling.net>
3034
3035 * cppinit.c (cpp_reader_init): Initialise col_adjust and
3036 default tab stop size.
3037 (no_num, OPT_ftabstop): New.
3038 (handle_option): Handle "ftabstop=" command-line option.
3039 (print_help): Document it.
3040 * cpplex.c (COLUMN): Remove.
3041 (handle_newline): Reset col_adjust.
3042 (skip_whitespace): Update col_adjust as tabs encountered.
3043 (_cpp_lex_line): Update to use col_adjust. Call
3044 skip_whitespace for all whitespace.
3045 * cpplib.h (struct cpp_options): New member tabstop.
3046 (struct cpp_reader): New member col_adjust.
3047 (CPP_BUF_COL): Update.
3048 (CPP_BUF_COLUMN): New.
3049 * cpp.texi: Document "-ftabstop=" command line option.
3050
b4c7e567
PDM
3051Wed May 17 18:19:41 2000 Philippe De Muyter <phdm@macqel.be>
3052
3053 * configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT
3054 files.
3055 * configure: Rebuilt.
3056
935fb9c4
JDA
3057Wed May 17 18:06:12 2000 John David Anglin <dave@hiauly1.hia.nrc.ca>
3058
b7d95e6f
JDA
3059 * mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c.
3060
935fb9c4
JDA
3061 * tree.c (build_common_tree_nodes): Do not build TI nodes unless
3062 HOST_BITS_PER_WIDE_INT is >= 64.
3063
d67b9d00
RH
30642000-05-17 Richard Henderson <rth@cygnus.com>
3065
3066 * jump.c (jump_optimize_1): Remove inactive but real insns
3067 in jump-to-next-insn optimization.
3068
97d36f45
RH
30692000-05-17 Richard Henderson <rth@cygnus.com>
3070
3071 * toplev.c (rest_of_compilation): Don't call optimize_mode_switching
3072 unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos.
3073 Don't call recompute_reg_usage if no_new_pseudos is true.
3074 * lcm.c (optimize_mode_switching): Move ifdefs outside function.
3075 Return true if we did work; update global life information.
3076 * basic-block.h (optimize_mode_switching): Update decl.
3077
79f50f2a
NB
30782000-05-17 Neil Booth <neilb@earthling.net>
3079
3080 * cpplex.c (expand_name_space): Don't use ptrdiff_t.
3081
2c0b35cb
ZW
30822000-05-17 Zack Weinberg <zack@wolery.cumb.org>
3083
3084 * cpplib.c: New feature, #pragma system_header.
3085 * cpp.texi: Document special treatment of system headers, and
3086 the various mechanisms to get a header that special treatment.
3087
e0125cf3
KG
30882000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3089
3090 * system.h (offsetof): Define at the very end, to ensure we prefer
3091 the platform's definition if available.
e9099386
BK
3092
30932000-05-16 Bruce Korb <bkorb@gnu.org>
3094
3095 * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
3096 * fixinc/server.c: likewise
3f69bd93
BK
3097 * fixinc/fixfixes.c( char_macro_def_fix ): fix regex
3098 + #ifdef debugging code + use #def constant for
3099 sub-pattern count
2dc693ee
BK
3100 * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
3101 on C++ math namespace
e9099386 3102
558fe506
KG
31032000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3104
3105 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3106 Don't check the return value of sprintf. Use asprintf to avoid
3107 buffer overflows.
3108
078721e1
AC
3109Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
3110
3111 * flags.h (warn_unused_function, warn_unused_label,
3112 warn_unused_parameter, warn_unused_variable, warn_unused_value):
3113 Replace ``warn_unused''.
3114 (set_Wunused): Add declaration.
3115 * toplev.c (set_Wunused): New function.
3116 (warn_unused_function, warn_unused_label, warn_unused_parameter,
3117 warn_unused_variable, warn_unused_value): New variables.
3118 (W_options): Add -Wunused-function, -Wunused-function,
3119 -Wunused-label, -Wunused-parameter, -Wunused-variable and
3120 -Wunused-value. Delete -Wunused. Handled in decode_W_option.
3121
3122 * toplev.c (decode_W_option): Update -Wunused flags by calling
3123 set_Wunused.
3124 * c-decl.c (c_decode_option): Ditto for -Wall.
3125
3126 * stmt.c (expand_expr_stmt, expand_expr_stmt,
3127 warn_about_unused_variables): Replace warn_unused with more
3128 explicit warn_unused_value et.al.
3129 * function.c (expand_function_end): Ditto.
3130 * c-typeck.c (internal_build_compound_expr,
3131 internal_build_compound_expr): Ditto.
3132 * c-decl.c (poplevel, pop_label_level): Ditto.
3133 * toplev.c (check_global_declarations): Replace warn_unused with
3134 check for either warn_unused_function or warn_unused_variable.
3135
3136 * gcc.1, invoke.texi (Warning Options): Document
3137 -Wunused-function, -Wunused-function, -Wunused-label,
3138 -Wunused-parameter, -Wunused-variable and -Wunused-value options.
3139
6f6ceed0
PDM
3140Wed May 17 10:28:12 2000 Philippe De Muyter <phdm@macqel.be>
3141
3142 * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in
3143 $(srcdir), not in the current directory.
3144
53749ab7
RH
31452000-05-16 Richard Henderson <rth@cygnus.com>
3146
3147 * config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
3148 assembler supports it.
3149 (.fini, .init): Use a gp-relative indirect call.
3150 (__do_global_dtors_aux): Preserve the gp; rebundle.
3151 (__do_frame_setup): Likewise.
3152 * config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
3153 (.init): Use a gp-relative indirect call.
3154 (__do_global_ctors_aux): Preserve the gp.
3155
f5540cd4
RH
31562000-05-16 Richard Henderson <rth@cygnus.com>
3157
3158 * flow.c (commit_one_edge_insertion): Be prepared for a return
3159 insn to be inserted on the edge with a normal jump.
3160 * jump.c (jump_optimize_1): Don't look to create return isns.
3161
3162 * flow.c (flow_delete_insn): Don't adjust reference count of notes.
3163 * jump.c (jump_optimize_1): Likewise.
3164 (returnjump_p): Verify the argument is a JUMP_INSN.
3165 * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
3166
23568fa0
NC
31672000-05-16 Nick Clifton <nickc@cygnus.com>
3168
3169 * config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace
3170 GET_RTX_CLASS (GET_CODE ()) == 'i'.
3171 (large_insn_p): Ditto.
3172 (m32r_is_insn): New function: Return true if the insn contains
3173 an executable instruction.
3174 (m32r_adjust_insn): Use m32r_is_insn.
3175 (m32r_sched_reorder): Use m32r_is_insn.
3176 (m32r_sched_variable_issue): Use m32r_is_insn.
3177
5a1b894d
FS
31782000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3179
df3aefb0
FS
3180 * rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like
3181 VAR_DECL.
3182
9e6e5068
FS
3183 * rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable.
3184
3185 * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux
3186 according to given options.
5a1b894d 3187
66e85f38
JL
3188Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com)
3189
3190 * mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
3191 if X has VOIDmode either.
3192 (LIMIT_RELOAD_CLASS): Similarly.
3193
3194 * mn10200.md (indirect_jump, tablejump): Use "register_operand",
3195 not "general_operand" to match the processor's capabilities.
1e248c55
BK
3196
31972000-05-16 Bruce Korb <bkorb@gnu.org>
3198
3199 * fixinc/README: corrected return address
3200 * fixinc/check.diff: regenerate, now that test works
3201 * fixinc/fixfixes.c(format_fix,format_write): reformatted
3202 (char_macro_def_fix,char_macro_use_fix): corrected and
3203 rewrote to use regex to parse the text
3204 * fixinc/inclhack.def: more testing
3205 * fixinc/fixincl.x: regenerated
3206
d651ee81
BK
3207 * fixinc/inclhack.def: added several "test_text" attributes
3208 changed several fixes to use `c_fix = format'
3209 re-alphabetized the fixes
3210
3211 * fixinc/check.diff: regenerate
3212 * fixinc/fixincl.x: regenerate
3213 * fixinc/check.tpl: added `sparc' and `netinet' to the list
3214 of created dirs
3215
3216
789f3ce3
AO
32172000-05-16 Alexandre Oliva <aoliva@cygnus.com>
3218
3219 * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove.
3220
d2f7de58
RH
32212000-05-15 Richard Henderson <rth@cygnus.com>
3222
3223 * toplev.c (rest_of_compilation): Run full jump pass before
3224 find_basic_blocks of flow2.
3225
d781a164
RH
32262000-05-15 Richard Henderson <rth@cygnus.com>
3227
3228 * jump.c: Fix typos and clarify commentary from last change.
3229 (any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE.
3230 (safe_to_remove_jump_p): Remove.
3231 (condjump_label): Use pc_set.
3232
7f9d9ea1
RH
32332000-05-15 Richard Henderson <rth@cygnus.com>
3234
3235 * ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns
3236 that get in the way after reload.
3237 (cond_exec_process_if_block): Skip a label heading THEN block.
3238
085ce8c6
RH
32392000-05-15 Richard Henderson <rth@cygnus.com>
3240
3241 * varasm.c (output_constant_pool): Abort instead of converting
3242 (improperly) deleted labels to zero.
3243
41e8b1d7
NB
32442000-05-16 Neil Booth <NeilB@earthling.net>
3245
3246 * cpplex.c (parse_string2): Update comment.
3247 (cpp_lex_line): No special assertion treatment for '('.
3248 * cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT.
3249 * cpplib.h (SYNTAX_ASSERT): Remove.
3250
e4c85816
JH
3251Mon May 15 21:45:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
3252
3253 * jump.c (condjump_p): Mark as depreached.
3254 (any_condump_p): New.
3255 (any_uncondump_p): New.
3256 (pc_set): New.
3257 (safe_to_remove_jump_p): New.
3258 * rtl.h (any_condump_p, any_uncondjump_p, pc_set
3259 safe_to_remove_jump_p): Declare.
3260
099e9712
JH
3261Mon May 15 21:07:20 MET DST 2000 Jan Hubicka <jh@suse.cz>
3262
3263 * calls.c: Re-install both patches reverted by last patch.
3264 (struct arg_data): New field tail_call_reg.
3265 (initialize_argument_information): Initialize tail_call_reg
3266 (load_register_parameters): New argument flags, use
3267 tail_call_reg when emiting tail call sequence.
3268 (expand_call): Update call of load_register_parameters;
3269 copy unadjusted_args_size to adjusted_args_size.
3270
1bf14ad7
JH
3271Mon May 15 19:01:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
3272
3273 * loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p
3274 and bct_p parameters to flags.
3275 * loop.h (LOOP_UNROLL, LOOP_BCT): New constants.
3276 * rtl.h (loop_optimize): Update prototype.
3277 * toplev.c (rest_of_compilation): Update call of loop_optimize.
3278
b8d254e6
JJ
32792000-05-15 Jakub Jelinek <jakub@redhat.com>
3280
3281 * calls.c (expand_call): Move expand_start_target_temps call after
3282 start_sequence().
3283
f617b8e2
NB
32842000-05-15 Neil Booth <NeilB@earthling.net>
3285
3286 * cpphash.c (trad_stringify, warn_trad_stringify,
3287 collect_params): Make some pointers pointers to const.
3288 * cpplex.c (auto_expand_name_space) Guaranteed to always
3289 expand by at least one character.
3290 (SPELL_CHAR, SPELL_NONE): Temporarily reverse order.
3291 (struct token_spelling): Use const U_CHAR * rather than PTR.
3292 (expand_name_space): Fix up token pointers if name space
3293 is moved when expanding.
3294 (INIT_NAME, cpp_scan_line, parse_name, parse_number,
3295 parse_string2, save_comment, spell_token, cpp_output_list):
3296 Update so the routines handle tokens with a direct pointer to
3297 their text, rather than an offset into the token's list's namebuf.
3298 (_cpp_lex_line): Rearrange for clarity.
3299
3300 * cpplib.c (_cpp_check_directive): Similarly.
3301 (do_define): Make SYM a pointer to const.
3302 * cpplib.h (struct cpp_name): Replace offset with direct pointer.
3303 (CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT.
3304 (TOK_OFFSET): Delete.
3305 (TOK_NAME): Update.
3306
5ba02ca6
GK
33072000-05-14 Geoffrey Keating <geoffk@cygnus.com>
3308
05ef2698
GK
3309 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
3310 64-bit ABI.
3311
7e585d16 3312 * config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
dfbdccdb
GK
3313 into account.
3314 (logical_u_operand): Delete.
3315 (non_logical_cint_operand): Rewrite to take MODE into account.
3316 (non_logical_u_cint_operand): Delete.
3317 (boolean_operator): New function.
3318 (print_operand): Add new %q operand.
3319 * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
3320 remove logical_u_operand and non_logical_u_cint_operand,
3321 update logical_operand and non_logical_cint_operand.
3322 * config/rs6000/rs6000.md: Rewrite the patterns for performing
3323 logical operations to use %q.
3324
f176e826
GK
3325 * config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
3326 (movdi): Make similar to movsi.
3327 * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
3328 is no such thing as a DImode CONST_DOUBLE.
3329 * config/rs6000/rs6000.c (output_toc): Likewise.
7e585d16 3330
f176e826
GK
3331 * config/rs6000/rs6000.c (output_cbranch): Don't output prediction
3332 codes when old mnemonics are in use. Print register names
94a54f47
GK
3333 for cc registers when requested.
3334
5ba02ca6
GK
3335 * optabs.c (expand_float): Don't allow mode widening that causes
3336 double rounding.
fa06229f
GK
3337
3338 * invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
3339 flags to their current names -maix64 and -maix32.
3340
ba8fcfc3
BK
33412000-05-14 Bruce Korb <bkorb@gnu.org>
3342
3343 * fixinc/fixfixes.c(wrap_fix): new fix - inserts text before
3344 and/or after current text of file
3345 * fixinc/fixlib.c(must_malloc):
3346 * fixinc/fixlib.h(must_malloc): + reformatting
3347 * fixinc/inclhack.def: replace the "1i" and "$a" sed commands
3348 with usages of ``c_fix = wrap;''
99d05d99 3349 Add several tests and use the ``c_fix = format'' fixer more.
ba8fcfc3
BK
3350 * fixinc/fixincl.x: regen
3351 * fixinc/check.diff: regen
99d05d99
BK
3352 * fixinc/check.tpl: emit the associated header with the missing
3353 test message
ba8fcfc3 3354
3e6fa9ac
HPN
3355Sun May 14 17:58:59 2000 Hans-Peter Nilsson <hp@axis.com>
3356
3357 * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset
3358 variables $src and $dst.
7e585d16 3359
856b6244
GDR
33602000-05-13 Gabriel Dos Reis <gdr@codesourcery.com>
3361
3362 * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.
3363 (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise.
3364 (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise.
3365 (struct output_buffer: emitted_prefix_p, prefixing_rule): New
7e585d16 3366 fields.
856b6244
GDR
3367 (set_message_prefixing_rule): Declare.
3368
3369 * diagnostic.c: (current_prefixing_rule): New variable.
3370 (set_message_prefixing_rule): Define.
3371 (output_set_prefix): Adjust buffer->emitted_prefix_p.
3372 (init_output_buffer): Adjust Initialization.
3373 (output_emit_prefix): Rewrite. Take prefixing rules into account.
7e585d16 3374
8701a6a4
PDM
3375Sat May 13 11:05:47 2000 Philippe De Muyter <phdm@macqel.be>
3376
3377 * ifcvt.c (if_convert): Do not free NULL.
3378
aeb4f5ef
NC
33792000-05-12 Nick Clifton <nickc@cygnus.com>
3380
3381 * config/fr30/fr30.c (fr30_move_double): New function: Emit code
3382 to move a double word value.
3383 (di_operand): New function: Return true if the operand is suitbale
3384 for a double word move operation.
3385 (nonimmediate_di_operand): New function: Return true if the
3386 operand is a DImode register or MEM.
3387
3388 * config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and
3389 nonimmediate_di_operand.
3390
3391 * config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and
3392 nonimmediate_di_operand.
3393
3394 * config/fr30/fr30.md (movdi): New pattern. Required because
3395 other patterns generate DImode results.
3396 (movdi_insn): New pattern.
3397
1d11bf18
RH
33982000-05-12 Richard Henderson <rth@cygnus.com>
3399
3400 * config/alpha/alpha.c (struct shadow_summary): Define
3401 bitfields as type unsigned int.
3402
2a1c19ed
DC
3403Sat May 13 00:09:59 2000 Denis Chertykov <denisc@overta.ru>
3404
3405 * config/avr/t-avr: Added definition of FLOAT while generates
3406 fp-bit.c
3407
3408 * config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in
3409 peepholes for tst+jump = sbrs/sbrc optimization.
3410
3ea2292a
JH
3411Fry May 12 20:03:00 CEST 2000 Jan Hubicka <jh@suse.cz>
3412
3413 * expr.c (emit_push_insn): Do not adjust stack pointer when
3414 preallocating.
3415
c0dbdfbb
PDM
3416Fri May 12 19:03:58 2000 Philippe De Muyter <phdm@macqel.be>
3417
3418 * ggc-simple.c (offsetof): Macro fallback definition moved from here ..
3419 * system.h (offsetof): ... to here.
3420
be1bb652
RH
34212000-05-12 Richard Henderson <rth@cygnus.com>
3422
3423 * Makefile.in (final.o): Depend on BASIC_BLOCK_H.
3424 * final.c (final_end_function): Use app_disable. Rearrange note
3425 handling into a switch. Emit deleted labels.
3426 (output_asm_label): Generate label strings for deleted labels.
3427 * flow.c (tail_recursion_label_list): New.
3428 (find_basic_blocks_1): Set label_value_list directly. Collect list
3429 of tail recursion labels from call_placeholders. Don't add deleted
3430 labels to the label value list.
3431 (cleanup_cfg): Use free_EXPR_LIST_list.
3432 (flow_delete_insn_chain): Turn non-removable labels into notes.
3433 (flow_delete_block): Don't disable deleting the block because of
3434 a non-removable label.
3435 (tail_recursion_label_p): New.
3436 (merge_blocks_move_predecessor_nojumps): Don't disable the merge
3437 because of a label.
3438 (merge_blocks_move_successor_nojumps): Likewise. Also move a
3439 jump table.
3440 (merge_blocks): Disable a merge because of tail recursion labels.
3441 * ifcvt.c (merge_if_block): Don't disable a merge because of a label.
3442 Use a more accurate measure of not merging the join block.
3443 (find_if_block): Don't disable conversion because of a label.
3444 (find_if_case_1, find_if_case_2): Likewise.
3445 * jump.c (duplicate_loop_exit_test): Preserve the kind of list
3446 element when copying.
3447 (squeeze_notes): Also leave EH notes.
3448 (mark_jump_label): Ignore deleted labels. Use an INSN_LIST for
3449 REG_LABEL notes.
3450 (delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
3451 deleting a label.
3452 * print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
3453 NOTE_INSN_DELETED_LABEL. Print `[# deleted]' for a label_ref
3454 referring to a deleted label. Convert tail handling to a switch.
3455 * rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
3456 for NOTE_INSN_DELETED_LABEL.
3457 (NOTE): Fix commentary.
3458 * rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
3459 (REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
3460 (CODE_LABEL_NUMBER, LABEL_NAME): Update index.
3461 (LABEL_NUSES, LABEL_REFS): Likewise.
3462 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
3463
a92fa608
BK
34642000-05-12 Bruce Korb <bkorb@gnu.org>
3465
3466 * fixinc/fixfixes.c(format_write): buglet & relaxed rules
88acf854
BK
3467 * fixinc/check.diff: updated
3468 * fixinc/inclhack.def: corrected & added some test_text-s
3469 * fixinc/genfixes: removed unneeded options to autogen invocation
3470 * fixinc/fixincl.tpl: Specified the output file
3471 * fixinc/fixfixes.c: visual appearance
3472 * fixinc/fixincl.x: regenerate
a92fa608 3473
4c6d912f
ZW
34742000-05-12 Zack Weinberg <zack@wolery.cumb.org>
3475
f5540cd4
RH
3476 * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
3477 CTRL_defn_fix): Delete.
3478 (fix_char_macro_defines, fix_char_macro_uses): Rename to
3479 char_macro_def_fix and char_macro_use_fix, respectively. Put
3480 them into the FIXUP_TABLE. Get the string to search for from
3481 a c_fix_arg.
4c6d912f 3482
f5540cd4
RH
3483 (format_write): New function.
3484 (format_fix): Use it.
4c6d912f 3485
f5540cd4
RH
3486 (FIX_PROC_HEAD): Constify text parameter.
3487 (machine_name_fix): Constify all char *s.
3488 * fixtests.c (skip_quote): Remove double static.
4c6d912f 3489
f5540cd4
RH
3490 * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
3491 ctrl_use_quotes): Update for new scheme.
3492 * fixincl.x: Regenerate.
4c6d912f 3493
5c68706c
AO
34942000-05-12 Alexandre Oliva <aoliva@cygnus.com>
3495
3496 * config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
3497 DWARF2_DEBUG.
3498 (DWARF2_ASM_LINE_DEBUG_INFO): Define.
3499 (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
3500
3cfea779
RL
35012000-05-11 Robert Lipe <robertlipe@usa.net>
3502
3503 * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO.
3504 * fixincl.x: Regenerate.
3505
497eb8c3
RH
35062000-05-11 Richard Henderson <rth@cygnus.com>
3507
3508 * calls.c: Revert both 05-09 patches.
3509
842391df
AO
35102000-05-11 Alexandre Oliva <aoliva@cygnus.com>
3511
cf31fafa
AO
3512 * config/mn10300/mn10300.c (print_operand): Print FP constants in
3513 hexadecimal.
3514 * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
3515 for FP values.
3516
842391df
AO
3517 * mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
3518 and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
3519
48a259fc
JM
35202000-05-11 Jason Merrill <jason@casey.cygnus.com>
3521
3522 * fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine.
3523
b7976767
ZW
35242000-05-11 Zack Weinberg <zack@wolery.cumb.org>
3525
3526 * fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary.
3527
b58c068a
DC
3528Thu May 11 22:28:05 2000 Denis Chertykov <denisc@overta.ru>
3529
3530 * config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
3531 * config/avr/avr.c (jump_over_one_insn_p): New function.
3532 * config/avr/avr.md: New peepholes added. Output test and
3533 conditional jump to "sbrc" or "sbrs" command.
3534
38b8de2f
ME
35352000-05-11 Mark Elbrecht <snowball3@bigfoot.com>
3536
3537 * cppmain.c (main): Use IS_DIR_SEPARATOR.
3538
f19c9228
JJ
35392000-05-11 Jakub Jelinek <jakub@redhat.com>
3540
3541 * except.c (find_exception_handler_labels_1): New function.
3542 (find_exception_handler_labels): Split into two functions, dive
3543 into CALL_PLACEHOLDERs when looking for exception handler labels.
3544
5fa41e13
SC
35452000-05-11 Stan Cox <scox@cygnus.com>
3546
3547 * regrename.c (replace_reg_in_block): Improve REG_DEAD handling.
3548 * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2.
3549 * toplev.c (rest_of_compilation): Call regrename_optimize before sched2.
3550
35dfe415
BK
35512000-05-11 Bruce Korb <bkorb@gnu.org>
3552
48a259fc 3553 * fixinc/fixfixes.c (double_slash_fix): obsolete
35dfe415
BK
3554 (else_endif_label_fix): obsolete
3555 (format_fix): new, unused as yet
3556 (main): obsolete
3557 * fixinc/fixlib.h: added fix description struct for use by format_fix
3558 * fixinc/fixincl.c: removed the struct & test for SIGIOT befure using
3559 * fixinc/Makefile.in: compile fixfixes.c and fixtests.c as separate
3560 modules. Removed the vestiges of the script version.
3561 Added support for "make check".
ef7615a0 3562 * fixinc/check.diff: base diff file (needs work!!)
35dfe415 3563 * fixinc/check.tpl: quiet the fixup output
48a259fc 3564 * fixinc/fixtests.c (main): obsolete
35dfe415
BK
3565 * fixinc/fixincl.sh: don't bother copying fixincl to ..
3566 * fixinc/fixincl.tpl: provide for arguments to c_fix routines
3567
e54d500c
JH
3568Thu May 11 11:57:02 MET DST 2000 Jan Hubicka <jh@suse.cz>
3569
3570 * toplev.c (rest_of_compilation): Remove dead code after
3571 combine.
3572
3ae1c615
ZW
35732000-05-11 Zack Weinberg <zack@wolery.cumb.org>
3574
3575 * cpphash.c (collect_funlike_expansion): Make "# is not
3576 followed by a macro argument name" a pedwarn, not an error.
3577 Preserve the # in the output. Suppress the warning if lang_asm.
3578
99b09ff3
JL
3579Thu May 11 01:19:31 2000 Jeffrey A Law (law@cygnus.com)
3580
3581 * configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
3582 * configure: Rebuilt.
3583
2798f0d4
LB
35842000-05-10 Laurynas Biveinis <lauras@softhome.net>
3585
3586 * i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace.
3587
02359929
KH
35882000-05-10 Kazu Hirata <kazu@hxi.com>
3589
3590 * combine.c (try_combine): Fix a typo.
3591
d2ba6dcf
JW
3592Wed May 10 21:31:44 2000 Jim Wilson <wilson@cygnus.com>
3593
3594 * config/ia64/ia64.md (insv): Add comment.
3595
8e9bf55e
RH
35962000-05-10 Richard Henderson <rth@cygnus.com>
3597
3598 * Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT.
3599 * mklibgcc.in: Rewrite to not use functions. Don't shortcut
3600 dependancies on FPBIT and DPBIT.
3601
ebfe71a8
NC
36022000-05-10 Nick Clifton <nickc@redhat.com>
3603
3604 * flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth
3605 when optimising for size.
3606 (mark_used_regs:) Ditto.
3607 (try_pre_increment_1): Ditto.
3608
fa557271
ZW
36092000-05-10 Zack Weinberg <zack@wolery.cumb.org>
3610
e43a1577
ZW
3611 * cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
3612 Make error message friendlier.
3613
fa557271
ZW
3614 * cpphash.h (struct hashnode): Use struct hack for name
3615 member.
3616 * cpphash.c (struct hashdummy): New.
3617 (eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE.
3618 (make_HASHNODE): No need to set ->name pointer. Correct
3619 setting of p.
3620 (cpp_lookup): Make 'dummy' a struct hashdummy. Tidy up a bit.
3621
0d12ea97
RH
36222000-05-10 Richard Henderson <rth@cygnus.com>
3623
3624 * flow.c (find_basic_blocks_1): Remove any spare bb_note
3625 after completion.
3626
5ac38d52
BK
36272000-05-10 Bruce Korb <bkorb@gnu.org>
3628
3629 * fixinc/gnu-regex.c: reg_syntax_t re_syntax_options must be static
3630
ede1dbac
ES
36312000-05-10 Eric Schweitz <schweitz@nortelnetworks.com>
3632
3633 * dwarfout.c (dwarfout_finish): Call retry_incomplete_types
3634 after we enter .debug.
3635
8d8238b6
JM
36362000-05-10 Jason Merrill <jason@casey.cygnus.com>
3637
3638 * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
3639 abstract instance of a nested inline function.
3640
3641 * stor-layout.c (finish_record_layout): finalize_type_size
3642 before laying out the pending_statics.
3643
5d7ee2fa
NB
3644Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net>
3645
3646 * cpplex.c (spell_token): New function.
3647 (spell_string, spell_comment, spell_name): fold into
7e585d16 3648 spell_token.
5d7ee2fa
NB
3649 (I, S): Add macros.
3650 (E, H): Remove macros.
3651 (save_comment): Save comment opening characters too.
3652 (_cpp_lex_file): Update to use spell_token. Tidy up comment
3653 handling.
3654 * cpplib.h (I, S): Add macros.
3655 (E, H): Remove macros.
3656 (TTYPE_TABLE): Update entries for new speller.
3657 (SYNTAX_ASSERT): Remove.
3658
fb4527c3
NB
3659Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net>
3660
f5540cd4
RH
3661 * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
3662 when removing escaped newlines. Reverse sense of test for
3663 escaped newline.
fb4527c3 3664
47095bfc
RH
36652000-05-09 Richard Henderson <rth@cygnus.com>
3666
3667 * flow.c (find_basic_blocks_1): Do not delete the first
3668 bb_note we run across.
3669 (create_basic_block): Use reorder_insns to move an existing
3670 bb_note to the correct place.
3671
840e7b51
RH
36722000-05-09 Richard Henderson <rth@cygnus.com>
3673
3674 * calls.c (expand_call): Increment currently_expanding_call
3675 before calling optimize_tail_recursion.
3676
4c3f1588
RK
3677Tue May 9 18:54:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3678
3679 * reload1.c (reload_combine): Fix errors in last change.
3680
3b304f5b
ZW
36812000-05-09 Zack Weinberg <zack@wolery.cumb.org>
3682
83a0c799
ZW
3683 * gcc.c (used_arg): Skip over a semicolon at the end of the
3684 split-up loop; don't break out of it.
3685
3b304f5b
ZW
3686 * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
3687 (tree.o): Depend on output.h.
3688
3689 * c-decl.c (pending_invalid_xref_file,
3690 current_function_prototype_file): Constify.
3691 (pushdecl): Constify a local char *.
3692 (define_label): Constify filename parameter.
3693 * c-lex.c (init_parse): Constify parameter and return value.
3694 * c-typeck.c (c_expand_asm_operands): Constify filename parameter.
3695 * c-tree.h: Update prototypes.
3696 * c-parse.in: Constify filename member of %union, and if_stmt_file.
3697 * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
3698 objc/objc-parse.c: Regenerate.
3699
3700 * dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
3701 * dwarfout.h: Update prototypes.
3702 * expr.c (expand_expr): Constify a local char *.
3703 * flags.h: Constify main_input_filename.
3704 * function.c (expand_function_end): Constify filename parameter.
3705 * genrecog.c (make_insn_sequence): Use a character array for
3706 c_test_pos.
3707 (main): Remove unused variables.
3708 * input.h: Constify input_filename, main_input_filename, and
3709 file_stack.name. Update prototypes.
3710 * output.h: Declare first_global_object_name and
3711 weak_global_object_name here, as const char *.
3712 * stmt.c (expand_asm_operands): Constify filename parameter.
3713 * toplev.c (compile_file, push_srcloc, debug_start_source_file):
3714 Constify filename parameter.
3715 (input_filename, main_input_filename): Constify.
3716 * toplev.h: Update prototypes.
3717 * tree.c: Include output.h. Don't declare
3718 first_global_object_name or weak_global_object_name. Clean up string
3719 bashing in get_file_function_name_long.
3720 * tree.h (struct tree_decl): Constify filename member.
3721 (input_filename): Constify.
3722 Update prototypes.
3723 * varasm.c (first_global_object_name, weak_global_object_name):
3724 Constify.
3725 (assemble_start_function, assemble_variable): Clean up string bashing.
3726
3727 * gcc.c: Constify all spec-related strings initialized,
3728 transitively, from string constants. Constify all strings
3729 and string variables related to multilibs.
3730 (set_spec, read_specs): Cast argument to free to PTR.
3731 (used_arg): Do not modify multilib_matches. Use strncmp plus
3732 length comparison to compare multilib switches.
3733 * genmultilib: Constify everything declared in multilib.h.
3734
aa9e158d
DC
3735Tue May 9 22:28:03 2000 Denis Chertykov <denisc@overta.ru>
3736
3737 * flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn
3738 as deleted.
3739
3454eb73
DC
3740Tue May 9 20:52:43 2000 Denis Chertykov <denisc@overta.ru>
3741
3742 * config/avr/avr-protos.h (extra_constraint): change a type of
3743 second argument from char to int to avoid warnings.
3744 (asm_output_byte): Likewise.
7e585d16 3745
3454eb73
DC
3746 * config/avr/avr.c (MAX_LD_OFFSET) New macro.
3747 (initial_elimination_offset): Handle elimination from
3748 FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
3749 (legitimate_address_p): Use MAX_LD_OFFSET.
3750 (legitimize_address): Likewise.
3751 (out_movqi_r_mr): Likewise.
3752 (out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
3753 (out_movsi_r_mr): Use MAX_LD_OFFSET.
3754 (out_movsi_mr_r): Likewise.
3755 (out_movqi_mr_r): Likewise.
3756 (out_movhi_mr_r): Likewise.
3757 (notice_update_cc): Correct CC for the ashrqi3 with the shift
3758 count as CONST_INT != 6.
3759 (ashlqi3_out): Coding style modifications. Run `fatal_insn' if
3760 shift count is a CONSTANT_P, but not a CONST_INT.
3761 (ashlhi3_out): Coding style modifications.
3762 (ashlsi3_out): Likewise.
3763 (ashrhi3_out): Likewise.
3764 (ashrsi3_out): Likewise.
3765 (lshrhi3_out): Likewise.
3766 (lshrsi3_out): Likewise.
3767 (ashrqi3_out): Generate shift for any known constant count without
3768 scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
3769 but not a CONST_INT.
3770 (lshrqi3_out): Coding style modifications. Run `fatal_insn' if
7e585d16 3771 shift count is a CONSTANT_P, but not a CONST_INT.
3454eb73
DC
3772 (extra_constraint): change a type of
3773 second argument from char to int to avoid warnings.
3774 (asm_output_byte): Likewise.
3775 (asm_file_end): Output size generated commands count as a hex
3776 number too.
3777
3778 * config/avr/avr.h (RETURN_ADDR_RTX): New macro.
3779
3780 * config/avr/avr.md (addhi3): Fragment commented by &&0 is
3781 removed.
3782 (ashlqi3): Values of "length" attribute changed. Shift count
3783 uses constraints 'n' instead of 'i'.
3784 (ashrqi3): Likewise. Values of "cc" attribute changed. Generate
3785 shifts without clobber register.
3786 (lshrqi3): Shift count uses constraints 'n' instead of 'i'.
3787 (call_insn): Correct test for which_alternative == 1 (was 0).
3788 (call_value_insn): Likewise.
7e585d16 3789
3454eb73
DC
3790 * config/avr/t-avr: Remove definition of FLOAT while generates
3791 fp-bit.c
3792
73101c95
BK
37932000-05-09 Bruce Korb <bkorb@gnu.org>
3794
7a544ce1
BK
3795 * fixinc/check.tpl: Template for checking fixes
3796 * fixinc/inclhack.def: Added 'test_text' for many fixes
87b6d63a 3797 disable hpux8_bogus_inlines on SCO
73101c95
BK
3798 * fixinc/fixinc.sco: Oh, yes, we don't need this any more.
3799
4d393a0b
JH
3800Tue May 9 16:30:27 MET DST 2000 Jan Hubicka <jh@suse.cz>
3801
3802 * calls.c (expand_call): Reorganize somewhat in order
3803 to avoid unnecesary recalculation inside loop and make
3804 tail call failure code cleaner.
7e585d16 3805
f8cd4126
RK
3806Tue May 9 06:30:20 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3807
3808 * alias.c (nonlocal_reference_p): Minor reformatting.
3809 * reload.c (find_equiv_reg): Simplify logic for
3810 CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and
3811 some some reformatting.
3812 * reload1.c (reload_combine): Don't assume everything in
3813 CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit.
3814
6b6c1201
RH
38152000-05-08 Richard Henderson <rth@cygnus.com>
3816
3817 * final.c (current_insn_predicate): New.
3818 (final_scan_insn): Set it.
3819 * output.h (current_insn_predicate): Declare.
3820
3821 * ifcvt.c (cond_exec_process_insns): New argument prob_val.
3822 Attach it to call insns.
3823 (cond_exec_process_if_block): Track probability for true and
3824 false branches.
3825 (dead_or_predicable): Likewise.
3826
3827 * predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New.
3828 (PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New.
3829 (PROB_VERY_LIKELY, PROB_ALWAYS): New.
3830 (estimate_probability, expected_value_to_br_prob): Use them.
3831
3832 * config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
3833 * config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
3834 (ia64_expand_prediction): New.
3835 (emit_insn_group_barriers): Don't look at notes. Emit barriers
3836 as needed after calls.
3837 (ia64_epilogue_uses): Mark b0 used.
3838 * config/ia64/ia64.md (beq_true, beq_false): Remove.
3839 (bne_true, bne_false): Remove.
3840 (eq_return, eq_not_return, ne_return, ne_not_return): Remove.
3841 (br_true, br_false): New. Use predicate_operator and
3842 ia64_expand_prediction.
3843 (return_true, return_false): Likewise.
3844 (call_internal): Use ia64_expand_prediction. Don't emit stop bit.
3845 (call_internal1, call_value_internal): Likewise.
3846 (call_value_internal1, call_multiple_values_internal1): Likewise.
3847
3848 * config/ia64/ia64.c (ia64_direct_return): Require frame size zero.
3849
3850 * config/ia64/ia64.md (extendsfdf2): Split only after reload.
3851
22aa60a1
RH
38522000-05-08 Richard Henderson <rth@cygnus.com>
3853
3854 * rtlanal.c (may_trap_p): Consider old-style and volatile
3855 asms to trap.
3856
40860754
JW
3857Mon May 8 17:16:48 2000 Jim Wilson <wilson@cygnus.com>
3858
3859 * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
3860
e8e20f18
RH
38612000-05-08 Richard Henderson <rth@cygnus.com>
3862
3863 * config/ia64/ia64.h (predicate_operator): Declare.
3864
3865 * config/ia64/ia64.md (extendsfdf2): Split the nop case out
3866 of existance.
3867
de4bfbcb
RH
3868 * gensupport.c (process_rtx): Copy and post-process each member
3869 of the define_insn rtvec individually.
3870
3fef5b2b
NB
3871Mon 8 May 22:17:35 2000 Neil Booth <NeilB@earthling.net>
3872
3873 * cpplex.c (spell_token): New function.
e8e20f18
RH
3874 (TOKEN_LEN): Add 1 for whitespace.
3875 (_cpp_lex_file): Update to use spell_token.
3fef5b2b
NB
3876 * cpplib.h (E): Remove.
3877 (TTYPE_TABLE): Update CPP_VSPACE entry.
3878
4fb9b830
RH
38792000-05-08 Richard Henderson <rth@cygnus.com>
3880
3881 * flow.c (init_propagate_block_info): Watch out for conditional
3882 branch to next instruction, and thus one outgoing edge.
3883
549f0725
RH
3884 * config/ia64/ia64.c (ia64_encode_section_info): Exit early
3885 for global register variables; don't special case __[CD]TOR_LIST__;
3886 mind ggc_p for string allocation.
3887
afc2cd05
NC
38882000-05-08 Nick Clifton <nickc@cygnus.com>
3889
3890 * config/i386/i386.h (ELIMINABLE_REGS): Fix comment.
3891
e89c8502
BK
38922000-05-08 Bruce Korb <bkorb@gnu.org>
3893
3894 * fixinc/mkfixinc.sh: fixinc.sco is no longer used
8d21ff13 3895 i?86-*-msdosdjgpp* no longer uses fixincludes
e89c8502
BK
3896 * fixinc/genfixes: inclhack.sh and fixincl.sh are no longer generated
3897 * fixinc/inclhack.sh: deleted
3898 * fixinc/hackshell.tpl: deleted
3899 * fixinc/inclhack.tpl: deleted
93f69683 3900 * fixinc/Makefile.in: Remove dependencies on above
e89c8502
BK
3901 * fixinc/fixincl.sh: "DO NOT EDIT" text modified
3902
c7e81e90
AJ
39032000-05-08 Andreas Jaeger <aj@suse.de>
3904
3905 * config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
3906 support.
3907
a997ec53
ZW
39082000-05-07 Zack Weinberg <zack@wolery.cumb.org>
3909
3910 * Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed
3911 substitutions.
3912
b8f41010
NB
3913Sun 7 May 08:43:53 2000 Neil Booth <NeilB@earthling.net>
3914
3915 * cpplex.c: Move new lexer definitions and prototypes
3916 to top. Conditional include these and the code if
3917 NEW_LEXER is defined. Rename functions whose names
3918 clash if this code included.
3919
6b29b0e2
JW
3920Sun May 7 00:54:57 EDT 2000 John Wehle (john@feith.com)
3921
3922 * rtl.def (COND_EXEC): Clarify.
3923
3924 * i386.md (extendsidi2): Clobber (reg:CC 17) in the
3925 same fashion as zero_extendsidi2.
3926
e5bde68a
RH
39272000-05-06 Richard Henderson <rth@cygnus.com>
3928
3929 * config/ia64/ia64.c (predicate_operator): New.
3930 (ia64_print_operand): Handle 'J'.
3931 (rtx_needs_barrier): Handle COND_EXEC.
3932 * config/ia64/ia64.h (BRANCH_COST): Define.
3933 (PREDICATE_CODES): Update.
3934 * config/ia64/ia64.md: Docuement used unspec values.
3935 (attr predicable): New.
3936 (movxf, movxf_internal): New.
3937 (extendsfdf2): Don't comment out nop.
3938 (floatdidf2): Remove.
3939 (truncxfsf2, truncxfdf2, floatdixf2): New.
3940 (abssi2, absdi2): Put the neg in the "true" slot.
3941 (conditional branch instructions): Mark not predicable.
3942 (cmov*_internal): Use predicate_operator. Split to cond_exec.
3943 (abs*_internal): Likewise.
3944 (alloc, set_bsp): Mark not predicable.
3945 (barrier, insn_group_barrier, flush_cache): Likewise.
3946 (define_cond_exec): New.
3947
809d4ef1
RH
39482000-05-06 Richard Henderson <rth@cygnus.com>
3949
3950 * c-decl.c: Include "tm_p.h".
3951
3952 * config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
3953 (fetchadd_operand, ia64_expand_fetch_and_op): Declare.
3954 (ia64_expand_op_and_fetch): Declare.
3955 * config/ia64/ia64.c: Include "toplev.h". Kill trailing whitespace.
3956 (setjmp_operand): Constify variables for XSTR.
3957 (ia64_encode_section_info): Likewise.
3958 (ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
3959 values to int.
3960 (ia64_asm_output_external): Constify name.
3961 (process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
3962 (process_for_unwind_directive): Provide switch default.
3963 (ia64_expand_compare_and_swap): Remove unused variables.
3964 (ia64_expand_builtin): Likewise.
3965 * config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
3966 for printing.
3967
fd7c34b0
RH
3968 * config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
3969 (symbolic_operand, function_operand, setjmp_operand): Likewise.
3970 (shift_count_operand, shift_32bit_count_operand): Likewise.
3971 (shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
3972 (ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
3973 (ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
3974 (ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
3975 (ia64_expand_builtin): Likewise.
3976 (call_multiple_values_operation): Make dest_regno unsigned.
3977
3262c1f5
RH
39782000-05-06 Richard Henderson <rth@cygnus.com>
3979
3980 * rtl.def (DEFINE_COND_EXEC): New.
3981 * md.texi: Document it.
3982
3983 * gensupport.c (input_file): Remove.
3984 (struct queue_elem): Add lineno.
3985 (rtx_ready_queue): Remove.
3986 (errors): New.
3987 (predicable_default): New.
3988 (predicable_true, predicable_false): New.
3989 (define_attr_queue, define_attr_tail): New.
3990 (define_insn_queue, define_insn_tail): New.
3991 (define_cond_exec_queue, define_cond_exec_tail): New.
3992 (other_queue, other_tail): New.
3993 (queue_pattern): New.
3994 (process_rtx): Add patterns to the appropriate queues.
3995 (is_predicable, identify_predicable_attribute): New.
3996 (n_alternatives, collect_insn_data): New.
3997 (alter_predicate_for_insn, alter_test_for_insn): New.
3998 (shift_output_template, alter_output_for_insn): New.
3999 (process_one_cond_exec, process_define_cond_exec): New.
4000 (init_md_reader): Read the entire file. Process define_cond_exec.
4001 (read_md_rtx): Return elements from the queues.
4002
f0acaf02
RH
40032000-05-06 Richard Henderson <rth@cygnus.com>
4004
4005 * flow.c (mark_set_1): Don't update conditional life info
4006 if the register is not_dead.
4007
fa9c7493
ZW
40082000-05-06 Zack Weinberg <zack@wolery.cumb.org>
4009
4010 * Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h.
4011 (mostlyclean): Also delete fixincl, fixinc.sh, and
4012 specs.ready, and make clean in the fixinc subdir.
4013
3916d6d8
RH
40142000-05-06 Richard Henderson <rth@cygnus.com>
4015
4016 * Makefile.in (gensupport.o): Compile for the host.
4017 (host-prefix gensuuprt.o): Remove.
4018 (genflags.o): Depend on gensupport.h and OBSTACK_H.
4019 (genattrtab.o): Likewise.
4020 (gencodes.o): Depend on gensupport.h.
4021 (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
4022 (genpeep.o, genattr.o, genoutput.o): Likewise.
4023
4024 * gensupport.c (obstack, rtl_obstack): New.
4025 (init_md_reader): Initialize rtl_obstack.
4026 * gensupport.h (rtl_obstack): Declare.
4027 (message_with_line): Declare.
4028
4029 * genattr.c: Remove all traces of obstack manipulation.
4030 * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
4031 * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
4032
4033 * genattrtab.c (obstack, rtl_obstack): Remove.
4034 (main): Don't init rtl_obstack.
4035 * genflags.c: Likewise.
4036
4037 * genrecog.c (message_with_line): Move ...
4038 * gensupport.c: ... here.
4039
6efd8160
RH
40402000-05-06 Richard Henderson <rth@cygnus.com>
4041
4042 * c-typeck.c (build_c_cast): Remove dead code.
4043
6482ee51
RH
40442000-05-06 Richard Henderson <rth@cygnus.com>
4045
4046 * flow.c (split_edge): Don't allocate global_live_at_start for
4047 the new block unless the old blocks had them as well.
4048
507741dd
RH
4049 * flow.c (mark_set_1): Respect not_dead when updating reg_live.
4050
65189757 4051 * ifcvt.c (noce_process_if_block): Don't use an insn_b from
02a749ec 4052 test_bb if a or b uses x.
65189757 4053
8784fdcd
ZW
40542000-05-06 Zack Weinberg <zack@wolery.cumb.org>
4055
4056 * cpphash.h: Remove conditional #define of __extension__.
4057 * rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2,
4058 RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros
4059 (ENABLE_RTL_CHECKING only).
4060 * tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK,
4061 CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros
4062 (ENABLE_TREE_CHECKING only).
4063 * varray.h: Add __extension__ to VARRAY_CHECK macro
4064 (ENABLE_CHECKING only).
4065
0616531f
RE
40662000-05-06 Richard Earnshaw (reanrsha@arm.com)
4067
4068 Use new tail-calling mechanism on ARM.
4069 * arm.md (sibcall, sibcall_value): New expands.
4070 (sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
4071 (tailcalling peepholes): Delete.
4072 (push_multi): Simplify.
4073 * arm.c (lr_save_eliminated): Delete definition.
4074 (pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
4075 (output_return_instruction): Remove checks on lr_save_eliminated.
4076 (output_arm_prologue): Remove old tail-calling code.
4077 (arm_output_epilogue): New parameter, really_return. All callers
4078 changed. Handle tail-calling epilogues.
4079 * arm.h (lr_save_eliminated): Delete declaration.
4080 (frame_pointer_needed): Delete declaration.
4081 * arm-protos.h (arm_output_epilogue): Adjust prototype.
4082
4083 * arm.md (is_thumb): Examine symbol thumb_code, not expression
4084 TARGET_ARM.
4085 * arm.c (thumb_code): Define it.
4086 (arm_override_options): Set it.
4087 * arm.h (thumb_code): Declare it.
7e585d16 4088
ac670723
RE
40892000-05-06 Richard Earnshaw (reanrsha@arm.com)
4090
4091 * arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify.
4092
41e3f998
RE
40932000-05-06 Richard Earnshaw (reanrsha@arm.com)
4094
4095 * arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add
4096 bogus clobber to insns.
7e585d16 4097 (load_multiple_operation, store_mulitple_operation): Don't check
41e3f998
RE
4098 for it.
4099 * arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly.
4100
4101 * arm.md (and_scc, ior_scc): Add missing mode.
4102
4103 * arm.md (call_value_symbol): Remove predicate from op2.
4104
ad027eae 4105 * arm.h (SPECIAL_MODE_PREDICATES): Define.
7e585d16 4106
296b4ed9
RK
4107Sat May 6 06:25:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4108
4109 * expr.c (get_subtarget): New function.
4110 (force_operand, expand_expr, do_store_flag): Use it.
4111
4112 * toplev.c (compile_file): Don't take strlen of NAME if null.
4113
53cd5d6c
DE
41142000-05-06 David Edelsohn <edelsohn@gnu.org>
4115
4116 * xcoffout.c (xcoff_current_include_file,
4117 xcoff_current_function_file, xcoff_lastfile): Constify char *.
4118 (xcoffout_source_file, xcoffout_source_line): Make filename 'const
4119 char *'.
4120 (xcoffout_declare_function): Make name 'const char *'.
4121 (xcoffout_end_epilogue): Make fname 'const char *'
4122 * xcoffout.h (xcoff_current_include_file, xcoff_lastfile,
4123 xcoffout_declare_function, xcoffout_source_line): Match above.
4124
4125 * aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without
4126 -maix64 is error.
4127 * rs6000.c (print_operand): Fix lossage typo.
4128 (output_cbranch): Remove "cr" decoration for now.
7e585d16 4129 * rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'.
53cd5d6c 4130
042575e9
DC
4131Sat May 6 06:55:32 2000 Denis Chertykov <denisc@overta.ru>
4132
4133 * config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by
4134 constant count.
4135
b1a0b75d
BK
41362000-05-05 Bruce Korb <bkorb@gnu.org>
4137
4138 * fixinc/genfixes: Improve the matching for make target names
4139
d20a70b4
CM
41402000-05-05 Catherine Moore <clm@cygnus.com>
4141
4142 * c-common.c (decl_attributes): For TYPE_DECLs attach the
4143 attribute to the decl.
7e585d16 4144 * c-decl.c (pushdecl): Propagate the USED attribute to the
d20a70b4
CM
4145 type copy.
4146
37ceff9d
RH
41472000-05-05 Richard Henderson <rth@cygnus.com>
4148
4149 * rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the
4150 same way emit_group_load does.
4151
1a8bb3dd
JL
41522000-05-05 Mark Elbrecht <snowball3@bigfoot.com>
4153
4ebe197a
ME
4154 * gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name.
4155
1a8bb3dd
JL
4156 * toplev.c (output_file_directive): Use IS_DIR_SEPARATOR.
4157 (main): Likewise.
4158
41592000-05-05 Rodney Brown <RodneyBrown@mynd.com>
d8bea1c6
RB
4160
4161 * pa.h (FUNCTION_ARG_ADVANCE): Warning removal.
4162
6a0177c5
ME
4163Fri May 5 10:29:21 2000 Marc Espie <espie@cvs.openbsd.org>
4164
7e585d16 4165 * config/openbsd.h (LINK_SPEC): pass correct flags to ld
6a0177c5
ME
4166 to support -shared, on platforms with dynamic libraries.
4167
be3dad6f
PDM
4168Fri May 5 10:27:06 2000 Philippe De Muyter <phdm@macqel.be>
4169
4170 * system.h (S_ISBLK): Provide fallback definition.
4171
eda3fbbe
GB
41722000-05-05 Geoff Berry <geoffb@bops.com>
4173
4174 * extend.texi (Extended Asm): Document inability to give asm
4175 statements access to condition codes.
4176
4edee0e6
MM
41772000-05-05 Marek Michalkiewicz <marekm@linux.org.pl>
4178
4179 * varasm.c (asm_emit_uninitialised): Use 0, not NULL
4180 as arg 2 of UNIQUE_SECTION.
4181
cde9b87d
JL
4182Fri May 5 10:11:41 2000 Jeffrey A Law (law@cygnus.com)
4183
4184 * predict.c: Remove May 4 change.
4185 * bb-reorder.c (make_reorder_chain): Do not perform block movement
4186 if we have predicted the branch at 50-50 probability.
4187
ad3958e7
RH
41882000-05-05 Richard Henderson <rth@cygnus.com>
4189
4190 * flow.c (init_propagate_block_info): Fix merge error
4191 in HAVE_conditional_execution code.
4192
4193Fri May 5 07:43:50 2000 Denis Chertykov <denisc@overta.ru>
0db7ad3a
DC
4194
4195 * config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal
4196 shift cycle for unknown shift count. Also generates dec + brpl.
4197 (ashlqi3_out): Don't generate dec + brpl which now generates by
4198 `out_shift_with_cnt'.
4199 (ashlhi3_out): Likewise.
4200 (ashlsi3_out): Likewise.
4201 (ashrqi3_out): Likewise.
4202 (ashrhi3_out): Likewise.
4203 (ashrsi3_out): Likewise.
4204 (lshrqi3_out): Likewise.
4205 (lshrhi3_out): Likewise.
4206 (lshrsi3_out): Likewise.
4207
ba40970f
ME
42082000-05-04 Mark Elbrecht <snowball3@bigfoot.com>
4209
4210 * gcc.c (free_split_directories): Correct typo in explanation
4211 of make_relative_prefix.
4212
fce91820
GK
42132000-05-04 Geoff Keating <geoffk@cygnus.com>
4214
4215 * config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point
4216 comparison codes to branch_comparison_operator.
4217
8eeb3159
RH
42182000-05-04 Richard Henderson <rth@cygnus.com>
4219
4220 * ifcvt.c (noce_process_if_block): Always reset X in the A == B case.
4221
00447f7d
RH
42222000-05-04 Richard Henderson <rth@cygnus.com>
4223
4224 * Makefile.in (FPBIT_FUNCS): Remove _df_to_usi.
4225 (DPBIT_FUNCS): Remove _sf_to_usi.
4226 (stmp-multilib): Pass LIB1ASMSRC to libgcc.mk.
4227
4228 * ifcvt.c (noce_process_if_block): Fail if A or B modified
4229 between condition and jump.
4230
4231 * libgcc2.c (near eh_context_specific): Comment #endif string.
4232 * longlong.h: Don't use strings with embedded newlines.
4233
12a4e8c5
GK
42342000-05-04 Geoff Keating <geoffk@cygnus.com>
4235
4236 * config/rs6000/rs6000-protos.h: Add output_cbranch.
4237 * config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
4238 (print_operand): Delete %t and %T codes.
4239 (output_cbranch): New function. Support branch prediction.
4240 * config/rs6000/rs6000.md: Use output_cbranch for
4241 conditional branches and returns.
4242
f9e158c3
JM
42432000-05-04 Jason Merrill <jason@casey.cygnus.com>
4244
4245 * simplify-rtx.c (simplify_ternary_operation): Cast to unsigned.
4246 * stor-layout.c (place_field): Likewise.
4247 * integrate.h (struct inline_remap): Make regno_pointer_align unsigned.
4248 * expr.c (store_expr): Make align unsigned.
4249 * explow.c (plus_constant_wide): Make low words unsigned.
4250 * expmed.c (choose_multiplier): Likewise.
4251 * fold-const.c (fold): Likewise.
4252 * tree.h (build_int_2): Likewise.
4253 * tree.c (build_int_2_wide, tree_int_cst_msb): Likewise.
4254 * emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*.
4255 (init_emit): Change cast to unsigned char*.
4256 * varasm.c (compare_constant_1): Add cast to char*.
4257 * gcse.c (delete_null_pointer_checks): Change cast to unsigned int*.
4258 * reload1.c (reload): Likewise.
4259
4260 * rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0).
4261
926fd2e1
JL
4262Thu May 4 14:37:23 2000 Jeffrey A Law (law@cygnus.com)
4263
4264 * predict.c (estimate_probability): If no prediction was found, then
4265 predict the successor that is the next physical block (if such a
4266 successor exists).
4267
18b554cb
RH
42682000-05-04 Richard Henderson <rth@cygnus.com>
4269
4270 * config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place.
4271
7a98f269
KG
42722000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4273
4274 * system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H.
4275
d34cba2b
MK
42762000-05-04 Mumit Khan <khan@xraylith.wisc.edu>
4277
7e585d16 4278 * i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move
2afc3e47
MK
4279 attribute macros from here ...
4280 (CPP_SPEC): to here.
4281 * i386/mingw32.h (CPP_PREDEFINES): Likewise.
4282 (CPP_SPEC): Likewise.
7e585d16 4283 * i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros.
2afc3e47 4284
d34cba2b
MK
4285 * Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule.
4286 (libgcc.a): Pass LIB1ASMSRC to libgcc.mk.
4287
36244024
KG
42882000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4289
4290 * bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
7e585d16 4291
36244024
KG
4292 * diagnostic (vbuild_message_string, build_message_string,
4293 build_location_prefix, output_get_prefix, init_output_buffer,
4294 output_notice, vline_wrapper_message_with_location,
4295 v_message_with_decl, default_print_error_function): De-constify.
4296 (set_real_maximum_length): Prototype.
4297
4298 * diagnostic.h (struct output_buffer, init_output_buffer,
4299 output_get_prefix, output_set_prefix): De-constify.
4300
4301 * function.c (init_function_start): Constify.
4302
4303 * gensupport.c (remove_constraints, process_rtx): Prototype.
4304
4305 * gthr-posix.h: Indent uses of #pragma.
4306
4307 * objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
4308 Prototype.
4309
4310 * predict.c (find_expected_value): Delete prototype.
4311 (expected_value_to_br_prob): Initialize variable `ev_reg'.
4312
4313 * sbitmap.h (debug_sbitmap): Prototype.
4314
4315 * ssa.c (compute_coalesced_reg_partition): Prototype.
4316
4317 * stor-layout.c (debug_rli): Prototype.
4318
4319 * tree.h (round_down): Prototype.
4320 (init_function_start): Constify.
4321
57c578a6
ZW
43222000-05-04 Zack Weinberg <zack@wolery.cumb.org>
4323
4324 * cpphash.h: #define __extension__ away if GCC_VERSION < 2095
4325 (overly conservative). Change extern inline wrappers to
4326 static inline, define them always, use PARAMS properly.
4327 * cpplex.c (_cpp_get_directive_token): Don't issue pedantic
4328 whitespace warnings for \f and \v at the beginning of a line.
4329
4e95db71
JL
4330Thu May 4 10:03:50 2000 Jeffrey A Law (law@cygnus.com)
4331
4332 * haifa-sched.c (schedule_insns): Free the flow edge list when it
4333 is no longer needed
4334
72b9c7fb
BK
43352000-05-04 Bruce Korb <bkorb@gnu.org>
4336
4337 * fixincl/inclhack.def: added broken_cabs -
4338 Remove `extern double cabs' declarations from math.h
4339 * fixincl/inclhack.sh: regen
4340 * fixincl/fixincl.x: regen
6b151aa7
BK
4341 * fixincl/fixincl.c: Remove BOGOSITY code
4342 * fixincl/mkfixinc.sh: Remove code for installing "shell" version
72b9c7fb 4343
bf49b139
RK
4344Thu May 4 09:45:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4345
4346 * rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
4347 MEM_ALIAS_SET.
4348 * alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
4349 when calling MEM_COPY_ATTRIBUTES.
4350 * emit-rtl.c (operand_subword, change_address): Likewise.
4351 * explow.c (stabilize): Likewise.
4352 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
4353 * integrate.c (copy_rtx_and_substitute): Likewise.
4354 * combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
4355 when calling MEM_COPY_ATTRIBUTES.
4356 (make_extraction, simplify_shift_const, gen_lowpart_for_combine):
4357 Likewise.
4358 * cse.c (gen_lowpart_if_possible): Likewise.
4359 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
4360 * optabs.c (gen_move_insn): Likewise.
4361 * recog.c (validate_replace_rtx_1): Likewise.
4362 * simplify-rtx.c (add_mem_for_addr): Likewise.
4363 * stmt.c (expand_anon_union_decl): Likewise.
4364 * config/arm/arm.md: Likewise.
4365 * config/h8300/h7300.c (fix_bit_operand): Likewise.
4366 * config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
4367 (block_move_no_loop, block_move_sequence): Likewise.
4368 * config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
4369 * config/alpha/alpha.c (get_aligned_mem): Likewise.
4370 Clear MEM_ALIAS_SET.
4371 * final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
4372 MEM_COPY_ATTRIBUTES.
4373
5b8714bf 43742000-05-03 Robert Lipe <robertlipe@usa.net>
7e585d16 4375
f5540cd4
RH
4376 * configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
4377 to suppress libgcc1.
4378 (i[34567]86-*-sco3.2v5*) Likewise.
4379 (i[34567]86-*-sco3.2v4*) Likewise.
4380 (i[34567]86-*-sco) Likewise.
4381 (i[34567]86-*-solaris2) Likewise.
4382 (i[34567]86-*-sysv5*) Likewise.
4383 (i[34567]86-*-sysv4*) Likewise.
4384 (i[34567]86-*-udk*) Likewise.
4385 (i[34567]86-*-sysv*) Likewise.
5b8714bf 4386
12cf91fe
ZW
43872000-05-03 Zack Weinberg <zack@wolery.cumb.org>
4388
4389 * cpphash.h (U): New define, to correct type of string constants.
4390 (ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper
4391 routines, to do casts when passing unsigned strings to libc.
4392 * cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them.
4393
4394 * cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *.
4395 * cpphash.c (_cpp_quote_string): Make string an U_CHAR *.
4396 * cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *.
4397 * cpplex.c (parse_ifdef, parse_include, validate_else): Make
4398 second argument an U_CHAR *.
4399
4400 * cppinit.c (builtin_array): Make name and value U_CHAR *, add
4401 length field, clean up initializer.
4402 (ISTABLE): Add __extension__ to designated-
4403 initializers version.
4404 * cpplex.c (CHARTAB): Likewise.
4405
4406 * mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS
4407 case so the file won't be empty.
4408
2a6fa433
JE
4409Wed May 3 21:01:46 2000 Jason Eckhardt <jle@cygnus.com>
4410
f5540cd4
RH
4411 * bb-reorder.c (struct reorder_block_def): Member succ removed.
4412 (REORDER_BLOCK_SUCC): Removed.
4413 (enum reorder_skip_type): Removed.
4414 (skip_insns_between_block): Renamed to skip_insns_after_block.
4415 Removed second argument. Removed dead code and cleaned up.
4416 (make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
4417 (reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
4418 second parameter to skip_insns_after_block.
2a6fa433 4419
1c12c179
RK
4420Wed May 3 13:29:54 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4421
4422 * tree.c (staticp, case LABEL_DECL): New case.
4423
658a87e5
RH
44242000-05-03 Richard Henderson <rth@cygnus.com>
4425
4426 * Makefile.in (start.encap): Do not depend on LIBGCC1.
4427
f4118ce9
RH
4428 * mklibgcc1.in: Fix typo last change.
4429
6bed14c7
JM
44302000-05-03 Jason Merrill <jason@casey.cygnus.com>
4431
4432 * Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
4433 (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
4434 (GCC_CFLAGS): Use it.
4435 (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
4436 * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
4437 objc/Make-lang.in: Use it.
4438
122ddbf9
JT
44392000-05-03 Jason R Thorpe <thorpej@zembu.com>
4440
4441 * config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint.
4442
efdd2c06
RH
44432000-05-03 Richard Henderson <rth@cygnus.com>
4444
4445 * mklibgcc.in: Restrict OLDCC=GCC test to native. Equate
4446 LIBGCC1 empty with libgcc1.null.
4447
13393c8a
JW
4448Wed May 3 12:55:46 2000 Jim Wilson <wilson@cygnus.com>
4449
4450 * fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness
4451 change.
4452
a6d7adfd
GM
44532000-05-03 Greg McGary <gkm@gnu.org>
4454
4455 * tree.h (tree_common): Add bounded_flag member. Remove
4456 inaccurate comment about number of remaining bits.
4457 (BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P,
4458 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
4459 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
4460 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
4461 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros.
4462 (TYPE_QUAL_BOUNDED): New constant.
4463 (TYPE_QUALS): Handle bounded qualifier.
4464 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros.
4465 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
4466 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
4467 TYPE_AMBIENT_BOUNDEDNESS): New macros.
4468 (MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants.
4469 (tree_type): Add pointer_depth member. Remove
4470 inaccurate comment about number of remaining bits.
4471 (DECL_POINTER_DEPTH): Add macro.
4472 (tree_decl): Add pointer_depth member.
4473
28e801e2
DC
4474Wed May 3 22:52:53 2000 Denis Chertykov <denisc@overta.ru>
4475
4476 * config/avr/avr-protos.h (test_hard_reg_class): Declared.
4477 * config/avr/avr.c (ashrhi3_out): optimized shift by 15.
4478 (lshrhi3_out): Likewise.
4479 (ashrsi3_out): bugfix in shift by 8.
4480 (test_hard_reg_class): New function.
4481 * config/avr/avr.md: Bugfix inside conditions in peepholes.
4482 (ashlhi3): removed define_expand of this pattern.
4483 (*ashlhi3_insn): renamed to ashlhi3.
4484 (ashlsi3): removed define_expand of this pattern.
4485 (*ashlsi3_insn): renamed to ashlsi3.
4486 (ashrqi3): removed define_expand of this pattern.
4487 (*ashrqi3_insn): renamed to ashrqi3.
4488 (ashrhi3): removed define_expand of this pattern.
4489 (*ashrhi3_insn): renamed to ashrhi3.
4490 (ashrsi3): removed define_expand of this pattern.
4491 (*ashrsi3_insn): renamed to ashrsi3.
4492 (lshrhi3): removed define_expand of this pattern.
4493 (*lshrhi3_insn): renamed to lshrhi3.
4494 (lshrsi3): removed define_expand of this pattern.
4495 (*lshrsi3_insn): renamed to lshrsi3.
4496
4bd048ef
RB
44972000-05-03 Rodney Brown <RodneyBrown@pmsc.com>
4498
4499 * config/mcore/mcore.c: Replacing inclusion of "stdio,h" with
4500 inclusion of "system.h".
4501
59da9a7d
JW
4502Wed May 3 11:43:53 2000 Jim Wilson <wilson@cygnus.com>
4503
4504 * config/ia64/ia64.c (ia64_encode_section_info): Add check for
4505 TREE_ASM_WRITTEN.
4506
45072000-05-03 David Mosberger <davidm@hpl.hp.com>
4508
4509 * config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
4510 if -mauto-pic is on.
4511 (ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if
4512 -mconstant-gp is in effect and function-descriptors are being used
4513 to make indirect calls.
4514 * config/ia64/ia64.h (MASK_CONST_GP): New macro.
4515 (MASK_AUTO_PIC): Ditto.
4516 (TARGET_CONST_GP): Ditto.
4517 (TARGET_AUTO_PIC): Ditto.
4518 (TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options.
4519 (ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or
4520 -mno-pic is in effect.
4521 (ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto.
4522 * config/ia64/ia64.md (movdi): Use gen_load_gprel64() if
4523 -mauto-pic is in effect.
4524 (gprel64_offset): New pattern.
4525 (load_gprel64): Ditto.
4526 (call): Handle -mauto-pic like -mno-pic (don't use fptr). If
4527 -mconstant-gp is in effect, no need to preserve gp around direct
4528 calls.
4529 (call_value): Ditto.
4530 * config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define.
4531 (FUNCTION_PROFILER): Define.
4532 * config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate
4533 @fptr() directive when -mno-pic or -mauto-pic is in effect.
4534 (ASM_OUTPUT_DESTRUCTOR): Ditto.
4535
3ec83fc2
RH
45362000-05-03 Richard Henderson <rth@cygnus.com>
4537
4538 * Makefile.in (STAGESTUFF): Add libgcc libgcc.mk.
4539 (libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets.
4540 (libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets.
4541 (mklibgcc, libgcc.mk): New targets.
4542 (libgcc.a): Use libgcc.mk.
4543 (stmp-multilib): Likewise.
4544 (stmp-multilib-sub): Remove.
4545 (mostlyclean): Don't delete libgcc2 temp files.
4546 * configure.in (AC_PROG_CC_C_O): Add.
4547 (NO_MINUS_C_MINUS_O): Substitute it.
4548 (all_outputs): Add mklibgcc.
4549 * mklibgcc.in: New file.
4550
8c8de5fc
JM
45512000-05-03 Jason Merrill <jason@casey.cygnus.com>
4552
4553 * cppexp.c (op_t): Make an int.
4554
4555 * rtlanal.c (dead_or_set_regno_p): Remove unused variable.
4556
4557 * varasm.c (initializer_constant_valid_p): Fix parenthesis.
4558
4559 * gensupport.c (process_rtx): Fix macros used.
4560
8d6fe133
RH
45612000-05-03 Richard Henderson <rth@cygnus.com>
4562
4563 * flow.c (propagate_one_insn): Also don't PROP_REG_INFO for
4564 call-clobbered registers of a call.
4565
c88c0d42
CP
4566Wed May 3 12:40:53 2000 Clinton Popetz <cpopetz@cygnus.com>
4567
4568 * gensupport.c: New file.
4569 * gensupport.h: New file.
4570 * Makefile.in (HOST_RTL): Depend on gensupport.
4571 (gensupport.o) New rule.
4572 * genattr.c: Use gensupport for reading .md files.
7e585d16
ZW
4573 * genattrtab.c: Ditto.
4574 * gencodes.c: Ditto.
4575 * genconfig.c: Ditto.
4576 * genemit.c: Ditto.
4577 * genextract.c: Ditto.
4578 * genflags.c: Ditto.
4579 * genopinit.c: Ditto.
4580 * genoutput.c: Ditto.
4581 * genpeep.c: Ditto.
c88c0d42
CP
4582 * genrecog.c: Ditto.
4583 * rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
4584 * md.texi (Insn Splitting): Document define_insn_and_split.
4585
18ca529b
JE
4586Tue May 2 00:20:30 2000 Jason Eckhardt <jle@cygnus.com>
4587
3ec83fc2
RH
4588 * flow.c (verify_flow_info): Added two more sanity checks. The
4589 first checks that the blocks are numbered consecutively. The second
4590 checks that n_basic_blocks is actually equal to the number of
4591 basic blocks in the insn chain.
18ca529b 4592
1920de47
ZW
45932000-05-03 Zack Weinberg <zack@wolery.cumb.org>
4594
4595 * cpplib.h: Add accessor macros for token lists.
4596 * cpplib.c, cpphash.c, cpplex.c: Use them.
4597
32919a0d
RK
4598Wed May 3 09:29:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4599
4600 * expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
4601 memory usage if not in a function.
4602 * varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
4603 return address if static.
4604
ea49bef6
JH
4605Wed May 3 13:14:49 MET DST 2000 Jan Hubicka <jh@suse.cz>
4606
4607 * ifcvt.c (noce_try_cmove_arith): Use may_trap_p to thest
4608 whether address may trap.
4609
3ef4c9c6
JE
4610Tue May 2 23:38:37 2000 Jason Eckhardt <jle@cygnus.com>
4611
3ec83fc2
RH
4612 * bb-reorder (chain_reorder_blocks): Changed code to test for
4613 EDGE_FALLTHRU rather than making erroneous assumption that the
4614 first outgoing edge is the fall-through edge.
3ef4c9c6 4615
4fe12442
DL
4616Tue May 2 18:20:31 2000 Donald Lindsay <dlindsay@hound.cygnus.com>
4617
7e585d16 4618 * config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new
4fe12442
DL
4619 ABI for varargs, across all MIPS. This is incompatible because the
4620 va_list (__builtin_va_list) structure is different, so a compilation
4621 unit passing a va_list and a compilation unit being passed one, should
7e585d16 4622 both be compiled with the same ABI. (The old structure had two
4fe12442
DL
4623 pointers, now it has three.)
4624
f4e79153
JE
4625Tue May 2 19:18:43 2000 Jason Eckhardt <jle@cygnus.com>
4626
3ec83fc2
RH
4627 * bb-reorder.c (struct reorder_block_def): Remove members end,
4628 block_begin, and block_end.
4629 (REORDER_BLOCK_OLD_END): Delete.
4630 (REORDER_BLOCK_BEGIN): Delete.
4631 (REORDER_BLOCK_END): Delete.
4632 (chain_reorder_blocks): Remove dead code.
f4e79153 4633
eb6f82f7
JE
4634Tue May 2 17:06:53 2000 Jason Eckhardt <jle@cygnus.com>
4635
4636 * bb-reorder.c (remove_scope_notes): Check for both types of scope
4637 notes as the end of a basic block before deleting.
4638
3ac79482
MK
46392000-05-02 Mumit Khan <khan@xraylith.wisc.edu>
4640
4641 * final.c (final_start_function): Fix spelling of "necessary".
4642
64b59a80
JM
46432000-05-02 Jason Merrill <jason@casey.cygnus.com>
4644
64b59a80
JM
4645 * toplev.c (debug_ignore_block): Return int.
4646 * dwarf2out.c (dwarf2out_ignore_block): Likewise.
4647 * toplev.h, dwarf2out.h: Adjust.
4648 * emit-rtl.c (remove_unnecessary_notes): Test return value.
4649
4650 * emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary".
4651 * toplev.c, final.c, rtl.h: Adjust.
4652
09fa0705
ZW
46532000-05-02 Zack Weinberg <zack@wolery.cumb.org>
4654
4655 * aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
4656 * configure.in: Look for makeinfo in the unified tree, then
4657 for a system makeinfo which is sufficiently new.
4658 * Makefile.in: If configure says makeinfo is too old, don't
4659 build or install Info documentation.
4660
1ce4a39d
ZW
46612000-05-02 Zack Weinberg <zack@wolery.cumb.org>
4662
4663 * cpphash.c (collect_params): Fix off-by-one error.
4664 (dump_hash_helper): Dump all four macro nodetypes.
4665
9900f597
JJ
46662000-05-02 Jakub Jelinek <jakub@redhat.com>
4667
4668 * cpphash.c (trad_stringify): Adjust p after stringification as
4669 well.
4670
c56c2073
ZW
46712000-05-02 Zack Weinberg <zack@wolery.cumb.org>
4672
4673 * cpplib.h (CPP_POP, parse_cleanup_t): Delete.
4674 (cpp_buffer): Remove cleanup, seen_eof, manual_pop members.
4675
4676 * cppfiles.c (file_cleanup): Delete.
4677 * cpphash.c (macro_cleanup): Delete.
4678 (collect_objlike_expansion, collect_funlike_expansion,
4679 macarg, scan_arguments): Remove CPP_POP case.
4680
4681 * cpplex.c (null_cleanup): Delete.
4682 (cpp_pop_buffer): Do the work that was done in the cleanups
4683 here. Call _cpp_unwind_if_stack from here.
4684 (_cpp_expand_to_buffer, cpp_scan_buffer_nooutput,
4685 cpp_scan_buffer): Run until we see CPP_EOF and the top of
4686 stack is the buffer _below_ the one we stacked.
4687 (cpp_get_token): Always pop an exhausted buffer. Return
4688 CPP_EOF unless it's a macro buffer. Don't call _cpp_handle_eof.
4689 * cpplib.c (skip_if_group): Don't call cpp_get_token to
4690 increment the line number.
4691 (_cpp_handle_eof): Rename to _cpp_unwind_if_stack.
4692
4693 * fix-header.c (read_scan_file) [parsing getchar()]: Run until
4694 we see CPP_EOF and the top of stack is the buffer _below_ the
4695 one we stacked.
4696 * scan-decls.c: Likewise.
4697
32adf8e6
AH
46982000-05-02 Andrew Haley <aph@cygnus.com>
4699
4700 * config/ia64/ia64.c (ia64_encode_section_info): Handle the case
4701 where this function is called for the second time on a decl that
4702 has had its section info changed in such a way as to move it out
7e585d16 4703 of small data/bss.
32adf8e6
AH
4704 * config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
4705
15ac7707
RH
47062000-05-01 Richard Henderson <rth@cygnus.com>
4707
4708 * ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before
4709 the sequence we're moving, not to merge_bb->head.
4710
8be9eb00
RH
47112000-05-01 Richard Henderson <rth@cygnus.com>
4712
cf889600
RH
4713 * configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove
4714 reference to alpha/t-linux.
4715 (alpha*-*-linux-gnu*): Likewise.
4716 * configure: Rebuild.
4717
8be9eb00
RH
4718 * calls.c (expand_call): Don't emit reg notes for a sibcall.
4719
1868a0d4
RH
4720 * flow.c (calculate_global_regs_live): Skip for_each_successor_phi
4721 if not in SSA form.
7aa88bcf
RH
4722
4723 * ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING.
4724
8eec72ec
JM
47252000-05-01 Jason Merrill <jason@casey.cygnus.com>
4726
4727 * integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and
4728 TREE_THIS_VOLATILE.
4729
7e04d3c7
RH
47302000-05-01 Richard Henderson <rth@cygnus.com>
4731
4732 * ifcvt.c (noce_emit_cmove): Conditionally compile call to
4733 emit_conditional_move.
4734
f0b0e152
JJ
47352000-05-01 Jakub Jelinek <jakub@redhat.com>
4736
4737 * config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
4738 as the dynamic linker.
4739
cc933923
ZW
47402000-05-01 Zack Weinberg <zack@wolery.cumb.org>
4741
10e56506
ZW
4742 * cppfiles.c (open_include_file): Open file in blocking mode.
4743 (read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore.
4744 Only exclude block devices and directories.
4745
cc933923
ZW
4746 * cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
4747 static. Allocate the hashnode and its string in the same
4748 block of memory.
4749 (del_HASHNODE): Don't free h->name.
4750 (_cpp_lookup): If there is no entry for this string, create
4751 one, of type T_VOID.
4752 (_cpp_lookup_slot): Delete.
4753 * cpphash.h: Update prototypes.
4754
4755 * cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
4756 not hp == NULL.
4757 * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
4758 do_unassert, cpp_defined): Use _cpp_lookup. Don't create a
4759 node here, just fill in the value field properly. "Delete"
4760 entries by setting the value field to T_VOID. Check for
4761 hp->type == T_VOID, not hp == NULL.
4762
4763 * Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
4764 * cpperror.c, cppexp.c, cpplex.c, cpplib.c: Don't include
4765 hashtab.h.
4766
ed6089d6
AO
47672000-05-01 Alexandre Oliva <aoliva@cygnus.com>
4768
79e4122c
AO
4769 * config/mn10300/mn10300.c (print_operand_address): Do not add
4770 zero to SP.
4771
ed6089d6
AO
4772 * config/mn10300/mn10300.c (expand_epilogue): If SP is to be
4773 adjusted by less than 256 bytes, use ret regardless of having any
4774 callee-saved register to restore.
4775
7c714ee1
LB
47762000-05-01 Laurynas Biveinis <lauras@softhome.net>
4777
4778 * tm.texi (TARGET_HAS_F_SETFLKW): Fix typo.
4779
52e45a60
ME
47802000-05-01 Mark Elbrecht <snowball3@bigfoot.com>
4781
4782 * config/i386/djgpp.h (INT_ASM_OP): Define.
4783 (CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
4784 (ASM_WEAKEN_LABEL): Define.
4785 (MASK_BNU210): Define.
4786 (SUBTARGET_SWITCHES): Define.
4787 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
4788 (MAKE_DECL_ONE_ONLY): Define.
4789 (UNIQUE_SECTION_P, UNIQUE_SECTION): Define.
4790
eb70f628
MK
47912000-05-01 Mumit Khan <khan@xraylith.wisc.edu>
4792
4793 * i386/cygwin.h (INT_ASM_OP): Define.
4794
afd1bb91
DC
4795Mon May 1 18:20:06 2000 Denis Chertykov <denisc@overta.ru>
4796
4797 * config/avr/avr.c (address_cost): renamed to avr_address_cost.
4798 * config/avr/avr.h (ADDRESS_COST): use avr_address_cost.
4799
368256d8
DC
4800Mon May 1 17:50:44 2000 Denis Chertykov <denisc@overta.ru>
4801
4802 * config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
4803 __tmp_reg__ and __zero_reg__ initialization.
4804
c4686982
RH
48052000-04-30 Richard Henderson <rth@cygnus.com>
4806
5e9e738c
RH
4807 * flow.c (propagate_one_insn): Mark sets even when the insn is dead.
4808
c4686982
RH
4809 * ifcvt.c (noce_process_if_block): Fail the conversion if X is
4810 referenced bewteen the condition and the jump. Don't delete
4811 anything but the jump.
4812
e3fdc58a
JE
4813Sun Apr 30 22:48:24 2000 Jason Eckhardt <jle@cygnus.com>
4814
4815 * bb-reorder.c (scope_def): New struct.
4816 (scope_forest_info): New struct.
4817 (struct reorder_block_def): New member "scope".
4818 (REORDER_BLOCK_SCOPE): New macro.
4819 (relate_bbs_with_scopes): New function and prototype.
4820 (make_new_scope): Likewise.
4821 (build_scope_forest): Likewise.
4822 (remove_scope_notes): Likewise.
4823 (insert_intra_1): Likewise.
4824 (insert_intra_bb_scope_notes): Likewise.
4825 (insert_inter_bb_scope_notes): Likewise.
4826 (rebuild_scope_notes): Likewise.
4827 (free_scope_forest_1): Likewise.
4828 (free_scope_forest): Likewise.
4829 (dump_scope_forest): Likewise.
4830 (dump_scope_forest_1): Likewise.
4831 (chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
4832 Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
4833 block.
4834 (reorder_basic_blocks): Added calls to build_scope_scope_forest
4835 and remove_scope_notes before reordering is done. Added calls to
4836 rebuild_scope_notes, free_scope_forest, and reorder_blocks after
4837 after reordering is done.
4838
4c188026
BK
48392000-40-30 Bruce Korb <bkorb@gnu.org>
4840
82c3a53e
BK
4841 * fixinc/inclhack.def: Added definitions needed by OSR5,
4842 removed two stale entries (defined away with OLD_CPP).
4c188026
BK
4843 * fixinc/inclhack.sh: regen
4844 * fixinc/fixincl.x: regen
4845
0ca4f243
RH
48462000-04-30 Richard Henderson <rth@cygnus.com>
4847
4848 * ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes
4849 from the last insn in the sequence.
4850
638d694d
ZW
48512000-04-30 Zack Weinberg <zack@wolery.cumb.org>
4852
6d2c2047
ZW
4853 * cpplex.c (cpp_idcmp): New function.
4854 * cpplib.h: Prototype it.
4855 * scan_decls.c (scan_decls): Use it to inspect token names.
4856 * fix-header.c (read_scan_file): Likewise. Set system_header_p on
4857 the file being run through the preprocessor.
4858 (check_macro_names): Provide length of token to cpp_defined.
4859
4860 * Makefile.in: Remove stale warning message.
4861
638d694d
ZW
4862 * cppfiles.c (redundant_include_p): Provide length of token to
4863 cpp_defined.
4864 * cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash
4865 values are unsigned int.
4866 (_cpp_lookup, _cpp_lookup_slot): Do not calculate the length.
4867 (_cpp_lookup_slot): Do not calculate the hash, either.
4868 * cpphash.h: Update prototypes.
4869 * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert):
4870 Hashes are unsigned int. Calculate hash here, pass by value
4871 to _cpp_lookup_slot.
4872
4d0482f6
BS
48732000-04-30 Bernd Schmidt <bernds@cygnus.co.uk>
4874
4875 * simplify-rtx.c (check_value_useless): Delete function.
4876 (discard_useless_locs): Don't call it; manage N_USELES_VALUES counter
4877 by hand.
4878 (cselib_invalidate_regno): Likewise.
4879 (cselib_invalidate_mem_1): Likewise.
4880 (references_value_p): Recognize useless values by the fact that they
4881 have no locations.
4882 (discard_useless_values): Likewise.
4883 (cselib_record_set): This may turn a useless value
4884 into a useful one.
6d2c2047 4885
a5c874cb
RH
48862000-04-30 Richard Henderson <rth@cygnus.com>
4887
4888 * config/d30v: New port.
4889
4890 * configure.in (d30v-*): Set fp format.
4891 * configure: Rebuild.
4892
9ec6d7ab
RH
48932000-04-30 Richard Henderson <rth@cygnus.com>
4894
4895 * ifcvt.c: New file.
4896 * Makefile.in (OBJS): Add it.
4897 (ifcvt.o): New target.
6d2c2047 4898 * jump.c (jump_optimize_1): Remove all code related to if-conversion,
9ec6d7ab
RH
4899 and conditional arithmetic.
4900 (find_insert_position): Remove.
4901 * timevar.def (TV_IFCVT, TV_IFCVT2): New.
4902 * toplev.c (DFI_ce, DFI_ce2): New.
4903 (dump_file): Add ce and ce2 dumps.
4904 (rest_of_compilation): Run if_convert a couple o times. Set
4905 cse_not_expected after cse2. Don't set no_new_pseudos until
4906 after sched1 or recompute_reg_usage.
4907
927b868f
RH
49082000-04-30 Richard Henderson <rth@cygnus.com>
4909
4910 * config/alpha/t-crtbe (crtbegin.o): Add "-I.".
4911 (crtend.o, crtbeginS.o, crtendS.o): Likewise.
4912
11ae508b
RH
49132000-04-30 Richard Henderson <rth@cygnus.com>
4914
4915 * flow.c (struct reg_cond_life_info): New.
4916 (struct propagate_block_info): Add reg_cond_dead and reg_cond_reg.
4917 (init_propagate_block_info): Initialize them.
4918 (free_propagate_block_info): Destruct them.
4919 (mark_set_1): Consider conditional life before killing a register.
4920 (mark_regno_cond_dead): New.
4921 (free_reg_cond_life_info): New.
4922 (flush_reg_cond_reg_1, flush_reg_cond_reg): New.
4923 (ior_reg_cond, not_reg_cond, nand_reg_cond): New.
4924 (mark_used_reg): Record conditional life.
4925
4926 * haifa-sched.c (schedule_insns): Disable death counting
4927 sanity check for HAVE_conditional_execution.
4928
614f6bc1
RH
49292000-04-30 Richard Henderson <rth@cygnus.com>
4930
4931 * Makefile.in (TIMEVAR_H): New.
4932 (ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it.
4933 (timevar.h): Remove rule.
4934
99eb5b26
RH
49352000-04-29 Richard Henderson <rth@cygnus.com>
4936
4937 * config/alpha/crtend.asm: Use C comments instead of #.
4938 * config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden.
4939
4940 * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
4941
5cebbd8d
ZW
49422000-04-29 Zack Weinberg <zack@wolery.cumb.org>
4943
d2158690
ZW
4944 * cpphash.h (enum node_type: Take out T_MCONST.
4945 (union hashval): Move into struct hashnode.
4946 (struct hashnode): Pack tighter. Remove file, line, col
4947 members.
4948 * cpphash.c: Constify most of the macro-definition structures.
4949 (struct definition): Replace by struct object_defn
4950 and struct funct_defn. Put file, line, column information
4951 here. All users updated to match.
4952 (_cpp_create_definition, _cpp_macroexpand): Remove special
4953 case for #define WORD OTHERWORD.
4954 * cpplib.c (do_undef): Remove T_MCONST case.
4955
5cebbd8d
ZW
4956 * cpphash.h: Move struct reflist, struct definition, and the
4957 DEFINITION typedef to cpphash.c. Use 'struct definition *' in
4958 union hashval. _cpp_free_definition takes a HASHNODE pointer.
4959 * cpphash.c (_cpp_free_definition): Free data pointed to by
4960 MCONST, XCONST, MACRO, and FMACRO nodes properly.
4961 (_cpp_create_definition, del_HASHNODE): Just call
4962 _cpp_free_definition to clear out a hashnode.
4963 * cpplib.c (do_pragma_poison): Likewise.
4964
a47944e2
AO
4965Sat Apr 29 12:25:17 2000 Alexandre Oliva <aoliva@cygnus.com>
4966
4967 * config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
4968 LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
4969 FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
4970 (REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
4971 (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
4972 REGNO_AM33_P): Redefine in terms of the new macros.
4973 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
4974 (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
4975 STRUCT_VALUE): Likewise.
4976 (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
4977 ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise. Moved.
4978
a2ee8430
JH
4979Sat Apr 29 01:18:45 MET DST 2000 Jan Hubicka <jh@suse.cz>
4980
4981 * regmove.c (struct record_stack_memrefs_data): New.
4982 (record_stack_memrefs): New function.
4983 (combine_stack_adjustments_for_block): Use it.
4984
0c4c16df
JH
4985Sat Apr 29 01:15:27 MET DST 2000 Jan Hubicka <jh@suse.cz>
4986
4987 * calls.c (calls_function_1): Propertly handle TREE_LIST expressions;
4988 use special_function_p to detect alloca.
4989
e6746605
ME
4990Fri Apr 28 16:30:33 2000 Marc Espie <espie@cvs.openbsd.org>
4991
4992 * gcc.texi: Fixes for makeinfo 4.0 --html.
4993
2f7205ff
ZW
49942000-04-28 Zack Weinberg <zack@wolery.cumb.org>
4995
4996 * pcp.h: Delete file.
4997
f40a8c03
KH
49982000-04-28 Kazu Hirata <kazu@hxi.com>
4999
5000 * h8300.c (function_epilogue): Clean up flags when the last insn
5001 in a function is a barrier.
5002
e7651ec5
CD
50032000-04-28 Chris Demetriou <cgd@sibyte.com>
5004
5005 * configure.in (sparc-hal-solaris2*): protect [] glob from
5006 my expansion.
5007 (mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines
5008 rather than hard-coded constants in target_cpu_default2.
5009 * configure: Regenerate.
5010
c083cf9a
JM
50112000-04-28 Jason Merrill <jason@casey.cygnus.com>
5012
5013 * tree.c (get_callee_fndecl): Extract the initial value from
5014 a readonly decl.
5015
e67cd9f8
RH
50162000-04-28 Richard Henderson <rth@cygnus.com>
5017
5018 * varasm.c (record_constant_1): Record the CODE_LABEL when
5019 taking the address of a LABEL_REF.
5020
ce48579b
RH
50212000-04-28 Richard Henderson <rth@cygnus.com>
5022 Jan Hubicka <jh@suse.cz>
5023
5024 * calls.c (combine_pending_stack_adjustment_and_call): Return the
5025 adjustment; don't do the stack adjust.
5026 (expand_call): Call compute_argument_block_size right before
5027 allocating the block; update comment; don't do alignment sanity
5028 checking for sibling call; use args_size instead of
5029 unadjusted_args_size before args_size is adjusted. Use
5030 combine_pending_stack_adjustment_and_call to compute stack adjust
5031 for must_preallocate case.
5032
5033 * expr.c (push_block): Remove shadow `temp' in inner scope.
5034
f1f39752
JM
50352000-04-28 Jason Merrill <jason@casey.cygnus.com>
5036
6d2c2047 5037 * toplev.c (rest_of_compilation): Call
f1f39752
JM
5038 note_deferral_of_defined_inline_function even if the function
5039 can't be inlined.
5040
bb1ec1d7
SB
50412000-04-28 Scott Bambrough <scottb@netwinder.org>
5042
5043 * cpplex.c (_cpp_scan_line): Fix buffer overwrite.
5044
d8d1d62b
RH
50452000-04-28 Richard Henderson <rth@cygnus.com>
5046
5047 * toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.
5048
4fbe8d07
KG
50492000-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5050
5051 * timevar.c (init_timevar): DeANSIfy function definition.
5052
26026d38
AS
50532000-04-27 Alex Samuel <samuel@codesourcery.com>
5054
5055 * Makefile.in (timevar.o): Depend on flags.h.
5056 * timevar.c (unused_stack_instances): New variable.
5057 (timevar_push): Take a timevar_stack_def from
5058 unused_stack_instances if available.
5059 (timevar_pop): Push the popped timevar_stack_def onto
5060 unused_stack_instances.
5061 (TIMEVAR_ENABLE): New macro.
5062 (timevar_def): Make standalone a 1-bit field. Add field used.
5063 (get_time): Rename parameter to now. Return after clearing it if
5064 not TIMEVAR_ENABLE.
5065 (init_timevar): Do nothing if not TIMEVAR_ENABLE.
5066 (timevar_pop): Likewise.
5067 (timevar_stop): Likewise.
5068 (timevar_push): Likewise. Mark the timing variable as used.
5069 (timevar_start): Likewise.
5070 (timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print
5071 timevars that were never used.
5072
a6496605
MM
50732000-04-27 Mark Mitchell <mark@codesourcery.com>
5074
6428983a 5075 * c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
a6496605
MM
5076 always TREE_READONLY.
5077
d8b2fb52
UD
50782000-04-27 Ulrich Drepper <drepper@cygnus.com>
5079
5080 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
5081 for call instruction with mode QImode.
5082
2a9a326b
AS
50832000-04-27 Alex Samuel <samuel@codesourcery.com>
5084
5085 * Makefile.in (OBJS): Add timevar.o.
5086 (toplev.o): Depend on timevar.h.
5087 (ggc-simple.o): Likewise.
5088 (ggc-page.o): Likewise.
5089 (timevar.o): New rule.
5090 (timevar.h): New rule.
5091
5092 * timevar.h: New file.
5093 * timevar.c: Likewise.
5094 * timevar.def: Likewise.
5095
5096 * toplev.h (gc_time, parse_time, varconst_time): Remove.
5097 * toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
5098 throughout.
5099 (TIMEVAR): Remove macro.
5100 (gc_time, parse_time, varconst_time, integration_time, jump_time,
5101 cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
5102 flow_time, combine_time, regmove_time, sched_time,
5103 local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
5104 sched2_time, dbr_sched_time, reorder_blocks_time,
5105 rename_registers_time, shorten_branch_time, stack_reg_time,
5106 to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
5107 all_time): Remove.
5108 (compile_file): Don't initialize time variables. Call
5109 init_timevar and start TV_TOTAL timer. Call timevar_print instead
5110 of many calls to print_time.
5111 (rest_of_compilation): Add timing for reload_cse_regs.
5112 (get_run_time): Removed to timevar.c.
5113 (print_time): Likewise.
5114 (get_run_time): Implement using TV_TOTAL time variable.
6d2c2047 5115 (print_time): Get total run time from get_run_time.
2a9a326b
AS
5116 * ggc-page.c (ggc_collect): Push and pop TV_GC instead of
5117 computing elapsed time explicitly.
5118 * ggc-simple.c (ggc_collect): Likewise.
5119 (gc_time): Remove declaration.
6d2c2047 5120
739fb049
MM
51212000-04-27 Mark Mitchell <mark@codesourcery.com>
5122
5123 * calls.c (combine_pending_stack_adjustment_and_call): New function.
5124 (expand_call): Use it.
6d2c2047 5125
d5827326
JH
51262000-04-27 Jan Hubicka <jh@suse.cz>
5127
5128 * flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
5129 fields.
5130
b340d2b8
AO
5131Thu Apr 27 12:47:00 2000 Alexandre Oliva <aoliva@cygnus.com>
5132
5133 * config/mn10300/mn10300.md (movhi): Simplify. Prefer data
5134 registers.
5135
1b513b77
JH
5136Thu Apr 27 17:33:05 MET DST 2000 Jan Hubicka <jh@suse.cz>
5137
5138 * function.c (epilogue_done): Pass whole insn to record_insns.
5139
01329426
JH
5140Thu Apr 27 16:55:28 MET DST 2000 Jan Hubicka <jh@suse.cz>
5141
5142 * cse.c (CSE_ADDRESS_COST): Remove.
5143 (find_best_addr): Add new parameter "MODE", use address_cost instead
5144 of CSE_ADDRESS_COST
5145 (address_cost): New.
5146 (fold_rtx): Update call of find_best_addr.
5147 * rtl.h (address_cost): Declare.
5148 * loop.c (general_induction_var): Add new parameter "MODE", use
5149 address_cost instead of ADDRESS_COST
5150 (init_loop): Use address_cost instead of ADDRESS_COST.
5151 (check_insn_for_givs): Update call of general_induction_var.
5152 (find_mem_givs): Likewise.
5153 (consec_sets_giv): Likewise.
5154 * config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
5155 * i386.c (ix86_address_cost): New.
5156 * i386-protos.h (ix86_address_cost): Declare.
5157
5e849f6e
AO
5158Thu Apr 27 11:45:16 2000 Alexandre Oliva <aoliva@cygnus.com>
5159
5160 * config/mn10300/mn10300.md (movqi): Simplify. Prefer data
5161 registers.
5162
2a5b96fd
JH
5163Thu Apr 27 16:11:00 MET DST 2000 Jan Hubicka <jh@suse.cz>
5164
5165 * expr.c (store_expr): Use clear_storage instead of direct memset
5166 libcall.
5167
d82704fb
AO
5168Thu Apr 27 10:36:51 2000 Alexandre Oliva <aoliva@cygnus.com>
5169
5170 * config/mn10300/mn10300.c (mn10300_address_cost): Test
5171 ASHIFT, AND and LABEL_REF.
5172
1aaef9c1
JH
5173Thu Apr 27 15:08:46 MET DST 2000 Jan Hubicka <jh@suse.cz>
5174
5175 * invoke.texi (-foptimize-sibling-calls): Fix.
5176
28b6b9b2
JH
5177Thu Apr 27 14:54:22 MET DST 2000 Jan Hubicka <jh@suse.cz>
5178
5179 * loop.c (load_mems) Don't use hard registers for the hoisting.
5180
5181 * unroll.c (unroll_loop): Avoid overflow in the n_iterations
5182 calculation; rename const_equiv array in the preconditioning code
5183 from loop_unroll to loop_unroll_precondition
5184
9785c68d
RH
51852000-04-27 Richard Henderson <rth@cygnus.com>
5186
5187 * flow.c (struct propagate_block_info): Remove new_dead, new_live;
5188 add new_set.
5189 (propagate_one_insn): Clear it. Don't update reg_live here.
5190 (init_propagate_block_info): Update for pbi member changes.
5191 (free_propagate_block_info): Likewise.
6d2c2047 5192 (mark_set_1): Know that zero_extract, sign_extract, and
9785c68d
RH
5193 strict_low_part don't kill their argument. Alter hard subregs.
5194 Update new_set for non-CLOBBER sets. Update reg_live.
5195 (find_auto_inc): Update reg_live, not new_dead.
5196 (mark_used_reg): Update reg_live, not new_live. Examine new_set
5197 to determine if the reg in question was set this insn. Only update
5198 reg info with PROP_REG_INFO.
5199
a9f531a6
RH
52002000-04-26 Richard Henderson <rth@cygnus.com>
5201
5202 * flow.c (allocate_reg_life_data): Set max_regno here ...
5203 (life_analysis): ... not here.
5204
83a67d12
RH
5205 * flow.c (calculate_global_regs_live): Force stack pointer
5206 live at end.
5207
2ea64f10
RH
52082000-04-26 Richard Henderson <rth@cygnus.com>
5209
5210 * jump.c (redirect_exp_1): Rework from old redirect_exp. Never
5211 commit change group changes.
5212 (invert_exp_1): Similarly.
5213 (redirect_exp, invert_exp): Use them.
5214 (redirect_jump_1): New.
5215 (invert_jump_1): New.
5216 (jump_optimize_1): Remove code subsumed by condexec.c.
5217 * rtl.h (invert_jump_1, redirect_jump_1): Declare.
5218
0a2287bf
RH
52192000-04-26 Richard Henderson <rth@cygnus.com>
5220
5221 * rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
5222
5223 * genconfig.c (main): Set all HAVE_foo to 1.
5224
5225 * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
5226
4bae0b47
AS
52272000-04-26 Alex Samuel <samuel@codesourcery.com>
5228
5229 * invoke.texi: Document -fssa flag.
5230
f134997f
RH
52312000-04-26 Richard Henderson <rth@cygnus.com>
5232
5233 * flow.c (count_reg_sets_1): Remove.
5234 (count_reg_sets, count_reg_references): Remove.
5235 (recompute_reg_usage): Implement with update_life_info.
5236 Reallocate life data.
5237
693d9e2f
RH
52382000-04-26 Richard Henderson <rth@cygnus.com>
5239
5240 * flow.c (update_life_info): Consider blocks null to mean the
5241 universal set.
5242 (calculate_global_regs_live): Likewise.
5243 (life_analysis): Do that instead of collecting all_blocks.
5244
56aba4a8
RH
52452000-04-26 Richard Henderson <rth@cygnus.com>
5246
5247 * flow.c (tidy_fallthru_edge): Don't delete the jump when it's
5248 a still-valid conditional jump.
5249
604617ba
RH
52502000-04-26 Richard Henderson <rth@cygnus.com>
5251
5252 * jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly.
5253
5254 * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability.
5255 * flow.c (calculate_loop_depth): Remove.
5256 * output.h (calculate_loop_depth): Don't declare.
5257 * toplev.c (rest_of_compilation): Expand calculate_loop_depth
5258 inline; run estimate_probability at the same time.
5259
6777db6d
NB
52602000-04-26 Neil Booth <NeilB@earthling.net>
5261
5262 * cpplib.h: "~=" is not a single pp-token.
5263 * cpplex.c: Correct commentary.
5264
b4593d17
RH
52652000-04-26 Richard Henderson <rth@cygnus.com>
5266
5267 * flow.c (mark_set_1): New arguments code and flags; update all
5268 callers. Track regno_first and regno_last; do HARD_REGNO_NREGS
5269 test in one place. Tidy flags tests. Don't bias REG_N_REFS by
5270 loop_depth when optimizing for size. Do new_dead update after
5271 emitting REG_UNUSED notes. Merge mark_set_reg code.
5272 (mark_set_reg): Remove.
5273 (propagate_one_insn): Use mark_set_1 for call-clobbered registers;
5274 arrange to not emit REG_UNUSED notes.
5275
443b75c9
RH
52762000-04-26 Richard Henderson <rth@cygnus.com>
5277
5278 * flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
5279 * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.
5280
292f3869
RH
52812000-04-26 Richard Henderson <rth@cygnus.com>
5282
5283 * flow.c (propagate_one_insn): Break out from propagate_block.
5284 (init_propagate_block_info): Likewise.
5285 (free_propagate_block_info): Likewise.
5286 (propagate_block): Use them. Export.
5287 * basic-block.h: Declare them all.
5288
7f8a79ba
RH
52892000-04-26 Richard Henderson <rth@cygnus.com>
5290
5291 * basic-block.h (life_analysis): Declare here ...
5292 * output.h: ... not here.
5293 * flow.c (life_analysis): Remove nregs parameter; replace
5294 remove_dead_code with flags. Remove ssa dead code check.
5295 Only init alias analysis if we'll use it.
5296 * reg-stack.c (reg_to_stack): Update life_analysis arguments.
5297 * ssa.c (convert_to_ssa): Likewise.
5298 (convert_from_ssa): Likewise.
5299 * toplev.c (rest_of_compilation): Likewise.
5300
52294521
RH
53012000-04-26 Richard Henderson <rth@cygnus.com>
5302
5303 * flow.c (flow_delete_block): Rename from delete_block. Export.
5304 * basic-block.h (flow_delete_block): Declare.
5305
9485c46e
DM
53062000-04-26 David S. Miller <davem@redhat.com>
5307
5308 * optabs.c (emit_libcall_block): Verify insns with INSN_P before
5309 taking a PATTERN of it.
5310
cfd5b8b8
NB
53112000-04-26 <NeilB@earthling.net>
5312
5313 * cpplex.c (spell_other, spell_char): Remove.
5314 (SPELL_CHAR): New.
5315 (token_spelling, trigraph_map): Use unsigned chars.
5316 (_cpp_lex_line): Tidy up the switch statement.
5317 * cpplib.h: Implement spell_char with spell_string.
5318 (C): New.
5319
466d45de 53202000-04-26 <RodneyBrown@pmsc.com>
6d2c2047 5321
466d45de
RB
5322 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
5323 * pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.
5324
d3e3972c
KG
53252000-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5326
5327 * dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi,
5328 reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa,
5329 dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save,
5330 dwarf2out_return_save, dwarf2out_return_reg,
5331 dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename,
5332 add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label,
5333 gen_compile_unit_die, dwarf2out_init): Constify a char*.
5334
5335 * dwarf2out.h (dwarf2out_init): Likewise.
5336
5337 * dwarfout.c (filename_entry, primary_filename, last_filename,
5338 type_tag, output_compile_unit_die, dwarfout_init): Likewise.
5339
5340 * tree.h (dwarf2out_def_cfa, dwarf2out_window_save,
5341 dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save,
5342 dwarf2out_return_reg): Likewise.
5343
d4047e24
AJ
53442000-04-26 Andreas Jaeger <aj@suse.de>
5345
2ea64f10
RH
5346 * extend.texi (Function Attributes): Fix description of pure
5347 attribute.
d4047e24 5348
7d2e8eff
JM
53492000-04-26 Jason Merrill <jason@casey.cygnus.com>
5350
5351 * integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT
5352 before calling rest_of_compilation.
5353
70576b75
AJ
53542000-04-26 Andreas Jaeger <aj@suse.de>
5355
5356 * config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
5357 last patch.
5358
e2ee9912
RH
53592000-04-25 Richard Henderson <rth@cygnus.com>
5360
2ea64f10 5361 * cse.c (cse_insn): Emit barrier after unconditional jump.
369edff1 5362
e2ee9912
RH
5363 * calls.c (expand_call): Disable tail call generation once
5364 rtx_equal_function_value_matters is false.
5365
5366 * reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges
5367 like EDGE_EH edges.
5368
53692000-04-25 Jason Merrill <jason@casey.cygnus.com>
1cfdcc15
JM
5370
5371 * dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
5372
5373 * dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.
5374
5375 * dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
5376 is the primary DIE for a member function.
5377 (gen_decl_die): Call set_decl_origin_self here.
5378 * dwarfout.c (output_decl): And here.
5379 * integrate.c (output_inline_function): Not here.
5380 Don't clear DECL_INLINE until after calling rest_of_compilation.
5381 (set_decl_origin_self): No longer static.
5382 * tree.h: Add prototype.
5383 * toplev.c (note_deferral_of_defined_inline_function): Only write
5384 out abstract instance for actual inlines.
5385
d25ed420
AO
53862000-04-25 Alexandre Oliva <aoliva@cygnus.com>
5387
5388 * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
5389 EXTENDED_REGS only if TARGET_AM33.
5390 * config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
5391 SP_REGS to register allocation and reloading unless absolutely
5392 necessary.
5393 (movsi3): Remove special-case of adding non-constants to SP.
5394
86cf1cbd
KG
53952000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5396
5397 * aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires
5398 INCLUDES to search and does not provide any of its own. Also it
5399 now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED
5400 parameters. Also it does not call AC_DEFINE.
5401 (gcc_AC_NEED_DECLARATIONS): Likewise. Also this macro now calls
5402 AC_DEFINE and provides for automatic entries for autoheader.
5403 (gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test.
5404
5405 * configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS
5406 so we can pass -I flags and include gansidecl.h/system.h in this
5407 test.
5408
5409 * acconfig.h: Delete all NEED_DECLARATION_* entries.
5410
62076024
KG
54112000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5412
2ea64f10 5413 * acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
62076024
KG
5414 ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
5415 ENABLE_GC_ALWAYS_COLLECT): Delete entries.
6d2c2047 5416
2ea64f10 5417 * configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
62076024
KG
5418 ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
5419 ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
5420 for these macros. Clean up spacing and linewraps.
5421
39b0dce7
JM
54222000-04-26 Jason Merrill <jason@casey.cygnus.com>
5423
5424 * calls.c (expand_call): Use get_callee_fndecl.
5425
5426 * print-tree.c (print_node): Print the chain of an _EXPR.
5427
0c96007e
AM
5428Tue Apr 25 16:16:04 2000 Andrew MacLeod <amacleod@cygnus.com>
5429 Jim Wilson <wilson@cygnus.com>
5430 Andrew Haley <aph@cygnus.com>
6d2c2047 5431
0c96007e
AM
5432 * config/ia64/crtbegin.asm: Add IA-64 unwind support. Correct alloc
5433 and gp save/restore problems.
5434 * config/ia64/crtend.asm: Add IA-64 unwind support.
5435 * config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
5436 in fr_pad_size calculation.
5437 (save_restore_insns): Move PR save area. Correct uses of
5438 RTX_FRAME_RELATED_P.
5439 (ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P.
5440 (ia64_expand_epilogue): Add eh_epilogue support.
5441 (ia64_function_prologue): Emit .prologue directive.
5442 (ia64_init_machine_status, ia64_mark_machine_status): New functions.
5443 (ia64_override_options): Set init_machine_status and
5444 mark_machine_status.
5445 (rtx_needs_barrier): Handle bsp reads and writes.
5446 (spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved):
5447 New static variables.
5448 (process_set, process_for_unwind_directive): New functions.
5449 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT,
5450 ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR,
5451 ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New
5452 macros.
5453 (EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section.
5454 (IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define.
5455 (struct machine_function): Define.
5456 * config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns.
6d2c2047 5457
7d7f30cf
BK
54582000-04-25 Bruce Korb <bkorb@gnu.org>
5459
5460 * fixinc/Makefile.in: make the removal of old programs more
5461 robust
5462 * fixinc/mkfixinc.sh: use the two new targets in the Makefile:
5463 install-bin and install-sh
5464
b36f4ed3
NC
54652000-04-25 Nick Clifton <nickc@cygnus.com>
5466
5467 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not
5468 defined, define to return zero.
5469 (function_cannot_inline_p): If a function has any target
5470 specific attributes, then use the macro
5471 FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide
5472 whether it can be inlined. If it cannot, issue a suitable
5473 explanation.
5474
5475 * tm.texi: Add a new node 'Inlining' to document the new macro
6d2c2047 5476 FUNCTION_ATTRIBUTE_INLINABLE_P.
b36f4ed3 5477
c5a04734
ZW
54782000-04-25 Zack Weinberg <zack@wolery.cumb.org>
5479
5480 * cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix
6d2c2047 5481 commentary.
c5a04734
ZW
5482
54832000-04-25 Neil Booth <NeilB@earthling.net>
5484
5485 Restore previous patch, plus the following fixes:
5486
5487 * cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in
5488 flags, not CPP_OPEN_PAREN.
5489 * cpplex.c (expand_token_space, init_token_list,
5490 cpp_free_token_list): Put the dummy token at list->tokens[-1].
5491 (_cpp_lex_line, _cpp_lex_file): token list is 0-based.
5492
5ed12799
AO
5493Tue Apr 25 14:06:40 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
5494
5495 * config/i386/freebsd.h (INT_ASM_OP): Define.
5496
424a02db
JH
5497Tue Apr 25 14:51:07 MET DST 2000 Jan Hubicka <jh@suse.cz>
5498
5499 * loop.c (strength_reduce): Fix typo in the last checkin.
5500
65e14bf5
RK
5501Tue Apr 25 07:33:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5502
5503 * stor-layout.c (finalize_record_size): Simplify to use existing
5504 functions.
5505 (compute_record_mode): No longer static.
5506 * tree.h (compute_record_mode): New declaration.
5507
05183359
NB
55082000-04-25 Neil Booth <NeilB@earthling.net>
5509
5510 * Revert my patch below until cause of build failures
5511 determined.
5512
865f50c5
RH
55132000-04-25 Richard Henderson <rth@cygnus.com>
5514
5515 * combine.c (combine_instructions): Add missing argument
5516 to try_combine.
5517
9d9e5c09
RH
5518 * toplev.c (rest_of_compilation): Delay sibcall optimization
5519 until after emit_eh_context.
5520
aabb6c74
NC
55212000-04-24 Nick Clifton <nickc@redhat.com>
5522
5523 * combine.c (combine_instructions): Do not try to combine a
5524 sequence of insns when the second insn has been replaced by a
5525 note.
5526
03bf1c28
MK
5527Mon Apr 24 17:34:18 2000 Mumit Khan <khan@xraylith.wisc.edu>
5528
b633b6c0
MK
5529 * gcc.c (load_specs): New static function.
5530 (read_specs): Use it.
5531
03bf1c28
MK
5532 * gcc.c (lookup_compiler): Make multiple passes for case
5533 insensitive filesystems.
5534
9c603af2
NB
55352000-04-24 Neil Booth <NeilB@earthling.net>
5536
5537 * cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE.
5538 * cpphash.h (_cpp_check_directive): new.
5539 * cpplex.c (handle_newline, cpp_free_token_list,
5540 init_trigraph_map, trigraph_ok, trigraph_replace,
5541 backslash_start, skip_block_comment, skip_line_comment,
5542 skip_whitespace, parse_name, parse_number, parse_string,
5543 copy_comment, _cpp_lex_line, spell_char, spell_string,
5544 spell_comment, spell_name, spell_other, _cpp_lex_file,
5545 _cpp_output_list): new.
5546 (expand_name_space): take length argument.
5547 (init_token_list): add comment list initialisation.
5548 (cpp_scan_line): use auto_expand_name_space. PREV_WHITESPACE
5549 instead of HSPACE_BEFORE.
5550
5551 * cpplib.c (_cpp_check_directive): new
5552 * cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT,
5553 DIGRAPH, UNSIGNED_INT, TOK_NAME): new.
5554 (HSPACE_BEFORE): delete.
5555 (TTYPE_TABLE): rearrange.
6d2c2047 5556 (struct cpp_toklist): update.
9c603af2 5557
91029a29
KG
55582000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5559
5560 * aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR,
5561 gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three
5562 argument form of AC_DEFINE.
5563
5564 * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER,
5565 HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY,
5566 WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK,
5567 HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG,
5568 HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise.
5569
5570 * acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE.
5571
3c9a2b55
KG
55722000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5573
5574 * Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES,
5575 deduced.h): Use -isystem, not -I, for including system headers.
5576
aaceac0b
NC
55772000-04-24 Nick Clifton <nickc@cygnus.com>
5578
5579 * config/fr30/fr30.md (addsi3): Do not use small add instruction if
5580 the source register is the frame pointer or arg pointer.
5581 (addsi3_small_int): Disallow if source register is the frame
5582 pointer or arg pointer.
5583
f6cbf672
KG
55842000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5585
5586 * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant
5587 call to AC_MSG_RESULT.
5588
9762e8a4
ML
5589