]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Apply Philip Blundell's patch to add arm-conix target.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
47163378
PB
12000-02-29 Philip Blundell <pb@futuretv.com>
2
3 * config/arm/conix-elf.h: New file.
4 * configure.in (arm*-*-conix*): New configuration.
5 * configure: Regenerate.
6
1e7f092a
JM
72000-02-28 Jason Merrill <jason@casey.cygnus.com>
8
9 * dwarf2out.c (gen_block_die): Output abstract blocks even if they
10 don't have TREE_ASM_WRITTEN set.
11
9df2c88c
RK
12Mon Feb 28 21:07:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13
14 * Eliminate DECL_FIELD_SIZE.
15 * builtins.c (built_in_class_names, built_in_names): New variables.
16 * c-decl.c (finish_struct): Set specified size in DECL_SIZE.
17 * expr.c (expand_expr, case COMPONENT_REF): Get field size from
18 DECL_SIZE, not DECL_FIELD_SIZE.
19 * print-tree.c (print_node): Remove code that prints extra blank
20 lines in some cases.
21 Properly handle inline and builtin function cases.
22 * stor-layout.c (layout_decl): Get specified size from DEC_SIZE.
23 * tree.h (built_in_class_named, built_in_names): New declarations.
24 (union tree_decl): Rename internal unions to u1 and u2 and change
25 some of their components.
26 Add new field built_in_class.
27 (DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE):
28 Reflect above changes.
29 (DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise.
30 (DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted.
31 * objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE.
32 (encode_field_decl): Likewise; also remove obsolete test for bitfield.
33
c27ba912
DM
342000-02-28 Dmitri Makarov <dim@windriver.com>
35
36 * extend.texi: Document ARM's support for long/short calls.
37
38 * invoke.texi: Document ARM's -mlong-calls command line switch.
39
40 * config/arm/arm-protos.h (arm_is_longcall_p): Add prototype.
41 (arm_encode_call_attribute): Add prototype.
42 (arm_set_default_type_attribute): Add prototype.
43 (arm_strip_name_encoding): Add prototype.
44
45 * config/arm/arm.c (arm_init_cumulative_args): replace
46 initialisation og 'long_calls' field with initialisation of
47 'call_cookie' field.
48 (enum arm_pragma_enum): New enum.
49 (arm_pragma_long_calls): New static variable.
50 (arm_process_pragma): Also process "#pragma long_calls_off".
51 (arm_valid_type_attribute_p): Accept short_call attribute.
52 (arm_comp_type_attributes): Check long/short call attributes.
53 (arm_encode_call_attribute): New function: Encode long_call
54 or short_call attribute in function name.
55 (arm_set_default_type_attributes): New function: Assign
56 default attributes to newly defined type.
57 (current_file_function_operand): New function: Return true if
58 the symbol is a function which has already been compiled.
59 (arm_is_longcall_p): New function: Return true if the
60 indicated function should be called via a long call.
61 (arm_get_strip_length): New function. Returns number of
62 prefix characters to be stripped from a function's name.
63 (arm_strip_name_encoding): New function. Strip prefix characters
64 from a function's name.
65
66 * config/arm/arm.h (CUMULATIVE_ARGS): Replace 'long_call' field
67 with 'call_cookie'.
68 (SHORT_CALL_FAG_CHAR): Define.
69 (LONG_CALL_FAG_CHAR): Define.
70 (ENCODED_SHORT_CALL_ATTR_P): Define.
71 (ENCODED_LONG_CALL_ATTR_P): Define.
72 (ARM_NAME_ENCODING_LENGTHS): Define.
73 (STRIP_NAME_ENCODING): Define.
74 (ASM_OUTPUT_LABELREF): Define, and use to strip name encoding.
75 (ARM_ENCODE_CALL_TYPE): Define.
76 (ENCODE_SECTION): Invoke ARM_ENCODE_CALL_TYPE.
77 (ARM_DECLARE_FUNCTION_SIZE): Define.
78 (SET_DEFAULT_TYPE_ATTRIBUTES): Define.
79
80 * config/arm/arm.md (call): Call arm_is_longcall_p to decide
81 if a long call is needed.
82 (call_value): Ditto.
83 (call_symbol): Ditto.
84
85 * config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Add invocation of
86 ARM_DECLARE_FUNCTION_SIZE.
87
88 * config/arm/pe.h (ARM_PE_FLAG_CHAR): Define.
89 (SUBTARGET_NAME_ENCODING_LENGTHS): Define.
90 (ARM_STRIP_NAME_ENCODING): Undefine.
91 (STRIP_NAME_ENCODING): Undefine.
92 (ASM_OUTPUT_LABELREF): Use arm_strip_name_encoding.
93 (ASM_DECLARE_FUNCTION_NAME): Ditto.
94 (ASM_OUTPUT_COMMON): Ditto.
95 (ASM_DECLARE_OBJECT_NAME): Ditto.
96
97 * config/arm/pe.c (arm_dllexport_name_p): Check for
98 ARM_PE_FLAG_CHAR.
99 (arm_dllimport_name_p): Ditto.
100 (arm_mark_dllexport): Use ARM_PE_FLAG_CHAR.
101 (arm_mark_dllimport): Ditto.
102
86f49b02
R
103Mon Feb 28 22:11:12 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
104
105 * sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define.
106
26a13c2b
MM
1072000-02-28 Mark Mitchell <mark@codesourcery.com>
108
109 * xcoffout.c (xcoffout_begin_function): Fix typo in previous change.
110
0209c340
ZW
1112000-02-28 Zack Weinberg <zack@wolery.cumb.org>
112
113 * tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.
114 * cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if
115 NO_BUILTIN_WCHAR_TYPE is not defined.
116 (CPP_WCHAR_TYPE): Delete.
117 * cccp.c (main): Don't change wchar_type if cplusplus.
118 (special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE.
119
7cb4ce12
NC
1202000-02-28 Nick Clifton <nickc@cygnus.com>
121
122 * config/arm/arm-wince-pe.h (SIZE_TYPE): Define to "unsigned long".
123
90b37266
CM
124Mon Feb 28 14:21:15 2000 Catherine Moore <clm@cygnus.com>
125
126 * config/pa/som.h (MAKE_DECL_ONE_ONLY): Define.
127 (ASM_WEAKEN_LABEL): Define.
128
98c3b850
JH
129Mon Feb 28 13:07:19 MET 2000 Jan Hubicka <jh@suse.cz>
130
131 * expr.c (store_constructor): Do not emit USE.
132 * rtl.h (stupid_life_analysis): Remove.
133
e4884e95
RK
134Mon Feb 28 07:03:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
135
b0e3a658
RK
136 * function.c (number_blocks): Reset next_block_index based on
137 what debugging format is used, not what is defined.
138
f4e72d6e
RK
139 * lcm.c: Minor reformatting throughout.
140 (reg_dies, reg_becomes_live): Properly handle multiple hard regs.
141
97726216
RK
142 * toplev.c (rest_of_compilation): Account for time in
143 optimize_mode_switching.
144
e4884e95
RK
145 * jump.c (jump_optimize_1): Don't call delete_barrier_successors
146 if only marking labels.
147
98c3b850 148Mon Feb 28 12:53:57 MET 2000 Jan Hubicka <jh@suse.cz>
4e217aed
JH
149
150 * calls.c (expand_call): Attempt to combine stack adjustments with
151 pending stack adjustments.
152
035a6890
R
153Mon Feb 28 11:34:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
154
155 * loop.c (reg_in_basic_block_p): Don't abort when falling through
156 to the end of the function.
157
18c038b9
MM
1582000-02-27 Mark Mitchell <mark@codesourcery.com>
159
160 * emit-rtl.c (remove_unncessary_notes): Remove notes for empty
161 blocks.
162 * final.c (next_block_index): Remove.
163 (max_block_depth): Likewise.
164 (pending_blocks): Likewise.
165 (init_final): Don't initialize them.
166 (final_start_function): Don't set next_block_index. Set up
167 BLOCK_NUMBER.
168 (final_scan_insn): Use BLOCK_NUMBER, not next_block_index.
169 * function.h (number_blocks): New function.
170 * function.c (get_block_vector): New function.
171 (identify_blocks): Use it.
172 (reorder_blocks): Set NOTE_BLOCK.
173 (number_blocks): New function.
174 * tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag.
175 * tree.h (BLOCK_NUMBER): New macro.
176 (tree_block): Add block_num field.
177 * dbxout.c (next_block_number): Remove.
178 (dbxout_init): Don't set it.
179 (dbxout_block): Only output blocks that have TREE_ASM_WRITTEN
180 set. Use BLOCK_NUMBER, rather than next_block_num, to determine
181 block numbers.
182 * toplev.c (rest_of_compilation): Always call
183 find_loop_tree_blocks. Fix indentation.
184 * dwarf2out.c (next_block_number): Remove.
185 (gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
186 to determine block numbers.
187 (gen_inlined_subroutine_die): Likewise.
188 (gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set.
189 (decls_for_scope): Don't increment next_block_number.
190 * dwarfout.c (next_block_number): Remove.
191 (output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
192 to determine block numbers.
193 (output_inlined_subroutine_die): Likewise.
194 (output_block): Only output blocks that have TREE_ASM_WRITTEN set.
195 (output_decls_for_scope): Don't increment next_block_number.
196 * sdbout.c (next_block_number): Remove.
197 (sdbout_block): Use BLOCK_NUMBER.
198 (sdbout_begin_block): Simplify.
199 * xcoffout.c (next_block_number): Remove.
200 (xcoffout_block): Use BLOCK_NUMBER, not next_block_number.
201 (xcoffout_begin_block): Don't set next_block_number.
202 (xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not
203 next_block_number.
204
fed3cef0
RK
205Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
206
207 * builtins.c (c_strlen): Use size_diffop and return ssizetype value.
208 (expand_builtin_strcpy): Pass correct type to size_binop.
209 (expand_builtin_strcmp): Likewise.
210 Clean up conditional structure.
211 * c-decl.c (init_decl_processing): Don't call set_sizetype twice.
212 (complete_array_type): Don't use size_binop for MAXINDEX.
213 * c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT.
214 (c_sizeof_nowarn, c_size_in_bytes): Likewise.
215 (c_alignof): Use size_one_node.
216 (build_unary_op): Pass arg of proper type to size_binop.
217 (really_start_incremental_init, push_init_level): Use sizetype for
218 constructor{,_bit,_unfilled}_index.
219 (pop_init_label, output_init_element): Likewise.
220 (output_pending_init_elements, process_init_element): Likewise.
221 * calls.c (compute_argument_block_size): Field VAR is ssizetype.
222 * expr.c (store_expr): Use size_int.
223 (store_constructor): Use proper types for size_binop args.
224 (get_inner_reference, expand_expr, case ARRAY_REF): Likewise.
225 (expand_expr_unaligned): Likewise.
226 (string_contant): Return object of sizetype.
227 * expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types.
228 (ARGS_SIZE_RTX): Call ARGS_SIZE_TREE.
229 (ARGS_SIZE_TREE): Pass proper types to size_binop.
230 * fold-const.c (int_const_binop): Refine when size_int is called.
231 (fold_convert): Likewise.
232 (size_int_wide): Rework to take KIND as arg, only take low order
233 bits, handle new sizetype_tab datatype, and chain entries in
234 size_table.
235 (size_int_type_wide): New function.
236 (size_binop): Validate types of arguments.
237 (ssize_binop): Deleted.
238 (size_diffop): New function.
239 (extract_muldiv): Only fold division into multiplication for sizetypes.
240 * function.c (assign_parms): Use size_diffop and make sure
241 VAR field is of ssizetype; also pass proper type to size_binop.
242 (locate_and_pad_parm, pad_to_arg_alignment): Likewise.
243 (round_down): Deleted from here.
244 * store-layout.c (sizetype_tab): Now an array.
245 (sizetype_set, early_root_list): New variables.
246 (variable_size): Use size_one_node.
247 (round_up): Pass proper type to size_binop.
248 (round_down): Moved to here and corrected as above.
249 (layout_record): Pass proper arg types to size_binop.
250 (layout_type): Likewise.
251 If sizetype_set is zero, record the type just laid out.
252 (make_unsigned_type): Don't call set_sizetype;
253 (make_signed_type): Likewise; also, call fixup_signed_type.
254 (initialize_sizetypes): New function.
255 (set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and
256 set name of bitsizetype to "bit_size_type".
257 Fix up type of sizes of all types made before call.
258 * tm.texi (ROUND_TYPE_SIZE_UNIT): New macro.
259 * tree.c (fix_sizetype): Deleted.
260 (build_common_tree_nodes): Call initialize_sizetypes.
261 (build_common_tree_nodes_2): Don't call fix_sizetype.
262 * tree.h (TYPE_IS_SIZETYPE): New macro.
263 (initialize_sizetype): New declaration.
264 (enum size_type_kind): New type.
265 (struct sizetype_tab): Deleted.
266 (sizetype_tab): Now array; adjust sizetype macros.
267 (size_diffop, size_int_type_wide): New functions.
268 (size_int_wide): Change number of args and type; access macros changed.
269 (ssize_int, sbitsize_int): New macros.
270 * config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int.
271 (ROUND_TYPE_SIZE_UNIT): New macro.
272
69f21756
ZW
2732000-02-27 Zack Weinberg <zack@wolery.cumb.org>
274
275 * c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.
276
b8d12d79
RK
277Sun Feb 27 07:44:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
278
6e38f244
RK
279 * gcov-io.h (__fetch_long, __store_long, __read_long, __write_long):
280 Mark as possibly unused.
281
4e37e57d
RK
282 * cse.c (cse_insn): Delete dead code involving tablejump.
283 Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE.
284
b8d12d79
RK
285 * Makefile.in (libcpp.a): Start by deleting it.
286
0172e2bc
AO
2872000-02-27 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
288
656ac110
AO
289 * cpplib.h (enum file_change_code): Added rename_file.
290 * cpplib.c (do_line): If a filename is given, set file_change to
291 rename_file.
292 (output_line_command): If file_change is rename_file, always
293 output a # directive with the file name.
294
0172e2bc
AO
295 * cpplib.c (do_pragma): Accept #pragma without consecutive token.
296
a8f8d1cc
MM
2972000-02-26 Mark Mitchell <mark@codesourcery.com>
298
299 * integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE
300 when copying a PARM_DECL or RESULT_DECL.
301
ad3ffa44
KG
3022000-02-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
303
304 * fix-header.c (recognized_function): Also fix prototypes for
305 functions taking "void".
306
60ef417d
GK
3072000-02-26 Geoff Keating <geoffk@cygnus.com>
308
309 * reload1.c (do_output_reload): Check reg_reloaded_valid before
310 looking at reg_reloaded_contents.
311
f95e46b9
ZW
3122000-02-26 Zack Weinberg <zack@wolery.cumb.org>
313
314 * Makefile.in (STMP_FIXINC): New toggle.
315 (LIBGCC2_DEPS): Delete all references.
316 (stmp-headers): Delete target. All references either deleted
317 or changed to stmp-int-headers.
318 (all.cross): Don't depend on stmp-headers or STMP_FIXPROTO.
319 (LIBCPP_OBJS): Take out cppalloc.o.
320 (cppalloc.o): Delete target.
321 (stmp-int-hdrs): Depend on $(STMP_FIXINC).
322 (gen-protos, fix-header): Link with libiberty.a.
323 * build-make: Don't change FIXINCLUDES. Override STMP_FIXINC
324 to empty.
325
326 * configure.in: Remove refs to strerror.
327 * acconfig.h: Take out NEED_DECLARATION_STRERROR.
328 * system.h: Take out strerror stanza.
329
330 * cpperror.c (my_strerror): Delete function.
331 (cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror.
332 * cppmain.c (main): Call xmalloc_set_program_name first thing.
333 * cppalloc.c: Delete file.
334 * gen-protos.c: Don't provide xrealloc.
335
336 * fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use
337 xstrerror throughout.
338
42a2c30e
BK
3392000-02-26 Bruce Korb <bkorb@gnu.org>
340
b8d12d79 341 * fixinc/inclhack.def (undefine_null): the bypass pattern needs to
42a2c30e 342 match for DOS headers, too.
b8d12d79 343 * fixinc/inclhack.sh,fixincl.x: Regenerate.
42a2c30e 344
42235f85
GK
3452000-02-26 Geoff Keating <geoffk@cygnus.com>
346
347 * config/elfos.h (ASM_OUTPUT_LABELREF): Don't define. The default
348 is right for most ELF targets.
349 * config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
350 Let the default file use %U properly.
351 * config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define. Use the
352 default.
353
354 * config/fp-bit.c (pack_d): Properly handle rounding of denormal
355 numbers.
356
2eecbd3f
RK
357Sat Feb 26 09:39:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
358
4dbba876
RK
359 * toplev.c (documented_lang_options): Correct spelling error.
360 (decode_d_option, decode_f_option, main): Likewise.
361
362 * toplev.c (print_time): Avoid SIGFPE when all_time is zero.
363
2eecbd3f
RK
364 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at
365 to tell assembler it is permitted to expand large constants.
366
a7db8bbb
MK
3672000-02-25 Mumit Khan <khan@xraylith.wisc.edu>
368
369 * protoize.c: (AUX_INFO_SUFFIX): New macro.
370 (aux_info_suffix): Use.
371 (SAVE_SUFFIX): New macro.
372 (save_suffix): Use.
373 (munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null.
374 (gen_aux_info_file): Use aux_info_suffix instead of ".X".
375 (edit_file): Handle 8.3 restriction for DOS/DJGPP filenames.
376
377 * invoke.texi (Running Protoize): Update documentation.
378
0268c501
ME
3792000-02-25 Mark Elbrecht <snowball3@bigfoot.com>
380
381 * i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines.
382
63be01fb
JW
3832000-02-25 John Wehle (john@feith.com)
384
385 * rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
386
44a76fc8
AG
3872000-02-25 Anthony Green <green@cygnus.com>
388
389 * toplev.c (rest_of_compilation): Rebuild jump labels if
390 combine_instructions has created a new direct jump.
391 * combine.c (try_combine): Add new_direct_jump_p argument. Set it
392 when appropriate.
393 (combine_instructions): Call try_combine with new argument.
394 Return non-null value when new direct jump instruction is created.
395 * rtl.h: combine_instructions returns an int.
396
602c4c0d
JL
397Fri Feb 25 19:49:08 2000 Jeffrey A Law (law@cygnus.com)
398
399 * cse.c (cse_insn): Replace the PATTERN of the insn with an new
400 jump when changing a computed jump into a jump to a known
401 target.
402
4a92092a
GS
403Fri Feb 25 19:22:44 2000 Graham Stott <grahams@rcp.co.uk>
404
0cb5d81c
GS
405 * resource.c (mark_referenced_resources): Changed use SET_DEST (...)
406 to XEXP (..., 0) on RTL nodes which are not SET or CLOBBER.
407
4a92092a
GS
408 * i386.md (define_expand "clrstrsi"): Fix typo.
409
3924a578
RP
410Fri Feb 25 18:49:39 2000 "K. Richard Pixley" <rich@microunity.com>
411
412 * rtl.texi: Fix typo.
413
0ad913af
R
414Fri Feb 25 20:02:35 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
415
416 * sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by
417 UNITS_PER_WORD. Change caller initial_elimination_offset.
418 (rounded_frame_size): Take into account that argument pushed has
419 changed. Fix TARGET_ALIGN_DOUBLE problem.
420
0e2eaba4
GK
4212000-02-25 Geoff Keating <geoffk@cygnus.com>
422
423 * haifa-sched.c (schedule_block): Explain the real reason
424 we delete REG_SAVE_NOTEs on the first insn of a block.
425 Don't delete REG_SAVE_NOTES for NOTE_INSN_SETJMP.
426
68723fae
MM
4272000-02-24 Mark Mitchell <mark@codesourcery.com>
428
429 * input.h (push_srcloc): New function.
430 (pop_srcloc): Likewise.
431 * toplev.c (push_srcloc): Define it.
432 (pop_srcloc): Likewise.
433
c8082519
RH
4342000-02-24 Richard Henderson <rth@cygnus.com>
435
436 * flow.c (life_analysis): When collecting reg info, clear
437 regs_ever_live.
438
e5f8d4c0
R
439Thu Feb 24 22:06:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
440
441 Fix bug exposed by reload.c no longer rounding the frame
442 size to BIGGEST_ALIGNMENT:
443 * sh.c (rounded_frame_size): New function.
444 (sh_expand_prologue, sh_expand_epilogue): Use it.
445 (initial_elimination_offset): Likewise.
446
afbc2905
R
447Thu Feb 24 20:04:11 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
448
449 Fix breakage from 6th Feb thread_prologue_and_epilogue_insns change:
450 * sh-protos.h (sh_need_epilogue): Declare.
451 * sh.c (sh_need_epilogue_known): New static variable.
452 (sh_need_epilogue): New function.
453 (function_epilogue): Clear need_epilogue_known.
454 * sh.md (return): Split into expander / insn pattern.
455 Make the expander conditional on ! sh_need_epilogue ().
456
36c265b1
NS
4572000-02-24 Nathan Sidwell <nathan@codesourcery.com>
458
459 * machmode.h (get_mode_alignment): Declare.
460 (GET_MODE_ALIGNMENT): Call it.
461 * stor-layout.c (get_mode_alignment): New function. Make
462 sure alignment is always power of 2.
463
f32d49a8
ZW
4642000-02-23 Zack Weinberg <zack@wolery.cumb.org>
465
466 * i386.h: Remove useless definition of "I386" and misleading
467 comment above it.
468
23dfa477
ZW
4692000-02-23 Zack Weinberg <zack@wolery.cumb.org>
470
471 * tree.h (TREE_SET_PERMANENT): New macro. Document conditions
472 under which TREE_PERMANENT will be set.
473 * tree.c (make_node, copy_node, make_tree_vec, tree_cons,
474 build1): Use TREE_SET_PERMANENT.
475 * print-tree.c (print_node): Don't report value of
476 TREE_PERMANENT if ggc_p is true.
477
478 * c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to
479 decide whether to give a type a new alias set.
480 * objc/objc-act.c (build_objc_string_object): Never copy the string.
481 * tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective
482 of value of 'obstack'.
483
484
41387ffd
MH
4852000-02-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
486
487 * config/c4x/c4x.c (c4x_process_after_reload): Split all insns.
488
525bc95d
AO
4892000-02-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
490
491 * cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.
492 * cpplib.c (cpp_get_token): Produce them.
493 * cppexp.c (cpp_lex): Handle them.
494
bd7fc26f
NC
4952000-02-23 Nick Clifton <nickc@cygnus.com>
496
497 * config/arm/arm.c (arm_comp_type_attributes): Simply and
498 comment tests on type attributes.
499
2148624a
R
500Wed Feb 23 16:42:21 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
501
9c236404 502 * final.c (shorten_branches): Make value passed to LOOP_ALIGN
2148624a 503 conform to documentation.
9c236404 504 * sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align
2148624a 505 to check for special cases.
8156feba
JR
506 * sh-protos.h (sh_loop_align): Declare.
507 * sh.c (sh_loop_align): Define.
2148624a 508
69972997
AH
5092000-02-22 Andrew Haley <aph@cygnus.com>
510
511 * config/mips/mips.h (GAS_ASM_SPEC): Pass -mgp32/-mgp64 to gas.
512 (SIZE_TYPE): Is 32 bits when using -mgp32.
513 (PTRDIFF_TYPE): Ditto.
514
4eda9c65
RK
515Wed Feb 23 07:26:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
516
517 * diagnostic.c (init_output_buffer): Handle case of null PREFIX.
518
6fc605d8
ZW
5192000-02-23 Zack Weinberg <zack@wolery.cumb.org>
520
521 * config/i386/i386.h: If IN_TARGET_LIBS is defined, make
522 BIGGEST_FIELD_ALIGNMENT a constant.
523
f19f17e0
JM
5242000-02-21 Jason Merrill <jason@casey.cygnus.com>
525
526 * dwarf2out.c (output_line_info): Put the marker for the end of
527 the line number info at the actual end.
528 (gen_struct_or_union_type_die): Use decl_function_context
529 to check for local classes.
530 * dwarfout.c (output_type): Likewise.
531
24e971f6
JL
532Tue Feb 22 01:38:57 2000 Jeffrey A Law (law@cygnus.com)
533
534 * pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Handle pass-by-reference
535 for arguments with a mode, but no type.
536 (FUNCTION_ARG_CALLEE_COPIES): Similarly.
537 * t-pa (LIB2FUNCS_EXTRA): Add quadlib.asm.
538 * pa/long_double.h: New file.
539 * configure.in (hpux10, hpux11 configurations): hpux10 and hpux11
540 both have 128bit wide long doubles.
541 * configure: Rebuilt.
542
47ee9bcb
KG
5432000-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
544
545 * defaults.h (ASM_OUTPUT_ASCII): Constify a char*.
546
547 * flow.c (get_common_dest, chain_reorder_blocks, make_reorder_chain,
548 fixup_reorder_chain, skip_insns_between_block): Add static prototypes.
549 (life_analysis): Wrap variable `i' with macro ELIMINABLE_REGS.
550
551 * haifa-sched.c (rank_for_schedule): Don't cast away const-ness.
552
553 * integrate.c (compare_blocks, find_block): Likewise.
554
555 * rtl.c (fatal_with_file_and_line): Add ATTRIBUTE_PRINTF_2.
556
557 * rtl.h (set_file_and_line_for_stmt): Constify a char*.
558
559 * stmt.c (stmt_status, set_file_and_line_for_stmt,
560 expand_asm_operands): Likewise.
561
24c3bf68
JE
562Mon Feb 21 17:06:27 2000 Jason Eckhardt <jle@cygnus.com>
563
564 * predict.c (estimate_probability): Added the pointer heuristic to
565 the collection of static branch predictors.
566
1e387156
CM
5672000-02-21 Catherine Moore <clm@cygnus.com>
568
569 * config/mips/mips.h (ASM_SPEC): Add -mfix700.
570 * invoke.texi (-mfix7000): Document.
571
abcabbbf
GDR
5722000-02-21 Gabriel Dos Reis <gdr@codesourcery.com>
573
574 * diagnostic.c (init_output_buffer): Make it possible to output at
575 least 32 characters if we're given a too long prefix.
576
99740276
MM
5772000-02-20 Mark Mitchell <mark@codesourcery.com>
578
579 * varasm.c (initializer_constant_valid_p): Call
580 lang_expand_constant to simplify the constant.
581
2260b683
BK
5822000-02-20 Bruce Korb <bkorb@gnu.org>
583
584 * fixinc/inclhack.def(stdio_va_list):
585 typedef needs to be disabled.
586 * fixinc/inclhack.sh: regen
587 * fixinc/fixincl.x: regen
588
f76ca83c
GK
5892000-02-20 Geoff Keating <geoffk@cygnus.com>
590
591 * print-rtl.c (print_rtx): Don't print addresses when
592 flag_dump_unnumbered.
593
fbd039b2
KG
5942000-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
595
596 * sparc.c (sparc_output_scratch_registers): Mark parameter with
597 ATTRIBUTE_UNUSED.
598 (sparc_va_arg, sparc_flat_output_function_prologue,
599 sparc_flat_output_function_epilogue): Cast value to unsigned in
600 comparison.
601 (sparc_emit_float_lib_cmp): Remove unused variable `cmp'.
602
603 * sparc.md: Add default case in switch.
604
83b091c7
RH
6052000-02-19 Richard Henderson <rth@cygnus.com>
606
607 * c-typeck.c (add_pending_init): Don't abort for multiple
608 fields at the same offset.
609 (pending_init_member): Test the correct member.
610
a0ec56b7
HB
6112000-02-19 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
612
613 * except.c (start_dynamic_handler) : Use TYPE_MODE (integer_type_node)
614 instead of SImode.
615 (start_catch_handler) : Same.
616
db01dcfa
BL
6172000-02-19 Brad Lucier (lucier@math.purdue.edu)
618
619 * Makefile.in: Have flow.o depend on $(EXPR_H)
620
06ceef4e
RK
621Sat Feb 19 18:43:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
622
623 * c-common.c (decl_attributes): Set DECL_SIZE_UNIT.
624 * c-decl.c (duplicate_decls, finish_enum): Likewise.
625 (finish_decl): Remove -Wlarger-than code from here.
626 * flags.h (id_clash_len): Now int.
627 (larger_than_size): Now HOST_WIDE_INT.
628 * fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed.
629 Clean up checking to see if in table.
630 (make_bit_field_ref): Remove extra parm to bitsize_int.
631 * ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT.
632 * print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT.
633 * stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size
634 and for computing size of decl.
635 * stor-layout.c (layout_decl): Set DECL_SIZE_UNIT.
636 Move -Wlarger-than code to here.
637 (layout_record): Remove extra arg to bitsize_int.
638 Set TYPE_BINFO_SIZE_UNIT.
639 (layout_union): Remove extra arg to bitsize_int.
640 Use proper type for size of QUAL_UNION.
641 (layout_type): Remove extra arg to bitsize_int.
642 * toplev.c (id_clash_len): Now int.
643 (larger_than_size): Now HOST_WIDE_INT.
644 (decode_W_option): Clean up id-clash and larger-than- cases.
645 * tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts.
646 (expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined.
647 * tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New.
648 (struct tree_decl): New field size_unit.
649 (size_int_wide): No HIGH operand; NUMBER is now signed.
650 (size_int_2): Deleted.
651 (size_int, bitsize_int): Don't use it and rework args.
652 * varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT.
06ceef4e 653
c9604920
JL
654Fri Feb 18 20:01:58 2000 Jeffrey A Law (law@cygnus.com)
655
656 * pa/quadlib.asm (_U_QFgt, _U_Qfge): Fix flags for _U_Qfcmp call.
657
488d3985
GK
6582000-02-18 Geoff Keating <geoffk@cygnus.com>
659
660 * invoke.texi (Warning Options): Add an explanation of why
661 you might want the -Wfloat-equal flag.
662
c8d8ed65
RK
663Fri Feb 18 20:08:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
664
665 * bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
666 * cppinit.c (new_pending_define): Add cast to avoid warning.
667 * expmed.c (extract_bit_field): Likewise.
668 * flow.c (enum reorder_skip_type): New type.
669 (skip_insns_between_blcok): New it.
670 Rework to avoid warning about possibly undefined variable.
671 * function.c (assign_parms): Make thisparm_boundary unsigned.
672 * genrecog.c (write_switch): Cast XWINT result to int.
673 * lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
674 * mips-tfile.c (init_file): Make two versions of FDR intializer:
675 one for MIPS and one for Alpha.
676 (get_tag, copy_object): Add casts to avoid warnings.
677 * optabs.c (init_one_libfunc): Cast NAME to (char *).
678 * reload.c (find_reloads): Make TYPE enum reload_type.
679 * sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
680 * unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
681 * varasm.c (compare_constant_1): Add cast to avoid warning.
682 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
683 to (char *).
684 (alpha_expand_unaligned_load, alpha_expand_unaligned_store):
685 Cast switch operand of size to int.
686 (alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
687 * config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
688 in unhandled case.
689
72579062
NC
6902000-02-18 Nick Clifton <nickc@cygnus.com>
691
692 * config/arm/elf.h (ASM_OUTPUT_ALIGN): Do not generate
693 anything for an alignment of zero.
694
695 * config/arm/thumb.h (ASM_OUTPUT_ALIGN): Do not generate
696 anything for an alignment of zero.
697
8b97e23b
ML
6982000-02-18 Martin von Loewis <loewis@informatik.hu-berlin.de>
699
700 * gcc.texi (Bug Reporting): Refer to bugs.html.
701 (Bug Lists): Likewise.
702 * system.h (GCCBUGURL): New preprocessor define.
703 * rtl.c (fancy_abort): Use it.
704 * gcc.c (main): Likewise.
705
201384ac
RH
7062000-02-18 Richard Henderson <rth@cygnus.com>
707
708 * flow.c (INSN_VOLATILE, SET_INSN_VOLATILE, uid_volatile): Remove.
709 (life_analysis_1): Subsume into ...
710 (life_analysis): ... here. Force PROP_REG_INFO off after reload.
711 Use update_life_info for the relaxation.
712 (update_life_info): Update REG_BASIC_BLOCK for registers live on
713 entry and regs_live_at_setjmp.
714 (set_noop_p): Simplify.
715 (notice_stack_pointer_modification_1): Renamed from s/_1//.
716 (record_volatile_insns): Split into ...
717 (delete_noop_moves): ... here,
718 (notice_stack_pointer_modification): ... here,
719 (insn_dead_p): ... and here.
720 (propagate_block): Don't query INSN_VOLATILE.
721 (mark_used_regs): Mind !PROP_REG_INFO.
722 * toplev.c (rest_of_compilation): Call mark_constant_function here,
723 not in life_analysis.
724
a49a6a68
JW
725Fri Feb 18 01:29:22 EST 2000 John Wehle (john@feith.com)
726
727 * loop.c (canonicalize_condition): New function,
728 broken out of get_condition.
729 (get_condition): Use it.
730 * expr.h (canonicalize_condition): Prototype it.
731
732 * tree.h (tree_int_cst_msb): Declare.
733 * tree.c (tree_int_cst_msb): New function.
734
277576ee
MM
7352000-02-17 Mark Mitchell <mark@codesourcery.com>
736
61d84605
MM
737 * stmt.c (set_file_and_line_for_stmt): Don't crash if cfun->stmt
738 isn't set.
739
277576ee
MM
740 * invoke.texi (-fmessage-length=n): Document.
741
b9a73e32
JM
7422000-02-17 Jason Merrill <jason@casey.cygnus.com>
743
744 * bitmap.c (bitmap_operation): Don't leak bitmap elements.
745
9185a8d5
MM
7462000-02-17 Mark Mitchell <mark@codesourcery.com>
747
748 * function.c (thread_prologue_and_epilogue_insns): Put a line note
749 after the prologue.
750
cb3d6d01
NC
7512000-02-17 Nick Clifton <nickc@cygnus.com>
752
753 * config/arm/thumb.c: Replace includes of system headers with
754 #include "system.h".
755
ee8d66f7
RH
7562000-02-16 Richard Henderson <rth@cygnus.com>
757
758 * configure.in (alpha-linux*, alpha-netbsd) [extra_parts]:
759 Add crtbeginS.o and crtendS.o.
760 * alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o.
761 (ENDFILE_SPEC): Use crtendS.o.
762 * alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets.
763
764 * alpha/crtbegin.asm (__do_frame_takedown): Merge into ...
765 (__do_global_dtors_aux): ... here. Call __cxa_finalize if
766 shared and present.
767 (__dso_handle): New variable.
768 * alpha/crtend.asm (__do_global_ctors_aux): Remove runtime
769 bias to __CTOR_END__.
770
ceb8e128
RH
7712000-02-16 Richard Henderson <rth@cygnus.com>
772
773 * Makefile.in (s-crtS, crtbeginS, crtendS): Prefix usage with $(T).
774
3912a603
HPN
775Wed Feb 16 21:40:04 2000 Hans-Peter Nilsson <hp@bitrange.com>
776
777 * longlong.h (__clz_tab): Declare as static to match definition.
778
762f069d
ME
7792000-02-16 Mark Elbrecht <snowball3@bigfoot.com>
780 * i386/xm-djgpp.h (LIBSTDCXX): Delete. Moved to config/i386/djgpp.h.
781 (XREF_FILE_NAME): Define.
782
783 * i386/djgpp.h (DATA_SECTION_ASM_OP): Define.
784 (EH_FRAME_SECTION_ASM_OP): Define.
785 (IDENT_ASM_OP): Define.
786 (TEXT_SECTION_ASM_OP): Define.
787 (CPP_SPEC): Define.
788 (CTORS_SECTION_ASM_OP): Define.
789 (CTOR_SECTION_FUNCTION): Use it.
790 (DTORS_SECTION_ASM_OP): Define.
791 (DTOR_SECTION_FUNCTION): Use it.
792
b7ba4d8d
ZW
7932000-02-16 Zack Weinberg <zack@wolery.cumb.org>
794
3a6cc978
ZW
795 * reg-stack.c (emit_swap_insn): Do not put a new insn before a
796 NOTE_BASIC_BLOCK.
797
b7ba4d8d
ZW
798 * flow.c (dump_regset, debug_regset, dump_bb, debug_bb,
799 debug_bb_n): New functions.
800 (dump_flow_info, print_rtl_with_bb): Use dump_regset.
801 * basic-block.h: Prototype new functions.
802
052a4b28
DC
803Wed Feb 16 21:07:53 2000 Denis Chertykov <denisc@overta.ru>
804
d48120fe
DC
805 * configure.in: Add support for avr target.
806 * configure: Rebuilt.
807
052a4b28
DC
808 * invoke.texi: Add AVR invocation docs.
809 * install.texi: Add information about AVR.
810 * md.texi: Add AVR constraint letters description.
811 * extend.texi: Add description for AVR specific attributes.
812
980be18f
JM
8132000-02-16 Jason Merrill <jason@casey.cygnus.com>
814
815 * fixinc/fixinc.svr4: Wrap byteorder.h with extern "C".
816
47984720
NC
8172000-02-16 Nick Clifton <nickc@cygnus.com>
818
819 * emit-rtl.c (emit_insn): Move RTL check into make_insn_raw.
820 (make_insn_raw): Move RTL check here.
821
4746ee26
KG
8222000-02-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
823
824 * version.c: Include gansidecl.h and version.h.
825
826 * version.h: Wrap entire file in macro __GCC_VERSION_H__.
827
828 * configure.in (gcc_version): When setting, narrow search to
829 lines containing `version_string'.
830
831 * Makefile.in (mainversion): Likewise.
832 (GCC_H): New variable.
833 (gcc.h): Delete target.
834 (gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h.
835 (version.o): Depend on version.h.
836 (dbxout.o): Don't depend on gcc.h.
837
88a56c2e
HPN
838Wed Feb 16 15:04:49 2000 Hans-Peter Nilsson <hp@bitrange.com>
839 Michael Meissner <meissner@cygnus.com>
840
841 * md.texi (Simple Constraints): Add item about whitespace.
842 * genoutput.c (strip_whitespace): New.
843 (scan_operands) [MATCH_OPERAND, MATCH_SCRATCH]: Call
844 strip_whitespace for constraints.
845 Test pointer using NULL, not 0.
846
4082292a
AO
8472000-02-16 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
848
7113a160
AO
849 * cpplib.c (do_line): Pedwarn for #line > 32767.
850
4082292a
AO
851 * c-lex.c (readescape): Warn about '\x', but do not reject it.
852
3ea8083f
JL
8532000-02-15 Jonathan Larmour <jlarmour@redhat.co.uk>
854
855 * gcc.c (default_compilers): Add new __GNUC_PATCHLEVEL__ define
856 to default cpp spec.
857 (do_spec_1): Add support for %v3 spec used by __GNUC_PATCHLEVEL__.
858 * cpp.texi: Document __GNUC_PATCHLEVEL__.
859 * cpp.1: Likewise.
860
861 * objc/lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to
862 default spec.
863
ed4acb3b
DC
8642000-02-15 Denis Chertykov <denisc@overta.ru>
865
866 * configure.in: Add support for avr target.
867
c2843061
R
868Wed Feb 16 03:21:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
869
870 * sh.h (OVERRIDE_OPTIONS): Don't set sh_addr_diff_vec_mode.
871 (sh_addr_diff_vec_mode): Don't declare.
872 * sh.c (sh_addr_diff_vec_mode): Delete.
873
22d05f60
R
874Wed Feb 16 01:27:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
875
876 * sh.md (mulsi3_highpart): Add REG_EQUAL note to last insn.
877
a512fa97
R
878Wed Feb 16 00:58:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
879
880 * sh.md (udivsi3_i1, divsi3_i1, umulhisi3_i, mulhisi3_i): Name.
881 (smulsi3_highpart_i): Name.
882 (udivsi3): Wrap emitted insns in REG_LIBCALL / REG_RETVAL notes.
883 (divsi3, mulhisi3, umulhisi3, mulsidi3, umulsidi3): Likewise.
884 (smulsi3_highpart, umulsi3_highpart): Likewise.
885
886 (mulsidi3_i, umulsidi3_i): Make rtl describe operation
887 correctly independent of endianness.
888 (mulsidi3, umulsidi3): Now define_insn. Hide details that
889 confuse the optimizers.
890 (mulsidi3+1, umulsidi3+1): New define_split.
891
f295bdb5
AH
892Tue Feb 15 23:22:26 2000 Andrew Haley <aph@cygnus.com>
893
894 * config/sh/sh.md: Guard insn splits against illegal registers.
895 * config/sh/sh.h: Correct comment about macros.
896
9f09b1f2 897Tue Feb 15 22:30:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
3ea8083f 898 Andrew MacLeod <amacleod@cygnus.com>
9f09b1f2
R
899
900 * Makefile.in (lcm.o): Depend on insn-attr.h.
901 * basic-block.h (optimize_mode_switching): Declare.
902 * lcm.c (tm_p.h, insn-attr.h): #include.
903 (seginfo, bb_info): New structs.
904 (antic, transp, comp, delete, insert) : New file-scope static variables.
905 (new_seginfo, add_seginfo, make_preds_opaque, reg_dies): New functions.
906 (reg_becomes_live, optimize_mode_switching): Likewise.
907 * tm.texi: Add description of mode switching macros.
908 * toplev.c (rest_of_compilation): Call optimize_mode_switching.
909
910 * sh-protos.h (remove_dead_before_cse): Remove prototype.
911 (fldi_ok, fpscr_set_from_mem): New prototypes.
912 * sh.h (OPTIMIZATION_OPTION): Remove sh_flag_remove_dead_before_cse set.
913 (CONST_DOUBLE_OK_FOR_LETTER_P, SECONDARY_INPUT_RELOAD_CLASS):
914 Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
915 (sh_flag_remove_dead_before_cse): Remove declaration.
916 (NUM_MODES_FOR_MODE_SWITCHING, OPTIMIZE_MODE_SWITCHING): New macros.
917 (MODE_USES_IN_EXIT_BLOCK, MODE_NEEDED, MODE_AT_ENTRY): Likewise.
918 (MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
919 * sh.c (broken_move): Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
920 (barrier_align): Allow for JUMP_INSNS containing a parallel.
921 (machine_dependent_reorg): Remove sh_flag_remove_dead_before_cse set.
922 (fldi_ok): New function.
923 (get_fpscr_rtx): Add fpscr_rtx as GC root.
924 (emit_sf_insn): Only generate fpu switches when optimize < 1.
925 (emit_df_insn): Likewise.
926 (expand_fp_branch, emit_fpscr_use, remove_dead_before_cse): Delete.
927 (sh_flag_remove_dead_before_cse): Delete.
928 (get_free_reg, fpscr_set_from_mem): New functions.
929 * sh.md (movdf, movsf): Remove no_new_pseudos code.
930 (return): Remove emit_fpscr_use / remove_dead_before_cse calls.
931
17eb7951
LR
9322000-02-15 Loren Rittle <ljrittle@acm.org>
933
934 * ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD.
935
9f8f4efe
KG
9362000-02-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
937
938 * Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
939 cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.
940
941 * cccp.c: Include version.h and/or don't declare `version_string'.
942 * collect2.c: Likewise.
943 * alpha.c: Likewise.
944 * arm/aof.h: Likewise.
945 * arm/coff.h: Likewise.
946 * arm/elf.h: Likewise.
947 * arm/pe.h: Likewise.
948 * arm/tcoff.h: Likewise.
949 * arm/telf.h: Likewise.
950 * arm/tpe.h: Likewise.
951 * arm/vxarm.h: Likewise.
952 * convex/convex.c: Likewise.
953 * i386/dgux.c: Likewise.
954 * i386/sun386.h: Likewise.
955 * m88k/m88k.c: Likewise.
956 * mcore/mcore-pe.h: Likewise.
957 * mips/mips.h: Likewise.
958 * romp/romp.h: Likewise.
959 * sh/sh.c: Likewise.
960 * cpphash.c: Likewise.
961 * cppinit.c: Likewise.
962 * dwarf2out.c: Likewise.
963 * dwarfout.c: Likewise.
964 * gcc.c: Likewise.
965 * gcc.h: Likewise.
966 * mips-tfile.c: Likewise.
967 * protoize.c: Likewise.
968 * toplev.c: Likewise.
969 * tree.h: Likewise.
970
971 * version.c (version_string): Constify a char*.
972
973 * version.h: New file.
974
789a3090
NC
9752000-02-14 Nick Clifton <nickc@cygnus.com>
976
977 * configure.in: Add mcore-elf and mcore-pe targets.
978 * configure: Regenerate.
979
980 * NEWS: Add note that MCore port has been contributed.
981
982 * invoke.texi: Document command line switches for MCore port.
983 * install.texi: Add MCore to list of supported targets.
984
59309a85
GK
9852000-02-14 Geoff Keating <geoffk@cygnus.com>
986
987 * collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames,
988 then we will need to import the frame handling functions.
989 (scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need
990 to import the frames themselves.
991
11bdd2ae 992Mon Feb 14 13:31:01 2000 Stan Cox <scox@cygnus.com>
3ea8083f 993 Jason Eckhardt <jle@cygnus.com>
11bdd2ae
SC
994
995 * basic_block.h: Added prototype for reorder_basic_blocks.
996 * toplev.c: Changes to add -freorder-blocks and graph dump after
997 block reordering is done.
998 * flow.c (reorder_block_def): New structure for use during block
999 reordering.
1000 (REORDER_BLOCK_*): New macros to access members of above structure.
1001 (skip_insns_between_block, get_common_dest, chain_reorder_blocks,
1002 make_reorder_chain, fixup_reorder_chain, reorder_basic_blocks): New
1003 functions for block reordering.
1004
89bcce1b
HPN
1005Mon Feb 14 11:24:44 2000 Hans-Peter Nilsson <hp@bitrange.com>
1006
1007 * gcc.texi (Passes): Fix typo.
1008 * md.texi (Standard Names): Ditto.
1009 * tm.texi (Storage Layout): Ditto.
1010
f9ba428f
ZW
10112000-02-13 Zack Weinberg <zack@wolery.cumb.org>
1012
1013 * cpplib.c (do_define): Only free the old definition if it
1014 actually had one.
1015
67b8719a
NB
10162000-02-13 Neil Booth <NeilB@earthling.net>
1017
1018 * cppfiles.c (read_and_prescan): When emitting deferred
1019 newlines, test speccase[] again instead of checking each
1020 possible whitespace character in turn. When we encounter \r,
1021 look behind for \n first, then ahead.
1022
4eadede7
ZW
10232000-02-13 Zack Weinberg <zack@wolery.cumb.org>
1024
1025 * cse.c (cse_altered): New internal flag.
1026 (cse_insn): Set it if we changed an insn.
1027 (cse_main): Clear cse_altered before each basic block.
1028 Only garbage collect if cse_altered is true afterward.
1029
fd3f9fdb
RO
1030Sun Feb 13 14:12:28 2000 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1031
1032 * sparc/sol2.h (LIB_SPEC): Link -ldl if profiling.
1033
d5010e66
JL
1034Sun Feb 13 13:21:55 2000 Jeffrey A Law (law@cygnus.com)
1035
1036 * combine.c (simplify_comparison): Fix typo.
1037
3ea6b476
NB
1038Sun Feb 13 12:57:52 2000 Neil Booth <NeilB@earthling.net>
1039
1040 * prefix.c (concat, lookup_key): Use xmalloc and xrealloc
1041 consistently.
1042
3abd3239
MH
10432000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1044
1045 * flow.c (flow_loop_tree_node_add): Use better algorithm by passing
1046 previously inserted node instead of root node. Caller changed.
1047
10482000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
f5b647ab
MH
1049
1050 * basic-block.h (FLOW_LOOP_FIRST_BLOCK, FLOW_LOOP_LAST_BLOCK): Delete.
1051
d1e51320
KG
10522000-02-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1053
1054 * crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor,
1055 __dereg_frame_dtor): Add prototype argument.
1056
1057 * gthr-dce.h (__gthread_active_p, __gthread_once): Likewise.
1058
1059 * gthr-posix.h (__gthread_active_p, __gthread_once): Likewise.
1060
1061 * gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise.
1062
1063 * gthr-vxworks.h (__gthread_once): Likewise.
1064
1065 * gthr-win32.h (__gthread_active_p, __gthread_once): Likewise.
1066
da2d1d3a
JH
1067Sat Feb 12 01:44:26 MET 2000 Jan Hubicka <jh@suse.cz>
1068
1069 * i386.c (ix86_emit_restore_regs_using_mov): Break out from ...
1070 (ix86_expand_epilogue): ... here. Use mov instead of add to restore
1071 stack pointer in functions w/o saved registers, output LEAVE more often
1072 on TARGET_USE_LEAVE machines.
1073
914a3b8c
DM
10742000-02-07 Dmitri Makarov <dim@wrs.com> & Bernd Schmidt <bernds@redhat.com>
1075
1076 * config/arm/arm.c (arm_init_cumulative_args); New function:
1077 Initlaise the CUMULATIE_ARGS strcuture for a function
1078 defintion.
1079 (arm_function_arg): New function: Determine where to place a
1080 function's argument. Also handles deciding the function's
1081 call cookie.
1082 (current_file_function_operand): New function: Return true if
1083 the symbol is a function which has already been compiled.
1084 (arm_is_long_call_p): New function: Return true if the
1085 indicated function should be called via a long call.
1086 (arm_valid_type_attribute_p): New function: Return true if the
1087 attribute is a valid, arm specific, attribute.
1088 (arm_comp_type_attribute): New function: Return true if the
1089 two types have compatable, arm specific, attributes.
1090
1091 * config/arm/arm.h (CUMULATIVE_ARGS): Redefine to be a
3ea8083f 1092 structure.
914a3b8c
DM
1093 (FUNCTION_ARG): Redefine to call arm_function_arg.
1094 (FUNCTION_ARG_PARTIAL_NREGS): Redefine to use correct
3ea8083f 1095 structure field.
914a3b8c 1096 (INIT_CUMULATIVE_ARGS): Redefine to call
3ea8083f 1097 arm_init_cumulative_args.
914a3b8c 1098 (FUNCTION_ARG_ADVANCE): Redefine to use correct structure
3ea8083f 1099 field.
914a3b8c 1100 (SETUP_INCOMING_VARARGS): Redefine to use correct structure
3ea8083f 1101 field.
914a3b8c 1102 (ARM_MARK_NEARBY_FUNCTION): New macro: Mark already compiled
3ea8083f 1103 functions.
914a3b8c
DM
1104 (ENCODE_SECTION): Add call to ARM_MARK_NEARBY_FUNCTION.
1105 (VALID_MACHINE_TYPE_ATTRIBUTE): Define.
1106 (COMP_TYPE_ATTRIBUTES): Define.
1107
1108 * config/arm/arm.md (call): Call arm_is_long_call_p to decide
3ea8083f 1109 if a long call is needed.
914a3b8c 1110 (call_value): Call arm_is_long_call_p to decide if a long call
3ea8083f 1111 is needed.
914a3b8c 1112 (call_symbol): Call arm_is_long_call_p to decide if a long call
3ea8083f 1113 is needed.
914a3b8c
DM
1114
1115 * config/arm/arm-protos.h: Add prototype for arm_is_long_call_p.
1116
90e7678c
DC
11172000-02-11 Denis Chertykov <denisc@overta.ru>
1118
1119 * README.AVR: New file with information about the avr ports.
1120 * config/avr: New directory with avr port files.
1121
42cdc71d
AJ
11222000-02-11 Andreas Jaeger <aj@suse.de>
1123
1124 * fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@.
1125
a2a76ce7
ZW
11262000-02-11 Zack Weinberg <zack@wolery.cumb.org>
1127
1128 * cpphash.c: Fix formatting, update commentary.
1129 (dump_definition): Take three separate arguments instead of a
1130 MACRODEF structure argument.
1131 * cpphash.h: Update prototype of dump_definition.
1132 * cppinit.c (cpp_finish): Update call of dump_definition.
1133
1134 * cpplib.c (do_define): Always create new hash entry with
1135 T_MACRO type. Remove redundant check for redefinition of
1136 poisoned identifier. Update call of dump_definition.
1137 (do_undef): Don't call check_macro_name. Rename sym_length to
1138 len.
1139 (do_error, do_warning): Don't use copy_rest_of_line or
1140 SKIP_WHITE_SPACE.
1141 (do_warning): Don't use pedwarn for the actual warning,
1142 only the notice about its not being in the standard. (Fixes
1143 bug with #warning in system headers.)
1144 (do_ident): Stricter argument checking - accept only a single
1145 string after #ident. Also, macro-expand the line.
1146 (do_xifdef): Use cpp_defined. De-obfuscate.
1147
1148 (do_pragma): Split out specific pragma handling to separate
1149 functions. Use get_directive_token. Update commentary. Do
1150 not pass on #pragma once or #pragma poison to the front end.
1151 (do_pragma_once, do_pragma_implementation, do_pragma_poison,
1152 do_pragma_default): New.
1153
144a5f9d
JL
1154Feb 11 12:30:53 2000 Jeffrey A Law (law@cygnus.com)
1155
1156 * jump.c (jump_optimize_1): The first operand in a relational
1157 can be a CONST_INT.
1158 * optabs.c (emit_conditional_move): Handle relationals which
1159 have a known true/false result.
1160
2dd8bc01
GK
11612000-02-11 Geoff Keating <geoffk@cygnus.com>
1162
1163 * function.c (thread_prologue_and_epilogue_insns): Don't insert
1164 a RETURN insn into a block which already ends with a jump.
1165
3db18f59
GK
11662000-02-11 Geoff Keating <geoffk@cygnus.com>
1167
1168 * haifa-sched.c (BUF_LEN): Increase a lot.
1169
c4ce154a
NC
11702000-02-11 Nick Clifton <nickc@cygnus.com>
1171
1172 * configure.in: Add tm_p_file specification for thumb targets.
1173 * configure: Regenerate.
1174
1175 * config/arm/thumb-protos.h: New file: Prototypes for exported
1176 functions defined in thumb.c.
1177
87a8affe
RL
11782000-02-11 Robert Lipe <robertl@sco.com>
1179
1180 * Makefile.in (bootstrap-lean): Remove additional files.
3db18f59
GK
1181 (bootstrap2-lean): Likewise.
1182 (VOL_FILES): List of files for above.
87a8affe 1183
5a5c85c6
NS
11842000-02-11 Nathan Sidwell <nathan@acm.org>
1185
1186 * cpphash.c (special_symbol): Remove spurious argument to
1187 cpp_lookup.
1188
0d4ef09c
JS
11892000-02-11 Joel Sherrill (joel@OARcorp.com>
1190
1191 * configure.in: (i*86-*-rtems*): Swapped elf and coff
1192 stanzas.
1193 * configure: Rebuilt.
1194
84caa961
RB
11952000-02-11 Rodney Brown <RodneyBrown@pmsc.com>
1196
1197 * pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef.
1198
8c417c25
JL
1199Fri Feb 11 02:59:05 2000 Jeffrey A Law (law@cygnus.com)
1200
1201 * pa.c, pa.h: Remove trigraph sequences within comments.
1202
d77b4575
PR
1203Fri Feb 11 02:51:56 2000 Pavel Roskin <pavel_roskin@geocities.com>
1204
1205 * invoke.texi (PPC Options): -mno-new-mnenomics -> -mold-mnemonics.
1206
be200dff
BL
1207Fri Feb 11 02:48:30 2000 Brad Lucier (lucier@math.purdue.edu)
1208
1209 * sbitmap.h: Make SBITMAP_ELT_BITS unsigned.
1210
f9ef1f02
MH
12112000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1212
1213 * config/c4x/c4x.c (fp_zero_operand): Check for CONST_DOUBLE.
1214
eff784fe
MH
12152000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1216
1217 * config/c4x/c4x.h (ASM_GLOBALIZE_LABEL): Use c4x_global_label.
1218 (ASM_OUTPUT_EXTERNAL): Use c4x_external_ref.
1219 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
1220 (ASM_FILE_END): Use c4x_file_end.
1221 * config/c4x/c4x.c (c4x_global_label): New function.
1222 (c4x_external_ref, c4x_file_end): Likewise.
f9ef1f02 1223
eff784fe
MH
1224 * config/c4x/c4x-protos.h (c4x_global_label): Add prototype.
1225 (c4x_external_ref, c4x_end_file): Likewise.
eff784fe 1226
cf4ed945
ZW
12272000-02-10 Zack Weinberg <zack@wolery.cumb.org>
1228
1229 * cppexp.c: Don't include cpphash.h.
1230 (parse_charconst, cpp_lex): Use cpp_defined.
1231 (cpp_lex): Use get_directive_token throughout. Remove
1232 unnecessary cases from switch. Move assertion-handling code
1233 down to OTHER case.
1234 (cpp_parse_expr): If we see '+' or '-', check the context to
1235 determine if they are unary or binary operators. Streamline
1236 the jumps a bit. Do not call skip_rest_of_line.
1237
1238 * cpplib.c: Make skip_rest_of_line and cpp_skip_hspace
1239 static. Export get_directive_token. Update commentary.
1240 (cpp_defined): New function.
1241 (do_define): Remove reference to T_PCSTRING. Call
1242 free_definition to release memory for old definition, when
1243 redefining a macro.
1244 (eval_if_expression): Set only_seen_white to 0 before calling
1245 cpp_parse_expr. Call skip_rest_of_line after it returns.
1246 (cpp_read_check_assertion): Don't preserve a pointer into the
1247 token buffer across a call to cpp_get_token.
1248
1249 * Makefile.in (cppexp.o): Don't depend on cpphash.h.
1250 * cppfiles.c (redundant_include_p): Use cpp_defined.
1251 * cpphash.c (free_definition): New function.
1252 (delete_macro): Use it. Update commentary.
1253 * cpphash.h: Typedef HASHNODE here. Prototype cpp_lookup and
1254 free_definition.
1255 * cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING
1256 from enum node_type. Prototype cpp_defined and get_directive_token.
1257 Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace.
1258
1259 * fix-header.c (check_macro_names): Use cpp_defined.
1260 (read_scan_file): Set inhibit_warnings and inhibit_errors in
1261 the options structure.
1262
75cdca5b
FS
12632000-02-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1264
1265 * c-pragma.c (maximum_field_alignment): Remove duplicate declaration.
1266
d10b8e05
JM
12672000-02-10 Jason Merrill <jason@casey.cygnus.com>
1268
1269 * dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin)
1270 rather than die->die_tag.
1271
729a2125
RK
1272Thu Feb 10 16:26:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1273
1274 * combine.c (make_extraction, force_to_mode): Avoid warning on
1275 mixed-signedness conditionals.
1276 (make_field_assignment, nonzero_bits): Likewise.
1277 * expmed.c (store_fixed_bit_field): ALIGN arg now unsigned.
1278 (store_split_bit_field, extract_split_bit_field): Likewise.
1279 (extract_fixed_bit_field, store_bit_field,
1280 * expr.c: Change alignment to be unsigned everywhere.
1281 (move_by_pieces, store_constructor_field, store_constructor):
1282 Alignment parm is unsigned.
1283 (emit_block_move, emit_group_load, emit_group_store): Likewise.
1284 (clear_storage, emit_push_insn, compare_from_rtx): Likewise.
1285 (do_compare_rtx_and_jump): Likewise.
1286 (move_by_pieces_ninsns, clear_by_pieces): Likewise.
1287 Compare align with GET_MODE_ALIGNMENT.
1288 (expand_expr_unaligned): Pointer to alignment is pointer to unsigned.
1289 (get_inner_reference): Likewise.
1290 (copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts.
1291 (expand_assignment): Local vars for alignment now unsigned.
1292 (store_constructor, store_field, expand_expr, do_jump): Likewise.
1293 (do_compare_and_jump): Likewise.
1294 (store_field): Call new function expr_align.
1295 * expr.h (emit_block_move, emit_group_load, emit_group_store):
1296 Alignment arg now unsigned.
1297 (clear_storage, emit_push_insn, compare_from_rtx): Likewise.
1298 (do_compare_rtx_and_jump, store_bit_field): Likewise.
1299 (extract_bit_field): Likewise.
1300 * fold-const.c (add_double): Add cast to eliminate signedness warning.
1301 * machmode.h (GET_MODE_ALIGNMENT): Result is unsigned.
1302 (get_best_mode): Alignment arg is unsigned.
1303 * rtl.h (move_by_pieces): Likewise.
1304 * store-layout.c (maximum_field_alignment, set_alignment):
1305 Now unsigned.
1306 (layout_decl): Alignment arg is now unsigned.
1307 Remove unneeded casts.
1308 (layout_record, layout_union, layout_type): Remove unneeded casts.
1309 Local alignment variables now unsigned.
1310 (get_best_mode): Alignment arg now unsigned.
1311 * tree.c (expr_align): New function.
1312 * tree.h (expr_align): Likewise.
1313 (maximum_field_alignment, set_alignment): Now unsigned.
1314 (get_inner_reference): Alignment argument is now pointer to unsigned.
1315 * varasm.c (assemble_variable): Add cast to eliminate warning.
1316
c2939b57
JW
1317Thu Feb 10 12:56:47 2000 Jim Wilson <wilson@cygnus.com>
1318
5e4900c7
JW
1319 * expmed.c (store_bit_field): If op0 and fieldmode are the same size,
1320 then store directly into op0.
1321
c2939b57
JW
1322 * calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for
1323 the CALL_INSN, and emit the note immediately after it.
1324
7c5f52db
NC
13252000-02-10 Nick Clifton <nickc@cygnus.com>
1326
1327 * config/arm/thumb.md (epilogue): Include a (return) in the
1328 generated insn, and emit it using emit_jump_insn not
1329 emit_insn.
1330
44affdae
JH
1331Thu Feb 10 18:28:59 MET 2000 Jan Hubicka <jh@suse.cz>
1332
1333 * function.c (assign_temp): Change zero-sized arrays to size 1.
1334 * integrate.c (expand_inline_function): Do not update
1335 stack_alignment_needed
1336 * i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY,
1337 add some sanity checking, remove optimization for function with
1338 zero frame size.
1339
d219c7f1
KG
13402000-02-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1341
1342 * flow.c (mark_regs_live_at_end): Delete unused variables.
1343
1344 * ggc-page.c (ggc_page_print_statistics): bzero -> memset.
1345
1346 * integrate.c (copy_rtx_and_substitute): Wrap variable `alignment'
1347 in macro FRAME_GROWS_DOWNWARD.
1348
1349 * stmt.c (expand_end_bindings): Delete unused variable.
1350
1351 * unroll.c (iteration_info): Mark parameter `loop' with
1352 ATTRIBUTE_UNUSED.
1353
139cfaa7
AO
13542000-02-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
1355
d1922b48
AO
1356 * fixinc/server.c (load_data): Return NULL if the marker line is
1357 not found.
1358 (run_shell): If load_data returns NULL, retry the command once, in
1359 a new shell.
1360
139cfaa7
AO
1361 * configure: Rebuilt.
1362
547a21a8
BK
13632000-02-09 Bruce Korb <bkorb@gnu.org>
1364
1365 * gcc/fixincludes: ** DELETED **
1366 * gcc/fixcpp: ** DELETED **
1367 * gcc/fixinc-nt.sed: ** DELETED **
1368 * gcc/just-fixinc: ** DELETED **
1369 * gcc/Makefile.in: Removed out-dated commentary
1370 * gcc/configure.in: Removed fast-fixincludes disablement.
1371 * MAINTAINERS(Ian Taylor) moved to "Write after approval" group.
1372
98b7bb38
CP
13732000-02-09 Clinton Popetz <cpopetz@cygnus.com>
1374 * function.c (thread_prologue_and_epilogue_insns): Uncomment
1375 last change.
1376
ae32f34a
RH
13772000-02-09 Richard Henderson <rth@cygnus.com>
1378
1379 * jump.c (delete_insn): Don't delete user labels at -O0.
1380
7e1878ef
RL
13812000-02-09 Robert Lipe <robertl@sco.com>
1382
1383 * Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS.
1384 Don't link with HOST_LIBS.
1385
756ee602
ZW
13862000-02-09 Zack Weinberg <zack@wolery.cumb.org>
1387
1388 * configure.in: Correct --help text for --with-dwarf2.
1389 Put tm-dwarf2.h after other tm files, if it's requested.
1390 * configure: Regenerate.
1391 * config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before
1392 defining it.
1393
564ad5f4
ZW
13942000-02-09 Zack Weinberg <zack@wolery.cumb.org>
1395
bb52fa7f
ZW
1396 * cpplib.h: Provide HASHNODE typedef and forward decl of
1397 struct hashnode only. Kill cpp_hashnode typedef. MACRODEF,
1398 DEFINITION, struct hashnode, struct macrodef, struct
1399 definition, scan_decls prototype, default defn of
1400 INCLUDE_LEN_FUDGE moved elsewhere.
1401
1402 * cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct
1403 definition, and struct hashnode moved here. Remove the unused
1404 'predefined' field from struct definition. Replace the 'args'
1405 union with its sole member. All users updated (cpphash.c).
1406 Delete HASHSTEP and MAKE_POS macros, and hashf prototype. Add
1407 multiple include guard.
1408
1409 * cpphash.c (hashf): Make static; use better algorithm; drop
1410 HASHSIZE parameter; return an unsigned int.
1411 (cpp_lookup): Drop HASH parameter. PFILE parameter is
1412 used. Calculate HASHSIZE modulus here.
1413 (cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus
1414 here.
1415 (create_definition): Drop PREDEFINITION parameter.
1416 * cpplib.c (do_define): Don't calculate a hash value here.
1417 Don't pass (keyword == NULL) to create_definition.
1418
1419 * scan.h: Prototype scan_decls here.
1420 * cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here.
1421 * cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All
1422 callers of cpp_lookup and cpp_install updated.
1423
564ad5f4
ZW
1424 * cpphash.c (macarg): Hoist all the flag diddling out of the
1425 function...
1426 (macroexpand): ... and out of the loop that calls macarg.
1427 Skip over the initial paren before macro arguments with
1428 cpp_get_non_space_token; point may be some distance before
1429 that paren. Abort if it's not there.
1430
1431 * cpplib.c (parse_clear_mark): Delete function.
1432 (parse_set_mark, parse_goto_mark): Make static.
1433 (ACTIVE_MARK_P): New macro.
1434 (skip_block_comment, skip_line_comment): Do not bump the line
1435 if ACTIVE_MARK_P is true.
1436 (cpp_pop_buffer): The buffer to be popped may not have an
1437 active mark.
1438 (cpp_get_token): When looking for the initial paren before
1439 macro arguments, only set a mark in a file buffer, Always
1440 return to that mark before proceeding to call macroexpand or
1441 return a NAME token.
1442
1443 * cpplib.h: Remove prototypes of parse_set_mark,
1444 parse_clear_mark, parse_goto_mark.
1445 (struct cpp_options): Rename 'put_out_comments' to
1446 'discard_comments' and invert its sense.
1447 * cppinit.c, cpphash.c, cpplib.c: All users of
1448 put_out_comments changed to use discard_comments, with
1449 opposite sense.
1450
3a75e42e
CP
14512000-02-09 Clinton Popetz <cpopetz@cygnus.com>
1452
1453 * function.c (thread_prologue_and_epilogue_insns): Don't delete
1454 the edge from a block that both jumps and falls through to the
1455 fallthru block.
1456
81ee8129
SB
14572000-02-09 Scott Bambrough <scottb@netwinder.org>
1458
90e7678c
DC
1459 * config/arm/arm.md (movsi): In PIC mode, make sure that a
1460 constant source address is legitimate.
81ee8129 1461
82e9d970
PB
14622000-02-09 Philip Blundell <pb@futuretv.com>
1463
90e7678c
DC
1464 * config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF
1465 correctly.
82e9d970 1466
90e7678c
DC
1467 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Allow anything when
1468 generating PIC.
1469 (LEGITIMATE_PIC_OPERAND): Disallow references to labels.
82e9d970 1470
2387c1d4
ZW
14712000-02-09 Zack Weinberg <zack@wolery.cumb.org>
1472
1473 * cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer
1474 ends with a newline and a NUL. Don't be so clever manipulating
1475 strings.
1476
665792eb
JH
1477Wed Feb 9 14:18:08 MET 2000 Jan Hubicka <jh@suse.cz>
1478
1479 * reload1.c (reload) Align stack frame to cfun->stack_alignment_needed,
1480 not to BIGGEST_ALIGNMENT.
1481
3f388b42
GK
14822000-02-08 Geoff Keating <geoffk@cygnus.com>
1483
1484 * dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
1485 * dwarf2out.c (dwarf_cfi_name): Print name of new constant.
1486 (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
1487 (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
1488 * frame.c (execute_cfa_insn): Handle
1489 DW_CFA_GNU_negative_offset_extended.
1490
5568fb48
RH
14912000-02-08 Richard Henderson <rth@cygnus.com>
1492
1493 * flow.c (tidy_fallthru_edges): Split out from ...
1494 (delete_unreachable_blocks): ... here.
1495 (find_basic_blocks): Use it.
1496
f5a50010
RK
1497Tue Feb 8 15:51:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1498
1499 * stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY.
1500
5fa7f88c
ZW
15012000-02-08 Zack Weinberg <zack@wolery.cumb.org>
1502
1503 * Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.
1504 (gen_protos.o): Don't depend on cpplib.h or cpphash.h.
1505 (fix-header.o): Don't depend on cpphash.h.
1506
1507 * scan.c (hashstr): New function.
1508 * scan.h: Prototype it.
1509 * fix-header.c: Don't include cpphash.h. Use hashstr.
1510 * gen-protos.c: Don't include cpphash.h or cpplib.h. Use
1511 hashstr. Report hash table statistics. Add private
1512 definition of xrealloc.
1513
4be2e5d9
KG
15142000-02-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1515
1516 * i386.h (TARGET_SWITCHES): Fix typo in option name.
1517
a617c13f
CP
15182000-02-08 Clinton Popetz <cpopetz@cygnus.com>
1519
90e7678c
DC
1520 * function.c (thread_prologue_and_epilogue_insns): Don't replace
1521 jumps with returns unless they are jumps to the fallthru block.
a617c13f 1522
4d6b6776
JH
1523Tue Feb 8 07:53:55 2000 Jan Hubicka <jh@suse.cz>
1524
1525 * i386.md (addqi3_cc): Fix contraints.
1526
73ef99fb
HPN
1527Tue Feb 8 01:39:45 2000 Hans-Peter Nilsson <hp@bitrange.com>
1528
1529 * function.c (emit_return_into_block): Wrap in #ifdef HAVE_return.
1530
f81f5a9d
MM
15312000-02-07 Mark Mitchell <mark@codesourcery.com>
1532
1533 * cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a
1534 carriage return after a macro name.
1535
f766bd46
FF
15362000-02-07 Fred Fish <fnf@be.com>
1537
1538 * i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing
1539 so the gcc2_compiled symbol doesn't confuse BeOS debuggers.
1540
981cb437
ZW
15412000-02-07 Zack Weinberg <zack@wolery.cumb.org>
1542
1543 * cppfiles.c (deps_output): Count spacers in deps_column.
1544
15452000-02-07 Neil Booth <NeilB@earthling.net>
1546
1547 * cppinit.c (initialize_dependency_output): If there is no
1548 suffix, don't try to look for known suffixes. Use strrchr.
1549 (cpp_start_read): Remove duplicate initialization.
1550
c2f8b491
JH
1551Mon Feb 7 18:36:41 MET 2000 Jan Hubicka <jh@suse.cz>
1552
1553 * calls.c (compute_argument_block_size): New argument
1554 preferred_stack_boundary.
1555 (expand_call): update cfun->preferred_stack_boundary, update call of
1556 compute_argument_block_size
1557 (emit_library_call): Increate cfun->preferred_stack_boundary
1558 to PREFERRED_STACK_BOUNDARY
1559 (emit_library_call_value): Likewise.
1560 * explow.c (allocate_dynamic_stack_spave): Likewise.
1561 * function.c (prepare_function_start): Set
1562 cfun->preferred_stack_boundary
1563 * function.h (struct function): Add preferred_stack_boundary field.
1564 * integrate.c (expand_inline_function): Update
1565 cfun->preferred_stack_boundary and cfun->stack_alignment_needed.
1566 (copy_rtx_and_substitute): Align frame to stack_alignment_needed only.
1567 * i386.c (compute_frame_size): Use cfun->preferred_stack_boundary.
1568
25e30970
ZW
15692000-02-06 Zack Weinberg <zack@wolery.cumb.org>
1570
c1212d2f
ZW
1571 * cpplib.c (my_strerror, cpp_error, cpp_error_with_line,
1572 cpp_error_from_errno, cpp_warning, cpp_warning_with_line,
1573 cpp_pedwarn, cpp_pedwarn_with_line,
1574 cpp_pedwarn_with_file_and_line): Move to cpperror.c.
1575 (cpp_print_file_and_line, v_cpp_error, v_cpp_warning,
1576 v_cpp_error_with_line, v_cpp_warning_with_line,
1577 cpp_message_from_errno, cpp_perror_with_name): Delete.
1578
1579 * cpperror.c (cpp_print_containing_files): Take starting
1580 buffer as argument.
1581 (cpp_file_line_for_message): Rename to cpp_print_file_and_line.
1582 (v_cpp_message): Now called directly by all entry points.
1583 Remove -1 case.
1584 (cpp_pfatal_with_name, cpp_message): Delete.
1585 (cpp_notice_from_errno, cpp_ice): New functions.
1586 (cpp_notice): Is now for reporting error conditions, just
1587 without an associated file.
1588 (cpp_error, cpp_error_with_line): Don't do anything if
1589 opts->inhibit_errors is on.
1590 (cpp_pedwarn_with_file_and_line): Take column argument also.
1591
1592 * cpplib.h: Update prototypes of exported functions.
1593 (struct cpp_options): Add inhibit_errors.
1594
1595 * cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for
1596 non-error messages. Include intl.h.
1597
1598 * cppinit.c, cppmain.c: Likewise. Also, use
1599 cpp_notice_from_errno instead of cpp_perror_with_name or
1600 cpp_pfatal_with_name, and cpp_notice instead of cpp_message.
1601
1602 * cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to
1603 report internal errors.
1604
1605 * cpplib.c (do_define): Switch bcopy to memcpy.
1606 Give cpp_pedwarn_with_file_and_line a dummy column argument.
1607
25e30970
ZW
1608 * cpplib.c (copy_rest_of_line): Revert previous change: don't
1609 bail out early if we hit a line comment.
1610
69732dcb
RH
16112000-02-06 Richard Henderson <rth@cygnus.com>
1612
1613 * flow.c (flow_delete_insn, make_edge, remove_edge): Export.
1614 * basic-block.h: Declare them.
1615 * emit-rtl.h (active_insn_p): New.
1616 (next_active_insn, prev_active_insn): Use it.
1617 * rtl.h: Declare it.
1618 * function.c (emit_return_into_block): New.
1619 (thread_prologue_and_epilogue_insns): Insert return insns instead
1620 of epilogues when possible.
1621 * jump.c (jump_optimize_1): Remove code to insert a return insn
1622 on the fallthru to the exit block.
1623
9a7372d6
RH
1624 * i386.c (ix86_can_use_return_insn_p): Fail for large poped args
1625 and for non-empty stack frames.
1626 * i386.md (return): Expand to return-pop as needed.
1627
52a75c3c
RH
16282000-02-06 Richard Henderson <rth@cygnus.com>
1629
1630 * simplify-rtx.c (simplify_relational_operation): Canonicalize
1631 constant to op1 for testing.
1632
b027470f
MH
16332000-02-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1634
1635 * config/c4x/c4x.md (*ldi_on_overflow): New pattern.
1636 (fixuns_truncqfqi2): Use it.
1637
d9f0b960
RH
16382000-02-06 Richard Henderson <rth@cygnus.com>
1639
1640 * i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack
1641 as a TYPE_LEA insn.
1642
1643 * i386.md (widening and peepholes): Mask the constant instead of
1644 using gen_lowpart.
1645
40ea76de
ZW
16462000-02-05 Zack Weinberg <zack@wolery.cumb.org>
1647
eaefae0e
ZW
1648 * cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
1649 input pointer before possibly branching off to the backslash
1650 code.
1651 * cpphash.c (macroexpand): Correctly delete \r escapes when
1652 stringifying parameters.
1653 * cpplib.c (copy_rest_of_line): Go directly to skip_block_comment
1654 if we can; bail out early if we hit a line comment.
1655 (handle_directive): Treat '# 123' in an .S file just like
1656 '# <punctuation>'. Discard the shifted '#' if we hit '#\n'.
1657 Return 1 for '# not_a_directive'.
1658 (get_directive_token): Pop macro buffers here, so that
1659 cpp_get_token can't sneakily move past a newline.
1660 Add sanity checks.
1661 (cpp_get_token): goto randomchar if handle_directive returns 0.
1662
1316f1f7
ZW
1663 * cppalloc.c: Update copyright.
1664 * cpplib.c: Merge all the static function prototypes into one
1665 block.
1666 * cpplib.h: Remove #if 0 block.
1667
40ea76de
ZW
1668 * cpperror.c: Remove #ifdef EMACS block.
1669 * cppmain.c: Likewise.
1670 * cpphash.c: Remove #if 0 blocks.
1671 * cppinit.c: Remove #if 0 blocks, and the -lint option.
1672 * cpplib.c: Remove #if 0 blocks and code referencing
1673 pcp_inside_if or for_lint. Remove duplicate error message.
1674 Fix error messages for #else after #else or #elif. Reformat.
1675 Remove archaic TODO list.
1676 * cpplib.h: Remove pcp_inside_if and for_lint flags.
1677
fd81d24f
ZW
16782000-02-05 Zack Weinberg <zack@wolery.cumb.org>
1679
1680 * i386/osf1elf.h: Add missing backslash to multiline string.
1681
75874af9
KG
16822000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1683
1684 * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg.
1685
c6991660
KG
16862000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1687
1688 * Makefile.in (c-common.o): Depend on $(EXPR_H).
1689
1690 * c-common.c: Include expr.h.
1691
1692 * c-pragma.c (mark_align_stack): Add prototype.
1693
1694 * caller-save.c (add_stored_regs): Likewise.
1695
1696 * combine.c (record_promoted_value): Likewise.
1697
1698 * i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro):
1699 Likewise.
1700
1701 * cppinit.c (new_pending_define): Likewise.
1702
1703 * cpplib.c (skip_block_comment, skip_line_comment): Likewise.
1704
1705 * dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists,
1706 AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
1707 AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p,
1708 class_scope_p): Likewise.
1709
1710 * dwarf2out.h (dwarf2out_set_demangle_name_func,
1711 dwarf2out_add_library_unit_info): Likewise.
1712
1713 * ggc.h (ggc_page_print_statistics): Likewise.
1714
1715 * haifa-sched.c (propagate_deps): Likewise.
1716
1717 * reg-stack.c (next_flags_user, record_label_references): Likewise.
1718
1719 * rtl.h (set_stack_check_libfunc): Likewise.
1720
1721 * toplev.h (set_fatal_function): Likewise.
1722
1723 * toplev.c (set_fatal_function): Delete prototype.
1724
1725 * diagnostic.c: Deconstify functions returning malloc'ed ptrs.
1726
79f4e1c0
GK
17272000-02-05 Geoff Keating <geoffk@cygnus.com>
1728
1729 * ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX.
1730 (FUNC_END): Likewise.
1731
63290521
MH
17322000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1733
1734 * caller-save.c: Include tm_p.h.
1735
a0b4eeee
MH
17362000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1737
1738 * Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2).
1739
f15e0a17
NB
17402000-02-04 Neil Booth <NeilB@earthling.net>
1741
1742 * cccp.c (main): Check 'dir' for a NULL pointer before passing
1743 it to strcmp.
1744
706b0f60
ZW
17452000-02-04 Zack Weinberg <zack@wolery.cumb.org>
1746
1747 * recog.h: Remove NO_MD_PROTOTYPES ifdefs.
1748 * genflags.c: Use the max_operand_1 logic from genemit.c to
1749 calculate how many arguments gen_insn prototypes have. Remove
1750 NO_MD_PROTOTYPES ifdefs from the generated file.
1751 * genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
1752 file. Cast gen_insn initializers to insn_gen_fn.
1753 * config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
1754 * gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
1755
c05d48e6
KG
17562000-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1757
1758 * fixinc/Makefile.in (HDR): Add machname.h.
1759 (clean): Likewise.
1760
31113446
MH
17612000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1762
1763 * config/c4x/c4x.h (c4x_compare_op0, c4x_compare_op1): Move ...
1764 (c4x_regclass_map, c4x_caller_save_map, c4x_rpts_cycles): Ditto.
1765 (c4x_cpu_version): Ditto.
1766 * config/c4x/c4x-protos.h: ... here.
1767
e40a1c67
JM
17682000-02-04 Jason Merrill <jason@casey.cygnus.com>
1769
1770 * dwarf2out.c (add_abstract_origin_attribute): Don't call
1771 gen_abstract_function on our context if we're a nested function.
1772
a5fa6484
MH
17732000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1774
1775 * config/c4x/c4x.md (fixuns_truncqfqi2): Rewrite.
1776 * config/c4x/libgcc.S (ufix_truncqfhi2n): Fix.
1777
bff0dc38
BK
17782000-02-04 Bruce Korb <bkorb@gnu.org>
1779
1780 * fixinc/genfixes(machname.h):
1781 Move the functionality from gen-machine.h into this file.
1782 UNdef MN_NAME_PAT if there are no names to change.
1783 Also, be a little kinder when AutoGen is not present.
1784
1785 * fixinc/Makefile.in(machname.h):
1786 Change the generation rule to use genfixes.
1787
1788 * fixinc/fixfixes.c(machine_name):
1789 machine_name_fix's functionality now dependent upon whether
1790 MN_NAME_PAT is defined.
1791
1792 * fixinc/fixtests.c(machine_name):
1793 ditto.
1794
1795 * fixinc/fixlib.c(mn_get_regexps): conditional on definition
1796 of MN_NAME_PAT.
1797
1798 * fixinc/fixlib.h(mn_get_regexps):
1799 ditto
1800
1801 * fixinc/gen-machine.h: DELETED
1802
1c71e60e
JH
18032000-02-04 Jan Hubicka <jh@suse.cz>
1804 Richard Henderson <rth@cygnus.com>
1805
52a75c3c
RH
1806 * i386.c (SAVE_REGS_FIRST): Remove.
1807 (ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode.
1808 (ix86_compute_frame_size): Likewise.
1c71e60e 1809 (ix86_expand_prologue): Likewise. Use pro_epilogue_adjust_stack.
52a75c3c 1810 (ix86_emit_restore_regs): Remove.
1c71e60e
JH
1811 (ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack
1812 when a frame pointer is in use.
52a75c3c 1813 (ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode. Use mov
1c71e60e
JH
1814 instead of pop to restore a register when profitable; emit leave
1815 when profitable.
52a75c3c
RH
1816 (ix86_attr_length_default): Handle pro_epilogue_adjust_stack
1817 as a TYPE_LEA insn.
1c71e60e 1818 (ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU.
52a75c3c 1819 * i386.md (prologue_allocate_stack): Remove.
1c71e60e
JH
1820 (epilogue_deallocate_stack): Remove.
1821 (pro_epilogue_adjust_stack): New.
1822
c13fde05
RH
18232000-02-04 Richard Henderson <rth@cygnus.com>
1824
1825 * function.c (diddle_return_value): Rework to use a callback function.
1826 Use current_function_return_rtx if it's been set up.
1827 (do_clobber_return_reg, clobber_return_register): New.
1828 (do_use_return_reg, use_return_register): New.
1829 (expand_function_end): Use them.
1830 * stmt.c (expand_null_return): Likewise.
1831 * function.h: Declare them.
1832 * flow.c (mark_regs_live_at_end): Use diddle_return_value.
1833 (mark_reg): Change arguments as appropriate for callback.
1834 * integrate.c (expand_inline_function): Revert 19 Jan change.
1835
a89608cb
HPN
1836Fri Feb 4 20:25:42 2000 Hans-Peter Nilsson <hp@bitrange.com>
1837
1838 * tm.texi (Values in Registers): Fix typo: "fo" "for".
1839 (Misc): Say the scheduler, not the Haifa scheduler.
1840
a76063a6
CP
18412000-02-04 Clinton Popetz <cpopetz@cygnus.com>
1842
1843 * jump.c (mark_jump_label): Add in_mem param, check SYMBOL_REFs
1844 when in_mem is set. Update all callers.
1845
2e3af27c
RH
18462000-02-04 Richard Henderson <rth@cygnus.com>
1847
1848 * i386/openbsd.h (INT_ASM_OP): Define.
1849
8760eaae
HPN
1850Fri Feb 4 10:51:30 2000 Hans-Peter Nilsson <hp@bitrange.com>
1851
1852 * tm.texi: Fix various typos.
1853
7d4d8603
SE
1854Thu Feb 3 17:17:32 2000 Steve Ellcey <sje@cup.hp.com>
1855
1856 * config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case.
1857 (MD_STARTFILE_PREFIX_1): New macro.
1858
79f05c19
JH
1859Thu Feb 3 15:08:13 MET 2000 Jan Hubicka <jh@suse.cz>
1860
1861 * i386.md (movstrsi, clrstrsi): Support variable sized copies, align
1862 destination when needed.
1863 (strmovsi, strsetsi): New expander.
1864 (strmovsi_1, strsetsi_1): New pattern.
1865 * i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP,
1866 TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros.
1867 (TARGET_SWITCHES) Add align-stringops and inline-all-stringops.
1868 * invoke.texi (align-stringops, inline-all-stringops): Document.
1869
cf8e13bb
KW
1870Wed Feb 2 23:04:47 2000 Krister Walfridsson <cato@df.lth.se>
1871
1872 * i386/netbsd.h (INT_ASM_OP): Define.
1873
5237f531
ZW
18742000-02-02 Zack Weinberg <zack@wolery.cumb.org>
1875
1876 * cpplib.h (cpp_reader): Add new flag, no_directives.
1877 * cpphash.c (macarg): Set it.
1878 * cpplib.c (handle_directive): If no_directives is on and we
1879 find a directive, issue an error and discard the line.
1880
3e7cd49f
JW
1881Wed Feb 2 13:07:10 2000 Jim Wilson <wilson@cygnus.com>
1882
1883 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for
1884 FP constants. Add ! TARGET_FPU check for FP constants.
1885
2cade2ad
CP
18862000-02-02 Clinton Popetz <cpopetz@cygnus.com>
1887
1888 * flow.c (find_basic_blocks): Don't kill label_value_list
1889 here.
1890 (cleanup_cfg): Kill it here.
1891
c297a34e
RK
1892Wed Feb 2 08:12:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1893
1894 * expr.c (store_field): Ensure ALIGN is no stricter than the
1895 alignment of EXP.
1896
a7c197f8
RH
18972000-02-02 Richard Henderson <rth@cygnus.com>
1898
1899 * jump.c (delete_insn): Partially revert 19 Jan change;
1900 don't convert unused code labels to notes at -O0.
1901
0edaaa41
HB
19022000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1903
1904 * toplev.c (rest_of_compilation): Run rebuild_jump_labels after
1905 split_all_insns to recreate REG_LABEL notes for flow2 pass.
1906
2c5a510c
RH
19072000-02-01 Richard Henderson <rth@cygnus.com>
1908
1909 * i386.c (general_no_elim_operand): New.
1910 (nonmemory_no_elim_operand): New.
1911 (ix86_expand_move): Copy eliminable operands before a push.
1912 * i386-protos.h: Declare new functions.
1913 * i386.h (CAN_ELIMINATE): Simplify.
1914 (PREDICATE_CODES): Update.
1915 * i386.md (push insns): Don't allow eliminable register operands.
1916
ea2d416a
RH
19172000-02-01 Richard Henderson <rth@cygnus.com>
1918
1919 * flow.c (mark_regs_live_at_end): Follow expand_function_end and
1920 replace BLKmode with DECL_RTL's mode.
1921
7ae87061
ZW
19222000-02-01 Zack Weinberg <zack@wolery.cumb.org>
1923
1924 * frame.c (find_fde): Convert for loop to do-while so compiler
1925 sees it's always executed at least once.
1926 * libgcc2.c (BBINBUFSIZE): Kill.
1927 (__bb_init_prg): Use fgets.
1928 (__bb_exit_trace_func): Don't paste strings.
1929 * unroll.c (unroll_loop): Initialize unroll_type, not
1930 unroll_number, and tweak logic to match.
1931
1932 * i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in
1933 all failure paths.
1934 (ix86_flags_dependant): Likewise. Disentangle control flow.
1935 (ix86_sched_reorder): Break guts out to
1936 ix86_sched_reorder_pentium and ix86_sched_reorder_ppro.
1937 (ix86_sched_reorder_ppro): Initialize pair2 and insnp before
1938 any possible use.
1939
1940 * i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't
1941 use string concatenation. Don't save and restore esi.
1942
1943 * fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def.
1944 (machname.h): Remove script to separate file. Use two-step
1945 sequence so target is not created if script fails.
1946 * fixinc/gen-machname.h: New file. Handle case where no non-reserved
1947 identifiers are defined.
1948 * fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is
1949 an empty string, machine_name doesn't need to do anything at
1950 all.
1951 (is_cxx_header): Add more cases to regexp.
1952 * fixinc/fixlib.h: Update prototype.
1953 * fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of
1954 mn_get_regexps.
1955 * fixinc/fixincl.c: Define NO_BOGOSITY.
1956
1957 * fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out.
1958 (hp_sysfile): Add missing comma.
1959 (math_exception): Put the wrapper ifdefs at the beginning and
1960 the end of the file.
1961 * fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate.
1962
7ce86678
RH
19632000-02-01 Richard Henderson <rth@cygnus.com>
1964
1965 * sparc.c (fp_zero_operand): Turn into a normal predicate.
1966 Use CONST0_RTX. Update all callers.
1967 * sparc.h, sparc-protos.h: Update accordingly.
1968 * sparc.md (fp mov insns): Use fp_zero_operand directly
1969 where applicable.
1970
32bd3974
HPN
1971Wed Feb 2 02:59:45 2000 Hans-Peter Nilsson <hp@bitrange.com>
1972
1973 * tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS
1974 example.
1975
f2321837
KG
19762000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1977
1978 * Makefile.in (specs.ready): New target.
1979 (fixinc.sh): Depend on `specs.ready' instead of `specs'.
1980
dafb9c66
KG
19812000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1982
1983 * fixinc.irix: Use unique filenames for writing into /tmp,
1984 * fixinc.ptx: Likewise.
1985 * fixinc.sco: Likewise.
1986 * fixinc.svr4: Likewise.
1987 * fixinc.winnt: Likewise.
1988
2e39bdbe
KG
19892000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1990
1991 * tsystem.h: New file.
1992
1993 * Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o,
1994 s-crtS): Depend on tsystem.h.
1995
1996 * crtstuff.c: Include tsystem.h.
1997 * frame.c: Likewise.
1998 * libgcc2.c: Likewise.
1999
d33ebef6
JH
2000Tue Feb 1 19:53:27 CET 2000 Jan Hubicka <jh@suse.cz>
2001
2002 * builtins.c (expand_builtin_memset): Expand for variable sized
2003 lengths too.
2004
ef2362a4
DB
20052000-02-01 David Billinghurst <David.Billinghurst@riotinto.com.au>
2006
2007 * config/mips/iris6.h (SUBTARGET_ASM_SPEC) : Default ISA based
2008 on ABI.
2009
c294bd99
HPN
2010Tue Feb 1 00:57:40 2000 Hans-Peter Nilsson <hp@bitrange.com>
2011
2012 * dwarfout.c (SHORT_TYPE_SIZE): Correct default.
2013
2014 * tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE.
2015
5ef17dd2
CC
20162000-01-31 Chandra Chavva <cchavva@cygnus.com>
2017
2018 * combine.c (try_combine) [HAVE_cc0]: Trying to check the missed
2019 case 3->2 combining (combining with splitting) in which 2 is CC0
2020 setter/user and 3 is user. The rest of cases 2->1 and 3->2 are
2021 checked at the begining of the function with the aid of calling
2022 function 'can_combine_p'.
2023
a9fda12f
DB
20242000-01-31 Dave Brolley <brolley@redhat.com>
2025
2026 * cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.
2027
d4cf5733
JM
20282000-01-31 Jason Merrill <jason@casey.cygnus.com>
2029
2030 * jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the
2031 new label.
2032
7025bf19
KG
20332000-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2034
2035 * gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros.
2036
2037 * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit):
2038 PROTO -> PARAMS.
2039
db80ee8e
ZW
20402000-01-30 Zack Weinberg <zack@wolery.cumb.org>
2041
2042 * i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h,
2043 i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h,
2044 i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h,
2045 i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h,
2046 i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h,
2047 i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
2048 i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h,
2049 i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h,
2050 i386/vxi386.h, i386/win-nt.h, i386/win32.h:
2051 Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES.
2052
2053 * i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h:
2054 Add %(cpp_cpu) to CPP_SPEC.
2055
2056 * i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h:
2057 Add %(cc1_cpu) to CC1_SPEC.
2058
1d682cca
UD
20592000-01-28 Ulrich Drepper <drepper@redhat.com>
2060
2061 * c-decl.c (c_decode_option): Accept optional numeric argument to
2062 -Wformat and set warn_format.
2063 * c-common.c: Don't emit warning about non-constant printf format
2064 string unless warn_format > 1.
2065
4d32029d
RH
20662000-01-30 Richard Henderson <rth@cygnus.com>
2067
2068 * alpha.md (return_internal): Allow after reload only.
2069
eebe34b4
RH
20702000-01-30 Richard Henderson <rth@cygnus.com>
2071
2072 * i386.c (ix86_compute_frame_size): Omit padding1 if the
2073 local frame size is zero.
2074
c112e233
RH
20752000-01-30 Richard Henderson <rth@cygnus.com>
2076
2077 * alpha.c (alpha_expand_epilogue): Don't emit the return insn.
2078 * alpha.h (EPILOGUE_USES): New. Mark $26 live.
2079 * alpha.md (return): Turn into an expander.
2080 (return_internal): Don't use $26.
2081 (epilogue): Emit the return insn.
2082
51ec054c
RH
20832000-01-30 Richard Henderson <rth@cygnus.com>
2084
2085 * alpha.md (negtf2, abstf2): Fix word order thinko.
2086 (extendsftf2): New.
2087 (trunctfsf2): Avoid intermediate rounding errors.
2088
a73ac7a5
ZW
20892000-01-30 Zack Weinberg <zack@wolery.cumb.org>
2090
2091 * cppfiles.c (find_position): Drop 'colp' argument, return the
2092 new line base.
2093 (read_and_prescan): Adjust to match. Don't ever manipulate
2094 line or line_base except via find_position.
2095
b919445a
ZW
20962000-01-29 Zack Weinberg <zack@wolery.cumb.org>
2097
2098 * c-parse.in: Apply Ulrich's changes from c-parse.y.
2099 * c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c:
2100 Regenerate.
2101
59495f38
ZW
21022000-01-29 Zack Weinberg <zack@wolery.cumb.org>
2103
2104 * cpperror.c (cpp_file_line_for_message): If 'line' is zero,
2105 just print "<command line>". If 'filename' is null or an
2106 empty string, print "<stdin>" for the filename.
2107 * cpplib.c (do_define): Don't print the 'location of the
2108 previous definition' message if we're still parsing the
2109 command line.
2110 (cpp_pedwarn_with_file_and_line): Always call
2111 cpp_file_line_for_message.
2112
607ace9b
MM
21132000-01-29 Mark Mitchell <mark@codesourcery.com>
2114
2115 * flow.c (mark_regs_live_at_end): Fix typo.
2116
e38beabc
UD
21172000-01-28 Ulrich Drepper <drepper@redhat.com>
2118
2119 * c-common.c: Adjust variable names, comments, help strings to c99.
2120 * c-lex.c: Likewise.
2121 * c-parse.y: Likewise.
2122 * c-tree.h: Likewise.
2123 * cccp.c: Likewise.
2124 * cpplib.h: Likewise.
2125 * c-decl.c: Likewise. Recognize options with names "*99" as well.
2126 * cppinit.c: Likewise.
2127
4fda2521
HB
21282000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2129
ea2d416a 2130 * c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
4fda2521
HB
2131 * c4x.c: Define the optab rtx values.
2132 (c4x_add_gc_roots): Add the ggc roots for these optab rtx values.
2133 (c4x_emit_libcall): Use new optab rtx values.
2134 (c4x_emit_libcall3): Likewise.
2135 (c4x_emit_libcall_mulhi): Likewise.
2136 * c4x-protos.h: Add prototypes for optab rtx values and change
2137 prototypes for above c4x_emit_libcall functions.
2138
dfafcb4d
HB
21392000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2140
ea2d416a 2141 * c4x.c (c4x_output_ascii): Restrict line length of output when TI
dfafcb4d
HB
2142 syntax is used.
2143 (c4x_function_prologue): Use regnames intead of float_reg_names when
2144 TI syntax is used.
2145 (c4x_function_epilogue): Likewise.
2146 (c4x_print_operand): Likewise.
2147 * c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine.
2148 * c4x.md (set_high): Disable for TARGET_TI.
2149
21502000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
ed3614cd
HB
2151
2152 * c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading
2153 of framepointer + constant to ADDR_REGS class.
2154 * c4x.md (addqi3, addqi3_noclobber_reload): Update.
2155 * c4x.c (std_or_reg_operand): New function.
2156 * c4x-protos.h (std_or_reg_operand): Prototype it.
2157
29a963d3
HB
21582000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2159
2160 * t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same
2161 object names as libgcc2.c.
2162 * libgcc.S: Use newly defined names.
2163
65169dcf
JE
2164Fri Jan 7 19:48:04 CET 2000 Jan Hubicka <jh@suse.cz>
2165 * sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New
2166 function.
2167 * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare.
2168 * basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro.
2169 (FLOW_LOOP_LAST_BLOCK): Likewise.
2170
21712000-01-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2172
2173 * basic-block.h (struct loop): New fields 'first' and 'last'.
2174 * flow.c (flow_loops_find): Compute loop->first and loop->last.
2175 (flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG
2176 and loop->last to check for NOTE_INSN_LOOP_END.
2177
2178Fri Jan 28 10:57:58 2000 Jason Eckhardt <jle@cygnus.com>
2179
2180 * predict.c (estimate_probability): Use the new FIRST and LAST fields
2181 of the loop descriptor rather than HEADER and LATCH. Also added
2182 missing break statements as well making some coding style modifications
2183 as suggested by Michael Hayes.
2184
19d3c25c
RH
21852000-01-28 Richard Henderson <rth@cygnus.com>
2186
2187 * flow.c (find_basic_blocks): Remove do_cleanup argument.
2188 Break out that code ...
2189 (cleanup_cfg): ... here.
2190 (commit_one_edge_insertion): Detect a return instruction being
2191 emitted to an edge. Emit a barrier following; clear fallthru.
2192 (commit_edge_insertions): Verify CFG consistency.
2193 * function.c (expand_function_start): Kill unused variable.
2194 (expand_function_end): Likewise.
2195 (thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
2196 to insert the epilogue.
2197
2198 * gcse.c (gcse_main): Adjust for find_basic_blocks change.
2199 (delete_null_pointer_checks): Likewise.
2200 * output.h: Likewise.
2201 * reg-stack.c (reg_to_stack): Likewise.
2202 * toplev.c (rest_of_compilation): Likewise. Run
2203 thread_prologue_and_epilogue_insns after rebuilding the CFG.
2204
ae20388c
RH
22052000-01-28 Richard Henderson <rth@cygnus.com>
2206
2207 * Makefile.in (flow.o): Revert 24 Jan change.
2208 * flow.c (mark_regs_live_at_end): Likewise. Force BLKmode
2209 FUNCTION_VALUE result to DECL_RESULT's mode.
2210
47e6ea66
RH
2211 * haifa-sched.c (schedule_insns): Don't recompute reg info
2212 after reload.
2213
a3e0a73b
ZW
22142000-01-28 Zack Weinberg <zack@wolery.cumb.org>
2215
2216 * configure.in: Make --enable-cpplib the default.
2217 * configure: Regenerate.
2218 * gcc.dg/990119-1.c: No longer expected to fail.
2219
52bea684
BS
22202000-01-28 Bernd Schmidt <bernds@cygnus.co.uk>
2221
2222 * jump.c (jump_optimize_1): Delete an optimization that is also done
2223 by merge_blocks in flow.
2224
b9ff4814
KG
22252000-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2226
2227 * diagnostic.c (build_message_string, output_printf,
2228 line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
2229 (build_location_prefix): Fix non-literal format string.
2230
138eff91
RH
22312000-01-27 Richard Henderson <rth@cygnus.com>
2232
ea2d416a 2233 * alpha.md (trunctfsf2): New.
138eff91 2234
cd038ac2
AH
22352000-01-27 Andrew Hobson <ahobson@eng.mindspring.net>
2236
2237 * configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH.
2238
75ec21db
ZW
22392000-01-27 Zack Weinberg <zack@wolery.cumb.org>
2240
2241 * cppinit.c (cpp_handle_option): Recognize C++ comments under
2242 -std=gnu89.
2243 * cpplib.c (skip_block_comment, skip_line_comment): Split code
2244 out of...
2245 (skip_comment) ... here. Permit C++ comments in system
2246 headers always. Warn about C++ comments in user code under
2247 -std=gnu89 -pedantic.
2248 (copy_comment): Use skip_comment.
2249 (cpp_skip_hspace, cpp_get_token): skip_comment can no longer
2250 return EOF.
2251 (consider_directive_while_skipping, do_else, do_endif): Call
2252 validate_else unconditionally.
2253 (validate_else): Check CPP_PEDANTIC here. Accept non-comment
2254 text after the conditional in a system header.
2255 * cpplib.h (struct cpp_buffer): Add flag
2256 warned_cplusplus_comments.
2257
d1b81779
GK
22582000-01-27 Geoffrey Keating <geoffk@cygnus.com>
2259
2260 * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
2261 Use unshare_all_rtl_1.
2262 (unshare_all_rtl_again): New function.
2263 (unshare_all_rtl_1): New function split out of unshare_all_rtl.
2264
2265 * function.c (purge_addressof_1): Use unshare_all_rtl_again
2266 rather than resetting the 'used' flags ourself.
2267
2268 * toplev.c (rest_of_compilation): Add current_function_decl
2269 to the unshare_all_rtl call.
2270 * tree.h: Prototype unshare_all_rtl.
2271 * rtl.h: Prototype unshare_all_rtl_again here.
2272
22732000-01-27 Geoffrey Keating <geoffk@cygnus.com>
3bc9f12b
GK
2274
2275 * genoutput.c (output_prologue): Include ggc.h in generated
2276 files.
2277 * Makefile.in (insn-output.o): Depends on ggc.h.
2278
4c54e4e4
ID
22792000-01-27 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2280 Hans-Peter Nilsson <hp@bitrange.com>
2281
2282 * ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete.
2283 Remove redundant include of xm-ns32k.h.
2284 * ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions.
2285 Remove redundant include of xm-ns32k.h.
2286 * ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine.
2287 Remove redundant include of xm-ns32k.h.
2288 * ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions.
2289
2290 * ns32k/ns32k.h: Update comment on multiply-add instructions.
0843179b 2291 (TARGET_SWITCHES): Add documentation strings.
4c54e4e4
ID
2292 (DWARF_FRAME_REGNUM): Override default definition.
2293 (REG_CLASS_CONTENTS): Add comments.
2294 (SUBSET_P): Format to reduce line length.
2295 (SMALL_REGISTER_CLASSES): Make a run time option.
2296 (GO_IF_NONINDEXED_ADDRESS): Reformat.
2297 (GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before
0843179b 2298 dereferencing it. Braces to avoid "ambiguous else" were misplaced.
4c54e4e4
ID
2299 (regclass_map): fix typo in comment.
2300 * ns32k/ns32k.c: Add spaces before parentheses for consistant style.
2301 Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...).
2302 (trace, reg_or_mem_operand): Delete, unused function.
2303 (calc_address_cost): Small offsets are cheaper than large ones.
2304 (expand_block_move): Generate more efficient code when bytes is a
0843179b 2305 known at compile time.
4c54e4e4
ID
2306 * ns32k/ns32k.md: Alternate constraints for multiply-add instructions.
2307 (udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand
10b52f46 2308 instead of reg_or_mem_operand.
0843179b 2309
4c54e4e4
ID
2310 * ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs,
2311 not general_operand. Similarly use "=rm" or stricter, not "=g".
2312 For input operands, use stricter constraints than "g" if not
2313 general_operand. Similarly use stricter predicate than
2314 "general_operand" when stricter constraints than "g" are present,
2315 except for matching constraints.
2316 (movstrsi): Use "memory_operand" for operands 0 and 1.
2317 (truncsiqi2, truncsihi2, trunchiqi2): Remove.
2318 (udivmoddisi4_internal): Use nonimmediate_operand for operand 0,
2319 not reg_or_mem_operand.
2320 (udivmoddisi4): Ditto.
2321 Use nonimmediate_operand for operand 1, not reg_or_mem_operand.
2322 Use nonimmediate_operand for operand 3, not register_operand.
2323 (udivmoddiqi4_internal): Use register_operand for operand 1, not
2324 reg_or_mem_operand.
2325
899905f6
FF
23262000-01-27 Fred Fish <fnf@be.com>
2327
2328 * gthr-posix.h: Fix typo; compatibily -> compatibility.
2329 * gthr-single.h: Likewise.
2330 * gthr-solaris.h: Likewise.
2331 * gthr-vxworks.h: Likewise.
2332 * gthr-win32.h: Likewise.
2333 * gthr.h: Likewise.
2334
9082f847
ZW
23352000-01-27 Zack Weinberg <zack@wolery.cumb.org>
2336
2337 * cppinit.c: Add " (cpplib)" to end of string printed by
2338 -v / --version.
2339
01b9e84e
RH
23402000-01-27 Richard Henderson <rth@cygnus.com>
2341
2342 * alpha.c (alpha_emit_conditional_move): Use VOIDmode when
2343 testing for a signed comparison.
2344 (alpha_emit_floatuns): New.
2345 * alpha-protos.h: Declare it.
2346 * alpha.md (floatunsdisf2, floatunsdidf2): New.
2347 (extendsfdf2): Tidy.
2348
31cedf89
JJ
23492000-01-27 Jakub Jelinek <jakub@redhat.com>
2350
2351 * config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but
2352 no -g option specifying debugging format, default to -gstabs+.
2353
0843179b 2354Wed Jan 26 22:19:14 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
e09d24ff
R
2355
2356 * calls.c (special_function_p): New argument fork_or_exec.
2357 (expand_call): When profile_arc_flag is set and the function
2358 is in the fork_or_exec group, call __bb_fork_func first.
2359 * libgcc2.c, _bb module (__bb_fork_func): New function.
2360 (__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
2361 output file.
2362 * config/svr4.h (TARGET_HAS_F_SETLKW): Define.
2363 * tree.h (special_function_p): Update prototype.
2364
628d74de
RH
23652000-01-26 Richard Henderson <rth@cygnus.com>
2366
2367 * alpha.c (alpha_split_tfmode_pair): New.
2368 * alpha-protos.h: Declare it.
2369 * alpha.md (abstf2, negtf2): New.
2370 (movtf insn): Add input G constraint.
2371 (movtf splitter): Use alpha_split_tfmode_pair.
2372
c96a8082
KG
23732000-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2374
2375 * i386/cygwin.h: PROTO -> PARAMS.
2376
5c5c34a4
JJ
23772000-01-26 Jakub Jelinek <jakub@redhat.com>
2378
2379 * config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle
2380 TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons
2381 using _Qp_cmp/_Q_cmp and testing the return value.
2382 (print_operand): Call reverse_condition_maybe_unordered if
2383 we are handling CCFPmode or CCFPEmode.
2384 Handle ORDERED, UN* and LTGT comparisons.
2385 * config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32
2386 if not TARGET_HARD_QUAD.
2387 (seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble,
2388 bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt):
2389 Call sparc_emit_float_lib_cmp even on TARGET_ARCH32.
2390 Adjust gen_b* calls so that they reflect return comparison of
2391 sparc_emit_float_lib_cmp.
2392
c77f46c6
AO
23932000-01-26 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2394
2395 * config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
2396 incoming operands array is large enough for one more operand.
2397 (alpha_emit_xfloating_arith): Likewise.
2398
cef40e9f
ZW
23992000-01-25 Zack Weinberg <zack@wolery.cumb.org>
2400
2401 * fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a
2402 file with one line and no trailing newline.
2403 Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>.
2404 * fixinc/fixtests.c (machine_name_test): Fix fencepost error
2405 checking if the match is on the line.
2406 * fixinc/gnu-regex.c: Provide regerror not __regerror.
2407
5850dc00
RH
24082000-01-25 Richard Henderson <rth@cygnus.com>
2409
2410 * sparc.c (output_cbranch): Fix accidental squashing of the
2411 fp branch pre-delay nop.
2412
7913f3d0
RH
24132000-01-25 Richard Henderson <rth@cygnus.com>
2414
2415 * tree.def (UNNE_EXPR): Remove.
2416 * c-typeck.c (build_binary_op): Don't handle it.
2417 * expr.c (expand_expr, do_jump, do_store_flag): Likewise.
2418
2419 * rtl.def (UNNE): Remove.
2420 (LTGT): Add.
2421 * jump.c (reverse_condition): Update accordingly.
2422 (swap_condition): Likewise.
2423 (comparison_dominates_p): Handle unordered comparisons.
2424 (reverse_condition_maybe_unordered): New.
2425 * rtl.h (reverse_condition_maybe_unordered): Declare.
2426
2427 * sparc.c (select_cc_mode): Update for UNNE/LTGT.
2428 (output_cbranch): Use reverse_condition_maybe_unordered and LTGT.
2429 * sparc.h (REVERSIBLE_CC_MODE): Always true. Update docs.
2430 * sparc.md (bltgt): New.
2431
78340c9f
NC
24322000-01-25 Nick Clifton <nickc@redhat.com>
2433
2434 * emit-rtl.c (emit_insn): Only check machine class insns for
2435 improper emission of a RETURN.
2436
7554ad67
RH
24372000-01-25 Richard Henderson <rth@cygnus.com>
2438
2439 * Makefile.in (flow.o): Depend on $(EXPR_H).
2440 * flow.c (mark_regs_live_at_end): Use hard_function_value, i.e.
2441 duplicate the structure of diddle_return_value for keeping regs live.
2442
0534b804
MH
24432000-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2444
2445 * loop.c (current_loop_info): Delete.
2446 (consec_sets_invariant_p): Add loop argument, update callers.
2447 (get_condition_for_loop): Likewise.
2448 (count_nonfixed_reads, update_giv_derive): Likewise.
2449 (simplify_giv_expr, general_induction_var): Likewise.
2450 (consec_sets_giv, recombine_givs): Likewise.
2451 (move_movables): Delete loop_start and loop_end arguments,
2452 add loop argument, and update callers.
2453 (find_mem_givs, check_final_value): Likewise.
2454 (record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise.
2455 (loop_invariant_p): Rename from invariant_p, add loop argument, and
2456 update callers.
2457 (basic_induction_var): Add loop argument, delete loop_level argument,
2458 and update callers.
2459 * unroll.c (iteration_info): Delete loop_start and loop_end arguments,
2460 add loop argument, and update callers.
2461 (find_splittable_regs, find_splittable_givs): Likewise.
2462 (reg_dead_after_loop, loop_find_equiv_value): Likewise.
2463 (final_biv_value, final_giv_value, back_branch_in_range_p): Likewise.
2464 (biv_total_increment): Delete loop_start and loop_end arguments;
2465 update callers.
2466 (precondition_loop_p): Delete loop_start and loop_info arguments;
2467 update callers.
2468 * loop.h (get_condition_for_loop): Add loop argument.
2469 (biv_total_increment): Delete loop_start and loop_end arguments.
2470 (precondition_loop_p): Delete loop_start and loop_info arguments;
2471 add loop argument.
2472 (final_biv_value): Delete loop_start and loop_end arguments;
2473 add loop argument.
2474 (final_giv_value, back_branch_in_range_p): Likewise.
2475
8e466531
GRK
24762000-01-25 Gavin Romig-Koch <gavin@cygnus.com>
2477
2478 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16.
2479
490cab72
GRK
24802000-01-25 Gavin Romig-Koch <gavin@cygnus.com>
2481
2482 * Makefile.in (c-gperf.h) : Change the "See" pointer to
2483 point to the new "generated_files" doc.
2484
8c135f84
CP
24852000-01-25 Clinton Popetz <cpopetz@cygnus.com>
2486
2487 * config/fp-bit.c (_unord_f2): Fix typo.
2488
4dd7201e
ZW
24892000-01-25 Zack Weinberg <zack@wolery.cumb.org>
2490
2491 * c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
2492 c-typeck.c, objc/objc-act.c: Remove all references to obstack
2493 functions obsoleted by GC, such as push_obstacks_nochange,
2494 end_temporary_allocation, savealloc, saveable_tree_cons, etc.
2495 and code which existed only to decide whether or not to call
2496 them. Remove now-unused NESTED argument from start_function;
2497 all callers changed. Do not change behavior based on ggc_p.
2498 The use of the ixp_obstack in c-iterate.c and the util_obstack
2499 in objc/objc-act.c remain; these are not obsoleted by garbage
2500 collection.
2501 * c-tree.h: Update prototype for start_function.
2502
2503 * c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
2504
b5031ab7
CP
25052000-01-25 Clinton Popetz <cpopetz@cygnus.com>
2506
2507 * config/mips/mips.md (zero_extendsidi2_internal): Disable for
2508 mips16.
2509
e267e177
RH
25102000-01-25 Richard Henderson <rth@cygnus.com>
2511
2512 * sparc-protos.h (select_cc_mode): Declare.
2513 * sparc.c (select_cc_mode): New. Handle unordered compares.
2514 (output_cbranch): Always reverse via code change. Handle
2515 unordered compares. Factor tests and string updates.
2516 * sparc.h (SELECT_CC_MODE): Split out to select_cc_mode.
2517 (REVERSIBLE_CC_MODE): Also exclude CCFPmode.
2518 * sparc.md (bunordered, bordered): New.
2519 (bungt, bunlt, buneq, bunge, bunle): New.
2520
ef8288f7
RH
25212000-01-25 Richard Henderson <rth@cygnus.com>
2522
2523 * dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
2524 * ggc-common.c (ggc_add_rtx_varray_root): New.
2525 (ggc_mark_rtx_varray): New.
2526 (ggc_mark_rtx_varray_ptr): New. Shift all ggc_mark_foo_ptr
2527 functions down below ggc_mark_foo.
2528 * ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare.
2529
41bd3d41
RH
25302000-01-25 Richard Henderson <rth@cygnus.com>
2531
2532 * alpha.c (secondary_reload_class): Don't allocate a secondary
2533 for integral mode memories into FLOAT_REGS. Rearrange the more
2534 complicated memory expression inward.
2535
3be1fb72
ZW
25362000-01-25 Zack Weinberg <zack@wolery.cumb.org>
2537
2538 * inclhack.def: Fixes to play nicer with FreeBSD, and
2539 corrections to comments.
2540 (cxx_unready): Add select expression.
2541 (irix_sockaddr): Add bypass expression.
2542 (machine_ansi_h_va_list): New fix.
2543 (stdio_va_list): No need to edit _BSD_VA_LIST_.
2544 Split out addition of "#include <stdarg.h>" to...
2545 (stdio_stdarg_h): ... here.
2546 (systypes_for_aix): Rename to systypes_stdlib_size_t. Apply
2547 to stdlib.h also. Do not munge _BSD_SIZE_T_.
2548 (sysz_stdlib_for_sun): Delete duplicate fix for unprotected
2549 size_t.
2550 (ultrix_ifdef): Tighten up select expression.
2551
2552 * fixincl.tpl: Exorcise 'exesel'. Rewrite calculations of
2553 re_ct and max_mach to avoid use of shell. Make printed names
2554 match names in inclhack.def. Use static copyright date.
2555 Don't count c_test and test expressions as requiring regex_t
2556 slots. Add some commentary.
2557 * inclhack.tpl: Do not include the 'This script contains N
2558 fixup scripts' line if PROGRAM is defined. Use static
2559 copyright date.
2560
1865dbb5
JM
25612000-01-24 Jason Merrill <jason@casey.cygnus.com>
2562
2563 * dwarf2out.c: include "varray.h", not dyn-string.h.
2564 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose.
2565 (addr_const_to_string, addr_to_string): Lose.
2566 (ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c.
2567 (struct dw_val_struct): val_addr is now an rtx.
2568 (add_AT_addr, AT_addr, free_AT, output_aranges): Adjust.
2569 (used_rtx_varray): New varray.
2570 (dwarf2out_init): Initialize it.
2571 (save_rtx): New fn.
2572 (mem_loc_descriptor, add_const_value_attribute): Call it instead of
2573 addr_to_string.
0843179b 2574 * arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h,
1865dbb5
JM
2575 sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST.
2576 * Makefile.in (dwarf2out.o): Update dependencies.
2577
25782000-01-24 Richard Henderson <rth@cygnus.com>
2579
2580 * i386.c (i386_dwarf_output_addr_const): New.
2581 * i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New.
2582
2583 * dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR
2584 if defined.
2585 * dwarfout.c (output_mem_loc_descriptor): Likewise.
2586 * i386.c (i386_simplify_dwarf_addr): New.
2587 * i386.h (ASM_SIMPLIFY_DWARF_ADDR): New.
2588
65e1263a
JW
2589Mon Jan 24 16:56:10 2000 Jim Wilson <wilson@cygnus.com>
2590
2591 * dwarf2out.c (gen_struct_or_union_type_die): Set complete if
2592 TYPE_STUB_DECL is NULL.
2593
5eda3d66
RH
25942000-01-24 Richard Henderson <rth@cygnus.com>
2595
2596 * builtins.c (expand_tree_builtin): Move ...
2597 * c-common.c (expand_tree_builtin): ... here.
2598
52b38064
MH
25992000-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2600
2601 * loop.h (LOOP_INFO): New accessor macro.
2602 * basic-block.h (struct loop): Rename field `info' to `aux'.
2603 * loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
2604 (prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
2605 * unroll.c (loop_iterations, unroll_loop): Likewise.
2606
a1e3399a
CF
26072000-01-24 Christopher Faylor <cgf@cygnus.com>
2608
2609 * config/i386/t-cygwin: Accomodate new winsup directory layout
2610 when searching for include files.
2611
1eb8759b
RH
26122000-01-24 Richard Henderson <rth@cygnus.com>
2613
2614 * rtl.def: Add unordered fp comparisions.
2615 * tree.def: Likewise.
2616 * tree.h: Add ISO C 9x unordered fp comparision builtins.
2617
2618 * builtins.c (expand_tree_builtin): New function.
2619 * c-typeck.c (build_function_call): Use it.
2620 (build_binary_op): Support unordered compares.
2621 * c-common.c (c_common_nodes_and_builtins): Add unordered compares.
2622
2623 * combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
2624 (reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
2625 * cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
2626 (record_jump_equiv): Handle reverse_condition returning UNKNOWN.
2627 * jump.c (reverse_condition): Don't abort for UNLE etc, but
2628 return UNKNOWN.
2629 (swap_condition): Handle unordered compares.
2630 (thread_jumps): Check can_reverse before reversing.
2631 * loop.c (get_condition): Likewise. Allow UNORERED/ORDERED to be
2632 reversed for FP.
2633
2634 * optabs.c (can_compare_p): New argument CODE. Verify branch or
2635 setcc is present before acking for cmp_optab. Update all callers.
2636 (prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
2637 * expmed.c (do_cmp_and_jump): Update for can_compare_p.
2638 * expr.c (expand_expr): Likewise. Support unordered compares.
2639 (do_jump, do_store_flag): Likewise.
2640 * expr.h (enum libfunc_index): Add unordered compares.
2641
2642 * Makefile.in (FPBIT_FUNCS): Add _unord_sf.
2643 (DPBIT_FUNCS): Add _unord_df.
2644 * config/fp-bit.c (_unord_f2): New.
2645 * fp-test.c (main): Try unordered compare builtins.
2646
2647 * alpha-protos.h (alpha_fp_comparison_operator): Declare.
2648 * alpha.c (alpha_comparison_operator): Check mode properly.
2649 (alpha_swapped_comparison_operator): Likewise.
2650 (signed_comparison_operator): Likewise.
2651 (alpha_fp_comparison_operator): New.
2652 (alpha_emit_conditional_branch): Handle unordered compares.
2653 * alpha.h (PREDICATE_CODES): Update.
2654 * alpha.md (fp compares): Use alpha_fp_comparison_operator.
2655 (bunordered, bordered): New.
2656
d6cde845
RH
26572000-01-24 Richard Henderson <rth@cygnus.com>
2658
2659 * alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
2660 * alpha.md (movtf): New expander, insn, and splitter.
2661
eedf2f55
JH
2662Mon Jan 24 19:49:47 MET 2000 Jan Hubicka <jh@suse.cz>
2663
2664 * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
2665 dead registers.
2666
564d80f4
JH
2667Mon Jan 24 17:37:31 MET 2000 Jan Hubicka <jh@suse.cz>
2668
2669 * i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
2670 (FIXED_REGISTERS, CALL_USED_REGISTERS,
2671 REG_ALLOC_ORDER): Add frame pointer
2672 (FRAME_POINTER_REGNUM): Set to 20
2673 (HARD_FRAME_POINTER_REGNUM): New macro.
2674 (ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
2675 to HARD_FRAME_POINTER.
2676 (REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
2677 (REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
2678 (REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
2679 (HI_REGISTER_NAMES): Add "frame".
2680 (CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
2681 (debug_reg): Handle FRAME_POINTER_REGNUM.
2682 (reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
2683 GENERAL_REGS and INDEX_REGS.
2684 * i386.c (SAVED_REGS_FIRST): new macro.
2685 (AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
2686 (ix86_decompose_address, memory_address_length): Likewise.
2687 (regclass_map): Add frame pointer.
2688 (call_insn_operand): Handle frame_pointer_rtx.
2689 (reg_no_sp_operand): Likewise.
2690 (ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
2691 (print_operand, legitimize_pic_address): Fix formating.
2692 (ix86_compute_frame_size): Make static, update prototype, new
2693 parameters padding1, padding2, use ix86_nsaved_regs, use
2694 stack_alignment_needed.
2695 (ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
2696 to HARD_FRAME_POINTER_REGNUM conversions.
2697 (ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
2698 (ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
2699 (print_reg): Abort on FRAME_POINTER_REGNUM
2700
2247f6ed
JH
2701Mon Jan 24 16:50:08 MET 2000 Jan Hubicka <jh@suse.cz>
2702
2703 * i386.h (PREDICATE_CODES): Add aligned_operand.
2704 * i386.c (aligned_operand): New function.
2705 (ix86_aligned_p): Kill.
2706 * i386.md (movhi_1): Emit mov for aligned operands.
2707 (promoting peep2s): Use aligned_operand.
2708
3a2e9dd2
ZW
27092000-01-23 Zack Weinberg <zack@wolery.cumb.org>
2710
2711 * fixinc/fixfixes.c (fix_char_macro_uses): Correct regular
2712 expression to allow underscores in macro names.
2713 (fix_char_macro_defines): Increment scanning pointer.
2714
5495cc55
RH
27152000-01-23 Richard Henderson <rth@cygnus.com>
2716
2717 * alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
2718 * alpha/osf5.h: New file.
2719 * configure.in (alpha-*-osf5): Add it to tm_file.
2720
2721 * emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.
2722
2723 * alpha-protos.h (alpha_emit_xfloating_arith): Declare.
2724 (alpha_emit_xfloating_cvt, function_arg): Declare.
2725 * alpha.c (alpha_emit_conditional_branch): Call
2726 alpha_emit_xfloating_compare for TFmode compares.
2727 (alpha_lookup_xfloating_lib_func): New.
2728 (alpha_compute_xfloating_mode_arg): New.
2729 (alpha_emit_xfloating_libcall): New.
2730 (alpha_emit_xfloating_arith): New.
2731 (alpha_emit_xfloating_compare): New.
2732 (alpha_emit_xfloating_cvt): New.
2733 (print_operand): Add default abort case.
2734 (function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE.
2735 * alpha.h (TARGET_HAS_XFLOATING_LIBS): New.
2736 (BIGGEST_ALIGNMENT): Increase to 128 bits.
2737 (RETURN_IN_MEMORY): True for TF/TCmode.
2738 (ALPHA_ARG_SIZE): TF/TCmode is passed indirect.
2739 (FUNCTION_ARG): Move to function_arg.
2740 (FUNCTION_ARG_PASS_BY_REFERENCE): New.
2741 (ASM_OUTPUT_LONG_DOUBLE): New.
2742 (ASM_OUTPUT_DOUBLE): Always output bits.
2743 * alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New.
2744 (fix_trunctfdi2, floatditf2, floatunsditf2): New.
2745 (extenddftf2, trunctfdf2): New.
2746
ac490444
AO
27472000-01-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
2748
2749 * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
2750 * config/sparc/sol2.h: ... here.
2751
d6181b1b
MH
27522000-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2753
2754 * basic-block.h (struct loops): New field `levels'.
2755 * flow.c (flow_loops_level_compute): Traverse all outer loops.
2756 (flow_loop_level_compute): Initialise level to 1.
2757 (flow_loops_find): Set loops->levels.
2758 (flow_loops_dump): Print loops->levels.
2759
7e259f25
RH
27602000-01-23 Richard Henderson <rth@cygnus.com>
2761
2762 * libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
2763 (throw_helper): Iterate over DWARF_FRAME_REGISTERS.
2764
83774849
RH
27652000-01-23 Richard Henderson <rth@cygnus.com>
2766
2767 * i386.c (dbx_register_map, svr4_dbx_register_map): New.
2768 * i386.h (DBX_REGISTER_NUMBER): Use them.
2769 * i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise.
2770 * i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise.
2771 * i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise.
2772 * i386/sequent.h: Kill incorrect comment.
2773
ae373eda
MM
27742000-01-23 Mark Mitchell <mark@codesourcery.com>
2775
2776 * ggc-page.c (struct page_entry): Make `context_depth' an
2777 `unsigned short'.
d416576b 2778 (struct globals): Likewise.
ae373eda 2779
5c75f60e
CP
27802000-01-23 Clinton Popetz <cpopetz@cygnus.com>
2781
2782 * loop.c (check_dbra_loop): When checking a loop for
2783 reversability, check the source of any stores to ensure
2784 they don't depend on an initial value.
2785
7bea4e7a
MH
27862000-01-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2787
2788 * config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.
2789
ae5c839b
ZW
27902000-01-22 Zack Weinberg <zack@wolery.cumb.org>
2791
0843179b 2792 * fixinc/fixincl.c: Move declarations of 'pz_fname' and
ae5c839b
ZW
2793 'pz_scan' into scope of entire function. Only affects
2794 compiles with -DDEBUG.
2795
e8c3586a
AM
27962000-01-22 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
2797
1eb8759b
RH
2798 * config/elfos.h (UNIQUE_SECTION): Restore uninitialised data
2799 section naming to that prior to 2000-01-07 patch.
e8c3586a
AM
2800 * config/mips/elf.h (UNIQUE_SECTION): Ditto.
2801 * config/mips/elf64.h (UNIQUE_SECTION): Ditto.
2802 * config/mips/iris6gld.h (UNIQUE_SECTION): Ditto.
2803 * config/i386/interix.c (UNIQUE_SECTION): Ditto.
2804 * config/i386/winnt.c (UNIQUE_SECTION): Ditto.
2805
37b80d2e
BS
28062000-01-22 Bernd Schmidt <bernds@cygnus.co.uk>
2807
2808 * config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a
2809 constant.
2810
5787d8da
JW
28112000-01-21 Jim Wilson <wilson@cygnus.com>
2812
2813 * fixinc/inclhack.tpl: Test for directory before trying to cd into it.
2814 * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
2815
4571dc27
ZW
28162000-01-21 Zack Weinberg <zack@wolery.cumb.org>
2817
2818 * cpphash.c (change_newlines): Delete function.
2819 (struct argdata): Delete 'newlines' and 'use_count' fields.
2820 (macroexpand): Remove code referencing those fields.
2821
4cda35d4
MH
28222000-01-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2823
2824 * loop.c (loops_info): New variable.
2825 (loop_optimize): Allocate loops->array and free it on exit.
2826 Allocate memory for loops_info and assign to each loop,
0843179b 2827 replacing alloca.
4cda35d4
MH
2828 (find_and_verify_loops): Do not allocate loops->array.
2829
84c70dec
ZW
28302000-01-21 Zack Weinberg <zack@wolery.cumb.org>
2831
2832 * fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'.
2833
7652adb5
JJ
28342000-01-21 Jakub Jelinek <jakub@redhat.com>
2835
2836 * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
2837 pseudos if expanded after first flow.
2838 (movdi_pic_label_ref): Likewise.
2839
7c22ee2b
RH
28402000-01-20 Richard Henderson <rth@cygnus.com>
2841
2842 * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0.
2843
52c207e2
ZW
28442000-01-20 Zack Weinberg <zack@wolery.cumb.org>
2845
2846 * Makefile.in (fixinc.sh): Depend on specs.
1eb8759b
RH
2847 * fixinc/Makefile.in: Add rule to create machname.h.
2848 (fixlib.o): Depend on machname.h.
2849 * fixinc/fixtests.c (machine_name): New test.
2850 * fixinc/fixfixes.c (machine_name): New fix.
2851 * fixinc/fixlib.c (mn_get_regexps): New helper function for
2852 the machine_name test and fix.
2853 * fixinc/fixlib.h: Prototype it.
2854 * fixinc/inclhack.def (machine_name): Use the C test and fix.
52c207e2
ZW
2855 * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild.
2856
1eb8759b
RH
2857 * gcc.c (do_spec_1) [case P]: Take care not to create
2858 identifiers with three leading or trailing underscores.
52c207e2
ZW
2859
2860 * fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC.
2861 (fixincl): Don't specify libraries twice on link line.
2862 (gnu-regex.o): Remove special rule.
2863 * fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was
2864 defined by config.h. Do not define _REGEX_RE_COMP.
2865 (regcomp): Allocate and initialize a fastmap.
2866 * fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP.
52c207e2 2867
d3de1cf7
BL
28682000-01-20 Brad Lucier <lucier@math.purdue.edu>
2869
2870 * Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h.
2871
65f6fa24
RH
28722000-01-19 Richard Henderson <rth@cygnus.com>
2873
0843179b 2874 * flow.c (propagate_block): Replace FIRST, LAST and BNUM
65f6fa24
RH
2875 arguments with BB. Update all callers. Tidy line wrapping.
2876
ba52f355
CP
28772000-01-19 Clinton Popetz <cpopetz@cygnus.com>
2878
0843179b 2879 * emit-rtl.c (try_split): Return last_insn if we split the
ba52f355
CP
2880 last_insn.
2881
0903fcab
JH
2882Thu Jan 20 01:01:23 MET 2000 Jan Hubicka <jh@suse.cz>
2883
2884 * i386-protos.h (ix86_compute_frame_size): Remove prototype.
2885 (ix86_initial_elimination_offset): Declare.
2886 * i386.c (ix86_nsaved_regs): Break out from ...
2887 (ix86_can_use_return_insn_p): ... here.
2888 (ix86_emit_save_regs): Break out from ...
2889 (ix86_expand_prologue): ... here.
2890 (ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break
2891 out from ...
2892 (ix86_expand_epilogue): ... here.
2893 (ix86_compute_frame_size): Make static, add prototype.
2894 (ix86_initial_elimination_offset): Break out from ...
2895 * i386.h (INITIAL_ELIMINATION_OFFSET): ... here.
2896
0bee0290
KG
28972000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2898
2899 * recog.h (OUT_FCN): Delete.
2900
2901 * vax.md: Call `get_insn_template' instead of OUT_FCN.
2902
299d06ad 29032000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
0843179b 2904
f84c2018
KG
2905 * cppalloc.c: PROTO -> PARAMS.
2906 * cpperror.c: Likewise.
2907 * cppfiles.c: Likewise.
2908 * cpplib.c: Likewise.
2909 * cpplib.h: Likewise.
299d06ad
KG
2910
2911 * config/arm/arm-protos.h: PROTO -> PARAMS.
2912 * config/arm/arm.c: Likewise.
2913 * config/c4x/c4x.c: Likewise.
2914 * config/fr30/fr30-protos.h: Likewise.
2915 * config/nextstep.c: Likewise.
2916 * config/pa/pa.c: Likewise.
2917 * config/pj/pj.c: Likewise.
2918 * config/rs6000/rs6000.c: Likewise.
2919 * config/v850/v850-protos.h: Likewise.
2920 * config/v850/v850.c: Likewise.
2921
f50ec635
KG
29222000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2923
2924 * i370-protos.h: New file.
2925
2926 * i370.c: Include tm_p.h. Fix compile time warnings.
0843179b 2927
f50ec635
KG
2928 * i370.h: Move prototypes to i370-protos.h. Fix compile time
2929 warnings.
0843179b 2930
f50ec635
KG
2931 * i370.md: Likewise.
2932
b42b4d2c
KG
29332000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2934
2935 * real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS.
2936 (target_isinf, target_isnan, eisnan): Mark parameter with
2937 ATTRIBUTE_UNUSED.
2938 (eiisinf): Wrap in INFINITY.
2939 (etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY.
2940 (ibmtoe): Remove unused variable `rndsav'.
2941
229f17cf
R
2942Wed Jan 19 20:23:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2943
2944 * sh.h (PASS_IN_REG_P): Remove extraneous paranthesis.
2945 (GO_IF_LEGITIMATE_ADDRESS): Added missing tab.
2946
5c0d5b94
ZW
29472000-01-19 Zack Weinberg <zack@wolery.cumb.org>
2948
2949 * fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o.
2950 * fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes.
2951 (fix_char_macro_defines, fix_char_macro_uses): New functions.
2952
2953 * fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp.
2954 Recognize Emacs mode markers also.
2955 * fixinc/fixtests.c (else_endif_label): Fix bug in recognition of
2956 C++ comments in C++ headers. Call is_cxx_header only if
2957 necessary.
2958
2959 * fixinc/inclhack.def (avoid_bool): Add select for the problem and
2960 bypass for ncurses.
2961 (bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with...
2962 (io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes):
2963 ... these, which use the new C fixes.
2964 (math_exception): Escape literal '+' in bypass expression.
2965
2966 * fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh:
2967 Regenerate.
2968
0d3ffb5a
GK
29692000-01-19 Geoff Keating <geoffk@cygnus.com>
2970
2971 * rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs
2972 inside the MEM.
2973
78458962
MH
29742000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2975
2976 * loop.c (loop_optimize): Allocate loop_info structure for each loop
2977 prior to calling scan_loop.
2978
eda44c78
R
2979Wed Jan 19 19:54:38 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2980
10db12e0
R
2981 * sh.c (find_barrier, gen_block_redirect): Fix indentation.
2982 (split_branches, calc_live_regs): Likewise.
eda44c78 2983
d64264ff
R
2984Wed Jan 19 19:12:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
2985
2986 * sh.md (fpu_single, fp_mode): New attributes.
2987
e4b68ced
MH
29882000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2989
2990 * loop.c (current_loop_info): Renamed from loop_info_data
2991 and changed to a pointer.
2992 (loop_optimize): Allocate loop_info structure for each loop
2993 and initialise to zero.
2994 (scan_loop): Set current_loop_info.
2995
2996 * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
2997 on iteration_var.
2998
d29c259b
RH
29992000-01-19 Richard Henderson <rth@cygnus.com>
3000
3001 * stupid.c: Die die die.
3002 * Makefile.in (OBJS): Remove stupid.o.
3003 (stupid.o): Likewise.
3004
3005 * except.c (emit_eh_context): Don't emit USEs for stupid.
3006 * explow.c (probe_stack_range): Likewise.
3007 * flags.h (obey_regdecls): Remove.
3008 * flow.c (find_basic_blocks): Don't run try_merge_blocks
3009 when not optimizing.
3010 (life_analysis): Limit data collection when not optimizing.
3011 (mark_regs_live_at_end): Always mark the return value registers.
3012 (mark_used_regs): Remove dummy RETURN case.
3013 (print_rtl_with_bb): Don't consult obey_regdecls.
3014 * function.c (use_variable, use_variable_after): Remove.
3015 (assign_parms): Consult optimize not obey_regdecls.
3016 (expand_function_start): Don't emit USEs for stupid.
3017 (expand_function_end): Likewise.
3018 * global.c (build_insn_chain): Export.
3019 * integrate.c (expand_inline_function): Kill return-value USE
3020 handling code.
3021 * jump.c (jump_optimize_1): Do simple jump optimizations and
3022 dead code elimination.
3023 (calculate_can_reach_end): Remove check_deleted argument.
3024 (delete_insn): Patch out insns even when not optimizing.
3025 * local-alloc.c (block_alloc): Don't do tying when not optimizing.
3026 * rtl.h (use_variable, use_variable_after): Remove declarations.
3027 (build_insn_chain): Declare.
3028 * stmt.c (expand_value_return): Don't emit USEs for stupid.
3029 (expand_end_bindings): Likewise.
3030 (expand_decl): Likewise. Consult optimize not obey_regdecls.
3031 * toplev.c (obey_regdecls): Remove.
3032 (rest_of_compilation): Don't set it. Kill stupid in favour of
3033 flow1, local-alloc, and reload.
3034 (main): Don't set obey_regdecls.
3035
3036 * config/nextstep.c (handle_pragma): Likewise.
3037
3038 * alpha/alpha.md (allocate_stack): Don't emit USEs for stupid.
3039
3040 * arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid.
3041
f6da8bc3
KG
30422000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3043
3044 * alpha-protos.h: PROTO -> PARAMS.
3045 * alpha.c: Likewise.
3046 * elf.h: Likewise.
3047 * h8300.c: Likewise.
3048 * i386-protos.h: Likewise.
3049 * i386.c: Likewise.
3050 * m32r-protos.h: Likewise.
3051 * m32r.c: Likewise.
3052 * mips.c: Likewise.
3053 * mips.md: Likewise.
3054 * gmon-sol2.c: Likewise.
3055 * sparc.c: Likewise.
3056
fabf04b6
KG
30572000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3058
3059 * ns32k-protos.h: New file.
3060
3061 * ns32k.c: Fix compile time warnings.
0843179b 3062
fabf04b6
KG
3063 * ns32k.h: Move prototypes to ns32k-protos.h. Fix compile time
3064 warnings.
3065
3066 * ns32k.md: Likewise.
3067
2fd58acb
KG
30682000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3069
3070 * vax-protos.h: New file.
3071
3072 * vax.c: Fix compile time warnings.
0843179b 3073
2fd58acb
KG
3074 * vax.h: Move prototypes to vax-protos.h. Fix compile time
3075 warnings.
3076
3077 * vax.md: Likewise.
3078
3079 * vaxv.md: Likewise.
3080
13d516d9
KG
30812000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3082
3083 * romp-protos.h: New file.
3084
3085 * romp.c: Fix compile time warnings.
0843179b 3086
13d516d9
KG
3087 * romp.h: Move prototypes to romp-protos.h. Fix compile time
3088 warnings.
3089
3090 * romp.md: Likewise.
3091
253f1045
KG
30922000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3093
3094 * we32k-protos.h: New file.
3095
3096 * we32k.c: Fix compile time warnings.
0843179b 3097
253f1045
KG
3098 * we32k.h: Move prototypes to we32k-protos.h. Fix compile time
3099 warnings.
3100
962f1324
KG
31012000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3102
3103 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3104
3105 * except.c (eh_regs): Likewise.
3106
3107 * final.c (output_operand): Likewise.
3108
3109 * fold-const.c (target_isinf, target_isnan): Likewise.
3110
e2e52e1b
JH
3111Tue Jan 18 16:19:55 MET 2000 Jan Hubicka <hubicka@freesoft.cz>
3112
17f24ff0
JH
3113 * i386.h (BIGGEST_ALIGNMENT): Set to 128.
3114 (BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
3115
e2e52e1b
JH
3116 * i386.md (memstr): Do not use rep stosb for counts divisible by 4
3117 when optimize_size.
3118 (clrstrsi): Rewrite.
3119 (strsethi, strsetqi): New expanders.
3120 (strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
3121 (cmpstrsi): Emit compare insn before cmpstrsi_1
3122 (cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
3123 (strlensi_1): Likewise.
3124 (cmpstrsi_1): Likewise; do not output compare.
3125 (strlen expander): Do not unroll when optimizing for size.
3126 (*subsi3_carry): Rename to subsi3_carry
3127 (addqi3_cc): New pattern.
3128 * i386.h (processor_costs): Add move_ratio field.
3129 (MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
3130 * i386.c (*_cost): Set move_ratio.
3131 (x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
3132 (x86_expand_strlensi_1): Rewrite the main loop.
3133
12530dbe
RH
31342000-01-17 Richard Henderson <rth@cygnus.com>
3135
3136 * combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
3137 * cse.c (find_comparison_args, fold_rtx): Likewise.
3138 * integrate.c (subst_constants): Likewise.
3139 * loop.c (get_condition): Likewise.
3140
3141 * tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs.
3142
3143 * alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF.
3144
101e59f4
ML
3145