]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
c-common.c (scanf_flag_specs): Add flags ' and I.
[gcc.git] / gcc / ChangeLog
1 2000-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
9 2000-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
16 2000-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
30 Wed 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
35 Tue 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
40 2000-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
51 2000-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
56 2000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
57
58 * dbxout.c (dbxout_source_line): Remove extra tab.
59
60 2000-10-09 Hans-Peter Nilsson <hp@bitrange.com>
61
62 * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
63
64 2000-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
74 2000-10-09 Richard Earnshaw <rearnsha@arm.com>
75
76 * arm.md (push_multi): Revert unintended change.
77
78 2000-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
84 2000-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
89 2000-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
96 2000-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
104 2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
105
106 * README.NS32K: Remove file.
107
108 2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
109
110 * README-bugs: Remove file.
111
112 2000-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
117 2000-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
124 2000-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
132 2000-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
148 2000-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
165 2000-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
188 2000-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
194 2000-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
203 2000-10-06 David O'Brien <obrien@dragon.nuxi.com>
204
205 * config/alpha/elf.h: Standardize the formatting.
206
207 2000-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
212 2000-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
220 2000-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
225 2000-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
230 2000-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
240 2000-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
245 2000-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
267 2000-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
275 2000-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
295 2000-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
314 2000-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
321 * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
322 a zero instead of -1.
323 (count_trailing_zeros): Likewise.
324
325 2000-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
334 2000-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
341 2000-10-05 Richard Henderson <rth@cygnus.com>
342
343 * diagnostic.c (output_format): Add missing break.
344
345 2000-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
351 2000-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
356 Thu 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
366 Thu 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
371 2000-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
378 Thu 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
383 2000-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
400 2000-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
408 Mon 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
413 2000-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
419 2000-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
424 2000-10-02 David O'Brien <obrien@dragon.nuxi.com>
425
426 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
427
428 2000-10-01 Mark Mitchell <mark@codesourcery.com>
429
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
441 * configure.in: Don't configure chill by default.
442 * configure: Regenerated.
443
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
457 Sat 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
463 2000-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
473 2000-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
494 2000-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
498 2000-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
503 2000-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
511 2000-09-29 David Edelsohn <edelsohn@gnu.org>
512
513 * fixinc/inclhack.def (broken_cabs): Generalize regex.
514 * fixinc/fixincl.x: Regenerate.
515
516 2000-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
521 Fri Sep 29 10:04:12 2000 Jeffrey A Law (law@cygnus.com)
522
523 * version.c: Bump to gcc-2.97.
524
525 Frs Sep 29 13:37:59 MET DST 2000 Jan Hubicka <jh@suse.cz>
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
539 Fri 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
570 2000-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
584 2000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
585
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
591 2000-09-28 Philipp Thomas <pthomas@suse.de>
592
593 * invoke.texi (i386 Options): Add athlon to table of possible
594 choices for -mcpu=.
595
596 2000-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
607 2000-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
624 Wed 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
629 2000-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
634 2000-09-27 Mark Elbrecht <snowball3@bigfoot.com>
635
636 * config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
637 name and prefix.
638
639 Tue 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
650 2000-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
658 2000-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
663 2000-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
670 Tue 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
681 2000-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
700 Mon 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
707 Mon 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
724 2000-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
731 2000-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
737 2000-09-25 Kazu Hirata <kazu@hxi.com>
738
739 * config/i386/i386.c: Fix formatting.
740
741 2000-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
746 2000-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
755 2000-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
759 definitions. All callers changed.
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.
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.
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.
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.
818 (PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
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.
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.
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.
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.
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.
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.
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.
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.
1024
1025 2000-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
1030 2000-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
1043 2000-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
1064 2000-09-24 Richard Henderson <rth@cygnus.com>
1065
1066 * emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
1067
1068 * sibcall.c (skip_pic_restore): New.
1069 (identify_call_return_value): Use it.
1070
1071 2000-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
1078 Sun 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
1083 Sun 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
1091 2000-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
1096 2000-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
1105 Sat 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
1129 2000-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
1136 2000-09-22 Jason Merrill <jason@redhat.com>
1137
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
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
1146 2000-09-19 Geoff Keating <geoffk@cygnus.com>
1147
1148 * stmt.c (expand_asm_operands): Allow # in constraints.
1149
1150 2000-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
1157 2000-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.
1163 * invoke.texi: Document -Wdisabled-optimization.
1164
1165 2000-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
1181 Thu 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
1192 2000-09-21 Nick Clifton <nickc@redhat.com>
1193
1194 * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
1195 ARM and THUMB modes.
1196
1197 * config/mcore/mcore.c: Fix compile time warnings.
1198 * config/mcore/mcore-protos.h: Fix compile time warnings.
1199
1200 2000-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
1206 2000-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
1215 Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1216
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
1222 * c-decl.c (finish_decl): Add else's to avoid referencing
1223 TYPE_DOMAIN of an ERROR_MARK.
1224
1225 Wed 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
1230 2000-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
1236 2000-09-19 Jim Wilson <wilson@cygnus.com>
1237
1238 * config/ia64/crtbegin.asm (__dso_handle): Delete use of
1239 HAVE_GAS_HIDDEN macro.
1240
1241 Tue 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
1246 2000-09-19 David Edelsohn <edelsohn@gnu.org>
1247
1248 * configure.in: Allow enable_threads_flag value of "aix". Define
1249 thread_file as "aix" for AIX 4.3 and above.
1250 * configure: Regenerated.
1251
1252 * gthr-aix.h: New file.
1253
1254 * rs6000/t-aix43: Replace soft-float multilib with pthread.
1255 Remove 403 processor multilib match. Fix rios2 processor multilib
1256 match.
1257
1258 * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
1259 to return to appropriate csect.
1260
1261 2000-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
1280 Tue 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
1285 2000-09-19 Bernd Schmidt <bernds@redhat.co.uk>
1286
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
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
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
1322 2000-09-19 Richard Henderson <rth@cygnus.com>
1323
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
1328 * c-typeck.c (c_expand_asm_operands): Restore the output tree
1329 after expanding.
1330
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
1335 * c-decl.c (poplevel): Invoke warn_about_unused_variables.
1336
1337 * unroll.c (copy_loop_body): Update LABEL_NUSES before
1338 calling invert_jump.
1339
1340 2000-09-18 Geoff Keating <geoffk@cygnus.com>
1341
1342 * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
1343 into anything.
1344
1345 2000-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
1360 2000-09-18 Richard Henderson <rth@cygnus.com>
1361
1362 * c-decl.c (c_expand_body): Call mark_varargs before
1363 expand_function_start.
1364
1365 2000-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
1370 2000-09-18 Richard Henderson <rth@cygnus.com>
1371
1372 * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
1373 for BImode.
1374
1375 2000-09-18 Jim Wilson <wilson@cygnus.com>
1376
1377 * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
1378 before passing it to fold_rtx_mult_add.
1379
1380 * unroll.c (final_giv_value): Pass increment through
1381 extend_value_for_giv before passing it to emit_iv_add_mult.
1382
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
1387 Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net>
1388
1389 * cpp.texi: Update documentation, including some clarifications,
1390 the treatment of various newline combinations, and space between
1391 backslash and newline.
1392
1393 Mon 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
1398 Mon 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
1403 2000-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.
1407 * function.c (purge_hard_subreg_sets): New function.
1408 (purge_single_hard_subreg_set): New function.
1409 * rtl.h: (purge_hard_subreg_sets): New function.
1410
1411 2000-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
1453 Mon 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
1499 2000-09-18 Richard Henderson <rth@cygnus.com>
1500
1501 * combine.c (simplify_comparison): Shift a NOT out of a single
1502 bit test.
1503
1504 * combine.c (if_then_else_cond): Canonicalize BImode true to
1505 STORE_FLAG_VALUE.
1506 * explow.c (trunc_int_for_mode): Likewise.
1507
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
1513 * combine.c (try_combine): Allow split to create a single insn.
1514
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
1524 2000-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.
1528 * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
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.
1535 * sh.c (find_barrier): Take into account that machine_dependent_reorg
1536 might add new insns.
1537
1538 2000-09-18 Alexandre Oliva <aoliva@redhat.com>
1539
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
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
1549 2000-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
1559 2000-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
1566 2000-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
1572 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk>
1573
1574 * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
1575
1576 2000-09-18 Bernd Schmidt <bernds@redhat.co.uk>
1577
1578 * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
1579
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
1597 2000-09-18 Andreas Jaeger <aj@suse.de>
1598
1599 * configure.in: Define _GNU_SOURCE only when using the GNU C
1600 Library.
1601 * configure: Regenerated.
1602 * config.in: Regenerated.
1603
1604 2000-09-17 Mark Mitchell <mark@codesourcery.com>
1605
1606 * cppinit.c (cpp_init): Don't use ANSI prototypes.
1607 * flow.c (flow_dump_loop): Likewise.
1608 (flow_loops_dump): Likewise.
1609
1610 * c-typeck.c (c_start_case): Fix typo.
1611
1612 2000-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
1622 2000-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
1623
1624 * contrib.texi: Update my entry.
1625
1626 Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru>
1627
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.
1638
1639 Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1640
1641 * alias.c (true_dependence): Allow non-unchanging read to conflict
1642 with unchanging write.
1643
1644 * expr.c (store_constructor_field): Accept ALIAS_SET arg.
1645 (store_constructor): Pass alias_set to it.
1646
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
1651 * simplify-rtx.c (simplify_unary_operation): Add cases
1652 FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
1653
1654 2000-09-17 Bernd Schmidt <bernds@redhat.co.uk>
1655
1656 * expr.h (emit_library_call, emit_library_call_value): Delete
1657 declarations.
1658 * rtl.h (enum libcall_type): New.
1659 (emit_library_call, emit_library_call_value): Change fn_type arg to
1660 be of type enum libcall_type.
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
1664 blocks of equal form, but only use it for the two new higher
1665 enumeration values.
1666
1667 2000-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.
1793
1794 2000-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
1801 Sat 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
1807 Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1808
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.
1816
1817 * stor-layout.c (place_field): Don't do anything if field or
1818 its type are ERROR_MARK.
1819
1820 Sat 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.
1824
1825 2000-09-16 Richard Henderson <rth@cygnus.com>
1826
1827 * cppiles.c (purge_cache): Use PTR not caddr_t.
1828
1829 2000-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
1834 2000-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
1840 Sat 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
1845 2000-09-15 Tom Tromey <tromey@cygnus.com>
1846
1847 * configure, config.in: Rebuilt.
1848 * configure.in: Check for iconv.h. Define _XOPEN_SOURCE.
1849
1850 2000-09-15 Greg McGary <greg@mcgary.org>
1851
1852 * cppmacro.c (check_trad_stringification): Check token
1853 text pointers against limit before dereferencing.
1854
1855 2000-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
1863 2000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1864
1865 * BUGS: Remove file.
1866
1867 2000-09-15 Jakub Jelinek <jakub@redhat.com>
1868
1869 * config/alpha/alpha.c (override_options): ev6 cache latencies
1870 from Richard Henderson. Don't allow -mmemory-latency=L0.
1871
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
1883 Fri 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
1918 2000-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
1925 2000-09-15 Kazu Hirata <kazu@hxi.com>
1926
1927 * config/i386/i386.md: Fix a comment typo.
1928 * gcc.c: Fix formatting.
1929
1930 2000-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.
1934 * expr.c (convert_move): When generating a libcall, make a libcall
1935 block.
1936 * calls.c (emit_library_call_value_1): Don't create a libcall
1937 sequence here; our caller will in most cases do it.
1938
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
1953 2000-09-15 Richard Henderson <rth@cygnus.com>
1954
1955 * expmed.c (store_bit_field): Consider naturally aligned
1956 memory for direct reference.
1957
1958 2000-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
1966 2000-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.
1971 * config/mips/mips.c (mips_va_arg): Args passed by reference have a
1972 rsize of UNITS_PER_WORD.
1973
1974 Fri 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
1981 2000-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
1990 2000-09-14 Joseph S. Myers <jsm28@cam.ac.uk>
1991
1992 * c-parse.in (reswords): Add _Complex.
1993
1994 2000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca>
1995
1996 * gcc.1: Delete documentation for -undef preprocessor option.
1997
1998 2000-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
2006 2000-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
2018 2000-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
2024 Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2025
2026 * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
2027 when making new MEM.
2028
2029 * Makefile.in (LN): Remove duplicate definition.
2030
2031 2000-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
2038 Thu 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
2043 2000-09-13 Kazu Hirata <kazu@hxi.com>
2044
2045 * loop.c: Fix formatting.
2046 * loop.h: Likewise.
2047
2048 2000-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
2066 2000-09-13 Richard Henderson <rth@cygnus.com>
2067
2068 * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
2069
2070 2000-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
2087 2000-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
2093 Tue 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
2104 Wed 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
2113 2000-09-12 Tom Tromey <tromey@cygnus.com>
2114
2115 * configure, config.in: Rebuilt.
2116 * configure.in: Check for iconv, nl_langinfo, langinfo.h.
2117
2118 2000-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
2124 2000-09-13 Michael Hayes <mhayes@cygnus.com>
2125
2126 * loop.c (note_set_pseudo_multiple_uses): Correct.
2127
2128 2000-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
2133 2000-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
2143 2000-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
2148 2000-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
2160 Tue 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
2166 2000-09-12 Kazu Hirata <kazu@hxi.com>
2167
2168 * haifa-sched.c: Fix formatting.
2169
2170 * genattrtab.c: Fix formatting.
2171
2172 * unroll.c: Fix formatting.
2173
2174 2000-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
2185 2000-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
2190 2000-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
2196 2000-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
2211 2000-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
2218 2000-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.
2225 (lookup_include_file, read_include_file, _cpp_pop_file_buffer):
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
2234 2000-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
2241 2000-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
2246 2000-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
2251 Tue 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
2268 2000-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
2274 2000-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
2291 2000-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.
2296 * loop.c (set_in_loop): Remove global array and store
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
2304 2000-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
2309 2000-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
2323 2000-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
2328 2000-09-11 Richard Henderson <rth@cygnus.com>
2329
2330 * cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
2331
2332 2000-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
2360 2000-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
2369 2000-09-11 Jakub Jelinek <jakub@redhat.com>
2370
2371 * c-decl.c (do_case): Fix a typo.
2372
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
2377 Mon 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
2382 2000-09-11 Philip Blundell <pb@futuretv.com>
2383
2384 * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
2385
2386 Mon 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
2391 2000-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
2396 2000-09-11 Kazu Hirata <kazu@hxi.com>
2397
2398 * final.c: Fix formatting.
2399
2400 * integrate.c: Fix formatting.
2401
2402 2000-09-11 Geoff Keating <geoffk@cygnus.com>
2403
2404 * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
2405
2406 2000-09-11 Bernd Schmidt <bernds@redhat.co.uk>
2407
2408 * reload.c (regno_clobbered_p): Fix thinko in previous change.
2409
2410 2000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2411
2412 * gcc.1: Document 68hc11 specific options.
2413
2414 2000-09-10 Geoff Keating <geoffk@cygnus.com>
2415
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
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
2447 2000-09-10 Zack Weinberg <zack@wolery.cumb.org>
2448
2449 * varasm.c (make_decl_rtl): Restore leading star on
2450 DECL_ASSEMBLER_NAME set for decls with an asmspec.
2451
2452 2000-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
2458 2000-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
2472 2000-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
2484 field.
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
2510 2000-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
2517 2000-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
2522 Sun 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
2527 2000-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
2532 2000-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
2537 2000-09-10 Richard Henderson <rth@cygnus.com>
2538
2539 * c-parse.in (asm patterns): Fix volatile check.
2540
2541 2000-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
2547 2000-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.
2559 (replace_loop_mems, replace_loop_regs): New.
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
2565 2000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2566
2567 * configure.in: Recognize m6811-elf and m6812-elf.
2568 * configure: Regenerate.
2569
2570 2000-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
2575 2000-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.
2581 (force_movables, combine_movables, regs_match_p): Likewise.
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
2586 2000-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
2597 2000-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
2610 2000-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
2618 2000-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,
2637 sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
2638 vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
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
2654 2000-09-08 Richard Earnshaw <rearnsha@arm.com>
2655
2656 * arm.c: Don't include tm.h directly.
2657
2658 Fri 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.
2662
2663 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
2664
2665 * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
2666
2667 2000-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.
2671 * rtl.texi (description of USE): Add note about possible pitfalls
2672 with this rtx.
2673 From Richard Henderson:
2674 * reload1.c (choose_reload_regs): Compute need_mode properly.
2675
2676 2000-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
2682 2000-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
2689 Fri 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
2696 2000-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
2701 2000-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
2708 2000-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
2713 2000-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
2718 2000-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
2736 2000-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,
2761 sh.h, sh-protos.h, sh.c,
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
2775 2000-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
2781 Thu 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
2788 2000-09-07 Joseph S. Myers <jsm28@cam.ac.uk>
2789
2790 * c-common.c (time_char_table): Allow %#b and %#h.
2791
2792 2000-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
2800 2000-09-07 Catherine Moore <clm@redhat.com>
2801
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.
2805
2806 2000-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.
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.
2813
2814 2000-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.
2822
2823 2000-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
2839 2000-09-07 Alexandre Oliva <aoliva@redhat.com>
2840
2841 * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
2842 CSE unless generating PIC.
2843
2844 * config/sh/sh.md (symPLT_label2reg): Force the initialization of
2845 the PIC register.
2846
2847 2000-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
2853 2000-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
2887 2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2888
2889 * flow.c (insn_dead_p): Detect dead memory stores with auto increments.
2890
2891 2000-09-06 Kazu Hirata <kazu@hxi.com>
2892
2893 * calls.c: Fix formatting.
2894
2895 2000-09-06 Graham Stott <grahams@cygnus.co.uk>
2896
2897 * config/i386/i386.h (ADDRESS_COST): Fix typo.
2898
2899 2000-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
2977 2000-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
2985 2000-09-06 Mark Mitchell <mark@codesourcery.com>
2986
2987 * extend.texi: Mark named return value extension as deprecated.
2988
2989 2000-09-06 Geoff Keating <geoffk@cygnus.com>
2990
2991 * config/rs6000/rs6000.c (rs6000_reverse_condition): Return
2992 the result.
2993
2994 2000-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
3005 2000-09-06 DJ Delorie <dj@redhat.com>
3006
3007 * Makefile.in (stage_*): add more dependencies to ensure parallel
3008 builds build correctly
3009
3010 2000-09-06 Manfred Hollstein <manfredh@redhat.com>
3011
3012 * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
3013 not bootstrap-lean_f.
3014
3015 2000-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
3021 2000-09-06 Bernd Schmidt <bernds@redhat.co.uk>
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
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
3060 2000-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.
3079
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
3093 2000-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
3099 2000-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
3106 2000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3107
3108 * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
3109
3110 2000-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
3115 2000-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
3121 2000-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
3126 2000-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
3131 2000-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
3136 2000-09-05 Richard Henderson <rth@cygnus.com>
3137
3138 * config/ia64/ia64.md (mulhi3): New.
3139
3140 2000-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
3148 2000-09-05 Bruce Korb <bkorb@gnu.org>
3149
3150 * fixinc/fixincl.c (load_file): always read header files
3151 with sizes that are a multiple of the page size.
3152 & use libiberty's getpagesize for determining that.
3153
3154 2000-09-05 Alexandre Oliva <aoliva@redhat.com>
3155
3156 * gcse.c (hash_string_1): Add prototype.
3157 * cse.c (canon_hash_string): Likewise.
3158
3159 2000-09-04 Craig Newell <CraigN@ieee.org>
3160
3161 * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
3162
3163 2000-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
3170 2000-09-04 Andrew Haley <aph@redhat.com>
3171
3172 * dwarf2out.c: (stack_adjust_offset): New prototype.
3173
3174 Wed 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
3179 Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz>
3180
3181 * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
3182 umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
3183 Add '*' to insn pattern name.
3184
3185 2000-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
3191 2000-09-03 Geoff Keating <geoffk@cygnus.com>
3192
3193 * invoke.texi: Document the -mvxworks option for rs6000 ELF.
3194
3195 * config/rs6000/rs6000.h: Update various comments about XER_REGNO.
3196 (REGNO_REG_CLASS): Use symbolic register
3197 names.
3198
3199 2000-09-03 Richard Earnshaw <rearnsha@arm.com>
3200
3201 * arm.c (final_prescan_insn): If the form of a jump insn isn't
3202 recognized, don't try to conditionally execute it.
3203
3204 Sun 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
3210 2000-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
3251 Sat 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
3256 2000-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
3261 2000-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
3276 2000-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.
3295 (machine_dependent_reorg):
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
3308 2000-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
3324 2000-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.
3328
3329 2000-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
3353 2000-09-01 Jim Wilson <wilson@cygnus.com>
3354
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
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
3376 2000-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
3382 Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3383
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
3388 * flow.c (init_propagate_block_info): Don't mark frame dead at end
3389 of function if returns wiht stack pointer depressed.
3390
3391 2000-09-01 Andrew Haley <aph@redhat.com>
3392
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.
3397
3398 2000-08-31 Jeff Law <law@cygnus.com>
3399
3400 * arm.md: Use no_new_pseudos to determine when it is safe
3401 to create new pseudo registers.
3402
3403 * arm.c (legitimize_pic_address): Use no_new_pseudos to determine
3404 when we can safely allocate new registers.
3405
3406 2000-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
3419 2000-08-22 Philipp Thomas <pthomas@suse.de>
3420 Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
3421
3422 * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
3423 for translation.
3424
3425 2000-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
3431 2000-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
3439 Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net>
3440
3441 * contrib.texi: Add self.
3442
3443 2000-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
3449 2000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3450
3451 * fixinc/gnu-regex.c: Don't define `const'.
3452
3453 Tue 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
3463 2000-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
3471 2000-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
3475 __func__ visible at file scope.
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.
3488 (add_weak): Constify arguments.
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
3510 2000-08-29 Richard Henderson <rth@cygnus.com>
3511
3512 * config/ia64/ia64.md (muldi3): Use grfr_register_operand
3513 for the inputs.
3514
3515 2000-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
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
3524 2000-08-29 Kazu Hirata <kazu@hxi.com>
3525
3526 * reload.c: Fix formatting.
3527
3528 * stmt.c: Fix formatting.
3529
3530 * gcc.c: Fix formatting.
3531
3532 2000-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
3554 Wed 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
3561 Tue 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.
3569 (final_prescan_insn): Likewise.
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
3652 Tue 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
3660 2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca>
3661
3662 * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
3663
3664 2000-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
3680 2000-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
3688 2000-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
3697 2000-08-28 Kazu Hirata <kazu@hxi.com>
3698
3699 * tree.c: Fix formatting.
3700
3701 * xcoffout.c: Fix formatting.
3702
3703 2000-08-28 Jason Merrill <jason@redhat.com>
3704
3705 * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
3706
3707 2000-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
3712 2000-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
3719 2000-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
3728 2000-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
3743 2000-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
3757 2000-08-28 Jason Merrill <jason@redhat.com>
3758
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...
3779 (dwarf2out_finish): ...here. Also call add_sibling_attributes for
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
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
3797 Mon 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
3804 2000-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
3810 2000-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
3816 2000-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
3823 2000-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
3830 2000-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
3836 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
3837
3838 * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
3839 Document.
3840
3841 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
3842 numbers to the ranges used by GDB.
3843
3844 2000-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
3852 2000-08-25 Jason Merrill <jason@redhat.com>
3853
3854 * integrate.c (expand_inline_function): Pull out the original decl.
3855
3856 2000-08-25 Jim Wilson <wilson@cygnus.com>
3857
3858 * cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
3859
3860 * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
3861
3862 2000-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
3867 2000-08-25 Richard Earnshaw <rearnsha@arm.com>
3868
3869 * arm.h (STRUCT_VALUE): Define to 0, not NULL.
3870
3871 Fri 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
3886 2000-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
3891 2000-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
3896 2000-08-26 Michael Hayes <mhayes@cygnus.com>
3897
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.
3907
3908 2000-08-26 Michael Hayes <mhayes@cygnus.com>
3909
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.
3922
3923 2000-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.
3927
3928 2000-08-26 Michael Hayes <mhayes@cygnus.com>
3929
3930 * loop.c (constant_high_bytes): Delete.
3931
3932 2000-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
3938 Fri 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
3943 Fri 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
3948 2000-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.
3979
3980 2000-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
3985 2000-08-24 Richard Henderson <rth@cygnus.com>
3986
3987 * toplev.c (main): Enable flag_reorder_blocks at -O2.
3988
3989 2000-08-24 Zack Weinberg <zack@wolery.cumb.org>
3990
3991 * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
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
3998 2000-08-24 Zack Weinberg <zack@wolery.cumb.org>
3999
4000 * cppfiles.c (read_include_file): Rearrange initializations.
4001
4002 2000-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.
4011 (gr_reg_or_0_operand): Rename from reg_or_0_operand and
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.
4038 (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
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
4052 2000-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
4057 2000-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.
4061 (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
4062 get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
4063
4064 2000-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
4108 2000-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
4120 2000-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
4126 2000-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
4141 2000-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
4146 2000-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
4154 2000-08-23 Alexandre Oliva <aoliva@redhat.com>
4155
4156 * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
4157
4158 2000-08-23 Hans-Peter Nilsson <hp@axis.com>
4159
4160 * Makefile.in (GCC_PASSES): Add specs.
4161
4162 2000-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
4169 2000-08-23 Nick Clifton <nickc@redhat.com>
4170
4171 * config/arm/lib1funcs.asm: Replace upper case condition codes
4172 with lower case versions.
4173
4174 * config/arm/arm.h (STRUCT_VALUE): Define.
4175 (STRUCT_VALUE_REGNUM): Delete.
4176
4177 2000-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
4186 2000-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
4193 2000-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
4198 2000-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
4203 Wed 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
4210 Tue 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
4228 2000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4229
4230 * c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
4231
4232 2000-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.
4236 * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
4237 * configure.in: Use x-vax-gcc with gcc.
4238 * configure: Rebuilt.
4239
4240 Tue 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
4245 2000-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
4254 2000-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.
4265
4266 Tue 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
4274 2000-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
4281 2000-08-22 David Edelsohn <edelsohn@gnu.org>
4282
4283 * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
4284 text_section() as appropriate instead of emitting text csect
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
4290 on AIX if debugging and -fdata-sections always.
4291
4292 2000-08-22 Steven King <sxking@uswest.net>
4293
4294 * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
4295 machinery.
4296 (LDBL_MAX): Same here.
4297
4298 2000-08-22 Richard Henderson <rth@cygnus.com>
4299
4300 * flow.c (tidy_fallthru_edge): Update b->end properly.
4301
4302 2000-08-22 Stan Cox <scox@redhat.com>
4303
4304 * Makefile.in (OBJS): Add dependence.o.
4305 * dependence.c: New file.
4306
4307 2000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca>
4308
4309 * calls.c (check_sibcall_argument_overlap_1): Adjust for
4310 ARGS_GROW_DOWNWARD.
4311 (check_sibcall_argument_overlap): Likewise.
4312
4313 2000-08-22 Alexandre Oliva <aoliva@redhat.com>
4314
4315 * invoke.texi (SH Options): Document -m4-nofpu,
4316 -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
4317 -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
4318
4319 2000-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
4325 2000-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
4331 Tue 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
4335 2000-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
4341 Tue 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
4346 2000-08-21 Richard Henderson <rth@cygnus.com>
4347
4348 * flow.c (calculate_global_regs_live): Mark frame pointer live
4349 everywhere before reload.
4350
4351 2000-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
4358 2000-08-21 Graham Stott <grahams@cygnus.co.uk>
4359
4360 * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
4361
4362 2000-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
4367 2000-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
4380 2000-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
4389 2000-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.
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.
4398
4399 * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
4400 writable) instead of hardcoded value.
4401
4402 * toplev.c (compile_file): Output to a file even if -fsyntax-only.
4403
4404 * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
4405 MKTEMP_EACH_FILE.
4406
4407 * gcc.c (cc1_options): Do not process -o or run the assembler if
4408 -fsyntax-only.
4409 * objc/lang-spec.h: Likewise.
4410
4411 2000-08-21 Eli Zaretskii <eliz@is.elta.co.il>
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
4417 2000-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
4423 2000-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
4433 2000-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
4438 and linker_endian_spec to endian_spec.
4439 (ENDIAN_SPEC): Add %{EB} and %{EL}.
4440 (LINK_SPEC): Remove %{EB} and %{EL}.
4441 (ASM_SPEC): Likewise. Use %(endian_spec).
4442
4443 2000-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
4458 2000-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
4467 Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com)
4468
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
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
4486 2000-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
4500 2000-08-21 Richard Earnshaw <rearnsha@arm.com>
4501
4502 * flow.c (init_propagate_block_info): Handle SUBREG in a jump
4503 condition expression.
4504
4505 2000-08-20 Richard Henderson <rth@cygnus.com>
4506
4507 * flow.c (merge_blocks_nomove): Don't seek back past the bb note.
4508
4509 2000-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
4514 Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su>
4515
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.
4520
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.
4527
4528 2000-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
4536 2000-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
4544 2000-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
4565 Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net>
4566
4567 * fix-header.c (main): Initialize cpplib.
4568
4569 2000-08-19 Michael Meissner <meissner@redhat.com>
4570
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
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
4581 Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net>
4582
4583 * cpp.texi: Add @section for assertions.
4584
4585 Sat 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
4590 Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com)
4591
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
4598 * invoke.texi: Clean up linux-gnu vs linux comments.
4599
4600 2000-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
4613 2000-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
4618 2000-08-18 Richard Henderson <rth@cygnus.com>
4619
4620 * combine.c (make_compound_operation): Break after creating
4621 the extraction.
4622
4623 2000-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
4628 2000-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
4633 Fri 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
4641 * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
4642 * config/sh/sh.c (fpscr_set_from_mem): Use them.
4643
4644 Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4645
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
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.
4655
4656 * function.c (fixup_var_refs_1, case MEM): Update CODE after
4657 updating X.
4658
4659 Fri 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
4679 2000-08-18 Emmanuel Marty <emarty@suntech.fr>
4680
4681 * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
4682 insn.
4683
4684 2000-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
4689 Thu 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
4697 2000-08-17 Rodney Brown <RodneyBrown@mynd.com>
4698
4699 * cse.c (insert_regs): Remove unused `regno'.
4700
4701 2000-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
4708 2000-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
4716 2000-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
4724 2000-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
4735 Thu 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
4740 2000-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
4745 2000-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
4750 2000-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
4757 2000-08-16 Manfred Hollstein <manfredh@redhat.com>
4758
4759 * configure.in (libstdcxx-v3): Fix test.
4760 * configure: Regenerate.
4761
4762 Wed 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
4768 2000-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
4774 2000-08-15 Richard Henderson <rth@cygnus.com>
4775
4776 * combine.c (simplify_shift_const): Bound shift count when
4777 combining shifts.
4778
4779 Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4780
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
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
4807 2000-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
4813 2000-08-15 Richard Henderson <rth@cygnus.com>
4814
4815 * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
4816
4817 2000-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
4824 2000-08-15 Richard Earnshaw <rearnsha@arm.com>
4825
4826 * arm.md (splits generating cond_exec): Disable.
4827
4828 2000-08-15 Richard Earnshaw <rearnsha@arm.com>
4829
4830 * arm/linux-elf.h (text_section): Delete declaration.
4831
4832 2000-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.
4848
4849 Tue 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
4854 2000-08-14 Richard Henderson <rth@cygnus.com>
4855
4856 * config/i386/i386.c (legitimize_pic_address): Use Pmode
4857 for all CONSTs.
4858
4859 2000-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
4915 2000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4916
4917 * cse.c (fold_rtx): Avoid empty body in an if-statement.
4918
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
4927 2000-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
4935 2000-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
4940 2000-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
4947 2000-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
4952 2000-08-14 Zack Weinberg <zack@wolery.cumb.org>
4953
4954 * configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
4955 * fixinc/inclhack.def: Likewise.
4956 * fixinc/mkfixinc.sh: Likewise.
4957 * configure: Regenerate.
4958 * fixinc/fixincl.x: Regenerate.
4959 * install.texi: Document equivalence of linux and linux-gnu.
4960
4961 Mon 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
4967 2000-08-13 Ralf Gütlein <ralf.guetlein@aranea.de>
4968
4969 * h8300.md: Remove obsolete peepholes.
4970
4971 2000-08-13 Kazu Hirata <kazu@hxi.com>
4972
4973 * invoke.texi (H8/300 Options): Fix typos.
4974 * config/h8300.c: Fix formatting.
4975 * config/h8300.h: Fix comment typos.
4976 (OVERRIDE_OPTIONS): Fix formatting.
4977
4978 * function.c: Fix formatting.
4979
4980 * cse.c: Fix formatting.
4981
4982 2000-08-13 Geoff Keating <geoffk@cygnus.com>
4983
4984 * flow.c (attempt_auto_inc): Remove unused variable `bb'.
4985 (attempt_auto_inc): Suppress parentheses warning.
4986 * function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
4987 * loop.c (load_mems): Remove `u' suffix in two places.
4988 * config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
4989 hex constants.
4990 * config/rs6000/rs6000.h: Likewise.
4991 * config/rs6000/sol-c0.c: Prototype some functions. Remove the
4992 __eabi dummy routine.
4993 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
4994 variable `buf_ptr'.
4995
4996 * config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
4997 not put stuff in .sdata unnecessarily.
4998 (rs6000_unique_section): New function.
4999 * config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
5000 * config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
5001
5002 * c-typeck.c (build_array_ref): Don't complain about non-lvalue
5003 arrays in C99. Don't try to look at DECL_REGISTER of a
5004 COMPONENT_REF. Don't complain twice about the same error.
5005
5006 * fixinc/inclhack.def (aix_pthread): New fix.
5007 (aix_sysmachine): New fix.
5008 * fixinc/fixincl.x: Regenerate.
5009
5010 * expr.c (expand_expr): Call convert_modes when turning a large
5011 multiply into a small one.
5012
5013 2000-08-12 Geoff Keating <geoffk@cygnus.com>
5014
5015 * tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
5016 the tree structure an exponent rather than an explicit alignment
5017 so it doesn't overflow.
5018 (SET_DECL_OFFSET_ALIGN): New macro.
5019 * stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
5020 rather than DECL_OFFSET_ALIGN.
5021 (place_field): Likewise.
5022 * expmed.c (store_bit_field): Abort on align==0 to avoid
5023 antisocial machine behaviour.
5024
5025 2000-08-12 Richard Henderson <rth@cygnus.com>
5026
5027 * sibcall.c (uses_addressof): Accept both addressof and
5028 current_function_internal_arg_pointer inside a mem.
5029 (optimize_sibling_and_tail_recursive_call): Fail tail recursion
5030 if current_function_uses_addressof.
5031 * stmt.c (expand_return): Kill tail recursion and HAVE_return
5032 optimizations.
5033
5034 2000-08-11 Richard Henderson <rth@cygnus.com>
5035
5036 * config/ia64/ia64.md (addsi3): Remove expander.
5037 (subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
5038 (*addsi3_shladd): New.
5039
5040 2000-08-11 Richard Henderson <rth@cygnus.com>
5041
5042 * config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
5043 (do_restore): Likewise.
5044 (gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
5045 (ia64_expand_prologue, ia64_expand_epilogue): Use them.
5046 (rtx_needs_barrier): Track actual bit manipulation for
5047 ar.unat moves, gr_spill, and gr_restore.
5048 (emit_insn_group_barriers): Special case gr_spill/gr_restore.
5049 (process_set): Don't handle varargs spills.
5050 * config/ia64/ia64.md (gr_spill): Accept cfa offset. Emit
5051 .mem.offset here instead of in process_set.
5052 (gr_restore): Likewise.
5053
5054 2000-08-11 Richard Henderson <rth@cygnus.com>
5055
5056 * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
5057
5058 2000-08-11 Mark Elbrecht <snowball3@bigfoot.com>
5059
5060 * gcc.texi (The Configuration File): Document
5061 COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
5062 UPDATE_PATH_HOST_CANONICALIZATION.
5063
5064 2000-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5065
5066 * c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
5067 unprototyped function pointer casts on integer constants.
5068
5069 2000-08-11 Laurynas Biveinis <lauras@softhome.net>
5070
5071 * fixproto: Recognize DOS paths with drive letters as absolute paths.
5072
5073 2000-08-11 Nathan Sidwell <nathan@codesourcery.com>
5074
5075 * extend.texi (Volatiles): Fix typos.
5076
5077 2000-08-11 Kazu Hirata <kazu@hxi.com>
5078
5079 * flow.c: Fix formatting.
5080
5081 2000-08-11 Richard Henderson <rth@cygnus.com>
5082
5083 * reload.c (push_secondary_reload): When invoking a reload_{in,out}
5084 pattern, always allocate a tertiary scratch register.
5085
5086 * config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
5087 (reload_inhi): Likewise.
5088
5089 2000-08-11 Richard Henderson <rth@cygnus.com>
5090
5091 * function.c (put_reg_into_stack): Allow type to be NULL.
5092 (schedule_fixup_var_refs): Likewise.
5093 (gen_mem_addressof): Allow decl to be NULL.
5094 (put_addressof_into_stack): Likewise.
5095
5096 * flow.c (merge_blocks_nomove): Be more careful about
5097 locating the beginning of block A.
5098
5099 * combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
5100
5101 Thu Aug 10 22:47:09 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
5102
5103 * configure.in:
5104 * configure:
5105 * gthr-posix.h:
5106 * config.in: Reverted the check for <sched.h>.
5107
5108 2000-08-10 Chris Demetriou <cgd@sibyte.com>
5109
5110 * mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
5111 macros define the name of CTOR and DTOR sections.
5112 (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
5113 DTOR_LIST_END): Change to use attributes to specify
5114 sections.
5115 * mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
5116 (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
5117 DTOR_LIST_END): Same as in mips/elf.h.
5118
5119 2000-08-10 Drew Moseley <dmoseley@redhat.com>
5120
5121 * config/mn10300/mn10300.h: Added no-crt0 option for explicitly
5122 disabling just crt0.o.
5123
5124 2000-08-10 Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton <nickc@cygnus.com>
5125
5126 * arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
5127 (CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
5128 (EXTRA_SPECS): Add them.
5129 * arm/lib1funcs.asm: Support builds for interworking.
5130 Use macros to eliminate duplicated pieces of code.
5131
5132 2000-08-10 Kazu Hirata <kazu@hxi.com>
5133
5134 * h8300.c (expand_a_rotate): New.
5135 (emit_a_rotate): Likewise.
5136 (h8300_adjust_insn_length): Add support for the rotate insns.
5137 * h8300.md (rotlqi3): New.
5138 (*rotlqi3_1): Likewise.
5139 (rotlhi3): Likewise.
5140 (*rotlhi3_1): Likewise.
5141 (rotlhi3): Likewise.
5142 (*rotlhi3_1): Likewise.
5143 * h8300-proto.h: Add prototypes for expand_a_rotate and
5144 emit_a_rotate.
5145
5146 * h8300.c: Fix comment typos.
5147 (dosize): Declare the variable amount as unsigned.
5148 (get_shift_alg): Fix a comparison between signed and unsigned.
5149 (emit_a_shift): Likewise.
5150 (h8300_adjust_insn_length): Simplify the code.
5151
5152 * c-decl.c: Fix formatting.
5153
5154 2000-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5155
5156 * c-lex.c (parse_float, yylex): For -Wtraditional, issue a
5157 warning about non-traditional numeric constant suffixes.
5158
5159 * cppexp.c (parse_number): Likewise.
5160
5161 * invoke.texi: (-Wtraditional): Document new behavior.
5162
5163 Thu Aug 10 00:11:04 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
5164
5165 * gthr-posix.h: Include auto-host.h. Conditionally include
5166 <sched.h>.
5167 * configure.in: Check for the <sched.h> header file.
5168 * config.in: Added define for HAVE_SCHED_H.
5169
5170 2000-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5171
5172 * c-typeck.c (process_init_element): For -Wtraditional, warn about
5173 initialization of unions.
5174
5175 * invoke.texi (-Wtraditional): Document new behavior.
5176
5177 2000-08-09 Zack Weinberg <zack@wolery.cumb.org>
5178
5179 * configure.in (--enable-c-cpplib): Uncomment. Use AC_DEFINE
5180 instead of extra_c_flags.
5181 (--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
5182 * configure: Regenerate.
5183 * config.in: Regenerate.
5184
5185 * cpperror.c (cpp_type2name): New function.
5186 * cpplex.c (lex_line): If we issued an error for an invalid
5187 preprocessing directive, discard that logical line.
5188 * cpplib.c (do_line): Call a hook function if the current file
5189 is renamed by #line.
5190 (do_ident): Pass the contents of the string, not the entire
5191 token, to the callback function.
5192 * cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
5193 (cb.rename_file): New hook function.
5194 (cb.ident): Adjust prototype.
5195 (cpp_type2name): Prototype.
5196 * cppmacro.c (dump_macro_args): Correct precedence lossage.
5197
5198 * cppmain.c (cb_ident): Update for changed interface.
5199 (cb_rename_file): New function.
5200 (main): Set rename callback.
5201
5202 2000-08-09 Alexandre Oliva <aoliva@redhat.com>
5203
5204 * caller-save.c (mark_referenced_regs): Mark partially-overwritten
5205 multi-word registers.
5206
5207 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
5208
5209 * c-common.c (combine_strings, check_format_info): Refer to ISO C
5210 or ISO C89 instead of ANSI C.
5211 * c-decl.c (grokdeclarator, xref_tag, finish_struct,
5212 build_enumerator, do_case): Likewise.
5213 * c-lex.c (parse_float, yylex): Likewise.
5214 * c-parse.in: Likewise.
5215 * c-typeck.c (common_type, build_array_ref, build_binary_op,
5216 build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
5217 build_c_cast, convert_for_assignment, set_init_index,
5218 set_init_label, c_expand_start_case): Likewise.
5219 * toplev.c (documented_lang_options, display_help): Likewise.
5220
5221 2000-08-08 Kazu Hirata <kazu@hxi.com>
5222
5223 * h8300.c: Fix formatting.
5224 * h8300.h: Likewise.
5225 * h8300.md: Likewise.
5226 (movsi_h8300hs): Fix formatting of the resulting assembly code.
5227
5228 * reload1.c: Fix formatting.
5229
5230 2000-08-08 Rodney Brown <RodneyBrown@mynd.com>
5231
5232 * alpha/alpha.c (alpha_emit_xfloating_libcall):
5233 Use GEN_CALL_VALUE define.
5234 * alpha/alpha.md (untyped_call): Use GEN_CALL define.
5235 * clipper/clipper.md (untyped_call): Likewise.
5236 * dsp16xx/dsp16xx.md (untyped_call): Likewise.
5237 * fx80/fx80.md (untyped_call): Likewise.
5238 * mips/mips.md (untyped_call): Likewise.
5239 * ns32k/ns32k.md (untyped_call): Likewise.
5240 * pa/pa.md (untyped_call): Likewise.
5241 * romp/romp.md (untyped_call): Likewise.
5242 * sparc/sparc.md (untyped_call): Likewise.
5243
5244 2000-08-08 Jason Eckhardt <jle@cygnus.com>
5245
5246 * config/i860/i860.c (singlemove_string): Do not generate assembler
5247 pseudo instructions that must be expanded (that is, with signed
5248 constants larger than 16 bits).
5249
5250 2000-08-08 Richard Henderson <rth@cygnus.com>
5251
5252 * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
5253 PROP_AUTOINC at -O0. Don't collect alias info at -O0.
5254 (init_propagate_block_info): Don't kill memory stores at -O0.
5255 (mark_set_1, mark_used_regs): Likewise.
5256
5257 2000-08-08 David Edelsohn <edelsohn@gnu.org>
5258
5259 * rs6000.c (optimization_options): Decorate 'level' as
5260 ATTRIBUTE_UNUSED.
5261 (mask64_operand): Remove sign-extend thinko.
5262 (rldic_operand): New function.
5263 (load_multiple_operation): regno's are unsigned ints.
5264 (store_multiple_operation): Likewise.
5265 (lmw_operation): Likewise.
5266 (stmw_operation): Likewise.
5267 (includes_lshift_p): shift_mask is unsigned int.
5268 (includes_lshift64_p): New function.
5269 (addrs_ok_for_quad_peep): unsigned int reg1.
5270 (print_operand): Consistently add "else" after
5271 output_operand_lossage().
5272 (print_operand, case 'b'): Fold in case 'W'.
5273 (print_operand, case 'W'): Print rldic MB value.
5274 (output_epilogue): Update Objective-C language string.
5275 (output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
5276 * rs6000.h (PREDICATE_CODES): Add rldic_operand.
5277 * rs6000.md (ashldi3): Add rldic instruction.
5278 (iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
5279 (cmpsi_internal2, cmpdi_interal2): Use 'b' output template
5280 modifier.
5281
5282 2000-08-08 Richard Henderson <rth@cygnus.com>
5283
5284 * config/ia64/ia64-protos.h: Remove duplicates. Update
5285 for massive code rearrangements.
5286 * config/ia64/ia64.c (ia64_arpfs_regno): Remove.
5287 (ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
5288 (ia64_local_regs, ia64_need_regstk): Remove.
5289 (ar_ccv_reg_operand): New.
5290 (ia64_gp_save_reg): New.
5291 (struct ia64_frame_info): Combine most of the size elements;
5292 add new gr save elements.
5293 (find_gr_spill): New.
5294 (next_scratch_gr_reg): New.
5295 (mark_reg_gr_used_mask): New.
5296 (ia64_compute_frame_size): Rewrite. Allocate special AR regs
5297 to GR backing store regs when possible.
5298 (ia64_initial_elimination_offset): New.
5299 (ia64_rap_fp_offset): Remove.
5300 (save_restore_insns): Remove.
5301 (setup_spill_pointers): New.
5302 (finish_spill_pointers): New.
5303 (spill_restore_mem): New.
5304 (do_spill, do_restore): New.
5305 (ia64_expand_prologue): Rewrite to use them.
5306 (ia64_expand_epilogue): Likewise.
5307 (ia64_direct_return): Update for current_frame_info changes.
5308 (ia64_function_prologue): Simplify .prologue emission. Emit
5309 .spill when needed.
5310 (ia64_setup_incoming_varargs): Don't ever emit rtl.
5311 (ia64_dbx_register_number): New.
5312 (ia64_initialize_trampoline): New.
5313 (ia64_secondary_reload_class): Request GR_REGS for integer
5314 arithmetic destined for FR_REGS.
5315 (ia64_init_machine_status): Don't reset return_address_pointer_rtx.
5316 (ia64_mark_machine_status): Mark ia64_gp_save.
5317 (rws_access_regno): Rename from rws_access_reg; don't treat
5318 predicates specially.
5319 (rws_access_reg): New. Update all callers.
5320 (rtx_needs_barrier): Remove dead unspecs.
5321 (ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
5322 (ia64_encode_section_info): Silence signed/unsigned warnings.
5323 (spill_offset, sp_offset, spill_offset_emitted): Remove.
5324 (tmp_reg, tmp_saved): Remove.
5325 (process_set): Rewrite to expect complicated bits via
5326 REG_FRAME_RELATED_EXPR.
5327 (ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
5328 in the use of ar.ccv; never set RTX_UNCHANGING_P.
5329 (ia64_expand_op_and_fetch): Likewise.
5330 (ia64_expand_compare_and_swap): Likewise.
5331 (ia64_expand_builtin): Likewise.
5332 * config/ia64/ia64.h (AR_UNAT_REGNUM): New.
5333 (FIRST_PSEUDO_REGISTER): Update.
5334 (AR_M_REGNO_P): Update.
5335 (FIXED_REGS): Don't mark three local registers as used.
5336 (EXTRA_CC_MODES): New.
5337 (SELECT_CC_MODE): New.
5338 (HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
5339 (HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
5340 (FRAME_GROWS_DOWNWARD): Unset.
5341 (STARTING_FRAME_OFFSET): Zero.
5342 (ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
5343 (INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
5344 (HARD_FRAME_POINTER_REGNUM): New.
5345 (CAN_DEBUG_WITHOUT_FP): Define.
5346 (TRAMPOLINE_TEMPLATE): Remove.
5347 (TRAMPOLINE_SIZE): Lower to 32.
5348 (TRAMPOLINE_ALIGNMENT): Lower to 64.
5349 (INITIALIZE_TRAMPOLINE): Defer to out of line function.
5350 (PREDICATE_CODES): Update.
5351 (struct machine_function): Add ia64_gp_save.
5352 * config/ia64/ia64.md: Purge unused unspecs.
5353 (movsi patterns): Allow moves to/from AR_M_REGS.
5354 (movdi patterns): Allow moves to/from p0.
5355 (call patterns): Move most setjmp hackery to ia64_gp_save_reg.
5356 (gr_spill, gr_restore): Indicate ar.unat read/written.
5357 (nonlocal_goto): Don't pass old frame_pointer.
5358 (nonlocal_goto_receiver): Remove.
5359 (exception_receiver): New.
5360 (builtin_setjmp_setup): New.
5361 (builtin_setjmp_receiver): New.
5362 * config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
5363 (__ia64_nonlocal_goto): Bundle. Don't kill r7.
5364 (__ia64_restore_stack_nonlocal): Likewise.
5365 (__ia64_trampoline): New.
5366 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
5367 function.
5368 * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
5369
5370 2000-08-08 Richard Henderson <rth@cygnus.com>
5371
5372 * frame.h (ia64_frame_state): Add my_psp.
5373 * libgcc2.c (ia64_throw_helper): Add throw_sp argument.
5374 (__throw): Pass it in. Don't clobber r7.
5375 * config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
5376 (execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
5377 and nothing to do with sp.
5378 (normalize_reg_loc): Use frame->my_psp.
5379 (frame_translate): Handle frame-pointer-less functions. Set
5380 spill_base correctly, in absence of being told.
5381 (__build_ia64_frame_state): New sp argument. Fill in frame->my_sp.
5382 (__ia64_backtrace_helper): New sp argument. Use
5383 builtin_return_address instead of label addresses.
5384 (print_record) [mem_stack_v]: No size member.
5385
5386 2000-08-08 Richard Henderson <rth@cygnus.com>
5387
5388 * regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
5389
5390 2000-08-08 Richard Henderson <rth@cygnus.com>
5391
5392 * tm.texi (LOCAL_REGNO): Document.
5393 * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
5394 (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
5395 * reload1.c (reload): Likewise when considering nonlocal labels.
5396
5397 * config/ia64/ia64.h (LOCAL_REGNO): New.
5398 * config/sparc/sparc.h (LOCAL_REGNO): New.
5399
5400 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
5401
5402 * c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
5403
5404 2000-08-07 Nick Clifton <nickc@redhat.com>
5405
5406 * config/mips/mips.c: Fix compile time warning messages.
5407 * config/mips/mips-protos.h: Add prototype for equality_op.
5408
5409 * mn10300.h (TARGET_SWITCHES): Document `-mam33'.
5410
5411 2000-08-07 Graham Stott <grahams@cygnus.co.uk>
5412
5413 * mn10300.md: Use nonimmediate_operand instead of general_operand
5414 on output operands.
5415
5416 * mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
5417
5418 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
5419
5420 * sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
5421 * sh.c (expand_block_move): Break long lines.
5422 (expand_ashiftrt, fpscr_set_from_mem): Likewise.
5423 * sh.md (mulsi3): Likewise.
5424 (movdi): Adjust spacing.
5425
5426 2000-08-07 Richard Henderson <rth@cygnus.com>
5427
5428 * expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
5429 * expr.c (emit_group_store): Don't set it.
5430
5431 2000-08-07 Kazu Hirata <kazu@hxi.com>
5432
5433 * invoke.texi (Options for Debugging Your Program or GCC): Remove
5434 duplicate entries for 'w' and 'z'.
5435
5436 * flow.c: Fix a comment typo.
5437
5438 Sun Aug 6 23:47:35 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
5439
5440 * c-parse.in: Changed the language string for Objective-C to "GNU
5441 Objective-C".
5442
5443 Sun Aug 6 11:54:03 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
5444
5445 * gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes
5446 to improve the Posix thread support for Objective-C.
5447
5448 2000-08-06 Joseph S. Myers <jsm28@cam.ac.uk>
5449
5450 * c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
5451 CTI_UNSIGNED_PTRDIFF_TYPE.
5452 (signed_size_type_node): Define.
5453 (unsigned_ptrdiff_type_node): Define.
5454 * c-decl.c (init_decl_processing): Create the
5455 signed_size_type_node and unsigned_ptrdiff_type_node types.
5456 * c-common.c (T_SC): Define.
5457 (T_SST): Define.
5458 (T_UPD): Define.
5459 (print_char_table): Use T_SST for %zd, %zi, %zn. Use T_UPD for
5460 %to, %tu, %tx, %tX. Allow %hhn (T_SC). Add "c" to the flags for
5461 %s and %p.
5462 (scan_char_table): Use T_SC for %hhd, %hhi, %hhn. Use T_SST for
5463 %zd, %zi, %zn. Use T_UPD for %to, %tu, %tx, %tX. Add "c" to the
5464 flags for %c, %s and %[.
5465 (check_format_info): Only allow leniency for signedness of targets
5466 of character pointers (when pedantic) for formats flagged with
5467 "c", so for strings but not for %hh formats. When pedantic, don't
5468 allow character pointers to substitute for void pointers if a
5469 second level of indirection is present.
5470
5471 2000-08-06 Kazu Hirata <kazu@hxi.com>
5472
5473 * invoke.texi (Options for Debugging Your Program or GCC): Update
5474 the names of dump files.
5475
5476 * h8300.c (dosize): Rearrange code for conciseness.
5477 (split_adds_subs): Likewise.
5478
5479 * loop.c: Fix formatting.
5480
5481 * dwarf2out.c: Fix formatting.
5482
5483 * tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
5484
5485 * expr.c: Fix formatting.
5486
5487 2000-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5488
5489 * rs6000.c (rs6000_maybe_dead): Prototype.
5490
5491 2000-08-06 Richard Henderson <rth@cygnus.com>
5492
5493 * stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for
5494 HAVE_nonlocal_goto as well.
5495 * config/i960/i960.md (nonlocal_goto): Don't do it here.
5496 * config/pj/pj.md (nonlocal_goto): Likewise.
5497
5498 2000-08-07 Michael Hayes <mhayes@cygnus.com>
5499
5500 * loop.c (try_swap_copy_prop): New function.
5501 (load_mems): Rename copies to load_copies and add new regset
5502 store_copies. Check for sets of shadow registers and mark
5503 in store_copies. Call try_swap_copy_prop for registers
5504 marked in store_copies.
5505
5506 Sun Aug 6 00:54:42 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
5507
5508 * objc/objc-act.c: New command line option -fconstant-string-class
5509 to allow specifying a user defined constant string class,
5510 different from NXConstantString.
5511
5512 * toplev.c: Moved the Objective-C specific options to
5513 objc/lang-options.h.
5514
5515 * objc/lang-options.h: Moved the Objective-C specific options from
5516 toplev.c. Added -fconstant-string-class.
5517
5518 2000-08-05 Chris Demetriou <cgd@sibyte.com>
5519
5520 * mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
5521 DTOR_LIST_BEGIN, DTOR_LIST_END): change type of
5522 __CTOR_LIST__ from func_ptr array to just func_ptr, to
5523 avoid extra alignment imposed on arrays.
5524 * mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
5525 DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise.
5526
5527 * mips.h: Clean up comments and spacing near MASKs.
5528 (TARGET_UNIX_ASM): Delete.
5529 (MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV,
5530 MASK_UNINIT_CONST_IN_RODATA): Change values to make mask
5531 values contiguous.
5532
5533 2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk>
5534
5535 * c-common.c (print_char_table): Add entries for the X/Open '
5536 format flag (print decimals with locale's thousands grouping
5537 character). Make %C expect wint_t.
5538 (check_format_info): If pedantic, warn when the %n$ operand
5539 number form is used. Allow for the ' flag; warn about it if
5540 pedantic.
5541
5542 2000-08-05 Zack Weinberg <zack@wolery.cumb.org>
5543
5544 * i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return
5545 type is a float mode, cfun->decl's return type is not, and
5546 TARGET_FLOAT_RETURNS_IN_80387.
5547
5548 2000-08-04 Andreas Schwab <schwab@suse.de>
5549
5550 * cppmain.c (cb_def_pragma): Skip the first two tokens from the
5551 token list, which are always `#' and `pragma'.
5552
5553 2000-08-04 Zack Weinberg <zack@wolery.cumb.org>
5554
5555 * tree.c (tree_expr_nonnegative_p): Move to...
5556 * fold-const.c: ... here. Also handle BIND_EXPR and RTL_EXPR.
5557 (rtl_expr_nonnegative_p): New.
5558 * tree.h: Add prototype for rtl_expr_nonnegative_p.
5559
5560 * real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
5561 CONST_DOUBLE_CHAIN: Move to...
5562 * rtl.h: ...here. Use XCINT/XCEXP.
5563
5564 * Makefile.in: Remove toplev.o from OBJS. Add rule to make
5565 libbackend.a; add libbackend.a to STAGESTUFF. Add BACKEND
5566 variable. Use BACKEND when linking cc1, not OBJS. Add BACKEND
5567 to VOL_FILES.
5568
5569 * objc/Make-lang.in (cc1obj): Link with $(BACKEND).
5570
5571 2000-08-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5572
5573 * config/c4x/c4x.md (return_indirect_internal): New.
5574 * config/c4x/c4x.c (c4x_expand_epilogue): Use it.
5575
5576 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
5577
5578 * c-common.c (time_char_table): Mark up formats added in C99 and
5579 make other corrections. %D and %g were added in C99. %Og is an
5580 extension. %EX is permitted. %R, %T, %n, %r, %t were added in
5581 C99. %e was added in C99. %Oj is an extension. %G and %z are in
5582 C99 rather than GNU extensions, but %OG and %Oz are extensions.
5583 %h was added in C99. %C was added in C99. %OY and %OC are
5584 extensions. Add the C99 format %F.
5585 (check_format_info): If pedantic and not in C99 mode, warn for C99
5586 formats, %E and %O.
5587
5588 Fri Aug 4 23:01:58 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
5589
5590 * function.c (schedule_fixup_var_refs): New function, broken out
5591 of put_reg_into_stack.
5592 (put_reg_into_stack): Use it.
5593 (put_var_into_stack): In CONCAT case, fixup up references for
5594 components only after fixing up references to the whole concat.
5595
5596 2000-08-04 Rodney Brown <RodneyBrown@pmsc.com>
5597
5598 * alias.c (mark_constant_function): Use INSN_P.
5599 (init_alias_analysis): Likewise.
5600 * combine.c (combine_instructions): Use INSN_P.
5601 (can_combine_p): Likewise.
5602 (try_combine): Likewise.
5603 (distribute_notes): Likewise.
5604 (distribute_links): Likewise.
5605 * cse.c (cse_around_loop): Use INSN_P.
5606 (invalidate_skipped_block): Likewise.
5607 (cse_set_around_loop): Likewise.
5608 (cse_end_of_basic_block): Likewise.
5609 (delete_trivially_dead_insns): Likewise.
5610 * emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
5611 (unshare_all_rtl_1): Likewise.
5612 (next_cc0_user): Likewise.
5613 (try_split make_insn_raw): Likewise.
5614 (remove_unnecessary_notes): Likewise.
5615 * final.c (shorten_branches): Use INSN_P.
5616 (leaf_renumber_regs): Likewise.
5617 (leaf_renumber_regs_insn): Likewise.
5618 * flow.c (find_label_refs): Use INSN_P.
5619 (verify_wide_reg): Likewise.
5620 (notice_stack_pointer_modification): Likewise.
5621 (count_or_remove_death_notes): Likewise.
5622 (verify_flow_info): Likewise.
5623 (clear_log_links): Likewise.
5624 * function.c (fixup_var_refs_insns): Use INSN_P.
5625 (compute_insns_for_mem): Likewise.
5626 * gcse.c (alloc_gcse_mem): Use INSN_P.
5627 (compute_sets): Likewise.
5628 (compute_hash_table): Likewise.
5629 (classic_gcse): Likewise.
5630 (cprop): Likewise.
5631 (insert_insn_end_bb): Likewise.
5632 (delete_null_pointer_checks_1): Likewise.
5633 * global.c (expand_preferences): Use INSN_P.
5634 (build_insn_chain): Likewise.
5635 * graph.c (node_data): Use INSN_P.
5636 * haifa-sched.c (priority): Use INSN_P.
5637 (rm_line_notes): Likewise.
5638 (rm_other_notes): Likewise.
5639 (find_insn_reg_weight): Likewise.
5640 (init_target_units): Likewise.
5641 (schedule_block): Likewise.
5642 (compute_block_forward_dependences): Likewise.
5643 (debug_dependencies): Likewise.
5644 (set_priorities): Likewise.
5645 * integrate.c (function_cannot_inline_p): Use INSN_P.
5646 (save_parm_insns): Likewise.
5647 (copy_insn_list): Likewise.
5648 * jump.c (mark_all_labels): Use INSN_P.
5649 (never_reached_warning): Likewise.
5650 * lcm.c (optimize_mode_switching): Use INSN_P.
5651 * local-alloc.c (validate_equiv_mem): Use INSN_P.
5652 (memref_used_between_p): Likewise.
5653 (update_equiv_regs): Likewise.
5654 (block_alloc): Likewise.
5655 (no_conflict_p): Likewise.
5656 * loop.c (scan_loop): Use INSN_P.
5657 (find_and_verify_loops): Likewise.
5658 (count_loop_regs_set): Likewise.
5659 (loop_reg_used_before_p): Likewise.
5660 (strength_reduce): Likewise.
5661 (recombine_givs): Likewise.
5662 (check_dbra_loop): Likewise.
5663 (load_mems): Likewise.
5664 (try_copy_prop): Likewise.
5665 * print-rtl.c (print_rtx): Use INSN_P.
5666 * recog.c (find_single_use): Use INSN_P.
5667 * reg-stack.c (stack_regs_mentioned): Use INSN_P.
5668 (next_flags_user): Likewise.
5669 (swap_rtx_condition): Likewise.
5670 * regmove.c (mark_flags_life_zones): Use INSN_P.
5671 (optimize_reg_copy_1): Likewise.
5672 (optimize_reg_copy_2): Likewise.
5673 (optimize_reg_copy_3): Likewise.
5674 (reg_is_remote_constant_p): Likewise.
5675 (fixup_match_2): Likewise.
5676 (regmove_optimize): Likewise.
5677 (fixup_match_1): Likewise.
5678 * regrename.c (build_def_use): Use INSN_P.
5679 (replace_reg_in_block): Likewise.
5680 (consider_use): Likewise.
5681 * reload.c (find_equiv_reg): Use INSN_P.
5682 * reload1.c (reload): Use INSN_P.
5683 (maybe_fix_stack_asms): Likewise.
5684 (calculate_needs_all_insns): Likewise.
5685 (reload_as_needed): Likewise.
5686 (emit_output_reload_insns): Likewise.
5687 (delete_address_reloads_1): Likewise.
5688 (reload_cse_regs_1): Likewise.
5689 (reload_combine): Likewise.
5690 (reload_cse_move2add): Likewise.
5691 * reorg.c (redundant_insn): Use INSN_P.
5692 (dbr_schedule): Likewise.
5693 * resource.c (find_dead_or_set_registers): Use INSN_P.
5694 (mark_target_live_regs): Likewise.
5695 * rtlanal.c (reg_used_between_p): Use INSN_P.
5696 (reg_referenced_between_p): Likewise.
5697 (reg_set_between_p): Likewise.
5698 (reg_set_p): Likewise.
5699 (single_set): Likewise.
5700 (multiple_sets): Likewise.
5701 (find_last_value): Likewise.
5702 (reg_set_last): Likewise.
5703 (find_reg_note): Likewise.
5704 (find_regno_note): Likewise.
5705 * sibcall.c (sequence_uses_addressof): Use INSN_P.
5706 * simplify-rtx.c (cselib_process_insn): Use INSN_P.
5707 * ssa.c (find_evaluations): Use INSN_P.
5708 (rename_block): Likewise.
5709 (rename_equivalent_regs): Likewise.
5710 * unroll.c (loop_find_equiv_value): Use INSN_P.
5711 (set_dominates_use): Likewise.
5712 * varasm.c (mark_constant_pool): Use INSN_P.
5713 (mark_constants): Likewise.
5714 * config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
5715 (alphaev4_next_group): Likewise.
5716 (alphaev5_next_group): Likewise.
5717 * config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
5718 (c4x_rptb_rpts_p): Likewise.
5719 * config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
5720 * config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
5721 (rs6000_adjust_priority): Likewise.
5722 * config/sh/sh.c (sh_loop_align): Use INSN_P.
5723 (machine_dependent_reorg): Likewise.
5724 (split_branches): Likewise.
5725 * config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
5726
5727 Fri Aug 4 11:43:49 2000 John Wehle (john@feith.com)
5728
5729 * combine.c (recog_for_combine): Remove the old notes
5730 prior to attempting to recognize the new pattern.
5731 (distribute_notes): Ignore REG_NONNEG notes.
5732
5733 2000-08-04 Chandrakala Chavva <cchavva@redhat.com>
5734
5735 * varasm.c (output_constructor): Add .align 0 for packed vars.
5736
5737 2000-08-04 J. David Anglin <dave@hiauly1.hia.nrc.ca>
5738
5739 * configure.in: Use default thread_file even when enable_threads is
5740 yes or dce because hpux10.20 pa port uses MULTILIB implementation.
5741 * configure: Rebuilt.
5742
5743 * gthr-dce.h (__gthread_objc_condition_allocate): Fix typo.
5744
5745 2000-08-04 Donn Terry (donnte@microsoft.com)
5746
5747 * prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR.
5748
5749 2000-08-04 Mark Elbrecht <snowball3@bigfoot.com>
5750
5751 * i386/x-djgpp: Delete code that conditionally modifies target_alias.
5752 Delete code that conditionally modifies 'version'.
5753 Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR.
5754 * i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro.
5755 * gcc.c (main): Use it.
5756 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro.
5757 * prefix.c (update_path): Use it.
5758 * i386/djgpp.h (STANDARD_INCLUDE_DIR): Define.
5759 (MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'.
5760 (ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing
5761 code.
5762 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true.
5763 (SUBTARGET_SWITCHES): Adjust.
5764 (WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before
5765 defining.
5766 (WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define.
5767
5768 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
5769
5770 * c-common.h (flag_isoc94): Declare.
5771 * c-decl.c (flag_isoc94): Define.
5772 (c_decode_option): Set flag_isoc94 as appropriate.
5773 * c-common.c (T_PD, T_IM, T_UIM): Define.
5774 (format_char_info): Add tlen and jlen.
5775 (print_char_table): Add entries for %t and %j. Allow %zn. Allow
5776 %F. Allow %lf.
5777 (scan_char_table): Add entries for %t and %j. Allow %F. Allow
5778 %l[.
5779 (time_char_table): Add NULL entries for %t and %j.
5780 (check_format_info): Allow for %t and %j. Warn for %F if pedantic
5781 and not C99. Warn for %lc, %ls and %l[ if pedantic and not C94.
5782 Warn for printf %lf if pedantic and not C99. Don't warn for empty
5783 precision. Allow precision argument to be unsigned int. If
5784 pedantic, warn for %p passed an argument not a pointer to possibly
5785 qualified void or a possibly qualified character type, and for
5786 pointer targets of the wrong sign, except for character pointers.
5787
5788 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
5789
5790 * ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
5791 * c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
5792 (wint_type_node): Define.
5793 * c-decl.c (WINT_TYPE): Define.
5794 (init_decl_processing): Create the wint_type_node type.
5795 * c-common.c (T_WI): Define.
5796 (print_char_table): Use T_WI for %lc format.
5797
5798 2000-08-04 Bruce Korb <bkorb@gnu.org>
5799
5800 * fixinc/: Verified that the MSDOS patch does not break
5801 the UNIX functionality and applied the next three patches
5802 from July:
5803
5804 2000-07-28 Eli Zaretskii <eliz@is.elta.co.il>
5805
5806 * fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the
5807 output file with the temporary one by appending ".X" to generate
5808 the temporary fuile's name. If the output file already has an
5809 extension, replace it with ".X".
5810
5811 * fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR,
5812 not $DESTDIR, to find applyfix. Use sprintf instead of snprintf;
5813 reallocate the command buffer while copying the command-line
5814 argument. Redirect the output directly to the temporary file,
5815 instead of going through another temporary file.
5816 (process): Close the temporary file before unlinking it.
5817 (machine_matches) [__MSDOS__]: If the machine doesn't match, set
5818 the FD_SKIP_TEST flag. Pay attention to the FD_MACH_IFNOT flag.
5819 (run_compiles): Pass p_fixd argument to machine_matches, as it
5820 expects.
5821
5822 * fixinc/fixincl.sh: Export ORIGDIR. If $DJDIR is set in the
5823 environment, assume there are no symlinks in the include
5824 directory. When cleaning up the DONE files, look for them
5825 case-insensitively. Don't try to remove symlinks if they aren't
5826 there.
5827
5828 * fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax;
5829 all callers changed. Declare pz "const char *", to avoid compiler
5830 warnings.
5831
5832 * fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment.
5833 Change prototype of make_raw_shell_str.
5834
5835 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
5836
5837 * fixinc/fixincl.c [__MSDOS__]: Don't include "server.h".
5838 (initialize) [__MSDOS__]: Use tempnam.
5839 (initialize): Don't use SIGPIPE if it is not defined.
5840
5841 * fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should
5842 return stdout.
5843
5844 2000-07-25 Bruce Korb <bkorb@gnu.org>
5845
5846 * fixinc/fix*.[ch]: substantially reworked to make it possible
5847 to run this program without using fork(2) or pipe(2) (i.e. in
5848 a DOS environment).
5849
5850 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
5851
5852 * cppdefault.h (WINT_TYPE): Define.
5853 * cppinit.c (builtin_array): Define __WINT_TYPE__.
5854 * tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
5855 * tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
5856
5857 Fri Aug 4 06:53:46 2000 Clinton Popetz <cpopetz@cygnus.com>
5858
5859 * (mips_legitimate_address_p): Don't allow register+offset
5860 if the offset is large and negative, and we are compiling
5861 for 64 bit registers.
5862
5863 2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5864
5865 * gencodes.c (main): Define CODE_FOR_nothing as the last possible
5866 insn_code_number + 1.
5867
5868 2000-08-04 Kazu Hirata <kazu@hxi.com>
5869
5870 * h8300.c (function_prologue): Rearrange code for conciseness.
5871 (function_epilogue): Likewise.
5872 * h8300.h (OK_FOR_U): Fix formatting.
5873
5874 * cse.c: Fix a comment typo. Fix formatting.
5875
5876 2000-08-03 Richard Henderson <rth@cygnus.com>
5877
5878 * config/i386/i386.md (return_indirect_internal): New.
5879 * config/i386/i386.c (ix86_expand_epilogue): Use it.
5880
5881 2000-08-03 Zack Weinberg <zack@wolery.cumb.org>
5882
5883 * cpplex.c (parse_name): Might have to glue a CPP_OTHER token
5884 before the name.
5885 (lex_line): Glue @ onto the beginning of identifiers and
5886 string constants, in Objective-C mode.
5887 (output_token, spell_token): Handle CPP_OSTRING.
5888 (can_paste, maybe_paste_with_next): Handle pasting @ onto the
5889 beginning of a NAME or a STRING, in objc mode.
5890
5891 * cpplib.c (get_define_node): Do not permit identifiers that
5892 begin with @ to be #defined.
5893 * cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
5894 * cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
5895
5896 * c-lang.c, objc/objc-act.c (build_objc_string): Delete.
5897 * c-tree.h (build_objc_string): Delete prototype.
5898 * objc/objc-tree.def: Delete OBJC_STRING_CST.
5899 * c-lex.c (yylex): Use build_string for all three kinds of strings.
5900
5901 * c-parse.in, objc/objc-act.c: Update commentary.
5902
5903 2000-08-03 Mark Mitchell <mark@codesourcery.com>
5904
5905 * extend.texi: Fix typo in last change.
5906
5907 * extend.texi: Add commentary on statement-expressions and their
5908 interactions with C++.
5909
5910 2000-08-03 Nick Clifton <nickc@cygnus.com>
5911
5912 * dwarf2.h (DW_LANG_Java): Change value to 0x000b.
5913 * dwarf.h (LANG_JAVA): Change value to 0x000b.
5914
5915 2000-08-03 Anthony Green <green@cygnus.com>
5916
5917 * dwarf2out.c (gen_compile_unit_die): Add java language support.
5918 (add_bound_info): Check for java language.
5919 (is_java): New function.
5920 * dwarfout.c (output_compile_unit_die): Ditto.
5921 * dwarf.h (dwarf_source_language): Add java source language type.
5922 * dwarf2.h (dwarf_source_language): Ditto.
5923
5924 Thu Aug 3 20:32:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
5925
5926 * reg-stack.c (subst_stack_regs_pat): Use replace_reg to swap
5927 operands.
5928
5929 * i386.c (ix86_expand_branch): Mode of comparison in
5930 IF_THEN_ELSE is VOIDmode.
5931
5932 Thu Aug 3 10:05:53 2000 Akiko Matsushita <matusita@sra.co.jp>
5933
5934 * gengenrtl.c, rtl.c: Avoid #elif.
5935
5936 2000-08-03 Michael Poole <poole@troilus.org>
5937
5938 * tm.texi (Register Classes): Clarify order of sub-initializers
5939 in REG_CLASS_CONTENTS.
5940
5941 Thu Aug 3 15:53:03 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
5942
5943 From SAITOH Masanobu:
5944 * sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax.
5945
5946 2000-08-03 David Billinghurst <David.Billinghurst@riotinto.com.au>
5947
5948 * config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option
5949 is not supported by tradcpp and isn't actually needed for cygwin.
5950
5951 2000-08-03 Kazu Hirata <kazu@hxi.com>
5952
5953 * h8300.c: Fix a comment typo.
5954 * h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8/S.
5955
5956 * jump.c: Fix formatting.
5957
5958 * toplev.c: Fix formatting.
5959
5960 Thu Aug 3 01:05:32 2000 Jeffrey A Law (law@cygnus.com)
5961
5962 * flow.c (find_auto_inc): Verify that we've got a REG before
5963 peeking at its regno. Fail, don't abort if we can't find
5964 the increment of the desired register.
5965
5966 * pa.md (shadd height reduction patterns/splitters): Remove.
5967
5968 2000-08-02 Jim Wilson <wilson@cygnus.com>
5969
5970 * config/ia64/ia64-protos.h (flag_ssa): Declare.
5971 * config/ia64/ia64.md (movti_internal, movti_internal+1): New.
5972
5973 2000-08-02 Mark Mitchell <mark@codesourcery.com>
5974
5975 * dce.c: Remove all uses of assert.
5976 * dwarf2out.c: Likewise.
5977 * dwarfout.c: Likewise.
5978 * ssa.c: Likewise.
5979
5980 2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
5981
5982 * gcc.h (lang_specific_driver): Constify second argument.
5983 * gcc.c (translate_options, process_command, main): Likewise.
5984 Constify variables to match. Cast second argument to
5985 pexecute.
5986
5987 * cppspec.c, gccspec.c: Adjust type of second argument to
5988 lang_specific_driver, and update code as necessary.
5989
5990 2000-08-02 Jakub Jelinek <jakub@redhat.com>
5991
5992 * loop.c (scan_loop): Ensure update_end label does not
5993 go away until reg_scan_update is run.
5994
5995 2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
5996
5997 * c-common.h: Prototype min_precision and c_build_qualified_type here...
5998 * c-tree.h: ... not here.
5999 * errors.h: Prototype fancy_abort.
6000
6001 * emit-rtl.c (gen_lowpart_common): Move variable 'c' into
6002 HOST_BITS_PER_WIDE_INT == 64 ifdef block.
6003 * regrename.c (regrename_optimize): Make control flow explicit.
6004 (replace_reg_in_block): Initialize reg_use to 0.
6005
6006 * i386.c (legitimate_address_p): Rename error label to
6007 report_error to avoid namespace clash.
6008
6009 2000-08-02 Kazu Hirata <kazu@hxi.com>
6010
6011 * fold-const.c: Fix formatting.
6012
6013 Wed Aug 2 16:26:15 MET DST 2000 Jan Hubicka <jh@suse.cz>
6014
6015 * i386.c (legitimate_address_p): Accept other bases than
6016 pic_offset_table_rtx for GOTOFF constructs.
6017
6018 Wed Aug 2 15:59:34 MET DST 2000 Jan Hubicka <jh@suse.cz>
6019
6020 * i386.md (shift to lea splitter): Use const_int_operand.
6021
6022 2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
6023
6024 * cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
6025 cppspec.c: Do not use 'legal' or 'illegal' in error messages
6026 and comments.
6027
6028 * cppmain.c (cb_define, cb_undef): Don't generate any output
6029 if not done_initializing.
6030 * cpplex.c (maybe_paste_with_next): When the token after a ##
6031 is an omitted rest argument, only delete the token before it
6032 if that token is a comma. Do not warn about bogus token
6033 pastes for , ## rest_arg.
6034
6035 * cpp.texi: Update.
6036 * cpp.1: Regenerate.
6037
6038 2000-08-02 Fred Fish <fnf@be.com>
6039
6040 * config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
6041 when user gives -p option. Add init_term_dyn.o for BeOS 5.0
6042 and later.
6043
6044 * config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
6045 Be directories to search path.
6046
6047 Remove support for __declspec(dllimport) and __declspec(dllexport).
6048 This is leftover cruft from the earlier BeOS gcc port when BeOS
6049 used Microsoft's PE object file format.
6050 * configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
6051 * config/i386/t-beos (winnt.o): Remove Makefile frag.
6052 * config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
6053 (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
6054 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
6055 (MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
6056 (REDO_SECTION_INFO_P): Remove.
6057 (ASM_EXPORT_DECL): Remove.
6058 (ASM_DECLARE_FUNCTION_NAME): Remove.
6059 (ASM_DECLARE_OBJECT_NAME): Remove.
6060 (ASM_OUTPUT_ALIGNED_COMMON): Remove.
6061 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
6062 (ASM_OUTPUT_ALIGNED_LOCAL): Remove.
6063 (STRIP_NAME_ENCODING): Remove.
6064
6065 Remove support for obsolete version of BeOS that is no longer
6066 supported by Be.
6067 * configure.in (i*86-*-beospe*): Remove.
6068 * config/i386/beos-pe.h: Remove.
6069
6070 2000-08-01 Jeffrey Oldham <oldham@codesourcery.com>
6071 Mark Mitchell <mark@codesourcery.com>
6072
6073 * Makefile.in (OBJS): Added dce.o.
6074 (ssa.o): Updated target to include ssa.h.
6075 (flow.o): Likewise.
6076 (toplev.o): Likewise.
6077 (dce.o): Created target.
6078 * basic-block.h: Added comments.
6079 (INVALID_BLOCK): Added definition.
6080 (connect_infinite_loops_to_exit): Added declaration.
6081 Moved SSA declarations to ssa.h.
6082 * flow.c: Added inclusion of ssa.h.
6083 (struct depth_first_search_dsS, depth_first_search_ds):
6084 Added definitions.
6085 (compute_immediate_postdominators): Added definition.
6086 (connect_infinite_loops_to_exit): Likewise.
6087 (flow_dfs_compute_reverse_init): Likewise.
6088 (flow_dfs_compute_reverse_add_bb): Likewise.
6089 (flow_dfs_compute_reverse_execute): Likewise.
6090 (flow_dfs_compute_reverse_finish): Likewise.
6091 * rtl.h (rtx/in_struct): Added use to determine insn necessity.
6092 (LABEL_P): Added definition.
6093 (JUMP_P): Likewise.
6094 (NOTE_P): Likewise.
6095 (BARRIER_P): Likewise.
6096 (JUMP_TABLE_DATA_P): Likewise.
6097 (INSN_DEAD_CODE_P): Likewise.
6098 * ssa.c: Replaced inclusions with ssa.h inclusion.
6099 (CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
6100 (rename_registers): Removed unnecessary variables.
6101 * ssa.h: Created by moving declarations from ssa.c and
6102 basic-block.h.
6103 * timevar.def: Defined TV_DEAD_CODE_ELIM.
6104 * toplev.c: Added ssa.h inclusion.
6105 (dump_file_index): Added DFI_dce.
6106 (dump_file): Added "dce" entry.
6107 Defined flag_ssa.
6108 (f_options): Added dce entry.
6109 * invoke.texi: Document -fdce. Emphasize experimental status of
6110 -fssa.
6111 * dce.c: New file.
6112
6113 2000-08-01 Zack Weinberg <zack@wolery.cumb.org>
6114
6115 * cpperror.c (v_message): Split into _cpp_begin_message and
6116 v_message macro. All callers updated.
6117 (_cpp_begin_message): Do inhibit_errors/inhibit_warnings
6118 checks here.
6119
6120 * cppfiles.c (cpp_syshdr_flags): New function.
6121 (read_include_file): Don't call cpp_output_tokens. Call
6122 enter_file hook.
6123 * cppinit.c (dump_macros_helper): Moved to cppmain.c.
6124 (cpp_reader_init): Don't initialize token_buffer. Call
6125 _cpp_init_internal_pragmas.
6126 (cpp_cleanup): Don't clear token_buffer.
6127 (cpp_start_read): Don't worry about output from -D processing.
6128 Don't call cpp_output_tokens.
6129 (cpp_finish): Don't dump macros here. Don't call
6130 cpp_output_tokens.
6131 * cppmacro.c (_cpp_dump_definition): Rename
6132 cpp_dump_definition. Write directly to a FILE *.
6133 (dump_funlike_macro): Delete.
6134 (dump_macro_args): New.
6135
6136 * cpplex.c (TOKEN_LEN): Convert to inline function.
6137 (_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens,
6138 cpp_scan_line, _cpp_dump_list): Delete.
6139 (cpp_printf, cpp_output_list): New.
6140 (output_line_command): Don't worry about entering or leaving files.
6141 (cpp_scan_buffer): Just output each token as we hit it.
6142 (process_directive): Don't call cpp_output_tokens.
6143 (_cpp_glue_header_name): Don't use token_buffer.
6144 (output_token, dump_param_spelling): Write directly to a FILE *.
6145
6146 * cpplib.c (pass_thru_directive, dump_macro_name,
6147 pragma_dispatch, do_pragma_gcc): Delete.
6148 (do_define, do_undef, parse_include, do_line, do_ident, do_pragma,
6149 do_pragma_poison, cpp_pop_buffer): Call the appropriate hook
6150 functions.
6151 (do_error, do_warning, pragma_dependency): Call
6152 _cpp_begin_message, then cpp_output_list.
6153 (cpp_register_pragma, cpp_register_pragma_space,
6154 _cpp_init_internal_pragmas): New.
6155 (do_pragma): Walk the pragmas table here.
6156 (do_pragma_once, do_pragma_poison, do_pragma_system_header,
6157 do_pragma_dependency): Return void.
6158 (do_pragma_implementation): Moved to cppmain.c.
6159
6160 * cpplib.h: Update prototypes.
6161 (struct cpp_reader): Remove printer, token_buffer,
6162 token_buffer_size, and limit. Add struct cb, and pragmas.
6163 (struct cpp_printer): Remove last_id and written.
6164 (CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN,
6165 CPP_ADJUST_WRITTEN): Delete.
6166 * cpphash.h: Update prototypes.
6167 (ufputs): New wrapper.
6168
6169 * cppmain.c (cb_define, cb_undef, cb_include, cb_ident,
6170 cb_enter_file, cb_leave_file, cb_def_pragma): New functions.
6171 (main): Set up callbacks. Register #pragma implementation.
6172 Dump macros from here.
6173
6174 2000-08-01 Geoff Keating <geoffk@cygnus.com>
6175
6176 * rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
6177 * rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
6178 * flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
6179 insns if they have a REG_MAYBE_DEAD note attached.
6180 * config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
6181 (rs6000_emit_load_toc_table): TOC loads may go dead.
6182
6183 2000-08-01 Jim Wilson <wilson@cygnus.com>
6184
6185 * config/ia64/ia64.c (ia64_function_arg): Fix last change. Verify
6186 type exists before using it. Use number of words as alignment
6187 otherwise.
6188 (ia64_function_arg_partial_nregs, ia64_function_arg_advance,
6189 ia64_va_arg): Propagate ia64_function_args changes here.
6190
6191 2000-08-01 Richard Henderson <rth@cygnus.com>
6192
6193 * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL.
6194 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
6195
6196 2000-08-01 Bernd Schmidt <bernds@cygnus.co.uk>
6197
6198 From Joern Rennecke:
6199 * sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
6200 * sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
6201 unless TARGET_SH3E is set.
6202 * t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
6203
6204 * sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
6205 (ashlsi3_std): New pattern.
6206 (ashlsi3 expander): Use it for TARGET_SH3.
6207 * sh.c (gen_ashift): Use it instead of ashlsi3_k.
6208
6209 Tue Aug 1 12:34:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
6210
6211 * loop.c (canonicalize_condition): Use destination, not source to
6212 determine SET's mode.
6213
6214 2000-07-31 Mark Mitchell <mark@codesourcery.com>
6215
6216 * flow.c (clear_log_links): Fix typo.
6217
6218 Mon Jul 31 22:19:24 2000 Jeffrey A Law (law@cygnus.com)
6219
6220 * loop.c (check_dbra_loop): Make change from July 17, 2000 work
6221 on targets which need more than one insn for a compare/cbranch
6222 operation.
6223
6224 2000-07-31 Jim Wilson <wilson@cygnus.com>
6225
6226 * config/ia64/ia64.c (ia64_function_arg): Use alignment not size
6227 when computing offset.
6228
6229 Mon Jul 31 20:35:50 2000 Denis Chertykov <denisc@overta.ru>
6230
6231 * genpeep.c (main): Handle DEFINE_PEEPHOLE2.
6232
6233 2000-07-31 Geoff Keating <geoffk@cygnus.com>
6234
6235 * flow.c (clear_log_links): Nuke global_live_at_start and
6236 global_live_at_end data, since if the log_links stuff is invalid
6237 so is global_live_at_*.
6238
6239 2000-07-31 Richard Henderson <rth@cygnus.com>
6240
6241 * tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
6242
6243 2000-07-31 Jakub Jelinek <jakub@redhat.com>
6244
6245 * cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
6246 (_cpp_get_token): Don't macro expand a just pasted token if it
6247 was pasted at no_expand_level.
6248
6249 2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
6250
6251 * cppmacro.c (find_param, count_params, save_expansion):
6252 Permit 'defined' as a macro parameter name.
6253
6254 2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
6255
6256 * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
6257 xcpp to cpp throughout.
6258 (native): Remove unnecessary dependency on cpp.
6259
6260 * gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
6261 tradcpp to tradcpp0.
6262 (.i spec): Add missing output-file spec to cc1 command line.
6263 * objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
6264
6265 2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
6266
6267 * c-decl.c (mesg_implicit_function_declaration): Init to -1.
6268 (implicit_decl_warning): New function.
6269 (implicitly_declare): Use it.
6270 * c-typeck.c (build_external_ref): Use implicit_decl_warning
6271 to complain about implicit decls of builtins.
6272
6273 * c-lang.c (lang_init): Set mesg_implicit_function_declaration
6274 based on pedantic && flag_isoc99, if not already set.
6275 * c-tree.h: Declare mesg_implicit_function_declaration.
6276 Prototype implicit_decl_warning.
6277
6278 2000-07-30 Jeffrey D. Oldham <oldham@codesourcery.com>
6279
6280 * Makefile.in (ssa.o): Updated header files in dependences.
6281 * basic-block.h: Added compute_immediate_postdominators declaration.
6282 * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
6283 definition.
6284 * flow.c (compute_immediate_dominators): Updated comment.
6285 (compute_immediate_postdominators): Added definition.
6286 * rtl.h (HARD_REGISTER_P): Added definition.
6287 * ssa.c: Include additional header files.
6288 (assert): Added definition.
6289 (ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
6290 include select hard registers.
6291 (ssa_rename_to_insert): Likewise.
6292 (ssa_rename_from_initialize): Likewise.
6293 (ssa_rename_from_lookup): Likewise.
6294 (original_register): Likewise.
6295 (ssa_rename_from_insert): Added to reimplement ssa_rename_from to
6296 include select hard reigsters.
6297 (ssa_rename_from_traverse): Likewise.
6298 (ssa_rename_from_free): Likewise.
6299 (ssa_rename_from_print): Likewise.
6300 (ssa_rename_from_print_1): Likewise.
6301 (ssa_rename_from_hash_function): Likewise.
6302 (ssa_rename_from_equal): Likewise.
6303 (ssa_rename_from_delete): Likewise.
6304 (simplify_to_immediate_dominators): Removed in favor of
6305 flow.c:compute_immediate_dominators.
6306 (find_evaluations_1): Modified to work with hard registers.
6307 (insert_phi_node): Likewise.
6308 (insert_phi_nodes): Likewise.
6309 (struct rename_set_data): Updated prev_reg comment.
6310 (create_delayed_rename): Modified to work with hard registers.
6311 (RENAME_NO_RTX): Updated comment.
6312 (apply_delayed_renames): Modified to work with hard registers.
6313 (rename_insn_1): Likewise and added handling of CLOBBER rtls.
6314 (rename_block): Updated to use revised ssa_rename_to interface.
6315 (rename_registers): Updated to use revised ssa_rename_to and
6316 ssa_rename_from interface.
6317 (convert_to_ssa): Revised to use compute_immediate_dominators and
6318 deal with hard registers.
6319 (make_regs_equivalent_over_bad_edges): Modified to work with hard
6320 registers. Added check for illegal unification of hard register.
6321 (make_equivalent_phi_alternatives_equivalent): Modified to work
6322 with hard registers.
6323 (compute_conservative_reg_partition): Likewise.
6324 (coalesce_if_unconflicting): Modified to work with hard registers
6325 and check for conflicting hard registers.
6326 (mark_phi_and_copy_regs): Revised loop to work only on pseudo
6327 registers.
6328 (rename_equivalent_regs_in_insn): Modified to work with hard
6329 registers.
6330 (record_canonical_element_1): Added definition.
6331 (check_hard_regs_in_partition): Added definition.
6332 (convert_from_ssa): Added data structure deallocation and check
6333 for illegal hard register unification.
6334 (conflict_hard_regs_p): Added definition.
6335 * toplev.c (rest_of_compilation): Added comment.
6336
6337 2000-07-31 Anthony Green <green@redhat.com>
6338
6339 * config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
6340
6341 2000-07-31 Jason McMullan <jmcmullan@linuxcare.com>
6342
6343 * builtins.c (expand_builtin_apply): Don't defer pop during
6344 argument setup.
6345
6346 2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6347
6348 * calls.c (combine_pending_stack_adjustment_and_call): Only use
6349 preferred_unit_stack_boundary when it is > 1.
6350
6351 2000-07-31 Joseph S. Myers <jsm28@cam.ac.uk>
6352
6353 * c-common.c (init_function_format_info): Add C99 format functions
6354 in C99 mode.
6355
6356 * c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
6357 void' or 'register void' as being the special case of 'void' alone
6358 in a parameter list.
6359
6360 * c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
6361 discarding qualifiers into a plain warning.
6362
6363 2000-07-31 Kazu Hirata <kazu@hxi.com>
6364
6365 * combine.c: Fix formatting.
6366
6367 * h8300.md: Fix formatting.
6368
6369 * local-alloc.c: Fix formatting.
6370
6371 * h8300.c (get_shift_alg): Remove the variable alg.
6372 (emit_a_shift): Rearrange code to improve readability.
6373
6374 * h8300.md (movsi_h8300hs): Rearrange code to improve readability.
6375
6376 * h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
6377 HImode on all architectures and a combination of HImode and SImode
6378 on H8/300H and H8/S.
6379
6380 * h8300.c (split_adds_subs): Rearrange code for conciseness.
6381
6382 Mon Jul 31 12:27:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
6383
6384 * i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
6385 in my last checkin.
6386
6387 Mon Jul 31 10:41:01 MET DST 2000 Jan Hubicka <jh@suse.cz>
6388
6389 * recog.c (extract_insn): Set operand_mode according to
6390 operand if match_operand is VOIDmode.
6391
6392 Mon Jul 31 10:36:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
6393
6394 * recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
6395
6396 2000-07-31 Geoff Keating <geoffk@cygnus.com>
6397
6398 * c-parse.in (extdefs): Call ggc_collect between external
6399 definitions.
6400
6401 2000-07-30 Michael Hayes <mhayes@cygnus.com>
6402 Richard Henderson <rth@cygnus.com>
6403
6404 * Makefile.in (OBJS): Add doloop.o.
6405 * doloop.c: New file.
6406
6407 * final.c (insn_current_reference_address): Return 0 before final.
6408 * flags.h (flag_branch_on_count_reg): Fix typos in commentary.
6409 * jump.c (any_uncondjump_p): Likewise.
6410 * loop.c (indirect_jump_in_function): Make static.
6411 (strength_reduce): Call doloop_optimize.
6412 (insert_bct, instrument_loop_bct): Remove.
6413 * loop.h (doloop_optimize): Prototype.
6414 * recog.c (split_all_insns): Split all INSN_P.
6415 * toplev.c (flag_branch_on_count_reg): Default on.
6416
6417 * config/c4x/c4x.c (c4x_optimization_options): Don't set
6418 flag_branch_on_count_reg.
6419 * config/i386/i386.c (override_options): Likewise.
6420 * config/rs6000/rs6000.c (optimization_options): Likewise.
6421
6422 * config/i386/i386.md (decrement_and_branch_on_count): Remove.
6423 (doloop_end): New.
6424 (dbra_ge): Remove, as well as all it's splitters.
6425
6426 * config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
6427 (doloop_end): New.
6428
6429 * config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
6430 (ia64_register_move_cost): Declare.
6431 * config/ia64/ia64.c (ar_lc_reg_operand): New.
6432 (struct ia64_frame_info): Add ar_size.
6433 (ia64_compute_frame_size): Set it.
6434 (save_restore_insns): Save and restore ar.lc.
6435 (ia64_register_move_cost): New, moved from header file. Handle
6436 application registers.
6437 (REG_AR_PFS, REG_AR_EC): Remove. Replace with AR_*_REGNUM numbers.
6438 (emit_insn_group_barriers): Special case doloop_end_internal.
6439 (ia64_epilogue_uses): Mark ar.lc live at end.
6440 * config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
6441 (AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
6442 (FIRST_PSEUDO_REGISTER): Make room.
6443 (AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
6444 (FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
6445 (REG_ALLOC_ORDER): Update.
6446 (HARD_REGNO_MODE_OK): Update.
6447 (REGISTER_NAMES): Update.
6448 (enum reg_class): Add AR_M_REGS and AR_I_REGS.
6449 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
6450 (REGNO_REG_CLASS): Update.
6451 (LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
6452 (REGISTER_MOVE_COST): Move out of line.
6453 (PREDICATE_CODES): Update.
6454 * config/ia64/ia64.md (movdi patterns): Handle ar register classes.
6455 (addsi3_plus1_alt, adddi3_plus1_alt): New.
6456 (shladd_elim splitter): Allow constants in the predicate.
6457 (doloop_end, doloop_end_internal): New.
6458
6459 2000-07-30 Richard Henderson <rth@cygnus.com>
6460
6461 * genattrtab.c (struct insn_def): Add lineno member.
6462 (struct insn_ent): Likewise.
6463 (struct attr_desc): Likewise.
6464 (struct delay_desc): Likewise.
6465 (struct function_unit_op): Likewise.
6466 (struct function_unit): Likewise.
6467 (check_attr_value): Use message_with_line.
6468 (check_defs): Likewise.
6469 (expand_units): Likewise.
6470 (check_attr_test): Take a lineno argument.
6471 (gen_attr): Likewise.
6472 (gen_insn): Likewise.
6473 (gen_delay): Likewise.
6474 (gen_unit): Likewise.
6475 (main): Give it to them.
6476 (convert_set_attr_alternative): Take an insn_def argument
6477 instead of num_alt and insn_index.
6478 (convert_set_attr): Likewise.
6479 (write_test_expr): Protect INSN_ADDRESSES load
6480 with INSN_ADDRESSES_SET_P.
6481
6482 2000-07-30 Richard Henderson <rth@cygnus.com>
6483
6484 * flow.c (init_propagate_block_info): Use pc_set.
6485
6486 Sun Jul 30 20:58:34 MET DST 2000 Jan Hubicka <jh@suse.cz>
6487
6488 * i386.md (*lea_general_[123]) New insns and splits.
6489 (addsi3 to lea splitter): Handle other modes too.
6490 (shlsi3 to lea splitter): Likewise.
6491 (addhi_1_lea, shlhi_1_lea): New patterns.
6492 (addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.
6493
6494 Sun Jul 30 20:51:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
6495
6496 * recog.c (general_operand, nonimmediate_operand): Accept
6497 any mode for VOIDmode CONSTANT_P operands.
6498
6499 Sun Jul 30 20:42:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
6500
6501 * gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
6502 instead of replace_rtx.
6503 * recog.c (validate_replace_rtx_subexp): New function.
6504 * recog.h (validate_replace_rtx_subexp): Declare.
6505
6506 Sun Jul 30 20:38:26 MET DST 2000 Jan Hubicka <jh@suse.cz>
6507
6508 * combine.c (simplify_set, make_extraction, make_compound_operation
6509 make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
6510 as force_to_mode argument.
6511
6512 Sun Jul 30 20:30:41 MET DST 2000 Jan Hubicka <jh@suse.cz>
6513
6514 * combine.c (if_then_else_cond): Be sure that mode fits in
6515 HOST_WIDE_INT.
6516
6517 Sun Jul 30 20:27:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
6518
6519 * combine.c (record_promoted_value): Allow bitsize of mode
6520 to be equivalent to HOST_BITS_PER_WISE_INT.
6521
6522 Sun Jul 30 20:25:21 MET DST 2000 Jan Hubicka <jh@suse.cz>
6523
6524 * function.c (assign_stack_local_1, assign_stack_temp_for_type):
6525 Do not call gen_mode_alignment when mode is BLKmode.
6526
6527 Sun Jul 30 20:21:54 MET DST 2000 Jan Hubicka <jh@suse.cz>
6528
6529 * loop.c (express_from_1): Fix call of simplify_gen_binary.
6530
6531 Sun Jul 30 20:08:37 MET DST 2000 Jan Hubicka <jh@suse.cz>
6532
6533 * simplify-rtx.c (simplify_relational_operation): Verify that mode ==
6534 VOIDmode implies both operands to be VOIDmode.
6535 (simplify_ternary_operation): Compute properly the mode of comparison.
6536 * combine.c (combine_simplify_rtx): Likewise.
6537
6538 2000-07-25 Michael Hayes <mph@paradise.net.nz>
6539
6540 * basic-block.h (struct loops): New field rc_order.
6541 * flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
6542 (flow_loops_free): Free rc_order.
6543 (flow_depth_first_order_compute): New parameter rc_order.
6544 (flow_loops_find): Allocate rc_order and swap usage with
6545 dfs_order.
6546
6547 2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
6548 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6549
6550 * config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
6551 (push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
6552 (nodb_call, return_from_epilogue): Likewise.
6553 (return_from_interrupt_epilogue, prologue, epilogue): Likewise.
6554 * config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
6555 * config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
6556 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
6557 (c4x_valid_type_attribute_p): Likewise.
6558 * config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
6559 (FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.
6560
6561 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6562
6563 * config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
6564 and loadhi_big_constant if applicable.
6565 * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
6566 and add new splitter.s
6567
6568 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6569
6570 * config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
6571
6572 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6573
6574 * config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
6575
6576 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6577
6578 * config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
6579
6580 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6581
6582 * config/c4x/libgcc.S (divqf3): Improve accuracy.
6583
6584 2000-07-27 Mark Mitchell <mark@codesourcery.com>
6585
6586 Put phi nodes after NOTE_INSN_BASIC_BLOCK.
6587 * rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
6588 * bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
6589 (get_prev_bb_note): Likewise.
6590 (remove_scope_notes): Likewise.
6591 * flow.c (commit_one_edge_insertion): Likewise.
6592 (merge_blocks_nomove): Likewise.
6593 (verify_flow_info): Likewise.
6594 * gcse.c (insert_insn_end_bb): Likewise.
6595 * reg-stack.c (emit_swap_insn): Likewise.
6596 * ssa.c (first_insn_after_basic_block_note): New function.
6597 (insert_phi_node): Use it.
6598 (rename_block): Likewise.
6599 (eliminate_phi): Likewise.
6600 (make_regs_equivalent_over_bad_edges): Likewise.
6601 (make_equivalent_phi_alternatives_equivalent): Likewise.
6602 (for_each_successor_phi): Likewise.
6603 (convert_from_ssa): Modify phi-node deletion algorithm.
6604
6605 2000-07-29 Andreas Jaeger <aj@suse.de>
6606
6607 * configure.in (mips*-*-linux*): Use mips*el to check for little
6608 endian MIPS, add tmake_file.
6609
6610 * config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
6611 (SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
6612 Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
6613
6614 2000-07-28 Richard Henderson <rth@cygnus.com>
6615
6616 * config/ia64/ia64.c (ia64_print_operand): Fix typos.
6617 Sign extend mode size before negating.
6618
6619 2000-07-28 Richard Henderson <rth@cygnus.com>
6620
6621 * emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
6622
6623 2000-07-28 Bernd Schmidt <bernds@cygnus.co.uk>
6624
6625 * cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
6626 (cse_insn): Likewise.
6627 (addr_affects_sp_p): Likewise.
6628 * expr.c (move_by_pieces): Likewise.
6629 (clear_by_pieces): Likewise.
6630 * gcse.c (oprs_unchanged_p): Likewise.
6631 * haifa-sched.c (sched_analyze_2): Likewise.
6632 * recog.c (offsettable_address_p): Likewise.
6633 * regclass.c (record_address_regs): Likewise.
6634 * reload.c (find_reusable_reload): Likewise.
6635 (push_reload): Likewise.
6636 (operands_match_p): Likewise.
6637 (decompose): Likewise.
6638 (find_reloads_address_1): Likewise.
6639 (find_inc_amount): Likewise.
6640 * reload1.c (elimination_effects): Likewise.
6641 * resource.c (mark_set_resources): Likewise.
6642 * flow.c (attempt_auto_inc): New function; mostly broken out
6643 of find_auto_inc.
6644 (find_auto_inc): Split into two functions and enhanced to
6645 generate POST_MODIFY.
6646 * rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
6647 * rtl.h (count_all_occurrences): Declare.
6648 (HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
6649 defined.
6650 * rtlanal.c (count_all_occurrences): New function.
6651 * tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
6652 HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
6653
6654 * config/ia64/ia64-protos.h (destination_operand): Declare.
6655 * config/ia64/ia64.c (destination_operand): New function.
6656 (ia64_print_operand): Handle POST_MODIFY.
6657 (rtx_needs_barrier): Likewise.
6658 * config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
6659 (HAVE_POST_MODIFY_REG): Define to 1.
6660 (MAX_REGS_PER_ADDRESS): Change to 2.
6661 (GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
6662 (LEGITIMATE_ADDRESS_REG): New helper macro.
6663 (LEGITIMATE_ADDRESS_DISP): Likewise.
6664 (PREDICATE_CODES): Add entry for destination_operand.
6665 * config/ia64/ia64.md (all mov patterns): Use destination_operand
6666 predicate for operand 0.
6667
6668 2000-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6669
6670 * dwarf2out.c: Indent #error directive.
6671
6672 * gbl-ctors.h: Fix typo in comment.
6673 (__do_global_ctors): Prototype.
6674
6675 * gcse.c (record_one_set, pre_delete): Remove unused variables.
6676
6677 * rs6000.c (rs6000_maybe_dead): Delete unused prototype.
6678 (print_operand): Initialize variable `t'.
6679
6680 2000-07-27 Aldy Hernandez <aldyh@redhat.com>
6681
6682 * config/arm/arm.md ("call_value"): removed constraints.
6683 Constraints are ignored in expanders.
6684 (*call_value_reg): split =rf into various constraints.
6685 (*call_value_mem): same
6686 (*call_value_symbol): same
6687 (*sibcall_value_insn): same
6688
6689 2000-07-28 Philipp Thomas <pthomas@suse.de>
6690
6691 * install.texi (--enable-nls): Change the description of the NLS
6692 related configure options to match the current state.
6693 (--with-included-gettext): Likewise.
6694 (--enable-maintainer-mode): New description added.
6695 * extend.texi (-fstrict-prototype): Add missing '.'.
6696
6697 2000-07-27 Jim Wilson <wilson@cygnus.com>
6698
6699 * dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
6700 DECL_INITIAL (decl) == NULL_TREE.
6701
6702 2000-07-27 Alexandre Oliva <aoliva@redhat.com>
6703
6704 * Makefile.in (INSN_ATTR_H): New macro. Replace all dependencies
6705 on insn-attr.h with it.
6706 * genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
6707 * insn-addr.h: New header.
6708 (insn_addresses_): Renamed from insn_addresses.
6709 (INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
6710 INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
6711 INSN_ADDRESSES_NEW): New macros.
6712 * genattrtab.c (write_test_expr): Use new macros.
6713 * final.c (insn_addresses, init_insn_lengths): Likewise.
6714 (align_fuzz, shorten_branches): Likewise.
6715 (final): Likewise. Do not reject new insns if their addresses
6716 have been added to INSN_ADDRESSES.
6717 * config/arm/arm.c, config/avr/avr.c: Use new macros.
6718 * config/h8300/h8300.c, config/i370/i370.c: Likewise.
6719 * config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
6720 * config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
6721 * config/sh/sh.c: Likewise.
6722 (output_branchy_insn): Use INSN_ADDRESSES_NEW.
6723
6724 * Makefile.in (bootstrap): Move -BstageN/ back to the beginning.
6725
6726 2000-07-27 Andrew Cagney <cagney@b1.cygnus.com>
6727
6728 * gcc.c (struct prefix_list): Add member priority.
6729 (enum path_prefix_priority): Declare.
6730 (add_prefix): Replace ``first'' with ``priority''. Append new
6731 entry but keep list in priority order.
6732 (process_command): Update. Pass PREFIX_PRIORITY_B_OPT or
6733 PREFIX_PRIORITY_LAST to add_prefix.
6734 (process_command): Move include kludge - foo/stageN - to before
6735 foo/include.
6736
6737 2000-07-27 Jason Merrill <jason@redhat.com>
6738
6739 * dwarf2out.c (gen_typedef_die): Abort if we get identical
6740 TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
6741
6742 2000-07-27 RodneyBrown <RodneyBrown@pmsc.com>
6743
6744 * expr.h (get_alias_set, lang_get_alias_set): Delete prototypes.
6745 * tree.h (get_alias_set, lang_get_alias_set): Prototype.
6746
6747 2000-07-27 Joseph S. Myers <jsm28@cam.ac.uk>
6748
6749 * c-decl.c (finish_function): Don't treat 'main' specially unless
6750 flag_hosted. In C99 mode, return 0 from 'main' unless
6751 DEFAULT_MAIN_RETURN is otherwise defined.
6752
6753 * c-decl.c (store_parm_decls): In C99 mode, pedwarn for function
6754 parameters defaulting to int in an old-style function definition.
6755
6756 2000-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6757
6758 * c-parse.in (string): For -Wtraditional, warn about string
6759 concatenation only once per line.
6760
6761 Thu Jul 27 09:25:17 2000 Akiko Matsushita <matusita@sra.co.jp>
6762
6763 * pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES
6764 for HI-UX/WE2 systems.
6765
6766 2000-07-24 Bruce Korb <bkorb@gnu.org>
6767
6768 * fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC
6769 defining the __xxx_TYPE__ macros.
6770 * fixincl/fixincl.tpl(gnu_type_map): now obsolete
6771 * fixincl/fixlib.h: don't need to include "tm.h" anymore
6772 * fixincl/inclhack.def(type_map): now obsolete
6773
6774 Thu Jul 27 11:54:17 2000 Andrew Cagney <cagney@b1.cygnus.com>
6775
6776 * cpp.texi: Append a trailing full-stop to xrefs where needed.
6777
6778 2000-07-26 Dave Pitts <dpitts@cozx.com>
6779
6780 * i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash
6781 routine constants.
6782 (mvs_hash_alias): New function.
6783 (mvs_add_alias): Change argument spacing.
6784 (mvs_need_alias): Change aliasing criteria. Added documentation.
6785 (mvs_get_alias): Change to use hashed name. The hashed name prevents
6786 CSECT name collisions.
6787 (mvs_check_alias): Likewise.
6788 (handle_pragma): Change documentation.
6789 * i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx
6790 mode from SImode to DImode.
6791 (iorhi3): Changed LTORG size for insn.
6792
6793 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
6794
6795 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
6796 mem if the address is a mode_dependent_address_p.
6797
6798 2000-07-26 Kazu Hirata <kazu@hxi.com>
6799
6800 * h8300.c (print_operand): Print ":8" when the 'R' operand is
6801 suitable for 8-bit absolute.
6802 * h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New.
6803 (OK_FOR_U): Add a case for the 8-bit constant address on the
6804 H8/300H.
6805
6806 Wed Jul 26 19:26:21 2000 Hans-Peter Nilsson <hp@axis.com>
6807
6808 * varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON)
6809 && ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test
6810 ! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about
6811 lack of implemented alignment.
6812
6813 2000-07-26 Geoffrey Keating <geoffk@cygnus.com>
6814
6815 * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle
6816 cross-compiling between 64-bit and 32-bit machines.
6817
6818 2000-07-27 Richard Henderson <rth@cygnus.com>
6819
6820 * config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New.
6821 (movhicc_astep, movhi_internal_astep): New.
6822 (movsicc_astep, movsi_internal_astep): New.
6823 (movdicc_astep, movdi_internal_astep): New.
6824 (movsfcc_astep, movsf_internal_astep): New.
6825 (movdfcc_astep, movdf_internal_astep): New.
6826 (movxfcc_astep, movxf_internal_astep): New.
6827 (cmovdi_internal_astep, cmovsi_internal_astep): New.
6828 Unify the cmov[ds]i splitters.
6829
6830 2000-07-27 Rodney Brown <RodneyBrown@pmsc.com>
6831
6832 * real.c (asctoeg): Rename `error' label to unexpected_char_error
6833
6834 2000-07-26 Nick Clifton <nickc@cygnus.com>
6835
6836 * config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of
6837 __arm__. Allow it to be defined by CPP_ISA_SPEC in arm.h
6838
6839 * dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as
6840 well as PARALLEL blocks in FRAME_RELATED_EXPR notes.
6841
6842 2000-07-26 Alexandre Oliva <aoliva@redhat.com>
6843
6844 * c-decl.c (finish_enum): Convert enumerations that fit in an
6845 `int' to `int'.
6846 (build_enumerator): In pedantic mode, cast to `int' those that
6847 don't.
6848
6849 2000-07-25 Rodney Brown <RodneyBrown@pmsc.com>
6850
6851 * config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New.
6852
6853 Tue Jul 25 23:08:33 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
6854
6855 * sh.md (cmpgtdi_t): Must be split.
6856 (cmpgtdi_t+1): New splitter.
6857
6858 2000-07-25 Zack Weinberg <zack@wolery.cumb.org>
6859
6860 * cpplib.c (_cpp_check_directive): Issue -Wtraditional
6861 warnings for indented directives even if we are skipping.
6862
6863 2000-07-25 Nathan Sidwell <nathan@codesourcery.com>
6864
6865 * invoke.texi (strict-prototypes): Remove.
6866 * extend.texi (Deprecated Features): Add strict-prototypes.
6867 (Backwards Compatibility): New node.
6868
6869 2000-07-25 Jakub Jelinek <jakub@redhat.com>
6870
6871 * config/i386/i386.md (andsi_1+1): Allow HImode.
6872 (andsi_1+2): Require q_regs_operand.
6873
6874 2000-07-25 Jakub Jelinek <jakub@redhat.com>
6875
6876 * config/i386/i386.md (call_pop): Check operands[0],
6877 not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
6878 (call): Likewise.
6879 (call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
6880 (call_value): Likewise.
6881
6882 2000-07-25 Zack Weinberg <zack@wolery.cumb.org>
6883
6884 * toplev.c (pipe_closed): Delete.
6885 (crash_signal): New. Generate ICE for a fatal signal.
6886 (float_signal): Call crash_signal outside a float-handler
6887 block, not abort.
6888 (main): Install crash_signal as handler for core-dumping signals.
6889
6890 2000-07-25 David Edelsohn <edelsohn@gnu.org>
6891
6892 * rs6000.c (print_operand, case 'T'): New case.
6893
6894 * rs6000.md (call_indirect_aix32): Convert to expander of
6895 scheduled instructions.
6896 (call_indirect_aix64): Likewise.
6897 (call_value_indirect_aix{32,64}): Likewise.
6898 (call, call_value): Invoke expanders for AIX. Fall through to
6899 matchers for SysV.
6900 (call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr).
6901 (call_value_indirect_nonlocal_aix{32,64}): New patterns.
6902 (call_nonlocal_aix32): Remove CALL_LONG alternative. Operand 1
6903 only "g" constraint.
6904 (call_nonlocal_aix64): Likewise.
6905 (call_value_nonlocal_aix{32,64}): Likewise.
6906 (call_nonlocal_sysv): New pattern for ctr, lr, and symbolic
6907 operands.
6908 (call_value_nonlocal_sysv): New pattern.
6909 (indirect_jump{si,di}): Use new 'T' modifier.
6910 (tablejump{si,di} matchers): Likewise.
6911 (return_internal_{si,di}): Likewise.
6912 (return_eh_{si,di}): Likewise.
6913
6914 2000-07-24 Richard Henderson <rth@cygnus.com>
6915
6916 * config/ia64/ia64.c (ia64_print_operand): Handle "%,".
6917 * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
6918 * config/ia64/ia64.md (movdi_internal): Use it.
6919
6920 2000-07-24 Zack Weinberg <zack@wolery.cumb.org>
6921
6922 * cppexp.c: Warn about unary + if -Wtraditional.
6923 * cpplex.c (lex_line): Always set BOL on the first token of a line.
6924
6925 2000-07-24 Michael Meissner <meissner@redhat.com>
6926
6927 * d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to
6928 unsupported macro.
6929
6930 2000-07-24 Nick Clifton <nickc@cygnus.com>
6931
6932 * config/arm/arm.c (emit_multi_reg_push): Generate a
6933 REG_FRAME_RELEATED_NOTE that is compatable with the code in
6934 dwarf2out_debug_frame_expr.
6935
6936 2000-07-24 Jason Merrill <jason@redhat.com>
6937
6938 * dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without
6939 UNALIGNED_INT_ASM_OP.
6940 (def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust
6941 a location expression.
6942 (dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff. Don't
6943 assume indirect access if we're saving the CFA address exactly.
6944
6945 * Makefile.in (bootstrap): Move -BstageN/ to the end.
6946
6947 2000-07-24 Jakub Jelinek <jakub@redhat.com>
6948
6949 * tradcpp.c (main): Update max_include_len for cpp_include_defaults
6950 as well.
6951
6952 2000-07-24 Michael Meissner <meissner@redhat.com>
6953
6954 * invoke.texi (D30V Options): Add d30v options.
6955
6956 Mon Jul 24 02:04:52 2000 Jeffrey A Law (law@cygnus.com)
6957
6958 * gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not
6959 needed by our gcse pass anymore.
6960 (free_pre_mem): Corresponding changes.
6961 (compute_pre_data): Do not call compute_transpout anymore.
6962
6963 * gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'.
6964 (free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding
6965 changes.
6966
6967 * gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
6968 (compute_pre_data): Do it here instead.
6969
6970 * gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap
6971 'temp_bitmap'.
6972 (pre_delete): Corresponding changes.
6973
6974 2000-07-23 Mark Mitchell <mark@codesourcery.com>
6975
6976 * c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN
6977 to figure out whether or not a variable has already been emitted.
6978
6979 Sun Jul 23 14:49:12 2000 Jason Eckhardt <jle@cygnus.com>
6980
6981 * config/i860/i860.md (untyped_call expander): Use GEN_CALL
6982 instead of gen_call.
6983
6984 Sun Jul 23 11:52:03 2000 George Helffrich (george@gly.bris.ac.uk)
6985
6986 * dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.
6987
6988 2000-07-23 Kazu Hirata <kazu@hxi.com>
6989
6990 * h8300.c: Fix formatting.
6991
6992 2000-07-23 Joseph S. Myers <jsm28@cam.ac.uk>
6993
6994 * c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn
6995 for `long' switch expression into a plain warning.
6996
6997 * c-lex.c (init_lex): Keep the "inline" keyword in C99 mode.
6998 (yylex): Don't pedwarn for "inline" in C99 mode.
6999
7000 * bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing
7001 with %p.
7002 * ggc-page.c (debug_print_page_list, alloc_page, free_page,
7003 ggc_alloc): Likewise.
7004 * bb-reorder.c (dump_scope_forest_1): Likewise.
7005
7006 2000-07-22 Aldy Hernandez <aldyh@redhat.com>
7007
7008 * reload.c (find_reloads_toplev): Add new parameter
7009 "address_reloaded".
7010 (find_reloads): Add new parameter to find_reloads_toplev calls.
7011
7012 2000-07-22 Jeffrey Oldham <oldham@codesourcery.com>
7013
7014 * collect2.c (main): Typo fixed.
7015 * diagnostic.c: Typo fixed.
7016 * dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed.
7017 * eh-common.h: Typo fixed.
7018 * emit-rtl.c (start_sequence): Typo fixed.
7019 * flow.c (find_label_refs): Typo fixed.
7020 (calculate_global_regs_live): Typo fixed.
7021 (mark_regno_cond_dead): Typo fixed.
7022 (create_edge_list): Typos fixed.
7023 (verify_edge_list): Typo fixed.
7024 * ggc-common.c (ggc_mark_rtx_children): Typo fixed.
7025 * loop.c (strength_reduce): Typo in function name fixed.
7026 * rtl.h: Added comments. Typo in function name fixed.
7027 * rtlanal.c: Typo in function name fixed.
7028 (insn_dependant_p): Rename to ...
7029 (insn_dependent_p): ... this.
7030 (computed_jumo_p): Typo fixed.
7031
7032 2000-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7033
7034 * system.h (__FUNCTION__): Wrap definition in #ifndef.
7035
7036 2000-07-21 David Edelsohn <edelsohn@gnu.org>
7037
7038 * rs6000.h (SIZE_TYPE): Define.
7039
7040 2000-07-21 Mark Mitchell <mark@codesourcery.com>
7041
7042 * ssa.c (rename_insn_1): Don't rename registers that are
7043 CLOBBERed.
7044
7045 2000-07-21 Zack Weinberg <zack@wolery.cumb.org>
7046
7047 * diagnostic.c (trim_filename, fancy_abort): Moved here from
7048 rtl.c.
7049 (fatal_function, set_fatal_function): Removed.
7050 (fatal): Don't prepare for or call the fatal_function.
7051 (diagnostic_lock, error_recursion): New.
7052 (diagnostic_for_decl, report_diagnostic): Guard against
7053 re-entering the error reporting routines.
7054 (fancy_abort): Assume function is not NULL.
7055
7056 * errors.c (fancy_abort): New. Assume function is not NULL.
7057 * tradcpp.c (fancy_abort): Assume function is not NULL.
7058
7059 * system.h: Provide default definition of __FUNCTION__.
7060 * rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
7061 Always use __FUNCTION__ in definition of abort.
7062 * tree.h: Likewise.
7063 * varray.h: Likewise.
7064 * toplev.h: Likewise. Don't prototype set_fatal_function.
7065
7066 2000-07-20 Geoff Keating <geoffk@cygnus.com>
7067
7068 * config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
7069 in 64-bit mode.
7070 * glimits.h: Don't do #if defined for ARCH_PPC.
7071
7072 * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
7073 constants of size no larger than a pointer should go in the TOC.
7074 Add 'MODE' parameter.
7075 (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
7076 ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
7077 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
7078 * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
7079 * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
7080 * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
7081 (rs6000_legitimize_address): Likewise.
7082 (rs6000_emit_move): Likewise.
7083 (rs6000_select_rtx_section): Likewise.
7084 (output_toc): Deal properly with outputting small constants like
7085 HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
7086 * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
7087 MODE parameter. Put small constants in the TOC.
7088
7089 * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
7090 easy in SImode.
7091 (rs6000_emit_move): When reload calls us with an illegitimate
7092 address, exit early. Move the change_address calls to one place
7093 at the end of the routine. Merge the SImode and DImode expanders.
7094 When called by reload to put an integer into a FP register, force
7095 it to memory.
7096
7097 * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
7098 field.
7099 (rs6000_hash_constant): Hash mode too.
7100 (toc_hash_function): Allow for key_mode.
7101 (toc_hash_eq): Structures are different if key_mode differs.
7102 (output_toc): Add 'mode' parameter. Save key_mode.
7103 * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
7104 Pass 'mode' parameter.
7105 * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
7106
7107 * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
7108 for vtable references.
7109
7110 * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
7111 choice, don't put integer values in FP regs.
7112
7113 Thu Jul 20 18:13:52 2000 Jeffrey A Law (law@cygnus.com)
7114
7115 * flow.c (verify_flow_info): Revamp code to verify that the
7116 head and end of each basic block are in the insn chain.
7117
7118 Thu Jul 20 18:02:35 2000 Michael Matz <matzmich@cs.tu-berlin.de>
7119
7120 * gcse.c (record_one_set): Prepend instead of append onto
7121 reg_set_table, making it O(n) instead O(n^2).
7122 * lcm.c (compute_antinout_edge,compute_laterin,compute_available):
7123 Use a queue instead of a stack as worklist.
7124
7125 2000-07-20 Kazu Hirata <kazu@hxi.com>
7126
7127 * h8300.c (two_insn_adds_subs_operand): Fix a typo.
7128 * h8300.h (OK_FOR_T): New.
7129 (EXTRA_CONSTRAINT): Support OK_FOR_T.
7130 * h8300.md: Use inc/dec.[wl] for increment/decrement
7131 by 1 and 2 in HI and SI modes.
7132
7133 2000-07-20 Jim Wilson <wilson@cygnus.com>
7134
7135 * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
7136 larger than 14 bits.
7137
7138 2000-07-20 Zack Weinberg <zack@wolery.cumb.org>
7139
7140 * cppmacro.c (CAN_PASTE_AFTER): New macro.
7141 (count_params): Don't set GNU_REST_ARGS on anything.
7142 (save_expansion): Set PASTE_LEFT only on tokens for which
7143 CAN_PASTE_AFTER is true, or which are named operators.
7144
7145 * cpplex.c (parse_args): Distinguish between a rest argument
7146 given one empty argument, and a rest argument given zero arguments.
7147 (maybe_paste_with_next): Look for VOID_REST tag, and trigger
7148 deletion of previous token based on that.
7149 (get_raw_token): Flatten some control structure.
7150
7151 * cpplib.h (CPP_LAST_EQ): Correct.
7152 (VOID_REST): New token flag.
7153 (GNU_REST_ARGS): Delete.
7154
7155 * tradcpp.c (main): Don't munge -D options.
7156 (make_definition): Bring -D handling in line with cpplib.
7157 (do_define): Strip all leading whitespace from macro definitions.
7158
7159 2000-07-20 David Billinghurst <David.Billinghurst@riotinto.com.au>
7160
7161 * Makefile.in (tradcpp): Depend on intl.o and version.o.
7162
7163 2000-07-20 Bruce Korb <bkorb@gnu.org>
7164
7165 * fixincl/check.tpl: strip the platform specific types before testing
7166 * fixincl/fixfixes.c(gnu_type_fix): use platform specific types
7167 * fixincl/fixincl.tpl: use platform specific types
7168 * fixincl/fixlib.h: include the platform specific types
7169 * fixincl/inclhack.def(gnu_types): don't supply the types
7170 * fixincl/fixincl.x: regen
7171
7172 2000-07-19 Jim Wilson <wilson@cygnus.com>
7173
7174 * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
7175 GR_REGS.
7176
7177 2000-07-19 Zack Weinberg <zack@wolery.cumb.org>
7178
7179 * tradcpp.c (rescan): Do not recognize directives when the #
7180 is indented.
7181
7182 2000-07-19 Zack Weinberg <zack@wolery.cumb.org>
7183
7184 Implement C++ named operators.
7185
7186 * cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
7187 of operators allowed in #if and having an _EQ variant. Add
7188 CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
7189 (cpp_token flags): Add NAMED_OP.
7190 (enum node_type): Add T_OPERATOR.
7191 (struct cpp_hashnode): Add code slot to value union.
7192 * cpphash.h (spec_nodes): Remove n_defined.
7193
7194 * cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
7195 (spell_token, can_paste, maybe_paste_with_next): Handle named operators.
7196 (is_macro_disabled): Tweak error messages.
7197
7198 * cpplib.c (get_define_node): Disallow all named operators as
7199 macro names. Tweak error messages.
7200 (_cpp_init_stacks): Don't set up spec_nodes->n_defined.
7201
7202 * cppinit.c (builtin_array): Add entries for the named operators.
7203 * cppexp.c (lex): Check for CPP_DEFINED token.
7204 (priority table): Add entries for CPP_MIN and CPP_MAX.
7205 (_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
7206
7207 2000-07-19 Bernd Schmidt <bernds@cygnus.co.uk>
7208
7209 * gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
7210 larger than the array of cuids.
7211 (alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
7212 cuids.
7213
7214 2000-07-19 Bruce Korb <bkorb@gnu.org>
7215
7216 * fixinc/fixincl.c: Convert to using a table of environment variables
7217 and activate the auto-edit marker on the fixed output files.
7218 * fixinc/fixlib.h: Define the environment table
7219 * fixinc/fixincl.sh: export the ${INPUT} dir
7220 * fixinc/check.tpl: likewise
7221
7222 2000-07-18 Zack Weinberg <zack@wolery.cumb.org>
7223
7224 * gcc.c (.h spec): Fix typo.
7225
7226 Wed Jul 19 01:22:15 CEST 2000 Marc Espie <espie@cvs.openbsd.org>
7227
7228 * Makefile.in: Fix tradcif.c path.
7229
7230 2000-07-18 Zack Weinberg <zack@wolery.cumb.org>
7231
7232 * cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
7233 macros, not five.
7234
7235 * cpphash.h (TOKEN_NAME): New macro.
7236 (_cpp_spell_operator): Deleted.
7237 (token_spellings): Now _cpp_token_spellings.
7238
7239 * cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
7240 * cpplex.c: Use OP and TK macros when expanding the
7241 TTYPE_TABLE. Eliminate token_names. For non-OPERATOR tokens,
7242 store the stringification of the enumeration name (CPP_CHAR,
7243 etc.) in the name slot of token_spellings.
7244 Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
7245 token_spellings directly.
7246 * cpplib.c: Use TOKEN_SPELL.
7247
7248 * cpplex.c (_cpp_push_token): If the token being pushed back
7249 is the previous token in this context, just subtract one from
7250 context->posn.
7251 * cppmacro.c (save_expansion): Clear aux field when storing a
7252 placemarker.
7253
7254 2000-07-18 Jakub Jelinek <jakub@redhat.com>
7255
7256 * cpplex.c (cpp_scan_buffer): Output line command even at the stop
7257 buffer, provided it is not NULL.
7258
7259 2000-07-18 Alexandre Oliva <aoliva@redhat.com>
7260
7261 * c-decl.c (duplicate_decls): Do not call make_var_volatile() in
7262 case of invalid volatile re-declaration.
7263
7264 2000-07-18 Jakub Jelinek <jakub@redhat.com>
7265
7266 * calls.c (store_arg): Return non-zero if sibcall_failure is desired.
7267 (expand_call): Adjust caller.
7268
7269 2000-07-17 Gabriel Dos Reis <gdr@codesourcery.com>
7270
7271 * diagnostic.h (report_diagnostic): Change prototype.
7272
7273 * diagnostic.c (output_do_verbatim, diagnostic_for_asm,
7274 diagnostic_for_decl): Change prototype.
7275 (error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
7276 error, warning, error_with_file_and_line,
7277 warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
7278 Adjust call to report_diagnostic, diagnostic_for_decl.
7279 (error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
7280 (output_verbatim, verbatim): Adjust call to output_do_verbatim.
7281
7282 * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
7283 varaible argument list.
7284
7285 2000-07-17 Zack Weinberg <zack@wolery.cumb.org>
7286
7287 * cpphash.c: Don't include hashtab.h. Most macro-handling code
7288 moved to cppmacro.c.
7289 (hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
7290 dump_hash_helper): Delete.
7291 (expand_hash, higher_prime_number, _cpp_lookup_with_hash,
7292 cpp_forall_identifiers): New. Implement specialized version of
7293 Vlad's expandable hash table.
7294 (cpp_lookup): Use new functions.
7295 (_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
7296 implementation.
7297 * cppmacro.c: New file.
7298 * cppinit.c (dump_macros_helper): New.
7299 (cpp_finish): Iterate over the identifier table directly.
7300 * cpplex.c (parse_name): Calculate the hash of the identifier
7301 while we scan it. Use _cpp_lookup_with_hash when we can.
7302
7303 * cpphash.h: Update prototypes.
7304 (xcnewvec, HASHSTEP): New helper macros.
7305 * cpplib.h: Update prototypes.
7306 * Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
7307 (cppmacro.o): New rule.
7308 (cpphash.o): Update deps.
7309
7310 * cppmain.c: Do not set pfile->printer if no_output is on.
7311
7312 2000-07-15 Neil Booth <neilb@earthling.net>
7313
7314 * cpplib.c: Change all directive-handler functions to return
7315 void, not int.
7316 * cpphash.h: Update typedefs.
7317
7318 2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
7319
7320 * configure: Regenerate.
7321
7322 * extend.texi (Extended Asm): Mention that a memory clobber
7323 does not count as a side-effect.
7324
7325 * unroll.c (copy_loop_body): Fix one instance of using host
7326 arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
7327 cross-compile.
7328
7329 * tlink.c (scan_linker_output): Tweak for output of AIX ld.
7330
7331 2000-07-17 Richard Henderson <rth@cygnus.com>
7332
7333 * config/ia64/ia64.md (movdi): Split out load address code.
7334 New post-reload splitter for symbolic operands.
7335 (movdi_internal): Abort if we didn't split symbolic operands
7336 when we should have.
7337 * config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
7338 (ia64_reorg): Split insns when not optimizing.
7339 * config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
7340
7341 Mon Jul 17 23:43:26 MET DST 2000 Jan Hubicka <jh@suse.cz>
7342
7343 * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
7344 instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
7345
7346 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com>
7347
7348 * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
7349
7350 2000-07-17 Jason Merrill <jason@redhat.com>
7351
7352 * Makefile.in (clean): Remove libgcc directory.
7353
7354 * configure.in (-Wno-long-long check): Use higher-level macros.
7355
7356 2000-07-17 Zack Weinberg <zack@wolery.cumb.org>
7357
7358 * simplify-rtx.c (simplify_binary_operation): Recognize
7359 (compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
7360 (simplify_ternary_operation): Do not examine MODE_BITSIZE of
7361 a CONST_INT, it will always be zero.
7362
7363 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com>
7364
7365 * loop.c (check_dbra_loop) : Return if more than one condition is
7366 present to control the loop.
7367
7368 Mon Jul 17 08:26:35 2000 Clinton Popetz <cpopetz@cygnus.com>
7369
7370 * mips.c (mips_expand_prologue): Don't calculate the last argument
7371 register unless we need it. When we are calculating this, make
7372 sure FUNCTION_ARG is giving us a REG.
7373
7374 2000-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7375
7376 * flow.c (libcall_dead_p): Use single_set to verify the insn
7377 has only one set and get for analysis.
7378 (propagate_one_insn): Don't pass the PATTERN of the insn.
7379
7380 2000-07-17 Mark Klein <mklein@dis.com>
7381
7382 * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
7383
7384 2000-07-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
7385
7386 * Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
7387 * configure.in (TARGET_GETGROUPS_T): Evaluate.
7388 * sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
7389 of second argument of getgroups.
7390 * configure, config.in: Rebuilt.
7391
7392 2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
7393
7394 * simplify-rtx.c (simplify_relational_operation): Two signed
7395 values with equal high words are less/greater than each other if
7396 their low words are less/greater when considered as unsigned.
7397
7398 Mon Jul 17 02:37:06 2000 Marc Espie <espie@openbsd.org>
7399
7400 * configure.in (vax-*-openbsd): Change to new style configuration,
7401 add collect2/float_format information.
7402 * configure: Rebuilt.
7403 * config/vax/openbsd1.h: New.
7404 * config/vax/openbsd.h: New.
7405 * config/vax/t-openbsd: New.
7406
7407 2000-07-17 Chip Salzenberg <chip@valinux.com>
7408
7409 * c-common.c (shorten_compare): Quiet warnings about unsigned
7410 comparisons with zero when they occur in a system header.
7411
7412 2000-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
7413
7414 * invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
7415 update to describe current practice.
7416
7417 * glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
7418
7419 * contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
7420 references to C9X. Change references to -fstd and -flang-isoc9x
7421 to refer to -std.
7422
7423 * c-common.c (scan_char_table): Allow "z" length modifiers on
7424 diouxXn formats.
7425 (check_format_info): Use TYPE_DOMAIN on the type matched against
7426 for "z" formats, to retrieve the language size_t rather than the
7427 internal one.
7428
7429 * c-common.c (check_format_info): Do not make a pedantic objection
7430 to the 'L' length modifier if used with a floating point type
7431 character.
7432
7433 * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
7434 constants in C99 mode.
7435
7436 2000-07-17 Kazu Hirata <kazu@hxi.com>
7437
7438 * h8300.md: Fix the format of mac.
7439 (movsi_h8300hs): Output a tab after stmac instead of a space.
7440
7441 * h8300.c (two_insn_adds_subs_operand): Improve code for detecting
7442 profitable adds/subs sequences.
7443
7444 * fold-const.c: Fix comment typos.
7445
7446 2000-07-16 Laurynas Biveinis <lauras@softhome.net>
7447
7448 * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
7449
7450 2000-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7451
7452 * fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
7453
7454 2000-07-16 Neil Booth <NeilB@earthling.net>
7455
7456 * cpplex.c: Update comments.
7457 * README.Portability: Small update.
7458
7459 2000-07-16 Neil Booth <NeilB@earthling.net>
7460
7461 * README.Portability: Small update.
7462
7463 2000-07-15 Richard Henderson <rth@cygnus.com>
7464
7465 * config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
7466 * config/ia64/ia64.c (ia64_move_ok): New function.
7467 * config/ia64/ia64.md (movqi, movqi_internal): Use it.
7468 (movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
7469
7470 2000-07-15 Zack Weinberg <zack@wolery.cumb.org>
7471
7472 * cpphash.c (save_expansion): Clear PREV_WHITE on tokens
7473 immediately following a paste operator.
7474 * cppinit.c (sort_options): New function (only for HOST_EBCDIC).
7475 (cpp_reader_init): Call it, if HOST_EBCDIC.
7476 (cpp_handle_options): Do not sort option list here.
7477 (handle_option): Rename to cpp_handle_option and export.
7478 * cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
7479 _cpp_get_token directly.
7480 (cpp_scan_line): Return 0 at EOF, 1 otherwise.
7481 * cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
7482 * cpplib.h: Prototype cpp_handle_option. Update prototype of
7483 cpp_scan_line.
7484
7485 2000-07-15 Richard Henderson <rth@cygnus.com>
7486
7487 * fold-const.c (extract_muldiv): Don't optimize past an unsigned
7488 cast around an expression. Tidy other unsigned tests.
7489
7490 2000-07-15 Gabriel Dos Reis <gdr@codesourcery.com>
7491
7492 * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
7493 v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
7494 (v_message_with_decl): Rename to ...
7495 (format_with_decl): ... this. Tweak
7496 (diagnostic_for_decl): New function.
7497 (fatal_io_error): Use verbatim in lieu of notice.
7498 (announce_function): Use verbatim.
7499 (default_print_error_function): Likewise.
7500 (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
7501 infratructure.
7502
7503 2000-07-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7504
7505 * mips.c (function_arg_pass_by_reference): Don't do automatic
7506 aggregate initialization.
7507 (machine_dependent_reorg): Initialize variable `mode'.
7508
7509 * mips.md (absdi2): Change variable `regno1' to unsigned int.
7510 (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
7511 conflicts with sys/param.h macro of the same name.
7512 (reload_outdi): Likewise.
7513
7514 2000-07-15 Michael Meissner <meissner@redhat.com>
7515
7516 * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
7517 == CONST + INCREMENT, don't overwrite the tree node for FOO++,
7518 create a new node instead.
7519
7520 2000-07-15 Neil Booth <NeilB@earthling.net>
7521
7522 * README.Portability: Correct example about calling a function
7523 through a pointer to function. Format wide paragraphs.
7524
7525 2000-07-15 Michael Meissner <meissner@redhat.com>
7526
7527 * README.Portability: Update integer suffixes and function
7528 prototype sections.
7529
7530 2000-07-15 Neil Booth <NeilB@earthling.net>
7531
7532 * README.Portability: Small update.
7533
7534 2000-07-15 Neil Booth <NeilB@earthling.net>
7535
7536 * README.Portability: New file.
7537
7538 Fri Jul 14 18:13:53 2000 Mark P Mitchell <mark@codesourcery.com>
7539
7540 * INSTALL: Give special instructions for building GCC on Irix 6.
7541 * config/mips/x-iris6 (CC): Don't set it.
7542 (OLDCC): Likewise.
7543
7544 2000-07-14 Jason Merrill <jason@redhat.com>
7545
7546 * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
7547 register in the stack and later in another register, use the new
7548 register.
7549
7550 Fri Jul 14 10:25:53 2000 Clinton Popetz <cpopetz@cygnus.com>
7551
7552 * config/mips/mips.md: (absdi2): Handle sign_extend for
7553 second operand.
7554
7555 2000-07-14 Nathan Sidwell <nathan@codesourcery.com>
7556
7557 * cpplib.c (do_pragma_dependency): Tidy warning messages.
7558
7559 2000-07-14 Zack Weinberg <zack@wolery.cumb.org>
7560
7561 * .cvsignore: Correct typo.
7562
7563 2000-07-13 Mark Mitchell <mark@codesourcery.com>
7564
7565 * .cvsignore: Add generated YACC files.
7566 * objc/.cvsignore: New file.
7567
7568 2000-07-14 Neil Booth <NeilB@earthling.net>
7569
7570 * cpplex.c (adjust_column): New funcion.
7571 (skip_whitespace): Use it.
7572 (skip_block_comment): Use it, and warn about /*/* with
7573 -Wcomments.
7574
7575 2000-07-14 Neil Booth <NeilB@earthling.net>
7576
7577 * cpphash.c (struct macro_info): Add new members.
7578 (_cpp_free_definition): Delete the macro directly.
7579 (count_params): Return void, with first token of
7580 expansion in struct macro_info on success.
7581 (parse_define): Return int. Hoist syntax checking from
7582 save_macro_expansion. Leave call to save_expansion to
7583 _cpp_create_definition.
7584 (alloc_macro): Needs just 2 arguments.
7585 (free_macro): Delete.
7586 (save_expansion): Don't perform syntax check.
7587 (_cpp_create_definition): Call save_expansion.
7588
7589 2000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7590
7591 * genrecog.c (write_header): Split long string.
7592
7593 * cpphash.c (macro_info): Don't use the `signed' keyword.
7594
7595 * system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
7596
7597 2000-07-13 Jakub Jelinek <jakub@redhat.com>
7598
7599 * calls.c (stored_args_map): New variable.
7600 (check_sibcall_argument_overlap_1): New.
7601 (check_sibcall_argument_overlap): New.
7602 (expand_call): Initialize stored_args_map.
7603 Call check_sibcall_argument_overlap.
7604
7605 2000-07-13 Bruce Korb <bkorb@gnu.org>
7606
7607 * fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
7608 (emit_gnu_type): utility procedure for gnu_type_fix
7609 (gnu_type_fix): implement various pre-processor guards around
7610 standard types so these types can be defined over and over
7611 * fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
7612 types alluded to above will have GNU-compliant base types
7613 * fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
7614 * fixinc/inclhack.def: add test_text entries and utilize the new
7615 "gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
7616 * fixinc/fixincl.x: regenerate
7617
7618 2000-07-12 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
7619
7620 * diagnostic.c (vline_wrapper_message_with_location,
7621 v_message_with_file_and_line, v_error_with_file_and_file,
7622 v_error_for_asm, v_warning_for_asm, vfatal,
7623 v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
7624 vsorry, verror, vwarning, vpedwarn): Remove.
7625 (diagnostic_for_asm): New function.
7626 (pedwarn, error, warning, pedwarn_with_file_and_line,
7627 error_with_file_and_line, warning_with_file_and_line, sorry,
7628 error_for_asm, warning_for_asm, fatal): Reimplement.
7629 (finish_diagnostic): Clear diagnostic info as well.
7630
7631 2000-07-13 Neil Booth <NeilB@earthling.net>
7632
7633 * c-common.h (flag_digraphs): New.
7634 * c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
7635 * c-lex.c (yylex): Use flag_digraphs to decide whether to
7636 honour digraphs.
7637
7638 2000-07-13 Zack Weinberg <zack@wolery.cumb.org>
7639
7640 * gcc.c (do_spec_1): Add new %B operator.
7641 (set_input): Prepare for %B.
7642
7643 (link_command_spec): Move up with the other tm.h-
7644 overrideable specs. Factor out the portion conditional on
7645 LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
7646 (struct compiler): Just have a single spec string. All users
7647 updated.
7648 (default_compilers): Remove unnecessary braces.
7649 (static_specs): Update.
7650
7651 (trad_capable_cpp, cpp_options, cc1_options, asm_options): New
7652 named specs.
7653 (C and assembly specs): Use the new named specs, as appropriate.
7654
7655 * objc/lang-specs.h: Use the new named specs.
7656 Remove unnecessary braces.
7657
7658 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
7659
7660 * gcc.c (execute): If a subprocess gets a fatal signal, report
7661 strsignal() of the signal number, and ask for a bug report.
7662 Do not do this for SIGPIPE if there's already been an error.
7663
7664 * tradcpp.c: Don't include signal.h. Don't catch SIGPIPE.
7665 Delete pipe_closed.
7666
7667 * tradcif.c: Remove.
7668
7669 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
7670
7671 * final.c (profile_function): Do not emit profile counters in
7672 the data section, if NO_PROFILE_COUNTERS is defined.
7673 * tm.texi: Document NO_PROFILE_COUNTERS. Update doc for
7674 FUNCTION_PROFILER.
7675
7676 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
7677 (FUNCTION_PROFILER): Just emit a call to mcount.
7678
7679 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
7680
7681 * tradcpp.c (main): Rename 'perror' label to 'sys_error'.
7682
7683 * cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
7684 cpplib.c, cpplib.h: Eradicate all traces of code dependent on
7685 traditional, lang_chill, or lang_fortran.
7686
7687 * cppfiles.c: #undef strcmp to suppress warning about macros
7688 used without arguments.
7689 (_cpp_execute_include): Use f, not fname, in "No include path"
7690 error.
7691 (_cpp_pop_file_buffer): New function.
7692 * cpplib.c: Don't include <sys/mman.h>.
7693 (cpp_push_buffer): Set line_base and lineno in new buffer.
7694 (cpp_pop_buffer): Use _cpp_pop_file_buffer.
7695
7696 * cpplex.c: Move all prototypes and structure declarations to the
7697 top of the file. Properly parenthesise some macro arguments.
7698 (cpp_scan_line): New function.
7699 (special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
7700 don't need to walk up the stack counting.
7701
7702 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7703
7704 * c-common.c (combine_strings): Emit a pedantic warning when a
7705 string length is greater than the minimum ANSI C is required
7706 to support.
7707
7708 Wed Jul 12 13:24:30 2000 Jeffrey A Law (law@cygnus.com)
7709
7710 * pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
7711 * d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
7712
7713 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7714
7715 * c-decl.c (define_label): Warn about identifier conflicts with
7716 labels in traditional C.
7717
7718 * c-parse.in (unop +): Warn about the unary plus operator for
7719 traditional C.
7720
7721 * c-typeck.c (store_init_value): Warn about automatic aggregate
7722 initialization for traditional C.
7723
7724 * invoke.texi (-Wtraditional): Document new warnings.
7725
7726 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
7727
7728 * Makefile.in (c-errors.o): Fix thinko in dependency.
7729
7730 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
7731
7732 * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
7733 -traditional, -ftraditional, or -traditional-cpp was given.
7734 Do not pass -traditional to the preprocessor.
7735 (.S spec): Likewise. Don't bother defining __ASSEMBLER__, the
7736 preprocessor does it automatically.
7737 * objc/lang-specs.h: Likewise. Don't bother defining __OBJC__.
7738
7739 * ch/lang-specs.h: Always use tradcpp. Do not pass
7740 -traditional, -trigraphs, or -pedantic to the preprocessor.
7741 * f/lang-specs.h (.F spec): Likewise. Don't bother defining
7742 _LANGUAGE_FORTRAN.
7743
7744 2000-07-12 Zack Weinberg <zack@wolery.cumb.org>
7745
7746 * cppexp.c (LOGICAL): Delete macro.
7747 (_cpp_parse_expr): Do not use UNARY for unary +. Implement ||
7748 and && directly.
7749
7750 * cpphash.c (HASHSIZE): Increase to 4096.
7751 (struct hashdummy): Add hash field.
7752 (eq_HASHNODE): Compare unreduced hashes, then lengths, then
7753 the string values using memcmp.
7754 (cpp_lookup): Set dummy.hash.
7755
7756 Wed Jul 12 13:15:16 2000 Marc Espie <espie@openbsd.org>
7757
7758 * configure.in (m88k-openbsd): Express configuration using new fragment
7759 style.
7760 * configure: Rebuilt.
7761 * m88k/aout-dbx.h: New.
7762 * m88k/openbsd.h: New.
7763 * m88k/xm-openbsd.h: New.
7764
7765 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7766
7767 * expr.c (expand_expr): Return const0_rtx, not error_mark_node.
7768
7769 2000-07-12 Richard Henderson <rth@cygnus.com>
7770
7771 * reload.c (push_secondary_reload): Make sure to add the new
7772 reload at the end, after acquiring secondary memory.
7773
7774 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7775
7776 * cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
7777
7778 * c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
7779 lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
7780
7781 * c-parse.in (stmt): Delete unused variables.
7782
7783 * convert.c (convert_to_vector): Likewise.
7784
7785 * gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
7786
7787 * tree.c (finish_vector_type): Prototype.
7788
7789 2000-07-12 Bruce Korb <bkorb@gnu.org>
7790
7791 * fixinc/fixfixes.c: use xmalloc
7792 * fixinc/fixincl.c(initialize): set program name for xmalloc
7793 * fixinc/fixlib.c(must_malloc): obsolete
7794 (is_cxx_header): no longer used - disabled
7795 (skip_quote): inserted and disabled for future use
7796 * fixinc/fixlib.h: reflects above
7797 * fixinc/fixtests.c: removed dinkleberries
7798
7799 2000-07-12 Neil Booth <NeilB@earthling.net>
7800
7801 * cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
7802 * cpplex.c (TOKEN_SPELL) Move to cpphash.h.
7803
7804 * cpphash.c: (struct macro_info, alloc_macro, free_macro,
7805 struct toklist_dummy): New.
7806 (cpp_free_definition): Free macros with free_macro.
7807 (count_params): Don't save paramter spellings. Save macro
7808 information in a struct macro_info.
7809 (parse_define): Don't allocate a token list.
7810 (save_expansion): Allocate the macro's token list, and
7811 save parameter spellings if necessary. Use TOKEN_SPELL.
7812 (cpp_create_definition): Make list const.
7813
7814 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
7815
7816 * c-typeck.c (pedwarn_c99): Move to
7817 * c-errors.c: ... Here.
7818 * toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
7819 * diagnostic.c (verror, vwarning, vpedwarn): Make static.
7820 * Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
7821 (c-errors.o): List dependency.
7822
7823 2000-07-12 Mark Mitchell <mark@codesourcery.com>
7824
7825 * c-parse.c: Remove.
7826 * c-parse.h: Likewise.
7827 * c-parse.y: Likewise.
7828 * objc/objc-parse.c: Likewise.
7829 * objc/objc-pasre.y: Likewise.
7830
7831 2000-07-11 Rodney Brown <RodneyBrown@pmsc.com>
7832
7833 * gcc.texi: Fix minor typos
7834 * extend.texi: Fix minor typos
7835
7836 2000-07-11 Marc Espie <espie@openbsd.org>
7837
7838 * collect2.c (main): Recognize .lo as object files.
7839
7840 2000-07-11 J. David Anglin <dave@hiauly1.hia.nrc.ca>
7841
7842 * pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
7843 true.
7844
7845 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
7846 with MAP_ANONYMOUS and MAP_ANON.
7847 * configure, config.in: Rebuilt.
7848
7849 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com>
7850
7851 * diagnostic.c (save_output_state): Remove.
7852 (restore_output_state): Likewise.
7853 (clear_text_info): New function.
7854 (clear_diagnostic_info): Likewise.
7855 (output_text_length, is_starting_newline, output_prefix,
7856 line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
7857 prefixing_policy, output_buffer_ptr_to_format_args): New macros
7858 (set_real_maximum_length, output_set_maximum_length,
7859 output_set_prefix, output_get_prefix, output_set_maximum_length,
7860 output_destroy_prefix, init_output_buffer,
7861 reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
7862 output_add_newline, output_add_character, output_add_space,
7863 output_append_r, output_append, wrap_text, output_format,
7864 output_do_printf, output_printf, output_do_verbatim,
7865 output_verbatim, verbatim): Use them.
7866 (output_clear): Split into cleat_text_info and
7867 clear_diagnostic_info.
7868 (struct output_state): Move to...
7869
7870 * diagnostic.h: ...Here
7871 (struct output_buffer): Adjust.
7872
7873 2000-07-11 Zack Weinberg <zack@wolery.cumb.org>
7874
7875 * cpplex.c (parse_name): No longer inline (premature optimization).
7876 (do_pop_context): Fold into pop_context.
7877 (pop_context): Returns int.
7878 (lex_next): Hoist test for end of directive into pop_context.
7879 (push_macro_context): Returns int; takes just reader and token.
7880 Hoist test for excessive nesting to caller.
7881 (push_arg_context): Returns void; takes just reader and token.
7882 Do not call stringify_arg or get_raw_token.
7883 (get_raw_token): Convert tail recursion through push_arg_context
7884 to a loop at this level. Call stringify_arg here if appropriate.
7885 (maybe_paste_with_next): Convert tail recursion to a while loop.
7886 Hoist test of paste_level to caller.
7887
7888 (stringify_arg): Push arg context at beginning.
7889 (cpp_get_token): Split out core into _cpp_get_token. Call
7890 process_directive here. Throw away CPP_PLACEMARKER tokens.
7891 (_cpp_get_token): Convert tail recursion through
7892 push_macro_context to a loop at this level.
7893 (_cpp_glue_header_name, is_macro_disabled, stringify_arg,
7894 _cpp_get_raw_token): Use _cpp_get_token.
7895 (_cpp_skip_rest_of_line): Drop the context stack directly; do
7896 not call pop_context.
7897 (_cpp_run_directive): Call lex_next directly.
7898
7899 * cpphash.h: Prototype _cpp_get_token.
7900 * cppexp.c (lex): Use it.
7901 * cpphash.c (parse_define): Use it.
7902 * cpplib.c (get_define_node, do_undef, parse_include,
7903 read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
7904 do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
7905 parse_ifdef, validate_else): Use it.
7906 (cpp_push_buffer): Tweak error message; abort if anyone tries
7907 to push a buffer while macro expansions are stacked.
7908
7909 2000-07-11 Donn Terry <donnte@microsoft.com>
7910
7911 * cpplex.c (free_macro_args, save_token): Cast arg of free
7912 and/or xrealloc to PTR.
7913 (_cpp_init_input_buffer): Clear all fields of the base context.
7914
7915 Tue Jul 11 15:28:21 CDT 2000 Clinton Popetz <cpopetz@cygnus.com>
7916
7917 * gensupport.c (process_rtx): Make rtl checking stop
7918 complaining about the define_insn while it is being
7919 converted from a define_insn_and_split.
7920
7921 Tue Jul 11 16:26:17 2000 Clinton Popetz <cpopetz@cygnus.com>
7922
7923 * config/mips/mips.c (simple_memory_operand): Access the
7924 INTVAL of the address, not it's containing MEM.
7925
7926 2000-07-11 Bruce Korb <bkorb@gnu.org>
7927
7928 * fixinc/fixtests.c(double_slash): obsolete
7929 (else_endif_label): likewise
7930 * fixinc/inclhack.def(irix_multiline_cmnt): obsolete
7931 (libc1_ifdefd_memx): correct initial comment
7932 and omit the #if/#endif pair from the memxxx declarations
7933 * fixinc/fixincl.x: regen
7934
7935 2000-07-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7936
7937 * cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
7938
7939 2000-07-11 Neil Booth <NeilB@earthling.net>
7940
7941 * cpp.texi: Update.
7942
7943 2000-07-11 Neil Booth <NeilB@earthling.net>
7944
7945 * cppinit.c: (cpp_reader_init): Allow digraphs by default.
7946 (handle_option): Set digraphs according to standard.
7947 Merge OPT_lang_c89 handler with OPT_std_c89.
7948
7949 * cpplex.c: (lex_line, can_paste): Honour digraphs in
7950 accordance with the digraphs flag.
7951
7952 * cpplib.h: (struct cpp_options): New option digraphs.
7953
7954 2000-07-10 Hans-Peter Nilsson <hp@axis.com>
7955 Bruce Korb <bkorb@gnu.org>
7956
7957 * fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
7958 * fixinc/fixincl.x: Regenerate.
7959 * fixinc/tests/base/testing.h: Add testcase.
7960
7961 2000-07-10 Richard Henderson <rth@cygnus.com>
7962
7963 * config/ia64/ia64.c (got_symbolic_operand): New.
7964 (symbolic_operand, move_operand): Revert 0701 change.
7965 * config/ia64/ia64.h (PREDICATE_CODES): Update.
7966 * config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
7967 * config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
7968 split the offset into a 14-bit low part instead of a 13-bit low part.
7969 (load_fptr): Mark the mem as unchanging.
7970 (load_symptr): Use got_symbolic_operand.
7971
7972 2000-07-10 Nick Clifton <nickc@cygnus.com>
7973
7974 * libgcc2.c (next_stack_level): Cast result of computation to
7975 (void **) so that the assignment does not generate a warning.
7976
7977 2000-07-10 Chandrakala Chavva <cchavva@redhat.com>
7978
7979 * flags.h : Add new variable flag_single_precision_constant.
7980 * toplev.c (display_help) : Add -fsingle-precision-constant option.
7981 (flag_single_precision_constant): New.
7982 * c-lex.c (yylex): Convert floating point constant to single
7983 precision constant.
7984 * invoke.texi : Add documentation for this new option.
7985
7986 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
7987
7988 * diagnostic.c (output_octal): Second parameter is unsigned.
7989 (output_long_octal): Likewise.
7990 (output_hexadecimal): Likewise.
7991 (output_long_hexadecimal): Likewise.
7992 (output_format): Adjust arguments extraction. Tweak.
7993 (output_verbatim, verbatim): End variable argument list.
7994 (report_diagnostic): Improve documentation.
7995
7996 2000-07-10 Benjamin Chelf <chelf@codesourcery.com>
7997
7998 * c-common.h (build_stmt): Declare.
7999 (build_continue_stmt): Likewise.
8000 (build_break_stmt): Likewise.
8001 (build_return_stmt): Likewise.
8002
8003 * c-decl.c (do_case): Rewrite to do what previously done in
8004 c-parse.in.
8005
8006 * c-semantics.c (build_stmt): Define.
8007 (build_return_stmt): Likewise.
8008 (build_break_stmt): Likewise.
8009 (build_continue_stmt): Likewise.
8010 (build_case_label): Likewise.
8011
8012 * c-parse.in (BREAK): Change to build tree, then generate RTL.
8013 (CONTINUE): Likewise.
8014 (RETURN): Likewise.
8015 (CASE): Likewise.
8016 (DEFAULT): Likewise.
8017
8018 * c-parse.y: Regenerate.
8019 * c-pasre.c: Likewise.
8020
8021 2000-07-09 Jason Merrill <jason@redhat.com>
8022
8023 * expr.c (expand_expr): Bail earlier if we get an error_mark_node.
8024
8025 * tree.h (STRIP_NOPS): Check for error_mark_node.
8026 (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
8027 (dwarf2out_*): Remove duplicate declarations.
8028
8029 * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
8030 DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
8031
8032 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com>
8033
8034 * diagnostic.c (wrap_text): New function.
8035 (maybe_wrap_text): Likewise.
8036 (output_add_string): Use it.
8037 (output_format): Likewise.
8038 (count_error): Use verbatim instead of notice.
8039 (report_error_function): Likewise. Don't use plain fprintf.
8040 (finish_diagnostic): New function.
8041 (output_do_verbatim): Tweak. Commonalize functionalities in
8042 output_verbatim and verbatim.
8043 (output_verbatim): Adjust.
8044 (verbatim): Likewise.
8045 (report_diagnostic): Define.
8046
8047 * diagnostic.h (report_diagnostic): Prototype.
8048
8049 2000-07-09 Zack Weinberg <zack@wolery.cumb.org>
8050
8051 * cppexp.c (_cpp_parse_expr): Don't use unary plus.
8052
8053 2000-07-09 Neil Booth <NeilB@earthling.net>
8054
8055 * cpphash.h: ISvspace, is_vspace, is_nvspace: New.
8056 IShspace, ISspace: Update.
8057
8058 * cppinit.c: ISTABLE: Update.
8059 V: New.
8060
8061 * cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
8062 (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
8063 (skip_block_comment, skip_line_comment, parse_string,
8064 lex_line): Use is_vspace rather than IS_NEWLINE.
8065 (skip_whitespace, lex_line): Clean up to use is_nvspace.
8066 (lex_line): Use KNOWN_DIRECTIVE. Any kind of directive
8067 gets a BOL flag.
8068 (lex_next): Unconditionally stop if within a directive.
8069 Treat directives within macro invocations as directives
8070 (after parse_args emits error), not as the argument.
8071
8072 2000-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
8073
8074 * diagnostic.c (diagnostic_args): New macro.
8075 (diagnostic_msg): Likewise.
8076 (output_formatted_integer): Likewise.
8077 (output_state): New data type.
8078 (digit_buffer): Make global.
8079 (output_add_integer): Rename to output_decimal. Squeeze
8080 digit_buffer.
8081 (output_long_decimal, output_unsigned_decimal,
8082 output_long_unsigned_decimal, output_octal, output_long_octal,
8083 output_hexadecimal, output_long_hexadecimal): New functions.
8084 (output_append_r): New function.
8085 (output_append): Tweak.
8086 (output_flush_on): Rename to output_to_stream.
8087 (output_format): Change prototype. Improve documentation. Handle
8088 more format specifiers.
8089 (build_location_prefix): Rename to context_as_prefix.
8090 (output_notice): Rename to output_do_printf.
8091 (output_printf): Tweak.
8092 (line_wrapper_printf): Likewise.
8093 (vline_wrapper_message_with_location): Adjust call to renamed
8094 functions.
8095 (v_message_with_decl): Likewise.
8096 (default_print_error_function): Likewise.
8097 (save_output_state): New function.
8098 (restore_output_state): Likewise.
8099 (output_do_verbatim): Likewise.
8100 (output_verbatim): Define.
8101 (verbatim): Likewise.
8102
8103 * diagnostic.h (printer_fn): Change return type from void to int.
8104 Improve documentation.
8105 (output_add_integer): Rename to output_decimal.
8106 (output_flush_on, output_format): Don't export.
8107 (output_verbatim, verbatim): Declare.
8108
8109 2000-07-08 Toon Moene <toon@moene.indiv.nluug.nl>
8110
8111 * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
8112 Check whether c divides op1 exactly if operation is not
8113 multiplication.
8114
8115 2000-07-08 Richard Henderson <rth@cygnus.com>
8116
8117 * final.c (final): Do not abort when reg-stack introduces
8118 a new insn.
8119
8120 2000-07-08 Zack Weinberg <zack@wolery.cumb.org>
8121
8122 * cpplib.h (struct cpp_name): Now struct cpp_string.
8123 (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
8124 CPP_HEADER_NAME): Change to type S.
8125 (struct cpp_token): Rename 'name' field to 'str'. Add 'node'
8126 field, a cpp_hashnode *. All references to val.name updated
8127 to use val.str or val.node as appropriate.
8128 (struct cpp_reader): Add spec_nodes field.
8129 (cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
8130
8131 * cpphash.h (struct spec_nodes): New.
8132 (enum spell_type): Reorder. Only SPELL_STRING tokens use
8133 val.str. All references to 'spelling > SPELL_NONE' updated to
8134 match.
8135
8136 (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
8137 pfile->buffer->inc are not NULL before dereferencing them.
8138
8139 * cpplex.c (parse_name): Take a pointer to the current token,
8140 plus current position and limit as args; return the new
8141 position; don't copy the text of a name into the string
8142 buffer, instead call cpp_lookup and store the node pointer.
8143 If extending a token, copy out the text of the old into a
8144 scratch buffer, append the new, look that up and store the new
8145 node pointer. Inline.
8146 (maybe_paste_with_next): If the result of paste is a NAME,
8147 then look up the pasted text and store its node pointer.
8148 (lex_line): Adjust for new parse_name interface.
8149 Check for L"str", L'str' using spec_nodes->n_L.
8150 (spell_token): SPELL_IDENT tokens have their spelling in
8151 val.node->name. Handle SPELL_STRING tokens that don't have
8152 string delimiters.
8153 (_cpp_expand_name_space,
8154 (can_paste): Check for L ## "str" using spec_nodes->n_L.
8155 (cpp_get_token, special_symbol): No need to call cpp_lookup.
8156 (cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
8157 return 1=equal 0=not, not a tristate.
8158
8159 * cpphash.c (var_args_str): Delete.
8160 (find_param): Compare node fields directly.
8161 (is__va_args__): Use CPP_PEDANTIC. Just compare
8162 token->val.node with spec_nodes->n__VA_ARGS__.
8163 (dump_funlike_macro): Don't use var_args_str.
8164
8165 * cpplib.c (_cpp_check_directive): Just walk through
8166 spec_nodes->dirs comparing pointers.
8167 (get_define_node, do_pragma_poison, detect_if_not_defined,
8168 parse_ifdef): The identifier has already been looked up.
8169 (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
8170 node.
8171 (do_if): Only call detect_if_not_defined at beginning of file.
8172 (_cpp_parse_assertion): Only copy string pointers for
8173 SPELL_STRING tokens.
8174 (pragma_dispatch): Take a node pointer and examine its name
8175 field.
8176 (_cpp_init_stacks): Also initialize the spec_nodes structure.
8177
8178 * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
8179 _cpp_init_macros.
8180 (cpp_cleanup): Free pfile->spec_nodes. Call _cpp_cleanup_* in
8181 reverse order from the corresponding _cpp_init_* routines.
8182
8183 * cppexp.c (parse_number, parse_charconst, parse_defined,
8184 lex): Check val.node->type instead of calling cpp_defined.
8185 Use spec_nodes entries where appropriate.
8186
8187 * fix-header.c, scan-decls.c: Update for interface changes.
8188
8189 2000-07-08 Geoffrey Keating <geoffk@cygnus.com>
8190
8191 * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
8192 emitting aux_truncdfsf2.
8193
8194 2000-07-03 Donn Terry (donnte@microsoft.com)
8195
8196 * cppinit.c (print_help): split overlong line into ISO C89
8197 maximum chunks.
8198
8199 2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
8200
8201 * cppexp.c: Update all code for new lexer interface.
8202 (op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
8203 (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
8204 * cpplex.c (token_names): Trim leading CPP_ from names; make
8205 the strings unsigned.
8206 (_cpp_spell_operator): New.
8207 (is_macro_disabled): Disable all macros if rescanning
8208 preprocessed text.
8209 (_cpp_get_directive_token): Remove.
8210
8211 * cppinit.c: Don't set no_macro_expand.
8212 * cpplib.c (read_line_number, do_line): Check only for EOF,
8213 not VSPACE.
8214 * cpphash.h: Update prototypes.
8215 * cpplib.h (CPP_VSPACE): Remove.
8216 (struct cpp_reader): Remove no_macro_expand.
8217
8218 2000-07-08 Neil Booth <NeilB@earthling.net>
8219
8220 * cpphash.c (is__va_args__): New function.
8221 (count_params): Fix line reported in error messages. Use
8222 is__va_args__. Don't return ')' on error. Flag GNU style
8223 rest args macro definitions.
8224 (parse_define): Check macro name is not __VA_ARGS__.
8225 (save_expansion): Check identifier in non-varargs-macro is
8226 not __VA_ARGS__. Don't flag GNU_VARARGS.
8227 * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
8228 (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
8229 than per-token GNU_VARARGS.
8230 * cpplib.h (GNU_VARARGS): Remove.
8231 (GNU_REST_ARGS): New.
8232
8233 Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz>
8234
8235 * i386.md (call_pop, call, call_value_pop): Do not set
8236 current_function_uses_pic_offset_table for calls to static
8237 functions or indirect calls.
8238
8239 2000-07-07 Jim Wilson <wilson@cygnus.com>
8240
8241 * config/ia64/ia64.c (rws_access_reg): New local write_count. If
8242 is_predicate_reg, then take max write_count of register pair.
8243
8244 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8245
8246 * tradcpp.c (main): Rename label `include' to `add_include' to
8247 avoid conflicts with variable `include' in traditional C.
8248
8249 2000-07-07 Jakub Jelinek <jakub@redhat.com>
8250
8251 * integrate.c (copy_insn_list): Remove REG_LABEL notes.
8252
8253 2000-07-07 Jakub Jelinek <jakub@redhat.com>
8254
8255 * sibcall.c (uses_addressof): Add INMEM argument, check for
8256 current_function_internal_arg_pointer outside of MEM rtxs in addition
8257 to ADDRESSOFs.
8258 (sequence_uses_addressof): Update caller.
8259
8260 2000-07-07 Zack Weinberg <zack@wolery.cumb.org>
8261
8262 * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
8263 and friends.
8264
8265 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8266
8267 * system.h (UNION_INIT_ZERO): New macro for initializing union
8268 members in structs.
8269
8270 * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
8271
8272 2000-07-07 Neil Booth <NeilB@earthling.net>
8273
8274 * cpp.texi: Update.
8275
8276 Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com)
8277
8278 * final.c (final): Detect out of bounds array access to
8279 the insn_lengths array.
8280
8281 2000-07-07 Kazu Hirata <kazu@hxi.com>
8282
8283 * fold-const.c (fold): Fix a comment typo.
8284
8285 2000-07-07 Neil Booth <NeilB@earthling.net>
8286
8287 * cpp.texi: Update to new lexer.
8288
8289 2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
8290
8291 * tradcpp.c: New file.
8292 * tradcif.y: New file.
8293 * tradcif.c: New generated file.
8294
8295 * Makefile.in: Add rules to build tradcpp.o, tradcif.o,
8296 $(srcdir)/tradcif.c. Add tradcpp to STAGESTUFF and
8297 dependencies of C. Install tradcpp from install-common, in
8298 $(libsubdir).
8299
8300 2000-07-06 Zack Weinberg <zack@wolery.cumb.org>
8301
8302 * cppinit.c: Include cppdefault.h. Refer to
8303 cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
8304 to GCC_INCLUDE_DIR and its length.
8305 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
8306 USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
8307 STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Move to
8308 cppdefault.h.
8309 (include_defaults_array): Move to cppdefault.c.
8310
8311 * cppdefault.h: New file.
8312 * cppdefault.c: New file.
8313
8314 * Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
8315 (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
8316 (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
8317 this file.
8318
8319 Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8320
8321 * reload.c (push_reload): When seeing if can reuse a register,
8322 check extra registers against widest of INMODE and OUTMODE.
8323
8324 2000-07-06 Neil Booth <NeilB@earthling.net>
8325
8326 * cpplib.c: (_cpp_parse_assertion): Perform hash lookups
8327 based on full length of predicate.
8328
8329 2000-07-06 Hans-Peter Nilsson <hp@axis.com>
8330
8331 * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
8332 [NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
8333
8334 2000-07-05 Kazu Hirata <kazu@hxi.com>
8335
8336 * h8300-proto.h: Fix formatting.
8337 * h8300.c: Likewise.
8338 * h8300.h: Likewise.
8339
8340 2000-07-05 Jim Wilson <wilson@cygnus.com>
8341
8342 * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
8343 CCmode.
8344
8345 2000-07-05 Rodney Brown <RodneyBrown@pmsc.com>
8346
8347 * invoke.texi: Fix minor typos
8348 * md.texi: Fix minor typos
8349
8350 2000-07-05 Zack Weinberg <zack@wolery.cumb.org>
8351
8352 * cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
8353
8354 2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
8355
8356 * cpplex.c: Don't include sys/mman.h.
8357 (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
8358
8359 * cpplib.c: Include sys/mman.h and obstack.h.
8360 (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
8361 obstack.
8362 (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
8363 (_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't
8364 bother freeing if stack entries (they will be freed with their buffer).
8365 (do_endif): Free if stack entries from the buffer obstack.
8366 (push_conditional): Allocate if stack entries from the buffer obstack.
8367
8368 (find_answer): Rename to _cpp_find_answer.
8369 (do_assert, do_unassert): Update.
8370
8371 * cpphash.h: Update prototypes.
8372 (xobnew): New convenience macro.
8373 * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
8374 Update comments.
8375 (struct cpp_hashnode): Remove disabled field.
8376
8377 * cppinit.c: Don't include hashtab.h or splay-tree.h.
8378 (report_missing_guard): Moved to cppfiles.c.
8379 (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
8380 cpp_init_includes.
8381 (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
8382 cpp_cleanup_includes. Don't destroy hashtab or
8383 all_include_files here.
8384 (cpp_finish): Use _cpp_report_missing_guards.
8385
8386 * cppfiles.c (report_missing_guard): Moved from cppinit.c.
8387 (_cpp_init_include_table): Rename _cpp_init_includes.
8388 (_cpp_cleanup_includes, _cpp_report_missing_guards): New.
8389
8390 * cppexp.c (parse_assertion): Update for new name of
8391 find_answer.
8392
8393 * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
8394
8395 2000-07-04 Zack Weinberg <zack@wolery.cumb.org>
8396
8397 * cpplib.c (do_ident): s/VSPACE/EOF/
8398
8399 2000-07-05 Neil Booth <NeilB@earthling.net>
8400
8401 * cpplex.c: Fix trigraph replacement within strings.
8402
8403 2000-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8404
8405 * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
8406
8407 * xcoffout.c (assign_type_number): Constify.
8408 (xcoffout_source_file): Add static prototype. Don't needlessly
8409 cast away const-ness.
8410
8411 2000-07-04 Jason Merrill <jason@redhat.com>
8412
8413 * frame.h (frame_state): Move base_offset to end.
8414
8415 Mon Jul 3 21:31:43 2000 Clinton Popetz <cpopetz@cygnus.com>
8416
8417 * calls.c (emit_library_call_value_1): Revert previous change.
8418
8419 2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
8420
8421 * fix-header.c (struct partial_proto): Remove unnecessary fields.
8422 (recognized_extern, recognized_function, read_scan_file):
8423 Update for new scheme.
8424 (check_protection): It's still a multiple include guard even
8425 if it doesn't always trigger.
8426 * scan-decls.c (skip_to_closing_brace, scan_decls): Update for
8427 new scheme.
8428 * scan.h: Declare struct cpp_token. Update prototypes.
8429
8430 2000-07-03 Neil Booth <neilb@earthling.net>
8431 Zack Weinberg <zack@wolery.cumb.org>
8432
8433 Complete overhaul of the lexer and macro expander.
8434
8435 * cpphash.c (object_defn, funct_defn, push_macro_expansion,
8436 arg, arglist, argdata, reflist, collect_objlike_expansion,
8437 collect_funlike_expansion, collect_params,
8438 warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
8439 unsafe_chars, macarg, compare_defs, special_symbol,
8440 scan_arguments, stringify, funlike_macroexpand,
8441 _cpp_quote_string, monthnames): Delete.
8442 (cpp_lookup, _cpp_free_definition, dump_funlike_macro,
8443 _cpp_create_definition, _cpp_dump_definition,
8444 dump_hash_helper): Adjust.
8445 (find_param, count_params, parse_define, var_args_str,
8446 check_macro_redefinition, save_expansion): New.
8447
8448 * cpplex.c (skip_block_comment, skip_line_comment, parse_name,
8449 parse_string, output_line_command, trigraph_replace,
8450 lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
8451 cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
8452 cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
8453 _cpp_skip_rest_of_line): Modify.
8454
8455 (maybe_macroexpand, skip_comment, copy_comment, skip_string,
8456 find_position, null_warning, bump_column, expand_name_space,
8457 pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
8458 _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
8459 _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
8460 _cpp_prescan): Delete.
8461
8462 (dump_param_spelling, process_directive, lex_next,
8463 is_macro_disabled, stringify_arg, expand_context_stack,
8464 output_token, make_string_token, alloc_number_token,
8465 special_symbol, duplicate_token, maybe_paste_with_next,
8466 can_paste, prevent_macro_expansion, restore_macro_expansion,
8467 get_temp_token, release_temp_tokens, quote_string,
8468 token_names, token_spellings, _cpp_expand_name_space,
8469 _cpp_glue_header_name, _cpp_reserve_name_space,
8470 digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
8471 placemarker_token, eof_token, cpp_context, macro_args,
8472 get_raw_token, parse_arg, parse_args, save_token,
8473 push_arg_context, push_macro_context, pop_context,
8474 do_pop_context, free_macro_args, _cpp_get_line,
8475 _cpp_run_directive): New.
8476
8477 * cpplib.c (validate_else, parse_include, push_conditional,
8478 pass_thru_directive, read_line_number, parse_ifdef,
8479 detect_if_not_defined, _cpp_check_directive, do_define,
8480 do_undef, do_include, do_import, do_include_next, do_error,
8481 do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
8482 top_pragmas, do_pragma_gcc, do_pragma_implementation,
8483 do_pragma_poison, do_pragma_system_header,
8484 do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
8485 dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
8486 do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
8487 cpp_defined): Update for new scheme.
8488 (strtoul_for_line, get_define_node, dump_macro_name,
8489 _cpp_check_linemarker, _cpp_parse_assertion): New.
8490 (_cpp_handle_directive, do_pragma_default): Delete.
8491
8492 * cpphash.h (struct predicate): Now struct answer.
8493 (enum spell_type, struct token_spelling, struct directive,
8494 directive_handler): New.
8495 Update prototypes. Remove unused macros.
8496 * cpplib.h: Update prototypes. Remove unused macros,
8497 structure definitions, and fields.
8498
8499 * cpperror.c (print_containing_files, v_message): Adjust.
8500 * cppexp.c (parse_assertion, lex, parse_escape,
8501 _cpp_parse_expr): Adjust.
8502 * cppfiles.c (open_include_file, _cpp_execute_include,
8503 _cpp_compare_file_date, cpp_read_file, read_include_file):
8504 Adjust.
8505 * cppinit.c (dump_special_to_buffer): Delete.
8506 (append_include_chain, merge_include_chains, cpp_reader_init,
8507 cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
8508 cpp_finish, handle_option, print_help): Adjust.
8509 * cppmain.c (main): Adjust.
8510
8511 2000-07-03 Zack Weinberg <zack@wolery.cumb.org>
8512
8513 * cppspec.c (lang_specific_driver): Use double quotes in error
8514 message.
8515
8516 Mon Jul 3 16:53:43 2000 Clinton Popetz <cpopetz@cygnus.com>
8517
8518 * calls.c (emit_library_call_value_1): Use valreg instead
8519 of hard_libcall_value.
8520
8521 2000-07-03 Geoff Keating <geoffk@cygnus.com>
8522
8523 * config/rs6000/rs6000.c (rs6000_emit_move): New function.
8524 * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
8525 * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
8526 (movhi): Likewise.
8527 (movqi): Likewise.
8528 (movdf): Likewise.
8529 (movsf): Likewise.
8530 (movdi): Likewise.
8531 (movti): Likewise.
8532
8533 * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
8534 mode instead of wider_mode is being used.
8535
8536 2000-07-03 Jakub Jelinek <jakub@redhat.com>
8537
8538 * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
8539 of 'r'. Use q_regs_operand.
8540 (andsi_1+2): Use q_regs_operand.
8541
8542 2000-07-03 Jakub Jelinek <jakub@redhat.com>
8543
8544 * builtins.c (get_memory_rtx): Always put into alias set 0.
8545
8546 2000-07-03 Nick Clifton <nickc@cygnus.com>
8547
8548 * config/arm/arm.md: Fix post increment and pre increment
8549 peepholes so that they do not generate UNPREDICATBLE opcodes.
8550 (ie ones where the increment clobbers the source/destination).
8551
8552 2000-07-01 Marek Michalkiewicz <marekm@linux.org.pl>
8553
8554 * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
8555 change too big for -mtiny-stack" a warning, if larger than 63.
8556 (out_set_stack_ptr): Change the logic so -mno-interrupts is
8557 always safe to use on possible future devices.
8558 (function_prologue): Write SPH before SPL, for consistency.
8559 If interrupt_func_p true, we know we have enabled interrupts.
8560 (avr_num_arg_regs): New function. Round up to even number of
8561 bytes if no -mpack-args or if calling a libgcc function.
8562 (function_arg, function_arg_advance): Use it.
8563 (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
8564 Output "movw" if available.
8565 (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
8566 of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
8567 (asm_output_section_name): Add blanks for consistent output.
8568 (encode_section_info): Set TREE_READONLY for progmem data to
8569 avoid gas warnings about changed section attributes.
8570 (avr_hard_regno_mode_ok): Force non-QImode data to start in
8571 even numbered registers on devices with "movw".
8572 * config/avr/avr.h (MASK_*): Define bits for target_flags.
8573 (TARGET_SWITCHES): Mark help strings for translation.
8574 Add new -mpack-args and -menhanced switches.
8575 (TARGET_OPTIONS): Mark help strings for translation.
8576 (progmem_section): Add section attributes.
8577 * config/avr/avr.md (*movhi, call_insn, call_value_insn):
8578 Output "movw" if available.
8579 (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
8580 New patterns.
8581 * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
8582 call convention (arguments aligned on even registers).
8583 (_cleanup, _exit): Make weak symbols libc can override.
8584
8585 2000-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8586
8587 * fp-bit.h: New file.
8588
8589 * fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
8590 Comment #endif statements.
8591 (__thenan_sf, __thenan_df): Add missing braces around initializer.
8592
8593 Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com)
8594
8595 * gcse.c (compute_pre_data): Compute ae_kill using other local
8596 properties instead of calling compute_ae_kill.
8597
8598 * alias.c (init_alias_analysis): Do not call
8599 prologue_epilogue_contains until after reload has completed.
8600
8601 2000-07-02 Benjamin Chelf <chelf@codesourcery.com>
8602
8603 * c-common.h (genrtl_begin_compound_stmt): Remove declaration.
8604 (genrtl_finish_compound_stmt): Likewise.
8605 (genrtl_compound_stmt): Change to return void.
8606
8607 * c-semantics.c (genrtl_begin_compound_stmt): Remove function and
8608 move code from here to ...
8609 (genrtl_compound_stmt): ... here.
8610 (genrtl_finish_compound_stmt): Remove.
8611 (expand_stmt): Add comment.
8612
8613 2000-07-02 Zack Weinberg <zack@wolery.cumb.org>
8614
8615 * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
8616 and VOID_TYPE_P.
8617
8618 2000-07-02 Jakub Jelinek <jakub@redhat.com>
8619
8620 * cpplib.h (struct cpp_reader): New field include_depth.
8621 (struct cpp_printer): Rename last_bsd to last_id.
8622 * cppfiles.c (read_include_file): Bump include_depth.
8623 * cpplex.c (cpp_pop_buffer): Decrement include_depth.
8624 (output_line_command): Output correct #line if a header
8625 is including itself and is not protected against multiple inclusion.
8626 Use include_depth instead of buffer_stack_depth, last_id instead of
8627 last_bsd.
8628 * cppinit.c (cpp_start_read): Initialize last_id instead of
8629 last_bsd.
8630
8631 2000-07-01 Benjamin Chelf <chelf@codesourcery.com>
8632
8633 * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
8634 (c-semantics.o): New target.
8635
8636 * c-common.h (TREE_LANG_FLAG_?): Added documentation.
8637 (genrtl_do_pushlevel): Moved from cp/cp-tree.h.
8638 (genrtl_clear_out_block): Likewise.
8639 (genrtl_goto_stmt): Likewise.
8640 (genrtl_expr_stmt): Likewise.
8641 (genrtl_decl_stmt): Likewise.
8642 (genrtl_if_stmt): Likewise.
8643 (genrtl_while_stmt): Likewise.
8644 (genrtl_do_stmt): Likewise.
8645 (genrtl_return_stmt): Likewise.
8646 (genrtl_for_stmt): Likewise.
8647 (genrtl_break_stmt): Likewise.
8648 (genrtl_continue_stmt): Likewise.
8649 (genrtl_scope_stmt): Likewise.
8650 (genrtl_switch_stmt): Likewise.
8651 (genrtl_case_label): Likewise.
8652 (genrtl_begin_compound_stmt): Likewise.
8653 (gerntl_finish_compound_stmt): Likewise.
8654 (genrtl_compound_stmt): Likewise.
8655 (genrtl_asm_stmt): Likewise.
8656 (genrtl_decl_cleanup): Likewise.
8657 (DECL_ANON_UNION_ELEMS): Likewise.
8658 (emit_local_var): Likewise.
8659 (make_rtl_for_local_static): Likewise.
8660 (expand_cond): Likewise.
8661 (expand_stmt): Likewise.
8662 (c_expand_return): Likewise.
8663 (c_expand_start_case): Likewise.
8664 (do_case): Likewise.
8665 (COMPOUND_STMT_NO_SCOPE): Likewise.
8666 (c_expand_asm_operands): Likewise.
8667 (NEW_FOR_SCOPE_P): New macro.
8668 (expand_expr_stmt_fn): New type.
8669
8670 (set_current_function_name_declared): Likewise.
8671 (current_function_name_declared): Likewise.
8672 (lang_expand_stmt): Likewise.
8673 (stmts_are_full_exprs_p): Likewise.
8674 (anon_aggr_type_p): Likewise.
8675 (lang_expand_expr_stmt): Likewise.
8676 (build_case_label): Likewise.
8677
8678 * c-decl.c (lang_expand_expr_stmt): Initialize.
8679 (stmts_are_full_exprs_p): Define.
8680 (current_function_name_declared): Likewise.
8681 (do_case): Likewise.
8682 (lang_expand_stmt): Likewise.
8683 (set_current_function_name_declared): Likewise.
8684 (anon_aggr_type_p): Likewise.
8685
8686 * c-semantics.c: New file.
8687 (expand_cond): Moved from cp/semantics.c.
8688 (genrtl_do_pushlevel): Likewise.
8689 (genrtl_clear_out_block): Likewise.
8690 (genrtl_goto_stmt): Likewise.
8691 (genrtl_expr_stmt): Likewise.
8692 (genrtl_decl_stmt): Likewise.
8693 (genrtl_if_stmt): Likewise.
8694 (genrtl_while_stmt): Likewise.
8695 (genrtl_do_stmt): Likewise.
8696 (genrtl_return_stmt): Likewise.
8697 (genrtl_for_stmt): Likewise.
8698 (genrtl_break_stmt): Likewise.
8699 (genrtl_continue_stmt): Likewise.
8700 (genrtl_scope_stmt): Likewise.
8701 (genrtl_switch_stmt): Likewise.
8702 (genrtl_case_label): Likewise.
8703 (genrtl_begin_compound_stmt): Likewise.
8704 (genrtl_finish_compound_stmt): Likewise.
8705 (genrtl_compound_stmt): Likewise.
8706 (genrtl_asm_stmt): Likewise.
8707 (genrtl_decl_cleanup): Likewise.
8708 (make_rtl_for_local_static): Moved from cp/decl.c.
8709 (emit_local_var): Likewise.
8710 (expand_stmt): Define.
8711
8712 * c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
8713 (c_expand_return): Likewise.
8714 (c_expand_start_case): Likewise.
8715
8716 2000-07-01 Richard Henderson <rth@cygnus.com>
8717
8718 * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
8719 with the low 13 bits set.
8720 (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
8721 * config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one
8722 of the low 13 bits into a CONST plus an adddi3.
8723 (load_symptr): Set RTX_UNCHANGING_P.
8724
8725 See ChangeLog.3 for earlier changes.
This page took 0.388555 seconds and 6 git commands to generate.