]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing cur_token, not after.
[gcc.git] / gcc / ChangeLog
1 2001-11-19 Jason Merrill <jason@redhat.com>
2
3 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4 cur_token, not after.
5
6 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
7 Lose ASM_OUTPUT_CONSTRUCTOR.
8 * system.h: Poison it and INT_ASM_OP.
9 * c-lang.c (finish_file): Don't check for it.
10 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
11
12 2001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13
14 * mmix.c (mmix_cc1_ignored_option): Const-ify.
15 (mmix_init_machine_status): Make static to match declaration.
16 (mmix_unique_section): Const-ify.
17 (mmix_output_quoted_string): Avoid automatic aggregate
18 initialization.
19 (mmix_output_register_setting): Likewise.
20 (mmix_output_shiftvalue_op_from_str): Likewise.
21
22 * mmix.h (mmix_cc1_ignored_option): Const-ify.
23 (ASM_OUTPUT_BYTE): Fix format specifier warning.
24 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
25
26 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
27
28 PR c/4448
29 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
30 name __objc_thread_exit_status so that it matches the
31 variable defined in objc/thr.h.
32
33 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
34
35 PR bootstrap/4020
36 * mklibgcc.in: Add missing semi-colons.
37 * Makefile.in: Same.
38
39 Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
40
41 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
42 after re-laying out decl in incomplete case.
43 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
44
45 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
46
47 * doc/install-old.texi: Move some sections out to ...
48 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
49 ... here. New files. Make into chapters rather than sections.
50 * doc/gcc.texi: Include the new files and add menu entries for
51 them.
52 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
53
54 Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
55
56 * tree.h (TYPE_ALIGN_OK): New flag.
57 * emit-rtl.c (set_mem_attributes): Handle it.
58 * expr.c (emit_single_push_insn): Only set to alias set 0 if
59 doing sibcall optimization.
60 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
61 when make temporary.
62 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
63 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
64
65 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
66
67 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
68
69 * c-decl.c (c_decode_option): Give deprecation warning for
70 -traditional.
71 * doc/invoke.texi (-traditional): Note that this option is
72 deprecated.
73
74 Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
75
76 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
77 arg to HOST_WIDE_INT, not long.
78
79 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
80 (HAS_INIT_SECTION): Define.
81 (REAL_ARITHMETIC): Don't undefine.
82
83 2001-11-18 Egor Duda <deo@logos-m.ru>
84
85 * config/i386/cygwin.h: Strip leading '*' from name, if any.
86
87 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
88
89 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
90 * c-common.c: Include diagnostic.h.
91 (c_common_finish): New.
92 * c-common.h (c_common_finish): New.
93 * c-lang.c (LANG_HOOKS_FINISH): Override.
94 * c-parse.in: Don't include diagnostic.h.
95 (finish_parse): Remove.
96 * langhooks.h: Update comments.
97 * toplev.c (lang_dependent_init): New prototype.
98 (finalize): New.
99 (compile_file): Split cleanup code out to finalize.
100 (lang_dependent_init): Stop if lang_hooks.init fails.
101 (toplev_main): Update.
102 * tree.h (finish_parse): Remove.
103 objc:
104 * objc-act.c (LANG_HOOKS_FINISH): Override.
105
106 Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
107
108 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
109 * config/alpha/vms_tramp.asm: New file.
110 * config/alpha/vms-tramp.asm: Removed.
111
112 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
113
114 * c-common.c (struct disabled_builtin, disabled_builtins,
115 disable_builtin_function, builtin_function_disabled_p): New.
116 (builtin_function_2): Check for disabled built-in functions.
117 * c-common.h (disable_builtin_function): Declare.
118 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
119 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
120 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
121
122 2001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
123
124 PR target/4606
125 * config.gcc: Remove reference to va-clipper.h.
126
127 2001-11-17 Stan Shebs <shebs@apple.com>
128
129 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
130 AltiVec-related bitfields.
131
132 Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
133
134 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
135 (mark_eh_region, case ERT_UKNONW): New case.
136
137 2001-11-17 Christopher Faylor <cgf@redhat.com>
138 Corinna Vinschen <vinschen@redhat.com>
139
140 * config/i386/cygwin.h: Search target specific include directory for
141 w32api stuff, if appropriate.
142
143 Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
144
145 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
146
147 2001-11-16 Aldy Hernandez <aldyh@redhat.com>
148
149 * config/rs6000/rs6000.md: Change all ldvx to lvx.
150
151 2001-11-16 Alexandre Oliva <aoliva@redhat.com>
152
153 * gensupport.c (process_rtx): Don't assume filename is the first
154 argument of any rtl.
155
156 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
157
158 * vax-protos.h (reg_was_0_p): New prototype.
159 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
160 * vax.c (follows_p, reg_was_0_p): New functions.
161
162 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
163
164 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
165 (casesi1): Likewise. Define new pattern which arises by simplification
166 when operand 1 is a constant int. Correct pattern which arises by
167 simplification when operand 1 is zero.
168
169 2001-11-16 David O'Brien <obrien@FreeBSD.org>
170
171 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
172 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
173 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
174 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
175 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
176 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
177 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
178 * config/arm/aof.h: Don't include arm.h.
179 * config/arm/aout.h: Likewise.
180 * config/arm/coff.h: Don't include semi.h and aout.h.
181 * config/arm/elf.h: Don't include aout.h.
182 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
183 (TARGET_VERSION): Undef before defining.
184 (ARM_OS_NAME): Likewise
185 (TARGET_DEFAULT): Likewise
186 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
187 * config/arm/pe.h: Don't include arm/coff.h.
188 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
189 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
190 * config/arm/riscix1-1.h: Likewise.
191 * config/arm/rix-gas.h: Don't include riscix.h.
192 (DBX_CONTIN_LENGTH): Undef before defining.
193 * config/arm/semi.h: Don't include aout.h.
194 * config/arm/semiaof.h: Don't include aof.h.
195 * config/arm/strongarm-coff.h: Don't include coff.h.
196 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
197 * config/arm/vxarm.h: Don't include arm/coff.h.
198 * config/arm/xscale-coff.h: Don't include coff.h.
199
200 Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
201
202 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
203 emit_cmp_insn.
204
205 2001-11-16 Andreas Jaeger <aj@suse.de>
206
207 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
208 to ....
209 (fixup_fallthru_exit_predecessor): ... this.
210 Change callers and prototype.
211
212 2001-11-16 Bernd Schmidt <bernds@redhat.com>
213
214 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
215 hand; don't use gen_setcc_2.
216 (ix86_expand_builtin): Fix pshufw.
217 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
218 case UNORDERED to emit the right assembler instruction.
219 (mmx_pshufw): Lose operand 2.
220 (cvtsi2ss): Fix representation.
221 From Graham Stott:
222 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
223
224 2001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
225
226 * doc/include/linux-and-gnu.texi: Remove.
227 * doc/gnu.texi: New.
228 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
229 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
230
231 2001-11-16 Kazu Hirata <kazu@hxi.com>
232
233 * config/a29k/a29k.c: Fix comment formatting.
234 * config/a29k/a29k.h: Likewise.
235 * config/arc/arc.c: Likewise.
236 * config/arc/arc.h: Likewise.
237 * config/vax/vax.c: Likewise.
238 * config/vax/vax.h: Likewise.
239 * config/we32k/we32k.c: Likewise.
240 * config/we32k/we32k.h: Likewise.
241
242 2001-11-16 Jeff Law <law@redhat.com>
243
244 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
245 creating a new jump insn.
246
247 Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
248
249 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
250 copy misaligned data.
251 * varasm.c (assemble_variable): Set alignment into MEM when changed.
252
253 2001-11-16 Graham Stott <grahams@redhat.com>
254
255 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
256 OPALIGN type.
257
258 2001-11-16 Olivier Hainque <hainque@act-europe.fr>
259
260 * except.c: Support for catching a list of types with a single handler
261 (struct eh_region): Change type and filter to lists for catch regions.
262 (mark_eh_region): Mark the filter list for GC also.
263 (expand_start_catch): Always build a list if argument not NULL and
264 register each type of the list through add_type_for_runtime.
265 (duplicate_eh_region_1): Change type into type_list for catch regions.
266 (assign_filter_values): Assign a filter to each type associated with a
267 catch region. Assign filter for NULL types in a unique entry in the
268 filter list.
269 (build_post_landing_pads): Emit compare and jump for each filter of
270 the list associated with a catch region.
271 (reachable_next_level): When the type thrown is known, stop the search
272 as soon as one type within a catch list matches. Also, a handler is
273 potentially reachable only if at least one of the types it catches
274 has not been previously caught.
275 (collect_one_action_chain): Retrieve the filter for a NULL type list
276 from the first filter list entry. For non NULL type lists, add an
277 action record for every filter assigned.
278 * except.h: Reflect changes in comment before expand_start_catch.
279
280 Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
281
282 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
283 BLKmode.
284
285 Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
286
287 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
288
289 2001-11-16 Jakub Jelinek <jakub@redhat.com>
290
291 * c-lang.c (finish_file): Don't emit static inline functions if
292 they weren't referenced.
293
294 2001-11-15 Stan Shebs <shebs@apple.com>
295
296 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
297
298 2001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
299
300 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
301 call.
302 * config/i386/i386.md: Likewise.
303
304 Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
305
306 * timevar.c (rtl.h): Include so get fancy abort.
307
308 2001-11-15 Dale Johannesen <dalej@apple.com>
309
310 * config/darwin.h (SELECT_RTX_SECTION): Force address
311 initializers into 'const' section
312 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
313 if_then_else to match result, not operands
314
315 Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
316
317 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
318 * emit-rtl.c (change_address): Fix typo in default alignment.
319 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
320 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
321 * rtl.h (REGNO_PTR_FRAME_P): New macro.
322
323 * expr.c (store_field): Pass tree instead of max size; callers changed.
324 Change handling of alignment.
325 Only copy to_rtx if is TARGET.
326 (expand_expr_unaligned): Delete; callers now use expand_expr.
327 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
328 (expand_assignment): Change handling of alignment.
329 Only copy to_rtx if was original.
330 (get_inner_reference): No longer return alginment; callers changed.
331 (expand_expr, case COMPONENT_REF): Change handling of alignment.
332 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
333 (compare_from_rtx): Delete ALIGN parm; all callers changed.
334 (do_compare_rtx_and_jump): Likewise.
335 * expr.h: Reflect above changes.
336 * tree.h: Likewise.
337 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
338 to get_inner_reference.
339 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
340 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
341 * optabs.c: Likewise.
342 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
343 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
344 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
345 compare_rtx_and_jump, and emit_cmp_jump_insns.
346 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
347 * function.c (assign_stack_temp_for_type): No longer static.
348 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
349 (prepare_cmp_insn): Delete declaration.
350 * rtl.h (assign_stack_temp_for_type): Add declaration.
351 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
352 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
353 * config/i386/i386.c,config/mips/mips.c: Likewise.
354 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
355 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
356
357 2001-11-15 Stan Shebs <shebs@apple.com>
358
359 * config/rs6000/rs6000.h: Fix a comment typo.
360 (RTX_COSTS): Sort processor versions better.
361
362 2001-11-15 Kazu Hirata <kazu@hxi.com>
363
364 * config/h8300/h8300.md: Fix insn length of bit insns.
365
366 2001-11-15 Jason Merrill <jason@redhat.com>
367
368 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
369 DIEs if there were errors in the source.
370
371 * config/alpha/alpha-interix.h, config/alpha/elf.h,
372 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
373 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
374 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
375 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
376 config/elfos.h, config/lynx.h, config/netware.h,
377 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
378 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
379 uses to use ASM_LONG.
380
381 2001-11-15 Alan Matsuoka <alanm@redhat.com>
382
383 * gensupport.c process_include : Change call to alloca to
384 xmalloc.
385
386 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
387
388 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
389 templates.
390
391 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
392
393 * final.c (alter_subreg): If simplify_subreg can't do anything,
394 handle REG ourselves and abort for others.
395
396 2001-11-15 Richard Hodson <hodsonr@dionecorp.com>
397
398 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
399 routines.
400
401 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
402
403 * fix-header.c (read_scan_file): Update.
404
405 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
406
407 * toplev.c (toplev_main): Don't start timing until after
408 command-line options are parsed.
409
410 2001-11-15 Andreas Schwab <schwab@suse.de>
411
412 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
413 makefile frag, not host makefile frag.
414 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
415 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
416 used.
417 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
418 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
419 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
420 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
421 * config/i386/t-dgux (STMP_FIXPROTO): Define.
422 * config/x-interix: Don't define STMP_FIXPROTO and
423 FIXPROTO_DEFINES.
424 * config/t-interix: New file, define STMP_FIXPROTO.
425 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
426 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
427 * config/t-svr4 (FIXPROTO_DEFINES): Define.
428 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
429 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
430 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
431 * config/m68k/t-hp3200: Renamed from x-hp3200.
432 * config/i370/t-oe: Renamed from x-oe.
433 * config/mips/t-iris: Renamed from x-iris.
434 * config/pa/t-bsd: Renamed from x-pa.
435 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
436 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
437 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
438 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
439 config/rs6000/x-cygwin: Remove files.
440
441 * configure.in: Check for target objdump and use that in eh_frame
442 optimization test.
443 * configure: Regenerated.
444
445 2001-11-15 Jakub Jelinek <jakub@redhat.com>
446
447 * jump.c (squeeze_notes): Return true if no real insns were found.
448 * rtl.h (squeeze_notes): Adjust prototype.
449 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
450 squeeze_notes finds no real instructions, abort.
451 (merge_blocks_move_successor_nojumps): Likewise.
452 * loop.c (find_and_verify_loops): Likewise.
453 * stmt.c (expand_end_case): Likewise.
454 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
455 find any real instructions.
456
457 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
458
459 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
460 conditional jump, request updating life into for the block
461 containing it. Fix a typo which prevented life info update.
462 Clear blocks bitmap before using it.
463
464 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
465
466 * c-common.c: Include c-lex.h.
467 (c_common_lang_init): Change prototype. Call init_c_lex and
468 init_pragma from here.
469 * c-common.h (c_common_lang_init): Change prototype.
470 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
471 * c-lang.c (c_init): Change prototype. Update.
472 (c_init_options): Update.
473 * c-lex.c (cpp_filename): Remove.
474 (init_c_lex): Update. Read the main file, and get the original
475 file name.
476 (yyparse): Finish the command line options.
477 * c-parse.in (c_parse_init): Call init_reswords here.
478 (init_parse): Remove.
479 * c-tree.h (c_init_decl_processing): New.
480 * cpphash.c (_cpp_init_hashtable): After initializing the hash
481 table, populate it.
482 * cppinit.c (read_original_filename, cpp_finish_options): New.
483 (cpp_create_reader): New prototype. Defer hash table initialization.
484 (cpp_start_read): Rename cpp_read_main_file. Initialize the
485 hash table. Get the original filename.
486 * cpplib.h (cpp_create_reader): Update.
487 (cpp_start_read): Remove.
488 (cpp_read_main_file, cpp_finish_options): New.
489 * cppmain.c (main, do_preprocessing): Update.
490 * langhooks.h (struct langhooks): Update init prototype.
491 * toplev.c (general_init, parse_options_and_default_flags,
492 process_options, lang_indpendent_init, lang_dependent_init,
493 init_asm_output): New; perform the bulk of initialization.
494 (compile_file): Move most of initialization to above functions.
495 (debug_hooks): Initialize statically.
496 (set_Wunused): Relocate.
497 (toplev_main): Move most of initialization to other init functions.
498 Have a clear logic flow.
499 * tree.h (init_parse, init_decl_processing): Remove.
500 objc:
501 * objc-act.c (objc_init): Update prototype, combine with old
502 init_parse.
503 (objc_init_options): Update.
504
505
506 2001-11-15 Andreas Jaeger <aj@suse.de>
507
508 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
509 portability.
510 * basic-block.h: Adjust prototype.
511
512 2001-11-15 Kazu Hirata <kazu@hxi.com>
513
514 * config/rs6000/aix31.h: Fix comment formatting.
515 * config/rs6000/beos.h: Likewise.
516 * config/rs6000/darwin.h: Likewise.
517 * config/rs6000/eabi.asm: Likewise.
518 * config/rs6000/linux.h: Likewise.
519 * config/rs6000/linux64.h: Likewise.
520 * config/rs6000/lynx.h: Likewise.
521 * config/rs6000/netbsd.h: Likewise.
522 * config/rs6000/rs6000.c: Likewise.
523 * config/rs6000/rs6000.h: Likewise.
524 * config/rs6000/rs6000.md: Likewise.
525 * config/rs6000/sol2.h: Likewise.
526 * config/rs6000/tramp.asm: Likewise.
527 * config/rs6000/xcoff.h: Likewise.
528 * config/rs6000/xm-beos.h: Likewise.
529
530 2001-11-14 Alan Matsuoka <alanm@redhat.com>
531
532 * rtl.def (INCLUDE) : Define.
533 * gensupport.c (init_include_reader, process_include,
534 save_string) : New functions to implement an include facility
535 in .md files.
536 * gensupport.h : Add prototype for init_md_reader_args.
537 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
538 genextract.c genflags.c genopinit.c genoutput.c
539 genpeep.c genrecog.c: Change call to init_md_reader to
540 init_md_reader_args.
541 * md.texi: Document (include "path") and -I directives for RTL
542 generation tools.
543
544 2001-11-14 DJ Delorie <dj@redhat.com>
545
546 * integrate.c (get_hard_reg_initial_reg): New.
547 * integrate.h (get_hard_reg_initial_reg): Prototype.
548 * local-alloc.c (block_alloc): Don't tie pseudos that
549 represent call-saved hard regs' initial values.
550
551 2001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
552
553 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
554 recursion.
555
556 2001-11-14 Roger Sayle <roger@eyesopen.com>
557
558 * fold-const.c (fold): Optimize strlen comparisons against zero.
559
560 2001-11-14 David O'Brien <obrien@FreeBSD.org>
561
562 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
563 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
564 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
565 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
566 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
567 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
568 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
569 Include various CPU headers via tm_file. a.out based platforms now
570 properly include sparc/aout.h. sol2.h usage now implies including
571 elfos.h, svr4.h, and sparc/sysv4.h.
572 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
573 Also define to '1'.
574 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
575 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
576 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
577 Remove. They are a.out specific and belong in sparc/aout.h.
578 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
579 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
580 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
581 sparc/sparc.h.
582 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
583 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
584 Moved here from sparc/sparc.h.
585 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
586 defining.
587 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
588 * config/sparc/lynx.h: Don't include lynx.h.
589 (SELECT_SECTION): Do not undef.
590 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
591 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
592 and sparc/sysv4.h.
593 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
594 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
595 sparc/aout.h now.
596 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
597 Don't undef, there is no need.
598 * config/sparc/splet.h (CPP_PREDEFINES): Define.
599 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
600 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
601 Don't include sparc/sparc.h.
602 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
603 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
604 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
605 elfos.h and svr4.h.
606 (TARGET_VERSION): Define.
607 * config/sparc/vxsim.h (TARGET_VERSION): Define.
608
609 Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
610
611 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
612 (cfg_layout_finalize): Use it.
613 * bb-reorder.c (HAVE_epilogue): Remove.
614 (make_reorder_chain): Do not care special placement of
615 last basic block.
616
617 * predict.c (expected_value_to_br_prob): Delete the note
618 once transformed.
619
620 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
621 measure integration time separately.
622
623 Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
624
625 * function.c (struct temp_slot): ALIGN now unsigned.
626
627 2001-11-14 Kazu Hirata <kazu@hxi.com>
628
629 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
630 * config/dsp16xx/dsp16xx.h: Likewise.
631 * config/dsp16xx/dsp16xx.md: Likewise.
632
633 2001-11-14 Kazu Hirata <kazu@hxi.com>
634
635 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
636 that deals with 7-bit shifts in HImode.
637
638 Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
639
640 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
641 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
642 (final_scan_insn): Update call of alter_subreg.
643 (cleanup_subreg_operands): Likewise.
644 (alter_subreg): Rewrite using simplify_subreg.
645 (output_address, output_operand): Update call of alter_subreg.
646 * output.h (alter_subreg): Update prototype.
647 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
648 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
649 * Makefile.in (final.o): Add depdendancy on expr.h
650
651 Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
652
653 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
654
655 2001-11-13 Jeff Sturm <jsturm@one-point.com>
656
657 * doc/install.texi (sparc-*-linux*): Mention requirements for
658 binutils and glibc.
659
660 2001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
661
662 * Makefile.in (POD2MAN): Don't include --section=1.
663 (manext): Rename to man1ext. All users changed.
664 (man7ext): New.
665 (man7dir): New.
666 (generated-manpages): Also depend on $(docdir)/gfdl.7,
667 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
668 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
669 --section=1 in calls to $(POD2MAN).
670 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
671 (maintainer-clean, install, uninstall): Handle the new man pages.
672 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
673 (installdirs): Create man7dir.
674 * doc/cpp.texi: Include GFDL in this manual. In the man page,
675 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
676 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
677 the SEE ALSO man page section.
678 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
679 and fsf-funding(7) in the SEE ALSO man page section.
680 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
681 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
682 * doc/include/fdl.texi, doc/include/funding.texi,
683 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
684 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
685
686 2001-11-13 Richard Henderson <rth@redhat.com>
687
688 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
689 as appropriate for the artificial decl.
690
691 2001-11-13 Richard Henderson <rth@redhat.com>
692
693 * loop.c (combine_movables): Turn off combination until
694 move_movables validation bugs are fixed.
695
696 2001-11-13 DJ Delorie <dj@redhat.com>
697
698 * config.gcc (powerpc|rs6000): Set default cpp options based
699 on --with-cpu settings.
700 * config/rs6000/softfloat.h: New.
701
702 2001-11-13 Kazu Hirata <kazu@hxi.com>
703
704 * config/h8300/h8300.c (shift_alg_si): Use special code for
705 25-bit shifts on H8/S.
706 (get_shift_alg): Generate special code for 25-bit shifts on
707 H8/S.
708
709 2001-11-13 Jakub Jelinek <jakub@redhat.com>
710
711 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
712 (adjust_automodify_address_1): New.
713 * expr.h (adjust_address, adjust_address_nv): Adjust.
714 (adjust_automodify_address, adjust_automodify_address_nv): Define.
715 (adjust_address_1): Update prototype.
716 (adjust_automodify_address_1): Add prototype.
717 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
718 (store_by_pieces_2): Likewise.
719
720 Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
721
722 * Makefile.in (explow.o): Now depends on ggc.h.
723 * explow.c (ggc.h): Include.
724 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
725
726 * Makefile.in (expr.o): Depends on insn-attr.h.
727 * expr.c (insn-attr.h): New include.
728 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
729 of MEM.
730 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
731 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
732 clean up related usage in ADDR_EXPR.
733 (expand_expr_unaligned): Likewise.
734
735 * emit-rtl.c (change_address): Fix typo in alias setting.
736
737 2001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
738
739 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
740
741 2001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
742
743 PR bootstrap/3451
744 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
745 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
746
747 2001-11-12 David O'Brien <obrien@FreeBSD.org>
748
749 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
750 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
751 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
752 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
753 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
754 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
755 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
756 sparc64-*-linux*): Include various CPU headers via tm_file.
757 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
758 (SELECT_SECTION): Likewise.
759 (SELECT_RTX_SECTION): Likewise.
760 * config/sparc/sparc_bi.h: New file.
761 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
762 * config/sparc/linux-aout.h: Likewise.
763 * config/sparc/linux.h: Don't include sparc/sysv4.h.
764 * config/sparc/linux64.h: Likewise.
765 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
766 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
767 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
768 and dbxcoff.h
769 (ASM_OUTPUT_IDENT): Do not #undef.
770 (SELECT_SECTION): Likewise.
771 (SELECT_RTX_SECTION): Likewise.
772 * config/sparc/liteelf.h: Don't include gofast.h.
773 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
774 * config/sparc/lynx.h: Don't include sparc/sparc.h.
775 * config/sparc/pbd.h: Likewise.
776 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
777 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
778 * config/sparc/rtemself.h: Don't include rtems.h.
779 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
780 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
781 sparc_bi.h instead.
782 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
783 * config/sparc/sol2.h: Include sparc/sparc.h directly.
784 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
785 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
786 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
787 * config/sparc/sp86x-elf.h: Don't include gofast.h.
788 * config/sparc/splet.h: Don't include sparc/aout.h.
789 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
790 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
791 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
792 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
793 * config/sparc/vxsparc64.h: Don't include gofast.h.
794 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
795
796 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
797
798 * doc/standards.texi: Mention C99 TC1.
799
800 2001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
801
802 * mips-protos.h (mips_output_conditional_branch): Const-ify.
803 * mips.c (mips_output_conditional_branch): Likewise.
804
805 2001-11-12 Kazu Hirata <kazu@hxi.com>
806
807 * config/h8300/h8300.c (shift_alg_si): Use special code for
808 15-bit logical shifts and 31-bit logical shifts.
809 (get_shift_alg): Generate special code for 15-bit and 31-bit
810 logical shifts.
811
812 2001-11-12 Kazu Hirata <kazu@hxi.com>
813
814 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
815 doing 6-bit logical shifts on H8/S.
816 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
817 (get_shift_alg): Generate special code for 21-bit shifts on
818 H8/S.
819
820 2001-11-12 Kazu Hirata <kazu@hxi.com>
821
822 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
823 label.
824
825 Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
826
827 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
828 if both size and offset known.
829
830 2001-11-12 David O'Brien <obrien@FreeBSD.org>
831
832 * config/ia64/freebsd.h: Fix misspelling.
833
834 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
835
836 * doc/gcc.texi: Move several chapters out to ...
837 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
838 doc/include/linux-and-gnu.texi, doc/interface.texi,
839 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
840 ... here. New files.
841 * doc/gcc.texi, doc/contrib.texi: Move section headings into
842 contrib.texi.
843 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
844
845 2001-11-12 Kazu Hirata <kazu@hxi.com>
846
847 * config/alpha/alpha-interix.h: Fix comment formatting.
848 * config/alpha/alpha.c: Likewise.
849 * config/alpha/alpha.h: Likewise.
850 * config/alpha/alpha32.h: Likewise.
851 * config/alpha/freebsd.h: Likewise.
852 * config/alpha/unicosmk.h: Likewise.
853 * config/alpha/vms.h: Likewise.
854
855 2001-11-12 Kazu Hirata <kazu@hxi.com>
856
857 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
858
859 2001-11-12 Jakub Jelinek <jakub@redhat.com>
860
861 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
862 numbers.
863
864 Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
865
866 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
867 from type.
868 (replace_equiv_address): Call update_temp_slot_address.
869
870 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
871
872 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
873
874 2001-11-12 Kazu Hirata <kazu@hxi.com>
875
876 * config/h8300/h8300.c (shift_alg_qi): New.
877 (shift_alg_hi): Likewise.
878 (shift_alg_si): Likewise.
879 (get_shift_alg): Change the type of count to unsigned int.
880 Use the tables.
881
882 2001-11-11 Alexandre Oliva <aoliva@redhat.com>
883
884 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
885 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
886 to decide whether to defer a function.
887 (finish_function): Adjust.
888 (c_expand_deferred_function): New function.
889 * c-lang.c (deferred_fns): New variable.
890 (c_init): Initialize it, and mark it as a root.
891 (defer_fn): New function.
892 (finish_file): Expand all deferred functions.
893 * c-tree.h (defer_fn): Declare.
894 (c_expand_deferred_function): Likewise.
895 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
896 * objc-act.c (deferred_fns): New variable.
897 (objc_init): Initialize it, and mark it as a root.
898 (defer_fn): New function.
899 (finish_file): Expand all deferred functions.
900
901 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
902
903 * alpha.c (unicosmk_special_name): Prototype.
904 (unicosmk_ssib_name): Delete unused variable.
905 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
906 * alpha/vms.h (PREFIX): Undef before defining.
907 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
908 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
909 controlling usage. Const-ify.
910 (alias_number): Delete unused variable.
911 * m32r/m32r.c (m32r_sched_init): Add missing argument.
912 (m32r_expand_block_move): Fix uninitialized warnings.
913 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
914 always true' warnings.
915 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
916 * sh/sh.c: Include "integrate.h".
917 (output_far_jump): Fix uninitialized warning.
918 * final.c (shorten_branches): Avoid automatic aggregate
919 initialization.
920 * integrate.c (subst_constants): Likewise.
921
922 2001-11-11 Kazu Hirata <kazu@hxi.com>
923
924 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
925 (get_shift_alg): Remove redundant code.
926
927 2001-11-11 Kazu Hirata <kazu@hxi.com>
928
929 * config/pa/milli64.S: Fix comment formatting.
930 * config/pa/pa-64.h: Likewise.
931 * config/pa/pa-linux.h: Likewise.
932 * config/pa/pa-protos.h: Likewise.
933 * config/pa/pa.c: Likewise.
934 * config/pa/pa.h: Likewise.
935 * config/pa/pa32-linux.h: Likewise.
936 * config/pa/pa32-regs.h: Likewise.
937 * config/pa/pa64-hpux.h: Likewise.
938 * config/pa/pa64-regs.h: Likewise.
939 * config/pa/som.h: Likewise.
940
941 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
942
943 * doc/gcc.texi: Move several chapters out to ...
944 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
945 doc/service.texi, doc/standards.texi, doc/trouble.texi,
946 doc/vms.texi: ... here. New files.
947 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
948
949 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
950
951 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
952 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
953 collect2.c, combine.c, config.in, configure, configure.in,
954 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
955 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
956 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
957 spelling errors.
958
959 Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
960
961 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
962 Adjust operand number in CONST_DOUBLE.
963
964 * expmed.c (extract_bit_field): No longer pass in alignment.
965 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
966 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
967 Likewise.
968 * expr.c (store_constructor, store_constructor_field): Likewise.
969 (store_field, emit_group_load, emit_group_store): Likewise.
970 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
971 (store_bit_field, extract_bit_field): Likewise.
972 * calls.c, expr.c, function.c: Change calls to above functions.
973 * ifcvt.c, stmt.c: Likewise.
974
975 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
976 constant and one is on frame.
977 If know memref offset, adjust size from decl.
978
979 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
980
981 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
982 format specifier warning.
983 * convex.h (ASM_OUTPUT_BYTE): Likewise.
984 * elfos.h (ALIGN_ASM_OP): Undef before defining.
985 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
986 warning.
987 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
988 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
989 * i386-interix.h (gen_stdcall_suffix): Prototype.
990 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
991 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
992 ASM_OUTPUT_LONG_DOUBLE): Likewise.
993 * i386/interix.c (gen_stdcall_suffix): Const-ify.
994 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
995 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
996 specifier warnings.
997 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
998 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
999 ASM_OUTPUT_LONG_DOUBLE): Likewise.
1000 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1001 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1002 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1003 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1004 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1005 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1006 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1007 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1008 Likewise.
1009 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1010 Likewise.
1011 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1012 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1013 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1014 Likewise.
1015 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1016 Likewise.
1017 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1018 Likewise.
1019 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1020 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1021 * m68k/news.h (PRINT_OPERAND): Likewise.
1022 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1023 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1024 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1025 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1026 definition.
1027 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1028 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1029 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1030 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1031 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1032 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1033 PRINT_OPERAND): Likewise.
1034 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1035 Likewise.
1036 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1037 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1038 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1039 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1040 * mips.c (mips_output_external_libcall): Mark parameter with
1041 ATTRIBUTE_UNUSED.
1042 (mips_asm_file_start): Move variable into the scope where it's
1043 used.
1044 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1045 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1046 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1047 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1048 * ns32k.c (print_operand): Likewise.
1049 * pa.c (print_operand, output_div_insn): Likewise.
1050 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1051 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1052 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1053 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1054 specifier warnings.
1055 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1056 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1057 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1058 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1059 specifier warnings.
1060 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1061
1062 * sdbout.c (sdbout_end_epilogue): Mark parameter with
1063 ATTRIBUTE_UNUSED.
1064 * varasm.c (assemble_global): Likewise.
1065
1066 2001-11-11 H.J. Lu <hjl@gnu.org>
1067
1068 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1069
1070 Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
1071
1072 * final.c (*_MAX_SKIP): Use *_max_skip variables.
1073 * flags.h (align_loops_max_skip, align_jumps_max_skip,
1074 align_labels_max_skip): New global variables.
1075 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1076 align_labels_max_skip): New global variables.
1077 (toplev_main): Set new variables.
1078 * i386.c (override_options): Set max_skip values.
1079
1080 2001-11-10 Geoffrey Keating <geoffk@redhat.com>
1081
1082 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1083 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1084 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1085 don't print an @fptr for labels either.
1086 (xstormy16_output_addr_vec): Don't print @fptr here.
1087 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1088
1089 Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
1090
1091 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1092 an ANSI/ISO definitino.
1093 (ssa_const_prop): Likewise.
1094
1095 2001-11-10 Aldy Hernandez <aldyh@redhat.com>
1096
1097 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1098 altivec registers.
1099
1100 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1101
1102 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1103 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1104 * cppmain.c (general_init): Call hex_init.
1105 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1106
1107 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1108
1109 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1110 of dgux.c:output_file_start().
1111
1112 * i386/dgux.c: Delete file.
1113
1114 2001-11-09 Richard Henderson <rth@redhat.com>
1115
1116 * config/alpha/alpha.c (decl_in_text_section): New.
1117 (current_file_function_operand): Use it.
1118 (alpha_encode_section_info, alpha_end_function): Likewise.
1119
1120 2001-11-07 David O'Brien <obrien@FreeBSD.org>
1121
1122 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1123 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1124 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1125 so OS specific files and use CPP_PREDEFINES for their needs.
1126 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
1127 target headers to tm_file.
1128 * config/ia64/aix.h (TARGET_VERSION): Likewise.
1129 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1130 * config/ia64/linux.h (TARGET_VERSION): Likewise.
1131 (FUNCTION_PROFILER): Remove.
1132 * config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
1133 version in config/ia64/linux.h.
1134 * config/ia64/freebsd.h: New file.
1135 * config/freebsd.h: Tidy up.
1136 (_USING_CONFIG_FREEBSD): Define.
1137 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1138 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1139 (FBSD_STARTFILE_SPEC): Likewise.
1140 (FBSD_ENDFILE_SPEC): Likewise.
1141 (FBSD_LIB_SPEC): Likewise.
1142 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1143 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1144 set an ELF-improper one.
1145
1146 2001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
1147
1148 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1149 constant can be loaded in a single instruction to a register. When
1150 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
1151 depdi for insertion of most significant 32-bits on 64-bit hosts.
1152 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1153 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1154 * pa.md: New addmove pattern for adding constant_int to HImode
1155 register and moving result to HImode register. Remove HImode HIGH
1156 and LO_SUM patterns.
1157
1158 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1159
1160 * Makefile.in: Update.
1161 * c-decl.c (print_lang_decl, print_lang_type): Remove.
1162 (print_lang_identifier): Rename c_print_identifier.
1163 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1164 (print_lang_statistics, lang_print_xnode): Remove.
1165 * c-parse.in (set_yydebug): Rename c_set_yydebug.
1166 * c-tree.h (c_set_yydebug, c_print_identifier): New.
1167 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1168 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1169 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1170 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1171 (LANG_HOOKS_INITIALIZER): Update.
1172 * langhooks.h (struct lang_hooks): New members.
1173 (lang_print_tree_hook): New.
1174 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1175 * print-tree.c: Include langhooks.h.
1176 (print_node): Update.
1177 * toplev.c (decode_d_option): Update.
1178 * tree.c: Include langhooks.h.
1179 (dump_tree_statistics): Update.
1180 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1181 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1182 objc:
1183 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1184 LANG_HOOKS_SET_YYDEBUG): Override.
1185 (lang_print_xnode, print_lang_statistics): Remove.
1186
1187 2001-11-09 Richard Henderson <rth@redhat.com>
1188
1189 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1190 on the symbol string.
1191
1192 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1193
1194 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1195 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1196 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1197
1198 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1199
1200 * tlink.c (recompile_files): Copy strings passed to `putenv'.
1201
1202 2001-11-09 Geoffrey Keating <geoffk@redhat.com>
1203
1204 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1205 (TYPE_READONLY): Likewise.
1206
1207 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1208
1209 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1210 don't pass --gdwarf2 to the assembler if the compiler will also
1211 provide debug info.
1212
1213 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1214 Don't change INDEX.
1215
1216 Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1217
1218 * alias.c (nonoverlapping_memrefs_p): New function.
1219 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1220
1221 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1222
1223 2001-11-09 Aldy Hernandez <aldyh@redhat.com>
1224
1225 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1226 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1227 generating altivec code.
1228 (FIXED_REGISTERS): VRSAVE is fixed.
1229 (CALL_USED_REGISTERS): VRSAVE is call used.
1230
1231 2001-11-09 Jason Eckhardt <jle@rice.edu>
1232
1233 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1234 code the branch target as ".+16/.+12", but rather use labels.
1235
1236 Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
1237
1238 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1239 to work around limitations of certain versions of GAS.
1240
1241 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1242 (muldi3): Update due to SUBREG_BYTE changes.
1243 (casesi): Similarly.
1244
1245 2001-11-09 Zack Weinberg <zack@codesourcery.com>
1246
1247 * doc/invoke.texi: Remove comment referring to -xf77-version.
1248
1249 2001-11-09 Kazu Hirata <kazu@hxi.com>
1250
1251 * config/convex/convex.c: Fix comment formatting.
1252 * config/convex/convex.h: Likewise.
1253
1254 2001-11-08 Zack Weinberg <zack@codesourcery.com>
1255
1256 * Makefile.in (.po.pox): Look both in srcdir and builddir
1257 for $(PACKAGE).pot.
1258 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1259 to the source directory.
1260
1261 2001-11-09 Ben Elliston <bje@redhat.com>
1262 Michael Meissner <meissner@redhat.com>
1263 Andrew MacLeod <amacleod@redhat.com>
1264 Richard Henderson <rth@redhat.com>
1265 Nick Clifton <nickc@redhat.com>
1266 Catherine Moore <clm@redhat.com>
1267
1268 * m32r.c: Add support for m32rx processor.
1269 * m32r.h: Ditto.
1270 * m32r.md: Ditto.
1271 * t-m32r: Ditto.
1272 * m32r-protos.h: Add prototypes for m32rx functions.
1273 * doc/invoke.texi: Document -m32rx option.
1274
1275 2001-11-09 Jakub Jelinek <jakub@redhat.com>
1276
1277 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1278 or after reload.
1279
1280 2001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1281
1282 * doc/install.texi2html: Use $MAKEINFO --no-split.
1283
1284 2001-11-09 Andreas Schwab <schwab@suse.de>
1285
1286 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1287 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1288 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1289 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1290 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1291
1292 2001-11-09 H.J. Lu <hjl@gnu.org>
1293
1294 * config/mips/mips.c (mips_output_function_prologues): Cast
1295 `tsize' to long for output.
1296
1297 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1298
1299 * c-lang.c (LANG_HOOKS_NAME): New.
1300 (lang_hooks): Constify.
1301 (c_init_options): Update.
1302 (lang_identify): Remove.
1303 * c-parse.in (language_string): Remove.
1304 * dbxout.c: Include langhooks.h.
1305 (dbxout_symbol_location): Update.
1306 * dwarf2out.c: Include langhooks.h.
1307 (gen_compile_unit_die): Update.
1308 * dwarfout.c: Include langhooks.h.
1309 (prototyped_attribute, output_compile_unit_die): Update.
1310 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1311 (LANG_HOOKS_INITIALIZER): Update.
1312 * langhooks.h (struct lang_hooks): New members. Constify.
1313 * stringpool.c: Don't include toplev.h.
1314 (set_identifier_size): Remove.
1315 * toplev.c (toplev_main): Initialize identifier size.
1316 (print_version): Update.
1317 * tree.h (language_string, init_lex, lang_identify,
1318 set_identifier_size): Remove.
1319 * Makefile.in: Update dependencies.
1320 * config/darwin.c: Include langhooks.h.
1321 (func_name_maybe_scoped): Update.
1322 * config/darwin.h (ASM_END_FILE): Update.
1323 * config/nextstep.h (ASM_END_FILE): Update.
1324 * config/nextstep21.h (ASM_END_FILE): Update.
1325 * config/i386/sun386.h (ASM_END_FILE): Update.
1326 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1327 (rs6000_output_function_epilogue): Update.
1328 objc:
1329 * objc-act.c (LANG_HOOKS_NAME): Override.
1330 (struct lang_hooks): Constify.
1331 (objc_init_options): Update.
1332 (lang_identify): Remove.
1333
1334 Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
1335
1336 * fold-const.c (lshift_double): Honor PREC.
1337 (rshift_double): Likewise.
1338
1339 2001-11-08 Kazu Hirata <kazu@hxi.com>
1340
1341 * config/1750a/1750a.c: Fix comment formatting.
1342 * config/1750a/1750a.h: Likewise.
1343
1344 2001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
1345
1346 * configure.in (--enable-languages): Be more permissive about
1347 syntax. Check for empty lists better. Warn about $LANGUAGES.
1348 * configure: Regenerated.
1349
1350 2001-11-08 Richard Henderson <rth@redhat.com>
1351
1352 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1353
1354 2001-11-08 Geoffrey Keating <geoffk@redhat.com>
1355
1356 * config.gcc: Rename stormy16 to xstormy16.
1357 * config/stormy16/stormy-abi: Likewise.
1358 * config/stormy16/stormy16-protos.h: Likewise.
1359 * config/stormy16/stormy16.c: Likewise.
1360 * config/stormy16/stormy16.h: Likewise.
1361 * config/stormy16/stormy16.md: Likewise.
1362
1363 2001-11-06 Geoffrey Keating <geoffk@redhat.com>
1364
1365 * tree.h (TYPE_VOLATILE): Add enable-checking code.
1366 (TYPE_READONLY): Likewise.
1367
1368 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1369
1370 * reload1.c (reload): Don't delete equiv insn if can throw.
1371
1372 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1373 (clear_storage): Likewise, for OBJECT.
1374
1375 Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
1376
1377 * pa.c (emit_move_sequence): Fix SUBREG expression to
1378 use proper byte offset when extending a constant from
1379 SImode to DImode.
1380
1381 2001-11-09 Jakub Jelinek <jakub@redhat.com>
1382
1383 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1384 which cannot throw.
1385
1386 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1387
1388 * explow.c (convert_memory_address, case SUBREG): Only return
1389 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1390
1391 2001-11-08 Richard Henderson <rth@redhat.com>
1392
1393 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1394 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1395 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1396
1397 2001-11-08 Aldy Hernandez <aldyh@redhat.com>
1398
1399 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1400
1401 2001-11-08 Jakub Jelinek <jakub@redhat.com>
1402
1403 * dwarf2out.c (debug_str_hash): New.
1404 (struct indirect_string_node): New.
1405 (struct dw_val_struct): Change type of val_str to it.
1406 (DEBUG_STR_SECTION_FLAGS): Define.
1407 (add_AT_string): Push string into hashtable, increment reference
1408 counter.
1409 (AT_string): Return string from ht_identifier.
1410 (AT_string_form): New.
1411 (free_AT): For dw_val_class_str, just decrement reference counter.
1412 (size_of_string): Remove.
1413 (size_of_die): Use AT_string_form to decide what size the string
1414 occupies in DIE.
1415 (size_of_pubnames): Use strlen instead of size_of_string.
1416 (value_format): Use AT_string_form for dw_val_class_str.
1417 (output_die): Output DW_FORM_strp strings using
1418 dw2_asm_output_offset.
1419 (indirect_string_alloc, output_indirect_string): New.
1420 (dwarf2out_finish): Emit .debug_str strings if there are any.
1421
1422 2001-11-08 Andreas Franck <afranck@gmx.de>
1423
1424 * configure.in: Add AC_ARG_PROGRAM to support program name
1425 transformation with --program-prefix, --program-suffix and
1426 --program-transform-name.
1427 * configure: Regenerated.
1428 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1429 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1430 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1431 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1432 program_transform_name the way suggested by autoconf.
1433 (GCC_TARGET_INSTALL_NAME): Define.
1434 (install-driver): Use the transformed target alias name.
1435
1436 2001-11-08 Richard Henderson <rth@redhat.com>
1437
1438 * config/mips/mips.c (save_restore_insns): Remove GP from the
1439 restore registers mask early instead of special casing it inside
1440 the loop.
1441
1442 2001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
1443
1444 * cp/decl.c (shadow_warning): New function.
1445 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
1446 and an error when a block scope decl shadows a parameter.
1447
1448 2001-11-08 Richard Henderson <rth@redhat.com>
1449
1450 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1451 case as well.
1452
1453 2001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
1454
1455 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1456 to implement floating negation on processors prior to PA 2.0.
1457
1458 2001-11-08 Jakub Jelinek <jakub@redhat.com>
1459
1460 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1461 (USE_LINKONCE_INDIRECT): Define.
1462 (dw2_output_indirect_constant_1): Try to output indirect constants
1463 into linkonce sections if possible.
1464 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
1465 (dw2_output_indirect_constants): Likewise.
1466
1467 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
1468
1469 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1470
1471 2001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
1472
1473 * c-decl.c (pushdecl): Remove file and line.
1474 * c-typeck.c (pop_init_level): Remove size.
1475
1476 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
1477
1478 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1479 for rs6000.
1480
1481 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1482 (TARGET_ALTIVEC): New.
1483 (TARGET_SWITCHES): Add altivec.
1484 (FIRST_PSEUDO_REGISTER): Change to 109.
1485 (CALL_USED_REGISTERS): Same.
1486 (FIRST_ALTIVEC_REGNO): New.
1487 (LAST_ALTIVEC_REGNO): New.
1488 (ALTIVEC_REGNO_P): New.
1489 (UNITS_PER_ALTIVEC_WORD): New.
1490 (ALTIVEC_VECTOR_MODE): New.
1491 (FIXED_REGISTERS): Add altivec registers.
1492 (REG_ALLOC_ORDER): Same.
1493 (HARD_REGNO_NREGS): Adjust for altivec registers.
1494 (HARD_REGNO_MODE_OK): Same.
1495 (MODES_TIEABLE_P): Same.
1496 (REGISTER_MOVE_COST): Same.
1497 (REGNO_REG_CLASS): Same.
1498 (reg_class): Add ALTIVEC_REGS.
1499 (REG_CLASS_NAMES): Same.
1500 (REG_CLASS_CONTENTS): Same.
1501 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1502 (ALTIVEC_ARG_RETURN): New.
1503 (FUNCTION_VALUE): Handle VECTOR_TYPE.
1504 (LIBCALL_VALUE): Handle altivec vector modes.
1505 (VECTOR_MODE_SUPPORTED_P): New.
1506 (ALTIVEC_ARG_MIN_REG): New.
1507 (ALTIVEC_ARG_MAX_REG): New.
1508 (ALTIVEC_ARG_NUM_REG): New.
1509 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1510 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1511 (REGISTER_NAMES): Add altivec regs.
1512 (DEBUG_REGISTER_NAMES): Same.
1513 (ADDITIONAL_REGISTER_NAMES): Same.
1514 (rs6000_builtins): New.
1515 (MD_EXPAND_BUILTIN): New.
1516 (MD_INIT_BUILTINS): New.
1517 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1518 for AltiVec instructions.
1519 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1520 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1521 registers.
1522 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1523 (TARGET_SWITCHES): Add no-altivec.
1524 (DATA_ALIGNMENT): Align vectors to 128 bits.
1525 (TARGET_OPTIONS): Add abi= option.
1526 Add rs6000_abi_string extern.
1527 (LOCAL_ALIGNMENT): New.
1528 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1529 (MASK_ALTIVEC_ABI): New.
1530 (TARGET_ALTIVEC_ABI): New.
1531 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
1532 call-saved.
1533 (STACK_BOUNDARY): Adjust for altivec.
1534 (BIGGEST_ALIGNMENT): Same.
1535 (rs6000_args): Add vregno.
1536 (USE_ALTIVEC_FOR_ARG_P): New.
1537 (FIXED_REGISTERS): Add vrsave register.
1538 (CALL_USED_REGISTERS): Same.
1539 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
1540 (VRSAVE_REGNO): New.
1541 (reg_class): Add VRSAVE_REGS.
1542 (REG_CLASS_NAMES): Same.
1543 (REG_CLASS_CONTENTS): Same.
1544 (REGNO_REG_CLASS): Same.
1545
1546 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
1547 (ABI_STACK_BOUNDARY): Same.
1548 (BIGGEST_ALIGNMENT): Same.
1549 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
1550 (ROUND_TYPE_ALIGN): Same.
1551
1552 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1553 to 64.
1554
1555 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1556 to 64.
1557
1558 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
1559 to 64.
1560
1561 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
1562 (altivec_expand_builtin): New.
1563 (altivec_init_builtins): New.
1564 (TARGET_EXPAND_BUILTIN): New.
1565 (TARGET_INIT_BUILTINS): New.
1566 (rs6000_init_builtins): New.
1567 (struct builtin_description): New.
1568 (bdesc_2arg): New.
1569 (rs6000_reg_names): Add altivec registers.
1570 (alt_reg_names): Same.
1571 (secondary_reload_class): Altivec regs can hold altivec regs and
1572 memory.
1573 (rs6000_emit_move): Force constants into memory for AltiVec moves.
1574 (print_operand): Add 'y' case for printing altivec memory
1575 operands.
1576 (rs6000_legitimize_address): Legitimize vector addresses into
1577 [REG+REG] or [REG].
1578 (altivec_expand_binop_builtin): New.
1579 New string rs6000_current_abi.
1580 (rs6000_override_options): Call rs6000_parse_abi_options.
1581 (rs6000_parse_abi_options): New.
1582 (function_arg_boundary): Vector arguments must be 16
1583 byte aligned.
1584 (function_arg_advance): Handle vector arguments.
1585 (function_arg_partial_nregs): Same.
1586 (init_cumulative_args): Same.
1587 (function_arg): Same.
1588
1589 * config/rs6000/rs6000.md (altivec_lvx): New.
1590 (type): Add altivec attribute.
1591 (movv4si): New.
1592 (*movv4si_internal): New.
1593 (movv16qi): New.
1594 (*movv16qi_internal): New.
1595 (movv8hi): New.
1596 (*movv8hi_internal1): New.
1597 (movv4sf): New.
1598 (*movv4sf_internal1): New.
1599 (altivec_stvx): New.
1600 (vaddubm): New.
1601 (vadduhm): New.
1602 (vadduwm): New.
1603 (vaddfp): New.
1604 (vaddcuw): New.
1605 (vaddubs): New.
1606 (vaddsbs): New.
1607 (vadduhs): New.
1608 (vaddshs): New.
1609 (vadduws): New.
1610 (vaddsws): New.
1611 (vand): New.
1612 (vandc): New.
1613 (vavgub): New.
1614 (vavgsb): New.
1615 (vavguh): New.
1616 (vavgsh): New.
1617 (vavguw): New.
1618 (vavgsw): New.
1619 (vcmpbfp): New.
1620 (vcmpequb): New.
1621 (vcmpequh): New.
1622 (vcmpequw): New.
1623 (vcmpeqfp): New.
1624 (vcmpgefp): New.
1625 (vcmpgtub): New.
1626 (vcmpgtsb): New.
1627 (vcmpgtuh): New.
1628 (vcmpgtsh): New.
1629 (vcmpgtuw): New.
1630 (vcmpgtsw): New.
1631 (vcmpgtfp): New.
1632 (vcmpgefp): New.
1633 (vcmpgtub): New.
1634 (vcmpgtsb): New.
1635 (vcmpgtuh): New.
1636 (vcmpgtsh): New.
1637 (vcmpgtuw): New.
1638 (vcmpgtsw): New.
1639 (vcmpgtfp): New.
1640 (vmaxub): New.
1641 (vmaxsb): New.
1642 (vmaxuh): New.
1643 (vmaxsh): New.
1644 (vmaxuw): New.
1645 (vmaxsw): New.
1646 (vmaxfp): New.
1647 (vmrghb): New.
1648 (vmrghh): New.
1649 (vmrghw): New.
1650 (vmrglb): New.
1651 (vmrglh): New.
1652 (vmrglw): New.
1653 (vminub): New.
1654 (vminsb): New.
1655 (vminuh): New.
1656 (vminsh): New.
1657 (vminuw): New.
1658 (vminsw): New.
1659 (vminfp): New.
1660 (vmuleub): New.
1661 (vmulesb): New.
1662 (vmuleuh): New.
1663 (vmulesh): New.
1664 (vmuloub): New.
1665 (vmulosb): New.
1666 (vmulouh): New.
1667 (vmulosh): New.
1668 (vnor): New.
1669 (vor): New.
1670 (vpkuhum): New.
1671 (vpkuwum): New.
1672 (vpkpx): New.
1673 (vpkuhss): New.
1674 (vpkshss): New.
1675 (vpkuwss): New.
1676 (vpkswss): New.
1677 (vpkuhus): New.
1678 (vpkshus): New.
1679 (vpkuwus): New.
1680 (vpkswus): New.
1681 (vrlb): New.
1682 (vrlh): New.
1683 (vrlw): New.
1684 (vslb): New.
1685 (vslh): New.
1686 (vslw): New.
1687 (vsl): New.
1688 (vslo): New.
1689 (vsrb): New.
1690 (vrsh): New.
1691 (vrsw): New.
1692 (vsrab): New.
1693 (vsrah): New.
1694 (vsraw): New.
1695 (vsr): New.
1696 (vsro): New.
1697 (vsububm): New.
1698 (vsubuhm): New.
1699 (vsubuwm): New.
1700 (vsubfp): New.
1701 (vsubcuw): New.
1702 (vsububs): New.
1703 (vsubsbs): New.
1704 (vsubuhs): New.
1705 (vsubshs): New.
1706 (vsubuws): New.
1707 (vsubsws): New.
1708 (vsum4ubs): New.
1709 (vsum4sbs): New.
1710 (vsum4shs): New.
1711 (vsum2sws): New.
1712 (vsumsws): New.
1713 (vxor): New.
1714
1715 2001-11-07 Daniel Berlin <dan@cgsoftware.com>
1716
1717 * Makefile.in (df.o): Add fibheap.h to dependencies.
1718
1719 * df.h: Add prototypes for transfer functions, iterative_dataflow
1720 functions.
1721 (enum df_flow_dir): New enum.
1722 (enum df_confluence_op): New enum.
1723 (struct df): Add inverse_rts_map.
1724
1725 * df.c: Add sbitmap.h to the list of includes.
1726 (df_rd_global_compute): Removed.
1727 (df_ru_global_compute): Removed.
1728 (df_lr_global_compute): Removed.
1729 (df_rd_transfer_function): New function.
1730 (df_ru_transfer_function): New function.
1731 (df_lr_transfer_function): New function.
1732 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
1733 Use iterative_dataflow_bitmap instead of df_*_global_compute.
1734 (iterative_dataflow_sbitmap): New function.
1735 (iterative_dataflow_bitmap): New function.
1736
1737 2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
1738
1739 * doc/gcc.texi: Move terminology and spelling conventions to
1740 htdocs/codingconventions.html.
1741
1742 2001-11-07 Graham Stott <grahams@redhat.com>
1743
1744 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
1745
1746 Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
1747
1748 * expmed.c (expand_mult): Force operand to register before computing
1749 cost.
1750 * i386.c (x86_decompose_lea): New global vairable.
1751 * i386.h (x86_decompose_lea): Declare.
1752 (TARGET_DECOMPOSE_LEA): New macro.
1753 (RTX_COST): Handle leas properly.
1754
1755 2001-11-06 Richard Henderson <rth@redhat.com>
1756
1757 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
1758 defined for a CONSTRUCTOR; don't check it.
1759
1760 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
1761
1762 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
1763 test for absolute pathnames.
1764
1765 2001-11-06 Olivier Hainque <hainque@act-europe.fr>
1766
1767 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
1768 instructions up to the target pc inclusive.
1769
1770 2001-11-06 Steve Christiansen <smc@us.ibm.com>
1771
1772 * loop.c (loop_regs_scan): Don't invalidate PIC register.
1773
1774 2001-11-06 Eric Christopher <echristo@redhat.com>
1775
1776 * config/mips/mips.md(movdf_internal2): Add constraints for float
1777 to general register move.
1778 * config/mips/elf64.h: Add default ABI.
1779
1780 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1781
1782 * alias.c:: Include langhooks.h.
1783 * emit-rtl.c: Similarly.
1784 * toplev.c: Similarly.
1785 * tree-inline.c: Similarly.
1786 * langhooks-def.h: New, the old langhooks.h. Give the default
1787 hooks a common prefix.
1788 * langhooks.h: Contents extracted from toplev.h.
1789 * toplev.h: Move langhook stuff to langhooks.h.
1790 * langhooks.c: Give default hooks a common prefix.
1791
1792 * c-lang.c: Include langhooks-def.h.
1793 * objc/objc-act.c: Similarly.
1794 * Makefile.in: Update.
1795 * objc/Make-lang.in: Update.
1796
1797 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
1798
1799 * doc/install.texi: Document that configure options not listed in
1800 this file are unsupported. Document --with-system-zlib.
1801
1802 Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1803
1804 * rtl.h (mem_for_const_double): New declaration.
1805 * varasm.c (mem_for_const_double): New function.
1806 * config/convex/convex.md (movdf): Use it.
1807 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
1808 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
1809 * config/m68k/m68kv4.h: Likewise.
1810
1811 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
1812 of new GP reg classes.
1813
1814 * expr.c (store_field): When making temp object for unaligned
1815 component, set it to alias set 0.
1816
1817 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
1818
1819 * c-common.c (c_expand_expr_stmt): Apply default conversions to
1820 non-lvalue arrays if C99.
1821 * c-typeck.c (default_conversion): Split out code handling
1822 array-to-pointer and function-to-pointer conversions into a
1823 separate default_function_array_conversion function.
1824 (default_function_array_conversion): New function. Keep track of
1825 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
1826 arrays unchanged outside C99 mode instead of giving an error for
1827 them.
1828 (build_component_ref): Use pedantic_non_lvalue when handling
1829 COMPOUND_EXPR. Don't handle COND_EXPR specially.
1830 (convert_arguments): Use default_function_array_conversion.
1831 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
1832 non-lvalues are OK.
1833 (unary_complex_lvalue): Likewise.
1834 (internal_build_compound_expr): Use
1835 default_function_array_conversion. Apply default conversions to
1836 function in compound expression.
1837 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
1838 Use default_function_array_conversion.
1839 * doc/extend.texi: Update documentation of subscripting non-lvalue
1840 arrays.
1841 Fixes PR c/461.
1842
1843 2001-11-05 Zack Weinberg <zack@codesourcery.com>
1844
1845 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
1846 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
1847 corresponding to the complete set of .po and .gmo files in
1848 the source directory's po subdir, modified by LINGUAS. Don't
1849 look at ALL_LINGUAS.
1850 * configure.in: Don't set ALL_LINGUAS.
1851 * configure: Regenerate.
1852
1853 * Makefile.in (.po.gmo): Don't move into source directory.
1854 (.po.pox): Clarify comments.
1855 (install-po): Look for .gmo files in both srcdir and objdir;
1856 don't fail if a file is totally missing.
1857 (distclean): rmdir ada subdirectory too.
1858
1859 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
1860
1861 * config/rs6000/rs6000.c (rs6000_select_section): Handle
1862 CONSTRUCTORs _correctly_.
1863
1864 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1865
1866 * c-decl.c (delete_block): Remove.
1867 * c-tree.h (delete_block): Remove.
1868
1869 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1870
1871 * cppexp.c (lex, parse_defined): Update warning about defined.
1872
1873 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
1874
1875 * config/rs6000/rs6000.c (rs6000_select_section): Handle
1876 CONSTRUCTORs too.
1877
1878 2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
1879
1880 * config/arm/arm.c (arm_return_in_memory): Cope with
1881 int_size_in_bytes returning -1.
1882
1883 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
1884 DECL being NULL.
1885
1886 Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
1887
1888 * Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
1889 remove unneeded dependencies;
1890 (cfglayout.o): New.
1891 * cfglayout.c, cfglayout.h: New files; break out from ...
1892 * bb-reorder.c: ... here; Remove unneeded includes;
1893
1894 2001-11-04 Alan Modra <amodra@bigpond.net.au>
1895
1896 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
1897
1898 2001-11-04 David Edelsohn <edelsohn@gnu.org>
1899
1900 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
1901 mode as well. Do not explicitly create intermediate regs.
1902
1903 2001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1904
1905 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
1906 (common_section): Delete unused variable.
1907 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
1908 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
1909 * arm-protos.h (arm_poke_function_name, aof_add_import,
1910 aof_delete_import): Const-ify.
1911 * arm.c (legitimize_pic_address): Wrap variables in the macro
1912 controlling their usage.
1913 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
1914 (arm_poke_function_name, pic_chain, import, aof_add_import,
1915 aof_delete_import): Const-ify.
1916 * i386.c (ix86_osf_output_function_prologue): Const-ify.
1917 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1918 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
1919 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
1920 * i860/sysv3.h: Add missing comment closure.
1921 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
1922 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
1923 to symbolic_operand.
1924
1925 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
1926 (i960-*-*): Set tmake_file.
1927 (sparc86x-*-elf*): Fix typo in header name.
1928
1929 * sched-rgn.c (schedule_insns): Delete unused variable.
1930
1931 2001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1932
1933 PR c/2820
1934 * c-typeck.c (lookup_field): Rework to return a chain down to
1935 the looked-up field.
1936 (build_component_ref): Use the new lookup_field to handle
1937 nested anonymous entities correctly.
1938
1939 Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1940
1941 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
1942 Change parameters to gen_rtx_CONST_DOUBLE.
1943 (GEN_INT64, sparc_emit_set_const64): Likewise.
1944 * config/sparc/sparc.md (movdf split): Likewise.
1945
1946 2001-11-03 Geoffrey Keating <geoffk@redhat.com>
1947
1948 * unroll.c (calculate_giv_inc): Use find_last_value rather
1949 than just hoping the last instruction is the right SET.
1950 [Fixes 990604-1.c on stormy16.]
1951
1952 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
1953 library at all if -T is used.
1954
1955 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
1956 some uses of uninitialized variables in error cases.
1957
1958 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
1959 look at 'temp' if we won't be using it.
1960
1961 * config/stormy16/stormy16.h (CONST_COSTS): Define.
1962 (RTX_COSTS): Define.
1963 (ADDRESS_COST): Define.
1964 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
1965
1966 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
1967
1968 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
1969 stormy16_asm_output_mi_thunk.
1970 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
1971 function.
1972 * config/stormy16/stormy16-protos.h
1973 (stormy16_asm_output_mi_thunk): New prototype.
1974
1975 2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
1976
1977 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
1978 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
1979 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
1980 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
1981 sched-int.h, toplev.c, config/alpha/alpha.c,
1982 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
1983 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
1984 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
1985 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
1986 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
1987 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
1988 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
1989
1990 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1991
1992 * Makefile.in (dbxout.o): Depend on function.h.
1993 * collect2.c (is_in_list): Hide unused function.
1994 * dbxout.c: Include function.h.
1995 (source_label_number, dbxout_source_line, dbxout_source_file,
1996 dbxout_function_end, dbxout_begin_function): Wrap/move inside
1997 macros controlling usage.
1998 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
1999 * output.h (exports_section): Prototype.
2000
2001 * convex.c (convex_output_function_prologue): Fix format specifier
2002 warning.
2003 (asm_declare_function_name): Fix signed/unsigned warning.
2004 (print_operand): Fix format specifier warning.
2005 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2006 * dsp16xx-protos.h (uns_comparison_operator,
2007 num_1600_core_shifts): Prototype.
2008 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2009 (frame_size, frame_pointer_offset): Delete.
2010 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2011 Make static. Fix format specifier warnings.
2012 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2013 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2014 * dsp16xx.md: Add default case in switches.
2015 * fr30.h (IN_RANGE): Delete.
2016 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2017 * mcore-protos.h (mcore_output_cmov): Const-ify.
2018 * mcore.c (mcore_output_cmov): Likewise.
2019 * mcore.h (switch_to_section): Make static and prototype.
2020 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2021 unsigned>=0 warnings.
2022 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2023 * rs6000-protos.h (read_only_data_section,
2024 read_only_private_data_section): Prototype.
2025 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2026 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2027 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2028
2029 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2030
2031 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2032 ATTRIBUTE_UNUSED.
2033 * final.c (final_scan_insn): Add brackets around body of if-stmt.
2034 * gcc.c (convert_filename): Add static prototype. Const-ify.
2035 Wrap variable in macros controlling its use.
2036 * output.h (sdata_section): Add prototype.
2037
2038 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2039 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2040 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2041 (ASM_FILE_START): Const-ify.
2042 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2043 specifier warning.
2044 * c4x.md: Don't use the 'U' integer suffix.
2045 * clipper.md (clipper_movstr): Delete declaration.
2046 * d30v-protos.h (d30v_move_2words): Const-ify.
2047 (debug_stack_info): Add prototype.
2048 * d30v.c: Include "integrate.h".
2049 (d30v_function_arg_boundary, d30v_function_arg,
2050 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2051 signed/unsigned warnings.
2052 (d30v_print_operand_memory_reference, d30v_move_2words):
2053 Const-ify.
2054 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2055 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2056 * fr30.md: Const-ify.
2057 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2058 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2059 (mvs_get_label_page): Hide unused static function.
2060 * i860.c (current_function_original_name): Const-ify.
2061 * i860/sysv3.h (current_function_original_name): Likewise.
2062 * i860/sysv4.h (current_function_original_name): Likewise.
2063 * i960.md: Add default case in switches. Remove unused variable.
2064 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2065 * m32r.md: Const-ify.
2066 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2067 * m68hc11.c: Include "reload.h".
2068 (static_chain_reg, print_options, m68hc11_asm_file_start):
2069 Const-ify.
2070 * m68hc11.md: Delete unused variable. Const-ify. Add parens
2071 around & in comparison.
2072 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2073 * mn10200.c (shift_mode): Remove trailing comma.
2074 * mn10300-protos.h (output_tst): Const-ify.
2075 * mn10300.c (output_tst): Likewise.
2076 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2077 warnings.
2078 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2079 * pa.c (output_ascii): Likewise.
2080 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2081 * pdp11.md (expand_unop): Delete declarations.
2082 * pj-protos.h (pj_output_addsi3): Const-ify.
2083 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2084 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2085 unique_src_operand): Add prototypes.
2086 (pj_output_store_into_lval): Make definition static.
2087 (pj_function_incoming_arg): Don't use unary plus.
2088 (pj_output_addsi3): Const-ify.
2089 * romp.md (get_symref): Delete declarations.
2090 * v850-c.c (mark_current_function_as_interrupt): Don't return
2091 value from void function.
2092 * v850.c: Include "integrate.h".
2093 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2094 * vax-protos.h (const_section): Add prototype.
2095
2096 2001-11-03 Aldy Hernandez <aldyh@redhat.com>
2097
2098 * machmode.def: Add documentation for the seventh argument in
2099 vector modes.
2100
2101 2001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
2102
2103 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2104 consistently.
2105 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2106 <-melf>: Don't have markup for ELF acronym.
2107
2108 2001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
2109
2110 * config.gcc (mmix-*-*): New target.
2111 * doc/invoke.texi: Document MMIX options.
2112 * doc/contrib.texi: Add note about MMIX port to my entry.
2113 * config/mmix/t-mmix: New file.
2114 * config/mmix/mmix.h: New file.
2115 * config/mmix/mmix-protos.h: New file.
2116 * config/mmix/mmix.c: New file.
2117 * config/mmix/mmix.md: New file.
2118 * config/mmix/crti.asm: New file.
2119 * config/mmix/crtn.asm: New file.
2120
2121 2001-11-03 Kazu Hirata <kazu@hxi.com>
2122
2123 * config/sparc/linux-aout.h: Fix comment formatting.
2124 * config/sparc/linux.h: Likewise.
2125 * config/sparc/linux64.h: Likewise.
2126 * config/sparc/lynx.h: Likewise.
2127 * config/sparc/pbd.h: Likewise.
2128 * config/sparc/sol2-sld-64.h: Likewise.
2129 * config/sparc/sol2.h: Likewise.
2130 * config/sparc/sparc.c: Likewise.
2131 * config/sparc/sparc.h: Likewise.
2132 * config/sparc/sparc.md: Likewise.
2133 * config/sparc/sunos4.h: Likewise.
2134 * config/sparc/vxsim.h: Likewise.
2135 * config/sparc/vxsparc.h: Likewise.
2136 * config/sparc/vxsparc64.h: Likewise.
2137
2138 Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2139
2140 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2141 reference to CONST_DOUBLE_MEM in comment.
2142 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2143 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2144 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2145 * function.c (pop_function_context_from): Don't call
2146 restore_varasm_status.
2147 * function.h (restore_varasm_status): Delete declaration.
2148 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2149 * rtl.c: Likewise.
2150 * rtl.def (CONST_DOUBLE): Update comment.
2151 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2152 (CONST_DOUBLE_CHAIN): Likewise.
2153 (CONST_DOUBLE_MEM): Delete.
2154 (gen_rtx_CONST_DOUBLE): Update parameters.
2155 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2156 Remove reference to CONST_DOUBLE_MEM.
2157 (const_alias_set): New variable.
2158 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2159 (immed_real_const_1): Adjust tests for 0, 1, and 2.
2160 Don't set CONST_DOUBLE_MEM.
2161 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2162 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2163 Put constant in const_alias_set.
2164 (struct pool_constant): ALIGN now unsigned.
2165 OFFSET now HOST_WIDE_INT.
2166 Delete LABEL.
2167 (restore_varasm_status): Deleted.
2168 (mark_pool_constant): Mark desc->rtl.
2169 (force_const_mem): Rework to store rtl in hash table,
2170 not CONST_DOUBLE_MEM.
2171 Put constant in const_alias_set.
2172 (find_pool_constant): Check desc->rtl.
2173 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2174 (init_varasm_once): Initialize const_alias_set.
2175
2176 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2177 force_const_mem.
2178
2179 * reload.c (combine_reloads): Don't combine an output reload if there
2180 are other reloads around for part of the output.
2181
2182 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2183 constant expression.
2184 (set_mem_decl): New function.
2185 * expr.h (set_mem_decl): New declaration.
2186 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2187 (output_asm_operand_names): Add tab.
2188 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2189
2190 * builtins.c (get_memory_rtx): Properly set MEM alias set and
2191 attributes.
2192
2193 2001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
2194
2195 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2196 Use "invalid" instead of "illegal". Use @r in comments in
2197 examples.
2198
2199 2001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
2200
2201 * c-decl.c (pushdecl): Move block inside if conditional to remove
2202 possibility of a segfault. Lookup block-level extern
2203 variables in enclosing scopes correctly.
2204
2205 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2206
2207 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
2208
2209 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2210 SUBREG so we avoid SUBREGing memory.
2211
2212 * expmed.c (store_bit_field): Same.
2213
2214 2001-11-02 DJ Delorie <dj@redhat.com>
2215
2216 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2217 using FP registers for DImode mem-mem moves is acceptable.
2218
2219 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
2220
2221 * builtins.c (apply_args_size): Handle vector arguments.
2222 (apply_result_size): Same.
2223
2224 * machmode.def: Set WIDER mode field for all vector entries.
2225
2226 2001-11-02 Graham Stott <grahams@redhat.com>
2227
2228 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
2229
2230 2001-11-01 Eric Christopher <echristo@redhat.com>
2231
2232 * config.gcc: Revert part of earlier patch.
2233 * config/mips/linux.h: Ditto.
2234 * df.c: Include tm_p.h to avoid warnings.
2235 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
2236 #if/#endif.
2237 * config/mips/mips.c: Define mips_abi regardless.
2238 (mips_output_function_prologues): Add long casts for .frame
2239 output.
2240 (override_options): Allow use of ABI_32.
2241
2242 2001-11-01 Kazu Hirata <kazu@hxi.com>
2243
2244 * config/m68hc11/m68hc11.c: Fix comment formatting.
2245 * config/m68hc11/m68hc11.h: Likewise.
2246 * config/m68hc11/m68hc11.md: Likewise.
2247
2248 2001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
2249
2250 * c-typeck.c (default_conversion): Retain the original expression
2251 codes.
2252 * gcc.dg/Wparentheses.c: New tests.
2253
2254 2001-11-01 David S. Miller <davem@redhat.com>
2255
2256 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2257 64-bit Sparc description more in line with reality.
2258
2259 2001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
2260
2261 * Makefile.in (GCOV_OBJS): Add version.o.
2262 * gcov.c: Include "version.h" and <getopt.h>.
2263 (gcov_version_string): Remove.
2264 (print_usage): Take a parameter to determine whether this is a
2265 call from --help or an error message. Give fuller output that
2266 follows the GNU Coding Standards for --help.
2267 (print_version): New function.
2268 (options): New.
2269 (process_args): Use getopt_long. Support long options. Follow
2270 GNU Coding Standards for --help and --version.
2271 * doc/gcov.texi: Document long options.
2272 Addresses part of PR other/704.
2273
2274 2001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
2275
2276 * pa.c (output_move_double): Fix typo in double load.
2277
2278 2001-11-01 Kazu Hirata <kazu@hxi.com>
2279
2280 * config/h8300/h8300.c (h8300_encode_label): Compute a string
2281 before passing it to ggc_alloc_string.
2282
2283 2001-11-01 Kazu Hirata <kazu@hxi.com>
2284
2285 * config/m68k/3b1.h: Fix comment formatting.
2286 * config/m68k/3b1g.h: Likewise.
2287 * config/m68k/a-ux.h: Likewise.
2288 * config/m68k/amix.h: Likewise.
2289 * config/m68k/apollo68.h: Likewise.
2290 * config/m68k/atari.h: Likewise.
2291 * config/m68k/aux-exit.c: Likewise.
2292 * config/m68k/ccur-GAS.h: Likewise.
2293 * config/m68k/crds.h: Likewise.
2294 * config/m68k/dpx2.h: Likewise.
2295 * config/m68k/dpx2g.h: Likewise.
2296 * config/m68k/hp310.h: Likewise.
2297 * config/m68k/hp320.h: Likewise.
2298 * config/m68k/isi.h: Likewise.
2299 * config/m68k/linux.h: Likewise.
2300 * config/m68k/lynx.h: Likewise.
2301 * config/m68k/m68k-psos.h: Likewise.
2302 * config/m68k/m68k.c: Likewise.
2303 * config/m68k/m68k.h: Likewise.
2304 * config/m68k/m68k.md: Likewise.
2305 * config/m68k/m68kelf.h: Likewise.
2306 * config/m68k/m68kv4.h: Likewise.
2307 * config/m68k/mot3300.h: Likewise.
2308 * config/m68k/news.h: Likewise.
2309 * config/m68k/next.h: Likewise.
2310 * config/m68k/pbb.h: Likewise.
2311 * config/m68k/plexus.h: Likewise.
2312 * config/m68k/sgs.h: Likewise.
2313 * config/m68k/sun3.h: Likewise.
2314 * config/m68k/tower.h: Likewise.
2315 * config/m68k/vxm68k.h: Likewise.
2316
2317 2001-10-31 DJ Delorie <dj@redhat.com>
2318
2319 * config/mips/mips.h (mips_cache_flush_func): Prototype.
2320 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2321 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2322 * config/mips/mips.c (mips_cache_flush_func): New.
2323 * doc/invoke.texi: Document the new options.
2324
2325 2001-10-31 Hans-Peter Nilsson <hp@axis.com>
2326
2327 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2328 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2329
2330 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2331
2332 * config/cris/cris.c: Include output.h after tree.h but before
2333 target.h.
2334
2335 2001-10-31 Zack Weinberg <zack@codesourcery.com>
2336
2337 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2338 (INTL_SUBDIRS): Just intl.
2339 (.SUFFIXES): Add .gmo .po .pox.
2340 (native): Also depend on build-@POSUB@.
2341 (intl.all, intl.install): Depend on config.h and things it includes.
2342 (po-generated): New target; depend on c-parse.c and tradcif.c.
2343 (install-normal): Also depend on install-@POSUB@.
2344 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2345 (build-, install-, build-po, update-po, install-po,
2346 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2347
2348 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2349 * configure.in: Don't munge XGETTEXT. Don't generate
2350 po/Makefile.in.
2351 * configure: Regenerate.
2352
2353 * exgettext: Delete.
2354 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2355 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2356
2357 2001-10-31 Kazu Hirata <kazu@hxi.com>
2358
2359 * config/h8300/h8300.md (two anonymous patterns): New.
2360
2361 2001-10-31 Aldy Hernandez <aldyh@redhat.com>
2362
2363 * tree.h (tree_index): Add support for V16QI and V8HI.
2364 (V8HI_type_node): New.
2365 (V16QI_type_node): New.
2366
2367 * tree.c (build_common_tree_nodes_2): Same.
2368
2369 * c-common.c (type_for_mode): Same.
2370
2371 2001-10-31 Kazu Hirata <kazu@hxi.com>
2372
2373 * config/i386/att.h: Fix comment formatting.
2374 * config/i386/beos-elf.h: Likewise.
2375 * config/i386/bsd.h: Likewise.
2376 * config/i386/bsd386.h: Likewise.
2377 * config/i386/crtdll.h: Likewise.
2378 * config/i386/cygwin.asm: Likewise.
2379 * config/i386/cygwin.h: Likewise.
2380 * config/i386/djgpp.h: Likewise.
2381 * config/i386/freebsd-aout.h: Likewise.
2382 * config/i386/freebsd.h: Likewise.
2383 * config/i386/gas.h: Likewise.
2384 * config/i386/i386-interix.h: Likewise.
2385 * config/i386/i386-protos.h: Likewise.
2386 * config/i386/i386.c: Likewise.
2387 * config/i386/i386.h: Likewise.
2388 * config/i386/i386.md: Likewise.
2389 * config/i386/i386elf.h: Likewise.
2390 * config/i386/interix.c: Likewise.
2391 * config/i386/isc.h: Likewise.
2392 * config/i386/isccoff.h: Likewise.
2393 * config/i386/iscdbx.h: Likewise.
2394 * config/i386/linux.h: Likewise.
2395 * config/i386/lynx.h: Likewise.
2396 * config/i386/mingw32.h: Likewise.
2397 * config/i386/netbsd-elf.h: Likewise.
2398 * config/i386/next.h: Likewise.
2399 * config/i386/osf1elf.h: Likewise.
2400 * config/i386/osfrose.h: Likewise.
2401 * config/i386/sco5.h: Likewise.
2402 * config/i386/seq-gas.h: Likewise.
2403 * config/i386/seq-sysv3.h: Likewise.
2404 * config/i386/sequent.h: Likewise.
2405 * config/i386/sol2.h: Likewise.
2406 * config/i386/sun386.h: Likewise.
2407 * config/i386/uwin.asm: Likewise.
2408 * config/i386/uwin.h: Likewise.
2409 * config/i386/vxi386.h: Likewise.
2410 * config/i386/win32.h: Likewise.
2411 * config/i386/winnt.c: Likewise.
2412 * config/i386/xm-cygwin.h: Likewise.
2413 * config/i386/xm-mingw32.h: Likewise.
2414
2415 2001-10-31 Kazu Hirata <kazu@hxi.com>
2416
2417 * builtins.def: Fix comment typos.
2418 * config/alpha.c: Likewise.
2419 * config/arm/arm.c: Likewise.
2420 * config/avr/avr.h: Likewise.
2421 * config/d30v/d30v.c: Likewise.
2422 * config/d30v/d30v.h: Likewise.
2423 * config/d30v/d30v.md: Likewise.
2424 * config/dsp16xx/dsp16xx.c: Likewise.
2425 * config/fr30/fr30.c: Likewise.
2426 * config/fr30/fr30.md: Likewise.
2427 * config/i386/i386.c: Likewise.
2428 * config/i860/i860.c: Likewise.
2429 * config/i960/i960.c: Likewise.
2430 * config/ia64/ia64.c: Likewise.
2431 * config/mips/mips.c: Likewise.
2432 * config/pa/pa.c: Likewise.
2433 * config/rs6000/rs6000.c: Likewise.
2434 * config/s390/s390.c: Likewise.
2435 * config/sparc/sparc.c: Likewise.
2436
2437 2001-10-30 Kazu Hirata <kazu@hxi.com>
2438
2439 * config/mips/elf.h: Fix comment formatting.
2440 * config/mips/elf64.h: Likewise.
2441 * config/mips/iris5.h: Likewise.
2442 * config/mips/iris5gas.h: Likewise.
2443 * config/mips/iris6.h: Likewise.
2444 * config/mips/isa3264.h: Likewise.
2445 * config/mips/linux.h: Likewise.
2446 * config/mips/mips.c: Likewise.
2447 * config/mips/mips.h: Likewise.
2448 * config/mips/mips.md: Likewise.
2449 * config/mips/mips16.S: Likewise.
2450 * config/mips/netbsd.h: Likewise.
2451 * config/mips/osfrose.h: Likewise.
2452 * config/mips/r3900.h: Likewise.
2453 * config/mips/sni-svr4.h: Likewise.
2454 * config/mips/svr4-t.h: Likewise.
2455 * config/mips/ultrix.h: Likewise.
2456
2457 2001-10-30 Daniel Berlin <dan@cgsoftware.com>
2458
2459 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2460 when we update head->current.
2461
2462 2001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
2463
2464 * tree.c (id_string_size): Remove.
2465 (dump_tree_statistics): Update.
2466 * toplev.c (compile_file): If dumping stats, dump tree stats too.
2467
2468 Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
2469
2470 * sched-rgn.c (schedule_insns): Fix comment.
2471
2472 2001-10-30 Zack Weinberg <zack@codesourcery.com>
2473
2474 * configure.in: Correct previous change: don't assume that
2475 gas's version number _isn't_ the last thing on the line, or
2476 isn't the only number on the line, either.
2477 * configure: Regenerate.
2478
2479 2001-10-30 Kazu Hirata <kazu@hxi.com>
2480
2481 * cfgcleanup.c: Fix a comment typo.
2482
2483 2001-10-30 Kazu Hirata <kazu@hxi.com>
2484
2485 * alias.c: Fix comment formatting.
2486 * recog.c: Likewise.
2487 * config/cris/cris.c: Likewise.
2488 * config/cris/cris.h: Likewise.
2489 * config/i960/i960.c: Likewise.
2490 * config/i960/i960.h: Likewise.
2491
2492 2001-10-30 Kazu Hirata <kazu@hxi.com>
2493
2494 * config/arm/arm.c: Fix a comment typo.
2495 * config/arm/arm.h: Likewise.
2496 * config/ia64/ia64.c: Likewise.
2497
2498 2001-10-30 Jakub Jelinek <jakub@redhat.com>
2499
2500 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2501 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
2502 * rtl.h (set_unique_reg_note): Change return value.
2503 * gcse.c (try_replace_reg): Use set_unique_reg_note.
2504 * cse.c (cse_insn): Likewise.
2505 * expr.c (emit_move_insn): Likewise.
2506 * explow.c (force_reg): Likewise.
2507 * local-alloc (update_equiv_regs): Likewise.
2508 * loop.c (move_moveables, load_mems): Likewise.
2509 * reload (find_reloads): Likewise.
2510
2511 2001-10-30 Paolo Bonzini <bonzini@gnu.org>
2512
2513 Localization fixes.
2514 * c-decl.c (parmlist_tags_warning, start_struct,
2515 check_for_loop_decls): Separate messages for struct, union and
2516 enum cases to allow for languages in which they have different
2517 genders.
2518 * c-format.c (scanf_flag_specs): Separate short and long name of
2519 the assignment suppression feature.
2520 (check_format_types): Localize "pointer" and "different types"
2521 strings.
2522 * c-lex.c (lex_number): Localize "an unsigned long int" and
2523 related strings.
2524 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2525 warning message.
2526 * c-typeck.c (build_unary_up): Separate messages for increment and
2527 decrement cases to allow for languages in which they use different
2528 articles. Localize the strings "increment" and "decrement" in one
2529 case.
2530
2531 Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
2532
2533 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
2534 when no changes has been made.
2535
2536 * gcse.c (reg_set_bitmap): Turn into reg_set.
2537 (modify_mem_list_set, canon_modify_mem_list_set)
2538 (clear_modify_mem_tables, free_modify_mem_tables): New.
2539 (gcse_main); Use free_modify_mem_tables.
2540 (free_gcse_mem): Likewise; free the bitmaps.
2541 (alloc_gcse_main): Initialize the bitmaps.
2542 (canon_list_insert): Set canon_modify_mem_list_set.
2543 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
2544 (compute_hash_table): Use clear_modify_mem_tables.
2545 (reset_opr_set_tables): Likewise.
2546 (oprs_not_set_p): reg_set_bitmap is regset.
2547 (mark_set, mark_clobber): Likewise.
2548
2549 * df.h (DF_EQUIV_NOTES): New constant.
2550 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
2551 when asked for.
2552
2553 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
2554 (init_regions, schedule_insns): Conditionalize the checking
2555 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
2556
2557 Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
2558
2559 * i386.md (movti_rex64 splitter): Fix condition.
2560
2561 2001-10-29 Zack Weinberg <zack@codesourcery.com>
2562
2563 * configure.in: Do not assume that gas's version number is the
2564 last thing on the first line of as --version output.
2565 * configure: Regenerate.
2566
2567 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
2568 MT_WARNING, MT_ERROR, MT_FATAL.
2569 (main): Call gcc_init_libintl.
2570 (v_message): Call gettext on msgid and "warning: "
2571 * tradcif.y: Include intl.h.
2572 (yyerror): Make parameter definition consistent with
2573 prototype. Call gettext on msgid argument.
2574
2575 2001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2576
2577 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
2578 warnings.
2579
2580 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
2581
2582 Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2583
2584 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
2585 before referencing it.
2586
2587 2001-10-26 DJ Delorie <dj@redhat.com>
2588
2589 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
2590 override -G, and force -G0.
2591
2592 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
2593
2594 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
2595 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
2596 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
2597 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
2598
2599 * loop.h (struct induction): Rename ext_dependant to
2600 ext_dependent.
2601 * loop.c: Change all uses.
2602 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
2603 All callers changed.
2604 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
2605
2606 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
2607
2608 * c-parse.in (expr_no_commas, primary), c-typeck.c
2609 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
2610
2611 2001-10-29 David Edelsohn <edelsohn@gnu.org>
2612
2613 Undo assemble_name change in earlier patch.
2614
2615 Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
2616
2617 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
2618 determining the type of the receiver, do not check that TREE_CODE
2619 of receiver is CALL_EXPR before calling receiver_is_class_object().
2620 (receiver_is_class_object): For the GNU runtime: recognize
2621 the case that the receiver is self in a class method context.
2622 Check that TREE_CODE of receiver is CALL_EXPR when checking that
2623 the receiver is a call to objc_get_class.
2624
2625 2001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
2626
2627 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
2628
2629 Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2630
2631 * Makefile.in (OBJS): Put all files in alphabetical order.
2632
2633 * dwarf2out.c (add_const_value_attribute): Fix error in last
2634 change.
2635
2636 Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
2637
2638 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
2639 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
2640 fix warning.
2641 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
2642 (life_analysis): call purge_all_dead_edges after deleting noops.
2643 (delete_noop_move): Do not purge CFG.
2644 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
2645
2646 2001-10-28 David Edelsohn <edelsohn@gnu.org>
2647
2648 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
2649 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
2650 (ASM_GLOBALIZE_LABEL): Use assemble_name.
2651 (ASM_OUTPUT_COMMON): Likewise.
2652 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
2653 (rs6000_output_function_epilogue): Likewise.
2654 (output_mi_thunk): Fix typo.
2655 (rs6000_output_symbol_ref): Use assemble_name.
2656 (output_toc): Likewise.
2657 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
2658 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
2659 assemble_name calls STRIP_NAME_ENCODING.
2660 (ASM_OUTPUT_LABEL): Use assemble_name.
2661 (ASM_GLOBALIZE_LABEL): Likewise.
2662 (ASM_DECLARE_FUNCTION_NAME): Likewise.
2663 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
2664 (ASM_OUTPUT_LOCAL): Likewise.
2665
2666 Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2667
2668 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
2669 (expand_builtin_apply, expand_builtin_return): Likewise.
2670 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
2671
2672 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
2673
2674 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2675 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
2676 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
2677 configure, configure.in, except.c, except.h, flow.c, function.c,
2678 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
2679 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
2680 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
2681 unroll.c: Fix spelling errors.
2682
2683 * doc/extend.texi, doc/invoke.texi: Fix spelling.
2684
2685 * doc/gcc.texi: Document use of "dependent" and American spelling.
2686
2687 Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
2688
2689 * expr.c (emit_group_load): Support CONCATs by storing them to memory
2690 and reloading.
2691
2692 Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2693
2694 * expr.c (store_constructor_field): Only call adjust_address on MEM.
2695
2696 Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
2697
2698 * genrecog.c (write_switch): Output if before switch for
2699 DT_elt_zero_wide_safe.
2700
2701 2001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2702
2703 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
2704 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
2705 (FUNCTION_PROFILER): Const-ify.
2706 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
2707 (eliminate_constant_term, assemble_name, output_addr_const):
2708 Remove declarations.
2709 (ptr_half_pic_address_p, half_pic_hash): Prototype.
2710 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
2711 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
2712 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
2713 (half_pic_declare, half_pic_external): Const-ify.
2714 * toplev.c: Include "halfpic.h".
2715
2716 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
2717
2718 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
2719 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
2720 config/i386/i386.c, config/i386/i386-interix.h,
2721 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
2722 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
2723 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
2724 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
2725 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
2726 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
2727 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
2728 spelling errors.
2729
2730 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
2731 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
2732 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
2733 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
2734 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
2735 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
2736 system.h, toplev.c: Fix spelling errors.
2737
2738 Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2739
2740 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
2741
2742 * dwarf2out.c (reg_number): Abort if pseudo.
2743 (reg_loc_descriptor): Return 0 if pseudo.
2744 (is_based_loc): Return 0 if pseudo.
2745 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
2746 recursive calls.
2747 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
2748 (loc_descriptor): Return 0 if can't find location and handle 0
2749 return from recursive calls.
2750 (loc_descriptor_from_tree): Likewise.
2751 Fix handling of indirect.
2752 Also return 0 for PLACEHOLDER_EXPR.
2753 Clean up COMPONENT_REF cases.
2754 (add_AT_location_descriptor): Simplify, but handle 0 return from
2755 loc_descriptor.
2756 (add_const_value_attribute): Avoid shift count warning.
2757 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
2758 Set comp_unit_die as context if not in function.
2759
2760 * config/mips/mips-protos.h: Break up long lines.
2761 Remove needless #ifdef/#endif blocks.
2762 Don't declare functions declared in file made by genpreds or recog.h.
2763 * config/mips/mips.c (mips_output_function_prologue): TSIZE
2764 is now HOST_WIDE_INT; delete unneeded casts.
2765 * config/mips/mips.h: Don't use #elif.
2766
2767 * expr.c (stor_constructor_field): Always call adjust_address.
2768 Copy TARGET before changing its alias set.
2769 (store_field): Likewise, for TO_RTX.
2770 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
2771 replacement.
2772 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
2773 (find_placeholder): Return 0 if can't find object.
2774 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
2775 returns 0.
2776
2777 Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
2778
2779 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
2780
2781 Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
2782
2783 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
2784 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
2785 (merge_blocks): Properly udpate life after making edge nonfallthru.
2786 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
2787
2788 2001-10-26 Kazu Hirata <kazu@hxi.com>
2789
2790 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2791
2792 2001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
2793
2794 * c-typeck.c (convert_arguments): When comparing for enumeral
2795 type equality, use TYPE_MAIN_VARIANT.
2796 * gcc.dg/Wconversion.c: New tests.
2797
2798 2001-10-26 Kazu Hirata <kazu@hxi.com>
2799
2800 * s390/s390.c: Fix comment typos.
2801 * s390/s390.h: Likewise.
2802 * s390/s390.md: Likewise.
2803
2804 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
2805
2806 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
2807 (walk_tree): Use it for tail calls where appropriate.
2808
2809 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
2810
2811 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
2812 non-local label_refs.
2813
2814 2001-10-26 Kazu Hirata <kazu@hxi.com>
2815
2816 * config/h8300/h8300.md (4 anonymous patterns): New.
2817
2818 2001-10-26 Kazu Hirata <kazu@hxi.com>
2819
2820 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
2821 algorithm through the shift_info structure.
2822 (emit_a_shift): Update the use of get_shift_alg.
2823
2824 2001-10-27 Daniel Berlin <dan@cgsoftware.com>
2825
2826 * sched-rgn.c: Remove bitset typedef.
2827 Change bitset to sbitmap in prototypes / variable types.
2828 Remove bbset_size.
2829 Remove edgeset_bits.
2830 Remove edgeset_size.
2831 s/BITSET_ADD/SET_BIT/g
2832 s/BITSET_INVERT/sbitmap_ones/g
2833 s/BITSET_INTER/sbitmap_a_and_b/g
2834 s/BITSET_UNION/sbitmap_a_or_b/g
2835 s/BITSET_DIFFER/sbitmap_difference/g
2836 s/bitset_member/TEST_BIT/g
2837 (BITSET_*): Removed.
2838 (bitset_member): Removed.
2839 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
2840 EXECUTE_IF_SET_IN_SBITMAP.
2841 (split_edges): Rewrite, use sbitmap functions instead of bitset
2842 operations.
2843 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
2844
2845 2001-10-26 Andreas Schwab <schwab@suse.de>
2846
2847 * reload1.c (emit_input_reload_insns): Fix parens in last
2848 (undocumented) change that was supposed to change only whitespace.
2849
2850 Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2851
2852 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
2853
2854 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
2855 ASM_OPERANDS.
2856
2857 2001-10-26 Andreas Jaeger <aj@suse.de>
2858
2859 * flow.c (clear_log_links): Remove unused variable.
2860 * cfgcleanup.c (cleanup_cfg): Likewise.
2861
2862 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
2863
2864 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
2865 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
2866
2867 2001-10-26 Richard Henderson <rth@redhat.com>
2868
2869 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
2870 rename PV_REG to R27_REG.
2871 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
2872 (REG_CLASS_FROM_LETTER): Update.
2873 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
2874 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
2875 (udivsi3, modsi3, umodsi3): Likewise.
2876 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
2877
2878 2001-10-26 Richard Henderson <rth@redhat.com>
2879
2880 * cfg.c (clear_aux_for_blocks): Split out of ...
2881 (free_aux_for_blocks): here.
2882 (clear_aux_for_edges): Split from ...
2883 (free_aux_for_edges): here.
2884 * basic-block.h: Declare them.
2885 * lcm.c (compute_antinout_edge): Use them.
2886 (compute_laterin, compute_available, compute_nearerout): Likewise.
2887 (optimize_mode_switching): Likewise.
2888
2889 2001-10-26 Richard Henderson <rth@redhat.com>
2890
2891 * Makefile.in (unstage*): Remove as, ld, collect-ld before
2892 moving everything back to the main build directory.
2893
2894 2001-10-26 Christopher Faylor <cgf@redhat.com>
2895
2896 * config/i386/cygwin.h: Search target specific include directory, if
2897 appropriate.
2898
2899 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2900
2901 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
2902 of macro guards. Fix #endif comment.
2903
2904 * output.h (default_exception_section, default_eh_frame_section):
2905 Move prototypes outside of macro guard.
2906
2907 * crtstuff.c: Fix #endif comment.
2908
2909 Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
2910
2911 * doc/md.texi (movMM): Clarify semantics of storing into a
2912 non-paradoxical SUBREG.
2913
2914 2001-10-25 Zack Weinberg <zack@codesourcery.com>
2915
2916 * langhooks.c (lang_hook_default_clear_binding_stack): New.
2917 (lang_hook_default_get_alias_set): Move next to other alias
2918 hooks.
2919 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
2920 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
2921 (LANG_HOOKS_INITIALIZER): Add it.
2922 * toplev.h (struct lang_hooks): Add clear_binding_stack.
2923 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
2924 instead of a loop calling poplevel.
2925
2926 2001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
2927
2928 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
2929 occurrences of #elif with #if...#endif.
2930
2931 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2932
2933 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
2934
2935 Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2936
2937 * alias.c (can_address_p): No longer static.
2938 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
2939 Return 0 if all parameters are default values.
2940 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
2941 (adjust_address_1): Try harder to compute a size.
2942 * expr.c (expand_assignment, store_constructor): If can't address,
2943 set MEM_KEEP_ALIAS_SET_P.
2944 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
2945 (store_field): Likewise.
2946 (store_constructor): Simplify call to store_constructor_field.
2947 * expr.h (can_address_p): New declaration.
2948 * gensupport.c (gen_rtx_CONST_INT): New function.
2949 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
2950 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
2951 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
2952
2953 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
2954
2955 2001-10-24 Christopher Faylor <cgf@redhat.com>
2956
2957 * config/i386/cygwin.h: Use proper path for mingw crt files when
2958 -mno-cygwin.
2959
2960 Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2961
2962 * dwarf2out.c (file_info_cmp): Always return consistent results.
2963
2964 2001-10-24 Roger Sayle <roger@eyesopen.com>
2965
2966 * stmt.c (expand_end_case): Index jumptables from zero for
2967 suitably small values of minval.
2968
2969 2001-10-24 Jakub Jelinek <jakub@redhat.com>
2970
2971 * stor-layout.c (place_union_field): If any field was aligned with
2972 attribute aligned, set record type's TYPE_USER_ALIGN.
2973 (place_field): Likewise.
2974 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
2975 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
2976
2977 2001-10-24 Zack Weinberg <zack@codesourcery.com>
2978
2979 * c-common.h (struct c_common_identifier): Remove rid_code field.
2980 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
2981
2982 * c-typeck.c (constructor_designated): New local flag.
2983 (struct constructor_stack): Add "designated" field to match.
2984 (start_init): Clear it.
2985 (really_start_incremental_init, push_init_level): Push and
2986 clear it.
2987 (pop_init_level): Pop it.
2988 (set_designator): Set it.
2989
2990 (pop_init_level): Suppress "missing initializer" warnings if
2991 constructor_designated is true.
2992 (process_init_element): Suppress warning about union
2993 initialization under traditional C, if constructor_designated
2994 is true.
2995
2996 Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2997
2998 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
2999 change.
3000
3001 Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
3002
3003 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3004
3005 2001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
3006
3007 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3008 the node was already a set to a constant.
3009
3010 Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3011
3012 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3013 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3014
3015 2001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3016
3017 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3018 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
3019 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3020 * s390.c (s390_final_chunkify): Don't use string concatenation.
3021 (s390_function_prologue, s390_function_epilogue): Const-ify.
3022 * s390.h (FUNCTION_PROFILER): Remove unused variable.
3023
3024 2001-10-24 Jakub Jelinek <jakub@redhat.com>
3025
3026 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3027 prototypes.
3028
3029 2001-10-23 Stan Shebs <shebs@apple.com>
3030
3031 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3032 -traditional-cpp in first-stage compilation.
3033
3034 Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3035
3036 * gensupport.c (target_flags): Add.
3037
3038 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
3039
3040 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3041 if needed.
3042 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3043 * except.c (expand_builtin_frob_return_addr): Likewise.
3044 (expand_builtin_eh_return): Likewise.
3045 * stmt.c (expand_computed_goto): Likewise.
3046 * explow.c (memory_address): Likewise.
3047 (allocate_dynamic_stack_space): Clean up predicate testing.
3048 (probe_stack_range): Convert SIZE to Pmode.
3049 * calls.c (rtx_for_function_call): Only call convert_memory_address
3050 if needed.
3051 Pass function call operand as ptr_mode, not Pmode.
3052 * expr.c (expand_assignment): Clean up calls to convert_memory
3053 address by only doing so when needed and making offsets Pmode.
3054 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3055 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3056 is in Pmode, not ptr_mode.
3057
3058 2001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3059
3060 * darwin-protos.h (constructor_section, destructor_section,
3061 mod_init_section, mod_term_section): Prototype.
3062 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3063 Const-ify.
3064 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3065 Likewise.
3066 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
3067 objc_section_init declaration.
3068 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3069 (objc_section_init, try_section_alias): Make static.
3070 (alias_section): Make static and hide unused function.
3071 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3072
3073 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3074
3075 * alias.c (can_address_p): Compnonents are not addressable if
3076 the containing type has alias set 0.
3077 (get_alias_set): Rework to use STRIP_NOPS.
3078 Only call front-end routine on object, type, or object with
3079 NOPs stripped, not inner values.
3080 Use language hook to call front-end routine.
3081 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3082 (expand_builtin_apply): Call set_mem_align on MEMs we make.
3083 Don't pass alignment to emit_block_move.
3084 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3085 (expand_builtin_memset): Likewise, but for clear_storage.
3086 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3087 and remove C++ specific parts.
3088 * c-common.h (c_common_get_alias_set): Add declaration.
3089 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3090 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3091 (save_fixed_argument_area): Call set_mem_align.
3092 Remove alignment in call to emit_block_move.
3093 (emit_library_call_value_1, store_one_arg): Likewise.
3094 (target_for_arg): Remove; disabled long ago.
3095 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3096 once and similar cleanups.
3097 (offset_address): Use proper introductory comment.
3098 * expr.c (emit_block_move): Use alignment from that of MEM args, not
3099 from explicit operand; all callers changed.
3100 (clear_storage): Likewise.
3101 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3102 (store_field): Remove kludge on alias set used for to_rtx.
3103 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3104 (expand_expr_unaligned): Call set_mem_attributes instead of
3105 set_mem_alias_set.
3106 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3107 * function.c (assign_stack_temp_for_type): Set MEM alignment.
3108 (expand_function_end): Track MEM attributes of trampolines.
3109 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3110 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3111 attributes from original.
3112 * langhooks.c (lang_hook_default_get_alias_set): New function.
3113 (hook_get_alias_set_0): New function.
3114 * langhooks.h (hook_get_alias_set_0): New declaration.
3115 (lang_hook_default_get_alias_set): Likewise.
3116 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3117 * reload1.c (alter_reg): Use adjust_address_nv.
3118 * rtl.c (get_mode_alignment): Moved to here.
3119 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3120 change default if unknown from 1 to BITS_PER_UNIT.
3121 * stor-layout.c (get_mode_alignment): Remove from here.
3122 * toplev.h (struct lang_hoks): Add get_alias_set field.
3123 * tree.h (lang_get_alias_set): Delete declaration.
3124 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3125 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3126 (ix86_va_arg): Likewise.
3127 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3128 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3129 * config/sparc/sparc.c (sparc_va_arg): Likewise.
3130 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3131 (expand_block_move_mem): Remove dead code.
3132
3133 2001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
3134
3135 * c-common.c (warn_div_by_zero): New.
3136 * c-common.h (warn_div_by_zero): New.
3137 * c-decl.c (c_decode_option): Take it on the command line.
3138 * c-typeck.c (build_binary_op): Warn about division by zero.
3139 * doc/invoke.texi: Document the new command line option, fix
3140 documentation of -Wmultichar.
3141 * testsuite/gcc.dg/divbyzero.c: New tests.
3142 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3143
3144 Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
3145
3146 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3147
3148 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3149 to avoid update_life_info call.
3150 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3151 * cfgcleanup.c (bb_flags): New enum.
3152 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3153 (notice_new_block, update_forwarder_flag): New functions.
3154 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3155 (try_forward_edges): Likewise; update flags.
3156 (merge_blocks): Likewise.
3157 (outgoing_edges_match): Likewise.
3158 (try_crossjump_to_edge): Likewise.
3159 (try_optimize_cfg): Likewise; initialize and clear the flags;
3160 recompute life info if needed.
3161 (cleanup_cfg): No need to clear aux pointers.
3162
3163 2001-10-23 Alexandre Oliva <aoliva@redhat.com>
3164
3165 * config/i386/i386.c (override_options): Default to minimum
3166 stack alignment when optimizing for code size.
3167 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3168 change.
3169
3170 * config/i386/i386.c (override_options): Set upper limit of
3171 -mpreferred-stack-boundary to 12.
3172
3173 2001-10-22 Zack Weinberg <zack@codesourcery.com>
3174
3175 * recog.c (peephole2_optimize): Add default case to switch.
3176
3177 2001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
3178
3179 * doc/gcc.texi (Sending Patches): Remove.
3180
3181 2001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
3182
3183 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3184 fields when comparing.
3185
3186 2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3187
3188 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
3189 * arm.c (HOST_INT, HOST_UINT): Likewise.
3190
3191 2001-10-22 Stan Shebs <shebs@apple.com>
3192
3193 * config/darwin-protos.h (darwin_exception_section): Declare.
3194 (darwin_eh_frame_section): Declare.
3195
3196 Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
3197
3198 * i386.md (movti_rex64): Fix mode.
3199
3200 2001-10-22 Stan Shebs <shebs@apple.com>
3201
3202 * target.h (struct gcc_target): Add asm_out.exception_section,
3203 asm_out.eh_frame_section.
3204 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3205 (TARGET_ASM_EH_FRAME_SECTION): New.
3206 (TARGET_INITIALIZER): Update.
3207 * output.h (default_exception_section): Declare.
3208 (default_eh_frame_section): Declare.
3209 * dwarf2out.c: Include target.h.
3210 (output_call_frame_info): Call target hook for eh frames.
3211 (default_eh_frame_section): New function.
3212 * except.c: Include target.h.
3213 (output_function_exception_table): Call target hook for exception
3214 section.
3215 * varasm.c (default_exception_section): Rename from
3216 exception_section, remove EXCEPTION_SECTION macro.
3217
3218 * config/darwin.h (darwin_eh_frame_section): New function.
3219 (EXCEPTION_SECTION): Remove.
3220 (TARGET_ASM_EXCEPTION_SECTION): Define.
3221 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3222 (nextstep_exception_section): New function.
3223 (nextstep_eh_frame_section): New function.
3224 (TARGET_ASM_EXCEPTION_SECTION): Define.
3225 (TARGET_ASM_EH_FRAME_SECTION): Define.
3226
3227 * config/pa/som.h (EXCEPTION_SECTION): Remove.
3228 (TARGET_ASM_EXCEPTION_SECTION): Define.
3229 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3230 (EXCEPTION_SECTION): Remove.
3231 (TARGET_ASM_EXCEPTION_SECTION): Define.
3232 * config/stormy16/stormy16.h: Remove comments referencing
3233 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3234
3235 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3236 TARGET_ASM_EH_FRAME_SECTION.
3237
3238 2001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
3239
3240 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3241 terms.
3242
3243 * c-format.c: Fix spelling typo in comment.
3244
3245 * sched-int.h: Fix typo in GCC preamble.
3246
3247 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
3248
3249 PR debug/4252
3250 * doc/invoke.texi: Remove references to -fdump-translation-unit.
3251
3252 2001-10-22 Richard Henderson <rth@redhat.com>
3253
3254 * config/i386/i386.c (ix86_expand_clear): New.
3255 * config/i386/i386-protos.h: Declare it.
3256 * config/i386/i386.md (setcc peep2s): Use it.
3257 (movsi_xor): Unexport.
3258
3259 2001-10-22 Richard Henderson <rth@redhat.com>
3260
3261 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3262 free_EXPR_LIST_list for LOG_LINKS.
3263
3264 2001-10-21 Robert Lipe <robertlipe@usa.net>
3265
3266 * config/i386/i386.c (sco_asm_named_section): Delete.
3267 (sco_asm_out_constructor): Delete.
3268 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3269 (ASM_OUTPUT_DOUBLE_INT): Likewise.
3270 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
3271 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3272 (EXCEPTION_SECTION): Delete EH scn renaming hack.
3273
3274 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3275
3276 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3277 and/or fold extra calls into fewer ones.
3278 * collect2.c (dump_file): Likewise.
3279 * cppexp.c (parse_number): Likewise.
3280 * cpplex.c (_cpp_lex_direct): Likewise.
3281 * final.c (output_asm_insn, asm_fprintf): Likewise.
3282 * fix-header.c (inf_scan_ident, main): Likewise.
3283 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3284 Likewise.
3285 * fold-const.c (real_hex_to_f): Likewise.
3286 * gen-protos.c (parse_fn_proto): Likewise.
3287 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3288 * genrecog.c (change_state, write_action): Likewise.
3289 * gensupport.c (shift_output_template): Likewise.
3290 * local-alloc.c (requires_inout): Likewise.
3291 * mips-tfile.c (IS_ASM_IDENT): Likewise.
3292 * protoize.c (is_id_char, main): Likewise.
3293 * real.c (asctoeg): Likewise.
3294 * recog.c (asm_operand_ok): Likewise.
3295 * reload.c (find_reloads): Likewise.
3296 * scan.c (scan_identget_token): Likewise.
3297 * sched-vis.c (print_value): Likewise.
3298 * stringpool.c (ggc_alloc_string): Likewise.
3299 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3300 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3301 * tradcpp.c (rescan): Likewise.
3302 * tree.c (clean_symbol_name): Likewise.
3303 * varasm.c (decode_reg_name): Likewise.
3304
3305 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3306 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3307 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3308 * m88k.c (output_ascii): Likewise.
3309 * m88k.h (OVERRIDE_OPTIONS): Likewise.
3310 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3311 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3312 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3313
3314 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
3315
3316 * langhooks.c (lang_hook_default_do_nothing,
3317 lang_hook_default_decode_option): New defaults.
3318 * langhooks.h: Make hooks unconditional and non-NULL.
3319 * toplev.c (compile_file, toplev_main): Update.
3320 * toplev.h: Update comments.
3321 * objc/objc-act.c (lang_hooks): Update to new paradigm.
3322
3323 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3324
3325 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3326
3327 * system.h (IN_RANGE): New macro.
3328
3329 2001-10-21 Zack Weinberg <zack@codesourcery.com>
3330
3331 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3332 INTLDEPS variable, which does not include $LIBICONV.
3333 * Makefile.in: Use INTLDEPS in LIBDEPS.
3334 * configure: Regenerate.
3335
3336 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
3337
3338 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3339 * cpplex.c (lex_percent, lex_dot): Remove.
3340 (get_effective_char, skip_block_comment, skip_line_comment,
3341 parse_identifier_slow, parse_number, parse_string, save_comment,
3342 _cpp_lex_direct): Update to do lookback freely.
3343 (IF_NEXT_IS, BACKUP): New macros.
3344 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3345 * cppmacro.c (paste_tokens): Update.
3346
3347 2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
3348
3349 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3350
3351 2001-10-20 Hans-Peter Nilsson <hp@axis.com>
3352
3353 * reload1.c (reload): Check CONSTANT_P before calling
3354 LEGITIMATE_PIC_OPERAND_P.
3355 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3356 workaround of 2001-10-13.
3357
3358 Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
3359
3360 * i386.c (split_di): Handle splitting of DFmode.
3361
3362 Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3363
3364 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3365 (adjust_address_1, offset_address): Likewise.
3366
3367 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3368 (output_asm_insn): Call it for each line output.
3369 Don't record an operand more than once.
3370
3371 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3372 * main.c: Include config.h and system.h, but not ansidecl.h.
3373 * Makefile.in (main.o): Update accordingly.
3374
3375 Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
3376
3377 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3378
3379 Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
3380
3381 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3382 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3383 Break out from ...
3384 (find_sub_basic_blocks): ... here;
3385 (find_many_sub_basic_blocks): New.
3386 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3387
3388 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3389
3390 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3391
3392 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3393
3394 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3395 * flow.c (update_life_info): Measure time.
3396 * c-decl.c: Include timevar.h
3397 (c_expand_body): Measure time.
3398 * toplev.c (rest_of_compilation): Measure time of mode switching
3399 separately.
3400 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3401
3402 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3403 (lang_independent_options): Add asynchronous-unwind-tables
3404 (toplev_main): flag_asynchronous_unwind_tables implies
3405 flag_unwind_tables.
3406 * flags.h (flag_asynchronous_unwind_tables): Declare.
3407 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3408 flag_asynchronous_unwind_tables.
3409 (output_call_frame_info): Likewise.
3410 * invoke.texi (-fasynchronous-unwind-tables): Document.
3411 * i386.c (optimization_options): Enable
3412 flag_asynchronous_unwind_tables.
3413
3414 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
3415 * i386.md (s* expanders): Destination is QImode.
3416
3417 * toplev.c (rest_of_compilation): Do not call clear_log_links.
3418 * rtl.h (clear_log_links): Kill.
3419 * flow.c (clear_log_links): Make static; accept blocks parameter;
3420 do no clear life info.
3421 (update_life_info): Call clear_log_links.
3422
3423 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3424
3425 2001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
3426
3427 * cpplex.c (handle_newline, skip_escaped_newlines,
3428 get_effective_char, skip_block_comment, skip_line_comment,
3429 parse_identifier_slow, parse_number, parse_string,
3430 _cpp_lex_direct): Update to do more stepping back.
3431 (trigraph_ok): Similarly. Rename trigraph_p.
3432 (SAVE_STATE, RESTORE_STATE): Remove.
3433 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
3434
3435 * cpplib.c (destringize): Rename destringize_and_run, and
3436 call run_directive directly.
3437 (_cpp_do__Pragma): Simplify.
3438
3439 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3440
3441 * pe.c (arm_pe_unique_section): Const-ify.
3442 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3443 (switch_to_section): Add static prototype.
3444
3445 * output.h (drectve_section): Prototype.
3446
3447 2001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3448
3449 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3450 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3451 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3452 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3453 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3454 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3455 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3456 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3457 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3458 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3459 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3460 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3461 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3462 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3463 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3464 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3465 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3466 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3467 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3468 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3469 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3470 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3471 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3472 cris-*-none, cris-*-linux*: Update ${tmfile} list.
3473 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3474 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3475 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3476 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3477 v850-*-*): Delete superflous ${cpu_type} setting.
3478 * config/linux.h: Delete svr4.h include.
3479 (SET_ASM_OP): Delete.
3480 * config/netware.h (INT_ASM_OP): Undef before define.
3481 * config/ptx4.h: Delete elfos.h include.
3482 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3483 * config/svr4.h: Delete elfos.h include. Update commentary.
3484 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3485 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3486 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3487 config/v850/v850.h: Delete svr4.h include.
3488 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3489 config/m68k/m68kv4.h, config/m88k/sysv4.h,
3490 config/sparc/sysv4.h: Update includes.
3491 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3492 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3493 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3494 config/m88k/dguxbcs.h: Delete includes.
3495 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3496 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3497 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3498 it.
3499 * config/m88k/dgux.h: Delete include.
3500 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
3501 defining it.
3502 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3503 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3504 * config/sh/elf.h: Update include.
3505 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3506 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3507
3508 2001-10-19 Catherine Moore <clm@redhat.com>
3509
3510 * config/stormy16/stormy-abi: Updates to varargs descriptions.
3511 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
3512 base and count fields.
3513 (stormy16_expand_builtin_va_start): last_reg_count changed to
3514 size_of_reg_args. Use count + size in first comparison.
3515
3516 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3517
3518 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3519 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3520 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3521 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3522 Set alignment from type if INDIRECT_REF.
3523 (adjust_address_1, offset_address): Simplify alignment compuitation.
3524 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3525 here; done by set_mem_attributes.
3526
3527 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3528
3529 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3530 * arm-protos.h (rdata_section, zero_init_section, common_section):
3531 Prototype.
3532 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
3533 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
3534 traditional mode stringification.
3535 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
3536 in macros controling its use.
3537 * rtlanal.c: Include tm_p.h.
3538 * varasm.c (asm_output_aligned_bss): Mark parameter with
3539 ATTRIBUTE_UNUSED.
3540 (assemble_constant_align, assemble_start_function, assemble_align,
3541 assemble_variable, assemble_trampoline_template,
3542 output_constant_def_contents): Wrap potentially empty if-stmt body
3543 in brackets.
3544
3545 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3546
3547 * a29k-protos.h (literal_section): Prototype.
3548 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
3549 * a29k.md: Ensure function pointers are prototyped.
3550 * genattrtab.c (write_eligible_delay): Mark parameter with
3551 ATTRIBUTE_UNUSED.
3552
3553 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3554
3555 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
3556 * 1750a.c (print_operand): Fix format specifier warning.
3557 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
3558 * 1750a.md: Likewise.
3559 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
3560 * genemit.c (output_add_clobbers): Mark parameter with
3561 ATTRIBUTE_UNUSED.
3562 * genrecog.c (write_subroutine): Likewise.
3563 * integrate.c (expand_inline_function): Delete unused variable.
3564 * varasm.c (remove_from_pending_weak_list): Wrap with
3565 ASM_WEAKEN_LABEL.
3566
3567 2001-10-19 Jakub Jelinek <jakub@redhat.com>
3568
3569 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
3570 field is different to previous argument's neg field.
3571
3572 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
3573
3574 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3575
3576 * final.c (get_decl_from_op): New function.
3577 (output_asm_insn): Call it; write "*" when item with decl is address.
3578
3579 2001-10-19 Janis Johnson <janis187@us.ibm.com>
3580
3581 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
3582 about 64-bit support from the 3.0_branch version.
3583
3584 2001-10-19 Zack Weinberg <zack@codesourcery.com>
3585
3586 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
3587 USE_INCLUDED_LIBINTL when appropriate.
3588 * configure, config.in: Regenerate.
3589 * Makefile.in (datadir): Set to @datadir@.
3590 (intl.o): Also depend on $(CONFIG_H) and system.h.
3591
3592 * intl.c: Factor out common gettext initialization sequence.
3593 (gcc_init_libintl): New function.
3594 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
3595 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
3596 off NLS. Add multiple include guard. No need to #ifdef-guard
3597 an #undef. Prototype gcc_init_libintl here.
3598
3599 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
3600 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
3601 Use gcc_init_libintl.
3602
3603 2001-10-19 Catherine Moore <clm@redhat.com>
3604
3605 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
3606
3607 * config/stormy16/stormy16.c (stormy16_split_move): Make
3608 sure that REG_INC notes are present for auto_inc operands.
3609
3610 2001-10-19 Andreas Jaeger <aj@suse.de>
3611
3612 * configure: Regenerated.
3613 * configure.in: Add x86_64 to switch statements.
3614
3615 2001-10-18 Richard Henderson <rth@redhat.com>
3616
3617 * config/alpha/alpha.md (sibcall_osf_1): Load destination
3618 address into $27 explicitly.
3619 (sibcall_value_osf_1): Likewise.
3620
3621 Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3622
3623 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
3624 (offset_address): New function.
3625 (free_emit_status): Free regno_decl.
3626 (init_emit): Pass proper number of elements to xcalloc.
3627 Allocate regno_decl.
3628 (mark_emit_status): Mark regno_decl values.
3629 * expr.c (highest_pow2_factor): New function.
3630 (expand_assigment): Use it and offset_address.
3631 Properly handle ptr_mode vs. Pmode in offset calculation.
3632 (store_constructor, expand_expr_unaligned): Likewise.
3633 (expand_expr, case COMPONENT_EXPR): Likewise.
3634 * expr.h (offset_address): New decl.
3635 * function.h (struct emit_status): Add regno_decl.
3636 (REGNO_DECL): New macro.
3637 * final.c (output_asm_name): Move in file and don't conditionalize
3638 on flag_print_asm_name.
3639 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
3640 Output names of operands, if known.
3641 * function.c (assign_parms): Set REGNO_DECL.
3642 * integrate.c (integrate_decl_tree): Likewise.
3643 * stmt.c (expand_decl): Likewise.
3644 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
3645
3646 2001-10-18 Alexandre Oliva <aoliva@redhat.com>
3647
3648 * attribs.c (handle_noinline_attribute): New function.
3649 (handle_used_attribute): Likewise.
3650 (c_common_attribute_table): Added noinline and used.
3651 * doc/extend.texi (Function Attributes): Document them.
3652 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
3653 Warn when merging inline with attribute noinline.
3654 (start_decl, start_function): Warn if inline and attribute
3655 noinline appear in the same declaration.
3656
3657 2001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
3658
3659 * config.gcc: Update c4x and i370 for C front end-specific
3660 dependencies.
3661 * config/c4x/c4x-c.c: New.
3662 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
3663 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3664 New declarations.
3665 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
3666 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
3667 Make extern.
3668 (c4x_init_pragma): Remove.
3669 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
3670 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
3671 c4x_pr_ignored): Move to c4x-c.c.
3672 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
3673 * config/c4x/t-c4x: Update.
3674 * config/i370/i370-c.c: New.
3675 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
3676 (i370_pr_map): Move to i370-c.c.
3677 * config/i370/t-i370: New.
3678
3679 * doc/tm.texi: Update.
3680
3681 2001-10-17 Stan Shebs <shebs@apple.com>
3682
3683 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
3684 typo fixes throughout.
3685 (machopic_output_stub): Remove some dead code.
3686
3687 2001-10-17 Richard Earnshaw <rearnsha@arm.com>
3688
3689 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
3690 leak.
3691
3692 Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3693
3694 * Makefile.in (print-rtl.o): Depend on TREE_H.
3695 * alias.c (get_alias_set): Make two passes over objects to first
3696 see if inner object is access via restricted pointer.
3697 Defer allocating alias set for restricted pointer until here.
3698 Call find_placeholder with second arg nonzero.
3699 Minor cleanups.
3700 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
3701 set for restricted pointer types.
3702 * emit-rtl.c (set_mem_attributes): Set more attributes.
3703 (set_mem_align, change_address, adjust_address_1): New functions.
3704 (change_address_1): Now static.
3705 (adjust_address, adjust_address_nv): Deleted.
3706 (replace_equiv_address): Call change_address_1.
3707 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
3708 (find_placeholder): Get starting point from PLIST arg.
3709 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
3710 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
3711 (adjust_address, adjust_address_nv): New macros.
3712 * print-rtl.c (tree.h): New include.
3713 (print_rtx, case MEM): Print all memory attributes.
3714
3715 2001-10-17 Richard Henderson <rth@redhat.com>
3716
3717 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
3718
3719 2001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
3720
3721 * c-tree.texi: Eliminate duplicated word.
3722 * cpp.texi: Likewise.
3723 * install.texi: Likewise.
3724 * invoke.texi: Likewise.
3725 * tm.texi: Likewise.
3726
3727 2001-10-17 Michael Collison <collison@isisinc.net>
3728
3729 * dsp16xx.c: Fix comment formatting to match GNU standards.
3730 (dsp16xx_output_function_prologue): Change type of 'size'
3731 parameter from 'int' to HOST_WIDE_INT.
3732 (dsp16xx_output_function_epilogue): Change type of 'size'
3733 parameter from 'int' to HOST_WIDE_INT.
3734
3735 2001-10-16 Richard Henderson <rth@redhat.com>
3736
3737 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
3738 * configure, config.in: Rebuild.
3739
3740 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
3741 (ix86_output_addr_diff_elt): New.
3742 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
3743 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3744 (JUMP_TABLES_IN_TEXT_SECTION): New.
3745 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
3746 * config/i386/i386-protos.h: Update.
3747
3748 * config/i386/386bsd.h, config/i386/beos-elf.h,
3749 config/i386/freebsd-aout.h, config/i386/freebsd.h,
3750 config/i386/i386-interix.h, config/i386/i386elf.h,
3751 config/i386/linux.h, config/i386/netbsd-elf.h,
3752 config/i386/netbsd.h, config/i386/openbsd.h,
3753 config/i386/ptx4-i.h, config/i386/rtemself.h,
3754 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
3755 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
3756
3757 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
3758
3759 * stmt.c (expand_asm_operands): Update commentary.
3760
3761 2001-10-16 Stan Shebs <shebs@apple.com>
3762
3763 * config/darwin.h (GCC_NAME): Remove, no longer used.
3764 (NO_MATH_LIBRARY): Ditto.
3765 (MATH_LIBRARY): Define to emptiness.
3766 (DWARF2_DEBUGGING_INFO): Define.
3767 (PREFERRED_DEBUGGING_TYPE): Define.
3768 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
3769 (EXCEPTION_SECTION): Define.
3770 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3771 * config/darwin.c (darwin_encode_section_info): Handle case of
3772 DECL_INITIAL being error_mark_node.
3773
3774 2001-10-16 Richard Henderson <rth@redhat.com>
3775
3776 * alpha.c (current_file_function_operand): Don't fail for profiling.
3777 (direct_call_operand): New.
3778 * alpha-protos.h: Declare it.
3779 * alpha.h (EXTRA_CONSTRAINT): Use it.
3780 (PREDICATE_CODES): Add it.
3781 (ASM_OUTPUT_MI_THUNK): Remove.
3782 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
3783 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
3784
3785 2001-10-16 Krister Walfridsson <cato@df.lth.se>
3786
3787 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
3788 (JUMP_TABLES_IN_TEXT_SECTION): Define.
3789
3790 Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
3791
3792 * cfg.c (free_edge): Break out from ....
3793 (remove_edge): ... here.
3794 (clear_edges): Use free_edge.
3795
3796 * att.h (ASM_QUAD): Add comment.
3797 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
3798
3799 Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
3800
3801 * i386.c (split_ti): New function.
3802 (ix86_split_to_parts): Support TImodes.
3803 * i386.h (VALID_INT_MODE_P): Add TImode.
3804 * i386.md (movdi splitter): Fix.
3805 (movti): Support 64bit integer registers.
3806 (movti_rex64): New function and splitter.
3807
3808 * i386.c (*_cost): Add movsx/movzx cost.
3809 * i386.h (struct processor_costs): Add movsx/movzx fields.
3810 (RTX_COSTS): Handle zero/sign extend + avoid believing that
3811 64bit operations require split on 64bit machine.
3812 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
3813
3814 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
3815 (ix86_expand_move): Avoid pushes of memory if size does not match;
3816 move long constants to register.
3817 (x86_initialize_trampoline): Fix mode.
3818 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
3819 Use ASM_QUAD on 64bit.
3820 * i386.md (test pattern): Disallow impossible constants.
3821 (tablejump PIC expander): Fix emitting of sum.
3822 (movdicc_rex64): Rename to movdicc.
3823 * linux64.h (LINK_SPEC): Add missing '%'.
3824
3825 2001-10-16 Alexandre Oliva <aoliva@redhat.com>
3826
3827 * tree-inline.c (inlinable_function_p): Leave it up to the
3828 front-end to turn -finline-functions into DECL_INLINE set for all
3829 functions.
3830
3831 2001-10-16 Stan Shebs <shebs@apple.com>
3832
3833 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
3834
3835 2001-10-16 Alan Modra <amodra@bigpond.net.au>
3836
3837 * recog.c: Formatting and comment typo fixes.
3838
3839 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
3840 version in single tree build.
3841 * configure: Regenerate.
3842
3843 2001-10-15 David Edelsohn <edelsohn@gnu.org>
3844
3845 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
3846 MODE arguments to gen_rtx and compare operand with const0_rtx.
3847
3848 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
3849
3850 * system.h: Poison old unused target macros.
3851 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
3852 * config/stormy16/stormy16.c: Update references to obsolete macros.
3853 * config/stormy16/stormy16.h: Similarly.
3854 * config/stormy16/stormy16.md: Similarly.
3855 * config/cris/cris.h: Similarly.
3856
3857 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
3858
3859 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
3860 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
3861 cpp_register_pragma): Update accordingly.
3862
3863 2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
3864
3865 * c-pragma.h (cpp_register_pragma_space): Remove.
3866 * cpplib.h (cpp_register_pragma_space): Remove.
3867 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
3868 (cpp_register_pragma_space): Remove.
3869 (cpp_register_pragma): Simplify using lookup_pragma_entry,
3870 add sanity checks.
3871 (do_pragma): Similarly.
3872 (_cpp_init_internal_pragmas): Don't register namespaces.
3873
3874 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
3875 Don't register namespaces.
3876 * cp/lex.c (init_cp_pragma): Similarly.
3877 * doc/tm.texi: Update.
3878
3879 2001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
3880
3881 PR c/4157
3882 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
3883
3884 2001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
3885
3886 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
3887 add scheduling support.
3888 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
3889 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
3890 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
3891
3892
3893 2001-10-13 Hans-Peter Nilsson <hp@axis.com>
3894
3895 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
3896 missing CONSTANT_P test in core GCC.
3897
3898 2001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
3899
3900 * cppmain.c (struct printer): New member source.
3901 (scan_translation_unit): Fix spacing at start of lines.
3902 (cb_line_change): Update.
3903
3904 * gcc.dg/cpp/spacing2.c: New test.
3905
3906 2001-10-12 Hans-Peter Nilsson <hp@axis.com>
3907
3908 * config/cris/arit.c: Use __builtin_labs, not abs.
3909
3910 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
3911
3912 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
3913 misplaced sprintf and fprintf argument.
3914
3915 2001-10-12 Zack Weinberg <zack@codesourcery.com>
3916
3917 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
3918 * configure.in, Makefile.in: Take out obsolete check-po logic.
3919 * configure, config.in: Regenerate.
3920
3921 2001-10-12 Ziemowit Laski <zlaski@apple.com>
3922
3923 * objc/objc-act.c (finish_objc): Correct precondition for emitting
3924 symtab declarations.
3925
3926 2001-10-12 Stan Shebs <shebs@apple.com>
3927
3928 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
3929 declarations of arguments and local variables.
3930
3931 2001-10-12 Christopher Faylor <cgf@redhat.com>
3932
3933 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
3934 ENDFILE_SPEC definition.
3935
3936 2001-10-12 Kazu Hirata <kazu@hxi.com>
3937
3938 * gthr-dce.h: Fix comment formatting.
3939 * gthr-posix.h: Likewise.
3940 * gthr-single.h: Likewise.
3941 * gthr-solaris.h: Likewise.
3942 * gthr-vxworks.h: Likewise.
3943 * gthr-win32.h: Likewise.
3944
3945 2001-10-12 Jakub Jelinek <jakub@redhat.com>
3946
3947 * final.c (output_asm_insn): Make sure assembly dialects are
3948 terminated, not nested. Output `|' and `}' characters if they
3949 don't appear inside assembly dialect selection.
3950 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
3951 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
3952 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
3953 strsetsi_rex_1): Add {} braces.
3954
3955 2001-10-11 Zack Weinberg <zack@codesourcery.com>
3956
3957 * toplev.c (compile_file): Ignore return value from yyparse.
3958 Always pop any nested binding levels after yyparse returns.
3959
3960 2001-10-11 Richard Henderson <rth@redhat.com>
3961
3962 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
3963
3964 2001-10-11 Richard Henderson <rth@redhat.com>
3965
3966 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
3967 fall back to add_AT_long_long for large CONST_INT.
3968
3969 2001-10-11 Richard Henderson <rth@redhat.com>
3970
3971 * config/i386/i386.md (setcc splitters): Add four splitters to
3972 simplify compound compares that simplify_comparison can't handle.
3973
3974 2001-10-11 Zack Weinberg <zack@codesourcery.com>
3975
3976 * cpplex.c (digraph_spellings, token_spellings): Make static.
3977
3978 2001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3979
3980 * unroll.c (loop_iterations): Fixup last patch.
3981
3982 2001-10-11 Richard Henderson <rth@redhat.com>
3983
3984 * rtl.h (REG_VTABLE_REF): New.
3985 * rtl.c (reg_note_name): Add it.
3986 * combine.c (distribute_notes): Handle it.
3987 * final.c (final_scan_insn): Handle it.
3988 * tree.def (VTABLE_REF): New.
3989 * expr.c (expand_expr): Handle it.
3990 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
3991 * output.h: Declare them.
3992
3993 2001-10-11 Richard Henderson <rth@redhat.com>
3994
3995 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
3996 for a DECL_INITIAL.
3997
3998 2001-10-11 David Edelsohn <edelsohn@gnu.org>
3999
4000 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4001 available in 64-bit mode.
4002
4003 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
4004
4005 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4006 cris-*-linux* cases.
4007 * config/cris/cris-protos.h: New file.
4008 * config/cris/cris.c: New file.
4009 * config/cris/cris.h: New file.
4010 * config/cris/cris.md: New file.
4011 * config/cris/linux.h: New file.
4012 * config/cris/aout.h: New file.
4013 * config/cris/arit.c: New file.
4014 * config/cris/cris_abi_symbol.c: New file.
4015 * config/cris/mulsi3.asm: New file.
4016 * config/cris/t-aout: New file.
4017 * config/cris/t-cris: New file.
4018 * config/cris/t-elfmulti: New file.
4019 * config/cris/t-linux: New file.
4020 * doc/invoke.texi: Add CRIS options.
4021 * doc/install.texi (Specific): Add blurb for CRIS.
4022
4023 2001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4024
4025 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4026 before using it.
4027 * config/float/i32.h: Likewise.
4028 * config/float-i386.h: Likewise.
4029 * config/float-i64.h: Likewise.
4030 * config/float-m68k.h: Likewise.
4031 * config/float-sh.h: Likewise.
4032 * config/float-sparc.h: Likewise.
4033
4034 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
4035
4036 * doc/contrib.texi: Add note about CRIS port to my entry.
4037
4038 2001-10-11 Kazu Hirata <kazu@hxi.com>
4039
4040 * basic-block.h: Fix formatting.
4041 * bitmap.h: Likewise.
4042 * cpplib.h: Likewise.
4043 * c-tree.h: Likewise.
4044 * diagnostic.h: Likewise.
4045 * flags.h: Likewise.
4046 * ggc.h: Likewise.
4047 * longlong.h: Likewise.
4048 * real.h: Likewise.
4049 * reload.h: Likewise.
4050 * rtl.h: Likewise.
4051 * tree.h: Likewise.
4052
4053 2001-10-10 Richard Henderson <rth@redhat.com>
4054
4055 * c-parse.in (asm_operand): Allow named operands.
4056 * genconfig.c (max_recog_operands): Set to 29.
4057 * local-alloc.c (requires_inout): Skip multiple digits.
4058 * recog.c (asm_operand_ok): Likewise.
4059 (preprocess_constraints): Use strtoul for matching constraints.
4060 (constrain_operands): Likewise.
4061 * regmove.c (find_matches): Likewise.
4062 * reload.c (find_reloads): Likewise.
4063 * stmt.c (parse_output_constraint): Don't reject in-out
4064 constraint on operands > 9. Reject '[' in constraint.
4065 (expand_asm_operands): Handle named operands. Use strtoul
4066 for matching constraints.
4067 (check_operand_nalternatives): Split out from expand_asm_operands.
4068 (check_unique_operand_names): New.
4069 (resolve_operand_names, resolve_operand_name_1): New.
4070
4071 * doc/extend.texi (Extended Asm): Document named operands.
4072 * doc/md.texi (Simple Constraints): Document matching constraints
4073 on operands > 9.
4074
4075 2001-10-10 Richard Henderson <rth@redhat.com>
4076
4077 * combine.c (try_combine): Handle a SEQUENCE of one insn.
4078
4079 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4080 (jcc splitters): Add two splitters to simplify compound compares
4081 that simplify_comparison can't handle.
4082
4083 2001-10-10 Richard Henderson <rth@redhat.com>
4084
4085 * langhooks.c: Include langhooks.h.
4086 * Makefile.in (langhooks.o): Depend on it.
4087
4088 Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
4089
4090 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4091 should not be considered as a no-op.
4092 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4093
4094 2001-10-10 Stan Shebs <shebs@apple.com>
4095
4096 * alias.c: Remove uses of "register" specifier in declarations
4097 of arguments and local variables.
4098 * c-common.c: Ditto.
4099 * c-convert.c: Ditto.
4100 * c-decl.c: Ditto.
4101 * c-format.c: Ditto.
4102 * c-semantics.c: Ditto.
4103 * c-typeck.c: Ditto.
4104 * caller-save.c: Ditto.
4105 * calls.c: Ditto.
4106 * cfg.c: Ditto.
4107 * cfgbuild.c: Ditto.
4108 * cfgrtl.c: Ditto.
4109 * collect2.c: Ditto.
4110 * combine.c: Ditto.
4111 * convert.c: Ditto.
4112 * cppexp.c: Ditto.
4113 * cppfiles.c: Ditto.
4114 * cse.c: Ditto.
4115 * dbxout.c: Ditto.
4116 * defaults.h: Ditto.
4117 * df.c: Ditto.
4118 * dwarf2out.c: Ditto.
4119 * dwarfout.c: Ditto.
4120 * emit-rtl.c: Ditto.
4121 * explow.c: Ditto.
4122 * expmed.c: Ditto.
4123 * expr.c: Ditto.
4124 * final.c: Ditto.
4125 * fix-header.c: Ditto.
4126 * floatlib.c: Ditto.
4127 * flow.c: Ditto.
4128 * fold-const.c: Ditto.
4129 * function.c: Ditto.
4130 * gcc.c: Ditto.
4131 * gcse.c: Ditto.
4132 * gen-protos.c: Ditto.
4133 * genattrtab.c: Ditto.
4134 * gencheck.c: Ditto.
4135 * genconfig.c: Ditto.
4136 * genemit.c: Ditto.
4137 * genextract.c: Ditto.
4138 * genflags.c: Ditto.
4139 * gengenrtl.c: Ditto.
4140 * genoutput.c: Ditto.
4141 * genpeep.c: Ditto.
4142 * genrecog.c: Ditto.
4143 * gensupport.c: Ditto.
4144 * global.c: Ditto.
4145 * gmon.c: Ditto.
4146 * graph.c: Ditto.
4147 * haifa-sched.c: Ditto.
4148 * hard-reg-set.h: Ditto.
4149 * hash.c: Ditto.
4150 * integrate.c: Ditto.
4151 * jump.c: Ditto.
4152 * lists.c: Ditto.
4153 * local-alloc.c: Ditto.
4154 * loop.c: Ditto.
4155 * mips-tdump.c: Ditto.
4156 * mips-tfile.c: Ditto.
4157 * optabs.c: Ditto.
4158 * prefix.c: Ditto.
4159 * print-rtl.c: Ditto.
4160 * read-rtl.c: Ditto.
4161 * real.c: Ditto.
4162 * recog.c: Ditto.
4163 * reg-stack.c: Ditto.
4164 * regclass.c: Ditto.
4165 * regmove.c: Ditto.
4166 * reload.c: Ditto.
4167 * reload1.c: Ditto.
4168 * reorg.c: Ditto.
4169 * resource.c: Ditto.
4170 * rtl.c: Ditto.
4171 * rtlanal.c: Ditto.
4172 * scan.c: Ditto.
4173 * sched-deps.c: Ditto.
4174 * sched-rgn.c: Ditto.
4175 * sdbout.c: Ditto.
4176 * simplify-rtx.c: Ditto.
4177 * stmt.c: Ditto.
4178 * stor-layout.c: Ditto.
4179 * toplev.c: Ditto.
4180 * tradcif.y: Ditto.
4181 * tradcpp.c: Ditto.
4182 * tree.c: Ditto.
4183 * unroll.c: Ditto.
4184 * varasm.c: Ditto.
4185 * xcoffout.c: Ditto.
4186
4187 2001-10-10 Richard Henderson <rth@redhat.com>
4188
4189 * rtl.h (can_reverse_comparison_p): Remove.
4190
4191 2001-10-10 Christopher Faylor <cgf@redhat.com>
4192
4193 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4194 used.
4195
4196 2001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4197
4198 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4199 (Thanks to Chris Faylor for suggesting macro name).
4200 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4201 WIN32 defines.
4202 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4203 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4204 (MATH_LIBRARY): Undef before definition.
4205 (OUTPUT_QUOTED_STRING): Likewise.
4206 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4207
4208 2001-10-10 Richard Henderson <rth@redhat.com>
4209
4210 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4211 (fde_unencoded_compare): Likewise. Don't use subtraction to get
4212 a tristate comparison value.
4213 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4214
4215 2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4216
4217 PR c++/4512
4218 * unroll.c (loop_iterations): Ignore insns generated by loop
4219 unrolling.
4220
4221 * config.gcc (mips*-*-gnu*): Delete support.
4222 * config/mips/gnu.h: Remove.
4223
4224 2001-10-10 Kazu Hirata <kazu@hxi.com>
4225
4226 * calls.c: Fix formatting.
4227 * c-decl.c: Likewise.
4228 * cfgcleanup.c: Likewise.
4229 * combine.c: Likewise.
4230 * cppfiles.c: Likewise.
4231 * cpplib.c: Likewise.
4232 * cppmacro.c: Likewise.
4233 * crtstuff.c: Likewise.
4234 * cse.c: Likewise.
4235 * dwarf2out.c: Likewise.
4236 * expmed.c: Likewise.
4237 * expr.c: Likewise.
4238 * fold-const.c: Likewise.
4239 * function.c: Likewise.
4240 * gcse.c: Likewise.
4241 * genattrtab.c: Likewise.
4242 * ggc-page.c: Likewise.
4243 * integrate.c: Likewise.
4244 * libgcc2.c: Likewise.
4245 * loop.c: Likewise.
4246 * optabs.c: Likewise.
4247 * profile.c: Likewise.
4248 * protoize.c: Likewise.
4249 * real.c: Likewise.
4250 * recog.c: Likewise.
4251 * reload1.c: Likewise.
4252 * reload.c: Likewise.
4253 * reorg.c: Likewise.
4254 * resource.c: Likewise.
4255 * sched-rgn.c: Likewise.
4256 * sdbout.c: Likewise.
4257 * stmt.c: Likewise.
4258 * toplev.c: Likewise.
4259 * varasm.c: Likewise.
4260
4261 2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
4262
4263 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4264 * Makefile.in (langhooks.o): Add dependencies.
4265
4266 Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
4267
4268 * rs6000.c (rs6000_emit_load_toc_table): Don't
4269 strdup the toc label.
4270 (create_TOC_reference): Likewise.
4271
4272 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4273
4274 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4275 version default.
4276
4277 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4278
4279 * config/i386/i386.c (ix86_attribute_table): Correct
4280 min_len, max_len fields for dllimport, dllexport and shared.
4281
4282 2001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
4283
4284 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4285 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4286 Consistently use "nonzero" instead of "non-zero".
4287
4288 2001-10-09 Kazu Hirata <kazu@hxi.com>
4289
4290 * acconfig.h: Fix comment formatting.
4291 * c-dump.h: Likewise.
4292 * c-tree.h: Likewise.
4293 * conditions.h: Likewise.
4294 * expr.h: Likewise.
4295 * function.h: Likewise.
4296 * gthr.h: Likewise.
4297 * hwint.h: Likewise.
4298 * integrate.h: Likewise.
4299 * intl.h: Likewise.
4300 * loop.h: Likewise.
4301 * optabs.h: Likewise.
4302
4303 2001-10-09 Kazu Hirata <kazu@hxi.com>
4304
4305 * c-common.h: Fix comment formatting.
4306 * c-dump.c: Likewise.
4307 * cfg.c: Likewise.
4308 * diagnostic.h: Likewise.
4309 * except.c: Likewise.
4310 * gcc.h: Likewise.
4311 * gcov-io.h: Likewise.
4312 * genattrtab.c: Likewise.
4313 * output.h: Likewise.
4314 * predict.h: Likewise.
4315 * reload1.c: Likewise.
4316 * reload.h: Likewise.
4317 * resource.h: Likewise.
4318 * scan.h: Likewise.
4319 * system.h: Likewise.
4320 * tree.h: Likewise.
4321 * tree-inline.c: Likewise.
4322 * tsystem.h: Likewise.
4323 * varasm.c: Likewise.
4324 * xcoffout.h: Likewise.
4325
4326 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
4327
4328 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4329
4330 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
4331
4332 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4333 config/i386/i386elf.h, config/i386/netbsd-elf.h,
4334 config/i386/netware.h, config/mcore/gfloat.h,
4335 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4336 config/netware.h, gccbug.in: Update FSF address.
4337
4338 2001-10-09 Kazu Hirata <kazu@hxi.com>
4339
4340 * c-common.c: Fix comment typos.
4341 * cfgrtl.c: Likewise.
4342 * collect2.c: Likewise.
4343 * cpplex.c: Likewise.
4344 * doloop.c: Likewise.
4345 * dwarf2out.c: Likewise.
4346 * dwarfout.c: Likewise.
4347 * expr.c: Likewise.
4348 * fold-const.c: Likewise.
4349 * gcc.c: Likewise.
4350 * gcov.c: Likewise.
4351 * gcse.c: Likewise.
4352 * global.c: Likewise.
4353 * ifcvt.c: Likewise.
4354 * loop.c: Likewise.
4355 * optabs.c: Likewise.
4356 * protoize.c: Likewise.
4357 * regclass.c: Likewise.
4358 * reorg.c: Likewise.
4359 * rtl.h: Likewise.
4360 * stmt.c: Likewise.
4361 * tree.h: Likewise.
4362 * doc/cpp.texi: Likewise.
4363 * doc/c-tree.texi: Likewise.
4364 * doc/extend.texi: Likewise.
4365 * doc/invoke.texi: Likewise.
4366 * doc/objc.texi: Likewise.
4367 * doc/tm.texi: Likewise.
4368
4369 2001-10-08 Richard Henderson <rth@redhat.com>
4370
4371 * varasm.c (set_named_section_flags): Initialize "declared".
4372
4373 2001-10-08 Robert Lipe <robertlipe@usa.net>
4374
4375 * varasm.c (struct in_named_entry): Add declared.
4376 (named_section_first_declaration): New function.
4377 (default_elf_asm_named_section): Use it.
4378 * output.h (named_section_first_declaration): New.
4379
4380 2001-10-08 Richard Henderson <rth@redhat.com>
4381
4382 * i386.md (movsi_xor): Export.
4383 (setcc peep2): Use it when available; add an alternative to
4384 match zero_extendhisi2_and.
4385
4386 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4387
4388 * romp-protos.h (romp_initialize_trampoline): New function.
4389 * romp.c (romp_initialize_trampoline): Likewise.
4390 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4391 romp_initialize_trampoline.
4392
4393 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4394
4395 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4396 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4397 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4398 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4399
4400 2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4401
4402 * unroll.c (loop_iterations): Extend check for multiple back edges.
4403
4404 2001-10-08 Alexandre Oliva <aoliva@redhat.com>
4405
4406 * langhooks.h: New file.
4407 * Makefile.in (OBJS): Added langhooks.o.
4408 (c-lang.o): Depend on langhooks.h.
4409 (c-common.o): Don't depend on tree-inline.h.
4410 (tree-inline.o): Depend on toplev.h.
4411 (langhooks.o): New rule.
4412 * c-common.c: Don't include tree-inline.h.
4413 (c_mark_lang_decl): Mark argument c as unused.
4414 (c_common_lang_init): Don't initialize hooks here.
4415 * c-lang.c: Include langhooks.h, then override some macros.
4416 (lang_hooks): Initialize with macros in langhooks.h.
4417 (c_init): Don't initialize hooks here.
4418 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4419 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
4420 * tree-inline.c: Include toplev.h. Don't define hook variables.
4421 * tree-inline.h: Don't define hook types nor declare hook
4422 variables. Move macros to...
4423 * langhooks.c: ... new file, as functions. Adjust all callers.
4424
4425 2001-10-08 Jeffrey A Law <law@cygnus.com>
4426
4427 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4428 purge_mem_unchanging_flag on all instructions, not just on those
4429 before NOTE_INSN_FUNCTION_BEG.
4430
4431 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4432
4433 * cppmacro.c (_cpp_create_definition): Leave comments off.
4434
4435 * doc/cpp.texi: Update.
4436
4437 2001-10-08 DJ Delorie <dj@redhat.com>
4438
4439 * c-decl.c (grokfield): Make sure the only unnamed fields
4440 we're allowing are either structs or unions.
4441 * doc/extend.texi: Add documentation for the unnamed field
4442 extension.
4443
4444 2001-10-08 Zack Weinberg <zack@codesourcery.com>
4445
4446 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
4447 * configure.in: Use it.
4448 * configure: Regenerated.
4449 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
4450 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
4451
4452 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4453
4454 * cppfiles.c (open_file): Don't mark zero-length files
4455 never-reread here. Don't output diagnostics here either.
4456 (stack_include_file): Mark them never-reread here.
4457 (_cpp_read_file): Update.
4458
4459 2001-10-08 Richard Henderson <rth@redhat.com>
4460
4461 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4462
4463 2001-10-08 Richard Henderson <rth@redhat.com>
4464
4465 * expr.c (store_expr): When converting a CONST_INT for storage
4466 in a SUBREG, convert it to both SUBREG modes before stripping
4467 the SUBREG.
4468
4469 2001-10-08 Richard Henderson <rth@redhat.com>
4470
4471 * varasm.c (restore_varasm_status): New.
4472 * function.h: Declare it.
4473 * function.c (pop_function_context_from): Call it.
4474
4475 2001-10-08 Richard Henderson <rth@redhat.com>
4476
4477 * c-common.h (struct c_lang_decl): Add declared_inline.
4478 * c-tree.h (DECL_DECLARED_INLINE_P): New.
4479 * c-lang.c (c_disregard_inline_limits): Use it.
4480 * c-decl.c (duplicate_decls): Likewise.
4481 (pushdecl, redeclaration_error_message): Likewise.
4482 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4483 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
4484 Set DECL_INLINE if -finline-functions.
4485 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4486
4487 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4488
4489 * cppmacro.c (funlike_invocation_p): Move some logic to caller
4490 in enter_macro_context. Create a padding token in its own context
4491 if necessary when the search for '(' fails.
4492 (enter_macro_context): Update.
4493
4494 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4495
4496 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4497 genmultilib, toplev.c: Fix spelling errors of "separate" as
4498 "seperate", and corresponding spelling errors of related words.
4499
4500 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4501
4502 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
4503 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
4504 Likewise.
4505 * c-dump.c (dump_option_value_info): Likewise.
4506 * c-format.c (format_length_info, format_char_info,
4507 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
4508 * collect2.c (names): Likewise.
4509 * cppdefault.h (default_include): Likewise.
4510 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
4511 * flow.c (life_analysis): Likewise.
4512 * gcc.c (dir_separator_str, modify_target, option_map,
4513 target_option_translations, spec_list_1, extra_specs_1,
4514 init_spec): Likewise.
4515 * gcov.c (gcov_version_string): Likewise.
4516 * genattr.c (write_units): Likewise.
4517 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
4518 * gengenrtl.c (rtx_definition, defs): Likewise.
4519 * genrecog.c (pred_table): Likewise.
4520 * global.c (global_alloc): Likewise.
4521 * lcm.c (optimize_mode_switching): Likewise.
4522 * local-alloc.c (find_free_reg): Likewise.
4523 * params.h (param_info): Likewise.
4524 * predict.c (predictor_info): Likewise.
4525 * protoize.c (unexpansion_struct): Likewise.
4526 * real.c (bmask): Likewise.
4527 * recog.h (insn_operand_data, insn_data): Likewise.
4528 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
4529 * stmt.c (expand_nl_goto_receiver): Likewise.
4530 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
4531 target_switches, target_options): Likewise.
4532 * tradcif.y (token, tokentab2, yylex): Likewise.
4533 * tree.h (attribute_spec): Likewise.
4534
4535 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
4536 Likewise.
4537 * arc.c (arc_output_function_epilogue): Likewise.
4538 * arm.c (processors, all_cores, all_architectures,
4539 arm_override_options, isr_attribute_arg, isr_attribute_args,
4540 arm_isr_value): Likewise.
4541 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
4542 Likewise.
4543 * c4x.c (c4x_int_reglist): Likewise.
4544 * d30v.c (override_options): Likewise.
4545 * h8300.c (shift_insn): Likewise.
4546 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
4547 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
4548 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
4549 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
4550 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
4551 * i386.h (processor_costs, ix86_cost): Likewise.
4552 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
4553 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
4554 * m68k.c (codes_68881, codes_FPA): Likewise.
4555 * m88k.c (mode_from_align, max_from_align, all_from_align,
4556 best_from_align, m_options): Likewise.
4557 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
4558 * mcore.c (mode_from_align): Likewise.
4559 * mips/elf64.h (UNIQUE_SECTION): Likewise.
4560 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
4561 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
4562 * mips.h (mips_regno_to_class): Likewise.
4563 * ns32k.c (scales): Likewise.
4564 * pa.c (import_string, magic_milli): Likewise.
4565 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
4566 * sparc.c (leaf_reg_remap, sparc_override_options,
4567 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
4568 Likewise.
4569 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
4570
4571 2001-10-07 Dale Johannesen <dalej@apple.com>
4572
4573 * reload1.c (reload_reg_free_p): Teach register interference
4574 checking that multiple output reloads are emitted in
4575 reverse order.
4576 reload1.c (reload_reg_reaches_end_p): Ditto.
4577 reload1.c (reloads_conflict): Ditto.
4578
4579 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4580
4581 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
4582 NULL_TREE inside @code.
4583
4584 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4585
4586 * doc/gcc.texi: Document consistent style of "32-bit",
4587 "Objective-C", and "@code{NULL}".
4588
4589 2001-10-06 Zack Weinberg <zack@codesourcery.com>
4590
4591 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
4592 (cpp_token_len, cpp_spell_token, cpp_output_token,
4593 _cpp_equiv_tokens): Handle it.
4594 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
4595 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
4596 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
4597 error messages.
4598
4599 Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4600
4601 * gcc.c (default_compilers): Remove .ada.
4602
4603 2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
4604
4605 * doc/cppinternals.texi: Update.
4606
4607 2001-10-06 Zack Weinberg <zack@codesourcery.com>
4608
4609 * gcc.c (main): Set this_file_error if the appropriate
4610 compiler for a language has not been installed.
4611
4612 2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
4613
4614 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
4615
4616 2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
4617
4618 * gccbug.in (CATEGORIES): Add ada.
4619
4620 2001-10-05 Catherine Moore <clm@redhat.com>
4621
4622 * config/stormy16/stormy-abi: Document abi changes.
4623 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
4624 (ICALL_REGS): New register class.
4625 (NUM_ARGUMENT_REGISTERS): Now 6.
4626 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
4627 in registers.
4628 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
4629 * config/stormy16.md (call_internal, call_value_internal,
4630 indirect_jump): Use new 'z' constraint.
4631
4632 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
4633
4634 * doc/cppinternals.texi: Update.
4635
4636 2001-10-05 Richard Henderson <rth@redhat.com>
4637
4638 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
4639 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
4640 the gas section-name-as-label feature.
4641
4642 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
4643
4644 * doc/cppinternals.texi: Update.
4645
4646 Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4647
4648 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
4649 to ensure valid SImode constants.
4650
4651 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
4652
4653 * Makefile.in (c-decl.o): Depend on tree-inline.h.
4654 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
4655 * c-decl.c: Include tree-inline.h.
4656 (c_expand_body): Call optimize_inline_calls. Determine whether
4657 a function is inlinable upfront, and only clear
4658 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
4659 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
4660 (c_disregard_inline_limits): New function.
4661 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
4662 (c_post_options): Enable tree inlining if inlining is enabled.
4663 Don't inline trees when instrumenting functions.
4664 (c_init): Initialize lang_disregard_inline_limits and
4665 lang_cannot_inline_tree_fn.
4666 * tree-inline.c (initialize_inlined_parameters): Handle calls
4667 with fewer arguments than declared parameters, and fewer
4668 parameters than passed arguments. Don't assume value is a
4669 DECL.
4670 (declare_return_variable): Convert return value back to the
4671 original type, if it was promoted.
4672 (tree_inlinable_function_p): New function.
4673 (inlinable_function_p): Don't look at DECL_INLINE if we're
4674 inlining all functions. Make it work with a NULL id.
4675 Re-check DECL_UNINLINABLE after language-specific checks.
4676 * tree-inline.h (tree_inlinable_function_p): Declare it.
4677 * integrate.c (save_for_inline): Don't bother to prepare argvec
4678 when not inlining.
4679 * cse.c (check_for_label_ref): Don't check deleted labels.
4680
4681 * Makefile.in (tree-inline.o): Depend on newly-included headers.
4682 * tree-inline.c: Include headers needed for the functions moved in.
4683 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
4684 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
4685 (copy_body, initialize_inlined_parameters): Likewise.
4686 (declare_return_variable, inlinable_function_p): Likewise.
4687 (expand_call_inline, expand_calls_inline): Likewise.
4688 (optimize_inline_calls, clone_body): Likewise.
4689 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
4690 (copy_tree_r, remap_save_expr): Likewise.
4691
4692 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
4693
4694 * Makefile.in (OBJS): Added tree-inline.o.
4695 (c-common.o): Depend on tree-inline.h.
4696 (tree-inline.o): New target.
4697 * c-common.c: Include tree-inline.h.
4698 (c_mark_lang_decl): Don't mark saved_tree.
4699 (c_common_lang_init): Set lang_anon_aggr_type_p.
4700 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
4701 (struct c_lang_decl): Moved saved_tree to tree_decl.
4702 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
4703 * integrate.h (function_attribute_inlinable_p): Declare it.
4704 * integrate.c (function_attribute_inlinable_p): Export it.
4705 * tree-inline.c: New file. Define variables declared in...
4706 * tree-inline.h: New file. Declare functions to be moved to
4707 tree-inline.c. Define macros and declare types and hooks for
4708 language-specific tree inlining.
4709 (flag_inline_trees): Moved definition from cp/decl2.c.
4710 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
4711 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
4712 (struct tree_decl): Moved saved_tree from c_lang_decl and
4713 inlined_fns from C++'s lang_decl.
4714
4715 2001-10-04 Loren J. Rittle <ljrittle@acm.org>
4716
4717 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
4718 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
4719
4720 2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
4721
4722 * doc/cppinternals.texi: Update.
4723
4724 2001-10-04 Eric Christopher <echristo@redhat.com>
4725
4726 * config/mips/mips.c (init_cumulative_args): Remember to set
4727 cum->prototype.
4728 * config.gcc: Redo linux configuration. Add target_cpu_default
4729 of soft-float to all mipsisa32 combinations and tx39.
4730 * config/mips/linux.h: Remove include of mips.h.
4731
4732 2001-10-03 Loren J. Rittle <ljrittle@acm.org>
4733
4734 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
4735 HOST_LDFLAGS and HOST_CPPFLAGS.
4736
4737 2001-10-03 Ziemowit Laski <zlaski@apple.com>
4738
4739 * c-parse.in (objc_inherit_code, objc_pq_context,
4740 objc_public_flag): Make static.
4741 (objc_interface_context, objc_implementation_context,
4742 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
4743 global tree array in objc/objc-act.[ch].
4744 (methoddef): Remove unnecessary code.
4745
4746 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
4747 Hoist struct definitions to objc-act.h.
4748 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
4749 cat_count): Place declaration in objc-act.h.
4750 (objc_tree_index): Move enumeration to objc-act.h.
4751 (objc_global_trees): Place declaration and macro accessors in
4752 objc-act.h.
4753 (implementation_context): Remove duplicate; use
4754 objc_implementation_context instead:
4755 (method_context): Remove duplicate; use objc_method_context
4756 instead.
4757 (objc_ellipsis_node, objc_method_prototype_template,
4758 implemented_classes, function_type): Move global vars to
4759 objc_global_trees.
4760 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
4761 (build_message_expr): Move actual construction of ObjC message
4762 send nodes to finish_message_expr.
4763 (finish_message_expr): New routine, contains code formerly in
4764 build_message_expr.
4765 * objc/objc-act.h (finish_message_expr): New prototype.
4766 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
4767 declarations; these vars are now part of objc_global_trees.
4768 (objc_tree_index, objc_global_trees): Move definitions from
4769 objc-act.c.
4770 * objc/objc-tree.def: Update copyright info.
4771
4772 Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
4773
4774 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
4775 op is NULL.
4776 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
4777 only if TARGET_ARCH64.
4778
4779 2001-10-02 Bernd Schmidt <bernds@redhat.com>
4780
4781 * doc/extend.texi: Fix some problems with previous checkin.
4782 * doc/invoke.texi: Likewise.
4783
4784 2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
4785
4786 * cpphash.h: Update comments.
4787 (cpp_context): Update.
4788 (spec_nodes): Remove n__Pragma.
4789 * cppinit.c (cpp_create_reader): Update.
4790 (builtin_array): Add _Pragma.
4791 * cpplib.h: Update comments.
4792 (NODE_DISABLED, BT_PRAGMA): New.
4793 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
4794 * cppmacro.c (struct cpp_macro): Remove disabled.
4795 (builtin_macro): Return int, handle _Pragma, push the new token
4796 on the context stack.
4797 (funlike_invocation_p): Unconstify, update.
4798 (enter_macro_context): Handle builtins here.
4799 (replace_args, push_token_context, push_ptoken_context):
4800 Update for prototype changes.
4801 (_cpp_pop_context): Update.
4802 (cpp_get_token): Don't handle buitins, nor _Pragma here.
4803 (cpp_sys_macro_p): Update.
4804 (_cpp_free_definition): Clear disabled flag.
4805 (_cpp_create_definition): Upate.
4806 * cppmain.c: Update comments.
4807
4808 Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
4809 Andreas Jaeger <aj@suse.de>,
4810 Jan Hubicka <jh@suse.cz>
4811
4812 * doc/invoke.texi (i386 Options): Document x86-64 options.
4813 (i386 and x86-64 Options): Rename i386 options section.
4814
4815 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
4816 (TARGET_SWITCHES): Add -munwind-info.
4817 (MASK_NO_UNWIND_INFO): New.
4818 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
4819 biarch compilation.
4820 (ASM_OUTPUT_DOUBLE_INT): New.
4821
4822 * config/i386/linux64.h: New spec file for Linux x86-64 support.
4823 * config.gcc: Fix tm_file settings for x86-64.
4824 * config/i386/x86-64.h: New file with OS independent x86-64
4825 definitions.
4826 * config/i386/biarch64.h: New file used to configure compiler
4827 to biarch/64bit compilation.
4828
4829 * config/i386/i386.c: (override_options): Set flags default
4830 for 64bit compilation.
4831
4832 Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
4833
4834 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
4835 (ix86_expand_int_movcc): Optimize DImode conditional moves with
4836 constants on x86_64.
4837 (ix86_attr_length_immediate_default): Support MODE_DI.
4838 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
4839 condition.
4840 (indirect_jump, tablejump): Turn into expander.
4841
4842 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
4843
4844 * c-common.c (c_format_attribute_table): Make format and
4845 format_arg attributes apply to function types rather than to
4846 decls.
4847 (is_valid_printf_arglist): Construct an attribute list and pass
4848 that to check_function_format rather than a name.
4849 * c-common.h (check_function_format): Adjust prototype.
4850 * c-decl.c (duplicate_decls): Preserve attributes from type of
4851 built-in decl when allowing for harmless conflict in types.
4852 * c-format.c (record_function_format,
4853 record_international_format, function_format_list,
4854 international_format_info, international_format_list): Remove.
4855 (function_format_info): Remove next, name and assembler_name.
4856 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
4857 (decode_format_attr): New.
4858 (handle_format_attribute): Handle receiving a type rather than a
4859 decl. Call decode_format_attr. Store format information in a
4860 function_format_info.
4861 (handle_format_arg_attribute): Correct comment. Handle receiving
4862 a type rather than a decl. Use unsigned HOST_WIDE_INT for
4863 arg_num.
4864 (check_format_info_recurse, check_format_info_main): Take argument
4865 numbers as unsigned HOST_WIDE_INT.
4866 (check_function_format): Take a list of attributes from the
4867 function type rather than a name or assembler name. Check for
4868 format attributes in that list and the attributes on the type of
4869 the current function rather than looking through
4870 function_format_list.
4871 (check_format_info): Use unsigned HOST_WIDE_INT for argument
4872 numbers.
4873 (check_format_info_recurse): Take format_arg attributes from the
4874 type of the function calls rather than using
4875 international_format_list. Allow for multiple format_arg
4876 attributes.
4877 * c-typeck.c (build_function_call): Pass type attributes to
4878 check_function_format rather than name or assembler name. Don't
4879 require there to be a name or assembler name to check formats.
4880
4881 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
4882
4883 * attribs.c (decl_attributes): Possibly call
4884 insert_default_attributes to insert default attributes on
4885 functions in a lazy manner.
4886 * builtin-attrs.def: New file; define the default format and
4887 format_arg attributes.
4888 * c-common.c (c_format_attribute_table): Move to earlier in the
4889 file.
4890 (c_common_nodes_and_builtins): Initialize format_attribute_table.
4891 (enum built_in_attribute, built_in_attributes,
4892 c_attrs_initialized, c_init_attributes,
4893 c_common_insert_default_attributes): New.
4894 (c_common_lang_init): Don't initialize format_attribute_table. Do
4895 call c_init_attributes.
4896 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
4897 * c-common.h (init_function_format_info): Don't declare.
4898 (c_common_insert_default_attributes): Declare.
4899 * c-decl.c (implicitly_declare, builtin_function): Call
4900 decl_attributes.
4901 (init_decl_processing): Don't call init_function_format_info.
4902 (insert_default_attributes): New.
4903 * c-format.c (handle_format_attribute,
4904 handle_format_arg_attribute): Be quiet about inappropriate
4905 declaration when applying default attributes.
4906 (init_function_format_info): Remove.
4907 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
4908 (insert_default_attributes): Declare.
4909
4910 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
4911
4912 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
4913
4914 2001-10-01 Jim Wilson <wilson@redhat.com>
4915
4916 * sched-deps.c (add_dependence): When elide conditional dependence,
4917 check that insn doesn't modify cond2.
4918
4919 2001-10-01 Dale Johannesen <dalej@apple.com>
4920
4921 * config/rs6000/rs6000.h (enum processor_type): Add support
4922 for 7400 (G4) and 7450.
4923 (RTX_COSTS): Ditto.
4924 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
4925 (rs6000_issue_rate): Ditto.
4926 (rs6000_adjust_cost): Fix cycle counts for compares.
4927 (debug_stack_info): Fix an obvious typo.
4928 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
4929 * doc/invoke.texi: Document.
4930 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
4931 for Darwin.
4932 (PROCESSOR_DEFAULT): Ditto.
4933
4934 2001-10-01 Loren J. Rittle <ljrittle@acm.org>
4935
4936 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
4937 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
4938 later recursive make invocation.
4939
4940 2001-10-01 Hans Boehm <boehm@acm.org>
4941
4942 * optabs.c (emit_libcall_block): When using non-call exceptions,
4943 don't add REG_LIBCALL reg notes to trapping calls.
4944
4945 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
4946
4947 * flow.c (propagate_block_delete_libcall): Remove unused first arg
4948 (propagate_one_insn): Update for above change
4949
4950 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
4951
4952 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
4953 _Unwind_GetTextRelBase): Argument is unused.
4954
4955 Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4956
4957 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
4958 Loop through NOPs, placeholders, and components.
4959 Don't go through NOPs if change mode.
4960 (record_alias_subset): Do nothing if SUBSET and SET are the same.
4961 * emit-rtl.c (set_mem_alias_set): Enable check.
4962 * expr.c (find_placeholder): New function.
4963 (expand_expr, case PLACEHOLDER_EXPR): Use it.
4964 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
4965 to modify it and avoid unneeded copies.
4966 * expr.h (expand_expr): Always define.
4967 (find_placeholder): New declaration.
4968
4969 2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
4970
4971 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
4972 operand 2 is the stack pointer.
4973 ("addr-peephole"): Fix address computation peephole when operand 2
4974 is the stack pointer.
4975
4976 Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4977
4978 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
4979 (ix86_setup_incoming_varargs): Likewise.
4980
4981 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
4982
4983 * stor-layout.c (layout_type): Don't complain about too-large
4984 array here.
4985
4986 Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4987
4988 * function.c (keep_stack_depressed): Don't use delete_insn.
4989
4990 * expr.h (set_mem_alias_set): Move decl to here.
4991 * rtl.h (mem_attrs): New typedef and struct.
4992 (union rtunion_def): Add field for mem_attrs.
4993 (X0MEMATTR, MEM_ATTRS): New macros.
4994 (MEM_ALIAS_SET): Use MEM_ATTRS.
4995 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
4996 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
4997 (set_mem_alias_set): Delete decl from here.
4998
4999 * alias.c (set_mem_alias_set): Delete from here.
5000 * emit-rtl.c (mem_attrs_htab): New variable.
5001 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5002 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5003 (mem_attrs_mark, get_mem_attrs): Likewise.
5004 (gen_rtx_MEM): Clear MEM_ATTRS.
5005 (set_mem_attributes): Move to here.
5006 (set_mem_alias_set): Likewise, and call get_mem_attrs.
5007 (init_emit_once): const_int_htab now deletable htab.
5008 Initialize mem_attrs_htab.
5009 * explow.c (set_mem_attributes): Delete from here.
5010 * function.c (put_var_into_stack): Clear MEM_ATTRS.
5011 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5012 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5013 * reload1.c (reload): Rework changing REG to MEM.
5014
5015 2001-09-30 H.J. Lu <hjl@gnu.org>
5016
5017 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5018 * config.in: Rebuild.
5019
5020 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5021
5022 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5023 ("tsthi_1"): Avoid allocation in register y.
5024 ("*movqi_68hc12"): Reorganize and fix constraints.
5025 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5026 ("addqi3"): Likewise.
5027 ("addhi3"): Fix constraints.
5028 ("*logicalhi3_zexthi"): Disparage soft registers.
5029
5030 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5031
5032 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5033 to tmp reg.
5034
5035 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5036
5037 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5038 that we use setjmp/longjmp exceptions.
5039
5040 2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
5041
5042 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5043 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5044 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5045 _cpp_pool_alloc, _cpp_next_chunk): Remove.
5046 (_cpp_extend_buff, BUFF_ROOM): Update.
5047 (_cpp_append_extend_buff): New.
5048 (struct cpp_reader): Remove macro_pool, add a_buff.
5049 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5050 macro_pool.
5051 (cpp_destroy): Free a_buff instead of macro_pool.
5052 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5053 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5054 _cpp_pool_alloc, ): Remove.
5055 (parse_number, parse_string): Update use of _cpp_extend_buff.
5056 (_cpp_extend_buff): Update.
5057 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5058 * cpplib.c (glue_header_name, parse_answer):
5059 Update use of _cpp_extend_buff.
5060 (cpp_register_pragma, cpp_register_pragma_space): Use
5061 _cpp_aligned_alloc.
5062 (do_assert, do_unassert): Check for EOL, update.
5063 * cppmacro.c (stringify_arg, collect_args): Update to use
5064 _cpp_extend_buff and _cpp_append_extend_buff.
5065 (save_parameter, parse_params, alloc_expansion_token,
5066 _cpp_create_definition): Rework memory management.
5067
5068 2001-09-29 Andris Pavenis <pavenis@lanet.lv>
5069
5070 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5071 update md_exec_prefix.
5072 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5073 to string constant.
5074
5075 2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
5076
5077 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5078 (SELECT_CC_MODE): Use s390_select_ccmode.
5079 * config/s390/s390-protos.h (s390_select_ccmode): Add.
5080 * config/s390/s390.c (s390_select_ccmode): New.
5081 (s390_match_ccmode): Add CCLmode.
5082 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5083 (output_branch_condition, output_inverse_branch_condition): Removed.
5084 (print_operand): Use s390_branch_condition_mnemonic.
5085 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5086 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5087 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5088
5089 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5090 when converting conditional branches to far branches.
5091 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5092 cmpint_di): Use CCSmode instead of CCUmode.
5093
5094 * config/s390/s390.c (legitimate_la_operand_p): New.
5095 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5096 * config/s390/s390.md (movsi): Convert load address patterns to
5097 arithmetic operations when necessary.
5098 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5099 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5100 (*do_la_reg_0): Don't use before reload.
5101
5102 * config/s390/s390.c (legitimize_address): Make more efficient
5103 use of two-register addressing mode.
5104
5105 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5106 with -mno-backchain in some corner cases.
5107
5108 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5109
5110 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
5111
5112 * reload.c (find_reloads): Mark new USE insns with QImode.
5113 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5114 find_reloads_subreg_address): Likewise.
5115 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5116 encountered.
5117 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5118 CLOBBERs.
5119 (reload): Make sure there are no USEs with mode other than
5120 VOIDmode. At the end, remove those marked with QImode.
5121
5122 2001-09-29 Per Bothner <per@bothner.com>
5123
5124 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
5125 * Makefile.in (includedir): Rename to local_includedir.
5126 (includedir): Define as $(prefix)/include.
5127 * config.in (PREFIX_INCLUDE_DIR): New variable.
5128 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
5129
5130 2001-09-29 Bernd Schmidt <bernds@redhat.com>
5131
5132 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5133 storehps builtins.
5134 * doc/extend.texi (Vector Extensions): New node.
5135 * doc/invoke.texi (Machine Dependent Options): Add documentation for
5136 i386 -mmmx, -msse, -m3dnow.
5137
5138 Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
5139
5140 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5141
5142 2001-09-29 Hans-Peter Nilsson <hp@axis.com>
5143
5144 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5145
5146 * doc/invoke.texi (Optimize Options): Delete spurious @table.
5147
5148 2001-09-28 Richard Henderson <rth@redhat.com>
5149
5150 * varasm.c (assemble_integer): Bound alignment check by
5151 BIGGEST_ALIGNMENT.
5152
5153 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5154
5155 2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5156
5157 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5158
5159 2001-09-25 Bernd Schmidt <bernds@redhat.com>
5160
5161 Mostly from Graham Stott <grahams@redhat.com>
5162 * c-common.c (type_for_mode): Add support for V2SFmode.
5163 * tree.c (build_common_tree_nodes_2): Likewise.
5164 * tree.h (enum tree_index, global_trees): Likewise.
5165 * config/i386/i386.c (x86_3dnow_a): New variable.
5166 (override_options): Support 3Dnow extensions.
5167 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5168 Athlon's version of 3Dnow.
5169 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5170 (ix86_expand_builtin): Handle them.
5171 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5172 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5173 TARGET_3DNOW_A): New macros.
5174 (TARGET_SWITCHES): Add 3Dnow switches.
5175 (VALID_MMX_REG_MODE_3DNOW): New macro.
5176 (VECTOR_MODE_SUPPORTED_P): Use it.
5177 (enum ix86_builtins): Add entries for 3Dnow builtins.
5178 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5179 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5180 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5181 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5182 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5183 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5184 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5185 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5186 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5187 sfence_insn, prefetch): Make these available if TARGET_SSE or
5188 TARGET_3DNOW_A.
5189
5190 Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
5191
5192 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5193 ix86_va_start, ix86_build_va_list): Declare.
5194 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5195 ix86_va_start, ix86_build_va_list): New global functions.
5196 * i386.md (sse_prologue_save_insn): New insn.
5197 (sse_prologue_save): New expander.
5198 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5199 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5200
5201 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
5202
5203 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5204 Use size_t everywhere, make definitions consistent with
5205 prototypes.
5206
5207 Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
5208
5209 * gcse.c (replace_store_insn): Use delete_insn.
5210 * loop.c (move_movables): Likewise; avoid delete_insn
5211 from clobbering notes moved elsewhere.
5212 (check_dbra_loop): Use delete_insn.
5213 * ssa.c (convert_from_ssa): Likewise.
5214 * cse.c (cse_insn): Use delete_insn.
5215
5216 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
5217
5218 * cpphash.h (struct cpp_buff): Make unsigned.
5219 (_cpp_get_buff): Take length of size_t.
5220 (_cpp_unaligned_alloc): New.
5221 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5222 (struct cpp_reader): Remove ident_pool. Add u_buff.
5223 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5224 (cpp_destroy): Destroy u_buff, not ident_pool.
5225 * cpplex.c (parse_number, parse_string, save_comment,
5226 cpp_token_as_text): Update to use the unaligned buffer.
5227 (new_buff): Make unsigned.
5228 (_cpp_unaligned_alloc): New.
5229 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5230 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5231 Similarly.
5232 (collect_args): Make unsigned.
5233
5234 2001-09-27 Zack Weinberg <zack@codesourcery.com>
5235
5236 * cpplex.c (cpp_output_token): Use a putc loop for
5237 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5238
5239 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5240 * configure, config.in: Regenerate.
5241 * system.h: Replace fwrite and fprintf with their unlocked
5242 variants if available.
5243
5244 2001-09-27 Richard Henderson <rth@redhat.com>
5245
5246 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5247 in favour of .eh_frame.
5248
5249 2001-09-27 Aldy Hernandez <aldyh@redhat.com>
5250
5251 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
5252 to macros.
5253 (LIBCALL_VALUE): Likewise.
5254
5255 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
5256
5257 * cpphash.h: Update comment.
5258 * cpplex.c: Update comments.
5259 (_cpp_can_paste): Remove.
5260 * cpplib.h (_cpp_can_paste): Remove.
5261 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5262 lexer rather than _cpp_can_paste.
5263
5264 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
5265
5266 * doc/cppinternals.texi: Update.
5267
5268 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
5269
5270 * cpphash.h (struct cpp_pool): Remove locks and locked.
5271 (struct cpp_context): Add member buff.
5272 (struct cpp_reader): Remove member argument_pool.
5273 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5274 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5275 * cpplex.c (chunk_suitable): Remove pool argument.
5276 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5277 (new_buff, _cpp_extend_buff): Update.
5278 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
5279 which buffer is returned.
5280 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5281 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5282 * cppmacro.c (lock_pools, unlock_pools): Remove.
5283 (push_ptoken_context): Take a _cpp_buff.
5284 (enter_macro_context): Pool locking removed.
5285 (replace_args): Use a _cpp_buff for the replacement list with
5286 arguments replaced.
5287 (push_token_context): Clear buff.
5288 (expand_arg): Use _cpp_pop_context.
5289 (_cpp_pop_context): Free a context's buffer, if any.
5290
5291 2001-09-26 DJ Delorie <dj@redhat.com>
5292
5293 * c-typeck.c (digest_init): Check for sizeless arrays.
5294
5295 2001-09-26 Richard Henderson <rth@redhat.com>
5296
5297 * optabs.c (init_one_libfunc): Create a dummy function type
5298 instead of using error_mark_node.
5299
5300 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
5301
5302 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5303 _cpp_extend_buff, _cpp_free_buff): New.
5304 (struct cpp_reader): New member free_buffs.
5305 * cppinit.c (cpp_destroy): Free buffers.
5306 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5307 _cpp_extend_buff, _cpp_free_buff): New.
5308 * cpplib.h (struct cpp_options): Remove unused member.
5309 * cppmacro.c (collect_args): New. Combines the old parse_arg
5310 and parse_args. Use _cpp_buff for memory allocation.
5311 (funlike_invocation_p, replace_args): Update.
5312
5313 Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
5314
5315 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5316
5317 2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
5318
5319 * except.c (sjlj_mark_call_sites): Change address inside sequence.
5320
5321 2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
5322
5323 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5324 glibc.
5325
5326 2001-09-25 Janis Johnson <janis187@us.ibm.com>
5327 Jim Wilson <wilson@redhat.com>
5328
5329 * doc/install.texi (Specific, ia64-*-linux): Document.
5330
5331 Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
5332
5333 * Makefile.in (cfgrtl.o): Add.
5334 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5335 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5336 free_aux_for_edge): Declare.
5337 * cfg.c
5338 (HAVE_return): Undefine.
5339 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5340 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5341 free_aux_for_edge): New global functions.
5342 (first_delete_block): New static variable.
5343 (init_flow): Clear first_delete_block.
5344 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5345 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5346 try_redirect_by_replacing_jump, last_loop_beg_note,
5347 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5348 delete_insn, delete_insn_chain, create_basic_block_structure,
5349 create_basic_block, flow_delete_block, compute_bb_for_insn,
5350 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5351 set_block_for_new_insns, split_block, merge_blocks_nomove,
5352 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5353 redirect_edge_and_branch, force_nonfallthru_and_redirect,
5354 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5355 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5356 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5357 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5358 purge_all_dead_edges): Move to ....
5359 * cfgrtl.c: New file; .... Here.
5360
5361 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5362 (reroder_basic_block): Use alloc_aux_for_blocks.
5363 * predict.c (estimate_bb_frequencies): Likewise; use
5364 alloc_aux_for_edges.
5365 * profile.c (compute_branch_probabilities): Likewise.
5366 (branch_prob): Likewise.
5367 * reg-stack.c (reg_to_stack): Likewise.
5368
5369 * emit-rtl.c (emit_insns_after): Never return NULL.
5370
5371 * basic-block.h (set_block_for_new_insns): Delete.
5372 * cfgrtl.c (set_block_for_new_insns): Delete.
5373
5374 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5375 calls when crossjumping.
5376
5377 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5378 * unroll.c (copy_loop_body): Use delete_insn.
5379
5380 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5381 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5382 keep_stack_depressed): Likewise.
5383 * gcse.c (cprop_cc0_jump): Likewise.
5384 * local-alloc.c (update_equiv_regs): Likewise.
5385 * loop.c (scan_loop, loop_delete_insns): Likewise.
5386 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5387 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5388 delete_output_reload, delete_address_reloads_1,
5389 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5390 Likewise.
5391 * sibcall.c (replace_call_placeholder): Likewise.
5392 * cse.c (cse_insn): Likewise.
5393
5394 2001-09-25 Bernd Schmidt <bernds@redhat.com>
5395
5396 From Graham Stott <grahams@redhat.com>
5397 (def_builtin): Only define builtins appropriate for target_flags. All
5398 callers changed.
5399 (builtin_decsription): Add new field mask which is used to determine
5400 when to define the builtin via the macro def_builtin.
5401
5402 (bdesc_comi): Initialise new mask fields.
5403 (bdesc_2srg): Likewise.
5404 (bdesc_1arg): Likewise.
5405
5406 * config/i386/i386.c (ix86_init_builtins): Correct return type
5407 building v4hi_ftype_v4hi_int_int tree node.
5408 (ix86_expand_sse_comi): Fix typo swapping operands.
5409 Don't swap comparision condition, it is already swapped.
5410 (ix86_expand_sse_compare): Before swapping operands
5411 move operand 1 into new rtx and not the target rtx.
5412 Don't swap comparison condition, it is already swapped.
5413 Always check whether we need to create a new TARGET.
5414
5415 * config/i386/i386.md: (sse_comi) Fix typos.
5416 (sse_ucomi): Likewise.
5417 (cvtss2si): Fix operand 0 contraint.
5418 (cvttss2si): Likewise.
5419 (sse_unpckhps): Fix mode for operand 2.
5420 (sse_unpcklps): Likewise.
5421
5422 2001-09-25 Graham Stott <grahams@redhat.com>
5423
5424 * sibcall.c (skip_copy_to_return_value): Tighten return value
5425 copy check.
5426
5427 2001-09-24 David Edelsohn <edelsohn@gnu.org>
5428
5429 * rs6000.c (lwa_operand): Address must be word aligned.
5430
5431 Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5432
5433 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5434 number has been set.
5435 (type_hash_mark): Mark type itself.
5436
5437 2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
5438
5439 * c-lex.c (cb_def_pragma): Update.
5440 (c_lex): Update, and skip padding.
5441 * cppexp.c (lex, parse_defined): Update, remove unused variable.
5442 * cpphash.h (struct toklist): Delete.
5443 (union utoken): New.
5444 (struct cpp_context): Update.
5445 (struct cpp_reader): New members eof, avoid_paste.
5446 (_cpp_temp_token): New.
5447 * cppinit.c (cpp_create_reader): Update.
5448 * cpplex.c (_cpp_temp_token): New.
5449 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5450 (cpp_output_token): Don't print leading whitespace.
5451 (cpp_output_line): Update.
5452 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5453 do_include_common, do_line, do_ident, do_pragma,
5454 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5455 parse_assertion): Update.
5456 (get_token_no_padding): New.
5457 * cpplib.h (CPP_PADDING): New.
5458 (AVOID_LPASTE): Delete.
5459 (struct cpp_token): New union member source.
5460 (cpp_get_token): Update.
5461 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5462 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5463 replace_args, quote_string, stringify_arg, parse_arg, next_context,
5464 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5465 _cpp_backup_tokens, _cpp_create_definition): Update.
5466 (push_arg_context): Delete.
5467 (padding_token, push_token_context, push_ptoken_context): New.
5468 (make_string_token, make_number_token): Update, rename.
5469 (cpp_get_token): Update to handle tokens as pointers to const,
5470 and insert padding appropriately.
5471 * cppmain.c (struct printer): New member prev.
5472 (check_multiline_token): Constify.
5473 (do_preprocessing, cb_line_change): Update.
5474 (scan_translation_unit): Update to handle spacing.
5475 * scan-decls.c (get_a_token): New.
5476 (skip_to_closing_brace, scan_decls): Update.
5477 * fix-header.c (read_scan_file): Update.
5478
5479 * doc/cpp.texi: Update.
5480
5481 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5482
5483 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
5484 leak by passing malloc'ed pointer to reconcat, not concat.
5485
5486 2001-09-24 DJ Delorie <dj@redhat.com>
5487
5488 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5489
5490 2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
5491
5492 * flow.c (delete_dead_jumptables): Delete jumptable if the only
5493 reference is from the literal pool.
5494
5495 2001-09-24 Janis Johnson <janis187@us.ibm.com>
5496
5497 * doc/install.texi (Final install): Request additional information
5498 in mail about successful builds.
5499
5500 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5501
5502 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
5503 initial value of return pointer register instead of value in frame-20.
5504 Revise comments.
5505
5506 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5507
5508 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
5509 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
5510 the libcall if there isn't a referenced identifier for the symbol.
5511
5512 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5513
5514 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
5515 non 64-bit machines. Use these as a plabel for the trampoline.
5516 (TRAMPOLINE_SIZE): Adjust size for new words.
5517 (INITIALIZE_TRAMPOLINE): Initialize new words.
5518 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
5519 pointer to the plabel in the trampoline.
5520
5521 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5522
5523 * pa.c (function_arg): Pass floating arguments in both general and
5524 floating registers in indirect (dynamic) calls when generating code
5525 for the 32 bit ABI and the HP assembler.
5526
5527 2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5528
5529 * doc/install.texi: Markup fixes.
5530 Use Solaris 2, SunOS 4 as appropriate.
5531 (Specific, *-*-solaris2*): Explain this.
5532 Unconditionally warn against /usr/ucb tools.
5533 Remove Sun as warning, obsolete.
5534 Move X11 header bug workaround here, update patches.
5535 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
5536 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
5537
5538 2001-09-23 Zack Weinberg <zack@codesourcery.com>
5539
5540 * errors.h (warning, error, fatal, internal_error): Don't mark
5541 with ATTRIBUTE_PRINTF_n.
5542 * toplev.h (internal_error, fatal_io_error, warning, error,
5543 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
5544 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
5545 Likewise.
5546
5547 Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5548
5549 * function.c (pop_function_context_from): var_refs_queue
5550 and temp slots now in GC memory.
5551 (mark_function_status, free_after_compilation): Likewise;
5552 also struct function now in GC memory.
5553 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
5554 (combine_temp_slots): Likewise.
5555 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
5556 (prepare_function_start): Use GC memory for struct function.
5557 (mark_temp_slot): Deleted.
5558 (gcc_mark_struct_function): struct function now in GC memory.
5559
5560 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
5561 code for division, not modulus.
5562
5563 * rtl.def (MEM): Remove obsolete part of comment.
5564
5565 2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
5566
5567 * c-format.c (init_function_format_info): Check __builtin_printf
5568 and __builtin_fprintf even if -ffreestanding. Check C99 functions
5569 in gnu89 mode.
5570
5571 Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5572
5573 * c-common.c (format_attribute_table): Remove decl.
5574 * tree.h (format_attribute_table, lang_attribute_table): New decls.
5575 (lang_attribute_common): Likewise.
5576
5577 * function.c (fix_lexical_address): Use set_mem_alias_set.
5578 (expand_function_start): Likewise.
5579 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
5580
5581 * varasm.c (output_constant): Fix unused variable warning.
5582
5583 * attribs.c: New file, from c-common.c.
5584 (attribute_tables): Now four elements.
5585 (format_attribute_table, lang_attribute_common): New variables.
5586 (init_attributes): Reflect above changes.
5587 (handle_mode_attribute): Delete check for wider than uintmax.
5588 * c-common.c: Delete parts moved to attribs.c.
5589 (enum attrs): Deleted; unused.
5590 (c_format_attribute_table): New variable.
5591 (c_common_lang_init): Initialize format_attribute_table with it.
5592 * c-common.h (decl_attributes): Remove decl.
5593 * tree.h (decl_attribute): Move it to here.
5594 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
5595 (attribs.o): New rule.
5596
5597 2001-09-22 Andreas Jaeger <aj@suse.de>
5598
5599 * builtins.c (c_getstr): Remove unused variable.
5600
5601 2001-09-21 Richard Henderson <rth@redhat.com>
5602
5603 * reload1.c (reload): Use delete_insn instead of splatting
5604 NOTE_INSN_DELETED.
5605
5606 2001-09-21 Richard Henderson <rth@redhat.com>
5607
5608 * reload.c (push_secondary_reload): Don't check for "=" in output
5609 constraint after ""->ALL_REGS check.
5610
5611 2001-09-21 Richard Henderson <rth@redhat.com>
5612
5613 * predict.c (expected_value_to_br_prob): Use pc_set.
5614
5615 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
5616 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
5617
5618 2001-09-21 Richard Henderson <rth@redhat.com>
5619
5620 * rtl.h (LCT_RETURNS_TWICE): New.
5621 * calls.c (emit_call_1): Set current_function_calls_setjmp for
5622 ECF_RETURNS_TWICE.
5623 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
5624 to ECF_RETURNS_TWICE.
5625 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
5626 call to setjmp.
5627
5628 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
5629
5630 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
5631 (JMP_BUF_SIZE): New.
5632
5633 2001-09-21 Richard Henderson <rth@redhat.com>
5634
5635 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
5636 to R8_REGS.
5637
5638 2001-09-21 Richard Henderson <rth@redhat.com>
5639
5640 * tree.def (FDESC_EXPR): New.
5641 * expr.c (expand_expr): Handle it.
5642 * varasm.c (initializer_constant_valid_p): Likewise.
5643 (output_constant): Likewise.
5644 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5645 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
5646 (ASM_OUTPUT_FDESC): New.
5647 * doc/tm.texi: Document the new macros.
5648
5649 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
5650
5651 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
5652 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
5653 once merging is complete.
5654
5655 Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5656
5657 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
5658
5659 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
5660
5661 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
5662 that would be invalid after a merge.
5663
5664 Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
5665
5666 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
5667 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
5668 remove some labels.
5669 (flow_delete_insn): This one.
5670 (delete_insn_chain): Rename from ...; do not care labels.
5671 (flow_delete_insn_chain): ... this one.
5672 (flow_delete_block): Remove the insns one BB has been expunged.
5673 (merge_blocks_nomove): Likewise.
5674 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
5675 updating BB boundaries.
5676 (tidy_fallthru_edge): Likewise.
5677 (commit_one_edge_insertion): Likewise.
5678 * cfgbuild.c (find_basic_block): Likewise.
5679 (find_basic_blocks_1): Likewise.
5680 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
5681 (try_crossjump_to_edge): Likewise.
5682 (try_optimize_cfg): Likewise.
5683 * cse.c (delete_trivially_dead_insns): Likewise.
5684 * df.c (df_insn_delete): Likewise.
5685 * doloop.c (doloop_modify): Use delete_related_insns.
5686 * emit-rtl.c (try_split): Likewise.
5687 (remove_insn): Update BB boundaries.
5688 * expect.c (connect_post_landing_pads): Use delete_related_insns.
5689 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
5690 updating BB boundaries.
5691 (propagate_block_delete_insn): Likewise.
5692 (propagate_block_delete_libcall): Likewise.
5693 * function.c (delete_handlers): Use delete_related_insns.
5694 (thread_prologue_and_epilogue_insns): Likewise.
5695 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
5696 * genpeep.c (gen_peephole): Use delete_related_insns.
5697 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
5698 BB boundaries.
5699 (find_cond_trap): Likewise.
5700 * integrate.c (save_for_inline): Use delete_related_insns.
5701 (copy_insn_list): Likewise.
5702 * jump.c (pruge_linie_number_notes): Likewise.
5703 (duplicate_loop_exit_test): Likewise.
5704 (delete_computation): Likewise.
5705 (delete_related_insn): Rename from ...; use delete_insn
5706 (delete_insn): ... this one.
5707 (redirect_jump): Use delete_related_insns.
5708 * loop.c (scan_loop): Likewise.
5709 (move_movables): Likewise.
5710 (find_and_verify_loops): Likewise.
5711 (check_dbra_loop): Likewise.
5712 * recog.c (peephole2_optimize): Likewise.
5713 * reg-stack.c (delete_insn_for_stacker): Remove.
5714 (move_for_stack_reg): Use delete_insn.
5715 * regmove.c (combine_stack_adjustments_for_block): Likewise.
5716 * reload1.c (delete_address_reloads): Use delete_related_insns.
5717 (fixup_abnormal_edges): Use delete_insn.
5718 * recog.c (emit_delay_sequence): Use delete_related_insns.
5719 (delete_from-delay_slot): Likewise.
5720 (delete_scheduled_jump): likewise.
5721 (optimize_skip): Likewise.
5722 (try_merge_delay_insns): Likewise.
5723 (full_simple_delay_slots): Likewise.
5724 (fill_slots_from_thread): Likewise.
5725 (relax_delay_slots): Likewise.
5726 (make_return_insns): Likewise.
5727 (dbr_schedule): Likewise.
5728 * rtl.h (delete_insn): Rename to delete_related_insns.
5729 (delete_insn, delete_insn_chain): New prototypes.
5730 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
5731 by df_insn_delete already.
5732 * ssa-dce.c (delete_insn_bb): Use delete_insn.
5733 * ssa.c (convert_from_ssa): Use delete_related_insns.
5734 * unroll.c (unroll_loop): Likewise.
5735 (calculate_giv_inc): Likewise.
5736 (copy_loop_body): Likewise.
5737
5738 * i386-protos.h (ix86_libcall_value, ix86_function_value,
5739 ix86_function_arg_regno_p, ix86_function_arg_boundary,
5740 ix86_return_in_memory, ix86_function_value): Declare.
5741 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
5742 new static valurables.
5743 (x86_64_reg_class): New enum
5744 (x86_64_reg_class_name): New array.
5745 (classify_argument, examine_argument, construct_container,
5746 merge_classes): New static functions.
5747 (optimization_options): Enable flag_omit_frame_pointer and disable
5748 flag_pcc_struct_return on 64bit.
5749 (ix86_libcall_value, ix86_function_value,
5750 ix86_function_arg_regno_p, ix86_function_arg_boundary,
5751 ix86_return_in_memory, ix86_function_value): New global functions.
5752 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
5753 (function_arg_advance): Handle x86_64 passing conventions.
5754 (function_arg): Likewise.
5755 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
5756 (RETURN_IN_MEMORY): Move offline.
5757 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
5758 (FUNCTION_VALUE_REGNO_P): New macro.
5759 (FUNCTION_ARG_REGNO_P): Move offline.
5760 (struct ix86_args): Add maybe_vaarg.
5761 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
5762 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
5763
5764 2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
5765
5766 * s390.md: Changed attributes for scheduling.
5767 * s390.c: (s390_adjust_cost, s390_adjust_priority)
5768 Changed scheduling
5769
5770 2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
5771
5772 Table-driven attributes.
5773 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
5774 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
5775 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
5776 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
5777 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
5778 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
5779 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
5780 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
5781 * tree.h (struct tree_decl): Change machine_attributes to
5782 attributes.
5783 * doc/c-tree.texi: Document that all attributes are now attached
5784 to decls and types.
5785 * c-common.c (add_attribute, attrtab, attrtab_idx,
5786 default_valid_lang_attribute, valid_lang_attribute): Remove.
5787 (attribute_tables, attributes_initialized,
5788 c_common_attribute_table, default_lang_attribute_table): New
5789 variables.
5790 (handle_packed_attribute, handle_nocommon_attribute,
5791 handle_common_attribute, handle_noreturn_attribute,
5792 handle_unused_attribute, handle_const_attribute,
5793 handle_transparent_union_attribute, handle_constructor_attribute,
5794 handle_destructor_attribute, handle_mode_attribute,
5795 handle_section_attribute, handle_aligned_attribute,
5796 handle_weak_attribute, handle_alias_attribute,
5797 handle_no_instrument_function_attribute,
5798 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
5799 handle_no_limit_stack_attribute, handle_pure_attribute): New
5800 functions.
5801 (init_attributes, decl_attributes): Rewrite to implement
5802 table-driven attributes.
5803 * c-common.h (enum attribute_flags): Move to tree.h.
5804 * c-format.c (decl_handle_format_attribute,
5805 decl_handle_format_arg_attribute): Rename to
5806 handle_format_attribute and handle_format_arg_attribute. Update
5807 for table-driven attributes.
5808 * c-common.h (decl_handle_format_attribute,
5809 decl_handle_format_arg_attribute): Remove prototypes.
5810 (handle_format_attribute, handle_format_arg_attribute): Add
5811 prototypes.
5812 * c-decl.c (grokdeclarator): Handle attributes nested inside
5813 declarators.
5814 * c-parse.in (setattrs, maybe_setattrs): Remove.
5815 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
5816 Update to handle nested attributes properly.
5817 (maybe_resetattrs, after_type_declarator,
5818 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
5819 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
5820 properly.
5821 (make_pointer_declarator): Update to handle nested attributes
5822 properly.
5823 * doc/extend.texi: Update documentation of limits of attributes
5824 syntax. Warn about problems with attribute semantics in C++.
5825 * target.h (struct target): Remove valid_decl_attribute and
5826 valid_type_attribute. Add attribute_table and
5827 function_attribute_inlinable_p.
5828 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
5829 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
5830 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
5831 Add.
5832 (TARGET_INITIALIZER): Update.
5833 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
5834 definition.
5835 (function_attribute_inlinable_p): New function. Check for the
5836 presence of any machine attributes before using
5837 targetm.function_attribute_inlinable_p.
5838 (function_cannot_inline_p): Update.
5839 * Makefile.in (integrate.o): Update dependencies.
5840 * doc/tm.texi: Update documentation of target attributes and
5841 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
5842 * tree.c (default_valid_attribute_p, valid_machine_attribute):
5843 Remove.
5844 (default_target_attribute_table,
5845 default_function_attribute_inlinable_p): New.
5846 (lookup_attribute): Update comment to clarify handling of multiple
5847 attributes with the same name.
5848 (merge_attributes, attribute_list_contained): Allow multiple
5849 attributes with the same name but different arguments to appear in
5850 the same attribute list.
5851 * tree.h (default_valid_attribute_p): Remove prototype.
5852 (struct attribute_spec): New.
5853 (default_target_attribute_table): Declare.
5854 (enum attribute_flags): Move from c-common.h. Add
5855 ATTR_FLAG_TYPE_IN_PLACE.
5856 (default_function_attribute_inlinable_p): Declare.
5857 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
5858 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5859 (TARGET_ATTRIBUTE_TABLE): Define.
5860 (vms_attribute_table): New.
5861 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
5862 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5863 (TARGET_ATTRIBUTE_TABLE): Define.
5864 (arc_attribute_table, arc_handle_interrupt_attribute): New.
5865 * config/arm/arm.c (arm_valid_type_attribute_p,
5866 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
5867 Remove.
5868 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5869 define.
5870 (TARGET_ATTRIBUTE_TABLE): Define.
5871 (arm_attribute_table, arm_handle_fndecl_attribute,
5872 arm_handle_isr_attribute): New.
5873 * config/avr/avr.c (avr_valid_type_attribute,
5874 avr_valid_decl_attribute): Remove.
5875 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
5876 define.
5877 (TARGET_ATTRIBUTE_TABLE): Define.
5878 (avr_attribute_table, avr_handle_progmem_attribute,
5879 avr_handle_fndecl_attribute): New.
5880 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
5881 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5882 (TARGET_ATTRIBUTE_TABLE): Define.
5883 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
5884 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
5885 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5886 (TARGET_ATTRIBUTE_TABLE): Define.
5887 (h8300_attribute_table, h8300_handle_fndecl_attribute,
5888 h8300_handle_eightbit_data_attribute,
5889 h8300_handle_tiny_data_attribute): New.
5890 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
5891 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
5892 Remove prototypes.
5893 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
5894 declarations.
5895 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
5896 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
5897 define.
5898 (TARGET_ATTRIBUTE_TABLE): Define.
5899 (ix86_attribute_table, ix86_handle_cdecl_attribute,
5900 ix86_handle_regparm_attribute): New.
5901 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
5902 i386_pe_valid_type_attribute_p): Remove.
5903 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
5904 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
5905 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5906 (TARGET_ATTRIBUTE_TABLE): Define.
5907 (ia64_attribute_table): New.
5908 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
5909 interrupt_ident2, model_ident1, model_ident2): Remove.
5910 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5911 (TARGET_ATTRIBUTE_TABLE): Define.
5912 (init_idents): Update.
5913 (m32r_attribute_table, m32r_handle_model_attribute): New.
5914 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
5915 Remove.
5916 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5917 (TARGET_ATTRIBUTE_TABLE): Define.
5918 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
5919 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
5920 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5921 (TARGET_ATTRIBUTE_TABLE): Define.
5922 (mcore_attribute_table, mcore_handle_naked_attribute): New.
5923 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
5924 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5925 (TARGET_ATTRIBUTE_TABLE): Define.
5926 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
5927 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
5928 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
5929 (TARGET_ATTRIBUTE_TABLE): Define.
5930 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
5931 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
5932 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5933 (TARGET_ATTRIBUTE_TABLE): Define.
5934 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
5935 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
5936 New.
5937 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
5938 Remove.
5939 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
5940 (TARGET_ATTRIBUTE_TABLE): Define.
5941 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
5942 New.
5943 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
5944 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
5945 (TARGET_ATTRIBUTE_TABLE): Define.
5946 (v850_attribute_table, v850_handle_interrupt_attribute,
5947 v850_handle_data_area_attribute): New.
5948 * config/v850/v850-c.c (mark_current_function_as_interrupt):
5949 Return void. Call decl_attributes instead of
5950 valid_machine_attribute.
5951
5952 Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
5953
5954 * sh-protos.h (sh_pr_n_sets): Declare.
5955 * sh.c (calc_live_regs): If the initial value for PR has been copied,
5956 look at the copy to determine if PR needs to be saved.
5957 sh_pr_n_sets: New function.
5958 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
5959 (ALLOCATE_INITIAL_VALUE): Define.
5960
5961 * sh.c (initial_elimination_offset):
5962 Fix RETURN_ADDRESS_POINTER_REGNUM case.
5963
5964 Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
5965
5966 * integrate.c (allocate_initial_values): New function.
5967 * integrate.h (allocate_initial_values): Declare.
5968 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
5969 here...
5970 * reload1.c (reload): And initialization of reg_equiv_memory_loc
5971 from here...
5972 * toplev.c (rest_of_compilation): To here.
5973 Call allocate_initial_values.
5974 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
5975
5976 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5977
5978 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
5979
5980 2001-09-20 DJ Delorie <dj@redhat.com>
5981
5982 * c-typeck.c (really_start_incremental_init): Discriminate
5983 between zero-length arrays and flexible arrays.
5984 (push_init_level): Detect zero-length arrays and handle them
5985 like fixed-sized arrays.
5986 * expr.c (store_constructor): Handle zero-length arrays and
5987 flexible arrays correctly.
5988 * doc/extend.texi: Update zero-length array notes.
5989
5990 2001-09-20 Jim Wilson <wilson@redhat.com>
5991
5992 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
5993 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
5994 for issue port conflicts.
5995 (cycle_end_fill_slots): TYPE_L instructions take two slots.
5996
5997 2001-09-20 Andrew MacLeod <amacleod@redhat.com>
5998
5999 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6000 on ia64.
6001
6002 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6003
6004 * fold-const.c (hashtab.h): Include.
6005 (int_const_binop): Remove FORSIZE arg and compute from type; all
6006 callers changed.
6007 Call size_int_type_wide for all single-word constants.
6008 (size_htab_hash, size_htab_eq): New functions.
6009 (size_int_type_wide): Rework to use hash table.
6010 * ggc-common.c (hashtab.h): Include.
6011 (struct d_htab_root): New struct.
6012 (d_htab_roots): New variable.
6013 (ggc_add_deletable_htab, ggc_htab_delete): New functions
6014 (ggc_mark_roots): Handle deletable htabs.
6015 * ggc-page.c (ggc_marked_p): New function.
6016 * ggc-simple.c (ggc_marked_p): Likewise.
6017 * ggc.h: Reformatting throughout.
6018 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6019 * tree.c (init_obstacks): Make type_hash_table a deletable root.
6020 (type_hash_add): Allocate struct type_hash from GC memory.
6021 (mark_hash_entry, mark_type_hash): Deleted.
6022 (type_hash_marked_p, type_hash_mark): New functions.
6023 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6024
6025 Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
6026
6027 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6028 than SImode.
6029
6030 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6031
6032 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6033 array-too-large test for signed sizetype.
6034
6035 Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
6036
6037 * i386.md (indirect_jump): Allow Pmode operand.
6038 (tablejump): LIkewise; perform expansion to 64bit mode.
6039 * i386.c (symbolic_operand): Allow 64bit PIC references.
6040 (pic_symbolic_operand): Likewise.
6041 (ix86_find_base_term): Strip the 64bit PIC references.
6042 (legitimate_pic_address_disp_p): Handle 64bit PIC.
6043 (legitimize_pic_address): Likewise.
6044 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6045 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6046
6047 2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
6048
6049 * stringpool.c (get_identifier_with_length): New function.
6050 * tree.h (get_identifier_with_length): New prototype.
6051
6052 2001-09-19 Alan Modra <amodra@bigpond.net.au>
6053 David Edelsohn <edelsohn@gnu.org>
6054
6055 Revert:
6056 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6057 already sign-extended.
6058
6059 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6060 * config/rs6000/rs6000.c (logical_operand): Always compare op as
6061 HOST_WIDE_INT.
6062 (rs6000_emit_set_long_const): Avoid unnecessary shift.
6063 (output_profile_hook): Declare label_name const.
6064 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6065 to match constraints.
6066
6067 2001-09-19 Stan Shebs <shebs@apple.com>
6068
6069 * alias.c: Fix typos in comments.
6070 * sched-rgn.c (init_ready_list): Ditto.
6071 * unwind-dw2.c (uw_frame_state_for): Ditto.
6072 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6073 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6074 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6075
6076 2001-09-19 Richard Henderson <rth@redhat.com>
6077
6078 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6079 to the exit block.
6080 * Makefile.in (cfg.o): Depend on TM_P_H.
6081
6082 2001-09-19 Richard Henderson <rth@redhat.com>
6083
6084 * config/alpha/alpha.c (local_symbol_p): Split out from ...
6085 (local_symbolic_operand): ... here.
6086 (small_symbolic_operand): Check mode.
6087 (global_symbolic_operand): New.
6088 (input_operand): Reject symbolics if explicit relocs.
6089 (call_operand): Tidy.
6090 (alpha_legitimize_address): Use movdi_er_high_g.
6091 (alpha_expand_mov): Likewise.
6092 * config/alpha/alpha-protos.h: Update.
6093 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6094 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6095 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6096 (UNSPECV_LDGP2): Remove.
6097 (all call patterns): Use 's' not 'i' for symbolic constraint.
6098 (call_osf call_value_osf): Use call_operand.
6099 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
6100 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6101 (prologue_ldgp_1_er): Remove.
6102 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6103 (builtin_setjmp_receiver_er patterns): Use them.
6104 (exception_receiver_er): Likewise.
6105
6106 2001-09-19 Richard Henderson <rth@redhat.com>
6107
6108 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6109
6110 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6111 and NON_LOCAL_GOTO notes.
6112 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
6113 copy over CALL_INSN_FUNCTION_USAGE.
6114
6115 2001-09-18 Catherine Moore <clm@redhat.com>
6116
6117 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6118 Define as 0.
6119
6120 2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
6121
6122 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6123 new-style tm_file specification. Specify correct tm_p_file,
6124 md_file, and out_file for s390x.
6125
6126 * config/s390/linux.h, linux64.h: Don't include other target
6127 macro header files. Now handled via tm_file.
6128
6129 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6130 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6131 are defined before use.
6132
6133 Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
6134
6135 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6136 code generation only for Gnu assembler.
6137
6138 2001-09-18 Catherine Moore <clm@redhat.com>
6139
6140 * config/stormy16 (LIB_SPEC): Remove -lnosys.
6141
6142 2001-09-18 Richard Sandiford <rsandifo@redhat.com>
6143
6144 * config/mips/mips.c (mips_frame_set): New.
6145 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6146 a parallel frame-related expression with a set for each register.
6147
6148 2001-09-18 Philip Blundell <philb@gnu.org>
6149
6150 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6151 header files.
6152
6153 2001-09-17 Dale Johannesen <dalej@apple.com>
6154
6155 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6156 * config/rs6000/aix.h (FIXED_R2): Define.
6157 * config/rs6000/darwin.h (FIXED_R2): Define.
6158 * config/rs6000/sysv4.h (FIXED_R2): Define.
6159
6160 2001-09-17 Jeff Sturm <jsturm@one-point.com>
6161
6162 * except.c (dw2_build_landing_pads): New local
6163 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
6164 barrier after clobbers. Fixes c++/4012.
6165
6166 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6167
6168 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6169
6170 2001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
6171
6172 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6173 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6174
6175 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6176
6177 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6178 alloca/strcpy.
6179
6180 2001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
6181
6182 * cpphash.h (_cpp_lex_direct): New.
6183 * cpplex.c (_cpp_lex_token): Update.
6184 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6185 and increment that pointer.
6186 * cppmacro.c (alloc_expansion_token): New.
6187 (lex_expansion_token): Lex macro expansion directly into
6188 macro storage.
6189
6190 2001-09-16 Brad Lucier <lucier@math.purdue.edu>
6191
6192 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6193
6194 Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
6195
6196 * basic-block.h (free_bb_for_insn): Declare.
6197 * bb-reorder.c (label_for_bb): Use block_label.
6198 (emit_jump_to_block_after): Remove.
6199 (insert_intra_1): Do not update block_for_insn.
6200 (insert_inter_bb_scope_notes): Likewise; update bb->end
6201 * cfg.c (free_bb_for_insn): New.
6202 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6203 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6204 (commit_one_edge_insertion): Likewise.
6205 (commit_one_edge_insertion): Do not update BB boundary.
6206 (commit_edge_insertions): Do not call compute_bb_for_insn.
6207 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6208 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6209 (merge_blocks_move_successor_nojumps): Likewise.
6210 (try_crossjump_to_edge): Do not update block_for_insn.
6211 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6212 * df.c (df_pattern_emit_later): Do not update BB boundary.
6213 (df_jump_pattern_emit_after): Likewise.
6214 (df_insn_move_before): Use emit_insn_before.
6215 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6216 properly.
6217 (add_insn_after, add_insn_before, emit_insns_after): Update BB
6218 boundaries and basic_block_for_insn.
6219 (reorder_insns_nobb): Rename from reorder_insns.
6220 (reorder_insns): New.
6221 (emit_block_insn_before, emit_block_insn_after): Kill.
6222 * flow.c (check_function_return_warnings): Do not call
6223 compute_bb_for_insn; Do not free basic_block_for_insn.
6224 (attempt_auto_inc): Do not update basic_block_for_insn.
6225 * function.c (emit_return_into_block): Likewise;
6226 do not update BB boundaries.
6227 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6228 (insert_insn_end_bb): Use emit_insn_before; Likewise.
6229 (pre_insert_copy_insn): Likewise.
6230 (update_ld_motion_notes): Likewise.
6231 (insert_insn_start_bb): Likewise.
6232 (replace_store_insn): Likewise.
6233 * ifcvt.c (noce_process_if_block): Likewise.
6234 (if_convert): Do not call compute_bb_for_insn.
6235 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6236 Use emit_insn_before and emit_insn_after.
6237 * recog.c (split_all_insns): Do not update BB boundaries;
6238 Do not call compute_bb_for_insn.
6239 (peephole2_optimize): Do not update BB boundaries.
6240 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6241 emit_insn_before.
6242 (emit_swap_insn): Likewise.
6243 (convert_regs_1): Likewise.
6244 * reload1.c (reload): Call compute_bb_for_insn.
6245 * rtl.h (reorder_insns_nobb): Declare.
6246 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6247 * toplev.c (rest_of_compilation): Call free_bb_for_insn
6248 at places CFG is invalidated; do not call compute_bb_for_insn.
6249
6250 * cfg.c (expunge_block): Invalidate BB structure.
6251
6252 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6253 array.
6254
6255 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6256
6257 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
6258
6259 * cpphash.h (_cpp_lex_token): Update prototype.
6260 * cpplex.c (_cpp_lex_token): New prototype.
6261 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6262 lex_macro_node, read_flag, do_pragma_poison): Update.
6263 * cppmacro.c (cpp_get_token, parse_params,
6264 lex_expansion_token): Update.
6265
6266 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
6267
6268 * cppmain.c (scan_translation_unit): Don't worry about
6269 putting a space after hashes.
6270 * cpplib.c (directive_diagnostics): New.
6271 (_cpp_handle_directive): Update to use directive_diagnostics.
6272 (run_directive): Don't toggle prevent_expansion.
6273 (do_line): Backup in case of the line extension.
6274 * cpplib.h (cpp_lexer_pos): Remove.
6275 * cppmacro.c (_cpp_create_definition): Precede a leading #
6276 with whitespace.
6277
6278 2001-09-15 Richard Henderson <rth@redhat.com>
6279
6280 * c-typeck.c (comptypes): Handle zero-length arrays properly.
6281
6282 2001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6283
6284 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6285
6286 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6287
6288 PR preprocessor/3571
6289 * tradcpp.c (handle_directive): Skip non-vertical space.
6290
6291 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6292
6293 * cppmain.c (setup_callbacks): Set line callback only
6294 if outputting preprocessed source.
6295
6296 2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6297
6298 * collect2.c (main): Const-ification.
6299 * gcc.c (translate_options, process_command): Use xstrdup in
6300 lieu of xmalloc/strcpy.
6301 (main): Use concat in lieu of xmalloc/strcpy/strcat.
6302
6303 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6304
6305 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6306 example.
6307
6308 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6309
6310 * scan-decls.c (scan_decls): Fix typo.
6311
6312 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6313
6314 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6315 Split mlstring_pos into mls_line and mls_col.
6316 * cppinit.c (cpp_create_reader): Initialize line to 1.
6317 (cpp_destroy): Free tokenruns.
6318 (push_include): Don't update lexer_pos.
6319 * cpplex.c (unterminated, parse_string): Update.
6320 (lex_token): Don't update lexer_pos, update.
6321 * cpplib.c (if_stack): Save line instead of line + col.
6322 (start_directive, _cpp_do__Pragma, do_else, do_elif,
6323 push_conditional, _cpp_pop_buffer): Update.
6324 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6325 (_cpp_create_definition): Update.
6326
6327 2001-09-15 Eric Christopher <echristo@redhat.com>
6328
6329 * config/mips/abi64.h: Add support for MEABI.
6330
6331 2001-09-15 Eric Christopher <echristo@redhat.com>
6332
6333 * config/mips/mips.md: Add unspec #2.
6334 (reload_indi): Use.
6335 (reload_outdi): Ditto.
6336 (reload_outsi): Ditto.
6337 (HILO_delay): New.
6338
6339 2001-09-15 Eric Christopher <echristo@redhat.com>
6340 Jason Eckhardt <jle@redhat.com>
6341
6342 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6343 * config/mips/isa32-linux.h: New file.
6344 * config/mips/isa3264.h: Ditto.
6345 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6346 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6347 (output_block_mode): Support MEABI.
6348 (function_arg): Ditto. Fix floating point arg passing.
6349 (mips_va_start): Ditto.
6350 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6351 processors.
6352 (mips_asm_file_start): Add new section to pass abi to gdb.
6353 (function_arg_pass_by_reference): Support MEABI.
6354 (mips_parse_cpu): Support mips32 and mips64 processors.
6355 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6356 TARGET_MIPS5KC. Support isa32 and isa64.
6357 (processor_type): Add r4kc, r5kc, r20kc.
6358 (GENERATE_MULT3_SI): New.
6359 (GENERATE_MULT3_DI): Ditto.
6360 (GENERATE_MULT3): Remove.
6361 (ISA_HAS_64BIT_REGS): Add isa == 64.
6362 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6363 (ISA_HAS_MADD_MSUB): New.
6364 (ISA_HAS_CLZ_CLO): Ditto.
6365 (ISA_HAS_DCLZ_DCLO): Ditto.
6366 (ABI_GAS_ASM_SPEC): New.
6367 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6368 (ASM_SPEC): Ditto.
6369 (LINK_SPEC): Ditto.
6370 (SUBTARGET_CC1_SPEC): Ditto.
6371 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6372 (PAD_VARARGS_DOWN): Support MEABI.
6373 (HARD_REGNO_NREGS): Move to mips.c.
6374 (ASM_OUTPUT_IDENT): Add #undef.
6375 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6376 (mulsi3): Use GENERATE_MULT3_SI.
6377 (mulsi3_mult3): Ditto. Support mips32, mips64.
6378 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6379 (mul_sub_si): New pattern.
6380 (unnamed splitters): New.
6381 (muldi3): Use GENERATE_MULT3_DI.
6382 (muldi3_internal2): Ditto.
6383 (movdicc): Support mips32.
6384 * config/mips/t-isa3264: New file.
6385
6386 2001-09-15 Hans-Peter Nilsson <hp@axis.com>
6387
6388 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6389 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6390 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
6391
6392 * reorg.c (fill_slots_from_thread): After call to
6393 steal_delay_list_from_target, update own_thread as new_thread may
6394 have branched.
6395
6396 2001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
6397
6398 * cpperror.c (print_location): Take line and column, for
6399 default positioning use the previously lexed token.
6400 (_cpp_begin_message): Take line and column.
6401 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6402 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6403 * cpphash.h (_cpp_begin_message): Update prototype.
6404 * cppinit.c (push_include): Don't set output line.
6405 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6406 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6407 (do_pragma): Kludge for front ends. Don't expand macros at all.
6408 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6409 (struct cpp_token): Remove output_line.
6410 (struct cpp_callbacks): New member line_change.
6411 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6412 cpp_get_token): Preserve BOL flag.
6413 (cpp_get_line): Remove.
6414 (_cpp_backup_tokens): Remove useless abort().
6415 * cppmain.c (cb_line_change): New.
6416 (scan_translation_unit): Don't worry about starting new lines here.
6417 * scan-decls.c (scan_decls): Update.
6418 * c-lex.c (c_lex, init_c_lex): Update.
6419 (cb_line_change, src_lineno): New.
6420
6421 Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
6422
6423 * tree.c (append_random_chars): Generate the random
6424 characters in a reproducable fashion.
6425
6426 2001-09-14 Richard Henderson <rth@redhat.com>
6427
6428 * config/i386/i386.c (internal_label_prefix): New.
6429 (internal_label_prefix_len): New.
6430 (override_options): Set them.
6431 (local_symbolic_operand): New.
6432 (legitimate_pic_address_disp_p): Use it.
6433 (legitimize_pic_address): Likewise.
6434
6435 2001-09-14 Marc Espie <espie@openbsd.org>
6436
6437 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
6438 correctly.
6439
6440 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6441
6442 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6443 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6444
6445 2001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
6446
6447 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6448 invocation of SUBREG_REGNO_OFFSET.
6449
6450 * haifa-sched.c: Fix typo in FSF copyright statement.
6451 * sched-deps.c: Fix typo in FSF copyright statement.
6452 * sched-ebb.c: Fix typo in FSF copyright statement.
6453 * sched-rgn.c: Fix typo in FSF copyright statement.
6454 * sched-vis.c: Fix typo in FSF copyright statement.
6455
6456 * config.gcc: Move inclusion of arm elf specific header files
6457 from the files themselves into the tm_file variable. Make
6458 sure that elfos.h is included before target specific elf
6459 headers.
6460 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6461 already defined.
6462 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6463 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6464 ASM_OUTPUT_CASE_LABEL): Protect definition.
6465 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6466 not already defined.
6467 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6468 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
6469 Remove duplicate definition.
6470 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6471 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6472 (RDATA_SECTION_FUNCTION): Remove redundant definition.
6473 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6474 Remove inclusion of arm/elf.h.
6475 * config/arm/unknown-elf.h: as for conix-elf.h.
6476 (STARTFILE_SPEC): Include crti.o and crtn.o.
6477 * config/arm/linux-elf.h: as for conix-elf.h.
6478 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6479 * config/arm/strongarm-elf.h: Remove inclusion of
6480 unknown-elf.h.
6481 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6482 * config/arm/unknown-elf-oabi.h: Remove inclusion of
6483 unknown-elf.h and elf.h.
6484 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6485 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6486 ASM_WEAKEN_LABEL): Remove redundant definition.
6487 * config/arm/elf.h: Test for inclusion of elfos.h
6488 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6489 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6490 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6491 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6492 redundant definition.
6493 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
6494 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
6495 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
6496 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
6497 Add rules to build crti.o and crtn.o
6498 * crti.asm: New file.
6499 * crtn.asm: New file.
6500
6501 2001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
6502
6503 * c-parse.in (_yylex): Use _cpp_backup_tokens.
6504 * cpphash.h (struct tokenrun): Add prev.
6505 (struct lexer_state): Remove bol.
6506 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
6507 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
6508 : Remove.
6509 * cppinit.c (cpp_create_reader): Don't set bol.
6510 (cpp_destroy): Don't free lookaheads.
6511 * cpplex.c (lex_directive): Remove.
6512 (next_tokenrun): Update.
6513 (_cpp_lex_token): Clean up logic.
6514 (lex_token): Update to return a pointer to lexed token, since it
6515 can move to the start of the buffer. Simpify newline handling.
6516 * cpplib.c (SEEN_EOL): Update.
6517 (skip_rest_of_line): Remove lookahead stuff.
6518 (end_directive): Line numbers are already incremented. Revert
6519 to start of lexed token buffer if we can.
6520 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
6521 parse_answer): Use _cpp_backup_tokens.
6522 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
6523 instead. Don't check for EOL.
6524 (do_include_common, do_line, do_pragma_system_header): Use
6525 skip_rest_of_line.
6526 * cpplib.h (BOL, _cpp_backup_tokens): New.
6527 * cppmacro.c (save_lookahead_token, take_lookahead_token,
6528 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
6529 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
6530 (builtin_macro): Don't use cpp_get_line.
6531 (cpp_get_line): Short term kludge.
6532 (parse_arg): Handle directives in arguments here. Back up when
6533 appropriate. Store EOF at end of argument list.
6534 (funlike_invocation_p): Use _cpp_backup_tokens.
6535 (push_arg_context): Account for EOF at end of list.
6536 (cpp_get_token): Remove lookahead stuff. Update.
6537
6538 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6539
6540 * c-parse.in (yyerror): Const-ification and/or static-ization.
6541 * c-typeck.c (push_member_name): Likewise.
6542 * collect2.c (main): Likewise.
6543 * dbxout.c (dbxout_parms): Likewise.
6544 * diagnostic.c (format_with_decl): Likewise.
6545 * dwarf2out.c (output_ranges): Likewise.
6546 * dwarfout.c (fundamental_type_code): Likewise.
6547 * except.c (dw2_output_call_site_table): Likewise.
6548 * gcc.c (do_spec_1): Likewise.
6549 * genopinit.c (optabs): Likewise.
6550 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
6551 gen_declaration_1, handle_impent): Likewise.
6552 * protoize.c (default_include, in_system_include_dir, abspath):
6553 Likewise.
6554 * sched-vis.c (visualize_stall_cycles): Likewise.
6555 * sdbout.c (plain_type_1, sdbout_end_function,
6556 sdbout_end_epilogue): Likewise.
6557 * varasm.c (decode_reg_name): Likewise.
6558
6559 * 1750a.c (mod_regno_adjust): Likewise.
6560 * alpha.c (alpha_write_one_linkage,
6561 unicosmk_output_default_externs): Likewise.
6562 * arm.c (arm_condition_codes): Likewise.
6563 * arm.h (arm_condition_codes): Likewise.
6564 * avr.c (output_movsisf, encode_section_info): Likewise.
6565 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
6566 Likewise.
6567 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6568 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
6569 * m88k.c (output_function_profiler): Likewise.
6570 * mips.c (mips_output_conditional_branch): Likewise.
6571 * ns32k.c (ns32k_out_reg_names): Likewise.
6572 * ns32k.h (ns32k_out_reg_names): Likewise.
6573 * pj.c (pj_output_rval): Likewise.
6574 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
6575 * sparc.c (sparc_flat_function_prologue,
6576 sparc_flat_function_epilogue): Likewise.
6577
6578 2001-09-13 Markus Werle <numerical.simulation@web.de>
6579 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6580
6581 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
6582 Aachen University of Technology".
6583
6584 2001-09-13 Andreas Schwab <schwab@suse.de>
6585
6586 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
6587 C99.
6588
6589 2001-09-13 Richard Henderson <rth@redhat.com>
6590
6591 * config/alpha/alpha.c (small_symbolic_operand): New.
6592 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
6593 (some_operand, input_operand): Don't handle HIGH.
6594 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
6595 (alpha_expand_mov): Likewise.
6596 (print_operand) [H]: Just print HIGH symbol.
6597 (print_operand_address): Handle small data.
6598 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
6599 (TARGET_SWITCHES): Add -msmall-data/large-data.
6600 (PIC_OFFSET_TABLE_REGNUM): New.
6601 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
6602 (PREDICATE_COES): Update.
6603 * config/alpha/alpha.md (adddi_er_high): New.
6604 (adddi_er_low): Handle small data.
6605 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
6606 prefer .sdata to .rodata.
6607 (SELECT_RTX_SECTION): Likewise.
6608
6609 2001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
6610
6611 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
6612 defining __size_t and leaving size_t undefined.
6613
6614 2001-09-12 Diego Novillo <dnovillo@redhat.com>
6615
6616 * basic-block.h (expunge_block): Declare.
6617 * cfg.c (expunge_block): Remove static declaration.
6618
6619 2001-09-12 Richard Henderson <rth@redhat.com>
6620
6621 * integrate.c (copy_insn_list): Copy label name from
6622 NOTE_INSN_DELETED_LABEL.
6623
6624 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6625
6626 * c-common.c (c_tree_code_name): Const-ification.
6627 * c-decl.c (c_decode_option): Likewise.
6628 * c-typeck.c (warn_for_assignment): Likewise.
6629 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
6630 Likewise.
6631 * cppinit.c (output_deps): Likewise.
6632 * dependence.c (dependence_string, direction_string): Likewise.
6633 * dwarf2out.c (output_ranges): Likewise.
6634 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
6635 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
6636 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
6637 standard_startfile_prefix, standard_startfile_prefix_1,
6638 standard_startfile_prefix_2, tooldir_base_prefix,
6639 standard_bindir_prefix, find_a_file): Likewise.
6640 * genattrtab.c (make_length_attrs): Likewise.
6641 * gencheck.c (tree_codes): Likewise.
6642 * genemit.c (gen_split): Likewise.
6643 * genrecog.c (special_mode_pred_table): Likewise.
6644 * graph.c (graph_ext): Likewise.
6645 * protoize (default_include): Likewise.
6646 * reload.c (reload_when_needed_name): Likewise.
6647 * sched-vis.c (visualize_stall_cycles): Likewise.
6648 * tlink.c (recompile_files): Likewise.
6649 * toplev.c (decode_g_option): Likewise.
6650 * tradcpp.c (output_deps): Likewise.
6651 * varasm.c (decode_reg_name): Likewise.
6652
6653 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
6654 Const-ification.
6655 * arm.md: Likewise.
6656 * avr.c (avr_regnames, encode_section_info): Likewise.
6657 * c4x.c (float_reg_names): Likewise.
6658 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
6659 * elfos.h (const_section): Likewise.
6660 * i386.c (ix86_comp_type_attributes): Likewise.
6661 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
6662 * ia64/aix.h (UNIQUE_SECTION): Likewise.
6663 * ia64.c (type_names): Likewise.
6664 * m68hc11.c (reg_class_names): Likewise.
6665 * m88k.c (m_options): Likewise.
6666 * mips.c (mips_output_conditional_branch, mips_unique_section):
6667 Likewise.
6668 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
6669 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
6670 ultra_code_names): Likewise.
6671 * sparc.h (OVERRIDE_OPTIONS): Likewise.
6672
6673 2001-09-12 Jakub Jelinek <jakub@redhat.com>
6674
6675 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
6676 Use --fatal-warnings option for gas.
6677 * configure: Rebuilt.
6678
6679 2001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6680
6681 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
6682
6683 2001-09-11 Jim Wilson <wilson@redhat.com>
6684
6685 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
6686
6687 2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
6688
6689 * builtins.c (c_strlen): Treat an offset too large for a
6690 HOST_WIDE_INT as out of range.
6691
6692 Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
6693
6694 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
6695 (EDGE_CRITICAL_P): New predicate.
6696 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
6697 handling.
6698 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
6699 (dump_edge_info): Remove "crit".
6700 * cfganal.c (mark_critical_edges): Kill.
6701 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
6702 * cfgcleanup.c (cleanup_cfg): Likewise.
6703 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
6704 (find_spanning_tree): Likewise.
6705 * reg-stack.c (convert_regs_1): Likewise.
6706 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
6707
6708 * basic-block.h (create_basic_block_structure): New.
6709 (create_basic_block): Update prototype.
6710 (force_nonfallthru): New.
6711 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
6712 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
6713 handle updating of block_for_insn, creating of empty BBs and BBs at
6714 the end of INSN chain.
6715 (create_basic_block): New function.
6716 (split_block): Use create_basic_block.
6717 (force_nonfallthru_and_redirect): Break out from ...; cleanup
6718 (redirect_edge_and_branch_force): ... here.
6719 (force_nonfallthru): New.
6720 (split_edge): Rewrite to use force_nonfallthru and create_block.
6721 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
6722 (find_basic_blocks): Free basic_block_for_insn.
6723 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
6724
6725 * cfg.c: Fix formating.
6726 * cfgcleanup.c: Fix formating.
6727 (merge_blocks, tail_recursion_label_p): Return bool.
6728 (merge_blocks_move_predecessor_nojumps,
6729 merge_blocks_move_successor_nojumps): Return void.
6730
6731 2001-09-11 Jakub Jelinek <jakub@redhat.com>
6732
6733 * configure.in: Check whether assembler supports section merging.
6734 * config.in: Rebuilt.
6735 * configure: Rebuilt.
6736 * varasm.c (variable_section, output_constant_pool): Pass alignment
6737 to SELECT_SECTION and SELECT_RTX_SECTION.
6738 (mergeable_string_section): New.
6739 (mergeable_constant_section): New.
6740 (default_elf_asm_named_section): Output SECTION_MERGE and
6741 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6742 * output.h (mergeable_string_section): New.
6743 (mergeable_constant_section): New.
6744 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
6745 * toplev.c (flag_merge_constants): New.
6746 (f_options): Add -fmerge-constants and -fmerge-all-constants
6747 options.
6748 (toplev_main): Default to -fno-merge-constants if not optimizing.
6749 * flags.h (flag_merge_constants): Add extern.
6750 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
6751 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
6752 argument.
6753 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
6754 Define if assembler has working .subsection -1 support.
6755 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
6756 Put constant into special SHF_MERGE sections if the linker should
6757 attempt to merge duplicates.
6758 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
6759 macro argument.
6760 Put constant into special SHF_MERGE sections if the linker should
6761 attempt to merge duplicates.
6762 * config/alpha/elf.h: Likewise.
6763 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
6764 has working .subsection -1 support.
6765 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
6766 SELECT_SECTION.
6767 * config/svr3.h: Likewise.
6768 * config/darwin.h: Likewise.
6769 * config/arm/aof.h: Likewise.
6770 * config/arm/linux-elf.h: Likewise.
6771 * config/avr/avr.h: Likewise.
6772 * config/c4x/c4x.h: Likewise.
6773 * config/d30v/d30v.h: Likewise.
6774 * config/i386/dgux.h: Likewise.
6775 * config/i386/osfrose.h: Likewise.
6776 * config/i386/sco5.h: Likewise.
6777 * config/i386/svr3gas.h: Likewise.
6778 * config/ia64/aix.h: Likewise.
6779 * config/m32r/m32r.h: Likewise.
6780 * config/m68k/m68k.h: Likewise.
6781 * config/m88k/dgux.h: Likewise.
6782 * config/m88k/m88k.h: Likewise.
6783 * config/mcore/mcore-pe.h: Likewise.
6784 * config/mips/mips.h: Likewise.
6785 * config/pa/pa.h: Likewise.
6786 * config/pa/pa-linux.h: Likewise.
6787 * config/romp/romp.h: Likewise.
6788 * config/rs6000/sysv4.h: Likewise.
6789 * config/rs6000/xcoff.h: Likewise.
6790 * config/s390/linux.h: Likewise.
6791 * config/sparc/sparc.h: Likewise.
6792 * config/sparc/sysv4.h: Likewise.
6793 * config/stormy16/stormy16.h: Likewise.
6794 * config/v850/v850.h: Likewise.
6795 * config/vax/vms.h: Likewise.
6796 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
6797 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
6798 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
6799 default_elf_asm_named_section for SHF_MERGE sections.
6800
6801 Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
6802
6803 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
6804 is OK.
6805
6806 2001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
6807
6808 * c-common.c (split_specs_attrs): Allow for empty attributes with
6809 empty TREE_PURPOSE. Fixes PR c/4294.
6810
6811 Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
6812
6813 * basic-block.h (cached_make_edge, make_single_succ): New.
6814 (make_edge): Remove first parameter.
6815 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
6816 * cfg.c (cached_make_edge): Rename from make_edge; return newly
6817 created edge; use obstack allocation.
6818 (make_edge, make_single_succ_edge): New.
6819 (first_removed_edge): New static variable.
6820 (init_flow): Initialize first_removed_edge and n_edges.
6821 (clear_edges): Use remove_edge.
6822 (flow_delete_block): Likewise.
6823 (remove_edge): Add removed edges to the removed edges list.
6824 (split_block, redirect_edge_and_branch_force, split_edge):
6825 Use make_edge.
6826 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
6827 (add_noreturn_fake_exit_edges): Likewise.
6828 (connect_infinite_loops_to_exit): Liekwise.
6829 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
6830 Use cached_make_edge.
6831 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
6832 * profile.c (branch_prob): Update make_edge call.
6833 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6834
6835 2001-09-11 Richard Henderson <rth@redhat.com>
6836
6837 * config/alpha/alpha.c: Tidy formatting.
6838 (local_symbolic_operand): Verify mode.
6839 (alpha_sa_mask): Ignore unicos for eh_return.
6840 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
6841 * config/alpha/alpha.md (umk divsi patterns): Remove.
6842 (extendsfdf2): Remove unicos check.
6843 (tablejump): Merge vms and unicos code; always use direct set
6844 plus label_ref use.
6845
6846 2001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6847
6848 * config.gcc (alpha*-*-unicosmk*): New target.
6849
6850 * config/alpha/alpha-protos.h (symbolic_operand,
6851 unicosmk_add_call_info_word, unicosmk_add_extern,
6852 unicosmk_defer_case_vector, unicosmk_unique_section,
6853 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
6854 unicosmk_asm_file_start, unicosmk_asm_file_end,
6855 unicosmk_output_common): Declare.
6856
6857 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
6858 direct_return, function_arg, alpha_va_start, alpha_va_arg,
6859 alpha_does_function_need_gp, alpha_end_function): Support Cray
6860 Unicos/Mk.
6861 (alpha_init_machine_status, alpha_mark_machine_status,
6862 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
6863 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
6864 unicosmk_asm_named_section, unicosmk_insert_attributes,
6865 unicosmk_section_type_flags, symbolic_operand,
6866 unicosmk_output_module_name, unicosmk_output_default_externs,
6867 unicosmk_output_dex, unicosmk_output_externs,
6868 unicosmk_output_addr_vec, unicosmk_ssib_name,
6869 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
6870 unicosmk_asm_file_end, unicosmk_output_common,
6871 unicosmk_section_type_flags, unicosmk_unique_section,
6872 unicosmk_add_call_info_word, unicosmk_text_section,
6873 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
6874 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
6875 unicosmk_dex_count, unicosmk_special_name): New.
6876 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
6877 TARGET_ABI_UNICOSMK.
6878 (get_aligned_mem, alpha_expand_unaligned_load,
6879 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
6880 alpha_expand_unaligned_store_words): Support big-endian mode.
6881 (print_operand): Likewise. New format specifier 't'. Use
6882 TARGET_AS_SLASH_BEFORE_SUFFIX.
6883 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
6884 (alpha_pv_save_size): Update with above change.
6885 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
6886 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
6887 Unicos/Mk.
6888
6889 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
6890 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
6891 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
6892 (EXTRA_CONSTRAINT): New constraint 'U'.
6893 (PREDICATE_CODES): Add symbolic_operand.
6894
6895 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
6896 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
6897 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
6898 (integer division and modulus patterns): Split in default and
6899 Unicos/Mk versions.
6900 (*divmodsi_internal, *divmoddi_internal): Disable for
6901 TARGET_ABI_UNICOSMK.
6902 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
6903 little-endian and big-endian versions.
6904 (ext, ins, msk): Likewise.
6905 (extv, extzv, insv): Support big-endian mode.
6906 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
6907 (call_umk, call_value_umk, *call_umk, tablejump_umk,
6908 *tablejump_umk_internal, *call_value_umk): New.
6909 (*movdi_nofix): Add pattern for loading an address into a register on
6910 TARGET_ABI_UNICOSMK.
6911 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
6912 (umk_mismatch_args, arg_home_umk): New.
6913 (various insns): Don't use mov, fmov, nop, fnop and unop.
6914 (realign): Support TARGET_ABI_UNICOSMK.
6915
6916 * config/alpha/unicosmk.h: New file.
6917 * config/alpha/t-unicosmk: New file.
6918
6919 * fixinc/inclhack.def (unicosmk_restrict): New.
6920 * fixinc/fixincl.x: Regenerate.
6921
6922 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
6923 (wchar_t): Check for and define __WCHAR_T__.
6924
6925 2001-09-11 Richard Sandiford <rsandifo@redhat.com>
6926
6927 * combine.c (simplify_shift_const): Treat shifts by the mode
6928 size as undefined.
6929
6930 2001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
6931
6932 * cpphash.h (struct tokenrun): New.
6933 (struct cpp_context): New member bol.
6934 (struct cpp_reader): New members.
6935 (_cpp_init_tokenrun): New.
6936 * cppinit.c (cpp_create_reader): Set up the token runs.
6937 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
6938 (lex_token): New internalised version of _cpp_lex_token. Don't
6939 handle directives or the multiple include opimisation here any
6940 more. Simply lex a token.
6941 * cpplib.c (run_directive): Clear bol.
6942 (_cpp_pop_buffer): Set bol.
6943 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
6944 arguments.
6945
6946 2001-09-11 Michael Meissner <meissner@redhat.com>
6947
6948 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
6949 give an error if the user uses -mfp32.
6950 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
6951 default options.
6952 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
6953 floating point register size.
6954 (EXTRA_SPECS): Add CPP_FPR_SPEC.
6955
6956 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
6957 HOST_WIDE_INT_PRINT_DEC to properly print the result of
6958 int_size_in_bytes.
6959 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
6960 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
6961
6962 2001-09-11 Hans-Peter Nilsson <hp@axis.com>
6963
6964 * dbxout.c (dbxout_parms): Fix typo in comment.
6965 * unroll.c (loop_find_equiv_value): Ditto.
6966 * toplev.c (rest_of_compilation): Ditto.
6967 * loop.c (scan_loop): Ditto.
6968 * dwarf2out.c (struct dw_fde_struct): Ditto.
6969
6970 2001-09-10 Zack Weinberg <zackw@panix.com>
6971
6972 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
6973 copying identifier when we're just going to throw it away.
6974 (parse_identifier_slow): New routine to handle abnormal cases.
6975 (_cpp_lex_token): Update call site.
6976
6977 * hashtable.c (ht_lookup): Don't assume that the string we've
6978 been given is NUL-terminated.
6979 * system.h: #define __builtin_expect(a, b) to (a) if not
6980 GCC >=3.0.
6981
6982 2001-09-10 Michael Meissner <meissner@redhat.com>
6983
6984 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
6985 binutils, gdb.
6986
6987 2001-09-10 David Edelsohn <edelsohn@gnu.org>
6988
6989 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
6990
6991 Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6992
6993 * builtins.c (c_getstr): Correct thinko in last change and further
6994 cleanup.
6995
6996 2001-09-10 Tim Freeman <tim@fungibole.com>
6997
6998 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
6999 into varray's and register them as roots with the garbage
7000 collector so they are not collected too soon.
7001
7002 Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
7003
7004 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7005 New.
7006 * basic-block.h (flow_obstack, label_value_list,
7007 tail_recursion_label_list): Declare
7008 (tidy_fallthru_edges): Declare.
7009 (expunge_block, last_loop_beg_note): Delete.
7010 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7011 * cfg.c: New file
7012 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7013 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7014 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
7015 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
7016 expunge_block, flow_delete_block, compute_bb_for_insn,
7017 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7018 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7019 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7020 try_redirect_by_replacing_jump, last_loop_beg_note,
7021 redirect_edge_and_branch, redirect_edge_and_branch_force,
7022 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7023 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
7024 commit_edge_insertions, dump_flow_info, debug_flow_info,
7025 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7026 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7027 Move here from flow.c
7028 * cfganal.c: New file.
7029 (forwarder_block_p, can_fallthru, mark_critical_edges,
7030 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7031 find_unreachable_blocks, create_edge_list, free_edge_list,
7032 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7033 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7034 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7035 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7036 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7037 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7038 Move here from flow.c
7039 * cfgbuild.c: New file
7040 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7041 make_edges, find_basic_blocks_1, find_basic_blocks,
7042 find_sub_basic_blocks): Move here from flow.c
7043 * cfgcleanup.c: New file.
7044 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7045 merge_blocks_move_predecessor_nojumps,
7046 merge_blocks_move_successor_nojumps, merge_blocks,
7047 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7048 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7049 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7050 if succeeded.
7051 * cfgloop.c: New file
7052 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7053 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7054 flow_loop_exit_edges_find, flow_loop_nodes_find,
7055 flow_loop_pre_header_scan, flow_loop_pre_header_find,
7056 flow_loop_tree_node_add, flow_loops_tree_build,
7057 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7058 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7059 Move here from flow.c
7060 * flow.c: Remove everything moved elsewhere
7061 * output.h (cleanup_cfg): Return bool.
7062
7063 * bb-reorder.c (reorder_block_def): Remove 'index'.
7064 (insert_intra_1): Add argument BB, set block for new note.
7065 (make_reorder_chain): Do not depdent on BB indexes.
7066 (make_reorder_chain_1): Do not use BB indexes.
7067 (label_for_bb): Likewise; set BB for new insn.
7068 (emit_jump_to_block_after): Likewise.
7069 (fixup_reoder_chain): Sanity check that all basic blocks
7070 are chained; verify newly created insn chain; remove
7071 undocnitional jump simplifying; Do not use BB indexes;
7072 properly initialize count and frequency information;
7073 dump reordered sequence.
7074 (insert_intra_bb_scope_notes): update call of insert_intra_1.
7075 (insert_inter_bb_scope_notes): Set block for new insn.
7076 (reorder_basic_blocks): Dump flow info before reoredering.
7077
7078 Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7079
7080 * alias.c (clear_reg_alias_info): Use K&R format definition.
7081 Avoid unsigned warning.
7082 * builtins.c: Use "unsigned int", not "unsigned".
7083 (target_char_cast): Use host_integerp and tree_low_cst.
7084 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7085 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7086 (c_getstr): Likewise.
7087 (std_expand_builtin_va_arg): Use int_size_in_bytes.
7088 (builtin_memcpy_read_str): Avoid unsigned warning.
7089 (expand_builtin_memcpy): Alignments are unsigned.
7090 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7091 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7092 * predict.c (expensive_function_p): LIMIT now unsigned.
7093 * resource.c (mark_target_live_regs): Make some vars unsigned.
7094 * sdbout.c: Use "unsigned int", not "unsigned".
7095 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7096 (sdbout_source_line): Likewise.
7097 (sdbout_record_type_name): Remove "const" for NAME declaration.
7098 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7099
7100 2001-09-10 Richard Sandiford <rsandifo@redhat.com>
7101
7102 * calls.c (store_one_arg): Expand comment.
7103
7104 2001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7105
7106 * calls.c (store_one_arg): Make sure that the entire argument is
7107 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7108
7109 2001-09-09 Richard Henderson <rth@redhat.com>
7110
7111 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7112
7113 Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
7114
7115 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7116
7117 2001-09-09 Richard Henderson <rth@redhat.com>
7118
7119 * config/alpha/alpha.c (alpha_next_sequence_number): New.
7120 (alpha_this_literal_sequence_number): New.
7121 (alpha_this_gpdisp_sequence_number): New.
7122 (some_operand, input_operand): Add HIGH.
7123 (local_symbolic_operand): New.
7124 (alpha_encode_section_info): New.
7125 (alpha_legitimate_address_p): Allow LO_SUM.
7126 (alpha_legitimize_address): Generate HIGH+LO_SUM.
7127 (alpha_expand_mov): Likewise.
7128 (secondary_reload_class): Check memory_operand not general_operand
7129 for FP_REGS test.
7130 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7131 (alpha_expand_unaligned_store): Likewise.
7132 (alpha_expand_unaligned_load_words): Likewise.
7133 (alpha_expand_unaligned_store_words): Likewise.
7134 (alpha_expand_block_clear): Likewise.
7135 (print_operand): Handle %#, %*, %H.
7136 (print_operand_address): Handle LO_SUM.
7137 (find_lo_sum): New.
7138 (alpha_does_function_need_gp): Use it.
7139 (alpha_expand_block_move): Fix signed compare warnings.
7140 (alpha_sa_mask, alpha_align_insns): Likewise.
7141 * config/alpha/alpha-protos.h: Update.
7142 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7143 (MASK_EXPLICIT_RELOCS): New.
7144 (TARGET_SWITCHES): Add -mexplicit-relocs.
7145 (EXTRA_CONSTRAINT): Add 'T'.
7146 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7147 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7148 (ENCODE_SECTION_INFO): Out line.
7149 (REDO_SECTION_INFO_P): New.
7150 (STRIP_NAME_ENCODING): New.
7151 (ASM_OUTPUT_LABELREF): New.
7152 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7153 (PREDICATE_CODES): Update.
7154 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7155 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7156 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7157 builtin_setjmp_receiver_er, exception_receiver_1_er,
7158 call_value_osf_1_er): New patterns.
7159 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7160 (movqi, movhi, movsi): Add explicit $31 base register to lda.
7161 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7162 (FINAL_PRESCAN_INSN): New.
7163
7164 Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
7165
7166 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7167
7168 2001-09-08 Andreas Jaeger <aj@suse.de>
7169
7170 * i386.h (TARGET_SWITCHES): Fix description.
7171
7172 2001-09-07 David Edelsohn <edelsohn@gnu.org>
7173
7174 * rs6000.c (num_insns_constant): Compute number of instructions
7175 more accurately.
7176
7177 * doc/install.texi: Explain AIX exception handling work-around.
7178 Update URL for AIX fixes.
7179
7180 2001-09-07 Jim Wilson <wilson@redhat.com>
7181
7182 * alias.c (clear_reg_alias_info): New.
7183 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7184 * rtl.h (clear_reg_alias_info): Declare.
7185
7186 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7187
7188 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7189 available.
7190 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7191 (m16m,edivm,emulm): Change declaration to match definition.
7192
7193 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7194
7195 * reload.c (push_reload): Check for subreg_lowpart_p instead of
7196 SUBREG_BYTE being 0 when determining if the inner part of a subreg
7197 can be reloaded.
7198
7199 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7200
7201 * c-common.c (signed_or_unsigned_type): Handle machine mode types
7202 which have no corresponding C type.
7203 * fold_const.c (target_isinf,target_isnan,target_negative): Update
7204 the representation of 64-bit doubles to work with 64-bit ints.
7205
7206 2001-09-07 Aldy Hernandez <aldyh@redhat.com>
7207
7208 * config/mips/mips.c (override_options): Do not override ISA when ABI
7209 specified if MIPS_CPU_STRING_DEFAULT was specified.
7210
7211 2001-09-07 Richard Henderson <rth@redhat.com>
7212
7213 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7214 (express_from_1): Wrap lines.
7215 * rtlanal.c (commutative_operand_precedence): Rename from
7216 operand_preference; export.
7217 * rtl.h: Declare it.
7218 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7219 (simplify_binary_operation): Invoke simplify_plus_minus on
7220 (CONST (PLUS ...)) as well.
7221 (struct simplify_plus_minus_op_data): New.
7222 (simplify_plus_minus_op_data_cmp): New.
7223 (simplify_plus_minus): Use them. Avoid infinite recursion with
7224 simplify_binary_operation wrt CONST.
7225
7226 Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
7227
7228 * h8300-protos.h (general_operand_dst_push): Remove.
7229 * h8300.c (general_operand_dst_push): Likewise.
7230 * h8300.h (OK_FOR_T): Likewise.
7231 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7232 * h8300.md (pushqi_h8300): New.
7233 (pushqi_h8300hs): Likewise.
7234 (pushqi): Likewise.
7235 (pushhi_h8300): Likewise.
7236 (pushhi_h8300hs): Likewise.
7237 (pushhi): Likewise.
7238
7239 Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7240
7241 * genattrtab.c (attr_printf): First arg is unsigned.
7242 Clean up formatting of callers.
7243
7244 2001-09-06 Aldy Hernandez <aldyh@redhat.com>
7245
7246 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7247 registers.
7248
7249 2001-09-07 Andreas Jaeger <aj@suse.de>
7250
7251 * i386.h (TARGET_SWITCHES): Fix descriptions.
7252
7253 2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
7254
7255 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7256
7257 2001-09-06 Ira Ruben <ira@apple.com>
7258
7259 Remove OP_IDENTIFIER.
7260 * tree.def (OP_IDENTIFIER): Remove.
7261 * tree.c (tree_node_kind enum): Remove op_id_kind.
7262 (tree_node_kind_names): Remove "op_identifiers".
7263 (make_node): Remove OP_IDENTIFIER test.
7264 (build_op_identifier): Removed because it isn't being used.
7265 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7266 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7267
7268 2001-09-06 Richard Henderson <rth@redhat.com>
7269
7270 * simplify-rtx.c (simplify_binary_operation): Revert last change.
7271
7272 2001-09-06 Richard Henderson <rth@redhat.com>
7273
7274 * simplify-rtx.c (simplify_binary_operation): Simplify contents
7275 of CONST.
7276
7277 2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7278
7279 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7280 number used for CR register.
7281
7282 Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
7283 Joern Rennecke (amylaar@cygnus.com)
7284
7285 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7286 * h8300.c (initial_offset): Handle offset between RP and FP.
7287 (h8300_return_addr_rtx): New function.
7288 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7289 return register.
7290 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7291 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7292 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7293 (CAN_ELIMINATE, REGISTER_NAMES):
7294 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7295
7296 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
7297
7298 Remove TYPE_NONCOPIED_PARTS.
7299 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7300 (struct tree_type): Remove noncopied_parts.
7301 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7302 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7303 (fixed_type_p): Remove.
7304 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7305 (expand_expr, MODIFY_EXPR): Likewise.
7306 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7307 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7308
7309 2001-09-06 Alan Modra <amodra@bigpond.net.au>
7310
7311 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7312 compiler warnings.
7313 (mask64_operand): Likewise.
7314 (includes_rldic_lshift_p): Likewise.
7315 (includes_rldicr_lshift_p): Likewise.
7316
7317 2001-09-05 Ziemowit Laski <zlaski@apple.com>
7318
7319 * objc/objc-act.c (build_message_expr): If a class method cannot
7320 be found, do not issue a warning if a corresponding instance
7321 method exists in the root class.
7322
7323 2001-09-05 Richard Henderson <rth@redhat.com>
7324
7325 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7326
7327 2001-09-05 Zack Weinberg <zack@codesourcery.com>
7328
7329 * function.c (ggc_mark_struct_function): Mark f->outer.
7330 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7331 * integrate.c (output_inline_function): ... not here.
7332
7333 Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
7334
7335 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7336
7337 * i386.c (size_cost): New static variable.
7338 (override_function): Use size_cost when -Os is specified.
7339
7340 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7341 properly; Use current_function_calls_eh_return.
7342 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
7343 use leave to avoid dependency chain.
7344
7345 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7346 get BB loop_depth instead of computing it from LOOP notes.
7347
7348 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7349
7350 2001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7351
7352 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7353 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7354 UNALIGNED_DOUBLE_INT_ASM_OP): Define
7355
7356 2001-09-05 Jeffrey A Law (law@cygnus.com)
7357 Jason Merrill (jason@redhat.com)
7358
7359 * stor-layout.c (layout_type): Complain if an array's size can
7360 not be represented in a size_t.
7361
7362 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7363
7364 2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
7365
7366 * gcc.c: (process_command) Add parentheses around assignment
7367 used as truth value.
7368
7369 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
7370
7371 * config/mips/mips.c (save_restore_insns): Don't mark any register
7372 save slots as unchanging if current_function_calls_eh_return.
7373
7374 2001-09-05 Richard Henderson <rth@redhat.com>
7375
7376 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7377 * config/alpha/alpha-protos.h: Declare it.
7378 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7379 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7380 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7381 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7382 (REG_OK_FOR_BASE_P): Select one of the above.
7383
7384 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
7385
7386 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7387 (crti.o): Prefix name of object file with $(T).
7388 (crtn.o): Likewise.
7389
7390 2001-09-05 David S. Miller <davem@redhat.com>
7391
7392 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7393 * config/sparc/linux64.h: Likewise.
7394
7395 2001-09-05 Andreas Jaeger <aj@suse.de>
7396
7397 * doc/invoke.texi (i386 Options): -mwide-multiply is not
7398 available anymore, remove the documentation.
7399 (i386 Options): Fix typo, cleanup index entries.
7400
7401 * prefix.c (concat): Remove, we can use the version from liberty.
7402
7403 2001-09-05 Richard Henderson <rth@redhat.com>
7404
7405 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7406 New functions split out of md file expanders.
7407 * config/alpha/alpha-protos.h: Declare them.
7408 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7409
7410 2001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
7411
7412 * cppmacro.c (funlike_invocation_p): No need to restore context.
7413
7414 2001-09-04 Richard Henderson <rth@redhat.com>
7415
7416 * reload.c (push_reload): Export.
7417 * reload.h (push_reload): Declare it.
7418
7419 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7420 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7421 * config/alpha/alpha.c (alpha_legitimize_address): New.
7422 (alpha_legitimize_reload_address): Likewise.
7423 * config/alpha/alpha-protos.h: Declare them.
7424
7425 2001-09-04 Stan Shebs <shebs@apple.com>
7426
7427 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7428 * config/darwin.c (machopic_stub_name): Account for internally
7429 generated lib calls such as memcpy.
7430
7431 2001-09-04 Richard Henderson <rth@redhat.com>
7432
7433 * unwind.h (_UA_END_OF_STACK): New flag.
7434 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7435
7436 Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
7437
7438 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7439
7440 2001-09-04 Richard Sandiford <rsandifo@redhat.com>
7441
7442 * config/mips/mips.c (save_restore_insns): Change base_offset to
7443 fp_offset in second call to mips_emit_frame_related_store.
7444
7445 2001-09-04 Hans-Peter Nilsson <hp@axis.com>
7446
7447 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7448 sometimes be represented as a NOTE of type
7449 NOTE_INSN_DELETED_LABEL.
7450 (Insns): Document NOTE_INSN_DELETED_LABEL.
7451
7452 2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
7453
7454 * c-common.h (tree_dump_index): Add more comments.
7455 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7456 (dump_option_value_info): New struct.
7457 (dump_options): New array.
7458 (dump_switch_p): Parse switch options symbolically.
7459 * doc/invoke.texi (-fdump-ast): Rename to ...
7460 (-fdump-tree): ... here. Document that options are symbolic, and
7461 not all are applicable.
7462
7463 2001-09-04 David S. Miller <davem@redhat.com>
7464
7465 * config/sparc/sparc.md (define_splits): Kill constraints.
7466
7467 Cleanup redundant and unused insn attributes.
7468 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7469 binary, and move. Mark ialu as default.
7470 (commented out define_function_unit "alu"): Kill.
7471 (define_attr "use_clobbered"): Kill.
7472 (whole file): Kill address insn type references. Replace
7473 all unary/binary/move references with ialu.
7474 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7475 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
7476 TYPE_IALU.
7477
7478 Simplify length insn attribute and make more judicious use
7479 of insn attribute defaulting.
7480 * config/sparc/sparc.md (all insns with length > one): Mark as
7481 insn type multi if real instructions, else use default if
7482 it is a forced splitter.
7483 (all insns with length == one): Use default insn length.
7484 (all insns of type ialu): Use default insn type.
7485
7486 Fix erroneous insn attribute settings.
7487 (addx): Set insn type to misc.
7488 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7489 const_umulsidi3_sp64): Set insn type to imul.
7490
7491 Track SFmode vs DFmode insns according to UltraSPARC
7492 scheduling rules.
7493 * config/sparc/sparc.md ("fptype"): New attribute, default
7494 to "single".
7495 (all DFmode single insns): Mark as fptype "double".
7496
7497 2001-09-03 Jakub Jelinek <jakub@redhat.com>
7498
7499 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
7500
7501 2001-09-03 Richard Henderson <rth@redhat.com>
7502
7503 * function.h (struct function): Add arg_pointer_save_area_init.
7504 * function.c (expand_function_end): Init arg_pointer_save_area.
7505 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
7506 when called from a nested function.
7507
7508 2001-09-02 Angela Marie Thomas <angela@cygnus.com>
7509
7510 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
7511 is enabled.
7512
7513 Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
7514
7515 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
7516
7517 2001-09-01 Geoffrey Keating <geoffk@redhat.com>
7518
7519 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
7520 (emit_push_insn): Use specified padding direction when
7521 STACK_PUSH_CODE is POST_INC.
7522
7523 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
7524
7525 2001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7526
7527 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
7528
7529 2001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
7530
7531 * cppinit.c (cpp_start_read): Free the imacros list as we
7532 traverse it. Don't free the chains before returning.
7533 (_cpp_push_next_buffer): Only try pushing buffers if we've
7534 completed -imacros handling.
7535
7536 2001-08-31 Eric Christopher <echristo@redhat.com>
7537
7538 * gcc.c (handle_braces): Add explaination for abort.
7539
7540 2001-08-30 Roman Zippel <zippel@linux-m68k.org>
7541
7542 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
7543 move adjustment of bitpos instead.
7544
7545 2001-08-31 Zack Weinberg <zack@codesourcery.com>
7546
7547 * function.c: Remove all_functions. Make outer_function_chain
7548 static.
7549 (init_function_start): Don't add new function structure to
7550 all_functions.
7551 (find_function_data, push_function_context_to,
7552 pop_function_context_from, put_var_into_stack,
7553 trampoline_address): Update for changed structure element names.
7554 (push_function_context_to): Disentangle.
7555 (free_after_compilation): Also free F.
7556 (expand_dummy_function_end): Don't free cfun here.
7557 (put_var_into_stack): Comment why we can't use find_function_data here.
7558 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
7559 (mark_function_chain): Split into maybe_mark_struct_function and
7560 ggc_mark_struct_function. Export the latter.
7561 (init_function_once): Mark from cfun and outer_function_chain;
7562 not all_functions.
7563
7564 * function.h (struct function): Kill next_global. Rename next
7565 to outer. All users updated to match.
7566 (all_functions, outer_function_chain): Don't declare.
7567
7568 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
7569 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
7570 don't touch f->inlinable, after calling rest_of_compilation.
7571
7572 * tree.h: Forward-declare struct function. Prototype
7573 ggc_mark_struct_function.
7574
7575 2001-08-31 Kazu Hirata <kazu@hxi.com>
7576
7577 * config/h8300/h8300.md (*andorhi3): Fix typos.
7578
7579 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7580
7581 * calls.c (emit_library_call_value): Don't use a fixed
7582 argument after VA_CLOSE, i.e. out of scope in traditional C.
7583
7584 * emit-rtl.c (gen_rtvec): Likewise.
7585
7586 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7587
7588 * Makefile.in (c-pragma.o): Depend on output.h.
7589 (reorg.o): Depend on except.h.
7590
7591 * c-pragma.c: Include output.h.
7592
7593 * reorg.c: Include except.h.
7594
7595 * unwind-dw2.c: Call __builtin_alloca, not alloca.
7596
7597 2001-08-31 Richard Henderson <rth@redhat.com>
7598
7599 * sched-deps.c (add_dependence): Don't elide dependency if the
7600 conditional used by insn is modified in elem.
7601
7602 2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
7603
7604 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
7605
7606 2001-08-31 Diego Novillo <dnovillo@redhat.com>
7607
7608 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
7609 dump_switch_p.
7610
7611 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
7612
7613 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
7614 function.
7615 (stormy16_asm_out_constructor): New function.
7616 (TARGET_ASM_CONSTRUCTOR): Define.
7617 (TARGET_ASM_DESTRUCTOR): Define.
7618
7619 2001-08-31 Andreas Jaeger <aj@suse.de>
7620
7621 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
7622 * loop.c (add_label_notes): Likewise.
7623 * reload.c (find_reloads): Likewise.
7624 * config/sh/sh.c (machine_dependent_reorg): Likewise.
7625
7626 2001-08-31 Jason Merrill <jason_merrill@redhat.com>
7627
7628 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
7629 code here. Take _Unwind_{W,Sw}ord*.
7630 (read_encoded_value_with_base): Use them.
7631 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
7632 words.
7633 (extract_cie_info): Simplify read_?leb128 handling.
7634 (execute_stack_op, execute_cfa_program): Likewise.
7635 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
7636
7637 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
7638
7639 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
7640 the frame pointer to pop the stack if convenient.
7641
7642 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
7643 Don't use post-increment before combine.
7644 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
7645 a call-saved register.
7646
7647 2001-08-31 Andreas Jaeger <aj@suse.de>
7648
7649 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
7650 code was correct.
7651
7652 2001-08-30 Geoffrey Keating <geoffk@redhat.com>
7653
7654 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
7655 not DIV/MOD, of course.
7656
7657 2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
7658
7659 * rtl.def: Undo my patch commited 2001-08-27.
7660
7661 * genattrtab.c: Ditto.
7662
7663 * rtl.h: Ditto.
7664
7665 * sched-int.h: Ditto.
7666
7667 * target-def.h: Ditto.
7668
7669 * target.h: Ditto.
7670
7671 * haifa-sched.c: Ditto.
7672
7673 * sched-rgn.c: Ditto.
7674
7675 * sched-vis.c: Ditto.
7676
7677 * Makefile.in: Ditto.
7678
7679 * doc/md.texi: Ditto.
7680
7681 * doc/tm.texi: Ditto.
7682
7683 * doc/contrib.texi: Ditto.
7684
7685 * doc/gcc.texi: Ditto.
7686
7687 * genattrtab.h: Remove it.
7688
7689 * genautomata.c: Remove it.
7690
7691 * genattr.c: Undo my patch and Richard Henderson's patch commited
7692 2001-08-27.
7693
7694 Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
7695
7696 * config.gcc (h8300-*-elf*): New case.
7697 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
7698 (SUBTARGET_CPP_SPEC): Define.
7699 (EXTRA_SPECS): Define.
7700 (SUBTARGET_EXTRA_SPECS): Define.
7701 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
7702 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
7703
7704 Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
7705
7706 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
7707 (LIB2FUNCS_EXTRA): Define.
7708 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
7709 config/h8300/fixunssfsi.c: New file.
7710
7711 2001-08-30 Kazu Hirata <kazu@hxi.com>
7712
7713 * config/h8300/h8300.md (zero_extendqihi2): Changes to
7714 define_expand to accommodate target-specific attributes.
7715 (anonymous zero_extendqihi2 patterns): New.
7716
7717 Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
7718
7719 * h8300.md (*andorhi3): New pattern.
7720
7721 Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
7722
7723 * h8300.c (dosize): Fix test for "sub".
7724
7725 Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
7726
7727 * c-typeck.c (pointer_diff): Try to eliminate common term before
7728 doing conversions.
7729
7730 2001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
7731
7732 * config/arm/arm.c (arm_compute_initial_elimination_offset):
7733 Account for the saves of the FP registers.
7734
7735 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
7736 (TEXT_SECTION_ASM_OP): Define.
7737 (INIT_SECTION_ASM_OP): Define.
7738 (FINI_SECTION_ASM_OP): Define.
7739 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
7740 (RDATA_SECTION_FUNCITON): Provide prototype.
7741
7742 2001-08-29 Geoffrey Keating <geoffk@redhat.com>
7743
7744 * reload1.c (move2add_note_store): Correct typo checking for
7745 argument pushes.
7746
7747 2001-08-29 Andrew MacLeod <amacleod@redhat.com>
7748
7749 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
7750 note should not be considered outside the libcall block.
7751
7752 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7753
7754 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
7755
7756 2001-08-29 Kazu Hirata <kazu@hxi.com>
7757
7758 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
7759
7760 2001-08-29 Kazu Hirata <kazu@hxi.com>
7761
7762 * config/h8300/h8300-protos.h: Add a prototype for
7763 emit_logical_op.
7764 * config/h8300/h8300.c (emit_logical_op): New.
7765 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
7766 (andsi3): Likewise.
7767 (iorhi3): Likewise.
7768 (iorsi3): Likewise.
7769 (xorhi3): Likewise.
7770 (xorsi3): Likewise.
7771
7772 2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
7773
7774 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
7775 comparison with rtx INTVAL.
7776 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
7777 expression.
7778 * pa.h (FUNCTION_ARG_SIZE): Likewise.
7779
7780 2001-08-29 Kazu Hirata <kazu@hxi.com>
7781
7782 * config/h8300/lib1funcs.asm: Update the copyright. Fix
7783 comment typos.
7784
7785 2001-08-29 Kazu Hirata <kazu@hxi.com>
7786
7787 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
7788 (reg n) to (mem (pre_dec (reg n))
7789 (anonymous movsi pattern): Likewise.
7790
7791 2001-08-29 Kazu Hirata <kazu@hxi.com>
7792
7793 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
7794
7795 2001-08-29 Kazu Hirata <kazu@hxi.com>
7796
7797 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
7798 several special constants.
7799
7800 2001-08-29 Kazu Hirata <kazu@hxi.com>
7801
7802 * config/h8300/lib1funcs.asm: Fix comment typos.
7803
7804 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7805
7806 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
7807 Fix format specifier warnings.
7808
7809 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
7810 inet_makeaddr, semctl): Prototype.
7811
7812 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
7813 (save_restore_insns): Use base_offset, not gp_offset.
7814
7815 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
7816 (ASM_OUTPUT_BYTE): Fix format specifier warning.
7817
7818 2001-08-29 Richard Henderson <rth@redhat.com>
7819
7820 * bb-reorder.c (function_tail_eff_head): New.
7821 (record_effective_endpoints): Set it.
7822 (fixup_reorder_chain): Use it.
7823
7824 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7825
7826 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
7827
7828 2001-08-28 Dale Johannesen <dalej@apple.com>
7829
7830 * config/darwin.c (machopic_function_base_name): Add const
7831 qualifier to a string.
7832 (darwin_encode_section_info): Ditto.
7833
7834 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7835
7836 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
7837 function definition.
7838
7839 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
7840
7841 * df.h (struct df): Add rts_order variable.
7842
7843 * df.c (df_visit_next_rts): New function.
7844 (df_visit_next): Renamed to df_visit_next_rc
7845 (df_analyse_1): Allocate/compute/free rts_order as well.
7846 (df_rd_global_compute): Use df_visit_next_rc instead of
7847 df_visit_next.
7848 (df_ru_global_compute): Use df_visit_next_rts instead of
7849 df_visit_next.
7850
7851 * flow.c (flow_reverse_top_sort_order_compute): New function.
7852
7853 * basic-block.h: Add prototype.
7854
7855 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
7856
7857 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
7858 blocks, the BB_REACHABLE is now set, rather than aux being
7859 non-NULL. Update the test to reflect this.
7860
7861 2001-08-28 Eric Christopher <echristo@redhat.com>
7862
7863 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
7864 config/mips/crti.asm: Ditto.
7865
7866 2001-08-28 Eric Christopher <echristo@redhat.com>
7867 Richard Henderson <rth@redhat.com>
7868
7869 * c-pragma.h (add_weak): Move prototype from here...
7870 * output.h (add_weak): ... to here.
7871 * varasm.c (add_weak): Fix typo.
7872 * config/mips/crti.asm: New file.
7873 * config/mips/crtn.asm: Ditto.
7874 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
7875 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
7876 (INVOKE__main): Ditto.
7877 (INIT_SECTION_ASM_OP): New.
7878 (FINI_SECTION_ASM_OP): Ditto.
7879 (STARTFILE_SPEC): Add crti.
7880 (ENDFILE_SPEC): Add crtn.
7881 * config/mips/elf64.h: Same.
7882 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
7883 Remove.
7884 * config/mips/vxworks.h: Ditto.
7885 * config/mips/t-elf: Support crti and crtn.
7886
7887 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
7888
7889 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
7890 INSN_LIST.
7891
7892 2001-08-28 Richard Henderson <rth@redhat.com>
7893
7894 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
7895 (one_cmplbi2 splitter): Remove redundant test.
7896
7897 2001-08-28 Dale Johannesen <dalej@apple.com>
7898
7899 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
7900
7901 2001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
7902
7903 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
7904
7905 2001-08-28 Stan Shebs <shebs@apple.com>
7906
7907 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
7908 (UNALIGNED_SHORT_ASM_OP): Define.
7909 (UNALIGNED_INT_ASM_OP): Define.
7910
7911 2001-08-28 Will Cohen <wcohen@redhat.com>
7912
7913 * config/rs6000/rs6000.md (store_multiple): Correct RTL
7914 generation for first set.
7915
7916 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
7917
7918 * flow.c (redirect_edge_succ_nodup): Return new edge.
7919 (try_simplify_condjump): Use new edge.
7920 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
7921
7922 * cse.c (cse_basic_block): Skip note instructions.
7923
7924 2001-08-27 Richard Henderson <rth@redhat.com>
7925
7926 * combine.c (combine_simplify_rtx): Don't reverse condition
7927 if there is no reverse for the condition.
7928 (simplify_comparison): Don't simplify subregs from INT to FP.
7929
7930 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
7931 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
7932 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
7933 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
7934 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
7935 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
7936
7937 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
7938
7939 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
7940 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
7941 (pushqi1): New.
7942 (adddi_dilshr32, adddi_dishl32): Only data register can be
7943 source for mem destination.
7944
7945 * expmed.c (store_bit_field): Ignore adjustment to bitpos
7946 and use bitnum to decide about register move.
7947
7948 2001-08-27 Richard Henderson <rth@redhat.com>
7949
7950 * genattr.c (main): Emit state_t even when not doing scheduling.
7951
7952 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
7953 Richard Henderson <rth@redhat.com>
7954
7955 * gcse.c (reg_first_set, reg_last_set): Replace with ...
7956 (reg_avail_info, current_bb): ... these.
7957 (oprs_unchanged_p, record_last_reg_set_info): Use them.
7958 (compute_hash_table): Likewise.
7959
7960 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
7961
7962 * flow.c (verify_flow_info): Use checksums to verify edges.
7963
7964 2001-08-27 Richard Henderson <rth@redhat.com>
7965
7966 * genautomata.c (expand_automata): Always create a description.
7967
7968 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
7969
7970 * optabs.c (expand_binop): Correctly handle the carry in multiword
7971 add/subtract operations.
7972
7973 2001-08-27 Fred Fish <fnf@be.com>
7974
7975 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
7976 __SIZE_TYPE__.
7977
7978 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
7979
7980 * reload.c (find_reloads_toplev): Back out this change:
7981
7982 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
7983
7984 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
7985 mem if the address is a mode_dependent_address_p.
7986
7987 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
7988
7989 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
7990 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
7991 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
7992 RTL constructions.
7993
7994 * genattr.c (main): New variable num_insn_reservations. Increase
7995 it if there is DEFINE_INSN_RESERVATION. Output automaton based
7996 pipeline hazard recognizer interface.
7997
7998 * genattrtab.h: New file.
7999
8000 * genattrtab.c: Include genattrtab.h.
8001 (attr_printf, check_attr_test, make_internal_attr,
8002 make_numeric_value): Move protypes into genattrtab.h. Define them
8003 as external.
8004 (num_dfa_decls): New global variable.
8005 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8006 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8007 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8008 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
8009
8010 * genautomata.c: New file.
8011
8012 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8013
8014 * sched-int.h: (curr_state): Add the external definition for
8015 automaton pipeline interface.
8016 (haifa_insn_data): Add comments for members blockage and units.
8017
8018 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8019 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8020 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8021 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8022 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8023 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8024 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8025 macros.
8026 (TARGET_SCHED): Use the new macros.
8027
8028 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8029 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8030 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8031 dfa_bubble): New members in gcc_target.sched.
8032
8033 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
8034 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8035 (insn_queue): Redefine it as pointer to array.
8036 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8037 INSN_QUEUE_SIZE.
8038 (max_insn_queue_index_macro_value): New variable.
8039 (curr_state, dfa_state_size, ready_try): New varaibles for
8040 automaton interface.
8041 (ready_element, ready_remove, max_issue): New function prototypes
8042 for automaton interface.
8043 (choose_ready): New function prototype.
8044 (insn_unit, blockage_range): Add comments.
8045 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8046 FUNCTION_UNITS_SIZE == 0.
8047 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8048 actual_hazard, potential_hazard): Add comments.
8049 (insn_cost): Use cost -1 as undefined value. Remove
8050 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
8051 pipeline interface.
8052 (ready_element, ready_remove): New functions for automaton
8053 interface.
8054 (schedule_insn): Add new code for automaton pipeline interface.
8055 (queue_to_ready): Add new code for automaton pipeline interface.
8056 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8057 (debug_ready_list): Print newline when the queue is empty.
8058 (max_issue): New function for automaton pipeline interface.
8059 (choose_ready): New function.
8060 (schedule_block): Add new code for automaton pipeline interface.
8061 Print ready list before scheduling each insn.
8062 (sched_init): Add new code for automaton pipeline interface.
8063 Initiate insn cost by -1.
8064 (sched_finish): Free the current automaton state and finalize
8065 automaton pipeline interface.
8066
8067 * sched-rgn.c: Include target.h.
8068 (init_ready_list, new_ready, debug_dependencies): Add new code for
8069 automaton pipeline interface.
8070
8071 * sched-vis.c: Include target.h.
8072 (get_visual_tbl_length): Add code for automaton interface.
8073 (target_units, print_block_visualization): Add comments.
8074
8075 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
8076 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8077 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8078 (getruntime.o, genautomata.o): New entries.
8079 (genattrtab.o): Add new dependency file genattrtab.h.
8080 (genattrtab): Add new dependencies. Link it with `libm.a'.
8081 (getruntime.o, hashtab.o): New entries for canadian cross.
8082
8083 * doc/md.texi: Description of automaton based model.
8084
8085 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8086 Add comments.
8087 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8088 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8089 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8090 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8091 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8092 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8093 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8094 hook descriptions.
8095 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8096 MAX_DFA_ISSUE_RATE): New macro descriptions.
8097
8098 * doc/contrib.texi: Add dfa based scheduler contribution.
8099
8100 * doc/gcc.texi: Add more information about genattrtab.
8101
8102 2001-08-27 Diego Novillo <dnovillo@redhat.com>
8103
8104 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8105 an RTL basic block.
8106
8107 2001-08-27 Richard Henderson <rth@redhat.com>
8108
8109 * function.c (expand_function_end): Don't init arg_pointer_save_area.
8110 (get_arg_pointer_save_area): New. Create an init it here.
8111 (fix_lexical_addr): Use it.
8112 * function.h: Declare it.
8113 * builtins.c (expand_builtin_setjmp_receiver): Use it.
8114 * stmt.c (expand_nl_goto_receiver): Use it.
8115
8116 2001-08-27 Richard Henderson <rth@redhat.com>
8117
8118 * final.c (final_scan_insn): Don't enter APP_ON mode for
8119 empty asm strings.
8120
8121 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8122 alignment for assemble_integer for DW_EH_PE_aligned.
8123 * except.c (output_function_exception_table): Likewise.
8124
8125 2001-08-26 Andreas Jaeger <aj@suse.de>
8126
8127 * c-tree.h: Add prototyp for c_sizeof_nowarn.
8128
8129 2001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
8130
8131 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
8132
8133 2001-08-27 Alan Modra <amodra@bigpond.net.au>
8134
8135 * config/rs6000/rs6000.c (mask_operand): Rewrite without
8136 bit-shifting loop.
8137 (mask64_operand): Likewise.
8138 (rldic_operand): Delete.
8139 (includes_lshift64_p): Delete.
8140 (includes_rldic_lshift_p): New function.
8141 (includes_rldicr_lshift_p): New function.
8142 (print_operand): Don't call rldic_operand in case 'W'.
8143 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8144 (includes_lshift64_p): Remove.
8145 (includes_rldic_lshift_p): Declare.
8146 (includes_rldicr_lshift_p): Declare.
8147 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8148 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8149 Replace match_operand rldic_operand predicate with
8150 const_int_operand. Replace includes_lshift64_p condition with
8151 includes_rldic_lshift_p.
8152 <ashldi3_internal 64 bit rldicr patterns>: New.
8153
8154 2001-08-27 Andreas Jaeger <aj@suse.de>
8155
8156 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8157 * errors.c: Likewise.
8158 * final.c: Likewise.
8159 * dwarf2asm.c: Likewise.
8160 * doprint.c (checkit): Likewise.
8161 * diagnostic.c: Likewise.
8162 * collect2.c: Likewise.
8163 * calls.c: Likewise.
8164 * c-semantics.c (build_stmt): Likewise.
8165 * c-format.c (status_warning): Likewise.
8166 * c-errors.c (pedwarn_c99): Likewise.
8167 * builtins.c (validate_arglist): Likewise.
8168 * config/pj/pj.c (pj_printf): Likewise.
8169 * fix-header.c: Likewise.
8170 * gcc.c: Likewise.
8171 * gcov.c (fnotice): Likewise.
8172 * gensupport.c (message_with_line): Likewise.
8173 * mips-tfile.c: Likewise.
8174 * protoize.c (notice): Likewise.
8175 * read-rtl.c (fatal_with_file_and_line): Likewise.
8176 * rtl-error.c: Likewise.
8177 * tradcpp.c: Likewise.
8178 * tree.c: Likewise.
8179 * cp/tree.c (build_min_nt): Likewise.
8180 (build_min): Likewise.
8181 * cp/lex.c: Likewise.
8182 * cp/errfn.c: Likewise.
8183 * cp/rtti.c (create_pseudo_type_info): Likewise.
8184
8185 Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
8186
8187 * df.c (df_uses_record): Return after recording all uses
8188 in ASM_OPERANDS.
8189
8190 2001-08-26 Daniel Berlin <dan@cgsoftware.com>
8191
8192 * df.c (df_insn_modify): Realloc the INSN table here, if
8193 necessary, here, too.
8194
8195 2001-08-26 Aldy Hernandez <aldyh@redhat.com>
8196
8197 * config/mips/mips.c (mips_function_value): Handle complex return
8198 values.
8199
8200 2001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
8201
8202 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8203 unshared.
8204 * reload.c (make_memloc): Copy result if it is still
8205 reg_equiv_memory_loc[regno] on return.
8206 (subst_reloads) [ENABLE_CHECKING]: Check that none of
8207 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8208 reg_equiv_mem are modified by the substitutions.
8209
8210 Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
8211
8212 * predict.c (expensive_function_p): New.
8213 * rtl.h (expensive_function_p): Declare.
8214 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8215 (use_fast_prologue_epilogue): New static variable.
8216 (expand_prologue): Set it; emit short prologues if unset.
8217 (expand_epilogue): Likewise.
8218
8219 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
8220
8221 * config.gcc: Add stormy16-*-elf case.
8222 * config/stormy16/stormy-abi: New file.
8223 * config/stormy16/stormy16-lib2.c: New file.
8224 * config/stormy16/stormy16-protos.h: New file.
8225 * config/stormy16/stormy16.c: New file.
8226 * config/stormy16/stormy16.h: New file.
8227 * config/stormy16/stormy16.md: New file.
8228 * config/stormy16/t-stormy16: New file.
8229
8230 Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
8231
8232 * i386.h (no-accumulate-outgoing-args): Use proper mask.
8233
8234 2001-08-24 David Edelsohn <edelsohn@gnu.org>
8235
8236 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8237 descriptor members are pointer size, not constant 4.
8238 * config/rs6000/rs6000.md (define_splits): Remove more unused
8239 constraints.
8240
8241 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8242
8243 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8244
8245 2001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
8246
8247 * cp/rtti.c (VPARAMS): Fix parameter.
8248
8249 2001-08-24 Zack Weinberg <zackw@panix.com>
8250
8251 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8252 to zero.
8253 (mode_for_extraction): No need for #ifdefs. Add default-case abort
8254 to switch.
8255 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
8256 in if controlling use of insv.
8257 (extract_bit_field): Likewise, for extv and extzv.
8258
8259 Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
8260
8261 * i386.md (movcc peep2): Fix load of 0.
8262
8263 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8264
8265 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8266 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8267
8268 2001-08-23 Jason Merrill <jason_merrill@redhat.com>
8269
8270 * c-pragma.h: Move weak_syms and weak_decls...
8271 * varasm.c: ...here. Now static.
8272 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8273 depend on HANDLE_PRAGMA_WEAK.
8274
8275 * c-common.c (c_alignof, c_alignof_expr): Move here...
8276 * c-typeck.c: ...from here.
8277 * c-tree.h, c-common.h: Adjust.
8278
8279 2001-08-23 Bernd Schmidt <bernds@redhat.com>
8280
8281 * config/ia64/ia64.c (rws_update): If !pred, set write_count
8282 instead of incrementing it.
8283
8284 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8285 asm ready, don't try to move them all into the same array element.
8286
8287 Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
8288
8289 * function.c (thread_prologue_and_epilogue_insns): Avoid
8290 fallthru flag on edge to exit.
8291
8292 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8293
8294 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8295 dead edges.
8296
8297 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
8298
8299 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8300 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8301 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8302 Remove prototype.
8303
8304 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
8305
8306 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8307 replace "GNU CC" with "GCC".
8308
8309 2001-08-23 Richard Henderson <rth@redhat.com>
8310
8311 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8312 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
8313 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8314 Need GR between FR and not GR_AND_FR.
8315 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8316 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8317 AR regs before GR regs.
8318 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8319 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8320 (REGISTER_MOVE_COST): Update.
8321 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8322
8323 2001-08-23 Richard Henderson <rth@redhat.com>
8324
8325 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8326 a register class.
8327
8328 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
8329
8330 * reload1.c (emit_reload_insns): Don't look for notes
8331 on a NULL store_insn.
8332
8333 2001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8334
8335 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8336 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8337 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8338 format specifier warnings.
8339 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8340
8341 2001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
8342
8343 * config/i386/i386-protos.h: Correct declaration of
8344 i386_pe_asm_named_section.
8345
8346 2001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
8347
8348 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8349 variable i.
8350 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8351
8352 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
8353
8354 * cpperror.c (print_location): Don't show _Pragma.
8355 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8356 and file change callback generation here.
8357 (stack_include_file): Update use of cpp_push_buffer.
8358 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8359 (struct cpp_buffer): Remove type, pfile members.
8360 * cppinit.c (cpp_handle_option): Use free_chain.
8361 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8362 (skip_escaped_newlines, get_effective_char, lex_percent): Take
8363 a cpp_reader rather than a cpp_buffer.
8364 (skip_escaped_newlines, get_effective_char, skip_block_comment,
8365 skip_line_comment, parse_string, lex_percent, lex_dot,
8366 _cpp_lex_token): Update accordingly.
8367 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8368 generation here.
8369 (cpp_push_buffer): Update prototype.
8370 (run_directive): Update use of cpp_push_buffer.
8371 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8372 handle_assertion): Update use of run_directive.
8373 * cpplib.h (enum cpp_buffer_type): Remove.
8374 (cpp_push_buffer): Update prototype.
8375 * fix-header.c (read_scan_file): Update.
8376
8377 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8378
8379 * gcc.c (struct prefix_list): Change prefix to const char *.
8380
8381 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8382
8383 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8384
8385 2001-08-22 Jason Merrill <jason_merrill@redhat.com>
8386
8387 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8388 from a new MEM.
8389
8390 * jump.c (squeeze_notes): Take parms by reference. Handle END being
8391 a squeezable note.
8392 * rtl.h: Adjust.
8393 * ifcvt.c (dead_or_predicable): Adjust.
8394 * loop.c (find_and_verify_loops): Adjust.
8395 * stmt.c (expand_end_case): Adjust.
8396 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
8397 head and end insn pointers in the basic block, not just local copies.
8398 (merge_blocks_move_predecessor_nojumps): Likewise.
8399
8400 2001-08-22 Lars Brinkhoff <lars@nocrew.org>
8401
8402 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8403 bitmap.h, builtin-types.def, builtins.c, builtins.def,
8404 c-aux-info.c, c-common.c, c-common.def, c-common.h,
8405 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8406 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8407 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8408 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8409 conditions.h, config.gcc, configure.frag, configure.in,
8410 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8411 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8412 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8413 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8414 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8415 emit-rtl.c, errors.c, errors.h, except.c, except.h,
8416 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8417 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8418 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8419 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8420 gencheck.c, gencodes.c, genconfig.c, genemit.c,
8421 genextract.c, genflags.c, gengenrtl.c, genmultilib,
8422 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8423 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8424 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8425 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8426 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8427 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8428 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8429 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8430 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8431 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8432 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8433 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8434 params.h, predict.c, predict.def, predict.h, prefix.c,
8435 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8436 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8437 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8438 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8439 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8440 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8441 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8442 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8443 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8444 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8445 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8446 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8447 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8448 xcoffout.h: replace "GNU CC" with "GCC".
8449
8450 2001-08-21 Richard Henderson <rth@redhat.com>
8451
8452 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8453 (final_scan_insn): Consider jump tables data even if we have no
8454 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
8455 ADDR_VEC_ALIGN.
8456 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8457 (ASM_OUTPUT_CASE_END): Remove.
8458 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8459 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8460 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8461
8462 2001-08-21 Richard Henderson <rth@redhat.com>
8463
8464 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8465 at barrier insns. Emit stop bits before barriers.
8466
8467 * flow.c (flow_find_cross_jump): Don't consider unconditional
8468 return insns for commoning.
8469
8470 * final.c (compute_alignments): Fix typo.
8471
8472 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8473 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8474 (store_bit_field): Use mode_for_extraction more places.
8475 (extract_bit_field): Likewise.
8476
8477 2001-08-21 Zack Weinberg <zackw@panix.com>
8478
8479 * caller-save.c: Don't include insn-codes.h.
8480 (reg_save_code, reg_restore_code): Make arrays of int.
8481 All uses updated to match.
8482 (insert_save, insert_restore): No need to initialize "code"
8483 variable upon declaration.
8484 * Makefile.in: update dependencies; fix typo in clean rule.
8485
8486 2001-08-21 Richard Henderson <rth@redhat.com>
8487
8488 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8489 (merge_if_block): Handle fallout from same.
8490
8491 2001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8492
8493 * builtins.c (type_to_class): Fix typo in last change.
8494
8495 2001-08-21 Richard Henderson <rth@redhat.com>
8496
8497 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
8498 ia64_asm_output_label.
8499
8500 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
8501 copy of gp while the real gp register contains garbage.
8502
8503 2001-08-21 Zack Weinberg <zackw@panix.com>
8504
8505 * expmed.c (mode_for_extraction): New function.
8506 (store_bit_field, extract_bit_field): Use it.
8507 * expr.h: Prototype it and provide an enum for its first argument.
8508
8509 * combine.c, function.c, recog.c: Don't include insn-codes.h.
8510 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
8511 and digging through the insn_data tables.
8512 * Makefile.in: Update dependencies.
8513
8514 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
8515
8516 * cppfiles.c (stack_include_file): line-map.c now handles include
8517 depth.
8518 (handle_missing_handler): Similarly.
8519 (_cpp_execute_include): Similarly.
8520 (_cpp_pop_file_buffer): Similarly.
8521 * cpphash.h (struct cpp_reader): Remove system_include_depth,
8522 buffer_stack_depth and include_depth.
8523 * cpplib.c (do_include_common): line-map.c now handles include depth.
8524 (cpp_push_buffer): Similarly.
8525 (_cpp_pop_buffer): Similarly.
8526 * cppmacro.c (builtin_macro): Update.
8527 * line-map.c (init_line_maps): Set depth.
8528 (add_line_map): Increment "used" earlier. Update and use the
8529 include depth.
8530 (trace_include): Use the include depth.
8531 * line-map.h (struct line_maps): New member depth.
8532
8533 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
8534
8535 * cppfiles.c (stack_include_file): Don't handle -H here.
8536 * cppinit.c (cpp_start_read): Set include tracing after
8537 cpp_post_options and after stacking the main file.
8538 * line-map.c (trace_include): New.
8539 (init_line_maps, add_line_map): Update.
8540 * line-map.h (struct line_maps): New member trace_includes.
8541
8542 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
8543
8544 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
8545 * cppfiles.c (stack_include_file): Only stack a file if there
8546 is something to do. Return a boolean indicating whether a
8547 buffer was stacked or not.
8548 (_cpp_execute_include): Similarly.
8549 (_cpp_read_file): Similarly.
8550 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
8551
8552 2001-08-21 Sam Steingold <sds@gnu.org>
8553
8554 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
8555 (RECACHE): keep obufp_before_macroname up to date
8556
8557 2001-08-21 Zack Weinberg <zackw@panix.com>
8558
8559 * stmt.c: Don't include insn-codes.h.
8560 (expand_end_case): Machine specific logic moved to expr.c.
8561 No need to worry about __builtin_classify_type.
8562 (check_for_full_enumeration_handling, emit_case_nodes):
8563 Kill #if 0 blocks.
8564
8565 * builtins.o (expand_builtin_classify_type): Split up so code
8566 can be shared with fold_builtin_classify_type.
8567 (type_to_class, fold_builtin_classify_type): New functions.
8568 (fold_builtins): Handle __builtin_classify_type.
8569
8570 * expr.c (do_tablejump): Now static.
8571 (case_values_threshold, try_casesi, try_tablejump): New;
8572 code mostly from stmt.c (expand_end_case).
8573 (expr.h): Update prototypes.
8574
8575 * Makefile.in (stmt.o): Update dependencies.
8576
8577 2001-08-21 Will Cohen <wcohen@redhat.com>
8578
8579 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
8580 declaration of variable i.
8581 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
8582 declaration of variable i.
8583
8584 2001-08-21 Richard Henderson <rth@redhat.com>
8585
8586 * crtstuff.c: Fix thinko last change. Move list tails to start
8587 of CRT_END section. Tidy ifdefs.
8588 (__EH_FRAME_BEGIN__): Always static for ELF.
8589 (__do_global_ctors_1): Rename from __frame_dummy.
8590 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
8591 name change; don't hide __EH_FRAME_BEGIN__.
8592
8593 2001-08-21 Richard Henderson <rth@redhat.com>
8594
8595 * gdbinit.in: Move break on exit after break on fancy_abort.
8596
8597 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
8598 sized types.
8599
8600 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
8601
8602 * cpphash.h (_cpp_push_next_buffer): New.
8603 * cppinit.c (do_includes): Remove.
8604 (push_include, free_chain, _cpp_push_next_buffer): New.
8605 (cpp_start_read): Use them to rework command line option handling.
8606 (cpp_handle_option): Combine handling of -include and -imacros.
8607 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
8608 appropriate. Always insert missing \n at EOF.
8609 * cpplib.c (start_directive): Get the directive position right.
8610 * cppmain.c (cb_file_change): Always print the first line, unless
8611 preprocessed.
8612
8613 2001-08-20 Andreas Jaeger <aj@suse.de>
8614
8615 * profile.c (compute_branch_probabilities): Remove extra new-line
8616 in error message.
8617 * flow.c (verify_flow_info): Likewise.
8618
8619 2001-08-20 Diego Novillo <dnovillo@redhat.com>
8620
8621 * basic-block.h (basic_block): Add new field 'flags'.
8622 (BB_REACHABLE): Define.
8623 (expunge_block): Declare.
8624 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
8625 (EXIT_BLOCK_PTR): Ditto.
8626 (expunge_block): Remove static declaration.
8627 (cleanup_cfg): Clear bb->aux on every basic block.
8628 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
8629 computing reachability.
8630 (delete_unreachable_blocks): Delete block b if b->flags has
8631 BB_REACHABLE unset.
8632
8633 2001-08-20 Diego Novillo <dnovillo@redhat.com>
8634
8635 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
8636
8637 2001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8638
8639 * sparc.c (sparc_variable_issue): Fix typo in last change.
8640
8641 2001-08-20 Richard Henderson <rth@redhat.com>
8642
8643 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
8644
8645 2001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
8646
8647 * pa.h (RETURN_IN_MEMORY): Improve comment.
8648
8649 2001-08-20 Janis Johnson <janis187@us.ibm.com>
8650
8651 * doc/invoke.texi (Profiling options): Clarify the interactions
8652 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
8653
8654 2001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
8655
8656 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
8657 command.
8658
8659 2001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8660
8661 * gcc.c (make_relative_prefix): Allocate a sufficiently large
8662 buffer.
8663
8664 2001-08-20 Richard Henderson <rth@redhat.com>
8665
8666 * final.c (end_final): Fix typo last change.
8667
8668 2001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
8669
8670 * cppinit.c (init_standard_includes): The returned buffer
8671 is already malloc-ed.
8672 * gcc.c (add_prefix): Similarly.
8673 * prefix.c (translate_name): Update to support clear buffer
8674 ownership rules.
8675 (update_path): Similarly. Be sure to free any newly allocated
8676 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
8677 (tr): New function.
8678 * prefix.h (update_path): Update prototype and document.
8679 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
8680 up and update to new buffer ownership rules.
8681 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
8682
8683 Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
8684
8685 * final.c (compute_alignments): New function.
8686 (init_insn_lengths): Do not care label_align.
8687 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
8688 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
8689 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
8690 (shorted_branches): Realloc label_align array; do
8691 not call init_insn_lengths; Do not care about loop alignments.
8692 * output.h (compute_alignments): Declare.
8693 * toplev.c (rest_of_compilation): Call compute_alignments.
8694 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
8695
8696 * predict.c (block_info_def): Add npredecesors, remove nvisited;
8697 change visited to tovisit.
8698 (propagate_freq): Use faster traversing algorithm.
8699 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
8700 to tovisit; reverse meaning.
8701
8702 * predict.c (struct block_info_def): Remove nvisited.
8703 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
8704 (estimate_bb_frequencies): Call mark_dfs_back_edges.
8705
8706 2001-08-19 Geoffrey Keating <geoffk@redhat.com>
8707
8708 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
8709 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
8710 (TARGET_FUSED_MADD): New.
8711 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
8712 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
8713 the multiply-add instructions.
8714
8715 2001-08-19 Richard Henderson <rth@redhat.com>
8716
8717 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
8718 is aligned to pointer size.
8719
8720 2001-08-19 Richard Henderson <rth@redhat.com>
8721
8722 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
8723 display markers during final schedule.
8724
8725 2001-08-19 Richard Henderson <rth@redhat.com>
8726
8727 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
8728
8729 2001-08-19 Richard Henderson <rth@redhat.com>
8730
8731 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
8732 in the same string.
8733 (ASM_NAME_TO_STRING): Remove.
8734 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
8735 in the same string. Remove support for expressions.
8736
8737 2001-08-19 Richard Henderson <rth@redhat.com>
8738
8739 * config/i386/i386.md (tablejump): Make an expander; handle
8740 pic relative addressing here.
8741 (tablejump_1): Rename from tablejump_pic.
8742 (casesi): Remove.
8743
8744 2001-08-19 Richard Henderson <rth@redhat.com>
8745
8746 * regclass.c (fix_register): Fix typo.
8747
8748 2001-08-18 Richard Henderson <rth@redhat.com>
8749
8750 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
8751 (struct _Unwind_Context): Expand br_loc to hold it.
8752 (uw_frame_state_for): Handle leaf functions better.
8753 (uw_update_reg_address): Update for br_loc change.
8754
8755 2001-08-18 Richard Henderson <rth@redhat.com>
8756
8757 * crtstuff.c: Move list heads before code that uses them.
8758 (__JCR_LIST__): Remove initial null.
8759 (frame_dummy, __frame_dummy): Do java registration here ...
8760 (__do_global_ctors_aux): ... not here.
8761
8762 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
8763 (__do_global_dtors_aux): Update to match.
8764 (__JCR_LIST__, __do_jv_register_classes): New.
8765 (.init): Call it.
8766 * config/ia64/crtend.asm (__JCR_END__): New.
8767 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
8768 instead of an indirect LTOFF22 reloc.
8769
8770 2001-08-18 Richard Henderson <rth@redhat.com>
8771
8772 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
8773 * regclass.c (init_reg_sets_1): Fix typo.
8774 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
8775 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
8776 (ia64_compute_frame_size): Make ar.unat live when in use.
8777 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
8778 for ar.pfs; remove ar.unat handling.
8779 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
8780 call-saved.
8781 (PREDICATE_CODES): Add ar_pfs_reg_operand.
8782 * config/ia64/ia64-protos.h: Update decls.
8783 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
8784 (sibcall_pic): Likewise.
8785
8786 2001-08-18 Richard Henderson <rth@redhat.com>
8787
8788 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
8789 pred_rel_mutex when searching for insn_group_barrier.
8790 * config/ia64/ia64.md (cycle_display): Combine the expander
8791 and insn patterns.
8792
8793 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
8794 bit before asm as needed.
8795
8796 2001-08-18 Richard Henderson <rth@redhat.com>
8797
8798 * timevar.def (TV_MACH_DEP): New.
8799 * toplev.c (rest_of_compilation): Use it.
8800 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
8801
8802 2001-08-18 Zack Weinberg <zackw@panix.com>
8803
8804 * unwind-dw2.c (execute_stack_op): Add default aborts to
8805 the inner switches to prevent warnings.
8806
8807 2001-08-18 Richard Henderson <rth@redhat.com>
8808
8809 * timevar.h (struct timevar_time_def): Change element type to float.
8810 (ticks_to_msec, clocks_to_msec): Likewise.
8811 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
8812 (get_time): Likewise.
8813 (timevar_print): Adjust zero check and printing to match.
8814
8815 2001-08-18 Zack Weinberg <zackw@panix.com>
8816
8817 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
8818 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
8819 Eliminate overfull or underfull hboxes.
8820
8821 2001-08-18 Zack Weinberg <zackw@panix.com>
8822
8823 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8824
8825 2001-08-18 Zack Weinberg <zackw@panix.com>
8826
8827 * haifa-sched.c: Convert to target hooks. Macros replaced
8828 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
8829 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
8830 MD_SCHED_FINISH, and HAVE_cycle_display.
8831 * target-def.h (TARGET_SCHED_ADJUST_COST,
8832 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
8833 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
8834 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
8835 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
8836 New hook #defines to be overridden.
8837 (TARGET_SCHED): Bring them all together.
8838 (TARGET_INITIALIZER): Update.
8839 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
8840 instead of 'struct rtx_def *' throughout.
8841 (struct sched): New set of hooks for the scheduler.
8842 * Makefile.in (haifa-sched.o): Depend on target.h.
8843 * doc/tm.texi: Document the new scheduler hooks, together in
8844 their own section, instead of scattered around.
8845 Fix a bunch of underfull/overfull hboxes.
8846
8847 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
8848 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
8849 sparc.h: Don't define any of the old scheduler macros.
8850
8851 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
8852 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
8853 sparc.c: Create hook functions from code extracted from
8854 corresponding target header, or make existing hooks static, as
8855 appropriate. Set the appropriate entries in targetm.
8856
8857 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
8858 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
8859 rs6000-protos.h, s390-protos.h, sparc-protos.h:
8860 Remove prototypes for functions which are now static.
8861
8862 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
8863 related gunk; the Haifa scheduler is now the only choice.
8864
8865 2001-08-18 Zack Weinberg <zackw@panix.com>
8866
8867 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
8868 * genopinit.c: Put floating point divide insns in sdiv_optab.
8869 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
8870 * config/gofast.h, config/c4x/c4x.h,
8871 config/ia64/hpux_longdouble.h, config/mips/mips.h,
8872 config/pa/long_double.h, config/rs6000/sysv4.h,
8873 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
8874 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
8875 (init_optabs): Use init_optabv for overflow-trapping optabs.
8876 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
8877 cmp_optab RTX codes so have_insn_for can find them.
8878
8879 * optabs.c (expand_simple_binop, expand_simple_unop,
8880 have_insn_for, gen_sub3_insn): New interfaces.
8881 * expr.h: Prototype new functions.
8882 (enum optab_methods): Move here from optabs.h.
8883
8884 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
8885 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
8886 Use new functions instead of working directly with optabs.
8887 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
8888 unroll.c: Don't include optabs.h.
8889 * caller-save.c, combine.c, function.c, stmt.c: Just include
8890 insn-codes.h, not optabs.h.
8891 * Makefile.in: Update dependencies.
8892
8893 * combine.c (make_compound_operation, simplify_comparison):
8894 Fix typos testing for this or that instruction.
8895
8896 2001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
8897
8898 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
8899 generating libgcc.a.
8900
8901 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8902
8903 * except.c (TYPE_HASH): Delete.
8904
8905 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
8906 HOST_WIDE_INT.
8907
8908 * tree.c (TYPE_HASH): Delete.
8909
8910 * tree.h (TYPE_HASH): Define.
8911
8912 2001-08-18 Graham Stott <grahams@redhat.com>
8913
8914 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
8915 define_split.
8916 (adddi3_internal_2+2): Likewise.
8917 (eh_set_lr_di+1): Likewise.
8918
8919 2001-08-17 Richard Henderson <rth@redhat.com>
8920
8921 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
8922 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
8923 * dwarf2asm.c: ... here.
8924 * dwarfout.c: Remove them.
8925
8926 * varasm.c (assemble_integer): Add align parameter.
8927 (assemble_real, output_constant, output_constructor): Likewise.
8928 * output.h: Update decls.
8929 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
8930 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
8931 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
8932 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
8933 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
8934 Update all callers.
8935
8936 * final.c (end_final): Abort profile block generation if we
8937 havn't layed it out properly.
8938 * output.h (assemble_eh_integer): Remove stale decl.
8939 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
8940 (min_align): New.
8941 (assemble_integer): Handle unaligned data.
8942 (assemble_real): Abort on unaligned data.
8943 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
8944 anything useful.
8945 (default_dtor_section_asm_out_destructor): Use assemble_align.
8946 (default_named_section_asm_out_constructor): Likewise.
8947 (default_ctor_section_asm_out_constructor): Likewise.
8948 * config/darwin.c (machopic_asm_out_constructor): Likewise.
8949 (machopic_asm_out_destructor): Likewise.
8950 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
8951 (nextstep_asm_out_destructor): Likewise.
8952 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
8953 (vms_asm_out_destructor): Likewise.
8954
8955 2001-08-17 Richard Henderson <rth@redhat.com>
8956
8957 * config/mips/iris6.h (TARGET_IRIX6): New.
8958 (current_section_name, current_section_flags): New.
8959 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
8960 (MAX_OFILE_ALIGNMENT): New.
8961 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
8962 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
8963 (copy_file_data): Split out from
8964 (mips_asm_file_end): ... here.
8965 (mips_asm_file_start): Remove extra .section directive. Use
8966 tmpfile instead of mips_make_temp_file.
8967 (mips_unique_section): Use const char * as needed for warnings.
8968 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
8969 re-add align parameter.
8970 (iris6_asm_named_section): New.
8971 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
8972 (iris6_asm_output_align, iris6_section_align_1): New.
8973 (iris6_asm_file_start, iris6_asm_file_end): New.
8974 * config/mips/mips-protos.h: Update decls.
8975
8976 2001-08-17 Janis Johnson <janis187@us.ibm.com>
8977
8978 * doc/install.texi (Install GCC): Add links to build status pages.
8979 (Specific): Ditto.
8980 (Final install): Ditto; request updates for specific info
8981
8982 2001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
8983
8984 * cpperror.c (print_location): Don't take a file name; use the
8985 line map instead.
8986 (_cpp_begin_message): Similarly.
8987 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
8988 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
8989 (cpp_pedwarn_with_file_and_line): Remove.
8990 * cppfiles.c (stack_include_file): Update; set filename to stdin
8991 here when appropriate.
8992 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
8993 (_cpp_begin_message): Don't take a file name.
8994 * cppinit.c: Add comment.
8995 * cpplex.c: Fix end-of-directive indicator.
8996 * cpplib.c: Don't include intl.h.
8997 (run_directive, do_diagnostic): Update.
8998 (do_line): Update to not use nominal_fname.
8999 (cpp_push_buffer): Don't take a filename.
9000 * cpplib.h (struct ht): Remove.
9001 (cpp_push_buffer): Don't take a filename.
9002 (cpp_pedwarn_with_file_and_line): Remove.
9003 * cppmacro.c (struct cpp_macro): Remove file.
9004 (builtin_macro): Update.
9005 (_cpp_create_definition): Update.
9006 * cppmain.c: Correct comment.
9007 * fix-header.c (read_scan_file): Update.
9008
9009 2001-08-17 Kazu Hirata <kazu@hxi.com>
9010
9011 * sbitmap.c: Fix comment formatting.
9012 * sched-deps.c: Likewise.
9013 * sibcall.c: Likewise.
9014 * simplify-rtx.c: Likewise.
9015 * ssa.c: Likewise.
9016 * ssa-ccp.c: Likewise.
9017 * stor-layout.c: Likewise.
9018 * timevar.c: Likewise.
9019 * toplev.c: Likewise.
9020 * unwind-dw2.c: Likewise.
9021 * unwind-dw2-fde.c: Likewise.
9022 * varasm.c: Likewise.
9023
9024 2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
9025
9026 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9027 or larger than an integer in memory.
9028
9029 2001-08-17 Zack Weinberg <zackw@panix.com>
9030
9031 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9032 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
9033 * rtl.h: Don't forward-declare union tree_node here. Don't
9034 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
9035 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9036 and tree respectively.
9037 * tree.h: Don't forward-declare struct rtx_def here. Don't
9038 typedef tree here. Change all uses of struct rtx_def *,
9039 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9040 and tree respectively.
9041
9042 2001-08-17 Richard Henderson <rth@redhat.com>
9043
9044 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9045 config/mips/openbsd.h: Fix typos last change.
9046
9047 2001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9048
9049 * doc/invoke.texi (Optimize Options): The default for
9050 -finline-limit is 600.
9051
9052 2001-08-17 Richard Henderson <rth@redhat.com>
9053
9054 * varasm.c (text_section): Allow TEXT_SECTION to override the
9055 printing of TEXT_SECTION_ASM_OP.
9056 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9057 (DATA_SECTION, BSS_SECTION): Remove.
9058 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9059 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9060 Rename from s/_NAME//.
9061 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9062 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9063 (TEXT_SECTION): ... here. New.
9064 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9065 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9066 * config/mips/openbsd.h: Likewise.
9067 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9068 (mips_asm_file_end): Likewise test.
9069 (mips_output_function_epilogue): Likewise. Switch back to data
9070 section after emitting the function.
9071
9072 * doc/tm.texi (Sections): Document TEXT_SECTION.
9073
9074 2001-08-17 Richard Henderson <rth@redhat.com>
9075
9076 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9077 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
9078
9079 2001-08-17 Richard Henderson <rth@redhat.com>
9080
9081 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9082 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9083 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9084 Add aligned attribute.
9085
9086 2001-08-17 Andrew Haley <aph@cambridge.redhat.com>
9087
9088 * config/sh/sh.md: Add modes to unspecs in first insn to match
9089 those in the second.
9090
9091 * Makefile.in: Fix collect2 copy for Cygwin.
9092
9093 Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
9094
9095 Install the proper patch.
9096 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9097 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9098 (expand_function_start): Likewise.
9099 * stmt.c (expand_decl): Likewise.
9100 * varasm.c (make_decl_rtx): Likewise.
9101
9102 Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
9103
9104 * final.c: Undo my previous accidental checkin.
9105 * output.h: Likewise.
9106 * tm.texi: Likewise.
9107
9108 2001-08-16 Richard Henderson <rth@redhat.com>
9109
9110 * varasm.c (named_section_flags): Remove align parameter.
9111 * varasm.c, dwarf2out.c: Update all callers.
9112 * output.h: Update prototypes.
9113
9114 * target.h (target.asm_out.named_section): Remove align parameter.
9115 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9116 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9117 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9118 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9119 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9120
9121 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9122 (get_named_section_flags, set_named_section_flags): New.
9123 (named_section_flags): Use them.
9124 (named_section): Do decl vs section flags check here...
9125 (default_section_type_flags): ... not here.
9126 (init_varasm_once): Create in_named_htab.
9127 (resolve_unique_section): Mark reloc unused.
9128
9129 2001-08-16 Richard Henderson <rth@redhat.com>
9130
9131 * varasm.c (force_const_mem): Keep pool alignment in bits.
9132 (output_constant_pool): Use assemble_align.
9133
9134 2001-08-16 Zack Weinberg <zackw@panix.com>
9135
9136 * doc/tm.texi: Remove extra @table command.
9137
9138 2001-08-16 Zack Weinberg <zackw@panix.com>
9139
9140 * final.c (shorten_branches): Clear the end of the label_align
9141 array only if we made it larger. Break up messy expressions
9142 for clarity.
9143
9144 * diagnostic.c (internal_error): Check for error recursion
9145 before doing ICE suppression.
9146
9147 * timevar.c: Timing variables now count in milliseconds.
9148 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9149 (get_time): Not here.
9150 (timevar_print): Don't print any timer whose user, cpu, and
9151 wall times are all zero as displayed.
9152 * timevar.h: Update comment aboout units. Make timevar
9153 counters unsigned.
9154
9155 Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
9156
9157 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9158 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9159 (expand_function_start): Likewise.
9160 * stmt.c (expand_decl): Likewise.
9161 * varasm.c (make_decl_rtx): Likewise.
9162
9163 2001-08-16 Jason Merrill <jason_merrill@redhat.com>
9164
9165 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9166 (finalize_record_size): Don't set TYPE_USER_ALIGN.
9167
9168 2001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9169
9170 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9171 variables.
9172
9173 2001-08-16 Andreas Jaeger <aj@suse.de>
9174
9175 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9176 prototype.
9177
9178 Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
9179
9180 * rtl.h (only_sets_cc0_p): New prototype.
9181 * jump.c (sets_cc0_p): Handle INSN.
9182 (only_sets_cc0_p): New function.
9183 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9184 (tidy_fallthru_edge): Likewise.
9185 * integrate.c (copy_insn_list): Likewise.
9186 * unroll.c (unroll_loop): Likewise.
9187 (copy_loop_body): Likewise.
9188
9189 2001-08-15 Jason Eckhardt <jle@redhat.com>
9190
9191 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9192
9193 Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
9194
9195 * predict.c (struct block_info_def): Remove nvisited.
9196 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9197 (estimate_bb_frequencies): Call mark_dfs_back_edges.
9198
9199 * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
9200 (ix86_adjust_cost): Teach scheduler that latency to load operand can
9201 be masked.
9202
9203 Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
9204
9205 * predict.def: Update hitrates.
9206
9207 2001-08-15 Richard Henderson <rth@redhat.com>
9208
9209 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9210
9211 Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
9212
9213 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9214 note from its associated jump.
9215
9216 2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
9217
9218 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9219 also on 64-bit s390x targets.
9220
9221 2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
9222
9223 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9224 function.
9225 (arm_expand_prologue): Handled nested functions which take a
9226 variable argument list.
9227 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9228 macro with an invocation of
9229 arm_compute_initial_elimination_offset.
9230 * config/arm/arm-protos.h: Prototype
9231 arm_compute_initial_elimination_offset.
9232
9233 2001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9234
9235 * doc/install.texi (Specific, avr): Fix markup.
9236 (Specific, c4x): Ditto.
9237
9238 2001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9239
9240 * predict.c (dump_prediction): Change `bool' parameter to `int'.
9241
9242 2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
9243
9244 * Makefile.in (OBJS): Add rtl-error.o
9245 (rtl-error.o): New rule.
9246 (diagnostic.o): Adjust dependency.
9247 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9248 error_for_asm, _fatal_insn, _fatal_insn_not_found,
9249 warning_for_asm): Move to...
9250 rtl-error.c: ...here. New file.
9251
9252 2001-08-14 Richard Henderson <rth@redhat.com>
9253
9254 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9255 if USING_SJLJ_EXCEPTIONS.
9256
9257 2001-08-14 Steve Ellcey <sje@cup.hp.com>
9258
9259 * tlink.c (scan_linker_output): Check string for unsatisfied in
9260 addition to undefined and unresolved.
9261
9262 2001-08-14 Graham Stott <grahams@redhat.com>
9263
9264 * libgcc2.c (*): Replace EH_FRAME_SECTION with
9265 EH_FRAME_SECTION_NAME.
9266
9267 Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
9268
9269 * genattrtab.c (simplify_test_exp_in_temp): New function.
9270 (simplify_test_exp): Avoid explicit use of temporary obstack.
9271 (simplify_cond, insert_right_side, evaluate_eq_attr,
9272 simplify_and_tree, simplify_or_tree, eliminate_known_true):
9273 Use simplify_test_exp_in_temp.
9274 (optimize_attrs): Iterate until expression stabilizes.
9275
9276 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
9277
9278 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9279 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9280
9281 2001-08-13 Richard Henderson <rth@redhat.com>
9282
9283 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9284 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9285 * config/arm/conix-elf.h: Likewise.
9286
9287 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
9288
9289 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9290 in gcc.c.
9291 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9292
9293 * gcse.c (hash_scan_set): Expressions that are set as part of
9294 jump instructions are not available.
9295
9296 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
9297
9298 * config/s390/s390.c (print_operand, s390_function_prologue,
9299 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9300
9301 2001-08-13 Richard Henderson <rth@redhat.com>
9302
9303 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9304 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9305 * doc/tm.texi (Exception Region Output): Document it.
9306
9307 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
9308
9309 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9310 DWARF2 instead of stabs by default.
9311
9312 2001-08-13 David Edelsohn <edelsohn@gnu.org>
9313
9314 * config/rs6000/rs6000.c: Include optabs.h.
9315
9316 2001-08-13 David Edelsohn <edelsohn@gnu.org>
9317
9318 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9319 save/restore routines.
9320 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9321
9322 2001-08-13 Andreas Jaeger <aj@suse.de>
9323
9324 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9325 the english is correct.
9326
9327 2001-08-13 Zack Weinberg <zackw@panix.com>
9328
9329 * expr.h: Split out optab- and libfunc-related code to...
9330 * optabs.h, libfuncs.h: ... these new headers.
9331
9332 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9333 (OPTABS_H): New.
9334 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9335 dependencies.
9336 * mkconfig.sh: Don't include insn-codes.h from config.h.
9337
9338 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9339 enum insn_code is available. Move reload_in_optab and
9340 reload_out_optab array declarations to optabs.h.
9341 * regmove.c (gen_add3_insn): Move to optabs.c, export from
9342 there, prototype in expr.h.
9343 * gencodes.c: Cleanup: zap global variables, don't use
9344 printf where puts will do, don't bother defining MAX_INSN_CODE
9345 which nothing uses, let CODE_FOR_nothing get its value implicitly.
9346
9347 * genemit.c, genopinit.c: Include optabs.h in generated file.
9348 * genoutput.c: Include insn-codes.h in generated file.
9349 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
9350 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9351 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
9352 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9353 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9354 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9355 Include optabs.h.
9356 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
9357 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9358 config/m88k/m88k.c, config/sparc/sparc.c:
9359 Include libfuncs.h.
9360 * reload.c: Include expr.h and optabs.h before reload.h.
9361 * config/alpha/alpha.c: Include tree.h before reload.h.
9362 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9363 and reload.h in that order.
9364 * config/sparc/sparc.c: Include debug.h.
9365 * recog.c: Include insn-codes.h.
9366
9367 2001-08-13 Andreas Jaeger <aj@suse.de>
9368
9369 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9370 s390*linux.
9371
9372 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9373
9374 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9375 * gcc.c (init_spec): Fix typo in comment.
9376 * varasm.c (data_section): Fix typo in comment.
9377
9378 Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
9379
9380 * predict.c (dump_prediction): New argument "USED".
9381 (combine_predictions_for_insn): Determine the used heuristics,
9382 output the case no heuristic applied.
9383 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9384
9385 2001-08-13 Andreas Jaeger <aj@suse.de>
9386
9387 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9388 register %rip.
9389
9390 2001-08-13 Kazu Hirata <kazu@hxi.com>
9391
9392 * jump.c: Fix formatting.
9393
9394 2001-08-13 Kazu Hirata <kazu@hxi.com>
9395
9396 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9397 length.
9398
9399 2001-08-12 Geoffrey Keating <geoffk@redhat.com>
9400
9401 * loop.c (check_dbra_loop): Use condjump_label to compute
9402 jump_label.
9403
9404 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9405 to better document the files they're in.
9406
9407 2001-08-12 Zack Weinberg <zackw@panix.com>
9408
9409 * recog.h (struct insn_operand_data): Shrink 'mode' field
9410 to 16 bits.
9411
9412 2001-08-12 Kazu Hirata <kazu@hxi.com>
9413
9414 * gcc.c: Fix comment formatting.
9415 * gccspec.c: Likewise.
9416 * gcov.c: Likewise.
9417 * gcse.c: Likewise.
9418 * genemit.c: Likewise.
9419 * gengenrtl.c: Likewise.
9420 * genrecog.c: Likewise.
9421 * gensupport.c: Likewise.
9422 * ggc-page.c: Likewise.
9423 * global.c: Likewise.
9424 * graph.c: Likewise.
9425 * ifcvt.c: Likewise.
9426 * integrate.c: Likewise.
9427 * lcm.c: Likewise.
9428 * libgcc2.c: Likewise.
9429 * loop.c: Likewise.
9430 * mbchar.c: Likewise.
9431 * optabs.c: Likewise.
9432 * predict.c: Likewise.
9433 * prefix.c: Likewise.
9434 * profile.c: Likewise.
9435 * protoize.c: Likewise.
9436 * real.c: Likewise.
9437 * recog.c: Likewise.
9438 * regclass.c: Likewise.
9439 * regmove.c: Likewise.
9440 * reg-stack.c: Likewise.
9441 * reload1.c: Likewise.
9442 * resource.c: Likewise.
9443 * rtlanal.c: Likewise.
9444 * rtl.c: Likewise.
9445
9446 2001-08-12 Kazu Hirata <kazu@hxi.com>
9447
9448 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9449 a tree representing a constant is passed to the macro.
9450
9451 2001-08-12 Richard Henderson <rth@redhat.com>
9452
9453 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9454 (rs6000_elf_asm_out_destructor): New.
9455 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9456 (DTORS_SECTION_ASM_OP): Remove.
9457 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9458 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9459
9460 2001-08-12 David Edelsohn <edelsohn@gnu.org>
9461
9462 Revert:
9463 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9464 * gcc.c (set_collect_gcc_options): New function, split out from
9465 main.
9466 Ignore elided switches.
9467 (do_spec_1): Invoke before executing command.
9468 (set_input): Export.
9469 Move declaration ...
9470 * gcc.h (set_input): ... here.
9471 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9472 file.
9473
9474 2001-08-12 Richard Henderson <rth@redhat.com>
9475
9476 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9477 thinko wrt TARGET_RELOCATABLE.
9478
9479 2001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
9480
9481 * fix-header.c (cb_file_change): Update prototype.
9482
9483 2001-08-11 Zack Weinberg <zackw@panix.com>
9484
9485 * toplev.c (set_float_handler): Make static.
9486 * toplev.h: Don't prototype set_float_handler.
9487
9488 * simplify-rtx.c: Don't include setjmp.h.
9489 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9490 New functions.
9491 (simplify_unary_operation, simplify_binary_operation): Use them,
9492 via do_float_handler.
9493
9494 * fold-const.c: Don't include setjmp.h.
9495 (exact_real_inverse_1): New function.
9496 (exact_real_inverse): Use it, via do_float_handler.
9497
9498 * varasm.c: Don't include setjmp.h.
9499 (assemble_real_1): New function.
9500 (assemble_real): Use it, via do_float_handler.
9501 Call internal_error if we get a trap here.
9502
9503 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
9504 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
9505
9506 2001-08-11 Zack Weinberg <zackw@panix.com>
9507
9508 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
9509 STACK_BOUNDARY if not already defined.
9510
9511 * calls.c, function.c, reload1.c, explow.c: Don't default
9512 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
9513 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
9514
9515 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
9516 to run-time test.
9517
9518 * doc/tm.texi: Document that STACK_BOUNDARY is required;
9519 clarify difference between it and PREFERRED_STACK_BOUNDARY.
9520
9521 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
9522
9523 * cppmacro.c (enter_macro_context): Push macro expansions even
9524 if empty.
9525
9526 2001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9527
9528 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
9529 (rs6000_elf_section_type_flags): Actually return a value.
9530
9531 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
9532
9533 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
9534 Clean up code: add missing comments and prototypes, fix warnings,
9535 remove obsolete code, fix spacing to conform to coding style.
9536
9537 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
9538
9539 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
9540 and TARGET_ASM_CLOSE_PAREN.
9541 (regclass_map): CC register belongs to class NO_REGS.
9542 (legitimize_pic_address): Don't generate unnecessary moves
9543 (to avoid confusing loop optimization).
9544 (check_and_change_labels): Replace jump_long by indirect_jump.
9545 (s390_final_chunkify): Don't start a new literal pool on section
9546 switch in 64-bit code.
9547 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
9548
9549 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
9550 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
9551 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
9552 modes correctly.
9553 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
9554 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
9555 (CONST_COSTS): Fixed incorrect costs.
9556
9557 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
9558 Use emit_jump instead of emit_jump_insn (gen_jump).
9559 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
9560 (to avoid confusing flow analysis).
9561 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
9562 (casesi, casesi_jump): New.
9563 (jump_long): Removed. Functionality merged into indirect_jump.
9564 (indirect_jump): Accept address_operand, not just register_operand.
9565 (cjump_long, icjump_long): Use same logic as indirect_jump.
9566 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
9567 Fixed broken setjmp/longjmp handling.
9568 (do_builtin_setjmp_setup): Removed.
9569
9570 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
9571 broken GNU as versions that don't accept .quad with large
9572 negative values. Use hexadecimal output instead.
9573 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
9574 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
9575 FUNCTION_EPILOGUE): Removed. Now in targetm.
9576
9577 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
9578
9579 * config/s390/fixdfdi.h: Add missing copyright statement.
9580 Fix type conflicts on 64-bit. Add missing SFmode routines.
9581
9582 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
9583 email address.
9584
9585 2001-08-11 Richard Henderson <rth@redhat.com>
9586
9587 * rtl.h (REG_EH_RETHROW): Remove.
9588 * rtl.c (reg_note_name): Update.
9589 * combine.c (distribute_notes): Don't check for it.
9590
9591 2001-08-11 Richard Henderson <rth@redhat.com>
9592
9593 * combine.c (distribute_notes): Place REG_SETJMP.
9594
9595 2001-08-11 Richard Henderson <rth@redhat.com>
9596
9597 * doc/extend.texi (Arrays and pointers implementation): Discourage
9598 relying on sign-extension of pointers.
9599
9600 2001-08-11 H.J. Lu <hjl@gnu.org>
9601
9602 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
9603 in_dtors.
9604 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
9605 RDATA_SECTION_ASM_OP.
9606
9607 2001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9608
9609 * doc/install.texi (Specific, c4x): Fix cross-reference to the
9610 main manual to work both for info and HTML versions.
9611
9612 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
9613 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9614
9615 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
9616 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
9617 (struct cpp_pool): New member first.
9618 * cppinit.c (append_include_chain): Plug memory leaks.
9619 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
9620 Allocate pragma structures from the (aligned) macro pool to
9621 avoid leaking memory.
9622 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
9623 so we don't leak memory.
9624 * hashtable.c (ht_destroy): New.
9625 * hashtable.h (ht_destroy): New.
9626
9627 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
9628 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9629
9630 * c-lex.c (map): Make const.
9631 (cb_file_change): Update for callback passing a line map.
9632 Don't assume we have a previous map. Remove sanity check
9633 about popping too many files.
9634 * cpperror.c (print_location): Make map const.
9635 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
9636 (cpp_make_system_header): Similarly.
9637 (search_from): Similarly.
9638 (_cpp_execute_include): Don't remember where we came from.
9639 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
9640 (struct cpp_reader): Make map const.
9641 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
9642 * cpplib.c (do_line): Update; line maps now hold sysp.
9643 (cpp_push_buffer): Similarly.
9644 (_cpp_do_file_change): Similarly; callback with map instead.
9645 (cpp_get_line_maps): Constify return value.
9646 (_cpp_pop_buffer): Update.
9647 * cpplib.h (struct cpp_file_change): Remove.
9648 (struct cpp_callbacks): Update.
9649 (cpp_get_line_maps): Constify return value.
9650 * cppmacro.c (_cpp_create_definition): Update.
9651 * cppmain.c (struct printer): Constify map.
9652 (maybe_print_line): Similarly.
9653 (print_line): Similarly. Deduce flags 1 and 2 here.
9654 (cb_file_change): Update.
9655 * line-map.c (free_line_maps): Warn regardless.
9656 (add_line_map): Return pointer to const. When passed NULL to_file
9657 with LC_LEAVE, use the obvious values for the return point so the
9658 caller doesn't have to figure them out.
9659 (lookup_line): Return pointer to const.
9660 (print_containing_files): Take pointer to const.
9661 * line-map.h (struct line_map): New members reason, sysp.
9662 (add_line_map): Return pointer to const.
9663 (lookup_line): Similarly.
9664 (print_containing_files): Take pointer to const.
9665
9666 2001-08-10 Roman Zippel <zippel@linux-m68k.org>
9667 Richard Henderson <rth@redhat.com>
9668
9669 * regmove.c (regmove_optimize): Avoid setting a register twice in
9670 a parallel set.
9671
9672 2001-08-10 Richard Henderson <rth@redhat.com>
9673
9674 * doc/extend.texi (Arrays and pointers implementation): Document
9675 behavior of pointer/integer conversion.
9676
9677 2001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
9678
9679 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
9680
9681 2001-08-10 Richard Henderson <rth@redhat.com>
9682
9683 * doc/extend.texi (C Implementation): New chapter.
9684 * doc/gcc.texi (Top): Link it in.
9685
9686 2001-08-10 Andrew Cagney <ac131313@redhat.com>
9687
9688 * doc/install.texi (Specific): Fix CVS merge botch.
9689
9690 2001-08-10 Richard Henderson <rth@redhat.com>
9691
9692 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
9693 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
9694
9695 2001-08-10 Zack Weinberg <zackw@stanford.edu>
9696
9697 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
9698 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
9699 this macro is now required.
9700
9701 * cselib.c (cselib_process_insn), flow.c (propagate_block),
9702 loop.c (find_and_verify_loops), reload.c (reload): Check
9703 for rtx code of CALL_INSN, not CALL, when deciding if we
9704 need to check for REG_SETJMP note.
9705
9706 * gcse.c (compute_hash_table, compute_store_table): Update
9707 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
9708 logic.
9709
9710 * config/avr/avr.c: Fix typo.
9711 * config/convex/convex.c (expand_movstr): Use adjust_address.
9712 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
9713 variable.
9714 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
9715 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
9716 Fix typo.
9717 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
9718 Do define STACK_BOUNDARY.
9719 * config/i370/i370.c: Include expr.h.
9720 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
9721 config/pa/som.h, config/v850/v850.h: Take in_ctors and
9722 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
9723 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
9724 * config/m88k/m88k.c: Include c-tree.h after expr.h.
9725 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
9726 * config/romp/romp.c: Include expr.h after tree.h.
9727 Include toplev.h.
9728 (output_fpop): Use xmalloc, not oballoc.
9729 * config/we32k/we32k.c: Include expr.h.
9730
9731 2001-08-10 Kazu Hirata <kazu@hxi.com>
9732
9733 * config/h8300/h8300.h: Fix formatting.
9734
9735 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
9736
9737 * c-common.h (RETURN_NULLIFIED_P): Lose.
9738 * c-semantics.c (genrtl_return_stmt): Don't check it.
9739
9740 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
9741
9742 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
9743 (mips_annotate_frame_insn): New function.
9744 (mips_emit_frame_related_store): New function.
9745 (save_restore_insns): Don't mark instructions that set up the base
9746 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
9747 the store instructions instead.
9748 (mips_expand_prologue): If the stack size is moved into a temporary
9749 register, do not mark that move as frame-related. Add a
9750 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
9751
9752 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
9753
9754 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
9755 stack slot as unchanging if current_function_calls_eh_return.
9756
9757 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
9758
9759 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
9760 access the second half of the TFmode scratch operand.
9761
9762 2001-08-10 Anthony Green <green@redhat.com>
9763
9764 * java/class.c (emit_register_classes): Conditionalize code on
9765 JCR_SECTION_NAME.
9766
9767 2001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9768
9769 * doc/install.texi (Specific, avr): Fix cross-reference to the
9770 main manual to work both for info and HTML versions.
9771
9772 2001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9773
9774 * stmt.c (expand_null_return_1): Remove code to generate simple returns
9775 and "use_goto" argument.
9776 (expand_null_return, expand_value_return): Update all callers.
9777 * function.c (expand_function_end): Remove code to generate simple
9778 return.
9779 * config/vax/vax.md (epilogue): New expander for function return.
9780 * doc/md.texi (epilogue): Remove "if defined".
9781
9782 2001-08-09 Zack Weinberg <zackw@stanford.edu>
9783
9784 * Makefile.in: Partially revert my previous change:
9785 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
9786 of the hashtab.o and safe-ctype.o rules.
9787
9788 2001-08-09 Richard Henderson <rth@redhat.com>
9789
9790 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
9791 (USE_COLLECT2): Remove duplicate definition.
9792 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
9793 (use_collect2): Remove dead code.
9794 * configure.in (use_collect2): Remove will_use_collect2 and
9795 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
9796 * configure: Rebuild.
9797
9798 * target.h (targetm.asm_out.constructor): New.
9799 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
9800 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
9801 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
9802 * varasm.c (in_ctors, in_dtors): New.
9803 (assemble_constructor, assemble_destructor): Remove.
9804 (default_stabs_asm_out_destructor): New.
9805 (default_named_section_asm_out_destructor): New.
9806 (dtors_section, default_dtor_section_asm_out_destructor): New.
9807 (default_stabs_asm_out_constructor): New.
9808 (default_named_section_asm_out_constructor): New.
9809 (ctors_section, default_ctor_section_asm_out_constructor): New.
9810 * output.h: Update declarations.
9811 * c-decl.c (c_expand_body): Use target hooks instead of
9812 assemble_constructor and assemble_destructor.
9813 * profile.c (output_func_start_profiler): Likewise.
9814 * objc/objc-act.c (finish_objc): Likewise.
9815 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
9816 for the constructor.
9817 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
9818
9819 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
9820 (DTORS_SECTION_ASM_OP): Likewise.
9821 (__CTOR_LIST__): Use attribute section when possible.
9822 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
9823
9824 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
9825 ASM_OUTPUT_CONSTRUCTOR.
9826
9827 * config/darwin.c (machopic_asm_out_constructor): New.
9828 (machopic_asm_out_destructor): New.
9829 * config/darwin-protos.h: Update declarations.
9830 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9831 (ASM_OUTPUT_DESTRUCTOR): Remove.
9832 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9833 * config/nextstep.c (nextstep_asm_out_constructor): New.
9834 (nextstep_asm_out_destructor): New.
9835 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9836 (ASM_OUTPUT_DESTRUCTOR): Remove.
9837 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9838 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
9839 ASM_OUTPUT_*STRUCTOR.
9840 * config/i386/aix386ng.h: Likewise.
9841
9842 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
9843 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
9844 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9845 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9846 * config/lynx.h: Likewise.
9847 * config/netware.h: Likewise.
9848 * config/psos.h: Likewise.
9849 * config/alpha/alpha-interix.h: Likewise.
9850 * config/alpha/elf.h: Likewise.
9851 * config/arc/arc.h: Likewise.
9852 * config/arm/aof.h: Likewise.
9853 * config/arm/coff.h: Likewise.
9854 * config/arm/elf.h: Likewise.
9855 * config/c4x/c4x.h: Likewise.
9856 * config/h8300/h8300.h: Likewise.
9857 * config/i386/cygwin.h: Likewise.
9858 * config/i386/djgpp.h: Likewise.
9859 * config/i386/i386-coff.h: Likewise.
9860 * config/i386/i386-interix.h: Likewise.
9861 * config/i386/sco5.h: Likewise.
9862 * config/i386/vsta.h: Likewise.
9863 * config/i386/win32.h: Likewise.
9864 * config/i960/i960-coff.h: Likewise.
9865 * config/ia64/sysv4.h: Likewise.
9866 * config/m68hc11/m68hc11.h: Likewise.
9867 * config/m68k/coff.h: Likewise.
9868 * config/m68k/mot3300.h: Likewise.
9869 * config/m88k/m88k.h: Likewise.
9870 * config/mcore/mcore-pe.h: Likewise.
9871 * config/mcore/mcore.h: Likewise.
9872 * config/mips/elf.h: Likewise.
9873 * config/mips/elf64.h: Likewise.
9874 * config/mips/iris6.h: Likewise.
9875 * config/pa/pa64-hpux.h: Likewise.
9876 * config/rs6000/sysv4.h: Likewise.
9877 * config/sh/sh.h: Likewise.
9878 * config/sparc/litecoff.h: Likewise.
9879
9880 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
9881 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
9882 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9883 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9884 (ASM_OUTPUT_DESTRUCTOR): Remove.
9885 * config/a29k/a29k.c: Move include of tree.h.
9886 * config/a29k/udi.h: Delete file.
9887 * config/alpha/alpha.c (vms_asm_out_constructor): New.
9888 (vms_asm_out_destructor): New.
9889 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
9890 (EXTRA_SECTION_FUNCTIONS): Likewise.
9891 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9892 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9893 * config/c4x/c4x.c: Move include of tree.h.
9894 * config/clipper/clipper.c (clix_asm_out_constructor): New.
9895 (clix_asm_out_destructor): New.
9896 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9897 (ASM_OUTPUT_DESTRUCTOR): Remove.
9898 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9899 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9900 (TARGET_ASM_CONSTRUCTOR): New.
9901 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
9902 (sco_asm_out_constructor): New.
9903 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
9904 * config/i386/svr3gas.h: Remove stack grows up code.
9905 Remove code duplicated from i386/sysv3.h.
9906 (TARGET_ASM_CONSTRUCTOR): New.
9907 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
9908 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
9909 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9910 (TARGET_ASM_CONSTRUCTOR): New.
9911 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
9912 (m68hc11_asm_out_destructor): New.
9913 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
9914 (TARGET_ASM_DESTRUCTOR): New.
9915 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
9916 * config/m68k/dpx2.h: Properly undef all the bits inherited from
9917 config/svr3.h pertaining to section manipulation.
9918 * config/m68k/dpx2g.h: Remove #if 0 code.
9919 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
9920 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
9921 (ASM_OUTPUT_CONSTRUCTOR): Remove.
9922 (TARGET_ASM_CONSTRUCTOR): New.
9923 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
9924 (m88k_svr3_asm_out_constructor): New.
9925 (m88k_svr3_asm_out_destructor): New.
9926 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9927 (ASM_OUTPUT_DESTRUCTOR): Remove.
9928 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9929 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
9930 * config/rs6000/aix.h: Likewise.
9931 * config/mips/rtems64.h: Don't undef removed constructor related bits.
9932 * config/mips/vxworks.h: Likewise.
9933 * config/rs6000/lynx.h: Likewise.
9934 * config/sh/elf.h: Likewise.
9935 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
9936 (DTORS_SECTION_ASM_OP): New.
9937 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9938 (ASM_OUTPUT_DESTRUCTOR): Remove.
9939 * config/sparc/sol2-sld-64.h: Likewise.
9940 * config/vax/vax.c (vms_asm_out_constructor): New.
9941 (vms_asm_out_destructor): New.
9942 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
9943 (ASM_OUTPUT_DESTRUCTOR): Remove.
9944 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9945
9946 * doc/tm.texi (@node Initialization): Update.
9947
9948 2001-08-09 Richard Henderson <rth@redhat.com>
9949
9950 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
9951 (__do_global_dtors_aux): Use gp-relative static data to avoid
9952 one dynamic relocation.
9953 (__do_frame_setup): Register Java classes.
9954 * config/alpha/crtend.asm (__JCR_END__): New.
9955
9956 2001-08-09 Zack Weinberg <zackw@stanford.edu>
9957
9958 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
9959 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
9960 (GEN, STAGESTUFF): Add new files.
9961 (insn-constants.h, s-constants, tm-preds.h, s-preds,
9962 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
9963 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
9964 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
9965 as well as insn-codes.h and insn-flags.h in config.h; and no
9966 extra headers in tconfig.h and hconfig.h.
9967
9968 * gencodes.c: Eliminate code to generate predicate declarations
9969 or #defines for md-file constants.
9970 * genconstants.c, genpreds.c: New files.
9971
9972 * i386.md: Re-order guard expressions such that TARGET_64BIT
9973 comes first, when this permits better optimization. Add
9974 TARGET_64BIT to more x86-64 patterns. Add comment explaining
9975 why this is desirable.
9976
9977 2001-08-09 Jakub Jelinek <jakub@redhat.com>
9978
9979 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
9980 (find_fde_for_dso): Remove.
9981 (_Unwind_IteratePhdrCallback): New.
9982 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
9983 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
9984
9985 Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9986
9987 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
9988 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
9989
9990 2001-08-09 Graham Stott <grahams@redhat.com>
9991
9992 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
9993 (vis_no_unit): Use it.
9994 (visualize_no_unit): Add the insn only if room exists.
9995
9996 2001-08-09 Graham Stott <grahams@redhat.com>
9997
9998 * predict.c (estimate_probability): Replace magic numbers with
9999 appropriate enumeration.
10000
10001 2001-08-09 Graham Stott <grahams@redhat.com>
10002
10003 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
10004 parameter.
10005 (EXTRACT_FLAGS): Likewise.
10006
10007 2001-08-09 Aldy Hernandez <aldyh@redhat.com>
10008
10009 * config/mips/mips.c (mips_legitimate_address_p): Check for
10010 CONST_INT in last patch.
10011
10012 2001-08-08 Anthony Green <green@redhat.com>
10013
10014 * java/class.c (emit_register_classes): Use assemble_jcr if
10015 possible. Keep the original mechanism as a fallback.
10016 * defaults.h (JCR_SECTION_NAME): Define if we have named section
10017 and weak symbol support.
10018 * crtstuff.c (__JCR_LIST__): Define.
10019 (__JCR_END__): Define.
10020 (_Jv_RegiserClasses): Define weak symbol if possible.
10021 (__do_global_ctors_aux): Register classes for ELF targets with
10022 weak symbol support.
10023
10024 2001-08-08 Kazu Hirata <kazu@hxi.com>
10025
10026 * dbxout.c: Fix comment formatting.
10027 * dependence.c: Likewise.
10028 * df.c: Likewise.
10029 * diagnostic.c: Likewise.
10030 * dominance.c: Likewise.
10031 * doprint.c: Likewise.
10032 * dwarf2out.c: Likewise.
10033 * dwarfout.c: Likewise.
10034 * emit-rtl.c: Likewise.
10035 * except.c: Likewise.
10036 * explow.c: Likewise.
10037 * expmed.c: Likewise.
10038 * expr.c: Likewise.
10039 * flow.c: Likewise.
10040 * fold-const.c: Likewise.
10041 * function.c: Likewise.
10042
10043 2001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10044
10045 * global.c (retry_global_alloc): Avoid shadowing allocno.
10046
10047 2001-08-08 Mark Mitchell <mark@codesourcery.com>
10048
10049 * except.c (remove_fixup_regions): Fix typo.
10050
10051 2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
10052
10053 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
10054 unsigned HOST_WIDE_INT to avoid warning.
10055 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10056 * flow.c (set_block_for_new_insns): Likewise.
10057
10058 Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
10059
10060 * sibcall.c (return_value_pseudo): New static variable.
10061 (skip_copy_to_return_value): Handle return_value_pseudo.
10062 (call_ends_block_p): Ensure that return_value_pseudo is set.
10063 (optimize_sibling_and_tail_recursive_call): Discover the
10064 load of pseudo return value in alternate exit block.
10065
10066 Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
10067
10068 * calls.c (ECF_ALWAYS_RETURN): New constant.
10069 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10070 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10071 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10072 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10073 * rtl.c (reg_note_name): New name.
10074 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10075
10076 2001-08-07 Aldy Hernandez <aldyh@redhat.com>
10077
10078 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10079
10080 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
10081
10082 * alias.c (get_alias_set): Return a previously calculated
10083 alias set for a VAR_DECL.
10084 * function.c (gen_mem_addressof): Calculate the alias set before
10085 touching the RTL.
10086
10087 Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
10088
10089 * predict.def: Set hitrates according our experimental run.
10090
10091 Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
10092
10093 * i386.h (HARD_REGNO_RENAME_OK): New macro.
10094
10095 2001-08-08 H.J. Lu <hjl@gnu.org>
10096
10097 * config/mips/mips.c (mips_unique_section): New. Copied from
10098 config/mips/elf.h.
10099
10100 * config/mips/mips-protos.h (mips_unique_section): New
10101 prototype.
10102
10103 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10104
10105 * config/mips/little.h: New. Generic little endian mips
10106 targets. Only mips*-*-linux* is converted to use it so far.
10107
10108 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10109 (WCHAR_TYPE): Defined
10110 (WCHAR_TYPE_SIZE): Likewise.
10111 (INIT_SUBTARGET_OPTABS): Likewise.
10112 (BSS_SECTION_ASM_OP): Likewise.
10113 (SBSS_SECTION_ASM_OP): Likewise.
10114 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10115 (ASM_DECLARE_OBJECT_NAME): Likewise.
10116 (UNIQUE_SECTION): Likewise.
10117 (EXTRA_SECTIONS): Likewise.
10118 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10119 (ASM_OUTPUT_DESTRUCTOR): Likewise.
10120 (ASM_OUTPUT_DEF): Likewise.
10121 (HANDLE_SYSV_PRAGMA): Removed.
10122 (NO_IMPLICIT_EXTERN_C): Likewise.
10123 (TARGET_MEM_FUNCTIONS): Likewise.
10124 (STARTFILE_SPEC): Likewise.
10125 (ENDFILE_SPEC): Likewise.
10126 (LIB_SPEC): Likewise.
10127 (INVOKE__main): Likewise.
10128 (CTOR_LIST_BEGIN): Likewise.
10129 (CTOR_LIST_END): Likewise.
10130 (DTOR_LIST_BEGIN): Likewise.
10131 (DTOR_LIST_END): Likewise.
10132 (SET_ASM_OP): Likewise.
10133 (ASM_OUTPUT_SOURCE_LINE): Likewise.
10134 (ASM_OUTPUT_DEF): Likewise.
10135 (ASM_OUTPUT_IDENT): Likewise.
10136
10137 * config/mips/mips.h (ASM_SPEC): Undefine before define.
10138 (CPLUSPLUS_CPP_SPEC): Likewise.
10139 (ASM_APP_ON) Redefine only if not defined.
10140 (ASM_APP_OFF): Likewise.
10141 (ASM_OUTPUT_SOURCE_LINE): Likewise.
10142 (ASM_OUTPUT_IDENT): Likewise.
10143
10144 * config.gcc: Update tm_file for Linux/mips.
10145
10146 2001-08-08 Bernd Schmidt <bernds@redhat.com>
10147
10148 * cselib.c (cselib_record_sets): If insn is predicated, turn
10149 sources into IF_THEN_ELSEs.
10150
10151 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10152 Turn into define_insn_and_split.
10153
10154 * sched-deps.c: Include "cselib.h".
10155 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10156 Use cselib to turn memory addresses into VALUEs.
10157 (sched_analyze): Call cselib_init/cselib_finish if necessary.
10158 * sched-int.h (struct sched_info): New member USE_CSELIB.
10159 * sched-ebb.c (ebb_sched_info): Initialize it.
10160 * sched-rgn.c (rgn_sched_info): Likewise.
10161 * Makefile.in (sched-deps.o): Update dependencies.
10162
10163 * cselib.h (cselib_subst_to_values): Declare.
10164 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
10165 that have no value and autoincs to be handled by generating a new
10166 dummy value.
10167
10168 2001-08-08 Graham Stott <grahams@redhat.com>
10169
10170 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10171 within fixed length SEQUENCE.
10172
10173 2001-08-08 Graham Stott <grahams@redhat.com>
10174
10175 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10176 (diagnostic_prefixing_rule): Likewise.
10177 (diagnostic_line_cutoff): Likewise.
10178 (diagnostic_kind_count): Likewise.
10179
10180 2001-08-08 Graham Stott <grahams@redhat.com>
10181
10182 * alias.c (find_base_decl): Delete redundent assignment.
10183
10184 2001-08-08 Graham Stott <grahams@redhat.com>
10185
10186 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10187 (abs): Uppercase and paranthesize macro parameter.
10188 (MEM_DEPENDENCY): Add whitespace.
10189
10190 2001-08-08 Graham Stott <grahams@redhat.com>
10191
10192 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10193 failure check for CONST_INT
10194
10195 2001-08-08 Graham Stott <grahams@redhat.com>
10196
10197 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10198 (libcall_dead_p): Likewise.
10199
10200 (mark_used_regs): Constify fmt.
10201 (find_use_as_address): Likewise.
10202
10203 2001-08-08 Graham Stott <grahams@redhat.com>
10204
10205 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10206 parameter.
10207
10208 2001-08-08 Graham Stott <grahams@redhat.com>
10209
10210 * combine.c (combine_simplify_rtx): Update comment and
10211 remove erroneous test.
10212
10213 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
10214
10215 * cppinit.c (cpp_finish): Pop the final buffer without comment.
10216 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10217 take care to avoid multiple no-newline at EOF warnings in that
10218 case.
10219
10220 Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
10221
10222 * calls.c (expand_call): Do not emit INSN_SETJMP note.
10223 (emit_library_call_value_1): Likewise.
10224 (emit_call_1): Emit REG_SETJMP note.
10225 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10226 of INSN_SETJMP
10227 * cselib.c (cselib_process_insn): Likewise.
10228 * flow.c (propagate_block): Likewise.
10229 * loop.c (find_and_verify_loops): Likewise.
10230 * reload.c (find_equiv_regs): Likewise.
10231 * reload1.c (reload): Likewise.
10232 * resource.c (mark_referenced_resources,
10233 mark_set_resources): Likewise.
10234 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10235 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10236 * haifa-sched.c (unlink_other_notes): Likewise.
10237 (reemit_notes): Likewise.
10238 * sched-ebb.c (sched_ebb): Likewise.
10239 * sched-rgc.c (sched_region): Likewise.
10240 * rtl.c (note_insn_name): Likewise.
10241 (reg_note_name): Add REG_SETJMP
10242 * rtl.h (reg_note): Add REG_SETJMP.
10243 (insn_note): Remove NOTE_INSN_SETJMP.
10244
10245 * profile.c (branch_prob): Add fake edges for setjmp.
10246
10247 2001-08-07 Daniel Jacobowitz <drow@mvista.com>
10248
10249 * config.gcc: Quote target_cpu_default2 correctly for
10250 powerpc*-*-* targets.
10251
10252 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
10253
10254 * cpplib.h, line-map.h: Update comments.
10255 * cppmain.c (printer_init): Move inline.
10256 (maybe_print_line, print_line): Take a map pointer.
10257 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10258 (cb_file_change): Don't use prior value of print.map.
10259
10260 2001-08-07 David Edelsohn <edelsohn@gnu.org>
10261
10262 * doc/install.texi: Document fine-grained multilib configuration.
10263
10264 Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10265
10266 * rtlanal.c (find_first_parameter_load): Call note_stores
10267 only on the instructions.
10268
10269 Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
10270
10271 * alias.c (nonlocal_mentioned_p):
10272 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10273 * calls.c (emit_call_1): Likewise.
10274 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10275 * cselib.c (cselib_process_insn): Likewise.
10276 * df.c (df_insns_modify): Likewise.
10277 * flow.c (need_fake_edge_p): Likewise.
10278 (propagate_one_insn): Likewise.
10279 * haifa-sched.c (reemit_notes): Likewise.
10280 * integrate.c (copy_insn_list): Likewise.
10281 * jump.c (delete_prior_computation): Likewise.
10282 * local-alloc.c (validate_equiv_mem): Likewise.
10283 * loop.c (scan_loop): Likewise.
10284 * predict.c (estimate_probability): Likewise.
10285 * reload.c (reload): Likewise.
10286 * sched-deps (sched_analyze): Likewise.
10287 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10288 * gcse.c (compute_hash_table): Likewise.
10289 (mark_call): Likewise.
10290 (store_killed_in_insn): Likewise.
10291
10292 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
10293
10294 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10295
10296 2001-08-06 Richard Henderson <rth@redhat.com>
10297
10298 * varasm.c (assemble_gc_entry): Remove.
10299 * output.h: Likewise.
10300
10301 2001-08-06 Richard Henderson <rth@redhat.com>
10302
10303 * varasm.c (assemble_constructor): Take a symbol_ref and a
10304 priority instead of a bare string. Move priority handling
10305 here from cp/decl2.c.
10306 * output.h: Update decls.
10307
10308 * c-decl.c (c_expand_body): Update calls to assemble_constructor
10309 and assemble_destructor.
10310 * profile.c (output_func_start_profiler): Likewise.
10311 * objc/objc-act.c (finish_objc): Likewise.
10312 (build_module_descriptor): Return the symbol not the symbol name.
10313
10314 2001-08-06 David Edelsohn <edelsohn@gnu.org>
10315
10316 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10317 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10318 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10319 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10320 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10321 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10322
10323 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
10324
10325 * cpperror.c (print_containing_files): Moved to line-map.c.
10326 (print_location): line-map.c handles re-listing or otherwise.
10327 * cpphash.h (struct lexer_state): Remove next_bol.
10328 (struct cpp_buffer): Remove include_stack_listed.
10329 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10330 Remove faked buffer handling.
10331 (_cpp_do_file_change): Tweak.
10332 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10333 * cppmain.c (struct printer): Remove filename.
10334 (print_line, cb_file_change): Update accordingly.
10335 * line-map.c: Include intl.h.
10336 (init_line_maps): Initialize last_listed.
10337 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10338 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10339 (print_containing_files): New.
10340 * line-map.h (struct line_maps): New member last_listed.
10341 (print_containing_files, INCLUDED_FROM): New.
10342 * Makefile.in: Update.
10343 * po/POTFILES.in: Add line-map.c.
10344
10345 2001-08-06 Richard Henderson <rth@redhat.com>
10346
10347 * except.c (convert_from_eh_region_ranges_1): Never mark
10348 USE or CLOBBER insns as throwing.
10349
10350 * expr.c (store_constructor): Don't clobber memory targets.
10351
10352 2001-08-06 Andreas Jaeger <aj@suse.de>
10353
10354 * profile.c (branch_prob): Remove unused variable insn.
10355
10356 * Makefile.in (local-alloc.o): Add dependency on except.h.
10357
10358 * local-alloc.c: Include except.h for can_throw_internal prototype.
10359
10360 2001-08-06 Richard Henderson <rth@redhat.com>
10361
10362 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10363 * function.c (expand_main_function): Implement it.
10364 * doc/tm.texi: Document it.
10365
10366 2001-08-06 Stan Shebs <shebs@apple.com>
10367
10368 * doc/install.texi: Document powerpc-*-darwin* details.
10369
10370 2001-08-06 Daniel Berlin <dan@cgsoftware.com>
10371
10372 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10373 (ASM_CPU_SPEC): Move back to rs6000.h
10374 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10375
10376 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10377
10378 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
10379 readded.
10380
10381 * config/rs6000/linux64.h: Ditto.
10382
10383 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10384 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10385 nothing.
10386
10387 Remove accidently readded definitions of FUNCTION_PROLOGUE,
10388 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10389
10390 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10391 to rs6000.h
10392
10393 2001-08-05 Richard Henderson <rth@redhat.com>
10394
10395 * local-alloc.c (update_equiv_regs): Do not move insns that
10396 can throw.
10397
10398 2001-08-05 Jan Hubicka <jh@suse.cz>
10399
10400 * Makefile.in (reload1.o): Add dedendancy on except.h
10401 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10402 prototypes.
10403 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10404 indicating wehther edges has been cleaned up.
10405 * reload1.c: Inlucde except.h
10406 (fixup_abnormal_edges): Accept deleted insns.
10407 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10408 after combine.
10409
10410 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
10411
10412 * cpplib.c (do_line): Correct line number after pop_buffer.
10413
10414 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
10415
10416 PR preprocessor/3824
10417 * line-map.c: Update comments.
10418 * line-map.h: Update comments.
10419 * tradcif.y: Don't consider large numbers unsigned.
10420
10421 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
10422
10423 PR preprocessor/3081
10424 * c-lex.c (map): New.
10425 (cb_file_change): Update map and use it.
10426 (cb_def_pragma, cb_define, cb_undef): Use map and line.
10427 (c_lex): Update to use map.
10428 * cpperror.c (print_location): Move to using logical line numbers.
10429 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10430 (cpp_make_system_header): Similarly.
10431 (_cpp_execute_include): Stop line numbering hacks. Store the
10432 line we will return to.
10433 * cpphash.h (CPP_BUF_LINE): Remove.
10434 (struct cpp_buffer): Remove lineno and pseudo_newlines.
10435 Add map and return_to_line.
10436 (_cpp_do_file_change): Update.
10437 * cppinit.c (cpp_start_read): Update line kludge.
10438 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10439 (trigraph_ok): Use logical line numbers for diagnostics.
10440 (skip_block_comment): Likewise.
10441 (skip_whitespace): Likewise.
10442 (skip_line_comment): Use pfile->line instead.
10443 (_cpp_lex_token): Update to use logical line numbering exclusively.
10444 Handle BOL locally. Accept new lines in directives, but keep
10445 pfile->line decremented. Diagnostics use logical lines. Update
10446 directive handling.
10447 * cpplib.c (SEEN_EOL): New.
10448 (skip_rest_of_line, check_eol): Use it.
10449 (end_directive): Increase line number when accepting the newline
10450 at the end of a directive.
10451 (run_directive): Simplify.
10452 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
10453 (_cpp_do_file_change): Update to take buffer line number as an
10454 argument, and store the current map in the cpp_reader. Remove
10455 line number kludges.
10456 (_cpp_do__Pragma): Restore output position after a _Pragma.
10457 (cpp_push_buffer): Don't set output line or lineno.
10458 (_cpp_pop_buffer): Transfer more info from a faked buffer.
10459 Remove line kludge. Set output_line.
10460 * cppmacro.c (builtin_macro): Update handling of __LINE__.
10461 (parse_arg): Use logical lines.
10462 (save_lookahead_token): Save EOFs too now.
10463 * cppmain.c (struct printer): Fix comments.
10464 (printer_init): Simplify, let caller do errors.
10465 (scan_translation_unit, check_multiline_token, dump_macro): Update.
10466 (maybe_print_line): Simplify.
10467 (print_line): Don't print a linemarker if -P.
10468 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10469 (cb_file_change): Simplify.
10470 * line-map.h (LAST_SOURCE_LINE): Fix.
10471 (CURRENT_LINE_MAP): New.
10472
10473 2001-08-05 Bernd Schmidt <bernds@redhat.com>
10474
10475 * doloop.c (doloop_modify_runtime): Properly compute number of
10476 iterations if loop was unrolled.
10477
10478 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10479 if their CSELIB_VAL_PTRs are.
10480
10481 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10482 (setup_spill_pointers): Initialize it.
10483 (spill_restore_mem): Set it.
10484 (do_spill, do_restore): Use it to add REG_INC note.
10485 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10486
10487 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10488 asms if other insns are available.
10489
10490 * config/ia64/ia64.c (condop_operator): New predicate.
10491 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10492 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
10493 patterns.
10494
10495 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
10496 temporary register than directly using a MEM.
10497
10498 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10499
10500 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
10501 parameter in last change.
10502
10503 2001-08-04 Zack Weinberg <zackw@panix.com>
10504
10505 * sparc.md: Don't use #if inside C test expression.
10506
10507 2001-08-04 Richard Henderson <rth@redhat.com>
10508
10509 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
10510
10511 2001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
10512
10513 * cpphash.h (struct cpp_reader): New member directive_line.
10514 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
10515 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
10516 do_pragma): Pass line to callbacks.
10517 (start_directive): Record line of directive.
10518 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
10519 cb_include): Similarly.
10520 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
10521 Similarly.
10522
10523 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10524
10525 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
10526 comment.
10527
10528 Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
10529
10530 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
10531
10532 * reload1.c (fixup_abnormal_edges): New static function.
10533 (reload): Use it.
10534
10535 * flow.c (need_fake_edge_p): New function.
10536 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
10537 avoid call insn to be very last insn in the insn stream.
10538
10539 * profile.c (branch_prob): Call flow_call_edges_add instead of
10540 doing that by hand; cleanup cfg to re-merge basic blocks once
10541 we are done.
10542
10543 2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
10544
10545 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
10546 are also on line-map.h.
10547 * cppfiles.c (stack_include_file): Update.
10548 * cpphash.h (struct cpp_buffer): New member return_at_eof.
10549 (_cpp_pop_buffer): New.
10550 * cppinit.c (cpp_destroy, cpp_finish): Update.
10551 (do_includes): Mark each buffer to return at EOF.
10552 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
10553 return as requested.
10554 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
10555 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
10556 * cpplib.h (cpp_pop_buffer): Remove.
10557 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
10558 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
10559 buffers.
10560 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
10561 to pop buffers.
10562 (do_preprocessing): Update.
10563 * fix-header.c (read_scan_file): Update. No need to pop buffers.
10564 * c-parse.in (_yylex): Similarly.
10565 * scan-decls.c (scan_decls): Similarly.
10566 * line-map.h: Update comments.
10567
10568 * objc/Make-lang.in (objc-act.o): Update dependencies.
10569
10570 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10571
10572 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
10573 and soft register for operand 0.
10574 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
10575
10576 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10577
10578 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
10579 register for operand 0.
10580 ("bitcmpqi_z_used"): Allow memory for operand 0.
10581 (split "bitcmpqi"): New split to handle address reg as operand 1.
10582
10583 2001-08-04 Andreas Jaeger <aj@suse.de>
10584
10585 * gcse.c: Revert Daniel's last patch.
10586
10587 2001-08-03 Zack Weinberg <zackw@stanford.edu>
10588
10589 * sparc-protos.h: Add prototypes for fp_zero_operand and
10590 reg_or_0_operand.
10591 * sh-protos.h: Add prototype for fpul_operand.
10592
10593 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10594
10595 * doc/extend.texi (Other Builtins): Fix typo in last change.
10596
10597 2001-08-03 Richard Henderson <rth@redhat.com>
10598
10599 * target.h (gcc_target): Add asm_out.named_section,
10600 section_type_flags, have_named_sections.
10601 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
10602 (TARGET_HAVE_NAMED_SECTIONS): New.
10603 (TARGET_SECTION_TYPE_FLAGS): New.
10604
10605 * Makefile.in (toplev.o): Depend on TARGET_H.
10606 (varasm.o, dbxout.o): Likewise.
10607 * c-common.c (decl_attributes): Check targetm.have_named_sections
10608 instead of ifdef ASM_OUTPUT_SECTION_NAME.
10609 * dbxout.c (dbxout_function_decl): Likewise.
10610 (dbxout_function_end): Likewise.
10611 * toplev.c (compile_file): Likewise.
10612 * varasm.c (exception_section): Likewise.
10613 * cp/decl2.c (finish_objects): Likewise.
10614
10615 * defaults.h (EH_FRAME_SECTION): Remove.
10616 (EH_FRAME_SECTION_ASM_OP): Remove.
10617 (EH_FRAME_SECTION_NAME): New.
10618 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
10619 (UNIQUE_SECTION_P): Remove.
10620 * dwarf2out.c (SECTION_FORMAT): Remove.
10621 (ASM_OUTPUT_SECTION): Remove.
10622 (output_call_frame_info): Use named_section_flags.
10623 (output_comp_unit, dwarf2out_start_source_file): Likewise.
10624 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
10625 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
10626 * varasm.c (in_eh_frame, eh_frame_section): Remove.
10627 (named_section_flags): New.
10628 (named_section): Use it and targetm.section_type_flags.
10629 (resolve_unique_section): New.
10630 (assemble_start_function): Use it.
10631 (asm_emit_uninitialised, assemble_variable): Likewise.
10632 (default_section_type_flags): New.
10633 (default_no_named_section, default_elf_asm_named_section): New.
10634 (default_coff_asm_named_section, default_pe_asm_named_section): New.
10635 * output.h: Update varasm.c decls.
10636 (SECTION_*): New flags.
10637
10638 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
10639 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
10640
10641 * config/elfos.h (UNIQUE_SECTION_P): Remove.
10642 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
10643 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
10644 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10645 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
10646 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
10647 * config/mips/elf.h, config/mips/elf64.h: Likewise.
10648 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
10649 * config/pa/pa64-hpux.h,
10650
10651 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
10652 (TARGET_ASM_NAMED_SECTION): New.
10653 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
10654 * config/alpha/vms.h, config/arm/coff.h: Likewise.
10655 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
10656 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
10657 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
10658 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
10659 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
10660 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
10661 * config/i386/sco5.h, config/i386/win32.h: Likewise.
10662 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
10663 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
10664 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
10665 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
10666 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
10667 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
10668 * config/sparc/sysv4.h: Likewise.
10669
10670 * config/nextstep.h: Error until named sections implemented.
10671
10672 * config/a29k/a29k.c (a29k_asm_named_section): New.
10673 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
10674 (vms_section_type_flags, vms_asm_named_section): New.
10675 * config/arm/arm.c (arm_elf_asm_named_section): New.
10676 * config/avr/avr.c (asm_output_section_name): Remove.
10677 * config/avr/avr-protos.h: Update.
10678 * config/c4x/c4x.c (c4x_asm_named_section): New.
10679 * config/h8300/h8300.c (h8300_asm_named_section): New.
10680 * config/i386/i386.c (sco_asm_named_section): New.
10681 * config/i386/winnt.c (SECTION_PE_SHARED): New.
10682 (i386_pe_section_type_flags): New.
10683 (i386_pe_asm_named_section): New.
10684 * config/i386/i386-protos.h: Update.
10685 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
10686 * config/mcore/mcore.c (mcore_asm_named_section): New.
10687 * config/mips/mips.c (iris6_asm_named_section): New.
10688 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
10689 instead of UNIQUE_SECTION_P.
10690 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
10691 (xcoff_asm_named_section): New.
10692 * config/sh/sh.c (sh_asm_named_section): New.
10693 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
10694
10695 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
10696 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
10697 (EH_FRAME_SECTION_NAME): New.
10698 (EXCEPTION_SECTION): New.
10699 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
10700 (DEBUG_*_SECTION): Remove.
10701 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
10702 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
10703 (EH_FRAME_SECTION_ASM_OP): Remove.
10704
10705 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
10706 (ASM_OUTPUT_SECTION_NAME): Remove.
10707 (TARGET_ASM_NAMED_SECTION): New.
10708 (TARGET_HAVE_NAMED_SECTIONS): New.
10709 (TARGET_SECTION_TYPE_FLAGS): New.
10710 (EH_FRAME_SECTION_ASM_OP): Remove.
10711 (EH_FRAME_SECTION_NAME): New.
10712
10713 2001-08-03 Zack Weinberg <zackw@stanford.edu>
10714
10715 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
10716 for complex expressions when cfun == 0.
10717 * doc/extend.texi: Document that __builtin_constant_p can be
10718 used in data initializers as well as functions.
10719
10720 2001-08-03 Alexandre Oliva <aoliva@redhat.com>
10721
10722 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
10723 variable I locally, instead of expecting a declaration in the
10724 calling context.
10725
10726 2001-08-03 Richard Henderson <rth@redhat.com>
10727
10728 * except.c (collect_one_action_chain): Add an explicit cleanup
10729 action if regions surrounding a catch were encoded entirely
10730 within the call-site entry.
10731
10732 2001-08-03 Richard Henderson <rth@redhat.com>
10733
10734 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
10735 don't take REGNO of a non-register.
10736
10737 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10738
10739 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
10740 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
10741 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
10742 (__gthread_mutex_init_function): New function for mutex initialization.
10743
10744 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
10745
10746 * Makefile.in: Revert screwed up commit.
10747
10748 2001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10749
10750 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
10751 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
10752 merged by linker script to get a final _exit().
10753 (__do_global_dtors): New for destructor handling in specific exit
10754 section.
10755 (__do_global_ctors): New for constructors in specific install section.
10756 (__map_data_section): Map data sections before running constructors.
10757 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
10758 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
10759 (DTORS_SECTION_ASM_OP): Likewise.
10760 (CTORS_SECTION_FUNCTION): Define to force a reference to
10761 __do_global_ctors.
10762 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
10763
10764 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
10765
10766 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
10767
10768 * Makefile.in: Add df.h to gcse.c dependencies.
10769
10770 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10771
10772 * varasm.c (output_constant_def_contents): Use for the length of a
10773 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
10774 depending on which is larger.
10775
10776 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
10777
10778 * gcse.c: Include df.h for use as a dataflow analyzer.
10779 Remove regvec.
10780 Declaration of reg_set_info: gone.
10781 New df_analyzer variable used by store motion.
10782 (reg_set_info): Deleted.
10783 (mark_mem_regs): New function, analyze regs used by a mem.
10784 (store_ops_ok): Use dataflow analyzer results to determine if
10785 necessary regs are changed in the block.
10786 (find_moveable_store): Remove check for symbol ref, we can handle
10787 much more complex expressions now.
10788 (compute_store_table): Remove most of the code, it's unnecessary
10789 now that the dataflow analyzer records the info for us.
10790 (store_killed_after): Add parameter to say whether to do the
10791 store_ops_okay test, used to speed up testing when we already know
10792 the answer, and just want to know if the store itself was killed.
10793 (build_store_vector): Largely rewritten to calculate the various
10794 vectors properly, and somewhat optimized.
10795 (store_motion): Init the df_analyzer, get REG_DEF chains.
10796 Also handle trapping expressions (since mems almost always trap)
10797 (simple_mem): Redefine what a simple mem is.
10798
10799 2001-08-03 DJ Delorie <dj@redhat.com>
10800
10801 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
10802 set from a constant part of the condition.
10803
10804 2001-08-01 Andrew Cagney <ac131313@redhat.com>
10805
10806 * mkdeps.c (deps_add_default_target): Make local variable
10807 ``start'' a const char pointer.
10808 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
10809
10810 2001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10811
10812 * doc/install.texi (Configuration): Fix markup.
10813 (Specific, i?86-*-udk): Likewise.
10814 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
10815 --with-gnu-ld.
10816 Document --enable-threads and --enable-libgcj status.
10817 (Specific, mips-sgi-irix*): Canonicalize triples.
10818 (Specific, mips-sgi-irix5): Warn about problems with this config.
10819 Mention required GNU as patch.
10820 Native assembler problems are fixed.
10821 (Specific, mips-sgi-irix6): Update O32 ABI support status.
10822 Document --enable-threads and --enable-libgcj status.
10823
10824 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
10825
10826 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
10827 of mkinstalldirs.
10828
10829 2001-08-03 Richard Henderson <rth@redhat.com>
10830
10831 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
10832 constant data.
10833
10834 2001-08-03 Richard Henderson <rth@redhat.com>
10835
10836 * rtlanal.c (find_first_parameter_load): Stop if we
10837 reach a CODE_LABEL at BOUNDARY.
10838
10839 2001-08-03 Richard Henderson <rth@redhat.com>
10840
10841 * config/alpha/alpha.md (force_movdi): New insn.
10842 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
10843 Tweek FRP marking of VMS prologue insns.
10844 * config/alpha/vms.h (EPILOGUE_USES): New.
10845
10846 2001-08-02 Richard Henderson <rth@redhat.com>
10847
10848 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
10849
10850 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
10851
10852 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
10853 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
10854 config/convex/convex.h, config/d30v/d30v.c,
10855 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10856 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
10857 config/mips/mips.h, config/mn10200/mn10200.h,
10858 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
10859 config/v850/v850.h, config/vax/openbsd.h,
10860 config/vax/openbsd1.h, config/vax/ultrix.h,
10861 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
10862 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
10863 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
10864 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
10865 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
10866 in comments and documentation.
10867
10868 2001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
10869
10870 * line-map.c: New.
10871 * line-map.h: New.
10872 * Makefile.in (line-map.o): New.
10873 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
10874 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
10875 * cpperror.c (print_containing_files): Similarly.
10876 (print_location): Update. Don't output a space before _Pragma.
10877 * cppfiles.c (stack_include_file): Set to line 1 immediately.
10878 (stack_include_filee, cpp_make_system_header): Update.
10879 (_cpp_execute_include): Get logical line number right for calling
10880 as-yet-unterminated #include.
10881 * cpphash.h (struct cpp_reader): Add line_maps.
10882 (_cpp_do_file_change): Update.
10883 * cppinit.c (cpp_create_reader): Initialize line maps.
10884 (cpp_destroy): Destroy line maps.
10885 (cpp_start_read): Get logical line number right.
10886 * cpplex.c (parse_string): Only warn once for multi-line strings.
10887 Use boolean variable for null warning.
10888 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
10889 already.
10890 (do_include_common): End the directive early.
10891 (do_line): Don't warn about out-of-range lines in preprocessed
10892 source. Update. Remove unused variables.
10893 (_cpp_do_file_change): Update for new line mapping.
10894 (pragma_cb): New typedef.
10895 (cpp_register_pragma): Stop looking ahead before calling the
10896 handler. Clean up.
10897 (do_pragma_system_header): End directive early.
10898 (cpp_get_line_maps): New.
10899 (cpp_pop_buffer): Fudge logical line. Update.
10900 * cpplib.h: Include line-map.h
10901 (enum cpp_fc_reason): Remove.
10902 (struct cpp_file_change): Update.
10903 (cpp_get_line_maps): New.
10904 * cppmain.c (struct_printer): New member map.
10905 (cb_file_change): Update for new mappings.
10906 * fix-header.c (cb_file_change): Similarly.
10907
10908 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
10909
10910 * Makefile.in (libgcc.mk): Define mkinstalldirs.
10911 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
10912
10913 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
10914
10915 * config/vax/vax.c: include expr.h.
10916
10917 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
10918
10919 * Makefile.in ($(srcdir)/configure): Only rebuild in
10920 maintainer mode.
10921 ($(srcdir)/config.in): Only define in maintainer mode.
10922 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
10923
10924 2001-08-02 David Edelsohn <edelsohn@gnu.org>
10925
10926 * doc/install.texi (Install GCC: Binaries): Update Bull info.
10927
10928 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10929
10930 * gcc.c (set_collect_gcc_options): New function, split out from
10931 main.
10932 Ignore elided switches.
10933 (do_spec_1): Invoke before executing command.
10934 (set_input): Export.
10935 Move declaration ...
10936 * gcc.h (set_input): ... here.
10937 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
10938 file.
10939
10940 2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
10941
10942 Kill -fhonor-std.
10943 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
10944 interaction.
10945 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
10946
10947 2001-08-02 Richard Sandiford <rsandifo@redhat.com>
10948
10949 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
10950 for the unnamed instructions it expands to.
10951
10952 2001-08-02 Richard Henderson <rth@redhat.com>
10953
10954 * regclass.c (call_really_used_regs): Conditionally define.
10955 (init_reg_sets_1): Don't use it if not defined.
10956 (fix_register): Similarly, don't set it.
10957
10958 2001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10959
10960 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
10961 Correct comment that had been missed in the previous change.
10962
10963 2001-08-01 Stan Shebs <shebs@apple.com>
10964
10965 * config/darwin.c (machopic_stub_name): Try matching by name.
10966 (update_stubs): New function.
10967 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
10968 unconditionally.
10969
10970 2001-08-01 Richard Henderson <rth@redhat.com>
10971
10972 * except.c (output_function_exception_table): Use assemble_align.
10973 * varasm.c (assemble_eh_label): Remove.
10974 (assemble_eh_align, assemble_eh_integer): Remove.
10975
10976 2001-08-01 Robert Lipe <robertl@caldera.com>
10977
10978 * dwarfout.c: Remove reference to README.DWARF.
10979
10980 2001-08-01 Andrew MacLeod <amacleod@redhat.com>
10981
10982 * regclass.c (call_really_used_regs): New array for registers which
10983 are actually used by a call.
10984 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
10985 new array.
10986 (fix_register): Set call_really_used too.
10987 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
10988 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
10989
10990 2001-08-01 Richard Henderson <rth@redhat.com>
10991
10992 * read-rtl.c (read_name): Consider \r whitespace.
10993
10994 2001-07-11 Andrew Cagney <ac131313@redhat.com>
10995
10996 * config.gcc: Recognize powerpc-*-netbsd*.
10997
10998 * doc/install.texi (Host/target specific installation notes for
10999 GCC): Mention powerpc-*-netbsd*.
11000
11001 * config/rs6000/netbsd.h: New file.
11002 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11003 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11004 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11005 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11006 (TARGET_VERSION): Redefine.
11007
11008 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11009 mcall-netbsd as a match for mcall-sysv.
11010 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11011 (ncrti.S, ncrtn.S): New targets.
11012 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
11013
11014 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11015 "netbsd' as a V4 ABI.
11016 (ASM_SPEC): Check for -mcall-netbsd.
11017 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11018 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11019 (LIB_SPEC, ENDFILE_SPEC): Ditto.
11020 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11021 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11022 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11023 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11024
11025 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11026 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11027
11028 2001-08-01 Mark Kettenis <kettenis@gnu.org>
11029
11030 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11031 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11032 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11033 including "unwind-pe.h".
11034
11035 Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
11036
11037 * rs6000.md (define_splits): Kill unused constraints.
11038
11039 Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
11040 Jan Hubicka <jh@suse.cz>
11041
11042 * function.c (thread_prologue_and_epilogue_insns): Kill code
11043 dealing with non-existent CFG.
11044
11045 2001-08-01 Kazu Hirata <kazu@hxi.com>
11046
11047 * alias.c: Fix comment formatting.
11048 * bitmap.c: Likewise.
11049 * builtins.c: Likewise.
11050 * calls.c: Likewise.
11051 * c-common.c: Likewise.
11052 * c-decl.c: Likewise.
11053 * c-dump.c: Likewise.
11054 * c-lex.c: Likewise.
11055 * collect2.c: Likewise.
11056 * combine.c: Likewise.
11057 * conflict.c: Likewise.
11058 * cppfiles.c: Likewise.
11059 * cppinit.c: Likewise.
11060 * cpplex.c: Likewise.
11061 * cpplib.c: Likewise.
11062 * cppmacro.c: Likewise.
11063 * cppspec.c: Likewise.
11064 * c-pragma.c: Likewise.
11065 * crtstuff.c: Likewise.
11066 * cse.c: Likewise.
11067 * cselib.c: Likewise.
11068 * c-semantics.c: Likewise.
11069 * c-typeck.c: Likewise.
11070
11071 2001-08-01 H.J. Lu <hjl@gnu.org>
11072
11073 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11074
11075 2001-08-01 H.J. Lu <hjl@gnu.org>
11076
11077 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11078
11079 2001-08-01 Ziemowit Laski <zlaski@apple.com>
11080
11081 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11082 contextualizing Objective-C class name lookup by the lexer.
11083 (typespec_reserved_nonattr): Disable ObjC class name lookup after
11084 seeing a TYPESPEC.
11085 (protocoldef): Add support for forward @protocol declarations.
11086 (yylexname): Suppress ObjC class name lookup in certain contexts;
11087 re-enable after lookup is complete.
11088 (_yylex): Re-enable ObjC class name lookup when certain
11089 punctuation marks are seen.
11090
11091 * objc/objc-act.c (check_protocol_recursively): New function used
11092 for finding circular dependencies in protocols.
11093 (objc_declare_protocols): New function for handling forward
11094 @protocol declarations.
11095 (receiver_is_class_object): Detect the case when 'self' is used
11096 inside of a class method.
11097 (build_message_expr): Issue a warning if class method is desired
11098 but instance method is found instead.
11099 (conforms_to_protocol): Streamline.
11100 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11101 protocol Foo, even if 'Bar foo' does not.
11102 (check_protocols): Streamline.
11103 (start_protocol): Add checks for circular and duplicate protocol
11104 definitions.
11105 (encode_aggregate_within): For typedefs of structs, encode the
11106 underlying struct.
11107 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11108 (objc_declare_protocols): New prototype.
11109
11110 2001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11111
11112 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11113 * cpplex.c (handle_newline): Update prototype. Maintain logical
11114 line number.
11115 (skip_escaped_newlines, skip_block_comment, parse_string):
11116 Update accordingly.
11117 (_cpp_lex_token): Update, and store token position within the token.
11118 * cpplib.h (struct cpp_token): Add line and column entries.
11119 * cppmacro.c (replace_args): Position stringified tokens correctly.
11120
11121 2001-08-01 Andreas Jaeger <aj@suse.de>
11122
11123 * basic-block.h: Add prototype for last_loop_beg_note.
11124
11125 2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
11126
11127 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11128 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11129 comment.
11130 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11131 while handling WITH_CLEANUP_EXPR node. Use second operand calling
11132 expand_decl_cleanup.
11133 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11134 the first RTX.
11135 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11136 operand while calling simple_cst_equal.
11137 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11138 operand is the cleanup expression, the third is the RTL_EXPR.
11139 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
11140
11141 2001-07-31 Jeff Sturm <jsturm@one-point.com>
11142
11143 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
11144
11145 2001-07-31 matthew green <mrg@eterna.com.au>
11146
11147 * config.gcc (i386-*-netbsdelf): New description.
11148 * config/i386/netbsd-elf.h: New file.
11149
11150 2001-07-30 Geoffrey Keating <geoffk@redhat.com>
11151
11152 * loop.c (check_dbra_loop): Use single_set to compute
11153 jump_label.
11154
11155 2001-07-31 Daniel Berlin <dan@cgsoftware.com>
11156
11157 PowerPC reorg and support for powerpc64-*-linux*.
11158
11159 Also fixes emitting of constants on 32 bit and 64 bit
11160 platforms.
11161
11162 * config.gcc: powerpc64-*-linux* is a new target.
11163 Things that needed aix.h now also include xcoff.h
11164
11165 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
11166 xcoff.h.
11167 Move AIX specific stuff into aix.h.
11168 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11169 with more than just XCOFF now.
11170 (SET_ASM_OP): Remove, now defined where needed.
11171 (FUNCTION_PROLOGUE): New macro definition.
11172 (FUNCTION_EPILOGUE): New macro definition.
11173 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
11174
11175 * config/rs6000/xcoff.h: New file.
11176
11177 * config/rs6000/linux64.h: New file.
11178
11179 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
11180
11181 2001-07-31 Alan Modra <amodra@bigpond.net.au>
11182
11183 * rs6000.c (print_operand_address): Handle ELF syntax.
11184 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
11185 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11186 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11187
11188 2001-07-31 David Edelsohn <edelsohn@gnu.org>
11189
11190 * rs6000.c (rs6000_override_options): Only disable
11191 flag_function_sections for XCOFF.
11192 (exact_log2_cint_operand): New predicate.
11193 (reg_or_{add,sub}_cint64_operand): New predicates.
11194 (add_operand): Compare CONST_INT with fewer function calls.
11195 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11196 (print_operand, case 'p'): Ensure positive operand.
11197 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11198 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11199 (PREDICATE_CODES): Add new predicates.
11200 * rs6000.md (addsi3): Split 32-bit constants more correctly.
11201 (divsi3, modsi3): Ensure positive power-of-2.
11202 (adddi3): Use new predicate. Split 32-bit constants more
11203 correctly. Re-arrange splitter to handle any constant.
11204 (subdi3): Use new predicate.
11205 (divdi3, moddi3): Ensure positive power-of-2.
11206 (movdi): Use rs6000_emit_set_const.
11207 (load_toc_v4_pic_di): Delete.
11208
11209 2001-07-31 Graham Stott <grahams@redhat.com>
11210
11211 * function.c (pad_below): Revert 2001-07-26 patch.
11212
11213 Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
11214
11215 * reg-stack (convert_regs_1): Fix best edge condition.
11216
11217 Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
11218
11219 * jump.c (duplicate_loop_exit_test): Better test for jumps
11220 entering the loop; create loop pre_header.
11221
11222 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11223
11224 * doc/install.texi: Add s390 and s390x as new targets.
11225 * doc/invoke.texi: Add documentation of S/390 and zSeries
11226 target options.
11227 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
11228
11229 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
11230
11231 * config/m68k/m68k.md: Replace all general_operand with
11232 nonimmediate_operand for all destinations.
11233 * config/m68k/m68k.c (not_sp_operand): Likewise.
11234
11235 Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
11236
11237 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
11238
11239 2001-07-30 Richard Henderson <rth@redhat.com>
11240
11241 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11242 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11243
11244 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
11245
11246 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11247 Add missing doc strings
11248 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11249 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11250
11251 Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
11252
11253 * i386.c (ix86_output_main_function_alignment_hack): New function.
11254 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11255
11256 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11257 edges by EDGE_DFS_BACK flag.
11258 (dump_edge_info): Add dfs_back flag.
11259 * basic-block.h (EDGE_DFS_BACK): New constant.
11260 (mark_dfs_back_edges): Declare.
11261 * alias.c (loop_p): Remove.
11262 (mark_constant_function): Use mark_dfs_back_edges.
11263
11264 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11265 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
11266 (compensate_edge): Break out from ...
11267 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11268 (convert_regs_2): Set block_done once block is really done;
11269 Do updating of the predecessors counts.
11270
11271 * toplev.c (rest_of_compilation): Recompute block_for_insn
11272 before post-reload cfg_cleanup.
11273 * function.c (thread_prologue_epilogue_insns):
11274 Call set_block_for_new_insns when emitting prologue directly.
11275
11276 2001-07-30 Andreas Jaeger <aj@suse.de>
11277
11278 * jump.c: Add prototype for mark_modified_reg.
11279
11280 * cse.c (set_live_p): Add unused attribute.
11281
11282 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11283 overflow.
11284 (scan_for_source_files): Use long for count to avoid overflow.
11285 (output_data): Likewise.
11286 (output_data): Don't use string concatatenation to silence gcc
11287 -traditional.
11288
11289 * predict.c: Fix typos and grammar.
11290
11291 * gcse.c (insert_insn_end_bb): Remove unused variables.
11292
11293 Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
11294
11295 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11296 (attempt_auto_inc): LIkewise.
11297 (mark_used_reg): Likewise.
11298 (try_pre_increment_1): Likewise.
11299 * regclass.c (regclass): Likewise.
11300 * global.c (allocno_compare): Update comment; change scaling factor.
11301 * local-alloc.c (QTY_CMP_PRI): Likewise.
11302 * regs.h (REG_FREQ_FROM_BB): New.
11303 (REG_FREQ_MAX): Likewise.
11304
11305 2001-07-30 H.J. Lu <hjl@gnu.org>
11306
11307 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11308 -D_GNU_SOURCE.
11309
11310 2001-07-30 H.J. Lu (hjl@gnu.org)
11311
11312 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11313 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11314 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11315
11316 2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
11317
11318 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11319 as -mthumb-interwork when -mcpu=arm7 is specified.
11320
11321 Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
11322
11323 * predict.def (noreturn, loop branch, loop exit): Mark as first
11324 match heuristics.
11325
11326 Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
11327
11328 * combine.c (try_combine): Avoid barrier after noop jumps.
11329
11330 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11331
11332 * cpphash.h (struct cpp_reader): Remove import_warning.
11333 * cpplib.c (skip_rest_of_line): Don't bother turning off
11334 macro expansion.
11335 (parse_include): Move include handling to...
11336 (do_include_common): ... here. Move import warning from...
11337 (do_import): ... here.
11338 (do_pragma_poison): Don't do a callback for poison identifiers.
11339 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11340 * cppmain.c (setup_callbacks): Similarly.
11341
11342 Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
11343
11344 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11345 handle multiple sets.
11346 * except.c (sjlj_mark_call_sites): .... here.
11347 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11348
11349 Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
11350
11351 Suggested by Richard Henderson and Richard Kenner:
11352 * combine.c (recog_for_combine): Use the fake recog
11353 only if instruction does not match.
11354 * rtl.h (NOOP_MOVE_INSN_CODE): New.
11355 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11356
11357 * combine.c (try_combine): Discover noop jump as direct jump.
11358
11359 2001-07-29 Daniel Berlin <dan@cgsoftware.com>
11360
11361 * df.c (df_rd_global_compute): Add successors to worklist, not
11362 current item.
11363 (df_ru_global_compute): Ditto.
11364
11365 2001-07-27 Daniel Berlin <dan@cgsoftware.com>
11366
11367 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11368 increment REG_N_SETS.
11369
11370 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
11371
11372 * sbitmap.h: New prototype for sbitmap_a_xor_b.
11373
11374 * sbitmap.c (sbitmap_a_xor_b): New function.
11375 ifdef the basic block stuff on IN_GCC.
11376
11377 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11378
11379 * cppexp.c (parse_defined): Always record the macro name.
11380 (lex): Don't worry about identifiers, or special-case
11381 CPP_NOT here.
11382 (_cpp_parse_expr): Figure out at the end of the routine
11383 whether we saw a valid !defined() expression.
11384 * cppfiles.c (stack_include_file): Update for mi_valid.
11385 (_cpp_pop_file_buffer): Similarly.
11386 * cpplex.c (_cpp_lex_token): Similarly.
11387 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11388 mi_if_not_defined, mi_lexed): Remove.
11389 (mi_valid): New.
11390 * cpplib.c (do_if): Simplify.
11391 (do_endif, push_conditional, _cpp_handle_directive): Update
11392 for renaming of mi_state to mi_valid.
11393 doc:
11394 * cpp.texi: Add index entries for digraphs, and add comment
11395 that C++ refers to them as alternative tokens.
11396
11397 Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
11398
11399 * basic-block.h (CLEANUP_PRE_LOOP): New.
11400 * except.c (finish_eh_generation): Update call of cleanup_cfg.
11401 * sibcall.c (optimize_sibling_calls): Likewise.
11402 * toplev.c (rest_of_compilation): Likewise.
11403 * flow.c (try_forward_edges): Take argument MODE;
11404 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11405 (try_optimize_cfg): Update call of try_forward_edges.
11406
11407 Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
11408 Jan Hubicka <jh@suse.cz>
11409
11410 * (validate_replace_rtx_1): Fix simplification of MINUS.
11411
11412 2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
11413
11414 PR preprocessor/3669
11415 * cppinit.c (init_dependency_output): Turn off dump requests
11416 if sending dependencies to stdout.
11417
11418 2001-07-28 Richard Henderson <rth@redhat.com>
11419
11420 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11421 not optimizing.
11422
11423 2001-07-28 Golubev I. N. <gin@mo.msk.ru>
11424
11425 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11426
11427 2001-07-28 Kazu Hirata <kazu@hxi.com>
11428
11429 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11430 is VAR_DECL first to prevent an ICE.
11431
11432 2001-07-28 Richard Henderson <rth@redhat.com>
11433
11434 * varasm.c (immed_real_const_1): Don't elide special cases for
11435 nested functions.
11436 (clear_const_double_mem): Clear const_tiny_rtx too.
11437
11438 2001-07-28 Richard Henderson <rth@redhat.com>
11439
11440 * dwarf2out.c (dw_val_class_offset): New.
11441 (struct dw_ranges_struct, dw_ranges_ref): New.
11442 (ranges_table, ranges_table_allocated): New.
11443 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11444 (add_AT_offset, add_ranges, output_ranges): New.
11445 (print_die, output_die): Handle dw_val_class_offset.
11446 (attr_checksum, size_of_die, value_format): Likewise.
11447 (gen_lexical_block_die): Handle non-contiguous blocks.
11448 (gen_block_die): Likewise.
11449 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11450 if needed. Dump the ranges table.
11451 * final.c (final_start_function): Remove unnecessary notes and
11452 rebuild the block tree before numbering the blocks.
11453 * function.c (reorder_blocks_0): Walk the existing block tree
11454 to unmark all blocks.
11455 (reorder_blocks_1): Create block fragments when duplicate block
11456 notes are seen.
11457 (reorder_fix_fragments): New.
11458 (reorder_blocks): Call it.
11459 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11460
11461 2001-07-28 Richard Henderson <rth@redhat.com>
11462
11463 * emit-rtl.c (adjust_address): Make a copy of the memory address.
11464
11465 2001-07-28 Richard Henderson <rth@redhat.com>
11466
11467 * flow.c (add_to_mem_set_list): New function.
11468 (init_propagate_block_info): Use it.
11469 (mark_set_1): Likewise.
11470 (insn_dead_p): Canonicalize memory address for dead store
11471 comparison. Allow wider mode stores to kill narrower mode stores.
11472 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11473 (invalidate_mems_from_set): Don't handle MEMs.
11474
11475 2001-07-28 Kazu Hirata <kazu@hxi.com>
11476
11477 * config/h8300/h8300.h: Fix formatting.
11478
11479 Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
11480
11481 * basic-block.h (EDGE_FREQUENCY): New macro.
11482 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11483 for new BB/edges.
11484 * flow.c (find_sub_basic_blocks): Likewise.
11485 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11486 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11487
11488 * predict.c (DEF_PREDICTOR): New argument FLAGS.
11489 (HITRATE): New macro.
11490 (PRED_FLAG_FIRST_MATCH): New constant.
11491 (predictor_info): New field flgags.
11492 (combine_predictions_for_insn): Use DS theory to combine
11493 probabilities; set the edge probabilities when finished.
11494 (estimate_probability): Avoid duplicated matches
11495 of LOOP_BRANCH heuristics for nested loops; update comment.
11496 * predict.def: Add flags for each prediction, set probabilities
11497 according to B&L paper.
11498 * predict.h (DEF_PREDICTOR): New argument FLAGS.
11499
11500 * profile.c (compute_branch_probabilities): Cleanup way the edge
11501 probabilities are computed and REG_BR_PROB notes are dropped; if
11502 values does not match, emit error.
11503 (init_branch_prob): Do error instead of warning when profile driven
11504 feedback is missing or corrupt.
11505
11506 2001-07-27 DJ Delorie <dj@redhat.com>
11507
11508 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
11509 against a constant, try to adjust the compare to have the desired
11510 constant in it so that min/max optimizations happen more often.
11511
11512 Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
11513
11514 * flow.c (last_loop_beg_note): New function.
11515 (redirect_edge_and_branch): Use it.
11516 (split_edge): Likewise.
11517
11518 * alias.c (loop_p): Avoid uninitialized memory access.
11519
11520 * flow.c (try_forward_edges): Avoid accessing freed memory.
11521
11522 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
11523 variable access.
11524
11525 2001-07-26 Andrew Haley <aph@redhat.com>
11526 Joern Rennecke <amylaar@redhat.com>
11527
11528 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
11529 (SUBTARGET_CPP_ENDIAN_SPEC): New.
11530 (SUBTARGET_CPP_SPEC): New.
11531 (CPP_SPEC): Remove.
11532 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
11533 (SUBTARGET_CPP_PTR_SPEC): New.
11534 (CPP_DEFAULT_CPU_SPEC): New.
11535 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
11536 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11537 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
11538 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
11539 (SUBTARGET_CPP_SPEC): Define as an empty string.
11540
11541 2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11542
11543 * doc/install.texi (Configuration): Properly link the host
11544 specific instructions also when generating HTML.
11545
11546 Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
11547
11548 * flow.c (redirect_edge_and_branch_force): Test
11549 target->global_live_at_start.
11550
11551 2001-07-26 Richard Henderson <rth@redhat.com>
11552
11553 * simplify-rtx.c (avoid_constant_pool_reference): Export.
11554 * rtl.h (avoid_constant_pool_reference): Declare it.
11555 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
11556 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
11557
11558 Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
11559
11560 * rtl.h (cleanup_barriers): Declare.
11561 * jump.c (cleanup_barriers): New function.
11562 * toplev.c (rest_of_compilation): Call cleanup_barriers
11563 before loop optimizer and after bb_reorder.
11564
11565 * flow.c (back_edge_of_syntactic_loop_p): New.
11566 (split_edge): Use it.
11567
11568 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11569
11570 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
11571
11572 Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
11573
11574 * cse.c (cse_process_notes): Replace any registers if the address
11575 remains valid.
11576
11577 Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
11578
11579 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
11580 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
11581 (propagate_block): Update prototype.
11582 * flow.c (update_life_info): Simplify the CFG and
11583 recalculate the global regs which are alive when
11584 removing dead code during a global update.
11585 (propagate_block): Return non-zero if an INSN is
11586 deleted.
11587
11588 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11589
11590 * Makefile.in (LIBICONV): Define.
11591
11592 2001-07-26 Catherine Moore <clm@redhat.com>
11593
11594 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
11595 of conditional to avoid tree checking errors.
11596
11597 2001-07-26 Kazu Hirata <kazu@hxi.com>
11598
11599 * regmove.c (regmove_optimize): Don't replace a reg with
11600 another reg of a different mode.
11601
11602 2001-07-26 Andrew MacLeod <amacleod@redhat.com>
11603
11604 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
11605 limit length of dependency flush list.
11606 * params.h (MAX_PENDING_LIST_LENGTH): Define.
11607 * sched-int.h (struct deps): Add pending_flush_length field.
11608 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
11609 has 1 element in it.
11610 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
11611 (sched_analyze): After a jump, if the pending memory flush list is too
11612 large, flush the pending lists.
11613 (init_deps): Initialize pending_flush_length to 0.
11614 * doc/invoke.texi (max_pending_list_length): Document parameter.
11615
11616 2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
11617
11618 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
11619 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
11620 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
11621
11622 2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11623
11624 * cpphash.h (struct_lexer_state): Delete was_skipping.
11625 Move skipping here from struct cpp_reader.
11626 * cpplex.c (parse_identifier): Update.
11627 (_cpp_lex_token): Don't skip tokens in a directive.
11628 * cpplib.c (struct if_stack): Update.
11629 (start_directive, end_directive): Don't change skipping state.
11630 (_cpp_handle_directive): Update.
11631 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
11632 (do_else, do_endif): Update; only check for excess tokens if not
11633 in a skipped conditional block.
11634 (push_conditional): Update for new struct if_stack.
11635
11636 2001-07-26 Graham Stott <grahams@redhat.com>
11637
11638 * function.c (locate_and_pad_parm): Also pad initial offset
11639 so that the total argument size also includes the padding.
11640
11641 2001-07-26 Graham Stott <grahams@redhat.com>
11642
11643 * gensupport.c (alter_output_for_insn): Correct enable checking failure
11644 change XSTR to XTMPL.
11645
11646 (process_one_cond_exec): Likewise
11647
11648 2001-07-25 Richard Henderson <rth@redhat.com>
11649
11650 * varasm.c (assemble_variable): Create DECL_RTL before setting
11651 TREE_ASM_WRITTEN.
11652
11653 Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
11654
11655 * predict.c (estimate_probability): Avoid duplicated predictions.
11656
11657 * loop.c (find_and_verify_loops): Grok multiple barriers.
11658
11659 Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11660
11661 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
11662
11663 * dbxout.c: Consistently use putc instead of fputc.
11664 (print_wide_int): New function; call instead of direct fprintf.
11665 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
11666 (dbxout_type_fields, dbxout_type_method_1): Likewise.
11667 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
11668 (print_int_cst_octal): Likewise.
11669 (print_octal): Show we wrote characters.
11670 (dbxout_type): Set have_used_extensions in more places.
11671
11672 2001-07-25 Catherine Moore <clm@redhat.com>
11673
11674 * config/v850/v850.c (v850_va_arg): Use addr
11675 instead of valist to build incr.
11676
11677 Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
11678
11679 * flow.c (delete_dead_jumptables): New function.
11680 (life_analyzis): Call it.
11681 * bb-reorder.c (skip_insns_after_block): Handle contradictory
11682 sequences.
11683
11684 2001-07-25 Richard Henderson <rth@redhat.com>
11685
11686 * except.c (reachable_handlers): Handle a region being removed
11687 out from under a RESX.
11688
11689 2001-07-25 Richard Henderson <rth@redhat.com>
11690
11691 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
11692 swap GE/GT if it is an fp comparison.
11693
11694 2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
11695
11696 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
11697 operands.
11698
11699 Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
11700
11701 * ssa.c (rename_insn_1): Do not wrap an assignment to a
11702 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
11703 glitch.
11704
11705 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
11706 throw an exception.
11707 (visit_expression): When attempting to simplify an expression,
11708 retrieve any modes for arguments before they are simplified
11709 to constants.
11710
11711 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
11712 Janis Johnson <janis@us.ibm.com>
11713
11714 * stmt.c (expand_goto): A nonlocal goto can be a call too.
11715 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
11716 pointer parameters to match documented usage of nonlocal_goto.
11717 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
11718 parameters to their correct order.
11719 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
11720 parameters to their correct order.
11721
11722 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
11723
11724 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
11725
11726 2001-07-25 Jan Hubicka <jh@suse.cz>
11727 Richard Henderson <rth@redhat.com>
11728
11729 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
11730 the sequence.
11731 (make_edges): New argument update_p; populate the edge cache if set.
11732 (find_basic_blocks): Update make_edges invocation.
11733
11734 2001-07-24 Joel Sherrill <joel@OARcorp.com>
11735
11736 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
11737
11738 2001-07-24 Joel Sherrill <joel@OARcorp.com>
11739
11740 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
11741 -Acpu and -Amachine.h.
11742 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
11743 Corrected header to say ELF not a.out.
11744 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
11745 when given -msoft-float.
11746
11747 2001-07-24 Joel Sherrill <joel@OARcorp.com>
11748
11749 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
11750 extra multilib parts like arm-elf.
11751 (i960-*-coff*, i960-*-rtems): Should not use collect2.
11752 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
11753 crtfini.o as extra multilib parts.
11754
11755 2001-07-24 Joel Sherrill <joel@OARcorp.com>
11756
11757 * configure.in: Add rtems as a supported thread model.
11758 * gthr-rtems.h: Add missing entry point __gthread_active_p.
11759 * configure: Rebuilt.
11760
11761 2001-07-24 Lars Brinkhoff <lars@nocrew.org>
11762
11763 * stor-layout.c (get_mode_alignment): make it work when
11764 BITS_PER_UNIT is not a power of two.
11765 * builtins.c (get_pointer_alignment): Likewise.
11766
11767 2001-07-24 Richard Henderson <rth@redhat.com>
11768
11769 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
11770 the retrieved constant into the expected mode.
11771
11772 Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
11773
11774 * flow.c (try_simplify_condjump): Avoid duplicated edges.
11775 (verify_flow_info): Check for duplicated edges; clarify
11776 error reporting.
11777
11778 * flow.c (block_label): Update basic_block_for_insn.
11779 (commit_edge_insertions): Call compute_bb_for_insn.
11780
11781 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
11782 returns too.
11783
11784 * flow.c (redirect_edge_and_branch,
11785 try_optimize_cfg): Use redirect_edge_succ_nodup
11786 (redirect_edge_succ_nodup): New.
11787 * basic_block.h (redirect_edge_succ_nodup): Declare.
11788
11789 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
11790 after gcse.
11791
11792 Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
11793
11794 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
11795 (try_crossjump_to_edge): Update commetns.
11796 (try_crossjump_bb): Likewise.
11797
11798 2001-07-24 Richard Henderson <rth@redhat.com>
11799
11800 * combine.c (distribute_notes): Move set of need_refresh
11801 for noop_move_p down to catch all cases.
11802
11803 Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
11804
11805 * recog.c (split_all_insns_noflow): New.
11806 * rtl.h (split_all_insns_noflow): Declare.
11807 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
11808 * m68hc11.c (m68hc11_reorg): Likewise.
11809 * sh.c (machine_dependent_reorg): Likewise.
11810 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
11811 call.
11812
11813 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
11814
11815 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
11816 (ashlsi3_n splitter): Likewise.
11817 (lshrsi3_n splitter): Likewise.
11818
11819 (GOTaddr2picreg): Make const SImode.
11820 (sym_label2reg): Likewise.
11821 (symGOT2reg): Likewise.
11822 (symGOTOFF2reg) Likewise.
11823
11824 (casesi_worker_0): Make unspec SImode.
11825
11826 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
11827
11828 * config/sh/sh.c (barrier_align): Check that an operand really is
11829 an insn before extracting its INSN_CODE.
11830
11831 2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
11832
11833 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
11834 dangling else.
11835
11836 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
11837 for SImode to prevent overflow.
11838
11839 2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11840
11841 * config/mips/irix6-libc-compat.c: New file.
11842 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
11843 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
11844 passing workaround.
11845
11846 2001-07-24 lars brinkhoff <lars@nocrew.org>
11847
11848 * rtl.texi (REG_POINTER): Document.
11849 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
11850 QFmode, HFmode, TQFmode, QCmode, and HCmode.
11851
11852 Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
11853
11854 * flow.c (delete_noop_moves): Do not confuse libcall regions.
11855
11856 2001-07-23 Richard Henderson <rth@redhat.com>
11857
11858 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
11859
11860 2001-07-23 Kazu Hirata <kazu@hxi.com>
11861
11862 * config/h8300/h8300-protos.h: Add a prototype for
11863 general_operand_dst_push.
11864 * config/h8300/h8300.c (general_operand_dst_push): New.
11865 * config/h8300/h8300.h (OK_FOR_T): New.
11866 (EXTRA_CONSTRAINT): Use it.
11867 * config/h8300/h8300.md (movqi_push): Remove and integrate into
11868 the existing movqi pattern.
11869 (movhi_push): Likewise.
11870
11871 * reload.c: Fix comment typos.
11872
11873 Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
11874
11875 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
11876
11877 2001-07-23 H.J. Lu (hjl@gnu.org)
11878
11879 * doc/extend.texi: Update __builtin_return_address and
11880 __builtin_frame_address.
11881
11882 2001-07-23 Richard Henderson <rth@redhat.com>
11883
11884 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
11885 before CSE.
11886 * config/i386/i386.md: New setcc+movzbl peephole2.
11887
11888 2001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11889
11890 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
11891 * objc/objc-act.c: Include debug.h.
11892 (synth_module_prologue): Save and restore debug hooks too.
11893
11894 2001-07-23 lars brinkhoff <lars@nocrew.org>
11895
11896 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
11897 and C4X_FLOAT_FORMAT.
11898 (BOOL_TYPE_SIZE): Document.
11899
11900 Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
11901
11902 * unroll.c (loop_iterations): Fix miscalculation of initial
11903 giv offset.
11904
11905 2001-07-13 Andrew Haley <aph@redhat.com>
11906
11907 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
11908 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
11909 * config/sh/sh.c (sh_can_redirect_branch): New function.
11910 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
11911 * reorg.c (steal_delay_list_from_target): Use
11912 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
11913
11914 Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
11915
11916 * flow.c (try_simplify_condjump): Unlink insn chain on
11917 fallthru edge; use can_fallthru.
11918
11919 Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
11920
11921 * basic-block.h (find_sub_basic_block): Declare.
11922 * flow.c (make_edges): New arguments MIN and MAX;
11923 (find_sub_basic_blocks): Revamp to use make_edges
11924 and purge_dead_edges.
11925 (find_basic_blocks): Update call of find_sub_basic_block.
11926
11927 * recog.c (split_all_insns): Always expect CFG to be consistent;
11928 call find_sub_basic_blocks in case something has changed.
11929 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
11930 has been built.
11931
11932 * basic-block.h (delete_noop_moves): Declare.
11933 * combine.c (combine_instructions): Call it.
11934 (recog_for_combine): Tolerate noop moves
11935 (distribute_notes): Force refresh when register dies at noop move.
11936 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
11937 too.
11938 (life_analysis): Update delete_noop_moves call.
11939 (set_noop_p): Move too ...
11940 * rtlanal.c (noop_move_p): ... here.
11941 * rtl.h (noop_move_p): Declare.
11942
11943 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
11944 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
11945 after combine.
11946 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
11947 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
11948
11949 2001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
11950
11951 * reload.c (push_reload): Fix typo in comment.
11952 (find_reloads_address): Ditto.
11953 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
11954
11955 2001-07-22 Richard Henderson <rth@redhat.com>
11956
11957 * flow.c: Grammar check and clarify a lot of comments.
11958 (try_simplify_condjump): Rename variables to be clearer.
11959 (try_forward_edges): Skip complex and fallthru edges.
11960 Rearrange tests to avoid duplicate checks.
11961 (flow_find_cross_jump): Likewise.
11962 (outgoing_edges_match): Allow match if neither branch has
11963 probability data. Loosen probability match to 5%.
11964 (try_crossjump_to_edge): Hoist repeated indirection into
11965 local variables.
11966 (try_crossjump_bb): Don't check complex edges. Eliminate
11967 redundant crossjump tests.
11968 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
11969 checks before more expensive checks.
11970
11971 2001-07-22 Richard Henderson <rth@redhat.com>
11972
11973 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
11974 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
11975 arguments.
11976
11977 2001-07-22 Richard Henderson <rth@redhat.com>
11978
11979 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
11980 (const_sint32_operand): Likewise.
11981 * m68k.md (anon mulsi pattern): Use const_int_operand not
11982 const_sint32_operand.
11983 (umulsi3_highpart): Zero extend a constant input.
11984 (smulsi3_highpart): Don't bother checking SImode constant.
11985 (const_umulsi3_highpart): Give op3 DImode.
11986 (const_smulsi3_highpart): Likewise.
11987
11988 2001-07-22 Richard Henderson <rth@redhat.com>
11989
11990 * flow.c (split_block): Make sure bb_note is included in the
11991 new block when splitting before a label.
11992
11993 Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
11994
11995 * basic-block.h (redirect_edge_and_branch_force,
11996 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
11997 * flow.c (redirect_edge_and_branch_force,
11998 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
11999 (redirect_edge_and_branch_force): Fix copying of lifeness information.
12000 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
12001 * ifcvt.c (dead_or_predictable): Take BB as an new destination
12002 instead of label; update CFG after transformation.
12003 (find_if_case_1): Update call, use redirect_edge_and_branch_force
12004 for finishing the transformation; handle even case where ELSE
12005 does not follow THEN.
12006 (find_if_case_2): Update call of dead_or_predictable; simplify
12007 CFG update.
12008
12009 * emit-rtl.c (split_branch_probability): New global variable.
12010 (try_split): Take care to set split_branch_probability and
12011 create REG_BR_PROB note for new jump insns.
12012 * md.texi (define_split): Document new feature.
12013
12014 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12015
12016 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
12017
12018 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12019 (asm_out_file): Remove redundant declaration.
12020 (assemble_asm): Remove old #if 0 block.
12021 (assemble_variable): Remove end of function; debug output is
12022 now handled with global_decl. Remove old #if 0 block. Update.
12023 Remove saved_in_section and associated no-op code.
12024 * Makefile.in (varasm.o): Correct dependencies.
12025
12026 Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
12027
12028 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12029 the definition in defaults.h.
12030
12031 Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
12032
12033 * jump.c: Update comments.
12034 (delete_barrier_successors, delete_unreferenced_labels,
12035 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12036 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12037 jump_optimize, jump_optimize_minimal): Kill.
12038 (rebuild_jump_labels): Move code from jump_optimize_1.
12039 (purge_line_number_notes): Likewise.
12040 (copy_loop_headers): Likewise.
12041 * reg-stack.c: Update comment.
12042 * stmt.c: Likewise.
12043 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12044 JUMP_AFTER_REGSCAN): Kill.
12045 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12046 purge_line_number_notes and copy_loop_headers.
12047
12048 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
12049 Richard Henderson <rth@redhat.com>
12050
12051 * dbxout.c (dbxout_global_decl): New.
12052 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12053 * sdbout.c (sdbout_finish): New.
12054 (sdbout_debug_hooks): Use it, add comments.
12055 (sdbout_global_decl): Defer initialised public vars to
12056 sdbout_finish.
12057 * varasm.c (assemble_variable): Don't output debug information
12058 for file-scope variables.
12059
12060 2001-07-22 Richard Henderson <rth@redhat.com>
12061
12062 * config/alpha/alpha.c (get_trap_mode_suffix): New.
12063 (get_round_mode_suffix): New.
12064 (print_operand): Use them for [/]. Remove support for [&'`()+].
12065 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12066 * config/alpha/alpha.md (attr round_suffix): New.
12067 (attr trap_suffix): New.
12068 (all insns): Set them appropriately. Use %/ instead of the
12069 myriad punctuators.
12070
12071 2001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12072
12073 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12074
12075 2001-07-22 Richard Henderson <rth@redhat.com>
12076
12077 * regrename.c (regrename_optimize): Compute nregs for each
12078 potential target register.
12079
12080 2001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
12081 Richard Henderson <rth@redhat.com>
12082
12083 * dbxout.c (dbxout_global_decl): New.
12084 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12085 * sdbout.c (sdbout_finish): New.
12086 (sdbout_debug_hooks): Use it, add comments.
12087 (sdbout_global_decl): Defer initialised public vars to
12088 sdbout_finish.
12089 * varasm.c (assemble_variable): Don't output debug information
12090 for file-scope variables.
12091
12092 2001-07-21 H.J. Lu (hjl@gnu.org)
12093
12094 * config/mips/mips.c (mips_cpu): Moved into ...
12095 (override_options): Here.
12096
12097 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12098 mips_tune.
12099 (mips_cpu): Removed.
12100
12101 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12102
12103 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12104 ("iorqi3"): Likewise.
12105 ("xorqi3"): Likewise.
12106 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12107 ("*subhi3_sp): Likewise.
12108 ("*subhi3"): Likewise.
12109 ("extendhisi2"): Accept D, X and Y as source operand to avoid
12110 reload problems.
12111
12112 2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
12113
12114 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12115 * config/freebsd.h: Likewise.
12116 * config/linux.h: Likewise.
12117 * config/openbsd.h: Likewise.
12118 * config/alpha/linux-elf.h: Likewise.
12119 * config/arm/linux-elf.h: Likewise.
12120 * config/d30v/d30v.h: Likewise.
12121 * config/fr30/fr30.h: Likewise.
12122 * config/ia64/aix.h: Likewise.
12123 * config/ia64/ia64.h: Likewise.
12124 * config/mips/linux.h: Likewise.
12125 * config/pj/pj.h: Likewise.
12126 * config/rs6000/linux.h: Likewise.
12127 * config/sparc/linux.h: Likewise.
12128 * config/sparc/linux64.h: Likewise.
12129
12130 2001-07-20 Bruce Korb <bkorb@gnu.org>
12131
12132 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12133 because getc() and char* may disagree on signedness.
12134
12135 2001-07-20 Richard Henderson <rth@redhat.com>
12136
12137 * doc/rtl.texi (REG_DEAD): Update for current semantics.
12138
12139 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12140 insns to delete in the presence of cc0 in a jump insn.
12141
12142 Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
12143 Jan Hubicka <jh@suse.cz>
12144
12145 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12146 of doing the change by hand.
12147
12148 Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
12149
12150 * rtlanal.c (set_noop_p): Return true for noop jumps.
12151
12152 * expr.c (emit_single_push_insn): Add call to push expander.
12153 * expr.h (optab_index): Add OTI_push
12154 (push_optab): New constant.
12155 * genopinit.c (optabs): Add push_optab.
12156 * optabs.c (init_optab): Init push optab.
12157 * md.texi (push??1): Document
12158
12159 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12160
12161 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
12162 expand to emit the pattern; put a REG_INC note for push/pop
12163 instructions.
12164 ("movdf", "movdf_internal"): Likewise.
12165 ("movsi", "movsi_internal"): Likewise.
12166 ("movsf", "movsf_internal"): Likewise.
12167 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12168
12169 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12170
12171 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12172 gen_highpart.
12173
12174 2001-07-20 Daniel Berlin <dan@cgsoftware.com>
12175
12176 * params.def: Change default max inline insns to 100.
12177
12178 2001-07-20 Diego Novillo <dnovillo@redhat.com>
12179
12180 * combine.c (combine_simplify_rtx): Generate a new shift operation
12181 when simplifying the first operand of a (neg (ashift)) expression.
12182
12183 2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
12184
12185 * regclass.c (N_REG_INTS): Use only 32 bits per element.
12186
12187 2001-07-20 Kelley Cook <kelley.cook@home.com>
12188
12189 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12190 information. Move rest into ...
12191 (*-*-solaris): ... here. Eliminate redundant information and
12192 reword necessary packages section. Delete 4.x assembler bug info.
12193 (sparc-sun-*): Merge into ...
12194 (sparc-sun-sunos*): here.
12195
12196 2001-07-20 Catherine Moore <clm@redhat.com>
12197
12198 * config/v850/v850.md (casesi): Generate LABEL_REF
12199 with Pmode.
12200
12201 Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
12202
12203 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12204 * i386.c (ix86_zero_extend_to_Pmode): Make global.
12205 * i386.md (strclrsi expander): Use it.
12206
12207 Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
12208
12209 * integrate.c (copy_insn_list): handle
12210 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12211 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12212 identically as to CODE_LABEL.
12213
12214 * fold-const (fold): Convert A/B/C to A/(B*C) and
12215 A/(B/C) to (A/B)*C
12216
12217 * except.c (connect_post_landing_pads): Delete the RESX insns.
12218
12219 2001-07-20 Aldy Hernandez <aldyh@redhat.com>
12220
12221 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
12222
12223 * config/mips/mips.md (nmadd/nmsub): Use macro.
12224
12225 2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
12226
12227 * cppinit.c (remove_dup_dir): Make static.
12228 (remove_dup_dirs): Make static. Only warn about preempting a
12229 system directory with a non-system directory.
12230
12231 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
12232
12233 * ifcvt.c (noce_try_store_flag_constants): Correct order
12234 of parameters to trunc_int_for_mode.
12235
12236 2001-07-19 Mark Mitchell <mark@codesourcery.com>
12237
12238 * reorg.c (fill_simple_delay_slots): If an instruction might throw
12239 an exception that will be caught within this function, do not fill
12240 its delay slot with any subsequent instruction.
12241
12242 2001-07-19 Steve Ellcey <sje@cup.hp.com>
12243
12244 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12245 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12246 pointer extension instruction.
12247 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12248 * simplify-rtx.c (simplify_unary_operation) Likewise.
12249 * explow.c (convert_memory_address) Check value of
12250 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12251 less than zero.
12252 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12253 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12254 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12255 Add Multilib Support.
12256 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
12257 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12258 Add Multilib Support.
12259 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12260 support.
12261 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12262 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12263 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12264
12265 2001-07-19 Alexandre Oliva <aoliva@redhat.com>
12266
12267 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12268 old and new operands in `<', `3' and `b'.
12269
12270 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12271
12272 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12273 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12274 (toplev.o): Don't depend on xcoffout.h.
12275 * c-decl.c: Include debug.h
12276 (duplicate_decls): Use debug hook.
12277 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12278 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12279 (dbxout_types): Remove.
12280 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12281 * debug.c (do_nothing_debug_hooks): Update.
12282 (debug_true_tree, debug_nothing_rtx): New.
12283 * debug.h (struct rtx_def): New.
12284 (struct gcc_debug_hooks): New hooks ignore_block,
12285 outlining_inline_function and label.
12286 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12287 dwarf2out_frame_finish): New.
12288 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12289 Make static, update prototype.
12290 (dwarf2_debug_hooks): Update.
12291 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12292 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12293 * dwarfout.c (dwarf_debug_hooks): Update.
12294 * emit-rtl.c: Include debug.h.
12295 (remove_unnecessary_notes): Use debug hook.
12296 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12297 (final_scan_insn): Use debug hook.
12298 * integrate.c (output_inline_function): Use debug hook.
12299 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12300 (sdb_debug_hooks): Update.
12301 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12302 * toplev.c: Don't include xcoffout.h.
12303 (note_outlining_of_inline_function, debug_ignore_block): Remove.
12304 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12305 Remove.
12306 * tree.h (dwarf2out_do_frame): Remove.
12307
12308 2001-07-19 Catherine Moore <clm@cygnus.com>
12309
12310 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
12311
12312 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
12313
12314 * reload1.c (eliminate_regs_in_insn): When updating a set
12315 to the frame pointer to the hardware frame pointer, perform
12316 the update always not just when REPLACE is set.
12317
12318 * reload1.c (choose_reload_regs): Don't inherit a reload
12319 that crosses multiple registers if registers past the first
12320 don't fit in the desired class.
12321
12322 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12323 when negating constants.
12324
12325 2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
12326
12327 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12328 * doc/tree.texi: Ditto.
12329
12330 2001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
12331 Jakub Jelinek <jakub@redhat.com>
12332
12333 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12334 (extract_cie_info): Handle "eh" augmentation properly,
12335 remember eh_ptr.
12336 (struct frame_state, __frame_state_for): New.
12337
12338 2001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12339
12340 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12341 HANDLE_SYSV_PRAGMA): Define.
12342 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12343 previous args.
12344 (copy_object): Caller changed.
12345
12346 2001-07-19 Andreas Schwab <schwab@suse.de>
12347
12348 * configure.in (assembler dwarf2 debug_line support): Define nop
12349 insn for m68k.
12350 * configure: Regenerated.
12351
12352 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12353
12354 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12355 dwarfout.h.
12356 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12357 to conditionally compiled block.
12358 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12359 * dbxout.h (dbxout_function): Remove.
12360 * debug.c (do_nothing_debug_hooks): Update.
12361 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12362 global_decl, deferred_inline_function.
12363 * dwarf2out.c (dwarf2_debug_hooks): Update.
12364 (dwarf2out_global_decl): New.
12365 * dwarfout.c: Don't include dwarfout.h.
12366 (dwarfout_global_decl, dwarfout_function_decl,
12367 dwarfout_deferred_inline_function): New.
12368 (dwarf_debug_hooks): Update.
12369 * dwarfout.h: Remove.
12370 * final.c: Don't include dwarfout.h.
12371 * sdbout.c (sdbout_global_decl): New.
12372 (sdbout_debug_hooks): Update.
12373 * toplev.c: Don't include dwarfout.h.
12374 (check_global_declarations, rest_of_compilation): Use new debug hooks.
12375 (note_deferral_of_defined_inline_function): Remove.
12376 * toplev.h (note_deferral_of_defined_inline_function): Remove.
12377 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12378 * ch/lex.c: Don't include dwarfout.h.
12379 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12380 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12381 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12382 * cp/optimize.c: Include debug.h.
12383 (maybe_clone_body): Use debug hook.
12384 * cp/semantics.c: Include debug.h.
12385 (expand_body): Use debug hook.
12386 * po/POTFILES.in: Remove dwarfout.h.
12387
12388 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12389
12390 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12391 * c-parse.in (yyerror, _yylex): Similarly.
12392 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12393 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12394 Update comments.
12395 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12396 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12397
12398 2001-07-18 Jeff Sturm <jsturm@one-point.com>
12399
12400 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12401 in-class declaration at -g1. Fixes c++/2814.
12402
12403 2001-07-18 Richard Henderson <rth@redhat.com>
12404
12405 * doc/md.texi (reload_in/out): Document restrictions in predicates
12406 and constraints for these patterns. Document empty string matching
12407 ALL_REGS.
12408
12409 2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12410
12411 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12412
12413 Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
12414
12415 * cse.c: Undo my previous patch.
12416
12417 2001-07-18 Tom Tromey <tromey@redhat.com>
12418
12419 For PR java/2812:
12420 * configure: Rebuilt.
12421 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12422 instead.
12423 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12424
12425 Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
12426 Jan Hubicka <jh@suse.cz>
12427
12428 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12429 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12430 * jump.c (mark_jump_label): Do not forward branches.
12431
12432 Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
12433
12434 * cse.c (delete_trivially_dead_insns): Delete the libcall block
12435 when return value is unused.
12436
12437 Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
12438
12439 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12440
12441 Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
12442
12443 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12444 on error. We can't blindly return the result of
12445 pthread_mutex_trylock because it returns a positive number on
12446 error, while we must return -1 on error.
12447 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
12448 fixes.
12449 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12450
12451 2001-07-18 Andreas Jaeger <aj@suse.de>
12452
12453 * integrate.c (output_inline_function): Correct type of debug_hooks.
12454
12455 2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
12456
12457 * combine.c (combine_simplify_rtx): DIV can be treated
12458 associatively for floats if unsafe math optimisations are enabled.
12459
12460 2001-07-17 Richard Henderson <rth@redhat.com>
12461
12462 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12463
12464 2001-07-17 Richard Henderson <rth@redhat.com>
12465
12466 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
12467 don't force the function address into a register.
12468 (expand_call, emit_library_call_value_1): Update callers.
12469 * builtins.c (expand_builtin_apply): Likewise.
12470 * expr.h (prepare_call_address): Update decl.
12471
12472 2001-07-17 Chandrakala Chavva <cchavva@redhat.com>
12473
12474 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12475 config directory.
12476 * config/i386/chorus.h: Move up.
12477 * config/sparc/chorus.h: Likewise.
12478 * config/rs6000/chorus.h: Likewise.
12479 * config/chorus.h: Moved here.
12480
12481 2001-07-17 Andreas Schwab <schwab@suse.de>
12482
12483 * configure.in (assembler eh_frame optimization): Handle big
12484 endian.
12485 * configure: Regenerated.
12486
12487 Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
12488
12489 * expr.c (epxand_expr): Convert divisions into multiplications by
12490 reciprocals if -ffast-math.
12491
12492 2001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
12493
12494 * dbxout.c (dbxout_really_begin_function): Rename to
12495 dbxout_begin_function.
12496 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12497 (dbxout_begin_function): Remove.
12498 (dbxout_function): Update.
12499 (dbxout_source_line): Update prototype.
12500 * dbxout.h (dbxout_begin_function): Remove.
12501 * debug.c (do_nothing_debug_hooks): Update.
12502 (debug_nothing_tree): Update.
12503 (debug_nothing_charstar_rtx): Remove.
12504 * debug.h (union tree_node): Declare.
12505 (struct rtx_def): Remove.
12506 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
12507 begin_function. Change source_line prototype.
12508 (debug_nothing_tree): New.
12509 (debug_nothing_charstar_rtx): Delete.
12510 (dwarf2out_begin_prologue): Moved from ...
12511 * tree.h: ... here.
12512 * dwarf2out.c (dwarf2_debug_hooks): Update.
12513 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
12514 debug info, call dwarf2out_source_line.
12515 (dwarf2out_souce_line): Update prototype.
12516 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
12517 Change prototype, make static.
12518 (dwarfout_source_line): Update prototype.
12519 (dwarf_debug_hooks): Update.
12520 * dwarfout.h (dwarfout_begin_function): Remove.
12521 * final.c (final_start_function, final_scan_insn): Use appropriate
12522 debug hooks, update to use notice_source_line.
12523 (output_source_line): Rename notice_source_line. Don't call the
12524 source_line debug hook.
12525 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
12526 make static, update prototype.
12527 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
12528 prototype.
12529 (sdbout_end_prologue): New.
12530 (sdbout_source_line): Update prototype.
12531 (sdbout_debug_hooks): Update.
12532 (sdbout_symbol): Remove unused var.
12533 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
12534 Delete.
12535 * varasm.c: Include debug.h.
12536 (assemble_start_function): Use begin_function debug_hook.
12537 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12538 update with prototype.
12539 (xcoffout_source_line): Update prototype.
12540 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
12541 update prototype.
12542 (xcoffout_source_line): Update prototype.
12543
12544 2001-07-17 Richard Henderson <rth@redhat.com>
12545
12546 * c-typeck.c (build_binary_op): Do not shorten unsigned
12547 right shift after sign extension.
12548
12549 Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
12550
12551 * combine.c (combine_simplify_rtx): Attempt to simplify
12552 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
12553
12554 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
12555 (simplify_binary_operation, simplify_unary_operation,
12556 simplify_relational_operation): Use it.
12557
12558 * combine.c (combine_simplify_rtx): Don't do associative law
12559 on divisions; allow associative law on floats.
12560
12561 2001-07-17 H.J. Lu <hjl@gnu.org>
12562 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12563
12564 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
12565 ASM_OUTPUT_WEAK_ALIAS are defined.
12566 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
12567 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
12568 Moved ...
12569 * config/mips/iris5.h: ... here.
12570 (HANDLE_SYSV_PRAGMA): Defined as 1.
12571 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
12572 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
12573 symbol.
12574
12575 2001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
12576
12577 * c-parse.in (all_prefix_attributes): New variable.
12578 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
12579 (maybe_resetattrs): New production.
12580 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
12581 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
12582 notype_initdcl, nested_function, notype_nested_function,
12583 component_decl, components, components_notype,
12584 component_declarator, component_notype_declarator,
12585 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
12586 ivars, mydecl, myparm): Update. Avoid prefix attributes just
12587 after a comma being applied to more than one declarator.
12588 * doc/extend.texi (Attribute Syntax): Update. Remove
12589 documentation of bugs that are no longer present.
12590
12591 2001-07-13 Eric Christopher <echristo@redhat.com>
12592
12593 * config/mips/mips.h: Change TUNE_MIPS* options to use
12594 mips_tune.
12595 (EXTRA_SPECS): Add cc1_cpu_spec.
12596 * config/mips/mips.md (muldf3): Fix typo.
12597
12598 2001-07-16 Richard Henderson <rth@redhat.com>
12599
12600 * config/m68k/m68k.c: Include expr.h and reload.h.
12601 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
12602 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
12603
12604 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
12605 Richard Henderson <rth@redhat.com>
12606
12607 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
12608 (insn_live_p): Fix fall off end of function.
12609 (dead_libcall_p): Remove COUNTS argument; update callers.
12610 (delete_trivially_dead_insns): Remove unused variables.
12611
12612 2001-07-17 Andreas Jaeger <aj@suse.de>
12613
12614 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
12615 x86-64 pic support.
12616
12617 * lcm.c (optimize_mode_switching): Avoid warning for unused
12618 variable if !NORMAL_MODE.
12619
12620 * flow.c (try_crossjump_to_edge): Remove unused variable.
12621
12622 2001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
12623
12624 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
12625 atexit declaration in stdlib.h.
12626
12627 2001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
12628
12629 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
12630
12631 Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
12632
12633 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
12634 * except.c (finish_eh_generation): Update call of cleanup_cfg;
12635 do rebuild_jump_labels instead of jump_optimize
12636 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
12637 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
12638 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
12639
12640 * flow.c: Include timevar.h
12641 (find_basic_block): Push/pop timevar;
12642 (cleanup_cfg): Likewise.
12643 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
12644 * Makefile: Add dependencies on timevar.h
12645
12646 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
12647 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
12648
12649 * rtl.h (delete_trivially_dead_insns): Add new parameter.
12650 * toplev.c (rest_of_compilation): Update calls.
12651 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
12652 (delete_trivially_dead_insns): ... here; accept new argument
12653 preserve_basic_blocks; preserve basic blocks if set.
12654
12655 * reg-stack.c (stack_regs_mentioned): Return 0 if
12656 stack_regs_mentioned_data is not initialized.
12657 (reg_to_stack): Make stack_regs_mentioned survive after the
12658 reg-stack is completted; do not call cleanup_cfg.
12659 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
12660 make cleanup_cfg after bb-reorder to output to debug file.
12661
12662 2001-07-16 Richard Henderson <rth@redhat.com>
12663
12664 * regclass.c (init_reg_sets): Use only 32 bits per initializer
12665 from int_reg_class_contents.
12666
12667 2001-07-16 Richard Henderson <rth@redhat.com>
12668
12669 * hard-reg-set.h (regs_invalidated_by_call): Declare.
12670 * regclass.c (regs_invalidated_by_call): Move from cse.c.
12671 (init_reg_sets_1): Move initialization from cse_main.
12672 * cse.c (regs_invalidated_by_call): Move to regclass.c.
12673 (cse_main): Move its initialization also.
12674 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
12675 * flow.c (propagate_one_insn): Likewise.
12676 * gcse.c (compute_hash_table): Likewise.
12677 (compute_kill_rd, compute_store_table): Likewise.
12678 * sched-deps.c (sched_analyze_1): Likewise.
12679
12680 Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
12681
12682 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
12683 gen_rtx_SET.
12684
12685 2001-07-16 Steve Ellcey <sje@cup.hp.com>
12686
12687 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
12688 in if statement so we don't access undefined memory.
12689
12690 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
12691
12692 * gcse.c: Update comment at top.
12693 Update comment on mem handling.
12694 mem_last_set, mem_first_set, mem_set_in_block: gone.
12695 Declaration of reg_set_info: gone.
12696 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
12697 pointless with load_killed_in_block_p (they are *more*
12698 conservative then it, not less, and less accurate).
12699 (oprs_not_set_p): Ditto.
12700 (alloc_gcse_mem): Don't allocate mem_set_in_block
12701 (free_gcse_mem): Don't free it, either.
12702 (record_last_mem_set_info): Update comment in front, remove
12703 mem_*set_* stuff. Note the reason we don't handle stores directly
12704 here.
12705 (compute_hash_table): Update comments to reflect reality. Remove
12706 mem_*set_* references.
12707 (reset_opr_set_tables): Remove mem_*set_* references.
12708 (mark_call): Ditto.
12709 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
12710 (mark_clobber): Ditto (on both parts, we double set here too).
12711 (expr_killed_p): Remove mem_set_in_block test.
12712 (compute_transp): Remove mem_set_in_block test.
12713
12714 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
12715 of edge, and removal of phi alternative to dump file.
12716 (ssa_ccp_substitute_constants): Add note about register now being
12717 constant, and which uses were replaced in what insns to dump file.
12718
12719 2001-07-16 Andreas Jaeger <aj@suse.de>
12720
12721 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
12722 variables of type HOST_WIDEST_INT.
12723
12724 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
12725 (__bb_exit_func): Correct type of count_max to avoid overflow.
12726 (num_digits): Handle long long argument.
12727
12728 * combine.c (gen_lowpart_for_combine): Remove unused variable.
12729
12730 2001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12731
12732 * output.h (sdb_begin_function_line): Restore as an extern
12733 variable.
12734 * sdbout.c (sdb_begin_function_line): Make extern.
12735
12736 2001-07-15 Richard Henderson <rth@redhat.com>
12737
12738 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
12739 * genrecog.c (maybe_both_true_mode): New.
12740 (maybe_both_true_2): Use it.
12741 (write_switch): Don't put Pmode in a switch.
12742 * rtl.c (mode arrays): Don't explicitly size them.
12743
12744 Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
12745
12746 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
12747 handling; move unconditional splitting before mode switching.
12748
12749 * i386.md (type): Add fistp type.
12750 (i387, length_attr, scheduling definitions): Handle this type.
12751 (fix_trunc?f?i2): Revamp to use mode switching.
12752 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
12753 * i386.h (fp_cw_mode): New enum
12754 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
12755 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
12756
12757 Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12758
12759 * Makefile.in (integrate.o): Add debug.h.
12760 * integrate.c (debug.h): Add.
12761 (output_inline_function): Save, reset, and restore debug_hooks.
12762
12763 2001-07-15 Richard Henderson <rth@redhat.com>
12764
12765 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
12766 instead of COMPARE for the EQUIV expression.
12767
12768 2001-07-15 Richard Henderson <rth@redhat.com>
12769
12770 * flow.c (redirect_edge_and_branch_force): Initialize
12771 global_live_at_start and global_live_at_end.
12772 (allocate_bb_life_data): Export.
12773 * basic-block.h (allocate_bb_life_data): Declare.
12774 * toplev.c (rest_of_compilation): Call it.
12775
12776 2001-07-15 Richard Henderson <rth@redhat.com>
12777
12778 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
12779 (alpha_tablejump_best_label): New.
12780 * config/alpha/alpha-protos.h: Declare them.
12781 * config/alpha/alpha.md: Use braced strings for code blocks.
12782 (tablejump_osf): Break out add with r29.
12783 (tablejump_osf_internal): Remove.
12784 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
12785 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
12786
12787 Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
12788
12789 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
12790 of the movable.
12791
12792 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
12793
12794 * i386-protos.h (ix86_split_fp_branch): Update prototype.
12795 (ix86_fp_jump_nontrivial_p): New.
12796 * i386.md (fp_jcc_?): Update call of split_fp_branch;
12797 use ix86_fp_jump_nontrivial_p.
12798 * i386.c (ix86_fp_jump_nontrivial_p): New.
12799 (ix86_split_fp_branch): Accept code instead of rtx.
12800 (ix86_expand_compare): Expand comparison early in case
12801 doing so is resonably cheap.
12802
12803 2001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
12804
12805 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
12806 not 'machine'.
12807 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
12808 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
12809
12810 2001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
12811
12812 * dbxout.c (dbxout_source_line): Make static, update prototype.
12813 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
12814 (dbxout_init, dbxout_finish, dbxout_source_line,
12815 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
12816 * dbxout.h (dbxout_source_line): Delete.
12817 * debug.c (debug_nothing_file, debug_nothing_file_int,
12818 debug_nothing_file_charstar_rtx): New.
12819 (do_nothing_debug_hooks): Update.
12820 (debug_nothing_void, debug_nothing_charstar_rtx,
12821 dwarf2out_end_epilogue): New.
12822 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12823 * debug.h (struct rtx_def): Declare.
12824 (gcc_debug_hooks): New hooks source_line, end_epilogue
12825 and end_function.
12826 (debug_nothing_void, debug_nothing_charstar_rtx,
12827 dwarf2out_end_epilogue): New.
12828 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
12829 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
12830 (dwarf2_debug_hooks): Update.
12831 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
12832 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
12833 * dwarf2out.h (dwarf2out_source_line): Remove.
12834 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
12835 Make static, update prototype.
12836 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
12837 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
12838 (dwarf_debug_hooks): Update.
12839 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
12840 dwarfout_end_function): Remove.
12841 * final.c (profile_function): Use debug hooks for ending functions
12842 and epilogues.
12843 (output_source_line, final_end_function): Update prototype,
12844 use debug hooks.
12845 (final_start_function, final_scan_insn): Update.
12846 * output.h (sdb_begin_function_line): Remove.
12847 (final_end_function): Update prototype.
12848 * sdbout.c (sdb_begin_function_line): Make static.
12849 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
12850 (sdbout_source_line): New.
12851 (sdbout_end_epilogue, sdbout_end_function): Make static, update
12852 prototypes.
12853 (sdb_debug_hooks): Update.
12854 (sdbout_init, sdbout_source_line,
12855 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
12856 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
12857 * toplev.c (compile_file, rest_of_compilation): Update.
12858 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
12859 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
12860 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
12861 Update for prototype changes.
12862 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
12863 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
12864
12865 2001-07-15 Richard Henderson <rth@redhat.com>
12866
12867 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
12868 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
12869 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
12870 * config/alpha/alpha.c: Likewise.
12871 * config/alpha/alpha.md: Likewise.
12872 * config/alpha/alpha32.h: Likewise.
12873 * config/alpha/vms.h: Likewise.
12874 (OPEN_VMS): Remove.
12875
12876 2001-07-14 Richard Henderson <rth@redhat.com>
12877
12878 * config/alpha/alpha.md: Use define_constants for unspec values.
12879 Substitute throughout.
12880
12881 2001-07-14 Tim Josling <tej@melbpc.org.au>
12882
12883 * tree.def (EXPON_EXPR) remove. Never supported anyway.
12884
12885 2001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
12886
12887 * pa.md: Remove unused constraints from define_split's.
12888
12889 2001-04-14 Richard Henderson <rth@redhat.com>
12890
12891 * ifcvt.c (find_cond_trap): Test for exit block.
12892
12893 Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
12894
12895 Re-install recently reverted patch.
12896 * emit-rtl.c (try_split): Update mark_jump_label call.
12897 * flow.c (find_sub_basic_blocks): Likewise.
12898 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
12899 jump_back_p): Kill.
12900 (mark_all_labels): Kill second parameter.
12901 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
12902 (rebuild_jump_labels, jump_optimize_minimal): Update call
12903 of jump_optimize_1.
12904 (jump_optimize_1): Kill crossjumping code.
12905 (mark_jump_label): Kill cross_jump parameter.
12906 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
12907 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
12908 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
12909 splitting.
12910 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
12911 DFI_bpro.
12912 (dump_file_info): Likewise.
12913 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
12914 reorganize passes to do reg-stack first, bb-reorder second.
12915 * invoke.texi (-d letters doc): Remove the jump2 pass.
12916
12917 2001-07-14 Richard Henderson <rth@redhat.com>
12918
12919 * ifcvt.c (find_cond_trap): New.
12920 (find_if_header): Call it.
12921 (merge_if_block): Relax existing jump sanity check.
12922 * jump.c (jump_optimize_1): Remove conditional trap handling.
12923
12924 2001-07-14 Alan Modra <amodra@bigpond.net.au>
12925
12926 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
12927 millicode.
12928 (insn_refs_are_delayed): Correct comment.
12929 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
12930 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
12931 instead of r31. Make associated insn !TARGET_64BIT, and
12932 provide an additional 64-bit insn that clobbers r2.
12933 (divsi3): Likewise.
12934 (udivsi3): Likewise.
12935 (modsi3): Likewise.
12936 (umodsi3): Likewise.
12937
12938 Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
12939
12940 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
12941
12942 * flow.c (redirect_edge_and_branch_force, split_edge,
12943 try_crossjump_to_edge): Use set_block_for_new_insns.
12944 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
12945
12946 2001-07-13 H.J. Lu (hjl@gnu.org)
12947
12948 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
12949 the correct patch.
12950
12951 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
12952
12953 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
12954
12955 2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
12956
12957 * c-common.c (decl_attributes): Take a pointer to the node to
12958 which attributes are to be attached, and a flags argument.
12959 * c-common.h (enum attribute_flags): New.
12960 (decl_attributes): Update prototype.
12961 * c-decl.c (start_decl, push_parm_decl, finish_struct,
12962 finish_enum, start_function): Update calls to decl_attributes.
12963 * c-parse.in (component_declarator, component_notype_declarator,
12964 label): Update calls to decl_attributes.
12965
12966 Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
12967
12968 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
12969 * config/avr/avr.c (legitimate_address_p): Return value changed
12970 from letter to register classes. For better debugging.
12971
12972 2001-07-13 Kazu Hirata <kazu@hxi.com>
12973
12974 * jump.c (reversed_comparison_code_parts): Fix comment typos.
12975
12976 2001-07-13 H.J. Lu (hjl@gnu.org)
12977
12978 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
12979
12980 2001-07-13 Marc Espie <espie@cvs.openbsd.org>
12981
12982 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
12983 correctly for shared configurations.
12984 * config/t-libgcc-pic: New.
12985 * config/{i386,m68k,sparc}/t-openbsd: New.
12986 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
12987 Support -shared. Support debugging libraries with -g.
12988 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
12989 frame information does not emit pointer diffs.
12990 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
12991 emit pointer diffs.
12992
12993 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
12994
12995 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
12996
12997 2001-07-13 David Edelsohn <edelsohn@gnu.org>
12998
12999 * combine.c (try_combine): Ensure const_int pow2 is positive.
13000
13001 2001-07-13 Hartmut Penner <hpenner@de.ibm.com>
13002
13003 * config.gcc: Add configuration for s/390.
13004 * config/s390/s390.c: New. Subroutines for code generation.
13005 * config/s390/s390.h: New. Definitions for s/390.
13006 * config/s390/s390-protos.h: New. Prototypes.
13007 * config/s390/linux.h: New. Definitions for linux for s/390.
13008 * config/s390/linux64.h: New. Definitions for linux for zSeries.
13009 * config/s390/t-linux: New. Makefile fragment.
13010 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
13011 * config/s390/fixdfdi.h: New. Fix L_fix*di.
13012
13013 Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
13014
13015 * emit-rtl.c (try_split): Update mark_jump_label call.
13016 * flow.c (find_sub_basic_blocks): Likewise.
13017 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13018 jump_back_p): Kill.
13019 (mark_all_labels): Kill second parameter.
13020 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13021 (rebuild_jump_labels, jump_optimize_minimal): Update call
13022 of jump_optimize_1.
13023 (jump_optimize_1): Kill crossjumping code.
13024 (mark_jump_label): Kill cross_jump parameter.
13025 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13026 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13027 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13028 splitting.
13029 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13030 DFI_bpro.
13031 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13032 reorganize passes to do reg-stack first, bb-reorder second.
13033 * invoke.texi (-d letters doc): Remove the jump2 pass.
13034
13035 2001-07-12 Steve Ellcey <sje@cup.hp.com>
13036
13037 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13038
13039 Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
13040
13041 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13042 basic blocks.
13043 (verify_flow_info): Make diagnostics prettier.
13044
13045 Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
13046
13047 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13048
13049 * flow.c (outgoing_edges_match): Return early if condition reversal
13050 failed.
13051
13052 2001-07-06 Richard Sandiford <rsandifo@redhat.com>
13053
13054 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13055 (mips_move_2words): When splitting a move into two instructions,
13056 prefix the second address operand with '%D'.
13057
13058 2001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
13059
13060 * Makefile.in (final.o): Depend on debug.h.
13061 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13062 (dbx_debug_hooks): Add new hooks.
13063 (xcoff_debug_hooks): New.
13064 * debug.c (debug_nothing_file_int_int): New.
13065 (do_nothing_debug_hooks): Update.
13066 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13067 (debug_nothing_file_int_int): New.
13068 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13069 static, update prototype.
13070 (dwarf2_debug_hooks): Update.
13071 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13072 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13073 static, update prototype.
13074 (dwarf_debug_hooks): Update.
13075 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13076 * final.c: Include debug.h.
13077 (final_scan_insn): Use debug hooks when beginning and ending blocks.
13078 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13079 static, update prototype.
13080 (sdb_debug_hooks): Update.
13081 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13082 * toplev.c: Distinguish between xcoff and dbx.
13083
13084 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13085 Call all debug hooks, not just dwarf ones.
13086
13087 2001-07-11 Timothy Wall <twall@redhat.com>
13088
13089 * config.gcc: Add configuration for AIX5/IA64.
13090 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
13091 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
13092 support prefix/suffix code.
13093 * config/ia64/t-aix: New. Makefile fragment.
13094 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
13095
13096 2001-07-11 Kazu Hirata <kazu@hxi.com>
13097
13098 * recog.c (validate_change): Fix a comment typo.
13099
13100 2001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
13101
13102 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
13103 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13104 hooks directly.
13105 * dbxout.c (dbx_debug_hooks): Add new hooks.
13106 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13107 make static.
13108 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13109 make static.
13110 * dbxout.h (dbxout_start_new_source_file,
13111 dbxout_resume_previous_source_file): Delete.
13112 * debug.c (do_nothing_debug_hooks): Add new hooks.
13113 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13114 (debug_nothing_int_charstar, debug_nothing_int): New.
13115 * debug.h (gcc_debug_hooks): New hooks define, undef,
13116 start_source_file and end_source_file.
13117 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13118 (debug_nothing_int_charstar, debug_nothing_int): New.
13119 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
13120 the conditionally compiled section.
13121 (dwarf2out_start_source_file, dwarf2out_end_source_file,
13122 dwarf2out_define, dwarf2out_undef): Make static.
13123 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13124 dwarf2out_define, dwarf2out_undef): Remove.
13125 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13126 (dwarfout_start_source_file, dwarfout_end_source_file,
13127 dwarfout_define, dwarfout_undef): Make static.
13128 (dwarfout_start_source_file_check,
13129 dwarfout_end_source_file_check): New.
13130 (dwarfout_define, dwarfout_finish): Update.
13131 * dwarfout.h (dwarfout_start_new_source_file,
13132 dwarfout_resume_previous_source_file, dwarfout_define,
13133 dwarfout_undef): Remove.
13134 * sdbout.c (sdb_debug_hooks): Add new hooks.
13135 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13136 make static.
13137 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13138 make static, take an arg.
13139 * sdbout.h (sdbout_start_new_source_file,
13140 sdbout_resume_previous_source_file): Delete.
13141 * toplev.c (debug_start_source_file, debug_end_source_file,
13142 debug_define, debug_undef): Delete.
13143 * toplev.h (debug_start_source_file, debug_end_source_file,
13144 debug_define, debug_undef): Delete.
13145
13146 * java/jcf-parse.c: Include debug.h.
13147 (parse_class_file): Update to use debug hooks directly.
13148 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13149
13150 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13151
13152 * alias.c (set_mem_alias_set): New function.
13153 * rtl.h (set_mem_alias_set): Declare it.
13154 * builtins.c (expand_builtin_return_addr): Call it instead of
13155 using MEM_ALIAS_SET accessor.
13156 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13157 (get_memory_rtx, expand_builtin_va_arg): Likewise.
13158 (expand_builtin_va_copy):Likewise.
13159 * caller-save.c (setup_save_areas): Likewise.
13160 * calls.c (compute_argument_addresses): Likewise.
13161 * explow.c (set_mem_attributes): Likewise.
13162 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13163 (expand_assignment, store_constructor_field, store_field): Likewise.
13164 (expand_expr_unaligned): Likewise.
13165 * function.c (assign_stack_temp_for_type): Likewise.
13166 (put_reg_into_stack, gen_mem_addressof): Likewise.
13167 * ifcvt.c (noce_try_cmove_arith): Likewise.
13168 * reload1.c (reload, alter_reg): Likewise.
13169 * config/alpha/alpha.c (get_aligned_mem): Likewise.
13170 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13171 (alpha_expand_unaligned_store): Likewise
13172 (alpha_expand_unaligned_load_words): Likewise.
13173 (alpha_expand_unaligned_store_words): Likewise.
13174 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13175 (alpha_expand_epilogue): Likewise.
13176 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13177 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13178 * config/i386/i386.c (legitimize_pic_address): Likewise.
13179 * config/i960/i960.c (setup_incoming_varargs): Likewise.
13180 * config/ia64/ia64.c (spill_restore_mem): Likewise.
13181 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13182 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13183 * config/mips/mips.c (mips_va_arg): Likewise.
13184 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13185 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13186 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13187 (setup_incoming_varargs, rs6000_va_arg): Likewise.
13188 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13189 (rs6000_emit_epilogue): Likewise.
13190 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13191 * config/sparc/sparc.c (sparc_va_arg): Likewise.
13192 * config/v850/v850.c (v850_va_arg): Likewise.
13193
13194 Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
13195
13196 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13197 when fallthru edge is present.
13198 (mege_blocks): Handle case where creation of jump insn
13199 is required.
13200
13201 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13202 CLEANUP_POST_REGSTACK): New constants.
13203 * except.c (finish_eh_generation): Update call of cleanup_cfg,
13204 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13205 * output.h (cleanup_cfg): Update prototype.
13206 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
13207 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
13208 cleanup_cfg call; kill missleading comment.
13209 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13210 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13211 parameter; control optimizations performed using it.
13212 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13213 try_crossjump_bb): New functions.
13214
13215 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13216
13217 * pa.c (pa_output_function_prologue): Delete prototype. Make function
13218 extern.
13219 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13220 pa_output_function_prologue.
13221 * pa-protos.h (pa_output_function_prologue): New prototype.
13222
13223 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13224
13225 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13226 and low to get correct sign extension in low+high test.
13227
13228 2001-07-11 Janis Johnson <janis@us.ibm.com>
13229
13230 * gcov.c (arcdata): Use gcov_type to fix branch percentage
13231 for large hit count.
13232
13233 * profile.c (branch_prob): Fix .bbg info for computed gotos
13234 and C++ EH code.
13235
13236 2001-07-11 Mark Mitchell <mark@codesourcery.com>
13237
13238 * stmt.c (parse_output_constraint): New function, split out
13239 from ...
13240 (expand_asm_operands): ... here. Use parse_output_constraint.
13241 * tree.h (parse_output_constraint): Declare it.
13242
13243 2001-07-11 Richard Henderson <rth@redhat.com>
13244
13245 * bitmap.c: Comment some functions; fiddle whitespace.
13246 (bitmap_free): Don't export.
13247 (bitmap_element_allocate): Use memset.
13248 * bitmap.h (bitmap_free): Don't declare.
13249
13250 2001-07-11 Daniel Berlin <dan@cgsoftware.com>
13251
13252 * gcse.c, lcm.c, sched-deps.c:
13253 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13254
13255 * flow.c (flow_loops_find): Free dom if we found no loops, since
13256 we aren't going to save it.
13257
13258 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13259 done.
13260
13261 Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
13262
13263 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13264
13265 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13266
13267 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13268 #ifndef DWARF2_DEBUGGING_INFO.
13269
13270 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
13271
13272 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13273
13274 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
13275
13276 * config/mips/mips.c (gen_int_relational): Tell the caller not to
13277 reverse a branch if a NE comparison is implemented with GTU.
13278
13279 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
13280 H.J. Lu <hjl@gnu.org>
13281
13282 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13283 constant addresses.
13284 (call_internal2): Likewise.
13285 (call_value_internal1): Likewise.
13286 (call_value_internal2): Likewise.
13287 (call_value_multiple_internal1): Likewise.
13288 (call_value_multiple_internal2): Likewise.
13289
13290 2001-07-10 Kazu Hirata <kazu@hxi.com>
13291
13292 * calls.c (emit_library_call_value_1): Fix a comment typo.
13293 * dwarf2out.c (mem_loc_descriptor): Likewise.
13294 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13295
13296 2001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
13297
13298 * simplify-rtx.c (simplify_subreg): Fix typo in comment
13299
13300 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13301
13302 * recog.c (offsettable_address_p): Handle LO_SUM case.
13303 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13304 instead of plus_constant.
13305
13306 2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13307
13308 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13309 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13310
13311 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13312
13313 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13314 adjust_address_nv instead of plus_constant.
13315
13316 2001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
13317
13318 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13319 dwarf2out.o): Depend on debug.h, wrap long lines.
13320 * dbxout.c: Include debug.h.
13321 (dbx_debug_hooks): New.
13322 (dbxout_init): Make static, take just 2 args.
13323 (dbxout_finish): Make static.
13324 * dbxout.h (dbxout_init, dbxout_finish): Delete.
13325 * debug.c: New file.
13326 * debug.h: New file.
13327 * dwarf2out.c: Include debug.h.
13328 (dwarf2_debug_hooks): New.
13329 (dwarf2out_init): Make static.
13330 (dwarf2out_finish): Make static, take 2 args.
13331 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13332 * dwarfout.c: Include debug.h.
13333 (dwarf_debug_hooks): New.
13334 (dwarfout_init): Make static.
13335 (dwarfout_finish): Make static, take 2 args.
13336 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13337 * sdbout.c: Include debug.h.
13338 (sdb_debug_hooks): New.
13339 (sdbout_init): Make static, take 2 args.
13340 * sdbout.h (sdbout_init): Delete.
13341 * toplev.c: Include debug.h.
13342 (debug_hooks): New.
13343 (compile_file): Set deubg_hooks based on command line options.
13344 Use the hooks unconditionally rather than conditional compilation.
13345
13346 Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
13347
13348 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
13349 first_insn_after_basic_block_note instead.
13350
13351 * df.c (df_bb_refs_unlink): #if 0 out for now.
13352
13353 2001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
13354
13355 * ssa.h: Add prototype for ssa_const_prop
13356 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13357 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13358 (ssa_fast_dce): Remove unused variable
13359
13360 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13361
13362 * diagnostic.c (finish_diagnostic): Rename to
13363 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
13364 calls thourghout.
13365
13366 2001-07-10 Jason Merrill <jason_merrill@redhat.com>
13367
13368 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13369 .loc support.
13370
13371 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
13372 (dump_file): Only pad the demangled name with spaces if the
13373 mangled name was padded with spaces.
13374
13375 2001-07-10 Bernd Schmidt <bernds@redhat.com>
13376
13377 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13378 edge detection.
13379
13380 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13381
13382 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13383 extraction if no direct load if either EXPAND_CONST_ADDRESS or
13384 EXPAND_INITIALIZER.
13385
13386 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13387 whether can put offset inside LO_SUM to check mode alignment, not size.
13388
13389 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13390
13391 * doc/tm.texi (Misc): Fix thinko.
13392
13393 2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
13394
13395 * regmove.c (replace_in_call_usage): Fix warnings.
13396 * sched-deps.c (add_dependence): Fix warnings.
13397 * simplify-rtx.c (simplify_subreg): Likewise.
13398 Return NULL_RTX instead of NULL.
13399
13400 * reg-stack.c (emit_swap_insn): Eliminate warnings.
13401 (subst_asm_stack_regs): Likewise.
13402
13403 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13404 warnings.
13405
13406 * dwarf2out.c (output_call_frame_info): Declare i as int.
13407 (build_abbrev_table): Declare n_alloc as int.
13408 (dwarf2out_finish): Initialize die.
13409 * except.c: Declare sjlj_funcdef_number as unsigned.
13410 (connect_post_landing_pads): Declare j as unsigned.
13411 (convert_to_eh_region_ranges): Initialize call_site.
13412 (output_function_exception_table): Initialize tt_format_size.
13413 * expr.c (move_by_pieces_1): Initialize to1.
13414 (store_constructor): Initialize minelt and maxelt.
13415 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13416 * function.c (instantiate_decls): Avoid signed/unsigned warning.
13417
13418 * c-decl.c (combine_parm_decls): Unused, remove.
13419 * c-tree.h: Remove prototype for combine_parm_decls.
13420
13421 * reload.c (push_reload): Fix warning.
13422 (regno_clobbered_p): Likewise.
13423 * reload1.c (replace_pseudos_in_call_usage): Likewise.
13424 (reload_combine): Likewise.
13425
13426 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13427 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13428 warnings.
13429 * bitmap.c (bitmap_operation): Change user.
13430 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13431
13432 2001-07-10 Eric Christopher <echristo@redhat.com>
13433
13434 * config/mips/mips.c (override_options): Fix typo.
13435
13436 2001-07-09 Stan Shebs <shebs@apple.com>
13437
13438 * target.h (struct gcc_target): New fields init_builtins and
13439 expand_builtin.
13440 * target-def.h (TARGET_INIT_BUILTINS): New macro.
13441 (TARGET_EXPAND_BUILTIN): New macro.
13442 (TARGET_INITIALIZER): Add them.
13443 * builtins.c: Include target.h.
13444 (expand_builtin): Use targetm.expand_builtin.
13445 (default_init_builtins): New function.
13446 (default_expand_builtin): New function.
13447 * expr.h (default_init_builtins): Declare.
13448 (default_expand_builtin): Declare.
13449 * c-common.c (c_common_nodes_and_builtins): Use
13450 targetm.init_builtins.
13451 * defaults.h (MD_INIT_BUILTINS): Remove.
13452 * Makefile.in (builtins.o): Depend on target.h.
13453
13454 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13455 (TARGET_EXPAND_BUILTIN): Define.
13456 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13457 (MD_EXPAND_BUILTIN): Remove.
13458
13459 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13460 (TARGET_EXPAND_BUILTIN): Define.
13461 (c4x_init_builtins): Make endlink arg a local.
13462 (c4x_print_operand): Fix typos in adjust_address usages.
13463 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13464 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13465 (MD_EXPAND_BUILTIN): Remove.
13466
13467 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13468 (TARGET_EXPAND_BUILTIN): Define.
13469 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13470 (ix86_init_builtins): Call new function only if TARGET_MMX.
13471 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13472 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13473 (MD_EXPAND_BUILTIN): Remove.
13474
13475 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13476 (TARGET_EXPAND_BUILTIN): Define.
13477 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13478 (MD_EXPAND_BUILTIN): Remove.
13479
13480 * doc/tm.texi: Document these changes.
13481
13482 2001-07-09 Diego Novillo <dnovillo@redhat.com>
13483
13484 * basic-block.h (tree_node): Forward declare if needed.
13485 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13486 (BLOCK_HEAD_TREE): Define.
13487 (BLOCK_END_TREE): Define.
13488 (struct loops): Rename field 'tree' to 'tree_root'.
13489 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
13490 'end_tree'.
13491 (flow_loops_tree_build): Rename reference to field 'tree' to
13492 'tree_root'.
13493 (flow_loops_level_compute): Ditto.
13494 * predict.c (estimate_bb_frequencies): Ditto.
13495 * tree.h (struct tree_common): Add field 'aux'.
13496
13497 2001-07-09 Stan Shebs <shebs@apple.com>
13498
13499 * config/darwin.c (darwin_encode_section_info): Don't mark any
13500 DECL_EXTERNAL node as defined.
13501
13502 2001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13503
13504 * pa.c (pa_init_machine_status, pa_mark_machine_status,
13505 pa_free_machine_status, hppa_init_pic_save): Delete.
13506 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
13507 (hppa_profile_hook): Use hppa_pic_save_rtx.
13508 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
13509 hppa_init_pic_save): Delete.
13510 (hppa_pic_save_rtx): Declare.
13511 * pa.md (call, call_value, sibcall, sibcall_value,
13512 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
13513
13514 2001-07-09 Kazu Hirata <kazu@hxi.com>
13515
13516 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
13517 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
13518
13519 2001-07-09 Andreas Jaeger <aj@suse.de>
13520
13521 * output.h: Add declaration of final_forward_branch_p.
13522
13523 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
13524
13525 * varray.c: Include errors.h for internal_error and trim_filename
13526 declarations.
13527
13528 * Makefile.in (varray.o): Add errors.h.
13529
13530 2001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
13531
13532 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
13533 * optabs.c (have_add2_insn): Check whether the add insn chosen
13534 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
13535 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
13536
13537 Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
13538
13539 * Makefile.in (OBJS): Add ssa-ccp.o
13540 (ssa-ccp.o): Add dependencies.
13541 * toplev.c (DFI_ssa_ccp): New dump file enum.
13542 (dump_file): Add entry for dumping after SSA CCP.
13543 (flag_ssa_ccp): New flag variable.
13544 (f_options): Add -fssa-ccp.
13545 (rest_of_compilation): Run SSA CCP if requested.
13546 * timevar.def (TV_SSA_CCP): New timevar.
13547 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
13548 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
13549 Fix minor typo in SSA DCE documentation.
13550 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
13551 Add documentation for new dump option. Renumber dump files
13552 appropriately.
13553
13554 Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
13555
13556 * emit-rtl.c (gen_highpart_mode): New.
13557 * rtl.h (gen_highpart_mode): Declare.
13558 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
13559 operand can be VOIDmode constant.
13560
13561 Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
13562
13563 * flow.c (redirect_edge_and_branch_force): New.
13564 (can_fallthru): Ensure that basic blocks are succeeding.
13565 (try_optimize_cfg): Do not delete basic block if it is the last one.
13566
13567 * flow.c (try_redirect_by_replacing_jump): Do not remove
13568 jumps with side effects, unlink chain on fallthru edge;
13569 set block for new jump instruction; avoid basic block to
13570 over by line number note.
13571
13572 * flow.c (try_simplify_condjump): Verify that the condjump
13573 is not always falling through.
13574
13575 Re-install patch:
13576 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
13577
13578 * flow.c (forwarder_block_p): Fix for fallthru blocks.
13579 (try_redirect_by_replacing_jump): Update properly the count
13580 and frequency information.
13581
13582 Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13583
13584 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
13585 address that is a LO_SUM specially.
13586 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
13587
13588 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
13589
13590 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
13591 (operand_subword): Use them.
13592 (change_address_1): Renamed from change_address; new arg VALIDATE.
13593 * expr.h: Reflect above changes; change_address now macro.
13594 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
13595 making MEM.
13596 * cselib.c (add_mem_for_addr): Likewise.
13597 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
13598 * regmove.c (try_apply_stack_adjustment): Likewise.
13599 * reload.c (push_reload, make_memloc): Likewise.
13600 * reload1.c (eliminate_regs): Likewise.
13601 * simplify-rtx.c (simplify_replace_rtx): Likewise.
13602 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
13603 adjust_addess.
13604 * combine.c (make_extraction, simplify_shift_const): Likewise.
13605 (gen_lowpart_for_combine): Likewise.
13606 * cse.c (gen_lowpart_if_possible): Likewise.
13607 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
13608 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
13609 * optabs.c (gen_move_insn): Likewise.
13610 * reload1.c (alter_reg): Likewise.
13611 * simplify-rtx.c (simplify_subreg): Likewise.
13612 * stmt.c (expand_anon_union_decl): Likewise.
13613 * recog.c (validate_replace_rtx_1): Likewise.
13614 (expr.h): Include.
13615 * Makefile.in (recog.o): Add $(EXPR_H).
13616 * explow.c (stabilize): Call replace_equiv_address.
13617 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
13618 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
13619
13620 2001-07-03 Andrew Haley <aph@redhat.com>
13621
13622 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
13623 the mode of the memory location.
13624
13625 2001-07-09 Bo Thorsen <bo@suse.co.uk>
13626
13627 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
13628
13629 2001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
13630
13631 * final.c (output_addr_const): Use target opening and
13632 closing parentheses.
13633 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
13634 defaults, add to TARGET_ASM_OUT.
13635 * target.h (struct gcc_target): Add open_paren and close_paren.
13636 * doc/md.texi: Update.
13637 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
13638 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
13639 TARGET_ASM_CLOSE_PAREN.
13640 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13641 Override.
13642 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
13643 Override.
13644 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
13645 * config/a29k/a29k.h: Similarly.
13646 * config/alpha/alpha.h: Similarly.
13647 * config/arc/arc.h: Similarly.
13648 * config/arm/aof.h: Similarly.
13649 * config/arm/aout.h: Similarly.
13650 * config/avr/avr.h: Similarly.
13651 * config/c4x/c4x.h: Similarly.
13652 * config/clipper/clipper.h: Similarly.
13653 * config/convex/convex.h: Similarly.
13654 * config/d30v/d30v.h: Similarly.
13655 * config/dsp16xx/dsp16xx.h: Similarly.
13656 * config/elxsi/elxsi.h: Similarly.
13657 * config/fr30/fr30.h: Similarly.
13658 * config/h8300/h8300.h: Similarly.
13659 * config/i370/i370.h: Similarly.
13660 * config/i386/i386.h: Similarly.
13661 * config/i860/i860.h: Similarly.
13662 * config/i960/i960.h: Similarly.
13663 * config/ia64/ia64.h: Similarly.
13664 * config/m32r/m32r.h: Similarly.
13665 * config/m68hc11/m68hc11.h: Similarly.
13666 * config/m68k/m68k.h: Similarly.
13667 * config/m88k/m88k.h: Similarly.
13668 * config/mcore/mcore.h: Similarly.
13669 * config/mips/mips.h: Similarly.
13670 * config/mn10200/mn10200.h: Similarly.
13671 * config/mn10300/mn10300.h: Similarly.
13672 * config/ns32k/ns32k.h: Similarly.
13673 * config/pa/pa.h: Similarly.
13674 * config/pdp11/pdp11.h: Similarly.
13675 * config/pj/pj.h: Similarly.
13676 * config/romp/romp.h: Similarly.
13677 * config/rs6000/rs6000.h: Similarly.
13678 * config/sh/sh.h: Similarly.
13679 * config/sparc/sparc.h: Similarly.
13680 * config/v850/v850.h: Similarly.
13681 * config/vax/vax.h: Similarly.
13682 * config/we32k/we32k.h: Similarly.
13683
13684 2001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
13685
13686 * doc/c-tree.texi: Document representation of attributes.
13687
13688 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
13689
13690 * doc/tm.texi: Update some places for the rename of target to
13691 targetm. Fix typo.
13692
13693 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
13694
13695 * target.h (struct gcc_target): Add insert_attributes.
13696 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
13697 (TARGET_INITIALIZER): Update.
13698 * tree.c, tree.h (default_insert_attributes): New function.
13699 Update comments on other default functions to refer to targetm,
13700 not target.
13701 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
13702 TARGET_INSERT_ATTRIBUTES.
13703 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
13704 * c-common.c (decl_attributes): Use targetm.insert_attributes.
13705 Don't use PRAGMA_INSERT_ATTRIBUTES.
13706 * Makefile.in (c-common.o): Depend on $(TARGET_H).
13707 * c-decl.c (start_decl, start_function): Don't call
13708 SET_DEFAULT_DECL_ATTRIBUTES.
13709 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13710 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
13711 declare.
13712 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
13713 (c4x_check_attribute): Avoid modifying attribute list itself.
13714 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
13715 Make static.
13716 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
13717 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
13718 declare.
13719 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
13720 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
13721 Make static.
13722 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
13723 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
13724 declare.
13725 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
13726 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
13727 Adjust parameters. Make static.
13728
13729 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
13730
13731 * c-common.c (decl_attributes): Only take a single attributes
13732 parameter.
13733 * c-common.h (decl_attributes): Update prototype.
13734 * c-decl.c (start_decl, start_function): Only take a single
13735 attributes parameter. Update calls to decl_attributes.
13736 (finish_struct, finish_enum): Update calls to decl_attributes.
13737 (push_parm_decl): Expect unified list of attributes. Update call
13738 to decl_attributes.
13739 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
13740 notype_nested_function, component_declarator,
13741 component_notype_declarator, label): Update calls to
13742 decl_attributes.
13743 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
13744 lists that are passed to push_parm_decl.
13745 * c-tree.h (start_function, start_decl): Update prototypes.
13746 * config/sh/sh-protos.h, config/sh/sh.c
13747 (sh_pragma_insert_attributes): Only take a single attributes
13748 parameter.
13749 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
13750 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
13751 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
13752 build_module_descriptor, generate_static_references,
13753 generate_strings, build_selector_translation_table,
13754 generate_descriptor_table, generate_protocols,
13755 generate_ivars_list, generate_dispatch_table,
13756 generate_protocol_list, generate_category,
13757 generate_shared_structures, really_start_method, add_objc_decls,
13758 generate_classref_translation_entry): Update calls to start_decl
13759 and start_function.
13760 (build_tmp_function_decl, start_method_def): Unify attribute lists
13761 that are passed to push_parm_decl.
13762
13763 2001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
13764
13765 * final.c (no_asm_to_stream): New.
13766 (final_scan_insn): Use target structures for prologue ends
13767 and epilogue starts.
13768 * output.h (no_asm_to_stream): New.
13769 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
13770 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
13771 (TARGET_ASM_OUT): Update.
13772 * target.h (struct gcc_target): New members function_end_prologue
13773 and function_begin_epilogue.
13774 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
13775 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
13776 * config/alpha/alpha.c (output_end_prologue): Rename to
13777 alpha_output_function_end_prologue. Use in target struct
13778 and make static.
13779 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
13780 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
13781 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
13782 ia64_output_function_end_prologue. Use in target struct
13783 and make static.
13784 (ia64_function_prologue, ia64_funciton_epilogue): Rename
13785 mistyped prototypes.
13786 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
13787 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
13788 Delete.
13789 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
13790 an use in target struct, make static.
13791 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
13792 Delete.
13793
13794 2001-07-08 Richard Henderson <rth@redhat.com>
13795
13796 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
13797
13798 2001-07-08 Richard Henderson <rth@redhat.com>
13799
13800 * config/i386/i386.md: Remove constraints strings from define_split
13801 and define_peephole2 patterns.
13802 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
13803 (eh_return): Use them.
13804
13805 2001-07-08 Richard Henderson <rth@redhat.com>
13806
13807 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
13808 Document MD_FALLBACK_FRAME_STATE_FOR.
13809
13810 2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13811
13812 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
13813 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
13814 elimination.
13815 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
13816
13817 2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
13818
13819 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
13820 of the label inside NAME as opposed to just the end of NAME.
13821
13822 2001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
13823
13824 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
13825 * config/alpha/alpha.c (alpha_init_machine_status,
13826 alpha_mark_machine_status, alpha_free_machine_status): Delete.
13827 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
13828 (vms_valid_decl_attribute_p): Make static, conditionally compile.
13829 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
13830
13831 2001-07-06 Stan Shebs <shebs@apple.com>
13832
13833 * target.h (targetm): Rename global from "target", so as not to
13834 conflict with local variables.
13835 * c-decl.c: Ditto.
13836 * c-typeck.c: Ditto.
13837 * final.c: Ditto.
13838 * tree.c: Ditto.
13839 * cp/decl.c: Ditto.
13840 * cp/decl2.c: Ditto.
13841 * cp/typeck.c: Ditto.
13842 * 1750a/1750a.c: Ditto.
13843 * a29k/a29k.c: Ditto.
13844 * arc/arc.c: Ditto.
13845 * arm/arm.c: Ditto.
13846 * avr/avr.c: Ditto.
13847 * clipper/clipper.c: Ditto.
13848 * convex/convex.c: Ditto.
13849 * d30v/d30v.c: Ditto.
13850 * dsp16xx/dsp16xx.c: Ditto.
13851 * elxsi/elxsi.c: Ditto.
13852 * fr30/fr30.c: Ditto.
13853 * h8300/h8300.c: Ditto.
13854 * i370/i370.c: Ditto.
13855 * i386/i386.c: Ditto.
13856 * i860/i860.c: Ditto.
13857 * i960/i960.c: Ditto.
13858 * ia64/ia64.c: Ditto.
13859 * m32r/m32r.c: Ditto.
13860 * m68hc11/m68hc11.c: Ditto.
13861 * m68k/m68k.c: Ditto.
13862 * m88k/m88k.c: Ditto.
13863 * mips/mips.c: Ditto.
13864 * ns32k/ns32k.c: Ditto.
13865 * pa/pa.c: Ditto.
13866 * pdp11/pdp11.c: Ditto.
13867 * romp/romp.c: Ditto.
13868 * rs6000/rs6000.c: Ditto.
13869 * sh/sh.c: Ditto.
13870 * sparc/sparc.c: Ditto.
13871 * vax/vax.c: Ditto.
13872 * we32k/we32k.c: Ditto.
13873 * doc/tm.texi: Update the manual to match.
13874
13875 2001-07-06 Richard Henderson <rth@redhat.com>
13876
13877 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
13878 DWARF2_UNWIND_INFO not just whether it is defined.
13879
13880 2001-07-06 Diego Novillo <dnovillo@redhat.com>
13881
13882 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
13883 call to simplify_binary_operation returns a new pattern.
13884
13885 2001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
13886
13887 * glimits.h (__SHRT_MAX__): New.
13888 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
13889 (SHRT_MAX): Define in terms of __SHRT_MAX__.
13890
13891 2001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
13892
13893 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
13894 avoid warnings.
13895
13896 2001-07-06 Richard Henderson <rth@redhat.com>
13897
13898 * bitmap.c (bitmap_release_memory): Move adjacent to the
13899 allocation functions.
13900 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
13901 the implementation. Binary search for the set bit.
13902 (bitmap_union_of_diff): Allocate the temporary on the stack
13903 instead of using xmalloc.
13904
13905 2001-07-06 Richard Henderson <rth@redhat.com>
13906
13907 * genrecog.c (validate_pattern): Warn for constraints in
13908 define_{expand,split,peephole2}. Remove strict_low_part
13909 before looking up match_dup.
13910
13911 2001-07-06 DJ Delorie <dj@redhat.com>
13912
13913 * doc/gcc.texi (Makefile): Rename to be a more general purpose
13914 chapter about various build hints and history. Add section
13915 talking about the various types of native and cross builds.
13916
13917 2001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
13918
13919 * Makefile.in (final.o): Depend on target.h.
13920 * final.c: Include target.h.
13921 (default_function_pro_epilogue): New.
13922 (final_start_function): Use target structure for function prologues.
13923 (final_end_function): Use target structure for function epilogues.
13924 * fold-const.c (real_hex_to_f): Constify s and p.
13925 * output.h (default_function_pro_epilogue): New.
13926 * real.h (real_hex_to_f): Update prototype.
13927 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
13928 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
13929 (TARGET_INITIALIZER): Update.
13930 * target.h (gcc_target): Add struct asm_out.
13931 * doc/tm.texi: Update.
13932
13933 config:
13934 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
13935 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
13936 in cpu/cpu.c, or rename old functions consistently. Take
13937 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
13938 redundant macros and prototypes. Make new functions static.
13939
13940 * 1750a/1750a.c: Similarly.
13941 * 1750a/1750a.h: Similarly.
13942 * a29k/a29k-protos.h: Similarly.
13943 * a29k/a29k.c: Similarly.
13944 * a29k/a29k.h: Similarly.
13945 * arc/arc-protos.h: Similarly.
13946 * arc/arc.c: Similarly.
13947 * arc/arc.h: Similarly.
13948 * arm/arm-protos.h: Similarly.
13949 * arm/arm.c: Similarly.
13950 * arm/arm.h: Similarly.
13951 * avr/avr-protos.h: Similarly.
13952 * avr/avr.c: Similarly.
13953 * avr/avr.h: Similarly.
13954 * clipper/clipper-protos.h: Similarly.
13955 * clipper/clipper.c: Similarly.
13956 * clipper/clipper.h: Similarly.
13957 * convex/convex.c: Similarly.
13958 * convex/convex.h: Similarly.
13959 * d30v/d30v-protos.h: Similarly.
13960 * d30v/d30v.c: Similarly.
13961 * d30v/d30v.h: Similarly.
13962 * d30v/d30v.md: Similarly.
13963 * dsp16xx/dsp16xx-protos.h: Similarly.
13964 * dsp16xx/dsp16xx.c: Similarly.
13965 * dsp16xx/dsp16xx.h: Similarly.
13966 * elxsi/elxsi.c: Similarly.
13967 * elxsi/elxsi.h: Similarly.
13968 * fr30/fr30.c: Similarly.
13969 * fr30/fr30.md: Similarly.
13970 * h8300/h8300-protos.h: Similarly.
13971 * h8300/h8300.c: Similarly.
13972 * h8300/h8300.h: Similarly.
13973 * i370/i370-protos.h: Similarly.
13974 * i370/i370.c: Similarly.
13975 * i370/i370.h: Similarly.
13976 * i386/i386.c: Similarly.
13977 * i386/osf1elf.h: Similarly.
13978 * i386/osfrose.h: Similarly.
13979 * i860/i860-protos.h: Similarly.
13980 * i860/i860.c: Similarly.
13981 * i860/i860.h: Similarly.
13982 * i960/i960-protos.h: Similarly.
13983 * i960/i960.c: Similarly.
13984 * i960/i960.h: Similarly.
13985 * ia64/ia64-protos.h: Similarly.
13986 * ia64/ia64.c: Similarly.
13987 * ia64/ia64.h: Similarly.
13988 * m32r/m32r-protos.h: Similarly.
13989 * m32r/m32r.c: Similarly.
13990 * m32r/m32r.h: Similarly.
13991 * m68hc11/m68hc11-protos.h: Similarly.
13992 * m68hc11/m68hc11.c: Similarly.
13993 * m68hc11/m68hc11.h: Similarly.
13994 * m68k/crds.h: Similarly.
13995 * m68k/dpx2.h: Similarly.
13996 * m68k/m68k-protos.h: Similarly.
13997 * m68k/m68k.c: Similarly.
13998 * m68k/m68k.h: Similarly.
13999 * m68k/news.h: Similarly.
14000 * m88k/m88k-protos.h: Similarly.
14001 * m88k/m88k.c: Similarly.
14002 * m88k/m88k.h: Similarly.
14003 * mips/mips-protos.h: Similarly.
14004 * mips/mips.c: Similarly.
14005 * mips/mips.h: Similarly.
14006 * ns32k/merlin.h: Similarly.
14007 * ns32k/ns32k.c: Similarly.
14008 * ns32k/ns32k.h: Similarly.
14009 * ns32k/tek6000.h: Similarly.
14010 * pa/pa-protos.h: Similarly.
14011 * pa/pa.c: Similarly.
14012 * pa/pa.h: Similarly.
14013 * pdp11/2bsd.h: Similarly.
14014 * pdp11/pdp11-protos.h: Similarly.
14015 * pdp11/pdp11.c: Similarly.
14016 * pdp11/pdp11.h: Similarly.
14017 * romp/romp-protos.h: Similarly.
14018 * romp/romp.c: Similarly.
14019 * romp/romp.h: Similarly.
14020 * rs6000/rs6000-protos.h: Similarly.
14021 * rs6000/rs6000.c: Similarly.
14022 * rs6000/rs6000.h: Similarly.
14023 * rs6000/sysv4.h: Similarly.
14024 * sh/sh-protos.h: Similarly.
14025 * sh/sh.c: Similarly.
14026 * sh/sh.h: Similarly.
14027 * sparc/sparc-protos.h: Similarly.
14028 * sparc/sparc.c: Similarly.
14029 * sparc/sparc.h: Similarly.
14030 * vax/vax.c: Similarly.
14031 * vax/vax.h: Similarly.
14032 * vax/vms.h: Similarly.
14033 * we32k/we32k.c: Similarly.
14034 * we32k/we32k.h: Similarly.
14035
14036 Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
14037
14038 * basic-block.h (first_insn_after_basic_block_note): Declare.
14039 * flow.c (first_insn_after_basic_block_note): Define. Moved
14040 from...
14041 * ssa.c (first_insn_after_basic_block_note): Remove.
14042 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14043 necessary.
14044 (ssa_eliminate_dead_code): Properly update the CFG and PHI
14045 nodes when we find a dead conditional branch. Insert BARRIERs
14046 after any blocks with no successors, but which do not have
14047 any BARRIERs.
14048
14049 2001-07-06 Zack Weinberg <zackw@stanford.edu>
14050
14051 * varray.c (varray_check_failed): Use internal_error.
14052
14053 2001-07-05 Andrew Haley <aph@redhat.com>
14054
14055 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14056 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14057 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14058
14059 2001-07-02 Jason Merrill <jason_merrill@redhat.com>
14060
14061 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14062 reference if the target constant is also a SYMBOL_REF.
14063
14064 2001-07-05 Eric Christopher <echristo@redhat.com>
14065
14066 * config/mips/mips.h (MASK_MIPS3900): Remove.
14067 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14068 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14069 (TARGET_MIPS3900): Change to use mips_arch.
14070 (TARGET_MIPS4000): New.
14071 (TARGET_MIPS4100): New.
14072 (TARGET_MIPS4300): New.
14073 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14074 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14075 for -mipsX.
14076 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14077 (ISA_HAS_BRANCHLIKELY): To here.
14078 (CC1_CPU_SPEC): New.
14079 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
14080 (mips_arch_string): Declare.
14081 (mips_arch): Declare.
14082 (TARGET_OPTIONS): Add -march and -mtune.
14083
14084 * config/mips/mips.c (mips_arch_string): New.
14085 (mips_arch): New.
14086 (override_options): Handle -march for codegen and -mtune
14087 for scheduling. Use mips_arch. Move tx39 target default here.
14088 (mips_parse_cpu): Move error message to override_options.
14089
14090 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14091
14092 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14093
14094 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14095 (MIPS Options): Ditto. Change mcpu entry to historical text.
14096
14097 2001-07-05 H.J. Lu (hjl@gnu.org)
14098
14099 * config/mips/mips.c (mips_parse_cpu): New function to parse
14100 -march=*/-mcpu=*.
14101
14102 2001-07-05 Jim Wilson <wilson@redhat.com>
14103
14104 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14105 * config/ia64/t-ia64: Likewise.
14106 (LIB1ASMFUNCS): Update comment.
14107
14108 2001-07-05 David Edelsohn <edelsohn@gnu.org>
14109
14110 * doc/install.texi (Install GCC: Binaries): Fix typo.
14111
14112 2001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14113
14114 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14115 reference using the stack pointer, adjust it since we push Y
14116 temporarily.
14117 ("*ashrsi3"): Likewise.
14118 ("*lshrsi3"): Likewise.
14119
14120 2001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14121
14122 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14123 when -fomit-frame-pointer is used.
14124
14125 2001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
14126
14127 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14128 (try_redirect_by_replacing_jump): Reverse updating properly the
14129 count and frequency information. Reverse removing cc0 setter.
14130 (forwarder_block_p): Reverse fixing for fallthru blocks.
14131
14132 2001-07-05 DJ Delorie <dj@redhat.com>
14133
14134 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14135 (translate_options): If the above is defined, use it to map
14136 given options to new options.
14137 * doc/tm.texi: Document it.
14138
14139 2001-07-05 Brad Lucier <lucier@math.purdue.edu>
14140 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14141
14142 * doc/invoke.texi (Optimize Options): Document that -fgcse may
14143 cause programs using computed gotos to run more slowly.
14144
14145 2001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14146
14147 * doc/install.texi (Specific): Markup, spelling and typo fixes.
14148 Fixed sorting.
14149 Consistently require binutils 2.11.2, not prereleases.
14150 (Specific, decstation-*): Canonicalize as mips-dec-*.
14151 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14152 always necessary.
14153 (Specific, m68k-altos): Removed reference to README.altos, deleted.
14154 (Specific, mips-*): Reword MIPS C compiler requirements.
14155 (Specific, powerpc*-*-*): New, mention --with-cpu once.
14156 (Specific, sunv5): Removed, obsolete.
14157
14158 2001-07-05 Nathan Sidwell <nathan@codesourcery.com>
14159
14160 * dwarf2out.c (output_loc_list): Use an all ones mask for
14161 .text asm output and don't rely on long long
14162 literals. Reformat some long lines.
14163
14164 2001-07-05 Andreas Jaeger <aj@suse.de>
14165
14166 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14167 section.
14168
14169 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
14170
14171 * dwarf2out.c (dwarf2out_define): Update comment.
14172 (dwarf2out_undef): Ditto.
14173 (dwarf2out_start_source_file): Ditto.
14174 (dwarf2out_end_source_file): Ditto.
14175 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14176 since we never call the start/end debug hook for the primary file.
14177
14178 2001-07-04 Kazu Hirata <kazu@hxi.com>
14179
14180 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14181 from shll.
14182
14183 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
14184
14185 * cppinit.c (remove_dup_dirs): Inform if a system include
14186 directory is being reordered.
14187 * doc/invoke.texi (Directory Options): GCC warns if you hide a
14188 system include.
14189 * doc/cpp.texi (Search Paths): Likewise.
14190 * doc/gcc.texi (Interoperation): Remove information about
14191 -I/usr/include.
14192
14193 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
14194
14195 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14196 (VARRAY_TOP_CHAR_PTR): Likewise.
14197
14198 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14199
14200 * gcc.c (process_command): Don't assign elements of a const char*.
14201
14202 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14203
14204 * emit-rtl.c (change_address): Don't abort if invalid address while
14205 reload is in progress.
14206
14207 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
14208
14209 * c-lex.c (cb_file_change): Pass line number to
14210 debug_start_source_file.
14211 (cb_undefine): Pass correct line number to debug_undef.
14212
14213 * toplev.c (debug_start_source_file): Add line number to
14214 parameters. Pass it along to dwarf2out_start_source_file.
14215 (decode_g_option): Stop resetting debug level back to normal when
14216 we change debug formats, unless the current level is
14217 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14218 3).
14219
14220 * toplev.h (debug_start_source_file): Add line number to
14221 parameters.
14222
14223 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14224 parameters.
14225
14226 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14227 parameters.
14228 Output debug_macinfo data for starting file if requested.
14229 (dwarf2out_end_source_file): Output debug_macinfo data for ending
14230 file if requested.
14231 (dwarf2out_define): Output debug_macinfo data for defining a macro
14232 if requested.
14233 (dwarf2out_undef): Output debug_macinfo data for undefining a
14234 macro if requested.
14235 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14236 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14237 (macinfo_section_label): New. DWARF2 macro info section label.
14238 (dwarf2out_init): If we want macro info, output the start label
14239 for the section.
14240 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14241 attribute to the compilation unit die pointing to the macro info.
14242
14243 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
14244
14245 * dwarf2out.c (new_loc_list): Move to inside #ifdef
14246 DWARF2_DEBUGGING_INFO.
14247 (add_loc_descr_to_loc_list): Ditto.
14248 (output_loc_list): Ditto.
14249 Also, fix thinko in curr not being initialized.
14250 (gen_internal_sym): Ditto.
14251
14252 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14253
14254 * emit-rtl.c (replace_equiv_address): New function.
14255 * expr.h (replace_equiv_address): New declaration.
14256 * explow.c (validize_mem): Call it instead of change_address and
14257 also call if -fforce-addr and address is constant.
14258 * expr.c: Replace more calls to change_address with adjust_address
14259 and/or replace_equiv_address or to validize_mem.
14260 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14261 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14262 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14263 * config/i370/i370.md, config/i860/i860.md: Likewise.
14264 * config/i960/i960.md, config/mips/mips.c: Likewise.
14265 * config/mips/mips.md, config/pa/pa.md: Likewise.
14266 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14267 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14268
14269 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14270
14271 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14272
14273 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14274 function.
14275
14276 2001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
14277
14278 * doc/include: New directory.
14279 * doc/fdl.texi: Move to doc/include/fdl.texi.
14280 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14281 * doc/include/funding.texi, doc/include/gpl.texi: New files.
14282 * doc/gcc.texi: Use funding.texi and gpl.texi.
14283 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14284 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14285 Update dependencies and use -I $(docdir)/include.
14286
14287 2001-07-04 Anthony Green <green@redhat.com>
14288
14289 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14290
14291 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14292
14293 * doc/install.texi (sparc64-*-*): Remove garbage.
14294
14295 Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
14296
14297 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14298 Fix typo in last change to use adjust_address.
14299
14300 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14301
14302 * doc/install.texi (Specific): Update information for *-*-solaris*.
14303
14304 Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14305
14306 * explow.c (plus_constant_wide): Reinitialize Y for restart.
14307
14308 2001-07-03 Stan Shebs <shebs@apple.com>
14309
14310 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
14311 case for flag_no_mach_text_sections.
14312 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
14313 * config/darwin.c (flag_no_mach_text_sections): Remove.
14314 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
14315
14316 Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14317
14318 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14319 and avoid checking for constant as first operand.
14320 * recog.c (find_constant_term_loc): No longer static.
14321 (adj_offettable_operand): Delete.
14322 * rtl.h (adj_offsettable_operand): Delete declaration.
14323 (find_constant_term): Add declaration.
14324 * caller-save.c: Replace calls to adj_offsettable_operand with calls
14325 to adjust_address.
14326 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14327 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14328 * config/i386/i386.c, config/i386/i386.md: Likewise.
14329 * config/i860/i860.c, config/i960/i960.c: Likewise.
14330 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14331 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14332 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14333 * config/mips/mips.c, config/mips/mips.md: Likewise.
14334 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14335 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14336 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14337 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14338 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14339 * config/ns32k/ns32k.md: Likewise.
14340
14341 2001-07-03 Zack Weinberg <zackw@stanford.edu>
14342
14343 * rtl.c (copy_rtx): Handle 'T' format letter.
14344 * gensupport.c (collect_insn_data): Likewise.
14345 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14346
14347 2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
14348
14349 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14350 -B option. Use 'dir' not 'foo' as example directory name.
14351
14352 2001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14353
14354 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14355 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14356
14357 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
14358
14359 * doc/cppinternals.texi: Improve formatting and logical markup.
14360
14361 2001-07-03 Andreas Jaeger <aj@suse.de>
14362
14363 * Makefile.in (insn-recog.o): Add dependency on reload.h.
14364
14365 * genrecog.c (write_header): Include reload.h for prototypes in
14366 insn-recog.c.
14367
14368 2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
14369
14370 config:
14371 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14372 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14373 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14374 i386_pe_valid_type_attribute_p): Add.
14375 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14376 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14377
14378 Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14379
14380 * explow.c (plus_constant_wide, case LO_SUM): New case.
14381 (plus_constant_for_output_wide): Delete.
14382 * rtl.h (plus_constant_for_output): Delete.
14383 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14384 instead of plus_constant_for_output.
14385 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14386 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14387 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14388 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14389 * config/sparc/sparc.md: Likewise.
14390 Convert some change_address calls to adjust_address.
14391
14392 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
14393
14394 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14395 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
14396 documentation of -std and -Wwrite-strings.
14397
14398 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
14399
14400 * cse.c (canon_hash): Don't register registers in very small
14401 register classes, as extending their lifetime might cause
14402 reload to fail.
14403
14404 Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14405
14406 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14407
14408 * flow.c (forwarder_block_p): Fix for fallthru blocks.
14409 (try_redirect_by_replacing_jump): Update properly the count
14410 and frequency information.
14411
14412 Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
14413
14414 * toplev.c (dump_file_index): Move SSA dumps just after first
14415 jump dump.
14416 (dump_file): Corresponding changes.
14417 (rest_of_compilation): Move SSA path to just after the first
14418 jump pass.
14419 * doc/gcc.texi (Passes): Update due to movement of SSA path.
14420 * doc/invoke.texi: Update dump file #s as they were completely
14421 out of date with reality.
14422
14423 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
14424
14425 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14426
14427 * expr.c (emit_move_insn_1): Deal with non-default
14428 STACK_PUSH_CODE.
14429
14430 * expr.c (emit_single_push_insn): Fix warning.
14431
14432 2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
14433
14434 * expr.c (emit_move_insn_1): Avoid modifying
14435 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14436
14437 Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14438
14439 * emit-rtl.c (adjust_address): New function.
14440 * expr.h (adjust_address): Add declaration.
14441 * builtins.c: Replace some calls to change_address with calls to it
14442 or to validize_mem.
14443 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14444 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14445 * config/arm/arm.c, config/convex/convex.c: Likewise.
14446 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14447 * config/i386/i386.c, config/i386/i386.md: Likewise.
14448 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14449 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14450 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14451 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14452 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14453
14454 2001-07-02 Jim Wilson <wilson@redhat.com>
14455
14456 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14457
14458 2001-07-02 Steve Ellcey <sje@cup.hp.com>
14459
14460 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14461 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
14462
14463 2001-07-02 Zack Weinberg <zackw@stanford.edu>
14464
14465 * cppinit.c (lang_defaults): New table.
14466 (set_lang): Just read from lang_defaults into the live options
14467 structure.
14468
14469 2001-07-02 Zack Weinberg <zackw@stanford.edu>
14470
14471 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14472 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14473 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14474
14475 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14476
14477 * doc/install.texi: Various spelling and markup fixes.
14478 (Installing GCC): Component specific installation instructions are
14479 gone.
14480 Fix reference.
14481 Warn about removing old install dir in the presence of shared libs.
14482 (Configuration): Invoke with options target to match configure
14483 --help.
14484 Consistently refer to gas, gld pathnames.
14485 Invert --enable-multilib documentation.
14486 Remove references to old compiler versions.
14487
14488 Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14489
14490 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14491
14492 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14493
14494 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
14495 section.
14496 (Specific, mips*-sgi-irix5): Note IDO download.
14497 Reworded MIPS C hints.
14498 Use GNU as instead of GAS.
14499 Markup fixes.
14500 Removed SGI Freeware reference, IRIX 6 only.
14501 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
14502 Note N64 library requirement/workaround.
14503 Update O32 hints.
14504 Complete list of structure passing bug victims.
14505
14506 2001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14507
14508 * doc/install.texi: Remove CVS Id.
14509
14510 2001-07-02 Andreas Jaeger <aj@suse.de>
14511
14512 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
14513 (find_inherently_necessary): Remove unused variable.
14514
14515 2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
14516
14517 * c-common.h (TDI_inlined): New ast dump phase.
14518 (dump_flag_name): New function.
14519 * c-dump.c (dump_files): Add inlined phase.
14520 (dump_flag_name): Define.
14521 * doc/invoke.texi (-fdump-ast-inlined): Document.
14522
14523 Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14524
14525 * stor-layout.c (layout_decl): Revert change to handling of alignment
14526 in packed types.
14527
14528 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14529
14530 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
14531 for FIELD_DECL.
14532
14533 2001-07-01 Geoffrey Keating <geoffk@redhat.com>
14534
14535 * doc/tm.texi (FUNCTION_ARG): Document that the last call
14536 is special.
14537
14538 2001-07-01 Nathan Sidwell <nathan@codesourcery.com>
14539
14540 * tlink.c (recompile_files): Remove COMPILER_PATH and
14541 LIBRARY_PATH from the environment.
14542
14543 2001-07-01 Zack Weinberg <zackw@stanford.edu>
14544
14545 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
14546 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
14547 enumerators.
14548 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
14549
14550 * c-parse.in (OBJC_STRING): Kill.
14551 (objc_string): Decompose to [objc_string] '@' STRING.
14552 (reswords): Take the leading '@' off all the Objective C keywords.
14553 (objc_rid_sans_at): Kill.
14554 (init_reswords): Don't initialize it.
14555 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
14556 (_yylex): Kill reconsider label. Look ahead one token after
14557 an '@'; if we get an identifier, check whether it's an
14558 Objective C @-keyword. If so, return the keyword. Otherwise,
14559 put back the token and return the '@' as a terminal.
14560
14561 * cpplib.c (lex_macro_node): Remove unnecessary check for
14562 leading '@' on identifier. Clarify control flow and commentary.
14563
14564 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14565
14566 * cse.c (new_label_ref): Variable deleted.
14567 (insert): Remove set of new_label_ref.
14568 (check_for_label_ref): New function.
14569 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
14570
14571 See ChangeLog.5 for earlier changes.
This page took 0.660727 seconds and 5 git commands to generate.