]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
c-common.c (scanf_flag_specs): Add flags ' and I.
[gcc.git] / gcc / ChangeLog
CommitLineData
4831bc84
JM
12000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
2
3 * c-common.c (scanf_flag_specs): Add flags ' and I.
4 (strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
5 or the ^ and # flags together.
6 (scan_char_table): Handle the ' and I flags.
7 (format_types): Add ' and I flags for scanf.
8
2f7026a0
JM
92000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
10
11 * c-common.c (print_char_table): Use the unpromoted type for
12 lengths "h" and "hh" with conversions dioxXu.
13 (check_format_types): Apply the default argument promotions where
14 the wanted type is not a pointer target.
15
bb58bec5
JM
162000-10-11 Michael Meeks <mmeeks@gnu.org>
17 Joseph S. Myers <jsm28@cam.ac.uk>
18
19 * c-typeck.c (check_modify_expr): New function.
20 (build_modify_expr): Call it if warn_sequence_point.
21 * c-decl.c (warn_sequence_point): New variable.
22 (c_decode_option): Handle -Wsequence-point and
23 -Wno-sequence-point. Enable -Wsequence-point as part of -Wall.
24 * c-tree.h (warn_sequence_point): Declare.
25 * invoke.texi (-Wsequence-point): Document.
26 * toplev.c (documented_lang_options): Add -Wsequence-point and
27 -Wno-sequence-point.
28 Original work by Michael Meeks, 16 Jun 1998.
29
0fba7208
RK
30Wed Oct 11 06:15:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
31
32 * tree.c (get_narrower): Don't look at precision of field if
33 not laid out yet.
34
67e570ea
DC
35Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
36
37 * config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
38 declaration for data with "progmem" attribute.
39
80b8585d
MM
402000-10-09 Marek Michalkiewicz <marekm@linux.org.pl>
41
42 * config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
43 Correct insn length if shift count is a memory operand.
44 * config/avr/avr.md: New define_peephole2 to use *reload_inqi.
45 (*iorhi3_clobber): Change lo8 to hi8.
46 (zero_extendhisi2): Change %B0 to %A1.
47 (ashlhi3, ashrhi3): Correct insn length.
48 (andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
49 from "clobber" to "set_n" in some alternatives.
50
462561b7
JJ
512000-10-10 Jakub Jelinek <jakub@redhat.com>
52
53 * reload1.c (calculate_needs_all_insns): If deleting an instruction,
54 remove its insn_chain structure as well.
55
0b8833aa
DA
562000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
57
58 * dbxout.c (dbxout_source_line): Remove extra tab.
59
c690f089
HPN
602000-10-09 Hans-Peter Nilsson <hp@bitrange.com>
61
62 * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
63
1854631b
RH
642000-10-09 Richard Henderson <rth@cygnus.com>
65
66 * Makefile.in (LANG_LIB2FUNCS): Remove.
67 (LIB2FUNCS): Remove _pure.
68 (LIB2ADD): Remove LANG_LIB2FUNCS.
69 (stage_a): Don't set LANG_LIB2FUNCS.
70 * libgcc2.c (__terminate): Mark noreturn.
71 (__pure_virtual): Remove.
72 * mklibgcc.in: Remove LIB2ADD .txt processing.
73
880c4dcb
RE
742000-10-09 Richard Earnshaw <rearnsha@arm.com>
75
76 * arm.md (push_multi): Revert unintended change.
77
5895f793
RE
782000-10-09 Richard Earnshaw <rearnsha@arm.com>
79
80 * arm.c: Miscellaneous white space and comment clean-ups. No
81 functional change.
82 * arm.md: Likewise.
83
1092710d
KG
842000-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
85
86 * c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
87 STRING_CST by calling combine_strings.
88
ca356f3a
RE
892000-10-09 Richard Earnshaw <rearnsha@arm.com>
90
91 * arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
92 (thumb_output_move_mem_multiple): Support new insn format.
93 * arm.md (movmem12b): Use SSA compatible format.
94 (movmem8b): Likewise.
95
cca0a211
RE
962000-10-09 Richard Earnshaw <rearnsha@arm.com>
97
98 * arm.md (predicable): New attribute, default to "no".
99 (all patterns): Mark as predicable if appropriate.
100 (conditional execution splits): Split using predication format.
101 (define_cond_exec): Define.
102 * arm.c (arm_print_operand): handle insn predicate.
103
1146cfde
GP
1042000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
105
106 * README.NS32K: Remove file.
107
1082000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
109
110 * README-bugs: Remove file.
111
4d0230e1
PT
1122000-10-08 Philipp Thomas <pthomas@suse.de>
113 * aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
114 for test.
115 * configure: Rebuilt.
116
9fdf713f
PT
1172000-10-08 Philipp Thomas <pthomas@suse.de>
118 * aclocal.m4 (AM_WITH_NLS): When not using included gettext,
119 disable catalog building if no suitable program was found.
120 Move warning message from here
121 (AM_GNU_GETTEXT): To here.
122 * configure: Rebuilt.
123
00036f5c
PT
1242000-10-08 Philipp Thomas <pthomas@suse.de>
125 * aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
126 different cache variables.
127 (GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
128 uses different cache variables.
129 (AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
130 * configure: Regenerated.
131
aefa45d3
RH
1322000-10-08 Richard Henderson <rth@cygnus.com>
133
134 * Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
135 * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
136 * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
137 Use SHLIB_EXT.
138
139 * config/t-linux (SHLIB_EXT): New.
140 (SHLIB_LINK): Use the entire build command, with substitutions.
141 (SHLIB_LIBS): Remove.
142 * config/alpha/t-osf4: Likewise.
143 * config/mips/t-iris6: Likewise.
144 * config/sparc/t-sol2: Likewise, but move shlib stuff...
145 * config/sparc/t-slibgcc-sld: ...here.
146 * config/sparc/t-slibgcc: New file.
147
b15ad712
JM
1482000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
149
150 * tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
151 * c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
152 CTI_UINTMAX_TYPE.
153 (intmax_type_node, uintmax_type_node): Define.
154 * c-common.c (decl_attributes): If pedantic, warn if `mode'
155 attributes create a type wider than intmax_t.
156 (T_IM, T_UIM): Define properly.
157 * c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
158 defined.
159 (init_decl_processing): Initialize intmax_type_node and
160 uintmax_type_node.
161 * c-lex.c (lex_number): When pedantic and warning for integer
162 constants that are too large, in C99 mode warn for those that have
163 a type wider than long long.
164
2588e44e
JM
1652000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
166
167 * c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
168 FMT_FLAG_FANCY_PERCENT_OK): Define.
169 (format_char_info): Add flag "4" to comment.
170 (format_flag_spec, format_flag_pair): New structures.
171 (format_kind_info): Add additional fields to control format
172 checking.
173 (printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
174 scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
175 arrays.
176 (time_char_table): Use "4" flag to handle %Ey.
177 (format_types): Add entries for new fields.
178 (get_flag_spec): New function.
179 (check_format_info): Increase size of flag_chars[] to 256.
180 Control format checking using the new fields of a format_kind_info
181 and the new tables; remove all conditionals on printf_format_type,
182 scanf_format_type or strftime_format_type. Handle all details of
183 bad combinations of flags (including width, precision and strftime
184 modifiers) through data rather than ad hoc code. Handle all
185 details of standard versions in which flags appeared through
186 data. Use the "4" flag.
187
7b7de7c0
WC
1882000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
189
190 * config/h8300/h8300.md: Remove the memory alternative and correct
191 the insn lengths in the templates for sign extention and zero
192 extention.
193
9a1ba437
RH
1942000-10-07 Richard Henderson <rth@cygnus.com>
195
196 * calls.c (expand_call): Disallow sibcalls to noreturn functions.
197 * flow.c (make_edges): Revert last change.
198
199 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
200 TREE_THIS_VOLATILE.
201 * config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
202
d38d55b4
DB
2032000-10-06 David O'Brien <obrien@dragon.nuxi.com>
204
205 * config/alpha/elf.h: Standardize the formatting.
206
94984e91
DB
2072000-10-06 David O'Brien <obrien@FreeBSD.org>
208
209 * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
210 #undef.
211
3e4eac3f
RH
2122000-10-06 Richard Henderson <rth@cygnus.com>
213
214 * function.c (diddle_return_value): Examine
215 current_function_return_rtx instead of the DECL_RESULT.
216 (expand_function_end): Handle reloading DECL_RESULT from memory
217 into a hard register. Query promote_mode for sign of mismatched
218 modes.
219
4071f896
VM
2202000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
221
222 * haifa-sched.c (schedule_insns): Fix typo in freeing
223 forward_dependency_cache.
224
eb69f95c
AO
2252000-10-06 Alexandre Oliva <aoliva@redhat.com>
226
227 * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
228 `TARGET_SH2' as a condition.
229
178b88b9
VM
2302000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
231
232 * haifa-sched.c (anti_dependency_cache, output_dependency_cache,
233 forward_dependency_cache): New variables.
234 (add_dependence, remove_dependence): Use anti_dependency_cache and
235 output_dependency_cache.
236 (compute_block_forward_dependences): Use forward_dependency_cache.
237 (schedule_insns): Allocate and free memory for anti/output/forward
238 dependencies caches.
239
827bdee4
AO
2402000-10-06 Alexandre Oliva <aoliva@redhat.com>
241
242 * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
243 `! TARGET_SH1'. Reindent.
244
c70eaeaf
KG
2452000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
246
247 * builtins.c (is_valid_printf_arglist, expand_builtin_printf):
248 Move functions from here ...
249
250 * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
251 ... to here.
252 (c_expand_builtin): New function.
253 (init_function_format_info): Don't set `check_function_format_ptr'.
254 (c_common_nodes_and_builtins): Set built_in_class type for
255 printf/__builtin_printf to BUILT_IN_FRONTEND.
256 (c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
257
258 * c-common.h (build_function_call): Declare.
259
260 * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
261 to `lang_expand_expr' rather than `expand_builtin'.
262
263 * tree.c (check_function_format_ptr): Delete.
264
265 * tree.h (check_function_format_ptr): Likewise.
266
f299afab
HPN
2672000-10-06 Hans-Peter Nilsson <hp@bitrange.com>
268
269 * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
270 DW_OP_bregx when cfa->reg > 31.
271
272 * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
273 break.
274
b313a0fe
RH
2752000-10-05 Richard Henderson <rth@cygnus.com>
276
277 * c-decl.c (warn_missing_noreturn): Remove.
278 (c_expand_body): Don't set or check can_reach_end.
279 * c-tree.h (warn_missing_noreturn): Move ...
280 * flags.h: ... here.
281 (can_reach_end): Remove.
282 * flow.c (check_function_return_warnings): New.
283 (make_edges): No edge to exit for noreturn sibcalls.
284 * function.c (expand_function_end): Save the return value
285 clobber instruction.
286 (mark_function_status): Mark it.
287 * function.h (struct function): Add x_clobber_return_insn.
288 * jump.c (can_reach_end): Remove.
289 (calculate_can_reach_end): Remove.
290 (jump_optimize_1): Don't call it.
291 * output.h (check_function_return_warnings): Declare.
292 * toplev.c (warn_missing_noreturn): Move from c-decl.c
293 (rest_of_compilation): Call check_function_return_warnings.
294
83dad10c
RH
2952000-10-05 Richard Henderson <rth@cygnus.com>
296
297 * Makefile.in (NM_FOR_TARGET): New.
298 (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
299 (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
300 * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map. Depend the
301 shared library build on that and EXTRA_MULTILIB_PARTS.
302 * mkmap-flat.awk: New file.
303 * mkmap-symver.awk: New file.
304 * libgcc-std.ver: New file.
305 * config/libgcc-glibc.ver: New file.
306 * config/ia64/libgcc-ia64.ver: New file.
307 * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
308 (SHLIB_LINK): Add --version-script.
309 * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
310 * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
311 * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
312 (SHLIB_LINK): Add -M.
313
d6eacd48
RH
3142000-10-05 Richard Henderson <rth@cygnus.com>
315
316 * Makefile.in (LIB2FUNCS): Add _clz.
317 * libgcc2.c (__ffsdi2): Use count_trailing_zeros.
318 (__clz_tab): Put in its own unit, non-static.
319 * libgcc2.h: Always include longlong.h.
320
29279975
RH
321 * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
322 a zero instead of -1.
323 (count_trailing_zeros): Likewise.
324
c74fa144
RH
3252000-10-05 Richard Henderson <rth@cygnus.com>
326
327 * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
328 when second op1 is const0_rtx. Validate op0 as a register.
329 * config/alpha/alpha.md (setcc_internal): Don't allow constants
330 in the first argument of the compare.
331 (setcc_swapped_internal): Likewise.
332 (setne_internal): Likewise.
333
c5620996
GK
3342000-10-05 Geoff Keating <geoffk@cygnus.com>
335
336 * tree.c (tree_size): New function split out of copy_node.
337 (make_node): Remove obstack handling. Use tree_size.
338 (copy_node): Use tree_size.
339 * tree.h: Prototype tree_size.
340
331fe257
RH
3412000-10-05 Richard Henderson <rth@cygnus.com>
342
343 * diagnostic.c (output_format): Add missing break.
344
cc0cbae1
JW
3452000-10-05 Jim Wilson <wilson@cygnus.com>
346
347 * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
348 SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
349 sequence insn to INSN, and delete last sequence insn.
350
f5fa9a5b
PE
3512000-10-05 Phil Edwards <pme@gcc.gnu.org>
352
353 * gcc.c (main): Include generated configargs.h header
354 and use arguments in '-v' output.
355
2296d164
RK
356Thu Oct 5 16:16:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
357
358 * gcc.c: Move data on prefixes forward in file and reorganize.
359 (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
360 Always define, but make null if no value.
361 (static_specs): Add "md_exec_prefix", "md_startfile_prefix",
362 and "md_startfile_prefix_1".
363 (main): Check whether md_exec_prefix and the others are the
364 null string rather than whether the macro is defined.
365
43d75418
R
366Thu Oct 5 19:04:18 2000 J"orn Rennecke <amylaar@redhat.co.uk>
367
368 * (convert_move): Use zero_extendpsisi2 to do an unsigned extension
369 from PSImode to SImode.
370
e389897b
JJ
3712000-10-05 Jakub Jelinek <jakub@redhat.com>
372
373 * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
374 from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
375 * dwarf2out.c (add_const_value_attribute): Divide by 4, not
376 sizeof(long).
377
b8fbe62c
RK
378Thu Oct 5 09:31:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
379
380 * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
381 negation in proper type.a
382
50503ac8
RH
3832000-10-04 Richard Henderson <rth@cygnus.com>
384
385 * configure.in (enable-shared): New.
386 * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
387 (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
388 * mklibgcc.in: Use them to link shared a libgcc.
389 * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
390 * config/alpha/t-ieee (SHLIB_MULTILIB): New.
391 * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
392 * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
393
394 * configure.in (alpha-osf*): Use t-osf and x-osf.
395 * config/alpha/t-osf: New file.
396 * config/alpha/t-osf4: New file.
397 * config/alpha/x-osf: New file.
398 * config/alpha/x-alpha: Remove file.
399
4b606faf
WC
4002000-10-04 Will Cohen <wcohen@redhat.com>
401
402 * c-typeck.c (process_init_element): Added warning for zero-length
403 array.
404
405 * extend.texi (Zero Length): State that static initializers for
406 zero-length arrays are not allowed.
407
c9b89a21
JH
408Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz>
409
410 * rtlanal.c (single_set_1): Do not require USE and CLOBBERs
411 to come last.
412
81bce466
MH
4132000-10-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
414
415 * config/float-c4x.h: New.
416 * configure.in (c4x-*): Set float_format to c4x.
417 * configure: Regenerate.
418
72882e08
KG
4192000-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
420
421 * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
422 compilation for solaris versions 2.7 and greater.
423
618ec0d7
DB
4242000-10-02 David O'Brien <obrien@dragon.nuxi.com>
425
426 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
427
f15b9af9
MM
4282000-10-01 Mark Mitchell <mark@codesourcery.com>
429
776749c5
MM
430 * config/ns32k/genix.h: Remove.
431 * config/ns32k/x-genix: Likewise.
432 * config/ns32k/xm-genix.h: Likewise.
433 * config/fx80: Remove all filee in directory.
434 * config/pyr: Likewise.
435 * config/tahoe: Likewise.
436 * config/gmicro: Likewise.
437 * config/spur: Likewise.
438 * configure.in: Remove configury bits for above targets.
439 * configure: Regenerated.
440
a7b4171a
MM
441 * configure.in: Don't configure chill by default.
442 * configure: Regenerated.
443
f15b9af9
MM
444 * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
445 (lang_mark_false_label_stack): Remove.
446 * c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate
447 <top level> string in GC area.
448 (mark_splay_tree_node): New function.
449 (mark_splay_tree): Likewise.
450 * except.c (mark_eh_status): Only call lang_mark_false_label_stack
451 if it exists.
452 * ggc-callbacks.c (lang_mark_false_label_stack): Remove.
453 * ggc-common.c (lang_mark_false_label_stack): Change type.
454 * ggc.h (ggc_alloc_string): Add comment.
455 (ggc_strdup): New function.
456
51296ba0
DC
457Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru>
458
459 * config/avr/avr.h (BRANCH_COST): Define as 0.
460
461 * config/pdp11/pdp11.c: #include "tree.h" added.
462
adcd8f77
MM
4632000-09-30 Marek Michalkiewicz <marekm@linux.org.pl>
464
465 * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
466 ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
467 with known shift count.
468 * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
469 New alternative for shift count 2 with no scratch register.
470 (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
471 "set_n" for shift counts 1 and 2.
472
e35b9579
GK
4732000-09-30 Geoff Keating <geoffk@cygnus.com>
474
475 * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE. Calculate
476 the mask value from the individual SET operations.
477 (return_internal_si): Move the USE after the RETURN.
478 (return_internal_di): Likewise.
479 (return_and_restore_fpregs_si): Likewise.
480 (return_and_restore_fpregs_di): Likewise.
481 (return_eh_si): Likewise.
482 (return_eh_di): Likewise.
483 * config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
484 or check, the USE.
485 (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
486 Don't generate a PARALLEL around a single operation movsi_to_cr.
487 Generate the RETURN first in any PARALLELs.
488
489 * rtlanal.c (single_set_1): Use fatal_insn to display the
490 invalid insn. Check for more cases when a USE or CLOBBER occurs
491 before a SET.
492 * Makefile.in: Update dependencies for rtlanal.o.
493
1fba7553
JM
4942000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
495
496 * i386.c: Move include of "config.h" to before that of <setjmp.h>.
497
28e6b1c2
JM
4982000-09-30 Joseph S. Myers <jsm28@cam.ac.uk>
499
500 * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
501 Consistently use @email for formatting email addresses.
502
f2fa288f
RH
5032000-09-29 Richard Henderson <rth@cygnus.com>
504
505 * cse.c (notreg_cost): New argument outer.
506 (COST): Pass in SET to notreg_cost
507 (COST_IN): New.
508 (fold_rtx): Use COST_IN. Prefer constants when costs
509 are the same.
510
a1c63101
DE
5112000-09-29 David Edelsohn <edelsohn@gnu.org>
512
513 * fixinc/inclhack.def (broken_cabs): Generalize regex.
514 * fixinc/fixincl.x: Regenerate.
515
70dd0f7f
FS
5162000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
517
518 * loop.c (check_final_value): A GIV is not replaceable if used
519 before set.
520
0c6129af
JL
521Fri Sep 29 10:04:12 2000 Jeffrey A Law (law@cygnus.com)
522
523 * version.c: Bump to gcc-2.97.
524
525Frs Sep 29 13:37:59 MET DST 2000 Jan Hubicka <jh@suse.cz>
6c698a6d
JH
526
527 * final.c (final_scan_insn): Remove extra extract_insn call;
528 Use caching for constrain_operands.
529 (cleanup_subreg_operands): Use caching for extract_insn.
530 * recog.c (constrain_operands_cached): New.
531 * recog.h (constrain_operands_cached): Declare.
532 * i386.c (ix86_attr_length_immediate_default,
533 ix86_attr_length_address_default, ix86_agi_dependant): Cache
534 extract_insn call.
535
536 * recog.c (asm_noperands): Tweak.
537 (extract_insn): Do not call asm_noperads for non-asm instructions.
538
539Fri Sep 29 13:20:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
540
541 * recog.c (recog_memoized): Rename to recog_memoized_1.
542 * recog.h (recog_memoized): Rename to recog_memoized_1.
543 (recog_memoized): New macro.
544 * rtl.h (single_set): Rename to single_set_1
545 (single_set): New macro.
546 * rtlanal.c (single_set): Rename to single_set_1; expect clobbers
547 to be last.
548
549 * i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
550 Do not use match_dup of input operands at outputs.
551 Use register_operand for memory expression.
552 (rep_movsi): Put use last, canonicalize.
553 Use register_operand for memory expression.
554 (rep_movqi): Put use last.
555 Use register_operand for memory expression.
556 (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
557 of input operands at outputs. Use register_operand for memory
558 expression.
559 (rep_stossi): Put use last; canonicalize; fix match_dup in
560 the address expression
561 (rep_stosqi): Likewise.
562 (memcmp expander): Update calls.
563 (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
564 the clobbers.
565
566 * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
567 VOIDmode.
568 (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
569
41e5a1f5
DB
5702000-09-28 David O'Brien <obrien@FreeBSD.org>
571
572 * config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
573 Contains the old contents of config/i386/freebsd.h
574 * config/i386/freebsd.h: Now the ELF rather than a.out config file.
575 Contains the old contents of config/i386/freebsd-elf.h
576 * config/i386/freebsd-elf.h: Retire this file -- contents moved to
577 config/i386/freebsd.h.
578 * configure.in: Adjust for above changes.
579 * po/POTFILES.in: Likewise.
580 * po/en_GB.po: Likewise.
581 * po/gcc.pot: Likewise.
582 * configure: Rebuilt.
583
1db88ef9 5842000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
70dd0f7f 585
1db88ef9
FS
586 * doloop.c (doloop_modify): Prevent delete_insn() from
587 deleting too much. Prefer loop->top over loop->start as
588 target for the new JUMP insn.
589 (doloop_valid_p): Ignore loop with exit_count != 0.
590
6a07a77f
PT
5912000-09-28 Philipp Thomas <pthomas@suse.de>
592
593 * invoke.texi (i386 Options): Add athlon to table of possible
594 choices for -mcpu=.
595
b5dd2c76
GDR
5962000-09-28 Gabriel Dos Reis <gdr@codesourcery.com>
597
598 * diagnostic.h (output_clear_message_text): New function.
599 (output_message_text): New macro.
600
601 * diagnostic.c (clear_text_info): Rename to
602 output_clear_message_text.
603 (output_clear): Adjust.
604 (output_finish): Rename to output_finalize_message. Tweek.
605 (output_to_stream): Adjust.
606
d8090680
NB
6072000-09-28 Neil Booth <neilb@earthling.net>
608
609 * cpperror.c (_cpp_begin_message): Do the test for suppression
610 of warnings and pedantic warnings before the "is a warning an
611 error" tests.
612 * cppinit.c (cpp_handle_option): Remove surplus \n.
613 * cpplex.c (ON_REST_ARG): Delete.
614 (skip_block_comment): Initialise prevc.
615 (parse_args): Improve error messages.
616 (maybe_paste_with_next): Use CONTEXT_VARARGS rather
617 than ON_REST_ARG.
618 * cpplib.c (cpp_push_buffer): Fix grammar in message.
619 * cppmain.c (main): Set callbacks for #ident and #pragma
620 only if no_output option is false.
621 (do_pragma_implementation): Only call the #pragma handler
622 if it is set in the cpp_reader structure.
623
e93eff94
DL
624Wed Sep 27 14:00:07 2000 Donald Lindsay <dlindsay@cygnus.com>
625
626 * integrate.c (copy_insn_list): if an ignored return value
627 is being clobbered, skip cloning that into the inline copy.
628
59c5d27a
JM
6292000-09-27 Joseph S. Myers <jsm28@cam.ac.uk>
630
631 * extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
632 use @uref for formatting URLs.
633
15ca066d
ME
6342000-09-27 Mark Elbrecht <snowball3@bigfoot.com>
635
636 * config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
637 name and prefix.
638
5a8e2650
NB
639Tue 26-Sep-2000 18:25:38 BST Neil Booth <neilb@earthling.net>
640
641 * gcc.c (cpp_options): Add spec for -ftabstop=.
642 (invoke_as): New spec that handles invoking as.
643 Update specs to handle -save-temps and -traditional.
644 * ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
645 Use invoke_as.
646 * cp/lang-specs.h, objc/lang-specs.h: Update to use
647 invoke_as, and handle -save-temps and -traditional (if
648 appropriate).
649
380f6ad3
JJ
6502000-09-26 Jakub Jelinek <jakub@redhat.com>
651
652 * config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
653 op0 is a SUBREG.
654 (function_arg_slotno): Accept TImode/CTImode.
655 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
656 to UNITS_PER_WORD.
657
ef120fc0
MH
6582000-09-26 Michael Hayes <mhayes@cygnus.com>
659
660 * flow.c (flow_loop_pre_header_scan): Punt if loop enters
661 from entry block.
662
cf606f45
JW
6632000-09-25 Jim Wilson <wilson@cygnus.com>
664
665 * config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
666 (REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
667 (LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
668 (REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
669
a94c1199
NB
670Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net>
671
672 * cpplex.c (parse_args): Don't set VOID_REST flag.
673 (CONTEXT_VARARGS): New flag.
674 (maybe_paste_with_next): Set context earlier in loop. Use
675 it. Do varargs test with CONTEXT_VARARGS flag.
676 (push_arg_context): Set CONTEXT_VARARGS flag if we're
677 pushing an argument context for a varargs argument.
678 * cpplib.h (VOID_REST): Delete.
679 * gcc.dg/cpp/vararg1.c: Add test case.
680
317639a8
BC
6812000-09-25 Branko Cibej <branko.cibej@hermes.si>
682
683 * flags.h: Declare warning flag warn_system_headers.
684 * toplev.c: Define it.
685 (W_options): Add option -Wsystem-headers.
686 * diagnostic.c (count_error): Test warn_system_headers.
687 * invoke.texi: Add description for -Wsystem-headers.
688 * cpplib.h (cpp_options): New member warn_system_headers.
689 * cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
690 CPP_IN_SYSTEM_HEADER.
691 * cpplib.c (do_import, do_pragma_once): Likewise.
692 * cpperror.c (_cpp_begin_message): Test warn_system_headers
693 and CPP_IN_SYSTEM_HEADER.
694 * cppinit.c (handle_option): Recognize -Wsystem_headers.
695 (print_help): Describe -Wsystem_headers.
696 * cpplex.c (lex_line): Reorganize condition so that warnings
697 about C++ comments in system headers can be enabled. Remove
698 label do_line_comment.
699
1c6d33ef
NB
700Mon 25-Sep-2000 23:38:27 BST Neil Booth <neilb@earthling.net>
701
702 * cpplex.c (save_comment): Only store the initial '/'
703 now.
704 (lex_token): Combine handling of the two comment types.
705 Pass everything but the initial '/' to save_comment.
706
7de4d004
NB
707Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net>
708
709 * cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
710 _cpp_can_paste): New library-internal prototypes.
711 * cpplex.c (dump_param_spelling, output_line_command,
712 output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
713 cpp_printf, cpp_output_list): Move to cppoutput.c.
714 (process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
715 * cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
716 cppoutput.c.
717 * cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
718 dump_param_spelling, output_line_command, cpp_scan_buffer,
719 cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
720 from elsewhere.
721 * Makefile.in: Add cppoutput.c.
722 * po/POTFILES.in: Add cppoutput.c.
723
66db6b45
RH
7242000-09-25 Richard Henderson <rth@cygnus.com>
725
726 * config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
727 * config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
728 split until after reload.
729 (rotlsi3, rotldi3): New.
730
4b40f758
GDR
7312000-09-25 Gabriel Dos Reis <gdr@codesourcery.com>
732
733 * diagnostic.c (output_last_position): Define.
734 (set_real_maximum_length): Tweek.
735 * diagnostic.h (output_last_position): Declare.
736
0f290768
KH
7372000-09-25 Kazu Hirata <kazu@hxi.com>
738
739 * config/i386/i386.c: Fix formatting.
740
90e9ee6c
AL
7412000-09-24 Alan Lehotsky <alehotsky@cygnus.com>
742
743 * emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
744 UNITS_PER_WORD is small.
745
0e00b68b
JM
7462000-09-25 Joseph S. Myers <jsm28@cam.ac.uk>
747
748 * c-common.c (format_char_info): Add flags2; update comments.
749 (print_char_table, scan_char_table, time_char_table): Split some
750 flags out into flags2.
751 (check_format_info): Use flags2 for those flags, for identifying
752 the initial character of a scanf scanset, and for identifying
753 printf formats where the '0' flag is ignored with precision.
754
0a3e1f45
HPN
7552000-09-25 Hans-Peter Nilsson <hp@axis.com>
756
757 Changes below marked "here" add TABs on either or both sides,
758 covering start of line, up to any operand for all noted .*ASM.*_OP
e8638df0 759 definitions. All callers changed.
047c1c92
HPN
760 * tm.texi: Make documented *_ASM.*_OP:s include spacing
761 (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
762 BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
763 ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
764 ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
765 Fix typos in description for LONG_LONG_TYPE_SIZE and
766 FINI_SECTION_ASM_OP.
0a3e1f45
HPN
767 * crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
768 why these defaults don't have leading spacing.
769 * dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
770 * dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
771 UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
772 * dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
773 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
774 PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
775 * defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
776 * varasm.c (ASM_STABS_OP): Here.
777 * xcoffout.h (ASM_STABS_OP): Here.
e662a129
HPN
778 * config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
779 SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
780 INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
781 STRING_ASM_OP): Here.
782 * config/freebsd.h (IDENT_ASM_OP): Here.
783 * config/linux-aout.h (SET_ASM_OP): Here.
784 * config/linux.h (SET_ASM_OP): Here.
785 * config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
786 INT_ASM_OP): Here.
787 * config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
788 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
789 * config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
790 * config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
791 INT_ASM_OP): Here.
792 * config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
793 SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
794 INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
795 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
796 FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
797 * config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
798 CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
8c13c7b3
HPN
799 * config/a29k/udi.h (INT_ASM_OP): Here.
800 * config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
801 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
802 SET_ASM_OP): Here.
803 * config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
804 READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
805 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
806 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
807 ASM_STABD_OP): Here.
808 * config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
809 COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
810 CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
811 BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
812 INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
813 SIZE_ASM_OP, STRING_ASM_OP): Here.
814 * config/alpha/vms.h (LINK_SECTION_ASM_OP,
815 READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
816 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
817 * config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
8202cda0 818 (PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
8c13c7b3
HPN
819 * config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
820 Here.
821 * config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
822 BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
823 * config/arm/coff.h (INT_ASM_OP): Here.
824 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
825 * config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
826 * config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
827 INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
828 * config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
829 * config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
830 ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
831 STRING_ASM_OP): Here. Update documentation copy in comments.
4e8aa65c
HPN
832 * config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
833 * config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
834 DATA_SECTION_ASM_OP): Here.
835 * config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
836 Here.
837 * config/convex/convex.h (TEXT_SECTION_ASM_OP,
838 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
839 * config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
840 BSS_SECTION_ASM_OP): Here.
841 * config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
842 BSS_SECTION_ASM_OP): Here.
843 * config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
844 Here.
845 * config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
846 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
847 * config/h8300/h8300.h (ASM_WORD_OP): Here.
71d48a01
HPN
848 * config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
849 BSS_SECTION_ASM_OP): Here.
850 * config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
851 * config/i386/bsd.h (ASM_BYTE_OP): Here.
852 * config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
853 * config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
854 * config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
855 Here.
856 * config/i386/freebsd-elf.h (SET_ASM_OP): Here.
857 * config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
858 Here.
859 * config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
860 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
861 * config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
862 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
863 SET_ASM_OP): Here.
864 * config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
865 * config/i386/netbsd.h (INT_ASM_OP): Here.
866 * config/i386/openbsd.h (INT_ASM_OP): Here.
867 * config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
868 IDENT_ASM_OP): Here.
869 * config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
870 ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
871 LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
872 SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
873 * config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
874 SHARED_BSS_SECTION_ASM_OP): Here.
875 * config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
876 * config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
877 DATA_SECTION_ASM_OP): Here.
878 * config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
879 CONST_SECTION_ASM_OP): Here.
880 * config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
881 * config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
882 BSS_SECTION_ASM_OP): Here.
de323aa1
HPN
883 * config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
884 * config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
885 * config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
886 BSS_ASM_OP): Here, but use trailing spaces.
887 * config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
888 DATA_SECTION_ASM_OP): Here.
889 * config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
890 Here.
891 * config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
892 DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
893 * config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
894 TDESC_SECTION_ASM_OP): Here.
895 * config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
896 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
897 * config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
898 Here.
899 * config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
900 BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
901 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
902 UNALIGNED_DOUBLE_INT_ASM_OP): Here.
903 * config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
904 COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
905 FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
906 SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
6e7b07a7
HPN
907 * config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
908 * config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
909 * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
910 SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
911 SET_ASM_OP): Here.
912 * config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
913 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
914 * config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
915 * config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
916 * config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
917 * config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
918 * config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
919 * config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
920 GLOBAL_ASM_OP): Here.
921 * config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
922 BSS_SECTION_ASM_OP): Here.
923 * config/m68k/m68kv4.h (BSS_ASM_OP): Here.
924 * config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
925 ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
926 DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
927 SKIP_ASM_OP): Here.
928 * config/m68k/newsgas.h (SET_ASM_OP): Here.
929 * config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
930 FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
931 * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
932 SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
933 SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
934 but use trailing spaces.
935 * config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
936 DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
937 FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
938 Here.
939 * config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
940 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
941 * config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
942 CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
943 DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
944 IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
945 GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
946 BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
947 CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
948 SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
949 VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
950 PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
951 ASM_BYTE_OP): Here.
952 * config/m88k/openbsd.h (SET_ASM_OP): Here.
953 * config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
954 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
78d057d8
HPN
955 * config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
956 UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
957 DTORS_SECTION_ASM_OP): Here.
958 * config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
959 DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
960 * config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
961 BSS_SECTION_ASM_OP): Here.
962 * config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
963 * config/mips/iris5.h (ABICALLS_ASM_OP): Here.
964 * config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
965 POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
966 CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
967 DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
968 * config/mips/mips.c (ABICALLS_ASM_OP): Here.
969 * config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
970 Here.
971 * config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
972 Here.
973 * config/mips/osfrose.h (SET_ASM_OP): Here.
974 * config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
76bbee81
HPN
975 * config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
976 * config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
977 * config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
978 Here.
979 * config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
980 * config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
981 * config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
982 * config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
983 * config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
984 * config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
985 Here.
986 * config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
987 Here.
988 * config/rs6000/rs6000.h (SET_ASM_OP): Here.
989 * config/rs6000/sol2.h (ASM_STABN_OP): Here.
990 * config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
991 Here.
471b6f1b
HPN
992 * config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
993 UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
994 * config/sparc/linux.h (COMMON_ASM_OP): Here.
995 * config/sparc/linux64.h (COMMON_ASM_OP,
996 UNALIGNED_DOUBLE_INT_ASM_OP): Here.
997 * config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
998 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
999 * config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
1000 * config/sparc/pbd.h (ASM_INT_OP): Here.
1001 * config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
1002 * config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
1003 DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
1004 * config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
1005 UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
1006 * config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
1007 UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
1008 UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
1009 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
1010 CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
1011 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
1012 EH_FRAME_SECTION_ASM_OP): Here.
1013 * config/sparc/vxsim.h (COMMON_ASM_OP): Here.
1014 * config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
1015 Here.
1016 * config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
1017 Here.
1018 * config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
1019 TCOMMON_ASM_OP): Here.
1020 * config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
1021 Here.
1022 * config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
1023 ASM_BYTE_OP): Here.
0a3e1f45 1024
ea9ea008
RH
10252000-09-25 Richard Henderson <rth@cygnus.com>
1026
1027 * expmed.c (store_bit_field): Adjust last change to not consider
1028 any word-sized field naturally aligned.
1029
9e495700
RH
10302000-09-24 Richard Henderson <rth@cygnus.com>
1031
1032 * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
1033 TFmode unordered compares properly. Revalidate integer compare
1034 operands.
1035 (alpha_emit_setcc): New.
1036 (alpha_emit_conditional_move): Revalidate integer compare operands.
1037 * config/alpha/alpha-protos.h: Update.
1038 * config/alpha/alpha.md (cmpdi): Allow general operands.
1039 (sne): Use alpha_emit_setcc.
1040 (seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
1041 (sunordered, sordered): New.
1042
2ed4af6f
RH
10432000-09-24 Richard Henderson <rth@cygnus.com>
1044
1045 * config/ia64/ia64-protos.h: Update.
1046 * config/ia64/ia64.c (call_multiple_values_operation): Remove.
1047 (ia64_expand_call): New.
1048 (ia64_expand_prologue): Emit an alloc if we need extra input
1049 registers.
1050 (ia64_expand_epilogue): New arg sibcall_p; don't emit the return
1051 instruction if true.
1052 (struct reg_flags): Add is_sibcall.
1053 (rtx_needs_barrier): A sibcall does not use CFM et al. Ignore USEs.
1054 (emit_insn_group_barriers): Set flags.is_sibcall. Remove hacks
1055 for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
1056 * config/ia64/ia64.h (PREDICATE_CODES): Update.
1057 * config/ia64/ia64.md (call): Use ia64_expand_call.
1058 (call_value): Likewise.
1059 (sibcall, sibcall_value): New.
1060 (call patterns): Remove extra expanders; tidy.
1061 (sibcall_epilogue): New.
1062 (set_bsp): Remove the extra USE. Put the operand inside the UNSPEC.
1063
e1389cac
RH
10642000-09-24 Richard Henderson <rth@cygnus.com>
1065
1066 * emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
1067
fd442cef
RH
1068 * sibcall.c (skip_pic_restore): New.
1069 (identify_call_return_value): Use it.
1070
c06aa51e
MM
10712000-09-24 Mark Mitchell <mark@codesourcery.com>
1072
1073 * c-tree.texi: Moved here from cp/ir.texi. Documented nested
1074 functions. Generalize to handle both C and C++.
1075 * Makefile.in (c-tree.info): New target.
1076 (info): Add c-tree.info.
1077
bd5dab53
RK
1078Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1079
1080 * expr.c (store_field): If BITSIZE is negative, use size of type.
1081 (expand_expr, case COMPONENT_EXPR): Likewise.
1082
838f313b
NB
1083Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net>
1084
1085 * cpplex.c: Update TODO comment.
1086 * cpplib.c (do_error, do_warning): Merge common code of
1087 do_error and do_warning into do_diagnostic. Use it.
1088 (do_diagnostic): New function.
1089 * cpplib.h: Fix comment typo.
1090
c5412f06
JM
10912000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
1092
1093 * c-common.c (check_format_info): Warn for a wide character string
1094 used as a non-wide format argument.
1095
1c44c45d
JM
10962000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
1097
1098 * builtins.def (BUILT_IN_LLABS): Add.
1099 * builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
1100 * c-common.c (c_common_nodes_builtins): Create builtin functions
1101 __builtin_llabs, and plain llabs unless no_nonansi_builtins
1102 outside of C99 mode.
1103 (expand_tree_builtin): Handle BUILT_IN_LLABS.
1104
cbcff6df
NB
1105Sat 23-Sep-2000 22:39:18 BST Neil Booth <NeilB@earthling.net>
1106
1107 * cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
1108 CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
1109 * cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
1110 _cpp_free_toklist): No need to worry about extra dummy token
1111 at the start of token lists any more.
1112 (trigraph_ok): Only warn outside comments.
1113 (skip_block_comment): Set and clear lexing_comment.
1114 (skip_line_comment): Take a cpp_reader not cpp_buffer.
1115 Set and clear lexing_comment.
1116 (parse_number): Handle leading '.' indicated by pfile->seen_dot.
1117 (check_long_token): Delete.
1118 (lex_percent, lex_dot): New subroutines of lex_token to
1119 handle lexing of '.' and '%' without lookback.
1120 (lex_token): Use lex_dot and lex_percent.
1121 (lex_line): Don't check for LIST_OFFSET.
1122 (_cpp_init_input_buffer): Update for new _cpp_init_toklist.
1123 * cpplib.c (_cpp_parse_assertion): Similarly.
1124 (cpp_push_buffer): Initialize extra_char.
1125 * cpplib.h (LIST_OFFSET): Delete.
1126 (struct cpp_buffer): New member extra_char.
1127 (struct lexer_state): New members lexing_comment and seen_dot.
1128
2abdcaee
JM
11292000-09-23 Jason Merrill <jason@redhat.com>
1130
1131 * config/rs6000/x-aix41 (CLIB): Define here.
1132 * config/rs6000/t-aix43: Not here.
1133 * config/rs6000/t-aix41: Or here. Remove.
1134 * configure.in: Don't use it.
1135
981d4858
JM
11362000-09-22 Jason Merrill <jason@redhat.com>
1137
2abdcaee
JM
1138 * configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
1139 * toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
1140 * config.in: Regenerate.
1141
981d4858
JM
1142 * configure.in: Fix checks for assembler features when using a
1143 one-tree assembler that has not yet been built.
1144 Fix --disable-threads.
1145
afa223c6
GK
11462000-09-19 Geoff Keating <geoffk@cygnus.com>
1147
1148 * stmt.c (expand_asm_operands): Allow # in constraints.
1149
a3a834aa
JM
11502000-09-22 Jason Merrill <jason@redhat.com>
1151
1152 * c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
1153
1154 * dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
1155 function-local names.
1156
18424ae1
BL
11572000-09-22 Brad Lucier <lucier@math.purdue.edu>
1158 Mark Mitchell <mark@codesourcery.com>
1159
1160 * toplev.c (warn_disabled_optimization): Declare new warning flag.
1161 * flags.h (warn_disabled_optimization): Add it here.
1162 * gcse.c (gcse_main): Add warning when disabled.
a3a834aa 1163 * invoke.texi: Document -Wdisabled-optimization.
18424ae1 1164
1bfb5f8f
JM
11652000-09-21 Jason Merrill <jason@redhat.com>
1166
1167 * dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
1168
1169 * dwarf2out.c (tree_add_const_value_attribute): New fn.
1170 (gen_variable_die): Call it for non-definitions.
1171
1172 * dwarf2out.c (die_struct): Add die_mark field.
1173 (mark_dies, unmark_dies): New fns.
1174 (clear_die_sizes): Remove.
1175 (print_die): Check die_symbol rather than die_offset.
1176 (build_abbrev_table, output_pubnames, output_aranges): Check
1177 die_mark rather than die_offset.
1178 (output_comp_unit): Move calc_die_sizes after build_abbrev_table.
1179 Call mark_dies.
1180
2047e26f
NB
1181Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net>
1182
1183 * cppfiles.c (lookup_include_file): Rename to open_file.
1184 Always create a splay tree value, even on syscall failures.
1185 Negative entries indicated by fd == -2.
1186 Re-open files closed in the meantime.
1187 (_cpp_fake_include): Create a negative splay tree entry.
1188 (find_include_file, cpp_read_file): Update for function name
1189 change.
1190 * gcc.gd/cpp/mi4.c: Testcase.
1191
f27cd94d
NC
11922000-09-21 Nick Clifton <nickc@redhat.com>
1193
2359a5e1
NC
1194 * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
1195 ARM and THUMB modes.
1196
f27cd94d
NC
1197 * config/mcore/mcore.c: Fix compile time warnings.
1198 * config/mcore/mcore-protos.h: Fix compile time warnings.
1199
7373064a
DA
12002000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1201
1202 * configure.in: Correct test of gcc_cv_glibc.
1203 * configure: Rebuilt.
1204 * config.in: Rebuilt.
1205
07328167
KG
12062000-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1207
1208 * builtins.c (expand_builtin_fputs): Also expand when length!=1.
1209 (expand_builtin): Handle BUILT_IN_FWRITE.
1210
1211 * builtins.def (BUILT_IN_FWRITE): New entry.
1212
1213 * c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
1214
5fa7c8ce
RK
1215Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1216
dc36ec2c
RK
1217 * gcc.c (modify_target): New variable and struct.
1218 (process_command): Handle MODIFY_TARGET_NAME.
1219 * tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
1220 * config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
1221
5fa7c8ce
RK
1222 * c-decl.c (finish_decl): Add else's to avoid referencing
1223 TYPE_DOMAIN of an ERROR_MARK.
1224
155b14a8
DC
1225Wed Sep 20 21:44:31 2000 Denis Chertykov <denisc@overta.ru>
1226
1227 * config/avr/avr.c (adjust_insn_length): Adjust lengths of
1228 `reload_in*' insns.
1229
12302000-09-19 Marek Michalkiewicz <marekm@linux.org.pl>
1231
1232 * config/avr/avr.md (neghi2): Add alternative for input and output
1233 operands in different registers, as in negsi2.
1234 (*negsi2): Remove '*' from the name. Use "movw" if available.
1235
fd09c61f
JW
12362000-09-19 Jim Wilson <wilson@cygnus.com>
1237
1238 * config/ia64/crtbegin.asm (__dso_handle): Delete use of
1239 HAVE_GAS_HIDDEN macro.
1240
7eea5554
NB
1241Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net>
1242
1243 * cpplex.c (lex_line): Drop the EOF token for unknown
1244 directives in assembler.
1245
a473fe45
DE
12462000-09-19 David Edelsohn <edelsohn@gnu.org>
1247
1248 * configure.in: Allow enable_threads_flag value of "aix". Define
fd60bf96 1249 thread_file as "aix" for AIX 4.3 and above.
a473fe45 1250 * configure: Regenerated.
fd60bf96
DE
1251
1252 * gthr-aix.h: New file.
1253
a473fe45
DE
1254 * rs6000/t-aix43: Replace soft-float multilib with pthread.
1255 Remove 403 processor multilib match. Fix rios2 processor multilib
1256 match.
1257
fd60bf96
DE
1258 * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
1259 to return to appropriate csect.
1260
ad3fd36f
KG
12612000-09-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1262
1263 * builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
1264 functions.
1265 (expand_builtin_fputs): Set `target' parameter for `expand_expr'.
1266 (expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
1267 BUILT_IN_PRINTF.
1268
1269 * builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
1270 New entries.
1271
1272 * c-common.c (init_function_format_info): Handle __builtin_printf.
1273 Set `check_function_format_ptr'.
1274 (c_common_nodes_and_builtins): Set `puts_ftype' and
1275 `printf_ftype'. Declare __builtin_putchar, __builtin_puts,
1276 __builtin_printf and printf.
1277
1278 * tree.c, tree.h (check_function_format_ptr): Declare.
1279
6f3d20a0
NB
1280Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net>
1281
1282 * cppfiles.c (read_include_file): Take no special action for
1283 zero-length files.
1284
b4f75276
BS
12852000-09-19 Bernd Schmidt <bernds@redhat.co.uk>
1286
afc6898e
BS
1287 * final.c (insn_current_reference_address): Use INSN_SHUID of seq
1288 rather than that of branch.
1289 (shorten_branches): Don't increment insn_current_address twice.
1290
b4f75276
BS
1291 Undo most of the Wed Jan 27 23:39:53 1999 patch:
1292 * loop.h (struct induction): Delete members derived, ix and last_use.
1293 (struct loop_ivs): Delete members first_increment_giv and
1294 last_increment_giv.
1295 * loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
1296 recombine_givs): Delete functions.
1297 (find_and_verify_loops): Don't initialize cont_dominator.
1298 (strength_reduce): Lose code to try to find bivs that can be
1299 expressed as givs of another biv, and to convert biv increments
1300 into givs.
1301 Lose loop_scan_start variable, always use loop->scan_start.
1302 Don't call recombine_givs. Don't handle derived givs.
1303 (record_giv): Don't initialize derived and last_use fields.
1304 (biv_eliminiation_giv_has_0_offset): Lose code to handle derived
1305 givs.
1306 * unroll.c (derived_regs): Delete static variable.
1307 (unroll_loop): Don't initialize it.
1308 (copy_loop_body): Lose code to handle derived givs.
1309 (find_splittable_givs): Don't check for givs made from biv
1310 increments.
1311 Don't set derived_regs.
1312
0f805606
BS
1313 Fix misapplied earlier patch:
1314 * config/sh/sh.md (floatsisf_ie): Reenable. Remove explicit reference
1315 to fpul.
1316 (floatsisf2): Generate floatsisf_ie by default.
1317 (floatsisf_i4): Conditional on TARGET_SH4.
1318
1319 (floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
1320 predicate for the expanders.
1321
8aa0e194
RH
13222000-09-19 Richard Henderson <rth@cygnus.com>
1323
0d97fd9e
RH
1324 * config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
1325 in addition to pentium and pentiumpro symbols.
1326 (CPP_CPU_DEFAULT_SPEC): Likewise.
1327
39b726dd
RH
1328 * c-typeck.c (c_expand_asm_operands): Restore the output tree
1329 after expanding.
1330
9790cefd
RH
1331 * stmt.c (expand_expr_stmt): Only call warn_if_unused_value
1332 if the tree has side effects.
1333 (warn_if_unused_value): Do not warn about void constructs.
1334
8e5a0fcb
RH
1335 * c-decl.c (poplevel): Invoke warn_about_unused_variables.
1336
8aa0e194
RH
1337 * unroll.c (copy_loop_body): Update LABEL_NUSES before
1338 calling invert_jump.
1339
62f7f1f5
GK
13402000-09-18 Geoff Keating <geoffk@cygnus.com>
1341
1342 * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
1343 into anything.
1344
3f80e6ac
KG
13452000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1346
1347 * Makefile.in (c-common.o): Depend on diagnostic.h.
1348
1349 * c-common.c: Include diagnostic.h.
1350 (tfaff): Delete.
1351 (status_warning): New function.
1352 (check_format_info, maybe_read_dollar_number, check_format_types,
1353 finish_dollar_format_checking, check_function_format): Accept a
1354 `status' parameter. All callers changed.
1355
1356 * c-common.h (check_function_format): Accept a `status' parameter.
1357
1358 * c-typeck.c: Update call to `check_function_format'.
1359
cfbd829c
RH
13602000-09-18 Richard Henderson <rth@cygnus.com>
1361
1362 * c-decl.c (c_expand_body): Call mark_varargs before
1363 expand_function_start.
1364
c21d86e1
GK
13652000-09-18 Geoff Keating <geoffk@cygnus.com>
1366
1367 * config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
1368 * config/rs6000/eabi-ci.asm: Likewise.
1369
f0417c82
RH
13702000-09-18 Richard Henderson <rth@cygnus.com>
1371
1372 * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
1373 for BImode.
1374
226ed43f
JW
13752000-09-18 Jim Wilson <wilson@cygnus.com>
1376
5c3c320e
JW
1377 * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
1378 before passing it to fold_rtx_mult_add.
1379
ec919c98
JW
1380 * unroll.c (final_giv_value): Pass increment through
1381 extend_value_for_giv before passing it to emit_iv_add_mult.
1382
226ed43f
JW
1383 * function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
1384 paradoxical subreg, then directly substitute the replacement and
1385 return.
1386
b542c0fb
NB
1387Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net>
1388
b4f75276 1389 * cpp.texi: Update documentation, including some clarifications,
b542c0fb
NB
1390 the treatment of various newline combinations, and space between
1391 backslash and newline.
1392
800a6a0c
R
1393Mon Sep 18 21:00:47 2000 J"orn Rennecke <amylaar@redhat.co.uk>
1394
1395 * sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
1396 Replace ASM_OUTPUT_LABELREF with assemble_name.
1397
50ceefc2
R
1398Mon Sep 18 20:26:50 2000 J"orn Rennecke <amylaar@redhat.co.uk>
1399
1400 * sh.c (addsubcosts): CONST is not cheap.
1401 (find_barrier): For Sh1, take alignment after jumps into account.
1402
659e47fb
AH
14032000-09-15 Andrew Haley <aph@redhat.com>
1404
1405 * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
1406 remove all SETs of SUBREGs of hard registers.
7373064a 1407 * function.c (purge_hard_subreg_sets): New function.
659e47fb
AH
1408 (purge_single_hard_subreg_set): New function.
1409 * rtl.h: (purge_hard_subreg_sets): New function.
1410
f2f90c63
RH
14112000-09-18 Richard Henderson <rth@cygnus.com>
1412
1413 * config/ia64/ia64-protos.h: Update.
1414 * config/ia64/ia64.c (signed_inequality_operator): New.
1415 (ia64_expand_compare): New.
1416 (ia64_register_move_cost): Handle PR_REGS moves.
1417 (ia64_secondary_reload_class): Require a GR when moving to a PR.
1418 (struct reg_write_state): Add written_by_and/or.
1419 (struct reg_flags): Add is_and/or.
1420 (rws_update): Set them.
1421 (rws_access_regno): Test them to allow parallel comparisons.
1422 (rtx_needs_barrier): Recognize parallel comparisons.
1423 (emit_insn_group_barriers): Set prev_insn after a call stop bit.
1424 Call recog_memoized; ignore pred_rel_mutex.
1425 (emit_predicate_relation_info): Don't call find_basic_blocks here.
1426 (ia64_reorg): Do it here instead.
1427 * config/ia64/ia64.h: s/CCmode/BImode/g
1428 (MODES_TIEABLE_P): Don't tie BImode.
1429 (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
1430 (CONST_COSTS): Pick sensible values for CONST_INT based on context.
1431 (RTX_COSTS): Make multiply 4 insns.
1432 (MEMORY_MOVE_COST): New.
1433 (PREDICATE_CODES): Update.
1434 * config/ia64/ia64.md: s/CCmode/BImode/g
1435 (movcci, movbi): New.
1436 (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
1437 (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
1438 (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
1439 (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
1440 (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
1441 (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
1442 (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
1443 (mulsi, muldi): Use xmpy not xma.
1444 (cmpbi): New.
1445 (movcc, movcc_internal): Remove.
1446 (branch expanders): Use ia64_expand_compare.
1447 (setcc expanders): Likewise.
1448 (cmov insns): Use move_operand and ia64_move_ok.
1449 (pred_rel_mutex): Use unspec not unspec_volatile. Prevent the
1450 scheduler from moving it past a use.
1451 * config/ia64/build.hacks: Remove.
1452
0d9f234d
NB
1453Mon 18-Sep-2000 19:21:35 BST Neil Booth <NeilB@earthling.net>
1454
1455 * cpphash.h (HASHSTEP): Take character rather than pointer
1456 to character.
1457 (_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
1458
1459 * cpphash.c (cpp_loookup): Update for new HASHSTEP.
1460
1461 * cpplex.c (auto_expand_name_space, trigraph_replace,
1462 backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
1463 IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
1464 BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
1465 KNOWN_DIRECTIVE): Delete.
1466
1467 (handle_newline, check_long_token, skip_escaped_newlines,
1468 unterminated): New functions.
1469 (ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
1470
1471 (parse_identifier): Was parse_name, new implementation.
1472 (skip_line_comment, skip_block_comment, skip_whitespace,
1473 parse_number, parse_string, trigraph_ok, save_comment,
1474 adjust_column, _cpp_get_line): New implementations.
1475
1476 (lex_token): New function. Lexes a token at a time, looking
1477 forwards. Contains most of the guts of the old lex_line.
1478 (lex_line): New implementation, using lex_token to obtain
1479 individual tokens.
1480 (cpp_scan_buffer): Use the token's line, not the list's line.
1481
1482 * cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
1483 New implementations.
1484 (do_assert): Don't bother setting the answer's list's line.
1485 (cpp_push_buffer): Initialise new pfile and read_ahead members
1486 of struct cpp_buffer.
1487
1488 * cpplib.h (cppchar_t): New typedef.
1489 (struct cpp_buffer): read_ahead, pfile and col_adjust are
1490 new members.
1491 (struct lexer_state): New structure that determines the state
1492 and behaviour of the lexer.
1493 (IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
1494 (struct cpp_reader): New member "state". Rename
1495 multiline_string_line and multiline_string_column. Delete
1496 col_adjust, in_lex_line members.
1497 (CPP_BUF_COLUMN): Update.
1498
a191f0ee
RH
14992000-09-18 Richard Henderson <rth@cygnus.com>
1500
9f8e169e
RH
1501 * combine.c (simplify_comparison): Shift a NOT out of a single
1502 bit test.
1503
1f3f36d1
RH
1504 * combine.c (if_then_else_cond): Canonicalize BImode true to
1505 STORE_FLAG_VALUE.
1506 * explow.c (trunc_int_for_mode): Likewise.
1507
5bd60ce6
RH
1508 * combine.c (combine_simplify_rtx): Use gen_unary to distribute
1509 the NOT for De Morgan's rule.
1510 * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
1511 of a comparison to the reverse comparison.
1512
d340408c
RH
1513 * combine.c (try_combine): Allow split to create a single insn.
1514
a191f0ee
RH
1515 * machmode.def: Add BImode. Add a column for bitsize.
1516 * machmode.h (DEF_MACHMODE): Adjust for extra column.
1517 (GET_MODE_BITSIZE): Use it.
1518 * rtl.c (DEF_MACHMODE): Adjust for extra column.
1519 (mode_bitsize): New.
1520 (mode_mask_array): Use bitsize.
1521 * combine.c (combine_simplify_rtx): Require inner and outer
1522 modes to match on nonzero_bits optimizations.
1523
5d77a50c
BS
15242000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
1525
1526 * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
1527 its entry in spill_reg_store.
0fb8cb90 1528 * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
2e361e59
BS
1529 * sh.c (reg_no_subreg_operand): New function.
1530 * sh-protos.h (reg_no_subreg_operand): Declare it.
1531 * sh.h (PREDICATE_CODES): Add it.
1532 * sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
1533 input operand that needs to be in fpul.
1534 (fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
42d5d0f1
BS
1535 * sh.c (find_barrier): Take into account that machine_dependent_reorg
1536 might add new insns.
5d77a50c 1537
55eec660
AO
15382000-09-18 Alexandre Oliva <aoliva@redhat.com>
1539
40fc375d
AO
1540 * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
1541 MAYBE_DEAD.
1542 (sh_expand_epilogue): Take the PIC register into account when
1543 computing the frame size.
1544
55eec660
AO
1545 * config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
1546 * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
1547 LABEL_REFs with a PIC-safe unspec.
1548
fc6df7e1
JM
15492000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
1550
1551 * c-common.c (check_format_info): Properly save the argument
1552 number and parameter for $ operand number formats in case width
1553 and precision arguments are also used. Allow printf width and
1554 precision arguments to have operand numbers even if none was
1555 specified for the main format, since this is OK for %*.*m. Only
1556 object to missing $ operand number if the format used requires an
1557 argument.
1558
effa5541
JM
15592000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
1560
1561 * c-common.c (format_char_info): Add 'W' flag to comment.
1562 (print_char_table, scan_char_table): Use it.
1563 (check_format_info): Use the 'W' flag to determine whether a
1564 format argument is written into.
1565
99303ae4
JM
15662000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
1567
1568 * c-common.c (check_format_types): Reorganise and clean up,
1569 checking earlier for ERROR_MARKs and making cur_type into its
1570 TYPE_MAIN_VARIANT where convenient.
1571
9231abf2
JM
15722000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
1573
1574 * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
1575
cf67d231
BS
15762000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
1577
1578 * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
1579
bd793c65
BS
1580 * i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
1581 * i386.c (struct builtin_description): New.
1582 (bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
1583 (mmx_reg_operand): Declare MODE arg as unused.
1584 (ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
1585 ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
1586 ix86_expand_binop_builtin, ix86_expand_store_builtin,
1587 ix86_init_builtins, ix86_expand_builtin): New functions.
1588 * i386.h (ix86_builtins): New enumeration.
1589 (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
1590 * i386.md (attr length_immediate): 0 for mmx/sse types.
1591 (attr prefix_0f): 1 for mmx/sse types.
1592 (setcc_2): Remove "*" so we get gen_setcc_2.
1593 (emms): Account for changed register numbering. Set "memory" attr
1594 to unknown.
1595 (sfence): Set "memory" attr to unknown.
1596
4070d885
AJ
15972000-09-18 Andreas Jaeger <aj@suse.de>
1598
1599 * configure.in: Define _GNU_SOURCE only when using the GNU C
1600 Library.
a191f0ee
RH
1601 * configure: Regenerated.
1602 * config.in: Regenerated.
4070d885 1603
2ac86f90
MM
16042000-09-17 Mark Mitchell <mark@codesourcery.com>
1605
31a1fdad
MM
1606 * cppinit.c (cpp_init): Don't use ANSI prototypes.
1607 * flow.c (flow_dump_loop): Likewise.
1608 (flow_loops_dump): Likewise.
1609
2ac86f90
MM
1610 * c-typeck.c (c_start_case): Fix typo.
1611
60e9d01c
JM
16122000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
1613
1614 * c-decl.c (grokdeclarator): Don't give a warning about defaulting
1615 to int for plain complex which defaults to complex double. Do
1616 warn about defaulting to complex double if pedantic. Warn about
1617 complex integer types if pedantic. Warn about complex types if
1618 pedantic and not in C99 mode.
1619 * c-typeck.c (build_unary_op): If pedantic, warn about use of ~
1620 for complex conjugation.
1621
bc5006c7
JM
16222000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
1623
1624 * contrib.texi: Update my entry.
1625
7e3bd81e
DC
1626Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru>
1627
23cb1766
RK
1628 * config/avr/avr.md (mcu_enhanced): New attribute.
1629 (mcu_mega): Likewise.
1630 (extendhisi2): Use mcu_enhanced.
1631 (zero_extendhisi2): Likewise.
1632 (call_insn): Use mcu_enhanced and mcu_mega.
1633 (call_value_insn): Likewise.
1634 (*sbrx_branch): Use mcu_mega.
1635 (*sbrx_and_branchsi): Likewise.
1636 (*sbrx_and_branchhi): Likewise.
1637 (*tablejump_lib): Likewise.
7e3bd81e 1638
6a51f4a0
RK
1639Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1640
ec569656
RK
1641 * alias.c (true_dependence): Allow non-unchanging read to conflict
1642 with unchanging write.
1643
23cb1766
RK
1644 * expr.c (store_constructor_field): Accept ALIAS_SET arg.
1645 (store_constructor): Pass alias_set to it.
1646
a52fb89b
RK
1647 * c-decl.c (grokdeclarator): Reorder tests to avoid looking at
1648 TYPE_MAIN_VARIANT of ERROR_MARK.
1649 * c-lex.c (readescape): Avoid using printf syntax we don't recognize.
1650
6a51f4a0
RK
1651 * simplify-rtx.c (simplify_unary_operation): Add cases
1652 FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
1653
ebb1b59a
BS
16542000-09-17 Bernd Schmidt <bernds@redhat.co.uk>
1655
a191f0ee 1656 * expr.h (emit_library_call, emit_library_call_value): Delete
ebb1b59a
BS
1657 declarations.
1658 * rtl.h (enum libcall_type): New.
1659 (emit_library_call, emit_library_call_value): Change fn_type arg to
a191f0ee 1660 be of type enum libcall_type.
ebb1b59a
BS
1661 * calls.c: Likewise for the function definitions. Several callers
1662 throughout changed to use the new enumeration appropriately.
1663 (emit_library_call_value_1): Likewise. Put back code to make libcall
a191f0ee 1664 blocks of equal form, but only use it for the two new higher
ebb1b59a
BS
1665 enumeration values.
1666
8f17b5c5
MM
16672000-09-16 Mark Mitchell <mark@codesourcery.com>
1668
1669 Convert the C front-end to use function-at-a-time mode.
1670 * c-common.h: Include splay-tree.h.
1671 (C_DECLARED_LABEL_FLAG): New macro.
1672 (struct language_function): Add x_scope_stmt_stack and
1673 x_function_name_declared_p.
1674 (RECHAIN_STMTS): Move definition.
1675 (lang_statment_code_p): Likewise.
1676 (lang_expand_stmt): Likewise.
1677 (lang_expand_decl_stmt): New variable.
1678 (lang_expand_function_end): Likewise.
1679 (current_scope_stmt_stack): New function.
1680 (add_decl_stmt): Likewise.
1681 (add_scope_stmt): Likewise.
1682 (mark_stmt_tree): Likewise.
1683 (struct c_lang_decl): New structure.
1684 (DECL_SAVED_TREE): Define.
1685 (c_mark_lang_decl): New function.
1686 (c_expand_start_cond): Change prototype.
1687 (c_finish_then): New function.
1688 (c_finish_else): Likewise.
1689 (current_function_name_declared): Remove.
1690 (set_current_function_name_declared): Likewise.
1691 (mark_c_language_function): Declare.
1692 (case_compare): Likewise.
1693 (c_add_case_label): Likewise.
1694 (c_expand_expr): Likewise.
1695 (c_safe_from_p): Likewise.
1696 * c-common.c (lang_expand_function_end): New variable.
1697 (struct if_elt): Add if_stmt.
1698 (c_expand_start_cond): Add the if-statement to the statement-tree,
1699 rather than generating RTL.
1700 (c_finish_then): New function.
1701 (c_expand_start_else): Don't generate RTL.
1702 (c_finish_else): New function.
1703 (c_expand_expr_stmt): Don't generate RTL.
1704 (statement_code_p): Add SCOPE_STMT.
1705 (case_compare): New function.
1706 (c_add_case_label): Likewise.
1707 (mark_stmt_tree): Likewise.
1708 (c_mark_lang_decl): Likewise.
1709 (mark_c_language_function): Likewise.
1710 (c_expand_expr): Likewise.
1711 (c_safe_from_p): Likewise.
1712 * c-decl.c (c_stmt_tree): New variable
1713 (c_scope_stmt_stack): Likewise.
1714 (c_function_name_declared_p): Likewise.
1715 (lang_expand_expr_stmt): Remove.
1716 (poplevel): Don't call output_inline_function for nested
1717 functions.
1718 (pushdecl): Don't set DECL_CONTEXT for a local declaration of an
1719 `extern' function.
1720 (redeclaration_error_message): Change means of computing whether
1721 or not a function is nested.
1722 (lookup_label): Don't call label_rtx.
1723 (init_decl_processing): Add more GC roots.
1724 (start_decl): Add DECL_STMTs to the statement-tree, rather than
1725 calling rest_of_decl_compilation.
1726 (finish_decl): Don't call expand_decl.
1727 (store_parm_decls): Begin the statement-tree, but don't generate
1728 RTL.
1729 (finish_function): Tie off the statement-tree. Call c_expand_body
1730 if appropriate.
1731 (c_expand_body): New function.
1732 (push_c_function_context): Save more information.
1733 (pop_c_function_contxt): Likewise.
1734 (copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
1735 (lang_mark_tree): Mark it.
1736 (current_stmt_tree): Adjust.
1737 (current_scope_stmt_stack): New function.
1738 (do_case): Remove.
1739 (set_current_name_declared): Likewise.
1740 (c_begin_compound_stmt): Define.
1741 (c_expand_decl_stmt): Likewise.
1742 * c-lang.c: Include rtl.h and expr.h.
1743 (lang_init): Set more language-specific hooks.
1744 * c-lex.c: Include expr.h.
1745 * c-parse.in: Changes throughout to add statements to the
1746 statement-tree, rather than generating RTL after every statement.
1747 * c-semantics.c (lang_expand_decl_stmt): Define.
1748 (add_decl_stmt): New function.
1749 (add_scope_stmt): Likewise.
1750 (finish_stmt_tree): Tweak.
1751 (genrtl_expr_stmt): Likewise.
1752 (genrtl_decl_stmt): Handle local labels, and call
1753 lang_expand_decl_stmt if required.
1754 (genrtl_for_stmt): Fix line-number handling.
1755 (genrtl_case_label): Handle cleanups.
1756 (genrtl_asm_stmt): Don't call combine_strings.
1757 (genrtl_compound_stmt): Simplify.
1758 (expand_stmt): Handle SCOPE_STMTs.
1759 * c-tree.h (struct lang_decl): New structure.
1760 (C_DECLARED_LABEL_FLAG): Remove.
1761 (c_begin_compound_stmt): Declare.
1762 (c_expand_decl_stmt): Likewise.
1763 (c_expand_start_case): Rename to c_start_case.
1764 (c_finish_case): New function.
1765 * c-typeck.c (start_init): Tweak setting of
1766 constructor_incremental.
1767 (c_expand_asm_operands): Tweak error-handling. Add to the
1768 statement-tree.
1769 (c_expand_return): Add to the statement-tree.
1770 (c_expand_start_case): Rename to ...
1771 (c_start_case): ... this.
1772 (struct c_switch): New type.
1773 (switch_stack): New variable.
1774 (do_case): Simplify.
1775 (c_finish_case): New function.
1776 * dependence.c: Include expr.h.
1777 (enum dependence_type): Change spelling of enumerals.
1778 (check_node_dependence): Adjust.
1779 * expr.h (lang_safe_from_p): Declare.
1780 (safe_from_p): Likewise.
1781 * expr.c (lang_safe_from_p): New variable.
1782 (safe_from_p): Give it external linkage. Use lang_safe_from_p.
1783 * stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
1784 * toplev.c (rest_of_decl_compilation): Robustify.
1785 * tree.c (contains_placeholder_p): Likewise.
1786 * Makefile.in: Update dependencies.
1787 * objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
1788 * objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
1789 (objc_expand_function_end): New function.
1790 (finish_method_def): Use it.
1791 (init_objc): Initialize more language-specific hooks.
1792 * objc/Make-lang.in: Update dependencies.
7373064a 1793
4797e955
GK
17942000-09-16 Geoffrey Keating <geoffk@cygnus.com>
1795
1796 * configure.in: Define macros that affect features before
1797 testing for features. Don't define _XOPEN_SOURCE.
1798 * configure: Regenerated.
1799 * config.in: Regenerated.
1800
ae0fb1b9
JW
1801Sat Sep 16 19:42:50 EDT 2000 John Wehle (john@feith.com)
1802
1803 * rtlanal.c (rtx_varies_p): Volatile asms vary.
1804 (rtx_unstable_p): Restructure code. Volatile asms
1805 are unstable.
1806
5748b2cb 1807Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
ae0f4dee 1808
87c31d6b
RK
1809 * function.h (no_debugging_symbols): New field.
1810 * integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
1811 Initialize no_debugging_symbols.
1812 (output_inline_function): Save and restore write_symbols and set from
1813 no_debugging_symbols.
1814 * toplev.c (rest_of_compilation): Call save_for_inline.
1815 * tree.h: Update comment.
7373064a 1816
5748b2cb
RK
1817 * stor-layout.c (place_field): Don't do anything if field or
1818 its type are ERROR_MARK.
1819
1820Sat Sep 16 19:14:00 2000 Laurynas Biveinis <lauras@softhome.net>
1821
1822 * cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
1823 (read_include_file): Ensure inc->mmaped is initialized.
ae0f4dee 1824
6f84c9bd
RH
18252000-09-16 Richard Henderson <rth@cygnus.com>
1826
1827 * cppiles.c (purge_cache): Use PTR not caddr_t.
1828
50c57e7b
HPN
18292000-09-16 Hans-Peter Nilsson <hp@axis.com>
1830
1831 * gcc.c: In description for %{<S}, say the option removed is -S.
1832 * invoke.texi (Spec Files): Ditto.
1833
dd745546
AJ
18342000-09-16 Andreas Jaeger <aj@suse.de>
1835
1836 * configure.in: Always define _GNU_SOURCE to make interfaces
1837 visible that were hidden by only defining _GNU_SOURCE.
1838 * configure: Regenerated.
1839
08ebc1c5
NB
1840Sat 16-Sep-2000 08:13:45 BST Neil Booth <NeilB@earthling.net>
1841
1842 * cpplex.c (push_macro_context): Set an argument's level after
1843 calling parse_args. We could loop infinitely otherwise.
1844
16abe34a
TT
18452000-09-15 Tom Tromey <tromey@cygnus.com>
1846
1847 * configure, config.in: Rebuilt.
1848 * configure.in: Check for iconv.h. Define _XOPEN_SOURCE.
1849
61c16b10
GM
18502000-09-15 Greg McGary <greg@mcgary.org>
1851
1852 * cppmacro.c (check_trad_stringification): Check token
1853 text pointers against limit before dereferencing.
1854
6a357625
JM
18552000-09-15 Joseph S. Myers <jsm28@cam.ac.uk>
1856
1857 * c-common.c (format_wanted_type): New structure.
1858 (check_format_types): New function.
1859 (check_format_info): Pass all checking of types of format
1860 arguments, including width and precision arguments, to this new
1861 function.
1862
6a1d1088
GP
18632000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1864
1865 * BUGS: Remove file.
1866
a3b815cb
JJ
18672000-09-15 Jakub Jelinek <jakub@redhat.com>
1868
54f5c4b0
JJ
1869 * config/alpha/alpha.c (override_options): ev6 cache latencies
1870 from Richard Henderson. Don't allow -mmemory-latency=L0.
1871
a3b815cb
JJ
1872 * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
1873 (TARGET_OPTIONS): Add tune=.
1874 (alpha_tune_string): Declare.
1875 * config/alpha/alpha.c (override_options): Add cpu_table.
1876 Use alpha_cpu_string first to set both alpha_cpu and target_flags
1877 and then alpha_tune_string to set alpha_cpu only.
1878 Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
1879 * config/alpha/elf.h (ASM_FILE_START): Likewise.
1880 * config/alpha/osf.h (ASM_FILE_START): Likewise.
1881 * config/alpha/openbsd.h (ASM_FILE_START): Likewise.
1882
9076b9c1
JH
1883Fri Sep 15 19:45:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
1884
1885 * i386-protos.h (no_comparison_operator, uno_comparison_operator):
1886 Remove.
1887 (ix86_comparison_operator, ix86_cc_mode): Declare
1888 * i386.h (CCGC, CCGCO): New modes.
1889 (SELECT_CC_MODE): Move offline to ....
1890 * i386.c (ix86_cc_mode): .... here; use new modes.
1891 (ix86_comparison_operator): New.
1892 (fcmov_comparison_operator): Ensure proper mode.
1893 (put_condition_mode): More sanity checking.
1894 (ix86_match_ccmode): Handle new modes.
1895 (ix86_expand_fp_compare): GEU requires CCmode.
1896 (ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
1897 doing it by hand.
1898 * i386.md (cmp?i_ccz_1): Remove
1899 (cmp?i_ccno_1): Use ix86_match_ccmode.
1900 (cmp?i_minus_1): New.
1901 (cmpsi_1): New expander.
1902 (cmpqi_ext_1): Use match_ccmode
1903 (cmpqi_ext_3): New expander.
1904 (cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
1905 (cmpqi_ext_4): Use match_ccmode.
1906 (add?i_?): Use match_ccmode.
1907 (add?i_6): New.
1908 (test?i_ccz_1): Remove
1909 (test?i_1): New.
1910 (testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
1911 (testqi_ext_0): Use ix86_match_ccmode.
1912 (*xorqi_cc_ext_1): Use ix86_match_ccmode.
1913 (xorqi_cc_ext_1): New expander.
1914 (shift patterns): Use CCGOCmode for all shifts except for sar.
1915 (setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
1916 (setcc_3, jcc_3, miv?icc_c): Remove.
1917
3724ec07
WC
19182000-09-15 Will Cohen <wcohen@redhat.com>
1919
1920 * dwarf2out.c (add_const_value_attribute): Changed array into a
1921 xmalloced object, so it exists after function exit.
1922 (free_AT): Added case for dw_val_class_float to free allocated
1923 memory.
1924
182a4620
KH
19252000-09-15 Kazu Hirata <kazu@hxi.com>
1926
1927 * config/i386/i386.md: Fix a comment typo.
d25a45d4 1928 * gcc.c: Fix formatting.
182a4620 1929
aff2c2d3
BS
19302000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
1931
1932 * optabs.c (emit_libcall_block): If target is a user variable,
1933 copy to a temporary first.
642dfa8b
BS
1934 * expr.c (convert_move): When generating a libcall, make a libcall
1935 block.
188c5e6c
BS
1936 * calls.c (emit_library_call_value_1): Don't create a libcall
1937 sequence here; our caller will in most cases do it.
aff2c2d3 1938
0c4c9b16
BS
1939 * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
1940 MACH into FPUL.
1941 (SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
1942 * sh.md (reload_outsf): Generate recognizable patterns for
1943 TARGET_SH3E.
1944 (floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
1945 fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
1946 fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
1947 truncdfsf2_i4): Change not to use explicit references to fpul.
1948 (floatsisf2_ie): Remove USE of fpscr.
1949 (floatsisf2): Change default expansion to match this.
1950 (fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
1951 unused patterns.
1952
308ecea0
RH
19532000-09-15 Richard Henderson <rth@cygnus.com>
1954
1955 * expmed.c (store_bit_field): Consider naturally aligned
1956 memory for direct reference.
1957
e01acbb1
RH
19582000-09-15 Richard Henderson <rth@cygnus.com>
1959
1960 * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
1961 AND addresses into alias set 0.
1962 (alpha_expand_unaligned_store): Likewise.
1963 (alpha_expand_unaligned_load_words): Likewise.
1964 (alpha_expand_unaligned_store_words): Likewise.
1965
c363a0c0
BS
19662000-09-15 Bernd Schmidt <bernds@redhat.co.uk>
1967
1968 * config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
1969 * config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
1970 is defined.
dd193c79
BS
1971 * config/mips/mips.c (mips_va_arg): Args passed by reference have a
1972 rsize of UNITS_PER_WORD.
c363a0c0 1973
ff94c747
NB
1974Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net>
1975
1976 * cpplex.c (ON_REST_ARG): Correct the test.
1977 (maybe_paste_with_next): Duplicate a token that fail pasting,
1978 and clear its PASTE_LEFT flag, so that nested pasting attempts
1979 do not occur.
1980
b437f1a7
RH
19812000-09-14 Richard Henderson <rth@cygnus.com>
1982
1983 * calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
1984 * cse.c (rtx_cost): Likewise.
1985 * optabls.c (expand_binop): Likewise.
1986 (expand_twoval_binop, prepare_cmp_insn): Likewise.
1987 * regclass.c (copy_cost): Likewise.
1988 * reload1.c (reload_cse_move2add): Likewise.
1989
d9dbd9b1
JM
19902000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
1991
1992 * c-parse.in (reswords): Add _Complex.
1993
9207d3b1
DA
19942000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1995
1996 * gcc.1: Delete documentation for -undef preprocessor option.
1997
395a451c
AO
19982000-09-14 Alexandre Oliva <aoliva@redhat.com>
1999
2000 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
2001 STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
2002 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
2003 Remove undefine before config/elfos.h.
2004 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
2005
17f0f8fa
KH
20062000-09-14 Kazu Hirata <kazu@hxi.com>
2007
2008 * invoke.texi (H8/300 Options): Add -ms2600.
2009 * config/h8300.c (h8300_init_once): Output an error when -ms2600
2010 is used without -ms.
2011 * config/h8300.h (TARGET_MAC): New.
2012 (TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
2013 (CONDITIONA_REGISTER_USAGE): Disable the mac register on any
2014 machine other than H8/S2600.
2015 * config/h8300.md: Accept mac instructions on the H8/S2600 instead
2016 of the H8/S2000.
2017
9e8f528c
AO
20182000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
2019
2020 * reload.c (find_reloads_address_1): Generate reloads for auto_inc
2021 pseudos that refer to the original pseudos, not only to their
2022 equivalent memory locations.
2023
9985f210
RK
2024Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2025
fe7a8445
RK
2026 * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
2027 when making new MEM.
2028
9985f210
RK
2029 * Makefile.in (LN): Remove duplicate definition.
2030
2f93c5c3
BS
20312000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
2032
2033 From Joern Rennecke:
2034 * local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
2035 on an insn and function_invariant_p returns nonzero for the source,
2036 add a REG_EQUAL note.
2037
b24ea077
JW
2038Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com)
2039
2040 * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
2041 conflict with frame_pointer_rtx.
2042
fd5d5b07
KH
20432000-09-13 Kazu Hirata <kazu@hxi.com>
2044
2045 * loop.c: Fix formatting.
2046 * loop.h: Likewise.
2047
26102535
RH
20482000-09-13 Richard Henderson <rth@cygnus.com>
2049
2050 * config/ia64/ia64.md (divsf3): New.
2051 (divsf3_internal_lat, divsf3_internal_thr): New.
2052 (divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
2053 (divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
2054 (adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
2055 (madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
2056 (nmadddf4_alts, nmadddf4_trunc): New.
2057 (addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
2058 (subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
2059 (multf3_truncsf_alts, multf3_truncdf_alts): New.
2060 (maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
2061 (msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
2062 (nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
2063 (nmaddtf4_truncdf_alts): New.
2064 (recip_approx): Don't predicate.
2065
938566fb
RH
20662000-09-13 Richard Henderson <rth@cygnus.com>
2067
2068 * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
2069
c349e40b
SC
20702000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2071
2072 * flags.h (flag_dump_rtl_in_asm): Declare.
2073 * toplev.c (flag_dump_rtl_in_asm): Define.
2074 (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
2075 if -dP is specified.
2076 * rtl.h (print_rtx_head): Declare.
2077 * print-rtl.c (print_rtx_head): Define.
2078 (print_rtx): Print the string pointed to by print_rtx_head
2079 at beginning of each dump line.
2080 (print_rtl): Likewise.
2081 (print_rtl_single): Likewise.
2082 * final.c (final_scan_insn): Dump the insn in the assembly
2083 file for debugging.
2084 * gcc.1: Document -dP option.
2085 * invoke.texi (Debugging Options): Likewise.
2086
2856c3e3
SC
20872000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2088
2089 * md.texi (Machine Constraints): Document the 68HC11 constraints.
2090 * install.texi (Configurations): Document the 68HC11&68HC12 port.
2091 * invoke.texi (Option Summary, M68hc1x Options): Document the options.
2092
1ca04dc8
DC
2093Tue Sep 12 13:51:13 2000 Denis Chertykov <denisc@overta.ru>
2094
2095 * config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
2096 * config/avr/avr.md (*movstrqi_insn): Cleanup output template.
2097 (*clrstrqi): Likewise.
2098 (xorhi3,xorsi3,absqi2): Likewise.
2099 (one_cmplhi2,one_cmplsi2): Likewise.
2100 (addsi3): Two stupid constraint alternatives removed.
2101 (extendhisi2): Use `movw' for enhanced avr cores.
2102 (zero_extendhisi2): Likewise.
2103
bb07060a
JW
2104Wed Sep 13 02:31:23 EDT 2000 John Wehle (john@feith.com)
2105
2106 * alias.c (find_base_term): Use frame_pointer_rtx
2107 when handling an ADDRESSOF.
2108
2109 * cse.c (canon_hash): Handle USE of BLKmode memory.
2110 (cse_insn): Outgoing arguments for a libcall don't
2111 affect any recorded expressions.
2112
d21445e7
TT
21132000-09-12 Tom Tromey <tromey@cygnus.com>
2114
2115 * configure, config.in: Rebuilt.
2116 * configure.in: Check for iconv, nl_langinfo, langinfo.h.
2117
5c80f6e6
JJ
21182000-09-12 Jakub Jelinek <jakub@redhat.com>
2119
2120 * c-lex.c (lex_string): Use charwidth to compute bytemask.
2121 * expr.c (expand_expr): Don't optimize constant array references
2122 initialized with wide string constants.
2123
635a2a90
MH
21242000-09-13 Michael Hayes <mhayes@cygnus.com>
2125
a191f0ee 2126 * loop.c (note_set_pseudo_multiple_uses): Correct.
635a2a90 2127
cc2999aa
JW
21282000-09-12 Jim Wilson <wilson@cygnus.com>
2129
2130 * ifcvt.c (noce_process_if_block): If A and B are the same, and no
2131 else block, and X has side-effects, then fail.
2132
a0b6cdee
GM
21332000-09-12 Greg McGary <greg@mcgary.org>
2134
2135 * config/mips/mips-protos.h
2136 (trap_cmp_op, mips_gen_conditional_trap): New func decls.
2137 * config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
2138 (PREDICATE_CODES): Add "trap_cmp_op".
2139 * config/mips/mips.c
2140 (trap_cmp_op, mips_gen_conditional_trap): New functions.
2141 * config/mips/mips.md (trap, conditional_trap): New patterns.
2142
24948ccc
BS
21432000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
2144
2145 * flow.c (try_pre_increment_1): Don't do anything to sets of the stack
2146 pointer.
2147
3ff5f682
KG
21482000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2149
2150 * builtins.c (built_in_decls): New array.
2151 (expand_builtin_fputs): New function.
2152 (expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
2153
2154 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
2155
2156 * c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
2157
2158 * tree.h (built_in_decls): New array.
2159
208b0ab1
JL
2160Tue Sep 12 08:53:57 2000 Jeffrey A Law (law@cygnus.com)
2161
2162 * convex.md: Use "+" instead of "=" for outputs wrapped in a
2163 STRICT_LOW_PART.
2164 * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
2165
a86dc4a3
KH
21662000-09-12 Kazu Hirata <kazu@hxi.com>
2167
7a403706
KH
2168 * haifa-sched.c: Fix formatting.
2169
c9541287
KH
2170 * genattrtab.c: Fix formatting.
2171
a86dc4a3
KH
2172 * unroll.c: Fix formatting.
2173
3af556f7
BK
21742000-09-12 Bruce Korb <bkorb@gnu.org>
2175
2176 * fixinc/fixfixes.c: make a type for the fix procedure & use it,
2177 remove obsolete code
2178 * fixinc/fixincl.c: Use PARAMS, not _P_. Add no-op default to switch.
2179 * fixinc/fixincl.tpl: make non-exported arrays static scope
2180 * fixinc/fixincl.x: regenerate
2181 * fixinc/fixlib.h: Use PARAMS, not _P_
2182 * fixinc/fixtests.c: make a type for the test proc & use it
2183 * fixinc/server.h: Use PARAMS, not _P_
2184
32892c52
KG
21852000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2186
2187 * c-typeck.c (process_init_element): Avoid union init warnings on
2188 floating point zero. Don't crash on unions containing structs.
2189
ae0a1c23
AO
21902000-09-12 Alexandre Oliva <aoliva@redhat.com>
2191
2192 * config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
2193 general_movsrc_operand, and remove CONST_INT from
2194 general_movdst_operand.
2195
f1c1dfc3
BS
21962000-09-12 Bernd Schmidt <bernds@redhat.co.uk>
2197
2198 * cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
2199 if a reference to non-fixed hardreg is seen. Otherwise, count hard
2200 regs with a higher cost.
2201 (preferrable): Deal with cases where either cost or regcost is
2202 MAX_COST.
2203 (cse_insn): Use MAX_COST rather than 10000. Always initialize
2204 regcost values.
2205 (COSTS_N_INSNS): Move definition...
2206 * rtl.h: ...here.
2207 (MAX_COST): New macro.
2208 * loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
2209 constant.
2210
f444e36b
MM
22112000-09-11 Mark Mitchell <mark@codesourcery.com>
2212
2213 * c-common.h (genrtl_clear_out_block): Remove.
2214 * c-semantics.c (genrtl_clear_out_block): Remove.
2215 (genrtl_while_stmt): Don't call it.
2216 (genrtl_for_stmt): Likewise.
2217
a58d32c2
ZW
22182000-09-11 Zack Weinberg <zack@wolery.cumb.org>
2219
2220 * cppfiles.c: Move all default-#defines to top of file.
2221 (open_include_file): Replace by lookup_include_file.
2222 (read_with_read, read_file): Merged into read_include_file.
2223 (stack_include_file, purge_cache): New functions.
2224 (close_cached_fd): Delete.
dd745546 2225 (lookup_include_file, read_include_file, _cpp_pop_file_buffer):
a58d32c2
ZW
2226 Cache the in-memory buffer, not the file descriptor.
2227
2228 * cpphash.h (struct include_file): Add buffer, st, refcnt,
2229 mapped fields.
2230 (xcnew): New utility macro.
2231 (DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
2232 * cpplib.h (struct cpp_buffer): Remove mapped field.
2233
22342000-09-11 Zack Weinberg <zack@wolery.cumb.org>
2235
2236 * cpplex.c (parse_string): Accept backslash space newline as a
2237 line continuation.
2238 (lex_line): Likewise.
2239 (_cpp_get_token): Remove hard limit on macro nesting.
2240
bfa29b63
PT
22412000-09-12 Philipp Thomas <pthomas@suse.de>
2242
2243 * aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
2244 * configure: Rebuilt.
2245
97ca9316
MH
22462000-09-13 Michael Hayes <mhayes@cygnus.com>
2247
2248 * flow.c (split_block): Fix update of registers live at
2249 end of split block.
2250
d90ffc8d
JH
2251Tue Sep 12 01:51:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
2252
2253 * i386.md (add?i_3, add?i_5): New.
2254 (add?i_4): Rename from add?i_3; Fix compare pattern.
2255 (sub?i_3, xor?i_3, ior?i_3): New.
2256
2257 * genrecog.c (write_tree): Output code to clear insn_extract cache.
2258 * genattrtab.c (write_attr_case): Gen call to extract_insn_cache
2259 instead of extract_insn and extract_constrain_insn_cache instead of
2260 extract_insn and constrain_operands.
2261 * recog.c (extract_insn_cached, extract_constrain_insn_cached):
2262 New functions.
2263 (extract_insn): Clear which_alternative.
2264 (constrain_operands): Set which_alternative to -1 when failed.
2265 * recog.h (extract_constrain_insn_cached, extract_insn_cached):
2266 Declare.
2267
4843bda9
MH
22682000-09-11 Matthew Hiller <hiller@redhat.com>
2269
2270 * config/h8300/h8300.md (movstrictqi): Changed constraint modifier
2271 on operand 0 to '+'.
2272 (movstricthi): Likewise.
2273
ed5bb68d
MH
22742000-09-12 Michael Hayes <mhayes@cygnus.com>
2275
2276 * loop.h (LOOP_IVS): New macro.
2277 (REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
2278 (struct loop_ivs): New.
2279 (struct loop_info): Add ivs field.
2280 (reg_iv_type, reg_iv_info): Delete prototype.
2281 (reg_biv_class, loop_iv_list): Likewise.
2282 * loop.c (record_biv, find_life_end): Pass loop argument.
2283 (reg_iv_type): Remove global array and use
2284 field in loop_regs structure within loop_ivs structure.
2285 (reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
2286 (first_increment_giv, last_increment_giv): Use entry in
2287 loop_ivs structure.
2288 (record_initial): Pass ivs pointer.
2289 * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
2290
1ecd860b
MH
22912000-09-12 Michael Hayes <mhayes@cygnus.com>
2292
2293 * loop.h (LOOP_REGS): New macro.
2294 (struct loop_regs): New.
2295 (struct loop_info): Add regs field.
dd745546 2296 * loop.c (set_in_loop): Remove global array and store
1ecd860b
MH
2297 in loop_regs structure as part of loop_info structure.
2298 (n_times_set, may_not_optimize): Likewise.
2299 (reg_single_usage, moved_once): Likewise.
2300 (count_one_set): Add regs argument.
2301 (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
2302 (set_pseudo_multiple_uses): Pass regs pointer.
2303
0a5b41f2
MH
23042000-09-12 Michael Hayes <mhayes@cygnus.com>
2305
2306 * unroll.c (iteration_info): Subsume into loop_iterations.
2307 * loop.h (loop_info): New field iv.
2308
5d6a16e2
MH
23092000-09-12 Michael Hayes <mhayes@cygnus.com>
2310
2311 * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
2312 (LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
2313 (flow_loops_update): New prototype.
2314 (flow_loops_find): Add flags to prototype.
2315 (struct loop): Add `pre_header_root' and `pre_header_trace' fields.
2316 * flow.c (flow_loop_pre_header_scan): New.
2317 (flow_loop_dump): Dump pre-header root and trace and exit dominators.
2318 (flow_loop_free): Free pre-header root and trace and exit dominators.
2319 (flow_loops_find): New argument flags.
2320 (flow_loops_update): New function.
2321 * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
2322
c586192c
MH
23232000-09-12 Michael Hayes <mhayes@cygnus.com>
2324
2325 * basic-block.h (split_block, update_bb_for_insn): New prototypes.
2326 * flow.c (split_block, update_bb_for_insn): New functions.
2327
a5e5cf67
RH
23282000-09-11 Richard Henderson <rth@cygnus.com>
2329
2330 * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
2331
655f2eb9
RH
23322000-09-11 Richard Henderson <rth@cygnus.com>
2333
2334 * config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
2335 * config/ia64/ia64.c (fr_nonimmediate_operand): New.
2336 (ia64_override_options): Prevent optimizing division for both
2337 latency and throughput.
2338 (rtx_needs_barrier): Handle frcpa.
2339 * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
2340 (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
2341 (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
2342 (TARGET_SWITCHES): Add -minline-divide-min-latency and
2343 -minline-divide-max-throughput.
2344 (PREDICATE_CODES): Update.
2345 * config/ia64/ia64.md (extendsidi2): Remove * from f case.
2346 (zero_extendsidi2): Likewise. Fix typo in f case insn.
2347 (extendsfdf2): Add cases for gr<->fr and fr<->mem.
2348 (extendsftf2): Likewise.
2349 (extenddftf2): Likewise.
2350 (fix_trunctfdi2_alts): New.
2351 (fixuns_trunctfdi2_alts): New.
2352 (madd*4): Rename from madd*3.
2353 (divsi3, modsi3, udivsi3, umodsi3): New.
2354 (divsi3_internal): New.
2355 (divdi3, moddi3, udivdi3, umoddi3): New.
2356 (divdi3_internal_lat, divdi3_internal_thr): New.
2357 (multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
2358 (recip_approx): New.
2359
b5d7770c
AO
23602000-09-11 Alexandre Oliva <aoliva@redhat.com>
2361
2362 * print-rtl.c (debug_call_placeholder_verbose): New variable.
2363 (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
2364 set.
2365 * integrate.c (copy_rtx_and_substitute): Don't share
2366 LEAF_REG_REMAPpable registers with the inlined function. Don't
2367 share the function value with calling sequences.
2368
6ff85fd8
JJ
23692000-09-11 Jakub Jelinek <jakub@redhat.com>
2370
2a1da89b
JJ
2371 * c-decl.c (do_case): Fix a typo.
2372
6ff85fd8
JJ
2373 * combine.c (simplify_if_then_else): Don't convert a == b ? b : a
2374 to a if the comparison is floating mode and not -ffast-math.
2375 * simplify-rtx.c (simplify_ternary_operation): Likewise.
2376
4102c782
R
2377Mon Sep 11 20:07:48 2000 J"orn Rennecke <amylaar@redhat.co.uk>
2378
2379 * sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
2380 gen_ic_invalidate_line.
2381
52a21fc6
PB
23822000-09-11 Philip Blundell <pb@futuretv.com>
2383
2384 * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
2385
669ed2b1
UD
2386Mon Sep 11 10:48:41 2000 Ulrich Drepper <drepper@redhat.com>
2387
2388 * install.texi (LANGUAGES): Update to include new languages.
2389 * INSTALL: Rebuilt.
2390
50936d27
DD
23912000-09-11 DJ Delorie <dj@redhat.com>
2392
2393 * gcc.c (main): Don't warn about unused -B prefixes
2394 (unused_prefix_warnings): remove
2395
00174bdf
KH
23962000-09-11 Kazu Hirata <kazu@hxi.com>
2397
f5d927c0
KH
2398 * final.c: Fix formatting.
2399
00174bdf
KH
2400 * integrate.c: Fix formatting.
2401
b14066a9
GK
24022000-09-11 Geoff Keating <geoffk@cygnus.com>
2403
2404 * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
2405
e695931e
BS
24062000-09-11 Bernd Schmidt <bernds@redhat.co.uk>
2407
2408 * reload.c (regno_clobbered_p): Fix thinko in previous change.
2409
456aadaa
SC
24102000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2411
2412 * gcc.1: Document 68hc11 specific options.
2413
9cb8fcaf
GK
24142000-09-10 Geoff Keating <geoffk@cygnus.com>
2415
e0f7170a
GK
2416 * config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
2417 (TARGET_LONG_DOUBLE_128): Define.
2418 (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
2419 (LONG_DOUBLE_TYPE_SIZE): Redefine.
2420 (MAX_LONG_DOUBLE_TYPE_SIZE): Define.
2421 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
2422 of __LONG_DOUBLE_128__.
2423 (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
2424 passed.
2425 (CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
2426 (CPP_SYSV_DEFAULT_SPEC): Define.
2427 (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
2428 (INIT_TARGET_OPTABS): Define.
2429
9cb8fcaf
GK
2430 * config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
2431 (RS6000_UITRUNC): Likewise.
2432 (INIT_TARGET_OPTABS): New macro.
2433 * config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
2434 (trunc_defined): Delete.
2435 (output_prolog): Don't output .extern definitions for fp->int
2436 conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
2437 * config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
2438 (trunc_defined): Delete.
2439 (RS6000_ITRUNC): Moved to aix.h.
2440 (RS6000_UITRUNC): Likewise.
2441 * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
2442 only emit a libcall.
2443 (fixuns_truncdfsi2): Delete.
2444 (trunc_call): Delete.
2445 (trunc_call_rtl): Delete.
2446
8f820299
ZW
24472000-09-10 Zack Weinberg <zack@wolery.cumb.org>
2448
2449 * varasm.c (make_decl_rtl): Restore leading star on
dd745546 2450 DECL_ASSEMBLER_NAME set for decls with an asmspec.
8f820299 2451
4337bc93
ZW
24522000-09-10 Zack Weinberg <zack@wolery.cumb.org>
2453
2454 * c-pragma.c (handle_pragma_pack): Correct parsing logic so it
2455 won't give a spurious error for '#pragma pack()'. Simplify
2456 control flow for readability. 'reset' action is not necessary.
2457
d8ea8f28
ZW
24582000-09-10 Zack Weinberg <zack@wolery.cumb.org>
2459
2460 * defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
2461 SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
2462 LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
2463 DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
2464
2465 * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
2466 profile.c, sdbout.c, tradcif.y, tree.c:
2467 Include defaults.h if not already included.
2468 Don't define the above macros.
2469
2470 * Makefile.in: Update dependencies.
2471
56cb9733
MM
24722000-09-10 Mark Mitchell <mark@codesourcery.com>
2473
2474 * c-common.h (add_stmt): Change prototype.
2475 (RECHAIN_STMTS): New macro.
2476 (CASE_LABEL_DECL): Likewise.
2477 (genrtl_case_label): Change prototype.
2478 (c_expand_start_case): Remove prototype.
2479 (build_case_label): Change prototype.
2480 (decl_constant_value): Declare.
2481 * c-common.c (check_case_value): Handle C++'s extensions to C
2482 semantics.
2483 * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
d8ea8f28 2484 field.
56cb9733
MM
2485 * c-parse.in (stmt): Adjust handling of return statements and case
2486 laels.
2487 * c-semantics.c (add_stmt): Return the new statement.
2488 (genrtl_return_stmt): Take the RETURN_STMT as input, not the
2489 returned expression. Directly generate RTL, rather than calling
2490 c_expand_return.
2491 (genrtl_switch_stmt): Don't call c_expand_start_case.
2492 (build_case_label): Take the LABEL_DECL as input, too.
2493 (genrtl_case_label): Just call add_case_node.
2494 (expand_stmt): Adjust calls to genrtl_return_stmt and
2495 genrtl_case_label.
2496 * c-tree.h (c_expand_start_case): Declare.
2497 * c-typeck.c (decl_constant_value): Give it external linkage.
2498 (c_expand_return): Don't call expand_return or expand_null_return;
2499 use genrtl_return_stmt instead.
2500 * stmt.c (struct nesting): Remove num_ranges field.
2501 (add_case_node): Give it external linkage.
2502 (expand_start_case): Don't set num_ranges.
2503 (expand_start_case_dummy): Don't clear it.
2504 (pushcase): Rely on add_case_node to handle `default' labels.
2505 (add_case_node): Handle `default' labels.
2506 * tree.c (tree_int_cst_compare): New function.
2507 * tree.h (tree_int_cst_compare): Declare.
2508 (add_case_node): Likewise.
2509
aac02f4e
RH
25102000-09-10 Richard Henderson <rth@cygnus.com>
2511
2512 * c-parse.in: Revert last change.
2513 (init_reswords): Do not enter disabled keywords into the ridpointers
2514 table, modulo objc weirdness.
2515 (_yylex): Return the canonical spelling for a keyword.
2516
75d8aea7
PB
25172000-09-10 Philip Blundell <philb@gnu.org>
2518
2519 * config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
2520 * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
2521
d982e46e
JW
2522Sun Sep 10 14:30:28 EDT 2000 John Wehle (john@feith.com)
2523
2524 * alias.c (find_base_term): Handle ADDRESSOF.
2525 (memrefs_conflict_p): An ADDRESSOF doesn't conflict.
2526
212d447c
DC
25272000-09-10 Denis Chertykov <denisc@overta.ru>
2528
2529 * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
2530 outputting templates with many lines.
2531
a746dbf5
SC
25322000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2533
2534 * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
2535 to decide whether 64-bit support must be generated.
2536
1d0f6d89
RH
25372000-09-10 Richard Henderson <rth@cygnus.com>
2538
2539 * c-parse.in (asm patterns): Fix volatile check.
2540
e1aa5140
KG
25412000-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2542
2543 * cppmacro.c (check_trad_stringification): New function.
2544 (save_expansion): If -Wtraditional, warn about stringification of
2545 macro arguments.
2546
afa1738b
MH
25472000-09-11 Michael Hayes <mhayes@cygnus.com>
2548
2549 * loop.h (struct loop_mem_info): Move from loop.c
2550 (struct loop_info): Add fields store_mems, mems, mems_idx,
2551 mems_allocated, unknown_address_altered,
2552 unknown_constant_address_altered, num_mem_sets, and
2553 first_loop_store_insn.
2554
2555 * loop.c (loop_store_mems): Replace with field in loop_info struct.
2556 (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
2557 (unknown_address_altered, unknown_constant_address_altered): Likewise.
2558 (num_mem_sets): Likewise.
dd745546 2559 (replace_loop_mems, replace_loop_regs): New.
afa1738b
MH
2560 (struct loop_replace_args): New.
2561 (load_mems): Use replace_loop_mems.
2562 (try_copy_prop): Use replace_loop_regs.
2563 (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
2564
63883fc3
SC
25652000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2566
2567 * configure.in: Recognize m6811-elf and m6812-elf.
2568 * configure: Regenerate.
2569
808788fe
GK
25702000-09-09 Geoff Keating <geoffk@cygnus.com>
2571
2572 * recog.c (validate_replace_rtx_1): Correct MODE parameter in call
2573 to operand_subword.
2574
02055ad6
MH
25752000-09-10 Michael Hayes <mhayes@cygnus.com>
2576
2577 * loop.c (struct movables): New.
2578 (num_movables): Move into struct movables.
2579 (the_movables): Change type to struct movables.
2580 (ignore_some_movables): Change struct movable arg to struct movables.
dd745546 2581 (force_movables, combine_movables, regs_match_p): Likewise.
02055ad6
MH
2582 (rtx_equal_for_loop_p, move_movables): Likewise.
2583 (scan_loop): Change movables to be of type struct movables.
2584 Replace last_movable with field in movables structure.
2585
ae54392b
ZW
25862000-09-08 Zack Weinberg <zack@wolery.cumb.org>
2587
2588 * c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
2589 (init_pragma): Avoid warning if pfile happens to be unused.
2590 * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never
2591 define init_pragma to nothing. Always prototype
2592 init_pragma. Prototype dispatch_pragma if !USE_CPPLIB.
2593
2594 * c-lex.c (process_directive): Always call dispatch_pragma.
2595 Initialize entering_c_header to 0.
2596
385c9217
SC
25972000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2598
2599 * config/m68hc11/m68hc11.md: New file, machine description for
2600 68HC11 & 68HC12.
2601 * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
2602 * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
2603 * config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
2604 * config/m68hc11/m68hc11-protos.h: New file.
2605 * config/m68hc11/m68hc11-crt0.S: New file, startup code.
2606 * config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
2607 * config/m68hc11/xm-m68hc11.h: New file, target defs.
2608 * config/m68hc11/larith.asm: New file, libgcc routines.
2609
dfaf3cdb
SC
26102000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2611
2612 * Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
2613 (FPBIT_FUNCS): Add _usi_to_sf.
2614 * config/fp-bit.c (usi_to_float): New function.
2615 * config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
2616 (usi_to_float): Add appropriate #define.
2617
915119a5
BS
26182000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
2619
2620 * i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
2621 new functions.
2622 * i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
2623 * i386.md (attr "type"): Add sse and mmx types.
2624 (attr "memory"): Handle them without a crash.
2625 (movsi_1, movdi_2): Allow MMX regs.
2626 (movdi splits): Don't split moves involving MMX regs.
2627 (setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
2628 (movv4sf_internal, movv4si_internal, movv8qi_internal,
2629 movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
2630 movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
2631 sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
2632 sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
2633 sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
2634 addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
2635 divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
2636 sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
dd745546
AJ
2637 sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
2638 vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
915119a5
BS
2639 smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
2640 cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
2641 addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
2642 subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
2643 mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
2644 mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
2645 mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
2646 eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
2647 smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
2648 lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
2649 mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
2650 mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
2651 mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
2652 mmx_clrdi): New patterns.
2653
8e49e00a
RE
26542000-09-08 Richard Earnshaw <rearnsha@arm.com>
2655
2656 * arm.c: Don't include tm.h directly.
2657
bd5621a3
JH
2658Fri Sep 8 14:34:56 MET DST 2000 Jan Hubicka <jh@suse.cz>
2659
2660 * recog.c (validate_replace_rtx_1): Fix confusion about equality
2661 testing; simplify subregs of constants and nested subregs.
e65d02cf 2662
6b3783de
AO
26632000-09-08 Alexandre Oliva <aoliva@redhat.com>
2664
2665 * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
2666
82be40f7
BS
26672000-09-08 Bernd Schmidt <bernds@redhat.co.uk>
2668
2669 * combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
2670 VEC_CONCAT.
9af354b7
BS
2671 * rtl.texi (description of USE): Add note about possible pitfalls
2672 with this rtx.
ce701d1b
BS
2673 From Richard Henderson:
2674 * reload1.c (choose_reload_regs): Compute need_mode properly.
82be40f7 2675
4287b5f1
RH
26762000-09-07 Richard Henderson <rth@cygnus.com>
2677
2678 * config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
2679 (__modsi3, __umodsi3): Likewise.
2680 (__udivsi3): Likewise. Normalize the TFmode values.
2681
c5d71f39
GK
26822000-09-07 Geoff Keating <geoffk@cygnus.com>
2683
2684 * config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
2685 with a prototype.
2686 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
2687 warning.
2688
712646d0
R
2689Fri Sep 8 03:26:38 2000 J"orn Rennecke <amylaar@redhat.co.uk>
2690
2691 * sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
2692 (cmpeqdi_t): Add output pattern.
2693 (cmpeqdi_t+1): Don't split when not optimizing.
2694 Restore proper splitting operation.
2695
30acbc3e
RH
26962000-09-07 Richard Henderson <rth@cygnus.com>
2697
2698 * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
2699 do not call dispatch_pragma.
2700
46146529
JW
27012000-09-07 Jim Wilson <wilson@cygnus.com>
2702
2703 * reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
2704 to CLASS_CANNOT_CHANGE_MODE.
2705 * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
2706 mode classes are different.
2707
6db83155
ZW
27082000-09-07 Zack Weinberg <zack@wolery.cumb.org>
2709
2710 * cpplib.h (struct cpp_options): Add user_label_prefix member,
2711 left out of commit which removed cppulp.c.
2712
0d45144b
RH
27132000-09-07 Richard Henderson <rth@cygnus.com>
2714
2715 * bb-reorder.c (fixup_reorder_chain): Add jump in new block
2716 after switch for CASE_DROPS_THROUGH.
2717
e8cb4873
RH
27182000-09-07 Richard Henderson <rth@cygnus.com>
2719
2720 * loop.c (strength_reduce): Call check_ext_dependant_givs.
2721 Properly extend the biv initial value for the giv.
2722 (record_biv): Zero ext_dependant.
2723 (record_giv): New argument ext_val. Update all callers.
2724 (general_induction_var): Likewise.
2725 (consec_sets_giv): Likewise.
2726 (simplify_giv_expr): Likewise. Fill in ext_val if we find
2727 a sign-extend, zero-extend, or truncate.
2728 (combine_givs_p): Make sure modes are compatible.
2729 (check_ext_dependant_givs): New.
2730 (extend_value_for_giv): New.
2731 * loop.h (struct induction): Add ext_dependant.
2732 * unroll.c (iteration_info): Extend the biv initial value for the giv.
2733 (find_splittable_givs): Likewise.
2734 (final_giv_value): Likewise.
2735
8b97c5f8
ZW
27362000-09-07 Zack Weinberg <zack@wolery.cumb.org>
2737
2738 * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
2739 REGISTER_TARGET_PRAGMAS is defined. Duplicate some
2740 definitions from cpplib.h.
2741 * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
2742 already done it.
2743 * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add
2744 documentation for REGISTER_TARGET_PRAGMAS.
2745
2746 * c-lex.c: Include cpplib.h before c-pragma.h. Define a
2747 default-pragma callback to implement -Wunknown-pragmas if
2748 USE_CPPLIB.
2749 * c-parse.in: Move all includes to top of file.
2750 * c-pragma.c: Include cpplib.h before c-pragma.h. Include
2751 tm_p.h.
2752 (dispatch_pragma): Put the namespace in the -Wunknown-pragmas
2753 warning.
2754 (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
2755
2756 * arm.h, arm-protos.h, arm.c,
2757 c4x.h, c4x-protos.h, c4x.c,
2758 h8300.h, h8300-protos.h, h8300.c,
2759 i370.h, i370-protos.h, i370.c,
2760 i960.h, i960-protos.h, i960.c,
d8ea8f28 2761 sh.h, sh-protos.h, sh.c,
8b97c5f8
ZW
2762 v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
2763 pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
2764
2765 * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add
2766 multiple include guard.
2767 * i370.md (untyped_call): Use GEN_CALL.
2768 (umodsi3): Remove unused variable.
2769 * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
2770 * v850.c (output_move_single, output_move_double): Constify
2771 return value.
2772 (print_operand): Constify a char *.
2773 * v850.h (struct small_memory_info): Constify name member.
2774
1898584f
KH
27752000-09-07 Kazu Hirata <kazu@hxi.com>
2776
2777 * config/h8300.h: Fix comment typos.
2778 * config/h8300/h8300.md: Likewise.
2779 * config/h8300/lib1funcs.asm: Likewise.
2780
771c4df3
NB
2781Thu 07-Sep-2000 21:29:00 BST Neil Booth <NeilB@earthling.net>
2782
2783 * Makefile.in: Remove references to cppulp.{c,o}.
2784 * cppinit.c (initialize_builtins, cpp_start_read,
2785 cpp_handle_option): Update to use cpp_options structure.
2786 * cppulp.c: Remove.
2787
2496f0b5
JM
27882000-09-07 Joseph S. Myers <jsm28@cam.ac.uk>
2789
2790 * c-common.c (time_char_table): Allow %#b and %#h.
2791
bf6302f0
HB
27922000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2793
2794 * reorg.c (find_end_label): If the basic block reorder pass moves the
2795 return insn to some other place try to locate it again and put our
2796 end_of_function_label there.
2797 * reorg.c (relax_delay_slots): Check if find_end_label created a
2798 new label that invalidates the current optimazation.
2799
4598ffe9
CM
28002000-09-07 Catherine Moore <clm@redhat.com>
2801
e8cb4873
RH
2802 * unroll.c (unroll_loop): Check for unconditional jumps
2803 to loop continuation. Delete if n_iterations is 1.
2804 (ujump_to_loop_cont): New routine.
4598ffe9 2805
ff427764
BS
28062000-09-07 Bernd Schmidt <bernds@redhat.co.uk>
2807
2808 * rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
2809 MODE_VECTOR_FLOAT.
8441bc30
BS
2810 * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
2811 to handle multiword modes correctly. All callers and the declaration
2812 changed.
d8ea8f28 2813
54f7877c
MM
28142000-09-06 Mark Mitchell <mark@codesourcery.com>
2815
2816 * c-common.h (prep_stmt): Declare.
2817 (lang_expand_stmt): Likewise.
2818 * c-decl.c (lang_expand_stmt): Remove.
2819 * c-semantics.c (lang_expand_stmt): Define.
2820 (prep_stmt): New function.
2821 (expand_stmt): Handle common statement types here.
d8ea8f28 2822
93ca1662
NY
28232000-09-07 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com>
2824
2825 * configure.in (sh-*-linux*): Added.
2826 * configure: Rebuilt.
2827 * config/sh/t-linux: New file.
2828 * config/sh/sh.h (USERMODE_BIT): Define.
2829 (TARGET_USERMODE): Likewise.
2830 (TARGET_SWITCHES): New switches for the bits above.
2831 (INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
2832 * config/sh/linux.h: New file.
2833 * config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
2834 underscore on linux.
2835 (L_sdivsi3, L_udivsi3): Define for linux.
2836 (L_ic_invalidate): Define.
2837 * invoke.texi (SH Options): Document -musermode.
2838
71105114
AO
28392000-09-07 Alexandre Oliva <aoliva@redhat.com>
2840
4979c2a9
AO
2841 * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
2842 CSE unless generating PIC.
2843
71105114
AO
2844 * config/sh/sh.md (symPLT_label2reg): Force the initialization of
2845 the PIC register.
2846
d5cfb451
L
28472000-09-06 H.J. Lu (hjl@gnu.org)
2848
2849 * Makefile.in (clean_s1): Depend on stage_b.
2850 (clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
2851 stage2. They are used for "make compare".
2852
ae499cce
MM
28532000-09-06 Mark Mitchell <mark@codesourcery.com>
2854
2855 Move statement-tree facilities from C++ to C front-end.
2856 * c-common.h (c_tree_index): Add CTI_VOID_ZERO.
2857 (void_zero_node): New macro.
2858 (struct stmt_tree_s): New type.
2859 (stmt_tree): New typedef.
2860 (struct language_function): New type.
2861 (last_tree): New macro.
2862 (last_expr_type): Likewise.
2863 (walk_tree_fn): New typedef.
2864 (current_stmt_tree): New function.
2865 (begin_stmt_tree): Likewise.
2866 (add_stmt): Likewise.
2867 (finish_stmt_tree): Likewise.
2868 (statement_code_p): Likewise.
2869 (lang_statement_code_p): New variable.
2870 (walk_stmt_tree): New function.
2871 (STMT_IS_FULL_EXPR_P): New macro.
2872 * c-common.c (lang_statement_code_p): New variable.
2873 (c_common_nodes_and_builtins): Initialize void_zero_node.
2874 (statement_code_p): New function.
2875 (walk_stmt_tree): Likewise.
2876 * c-decl.c (language_function): Rename to ...
2877 (c_language_function): ... this. Include language_function.
2878 (push_c_function_context): Adjust accordingly.
2879 (pop_c_function_context): Likewise.
2880 (mark_c_function_context): Likewise.
2881 (current_stmt_tree): Define.
2882 * c-semantics.c (begin_stmt_tree): New function.
2883 (add_stmt): Likewise.
2884 (prune_unused_decls): Likewise.
2885 (finish_stmt_tree): Likewise.
2886
4f4b88d0
HB
28872000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2888
e8cb4873 2889 * flow.c (insn_dead_p): Detect dead memory stores with auto increments.
4f4b88d0 2890
f725a3ec
KH
28912000-09-06 Kazu Hirata <kazu@hxi.com>
2892
2893 * calls.c: Fix formatting.
2894
0806f95f
GS
28952000-09-06 Graham Stott <grahams@cygnus.co.uk>
2896
e8cb4873 2897 * config/i386/i386.h (ADDRESS_COST): Fix typo.
0806f95f 2898
0e5921e8
ZW
28992000-09-06 Zack Weinberg <zack@wolery.cumb.org>
2900
2901 Integrated preprocessor.
2902
2903 * Makefile.in: Remove all references to c-parse.gperf,
2904 c-gperf.h, and c-parse.h. Remove -d from yacc command line
2905 generating c-parse.c. Update dependencies.
2906 * c-parse.gperf, c-gperf.h: Delete.
2907
2908 * c-common.c: Don't define parse_options, cpp_token, yy_cur,
2909 yy_lim, or yy_get_token. Don't define get_directive_line if
2910 USE_CPPLIB.
2911 * c-common.h: Add multiple include guard. Define RID values
2912 for every keyword in C, C++, and Objective C. Put all the
2913 modifiers first.
2914 (struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
2915 * c-decl.c (c_decode_option): Handle -lang-objc here.
2916 (print_lang_identifier): Handle C_IS_RESERVED_WORD case.
2917 (grokdeclarator): Adjust for new RID scheme.
2918 (extract_interface_info): New stub.
2919 * c-lang.c: Don't declare yy_cur or parse_options.
2920 (lang_init_options): Call cpp_init. Don't call
2921 cpp_options_init.
2922 (lang_init): Don't call check_newline if USE_CPPLIB.
2923
2924 * c-lex.c: Don't include c-parse.h. Do include timevar.h.
2925 Elide lots of unnecessary code if USE_CPPLIB. Delete code
2926 rendered unnecessary by new architecture. Move routines not
2927 shared with C++ to c-parse.in. Maintain a local idea of the
2928 line number. Handle C++ as well as C.
2929 [USE_CPPLIB]: Declare and register callbacks for #ident and
2930 for entering/leaving files.
2931 (init_c_lex, c_lex): Are now the entry points to this file.
2932 (check_newline): Break out directive handling to
2933 process_directive.
2934 (read_ucs, is_extended_char, utf8_extend_token): Moved here
2935 from C++ front end.
2936 (readescape, parse_float): Overhaul.
2937 (lex_number, lex_string, lex_charconst): Break out of c_lex
2938 (n'ee yylex).
2939 (get_fileinfo, update_header_times, dump_one_header,
2940 dump_time_statistics): New and/or moved here from C++.
2941 Support per-file data needed by C++ and per-header timing
2942 statistics (C++ only, at the moment).
2943 * c-lex.h: Update prototypes. Add multiple include guard.
2944 * c-tree.h (struct lang_identifier): Add rid_code field.
2945 (C_IS_RESERVED_WORD, C_RID_CODE): New.
2946
2947 * c-parse.in: Include c-pragma.h. Remove unnecesary calls to
2948 reinit_parse_for_function and/or position_after_white_space.
2949 (save_filename, save_lineno): Look ahead before saving.
2950 (label -> identifier ':'): Save file and line before shifting ':'.
2951 (reservedwords): No need to call get_identifier.
2952 (init_parse, finish_parse, yyerror, yylex, yyprint,
2953 make_pointer_declarator): Are now here for C/ObjC.
2954 (rid_to_yy): Conversion table from RID constants to Yacc codes.
2955
2956 * c-pragma.c: Rewrite parsing logic to fit with cpplib's
2957 #pragma registry. Provide dummy implementation of that
2958 interface if !USE_CPPLIB.
2959 * c-pragma.h: Update to match.
2960
2961 * flags.h: Add multiple include guard.
2962 (flag_detailed_statistics): Moved here from C++.
2963 * toplev.c: Define flag_detailed_statistics.
2964
2965 * gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
2966 #if USE_CPPLIB.
2967 * timevar.def (TV_CPP, TV_LEX): New.
2968 * timevar.h: Add multiple include guard.
2969
2970 * objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
2971 #if USE_CPPLIB.
2972 * objc/objc-act.c: Don't mention yy_cur or parse_options.
2973 Initialize cpplib properly. Force lineno to 0 after first
2974 call to check_newline. Don't handle -lang-objc here.
2975 Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
2976
5638268e
DE
29772000-09-06 David Edelsohn <edelsohn@gnu.org>
2978
2979 * rs6000.md: Correct function unit definitions for cr_logical and
2980 mtjmpr.
2981 (sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
2982 and use portable method for >=0 and floating point >=. Remove
2983 associated matchers.
2984
44835fdd
MM
29852000-09-06 Mark Mitchell <mark@codesourcery.com>
2986
2987 * extend.texi: Mark named return value extension as deprecated.
2988
bab6226b
GK
29892000-09-06 Geoff Keating <geoffk@cygnus.com>
2990
2991 * config/rs6000/rs6000.c (rs6000_reverse_condition): Return
2992 the result.
2993
e6513023
GDR
29942000-09-06 Gabriel Dos Reis <gdr@codesourcery.com>
2995
2996 * toplev.c (display_help): Fix thinko in documentation.
2997
2998 * diagnostic.h (output_buffer::indent_skip): New fields.
2999 (output_indentation): New macro.
3000
3001 * diagnostic.c (output_indent): New function.
3002 (output_set_prefix, clear_diagnostic_info): Use.
3003 (output_emit_prefix): Predict future indentation.
3004
112c7aea
DD
30052000-09-06 DJ Delorie <dj@redhat.com>
3006
3007 * Makefile.in (stage_*): add more dependencies to ensure parallel
3008 builds build correctly
3009
1bac0fb4
MH
30102000-09-06 Manfred Hollstein <manfredh@redhat.com>
3011
3012 * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
3013 not bootstrap-lean_f.
3014
f472a17c
AS
30152000-09-06 Andreas Schwab <schwab@suse.de>
3016
3017 * mklibgcc.in: Emit rule for libgcc-stage-start.
3018 * Makefile.in (stage1-start, stage2-start, stage3-start,
3019 stage4-start): Don't handle libgcc here, use libgcc.mk instead.
3020
630c79be 30212000-09-06 Bernd Schmidt <bernds@redhat.co.uk>
611bbf2a
BS
3022
3023 * local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
3024 (update_equiv_regs): Likewise, except for the mn10200 kludge.
3025 (combine_regs): Likewise.
3026
630c79be
BS
3027 * Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
3028 * cse.c: Include "basic-block.h".
3029 (struct table_elt): New field REGCOST.
3030 (CHEAP_REG): Delete macro.
3031 (COST): Return 0 for REGs.
3032 (approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
3033 (notreg_cost): Return 0 for appropriate SUBREGs.
3034 (COSTS_N_INSNS): Return N * 2.
3035 (rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
3036 SUBREGs.
3037 (CHEAPER): Use new function preferrable.
3038 (insert): Initialize REGCOST member.
3039 (find_best_addr): Use approx_reg_cost for estimation of register
3040 usage.
3041 (cse_insn): Likewise.
3042 * loop.c (iv_add_mult_cost): New function.
3043 (add_cost, shift_cost, mult_cost): Delete variables.
3044 (init_loop): Don't initialize add_cost; reduce copy_cost by half.
3045 (strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
3046 Make code that detects autoinc opportunities slightly less optimistic.
3047 (simplify_giv_expr): If expression contains other reg that is also a
3048 giv, only increment benefit if this is the only use of that reg.
3049 (consec_sets_giv): Take that change into account.
3050 (combine_givs): Slightly more verbose output.
3051
3052 * i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
3053 not the cost of an equivalent shift.
3054 * sh-protos.h (addsubcosts): Declare.
3055 * sh.c (addsubcosts): New function.
3056 * sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
3057 (RTX_COSTS): Tweak. Use addsubcosts.
3058 (ADDRESS_COST): Return higher cost for reg+reg addressing.
3059
39a10a29
GK
30602000-09-06 Geoff Keating <geoffk@cygnus.com>
3061
3062 * config/rs6000/rs6000.c (validate_condition_mode): New function.
3063 (branch_comparison_operator): Call validate_condition_mode to
3064 abort rather than returning 0.
3065 (branch_positive_comparison_operator): New function.
3066 (scc_comparison_operator): Call validate_condition_mode to abort
3067 rather than returning 0.
3068 (ccr_bit): Call validate_condition_mode. Update for
3069 new branch scheme.
3070 (print_operand): Delete %C modifier. Update %E case
3071 to use EQ bit not SO bit.
3072 (rs6000_reverse_condition): New function.
3073 (rs6000_generate_compare): New function.
3074 (rs6000_emit_sCOND): New function.
3075 (rs6000_emit_cbranch): New function.
3076 (output_cbranch): The length of a long branch insn is
3077 now only 8 bytes. Add validate_condition_mode. Use
3078 rs6000_reverse_condition. Remove cror generation.
bab6226b 3079
39a10a29
GK
3080 * config/rs6000/rs6000.h: Update comments.
3081 (PREDICATE_CODES): Add new predicate. Update codes used
3082 by branch_comparison_operator and scc_comparison_operator.
3083 * config/rs6000/rs6000-protos.h: Add prototypes for
3084 new external functions.
3085 * config/rs6000/rs6000.md: Add new scheduling parameters
3086 for cr_logical instructions. Change length of branch
3087 instructions.
3088 (bCOND patterns): Call rs6000_emit_cbranch.
3089 (sCOND patterns): Call rs6000_emit_sCOND.
3090 (branch patterns): Change lengths to 4.
3091 (cr logical patterns): New.
3092
2a4bbffa
RH
30932000-09-06 Richard Henderson <rth@cygnus.com>
3094
3095 * config/i386/i386.md (call_pop): Fix test for setting
3096 current_function_uses_pic_offset_table.
3097 (call, call_value_pop, call_value): Likewise.
3098
eab828ba
ZW
30992000-09-06 Zack Weinberg <zack@wolery.cumb.org>
3100
3101 * timevar.c (timevar_add): Delete.
3102 (timevar_get): Also count time since the selected timer was
3103 last updated. Do not examine the timevar stack if the
3104 selected timer is standalone.
3105
f1d6a533
DA
31062000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3107
3108 * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
3109
53c5b5d7
JM
31102000-09-05 Jason Merrill <jason@redhat.com>
3111
3112 * c-decl.c (finish_incomplete_decl): Don't call complete_array_type
3113 for 'extern' arrays.
3114
3392dafc
RH
31152000-09-05 Richard Henderson <rth@cygnus.com>
3116
3117 * config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
3118 Eliminate final copy from non-trapping case.
3119 (__divdf3, __divsf3): Likewise.
3120
2a7ffc85
RH
31212000-09-05 Richard Henderson <rth@cygnus.com>
3122
3123 * config/ia64/ia64.md (mulhi3): Fix typo last change.
3124 * config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
3125
204093e6
DT
31262000-09-03 Donn Terry <donn@interix.com>, Laurynas Biveinis <lauras@softhome.net>
3127
3128 * Makefile.in: Restructure bootstrap stages to allow clean
3129 restart after failure.
3130
514f96e6
RH
31312000-09-05 Richard Henderson <rth@cygnus.com>
3132
3133 * config/ia64.md (movsi and movdi patterns): Allow moves from
3134 8-bit constants to AR registers.
3135
cf1f6ae3
RH
31362000-09-05 Richard Henderson <rth@cygnus.com>
3137
3138 * config/ia64/ia64.md (mulhi3): New.
3139
d8d7a286
RH
31402000-09-05 Richard Henderson <rth@cygnus.com>
3141
3142 * config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
3143 * config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
3144 Optimization Guide, minimum latency alternative.
3145 (__moddi3, __udivdi3, __umoddi3): Likewise.
3146 (__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
3147
a6efbece
BK
31482000-09-05 Bruce Korb <bkorb@gnu.org>
3149
0e5921e8
ZW
3150 * fixinc/fixincl.c (load_file): always read header files
3151 with sizes that are a multiple of the page size.
dc46505a 3152 & use libiberty's getpagesize for determining that.
a6efbece 3153
c0712acb
AO
31542000-09-05 Alexandre Oliva <aoliva@redhat.com>
3155
3156 * gcse.c (hash_string_1): Add prototype.
3157 * cse.c (canon_hash_string): Likewise.
3158
af7f0fde
CN
31592000-09-04 Craig Newell <CraigN@ieee.org>
3160
3161 * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
3162
4993ddc1
AS
31632000-09-04 Andreas Schwab <schwab@suse.de>
3164
3165 * Makefile.in (STAGESTUFF): Remove libgcc.
3166 (stage1-start, stage2-start, stage3-start): Copy the contents of
3167 the libgcc directory explicitly.
3168 (mostlyclean): Clean libgcc.
3169
5e640c56
AH
31702000-09-04 Andrew Haley <aph@redhat.com>
3171
3172 * dwarf2out.c: (stack_adjust_offset): New prototype.
3173
25ffb1f6
JH
3174Wed Jan 1 00:23:59 MET 1997 Jan Hubicka <jh@suse.cz>
3175
3176 * combine.c (make_extraction): Fix rtx_cost comparison to
3177 match the comment.
3178
3179Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz>
3180
0e5921e8 3181 * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
25ffb1f6
JH
3182 umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
3183 Add '*' to insn pattern name.
3184
29844fa7
JJ
31852000-09-04 Jakub Jelinek <jakub@redhat.com>
3186
3187 * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
3188 use posn - 1 to index into tokens array.
3189 (maybe_paste_with_next): Adjust caller.
3190
0d86f538
GK
31912000-09-03 Geoff Keating <geoffk@cygnus.com>
3192
bff46771
GK
3193 * invoke.texi: Document the -mvxworks option for rs6000 ELF.
3194
0d86f538
GK
3195 * config/rs6000/rs6000.h: Update various comments about XER_REGNO.
3196 (REGNO_REG_CLASS): Use symbolic register
3197 names.
3198
4e67550b
RE
31992000-09-03 Richard Earnshaw <rearnsha@arm.com>
3200
0e5921e8 3201 * arm.c (final_prescan_insn): If the form of a jump insn isn't
4e67550b
RE
3202 recognized, don't try to conditionally execute it.
3203
150f4100
DC
3204Sun Sep 3 13:10:56 2000 Denis Chertykov <denisc@overta.ru>
3205
3206 * config/avr/avr.md ("*tablejump_lib"): New pattern.
3207 (call_value_insn): Right length claculation.
3208 (call_insn): Likewise.
3209
5fecfd8d
MM
32102000-09-02 Marek Michalkiewicz <marekm@linux.org.pl>
3211
3212 * config/avr/avr-protos.h, config/avr/avr.c (unique_section,
3213 gas_output_limited_string, gas_output_ascii, output_movqi,
3214 output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
3215 out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
3216 out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
3217 ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
3218 lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
3219 out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
3220 Add "const" as needed to remove warnings.
3221
3222 * config/avr/avr.c (avr_override_options, avr_init_once,
3223 function_prologue, function_epilogue, frame_pointer_required_p,
3224 class_likely_spilled_p, order_regs_for_local_alloc,
3225 avr_address_cost, avr_ret_register): Use K&R style arguments.
3226 (initial_elimination_offset, gas_output_limited_string):
3227 Remove ATTRIBUTE_UNUSED from the used arguments.
3228 (output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
3229 Use local variables src, dest, base to access operands[].
3230 Rename reg_dest to reg_src if that's what it is.
3231 (output_movhi, output_movsisf): Optimize loading 8-bit immediate
3232 constants to LD_REGS if reg_was_0.
3233 (output_reload_insisf): Change arg 3 to insn length and set it.
3234 (out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
3235 access to 16-bit I/O register pairs.
3236 (avr_address_cost): Lower cost for the above case.
3237 (out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
3238 may be clobbered, also for LD_REGS.
3239 (adjust_insn_length): Correct insn length for iorhi3 and iorsi3
3240 with a CONST_INT.
3241
3242 * config/avr/avr.h (PTRDIFF_TYPE): Make signed.
3243
3244 * config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
3245 macro to test_hard_reg_class function.
3246 (*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
3247 for loading immediate constants to LD_REGS.
3248 (andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
3249
3250
bad3869a
MM
3251Sat Sep 2 13:58:23 2000 Marek Michalkiewicz <marekm@linux.org.pl>
3252
3253 * config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
3254 * config/avr/libgcc.S: Lost part of the previous patch.
3255
802a8181
DA
32562000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3257
3258 * gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
3259 object before calling pthread_mutex_init.
3260
1a66cd67
AO
32612000-09-02 Alexandre Oliva <aoliva@redhat.com>
3262
3263 * config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
3264 config/sh/crtn.asm: New files.
3265 * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
3266 (crt1.o, crti.o, crtn.o): New targets.
3267 * configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
3268 sh/t-elf.
3269 * configure: Rebuilt.
3270 * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
3271 STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
3272 * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
3273 Undefine for config/elfos.h to redefine.
3274 (STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
3275
32762000-09-02 Alexandre Oliva <aoliva@redhat.com>, Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
3277
3278 * config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
3279 legitimize_pic_address, output_pic_addr_const): Declare.
3280 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
3281 (PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
3282 (TARGET_SWITCHES): New switch -mprefergot.
3283 (OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
3284 (PIC_OFFSET_TABLE_REGNUM): Define.
3285 (GOT_SYMBOL_TABLE): Likewise.
3286 (LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
3287 (ENCODE_SECTION_INFO): Define.
3288 (FINALIZE_PIC): New macros.
3289 (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
3290 (ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
3291 * config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
3292 (prepare_move_operands): Call emit_pic_move or
3293 emit_pic_const_move if appropriate.
3294 (output_far_jump): For PIC, use braf and output long offset.
0e5921e8 3295 (machine_dependent_reorg):
1a66cd67
AO
3296 (sh_expand_prologue): Save and initialize the PIC register.
3297 (sh_expand_epilogue): Restore it.
3298 (initial_elimination_offset): Account for it.
3299 (nonpic_symbol_mentioned_p): New function.
3300 (legitimize_pic_address): Likewise.
3301 (output_pic_addr_const): Likewise.
3302 * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
3303 (call, call_value): Use them.
3304 (GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
3305 symPLT_label2reg): New expands.
3306 * invoke.texi (SH Options): Document -mprefergot.
3307
6462bb43
AO
33082000-09-01 Alexandre Oliva <aoliva@redhat.com>
3309
3310 * rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
3311 * gcse.c (hash_string_1): New function.
3312 (hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
3313 (expr_equiv_p) <ASM_OPERANDS>: Likewise.
3314 * cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
3315 (canon_hash_string): New function.
3316 (canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
3317 (exp_equiv_p) <ASM_OPERANDS>: Likewise.
3318 (fold_rtx): Use ASM_OPERANDS accessor macros.
3319 * emit-rtl.c (copy_insn_1): Likewise.
3320 * integrate.c (copy_rtx_and_substitute): Likewise.
3321 * stmt.c (expand_asm_operands): Likewise. Give an
3322 ASM_OPERANDS rtx the mode of the output reg being set from it.
3323
1b4f90cd
FF
33242000-09-01 Fred Fish <fnf@be.com>
3325
3326 * fix-header.c (write_rbrac): Add putc and getc to list of
3327 functions to protect against prior definition as a macro.
0e5921e8 3328
3c786c69
JM
33292000-09-01 Joseph S. Myers <jsm28@cam.ac.uk>
3330
3331 * c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
3332 (c_size_type_node): Define.
3333 * c-decl.c (init_decl_processing): Initialize c_size_type_node.
3334 * c-common.c (enum format_lengths, enum format_std_version,
3335 format_length_info, format_type_detail, BADLEN, NOLENGTHS,
3336 format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
3337 T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
3338 T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
3339 T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
3340 TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
3341 format_types): Define.
3342 (format_char_info, print_char_table, scan_char_table,
3343 time_char_table): Rearrange for new organization of information
3344 about format length modifiers and standard versions.
3345 (T_ST): Redefine to use c_size_type_node.
3346 (check_format_info): Obtain information about length modifiers and
3347 standard versions from tables. Adjust warning message wordings.
3348 Use the name from the user's program for `ll' and `hh' length
3349 modifiers in warning messages. Use more informative names for
3350 wanted types where available (for wchar_t, wint_t, size_t, signed
3351 size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
3352
8a09bb27
JW
33532000-09-01 Jim Wilson <wilson@cygnus.com>
3354
ca3920ad
JW
3355 * calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
3356 * combine.c (distribute_notes): Handle REG_NORETURN.
3357 * rtl.c (reg_note_name): Add REG_NORETURN.
3358 * rtl.h (enum reg_note): Likewise.
3359
3360 * config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
3361 ia64_file_start.
3362 * config/ia64/ia64.c (emit_safe_across_calls): Likewise.
3363 (rtx_needs_barrier): Handle unspec_volatile 8 and 9.
3364 (emit_predicate_relation_info): Handle conditional calls with
3365 REG_NORETURN.
3366 * config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
3367 instead of ia64_file_start.
3368 * config/ia64/sysv4.h (ASM_FILE_START): Likewise.
3369 * config/ia64/ia64.md (safe_across_calls_all,
3370 save_across_calls_normal): New patterns.
3371
8a09bb27
JW
3372 * loop.c (check_final_value): Check for biv use before checking for
3373 giv use. Check for both biv and giv uses. Always set last_giv_use
3374 if there is a giv use.
3375
11a13704
RH
33762000-09-01 Richard Henderson <rth@cygnus.com>
3377
3378 * config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
3379 (madddi3): Likewise.
3380 (maddsi3): New.
3381
6324d2bb
RK
3382Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3383
fcf1b822
RK
3384 * expr.c (clear_storage): Don't use emit_move_insn unless
3385 either BLKmode or proper size.
3386 (store_constructor): Don't call clear_storage if REG of wrong size.
3387
6324d2bb
RK
3388 * flow.c (init_propagate_block_info): Don't mark frame dead at end
3389 of function if returns wiht stack pointer depressed.
3390
1ba5ae8f
AH
33912000-09-01 Andrew Haley <aph@redhat.com>
3392
0e5921e8
ZW
3393 * dwarf2out.c (stack_adjust_offset): New function.
3394 (dwarf2out_stack_adjust): Break out stack adjust logic into
3395 new stack_adjust_offset function. Look inside parallels and
3396 sequences for stack adjustments.
1ba5ae8f 3397
893f3d5b
JL
33982000-08-31 Jeff Law <law@cygnus.com>
3399
94c51f7a
JL
3400 * arm.md: Use no_new_pseudos to determine when it is safe
3401 to create new pseudo registers.
3402
0e5921e8
ZW
3403 * arm.c (legitimize_pic_address): Use no_new_pseudos to determine
3404 when we can safely allocate new registers.
893f3d5b 3405
1b3d8f8a
GK
34062000-08-31 Geoffrey Keating <geoffk@cygnus.com>
3407
3408 * stmt.c (expand_asm_operands): Twiddle generating_concat_p
3409 so that CONCATs are not generated for ASMs.
3410 * emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
3411 not generating_concat_p.
3412 * function.c (pop_function_context_from): Reset
3413 generating_concat_p.
3414 (prepare_function_start): Likewise.
3415 * rtl.c (generating_concat_p): Define.
3416 * rtl.h (generating_concat_p): Declare.
3417 * toplev.c (rest_of_compilation): No CONCATs after RTL generation.
3418
4e8bd75f 34192000-08-22 Philipp Thomas <pthomas@suse.de>
0e5921e8 3420 Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
4e8bd75f
PT
3421
3422 * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
3423 for translation.
3424
b145ee27
GM
34252000-08-30 Greg McGary <greg@mcgary.org>
3426
3427 * Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
3428 * fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
3429 * fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
3430
2afaa41c
GM
34312000-08-30 Greg McGary <greg@mcgary.org>
3432
3433 * tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
3434 (TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
3435 (TREE_INT_CST): New macro.
3436 * varasm.c (const_hash, compare_constant_1, record_constant_1):
3437 Use new macro TREE_INT_CST.
3438
1d92b3e1
NB
3439Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net>
3440
3441 * contrib.texi: Add self.
3442
b23ca156
AO
34432000-08-30 Alexandre Oliva <aoliva@redhat.com>
3444
3445 * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
3446 (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
3447 and labels.
3448
aef9fbbf
DA
34492000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3450
3451 * fixinc/gnu-regex.c: Don't define `const'.
3452
85f3d674
RK
3453Tue Aug 29 22:09:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3454
3455 * expr.c (store_constructor): Allow variable bounds of array type.
3456 (expand_expr): Don't blow up if type is ERROR_MARK.
3457 * varasm.c (output_constructor): Don't access lower bound of array
3458 type unless need it if index is supplied (so it can be a variable
3459 if no index is supplied).
3460 Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
3461 Other minor cleanups.
3462
5b67ad6f
DA
34632000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3464
3465 * Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
3466 for compilations in stage 1 and subsequent stages, respectively.
3467 * configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
3468 * configure: Rebuilt.
3469 * x-vax, x-vax-gcc: Deleted.
3470
63ad61ed
ZW
34712000-08-29 Zack Weinberg <zack@wolery.cumb.org>
3472
3473 * c-common.c (declare_function_name): Use func_id_node,
3474 function_id_node, and pretty_function_id_node. Do not make
0e5921e8 3475 __func__ visible at file scope.
63ad61ed
ZW
3476 * c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
3477 CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
3478 (function_id_node, pretty_function_id_node, func_id_node): New
3479 macros.
3480 * c-decl.c (init_decl_processing): Initialize function_id_node,
3481 pretty_function_id_node, and func_id_node.
3482 (c_make_fname_decl): Correct comment.
3483
3484 * tree.h (struct tree_identifier): Constify pointer member.
3485
3486 * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
3487 * c-pragma.h (struct weak_syms): Constify name and value members.
0e5921e8 3488 (add_weak): Constify arguments.
63ad61ed
ZW
3489
3490 * calls.c (special_function_p): Constify a char *.
3491 (expand_call): Remove variable which is initialized and then
3492 never used.
3493 * dependence.c (struct def_use, struct induction, struct subscript):
3494 Constify 'variable' member.
3495 (get_low_bound, have_induction_variable): Constify char * argument.
3496 (find_induction_variable): Add braces to avoid dangling else.
3497 (classify_dependence): Constify char * arrays.
3498 * profile.c (output_func_start_profiler): Constify a char *.
3499 * stor-layout.c (finalize_record_size): Constify a char *.
3500 * tree.c (is_attribute_p): Constify a char *.
3501 * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
3502
3503 * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
3504 for comprehensibility. Do not call get_identifier if we did
3505 not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to
3506 create temporary string constants, not ggc_alloc_string. No
3507 need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const
3508 char * to hold IDENTIFIER_POINTERs.
3509
cee58bc0
RH
35102000-08-29 Richard Henderson <rth@cygnus.com>
3511
3512 * config/ia64/ia64.md (muldi3): Use grfr_register_operand
3513 for the inputs.
3514
94aaab7a
RH
35152000-08-29 Richard Henderson <rth@cygnus.com>
3516
3517 * reload.c (push_secondary_reload): Allow class == reload_class
3518 if we're using a reload_in/out pattern.
3519
60a3c181
RH
3520 * config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use
3521 the half that does not conflict with the reload register.
3522 (reload_outti): Likewise.
3523
9218435e
KH
35242000-08-29 Kazu Hirata <kazu@hxi.com>
3525
4381f7c2
KH
3526 * reload.c: Fix formatting.
3527
3528 * stmt.c: Fix formatting.
3529
9218435e
KH
3530 * gcc.c: Fix formatting.
3531
fba0bfd4
ZW
35322000-08-29 Zack Weinberg <zack@wolery.cumb.org>
3533
3534 * flags.h (time_report, mem_report): New global flags.
3535 * toplev.c: Define time_report and mem_report.
3536 (f_options): Add -ftime-report and -fmem-report.
3537 (compile_file): Turn on time_report if quiet_flag is off.
3538 Call ggc_print_statistics at very end if mem_report is on.
3539 * timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
3540
3541 * ggc-common.c (ggc_print_statistics): Rename to
3542 ggc_print_common_statistics; all callers changed. Scale
3543 quantities above 10K to kilobytes and above 10M to megabytes.
3544 * ggc-page.c (ggc_page_print_statistics): Rename to
3545 ggc_print_statistics. Report memory consumed by internal data
3546 structures for each allocation bucket. Scale quantities above
3547 10K to kilobytes and above 10M to megabytes.
3548 * ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
3549 Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
3550 Define tally_leaves always.
3551 (ggc_print_statistics): New function.
3552 * ggc.h: Adjust for renamed functions.
3553
612105a6
DC
3554Wed Aug 30 00:11:42 2000 Denis Chertykov <denisc@overta.ru>
3555
3556 * config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
3557 output_movsisf instead of which_alternative.
3558
3559 * config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
3560
6bec29c9
DC
3561Tue Aug 29 22:29:58 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
3562
3563 * config/avr/avr-protos.h: (avr_output_ascii) Removed.
3564 (avr_progmem_p): New prototype.
3565 (output_movsisf): Prototype declaration changed.
3566 (output_movqi): New prototype.
3567 (output_movhi): New prototype.
3568 (call_insn_operand): Likewise.
0e5921e8 3569 (final_prescan_insn): Likewise.
6bec29c9
DC
3570 (avr_simplify_comparision_p): Likewise.
3571 (avr_normalize_condition): Likewise.
3572 (compare_eq_p): Likewise.
3573 (out_shift_with_cnt): Likewise.
3574 (const_int_pow2_p): Likewise.
3575 (output_reload_inhi): Prototype declaration changed.
3576
3577 * config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
3578 (ldi_reg_rtx): New. rtx for r31.
3579 (avr_init_stack): Initialize as "__stack".
3580 (function_prologue): Use it.
3581 Replace all TARGET_ENHANCED with AVR_ENHANCED.
3582 (avr_mcu_name): Initialize as "avr2".
3583 (avr_enhanced_p, avr_mega_p): New variables.
3584 (mcu_types, avr_override_options): Handle all known MCU types.
3585 Also handle avr1 (only preprocess, assemble and link).
3586 (print_operand): Using of `%K' in output template removed.
3587 (out_movqi_r_mr): Optimized.
3588 (out_movhi_r_mr): Likewise.
3589 (output_movqi): New function.
3590 (output_movhi): Likewise.
3591 (out_movsi_r_mr): Optimized.
3592 (output_movsisf): Compute insn length for `adjust_insn_length'
3593 (out_movqi_mr_r): Optimized.
3594 (out_movhi_mr_r): Optimized.
3595 (adjust_insn_length): Use output_movsisf, output_movqi,
3596 output_movhi for insn length adjusting.
3597 (reg_unused_after): Use dead_or_set_p.
3598 (preferred_reload_class): Now havn't any restriction.
3599 (reg_was_0): New function.
3600 (io_address_p): Likewise.
3601 (const_int_pow2_p): Likewise.
3602 (output_reload_inhi): Likewise.
3603 (output_reload_insisf): Likewise.
3604
3605 * config/avr/avr.h (MULTILIB_DEFAULTS): Define.
3606 (LIB_SPEC): Use -lc for all supported devices.
3607 (LIBGCC_SPEC): Use -lgcc for all supported devices.
3608 (AVR_MEGA): Define as avr_mega_p.
3609 (AVR_ENHANCED): New, define as avr_enhanced_p.
3610 (TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
3611 (CPP_SPEC, LINK_SPEC): Handle all known MCU types.
3612 (CRT_BINUTILS_SPECS): Handle all known MCU types.
3613 Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
3614 (EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
3615 (ASM_SPEC): Pass -mmcu=... to the assembler.
3616 Change all -DAVR_* to -D__AVR_*__.
3617 (INIT_TARGET_OPTABS), config/avr/libgcc.S:
3618 Rename library functions to start with two underscores.
3619 (ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
3620 alignment.
3621 (ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
3622 (SUPPORTS_WEAK): Likewise.
3623 (LDI_REG_REGNO): New. Register r31 will be used as temporary
3624 register for loading constants to r0-r14.
3625
3626 * config/avr/avr.md: Replace all TARGET_ENHANCED with
3627 AVR_ENHANCED.
3628 (*mov_r_sp): Removed. Handled by output_movhi.
3629 (*mov_sp_r): Likewise.
3630 (*mov_sp_r_no_interrupts): Likewise
3631 (*mov_sp_r_tiny): Likewise.
3632 (*movqi): Use output_movqi.
3633 (*reload_inqi): New.
3634 (*movhi): Use output_movhi.
3635 (*reload_inhi): New.
3636 (*negsi2): Optimized.
3637 (*negsf2): Likewise.
3638 Added peepholes (define_peephole2) for loading constants to r0-r14
3639 and for using `cpse' command.
3640
3641 * config/avr/libgcc.S: Rename library functions to start with two
3642 underscores.
3643 Add support for enhanced core.
3644 (_moqhi3): Fix typo, now _modqi3.
3645 (__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
3646 (__prologue_saves__): Remove test for stack adjust by 0.
3647 (__tablejump__): New.
3648
3649 * config/avr/t-avr: Build libgcc2 with -mcall-prologues.
3650 Add multilib support.
3651
20bd7bfa
JW
3652Tue Aug 29 15:17:54 EDT 2000 John Wehle (john@feith.com)
3653
3654 * loop.c (prescan_loop): Don't check unknown_address_altered
3655 when deciding if insert_loop_mem is safe. Add BLKmode MEMs
3656 to loop_store_mems as necessary.
3657 (loop_invariant_p): Don't check unknown_address_altered
3658 or unknown_constant_address_altered.
3659
76f941a8
DA
36602000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3661
3662 * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
3663
2c8f0515
ZW
36642000-08-29 Zack Weinberg <zack@wolery.cumb.org>
3665
3666 * cpperror.c (print_file_and_line): If line is (unsigned int)-1,
3667 print just the filename.
3668 * cpplex.c (_cpp_run_directive): Add additional argument, the
3669 name to give the synthetic buffer. This defaults to
3670 translated "<command line>".
3671 * cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
3672 Adjust to match.
3673 (_cpp_define_builtin): New function.
3674 * cppinit.c (initialize_builtins): Use _cpp_define_builtin.
3675 * cpphash.h: Update prototypes.
3676
3677 * tradcpp.c (main): Process -D and -U simultaneously, in the
3678 order they appeared on the command line.
3679
6ad79f1b
KG
36802000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3681
3682 * c-decl.c (define_label): Call warning_with_file_and_line and
3683 error_with_file_and_line instead of plain warning or error.
3684
3685 * c-parse.in (label): Use save_filename/save_lineno to ensure
3686 correct values for calls to define_label.
3687
4361b41d
MM
36882000-08-29 Mark Mitchell <mark@codesourcery.com>
3689
3690 * calls.c (expand_call): Don't create a VAR_DECL just to throw it
3691 away.
3692 * expr.c (expand_expr, case TARGET_EXPR): Don't call
3693 mark_addressable.
3694 * tree.h (get_file_function_name): Remove two duplicate
3695 declarations.
3696
abf9af02
KH
36972000-08-28 Kazu Hirata <kazu@hxi.com>
3698
dc478a5d
KH
3699 * tree.c: Fix formatting.
3700
abf9af02
KH
3701 * xcoffout.c: Fix formatting.
3702
5f632b5e
JM
37032000-08-28 Jason Merrill <jason@redhat.com>
3704
3705 * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
3706
37072000-08-28 Daniel Berlin <dberlin@redhat.com>
3708
3709 * dwarf2out.c (dwarf2out_finish): Don't bother calling
3710 break_out_includes if it won't do anything.
3711
38323cc3
RH
37122000-08-28 Richard Henderson <rth@cygnus.com>
3713
3714 * reload.c (push_secondary_reload): Revert 2000-08-16 change.
3715 (find_reloads): Likewise.
3716 * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
3717 (reload_inhi): Likewise.
3718
e1ff012c
RH
37192000-08-28 Richard Henderson <rth@cygnus.com>
3720
3721 * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
3722 (call_insn_operand): Don't expect a surrounding mem.
3723 (constant_call_address_operand): Likewise.
3724 * config/i386/i386.h (PREDICATE_CODES): Update.
3725 * config/i386/i386.md (call patterns): Move the match_operand
3726 for the call destination inside the mem.
3727
c2cba7a9
RH
37282000-08-28 Richard Henderson <rth@cygnus.com>
3729
3730 * local-alloc.c (requires_inout): Don't use reserved range for
3731 EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
3732 * recog.c (asm_operand_ok): Likewise.
3733 (preprocess_constraints, constrain_operands): Likewise.
3734 * regclass.c (record_reg_classes): Likewise.
3735 * reload.c (find_reloads): Likewise.
3736 * reload1.c (maybe_fix_stack_asms): Likewise.
3737 (reload_cse_simplify_operands): Likewise.
3738 * stmt.c (expand_asm_operands): Likewise.
3739
3740 * md.texi: Update constraints documentation.
3741 * tm.texi (EXTRA_CONSTRAINT): Update.
3742
5f632b5e
JM
37432000-08-28 Daniel Berlin <dberlin@redhat.com>
3744
3745 * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
3746 (print_die): If we don't know the offset of the
3747 target die, try the symbol. Add a trailing newline.
3748 (reverse_all_dies): New fn.
3749 (dwarf2out_finish): Call it.
3750 (break_out_includes): Reorganize for clarity.
3751 (add_sibling_attributes): Don't call reverse_die_lists.
3752 (output_comp_unit): Rename from output_comdat_comp_unit. Use for
3753 primary CU, too.
3754 * flags.h: Add flag_eliminate_dwarf2_dups.
3755 * toplev.c (f_options): Support -feliminate-dwarf2-dups.
3756
5de0e8d4
JM
37572000-08-28 Jason Merrill <jason@redhat.com>
3758
5f632b5e
JM
3759 * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
3760 * dwarf2out.c: #include "md5.h".
3761 (DIE_LABEL_PREFIX): New macro.
3762 (dw_val_struct): Add 'external' flag to val_die_ref.
3763 (add_AT_die_ref, AT_ref): Adjust.
3764 (AT_ref_external, set_AT_ref_external): New fns.
3765 (build_abbrev_table): Call set_AT_ref_external.
3766 (value_format): Call AT_ref_external.
3767 (die_struct): Add die_symbol field.
3768 (new_die): Clear it.
3769 (dwarf_tag_name): Handle BINCL/EINCL.
3770 (dwarf2out_start_source_file): Add BINCL DIE.
3771 (dwarf2out_end_source_file): Add EINCL DIE.
3772 (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
3773 (loc_checksum, attr_checksum, die_checksum): New fns.
3774 (is_type_die, is_comdat_die, is_symbol_die): New fns.
3775 (compute_section_prefix, assign_symbol_names): New fns.
3776 (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
3777 (output_die): Call output_die_symbol and AT_ref_external.
3778 (output_comdat_comp_unit): New fn, split out from...
0e5921e8 3779 (dwarf2out_finish): ...here. Also call add_sibling_attributes for
5f632b5e
JM
3780 secondary CUs.
3781 (output_pubnames, output_aranges): Abort if we see entries from
3782 secondary CUs.
3783 * toplev.h: Declare file_name_nondirectory.
3784 * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
3785 (rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
3786 (debug_start_source_file): Call dwarf2out_start_source_file
3787 regardless of debug verbosity.
3788 (debug_end_source_file): Similarly.
3789 * tree.h: Declare clean_symbol_name.
3790 * tree.c (clean_symbol_name): Split out from...
3791 (get_file_function_name_long): ...here.
3792
5de0e8d4
JM
3793 * dwarf2out.c (new_loc_descr): Use calloc.
3794 (splice_child_die): Remove the die from the right parent.
3795 (gen_struct_or_union_die): Don't add AT_name to a specification DIE.
3796
04324727
RK
3797Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3798
3799 * toplev.c (decode_g_option): Don't give warning for unknown -g
3800 option; return 0 instead.
3801 (main): If -g option is not recognized by front end or
3802 language-independent code, give warning.
3803
9e3e266c
GM
38042000-08-28 Greg McGary <greg@mcgary.org>
3805
3806 * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
3807 * config/i386/i386.c (ix86_expand_compare): Remove `static'.
3808 * config/i386/i386.md (trap, conditional_trap): New insn & expand.
3809
a0bff95f
GM
38102000-08-27 Greg McGary <greg@mcgary.org>
3811
3812 * cpplex.c (parse_string): Don't look for backslash
3813 before first char in `namebuf'.
3814 * loop.c (strength_reduce): Skip NOTEs.
3815
edb4c415
JM
38162000-08-27 Jason Merrill <jason@redhat.com>
3817
3818 * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
3819 DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or
3820 TREE_ASM_WRITTEN, either.
3821 (finish_decl): Adjust.
3822
6e88e75c
PT
38232000-08-28 Philipp Thomas <pthomas@suse.de>
3824
3825 * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
3826 they have been incorporated into the gettext CVS. Change the text to
3827 reflect the current status of NLS. Add instructions for accessing
3828 the gettext CVS and add the patch from Martin v. Loewis.
3829
e53ca51f
GK
38302000-08-27 Geoff Keating <geoffk@cygnus.com>
3831
3832 * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
3833 by using gen_lowpart_common.
3834 (movdi_internal64+6): Likewise.
3835
a0a6fdc8
AO
38362000-08-26 Alexandre Oliva <aoliva@redhat.com>
3837
1b2dd04a
AO
3838 * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
3839 Document.
3840
a0a6fdc8
AO
3841 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
3842 numbers to the ranges used by GDB.
3843
26a110f5
RH
38442000-08-25 Richard Henderson <rth@cygnus.com>
3845
3846 * config/ia64/ia64.h (struct machine_function): Add n_varargs.
3847 * config/ia64/ia64.c (ia64_compute_frame_size): Use it.
3848 (ia64_expand_prologue): Likewise.
3849 (ia64_setup_incoming_varargs): Set it. Properly skip the current
3850 argument for stdargs.
3851
ecff20d4
JM
38522000-08-25 Jason Merrill <jason@redhat.com>
3853
3854 * integrate.c (expand_inline_function): Pull out the original decl.
3855
caa511fd
JW
38562000-08-25 Jim Wilson <wilson@cygnus.com>
3857
d51ff7cb
JW
3858 * cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
3859
caa511fd
JW
3860 * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
3861
9a56f4f6
GM
38622000-08-25 Greg McGary <greg@mcgary.org>
3863
3864 * flow.c (dump_edge_info): Use ARRAY_SIZE.
3865 * config/alpha/alpha.c (alpha_expand_block_move): Likewise.
3866
31448271
RE
38672000-08-25 Richard Earnshaw <rearnsha@arm.com>
3868
3869 * arm.h (STRUCT_VALUE): Define to 0, not NULL.
3870
b949ea8b
JW
3871Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com)
3872
3873 * i386.c (ix86_find_base_term): New.
3874 * i386-protos.h (ix86_find_base_term): Prototype.
3875 * i386.h (FIND_BASE_TERM): Define.
3876 * alias.c (find_base_term): Use it.
3877 * tm.texi (FIND_BASE_TERM): Document it.
3878
3879 * alias.c (true_dependence, write_dependence_p): Unchanging
3880 memory can't conflict with non-unchanging memory.
3881
3882 * alias.c (memrefs_conflict_p): A BLKmode reference
3883 to a symbol (or CONST_INT address) always conflicts
3884 with a reference to another symbol.
3885
343b7260
JM
38862000-08-25 Joseph S. Myers <jsm28@cam.ac.uk>
3887
3888 * c-common.c (time_char_table): Don't allow width and flags with
3889 "z" format.
3890
1f9124e4
JJ
38912000-08-25 Jakub Jelinek <jakub@redhat.com>
3892
3893 * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
3894 way as LT and LTU when the second operand has 0 in low word.
3895
6057c0e6
MH
38962000-08-26 Michael Hayes <mhayes@cygnus.com>
3897
135ebc36
MH
3898 * basic-block.h (struct loop): Rename `exits' field to
3899 `exit_edges'. Add `entry_edges' and `num_entries' fields.
3900
3901 * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
3902 (flow_loop_entry_edges_find): Add.
3903 (flow_edge_list_print): Rename from flow_exits_print.
3904 (flow_loops_find): Call flow_loop_entry_edges_find.
3905 (flow_loop_dump): Dump entry_edges list.
3906 (flow_loops_free): Free entry_edges.
0e5921e8 3907
135ebc36 39082000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 3909
6057c0e6
MH
3910 * loop.c (loop_dump_aux, debug_loop): New functions.
3911 (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
3912
3913 * flow.c (flow_loops_dump): Add callback parameter.
3914 (flow_loop_dump): Add callback parameter and call it. Move
3915 loop note debugging code to loop_dump_aux.
3916
3917 * basic-block.h (flow_loop_dump): Add callback parameter
3918 (flow_loops_dump): Likewise.
3919
3920 * toplev.c (rest_of_compilation): Add NULL callback function pointer
3921 to call to flow_loops_dump.
0e5921e8 3922
028fc6e7
MH
39232000-08-26 Michael Hayes <mhayes@cygnus.com>
3924
3925 * loop.c (count_loop_regs_set): Replace start and end arguments
3926 with loop argument. All callers udated.
0e5921e8 3927
371502a8 39282000-08-26 Michael Hayes <mhayes@cygnus.com>
0e5921e8 3929
371502a8
MH
3930 * loop.c (constant_high_bytes): Delete.
3931
e375c819
MH
39322000-08-26 Michael Hayes <mhayes@cygnus.com>
3933
3934 * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
3935 and NOTE_INSN_LOOP_VTOP to...
3936 (find_and_verify_loops) ...here.
3937
036cfb36
AO
3938Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com>
3939
3940 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
3941 (fini_dummy, init_dummy): Use it.
3942
c2e20542
NB
3943Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net>
3944
3945 * cpplex.c (is_macro_disabled): Caller has already checked
3946 that we're not a preprocessed file.
3947
83bab8db
MM
39482000-08-24 Mark Mitchell <mark@codesourcery.com>
3949
3950 * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
3951 (c-iterate.o): Remove target.
3952 * gcc/c-common.h (enum rid): Remove RID_ITERATOR.
3953 * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
3954 (finish_decl): Don't handle iterators.
3955 (grokdeclarator): Likewise.
3956 * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
3957 * gcc/c-gperf.h: Regenerated.
3958 * gcc/c-iterate.c: Removed.
3959 * gcc/c-lex.c (init_lex): Don't handle iterators.
3960 * gcc/c-parse.in (primary): Remove pop_iterator_stack call.
3961 (compstmt_primary_start): Remove push_iterator_stack call.
3962 (stmt): Don't allow iterator statements. Replace iterator_expand
3963 with expand_expr_stmt.
3964 (all_iter_stmt): Remove.
3965 (all_iter_stmt_simple): Likewise.
3966 (all_iter_stmt_with_decl): Likewise.
3967 * gcc/c-tree.h (ITERATOR_P): Remove.
3968 (ITERATOR_BOUND_P): Likewise.
3969 (init_iterators): Remove declaration.
3970 (iterator_expand): Likewise.
3971 (iterator_for_loop_start): Likewise.
3972 (iterator_for_loop_end): Likewise.
3973 (iterator_for_loop_record): Likewise.
3974 (push_iterator_stack): Likewise.
3975 (pop_iterator_stack): Likewise.
3976 * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
3977 (readonly_warning): Likewise.
3978 * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
0e5921e8 3979
aee3c6b0
JW
39802000-08-24 Jim Wilson <wilson@cygnus.com>
3981
3982 * c-common.c (decl_attributes, case A_ALIGN): Revert last change.
3983 Copy type in a TYPE_DECL, just like pushdecl does.
3984
58d8c980
RH
39852000-08-24 Richard Henderson <rth@cygnus.com>
3986
3987 * toplev.c (main): Enable flag_reorder_blocks at -O2.
3988
054f5e69
ZW
39892000-08-24 Zack Weinberg <zack@wolery.cumb.org>
3990
0e5921e8 3991 * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
054f5e69
ZW
3992 asked for one page, allocate GGC_QUIRE_SIZE of them and put
3993 the extras on the free list.
3994 (release_pages): Clean up.
3995 (ggc_set_mark): Don't adjust G.allocated here...
3996 (sweep_pages): ... do it here.
3997
39982000-08-24 Zack Weinberg <zack@wolery.cumb.org>
3999
4000 * cppfiles.c (read_include_file): Rearrange initializations.
4001
0551c32d
RH
40022000-08-24 Richard Henderson <rth@cygnus.com>
4003
4004 * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
4005
4006 * config/ia64/ia64-protos.h: Update.
4007 * config/ia64/ia64.c (gr_register_operand): New.
4008 (fr_register_operand, grfr_register_operand): New.
4009 (gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
4010 (grfr_reg_or_8bit_operand): New.
0e5921e8 4011 (gr_reg_or_0_operand): Rename from reg_or_0_operand and
0551c32d
RH
4012 use gr_register_operand.
4013 (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
4014 (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
4015 (gr_reg_or_8bit_and_adjusted_operand): Likewise.
4016 (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
4017 (fr_reg_or_fp01_operand): Likewise.
4018 (not_postinc_memory_operand): New.
4019 (ia64_split_timode): Remove unused variables.
4020 (rtx_needs_barrier): Check arguments to cmpxchg.
4021 (builtin_description): Remove.
4022 (bdesc_2argsi, bdesc_2argdi): Remove.
4023 (ia64_init_builtins): Declare all builtins directly.
4024 (ia64_expand_fetch_and_op): Rewrite to be called from
4025 ia64_expand_builtin directly. Use expand_binop and co.
4026 (ia64_expand_op_and_fetch): Likewise.
4027 (ia64_expand_compare_and_swap): Likewise.
4028 (ia64_expand_binop_builtin): Remove.
4029 (ia64_expand_lock_test_and_set): New.
4030 (ia64_expand_lock_release): New.
4031 (ia64_expand_builtin): Use them.
4032 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
4033 (EXTRA_CONSTRAINT): Use it.
4034 (PREDICATE_CODES): Update.
4035 * config/ia64/ia64.md (*): Use gr_register_operand and co.
4036 (mf): Indicate that we set memory as well as use it.
4037 (fetchadd_acq_si): Show memory being modified as well.
0e5921e8 4038 (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
0551c32d
RH
4039 (val_compare_and_swap_si, val_compare_and_swap_di): Remove.
4040 (lock_test_and_set_si, lock_test_and_set_di): Remove.
4041 (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
4042 (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
4043 (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
4044 (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
4045 (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
4046 (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
4047 (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
4048 (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
4049 * config/ia64/ia64intrin.h (*): Cast result to the appropriate
4050 return type. Pretty print definitions.
4051
7c866fb5
JW
40522000-08-24 Jim Wilson <wilson@cygnus.com>
4053
4054 * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
4055 we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
4056
40e8cc95
JM
40572000-08-24 Jason Merrill <jason@redhat.com>
4058
4059 * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
4060 AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
0e5921e8 4061 (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
40e8cc95
JM
4062 get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
4063
b6a1cbae
GM
40642000-08-24 Greg McGary <greg@mcgary.org>
4065
4066 * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
4067 and extendtab within their proper array boundaries.
4068 * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
4069 for the entire array.
4070
4071 * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
4072 * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
4073 * config/avr/avr.c (order_regs_for_local_alloc): Likewise.
4074 * config/fr30/fr30.c (fr30_print_operand): Likewise.
4075 * config/i386/dgux.c (output_options): Likewise.
4076 * config/i386/dgux.h (ASM_FILE_START): Likewise.
4077 * config/m88k/m88k.c (output_options): Likewise.
4078 * config/m88k/m88k.h (ASM_FILE_START): Likewise.
4079 * config/mcore/mcore.c (mcore_output_inline_const_forced,
4080 layout_mcore_frame, handle_structs_in_regs): Likewise.
4081 * config/mips/mips.c (output_block_move): Likewise.
4082 * config/rs6000/rs6000.c (rs6000_override_options,
4083 rs6000_file_start): Likewise.
4084 * config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
4085 * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
4086 * fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
4087 * builtins.c (expand_builtin_setjmp): Likewise.
4088 * expr.c (safe_from_p): Likewise.
4089 * flow.c (life_analysis): Likewise.
4090 * fold-const.c (size_int_type_wide): Likewise.
4091 * gcc.c (translate_options, init_spec, set_spec, main): Likewise.
4092 * genattrtab.c (make_length_attrs): Likewise.
4093 * genopinit.c (gen_insn): Likewise.
4094 * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
4095 * global.c (global_alloc): Likewise.
4096 * local-alloc.c (find_free_reg): Likewise.
4097 * mips-tdump.c (print_symbol): Likewise.
4098 * mips-tfile.c (parse_def, parse_input): Likewise.
4099 * reload1.c (NUM_ELIMINABLE_REGS): Likewise.
4100 * stmt.c (expand_nl_goto_receiver): Likewise.
4101 * stor-layout.c (set_sizetype): Likewise.
4102 * varasm.c (decode_reg_name): Likewise.
4103 * toplev.c (decode_f_option, decode_W_option,
4104 set_target_switch, print_switch_values): Likewise.
4105 (NUM_ELEM): Remove macro.
4106 (display_help, main): s/NUM_ELEM/ARRAY_SIZE/
4107
5b47282c
GM
41082000-08-24 Greg McGary <greg@mcgary.org>
4109
4110 * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
4111 (MAIN_NAME_P, main_identifier_node): New macros.
4112 * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
4113 * c-decl.c (start_decl, grokdeclarator, start_function,
4114 store_parm_decls, finish_function): Use MAIN_NAME_P.
4115 * config/avr/avr.c (function_prologue, function_epilogue): Likewise.
4116 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
4117 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
4118 * config/pdp11/pdp11.c (output_function_prologue): Likewise.
4119
87ae0c74
GM
41202000-08-24 Greg McGary <greg@mcgary.org>
4121
4122 * cppfiles.c (actual_directory): Don't write beyond `dir'
4123 when it contains "".
4124 * real.c (asctoeg): Stay within bounds of etens[][].
4125
b148aeaa
KG
41262000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4127
4128 * dependence.c (dependence_string, direction_string,
4129 dump_one_node, dump_node_dependence): Hide unused identifiers.
4130 (get_low_bound, normalize_coefficients): Match definition to
4131 static prototype.
4132 (get_one_coefficient): Initialize variables `value0_is_idx' and
4133 `value1_is_idx'.
4134 (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
4135 (ziv_test): Delete variable `idx', use parameter `sub' instead.
4136 (direction_merge): Avoid automatic aggregate initialization.
4137 (have_dependence_p): Use `src' not `dest' to set `src_idx'.
4138 Initialize variables `dest_idx' and `src_idx'.
4139 (end_dependence_analysis): Avoid C89 style function definition.
4140
4894ecce
JM
41412000-08-24 Joseph S. Myers <jsm28@cam.ac.uk>
4142
4143 * c-common.c (time_char_table): Don't allow width with %F.
4144 (check_format_info): Don't allow "Z" length with scanf.
4145
2ab99c46
GDR
41462000-08-24 Gabriel Dos Reis <gdr@codesourcery.com>
4147
4148 * diagnostic.c (finish_diagnostic): Define.
4149 (output_do_printf): Use wrap_text instead of output_add_string.
4150 (default_print_error_function): Avoid embedded '\n'.
4151
4152 * diagnostic.h (flush_diagnostic_buffer): Declare.
4153
335e59bd
AO
41542000-08-23 Alexandre Oliva <aoliva@redhat.com>
4155
4156 * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
4157
d9fe00bb
HPN
41582000-08-23 Hans-Peter Nilsson <hp@axis.com>
4159
4160 * Makefile.in (GCC_PASSES): Add specs.
4161
b97644fc
JW
41622000-08-23 Jim Wilson <wilson@cygnus.com>
4163
4164 * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
4165 * config/ia64/frame-ia64.c (__get_personality): Return zero if neither
4166 EHANDLER nor UHANDLER bit is set.
4167 (__get_except_table): Likewise.
4168
64a7723d
NC
41692000-08-23 Nick Clifton <nickc@redhat.com>
4170
02689e18
NC
4171 * config/arm/lib1funcs.asm: Replace upper case condition codes
4172 with lower case versions.
4173
64a7723d
NC
4174 * config/arm/arm.h (STRUCT_VALUE): Define.
4175 (STRUCT_VALUE_REGNUM): Delete.
4176
bbdac7d0
ZW
41772000-08-23 Zack Weinberg <zack@wolery.cumb.org>
4178
4179 * cpphash.h (IN_I): New flag for directive table.
4180 * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
4181 #pragma with IN_I.
4182 (_cpp_check_directive): If -fpreprocessed, execute directives
4183 marked with IN_I. Issue no warnings in this case.
4184 * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
4185
d8eceea4
JM
41862000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
4187
4188 * c-common.c (print_char_table): Allow 'I' flag with %d, %i and
4189 %u.
4190 (check_format_info): Support printf 'I' flag; warn about it with
4191 -pedantic.
4192
e04c2d6c
RE
41932000-08-23 Richard Earnshaw (rearnsha@arm.com)
4194
4195 * arm.c (arm_expand_prologue): Ensure that the stack-adjustment
4196 barrier can't be ignored by the alias analysis code.
4197
f4306baa
EZ
41982000-08-12 Eli Zaretskii <eliz@is.elta.co.il>
4199
4200 * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
4201 works inside fixincl.
4202
95d0e5f1
AO
4203Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
4204
4205 * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
4206 simplify_relational_operation() unless both operands are of
4207 VOIDmode.
4208 * cse.c (fold_rtx): Likewise.
4209
55efb413
JW
4210Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
4211
4212 * rtlanal.c (rtx_unstable_p): The pic register is stable
4213 (within one function) and the actual rtx should be used
4214 when checking the registers.
4215 (rtx_addr_can_trap_p): Pic memory addresses can't trap.
4216
4217 * alias.c (true_dependence, write_dependence_p): Fix
4218 bug in previous patch.
4219
4220 * i386.c (ix86_GOT_alias_set): New.
4221 (legitimize_pic_address): Use it.
4222
4223 * rtlanal.c (rtx_unstable_p): An unchanging MEM is
4224 only stable if its address is stable.
4225 (rtx_varies_p): An unchanging MEM can't vary if
4226 its address doesn't vary.
4227
aac625ac
KG
42282000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4229
4230 * c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
4231
62432849
DA
42322000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca>
4233
4234 * vax.h (ASM_SPEC): Pass `-J' to assembler.
4235 * x-vax-gcc: New file for bootstrapping with gcc.
dd745546 4236 * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
62432849
DA
4237 * configure.in: Use x-vax-gcc with gcc.
4238 * configure: Rebuilt.
4239
1eb994b7
R
4240Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
4241
4242 * toplev.c (rest_of_compilation): Rebuild label notes after
4243 post-reload splitting pass if new labels have been created.
4244
f6a542de
GDR
42452000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
4246
4247 * diagnostic.h (output_buffer_state): New macro.
4248 * diagnostic.c (diagnostic_for_decl, sorry,
4249 default_print_error_function, output_do_verbatim,
4250 report_diagnostic, report_problematic_module): Use it.
4251 (wrap_text): Tweak.
4252 (output_format): Use wrap_text instead of maybe_wrap_text.
4253
888e552f
NC
42542000-08-22 Nick Clifton <nickc@redhat.com>
4255
4256 * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
4257 Common code for ARM divide and modulus functions.
4258 (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
4259 ARM_DIV_MOD_BODY.
4260 (FUNC_END): New macro: Common code at the end of the division and
4261 modulo functions.
4262 (THUMB_FUNCTION_START): New macro: Common code at the start of
4263 Thumb functions.
4264 (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
0e5921e8 4265
89e43e33
KK
4266Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4267
4268 * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
4269
4270 * config/sh/sh.c (prepare_scc_operands): Apply force_reg to
4271 sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
4272 const0_rtx.
4273
7405dc37
NC
42742000-08-22 Nick Clifton <nickc@redhat.com>
4275
4276 * config/arm/lib1funcs.asm (__umodsi3): Before performing any
4277 restorative additions, test for bottom bits of IP being set,
4278 rather than relying upon the RORs not matching.
4279 (__modsi3): Ditto.
4280
9861b0c9
DE
42812000-08-22 David Edelsohn <edelsohn@gnu.org>
4282
4283 * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
60a3c181 4284 text_section() as appropriate instead of emitting text csect
9861b0c9
DE
4285 pseudo-op directly.
4286 (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
4287 (UNIQUE_SECTION): Define macro.
4288 (ASM_OUTPUT_SECTION_NAME): Define macro.
4289 * rs6000.c (rs6000_override_options): Disable -ffunction-sections
60a3c181 4290 on AIX if debugging and -fdata-sections always.
9861b0c9
DE
4291
42922000-08-22 Steven King <sxking@uswest.net>
df3a88f0
SK
4293
4294 * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
4295 machinery.
4296 (LDBL_MAX): Same here.
4297
b578dbd7
RH
42982000-08-22 Richard Henderson <rth@cygnus.com>
4299
4300 * flow.c (tidy_fallthru_edge): Update b->end properly.
4301
d061bc1e
SC
43022000-08-22 Stan Cox <scox@redhat.com>
4303
60a3c181
RH
4304 * Makefile.in (OBJS): Add dependence.o.
4305 * dependence.c: New file.
0e5921e8 4306
23d16877 43072000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca>
3cadd778 4308
d60eab50
AO
4309 * calls.c (check_sibcall_argument_overlap_1): Adjust for
4310 ARGS_GROW_DOWNWARD.
4311 (check_sibcall_argument_overlap): Likewise.
4312
23d16877
AO
43132000-08-22 Alexandre Oliva <aoliva@redhat.com>
4314
3cadd778
AO
4315 * invoke.texi (SH Options): Document -m4-nofpu,
4316 -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
4317 -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
4318
23e4d028
JM
43192000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
4320
4321 * c-common.c (check_format_info): Give the 'some locales' warning
4322 for strftime %Ey rather than the unconditional 'only last 2 digits
4323 of year' one.
4324
bc82c87c
RH
43252000-08-22 Richard Henderson <rth@cygnus.com>
4326
4327 * alias.c (init_alias_analysis): Do not register
4328 struct_value_incoming_rtx or static_chain_rtx as pointing
4329 to stack memory.
4330
7db9125f
JL
4331Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com)
4332
4333 * protoize.c (munge_compile_params): Fix typo and formatting buglets.
4334
b413d64d
GDR
43352000-08-22 Gabriel Dos Reis <gdr@codesourcery.com>
4336
4337 * diagnostic.h (report_problematic_module): Declare.
4338 * diagnostic.c (report_problematic_module): New function.
4339 (report_error_function): Tweak.
4340
c4a6c0f3
RK
4341Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4342
4343 * stmt.c (expand_goto_internal, fixup_gotos): Only check
4344 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
4345
770a7feb
RH
43462000-08-21 Richard Henderson <rth@cygnus.com>
4347
4348 * flow.c (calculate_global_regs_live): Mark frame pointer live
4349 everywhere before reload.
4350
280db205
JW
43512000-08-21 Jim Wilson <wilson@cygnus.com>
4352
4353 * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
4354 INTEL_EXTENDED_IEEE_FORMAT.
4355 (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally
4356 clear last two bytes of output FP value.
4357
94c21c17
GS
43582000-08-21 Graham Stott <grahams@cygnus.co.uk>
4359
4360 * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
4361
6315f068
JJ
43622000-08-21 Jakub Jelinek <jakub@redhat.com>
4363
4364 * unroll.c (loop_find_equiv_value): If ret is modified between
4365 insn and loop_start, ret might not be equivalent to reg.
4366
5804a754
JM
43672000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
4368
4369 * c-common.c (init_dollar_format_checking,
4370 maybe_read_dollar_number, finish_dollar_format_checking): New
4371 functions.
4372 (dollar_arguments_used, dollar_arguments_count,
4373 dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
4374 New variables.
4375 (check_format_info): Support $ formats for scanf and printf width
4376 and precision. Always increment format_chars to advance past the
4377 '*' of precision, not just when the format parameters are
4378 available to check.
4379
95adab8e
KG
43802000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4381
4382 * mips.c (block_move_loop, expand_block_move,
4383 function_arg_partial_nregs, save_restore_insns, function_prologue,
4384 mips_expand_prologue, RA_MASK): Avoid using the `U' integer
4385 constant suffix.
4386 (function_arg_advance, function_arg): Match argument to format
4387 specifier `%p'.
4388
49009afd
JL
43892000-08-21 Nix <nix@esperi.demon.co.uk>
4390
4391 * gcc.c (do_spec_1): Implement %j spec flag.
4392 Remove dead comment.
4393
4394 * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
60a3c181
RH
4395 * system.h (HOST_BIT_BUCKET): Default to "/dev/null".
4396 * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
4397 * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
49009afd 4398
60a3c181 4399 * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
49009afd
JL
4400 writable) instead of hardcoded value.
4401
4402 * toplev.c (compile_file): Output to a file even if -fsyntax-only.
4403
60a3c181
RH
4404 * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
4405 MKTEMP_EACH_FILE.
49009afd 4406
60a3c181 4407 * gcc.c (cc1_options): Do not process -o or run the assembler if
49009afd 4408 -fsyntax-only.
05a3d06e 4409 * objc/lang-spec.h: Likewise.
49009afd
JL
4410
44112000-08-21 Eli Zaretskii <eliz@is.elta.co.il>
dc13bad7
EZ
4412
4413 * fixinc/fixincl.c (fix_with_system): Pipe the output of
4414 "external" fixes through `cat', to avoid truncating the input
4415 file by redirection.
4416
cb694d2c
JJ
44172000-08-21 Jakub Jelinek <jakub@redhat.com>
4418
4419 * config/i386/i386.md (lea_general_1): Copy insn condition to split
4420 condition.
4421 (lea_general_2, lea_general_3): Likewise.
4422
cde6e684
KG
44232000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4424
4425 * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
4426 warnings to user code.
4427
4428 * c-lex.c (readescape, yylex): Likewise.
4429
4430 * c-typeck.c (store_init_value, process_init_element): Likewise
4431 (c_expand_start_case): Format.
4432
120dc6cd
MR
44332000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4434
4435 * mips/linux.h (LINK_SPEC): Use %(endian_spec).
4436
4437 * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
0e5921e8 4438 and linker_endian_spec to endian_spec.
120dc6cd
MR
4439 (ENDIAN_SPEC): Add %{EB} and %{EL}.
4440 (LINK_SPEC): Remove %{EB} and %{EL}.
0e5921e8 4441 (ASM_SPEC): Likewise. Use %(endian_spec).
120dc6cd 4442
93e2382f
JM
44432000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
4444
4445 * c-tree.h (flag_hosted): Move declaration from here...
4446 * c-common.h (flag_hosted): ... to here.
4447 (flag_noniso_default_format_attributes): New declaration.
4448 * c-decl.c (flag_noniso_default_format_attributes): New variable.
4449 (c_decode_option): Set it appropriately for options choosing
4450 language standard variant.
4451 * c-common.c (init_function_format_info): Only provide default
4452 format attributes if flag_hosted. Only provide the gettext
4453 formats if flag_noniso_default_format_attributes. Update
4454 comments.
4455 (check_format_info): Disable treatment of %a as a scanf flag in
4456 C99 mode.
4457
f3d360aa
JM
44582000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
4459
4460 * c-common.c (scan_char_table): Add 'w' to flags for all formats
4461 except 'n'.
4462 (check_format_info): Set 'wide' for scanf format widths. Warn for
4463 a zero scanf width. Make the check for writing into a constant
4464 object at the first level of indirection; at later levels, warn if
4465 any type qualifiers are encountered.
4466
e04ca094
JL
4467Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com)
4468
e6ea3b5f
JL
4469 * reload.c (reload_inner_reg_of_subreg): New function broken out of
4470 push_reload.
4471 (push_reload): Use reload_inner_reg_of_subreg.
4472 (combine_reloads): Do not combine reloads if the input reload
4473 is a SUBREG in which the inner part will need reloading.
4474
e04ca094
JL
4475 * global.c (global_alloc): Avoid passing dumpfile argument to
4476 reload routines.
4477 * toplev.c (rest_of_compilation): Likewise.
4478 * reload.h (reload): Remove dumpfile argument. Callers changed.
4479 (debug_reload, debug_reload_to_stream): Move prototypes here.
4480 * rtl.h (reload): Remove dumpfile argument.
4481 * reload.c (debug_reload): Remove prototype.
4482 (debug_reload_to_stream): Likewise.
4483 * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
4484 instead.
4485
24805e80
GDR
44862000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
4487
4488 * diagnostic.c (context_as_prefix): Export.
4489 (need_error_newline): Remove.
4490 (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
4491 (error_module_changed, record_last_error_module,
4492 error_function_changed, record_last_error_function): New functions.
4493 (initialize_diagnostics): Default intialize
4494 lang_diagnostic_starter, lang_diagnostic_finalizer.
4495 (init_output_buffer): Tweak.
4496 (file_name_as_prefix): New function.
4497 (announce_function, default_print_error_function,
4498 report_error_function, set_diagnostic_context): Tweak.
4499
056b6841
RE
45002000-08-21 Richard Earnshaw <rearnsha@arm.com>
4501
4502 * flow.c (init_propagate_block_info): Handle SUBREG in a jump
4503 condition expression.
4504
7171b491
RH
45052000-08-20 Richard Henderson <rth@cygnus.com>
4506
4507 * flow.c (merge_blocks_nomove): Don't seek back past the bb note.
4508
3cb553b4
ZW
45092000-08-20 Zack Weinberg <zack@wolery.cumb.org>
4510
4511 * cppinit.c (cpp_init): Set global flag when called.
4512 (cpp_reader_init): Bomb out if cpp_init hasn't been called.
4513
9861b0c9 4514Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
3cb553b4 4515
60a3c181
RH
4516 * cpplex.c (cpp_scan_buffer): Move `output_line_command' just
4517 before `process_directive' so that newlines won't be missed
4518 for directives.
4519 (cpp_printf): Increment `print->lineno' when newline is emitted.
3cb553b4 4520
60a3c181
RH
4521 * cppmain.c (cb_ident): Likewise.
4522 (cb_define): Likewise.
4523 (cb_undef): Likewise.
4524 (cb_include): Likewise.
4525 (cb_def_pragma): Likewise.
4526 (dump_macros_helper): Likewise.
3cb553b4 4527
9c668921
RH
45282000-08-20 Richard Henderson <rth@cygnus.com>
4529
4530 * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
4531 assigned before a loop.
4532
4533 * config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
4534 (ashrsi3, lshrsi3): Likewise.
4535
4e1e6a01
GDR
45362000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
4537
4538 * c-lang.c: #include diagnostic.h
4539 (c_tree_printer): New function.
4540 (lang_init): Initialize lang_printer.
4541
4542 * Makefile.in (c-lang.o): Depends on diagnostic.h
4543
e2840263
GDR
45442000-08-20 Gabriel Dos Reis <gdr@codesourcery.com>
4545
4546 * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
4547
4548 * diagnostic.c (default_diagnostic_starter,
4549 default_diagnostic_finalizer): New functions.
4550 (diagnostic_for_asm, diagnostic_for_decl): Tweak.
4551 (pedwarn, pedwarn_with_file_and_line, error,
4552 error_with_file_and_line, fatal, warning,
4553 warning_with_file_and_line): Adjust call to report_diagnostic.
4554 (report_diagnostic): Rework.
4555 (set_diagnostic_context): New function.
4556
4557 * diagnostic.h (struct diagnostic_context): New data structure.
4558 (diagnostic_message, diagnostic_argument_list,
4559 diagnostic_file_location, diagnostic_line_location,
4560 diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
4561 diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
4562 (set_diagnostic_context): Declare.
4563 (report_diagnostic): Change prototype.
4564
574f7425
NB
4565Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net>
4566
4567 * fix-header.c (main): Initialize cpplib.
4568
f1e42c81
MM
45692000-08-19 Michael Meissner <meissner@redhat.com>
4570
34c9e848
MM
4571 * ifcvt.c (find_if_block): Do not assume that a THEN block has any
4572 instructions in it before checking for indirect jumps.
4573
f1e42c81
MM
4574 * ifcvt.c (find_if_block): Do not consider a THEN block that ends
4575 in a indirect jump as a potential for conditional execution.
4576
4577 * d30v.h (d30v_init_expanders): Don't declare here.
4578 * d30v-protos.h (d30v_init_expanders): Declare here with a valid
4579 prototype.
4580
9d6c2770
NB
4581Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net>
4582
4583 * cpp.texi: Add @section for assertions.
4584
e76d9acb
JW
4585Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com)
4586
4587 * loop.c (scan_loop): Use CONST_CALL_P instead of
4588 checking for REG_LIBCALL / REG_RETVAL.
4589
f49957d6
JL
4590Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com)
4591
850aac53
JL
4592 * reload1.c (reload_as_needed): Accept dumpfile argument,
4593 pass it to emit_reload_insns.
4594 (emit_reload_insns): Add new dumpfile argument. If non-null
4595 then dump the reloads for each insn into the dumpfile.
4596 (reload): Pass dumpfile to reload_as_needed.
4597
f49957d6
JL
4598 * invoke.texi: Clean up linux-gnu vs linux comments.
4599
041f25e6
RH
46002000-08-19 Richard Henderson <rth@cygnus.com>
4601
4602 * config/ia64/ia64.c (reg_or_5bit_operand): New.
4603 (ia64_depz_field_mask): New.
4604 * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
4605 (PREDICATE_CODES): Update.
4606 * config/ia64/ia64.md: Update commentary.
4607 (depz_internal): New.
4608 (ashlsi3): Implement directly.
4609 (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
4610 (ashldi3): Use shladd.
4611 * config/ia64/ia64-protos.h: Update.
4612
319ea138
ZW
46132000-08-18 Zack Weinberg <zack@wolery.cumb.org>
4614
4615 * toplev.c (independent_decode_option): Always process -g.
4616 Remove third argument, now unused. Adjust caller to match.
4617
8231ad94
RH
46182000-08-18 Richard Henderson <rth@cygnus.com>
4619
4620 * combine.c (make_compound_operation): Break after creating
4621 the extraction.
4622
6e19bb38
ZW
46232000-08-18 Zack Weinberg <zack@wolery.cumb.org>
4624
4625 * cpplib.c (cpp_register_pragma_space): Just return if the
4626 namespace is already registered.
4627
477d303f
RE
46282000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com>
4629
4630 * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
4631 constant amount. Do not generate ROTL instruction.
4632
ffe51c8a
AO
4633Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com>
4634
4635 * config/sh/elf.h: Do not include sh/sh.h.
4636 * config/sh/rtems.h: Likewise.
4637 * config/sh/rtemself.h: Do not include sh/elf.h.
4638 * configure.in: Get them included with `tm_file's.
4639 * configure: Rebuilt.
4640
8845e874
AO
4641 * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
4642 * config/sh/sh.c (fpscr_set_from_mem): Use them.
4643
3f546a53
RK
4644Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4645
7d2950e5
RK
4646 * stor-layout.c (compute_record_type): Don't use mode of single
4647 field as mode of record if not integer mode of same type.
4648
a1c1fdd0
RK
4649 * regmove.c (perhaps_ends_bb_p): New function.
4650 (optimize_reg_copy_1, optimize_reg_copy_2): Call it.
4651 (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
4652 (fixup_match_1): Likewise.
4653 (fixup_match_1, combine_stack_adjustments_for_block): Add casts to
4654 avoid signed/unsigned warnings.
0e5921e8 4655
3f546a53
RK
4656 * function.c (fixup_var_refs_1, case MEM): Update CODE after
4657 updating X.
4658
61d0346d
NB
4659Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net>
4660
4661 * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
4662 (_cpp_trigraph_map): Declaration moved from cpplex.c
4663
4664 * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1
4665 instead of 256. Use consistent test for designated initializers.
4666 (cpp_init): Initialize trigraph_map.
4667 (initialize_standard_includes, parse_option): Use memcmp
4668 instead of strncmp.
4669
4670 * cpplex.c (init_trigraph_map): Remove.
4671 (trigraph_ok, trigraph_replace, lex_line): Refer to
4672 _cpp_trigraph_map.
4673
4674 * cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
4675 (do_unassert): Remove unused "next" local.
4676
4677 * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
4678
ef42b1dd
EM
46792000-08-18 Emmanuel Marty <emarty@suntech.fr>
4680
4681 * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
4682 insn.
4683
bc08aefe
RH
46842000-08-17 Richard Henderson <rth@cygnus.com>
4685
4686 * config/ia64/ia64.c (spill_restore_mem): Handle emitting
4687 the first insn in a sequence.
4688
49982682
JW
4689Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com)
4690
4691 * alias.c (true_dependence, write_dependence_p): A read
4692 involving a label_ref or the constant pool doesn't create
4693 a dependency.
4694
4695 * rtl.h (unchanging): Improve documentation.
4696
889e5964
RB
46972000-08-17 Rodney Brown <RodneyBrown@mynd.com>
4698
4699 * cse.c (insert_regs): Remove unused `regno'.
4700
dd69c71b
NB
47012000-08-17 Neil Booth <NeilB@earthling.net>
4702
4703 * (cppinit.c) merge_include_chains: Use remove_dup_dir,
4704 remove_dup_dirs. If qtail == brack, remove brack not
4705 qtail.
4706 (remove_dup_dir, remove_dup_dirs): New functions.
4707
709e9e50
NB
47082000-08-17 Neil Booth <NeilB@earthling.net>
4709
4710 * cppinit.c (cpp_cleanup): Free include dir chains.
4711 * cpplib.c (do_undef): Let _cpp_free_definition make the node void.
4712 (do_unassert): Free the assert with _cpp_free_definition.
4713 * cppmacro.c (_cpp_free_definition): Free memory allocated for
4714 assertions. Make the node a T_VOID node.
4715
e33f6253
NB
47162000-08-17 Neil Booth <NeilB@earthling.net>
4717
4718 * cppinit.c (path_include, append_include_chain):
4719 Remove 2nd parameter (struct cpp_pending *).
4720 (path_include, initialize_standard_includes, cpp_handle_option):
4721 Update callers appropriately.
4722 (cpp_handle_option): Use pend.
4723
c154ba66
NB
47242000-08-17 Neil Booth <NeilB@earthling.net>
4725
4726 * cppinit.c (sort_options): Remove, put functionality in
4727 cpp_init.
4728 (cpp_init): New.
4729 (initialize_builtins): Free memory.
4730 (cpp_start_read): Move init_IStable to cpp_init.
4731
4732 * cpplib.h (cpp_init): New prototype.
4733 * cppmain.c (main): Call cpp_init.
4734
9c82ac6b
JW
4735Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com)
4736
4737 * rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
4738 (rtx_unstable_p, rtx_varies_p): Process vectors.
4739
acd50a92
NY
47402000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>
4741
4742 * config/sh/lib1funcs.asm (GLOBAL): Define. Use for all
4743 references to GLOBAL symbols. Use LOCAL where appropriate.
4744
cfedbb1f
KG
47452000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4746
4747 * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always
4748 use t-aix41 when host == target.
4749
31989264
RH
47502000-08-16 Richard Henderson <rth@cygnus.com>
4751
4752 * reload.c (push_secondary_reload): Revert last change.
4753 If we use a reload_in/out pattern, make the when the same
4754 as the primary reload.
4755 (find_reloads): Likewise.
4756
d84c5634
MH
47572000-08-16 Manfred Hollstein <manfredh@redhat.com>
4758
4759 * configure.in (libstdcxx-v3): Fix test.
4760 * configure: Regenerate.
4761
43db0363
RK
4762Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4763
4764 * calls.c (calls_function_1, expand_call): Only test
4765 TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
4766 * function.c (thread_prologue_and_epilogue_insns): Likewise.
4767
853d8828
RH
47682000-08-16 Richard Henderson <rth@cygnus.com>
4769
4770 * combine.c (simplify_shift_const): Revert previous two
4771 changes. If SHIFT_COUNT_TRUNCATED, crop the shift count
4772 before the main loop.
4773
3e626beb
RH
47742000-08-15 Richard Henderson <rth@cygnus.com>
4775
4776 * combine.c (simplify_shift_const): Bound shift count when
4777 combining shifts.
4778
f507188a
RK
4779Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4780
7393c642
RK
4781 * calls.c (ECF_SP_DEPRESSED): New macro.
4782 (calls_function_1): Treat calling sp-depressed function as alloca.
4783 (emit_call_1): Don't adjust SP if calling sp-depressed function.
4784 (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
4785 If sp-depressed, ensure block saves and restores SP.
4786 * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
4787 for INTEGER_TYPE.
4788 * function.c (keep_stack_depressed): New function.
4789 (thread_prologue_and_epilogue_insns): Call it.
4790 * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
4791 to print DECL_OFFSET_ALIGN.
4792 Print no-force-blk and transparent-union flags properly.
4793 * stmt.c (expand_goto_internal): Don't restore stack if last block
4794 and function returns with sp depressed.
4795 (fixup_gotos): Likewise.
4796 (save_stack_pointer): New function, from code in expand_decl.
4797 (expand_decl): Call new function.
4798 * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
4799 (TYPE_RETURNS_STACK_DEPRESSED): New macro.
4800 (save_stack_pointer): New declaration.
4801
f507188a
RK
4802 * diagnostic.c (fatal_function): New variable.
4803 (set_fatal_function): New function.
4804 (fatal): Call it.
4805 * diagnostic.h (set_fatal_function): New declaration.
4806
56847207
WC
48072000-08-15 William Cohen <wcohen@redhat.com>
4808
4809 * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
4810 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
4811 (DWARF2_ASM_LINE_DEBUG_INFO): Defined.
4812
7791b7f9
RH
48132000-08-15 Richard Henderson <rth@cygnus.com>
4814
4815 * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
4816
f99fce0c
RE
48172000-08-15 Richard Earnshaw <rearnsha@arm.com>
4818
4819 * arm.c (arm_function_ok_for_sibcall): New function.
4820 * arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
4821 * arm.md (call expanders): Don't check here for calls that can't
4822 be sibling calls.
4823
74da3101
RE
48242000-08-15 Richard Earnshaw <rearnsha@arm.com>
4825
4826 * arm.md (splits generating cond_exec): Disable.
4827
2c210617
RE
48282000-08-15 Richard Earnshaw <rearnsha@arm.com>
4829
4830 * arm/linux-elf.h (text_section): Delete declaration.
4831
05ed98a1
RE
48322000-08-15 Richard Earnshaw <rearnsha@arm.com>
4833
4834 ARM support for unordered FP operations.
4835 * arm-protos.h (arm_comparison_operator): Declare.
4836 * arm.c (arm_comparison_operator): New function.
4837 (arm_select_cc_mode): Add unordered comparison codes.
4838 (get_arm_condition_code): Likewise.
4839 (arm_final_prescan_insn): Can't handle unordered jumps that can't
4840 be done in one insn.
4841 * arm.h (PREDICATE_CODES): Add arm_comparison_operator.
4842 * arm.md (all uses of comparison_operator): Replace with
4843 arm_comparison_operator.
4844 (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
4845 expands.
4846 (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
4847 patterns.
0e5921e8 4848
ed78c862
OP
4849Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
4850
4851 * gthr-posix.h: Conditionally include <sched.h>; include
4852 <config.h> from libobjc/.
4853
4859dd36
RH
48542000-08-14 Richard Henderson <rth@cygnus.com>
4855
4856 * config/i386/i386.c (legitimize_pic_address): Use Pmode
4857 for all CONSTs.
4858
3f622353
RH
48592000-08-14 Richard Henderson <rth@cygnus.com>
4860
4861 * configure.in (ia64-*): Set float_format for i386 long double.
4862
4863 * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
4864 as we would for i386 XFmode.
4865 (PUT_REAL): Likewise.
4866 (endian, ereal_atof, real_value_truncate): Likewise.
4867 (ereal_isneg, toe64, etens, make_nan): Likewise.
4868 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
4869
4870 * config/ia64/ia64-protos.h: Update.
4871 * config/ia64/ia64.c (general_tfmode_operand): New.
4872 (destination_tfmode_operand): New.
4873 (tfreg_or_fp01_operand): New.
4874 (ia64_split_timode): New.
4875 (spill_tfmode_operand): New.
4876 (ia64_expand_prologue): Use TFmode not XFmode.
4877 (ia64_expand_epilogue): Likewise.
4878 (ia64_function_arg): Likewise.
4879 (ia64_function_arg_advance): Likewise.
4880 (ia64_return_in_memory): Likewise.
4881 (ia64_function_value): Likewise.
4882 (ia64_print_operand): Likewise.
4883 (ia64_register_move_cost): Set GR<->FR to 5.
4884 (ia64_secondary_reload_class): Get GR for TImode memory op.
4885 * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
4886 (ROUND_TYPE_ALIGN): Remove.
4887 (LONG_DOUBLE_TYPE_SIZE): Set to 128.
4888 (INTEL_EXTENDED_IEEE_FORMAT): Define.
4889 (HARD_REGNO_NREGS): Use TFmode, not XFmode.
4890 (HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs.
4891 (MODES_TIEABLE_P): Use TFmode, not XFmode.
4892 (CLASS_MAX_NREGS): Likewise.
4893 (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
4894 (PREDICATE_CODES): Update.
4895 * config/ia64/ia64.md (movti): New.
4896 (movti_internal): Use a clobber for memory alternatives.
4897 (reload_inti, reload_outti): New.
4898 (movsfcc_astep): Predicate properly.
4899 (movdfcc_astep): Likewise.
4900 (movxf): Remove.
4901 (movtf): New.
4902 (extendsftf2, extenddftf2): New.
4903 (trunctfsf2, trunctfdf2): New.
4904 (floatditf2, fix_trunctfdi2): New.
4905 (floatunsditf2, fixuns_trunctfdi2): New.
4906 (addtf3, subtf3, multf3, abstf2): New.
4907 (negtf2, nabstf2, mintf3, maxtf3): New.
4908 (maddtf3, msubtf3, nmultf3, nmaddtf3): New.
4909 (cmptf): New.
4910 (fr_spill): Use TFmode, not XFmode.
4911 (fr_restore): Likewise.
4912 * config/ia64/lib1funcs.asm (__divtf3): New.
4913 * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
4914
e49a1d2e
KG
49152000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4916
4917 * cse.c (fold_rtx): Avoid empty body in an if-statement.
0e5921e8 4918
e49a1d2e
KG
4919 * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
4920 `U' integer constant suffix.
4921
4922 * dwarf2out.c (add_subscript_info): Avoid empty body in an
4923 else-statement.
4924
4925 * sparc/sol2.h (__enable_execute_stack): Prototype.
4926
78fbdbf7
DE
49272000-08-14 David Edelsohn <edelsohn@gnu.org>
4928
4929 * collect2.c: Remove use of AIX import file.
4930
4931 * longlong.h: Test ARCH_PWR not ARCH_POWER.
4932
4933 * rs6000.c (print_operand, case 'E'): Add else.
4934
9a89adb8
RH
49352000-08-14 Richard Henderson <rth@cygnus.com>
4936
4937 * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
4938 (movdi_symbolic): New.
4939
00e149c7
JW
49402000-08-14 Jim Wilson <wilson@cygnus.com>
4941
4942 * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
4943 to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
4944 * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
4945 to GNU as.
4946
2ee5437b
RH
49472000-08-14 Richard Henderson <rth@cygnus.com>
4948
4949 * expr.c (emit_group_load): Don't force constants into registers.
4950 Special case source already in the correct mode.
4951
57119aa9
ZW
49522000-08-14 Zack Weinberg <zack@wolery.cumb.org>
4953
4954 * configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
4955 * fixinc/inclhack.def: Likewise.
0e5921e8 4956 * fixinc/mkfixinc.sh: Likewise.
57119aa9
ZW
4957 * configure: Regenerate.
4958 * fixinc/fixincl.x: Regenerate.
4959 * install.texi: Document equivalence of linux and linux-gnu.
4960
d9f20424
R
4961Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
4962
4963 * cse.c (insert_regs): Also in REG case: When finding an invalid
4964 value, and we make a new quantity, make sure that it won't be
4965 mistaken by for a valid one by mention_regs.
4966
c8fa6556
RG
4967