]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
configure.in: Fix checks for assembler features when using a one-tree assembler that...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
981d4858
JM
12000-09-22 Jason Merrill <jason@redhat.com>
2
3 * configure.in: Fix checks for assembler features when using a
4 one-tree assembler that has not yet been built.
5 Fix --disable-threads.
6
afa223c6
GK
72000-09-19 Geoff Keating <geoffk@cygnus.com>
8
9 * stmt.c (expand_asm_operands): Allow # in constraints.
10
a3a834aa
JM
112000-09-22 Jason Merrill <jason@redhat.com>
12
13 * c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
14
15 * dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
16 function-local names.
17
18424ae1
BL
182000-09-22 Brad Lucier <lucier@math.purdue.edu>
19 Mark Mitchell <mark@codesourcery.com>
20
21 * toplev.c (warn_disabled_optimization): Declare new warning flag.
22 * flags.h (warn_disabled_optimization): Add it here.
23 * gcse.c (gcse_main): Add warning when disabled.
a3a834aa 24 * invoke.texi: Document -Wdisabled-optimization.
18424ae1 25
1bfb5f8f
JM
262000-09-21 Jason Merrill <jason@redhat.com>
27
28 * dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
29
30 * dwarf2out.c (tree_add_const_value_attribute): New fn.
31 (gen_variable_die): Call it for non-definitions.
32
33 * dwarf2out.c (die_struct): Add die_mark field.
34 (mark_dies, unmark_dies): New fns.
35 (clear_die_sizes): Remove.
36 (print_die): Check die_symbol rather than die_offset.
37 (build_abbrev_table, output_pubnames, output_aranges): Check
38 die_mark rather than die_offset.
39 (output_comp_unit): Move calc_die_sizes after build_abbrev_table.
40 Call mark_dies.
41
2047e26f
NB
42Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net>
43
44 * cppfiles.c (lookup_include_file): Rename to open_file.
45 Always create a splay tree value, even on syscall failures.
46 Negative entries indicated by fd == -2.
47 Re-open files closed in the meantime.
48 (_cpp_fake_include): Create a negative splay tree entry.
49 (find_include_file, cpp_read_file): Update for function name
50 change.
51 * gcc.gd/cpp/mi4.c: Testcase.
52
f27cd94d
NC
532000-09-21 Nick Clifton <nickc@redhat.com>
54
2359a5e1
NC
55 * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
56 ARM and THUMB modes.
57
f27cd94d
NC
58 * config/mcore/mcore.c: Fix compile time warnings.
59 * config/mcore/mcore-protos.h: Fix compile time warnings.
60
7373064a
DA
612000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
62
63 * configure.in: Correct test of gcc_cv_glibc.
64 * configure: Rebuilt.
65 * config.in: Rebuilt.
66
07328167
KG
672000-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
68
69 * builtins.c (expand_builtin_fputs): Also expand when length!=1.
70 (expand_builtin): Handle BUILT_IN_FWRITE.
71
72 * builtins.def (BUILT_IN_FWRITE): New entry.
73
74 * c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
75
5fa7c8ce
RK
76Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
77
dc36ec2c
RK
78 * gcc.c (modify_target): New variable and struct.
79 (process_command): Handle MODIFY_TARGET_NAME.
80 * tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
81 * config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
82
5fa7c8ce
RK
83 * c-decl.c (finish_decl): Add else's to avoid referencing
84 TYPE_DOMAIN of an ERROR_MARK.
85
155b14a8
DC
86Wed Sep 20 21:44:31 2000 Denis Chertykov <denisc@overta.ru>
87
88 * config/avr/avr.c (adjust_insn_length): Adjust lengths of
89 `reload_in*' insns.
90
912000-09-19 Marek Michalkiewicz <marekm@linux.org.pl>
92
93 * config/avr/avr.md (neghi2): Add alternative for input and output
94 operands in different registers, as in negsi2.
95 (*negsi2): Remove '*' from the name. Use "movw" if available.
96
fd09c61f
JW
972000-09-19 Jim Wilson <wilson@cygnus.com>
98
99 * config/ia64/crtbegin.asm (__dso_handle): Delete use of
100 HAVE_GAS_HIDDEN macro.
101
7eea5554
NB
102Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net>
103
104 * cpplex.c (lex_line): Drop the EOF token for unknown
105 directives in assembler.
106
a473fe45
DE
1072000-09-19 David Edelsohn <edelsohn@gnu.org>
108
109 * configure.in: Allow enable_threads_flag value of "aix". Define
fd60bf96 110 thread_file as "aix" for AIX 4.3 and above.
a473fe45 111 * configure: Regenerated.
fd60bf96
DE
112
113 * gthr-aix.h: New file.
114
a473fe45
DE
115 * rs6000/t-aix43: Replace soft-float multilib with pthread.
116 Remove 403 processor multilib match. Fix rios2 processor multilib
117 match.
118
fd60bf96
DE
119 * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
120 to return to appropriate csect.
121
ad3fd36f
KG
1222000-09-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
123
124 * builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
125 functions.
126 (expand_builtin_fputs): Set `target' parameter for `expand_expr'.
127 (expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
128 BUILT_IN_PRINTF.
129
130 * builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
131 New entries.
132
133 * c-common.c (init_function_format_info): Handle __builtin_printf.
134 Set `check_function_format_ptr'.
135 (c_common_nodes_and_builtins): Set `puts_ftype' and
136 `printf_ftype'. Declare __builtin_putchar, __builtin_puts,
137 __builtin_printf and printf.
138
139 * tree.c, tree.h (check_function_format_ptr): Declare.
140
6f3d20a0
NB
141Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net>
142
143 * cppfiles.c (read_include_file): Take no special action for
144 zero-length files.
145
b4f75276
BS
1462000-09-19 Bernd Schmidt <bernds@redhat.co.uk>
147
afc6898e
BS
148 * final.c (insn_current_reference_address): Use INSN_SHUID of seq
149 rather than that of branch.
150 (shorten_branches): Don't increment insn_current_address twice.
151
b4f75276
BS
152 Undo most of the Wed Jan 27 23:39:53 1999 patch:
153 * loop.h (struct induction): Delete members derived, ix and last_use.
154 (struct loop_ivs): Delete members first_increment_giv and
155 last_increment_giv.
156 * loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
157 recombine_givs): Delete functions.
158 (find_and_verify_loops): Don't initialize cont_dominator.
159 (strength_reduce): Lose code to try to find bivs that can be
160 expressed as givs of another biv, and to convert biv increments
161 into givs.
162 Lose loop_scan_start variable, always use loop->scan_start.
163 Don't call recombine_givs. Don't handle derived givs.
164 (record_giv): Don't initialize derived and last_use fields.
165 (biv_eliminiation_giv_has_0_offset): Lose code to handle derived
166 givs.
167 * unroll.c (derived_regs): Delete static variable.
168 (unroll_loop): Don't initialize it.
169 (copy_loop_body): Lose code to handle derived givs.
170 (find_splittable_givs): Don't check for givs made from biv
171 increments.
172 Don't set derived_regs.
173
0f805606
BS
174 Fix misapplied earlier patch:
175 * config/sh/sh.md (floatsisf_ie): Reenable. Remove explicit reference
176 to fpul.
177 (floatsisf2): Generate floatsisf_ie by default.
178 (floatsisf_i4): Conditional on TARGET_SH4.
179
180 (floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
181 predicate for the expanders.
182
8aa0e194
RH
1832000-09-19 Richard Henderson <rth@cygnus.com>
184
0d97fd9e
RH
185 * config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
186 in addition to pentium and pentiumpro symbols.
187 (CPP_CPU_DEFAULT_SPEC): Likewise.
188
39b726dd
RH
189 * c-typeck.c (c_expand_asm_operands): Restore the output tree
190 after expanding.
191
9790cefd
RH
192 * stmt.c (expand_expr_stmt): Only call warn_if_unused_value
193 if the tree has side effects.
194 (warn_if_unused_value): Do not warn about void constructs.
195
8e5a0fcb
RH
196 * c-decl.c (poplevel): Invoke warn_about_unused_variables.
197
8aa0e194
RH
198 * unroll.c (copy_loop_body): Update LABEL_NUSES before
199 calling invert_jump.
200
62f7f1f5
GK
2012000-09-18 Geoff Keating <geoffk@cygnus.com>
202
203 * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
204 into anything.
205
3f80e6ac
KG
2062000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
207
208 * Makefile.in (c-common.o): Depend on diagnostic.h.
209
210 * c-common.c: Include diagnostic.h.
211 (tfaff): Delete.
212 (status_warning): New function.
213 (check_format_info, maybe_read_dollar_number, check_format_types,
214 finish_dollar_format_checking, check_function_format): Accept a
215 `status' parameter. All callers changed.
216
217 * c-common.h (check_function_format): Accept a `status' parameter.
218
219 * c-typeck.c: Update call to `check_function_format'.
220
cfbd829c
RH
2212000-09-18 Richard Henderson <rth@cygnus.com>
222
223 * c-decl.c (c_expand_body): Call mark_varargs before
224 expand_function_start.
225
c21d86e1
GK
2262000-09-18 Geoff Keating <geoffk@cygnus.com>
227
228 * config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
229 * config/rs6000/eabi-ci.asm: Likewise.
230
f0417c82
RH
2312000-09-18 Richard Henderson <rth@cygnus.com>
232
233 * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
234 for BImode.
235
226ed43f
JW
2362000-09-18 Jim Wilson <wilson@cygnus.com>
237
5c3c320e
JW
238 * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
239 before passing it to fold_rtx_mult_add.
240
ec919c98
JW
241 * unroll.c (final_giv_value): Pass increment through
242 extend_value_for_giv before passing it to emit_iv_add_mult.
243
226ed43f
JW
244 * function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
245 paradoxical subreg, then directly substitute the replacement and
246 return.
247
b542c0fb
NB
248Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net>
249
b4f75276 250 * cpp.texi: Update documentation, including some clarifications,
b542c0fb
NB
251 the treatment of various newline combinations, and space between
252 backslash and newline.
253
800a6a0c
R
254Mon Sep 18 21:00:47 2000 J"orn Rennecke <amylaar@redhat.co.uk>
255
256 * sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
257 Replace ASM_OUTPUT_LABELREF with assemble_name.
258
50ceefc2
R
259Mon Sep 18 20:26:50 2000 J"orn Rennecke <amylaar@redhat.co.uk>
260
261 * sh.c (addsubcosts): CONST is not cheap.
262 (find_barrier): For Sh1, take alignment after jumps into account.
263
659e47fb
AH
2642000-09-15 Andrew Haley <aph@redhat.com>
265
266 * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
267 remove all SETs of SUBREGs of hard registers.
7373064a 268 * function.c (purge_hard_subreg_sets): New function.
659e47fb
AH
269 (purge_single_hard_subreg_set): New function.
270 * rtl.h: (purge_hard_subreg_sets): New function.
271
f2f90c63
RH
2722000-09-18 Richard Henderson <rth@cygnus.com>
273
274 * config/ia64/ia64-protos.h: Update.
275 * config/ia64/ia64.c (signed_inequality_operator): New.
276 (ia64_expand_compare): New.
277 (ia64_register_move_cost): Handle PR_REGS moves.
278 (ia64_secondary_reload_class): Require a GR when moving to a PR.
279 (struct reg_write_state): Add written_by_and/or.
280 (struct reg_flags): Add is_and/or.
281 (rws_update): Set them.
282 (rws_access_regno): Test them to allow parallel comparisons.
283 (rtx_needs_barrier): Recognize parallel comparisons.
284 (emit_insn_group_barriers): Set prev_insn after a call stop bit.
285 Call recog_memoized; ignore pred_rel_mutex.
286 (emit_predicate_relation_info): Don't call find_basic_blocks here.
287 (ia64_reorg): Do it here instead.
288 * config/ia64/ia64.h: s/CCmode/BImode/g
289 (MODES_TIEABLE_P): Don't tie BImode.
290 (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
291 (CONST_COSTS): Pick sensible values for CONST_INT based on context.
292 (RTX_COSTS): Make multiply 4 insns.
293 (MEMORY_MOVE_COST): New.
294 (PREDICATE_CODES): Update.
295 * config/ia64/ia64.md: s/CCmode/BImode/g
296 (movcci, movbi): New.
297 (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
298 (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
299 (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
300 (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
301 (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
302 (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
303 (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
304 (mulsi, muldi): Use xmpy not xma.
305 (cmpbi): New.
306 (movcc, movcc_internal): Remove.
307 (branch expanders): Use ia64_expand_compare.
308 (setcc expanders): Likewise.
309 (cmov insns): Use move_operand and ia64_move_ok.
310 (pred_rel_mutex): Use unspec not unspec_volatile. Prevent the
311 scheduler from moving it past a use.
312 * config/ia64/build.hacks: Remove.
313
0d9f234d
NB
314Mon 18-Sep-2000 19:21:35 BST Neil Booth <NeilB@earthling.net>
315
316 * cpphash.h (HASHSTEP): Take character rather than pointer
317 to character.
318 (_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
319
320 * cpphash.c (cpp_loookup): Update for new HASHSTEP.
321
322 * cpplex.c (auto_expand_name_space, trigraph_replace,
323 backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
324 IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
325 BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
326 KNOWN_DIRECTIVE): Delete.
327
328 (handle_newline, check_long_token, skip_escaped_newlines,
329 unterminated): New functions.
330 (ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
331
332 (parse_identifier): Was parse_name, new implementation.
333 (skip_line_comment, skip_block_comment, skip_whitespace,
334 parse_number, parse_string, trigraph_ok, save_comment,
335 adjust_column, _cpp_get_line): New implementations.
336
337 (lex_token): New function. Lexes a token at a time, looking
338 forwards. Contains most of the guts of the old lex_line.
339 (lex_line): New implementation, using lex_token to obtain
340 individual tokens.
341 (cpp_scan_buffer): Use the token's line, not the list's line.
342
343 * cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
344 New implementations.
345 (do_assert): Don't bother setting the answer's list's line.
346 (cpp_push_buffer): Initialise new pfile and read_ahead members
347 of struct cpp_buffer.
348
349 * cpplib.h (cppchar_t): New typedef.
350 (struct cpp_buffer): read_ahead, pfile and col_adjust are
351 new members.
352 (struct lexer_state): New structure that determines the state
353 and behaviour of the lexer.
354 (IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
355 (struct cpp_reader): New member "state". Rename
356 multiline_string_line and multiline_string_column. Delete
357 col_adjust, in_lex_line members.
358 (CPP_BUF_COLUMN): Update.
359
a191f0ee
RH
3602000-09-18 Richard Henderson <rth@cygnus.com>
361
9f8e169e
RH
362 * combine.c (simplify_comparison): Shift a NOT out of a single
363 bit test.
364
1f3f36d1
RH
365 * combine.c (if_then_else_cond): Canonicalize BImode true to
366 STORE_FLAG_VALUE.
367 * explow.c (trunc_int_for_mode): Likewise.
368
5bd60ce6
RH
369 * combine.c (combine_simplify_rtx): Use gen_unary to distribute
370 the NOT for De Morgan's rule.
371 * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
372 of a comparison to the reverse comparison.
373
d340408c
RH
374 * combine.c (try_combine): Allow split to create a single insn.
375
a191f0ee
RH
376 * machmode.def: Add BImode. Add a column for bitsize.
377 * machmode.h (DEF_MACHMODE): Adjust for extra column.
378 (GET_MODE_BITSIZE): Use it.
379 * rtl.c (DEF_MACHMODE): Adjust for extra column.
380 (mode_bitsize): New.
381 (mode_mask_array): Use bitsize.
382 * combine.c (combine_simplify_rtx): Require inner and outer
383 modes to match on nonzero_bits optimizations.
384
5d77a50c
BS
3852000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
386
387 * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
388 its entry in spill_reg_store.
0fb8cb90 389 * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
2e361e59
BS
390 * sh.c (reg_no_subreg_operand): New function.
391 * sh-protos.h (reg_no_subreg_operand): Declare it.
392 * sh.h (PREDICATE_CODES): Add it.
393 * sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
394 input operand that needs to be in fpul.
395 (fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
42d5d0f1
BS
396 * sh.c (find_barrier): Take into account that machine_dependent_reorg
397 might add new insns.
5d77a50c 398
55eec660
AO
3992000-09-18 Alexandre Oliva <aoliva@redhat.com>
400
40fc375d
AO
401 * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
402 MAYBE_DEAD.
403 (sh_expand_epilogue): Take the PIC register into account when
404 computing the frame size.
405
55eec660
AO
406 * config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
407 * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
408 LABEL_REFs with a PIC-safe unspec.
409
7bf2bde1
WC
4102000-09-18 Will Cohen <wcohen@redhat.com>
411
412 * extend.texi (Zero Length): State that static initializers for
413 zero-length arrays are not allowed.
414
415 * c-typeck.c (process_init_element): Flag initializers for zero
416 length arrays.
417
418 * tree.c (integer_all_onesp): Ignore TREE_INT_CST_HIGH if prec is
419 exactly HOST_BITS_PERWIDE_INT.
420
fc6df7e1
JM
4212000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
422
423 * c-common.c (check_format_info): Properly save the argument
424 number and parameter for $ operand number formats in case width
425 and precision arguments are also used. Allow printf width and
426 precision arguments to have operand numbers even if none was
427 specified for the main format, since this is OK for %*.*m. Only
428 object to missing $ operand number if the format used requires an
429 argument.
430
effa5541
JM
4312000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
432
433 * c-common.c (format_char_info): Add 'W' flag to comment.
434 (print_char_table, scan_char_table): Use it.
435 (check_format_info): Use the 'W' flag to determine whether a
436 format argument is written into.
437
99303ae4
JM
4382000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
439
440 * c-common.c (check_format_types): Reorganise and clean up,
441 checking earlier for ERROR_MARKs and making cur_type into its
442 TYPE_MAIN_VARIANT where convenient.
443
9231abf2
JM
4442000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
445
446 * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
447
cf67d231
BS
4482000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
449
450 * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
451
bd793c65
BS
452 * i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
453 * i386.c (struct builtin_description): New.
454 (bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
455 (mmx_reg_operand): Declare MODE arg as unused.
456 (ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
457 ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
458 ix86_expand_binop_builtin, ix86_expand_store_builtin,
459 ix86_init_builtins, ix86_expand_builtin): New functions.
460 * i386.h (ix86_builtins): New enumeration.
461 (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
462 * i386.md (attr length_immediate): 0 for mmx/sse types.
463 (attr prefix_0f): 1 for mmx/sse types.
464 (setcc_2): Remove "*" so we get gen_setcc_2.
465 (emms): Account for changed register numbering. Set "memory" attr
466 to unknown.
467 (sfence): Set "memory" attr to unknown.
468
4070d885
AJ
4692000-09-18 Andreas Jaeger <aj@suse.de>
470
471 * configure.in: Define _GNU_SOURCE only when using the GNU C
472 Library.
a191f0ee
RH
473 * configure: Regenerated.
474 * config.in: Regenerated.
4070d885 475
2ac86f90
MM
4762000-09-17 Mark Mitchell <mark@codesourcery.com>
477
31a1fdad
MM
478 * cppinit.c (cpp_init): Don't use ANSI prototypes.
479 * flow.c (flow_dump_loop): Likewise.
480 (flow_loops_dump): Likewise.
481
2ac86f90
MM
482 * c-typeck.c (c_start_case): Fix typo.
483
60e9d01c
JM
4842000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
485
486 * c-decl.c (grokdeclarator): Don't give a warning about defaulting
487 to int for plain complex which defaults to complex double. Do
488 warn about defaulting to complex double if pedantic. Warn about
489 complex integer types if pedantic. Warn about complex types if
490 pedantic and not in C99 mode.
491 * c-typeck.c (build_unary_op): If pedantic, warn about use of ~
492 for complex conjugation.
493
bc5006c7
JM
4942000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
495
496 * contrib.texi: Update my entry.
497
7e3bd81e
DC
498Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru>
499
23cb1766
RK
500 * config/avr/avr.md (mcu_enhanced): New attribute.
501 (mcu_mega): Likewise.
502 (extendhisi2): Use mcu_enhanced.
503 (zero_extendhisi2): Likewise.
504 (call_insn): Use mcu_enhanced and mcu_mega.
505 (call_value_insn): Likewise.
506 (*sbrx_branch): Use mcu_mega.
507 (*sbrx_and_branchsi): Likewise.
508 (*sbrx_and_branchhi): Likewise.
509 (*tablejump_lib): Likewise.
7e3bd81e 510
6a51f4a0
RK
511Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
512
ec569656
RK
513 * alias.c (true_dependence): Allow non-unchanging read to conflict
514 with unchanging write.
515
23cb1766
RK
516 * expr.c (store_constructor_field): Accept ALIAS_SET arg.
517 (store_constructor): Pass alias_set to it.
518
a52fb89b
RK
519 * c-decl.c (grokdeclarator): Reorder tests to avoid looking at
520 TYPE_MAIN_VARIANT of ERROR_MARK.
521 * c-lex.c (readescape): Avoid using printf syntax we don't recognize.
522
6a51f4a0
RK
523 * simplify-rtx.c (simplify_unary_operation): Add cases
524 FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
525
ebb1b59a
BS
5262000-09-17 Bernd Schmidt <bernds@redhat.co.uk>
527
a191f0ee 528 * expr.h (emit_library_call, emit_library_call_value): Delete
ebb1b59a
BS
529 declarations.
530 * rtl.h (enum libcall_type): New.
531 (emit_library_call, emit_library_call_value): Change fn_type arg to
a191f0ee 532 be of type enum libcall_type.
ebb1b59a
BS
533 * calls.c: Likewise for the function definitions. Several callers
534 throughout changed to use the new enumeration appropriately.
535 (emit_library_call_value_1): Likewise. Put back code to make libcall
a191f0ee 536 blocks of equal form, but only use it for the two new higher
ebb1b59a
BS
537 enumeration values.
538
8f17b5c5
MM
5392000-09-16 Mark Mitchell <mark@codesourcery.com>
540
541 Convert the C front-end to use function-at-a-time mode.
542 * c-common.h: Include splay-tree.h.
543 (C_DECLARED_LABEL_FLAG): New macro.
544 (struct language_function): Add x_scope_stmt_stack and
545 x_function_name_declared_p.
546 (RECHAIN_STMTS): Move definition.
547 (lang_statment_code_p): Likewise.
548 (lang_expand_stmt): Likewise.
549 (lang_expand_decl_stmt): New variable.
550 (lang_expand_function_end): Likewise.
551 (current_scope_stmt_stack): New function.
552 (add_decl_stmt): Likewise.
553 (add_scope_stmt): Likewise.
554 (mark_stmt_tree): Likewise.
555 (struct c_lang_decl): New structure.
556 (DECL_SAVED_TREE): Define.
557 (c_mark_lang_decl): New function.
558 (c_expand_start_cond): Change prototype.
559 (c_finish_then): New function.
560 (c_finish_else): Likewise.
561 (current_function_name_declared): Remove.
562 (set_current_function_name_declared): Likewise.
563 (mark_c_language_function): Declare.
564 (case_compare): Likewise.
565 (c_add_case_label): Likewise.
566 (c_expand_expr): Likewise.
567 (c_safe_from_p): Likewise.
568 * c-common.c (lang_expand_function_end): New variable.
569 (struct if_elt): Add if_stmt.
570 (c_expand_start_cond): Add the if-statement to the statement-tree,
571 rather than generating RTL.
572 (c_finish_then): New function.
573 (c_expand_start_else): Don't generate RTL.
574 (c_finish_else): New function.
575 (c_expand_expr_stmt): Don't generate RTL.
576 (statement_code_p): Add SCOPE_STMT.
577 (case_compare): New function.
578 (c_add_case_label): Likewise.
579 (mark_stmt_tree): Likewise.
580 (c_mark_lang_decl): Likewise.
581 (mark_c_language_function): Likewise.
582 (c_expand_expr): Likewise.
583 (c_safe_from_p): Likewise.
584 * c-decl.c (c_stmt_tree): New variable
585 (c_scope_stmt_stack): Likewise.
586 (c_function_name_declared_p): Likewise.
587 (lang_expand_expr_stmt): Remove.
588 (poplevel): Don't call output_inline_function for nested
589 functions.
590 (pushdecl): Don't set DECL_CONTEXT for a local declaration of an
591 `extern' function.
592 (redeclaration_error_message): Change means of computing whether
593 or not a function is nested.
594 (lookup_label): Don't call label_rtx.
595 (init_decl_processing): Add more GC roots.
596 (start_decl): Add DECL_STMTs to the statement-tree, rather than
597 calling rest_of_decl_compilation.
598 (finish_decl): Don't call expand_decl.
599 (store_parm_decls): Begin the statement-tree, but don't generate
600 RTL.
601 (finish_function): Tie off the statement-tree. Call c_expand_body
602 if appropriate.
603 (c_expand_body): New function.
604 (push_c_function_context): Save more information.
605 (pop_c_function_contxt): Likewise.
606 (copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
607 (lang_mark_tree): Mark it.
608 (current_stmt_tree): Adjust.
609 (current_scope_stmt_stack): New function.
610 (do_case): Remove.
611 (set_current_name_declared): Likewise.
612 (c_begin_compound_stmt): Define.
613 (c_expand_decl_stmt): Likewise.
614 * c-lang.c: Include rtl.h and expr.h.
615 (lang_init): Set more language-specific hooks.
616 * c-lex.c: Include expr.h.
617 * c-parse.in: Changes throughout to add statements to the
618 statement-tree, rather than generating RTL after every statement.
619 * c-semantics.c (lang_expand_decl_stmt): Define.
620 (add_decl_stmt): New function.
621 (add_scope_stmt): Likewise.
622 (finish_stmt_tree): Tweak.
623 (genrtl_expr_stmt): Likewise.
624 (genrtl_decl_stmt): Handle local labels, and call
625 lang_expand_decl_stmt if required.
626 (genrtl_for_stmt): Fix line-number handling.
627 (genrtl_case_label): Handle cleanups.
628 (genrtl_asm_stmt): Don't call combine_strings.
629 (genrtl_compound_stmt): Simplify.
630 (expand_stmt): Handle SCOPE_STMTs.
631 * c-tree.h (struct lang_decl): New structure.
632 (C_DECLARED_LABEL_FLAG): Remove.
633 (c_begin_compound_stmt): Declare.
634 (c_expand_decl_stmt): Likewise.
635 (c_expand_start_case): Rename to c_start_case.
636 (c_finish_case): New function.
637 * c-typeck.c (start_init): Tweak setting of
638 constructor_incremental.
639 (c_expand_asm_operands): Tweak error-handling. Add to the
640 statement-tree.
641 (c_expand_return): Add to the statement-tree.
642 (c_expand_start_case): Rename to ...
643 (c_start_case): ... this.
644 (struct c_switch): New type.
645 (switch_stack): New variable.
646 (do_case): Simplify.
647 (c_finish_case): New function.
648 * dependence.c: Include expr.h.
649 (enum dependence_type): Change spelling of enumerals.
650 (check_node_dependence): Adjust.
651 * expr.h (lang_safe_from_p): Declare.
652 (safe_from_p): Likewise.
653 * expr.c (lang_safe_from_p): New variable.
654 (safe_from_p): Give it external linkage. Use lang_safe_from_p.
655 * stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
656 * toplev.c (rest_of_decl_compilation): Robustify.
657 * tree.c (contains_placeholder_p): Likewise.
658 * Makefile.in: Update dependencies.
659 * objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
660 * objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
661 (objc_expand_function_end): New function.
662 (finish_method_def): Use it.
663 (init_objc): Initialize more language-specific hooks.
664 * objc/Make-lang.in: Update dependencies.
7373064a 665
4797e955
GK
6662000-09-16 Geoffrey Keating <geoffk@cygnus.com>
667
668 * configure.in: Define macros that affect features before
669 testing for features. Don't define _XOPEN_SOURCE.
670 * configure: Regenerated.
671 * config.in: Regenerated.
672
ae0fb1b9
JW
673Sat Sep 16 19:42:50 EDT 2000 John Wehle (john@feith.com)
674
675 * rtlanal.c (rtx_varies_p): Volatile asms vary.
676 (rtx_unstable_p): Restructure code. Volatile asms
677 are unstable.
678
5748b2cb 679Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
ae0f4dee 680
87c31d6b
RK
681 * function.h (no_debugging_symbols): New field.
682 * integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
683 Initialize no_debugging_symbols.
684 (output_inline_function): Save and restore write_symbols and set from
685 no_debugging_symbols.
686 * toplev.c (rest_of_compilation): Call save_for_inline.
687 * tree.h: Update comment.
7373064a 688
5748b2cb
RK
689 * stor-layout.c (place_field): Don't do anything if field or
690 its type are ERROR_MARK.
691
692Sat Sep 16 19:14:00 2000 Laurynas Biveinis <lauras@softhome.net>
693
694 * cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
695 (read_include_file): Ensure inc->mmaped is initialized.
ae0f4dee 696
6f84c9bd
RH
6972000-09-16 Richard Henderson <rth@cygnus.com>
698
699 * cppiles.c (purge_cache): Use PTR not caddr_t.
700
50c57e7b
HPN
7012000-09-16 Hans-Peter Nilsson <hp@axis.com>
702
703 * gcc.c: In description for %{<S}, say the option removed is -S.
704 * invoke.texi (Spec Files): Ditto.
705
dd745546
AJ
7062000-09-16 Andreas Jaeger <aj@suse.de>
707
708 * configure.in: Always define _GNU_SOURCE to make interfaces
709 visible that were hidden by only defining _GNU_SOURCE.
710 * configure: Regenerated.
711
08ebc1c5
NB
712Sat 16-Sep-2000 08:13:45 BST Neil Booth <NeilB@earthling.net>
713
714 * cpplex.c (push_macro_context): Set an argument's level after
715 calling parse_args. We could loop infinitely otherwise.
716
16abe34a
TT
7172000-09-15 Tom Tromey <tromey@cygnus.com>
718
719 * configure, config.in: Rebuilt.
720 * configure.in: Check for iconv.h. Define _XOPEN_SOURCE.
721
61c16b10
GM
7222000-09-15 Greg McGary <greg@mcgary.org>
723
724 * cppmacro.c (check_trad_stringification): Check token
725 text pointers against limit before dereferencing.
726
6a357625
JM
7272000-09-15 Joseph S. Myers <jsm28@cam.ac.uk>
728
729 * c-common.c (format_wanted_type): New structure.
730 (check_format_types): New function.
731 (check_format_info): Pass all checking of types of format
732 arguments, including width and precision arguments, to this new
733 function.
734
6a1d1088
GP
7352000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
736
737 * BUGS: Remove file.
738
a3b815cb
JJ
7392000-09-15 Jakub Jelinek <jakub@redhat.com>
740
54f5c4b0
JJ
741 * config/alpha/alpha.c (override_options): ev6 cache latencies
742 from Richard Henderson. Don't allow -mmemory-latency=L0.
743
a3b815cb
JJ
744 * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
745 (TARGET_OPTIONS): Add tune=.
746 (alpha_tune_string): Declare.
747 * config/alpha/alpha.c (override_options): Add cpu_table.
748 Use alpha_cpu_string first to set both alpha_cpu and target_flags
749 and then alpha_tune_string to set alpha_cpu only.
750 Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
751 * config/alpha/elf.h (ASM_FILE_START): Likewise.
752 * config/alpha/osf.h (ASM_FILE_START): Likewise.
753 * config/alpha/openbsd.h (ASM_FILE_START): Likewise.
754
9076b9c1
JH
755Fri Sep 15 19:45:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
756
757 * i386-protos.h (no_comparison_operator, uno_comparison_operator):
758 Remove.
759 (ix86_comparison_operator, ix86_cc_mode): Declare
760 * i386.h (CCGC, CCGCO): New modes.
761 (SELECT_CC_MODE): Move offline to ....
762 * i386.c (ix86_cc_mode): .... here; use new modes.
763 (ix86_comparison_operator): New.
764 (fcmov_comparison_operator): Ensure proper mode.
765 (put_condition_mode): More sanity checking.
766 (ix86_match_ccmode): Handle new modes.
767 (ix86_expand_fp_compare): GEU requires CCmode.
768 (ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
769 doing it by hand.
770 * i386.md (cmp?i_ccz_1): Remove
771 (cmp?i_ccno_1): Use ix86_match_ccmode.
772 (cmp?i_minus_1): New.
773 (cmpsi_1): New expander.
774 (cmpqi_ext_1): Use match_ccmode
775 (cmpqi_ext_3): New expander.
776 (cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
777 (cmpqi_ext_4): Use match_ccmode.
778 (add?i_?): Use match_ccmode.
779 (add?i_6): New.
780 (test?i_ccz_1): Remove
781 (test?i_1): New.
782 (testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
783 (testqi_ext_0): Use ix86_match_ccmode.
784 (*xorqi_cc_ext_1): Use ix86_match_ccmode.
785 (xorqi_cc_ext_1): New expander.
786 (shift patterns): Use CCGOCmode for all shifts except for sar.
787 (setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
788 (setcc_3, jcc_3, miv?icc_c): Remove.
789
3724ec07
WC
7902000-09-15 Will Cohen <wcohen@redhat.com>
791
792 * dwarf2out.c (add_const_value_attribute): Changed array into a
793 xmalloced object, so it exists after function exit.
794 (free_AT): Added case for dw_val_class_float to free allocated
795 memory.
796
182a4620
KH
7972000-09-15 Kazu Hirata <kazu@hxi.com>
798
799 * config/i386/i386.md: Fix a comment typo.
d25a45d4 800 * gcc.c: Fix formatting.
182a4620 801
aff2c2d3
BS
8022000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
803
804 * optabs.c (emit_libcall_block): If target is a user variable,
805 copy to a temporary first.
642dfa8b
BS
806 * expr.c (convert_move): When generating a libcall, make a libcall
807 block.
188c5e6c
BS
808 * calls.c (emit_library_call_value_1): Don't create a libcall
809 sequence here; our caller will in most cases do it.
aff2c2d3 810
0c4c9b16
BS
811 * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
812 MACH into FPUL.
813 (SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
814 * sh.md (reload_outsf): Generate recognizable patterns for
815 TARGET_SH3E.
816 (floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
817 fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
818 fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
819 truncdfsf2_i4): Change not to use explicit references to fpul.
820 (floatsisf2_ie): Remove USE of fpscr.
821 (floatsisf2): Change default expansion to match this.
822 (fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
823 unused patterns.
824
308ecea0
RH
8252000-09-15 Richard Henderson <rth@cygnus.com>
826
827 * expmed.c (store_bit_field): Consider naturally aligned
828 memory for direct reference.
829
e01acbb1
RH
8302000-09-15 Richard Henderson <rth@cygnus.com>
831
832 * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
833 AND addresses into alias set 0.
834 (alpha_expand_unaligned_store): Likewise.
835 (alpha_expand_unaligned_load_words): Likewise.
836 (alpha_expand_unaligned_store_words): Likewise.
837
c363a0c0
BS
8382000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
839
840 * config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
841 * config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
842 is defined.
dd193c79
BS
843 * config/mips/mips.c (mips_va_arg): Args passed by reference have a
844 rsize of UNITS_PER_WORD.
c363a0c0 845
ff94c747
NB
846Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net>
847
848 * cpplex.c (ON_REST_ARG): Correct the test.
849 (maybe_paste_with_next): Duplicate a token that fail pasting,
850 and clear its PASTE_LEFT flag, so that nested pasting attempts
851 do not occur.
852
b437f1a7
RH
8532000-09-14 Richard Henderson <rth@cygnus.com>
854
855 * calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
856 * cse.c (rtx_cost): Likewise.
857 * optabls.c (expand_binop): Likewise.
858 (expand_twoval_binop, prepare_cmp_insn): Likewise.
859 * regclass.c (copy_cost): Likewise.
860 * reload1.c (reload_cse_move2add): Likewise.
861
d9dbd9b1
JM
8622000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
863
864 * c-parse.in (reswords): Add _Complex.
865
9207d3b1
DA
8662000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca>
867
868 * gcc.1: Delete documentation for -undef preprocessor option.
869
395a451c
AO
8702000-09-14 Alexandre Oliva <aoliva@redhat.com>
871
872 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
873 STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
874 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
875 Remove undefine before config/elfos.h.
876 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
877
17f0f8fa
KH
8782000-09-14 Kazu Hirata <kazu@hxi.com>
879
880 * invoke.texi (H8/300 Options): Add -ms2600.
881 * config/h8300.c (h8300_init_once): Output an error when -ms2600
882 is used without -ms.
883 * config/h8300.h (TARGET_MAC): New.
884 (TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
885 (CONDITIONA_REGISTER_USAGE): Disable the mac register on any
886 machine other than H8/S2600.
887 * config/h8300.md: Accept mac instructions on the H8/S2600 instead
888 of the H8/S2000.
889
9e8f528c
AO
8902000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
891
892 * reload.c (find_reloads_address_1): Generate reloads for auto_inc
893 pseudos that refer to the original pseudos, not only to their
894 equivalent memory locations.
895
9985f210
RK
896Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
897
fe7a8445
RK
898 * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
899 when making new MEM.
900
9985f210
RK
901 * Makefile.in (LN): Remove duplicate definition.
902
2f93c5c3
BS
9032000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
904
905 From Joern Rennecke:
906 * local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
907 on an insn and function_invariant_p returns nonzero for the source,
908 add a REG_EQUAL note.
909
b24ea077
JW
910Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com)
911
912 * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
913 conflict with frame_pointer_rtx.
914
fd5d5b07
KH
9152000-09-13 Kazu Hirata <kazu@hxi.com>
916
917 * loop.c: Fix formatting.
918 * loop.h: Likewise.
919
26102535
RH
9202000-09-13 Richard Henderson <rth@cygnus.com>
921
922 * config/ia64/ia64.md (divsf3): New.
923 (divsf3_internal_lat, divsf3_internal_thr): New.
924 (divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
925 (divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
926 (adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
927 (madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
928 (nmadddf4_alts, nmadddf4_trunc): New.
929 (addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
930 (subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
931 (multf3_truncsf_alts, multf3_truncdf_alts): New.
932 (maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
933 (msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
934 (nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
935 (nmaddtf4_truncdf_alts): New.
936 (recip_approx): Don't predicate.
937
938566fb
RH
9382000-09-13 Richard Henderson <rth@cygnus.com>
939
940 * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
941
c349e40b
SC
9422000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
943
944 * flags.h (flag_dump_rtl_in_asm): Declare.
945 * toplev.c (flag_dump_rtl_in_asm): Define.
946 (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
947 if -dP is specified.
948 * rtl.h (print_rtx_head): Declare.
949 * print-rtl.c (print_rtx_head): Define.
950 (print_rtx): Print the string pointed to by print_rtx_head
951 at beginning of each dump line.
952 (print_rtl): Likewise.
953 (print_rtl_single): Likewise.
954 * final.c (final_scan_insn): Dump the insn in the assembly
955 file for debugging.
956 * gcc.1: Document -dP option.
957 * invoke.texi (Debugging Options): Likewise.
958
2856c3e3
SC
9592000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
960
961 * md.texi (Machine Constraints): Document the 68HC11 constraints.
962 * install.texi (Configurations): Document the 68HC11&68HC12 port.
963 * invoke.texi (Option Summary, M68hc1x Options): Document the options.
964
1ca04dc8
DC
965Tue Sep 12 13:51:13 2000 Denis Chertykov <denisc@overta.ru>
966
967 * config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
968 * config/avr/avr.md (*movstrqi_insn): Cleanup output template.
969 (*clrstrqi): Likewise.
970 (xorhi3,xorsi3,absqi2): Likewise.
971 (one_cmplhi2,one_cmplsi2): Likewise.
972 (addsi3): Two stupid constraint alternatives removed.
973 (extendhisi2): Use `movw' for enhanced avr cores.
974 (zero_extendhisi2): Likewise.
975
bb07060a
JW
976Wed Sep 13 02:31:23 EDT 2000 John Wehle (john@feith.com)
977
978 * alias.c (find_base_term): Use frame_pointer_rtx
979 when handling an ADDRESSOF.
980
981 * cse.c (canon_hash): Handle USE of BLKmode memory.
982 (cse_insn): Outgoing arguments for a libcall don't
983 affect any recorded expressions.
984
d21445e7
TT
9852000-09-12 Tom Tromey <tromey@cygnus.com>
986
987 * configure, config.in: Rebuilt.
988 * configure.in: Check for iconv, nl_langinfo, langinfo.h.
989
5c80f6e6
JJ
9902000-09-12 Jakub Jelinek <jakub@redhat.com>
991
992 * c-lex.c (lex_string): Use charwidth to compute bytemask.
993 * expr.c (expand_expr): Don't optimize constant array references
994 initialized with wide string constants.
995
635a2a90
MH
9962000-09-13 Michael Hayes <mhayes@cygnus.com>
997
a191f0ee 998 * loop.c (note_set_pseudo_multiple_uses): Correct.
635a2a90 999
cc2999aa
JW
10002000-09-12 Jim Wilson <wilson@cygnus.com>
1001
1002 * ifcvt.c (noce_process_if_block): If A and B are the same, and no
1003 else block, and X has side-effects, then fail.
1004
a0b6cdee
GM
10052000-09-12 Greg McGary <greg@mcgary.org>
1006
1007 * config/mips/mips-protos.h
1008 (trap_cmp_op, mips_gen_conditional_trap): New func decls.
1009 * config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
1010 (PREDICATE_CODES): Add "trap_cmp_op".
1011 * config/mips/mips.c
1012 (trap_cmp_op, mips_gen_conditional_trap): New functions.
1013 * config/mips/mips.md (trap, conditional_trap): New patterns.
1014
24948ccc
BS
10152000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
1016
1017 * flow.c (try_pre_increment_1): Don't do anything to sets of the stack
1018 pointer.
1019
3ff5f682
KG
10202000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1021
1022 * builtins.c (built_in_decls): New array.
1023 (expand_builtin_fputs): New function.
1024 (expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
1025
1026 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
1027
1028 * c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
1029
1030 * tree.h (built_in_decls): New array.
1031
208b0ab1
JL
1032Tue Sep 12 08:53:57 2000 Jeffrey A Law (law@cygnus.com)
1033
1034 * convex.md: Use "+" instead of "=" for outputs wrapped in a
1035 STRICT_LOW_PART.
1036 * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
1037
a86dc4a3
KH
10382000-09-12 Kazu Hirata <kazu@hxi.com>
1039
7a403706
KH
1040 * haifa-sched.c: Fix formatting.
1041
c9541287
KH
1042 * genattrtab.c: Fix formatting.
1043
a86dc4a3
KH
1044 * unroll.c: Fix formatting.
1045
3af556f7
BK
10462000-09-12 Bruce Korb <bkorb@gnu.org>
1047
1048 * fixinc/fixfixes.c: make a type for the fix procedure & use it,
1049 remove obsolete code
1050 * fixinc/fixincl.c: Use PARAMS, not _P_. Add no-op default to switch.
1051 * fixinc/fixincl.tpl: make non-exported arrays static scope
1052 * fixinc/fixincl.x: regenerate
1053 * fixinc/fixlib.h: Use PARAMS, not _P_
1054 * fixinc/fixtests.c: make a type for the test proc & use it
1055 * fixinc/server.h: Use PARAMS, not _P_
1056
32892c52
KG
10572000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1058
1059 * c-typeck.c (process_init_element): Avoid union init warnings on
1060 floating point zero. Don't crash on unions containing structs.
1061
ae0a1c23
AO
10622000-09-12 Alexandre Oliva <aoliva@redhat.com>
1063
1064 * config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
1065 general_movsrc_operand, and remove CONST_INT from
1066 general_movdst_operand.
1067
f1c1dfc3
BS
10682000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
1069
1070 * cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
1071 if a reference to non-fixed hardreg is seen. Otherwise, count hard
1072 regs with a higher cost.
1073 (preferrable): Deal with cases where either cost or regcost is
1074 MAX_COST.
1075 (cse_insn): Use MAX_COST rather than 10000. Always initialize
1076 regcost values.
1077 (COSTS_N_INSNS): Move definition...
1078 * rtl.h: ...here.
1079 (MAX_COST): New macro.
1080 * loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
1081 constant.
1082
f444e36b
MM
10832000-09-11 Mark Mitchell <mark@codesourcery.com>
1084
1085 * c-common.h (genrtl_clear_out_block): Remove.
1086 * c-semantics.c (genrtl_clear_out_block): Remove.
1087 (genrtl_while_stmt): Don't call it.
1088 (genrtl_for_stmt): Likewise.
1089
a58d32c2
ZW
10902000-09-11 Zack Weinberg <zack@wolery.cumb.org>
1091
1092 * cppfiles.c: Move all default-#defines to top of file.
1093 (open_include_file): Replace by lookup_include_file.
1094 (read_with_read, read_file): Merged into read_include_file.
1095 (stack_include_file, purge_cache): New functions.
1096 (close_cached_fd): Delete.
dd745546 1097 (lookup_include_file, read_include_file, _cpp_pop_file_buffer):
a58d32c2
ZW
1098 Cache the in-memory buffer, not the file descriptor.
1099
1100 * cpphash.h (struct include_file): Add buffer, st, refcnt,
1101 mapped fields.
1102 (xcnew): New utility macro.
1103 (DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
1104 * cpplib.h (struct cpp_buffer): Remove mapped field.
1105
11062000-09-11 Zack Weinberg <zack@wolery.cumb.org>
1107
1108 * cpplex.c (parse_string): Accept backslash space newline as a
1109 line continuation.
1110 (lex_line): Likewise.
1111 (_cpp_get_token): Remove hard limit on macro nesting.
1112
bfa29b63
PT
11132000-09-12 Philipp Thomas <pthomas@suse.de>
1114
1115 * aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
1116 * configure: Rebuilt.
1117
97ca9316
MH
11182000-09-13 Michael Hayes <mhayes@cygnus.com>
1119
1120 * flow.c (split_block): Fix update of registers live at
1121 end of split block.
1122
d90ffc8d
JH
1123Tue Sep 12 01:51:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
1124
1125 * i386.md (add?i_3, add?i_5): New.
1126 (add?i_4): Rename from add?i_3; Fix compare pattern.
1127 (sub?i_3, xor?i_3, ior?i_3): New.
1128
1129 * genrecog.c (write_tree): Output code to clear insn_extract cache.
1130 * genattrtab.c (write_attr_case): Gen call to extract_insn_cache
1131 instead of extract_insn and extract_constrain_insn_cache instead of
1132 extract_insn and constrain_operands.
1133 * recog.c (extract_insn_cached, extract_constrain_insn_cached):
1134 New functions.
1135 (extract_insn): Clear which_alternative.
1136 (constrain_operands): Set which_alternative to -1 when failed.
1137 * recog.h (extract_constrain_insn_cached, extract_insn_cached):
1138 Declare.
1139
4843bda9
MH
11402000-09-11 Matthew Hiller <hiller@redhat.com>
1141
1142 * config/h8300/h8300.md (movstrictqi): Changed constraint modifier
1143 on operand 0 to '+'.
1144 (movstricthi): Likewise.
1145
ed5bb68d
MH
11462000-09-12 Michael Hayes <mhayes@cygnus.com>
1147
1148 * loop.h (LOOP_IVS): New macro.
1149 (REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
1150 (struct loop_ivs): New.
1151 (struct loop_info): Add ivs field.
1152 (reg_iv_type, reg_iv_info): Delete prototype.
1153 (reg_biv_class, loop_iv_list): Likewise.
1154 * loop.c (record_biv, find_life_end): Pass loop argument.
1155 (reg_iv_type): Remove global array and use
1156 field in loop_regs structure within loop_ivs structure.
1157 (reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
1158 (first_increment_giv, last_increment_giv): Use entry in
1159 loop_ivs structure.
1160 (record_initial): Pass ivs pointer.
1161 * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
1162
1ecd860b
MH
11632000-09-12 Michael Hayes <mhayes@cygnus.com>
1164
1165 * loop.h (LOOP_REGS): New macro.
1166 (struct loop_regs): New.
1167 (struct loop_info): Add regs field.
dd745546 1168 * loop.c (set_in_loop): Remove global array and store
1ecd860b
MH
1169 in loop_regs structure as part of loop_info structure.
1170 (n_times_set, may_not_optimize): Likewise.
1171 (reg_single_usage, moved_once): Likewise.
1172 (count_one_set): Add regs argument.
1173 (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
1174 (set_pseudo_multiple_uses): Pass regs pointer.
1175
0a5b41f2
MH
11762000-09-12 Michael Hayes <mhayes@cygnus.com>
1177
1178 * unroll.c (iteration_info): Subsume into loop_iterations.
1179 * loop.h (loop_info): New field iv.
1180
5d6a16e2
MH
11812000-09-12 Michael Hayes <mhayes@cygnus.com>
1182
1183 * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
1184 (LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
1185 (flow_loops_update): New prototype.
1186 (flow_loops_find): Add flags to prototype.
1187 (struct loop): Add `pre_header_root' and `pre_header_trace' fields.
1188 * flow.c (flow_loop_pre_header_scan): New.
1189 (flow_loop_dump): Dump pre-header root and trace and exit dominators.
1190 (flow_loop_free): Free pre-header root and trace and exit dominators.
1191 (flow_loops_find): New argument flags.
1192 (flow_loops_update): New function.
1193 * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
1194
c586192c
MH
11952000-09-12 Michael Hayes <mhayes@cygnus.com>
1196
1197 * basic-block.h (split_block, update_bb_for_insn): New prototypes.
1198 * flow.c (split_block, update_bb_for_insn): New functions.
1199
a5e5cf67
RH
12002000-09-11 Richard Henderson <rth@cygnus.com>
1201
1202 * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
1203
655f2eb9
RH
12042000-09-11 Richard Henderson <rth@cygnus.com>
1205
1206 * config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
1207 * config/ia64/ia64.c (fr_nonimmediate_operand): New.
1208 (ia64_override_options): Prevent optimizing division for both
1209 latency and throughput.
1210 (rtx_needs_barrier): Handle frcpa.
1211 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
1212 (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
1213 (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
1214 (TARGET_SWITCHES): Add -minline-divide-min-latency and
1215 -minline-divide-max-throughput.
1216 (PREDICATE_CODES): Update.
1217 * config/ia64/ia64.md (extendsidi2): Remove * from f case.
1218 (zero_extendsidi2): Likewise. Fix typo in f case insn.
1219 (extendsfdf2): Add cases for gr<->fr and fr<->mem.
1220 (extendsftf2): Likewise.
1221 (extenddftf2): Likewise.
1222 (fix_trunctfdi2_alts): New.
1223 (fixuns_trunctfdi2_alts): New.
1224 (madd*4): Rename from madd*3.
1225 (divsi3, modsi3, udivsi3, umodsi3): New.
1226 (divsi3_internal): New.
1227 (divdi3, moddi3, udivdi3, umoddi3): New.
1228 (divdi3_internal_lat, divdi3_internal_thr): New.
1229 (multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
1230 (recip_approx): New.
1231
b5d7770c
AO
12322000-09-11 Alexandre Oliva <aoliva@redhat.com>
1233
1234 * print-rtl.c (debug_call_placeholder_verbose): New variable.
1235 (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
1236 set.
1237 * integrate.c (copy_rtx_and_substitute): Don't share
1238 LEAF_REG_REMAPpable registers with the inlined function. Don't
1239 share the function value with calling sequences.
1240
6ff85fd8
JJ
12412000-09-11 Jakub Jelinek <jakub@redhat.com>
1242
2a1da89b
JJ
1243 * c-decl.c (do_case): Fix a typo.
1244
6ff85fd8
JJ
1245 * combine.c (simplify_if_then_else): Don't convert a == b ? b : a
1246 to a if the comparison is floating mode and not -ffast-math.
1247 * simplify-rtx.c (simplify_ternary_operation): Likewise.
1248
4102c782
R
1249Mon Sep 11 20:07:48 2000 J"orn Rennecke <amylaar@redhat.co.uk>
1250
1251 * sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
1252 gen_ic_invalidate_line.
1253
52a21fc6
PB
12542000-09-11 Philip Blundell <pb@futuretv.com>
1255
1256 * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
1257
669ed2b1
UD
1258Mon Sep 11 10:48:41 2000 Ulrich Drepper <drepper@redhat.com>
1259
1260 * install.texi (LANGUAGES): Update to include new languages.
1261 * INSTALL: Rebuilt.
1262
50936d27
DD
12632000-09-11 DJ Delorie <dj@redhat.com>
1264
1265 * gcc.c (main): Don't warn about unused -B prefixes
1266 (unused_prefix_warnings): remove
1267
00174bdf
KH
12682000-09-11 Kazu Hirata <kazu@hxi.com>
1269
f5d927c0
KH
1270 * final.c: Fix formatting.
1271
00174bdf
KH
1272 * integrate.c: Fix formatting.
1273
b14066a9
GK
12742000-09-11 Geoff Keating <geoffk@cygnus.com>
1275
1276 * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
1277
e695931e
BS
12782000-09-11 Bernd Schmidt <bernds@redhat.co.uk>
1279
1280 * reload.c (regno_clobbered_p): Fix thinko in previous change.
1281
456aadaa
SC
12822000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1283
1284 * gcc.1: Document 68hc11 specific options.
1285
9cb8fcaf
GK
12862000-09-10 Geoff Keating <geoffk@cygnus.com>
1287
e0f7170a
GK
1288 * config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
1289 (TARGET_LONG_DOUBLE_128): Define.
1290 (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
1291 (LONG_DOUBLE_TYPE_SIZE): Redefine.
1292 (MAX_LONG_DOUBLE_TYPE_SIZE): Define.
1293 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
1294 of __LONG_DOUBLE_128__.
1295 (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
1296 passed.
1297 (CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
1298 (CPP_SYSV_DEFAULT_SPEC): Define.
1299 (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
1300 (INIT_TARGET_OPTABS): Define.
1301
9cb8fcaf
GK
1302 * config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
1303 (RS6000_UITRUNC): Likewise.
1304 (INIT_TARGET_OPTABS): New macro.
1305 * config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
1306 (trunc_defined): Delete.
1307 (output_prolog): Don't output .extern definitions for fp->int
1308 conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
1309 * config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
1310 (trunc_defined): Delete.
1311 (RS6000_ITRUNC): Moved to aix.h.
1312 (RS6000_UITRUNC): Likewise.
1313 * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
1314 only emit a libcall.
1315 (fixuns_truncdfsi2): Delete.
1316 (trunc_call): Delete.
1317 (trunc_call_rtl): Delete.
1318
8f820299
ZW
13192000-09-10 Zack Weinberg <zack@wolery.cumb.org>
1320
1321 * varasm.c (make_decl_rtl): Restore leading star on
dd745546 1322 DECL_ASSEMBLER_NAME set for decls with an asmspec.
8f820299 1323
4337bc93
ZW
13242000-09-10 Zack Weinberg <zack@wolery.cumb.org>
1325
1326 * c-pragma.c (handle_pragma_pack): Correct parsing logic so it
1327 won't give a spurious error for '#pragma pack()'. Simplify
1328 control flow for readability. 'reset' action is not necessary.
1329
d8ea8f28
ZW
13302000-09-10 Zack Weinberg <zack@wolery.cumb.org>
1331
1332 * defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
1333 SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
1334 LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
1335 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
1336
1337 * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
1338 profile.c, sdbout.c, tradcif.y, tree.c:
1339 Include defaults.h if not already included.
1340 Don't define the above macros.
1341
1342 * Makefile.in: Update dependencies.
1343
56cb9733
MM
13442000-09-10 Mark Mitchell <mark@codesourcery.com>
1345
1346 * c-common.h (add_stmt): Change prototype.
1347 (RECHAIN_STMTS): New macro.
1348 (CASE_LABEL_DECL): Likewise.
1349 (genrtl_case_label): Change prototype.
1350 (c_expand_start_case): Remove prototype.
1351 (build_case_label): Change prototype.
1352 (decl_constant_value): Declare.
1353 * c-common.c (check_case_value): Handle C++'s extensions to C
1354 semantics.
1355 * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
d8ea8f28 1356 field.
56cb9733
MM
1357 * c-parse.in (stmt): Adjust handling of return statements and case
1358 laels.
1359 * c-semantics.c (add_stmt): Return the new statement.
1360 (genrtl_return_stmt): Take the RETURN_STMT as input, not the
1361 returned expression. Directly generate RTL, rather than calling
1362 c_expand_return.
1363 (genrtl_switch_stmt): Don't call c_expand_start_case.
1364 (build_case_label): Take the LABEL_DECL as input, too.
1365 (genrtl_case_label): Just call add_case_node.
1366 (expand_stmt): Adjust calls to genrtl_return_stmt and
1367 genrtl_case_label.
1368 * c-tree.h (c_expand_start_case): Declare.
1369 * c-typeck.c (decl_constant_value): Give it external linkage.
1370 (c_expand_return): Don't call expand_return or expand_null_return;
1371 use genrtl_return_stmt instead.
1372 * stmt.c (struct nesting): Remove num_ranges field.
1373 (add_case_node): Give it external linkage.
1374 (expand_start_case): Don't set num_ranges.
1375 (expand_start_case_dummy): Don't clear it.
1376 (pushcase): Rely on add_case_node to handle `default' labels.
1377 (add_case_node): Handle `default' labels.
1378 * tree.c (tree_int_cst_compare): New function.
1379 * tree.h (tree_int_cst_compare): Declare.
1380 (add_case_node): Likewise.
1381
aac02f4e
RH
13822000-09-10 Richard Henderson <rth@cygnus.com>
1383
1384 * c-parse.in: Revert last change.
1385 (init_reswords): Do not enter disabled keywords into the ridpointers
1386 table, modulo objc weirdness.
1387 (_yylex): Return the canonical spelling for a keyword.
1388
75d8aea7
PB
13892000-09-10 Philip Blundell <philb@gnu.org>
1390
1391 * config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
1392 * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
1393
d982e46e
JW
1394Sun Sep 10 14:30:28 EDT 2000 John Wehle (john@feith.com)
1395
1396 * alias.c (find_base_term): Handle ADDRESSOF.
1397 (memrefs_conflict_p): An ADDRESSOF doesn't conflict.
1398
212d447c
DC
13992000-09-10 Denis Chertykov <denisc@overta.ru>
1400
1401 * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
1402 outputting templates with many lines.
1403
a746dbf5
SC
14042000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1405
1406 * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
1407 to decide whether 64-bit support must be generated.
1408
1d0f6d89
RH
14092000-09-10 Richard Henderson <rth@cygnus.com>
1410
1411 * c-parse.in (asm patterns): Fix volatile check.
1412
e1aa5140
KG
14132000-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1414
1415 * cppmacro.c (check_trad_stringification): New function.
1416 (save_expansion): If -Wtraditional, warn about stringification of
1417 macro arguments.
1418
afa1738b
MH
14192000-09-11 Michael Hayes <mhayes@cygnus.com>
1420
1421 * loop.h (struct loop_mem_info): Move from loop.c
1422 (struct loop_info): Add fields store_mems, mems, mems_idx,
1423 mems_allocated, unknown_address_altered,
1424 unknown_constant_address_altered, num_mem_sets, and
1425 first_loop_store_insn.
1426
1427 * loop.c (loop_store_mems): Replace with field in loop_info struct.
1428 (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
1429 (unknown_address_altered, unknown_constant_address_altered): Likewise.
1430 (num_mem_sets): Likewise.
dd745546 1431 (replace_loop_mems, replace_loop_regs): New.
afa1738b
MH
1432 (struct loop_replace_args): New.
1433 (load_mems): Use replace_loop_mems.
1434 (try_copy_prop): Use replace_loop_regs.
1435 (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
1436
63883fc3
SC
14372000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1438
1439 * configure.in: Recognize m6811-elf and m6812-elf.
1440 * configure: Regenerate.
1441
808788fe
GK
14422000-09-09 Geoff Keating <geoffk@cygnus.com>
1443
1444 * recog.c (validate_replace_rtx_1): Correct MODE parameter in call
1445 to operand_subword.
1446
02055ad6
MH
14472000-09-10 Michael Hayes <mhayes@cygnus.com>
1448
1449 * loop.c (struct movables): New.
1450 (num_movables): Move into struct movables.
1451 (the_movables): Change type to struct movables.
1452 (ignore_some_movables): Change struct movable arg to struct movables.
dd745546 1453 (force_movables, combine_movables, regs_match_p): Likewise.
02055ad6
MH
1454 (rtx_equal_for_loop_p, move_movables): Likewise.
1455 (scan_loop): Change movables to be of type struct movables.
1456 Replace last_movable with field in movables structure.
1457
ae54392b
ZW
14582000-09-08 Zack Weinberg <zack@wolery.cumb.org>
1459
1460 * c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
1461 (init_pragma): Avoid warning if pfile happens to be unused.
1462 * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never
1463 define init_pragma to nothing. Always prototype
1464 init_pragma. Prototype dispatch_pragma if !USE_CPPLIB.
1465
1466 * c-lex.c (process_directive): Always call dispatch_pragma.
1467 Initialize entering_c_header to 0.
1468
385c9217
SC
14692000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1470
1471 * config/m68hc11/m68hc11.md: New file, machine description for
1472 68HC11 & 68HC12.
1473 * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
1474 * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
1475 * config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
1476 * config/m68hc11/m68hc11-protos.h: New file.
1477 * config/m68hc11/m68hc11-crt0.S: New file, startup code.
1478 * config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
1479 * config/m68hc11/xm-m68hc11.h: New file, target defs.
1480 * config/m68hc11/larith.asm: New file, libgcc routines.
1481
dfaf3cdb
SC
14822000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1483
1484 * Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
1485 (FPBIT_FUNCS): Add _usi_to_sf.
1486 * config/fp-bit.c (usi_to_float): New function.
1487 * config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
1488 (usi_to_float): Add appropriate #define.
1489
915119a5
BS
14902000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
1491
1492 * i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
1493 new functions.
1494 * i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
1495 * i386.md (attr "type"): Add sse and mmx types.
1496 (attr "memory"): Handle them without a crash.
1497 (movsi_1, movdi_2): Allow MMX regs.
1498 (movdi splits): Don't split moves involving MMX regs.
1499 (setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
1500 (movv4sf_internal, movv4si_internal, movv8qi_internal,
1501 movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
1502 movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
1503 sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
1504 sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
1505 sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
1506 addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
1507 divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
1508 sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
dd745546
AJ
1509 sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
1510 vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
915119a5
BS
1511 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
1512 cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
1513 addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
1514 subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
1515 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
1516 mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
1517 mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
1518 eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
1519 smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
1520 lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
1521 mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
1522 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
1523 mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
1524 mmx_clrdi): New patterns.
1525
8e49e00a
RE
15262000-09-08 Richard Earnshaw <rearnsha@arm.com>
1527
1528 * arm.c: Don't include tm.h directly.
1529
bd5621a3
JH
1530Fri Sep 8 14:34:56 MET DST 2000 Jan Hubicka <jh@suse.cz>
1531
1532 * recog.c (validate_replace_rtx_1): Fix confusion about equality
1533 testing; simplify subregs of constants and nested subregs.
e65d02cf 1534
6b3783de
AO
15352000-09-08 Alexandre Oliva <aoliva@redhat.com>
1536
1537 * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
1538
82be40f7
BS
15392000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
1540
1541 * combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
1542 VEC_CONCAT.
9af354b7
BS
1543 * rtl.texi (description of USE): Add note about possible pitfalls
1544 with this rtx.
ce701d1b
BS
1545 From Richard Henderson:
1546 * reload1.c (choose_reload_regs): Compute need_mode properly.
82be40f7 1547
4287b5f1
RH
15482000-09-07 Richard Henderson <rth@cygnus.com>
1549
1550 * config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
1551 (__modsi3, __umodsi3): Likewise.
1552 (__udivsi3): Likewise. Normalize the TFmode values.
1553
c5d71f39
GK
15542000-09-07 Geoff Keating <geoffk@cygnus.com>
1555
1556 * config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
1557 with a prototype.
1558 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
1559 warning.
1560
712646d0
R
1561Fri Sep 8 03:26:38 2000 J"orn Rennecke <amylaar@redhat.co.uk>
1562
1563 * sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
1564 (cmpeqdi_t): Add output pattern.
1565 (cmpeqdi_t+1): Don't split when not optimizing.
1566 Restore proper splitting operation.
1567
30acbc3e
RH
15682000-09-07 Richard Henderson <rth@cygnus.com>
1569
1570 * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
1571 do not call dispatch_pragma.
1572
46146529
JW
15732000-09-07 Jim Wilson <wilson@cygnus.com>
1574
1575 * reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
1576 to CLASS_CANNOT_CHANGE_MODE.
1577 * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
1578 mode classes are different.
1579
6db83155
ZW
15802000-09-07 Zack Weinberg <zack@wolery.cumb.org>
1581
1582 * cpplib.h (struct cpp_options): Add user_label_prefix member,
1583 left out of commit which removed cppulp.c.
1584
0d45144b
RH
15852000-09-07 Richard Henderson <rth@cygnus.com>
1586
1587 * bb-reorder.c (fixup_reorder_chain): Add jump in new block
1588 after switch for CASE_DROPS_THROUGH.
1589
e8cb4873
RH
15902000-09-07 Richard Henderson <rth@cygnus.com>
1591
1592 * loop.c (strength_reduce): Call check_ext_dependant_givs.
1593 Properly extend the biv initial value for the giv.
1594 (record_biv): Zero ext_dependant.
1595 (record_giv): New argument ext_val. Update all callers.
1596 (general_induction_var): Likewise.
1597 (consec_sets_giv): Likewise.
1598 (simplify_giv_expr): Likewise. Fill in ext_val if we find
1599 a sign-extend, zero-extend, or truncate.
1600 (combine_givs_p): Make sure modes are compatible.
1601 (check_ext_dependant_givs): New.
1602 (extend_value_for_giv): New.
1603 * loop.h (struct induction): Add ext_dependant.
1604 * unroll.c (iteration_info): Extend the biv initial value for the giv.
1605 (find_splittable_givs): Likewise.
1606 (final_giv_value): Likewise.
1607
8b97c5f8
ZW
16082000-09-07 Zack Weinberg <zack@wolery.cumb.org>
1609
1610 * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
1611 REGISTER_TARGET_PRAGMAS is defined. Duplicate some
1612 definitions from cpplib.h.
1613 * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
1614 already done it.
1615 * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add
1616 documentation for REGISTER_TARGET_PRAGMAS.
1617
1618 * c-lex.c: Include cpplib.h before c-pragma.h. Define a
1619 default-pragma callback to implement -Wunknown-pragmas if
1620 USE_CPPLIB.
1621 * c-parse.in: Move all includes to top of file.
1622 * c-pragma.c: Include cpplib.h before c-pragma.h. Include
1623 tm_p.h.
1624 (dispatch_pragma): Put the namespace in the -Wunknown-pragmas
1625 warning.
1626 (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
1627
1628 * arm.h, arm-protos.h, arm.c,
1629 c4x.h, c4x-protos.h, c4x.c,
1630 h8300.h, h8300-protos.h, h8300.c,
1631 i370.h, i370-protos.h, i370.c,
1632 i960.h, i960-protos.h, i960.c,
d8ea8f28 1633 sh.h, sh-protos.h, sh.c,
8b97c5f8
ZW
1634 v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
1635 pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
1636
1637 * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add
1638 multiple include guard.
1639 * i370.md (untyped_call): Use GEN_CALL.
1640 (umodsi3): Remove unused variable.
1641 * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
1642 * v850.c (output_move_single, output_move_double): Constify
1643 return value.
1644 (print_operand): Constify a char *.
1645 * v850.h (struct small_memory_info): Constify name member.
1646
1898584f
KH
16472000-09-07 Kazu Hirata <kazu@hxi.com>
1648
1649 * config/h8300.h: Fix comment typos.
1650 * config/h8300/h8300.md: Likewise.
1651 * config/h8300/lib1funcs.asm: Likewise.
1652
771c4df3
NB
1653Thu 07-Sep-2000 21:29:00 BST Neil Booth <NeilB@earthling.net>
1654
1655 * Makefile.in: Remove references to cppulp.{c,o}.
1656 * cppinit.c (initialize_builtins, cpp_start_read,
1657 cpp_handle_option): Update to use cpp_options structure.
1658 * cppulp.c: Remove.
1659
2496f0b5
JM
16602000-09-07 Joseph S. Myers <jsm28@cam.ac.uk>
1661
1662 * c-common.c (time_char_table): Allow %#b and %#h.
1663
bf6302f0
HB
16642000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1665
1666 * reorg.c (find_end_label): If the basic block reorder pass moves the
1667 return insn to some other place try to locate it again and put our
1668 end_of_function_label there.
1669 * reorg.c (relax_delay_slots): Check if find_end_label created a
1670 new label that invalidates the current optimazation.
1671
4598ffe9
CM
16722000-09-07 Catherine Moore <clm@redhat.com>
1673
e8cb4873
RH
1674 * unroll.c (unroll_loop): Check for unconditional jumps
1675 to loop continuation. Delete if n_iterations is 1.
1676 (ujump_to_loop_cont): New routine.
4598ffe9 1677
ff427764
BS
16782000-09-07 Bernd Schmidt <bernds@redhat.co.uk>
1679
1680 * rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
1681 MODE_VECTOR_FLOAT.
8441bc30
BS
1682 * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
1683 to handle multiword modes correctly. All callers and the declaration
1684 changed.
d8ea8f28 1685
54f7877c
MM
16862000-09-06 Mark Mitchell <mark@codesourcery.com>
1687
1688 * c-common.h (prep_stmt): Declare.
1689 (lang_expand_stmt): Likewise.
1690 * c-decl.c (lang_expand_stmt): Remove.
1691 * c-semantics.c (lang_expand_stmt): Define.
1692 (prep_stmt): New function.
1693 (expand_stmt): Handle common statement types here.
d8ea8f28 1694
93ca1662
NY
16952000-09-07 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com>
1696
1697 * configure.in (sh-*-linux*): Added.
1698 * configure: Rebuilt.
1699 * config/sh/t-linux: New file.
1700 * config/sh/sh.h (USERMODE_BIT): Define.
1701 (TARGET_USERMODE): Likewise.
1702 (TARGET_SWITCHES): New switches for the bits above.
1703 (INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
1704 * config/sh/linux.h: New file.
1705 * config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
1706 underscore on linux.
1707 (L_sdivsi3, L_udivsi3): Define for linux.
1708 (L_ic_invalidate): Define.
1709 * invoke.texi (SH Options): Document -musermode.
1710
71105114
AO
17112000-09-07 Alexandre Oliva <aoliva@redhat.com>
1712
4979c2a9
AO
1713 * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
1714 CSE unless generating PIC.
1715
71105114
AO
1716 * config/sh/sh.md (symPLT_label2reg): Force the initialization of
1717 the PIC register.
1718
d5cfb451
L
17192000-09-06 H.J. Lu (hjl@gnu.org)
1720
1721 * Makefile.in (clean_s1): Depend on stage_b.
1722 (clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
1723 stage2. They are used for "make compare".
1724
ae499cce
MM
17252000-09-06 Mark Mitchell <mark@codesourcery.com>
1726
1727 Move statement-tree facilities from C++ to C front-end.
1728 * c-common.h (c_tree_index): Add CTI_VOID_ZERO.
1729 (void_zero_node): New macro.
1730 (struct stmt_tree_s): New type.
1731 (stmt_tree): New typedef.
1732 (struct language_function): New type.
1733 (last_tree): New macro.
1734 (last_expr_type): Likewise.
1735 (walk_tree_fn): New typedef.
1736 (current_stmt_tree): New function.
1737 (begin_stmt_tree): Likewise.
1738 (add_stmt): Likewise.
1739 (finish_stmt_tree): Likewise.
1740 (statement_code_p): Likewise.
1741 (lang_statement_code_p): New variable.
1742 (walk_stmt_tree): New function.
1743 (STMT_IS_FULL_EXPR_P): New macro.
1744 * c-common.c (lang_statement_code_p): New variable.
1745 (c_common_nodes_and_builtins): Initialize void_zero_node.
1746 (statement_code_p): New function.
1747 (walk_stmt_tree): Likewise.
1748 * c-decl.c (language_function): Rename to ...
1749 (c_language_function): ... this. Include language_function.
1750 (push_c_function_context): Adjust accordingly.
1751 (pop_c_function_context): Likewise.
1752 (mark_c_function_context): Likewise.
1753 (current_stmt_tree): Define.
1754 * c-semantics.c (begin_stmt_tree): New function.
1755 (add_stmt): Likewise.
1756 (prune_unused_decls): Likewise.
1757 (finish_stmt_tree): Likewise.
1758
4f4b88d0
HB
17592000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1760
e8cb4873 1761 * flow.c (insn_dead_p): Detect dead memory stores with auto increments.
4f4b88d0 1762
f725a3ec
KH
17632000-09-06 Kazu Hirata <kazu@hxi.com>
1764
1765 * calls.c: Fix formatting.
1766
0806f95f
GS
17672000-09-06 Graham Stott <grahams@cygnus.co.uk>
1768
e8cb4873 1769 * config/i386/i386.h (ADDRESS_COST): Fix typo.
0806f95f 1770
0e5921e8
ZW
17712000-09-06 Zack Weinberg <zack@wolery.cumb.org>
1772
1773 Integrated preprocessor.
1774
1775 * Makefile.in: Remove all references to c-parse.gperf,
1776 c-gperf.h, and c-parse.h. Remove -d from yacc command line
1777 generating c-parse.c. Update dependencies.
1778 * c-parse.gperf, c-gperf.h: Delete.
1779
1780 * c-common.c: Don't define parse_options, cpp_token, yy_cur,
1781 yy_lim, or yy_get_token. Don't define get_directive_line if
1782 USE_CPPLIB.
1783 * c-common.h: Add multiple include guard. Define RID values
1784 for every keyword in C, C++, and Objective C. Put all the
1785 modifiers first.
1786 (struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
1787 * c-decl.c (c_decode_option): Handle -lang-objc here.
1788 (print_lang_identifier): Handle C_IS_RESERVED_WORD case.
1789 (grokdeclarator): Adjust for new RID scheme.
1790 (extract_interface_info): New stub.
1791 * c-lang.c: Don't declare yy_cur or parse_options.
1792 (lang_init_options): Call cpp_init. Don't call
1793 cpp_options_init.
1794 (lang_init): Don't call check_newline if USE_CPPLIB.
1795
1796 * c-lex.c: Don't include c-parse.h. Do include timevar.h.
1797 Elide lots of unnecessary code if USE_CPPLIB. Delete code
1798 rendered unnecessary by new architecture. Move routines not
1799 shared with C++ to c-parse.in. Maintain a local idea of the
1800 line number. Handle C++ as well as C.
1801 [USE_CPPLIB]: Declare and register callbacks for #ident and
1802 for entering/leaving files.
1803 (init_c_lex, c_lex): Are now the entry points to this file.
1804 (check_newline): Break out directive handling to
1805 process_directive.
1806 (read_ucs, is_extended_char, utf8_extend_token): Moved here
1807 from C++ front end.
1808 (readescape, parse_float): Overhaul.
1809 (lex_number, lex_string, lex_charconst): Break out of c_lex
1810 (n'ee yylex).
1811 (get_fileinfo, update_header_times, dump_one_header,
1812 dump_time_statistics): New and/or moved here from C++.
1813 Support per-file data needed by C++ and per-header timing
1814 statistics (C++ only, at the moment).
1815 * c-lex.h: Update prototypes. Add multiple include guard.
1816 * c-tree.h (struct lang_identifier): Add rid_code field.
1817 (C_IS_RESERVED_WORD, C_RID_CODE): New.
1818
1819 * c-parse.in: Include c-pragma.h. Remove unnecesary calls to
1820 reinit_parse_for_function and/or position_after_white_space.
1821 (save_filename, save_lineno): Look ahead before saving.
1822 (label -> identifier ':'): Save file and line before shifting ':'.
1823 (reservedwords): No need to call get_identifier.
1824 (init_parse, finish_parse, yyerror, yylex, yyprint,
1825 make_pointer_declarator): Are now here for C/ObjC.
1826 (rid_to_yy): Conversion table from RID constants to Yacc codes.
1827
1828 * c-pragma.c: Rewrite parsing logic to fit with cpplib's
1829 #pragma registry. Provide dummy implementation of that
1830 interface if !USE_CPPLIB.
1831 * c-pragma.h: Update to match.
1832
1833 * flags.h: Add multiple include guard.
1834 (flag_detailed_statistics): Moved here from C++.
1835 * toplev.c: Define flag_detailed_statistics.
1836
1837 * gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
1838 #if USE_CPPLIB.
1839 * timevar.def (TV_CPP, TV_LEX): New.
1840 * timevar.h: Add multiple include guard.
1841
1842 * objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
1843 #if USE_CPPLIB.
1844 * objc/objc-act.c: Don't mention yy_cur or parse_options.
1845 Initialize cpplib properly. Force lineno to 0 after first
1846 call to check_newline. Don't handle -lang-objc here.
1847 Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
1848
5638268e
DE
18492000-09-06 David Edelsohn <edelsohn@gnu.org>
1850
1851 * rs6000.md: Correct function unit definitions for cr_logical and
1852 mtjmpr.
1853 (sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
1854 and use portable method for >=0 and floating point >=. Remove
1855 associated matchers.
1856
44835fdd
MM
18572000-09-06 Mark Mitchell <mark@codesourcery.com>
1858
1859 * extend.texi: Mark named return value extension as deprecated.
1860
bab6226b
GK
18612000-09-06 Geoff Keating <geoffk@cygnus.com>
1862
1863 * config/rs6000/rs6000.c (rs6000_reverse_condition): Return
1864 the result.
1865
e6513023
GDR
18662000-09-06 Gabriel Dos Reis <gdr@codesourcery.com>
1867
1868 * toplev.c (display_help): Fix thinko in documentation.
1869
1870 * diagnostic.h (output_buffer::indent_skip): New fields.
1871 (output_indentation): New macro.
1872
1873 * diagnostic.c (output_indent): New function.
1874 (output_set_prefix, clear_diagnostic_info): Use.
1875 (output_emit_prefix): Predict future indentation.
1876
112c7aea
DD
18772000-09-06 DJ Delorie <dj@redhat.com>
1878
1879 * Makefile.in (stage_*): add more dependencies to ensure parallel
1880 builds build correctly
1881
1bac0fb4
MH
18822000-09-06 Manfred Hollstein <manfredh@redhat.com>
1883
1884 * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
1885 not bootstrap-lean_f.
1886
f472a17c
AS
18872000-09-06 Andreas Schwab <schwab@suse.de>
1888
1889 * mklibgcc.in: Emit rule for libgcc-stage-start.
1890 * Makefile.in (stage1-start, stage2-start, stage3-start,
1891 stage4-start): Don't handle libgcc here, use libgcc.mk instead.
1892
630c79be 18932000-09-06 Bernd Schmidt <bernds@redhat.co.uk>
611bbf2a
BS
1894
1895 * local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
1896 (update_equiv_regs): Likewise, except for the mn10200 kludge.
1897 (combine_regs): Likewise.
1898
630c79be
BS
1899 * Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
1900 * cse.c: Include "basic-block.h".
1901 (struct table_elt): New field REGCOST.
1902 (CHEAP_REG): Delete macro.
1903 (COST): Return 0 for REGs.
1904 (approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
1905 (notreg_cost): Return 0 for appropriate SUBREGs.
1906 (COSTS_N_INSNS): Return N * 2.
1907 (rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
1908 SUBREGs.
1909 (CHEAPER): Use new function preferrable.
1910 (insert): Initialize REGCOST member.
1911 (find_best_addr): Use approx_reg_cost for estimation of register
1912 usage.
1913 (cse_insn): Likewise.
1914 * loop.c (iv_add_mult_cost): New function.
1915 (add_cost, shift_cost, mult_cost): Delete variables.
1916 (init_loop): Don't initialize add_cost; reduce copy_cost by half.
1917 (strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
1918 Make code that detects autoinc opportunities slightly less optimistic.
1919 (simplify_giv_expr): If expression contains other reg that is also a
1920 giv, only increment benefit if this is the only use of that reg.
1921 (consec_sets_giv): Take that change into account.
1922 (combine_givs): Slightly more verbose output.
1923
1924 * i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
1925 not the cost of an equivalent shift.
1926 * sh-protos.h (addsubcosts): Declare.
1927 * sh.c (addsubcosts): New function.
1928 * sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
1929 (RTX_COSTS): Tweak. Use addsubcosts.
1930 (ADDRESS_COST): Return higher cost for reg+reg addressing.
1931
39a10a29
GK
19322000-09-06 Geoff Keating <geoffk@cygnus.com>
1933
1934 * config/rs6000/rs6000.c (validate_condition_mode): New function.
1935 (branch_comparison_operator): Call validate_condition_mode to
1936 abort rather than returning 0.
1937 (branch_positive_comparison_operator): New function.
1938 (scc_comparison_operator): Call validate_condition_mode to abort
1939 rather than returning 0.
1940 (ccr_bit): Call validate_condition_mode. Update for
1941 new branch scheme.
1942 (print_operand): Delete %C modifier. Update %E case
1943 to use EQ bit not SO bit.
1944 (rs6000_reverse_condition): New function.
1945 (rs6000_generate_compare): New function.
1946 (rs6000_emit_sCOND): New function.
1947 (rs6000_emit_cbranch): New function.
1948 (output_cbranch): The length of a long branch insn is
1949 now only 8 bytes. Add validate_condition_mode. Use
1950 rs6000_reverse_condition. Remove cror generation.
bab6226b 1951
39a10a29
GK
1952 * config/rs6000/rs6000.h: Update comments.
1953 (PREDICATE_CODES): Add new predicate. Update codes used
1954 by branch_comparison_operator and scc_comparison_operator.
1955 * config/rs6000/rs6000-protos.h: Add prototypes for
1956 new external functions.
1957 * config/rs6000/rs6000.md: Add new scheduling parameters
1958 for cr_logical instructions. Change length of branch
1959 instructions.
1960 (bCOND patterns): Call rs6000_emit_cbranch.
1961 (sCOND patterns): Call rs6000_emit_sCOND.
1962 (branch patterns): Change lengths to 4.
1963 (cr logical patterns): New.
1964
2a4bbffa
RH
19652000-09-06 Richard Henderson <rth@cygnus.com>
1966
1967 * config/i386/i386.md (call_pop): Fix test for setting
1968 current_function_uses_pic_offset_table.
1969 (call, call_value_pop, call_value): Likewise.
1970
eab828ba
ZW
19712000-09-06 Zack Weinberg <zack@wolery.cumb.org>
1972
1973 * timevar.c (timevar_add): Delete.
1974 (timevar_get): Also count time since the selected timer was
1975 last updated. Do not examine the timevar stack if the
1976 selected timer is standalone.
1977
f1d6a533
DA
19782000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1979
1980 * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
1981
53c5b5d7
JM
19822000-09-05 Jason Merrill <jason@redhat.com>
1983
1984 * c-decl.c (finish_incomplete_decl): Don't call complete_array_type
1985 for 'extern' arrays.
1986
3392dafc
RH
19872000-09-05 Richard Henderson <rth@cygnus.com>
1988
1989 * config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
1990 Eliminate final copy from non-trapping case.
1991 (__divdf3, __divsf3): Likewise.
1992
2a7ffc85
RH
19932000-09-05 Richard Henderson <rth@cygnus.com>
1994
1995 * config/ia64/ia64.md (mulhi3): Fix typo last change.
1996 * config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
1997
204093e6
DT
19982000-09-03 Donn Terry <donn@interix.com>, Laurynas Biveinis <lauras@softhome.net>
1999
2000 * Makefile.in: Restructure bootstrap stages to allow clean
2001 restart after failure.
2002
514f96e6
RH
20032000-09-05 Richard Henderson <rth@cygnus.com>
2004
2005 * config/ia64.md (movsi and movdi patterns): Allow moves from
2006 8-bit constants to AR registers.
2007
cf1f6ae3
RH
20082000-09-05 Richard Henderson <rth@cygnus.com>
2009
2010 * config/ia64/ia64.md (mulhi3): New.
2011
d8d7a286
RH
20122000-09-05 Richard Henderson <rth@cygnus.com>
2013
2014 * config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
2015 * config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
2016 Optimization Guide, minimum latency alternative.
2017 (__moddi3, __udivdi3, __umoddi3): Likewise.
2018 (__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
2019
a6efbece
BK
20202000-09-05 Bruce Korb <bkorb@gnu.org>
2021
0e5921e8
ZW
2022 * fixinc/fixincl.c (load_file): always read header files
2023 with sizes that are a multiple of the page size.
dc46505a 2024 & use libiberty's getpagesize for determining that.
a6efbece 2025
c0712acb
AO
20262000-09-05 Alexandre Oliva <aoliva@redhat.com>
2027
2028 * gcse.c (hash_string_1): Add prototype.
2029 * cse.c (canon_hash_string): Likewise.
2030
af7f0fde
CN
20312000-09-04 Craig Newell <CraigN@ieee.org>
2032
2033 * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
2034
4993ddc1
AS
20352000-09-04 Andreas Schwab <schwab@suse.de>
2036
2037 * Makefile.in (STAGESTUFF): Remove libgcc.
2038 (stage1-start, stage2-start, stage3-start): Copy the contents of
2039 the libgcc directory explicitly.
2040 (mostlyclean): Clean libgcc.
2041
5e640c56
AH
20422000-09-04 Andrew Haley <aph@redhat.com>
2043
2044 * dwarf2out.c: (stack_adjust_offset): New prototype.
2045
25ffb1f6
JH
2046Wed Jan 1 00:23:59 MET 1997 Jan Hubicka <jh@suse.cz>
2047
2048 * combine.c (make_extraction): Fix rtx_cost comparison to
2049 match the comment.
2050
2051Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz>
2052
0e5921e8 2053 * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
25ffb1f6
JH
2054 umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
2055 Add '*' to insn pattern name.
2056
29844fa7
JJ
20572000-09-04 Jakub Jelinek <jakub@redhat.com>
2058
2059 * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
2060 use posn - 1 to index into tokens array.
2061 (maybe_paste_with_next): Adjust caller.
2062
0d86f538
GK
20632000-09-03 Geoff Keating <geoffk@cygnus.com>
2064
bff46771
GK
2065 * invoke.texi: Document the -mvxworks option for rs6000 ELF.
2066
0d86f538
GK
2067 * config/rs6000/rs6000.h: Update various comments about XER_REGNO.
2068 (REGNO_REG_CLASS): Use symbolic register
2069 names.
2070
4e67550b
RE
20712000-09-03 Richard Earnshaw <rearnsha@arm.com>
2072
0e5921e8 2073 * arm.c (final_prescan_insn): If the form of a jump insn isn't
4e67550b
RE
2074 recognized, don't try to conditionally execute it.
2075
150f4100
DC
2076Sun Sep 3 13:10:56 2000 Denis Chertykov <denisc@overta.ru>
2077
2078 * config/avr/avr.md ("*tablejump_lib"): New pattern.
2079 (call_value_insn): Right length claculation.
2080 (call_insn): Likewise.
2081
5fecfd8d
MM
20822000-09-02 Marek Michalkiewicz <marekm@linux.org.pl>
2083
2084 * config/avr/avr-protos.h, config/avr/avr.c (unique_section,
2085 gas_output_limited_string, gas_output_ascii, output_movqi,
2086 output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
2087 out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
2088 out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
2089 ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
2090 lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
2091 out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
2092 Add "const" as needed to remove warnings.
2093
2094 * config/avr/avr.c (avr_override_options, avr_init_once,
2095 function_prologue, function_epilogue, frame_pointer_required_p,
2096 class_likely_spilled_p, order_regs_for_local_alloc,
2097 avr_address_cost, avr_ret_register): Use K&R style arguments.
2098 (initial_elimination_offset, gas_output_limited_string):
2099 Remove ATTRIBUTE_UNUSED from the used arguments.
2100 (output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
2101 Use local variables src, dest, base to access operands[].
2102 Rename reg_dest to reg_src if that's what it is.
2103 (output_movhi, output_movsisf): Optimize loading 8-bit immediate
2104 constants to LD_REGS if reg_was_0.
2105 (output_reload_insisf): Change arg 3 to insn length and set it.
2106 (out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
2107 access to 16-bit I/O register pairs.
2108 (avr_address_cost): Lower cost for the above case.
2109 (out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
2110 may be clobbered, also for LD_REGS.
2111 (adjust_insn_length): Correct insn length for iorhi3 and iorsi3
2112 with a CONST_INT.
2113
2114 * config/avr/avr.h (PTRDIFF_TYPE): Make signed.
2115
2116 * config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
2117 macro to test_hard_reg_class function.
2118 (*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
2119 for loading immediate constants to LD_REGS.
2120 (andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
2121
2122
bad3869a
MM
2123Sat Sep 2 13:58:23 2000 Marek Michalkiewicz <marekm@linux.org.pl>
2124
2125 * config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
2126 * config/avr/libgcc.S: Lost part of the previous patch.
2127
802a8181
DA
21282000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2129
2130 * gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
2131 object before calling pthread_mutex_init.
2132
1a66cd67
AO
21332000-09-02 Alexandre Oliva <aoliva@redhat.com>
2134
2135 * config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
2136 config/sh/crtn.asm: New files.
2137 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
2138 (crt1.o, crti.o, crtn.o): New targets.
2139 * configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
2140 sh/t-elf.
2141 * configure: Rebuilt.
2142 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
2143 STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
2144 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
2145 Undefine for config/elfos.h to redefine.
2146 (STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
2147
21482000-09-02 Alexandre Oliva <aoliva@redhat.com>, Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
2149
2150 * config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
2151 legitimize_pic_address, output_pic_addr_const): Declare.
2152 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
2153 (PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
2154 (TARGET_SWITCHES): New switch -mprefergot.
2155 (OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
2156 (PIC_OFFSET_TABLE_REGNUM): Define.
2157 (GOT_SYMBOL_TABLE): Likewise.
2158 (LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
2159 (ENCODE_SECTION_INFO): Define.
2160 (FINALIZE_PIC): New macros.
2161 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
2162 (ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
2163 * config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
2164 (prepare_move_operands): Call emit_pic_move or
2165 emit_pic_const_move if appropriate.
2166 (output_far_jump): For PIC, use braf and output long offset.
0e5921e8 2167 (machine_dependent_reorg):
1a66cd67
AO
2168 (sh_expand_prologue): Save and initialize the PIC register.
2169 (sh_expand_epilogue): Restore it.
2170 (initial_elimination_offset): Account for it.
2171 (nonpic_symbol_mentioned_p): New function.
2172 (legitimize_pic_address): Likewise.
2173 (output_pic_addr_const): Likewise.
2174 * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
2175 (call, call_value): Use them.
2176 (GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
2177 symPLT_label2reg): New expands.
2178 * invoke.texi (SH Options): Document -mprefergot.
2179
6462bb43
AO
21802000-09-01 Alexandre Oliva <aoliva@redhat.com>
2181
2182 * rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
2183 * gcse.c (hash_string_1): New function.
2184 (hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
2185 (expr_equiv_p) <ASM_OPERANDS>: Likewise.
2186 * cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
2187 (canon_hash_string): New function.
2188 (canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
2189 (exp_equiv_p) <ASM_OPERANDS>: Likewise.
2190 (fold_rtx): Use ASM_OPERANDS accessor macros.
2191 * emit-rtl.c (copy_insn_1): Likewise.
2192 * integrate.c (copy_rtx_and_substitute): Likewise.
2193 * stmt.c (expand_asm_operands): Likewise. Give an
2194 ASM_OPERANDS rtx the mode of the output reg being set from it.
2195
1b4f90cd
FF
21962000-09-01 Fred Fish <fnf@be.com>
2197
2198 * fix-header.c (write_rbrac): Add putc and getc to list of
2199 functions to protect against prior definition as a macro.
0e5921e8 2200
3c786c69
JM
22012000-09-01 Joseph S. Myers <jsm28@cam.ac.uk>
2202
2203 * c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
2204 (c_size_type_node): Define.
2205 * c-decl.c (init_decl_processing): Initialize c_size_type_node.
2206 * c-common.c (enum format_lengths, enum format_std_version,
2207 format_length_info, format_type_detail, BADLEN, NOLENGTHS,
2208 format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
2209 T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
2210 T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
2211 T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
2212 TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
2213 format_types): Define.
2214 (format_char_info, print_char_table, scan_char_table,
2215 time_char_table): Rearrange for new organization of information
2216 about format length modifiers and standard versions.
2217 (T_ST): Redefine to use c_size_type_node.
2218 (check_format_info): Obtain information about length modifiers and
2219 standard versions from tables. Adjust warning message wordings.
2220 Use the name from the user's program for `ll' and `hh' length
2221 modifiers in warning messages. Use more informative names for
2222 wanted types where available (for wchar_t, wint_t, size_t, signed
2223 size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
2224
8a09bb27
JW
22252000-09-01 Jim Wilson <wilson@cygnus.com>
2226
ca3920ad
JW
2227 * calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
2228 * combine.c (distribute_notes): Handle REG_NORETURN.
2229 * rtl.c (reg_note_name): Add REG_NORETURN.
2230 * rtl.h (enum reg_note): Likewise.
2231
2232 * config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
2233 ia64_file_start.
2234 * config/ia64/ia64.c (emit_safe_across_calls): Likewise.
2235 (rtx_needs_barrier): Handle unspec_volatile 8 and 9.
2236 (emit_predicate_relation_info): Handle conditional calls with
2237 REG_NORETURN.
2238 * config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
2239 instead of ia64_file_start.
2240 * config/ia64/sysv4.h (ASM_FILE_START): Likewise.
2241 * config/ia64/ia64.md (safe_across_calls_all,
2242 save_across_calls_normal): New patterns.
2243
8a09bb27
JW
2244 * loop.c (check_final_value): Check for biv use before checking for
2245 giv use. Check for both biv and giv uses. Always set last_giv_use
2246 if there is a giv use.
2247
11a13704
RH
22482000-09-01 Richard Henderson <rth@cygnus.com>
2249
2250 * config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
2251 (madddi3): Likewise.
2252 (maddsi3): New.
2253
6324d2bb
RK
2254Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2255
fcf1b822
RK
2256 * expr.c (clear_storage): Don't use emit_move_insn unless
2257 either BLKmode or proper size.
2258 (store_constructor): Don't call clear_storage if REG of wrong size.
2259
6324d2bb
RK
2260 * flow.c (init_propagate_block_info): Don't mark frame dead at end
2261 of function if returns wiht stack pointer depressed.
2262
1ba5ae8f
AH
22632000-09-01 Andrew Haley <aph@redhat.com>
2264
0e5921e8
ZW
2265 * dwarf2out.c (stack_adjust_offset): New function.
2266 (dwarf2out_stack_adjust): Break out stack adjust logic into
2267 new stack_adjust_offset function. Look inside parallels and
2268 sequences for stack adjustments.
1ba5ae8f 2269
893f3d5b
JL
22702000-08-31 Jeff Law <law@cygnus.com>
2271
94c51f7a
JL
2272 * arm.md: Use no_new_pseudos to determine when it is safe
2273 to create new pseudo registers.
2274
0e5921e8
ZW
2275 * arm.c (legitimize_pic_address): Use no_new_pseudos to determine
2276 when we can safely allocate new registers.
893f3d5b 2277
1b3d8f8a
GK
22782000-08-31 Geoffrey Keating <geoffk@cygnus.com>
2279
2280 * stmt.c (expand_asm_operands): Twiddle generating_concat_p
2281 so that CONCATs are not generated for ASMs.
2282 * emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
2283 not generating_concat_p.
2284 * function.c (pop_function_context_from): Reset
2285 generating_concat_p.
2286 (prepare_function_start): Likewise.
2287 * rtl.c (generating_concat_p): Define.
2288 * rtl.h (generating_concat_p): Declare.
2289 * toplev.c (rest_of_compilation): No CONCATs after RTL generation.
2290
4e8bd75f 22912000-08-22 Philipp Thomas <pthomas@suse.de>
0e5921e8 2292 Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
4e8bd75f
PT
2293
2294 * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
2295 for translation.
2296
b145ee27
GM
22972000-08-30 Greg McGary <greg@mcgary.org>
2298
2299 * Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
2300 * fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
2301 * fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
2302
2afaa41c
GM
23032000-08-30 Greg McGary <greg@mcgary.org>
2304
2305 * tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
2306 (TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
2307 (TREE_INT_CST): New macro.
2308 * varasm.c (const_hash, compare_constant_1, record_constant_1):
2309 Use new macro TREE_INT_CST.
2310
1d92b3e1
NB
2311Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net>
2312
2313 * contrib.texi: Add self.
2314
b23ca156
AO
23152000-08-30 Alexandre Oliva <aoliva@redhat.com>
2316
2317 * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
2318 (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
2319 and labels.
2320
aef9fbbf
DA
23212000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2322
2323 * fixinc/gnu-regex.c: Don't define `const'.
2324
85f3d674
RK
2325Tue Aug 29 22:09:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2326
2327 * expr.c (store_constructor): Allow variable bounds of array type.
2328 (expand_expr): Don't blow up if type is ERROR_MARK.
2329 * varasm.c (output_constructor): Don't access lower bound of array
2330 type unless need it if index is supplied (so it can be a variable
2331 if no index is supplied).
2332 Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
2333 Other minor cleanups.
2334
5b67ad6f
DA
23352000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2336
2337 * Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
2338 for compilations in stage 1 and subsequent stages, respectively.
2339 * configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
2340 * configure: Rebuilt.
2341 * x-vax, x-vax-gcc: Deleted.
2342
63ad61ed
ZW
23432000-08-29 Zack Weinberg <zack@wolery.cumb.org>
2344
2345 * c-common.c (declare_function_name): Use func_id_node,
2346 function_id_node, and pretty_function_id_node. Do not make
0e5921e8 2347 __func__ visible at file scope.
63ad61ed
ZW
2348 * c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
2349 CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
2350 (function_id_node, pretty_function_id_node, func_id_node): New
2351 macros.
2352 * c-decl.c (init_decl_processing): Initialize function_id_node,
2353 pretty_function_id_node, and func_id_node.
2354 (c_make_fname_decl): Correct comment.
2355
2356 * tree.h (struct tree_identifier): Constify pointer member.
2357
2358 * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
2359 * c-pragma.h (struct weak_syms): Constify name and value members.
0e5921e8 2360 (add_weak): Constify arguments.
63ad61ed
ZW
2361
2362 * calls.c (special_function_p): Constify a char *.
2363 (expand_call): Remove variable which is initialized and then
2364 never used.
2365 * dependence.c (struct def_use, struct induction, struct subscript):
2366 Constify 'variable' member.
2367 (get_low_bound, have_induction_variable): Constify char * argument.
2368 (find_induction_variable): Add braces to avoid dangling else.
2369 (classify_dependence): Constify char * arrays.
2370 * profile.c (output_func_start_profiler): Constify a char *.
2371 * stor-layout.c (finalize_record_size): Constify a char *.
2372 * tree.c (is_attribute_p): Constify a char *.
2373 * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
2374
2375 * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
2376 for comprehensibility. Do not call get_identifier if we did
2377 not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to
2378 create temporary string constants, not ggc_alloc_string. No
2379 need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const
2380 char * to hold IDENTIFIER_POINTERs.
2381
cee58bc0
RH
23822000-08-29 Richard Henderson <rth@cygnus.com>
2383
2384 * config/ia64/ia64.md (muldi3): Use grfr_register_operand
2385 for the inputs.
2386
94aaab7a
RH
23872000-08-29 Richard Henderson <rth@cygnus.com>
2388
2389 * reload.c (push_secondary_reload): Allow class == reload_class
2390 if we're using a reload_in/out pattern.
2391
60a3c181
RH
2392 * config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use
2393 the half that does not conflict with the reload register.
2394 (reload_outti): Likewise.
2395
9218435e
KH
23962000-08-29 Kazu Hirata <kazu@hxi.com>
2397
4381f7c2
KH
2398 * reload.c: Fix formatting.
2399
2400 * stmt.c: Fix formatting.
2401
9218435e
KH
2402 * gcc.c: Fix formatting.
2403
fba0bfd4
ZW
24042000-08-29 Zack Weinberg <zack@wolery.cumb.org>
2405
2406 * flags.h (time_report, mem_report): New global flags.
2407 * toplev.c: Define time_report and mem_report.
2408 (f_options): Add -ftime-report and -fmem-report.
2409 (compile_file): Turn on time_report if quiet_flag is off.
2410 Call ggc_print_statistics at very end if mem_report is on.
2411 * timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
2412
2413 * ggc-common.c (ggc_print_statistics): Rename to
2414 ggc_print_common_statistics; all callers changed. Scale
2415 quantities above 10K to kilobytes and above 10M to megabytes.
2416 * ggc-page.c (ggc_page_print_statistics): Rename to
2417 ggc_print_statistics. Report memory consumed by internal data
2418 structures for each allocation bucket. Scale quantities above
2419 10K to kilobytes and above 10M to megabytes.
2420 * ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
2421 Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
2422 Define tally_leaves always.
2423 (ggc_print_statistics): New function.
2424 * ggc.h: Adjust for renamed functions.
2425
612105a6
DC
2426Wed Aug 30 00:11:42 2000 Denis Chertykov <denisc@overta.ru>
2427
2428 * config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
2429 output_movsisf instead of which_alternative.
2430
2431 * config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
2432
6bec29c9
DC
2433Tue Aug 29 22:29:58 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
2434
2435 * config/avr/avr-protos.h: (avr_output_ascii) Removed.
2436 (avr_progmem_p): New prototype.
2437 (output_movsisf): Prototype declaration changed.
2438 (output_movqi): New prototype.
2439 (output_movhi): New prototype.
2440 (call_insn_operand): Likewise.
0e5921e8 2441 (final_prescan_insn): Likewise.
6bec29c9
DC
2442 (avr_simplify_comparision_p): Likewise.
2443 (avr_normalize_condition): Likewise.
2444 (compare_eq_p): Likewise.
2445 (out_shift_with_cnt): Likewise.
2446 (const_int_pow2_p): Likewise.
2447 (output_reload_inhi): Prototype declaration changed.
2448
2449 * config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
2450 (ldi_reg_rtx): New. rtx for r31.
2451 (avr_init_stack): Initialize as "__stack".
2452 (function_prologue): Use it.
2453 Replace all TARGET_ENHANCED with AVR_ENHANCED.
2454 (avr_mcu_name): Initialize as "avr2".
2455 (avr_enhanced_p, avr_mega_p): New variables.
2456 (mcu_types, avr_override_options): Handle all known MCU types.
2457 Also handle avr1 (only preprocess, assemble and link).
2458 (print_operand): Using of `%K' in output template removed.
2459 (out_movqi_r_mr): Optimized.
2460 (out_movhi_r_mr): Likewise.
2461 (output_movqi): New function.
2462 (output_movhi): Likewise.
2463 (out_movsi_r_mr): Optimized.
2464 (output_movsisf): Compute insn length for `adjust_insn_length'
2465 (out_movqi_mr_r): Optimized.
2466 (out_movhi_mr_r): Optimized.
2467 (adjust_insn_length): Use output_movsisf, output_movqi,
2468 output_movhi for insn length adjusting.
2469 (reg_unused_after): Use dead_or_set_p.
2470 (preferred_reload_class): Now havn't any restriction.
2471 (reg_was_0): New function.
2472 (io_address_p): Likewise.
2473 (const_int_pow2_p): Likewise.
2474 (output_reload_inhi): Likewise.
2475 (output_reload_insisf): Likewise.
2476
2477 * config/avr/avr.h (MULTILIB_DEFAULTS): Define.
2478 (LIB_SPEC): Use -lc for all supported devices.
2479 (LIBGCC_SPEC): Use -lgcc for all supported devices.
2480 (AVR_MEGA): Define as avr_mega_p.
2481 (AVR_ENHANCED): New, define as avr_enhanced_p.
2482 (TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
2483 (CPP_SPEC, LINK_SPEC): Handle all known MCU types.
2484 (CRT_BINUTILS_SPECS): Handle all known MCU types.
2485 Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
2486 (EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
2487 (ASM_SPEC): Pass -mmcu=... to the assembler.
2488 Change all -DAVR_* to -D__AVR_*__.
2489 (INIT_TARGET_OPTABS), config/avr/libgcc.S:
2490 Rename library functions to start with two underscores.
2491 (ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
2492 alignment.
2493 (ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
2494 (SUPPORTS_WEAK): Likewise.
2495 (LDI_REG_REGNO): New. Register r31 will be used as temporary
2496 register for loading constants to r0-r14.
2497
2498 * config/avr/avr.md: Replace all TARGET_ENHANCED with
2499 AVR_ENHANCED.
2500 (*mov_r_sp): Removed. Handled by output_movhi.
2501 (*mov_sp_r): Likewise.
2502 (*mov_sp_r_no_interrupts): Likewise
2503 (*mov_sp_r_tiny): Likewise.
2504 (*movqi): Use output_movqi.
2505 (*reload_inqi): New.
2506 (*movhi): Use output_movhi.
2507 (*reload_inhi): New.
2508 (*negsi2): Optimized.
2509 (*negsf2): Likewise.
2510 Added peepholes (define_peephole2) for loading constants to r0-r14
2511 and for using `cpse' command.
2512
2513 * config/avr/libgcc.S: Rename library functions to start with two
2514 underscores.
2515 Add support for enhanced core.
2516 (_moqhi3): Fix typo, now _modqi3.
2517 (__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
2518 (__prologue_saves__): Remove test for stack adjust by 0.
2519 (__tablejump__): New.
2520
2521 * config/avr/t-avr: Build libgcc2 with -mcall-prologues.
2522 Add multilib support.
2523
20bd7bfa
JW
2524Tue Aug 29 15:17:54 EDT 2000 John Wehle (john@feith.com)
2525
2526 * loop.c (prescan_loop): Don't check unknown_address_altered
2527 when deciding if insert_loop_mem is safe. Add BLKmode MEMs
2528 to loop_store_mems as necessary.
2529 (loop_invariant_p): Don't check unknown_address_altered
2530 or unknown_constant_address_altered.
2531
76f941a8
DA
25322000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
2533
2534 * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
2535
2c8f0515
ZW
25362000-08-29 Zack Weinberg <zack@wolery.cumb.org>
2537
2538 * cpperror.c (print_file_and_line): If line is (unsigned int)-1,
2539 print just the filename.
2540 * cpplex.c (_cpp_run_directive): Add additional argument, the
2541 name to give the synthetic buffer. This defaults to
2542 translated "<command line>".
2543 * cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
2544 Adjust to match.
2545 (_cpp_define_builtin): New function.
2546 * cppinit.c (initialize_builtins): Use _cpp_define_builtin.
2547 * cpphash.h: Update prototypes.
2548
2549 * tradcpp.c (main): Process -D and -U simultaneously, in the
2550 order they appeared on the command line.
2551
6ad79f1b
KG
25522000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2553
2554 * c-decl.c (define_label): Call warning_with_file_and_line and
2555 error_with_file_and_line instead of plain warning or error.
2556
2557 * c-parse.in (label): Use save_filename/save_lineno to ensure
2558 correct values for calls to define_label.
2559
4361b41d
MM
25602000-08-29 Mark Mitchell <mark@codesourcery.com>
2561
2562 * calls.c (expand_call): Don't create a VAR_DECL just to throw it
2563 away.
2564 * expr.c (expand_expr, case TARGET_EXPR): Don't call
2565 mark_addressable.
2566 * tree.h (get_file_function_name): Remove two duplicate
2567 declarations.
2568
abf9af02
KH
25692000-08-28 Kazu Hirata <kazu@hxi.com>
2570
dc478a5d
KH
2571 * tree.c: Fix formatting.
2572
abf9af02
KH
2573 * xcoffout.c: Fix formatting.
2574
5f632b5e
JM
25752000-08-28 Jason Merrill <jason@redhat.com>
2576
2577 * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
2578
25792000-08-28 Daniel Berlin <dberlin@redhat.com>
2580
2581 * dwarf2out.c (dwarf2out_finish): Don't bother calling
2582 break_out_includes if it won't do anything.
2583
38323cc3
RH
25842000-08-28 Richard Henderson <rth@cygnus.com>
2585
2586 * reload.c (push_secondary_reload): Revert 2000-08-16 change.
2587 (find_reloads): Likewise.
2588 * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
2589 (reload_inhi): Likewise.
2590
e1ff012c
RH
25912000-08-28 Richard Henderson <rth@cygnus.com>
2592
2593 * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
2594 (call_insn_operand): Don't expect a surrounding mem.
2595 (constant_call_address_operand): Likewise.
2596 * config/i386/i386.h (PREDICATE_CODES): Update.
2597 * config/i386/i386.md (call patterns): Move the match_operand
2598 for the call destination inside the mem.
2599
c2cba7a9
RH
26002000-08-28 Richard Henderson <rth@cygnus.com>
2601
2602 * local-alloc.c (requires_inout): Don't use reserved range for
2603 EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
2604 * recog.c (asm_operand_ok): Likewise.
2605 (preprocess_constraints, constrain_operands): Likewise.
2606 * regclass.c (record_reg_classes): Likewise.
2607 * reload.c (find_reloads): Likewise.
2608 * reload1.c (maybe_fix_stack_asms): Likewise.
2609 (reload_cse_simplify_operands): Likewise.
2610 * stmt.c (expand_asm_operands): Likewise.
2611
2612 * md.texi: Update constraints documentation.
2613 * tm.texi (EXTRA_CONSTRAINT): Update.
2614
5f632b5e
JM
26152000-08-28 Daniel Berlin <dberlin@redhat.com>
2616
2617 * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
2618 (print_die): If we don't know the offset of the
2619 target die, try the symbol. Add a trailing newline.
2620 (reverse_all_dies): New fn.
2621 (dwarf2out_finish): Call it.
2622 (break_out_includes): Reorganize for clarity.
2623 (add_sibling_attributes): Don't call reverse_die_lists.
2624 (output_comp_unit): Rename from output_comdat_comp_unit. Use for
2625 primary CU, too.
2626 * flags.h: Add flag_eliminate_dwarf2_dups.
2627 * toplev.c (f_options): Support -feliminate-dwarf2-dups.
2628
5de0e8d4
JM
26292000-08-28 Jason Merrill <jason@redhat.com>
2630
5f632b5e
JM
2631 * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
2632 * dwarf2out.c: #include "md5.h".
2633 (DIE_LABEL_PREFIX): New macro.
2634 (dw_val_struct): Add 'external' flag to val_die_ref.
2635 (add_AT_die_ref, AT_ref): Adjust.
2636 (AT_ref_external, set_AT_ref_external): New fns.
2637 (build_abbrev_table): Call set_AT_ref_external.
2638 (value_format): Call AT_ref_external.
2639 (die_struct): Add die_symbol field.
2640 (new_die): Clear it.
2641 (dwarf_tag_name): Handle BINCL/EINCL.
2642 (dwarf2out_start_source_file): Add BINCL DIE.
2643 (dwarf2out_end_source_file): Add EINCL DIE.
2644 (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
2645 (loc_checksum, attr_checksum, die_checksum): New fns.
2646 (is_type_die, is_comdat_die, is_symbol_die): New fns.
2647 (compute_section_prefix, assign_symbol_names): New fns.
2648 (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
2649 (output_die): Call output_die_symbol and AT_ref_external.
2650 (output_comdat_comp_unit): New fn, split out from...
0e5921e8 2651 (dwarf2out_finish): ...here. Also call add_sibling_attributes for
5f632b5e
JM
2652 secondary CUs.
2653 (output_pubnames, output_aranges): Abort if we see entries from
2654 secondary CUs.
2655 * toplev.h: Declare file_name_nondirectory.
2656 * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
2657 (rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
2658 (debug_start_source_file): Call dwarf2out_start_source_file
2659 regardless of debug verbosity.
2660 (debug_end_source_file): Similarly.
2661 * tree.h: Declare clean_symbol_name.
2662 * tree.c (clean_symbol_name): Split out from...
2663 (get_file_function_name_long): ...here.
2664
5de0e8d4
JM
2665 * dwarf2out.c (new_loc_descr): Use calloc.
2666 (splice_child_die): Remove the die from the right parent.
2667 (gen_struct_or_union_die): Don't add AT_name to a specification DIE.
2668
04324727
RK
2669Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2670
2671 * toplev.c (decode_g_option): Don't give warning for unknown -g
2672 option; return 0 instead.
2673 (main): If -g option is not recognized by front end or
2674 language-independent code, give warning.
2675
9e3e266c
GM
26762000-08-28 Greg McGary <greg@mcgary.org>
2677
2678 * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
2679 * config/i386/i386.c (ix86_expand_compare): Remove `static'.
2680 * config/i386/i386.md (trap, conditional_trap): New insn & expand.
2681
a0bff95f
GM
26822000-08-27 Greg McGary <greg@mcgary.org>
2683
2684 * cpplex.c (parse_string): Don't look for backslash
2685 before first char in `namebuf'.
2686 * loop.c (strength_reduce): Skip NOTEs.
2687
edb4c415
JM
26882000-08-27 Jason Merrill <jason@redhat.com>
2689
2690 * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
2691 DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or
2692 TREE_ASM_WRITTEN, either.
2693 (finish_decl): Adjust.
2694
6e88e75c
PT
26952000-08-28 Philipp Thomas <pthomas@suse.de>
2696
2697 * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
2698 they have been incorporated into the gettext CVS. Change the text to
2699 reflect the current status of NLS. Add instructions for accessing
2700 the gettext CVS and add the patch from Martin v. Loewis.
2701
e53ca51f
GK
27022000-08-27 Geoff Keating <geoffk@cygnus.com>
2703
2704 * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
2705 by using gen_lowpart_common.
2706 (movdi_internal64+6): Likewise.
2707
a0a6fdc8
AO
27082000-08-26 Alexandre Oliva <aoliva@redhat.com>
2709
1b2dd04a
AO
2710 * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
2711 Document.
2712
a0a6fdc8
AO
2713 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
2714 numbers to the ranges used by GDB.
2715
26a110f5
RH
27162000-08-25 Richard Henderson <rth@cygnus.com>
2717
2718 * config/ia64/ia64.h (struct machine_function): Add n_varargs.
2719 * config/ia64/ia64.c (ia64_compute_frame_size): Use it.
2720 (ia64_expand_prologue): Likewise.
2721 (ia64_setup_incoming_varargs): Set it. Properly skip the current
2722 argument for stdargs.
2723
ecff20d4
JM
27242000-08-25 Jason Merrill <jason@redhat.com>
2725
2726 * integrate.c (expand_inline_function): Pull out the original decl.
2727
caa511fd
JW
27282000-08-25 Jim Wilson <wilson@cygnus.com>
2729
d51ff7cb
JW
2730 * cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
2731
caa511fd
JW
2732 * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
2733
9a56f4f6
GM
27342000-08-25 Greg McGary <greg@mcgary.org>
2735
2736 * flow.c (dump_edge_info): Use ARRAY_SIZE.
2737 * config/alpha/alpha.c (alpha_expand_block_move): Likewise.
2738
31448271
RE
27392000-08-25 Richard Earnshaw <rearnsha@arm.com>
2740
2741 * arm.h (STRUCT_VALUE): Define to 0, not NULL.
2742
b949ea8b
JW
2743Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com)
2744
2745 * i386.c (ix86_find_base_term): New.
2746 * i386-protos.h (ix86_find_base_term): Prototype.
2747 * i386.h (FIND_BASE_TERM): Define.
2748 * alias.c (find_base_term): Use it.
2749 * tm.texi (FIND_BASE_TERM): Document it.
2750
2751 * alias.c (true_dependence, write_dependence_p): Unchanging
2752 memory can't conflict with non-unchanging memory.
2753
2754 * alias.c (memrefs_conflict_p): A BLKmode reference
2755 to a symbol (or CONST_INT address) always conflicts
2756 with a reference to another symbol.
2757
343b7260
JM
27582000-08-25 Joseph S. Myers <jsm28@cam.ac.uk>
2759
2760 * c-common.c (time_char_table): Don't allow width and flags with
2761 "z" format.
2762
1f9124e4
JJ
27632000-08-25 Jakub Jelinek <jakub@redhat.com>
2764
2765 * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
2766 way as LT and LTU when the second operand has 0 in low word.
2767
6057c0e6
MH
27682000-08-26 Michael Hayes <mhayes@cygnus.com>
2769
135ebc36
MH
2770 * basic-block.h (struct loop): Rename `exits' field to
2771 `exit_edges'. Add `entry_edges' and `num_entries' fields.
2772
2773 * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
2774 (flow_loop_entry_edges_find): Add.
2775 (flow_edge_list_print): Rename from flow_exits_print.
2776 (flow_loops_find): Call flow_loop_entry_edges_find.
2777 (flow_loop_dump): Dump entry_edges list.
2778 (flow_loops_free): Free entry_edges.
0e5921e8 2779
135ebc36 27802000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 2781
6057c0e6
MH
2782 * loop.c (loop_dump_aux, debug_loop): New functions.
2783 (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
2784
2785 * flow.c (flow_loops_dump): Add callback parameter.
2786 (flow_loop_dump): Add callback parameter and call it. Move
2787 loop note debugging code to loop_dump_aux.
2788
2789 * basic-block.h (flow_loop_dump): Add callback parameter
2790 (flow_loops_dump): Likewise.
2791
2792 * toplev.c (rest_of_compilation): Add NULL callback function pointer
2793 to call to flow_loops_dump.
0e5921e8 2794
028fc6e7
MH
27952000-08-26 Michael Hayes <mhayes@cygnus.com>
2796
2797 * loop.c (count_loop_regs_set): Replace start and end arguments
2798 with loop argument. All callers udated.
0e5921e8 2799
371502a8 28002000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 2801
371502a8
MH
2802 * loop.c (constant_high_bytes): Delete.
2803
e375c819
MH
28042000-08-26 Michael Hayes <mhayes@cygnus.com>
2805
2806 * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
2807 and NOTE_INSN_LOOP_VTOP to...
2808 (find_and_verify_loops) ...here.
2809
036cfb36
AO
2810Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com>
2811
2812 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
2813 (fini_dummy, init_dummy): Use it.
2814
c2e20542
NB
2815Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net>
2816
2817 * cpplex.c (is_macro_disabled): Caller has already checked
2818 that we're not a preprocessed file.
2819
83bab8db
MM
28202000-08-24 Mark Mitchell <mark@codesourcery.com>
2821
2822 * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
2823 (c-iterate.o): Remove target.
2824 * gcc/c-common.h (enum rid): Remove RID_ITERATOR.
2825 * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
2826 (finish_decl): Don't handle iterators.
2827 (grokdeclarator): Likewise.
2828 * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
2829 * gcc/c-gperf.h: Regenerated.
2830 * gcc/c-iterate.c: Removed.
2831 * gcc/c-lex.c (init_lex): Don't handle iterators.
2832 * gcc/c-parse.in (primary): Remove pop_iterator_stack call.
2833 (compstmt_primary_start): Remove push_iterator_stack call.
2834 (stmt): Don't allow iterator statements. Replace iterator_expand
2835 with expand_expr_stmt.
2836 (all_iter_stmt): Remove.
2837 (all_iter_stmt_simple): Likewise.
2838 (all_iter_stmt_with_decl): Likewise.
2839 * gcc/c-tree.h (ITERATOR_P): Remove.
2840 (ITERATOR_BOUND_P): Likewise.
2841 (init_iterators): Remove declaration.
2842 (iterator_expand): Likewise.
2843 (iterator_for_loop_start): Likewise.
2844 (iterator_for_loop_end): Likewise.
2845 (iterator_for_loop_record): Likewise.
2846 (push_iterator_stack): Likewise.
2847 (pop_iterator_stack): Likewise.
2848 * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
2849 (readonly_warning): Likewise.
2850 * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
0e5921e8 2851
aee3c6b0
JW
28522000-08-24 Jim Wilson <wilson@cygnus.com>
2853
2854 * c-common.c (decl_attributes, case A_ALIGN): Revert last change.
2855 Copy type in a TYPE_DECL, just like pushdecl does.
2856
58d8c980
RH
28572000-08-24 Richard Henderson <rth@cygnus.com>
2858
2859 * toplev.c (main): Enable flag_reorder_blocks at -O2.
2860
054f5e69
ZW
28612000-08-24 Zack Weinberg <zack@wolery.cumb.org>
2862
0e5921e8 2863 * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
054f5e69
ZW
2864 asked for one page, allocate GGC_QUIRE_SIZE of them and put
2865 the extras on the free list.
2866 (release_pages): Clean up.
2867 (ggc_set_mark): Don't adjust G.allocated here...
2868 (sweep_pages): ... do it here.
2869
28702000-08-24 Zack Weinberg <zack@wolery.cumb.org>
2871
2872 * cppfiles.c (read_include_file): Rearrange initializations.
2873
0551c32d
RH
28742000-08-24 Richard Henderson <rth@cygnus.com>
2875
2876 * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
2877
2878 * config/ia64/ia64-protos.h: Update.
2879 * config/ia64/ia64.c (gr_register_operand): New.
2880 (fr_register_operand, grfr_register_operand): New.
2881 (gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
2882 (grfr_reg_or_8bit_operand): New.
0e5921e8 2883 (gr_reg_or_0_operand): Rename from reg_or_0_operand and
0551c32d
RH
2884 use gr_register_operand.
2885 (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
2886 (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
2887 (gr_reg_or_8bit_and_adjusted_operand): Likewise.
2888 (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
2889 (fr_reg_or_fp01_operand): Likewise.
2890 (not_postinc_memory_operand): New.
2891 (ia64_split_timode): Remove unused variables.
2892 (rtx_needs_barrier): Check arguments to cmpxchg.
2893 (builtin_description): Remove.
2894 (bdesc_2argsi, bdesc_2argdi): Remove.
2895 (ia64_init_builtins): Declare all builtins directly.
2896 (ia64_expand_fetch_and_op): Rewrite to be called from
2897 ia64_expand_builtin directly. Use expand_binop and co.
2898 (ia64_expand_op_and_fetch): Likewise.
2899 (ia64_expand_compare_and_swap): Likewise.
2900 (ia64_expand_binop_builtin): Remove.
2901 (ia64_expand_lock_test_and_set): New.
2902 (ia64_expand_lock_release): New.
2903 (ia64_expand_builtin): Use them.
2904 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
2905 (EXTRA_CONSTRAINT): Use it.
2906 (PREDICATE_CODES): Update.
2907 * config/ia64/ia64.md (*): Use gr_register_operand and co.
2908 (mf): Indicate that we set memory as well as use it.
2909 (fetchadd_acq_si): Show memory being modified as well.
0e5921e8 2910 (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
0551c32d
RH
2911 (val_compare_and_swap_si, val_compare_and_swap_di): Remove.
2912 (lock_test_and_set_si, lock_test_and_set_di): Remove.
2913 (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
2914 (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
2915 (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
2916 (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
2917 (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
2918 (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
2919 (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
2920 (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
2921 * config/ia64/ia64intrin.h (*): Cast result to the appropriate
2922 return type. Pretty print definitions.
2923
7c866fb5
JW
29242000-08-24 Jim Wilson <wilson@cygnus.com>
2925
2926 * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
2927 we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
2928
40e8cc95
JM
29292000-08-24 Jason Merrill <jason@redhat.com>
2930
2931 * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
2932 AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
0e5921e8 2933 (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
40e8cc95
JM
2934 get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
2935
b6a1cbae
GM
29362000-08-24 Greg McGary <greg@mcgary.org>
2937
2938 * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
2939 and extendtab within their proper array boundaries.
2940 * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
2941 for the entire array.
2942
2943 * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
2944 * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
2945 * config/avr/avr.c (order_regs_for_local_alloc): Likewise.
2946 * config/fr30/fr30.c (fr30_print_operand): Likewise.
2947 * config/i386/dgux.c (output_options): Likewise.
2948 * config/i386/dgux.h (ASM_FILE_START): Likewise.
2949 * config/m88k/m88k.c (output_options): Likewise.
2950 * config/m88k/m88k.h (ASM_FILE_START): Likewise.
2951 * config/mcore/mcore.c (mcore_output_inline_const_forced,
2952 layout_mcore_frame, handle_structs_in_regs): Likewise.
2953 * config/mips/mips.c (output_block_move): Likewise.
2954 * config/rs6000/rs6000.c (rs6000_override_options,
2955 rs6000_file_start): Likewise.
2956 * config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
2957 * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
2958 * fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
2959 * builtins.c (expand_builtin_setjmp): Likewise.
2960 * expr.c (safe_from_p): Likewise.
2961 * flow.c (life_analysis): Likewise.
2962 * fold-const.c (size_int_type_wide): Likewise.
2963 * gcc.c (translate_options, init_spec, set_spec, main): Likewise.
2964 * genattrtab.c (make_length_attrs): Likewise.
2965 * genopinit.c (gen_insn): Likewise.
2966 * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
2967 * global.c (global_alloc): Likewise.
2968 * local-alloc.c (find_free_reg): Likewise.
2969 * mips-tdump.c (print_symbol): Likewise.
2970 * mips-tfile.c (parse_def, parse_input): Likewise.
2971 * reload1.c (NUM_ELIMINABLE_REGS): Likewise.
2972 * stmt.c (expand_nl_goto_receiver): Likewise.
2973 * stor-layout.c (set_sizetype): Likewise.
2974 * varasm.c (decode_reg_name): Likewise.
2975 * toplev.c (decode_f_option, decode_W_option,
2976 set_target_switch, print_switch_values): Likewise.
2977 (NUM_ELEM): Remove macro.
2978 (display_help, main): s/NUM_ELEM/ARRAY_SIZE/
2979
5b47282c
GM
29802000-08-24 Greg McGary <greg@mcgary.org>
2981
2982 * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
2983 (MAIN_NAME_P, main_identifier_node): New macros.
2984 * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
2985 * c-decl.c (start_decl, grokdeclarator, start_function,
2986 store_parm_decls, finish_function): Use MAIN_NAME_P.
2987 * config/avr/avr.c (function_prologue, function_epilogue): Likewise.
2988 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
2989 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
2990 * config/pdp11/pdp11.c (output_function_prologue): Likewise.
2991
87ae0c74
GM
29922000-08-24 Greg McGary <greg@mcgary.org>
2993
2994 * cppfiles.c (actual_directory): Don't write beyond `dir'
2995 when it contains "".
2996 * real.c (asctoeg): Stay within bounds of etens[][].
2997
b148aeaa
KG
29982000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2999
3000 * dependence.c (dependence_string, direction_string,
3001 dump_one_node, dump_node_dependence): Hide unused identifiers.
3002 (get_low_bound, normalize_coefficients): Match definition to
3003 static prototype.
3004 (get_one_coefficient): Initialize variables `value0_is_idx' and
3005 `value1_is_idx'.
3006 (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
3007 (ziv_test): Delete variable `idx', use parameter `sub' instead.
3008 (direction_merge): Avoid automatic aggregate initialization.
3009 (have_dependence_p): Use `src' not `dest' to set `src_idx'.
3010 Initialize variables `dest_idx' and `src_idx'.
3011 (end_dependence_analysis): Avoid C89 style function definition.
3012
4894ecce
JM
30132000-08-24 Joseph S. Myers <jsm28@cam.ac.uk>
3014
3015 * c-common.c (time_char_table): Don't allow width with %F.
3016 (check_format_info): Don't allow "Z" length with scanf.
3017
2ab99c46
GDR
30182000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
3019
3020 * diagnostic.c (finish_diagnostic): Define.
3021 (output_do_printf): Use wrap_text instead of output_add_string.
3022 (default_print_error_function): Avoid embedded '\n'.
3023
3024 * diagnostic.h (flush_diagnostic_buffer): Declare.
3025
335e59bd
AO
30262000-08-23 Alexandre Oliva <aoliva@redhat.com>
3027
3028 * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
3029
d9fe00bb
HPN
30302000-08-23 Hans-Peter Nilsson <hp@axis.com>
3031
3032 * Makefile.in (GCC_PASSES): Add specs.
3033
b97644fc
JW
30342000-08-23 Jim Wilson <wilson@cygnus.com>
3035
3036 * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
3037 * config/ia64/frame-ia64.c (__get_personality): Return zero if neither
3038 EHANDLER nor UHANDLER bit is set.
3039 (__get_except_table): Likewise.
3040
64a7723d
NC
30412000-08-23 Nick Clifton <nickc@redhat.com>
3042
02689e18
NC
3043 * config/arm/lib1funcs.asm: Replace upper case condition codes
3044 with lower case versions.
3045
64a7723d
NC
3046 * config/arm/arm.h (STRUCT_VALUE): Define.
3047 (STRUCT_VALUE_REGNUM): Delete.
3048
bbdac7d0
ZW
30492000-08-23 Zack Weinberg <zack@wolery.cumb.org>
3050
3051 * cpphash.h (IN_I): New flag for directive table.
3052 * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
3053 #pragma with IN_I.
3054 (_cpp_check_directive): If -fpreprocessed, execute directives
3055 marked with IN_I. Issue no warnings in this case.
3056 * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
3057
d8eceea4
JM
30582000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
3059
3060 * c-common.c (print_char_table): Allow 'I' flag with %d, %i and
3061 %u.
3062 (check_format_info): Support printf 'I' flag; warn about it with
3063 -pedantic.
3064
e04c2d6c
RE
30652000-08-23 Richard Earnshaw (rearnsha@arm.com)
3066
3067 * arm.c (arm_expand_prologue): Ensure that the stack-adjustment
3068 barrier can't be ignored by the alias analysis code.
3069
f4306baa
EZ
30702000-08-12 Eli Zaretskii <eliz@is.elta.co.il>
3071
3072 * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
3073 works inside fixincl.
3074
95d0e5f1
AO
3075Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
3076
3077 * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
3078 simplify_relational_operation() unless both operands are of
3079 VOIDmode.
3080 * cse.c (fold_rtx): Likewise.
3081
55efb413
JW
3082Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
3083
3084 * rtlanal.c (rtx_unstable_p): The pic register is stable
3085 (within one function) and the actual rtx should be used
3086 when checking the registers.
3087 (rtx_addr_can_trap_p): Pic memory addresses can't trap.
3088
3089 * alias.c (true_dependence, write_dependence_p): Fix
3090 bug in previous patch.
3091
3092 * i386.c (ix86_GOT_alias_set): New.
3093 (legitimize_pic_address): Use it.
3094
3095 * rtlanal.c (rtx_unstable_p): An unchanging MEM is
3096 only stable if its address is stable.
3097 (rtx_varies_p): An unchanging MEM can't vary if
3098 its address doesn't vary.
3099
aac625ac
KG
31002000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3101
3102 * c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
3103
62432849
DA
31042000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3105
3106 * vax.h (ASM_SPEC): Pass `-J' to assembler.
3107 * x-vax-gcc: New file for bootstrapping with gcc.
dd745546 3108 * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
62432849
DA
3109 * configure.in: Use x-vax-gcc with gcc.
3110 * configure: Rebuilt.
3111
1eb994b7
R
3112Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
3113
3114 * toplev.c (rest_of_compilation): Rebuild label notes after
3115 post-reload splitting pass if new labels have been created.
3116
f6a542de
GDR
31172000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
3118
3119 * diagnostic.h (output_buffer_state): New macro.
3120 * diagnostic.c (diagnostic_for_decl, sorry,
3121 default_print_error_function, output_do_verbatim,
3122 report_diagnostic, report_problematic_module): Use it.
3123 (wrap_text): Tweak.
3124 (output_format): Use wrap_text instead of maybe_wrap_text.
3125
888e552f
NC
31262000-08-22 Nick Clifton <nickc@redhat.com>
3127
3128 * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
3129 Common code for ARM divide and modulus functions.
3130 (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
3131 ARM_DIV_MOD_BODY.
3132 (FUNC_END): New macro: Common code at the end of the division and
3133 modulo functions.
3134 (THUMB_FUNCTION_START): New macro: Common code at the start of
3135 Thumb functions.
3136 (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
0e5921e8 3137
89e43e33
KK
3138Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3139
3140 * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
3141
3142 * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
3143 sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
3144 const0_rtx.
3145
7405dc37
NC
31462000-08-22 Nick Clifton <nickc@redhat.com>
3147
3148 * config/arm/lib1funcs.asm (__umodsi3): Before performing any
3149 restorative additions, test for bottom bits of IP being set,
3150 rather than relying upon the RORs not matching.
3151 (__modsi3): Ditto.
3152
9861b0c9
DE
31532000-08-22 David Edelsohn <edelsohn@gnu.org>
3154
3155 * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
60a3c181 3156 text_section() as appropriate instead of emitting text csect
9861b0c9
DE
3157 pseudo-op directly.
3158 (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
3159 (UNIQUE_SECTION): Define macro.
3160 (ASM_OUTPUT_SECTION_NAME): Define macro.
3161 * rs6000.c (rs6000_override_options): Disable -ffunction-sections
60a3c181 3162 on AIX if debugging and -fdata-sections always.
9861b0c9
DE
3163
31642000-08-22 Steven King <sxking@uswest.net>
df3a88f0
SK
3165
3166 * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
3167 machinery.
3168 (LDBL_MAX): Same here.
3169
b578dbd7
RH
31702000-08-22 Richard Henderson <rth@cygnus.com>
3171
3172 * flow.c (tidy_fallthru_edge): Update b->end properly.
3173
d061bc1e
SC
31742000-08-22 Stan Cox <scox@redhat.com>
3175
60a3c181
RH
3176 * Makefile.in (OBJS): Add dependence.o.
3177 * dependence.c: New file.
0e5921e8 3178
23d16877 31792000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca>
3cadd778 3180
d60eab50
AO
3181 * calls.c (check_sibcall_argument_overlap_1): Adjust for
3182 ARGS_GROW_DOWNWARD.
3183 (check_sibcall_argument_overlap): Likewise.
3184
23d16877
AO
31852000-08-22 Alexandre Oliva <aoliva@redhat.com>
3186
3cadd778
AO
3187 * invoke.texi (SH Options): Document -m4-nofpu,
3188 -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
3189 -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
3190
23e4d028
JM
31912000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
3192
3193 * c-common.c (check_format_info): Give the 'some locales' warning
3194 for strftime %Ey rather than the unconditional 'only last 2 digits
3195 of year' one.
3196
bc82c87c
RH
31972000-08-22 Richard Henderson <rth@cygnus.com>
3198
3199 * alias.c (init_alias_analysis): Do not register
3200 struct_value_incoming_rtx or static_chain_rtx as pointing
3201 to stack memory.
3202
7db9125f
JL
3203Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com)
3204
3205 * protoize.c (munge_compile_params): Fix typo and formatting buglets.
3206
b413d64d
GDR
32072000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
3208
3209 * diagnostic.h (report_problematic_module): Declare.
3210 * diagnostic.c (report_problematic_module): New function.
3211 (report_error_function): Tweak.
3212
c4a6c0f3
RK
3213Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3214
3215 * stmt.c (expand_goto_internal, fixup_gotos): Only check
3216 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
3217
770a7feb
RH
32182000-08-21 Richard Henderson <rth@cygnus.com>
3219
3220 * flow.c (calculate_global_regs_live): Mark frame pointer live
3221 everywhere before reload.
3222
280db205
JW
32232000-08-21 Jim Wilson <wilson@cygnus.com>
3224
3225 * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
3226 INTEL_EXTENDED_IEEE_FORMAT.
3227 (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally
3228 clear last two bytes of output FP value.
3229
94c21c17
GS
32302000-08-21 Graham Stott <grahams@cygnus.co.uk>
3231
3232 * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
3233
6315f068
JJ
32342000-08-21 Jakub Jelinek <jakub@redhat.com>
3235
3236 * unroll.c (loop_find_equiv_value): If ret is modified between
3237 insn and loop_start, ret might not be equivalent to reg.
3238
5804a754
JM
32392000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
3240
3241 * c-common.c (init_dollar_format_checking,
3242 maybe_read_dollar_number, finish_dollar_format_checking): New
3243 functions.
3244 (dollar_arguments_used, dollar_arguments_count,
3245 dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
3246 New variables.
3247 (check_format_info): Support $ formats for scanf and printf width
3248 and precision. Always increment format_chars to advance past the
3249 '*' of precision, not just when the format parameters are
3250 available to check.
3251
95adab8e
KG
32522000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3253
3254 * mips.c (block_move_loop, expand_block_move,
3255 function_arg_partial_nregs, save_restore_insns, function_prologue,
3256 mips_expand_prologue, RA_MASK): Avoid using the `U' integer
3257 constant suffix.
3258 (function_arg_advance, function_arg): Match argument to format
3259 specifier `%p'.
3260
49009afd
JL
32612000-08-21 Nix <nix@esperi.demon.co.uk>
3262
3263 * gcc.c (do_spec_1): Implement %j spec flag.
3264 Remove dead comment.
3265
3266 * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
60a3c181
RH
3267 * system.h (HOST_BIT_BUCKET): Default to "/dev/null".
3268 * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
3269 * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
49009afd 3270
60a3c181 3271 * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
49009afd
JL
3272 writable) instead of hardcoded value.
3273
3274 * toplev.c (compile_file): Output to a file even if -fsyntax-only.
3275
60a3c181
RH
3276 * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
3277 MKTEMP_EACH_FILE.
49009afd 3278
60a3c181 3279 * gcc.c (cc1_options): Do not process -o or run the assembler if
49009afd 3280 -fsyntax-only.
05a3d06e 3281 * objc/lang-spec.h: Likewise.
49009afd
JL
3282
32832000-08-21 Eli Zaretskii <eliz@is.elta.co.il>
dc13bad7
EZ
3284
3285 * fixinc/fixincl.c (fix_with_system): Pipe the output of
3286 "external" fixes through `cat', to avoid truncating the input
3287 file by redirection.
3288
cb694d2c
JJ
32892000-08-21 Jakub Jelinek <jakub@redhat.com>
3290
3291 * config/i386/i386.md (lea_general_1): Copy insn condition to split
3292 condition.
3293 (lea_general_2, lea_general_3): Likewise.
3294
cde6e684
KG
32952000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3296
3297 * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
3298 warnings to user code.
3299
3300 * c-lex.c (readescape, yylex): Likewise.
3301
3302 * c-typeck.c (store_init_value, process_init_element): Likewise
3303 (c_expand_start_case): Format.
3304
120dc6cd
MR
33052000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
3306
3307 * mips/linux.h (LINK_SPEC): Use %(endian_spec).
3308
3309 * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
0e5921e8 3310 and linker_endian_spec to endian_spec.
120dc6cd
MR
3311 (ENDIAN_SPEC): Add %{EB} and %{EL}.
3312 (LINK_SPEC): Remove %{EB} and %{EL}.
0e5921e8 3313 (ASM_SPEC): Likewise. Use %(endian_spec).
120dc6cd 3314
93e2382f
JM
33152000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
3316
3317 * c-tree.h (flag_hosted): Move declaration from here...
3318 * c-common.h (flag_hosted): ... to here.
3319 (flag_noniso_default_format_attributes): New declaration.
3320 * c-decl.c (flag_noniso_default_format_attributes): New variable.
3321 (c_decode_option): Set it appropriately for options choosing
3322 language standard variant.
3323 * c-common.c (init_function_format_info): Only provide default
3324 format attributes if flag_hosted. Only provide the gettext
3325 formats if flag_noniso_default_format_attributes. Update
3326 comments.
3327 (check_format_info): Disable treatment of %a as a scanf flag in
3328 C99 mode.
3329
f3d360aa
JM
33302000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
3331
3332 * c-common.c (scan_char_table): Add 'w' to flags for all formats
3333 except 'n'.
3334 (check_format_info): Set 'wide' for scanf format widths. Warn for
3335 a zero scanf width. Make the check for writing into a constant
3336 object at the first level of indirection; at later levels, warn if
3337 any type qualifiers are encountered.
3338
e04ca094
JL
3339Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com)
3340
e6ea3b5f
JL
3341 * reload.c (reload_inner_reg_of_subreg): New function broken out of
3342 push_reload.
3343 (push_reload): Use reload_inner_reg_of_subreg.
3344 (combine_reloads): Do not combine reloads if the input reload
3345 is a SUBREG in which the inner part will need reloading.
3346
e04ca094
JL
3347 * global.c (global_alloc): Avoid passing dumpfile argument to
3348 reload routines.
3349 * toplev.c (rest_of_compilation): Likewise.
3350 * reload.h (reload): Remove dumpfile argument. Callers changed.
3351 (debug_reload, debug_reload_to_stream): Move prototypes here.
3352 * rtl.h (reload): Remove dumpfile argument.
3353 * reload.c (debug_reload): Remove prototype.
3354 (debug_reload_to_stream): Likewise.
3355 * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
3356 instead.
3357
24805e80
GDR
33582000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
3359
3360 * diagnostic.c (context_as_prefix): Export.
3361 (need_error_newline): Remove.
3362 (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
3363 (error_module_changed, record_last_error_module,
3364 error_function_changed, record_last_error_function): New functions.
3365 (initialize_diagnostics): Default intialize
3366 lang_diagnostic_starter, lang_diagnostic_finalizer.
3367 (init_output_buffer): Tweak.
3368 (file_name_as_prefix): New function.
3369 (announce_function, default_print_error_function,
3370 report_error_function, set_diagnostic_context): Tweak.
3371
056b6841
RE
33722000-08-21 Richard Earnshaw <rearnsha@arm.com>
3373
3374 * flow.c (init_propagate_block_info): Handle SUBREG in a jump
3375 condition expression.
3376
7171b491
RH
33772000-08-20 Richard Henderson <rth@cygnus.com>
3378
3379 * flow.c (merge_blocks_nomove): Don't seek back past the bb note.
3380
3cb553b4
ZW
33812000-08-20 Zack Weinberg <zack@wolery.cumb.org>
3382
3383 * cppinit.c (cpp_init): Set global flag when called.
3384 (cpp_reader_init): Bomb out if cpp_init hasn't been called.
3385
9861b0c9 3386Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
3cb553b4 3387
60a3c181
RH
3388 * cpplex.c (cpp_scan_buffer): Move `output_line_command' just
3389 before `process_directive' so that newlines won't be missed
3390 for directives.
3391 (cpp_printf): Increment `print->lineno' when newline is emitted.
3cb553b4 3392
60a3c181
RH
3393 * cppmain.c (cb_ident): Likewise.
3394 (cb_define): Likewise.
3395 (cb_undef): Likewise.
3396 (cb_include): Likewise.
3397 (cb_def_pragma): Likewise.
3398 (dump_macros_helper): Likewise.
3cb553b4 3399
9c668921
RH
34002000-08-20 Richard Henderson <rth@cygnus.com>
3401
3402 * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
3403 assigned before a loop.
3404
3405 * config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
3406 (ashrsi3, lshrsi3): Likewise.
3407
4e1e6a01
GDR
34082000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
3409
3410 * c-lang.c: #include diagnostic.h
3411 (c_tree_printer): New function.
3412 (lang_init): Initialize lang_printer.
3413
3414 * Makefile.in (c-lang.o): Depends on diagnostic.h
3415
e2840263
GDR
34162000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
3417
3418 * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
3419
3420 * diagnostic.c (default_diagnostic_starter,
3421 default_diagnostic_finalizer): New functions.
3422 (diagnostic_for_asm, diagnostic_for_decl): Tweak.
3423 (pedwarn, pedwarn_with_file_and_line, error,
3424 error_with_file_and_line, fatal, warning,
3425 warning_with_file_and_line): Adjust call to report_diagnostic.
3426 (report_diagnostic): Rework.
3427 (set_diagnostic_context): New function.
3428
3429 * diagnostic.h (struct diagnostic_context): New data structure.
3430 (diagnostic_message, diagnostic_argument_list,
3431 diagnostic_file_location, diagnostic_line_location,
3432 diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
3433 diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
3434 (set_diagnostic_context): Declare.
3435 (report_diagnostic): Change prototype.
3436
574f7425
NB
3437Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net>
3438
3439 * fix-header.c (main): Initialize cpplib.
3440
f1e42c81
MM
34412000-08-19 Michael Meissner <meissner@redhat.com>
3442
34c9e848
MM
3443 * ifcvt.c (find_if_block): Do not assume that a THEN block has any
3444 instructions in it before checking for indirect jumps.
3445
f1e42c81
MM
3446 * ifcvt.c (find_if_block): Do not consider a THEN block that ends
3447 in a indirect jump as a potential for conditional execution.
3448
3449 * d30v.h (d30v_init_expanders): Don't declare here.
3450 * d30v-protos.h (d30v_init_expanders): Declare here with a valid
3451 prototype.
3452
9d6c2770
NB
3453Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net>
3454
3455 * cpp.texi: Add @section for assertions.
3456
e76d9acb
JW
3457Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com)
3458
3459 * loop.c (scan_loop): Use CONST_CALL_P instead of
3460 checking for REG_LIBCALL / REG_RETVAL.
3461
f49957d6
JL
3462Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com)
3463
850aac53
JL
3464 * reload1.c (reload_as_needed): Accept dumpfile argument,
3465 pass it to emit_reload_insns.
3466 (emit_reload_insns): Add new dumpfile argument. If non-null
3467 then dump the reloads for each insn into the dumpfile.
3468 (reload): Pass dumpfile to reload_as_needed.
3469
f49957d6
JL
3470 * invoke.texi: Clean up linux-gnu vs linux comments.
3471
041f25e6
RH
34722000-08-19 Richard Henderson <rth@cygnus.com>
3473
3474 * config/ia64/ia64.c (reg_or_5bit_operand): New.
3475 (ia64_depz_field_mask): New.
3476 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
3477 (PREDICATE_CODES): Update.
3478 * config/ia64/ia64.md: Update commentary.
3479 (depz_internal): New.
3480 (ashlsi3): Implement directly.
3481 (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
3482 (ashldi3): Use shladd.
3483 * config/ia64/ia64-protos.h: Update.
3484
319ea138
ZW
34852000-08-18 Zack Weinberg <zack@wolery.cumb.org>
3486
3487 * toplev.c (independent_decode_option): Always process -g.
3488 Remove third argument, now unused. Adjust caller to match.
3489
8231ad94
RH
34902000-08-18 Richard Henderson <rth@cygnus.com>
3491
3492 * combine.c (make_compound_operation): Break after creating
3493 the extraction.
3494
6e19bb38
ZW
34952000-08-18 Zack Weinberg <zack@wolery.cumb.org>
3496
3497 * cpplib.c (cpp_register_pragma_space): Just return if the
3498 namespace is already registered.
3499
477d303f
RE
35002000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com>
3501
3502 * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
3503 constant amount. Do not generate ROTL instruction.
3504
ffe51c8a
AO
3505Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com>
3506
3507 * config/sh/elf.h: Do not include sh/sh.h.
3508 * config/sh/rtems.h: Likewise.
3509 * config/sh/rtemself.h: Do not include sh/elf.h.
3510 * configure.in: Get them included with `tm_file's.
3511 * configure: Rebuilt.
3512
8845e874
AO
3513 * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
3514 * config/sh/sh.c (fpscr_set_from_mem): Use them.
3515
3f546a53
RK
3516Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3517
7d2950e5
RK
3518 * stor-layout.c (compute_record_type): Don't use mode of single
3519 field as mode of record if not integer mode of same type.
3520
a1c1fdd0
RK
3521 * regmove.c (perhaps_ends_bb_p): New function.
3522 (optimize_reg_copy_1, optimize_reg_copy_2): Call it.
3523 (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
3524 (fixup_match_1): Likewise.
3525 (fixup_match_1, combine_stack_adjustments_for_block): Add casts to
3526 avoid signed/unsigned warnings.
0e5921e8 3527
3f546a53
RK
3528 * function.c (fixup_var_refs_1, case MEM): Update CODE after
3529 updating X.
3530
61d0346d
NB
3531Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net>
3532
3533 * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
3534 (_cpp_trigraph_map): Declaration moved from cpplex.c
3535
3536 * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1
3537 instead of 256. Use consistent test for designated initializers.
3538 (cpp_init): Initialize trigraph_map.
3539 (initialize_standard_includes, parse_option): Use memcmp
3540 instead of strncmp.
3541
3542 * cpplex.c (init_trigraph_map): Remove.
3543 (trigraph_ok, trigraph_replace, lex_line): Refer to
3544 _cpp_trigraph_map.
3545
3546 * cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
3547 (do_unassert): Remove unused "next" local.
3548
3549 * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
3550
ef42b1dd
EM
35512000-08-18 Emmanuel Marty <emarty@suntech.fr>
3552
3553 * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
3554 insn.
3555
bc08aefe
RH
35562000-08-17 Richard Henderson <rth@cygnus.com>
3557
3558 * config/ia64/ia64.c (spill_restore_mem): Handle emitting
3559 the first insn in a sequence.
3560
49982682
JW
3561Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com)
3562
3563 * alias.c (true_dependence, write_dependence_p): A read
3564 involving a label_ref or the constant pool doesn't create
3565 a dependency.
3566
3567 * rtl.h (unchanging): Improve documentation.
3568
889e5964
RB
35692000-08-17 Rodney Brown <RodneyBrown@mynd.com>
3570
3571 * cse.c (insert_regs): Remove unused `regno'.
3572
dd69c71b
NB
35732000-08-17 Neil Booth <NeilB@earthling.net>
3574
3575 * (cppinit.c) merge_include_chains: Use remove_dup_dir,
3576 remove_dup_dirs. If qtail == brack, remove brack not
3577 qtail.
3578 (remove_dup_dir, remove_dup_dirs): New functions.
3579
709e9e50
NB
35802000-08-17 Neil Booth <NeilB@earthling.net>
3581
3582 * cppinit.c (cpp_cleanup): Free include dir chains.
3583 * cpplib.c (do_undef): Let _cpp_free_definition make the node void.
3584 (do_unassert): Free the assert with _cpp_free_definition.
3585 * cppmacro.c (_cpp_free_definition): Free memory allocated for
3586 assertions. Make the node a T_VOID node.
3587
e33f6253
NB
35882000-08-17 Neil Booth <NeilB@earthling.net>
3589
3590 * cppinit.c (path_include, append_include_chain):
3591 Remove 2nd parameter (struct cpp_pending *).
3592 (path_include, initialize_standard_includes, cpp_handle_option):
3593 Update callers appropriately.
3594 (cpp_handle_option): Use pend.
3595
c154ba66
NB
35962000-08-17 Neil Booth <NeilB@earthling.net>
3597
3598 * cppinit.c (sort_options): Remove, put functionality in
3599 cpp_init.
3600 (cpp_init): New.
3601 (initialize_builtins): Free memory.
3602 (cpp_start_read): Move init_IStable to cpp_init.
3603
3604 * cpplib.h (cpp_init): New prototype.
3605 * cppmain.c (main): Call cpp_init.
3606
9c82ac6b
JW
3607Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com)
3608
3609 * rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
3610 (rtx_unstable_p, rtx_varies_p): Process vectors.
3611
acd50a92
NY
36122000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
3613
3614 * config/sh/lib1funcs.asm (GLOBAL): Define. Use for all
3615 references to GLOBAL symbols. Use LOCAL where appropriate.
3616
cfedbb1f
KG
36172000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3618
3619 * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always
3620 use t-aix41 when host == target.
3621
31989264
RH
36222000-08-16 Richard Henderson <rth@cygnus.com>
3623
3624 * reload.c (push_secondary_reload): Revert last change.
3625 If we use a reload_in/out pattern, make the when the same
3626 as the primary reload.
3627 (find_reloads): Likewise.
3628
d84c5634
MH
36292000-08-16 Manfred Hollstein <manfredh@redhat.com>
3630
3631 * configure.in (libstdcxx-v3): Fix test.
3632 * configure: Regenerate.
3633
43db0363
RK
3634Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3635
3636 * calls.c (calls_function_1, expand_call): Only test
3637 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
3638 * function.c (thread_prologue_and_epilogue_insns): Likewise.
3639
853d8828
RH
36402000-08-16 Richard Henderson <rth@cygnus.com>
3641
3642 * combine.c (simplify_shift_const): Revert previous two
3643 changes. If SHIFT_COUNT_TRUNCATED, crop the shift count
3644 before the main loop.
3645
3e626beb
RH
36462000-08-15 Richard Henderson <rth@cygnus.com>
3647
3648 * combine.c (simplify_shift_const): Bound shift count when
3649 combining shifts.
3650
f507188a
RK
3651Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3652
7393c642
RK
3653 * calls.c (ECF_SP_DEPRESSED): New macro.
3654 (calls_function_1): Treat calling sp-depressed function as alloca.
3655 (emit_call_1): Don't adjust SP if calling sp-depressed function.
3656 (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
3657 If sp-depressed, ensure block saves and restores SP.
3658 * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
3659 for INTEGER_TYPE.
3660 * function.c (keep_stack_depressed): New function.
3661 (thread_prologue_and_epilogue_insns): Call it.
3662 * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
3663 to print DECL_OFFSET_ALIGN.
3664 Print no-force-blk and transparent-union flags properly.
3665 * stmt.c (expand_goto_internal): Don't restore stack if last block
3666 and function returns with sp depressed.
3667 (fixup_gotos): Likewise.
3668 (save_stack_pointer): New function, from code in expand_decl.
3669 (expand_decl): Call new function.
3670 * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
3671 (TYPE_RETURNS_STACK_DEPRESSED): New macro.
3672 (save_stack_pointer): New declaration.
3673
f507188a
RK
3674 * diagnostic.c (fatal_function): New variable.
3675 (set_fatal_function): New function.
3676 (fatal): Call it.
3677 * diagnostic.h (set_fatal_function): New declaration.
3678
56847207
WC
36792000-08-15 William Cohen <wcohen@redhat.com>
3680
3681 * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
3682 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
3683 (DWARF2_ASM_LINE_DEBUG_INFO): Defined.
3684
7791b7f9
RH
36852000-08-15 Richard Henderson <rth@cygnus.com>
3686
3687 * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
3688
f99fce0c
RE
36892000-08-15 Richard Earnshaw <rearnsha@arm.com>
3690
3691 * arm.c (arm_function_ok_for_sibcall): New function.
3692 * arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
3693 * arm.md (call expanders): Don't check here for calls that can't
3694 be sibling calls.
3695
74da3101
RE
36962000-08-15 Richard Earnshaw <rearnsha@arm.com>
3697
3698 * arm.md (splits generating cond_exec): Disable.
3699
2c210617
RE
37002000-08-15 Richard Earnshaw <rearnsha@arm.com>
3701
3702 * arm/linux-elf.h (text_section): Delete declaration.
3703
05ed98a1
RE
37042000-08-15 Richard Earnshaw <rearnsha@arm.com>
3705
3706 ARM support for unordered FP operations.
3707 * arm-protos.h (arm_comparison_operator): Declare.
3708 * arm.c (arm_comparison_operator): New function.
3709 (arm_select_cc_mode): Add unordered comparison codes.
3710 (get_arm_condition_code): Likewise.
3711 (arm_final_prescan_insn): Can't handle unordered jumps that can't
3712 be done in one insn.
3713 * arm.h (PREDICATE_CODES): Add arm_comparison_operator.
3714 * arm.md (all uses of comparison_operator): Replace with
3715 arm_comparison_operator.
3716 (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
3717 expands.
3718 (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
3719 patterns.
0e5921e8 3720
ed78c862
OP
3721Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
3722
3723 * gthr-posix.h: Conditionally include <sched.h>; include
3724 <config.h> from libobjc/.
3725
4859dd36
RH
37262000-08-14 Richard Henderson <rth@cygnus.com>
3727
3728 * config/i386/i386.c (legitimize_pic_address): Use Pmode
3729 for all CONSTs.
3730
3f622353
RH
37312000-08-14 Richard Henderson <rth@cygnus.com>
3732
3733 * configure.in (ia64-*): Set float_format for i386 long double.
3734
3735 * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
3736 as we would for i386 XFmode.
3737 (PUT_REAL): Likewise.
3738 (endian, ereal_atof, real_value_truncate): Likewise.
3739 (ereal_isneg, toe64, etens, make_nan): Likewise.
3740 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
3741
3742 * config/ia64/ia64-protos.h: Update.
3743 * config/ia64/ia64.c (general_tfmode_operand): New.
3744 (destination_tfmode_operand): New.
3745 (tfreg_or_fp01_operand): New.
3746 (ia64_split_timode): New.
3747 (spill_tfmode_operand): New.
3748 (ia64_expand_prologue): Use TFmode not XFmode.
3749 (ia64_expand_epilogue): Likewise.
3750 (ia64_function_arg): Likewise.
3751 (ia64_function_arg_advance): Likewise.
3752 (ia64_return_in_memory): Likewise.
3753 (ia64_function_value): Likewise.
3754 (ia64_print_operand): Likewise.
3755 (ia64_register_move_cost): Set GR<->FR to 5.
3756 (ia64_secondary_reload_class): Get GR for TImode memory op.
3757 * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
3758 (ROUND_TYPE_ALIGN): Remove.
3759 (LONG_DOUBLE_TYPE_SIZE): Set to 128.
3760 (INTEL_EXTENDED_IEEE_FORMAT): Define.
3761 (HARD_REGNO_NREGS): Use TFmode, not XFmode.
3762 (HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs.
3763 (MODES_TIEABLE_P): Use TFmode, not XFmode.
3764 (CLASS_MAX_NREGS): Likewise.
3765 (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
3766 (PREDICATE_CODES): Update.
3767 * config/ia64/ia64.md (movti): New.
3768 (movti_internal): Use a clobber for memory alternatives.
3769 (reload_inti, reload_outti): New.
3770 (movsfcc_astep): Predicate properly.
3771 (movdfcc_astep): Likewise.
3772 (movxf): Remove.
3773 (movtf): New.
3774 (extendsftf2, extenddftf2): New.
3775 (trunctfsf2, trunctfdf2): New.
3776 (floatditf2, fix_trunctfdi2): New.
3777 (floatunsditf2, fixuns_trunctfdi2): New.
3778 (addtf3, subtf3, multf3, abstf2): New.
3779 (negtf2, nabstf2, mintf3, maxtf3): New.
3780 (maddtf3, msubtf3, nmultf3, nmaddtf3): New.
3781 (cmptf): New.
3782 (fr_spill): Use TFmode, not XFmode.
3783 (fr_restore): Likewise.
3784 * config/ia64/lib1funcs.asm (__divtf3): New.
3785 * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
3786
e49a1d2e
KG
37872000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3788
3789 * cse.c (fold_rtx): Avoid empty body in an if-statement.
0e5921e8 3790
e49a1d2e
KG
3791 * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
3792 `U' integer constant suffix.
3793
3794 * dwarf2out.c (add_subscript_info): Avoid empty body in an
3795 else-statement.
3796
3797 * sparc/sol2.h (__enable_execute_stack): Prototype.
3798
78fbdbf7
DE
37992000-08-14 David Edelsohn <edelsohn@gnu.org>
3800
3801 * collect2.c: Remove use of AIX import file.
3802
3803 * longlong.h: Test ARCH_PWR not ARCH_POWER.
3804
3805 * rs6000.c (print_operand, case 'E'): Add else.
3806
9a89adb8
RH
38072000-08-14 Richard Henderson <rth@cygnus.com>
3808
3809 * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
3810 (movdi_symbolic): New.
3811
00e149c7
JW
38122000-08-14 Jim Wilson <wilson@cygnus.com>
3813
3814 * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
3815 to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
3816 * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
3817 to GNU as.
3818
2ee5437b
RH
38192000-08-14 Richard Henderson <rth@cygnus.com>
3820
3821 * expr.c (emit_group_load): Don't force constants into registers.
3822 Special case source already in the correct mode.
3823
57119aa9
ZW
38242000-08-14 Zack Weinberg <zack@wolery.cumb.org>
3825
3826 * configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
3827 * fixinc/inclhack.def: Likewise.
0e5921e8 3828 * fixinc/mkfixinc.sh: Likewise.
57119aa9
ZW
3829 * configure: Regenerate.
3830 * fixinc/fixincl.x: Regenerate.
3831 * install.texi: Document equivalence of linux and linux-gnu.
3832
d9f20424
R
3833Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
3834
3835 * cse.c (insert_regs): Also in REG case: When finding an invalid
3836 value, and we make a new quantity, make sure that it won't be
3837 mistaken by for a valid one by mention_regs.
3838
c8fa6556
RG
3839