]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
objc-act.c (add_method_to_hash_list, [...]): New functions.
[gcc.git] / gcc / ChangeLog
CommitLineData
81ff723b
AM
12003-10-03 Alexander Malmberg <alexander@malmberg.org>
2 Ziemowit Laski <zlaski@apple.com>
3
4 * objc/objc-act.c (add_method_to_hash_list, lookup_category):
5 New functions.
6 (lookup_method_in_hash_lists): New parameter indicating whether
7 we are messaging 'Class' or 'id'.
8 (check_duplicates): Likewise; do not assume all methods will
9 be either class or instance methods.
10 (generate_category, finish_class): Use lookup_category().
11 (add_method): Use add_method_to_hash_list(); insert instance
12 methods of root classes into the global class method hash table.
13 (add_category): Use lookup_category(); avoid constructing
14 duplicate categories.
15 (really_start_method): Add method to corresponding @interface,
16 if not already there (and if the @interface exists).
17 (finish_message_expr, finish_objc): Adjust calls to
18 check_duplicates().
19
875eda9c
RS
202003-10-03 Roger Sayle <roger@eyesopen.com>
21
22 PR optimization/9325, PR java/6391
23 * fold-const.c (fold_convert): For floating point to integer
24 conversions, return the maximum/minimum representable integer
25 value if the real constant overflows the destination type.
26 * tree.c (real_value_from_int_cst): Allow the type to be NULL,
27 meaning don't truncate the result to a floating point mode.
28 Simplify the logic by calling real_from_integer directly.
29 * simplify-rtx.c (simplify_unary_operation): Implement the
30 same semantics for folding floating point to integer conversions
31 in RTL.
32
4dbe1556
CD
332003-10-03 Chris Demetriou <cgd@broadcom.com>
34
35 * config/mips/mips.c (mips_emit_prefetch): Restructure
36 to avoid use of arrays, handle indexed prefetch.
37 * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
38 (ISA_HAS_PREFETCHX): New deffine.
39 * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
40 update comments.
41 (prefetch_indexed_di, prefetch_indexed_si): New insns.
42
f451eeef
JS
432003-10-03 Jeff Sturm <jsturm@one-point.com>
44 Roger Sayle <roger@eyesopen.com>
45
46 PR optimization/12289
47 * calls.c (emit_call_1): Pretend to have popped the arguments
48 to noreturn and longjmp functions instead of ignoring them.
49 (expand_call): Don't adjust stack_pointer_dela while
50 inhibit_defer_pop is set.
51
c6c51600
AS
522003-10-03 Andreas Schwab <schwab@suse.de>
53
54 PR bootstrap/12276
55 * configure.in: Check for libunwind on the host only if building
56 a native compiler.
57 * configure: Regenerated.
58
290f6157
PC
592003-10-03 Paolo Carlini <pcarlini@unitus.it>
60
61 * unwind-pe.h (read_encoded_value_with_base): Constify u and
62 its inizialization cast.
63
17a35133
RS
642003-10-03 Richard Sandiford <rsandifo@redhat.com>
65
66 PR target/12485
67 * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
68
5114f0ed
MM
692003-10-02 Mark Mitchell <mark@codesourcery.com>
70
71 PR optimization/12180
72 * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
8b47fa06 73 functions containing calls to __builtin_next_arg.
5114f0ed 74
cee2bc2b
CD
752003-10-02 Chris Demetriou <cgd@broadcom.com>
76
77 * config/mips/mips.c (mips_emit_prefetch): Use operand 3
78 in instructions being output.
79 * config/mips/mips.md (prefetch_si_address): Change third
80 operand's constraint letter to 'I'.
81 (prefetch_di_address): Likewise.
82 (prefetch_si, prefetch_di): Set third operand to const0_rtx.
83
30ee56e1
ZW
842003-10-02 Zack Weinberg <zack@codesourcery.com>
85
86 * system.h: Poison macros obsoleted by earlier patch.
87 * config/cris/cris.c: C90-ify a function definition.
88
b9dc9cf1
JZ
892003-10-02 Josef Zlomek <zlomekj@suse.cz>
90
91 PR/12292
92 * combine.c (make_field_assignment): Check whether rtx's code
93 is CONST_INT before using INTVAL.
94
b97e92ed
JZ
952003-10-02 Josef Zlomek <zlomekj@suse.cz>
96
97 * cgraph.c (cgraph_node): Use INSERT instead of 1 in
98 htab_find_slot_with_hash.
99 (cgraph_node_for_identifier): Use NO_INSERT.
100 (cgraph_remove_node): Use NO_INSERT.
101 (cgraph_varpool_node): Use INSERT.
30ee56e1 102 (cgraph_varpool_node_for_identifier): Use NO_INSERT.
b97e92ed 103
eae216e8
JZ
1042003-10-02 Josef Zlomek <zlomekj@suse.cz>
105
106 Waldek Hebisch <hebisch@math.uni.wroc.pl>
107 PR/12072
108 * varasm.c (compare_constant): Fix thinko.
109
28a60850
RS
1102003-10-02 Richard Sandiford <rsandifo@redhat.com>
111
112 * config/frv/frv.c (frv_issue_rate): New function.
113 (frv_pack_insns): Use it.
114 (TARGET_SCHED_ISSUE_RATE): Define.
115
08903e08
SB
1162003-10-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
117
118 * config/mcore/mcore.c: Convert to ISO C90 function declarations
119 and definitions.
120 * config/mcore/mcore.h: Likewise.
121 * config/mcore/mcore-protos.h: Likewise.
122
ffb344c1
RS
1232003-10-02 Richard Sandiford <rsandifo@redhat.com>
124
125 * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
126 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
127
efef2a5f
PB
1282003-10-01 Per Bothner <pbothner@apple.com>
129
130 * c-lex.c (src_line): Remove unneeded static variable.
131 (cb_line_change): Set input_line directly, instead of src_line.
132 (get_non_padding_token): We no longer need to compensate for the
133 "horrible things" the C++ front-end does with the current line number,
134
40de9f76
PB
135 * cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change
136 callback even when popping the main file.
f4b2bde7
PB
137 * c-lex.c (fe_file_change): Handle a NULL new_map.
138 * fix-header.c (cb_file_change): Likewise.
139 * c-ppoutput.c (pp_file_change): Likewise.
140
4dc299fb
PB
141 * cppinit.c (cpp_read_main_file): Split into two functions:
142 Distribute _cpp_stack_file call over the two functions.
143 (cpp_find_main_file): New function.
144 Don't call _cpp_do_file_change even if working_directory flag set.
145 (cpp_push_main_file): New function.
146 * cppfiles.c (_cpp_find_failed): New helper function.
147 (find_file): Made non-static and renamed to _cpp_find_file.
148 (_cpp_stack_file): No longer needed. But note the following.
149 (stack_file): Made non-static and renamed to _cpp_stack_file.
150 * fix-header.c (cpp_read_main_file): Replace cpp_read_main_file
151 call with calls to cpp_find_main_file and cpp_push_main_file.
152 (search_path_head): If there is no current buffer, use main_file.
153 * cpphash.h: Update function declarations.
154 * cpplib.h: Update function declarations.
155
31703a61
PB
156 * c-opts.c (c_common_post_options): Don't call cpp_find_main_file yet.
157 (c_common_parse_file): No longer need to call cpp_read_main_file
158 when file_index > 0 (as in multi-file or server compiation).
159 (finish_options): Change to <built-in> is an LC_ENTER, not LC_RENAME
160 as this now happens before cpp_push_main_file.
161 (push_command_line_include): When done with options, pass LC_LEAVE
162 instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
163 (fe_file_change): Handle NULL new_map, and simplify.
a506c55c
PB
164 * cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed
165 08-28 change, since we're never called with a NULL buffer.
166 (_cpp_lex_direct): Likewise.
167 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
168 Return false if buffer is NULL at end.
169
170 * cpplex.c (_cpp_get_fresh_line): Return value now just depends on
171 whether pfile->buffer is NULL after pop, ignoring return_at_eof.
40de9f76
PB
172 * cpphash.h (struct cpp_buffer): Remove unused return_at_eof field.
173 * cpplib.c (cpp_push_buffer): Since we no longer set return_at_eof,
174 remove the unused return_at_eof parameter.
175 * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
176 Update callers of cpp_push_buffer.
a506c55c 177
c15c90bb
ZW
1782003-10-01 Zack Weinberg <zack@codesourcery.com>
179
180 * target.h (init_libfuncs): New hook.
181 * target-def.h: Default TARGET_INIT_BUILTINS and
182 TARGET_INIT_LIBFUNCS to hook_void_void. Add
183 TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
184 * builtins.c (default_init_builtins): Delete.
185 * expr.h (default_init_builtins): Delete prototype.
186 * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
187 Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
188 Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
189 DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
190 MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
191 and UMODDI3_LIBCALL,
192
193 * Makefile.in (optabs.o): Depends on target.h.
194 * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
195 * optabs.c: Include target.h.
196 (prepare_float_lib_cmp): No need for #ifdef around use of
197 FLOAT_LIB_COMPARE_RETURNS_BOOL.
198 (set_optab_libfunc): New function.
199 (init_optabs): Delete use of all *_LIBCALL defines.
200 Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
201 * optabs.h: Prototype set_optab_libfunc.
202
203 * config.gcc: Remove all references to pa/long_double.h,
204 ia64/hpux_longdouble.h, and gofast.h.
205 (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
206 to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
207
208 * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
209 * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
210 * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
211 * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
212 * config/sparc/sparc.c, config/vax/vax.c:
213 Provide a definition for TARGET_INIT_LIBFUNCS. Where
214 necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
215
216 * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
217 * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
218 * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
219 * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
220 * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
221 * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
222 * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
223 * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
224 INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
225
226 * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
227 Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
228 * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
229 HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
230 * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
231
232 * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
233 * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
234 SUN_INTEGER_MULTIPLY_64 to 0.
235 * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
236 SUN_INTEGER_MULTIPLY_64 to 1.
237 * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
238 SUN_INTEGER_MULTIPLY_64 to 0.
239 * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
240 Define US_SOFTWARE_GOFAST.
241 * config/vax/vax.h: Default TARGET_ELF to 0.
242 * config/vax/elf.h: Redefine TARGET_ELF to 1.
243
244 * config/gofast.h: Don't define any macros here. Provide one
245 static function, gofast_maybe_init_libfuncs, which does what
246 INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
247 is already defined. Do not clear negation libfuncs. Do
248 not mess with HFmode, XFmode, or TFmode libfuncs.
249
250 * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
251
2409cb37
KC
2522003-10-01 Kelley Cook <kelleycook@wideopenwest.com>
253
254 PR C/12466
255 * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
256
9a032f82
RO
2572003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
258
259 * config/mips/xm-iris5.h: Remove, unnecessary.
260 * config.build (mips-sgi-irix5*): Remove.
261 (mips-sgi-irix6*o32): Likewise.
262 * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
263 (mips-sgi-irix5cross64): Likewise.
264 (mips-sgi-irix5*): Likewise.
265 * config.host (mips-sgi-irix5*): Remove.
266 (mips-sgi-irix6*o32): Likewise.
267
3a7cbb76
ZW
2682003-10-01 Zack Weinberg <zack@codesourcery.com>
269
270 * dbxout.c (dbxout_fptype_value): Delete.
271 (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
272
b2218cc1
AO
2732003-10-01 Alexandre Oliva <aoliva@redhat.com>
274
275 * output.h (compute_reloc_for_constant): Declare.
276 * varasm.c (compute_reloc_for_constant): Extract from...
277 (output_addressed_constants): ... here. Adjust all callers.
278
2ce240d3
JDA
2792003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
280
281 * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
282 * configure: Rebuilt.
283
1358cdc5
RK
2842003-10-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
285
286 * fold-const.c (make_range): When handling unsigned, don't reverse
287 range if high bound is zero.
288
64177a6d
AO
2892003-09-30 Alexandre Oliva <aoliva@redhat.com>
290
b2218cc1 291 * config/frv/frv.h (PREDICATE_CODES): Added
64177a6d
AO
292 condexec_si_media_operator, condexec_sf_add_operator and
293 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
294 and condexec_sf_unary_operator.
295
fecba15f
JDA
2962003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
297
298 * aclocal.m4: Add ultrix* to /dev/zero blacklist.
299 * configure: Rebuilt.
300
c14aea87
RO
3012003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
302
303 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
304 Allow override.
305 * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
306
d00eacab
DM
3072003-09-23 David S. Miller <davem@redhat.com>
308
309 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
310 before redefining.
311 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
312
6640377c
SB
3132003-10-01 Steven Bosscher <steven@gcc.gnu.org>
314
315 * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
316 C90 function declarations and definitions.
317
3fc87ac1
NN
3182003-10-01 Nathanael Nerode <neroden@gcc.gnu.org>
319
320 * config.gcc (cris-*-linux*): Revert mistaken commit.
321
8ee37f15
EB
3222003-10-01 Eric Botcazou <ebotcazou@libertysurf.fr>
323
324 PR optimization/11753
325 * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
326 the length in the non-V9 case.
327
ed80cd68
RH
3282003-09-30 Richard Henderson <rth@redhat.com>
329
330 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
331 DWARF_ALT_FRAME_RETURN_COLUMN.
332 * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
333 (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
334 (uw_frame_state_for): Return end-of-stack for null return address.
335 * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
336
337 * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
338 (alpha_expand_prologue): Store a zero for it.
339 (alpha_expand_epilogue): Don't reload it.
340 * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
341 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
342 for the sigframe return address.
343
bf9d3c27
KC
3442003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
345
346 * sdbout.c: Convert to ISO C90 prototypes.
347 * objc/objc-act.c: Likewise.
348
6594e599
KC
3492003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
350
351 * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
352 * config/i386/winnt.c: Likewise.
353 * config/i386/cygming.h: Likewise.
354
51872377
KH
3552003-09-30 Kazu Hirata <kazu@cs.umass.edu>
356
357 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
358 (A ^ B) - B for any B.
359
8cefb55d
NN
3602003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
361
362 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
363 powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
364
5fb12879 3652003-09-30 Richard Earnshaw <rearnsha@arm.com>
6a436e5e 366
5fb12879
RE
367 * arm/ieee754-sf.S: Tidy formatting.
368
3692003-09-30 Nicolas Pitre <nico@cam.org>
370
371 * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
6a436e5e 372 and ARM_MOD_BODY.
5fb12879
RE
373 (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
374 (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
6a436e5e 375 added better divisor alignment in the other case.
5fb12879 376 (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
6a436e5e
NP
377 (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
378 macros above, add fast exits for divisor >= dividend, etc.
379
5fb12879 3802003-09-30 Nicolas Pitre <nico@cam.org>
47edf59e 381
5fb12879 382 * arm/ieee754-df.S: Split compilation of fixunsdfsi from
47edf59e 383 L_fixdfsi target.
5fb12879 384 * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
47edf59e
RE
385
3862003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
ec2a60b0
NN
387
388 * config.gcc: Default use_fixproto to 'no'.
389
573850d4
RS
3902003-09-30 Richard Sandiford <rsandifo@redhat.com>
391
392 PR optimization/12345
393 * config/mips/mips-protos.h (mips_restore_gp): Remove.
394 (mips_gp_save_slot): Declare.
395 * config/mips/mips.c (mips_restore_gp): Remove in favor of...
396 (mips_gp_save_slot): ...this new function.
397 * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
398 and mips_output_move to generate the output template.
399 (call_internal): Force splitting if TARGET_SPLIT_CALLS. Don't emit
400 a gp load after a noreturn call. Load the gp using a move rather
401 than an exception_receiver pattern.
402 (call_value_internal, call_value_multiple_internal): Likewise.
403 (call_split, call_value_split, call_value_multiple_split): Clobber $28.
404
b82c4660
CW
4052003-09-30 Carlo Wood <carlo@alinoe.com>
406
407 PR debug/12319
3a7cbb76 408 * cfglayout.c (insn_scope): Use prologue_locator and
b82c4660
CW
409 epilogue_locator; return the outer function scope for
410 pro- and epilogue insns.
411
563556ca
ZW
4122003-09-29 Zack Weinberg <zack@codesourcery.com>
413
414 * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
415 REAL_TYPEs based on the bitsize of the type's mode, not the
416 mode directly.
417
9d340419
RO
4182003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
419
420 * dwarf2out.c (default_eh_frame_section): Split into ...
421 (named_section_eh_frame_section, collect2_eh_frame_section): ... new
563556ca 422 functions.
9d340419
RO
423 * output.h (named_section_eh_frame_section): Declare.
424 (collect2_eh_frame_section): Likewise.
425
b409761a
ZW
4262003-09-29 Zack Weinberg <zack@codesourcery.com>
427
bc800bb2
ZW
428 * real.c (real_sqrt): Use get_canonical_qnan directly.
429
d464f1b8
ZW
430 * dwarf2out.c (add_const_value_attribute): Use real_to_target.
431
b409761a
ZW
432 * varasm.c (assemble_real): Use real_to_target directly,
433 calculate the number of significant elements of the result
434 array and write them out in a loop, instead of using a giant
435 switch statement to pick the correct REAL_VALUE_TO_TARGET_*
436 macro.
437
f820b0cf
JH
438Mon Sep 29 22:59:05 CEST 2003 Jan Hubicka <jh@suse.cz>
439
440 PR c++/12175
441 * varasm.c (notice_global_symbol): Discard external symbols.
442
443 PR optimization/12286
444 * gcov-io.c (gcov_read_words): Fix memmove call.
445 * profile.c (compute_branch_probabilities): Add extra sanity checks.
446
51ac684e
RO
4472003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
448
449 * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
450 Solaris 7-9.
451
452 * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
453 wildcards which explicitly match micro versions.
454 * fixinc/fixincl.x: Regenerate.
455
38b35623
KH
4562003-09-29 Kazu Hirata <kazu@cs.umass.edu>
457
458 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
459 (A ^ B) - B, where B is any power of 2 minus 1.
460
43ac2623
JH
461Mon Sep 29 19:05:46 CEST 2003 Jan Hubicka <jh@suse.cz>
462
463 * libgcov.c (gcov_exit): Fix two pastos.
464
681a664b
KH
4652003-09-29 Kazu Hirata <kazu@cs.umass.edu>
466
467 * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
468 define_split immediately below to form define_insn_and_split.
469
22a3d55f
KH
4702003-09-29 Kazu Hirata <kazu@cs.umass.edu>
471
472 * config/h8300/h8300.md (*tstsi_variable_bit): New.
473 (*tstsi_variable_bit_qi): Likewise.
474
5560a945
PE
4752003-09-28 Phil Edwards <phil@codesourcery.com>
476
477 * doc/cppopts.texi: Use 'dashMP' instead of '-MP' as a cross-
478 reference name.
479
436fac17
RH
4802003-09-28 Richard Henderson <rth@redhat.com>
481
482 * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
483 file and line separately.
484
b2ba71ca
UW
4852003-09-28 Ulrich Weigand <uweigand@de.ibm.com>
486
487 * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
488 "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
489 "*subdi3_borrow_cconly"): New insns.
490 ("*addsi3_sub", "*subsi3_sub"): Remove.
491 ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
492 ("*subsi3_cc"): Fix op_type attribute.
493
177560b2
RH
4942003-09-28 Richard Henderson <rth@redhat.com>
495
496 * stmt.c (expand_asm_operands): Take a location_t, instead of
497 individual file and line.
498 * c-typeck.c (c_expand_asm_operands): Likewise.
499 * tree.h (expand_asm_operands): Update decl.
500 * c-common.h (c_expand_asm_operands): Likewise.
501 * c-semantics (genrtl_asm_stmt): Update call.
502
94428622
PB
5032003-09-28 Philip Blundell <philb@gnu.org>
504
505 * config/arm/arm.c (legitimize_pic_address): Check
506 SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
507 (arm_assemble_integer): Likewise.
508
f12b3fc8
SB
5092003-09-28 Steven Bosscher <steven@gcc.gnu.org>
510
511 * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
512 config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
513 config/c4x/c4x.h:
514 Convert to ISO C90 function declarations and definitions.
515
51c16b7e
SB
5162003-09-28 Steven Bosscher <steven@gcc.gnu.org>
517
518 * config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
519 Convert to ISO C90 function declarations and definitions.
520
c54859d3
RS
5212003-09-28 Richard Sandiford <rsandifo@redhat.com>
522
523 * config/mips/mips.c (mips_constant_info): Add reloc field.
524 (mips_classify_constant): Initialize it. Always set SYMBOL to the
525 underlying symbol, not to an unspec.
526 (mips_delegitimize_address, print_operand): Clean up accordingly.
527
d34053ed
RS
5282003-09-28 Richard Sandiford <rsandifo@redhat.com>
529
530 * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
531 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
532 * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
533 (mips_classify_constant): Use it.
534 (mips_splittable_symbol_p): Add an offset argument.
535 (mips_classify_address): Adjust call accordingly.
536 (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
537 than a relocation unspec. Update call to mips_splittable_symbol_p.
538 Generalize the code that copes with symbols + invalid offsets.
539 (print_operand): Allow '%R' to be applied to small data addresses.
540 (mips_reloc_string): Remove RELOC_GPREL16.
541 (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg. Return $gp
542 for TARGET_EXPLICIT_RELOCS. Return null if we can't use gp-relative
543 relocation operators.
544 * config/mips/mips.md (RELOC_GPREL16): Remove. Shuffle other reloc
545 constants accordingly.
546
c67e6e14
RS
5472003-09-27 Roger Sayle <roger@eyesopen.com>
548
549 * toplev.c (flag_evaluation_order): New global variable.
550 * flags.h (flag_evaluation_order): Prototype here.
551 * expr.c (expand_operands): If we need to preserve observable
552 evaluation order, protect exp1 from clobbering exp0's result.
553
edaf3e03
AJ
5542003-09-28 Andreas Jaeger <aj@suse.de>
555
556 * c-decl.c (finish_function): Convert definition to ISO C90.
557 * ifcvt.c (mark_loop_exit_edges): Likewise.
558 * ra-rewrite.c (emit_colors): Likewise.
559
1e43319c
NN
5602003-09-27 Nathanael Nerode <neroden@gcc.gnu.org>
561
4bf1dc65 562 * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
75e52d96 563 * config.gcc (arm*-*-uclinux*): Disable fixproto.
1e43319c
NN
564 * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
565 powerpc-*-eabialtivec*): Disable fixproto.
566
e8226879
EB
5672003-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
568
569 PR optimization/12340
570 * loop.h (struct induction): Document the new semantics
571 of the 'same' field for bivs.
572 * unroll.c (biv_total_increment): Don't count the same
573 biv increment several times.
574 (loop_iterations) [GENERAL_INDUCT]: Likewise.
575
337f35bb
GS
5762003-09-27 Graham Stott <graham.stott@btinternet.com>
577
578 * unroll.c (loop_interations)[GT]: Add missing break.
579
7ec022b2
KC
5802003-09-27 Kelley Cook <kcook@gcc.gnu.org>
581
582 * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
583 config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
584 config/dbxelf.h, config/elfos.h, config/fp-bit.h,
585 config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
586 config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
587 config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
588 config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
589 config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
590 config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
591 config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
592 config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
593 config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
594 config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
595 config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
596 config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
597 config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
598 config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
599 config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
600 config/alpha/xm-vms.h, config/arc/arc-modes.def,
601 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
602 config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
603 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
604 config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
605 config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
606 config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
607 config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
608 config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
609 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
610 config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
611 config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
612 config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
613 config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
614 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
615 config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
616 config/i960/i960-c.c, config/i960/i960-coff.h,
617 config/i960/i960-modes.def, config/i960/i960-protos.h,
618 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
619 config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
620 config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
621 config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
622 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
623 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
624 config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
625 config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
626 config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
627 config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
628 config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
629 config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
630 config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
631 config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
632 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
633 config/mcore/mcore-protos.h, config/mcore/mcore.c,
634 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
635 config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
636 config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
637 config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
638 config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
639 config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
640 config/mips/vr.h, config/mn10300/linux.h,
edaf3e03 641 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
7ec022b2
KC
642 config/mn10300/mn10300.h, config/mn10300/mn10300.md,
643 config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
644 config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
645 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
646 config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
647 config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
648 config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
649 config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
650 config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
651 config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
652 config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
653 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
654 config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
655 config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
656 config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
657 fixinc/fixinc.svr4: GNU CC -> GCC.
658
b3aac965
LR
6592003-09-26 Loren James Rittle <ljrittle@acm.org>
660
661 * objc/objc-act.c (tm_p.h): Tweak order.
3c437d12 662 * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
b3aac965 663
a6e98532
NN
6642003-09-26 Nathanael Nerode <neroden@gcc.gnu.org>
665
63e002bd
NN
666 * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
667 Include t-slibgcc-elf-ver and t-linux in tmake_file.
488c4e94
NN
668 * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
669 Disable fixproto.
0a66cee8
NN
670 * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
671 Disable fixproto.
96f8d04e
NN
672 * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
673 sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
674
a6e98532
NN
675 * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
676
9e2f83d2
LR
6772003-09-26 Loren James Rittle <ljrittle@acm.org>
678
679 * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
680 * objc/objc-act.c (tm_p.h): Include.
681
8aa43dd0
PB
6822003-09-26 Per Bothner <pbothner@apple.com>
683
684 * dbxout.c (dbxout_typedefs): Output typedefs in forward order.
685 No longer any need to reverse by recursion.
686
073089a7
RS
6872003-09-26 Roger Sayle <roger@eyesopen.com>
688 Richard Henderson <rth@redhat.com>
689
690 PR optimization/11741
691 * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
692 appropriate set to match that in hash_scan_insn. Fall back to
693 the original copy method, if we can't validate changing insn.
694 (pre_delete): Only delete instructions that have a single_set,
695 instead of aborting when we encounter an PARALLEL insn with more
696 then one SET.
697
43ab026f
AK
6982003-09-26 Andreas Krebbel <krebbel1@de.ibm.com>
699
700 * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
701 ("builtin_longjmp"): Insn deleted.
edaf3e03 702 ("save_stack_nonlocal"): Save literal pool base pointer behind
43ab026f
AK
703 backchain and stack pointer.
704 ("restore_stack_nonlocal"): Restore literal pool base pointer.
705 * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
706 the stack save area for the nonlocal goto case.
707
e72ed000
JDA
7082003-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
709
710 PR bootstrap/12358
711 * pa.c (output_bvb): Fix typo.
712
9f5e2e11
RS
7132003-09-26 Richard Sandiford <rsandifo@redhat.com>
714
715 * expmed.c (store_bit_field): Don't search for an integer mode
716 unless we need the result.
717
5581fc91
RS
7182003-09-26 Richard Sandiford <rsandifo@redhat.com>
719
720 * expr.c (emit_move_insn_1): If there is no move pattern for the
721 original mode, try using a pattern for the corresponding integer mode.
722
9eb54558
RS
7232003-09-26 Richard Sandiford <rsandifo@redhat.com>
724
acad01a5 725 PR middle-end/9200
9eb54558
RS
726 * combine.c (if_then_else_cond): Tighten mode check.
727
e20285ad
NN
7282003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
729
a8016863
NN
730 * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
731 'struct _cpp_strbuf'.
732
a805d35f
NN
733 * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
734 config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
735 config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
736 config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
737 config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
738 config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
739 config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
740 config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
741 config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
742 "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
edaf3e03
AJ
743 * config/i386/i386-aout.h, config/i386/i386-coff.h,
744 config/i386/i386-interix.h, config/i386/i386-interix3.h,
188fc5b5
NN
745 config/i386/i386-modes.def, config/i386/i386-protos.h,
746 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
747 config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
748 config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
749 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
750 config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
751 "GNU compiler" -> GCC.
e20285ad
NN
752 * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
753 config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
754 config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
755 config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
756 config/i386/freebsd-aout.h, config/i386/freebsd.h,
757 config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
758
7d82fe7c
KC
7592003-09-25 Kelley Cook <kelleycook@wideopenwest.com>
760
761 * cgraph.c (dump_cgraph): Don't output newline before dump. Add in
762 "local" to the callgraph dump. Output "after inlining" earlier.
763 * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
764 callgraph dumps. Correct misspellings.
765 (cgraph_decide_inlining): Output number of insns before inlining.
766 Output the calling function into which a function is inlined.
767 (cgraph_decide_small_functions): Format dump file like always_inline.
768
c73f02be
LR
7692003-09-25 Loren James Rittle <ljrittle@acm.org>
770
771 * config/i386/i386.h (ix86_return_in_memory): Add prototype.
772
7333171f
UW
7732003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
774
775 * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
776 FPR slots in the save area.
777 (s390_emit_epilogue): Likewise.
778
cb967da5
RS
7792003-09-25 Richard Sandiford <rsandifo@redhat.com>
780
781 * cgraph.h (cgraph_remove_edge): Declare.
782 * cgraph.c (cgraph_remove_edge): Make extern.
783 * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
784 instead of cgraph_remove_call.
785
1992534f
UW
7862003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
787
788 * objc/objc-act.c (gen_declaration_1): Fix printf format.
789
131b9f3d
RE
7902003-09-25 Richard Earnshaw <rearnsha@arm.com>
791
792 * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
793 arm7tdmi core.
794
26d8a393
ZL
7952003-09-25 Ziemowit Laski <zlaski@apple.com>
796
797 * config/darwin-protos.h (objc_image_info_section):
798 New prototype.
799
d70f15d2
ZL
8002003-09-25 Ziemowit Laski <zlaski@apple.com>
801
802 * Makefile.in (stub-objc.o): Depend on $(GGC_H).
803
16aa42c0
NN
8042003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
805
806 * config.gcc: Get rid of more gratuitious 'x'es. Actually allow
807 tsc701 as a --with-cpu, --with-tune setting for sparc.
808
4a6bcd93
ZL
8092003-09-25 Ziemowit Laski <zlaski@apple.com>
810
d70f15d2 811 * c-parse.in (objc_try_stmt): Do not specify a %type.
4a6bcd93 812
8179b3c8
NN
8132003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
814
815 * config.gcc: New 'widely ported system' clause for rtems.
816 Set thread file there, not in individual clauses.
817
e72ed4a7
RS
8182003-09-25 Richard Sandiford <rsandifo@redhat.com>
819
e7b91708 820 PR target/6222
e72ed4a7
RS
821 * config/mips/mips.c (mips_va_arg): Handle arguments that must be
822 passed on the stack.
823
f851b49e
NN
8242003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
825
4d6d5bb2
NN
826 * config.gcc (widely ported systems section): Mostly alphabetize
827 by system. Comment the case where we can't.
e3029773
NN
828 * config.gcc (widely ported systems section): Reindent and clean up.
829
b597bfd8
NN
830 * config.gcc: Remove some unnecessary uses of 'x' in case statements.
831 Actually allow ep9312 as an arm --with-arch setting.
832
f851b49e
NN
833 * config.gcc (*-hpux11): Disable fixproto.
834
230fcd32
PE
8352003-09-24 Phil Edwards <phil@codesourcery.com>
836
837 PR pch/12112
838 * gcc/cppfiles.c (pch_open_file): Return based on combined
b409761a 839 result of all files.
230fcd32 840 (validate_pch): Return validate flag for current file.
edaf3e03 841
d8becd55
RS
8422003-09-24 Roger Sayle <roger@eyesopen.com>
843
844 PR bootstrap/12358
845 * fold-const.c (tree_swap_operands_p): Only reorder operands when
846 one of the operands is constant.
847
264fa2db
ZL
8482003-09-24 Ziemowit Laski <zlaski@apple.com>
849
850 MERGE OF objc-improvements-branch into MAINLINE:
851 * Makefile.in (C_OBJS): Add in stub-objc.o.
852 (c-parse.y): Change sed demarcations to begin with '@@'.
853 (stub-objc.o): New rule.
854 * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
855 flag_replace_objc_classes): New flags.
856 * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
857 RID_AT_SYNCHRONIZED): New keywords.
858 (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
859 flag_replace_objc_classes): New flags.
860 (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
861 objc_comptypes, objc_message_selector, lookup_objc_ivar,
862 get_current_scope, objc_mark_locals_volatile): New prototypes,
863 some moved from c-tree.h.
864 * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
865 (finish_decl): Adjust where objc_check_decl() gets called.
866 * c-lang.c (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
867 objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
868 * c-opts.c (c_common_handle_option): Add handling for flag_nil_receivers,
869 flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
870 * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
871 '@@end_ifc', respectively.
872 (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
873 (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
874 objc_finally_block): New rules.
875 (component_decl_list2): Clean up semantic action for @defs construct.
876 (component_decl, c99_block_start): Remove call to add_objc_decls().
877 (poplevel): Add call to objc_clear_super_receiver().
878 (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
879 constructs.
880 (classdef, methodprotolist): Clean up/simplify.
881 (methodprotolist2): Eliminate.
882 (methodproto): Call add_method() instead of add_class_method() and
883 add_instance_method().
884 (receiver): Add TYPENAME production.
885 (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
886 (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
887 AT_SYNCHRONIZED.
888 * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
889 objc_comptypes, objc_message_selector)
890 * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
891 struct and pointer types.
892 (build_c_cast): Do not discard ObjC protocol qualifiers.
893 (convert_for_assignment): Cache result of comp_target_types() instead
894 of calling it more than once.
895 * c.opt (fnext-runtime): Update description string.
896 (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
897 New ObjC/ObjC++-specific flags.
898 * function.h (GCC_FUNCTION_H): Header guard.
899 * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
900 * stub-objc.c: New file, to be used to satisfy references to ObjC
901 functions by the C and C++ front-ends.
902 * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
903 * config/darwin.h (FUNCTION): Add in_objc_image_info.
904 (SECTION_FUNCTION): Add objc_image_info_section.
905 * doc/invoke.texi: Link to GCC web site for Objective-C information.
906 (-fconstant-string-class): Update documentation.
907 (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
908 -fzero-link): New documentation.
909 * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
910 with '@@'.
911 * objc/lang-specs.h (@objective-c-header): Fix -E spec.
912 * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
913 throughout; provide casts for return values from memory allocation
914 functions (xmalloc, alloca, ggc_alloc, etc.).
915 (OBJC_VOID_AT_END): New macro.
916 (rtl.h): Do not #include any more.
917 (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
918 (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
919 TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
920 TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
921 TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
922 (struct val_stack, catch_count_stack, exc_binding_stack, val_stack_push,
923 val_stack_pop): New.
924 (objc_check_decl): Fix precondition for error message, along with
925 the message itself.
926 (lookup_and_install_protocols): Remove nonexistent protocols from
927 protocol list instead of returning error_mark_node.
928 (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
929 (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
930 (synth_module_prologue): General clean-up; construct NeXT-specific
931 runtime API prototypes if needed.
932 (build_string_class_template): Remove.
933 (check_string_class_template, string_layout_checked): New.
934 (build_objc_string_object): Generalize to work with
935 -fconstant-string-class.
936 (build_objc_symtab_template): Fix layout for the NeXT runtime.
937 (build_metadata_decl): New.
938 (forward_declare_categories): Call build_metadata_decl() instead of
939 create_builtin_decl() et al.
940 (build_module_descriptor): Use OBJC_VOID_AT_END instead of
941 void_list_node_1.
942 (build_selector_reference_decl, build_class_reference_decl,
943 build_objc_string_decl): Do not set TREE_READONLY.
944 (get_proto_encoding): Do not call hack_method_prototype().
945 (get_class_reference): Add failure mode for invalid class names;
946 support -fzero-link; defer if in an ObjC++ template declaration.
947 (objc_declare_alias, objc_declare_class): Fix up duplicate name
948 lookup; check for global scope if in ObjC++.
949 (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
950 RECORD_TYPE, IDENTIFIER_NODE, etc.)
951 (objc_is_id): Removed.
952 (objc_is_object_ptr): New function.
953 (get_class_ivars_from_name): New function, used for @defs construct.
954 (get_class_ivars): Add option to return raw ivars; create a
955 ClASS_OWN_IVARS list for each class as needed.
956 (objc_enter_block, objc_exit_block, objc_declare_variable,
957 objc_build_throw_stmt, val_stack_push, val_stack_pop,
958 objc_build_try_enter_fragment, objc_build_extract_expr,
959 objc_build_try_exit_fragment, objc_build_extract_fragment,
960 objc_build_try_prologue, objc_build_try_epilogue,
961 objc_build_catch_stmt, objc_build_catch_epilogue,
962 objc_build_finally_prologue, objc_build_finally_epilogue,
963 objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
964 objc_build_synchronized_epilogue, build_objc_exception_stuff):
965 New functions.
966 (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
967 the future).
968 (build_private_template): Fix up calls to get_class_ivars().
969 (offset_is_register, forwarding_offset): Remove.
970 (objc_method_parm_type, objc_encoded_type_size): New functions.
971 (encode_method_prototype): Simplify to no longer depend on
972 back-end information.
973 (build_tmp_function_decl_xxx, build_tmp_function_decl,
974 hack_method_prototype): Removed.
975 (generate_protocol_references): Remove calls to
976 build_tmp_function_decl().
977 (generate_protocols): Adjust calls to encode_method_prototype().
978 (build_class_template): Generate sel_id' and 'gc_object_type' fields
979 for the NeXT runtime.
980 (synth_forward_declarations): Call build_metadata_decl().
981 (check_ivars): Check that the number of ivars matches also.
982 (build_super_template): Modify super_type directly; disable debugging
983 output while generating decl.
984 (build_ivar_list_initializer): Skip list elements that are not
985 FIELD_DECLs.
986 (ivar_list_length): New function.
987 (generate_ivar_lists): Call ivar_list_length() instead of list_length()
988 and encode_method_prototype() instead of encode_method_def().
989 (build_shared_structure_initializer): Generate 'sel_id' field for
990 the NeXT runtime.
991 (generate_category): Do not set TREE_USED.
992 (build_keyword_selector): Ditto; transform into a function argument
993 chain.
994 (get_arg_type_list): If there are no user-specified arguments, use
995 '...'; use OBJC_VOID_AT_END.
996 (check_duplicates): Add a parameter indicating whether methods or
997 selectors are being checked.
998 (receiver_is_class_object): Add parameters indicating whether
999 receiver is 'self' or 'super'; robustify.
1000 (build_message_expr): Defer call to finish_message_expr() if
1001 inside an ObjC++ template.
1002 (lookup_method_in_hash_lists): New function.
1003 (finish_message_expr): Complete rewrite/fix.
1004 (build_objc_method_call): Ditto; factor out commonalities between
1005 the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
1006 messenger variants on the NeXT.
1007 (lookup_instance_method_static, lookup_class_method_static):
1008 Fold into a single lookup_method_static() function with an
1009 additional parameter.
1010 (add_class_method, add_instance_method): Fold into a single
1011 add_method() function with an additional parameter.
1012 (add_category): Make duplicate categories a hard error in ObjC++.
1013 (add_instance_variable): Properly handle unnamed ivars, arrays of
1014 zero or no size and bitfields. In ObjC++, check for nontrivial
1015 C++ class instances.
1016 (is_public): Allow C functions to access non-@public ivars, with
1017 a warning.
1018 (start_class): Move common initializations to
1019 synth_module_prologue(); check for global scope if in ObjC++.
1020 (continue_class): Fix calls to finish_struct().
1021 (objc_declare_protocols, start_protocol): Check for global scope
1022 if in ObjC++.
1023 (encode_pointer): Encode 'BOOL *' specially on the NeXT.
1024 (encode_aggregate_within): Rewrite to properly distinguish
1025 struct tags from typedefs in both ObjC and ObjC++.
1026 (encode_bitfield, encode_complete_bitfield): Remove.
1027 (encode_next_bitfield, encode_gnu_bitfield): New functions.
1028 (encode_field_decl): Call encode_next_bitfield() or
1029 encode_gnu_bitfield() as needed.
1030 (synth_self_and_ucmd_args): New function.
1031 (start_method_def): Use it.
1032 (objc_types_are_equivalent): New function.
1033 (comp_proto_with_proto): Use it instead of comptypes(), since
1034 we need symmetry.
1035 (really_start_method): Use lookup_method_static() instead of
1036 lookup_class_method_static() and lookup_instance_method_static();
1037 Emit 'extern "C"' if in ObjC++ mode.
1038 (add_objc_decls): Removed.
1039 (UOBJC_SUPER_scope): New variable.
1040 (get_super_receiver): Move construction of 'super' from
1041 add_objc_decls(); remove dependency on struct objc_class.
1042 (encode_method_def): Removed; encode_method_prototype() is
1043 used instead.
1044 (objc_clear_super_receiver): New function.
1045 (objc_expand_function_end): Do not do anything for ordinary
1046 C functions.
1047 (finish_method_def): Mark ObjC methods as un-inlinable.
1048 (gen_declaration_1): Emit widths of bitfields.
1049 (finish_objc): Call generate_objc_image_info() if needed;
1050 use check_duplicates() when checking for selector duplicates.
1051 (generate_objc_image_info): New function.
1052 * objc/objc-act.h (add_instance_method, add_class_method,
1053 get_class_ivars): Remove prototypes.
1054 (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
1055 objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
1056 objc_build_catch_stmt, objc_build_catch_epilogue,
1057 objc_build_finally_prologue, objc_build_finally_epilogue,
1058 add_method, get_class_ivars_from_name): New prototypes.
1059 (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
1060 (TYPE_PROTOCOL_LIST): Robustify to distinguish from
1061 TRANSLATION_UNIT_DECLs.
1062 (OBJC_TYPE_NAME): New.
1063 (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
1064 got included.
1065 (IS_SUPER): Robustify.
1066 (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
1067 umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
1068 objc_exception_try_enter_decl, objc_exception_try_exit_decl,
1069 objc_exception_match_decl, objc_exception_throw_decl,
1070 objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
1071 objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
1072 objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
1073 objc_catch_type): New ObjC/ObjC++ roots.
1074 * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
1075 ObjC/ObjC++ tree node codes.
edaf3e03 1076
e2e1fa50
AO
10772003-09-24 Alexandre Oliva <aoliva@redhat.com>
1078
1079 * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
1080 code path that calls a handler.
1081
77cf10c9
NN
10822003-09-24 Nathanael Nerode <neroden@gcc.gnu.org>
1083
eb9a155e
NN
1084 * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
1085 Disable fixproto.
1086
35341073
NN
1087 * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
1088 the section giving $with_cpu defaults by target.
1089
77cf10c9
NN
1090 * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
1091 arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
1092 rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
1093 rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
1094 rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
1095 i[34567]86-pc-msdosdjgpp*): Disable fixproto.
1096
e876481c
DE
10972003-09-24 David Edelsohn <edelsohn@gnu.org>
1098
1099 * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
1100 together. Protect load string instruction with TARGET_STRING.
1101 (movti_string): Collapse case 1 and 2 together.
1102
ff42324e
NS
11032003-09-24 Nathan Sidwell <nathan@codesourcery.com>
1104
1105 * c-common.c (c_common_type_for_mode): Check for VOIDmode.
1106
8a81cc45
RE
11072003-09-24 Richard Earnshaw <rearnsha@arm.com>
1108
1109 * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
1110 do...while(0)
1111
a30ac781
NN
11122003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
1113
b9f2972f
NN
1114 * config.gcc: Move use_fixproto=no from generic vxworks clause to
1115 specific one.
1116
a30ac781
NN
1117 * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
1118 (accidentally missed in last pass).
1119
8ad9fb33
AP
11202003-09-23 Andrew Pinski <apinski@apple.com>
1121
1122 PR bootstrap/12383
1123 * configure: Regenerate.
1124
e743d226
NN
11252003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
1126
1127 * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
1128 missed in last pass).
1129
45adea50
AO
11302003-09-23 Alexandre Oliva <aoliva@redhat.com>
1131
1132 * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
1133 constant.
1134
7bc5294a
NN
11352003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
1136
9ab346a1
NN
1137 * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
1138
8b22a93b
NN
1139 * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
1140 powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
1141 powerpcle-*-eabi*): Disable fixproto.
1142
76bc249d
NN
1143 * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
1144 specific FreeBSD clauses.
980465f3
NN
1145 * config.gcc: Move use_fixproto=no from generic NetBSD clause to
1146 specific NetBSD clauses.
7bc5294a
NN
1147 * config.gcc: Move use_fixproto=no from generic OpenBSD clause
1148 to specific OpenBSD clauses.
1149
11502003-09-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3ffa9dc1
JDA
1151
1152 * pa.c (hppa_expand_prologue): Do pic register save in frame marker
1153 without adding a frame note.
1154 * pa.md (allocate_stack): Save pic register in new frame marker when
1155 generating pic code.
1156
a20af5b8
KC
11572003-09-23 Kelley Cook <kelleycook@wideopenwest.com>
1158
edaf3e03 1159 * cgraphunit.c (cgraph_expand_all_functions): Renamed from
a20af5b8
KC
1160 cgraph_expand_functions.
1161
269a7343
KG
11622003-09-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1163
1164 * Makefile.in (gnucompare*): Merge into ...
1165 (slowcompare*): ... here.
1166 (fastcompare*): New targets.
1167 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
1168 other "fast" cmp programs.
1169 * configure: Regenerate.
1170
d84a4ef1
RO
11712003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1172
1173 * targhooks.c: Include output.h.
1174 * Makefile.in (targhooks.o): Add output.h to dependency list.
edaf3e03 1175
92b836fa
RO
11762003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1177
1178 * config.host: Removed superfluous newline.
1179
b01bc573
NN
11802003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
1181
1182 * config.gcc: Use ${target}, not $machine.
1183 * configure.in: Don't set $machine.
1184 * configure: Regenerate.
1185
fff2cb99
GK
11862003-09-23 Geoffrey Keating <geoffk@apple.com>
1187
859a68dc
GK
1188 * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
1189
fff2cb99
GK
1190 * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
1191 pass zero-size arrays by reference.
1192 (rs6000_va_arg): Likewise.
1193
e5f11328
NN
11942003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
1195
1196 * config.gcc: Set use_fixproto=no in each specific *-gnu*
1197 configuration, rather than the generic one.
1198
1593ad2e
RH
11992003-09-23 Richard Henderson <rth@redhat.com>
1200
1201 * tree-inline.c (remap_save_expr): Map new save_expr to identity
1202 rather than to error_mark_node.
1203
5d4856a0
RO
12042003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1205
1206 * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
1207 Update description.
1208 * configure: Regenerate.
1209 * config.in: Likewise.
1210 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
edaf3e03 1211 HAVE_GAS_SHF_MERGE value.
5d4856a0
RO
1212 * varasm.c (mergeable_string_section): Likewise.
1213 (mergeable_constant_section): Likewise.
1214
5748beec
RO
12152003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1216
1217 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
1218 value.
1219
6773a41c
RO
12202003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1221
1222 * target.h (struct gcc_target): New member external_libcall.
1223 * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
1224 (TARGET_ASM_OUT): Use it.
1225 * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
1226 * targhooks.c: Convert to ISO C 90.
1227 (default_external_libcall): New function.
1228 * targhooks.h (default_external_libcall): Declare.
1229 * varasm.c (assemble_external_libcall): Use
1230 targetm.asm_out.external_libcall instead of
1231 ASM_OUTPUT_EXTERNAL_LIBCALL.
1232 * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
1233 (mips_output_external_libcall): Declare.
1234 * config/mips/mips.c (mips_output_external_libcall): Change
1235 definition guard.
1236 Change to match TARGET_ASM_EXTERNAL_LIBCALL.
1237 Only operate for O32 ABI.
1238 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
1239 instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
1240 * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
1241 superceded by TARGET_ASM_EXTERNAL_LIBCALL.
1242
d064c269
NN
12432003-09-22 Nathnael Nerode <neroden@gcc.gnu.org>
1244
e5f11328
NN
1245 * config.gcc: Do per-target disabling of fixproto here in clauses,
1246 not in t- fragments.
1247 * configure.in: Adjust to set STMP_FIXPROTO correctly.
1248 * configure: Regenerate.
1249 * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
1250 config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
1251 t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
1252 xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
1253 * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
1254 t-interix, t-linux-aout: Delete files consisting only of
edaf3e03 1255 setting of STMP_FIXPROTO.
e5f11328 1256
d064c269
NN
1257 * config.host: Allow unknown hosts (not targets). Allow
1258 ns32k-*-netbsdelf* as a host (not a target). Remove redundant
1259 empty clauses. Remove useless obsolete-configuration clause.
edaf3e03 1260 Prune unsupported configuration list. Collapse identical
d064c269
NN
1261 clauses for closely related systems. Rewrite comment for
1262 unsupported hosts list. Reorganize a little.
1263
3504b199
RH
12642003-09-22 Richard Henderson <rth@redhat.com>
1265
edaf3e03 1266 * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
3504b199
RH
1267 not precision.
1268
3a1f863f
DE
12692003-09-22 David Edelsohn <edelsohn@gnu.org>
1270 Hartmut Penner <hpenner@de.ibm.com>
8c8a95ff 1271 Segher Boessenkool <boessen@de.ibm.com>
3a1f863f
DE
1272
1273 * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
edaf3e03 1274 (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
3a1f863f
DE
1275 (rs6000_split_altivec_in_gprs): Rename to ...
1276 (rs6000_split_multireg_move): Add support for update addressing.
1277 * config/rs6000/rs6000-protos.h: Same.
1278 * config/rs6000/altivec.md: Same.
1279 * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
1280 multiple GPRs.
1281 (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
1282 (movti_power): Use new splitter for multiple GPRs.
1283 (movti_string): Same.
1284 (movti_ppc64): Same.
1285
ffbc8796
BW
12862003-09-22 Bob Wilson <bob.wilson@acm.org>
1287
1288 * config/xtensa/xtensa-protos.h: Convert to ISO C90.
1289 * config/xtensa/xtensa.c: Convert to ISO C90. Minor formatting fixes.
1290
4d76fdaa
AO
12912003-09-22 Alexandre Oliva <aoliva@redhat.com>
1292
1293 * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
1294 (andsi3): Set attr cc to set_zn when using shifts or adds.
1295
0ba529ca
BI
12962003-09-22 Bernardo Innocenti <bernie@develer.com>
1297
1298 * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
1299
6b475ad5
BI
13002003-09-22 Bernardo Innocenti <bernie@develer.com>
1301
1302 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
1303 Resurrect -mrtd option.
1304
af0f185b
AP
13052003-09-21 Andrew Pinski <pinskia@physics.uc.edu>
1306
1307 PR target/12281
1308 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
1309 mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
1310
de582cfb
EB
13112003-09-22 Olivier Hainque <hainque@act-europe.fr>
1312
1313 PR target/9786
1314 * reg-stack.c (convert_regs_1): Purge possible dead eh edges
1315 after potential deletion of trapping insn. Avoids later ICE
1316 from call to fixup_abnormal_edges.
1317 (convert_regs_2): Stack the current block successors before
1318 processing this block, that is, before the potential deletion of
1319 dead edges by convert_regs_1, because these edges have been used
1320 to initialize the predecessors count.
1321
9554f886
EB
13222003-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
1323
1324 * real.c: Fix several nits in the head comment.
1325
f31686a3
RH
13262003-09-21 Richard Henderson <rth@redhat.com>
1327
edaf3e03 1328 * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
f31686a3
RH
1329 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
1330 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
1331 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
1332 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
1333
7e2af53a
RH
13342003-09-21 Richard Henderson <rth@redhat.com>
1335
1336 * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
1337 (TREE_FILENAME, TREE_LINENO): Likewise.
1338 (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
1339 (TREE_LOCUS_SET_P): New.
edaf3e03 1340 * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
7e2af53a
RH
1341 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
1342 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
1343 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
1344 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
1345
0d92b0e4
NN
13462003-09-21 Nathanael Nerode <neroden@gcc.gnu.org>
1347
d6a1d39a 1348 * config/vax/vax-protos.h: Convert to ISO C90.
0d92b0e4
NN
1349 * config/vax/vax.c: Convert to ISO C90.
1350
fa543fdd
GS
13512003-09-21 Graham Stott <grahams@btinternet.com>
1352
1353 PR target/12353
1354 * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
1355
5cfc5356
EB
13562003-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1357
1358 PR target/12301
1359 * reorg.c (stop_search_p): Return 1 for insns that can
1360 throw internally.
1361
ddd2d57e
RH
13622003-09-20 Richard Henderson <rth@redhat.com>
1363
1364 * c-format.c (gcc_diag_char_table): Add %J.
1365 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
1366 (check_format_types): Fix wanted_type name lookup.
1367 (init_dynamic_diag_info): Setup %J.
1368 * diagnostic.c (text_specifies_location): Implement %J.
1369 * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
1370 dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
1371 tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
1372 config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
1373 config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
1374
1375 * tree-inline.c: Include intl.h
1376 (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
1377 * Makefile.in (tree-inline.o): Update.
1378
ccea753c
RS
13792003-09-20 Roger Sayle <roger@eyesopen.com>
1380
1381 * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
1382 transformation of a>=0 into (unsigned)a<0x80000000.
1383
86b0a4f3
AP
13842003-09-20 Andrew Pinski <apinski@apple.com>
1385
1386 * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
1387
aa9762f6
NN
13882003-09-20 Nathanael Nerode <neroden@gcc.gnu.org>
1389
da9d3b37
NN
1390 * Makefile.in: Don't set (unused) DLLTOOL.
1391
aa9762f6
NN
1392 * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
1393 Remove obsolete references to ENQUIRE.
1394
748fad95
NN
13952003-09-19 Nathanael Nerode <neroden@gcc.gnu.org>
1396
2c813e21
NN
1397 * configure.in: Remove --with-elf, which doesn't work.
1398 * configure: Regenerate.
1399 * config.gcc: Remove references to $elf, which does nothing.
1400
748fad95
NN
1401 * config/i386/xm-vsta.h: Remove xm-file believed useless.
1402 * config.build (i386-vsta): Remove reference to it.
1403 * config.host (i386-vsta): Remove reference to it.
1404
e08737dc
PE
14052003-09-19 Phil Edwards <phil@codesourcery.com>
1406
1407 * doc/install.texi: Document the multiple testsuite options.
1408
6a1dbbaf
GP
14092003-09-19 Gerald Pfeifer <gerald@pfeifer.com>
1410
1411 * doc/install.texi (Specific): Add the specific versions of GCC
1412 where support for FreeBSD 1, HP-UX version 9 and older, and AIX
1413 version 3 and older was discontinued.
edaf3e03 1414
86677d25
JS
14152003-09-19 Joel Sherrill <joel@oarcorp.com>
1416
1417 * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
1418 68881.
1419
0988b758
BI
14202003-09-19 Bernardo Innocenti <bernie@develer.com>
1421
1422 * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
1423 for -m68030, -m68020-60 and -m68020-40.
1424 * config/m68k/m68k.h (TARGET_68030): New target flag.
1425 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
1426 TARGET_REGPARM): Remove.
1427 * config/m68k/m68k.h: Regroup and renumber target flags.
1428 * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
1429 * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
1430 * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
1431 * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
1432 * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
1433
472b0fbc
RC
14342003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1435
1436 * config/m68k/t-rtems (m68k-*-rtems*): New.
1437 * config.gcc: Use config/m68k/t-rtems.
1438
c7fcd90b
RC
14392003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1440
1441 * config/mips/t-rtems: New.
1442 * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
1443
7dd87381
KC
14442003-09-19 Kelley Cook <kelleycook@wideopenwest.com>
1445
1446 * cgraph.c: Fix typo in debugging output.
1447
04b67900 14482003-09-19 T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
b409761a 1449 Eric Botcazou <ebotcazou@libertysurf.fr>
04b67900
P
1450
1451 PR target/12166
1452 * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
1453
a1c18b4a
MS
14542003-09-18 Mike Stump <mrs@apple.com>
1455
1456 * c-ppoutput.c (print): Use fileline typedef for field 'line'.
1457 (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
1458 cb_ident, cb_def_pragma): Use fileline typedef.
1459 * cpphash.h (struct cpp_reader): Likewise for field out.first_line.
1460
7229527c
DS
14612003-09-18 Danny Smith <dannysmith@users.sourceforge.net>
1462
1463 * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
1464 total parm size if a parm has incomplete type.
1465 (gen_fastcall_suffix): Likewise.
1466
19ae5445
RK
14672003-09-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1468
1469 * except.c (output_function_exception_table): Adjust last change
1470 to handle TYPE of INTEGER_CST.
1471
5ae6cd0d
MM
14722003-09-18 Mark Mitchell <mark@codesourcery.com>
1473
1474 PR target/11184
1475 * builtins.c (expand_builtin_apply): Use convert_memory_address
1476 before returning the value.
edaf3e03 1477
5ae6cd0d
MM
1478 * alias.c (find_base_value): Simplify use of
1479 convert_memory_address.
1480 (find_base_term): Likewise.
1481 * builtins.c (expand_builtin_stejmp_setup): Likewise.
1482 (expand_builtin_longjmp): Likewise.
1483 (expand_builtin_prefetch): Likewise.
1484 (get_memory_rtx): Likewise.
1485 (expand_builtin_return): Likewise.
1486 (expand_builtin_memcpy): Likewise.
1487 (expand_builtin_strncpy): Likewise.
1488 (expand_builtin_memset): Likewise.
1489 (expand_builtin_va_arg): Likewise.
1490 (expand_builtin_va_copy): Likewise.
1491 (expand_builtin_alloca): Likewise.
1492 * calls.c (expand_call): Likewise.
1493 * except.c (expand_builtin_extract_return_addr): Likewise.
1494 (expand_builtin_eh_return): Likewise.
1495 * explow.c (convert_memory_address): Define even when
1496 POINTER_EXTEND_UNSIGNED is not defined. Do nothing if the address
1497 is already in the right mode.
1498 * explow.c (memory_address): Simplify use of convert_memory_address.
1499 (probe_stack_range): Likewise.
1500 * expmed.c (make_tree): Likewise.
1501 * expr.c (emit_block_move_in_libcall): Likewise.
1502 (expand_assignment): Likewise.
1503 (expand_expr): Likewise.
1504 * function.c (assign_parms): Likewise.
1505 (expand_function_end): Likewise.
1506 * integrate.c (copy_rtx_and_substitute): Likewise.
1507 * stmt.c (expand_computed_goto): Likewise.
1508
a6a0f876
RS
15092003-09-18 Roger Sayle <roger@eyesopen.com>
1510
1511 * simplify-rtx.c (simplify_unary_operation): Only transform
1512 (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
1513 is -1. RTL "not" is a bit-wise not, "~", not a logical not "!".
1514
1d6ba901
ZD
15152003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1516
f857cb42 1517 PR target/11674
1d6ba901
ZD
1518 * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
1519
96123432
RS
15202003-09-18 Roger Sayle <roger@eyesopen.com>
1521
1522 * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
1523 PARITY_EXPR): Delete unused tree codes.
1524 * c-common.c (c_common_truthvalue_conversion): Delete references
1525 to FFS_EXPR and POPCOUNT_EXPR.
1526 * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
1527 (pp_c_expression): Likewise.
1528 * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
1529 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
1530 * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
1531 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR. Add support for calls to
1532 BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
1533 and long long variants.
1534
53de5204
GDR
15352003-09-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
1536
1537 * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
1538 * c-pretty-print.c: Fix formatting.
1539 (pp_c_integer_constant): Append type annotation to literals. Tidy.
1540 (pp_c_type_specifier): Tidy.
1541 (pp_c_compound_literal): New function.
1542 (pp_c_initializer): Simplify..
1543 (pp_c_initializer_list): Likewise.
1544 (pp_c_brace_enclosed_initializer_list): New function.
1545 (pp_c_postfix_expression): Simplify.
1546
feb297fe
AO
15472003-09-17 Alexandre Oliva <aoliva@redhat.com>
1548
1549 * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
1550 one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
1551
5d4854c8
RH
15522003-09-17 Richard Henderson <rth@redhat.com>
1553
1554 * tree-optimize.c (tree_rest_of_compilation): Save and restore
1555 input_location.
1556
ce7e7ceb
DJ
15572003-09-17 Daniel Jacobowitz <drow@mvista.com>
1558
1559 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
1560
7d8405cf
RH
15612003-09-17 Richard Henderson <rth@redhat.com>
1562
1563 * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
1564
dc5f3d7c
RO
15652003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1566
1567 * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
1568 * configure: Regenerate.
1569
47aa0df4
MM
15702003-09-17 Mark Mitchell <mark@codesourcery.com>
1571
1572 PR debug/12066
1573 * dbxout.c (dbxout_init): Use a langhook to find builtin types.
1574 * langhooks-def.h (lhd_return_null_tree_v): New function.
1575 (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
1576 (LANG_HOOKS_DECLS): Add it to the intializer.
1577 * langhooks.c (lhd_return_null_tree_v): New function.
1578 * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
1579
eeae7b41
DJ
15802003-09-17 Daniel Jacobowitz <drow@mvista.com>
1581
1582 * configure.in: Quote gcc_config_arguments for configargs.h.
1583 * configure: Regenerated.
1584 * gccbug.in: Don't shell-expand gcc_config_arguments.
1585
44f8f96a
GDR
15862003-09-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
1587
1588 PR c++/11357
1589 * c-pretty-print.c (pp_c_floating_constant): Append
1590 type-annotation to floating constants.
1591
a192710e
RO
15922003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1593
1594 * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
1595 Define _ABIO32.
1596 Use it for _MIPS_SIM.
1597 * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
1598
1599 * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
1600 Moved ...
1601 * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
1602 updating comment.
1603 Fixes PR target/10190.
1604
43bc5d6b
DJ
16052003-09-17 Daniel Jacobowitz <drow@mvista.com>
1606
1607 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
1608 to shared libraries.
1609
0b75beaa
EB
16102003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1611
1612 PR optimization/11646
1613 * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
1614 EDGE_ABNORMAL flag for EH edges.
1615 * toplev.c (rest_of_handle_cse): Delete unreachable blocks
1616 if dead edges were purged.
1617
e2ffd796
BI
16182003-09-16 Bernardo Innocenti <bernie@develer.com>
1619
1620 * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
1621 * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
1622 * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
1623 * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
1624
1dd61cb4
ILT
16252003-09-16 Ian Lance Taylor <ian@wasabisystems.com>
1626
1627 * cfgcleanup.c (label_is_jump_target_p): Correct use of table
1628 returned by tablejump_p.
1629
1e290ba1
JB
16302003-09-16 Joel Brobecker <brobecker@gnat.com>
1631
1632 * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
1633
0c6d17ec
RS
16342003-09-16 Roger Sayle <roger@eyesopen.com>
1635
1636 PR bootstrap/12269
1637 * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
1638 argument to be VOIDmode, taking the mode of the comparison from
1639 the operands. Only call simplify_relational_operation if we
1640 know the mode of the comparison. Honor FLOAT_STORE_FLAG_VALUE
1641 if comparison has a floating point result. Ensure that the
1642 result is always of the specified mode.
1643 (simplify_replace_rtx): Simplify call to simplify_gen_relational.
1644 (simplify_unary_operation): Ensure the correct mode and cmp_mode
1645 are always passed to simplify_gen_relational. Simplify NOT of
1646 comparison operator in any mode, not just BImode.
1647 (simplify_ternary_operation): Correct tests on the return value
1648 of simplify_relational_operation to use const_true_rtx, not
1649 const1_rtx. Abort if it ever returns a non-constant result.
1650
1651 * cfgloopanal.c (count_strange_loop_iterations): Use the function
1652 simplify_relational_operation, not simplify_gen_relational, if
1653 we're only interested in constant comparisons and will ignore
1654 non-constant results.
1655
37af03cb
RS
16562003-09-16 Roger Sayle <roger@eyesopen.com>
1657
1658 * fold-const.c (tree_swap_operands_p): New function to determine
1659 the prefered ordering of operands.
1660 (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
1661 operands to commutative, comparison or ternary operators. Replace
1662 uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
1663 transformation of A ? B : C into !A ? C : B.
1664
42df2193
JJ
16652003-09-16 Jakub Jelinek <jakub@redhat.com>
1666
1667 * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1668 * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1669 * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1670 * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1671 * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1672 * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1673 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1674 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1675
72954a4f
JM
16762003-09-16 Jason Merrill <jason@redhat.com>
1677 Jakub Jelinek <jakub@redhat.com>
1678
1679 * c-common.c (handle_warn_unused_result_attribute): New function.
1680 (c_common_attribute_table): Add warn_unused_result.
1681 (c_expand_expr): Issue warning when result of inlined function
1682 with warn_unused_result attribute is ignored.
1683 * calls.c (expand_call): Issue warning when result of function
1684 with warn_unused_result attribute is ignored.
1685 * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
1686 * expr.c (expr_wfl_stack): Define.
1687 (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
1688 pass const0_rtx as target. Chain locations into expr_wfl_stack.
1689 * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
1690 bit if inlined function has warn_unused_result attribute.
1691 * input.h (expr_wfl_stack): Declare.
1692 * doc/extend.texi: Document warn_unused_result attribute.
1693
5a8a65b1
AO
16942003-09-15 Alexandre Oliva <aoliva@redhat.com>
1695
1696 * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
1697
cadafd1f
BW
16982003-09-15 Bob Wilson <bob.wilson@acm.org>
1699
1700 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
1701 ATTRIBUTE_UNUSED.
1702 (call_insn_operand): For PIC, don't allow a direct call to a
1703 function in a different section than the current one.
1704
fb0317c6 17052003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
edaf3e03 1706
b409761a
ZW
1707 * doc/invoke.texi (Warning Options): Add missing hyphen before
1708 "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
1709 Move "-Wold-style-definition" to the C-only section.
1710 Fix the ordering of the warning options.
fb0317c6 1711
d088acea
ZD
17122003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1713 Jeff Law <law@redhat.com>
1714
1715 * gcse.c (remove_reachable_equiv_notes): New.
1716 replace_store_insn): Call it. Update antic list.
1717 (store_killed_in_insn): Take REG_EQUAL notes into account.
1718 (build_store_vectors, delete_store): Add parameter to
1719 replace_store_insn call.
1720
b9397bb4
BW
17212003-09-15 Bob Wilson <bob.wilson@acm.org>
1722
1723 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
1724 SYMBOL_REF_LOCAL_P.
1725
d3704c46
KH
17262003-09-15 Kazu Hirata <kazu@cs.umass.edu>
1727
1728 * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
1729 (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
1730 * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
1731 Likewise.
1732 * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
1733 Likewise.
1734 * config/rs6000/rs6000.c (function_arg_padding): Likewise.
1735 * config/sparc/sparc.c (function_arg_padding): Likewise.
1736
3d9b0280
VM
17372003-09-15 Vladimir Makarov <vmakarov@redhat.com>
1738
1739 * haifa-sched.c (schedule_block): Use ready_remove_first instead
1740 of choose_ready for non-dfa insn scheduling.
1741
2352184a 17422003-09-15 Andreas Jaeger <aj@suse.de>
b409761a 1743 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2352184a
AJ
1744
1745 * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
1746 * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
1747 * c-parse.in: Warn about old-style parameter definition.
1748 * c-common.c: Define warn_old_style_defintion.
1749 * c-common.h: Declare it.
1750 * c.opt: Add Wold-style-defintion.
1751
863d938c
AJ
17522003-09-15 Andreas Jaeger <aj@suse.de>
1753
1754 * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
1755 * config/rs6000/rs6000.c: Likewise.
1756
ec6ec6aa
ZD
17572003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1758
1759 PR optimization/10914
1760 * expr.h (get_condition, canonicalize_condition): Declaration changed.
1761 * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
1762 and canonicalize_condition calls.
1763 * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
1764 delete_null_pointer_checks): Ditto.
1765 * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
1766 * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
1767 * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
1768 (canonicalize_condition, get_condition): Allow to return comparisons
1769 of cc mode registers.
1770 * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
1771 cc mode registers comparison in condition.
1772
a7e8c268
MM
17732003-09-12 Mark Mitchell <mark@codesourcery.com>
1774
1775 * coverage.c (create_coverage): Do not call pushlevel/poplevel.
1776 * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
1777 function.
1778 * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
edaf3e03 1779
5565e874
KH
17802003-09-14 Kazu Hirata <kazu@cs.umass.edu>
1781
1782 * combine.c (simplify_comparison): Convert
1783 (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
1784 (eq (and (lshiftrt X Y) 1) 0).
1785
83a00410
KH
17862003-09-14 Kazu Hirata <kazu@cs.umass.edu>
1787
1788 * alias.c: Follow spelling conventions.
1789 * cpphash.h: Likewise.
1790 * fold-const.c: Likewise.
1791
7b9a5a66
AO
17922003-09-14 Alexandre Oliva <aoliva@redhat.com>
1793
1794 * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
1795 * c-lex.c (cb_line_change): Skip line changing whenever
1796 c-ppoutput.c would.
1797
93bad80e
SB
17982003-09-14 Steven Bosscher <steven@gcc.gnu.org>
1799
1800 * ra.c: Convert to ISO C90 prototypes.
1801 * ra-build.c: Likewise.
1802 * ra-colorize.c: Likewise.
1803 * ra-debug.c: Likewise.
1804 * ra-rewrite.c: Likewise.
1805
3983d33e
RS
18062003-09-14 Richard Sandiford <rsandifo@redhat.com>
1807
1808 * Makefile.in (%.dvi): Remove excess $(docdir).
1809
975f3818
RS
18102003-09-14 Richard Sandiford <rsandifo@redhat.com>
1811
1812 * function.c (STACK_BYTES): Move definition to head of file.
1813 (assign_parms): Don't pass current_function_pretend_args_size
1814 directly to SETUP_INCOMING_VARARGS. For partial register arguments,
1815 round current_function_pretend_args_size up to STACK_BYTES. Skip any
1816 excess before laying out the argument.
1817
011d50d9
AJ
18182003-09-14 Andreas Jaeger <aj@suse.de>
1819
1820 * objc/objc-act.c: Convert to ISO C90 prototypes.
1821 * objc/objc-act.h: Likewise.
1822
18232003-09-14 Olaf Hering <olh@suse.de>
1824
1825 * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
1826
876455fa
AP
18272003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
1828
6ef3d457
AP
1829 PR target/12021
1830 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
1831 as they already are done in config/m68k/m68k.h.
1832 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
1833
876455fa
AP
1834 * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
1835 (machopic_output_stub): Only generate pic base symbols when using pic
1836 and generate them in the form L00000000$spb.
1837
f6d1b84a
RH
18382003-09-13 Richard Henderson <rth@redhat.com>
1839
1840 * cgraphunit.c (cgraph_assemble_pending_functions): Export.
1841 (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
1842 * cgraph.h: Update.
1843
d779d0dc 18442003-09-12 Dale Johannesen <dalej@apple.com>
f6d1b84a 1845
d779d0dc
DJ
1846 * config/rs6000/rs6000.c: Fix typos in previous.
1847
c4555dd9
ZL
18482003-09-12 Ziemowit Laski <zlaski@apple.com>
1849
1850 * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
1851 when allocating pp->buffer.
1852
2e53734e
GK
18532003-09-12 Geoffrey Keating <geoffk@apple.com>
1854
1855 * config/darwin.c (machopic_select_rtx_section): Use
1856 const_data_section for things that might require relocation.
1857
edeb3871
L
18582003-09-12 H.J. Lu <hongjiu.lu@intel.com>
1859
1860 PR bootstrap/12264
1861 * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
1862
6cedbe44 18632003-09-12 Bob Wilson <bob.wilson@acm.org>
edaf3e03 1864
6cedbe44
BW
1865 * config/xtensa/elf.h (ASM_SPEC): Remove no-density option. Reformat.
1866 * config/xtensa/linux.h (ASM_SPEC): Likewise.
1867 * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
1868 -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
1869 -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
1870 -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
1871 -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
1872 -m[no-]hard-float-rsqrt options. Delete corresponding MASK_* macros
1873 and redefine corresponding TARGET_* macros with constants from the
1874 xtensa-config.h header.
1875 * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
1876 for the options listed above.
edaf3e03 1877
317feb46
DE
18782003-09-12 Dale Johannesen <dalej@apple.com>
1879
a2369ed3 1880 * config/rs6000/rs6000-protos.h: Use C90 prototypes.
edaf3e03 1881 * config/rs6000/rs6000-c.c: Ditto.
a2369ed3
DJ
1882 * config/rs6000/rs6000.c: Ditto.
1883 * config/rs6000/ sysv4.h: Ditto.
1884
4ca0d6d4
CL
18852003-09-12 Chris Lattner <sabre@nondot.org>
1886
1887 * loop.c: Move comments describing BIV's and GIV's to top of file
1888
d2399d75
RS
18892003-09-12 Roger Sayle <roger@eyesopen.com>
1890
1891 PR optimization/8967
1892 * alias.c (write_dependence_p): Modify to take an additional constp
1893 argument that controls whether the UNCHANGING_RTX_P flags are used.
1894 (anti_dependence, output_dependence): Adjust write_dependence_p
1895 callers to pass this additional argument, to return the same result.
1896 (unchanging_anti_dependence): New variant of anti_dependence that
1897 ignores the UNCHANGING_RTX_P property on memory references.
1898 * rtl.h (unchaning_anti_dependence): Prototype here.
1899 * flow.c (init_propagate_block): Place fake constant mem writes on
1900 the mem_set_list so that dead writes to const variables are deleted.
1901 (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
1902 (mark_used_regs): Likewise.
1903
f0f4da32
RS
19042003-09-12 Richard Sandiford <rsandifo@redhat.com>
1905
1906 * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
1907 (mcore_secondary_reload_class): Declare.
1908 (mcore_output_inline_const_forced): Remove.
1909 * config/mcore/mcore.md (movsi): Remove the code that forced
1910 non-inlineable constants into a register if the target was r15
1911 or the stack pointer. Remove constant restrictions from the main
1912 define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
1913 of an r <- P alternative. Remove fallback define_insn for reload.
1914 (movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
1915 define_insn. Use mcore_output_move in the remaining define_insn.
1916 Adjust condition and constraints in the way as for movsi.
1917 (movdi): Always split unacceptable constants into two. Use
1918 simplify_gen_subreg instead of operand_subword{,_force}.
1919 * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
1920 (mcore_output_move): Support HImode and QImode moves as well.
1921 (mcore_m15_operand_p): New function.
1922 (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
1923 (mcore_secondary_reload_class): New function.
1924 * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
1925 terms of mcore_secondary_reload_class.
1926
70b16073
MS
19272003-09-11 Mike Stump <mrs@apple.com>
1928
1929 * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
1930
ab01a87c
KG
19312003-09-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1932
fe27b7cc
KG
1933 * builtins.c (fold_builtin_logarithm): if N can't be truncated to
1934 MODE exactly, then only convert logN(N) -> 1.0 if
1935 flag_unsafe_math_optimizations is set.
1936
ab01a87c
KG
1937 * builtins.c (builtin_dconsts_init, dconstpi, dconste,
1938 init_builtin_dconsts): Delete.
1939 * emit-rtl.c (dconstpi, dconste): Define.
1940 (init_emit_once): Initialize dconstpi & dconste.
1941 * real.h (dconstpi, dconste): Declare.
1942
9bdca184
AO
19432003-09-11 Alexandre Oliva <aoliva@redhat.com>
1944
1945 PR fortran/11522
1946 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
1947 for ultimate origin even if block is abstract.
1948
aa166939
RS
19492003-09-11 Roger Sayle <roger@eyesopen.com>
1950
1951 * combine.c (combine_simplify_rtx): Move several NOT and NEG
1952 optimizations from here...
1953 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
1954 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
1955
6b00c969
RH
19562003-09-11 Richard Henderson <rth@redhat.com>
1957
1958 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
1959 Tweek tests for function already generated.
1960 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
1961 * cgraph.h (cgraph_finalize_function): Update for extra arg.
1962 * c-decl.c (finish_function): Likewise.
1963
dd5c7759
JB
19642003-09-10 Joe Buck <jbuck@welsh-buck.org>
1965
1966 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
1967
64871887
JQ
19682003-09-10 Jerry Quinn <jlquinn@optonline.net>
1969
1970 * real.c: Update URL to VAX floating point docs.
1971 (decode_vax_d): Extract 8 exponent bits instead of 7.
1972
50b29dbb
ILT
19732003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
1974
1975 * combine.c (force_to_mode): Set fuller_mask based only on mask,
1976 not op_mode.
1977
602a82f3 19782003-09-11 Jan Hubicka <jh@suse.cz>
f08545a8
JH
1979
1980 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
1981 on why function is not inlinable; do not check
1982 the body.
1983 (inline_forbidden_p): Move to...
1984 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
1985 deal with alloca, longjmp.
1986 (inline_forbidden_p): New static function.
1987 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
1988 find_builtin_longjmp_call): Kill.
1989
25c84396
RH
19902003-09-10 Richard Henderson <rth@redhat.com>
1991
1992 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
1993 * cgraphunit.c: Update to match.
1994 (record_call_1): Rearrange. Call lang hook for language nodes.
1995 (cgraph_analyze_function): Don't call lower_function.
edaf3e03 1996 * langhooks.h (struct lang_hooks_for_callgraph): Replace
25c84396
RH
1997 lower_function with analyze_expr.
1998 * langhooks-def.h: Update to match.
1999 * langhooks.c (lhd_callgraph_analyze_expr): New.
2000
1c8b4e29
EB
20012003-09-10 Martin Husemann <martin@duskware.de>
2002
2003 PR target/11965
2004 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
2005 constants greater than 63.
2006 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
2007 against constants greater than 31.
2008 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
2009 constants greater than 63.
2010
39adabaf
RH
20112003-09-09 Richard Henderson <rth@redhat.com>
2012
2013 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
2014 * cgraph.h (cgraph_finalize_function): Update.
2015 * c-decl.c (finish_function): Update.
e62f462e
DP
2016
20172003-09-09 Devang Patel <dpatel@apple.com>
2018
2019 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
2020 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
edaf3e03 2021
bace148a
EC
20222003-09-09 Eric Christopher <echristo@redhat.com>
2023
2024 * configure.in: Change usage of 'head' to 'sed 1q'.
2025 * configure: Regenerate.
2026
dd07abd7
RH
20272003-09-09 Richard Henderson <rth@redhat.com>
2028
2029 * except.c: Include cgraph.h.
2030 (output_function_exception_table): Invoke
2031 cgraph_varpool_mark_needed_node.
2032 * Makefile.in (except.o): Update.
2033
7f5cc0f3
KC
20342003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
2035
2036 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
2037 and use it throughout.
2038
f7657db9
KG
20392003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2040
2041 * builtins.c (real_dconstp, fold_builtin_logarithm,
2042 fold_builtin_exponent): New, split out from fold_builtin. Also
2043 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
2044 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
2045 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
2046 of hardcoded array size.
2047 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
2048 (tree_expr_nonnegative_p): Likewise.
2049 * real.h (dconst3, dconst10, dconstthird): New.
2050
602a82f3 20512003-09-09 Jan Hubicka <jh@suse.cz>
cd4dea62
JH
2052
2053 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
2054 inline functions.
2055 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
2056 DECL_SAVED_TREE.
2057
892955bf
RS
20582003-09-09 Roger Sayle <roger@eyesopen.com>
2059
2060 * builtins.c (fold_builtin_cabs): Protect the complex argument
2061 against multiple evaluation when optimizing cabs* into sqrt*.
2062
602a82f3 20632003-09-09 Jan Hubicka <jh@suse.cz>
f0985900
JH
2064
2065 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
2066
94fd5176
KC
20672003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
2068
2069 * Makefile.in: Revert yesterday's change.
2070
860c4900 20712003-09-08 Bernardo Innocenti <bernie@develer.com>
b409761a 2072 Peter Barada <peter@baradas.org>
860c4900
BI
2073
2074 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
2075 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
2076 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
2077 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
2078 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
2079 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
2080 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
2081 (m68k_compute_frame_layout): New function.
2082 (m68k_initial_elimination_offset): New function.
2083 (m68k_output_function_prologue): ColdFire-specific movem handling.
2084 (m68k_output_function_epilogue): Likewise.
2085 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
2086 (ARG_POINTER_REGNUM): Add new definition.
2087 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
2088 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
2089 (CAN_ELIMINATE): Likewise.
2090 (INITIAL_ELIMINATION_OFFSET): Likewise.
2091
ed311a33
BI
20922003-09-08 Bernardo Innocenti <bernie@develer.com>
2093
2094 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
2095 by removing redundant variable cfa_store_offset.
2096
9649812a
MM
20972003-09-08 Mark Mitchell <mark@codesourcery.com>
2098
2099 * langhooks-def.h (lhd_register_builtin_type): New function.
2100 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
2101 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
2102 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
2103 * langhooks.c (lhd_register_builtin_type): New function.
2104 * c-common.h (c_register_builtin_type): Declare.
2105 * c-common.c (c_register_builtin_type): New function.
2106 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
2107 c_register_builtin_type.
2108 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
2109 __float80, and __float128 macros.
2110 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
2111 __float80, and __float128 types.
2112
11bf0eb0
KG
21132003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2114
2115 * builtin-types.def
2116 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
2117 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
2118 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
2119 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
2120 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
2121 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
2122 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
2123 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
2124 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
2125 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
2126 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
2127 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
2128 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
2129 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
2130 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
2131 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
2132 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
2133 New.
2134 * doc/extend.texi: Document new builtins.
2135
602a82f3 21362003-09-09 Jan Hubicka <jh@suse.cz>
d853a20e
JH
2137
2138 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
2139 finalization.
2140 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
2141 functions, check for COMDAT.
2142 (cgraph_assemble_pending_functions): Break out from...
2143 (cgraph_finalize_function): ... here; allow redefinig of extern inline
2144 functions.
2145 (record_call_1): Record function references only in non-unit-at-a-time
2146 mode.
2147 (cgraph_analyze_function): Reset current_function_decl.
2148 (cgraph_finalize_compilation_unit): Assemble pending functions.
2149
3d81ccc6
MM
21502003-09-08 Mark Mitchell <mark@codesourcery.com>
2151
2152 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
2153 (libgov.a): Likewise.
2154 (libgcc_eh.a): Likewise.
2155
fae111c1
RS
21562003-09-08 Roger Sayle <roger@eyesopen.com>
2157
2158 * fold-const.c (operand_equal_p): Clarify documentation.
2159
c1f927e8
RH
21602003-09-08 Richard Henderson <rth@redhat.com>
2161
2162 * c-decl.c (c_expand_body_1): Push and pop function context here.
2163 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
2164 nested argument instead of computing nesting ourselves.
2165
7f14bbe6
JJ
21662003-09-08 Jakub Jelinek <jakub@redhat.com>
2167
2168 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
2169 regstack if optimizing but not scheduling after reload.
2170
5751a10b
JJ
21712003-09-08 Jakub Jelinek <jakub@redhat.com>
2172
2173 * config/sparc/sparc.c (struct machine_function): New type.
2174 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
2175 (sparc_override_options): Initialize init_machine_status.
2176 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
2177 tie_symbolic_operand, tle_symbolic_operand): New functions.
2178 (symbolic_operand): Disallow tls_symbolic_operand.
2179 (symbolic_memory_operand): Likewise.
2180 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
2181 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
2182 New functions.
2183 (sparc_tls_symbol): New variable.
2184 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
2185 legitimize_address): New functions.
2186 (print_operand): Handle %&.
2187 (sparc_init_machine_status, get_some_local_dynamic_name,
2188 get_some_local_dynamic_name_1): New functions.
2189 (sparc_output_dwarf_dtprel): New function.
2190 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
2191 constant_address_p.
2192 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
2193 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
2194 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
2195 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
2196 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
2197 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
2198 (ASM_OUTPUT_DWARF_DTPREL): Define.
2199 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
2200 tie_symbolic_operand, tle_symbolic_operand.
2201 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
2202 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
2203 (tls_call_delay): New attribute.
2204 (in_call_delay): Use it.
2205 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
2206 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
2207 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
2208 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
2209 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
2210 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
2211 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
2212 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
2213 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
2214 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
2215 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
2216 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
2217 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
2218 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
2219 insns.
2220 * config/sparc/sparc-protos.h (legitimate_constant_p,
2221 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
2222 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
2223 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
2224 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2225 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
2226 * configure.in (sparc*-*-*): Add TLS check.
2227 * configure: Rebuilt.
2228
7b65ed54
EB
22292003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
2230
2231 PR target/11689
2232 * config/i386/i386.c (memory_address_length): Fix computation when
2233 the base is esp or ebp.
2234
cf9ad9a7
MM
22352003-09-07 Mark Mitchell <mark@codesourcery.com>
2236
2237 PR c++/11852
2238 * varasm.c (initializer_constant_valid_p): Correct logic for
2239 CONSTRUCTORs.
2240
eb698c58
RS
22412003-09-07 Roger Sayle <roger@eyesopen.com>
2242
2243 * expr.c (expand_operands): New function to expand an operand pair.
2244 (expand_expr): Call expand_operands whenever we need to expand both
2245 operands of a binary operator.
2246 (do_store_flag): Likewise for operands of comparison operations.
2247
4f61b3b7
RS
22482003-09-07 Roger Sayle <roger@eyesopen.com>
2249
2250 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
2251 (-A)*B if we care about sign-dependent rounding.
2252
a2a9e21c
GDR
22532003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
2254
2255 * c-pretty-print.h (pp_c_left_brace): Declare.
2256 (pp_c_right_brace): Likewise.
2257 * c-pretty-print.c (pp_c_left_brace): Now a function
2258 (pp_c_right_brace): Likewise.
2259
602a82f3 22602003-09-07 Jan Hubicka <jh@suse.cz>
1ab237df
JH
2261
2262 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
2263
43f9ce02
GDR
22642003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
2265
2266 * diagnostic.c (warn_deprecated_use): Move to toplev.c
2267
dba65e79
GDR
22682003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
2269
2270 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
2271 * Makefile.in (langhooks.o): Depend on diagnostic.h
2272
10ef35a9
JW
22732003-09-06 James E Wilson <wilson@tuliptree.org>
2274
2275 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
2276 simplify.
2277
9aec989f
KC
22782003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
2279
2280 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
2281 and use it throughout.
bace148a 2282
9aec989f 22832003-09-07 Jan Hubicka <jh@suse.cz>
7e668417 2284
470d9044
JH
2285 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
2286
7e668417 2287 * toplev.c (rest_of_decl_compilation): Do not finalize external
bace148a 2288 virables.
7e668417 2289
ba245151
JH
2290 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
2291 functions.
2292 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
2293
9aec989f 22942003-09-06 Jan Hubicka <jh@suse.cz>
9778f2f8
JH
2295
2296 PR target/12070
2297 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
2298
2299 PR opt/12082
2300 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
2301
0761f342
GDR
23022003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
2303
2304 * diagnostic.c (announce_function): Move to toplev.c.
2305
bad998e0
ZD
23062003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2307
2308 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
2309 volatile mem.
2310
d85a0aae
KG
23112003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2312
2313 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
2314 when gc checking is enabled.
2315
03845b47
SB
23162003-09-06 Steven Bosscher <steven@gcc.gnu.org>
2317
2318 PR c/9862
2319 * c-decl.c (c_expand_body_1): Move return warning from here...
2320 (finish_function): ...to here.
2321
c55a59cc
GK
23222003-09-05 Geoffrey Keating <geoffk@apple.com>
2323
2324 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
2325 a subset of the input class.
2326
e86ac6af
KH
23272003-09-05 Kazu Hirata <kazu@cs.umass.edu>
2328
2329 * config/i860/i860.c: Follow spelling conventions.
2330 * config/i860/i860.h: Likewise.
2331 * config/sh/sh.h: Likewise.
2332
c87ec0ba
NY
23332003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
2334
2335 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
2336 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
2337 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
2338
31ff3e0b
RS
23392003-09-05 Roger Sayle <roger@eyesopen.com>
2340 Richard Henderson <rth@redhat.com>
2341
2342 PR optimization/1823
2343 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
2344 multiplication to implement division by constant integer.
2345
602a82f3 23462003-09-05 Jan Hubicka <jh@suse.cz>
1f95c733
JH
2347
2348 * opts.c (decode_options): Enable unit-at-a-time at -O2.
2349 * params.def (max-inline-insns-single): Set to 500
2350 (max-inline-insns-auto): Set to 150
2351 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
2352
8dafba3c
RH
23532003-09-04 Richard Henderson <rth@redhat.com>
2354
2355 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
2356 (cgraph_mark_needed_node): Remove needed argument.
2357 * cgraph.h: Update to match.
2358 * cgraphunit.c (decide_is_function_needed): Split out from ...
2359 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
2360 if we generated the function.
2361 (record_call_1): Update for cgraph_mark_reachable_node.
2362 * varasm.c (mark_referenced): Likewise.
2363 * objc/objc-act.c (mark_referenced_methods): Likewise.
2364
dd37c5a0
DD
23652003-09-04 DJ Delorie <dj@redhat.com>
2366
2367 * targhooks.c: Add comment explaining the migration process.
2368
3922e7c1
EC
23692003-09-04 Eric Christopher <echristo@redhat.com>
2370
2371 * config/frv/t-frv: Fix path for frv-abi.h.
2372 * config/frv/frv-asm.h: Fix string concatenation.
2373
92f6864c
DD
23742003-09-04 DJ Delorie <dj@redhat.com>
2375
2376 * builtins.c (apply_args_size): Guard against a NULL cfun.
2377 (expand_builtin_apply_args_1): Likewise.
92f6864c 2378 (expand_builtin_apply): Likewise.
3f571a78 2379 Fixes PR bootstrap/12172.
92f6864c 2380
f6f5dff2
RO
23812003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2382
2383 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
2384 assembler supports Sun syntax for cmov.
2385 * configure: Regenerate.
2386 * config.in: Likewise.
2387 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
3922e7c1 2388 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
f6f5dff2
RO
2389 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
2390 Fixes PR target/12101.
2391
47ab33b2
MA
23922003-09-04 Matt Austern <austern@apple.com>
2393
2394 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
2395 with verbosity 0, instead of DECL_NAME, for human-readable string.
3922e7c1 2396
be6acd4b
EC
23972003-09-04 Eric Christopher <echristo@redhat.com>
2398
2399 * targhooks.c (default_return_in_memory): Allow
2400 unconverted ports.
2401
33d05111
EC
24022003-09-04 Eric Christopher <echristo@redhat.com>
2403
2404 * targhooks.c (default_return_in_memory): Fix typo
2405 in last checkin.
2406
ed75b1d6
EC
24072003-09-04 Eric Christopher <echristo@redhat.com>
2408
2409 * targhooks.c (default_return_in_memory): Fix default
2410 definition.
2411
45849738
BI
24122003-09-04 Bernardo Innocenti <bernie@develer.com>
2413
2414 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
2415 deleted function.
2416 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
2417 enable coff-only code in m68k.c.
2418
232830b7
NC
24192003-09-04 Nick Clifton <nickc@redhat.com>
2420
2421 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
2422 v850e1.
2423 * config/v850/v850.h: Accept v850e1 as a default CPU.
2424 Accept -mv850e1 as a command line option.
2425 * doc/invoke.texi: Document new -mv850e1 command line switch.
2426 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
2427 -mv850e.
2428
c490cc89
NC
24292003-09-04 Nick Clifton <nickc@redhat.com>
2430
2431 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
b409761a
ZW
2432 * config/v850/t-v850: Only produce one extra multilib - for
2433 the v850e.
2434 * config/v850/t-v850e: New file: Only produce one extra
2435 multilib - for the v850.
c490cc89 2436
bc93e287
JJ
24372003-09-04 Jakub Jelinek <jakub@redhat.com>
2438
2439 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
2440 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
2441 * unwind.h (_Unwind_GetBSP): New prototype.
2442 * libgcc-std.ver: Add empty GCC_3.3.2 version.
2443 * mkmap-symver.awk: For symbol versions with no exported symbols,
2444 don't put anything into version script, just change all symbol
2445 versions which inherit from it to inherit from its ancestor.
2446
ec24a740
EC
24472003-09-04 Eric Christopher <echristo@redhat.com>
2448
2449 * config/mips/mips.c (mips_expand_prologue): Convert to
2450 calls.struct_value_rtx hook.
2451 (reg_or_const_float_1_operand): New.
2452 * config/mips/mips.h: Update Comments.
2453 (mips_arg): Add reg_or_const_float_1_operand.
2454 * config/mips/mips.md (divdf3); Convert to expander.
2455 (divsf3): Ditto.
2456 (*divdf3): New pattern.
2457 (*divsf3): Ditto.
2458
602a82f3 24592003-09-04 Jan Hubicka <jh@suse.cz>
b379a593
JH
2460
2461 * toplev.c (wrapup_global_declarations): Fix final pass in
2462 unit-at-atime mode.
2463
d18a8251
MM
24642003-09-04 Mark Mitchell <mark@codesourcery.com>
2465
2466 * doc/extend.texi: Document removal of cast-as-lvalue extension in
2467 C++.
2468
c5ef564b
NR
24692003-09-04 Nicolas Roche <roche@act-europe.fr>
2470
2471 * gcc.c (process_command): Fix typo.
2472
04b379ba
DB
24732003-09-03 David O'Brien <obrien@FreeBSD.org>
2474
2475 optimization/11980
2476 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
2477 (PTRDIFF_TYPE): Likewise.
2478 (WCHAR_TYPE_SIZE): Likewise.
2479
61f71b34
DD
24802003-09-03 DJ Delorie <dj@redhat.com>
2481
2482 * targhooks.c: New file.
2483 * targhooks.h: New file.
2484 * Makefile.in: Add targhooks.o support.
2485 (function.o): Depend on$(TARGET_H).
2486 (stmt.o): Likewise.
2487 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
2488 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
2489 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
2490 (expand_builtin_saveregs): Convert to
2491 calls.expand_builtin_saveregs hook.
2492 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
2493 here, instead of ...
2494 (get_parm_info) ... here.
2495 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
2496 hook.
2497 (finish_function): Handle calls.promote_prototypes hook here too.
2498 * c-typeck.c (convert_arguments): Convert to
2499 calls.promote_prototypes hook.
2500 (c_convert_parm_for_inlining): Likewise.
2501 * calls.c (initialize_argument_information): Convert to
2502 calls.promote_function_args hook.
2503 (expand_call): Convert to calls.struct_value_rtx,
2504 calls.strict_argument_naming,
2505 calls.pretend_outgoing_varargs_named, and
2506 calls.promote_function_return hooks. Pass fndecl to
2507 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
2508 hooks, so they can use that.
2509 (emit_library_call_value_1): Likewise.
2510 * combine.c (setup_incoming_promotions): Convert to
2511 calls.promote_function_args hook.
2512 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
2513 * expr.c (expand_assignment): Pass call to aggregate_value_p.
2514 (expand_expr): Likewise.
2515 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
2516 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
2517 RETURN_IN_MEMORY macro defaults.
2518 * final.c (profile_function): Convert to calls.struct_value_rtx
2519 hook.
2520 * function.c (aggregate_value_p): Accept function type tree as
2521 second parameter; try to deduce fntype from it. Convert to
2522 calls.return_in_memory hook.
2523 (assign_parms): Convert to calls.setup_incoming_varargs,
2524 calls.strict_argument_naming, calls.promote_function_args,
2525 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
2526 aggregate_value_p.
2527 (expand_function_start): Likewise. Convert to
2528 calls.struct_value_rtx hook.
2529 (expand_function_end): Convert to calls.promote_function_return hook.
2530 (allocate_struct_function): Pass fndecl to aggregate_value_p.
2531 * hard-reg-set.h: Update comments to new hook names.
2532 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
2533 * reg-stack.c (stack_result): Likewise.
2534 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
2535 * stmt.c (expand_value_return): Convert to
2536 calls.promote_function_return hook.
2537 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
2538 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
2539 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
2540 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
2541 TARGET_STRICT_ARGUMENT_NAMING,
2542 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
2543 * target.h: Likewise.
2544 * tree.h (aggregate_value_p): Also takes a tree to deduce function
2545 attributes from (for target hooks).
2546 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
2547 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
2548 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
2549 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
2550 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
2551 to hooks.
ec24a740 2552
61f71b34
DD
2553 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
2554 to aggregate_value_p.
2555 * config/arm/arm.c (arm_init_cumulative_args,
2556 arm_output_mi_thunk): Likewise.
2557 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
2558 Likewise.
2559 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
2560 mips_can_use_return_insn): Likewise.
2561 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
2562 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
2563 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
2564 aggregate_value_p.
2565 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
2566 function to aggregate_value_p.
2567 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
2568 aggregate_value_p.
ec24a740 2569
61f71b34
DD
2570 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
2571 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
2572 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
2573 (sh_handle_renesas_attribute, sh_promote_prototypes,
2574 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
2575 sh_setup_incoming_varargs, sh_strict_argument_naming,
2576 sh_pretend_outgoing_varargs_named): New decls.
2577 (targetm): Add new hooks.
2578 (calc_live_regs): Save MACL and MACH if the function has the
2579 renesas attribute.
2580 (sh_expand_prologue): Support renesas attribute.
2581 (sh_builtin_saveregs): Make static.
2582 (sh_build_va_list): Support renesas attribute.
2583 (sh_va_start): Likewise.
2584 (sh_va_arg): Likewise.
2585 (sh_promote_prototypes): New.
2586 (sh_function_arg): New, moved from sh.h. Support renesas
2587 attribute.
2588 (sh_function_arg_advance): Likewise.
2589 (sh_return_in_memory): Likewise.
2590 (sh_strict_argument_naming): Likewise.
2591 (sh_pretend_outgoing_varargs_named): Likewise.
2592 (sh_struct_value_rtx): New.
2593 (sh_attribute): Add renesas attribute.
2594 (sh_handle_renesas_attribute): New.
2595 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
2596 (sh_ms_bitfield_layout_p): Support renesas attribute also.
2597 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
2598 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
2599 -mhitachi.
2600 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
2601 target hooks.
2602 (sh_args): Add renesas_abi flag.
2603 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
2604 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
2605 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
2606 stack for the renesas abi.
2607 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
2608 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
2609 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
2610 call cookie to indicate renesas calls.
ec24a740 2611
b885908b
MH
26122003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
2613
2614 * gcse.c (replace_one_set): New function.
2615 (pre_insert_copy_insn): Change the order of copying
2616 to make copy propagation discover additional PRE opportunities.
2617
bcfb8075
RS
26182003-09-03 Roger Sayle <roger@eyesopen.com>
2619
2620 PR optimization/11700.
2621 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
2622 of a hard register is representable before trying to simplify it
2623 using subreg_hard_regno.
2624
eb53bcc0
RO
26252003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2626
2627 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
2628 * configure: Regenerate.
2629
9a57322b
RO
26302003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2631
2632 * intl.h (N_): Remove parentheses.
2633
47fe5c48
BI
26342003-09-03 Bernardo Innocenti <bernie@develer.com>
2635
2636 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
2637 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
2638 definition and code blocks compiled when not defined.
2639 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
2640 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
2641 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
2642 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
2643
7dff32e6
JS
26442003-09-03 Jeff Sturm <jsturm@one-point.com>
2645
2646 * cgraphunit.c (visited_nodes): New static variable.
2647 (record_call_1): Use walk_tree with visited_nodes.
2648 (cgraph_create_edges): Use walk_tree with visited_nodes.
2649 Setup/teardown visited_nodes hashtable.
2650
039c3d42
RS
26512003-09-03 Roger Sayle <roger@eyesopen.com>
2652
2653 * toplev.c (flag_rounding_math): New global variable.
2654 (f_options): Add to the list of language independent options.
2655 * flags.h (flag_rounding_math): Prototype here.
2656 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
2657 * common.opt (frounding-math): New common command line option.
2658 * opts.c (common_handle_option): Handle OPT_frounding_math.
2659 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
2660
2661 * doc/invoke.texi: Document this new command line option.
2662
b689848f
RO
26632003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2664
2665 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
2666
602a82f3 26672003-09-03 Jan Hubicka <jh@suse.cz>
4a46cbfb
JH
2668
2669 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
2670 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
2671 * c-objc-common.c: Kill include of gt-c-objc-common.h
2672 (expand_deferred_fns, deffer_fn): Kill function.
2673 (deferred_fns): Kill variable.
2674 (finish_cdtor): Update finish_function call.
2675 (c_objc_common_finish_file): Always call cgraph code.
2676 * c-parse.c: Regenerate.
2677 * c-parse.y: Regenerate.
2678 * c-tree.h (finish_function): Update prototype.
2679 * objc-acct.c (build_module_descriptor, finish_method_def):
2680 Update call of finish_function.
2681 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
2682 forward prototype.
2683 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
2684 function and assemble it if needed.
2685 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
2686 mode.
2687 (cgraph_optimize): Likewise.
2688 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
2689 even when it has no inline callees.
2690 * c-parse.in: Update calls to finish_function.
2691
877bcd2d
NC
26922003-09-03 Nick Clifton <nickc@redhat.com>
2693
2694 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
2695 Use #error to generate the message if TARGET_DEFAULT is not
2696 recognised.
2697
ee692410
RS
26982003-09-03 Richard Sandiford <rsandifo@redhat.com>
2699
2700 * config/mips/mips.h (MASK_UNUSED1): Remove.
2701 (MASK_XGOT, TARGET_XGOT): Define.
2702 (TARGET_SWITCHES): Add an entry for -mxgot.
2703 (ASM_SPEC): Map -mxgot to -xgot.
2704 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
2705 whether we're using a big-GOT sequences.
2706 (mips_legitimize_const_move, mips_expand_call): Likewise.
2707 (override_options): Revert 2003-01-09 change.
2708 * doc/invoke.texi: Document -mxgot.
2709
49fa0661
JM
27102003-09-02 Jason Merrill <jason@redhat.com>
2711
2712 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
2713 * config/sparc/sol2.h: Not here.
2714
f0e9957a
RS
27152003-09-02 Roger Sayle <roger@eyesopen.com>
2716
2717 * expr.c (expand_expr): The code following both_summands performs
2718 the same task as simplify_gen_binary. Replace all gotos to
2719 both_summands with a call to simplify_gen_binary and delete the
2720 now unused label.
2721
5220823f
JM
27222003-09-02 Jason Merrill <jason@redhat.com>
2723
2724 PR c++/7327
2725 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
2726
64384568
JS
27272003-09-02 Jeff Sturm <jsturm@one-point.com>
2728
2729 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
2730 (cgraph_optimize_function): Set current_function_decl to the
2731 fndecl we're integrating from.
2732
742c0a4e
KG
27332003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2734
2735 * builtins.def: Break out _Complex math functions into their
2736 own category.
2737
27f35b75
AJ
27382003-09-02 Andreas Jaeger <aj@suse.de>
2739
2740 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
2741
441c9a12
JZ
27422003-09-02 Josef Zlomek <zlomekj@suse.cz>
2743
2744 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
2745 finding the note again.
2746
b3422074
NN
27472003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
2748
2749 * config.gcc: Remove host-specific rewrites of target_alias.
2750
4b09846b
MM
27512003-09-01 Mark Mitchell <mark@codesourcery.com>
2752
9b0f6145
MM
2753 * Makefile.in (genprogs): Fix typo.
2754
4b09846b
MM
2755 * Makefile.in (gencheck.o): Remove build commands.
2756 (dummy-conditions.o): Likewise.
2757 (read-rtl.o): Likewise.
2758 (gensupport.o): Likewise.
2759 (genconfig$(build_exeext)): Remove rule.
2760 (genconfig.o): Remove build commands.
2761 (genflags$(build_exeext)): Remove rule.
2762 (genflags.o): Remove build commands.
2763 (gencodes$(build_exeext)): Remove rule.
2764 (gencodes.o): Remove build commands.
2765 (genconstants.o): Remove build commands.
2766 (genemit$(build_exeext)): Remove rule.
2767 (genemit.o): Remove build commands.
2768 (genrecog$(build_exeext)): Remove rule.
2769 (genrecog.o): Remove build commands.
2770 (genextract$(build_exeext)): Remove rule.
2771 (genextract.o): Remove build commands.
2772 (genpeep$(build_exeext)): Remove rule.
2773 (genpeep.o): Remove build commands.
2774 (genattr$(build_exeext)): Remove rule.
2775 (genattr.o): Remove build commands.
2776 (genprognames): New variable.
2777 (genprogs): Likewise.
2778 (genobjs): Likewise.
2779 (genprogs): New rule.
2780 (genobjs): Likewise.
2781 (genattrtab.o): Remove build commands.
2782 (genautomata.o): Likewise.
2783 (genoutput$(build_exeext)): Remove rule.
2784 (genoutput.o): Remove build commands.
2785 (gengenrtl.o): Likewise.
2786 (genpreds.o): Likewise.
2787 (gengtype.o): Likewise.
2788 (genconditions.o): Likewise.
2789 (gen-protos.o): Likewise.
2790 (scan.o): Likewise.
2791 (fix-header.o): Likewise.
2792 (scan-decls.o): Likewise.
2793 (check-g++): Combine with other check targets.
2794 (check-gcc): Likewise.
2795 (check-g77): Likewise.
2796 (check-objc): Likewise.
2797
330532ab
NN
27982003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
2799
53b49aca
NN
2800 * config.gcc: Remove host-specific stuff which is unused here
2801 since the introduction of config.host.
2802
330532ab
NN
2803 * doc/fragments.texi: Mention config.host.
2804 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
2805 of config.build, config.host, and config.gcc.
2806
130a1080
ZW
28072003-09-01 Zack Weinberg <zack@codesourcery.com>
2808
2809 * c-decl.c (pushdecl): Don't put variables on
2810 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
2811 incomplete.
2812
a89ea0df
NN
28132003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
2814
2815 * config.host: New file.
2816 * config.gcc: Remove some host-specific stuff and some
2817 logic needed only for repeated invocation.
2818 * configure.in: Use config.host.
2819 * configure: Regenerate.
2820
31934da7
JZ
28212003-09-01 Josef Zlomek <zlomekj@suse.cz>
2822
2823 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
2824 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
2825 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
2826 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
2827 * tree.def (BIT_ANDTC_EXPR): Kill.
2828
d0d0e9ac
NN
28292003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
2830
c406e779
NN
2831 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
2832 * configure: Regenerate.
2833
d0d0e9ac
NN
2834 * config.gcc: Remove references to install_headers_dir, now unused
2835 since introduction of config.build.
2836 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
2837
2838 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
2839 config.build.
2840
2841 * config.build: New file.
2842 * config.gcc: Remove some build-specific stuff.
2843 * configure.in: Use config.build.
2844 * configure: Regnerate.
2845
9e4b13a7
SB
28462003-08-31 Steven Bosscher <steven@gcc.gnu.org>
2847 Roger Sayle <roger@eyesopen.com>
2848
2849 PR middle-end/11823
2850 * stmt.c (expand_end_case_type): Only use jump tables for dense
2851 switch statements when optimizing for size.
2852
7c66d5f5
OH
28532003-08-31 Olivier Hainque <hainque@act-europe.fr>
2854
130a1080
ZW
2855 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
2856 the != 0 case, which ensures pending stack adjustments are flushed.
7c66d5f5 2857
2ed26f6b
ZW
28582003-08-30 Zack Weinberg <zack@codesourcery.com>
2859
2860 * configure.frag: Delete file.
2861 * configure.in: Rename the substitution variables
2862 dep_host_xmake_file and dep_tmake_file to xmake_file and
2863 tmake_file respectively. Do not expand $srcdir in the
2864 value of these; leave that for Make. Introduce a new
2865 substitution varaible, all_lang_makefrags, which lists
2866 subdirectory Make-lang.in files; exclude these from
2867 all_lang_makefiles, which is now only for subdirectory
2868 outputs. Do not invoke configure.frag. Do not set nor
2869 AC_SUBST_FILE target_overrides, host_overrides, or
2870 language_fragments. Create build subdirectories in
2871 config.status extra commands.
2872 * configure: Regenerate.
2873 * Makefile.in: Update substitutions to match changes to
2874 configure. Use include directives instead of @-insertions
2875 to read in host, target, and language fragments.
2876 (Makefile rule): Do not invoke configure.frag. Do not copy
2877 config.status to config.run before executing it. Set
2878 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
2879 regenerated.
2880 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
2881
766beae1
ZW
28822003-08-30 Zack Weinberg <zack@codesourcery.com>
2883
2884 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
2885 * c-typeck.c (same_translation_unit_p): New function.
2886 (comptypes): Use it instead of flags parameter to identify
2887 structure types from different translation units.
2888 * c-decl.c (duplicate_decls): Always call comptypes with
2889 COMPTYPE_STRICT flags argument.
2890 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
2891 to file_scope_decl.
2892
bf7a697f
ZW
28932003-08-30 Zack Weinberg <zack@codesourcery.com>
2894
2895 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
2896 * c-decl.c (struct c_scope): Remove "incomplete" field.
2897 (pushdecl): Attach variables with incomplete types to
2898 the TYPE_MAIN_VARIANT of the incomplete type in question.
2899 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
2900 to complete, not at current_scope->incomplete. All such
2901 variables do need completion.
2902
496b84c8
RE
29032003-08-30 Richard Earnshaw <rearnsha@arm.com>
2904 Nicolas Pitre <nico@cam.org>
2905
2906 * arm/lib1funcs.asm (RETCOND): Delete.
2907 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
2908 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
2909 (__ARM_ARCH__): Move here from ieee754-?f.S.
2910 (RET, RETc): Clean up definitions.
2911 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
2912 (FUNC_END): New macro that marks the end of any function.
2913 (ARM_FUNC_START): New macro that allows an assembler routine to be
2914 implemented in ARM code even if a Thumb-only build.
2915 Unconditionally include ieee754-?f.S.
2916 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
2917 Mark ends of functions.
2918 Split into separate conditionally-compiled units.
2919 Use RETLDM to return from routines.
2920 * arm/ieee754-sf.S: Similarly.
bf7a697f 2921 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
496b84c8
RE
2922 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
2923 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
2924 _fixsfsi and _fixunssfsi.
2925
bf7a697f 2926 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
496b84c8 2927 multiplication underflows to zero.
bf7a697f 2928 (__adddf3): Fix bug when using VFP ordering on little-endian
496b84c8
RE
2929 processors.
2930 (__fixdfsi): Use rrx to extract the carry into a register instead of
2931 MRS instruction. Optimize later use of result.
2932 * arm/ieee754-sf.S (__fixsfsi): Likewise.
2933 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
bf7a697f 2934
4985cde3
RH
29352003-08-29 Richard Henderson <rth@redhat.com>
2936
2937 * tree-optimize.c: New file.
2938 * Makefile.in (OBJS-archive): Add tree-optimize.o.
2939 (tree-optimize.o): New.
2940 * c-decl.c (store_parm_decls): Use allocate_struct_function.
2941 (finish_function): Don't free_after_parsing or free_after_compilation.
2942 (set_save_expr_context): Move to tree-optimize.c.
2943 (c_expand_body_1): Use tree_rest_of_compilation.
2944 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
2945 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
2946 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
2947 iterate until closure.
2948 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
2949 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
2950 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
2951 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
2952 * toplev.h (tree_rest_of_compilation): Declare it.
2953
d560a41c
RH
29542003-08-29 Richard Henderson <rth@redhat.com>
2955
2956 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
2957 * integrate.c (save_for_inline): Set saved_for_inline.
2958 * c-semantics.c (genrtl_scope_stmt): Check it.
2959 * toplev.c (wrapup_global_declarations): Check it.
2960 (rest_of_handle_inlining): Set and check rtl_inline_init.
2961 (rest_of_compilation): Remove out of date comment.
2962
3a70d621
RH
29632003-08-29 Richard Henderson <rth@redhat.com>
2964
2965 * function.c (allocate_struct_function): New, split out of ...
2966 (prepare_function_start, init_function_start): ... here.
2967 * expr.c (init_expr): Use ggc_alloc_cleared.
2968 * stmt.c (init_stmt_for_function): Likewise.
2969 * tree.h (allocate_struct_function): Declare.
2970
2d3359eb
NN
29712003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
2972
bf7a697f
ZW
2973 * config.gcc: Don't use negated character class in shell case
2974 clause.
2d3359eb 2975
23b6da10
RH
29762003-08-29 Richard Henderson <rth@redhat.com>
2977
2978 * function.h (struct function): Move function_frequency and
2979 max_jumptable_ents before start of bit field members.
2980
0dcd3840
RH
29812003-08-29 Richard Henderson <rth@redhat.com>
2982
2983 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
2984 (fold_builtin_constant_p) ... not here.
2985
4b1e44be
RH
29862003-08-29 Richard Henderson <rth@redhat.com>
2987
2988 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
2989 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
2990 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
2991
fe3d04dc
KG
29922003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2993
05a5fba9
KG
2994 * builtins.def: Fix typos.
2995 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
2996 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
2997 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
2998 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
2999 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
3000
fe3d04dc
KG
3001 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
3002 Use ATTR_MATHFN_FPROUNDING_ERRNO.
3003
5650fd39
NN
30042003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
3005
c5e54ac8
NN
3006 * config.gcc (i386-*-vsta): Fix obvious bogosity.
3007
5650fd39
NN
3008 * fixinc/inclhack.def: Remove special cases for unsupported
3009 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
3010 * fixinc/fixincl.x: Regenerate.
3011
6280c439
MM
30122003-08-29 Mark Mitchell <mark@codesourcery.com>
3013
3014 * Makefile.in (cpp.info): Just state dependencies.
3015 (gcc.info): Likewise.
3016 (gccint.info): Likewise.
3017 (gccinstall.info): Likewise.
3018 (cppinternals.info): Likewise.
3019 (cpp.dvi): Likewise.
3020 (gcc.dvi): Likewise.
3021 (gccint.dvi): Likewise.
3022 (gccinstall.dvi): Likewise.
3023 (cppinternals.dvi): Likewise.
3024 (gcov.1): Likewise.
3025 (cpp.1): Likewise.
3026 (gcc.1): Likewise.
3027 (gfdl.7): Likewise.
3028 (gpl.7): Likewise.
3029 (fsf-funding.7): Likewise.
3030 ($(objdir)/%.info): New pattern rule.
3031 (%.dvi): Likewise.
bf7a697f 3032
e46f77a4
KC
30332003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
3034
3035 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
3036 (restage2): Likewise.
3037 (restage3): Likewise.
3038 (restage4): Likewise.
3039 (restageprofile): Likewise.
3040 (restagefeedback): Likewise.
3041 (bubblestrap): Likewise.
3042
8e3a7070
NN
30432003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
3044
3045 * config.gcc: Narrow unsupported target match to avoid clobbering
3046 i?86-sequent-sysv4*.
3047
d119e83e
KG
30482003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3049
3050 * builtins.c (mathfn_built_in): Handle new math builtins.
3051
2be570f9
PB
30522003-08-28 Per Bothner <per@bothner.com>
3053
3054 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
3055 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
3056 (_cpp_lex_buffer): Likewise.
3057 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
3058
f1e77d83
UW
30592003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
3060
3061 * config/s390/s390.md ("*mulsi3_sign"): New insn.
3062 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
3063 ("mulsidi3"): ... this new insn.
3064 ("umulsidi3"): New insn.
3065 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
3066 mixed-mode matching constraints.
3067 ("udivmodsi4", "udivmoddisi3"): New insns.
3068 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
3069
a2a919aa
KG
30702003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3071
3072 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
3073 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
3074 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
3075 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
3076 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
3077 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
3078 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
3079 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
3080 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
3081 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
3082 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
3083 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
3084 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
3085 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
3086 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
3087 * tree.c: Assign new type_nodes.
3088 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
3089 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
3090 (float_ptr_type_node, double_ptr_type_node,
bf7a697f
ZW
3091 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
3092
a2a919aa
KG
3093 * doc/extend.texi: Document new builtins.
3094
488f17e1
KG
30952003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3096
3097 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
3098 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
bf7a697f 3099
488f17e1
KG
3100 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
3101 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
3102 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
3103 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
3104 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
3105 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
3106 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
3107 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
3108 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
3109 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
bf7a697f 3110
488f17e1
KG
3111 * doc/extend.texi: Document new builtins.
3112
199c4ccc
NN
31132003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
3114
2882c718 3115 * fixinc/mkfixinc.sh: Remove special case code for unsupported
bf7a697f 3116 variants of i?86, powerpcle, and thumb.
199c4ccc
NN
3117 * fixinc/mkfixinc.sh: Remove special case code for unsupported
3118 arm and hppa variants.
3119
98ff7c4d
KG
31202003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3121
3122 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
3123 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
3124 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
3125 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
3126 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
3127 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
3128 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
3129 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
3130 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
3131 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
3132
3133 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
3134 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
3135 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
3136 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
3137 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
3138 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
3139 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
3140 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
3141 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
3142 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
3143 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
3144 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
3145 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
3146 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
3147 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
3148 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
3149 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
3150 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
3151 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
3152 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
3153 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
3154 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
3155 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
3156 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
3157 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
3158 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
3159 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
3160 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
3161 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
3162 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
3163 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
3164
3165 * doc/extend.texi: Document new builtins.
3166
9e8327e3
UW
31672003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
3168
3169 * config/s390/s390.c (legitmate_constant_p): Use LARL on
3170 zSeries machines even in 31-bit addressing mode.
3171 (legitimate_reload_constant_p): Likewise.
3172 (legitimize_pic_address): Likewise.
3173 (legitimize_tls_address): Likewise.
3174 (s390_split_branches): Likewise.
3175 (s390_dump_pool): Likewise.
3176 (s390_mainpool_finish): Likewise.
3177 (s390_chunkify_start): Likewise.
3178 (s390_select_rtx_section): Likewise.
3179 * config/s390/s390.md ("doloop_si"): Likewise.
3180 ("pool_start_31", "pool_end_31"): Likewise.
3181 ("pool_start_64", "pool_end_64"): Likewise.
3182 ("main_base_31_small", "main_base_31_large"): Likewise.
3183 ("main_base_64"): Likewise.
3184 ("reload_base_31", "reload_base_64"): Likewise.
3185 ("*movsi_larl"): New insn.
3186 ("cjump", "icjump"): Use long branches on zSeries machines.
3187 ("jump"): Likewise.
3188 ("call"): Use BRASL on zSeries machines.
3189 ("call_value", "call_value_tls"): Likewise.
bf7a697f 3190 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9e8327e3
UW
3191 and replace by ...
3192 ("*bras", "*brasl", "*basr") ... these new insns.
bf7a697f 3193 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9e8327e3
UW
3194 "bas_31_r"): Remove and replace by ...
3195 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
bf7a697f 3196 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9e8327e3
UW
3197 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
3198 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
3199 ("*return_si", "*return_di"): Remove and replace by ...
3200 ("*return"): ... this new insn.
3201 ("rotlsi3"): Allow on zSeries machines.
3202
3203 * config/s390/s390.c (legitimize_reload_constant_p): Use
3204 LL/LH type instructions in z/Architecture mode.
3205 * config/s390/s390.md ("*movsi_lli"): Likewise.
3206 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
3207 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
3208 ("*extendqisi2"): Use LB in z/Architecture mode.
bf7a697f 3209 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
9e8327e3 3210 z/Architecture mode.
bf7a697f 3211 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
9e8327e3 3212 Likewise.
bf7a697f 3213
9e8327e3
UW
3214 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
3215 and 31-bit mode.
3216 ("ptr_extend"): Allow only in 64-bit mode.
3217
0d037580
DJ
32182003-08-27 Daniel Jacobowitz <drow@mvista.com>
3219
3220 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
3221 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
3222 definitions.
3223 (main): Only use standard_startfile_prefix if native.
3224 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
3225
75ee800b
PB
32262003-08-27 Per Bothner <pbothner@apple.com>
3227
3228 * cpperror.c (print_location): Don't check for !pfile->buffer. That
3229 test fails following my 08-21 change, and it seems unnecessary anyway.
3230 (cpp_error): Likewise.
3231
138ca312
JM
32322003-08-27 Jason Merrill <jason@redhat.com>
3233
3234 * real.c (do_multiply): Initialize with memset.
3235
3d7ca167
ZD
32362003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3237
3238 * gcov.c (typedef struct arc_info): New field cs_count.
3239 (accumulate_line_counts): Find cycles correctly.
3240
5af2f3d3
UW
32412003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
3242
3243 * config/s390/s390.c (struct machine_function): Remove member
3244 literal_pool_label.
bf7a697f 3245 (s390_optimize_prolog): Replace TEMP_REG argument with
5af2f3d3 3246 TEMP_USED and BASE_USED. Do not check get_pool_size ().
bf7a697f
ZW
3247 (general_s_operand): Accept all immediates before reload if
3248 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
5af2f3d3
UW
3249 references.
3250 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
3251 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
3252 (s390_alloc_pool): New function.
3253 (s390_new_pool): Call it.
3254 (s390_dump_pool): Add REMOTE_LABEL argument.
bf7a697f 3255 (s390_chunkify_start): Add BASE_REG argument. Do not check
5af2f3d3 3256 get_pool_size ().
bf7a697f 3257 (s390_chunkify_finish): Add BASE_REG argument. Adapt
5af2f3d3
UW
3258 s390_dump_pool call.
3259 (s390_pool_count, s390_nr_constants): Remove.
3260 (s390_output_constant_pool): Remove.
3261 (s390_mainpool_start): New function.
3262 (s390_mainpool_finish): New function.
3263 (s390_mainpool_cancel): New function.
3264 (s390_reorg): Implement main literal pool handling.
bf7a697f 3265 (s390_emit_prologue): Emit main_pool placeholder instead of
5af2f3d3
UW
3266 literal_pool_31 / literal_pool_64 insns.
3267 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
3268 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
3269 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
3270 ("main_base_31_small", "main_base_31_large"): New insns.
3271 ("main_base_64", "main_pool"): New insns.
3272 ("literal_pool_31", "literal_pool_64"): Remove.
3273
036e07f2
NN
32742003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
3275
3276 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
3277 fixinc.ptx.
3278 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
3279 Prettify a little.
3280 * fixinc/fixincl.x: Regenerate.
3281
4202ce82
RE
32822003-08-27 Richard Earnshaw <rearnsha@arm.com>
3283
3284 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
3285 (L_ieee754_dp): New. Include ieee754-df.S.
3286 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
3287 and compilation in apcs-26 mode.
3288 * arm/ieee754-df.S: Likewise.
3289 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
3290 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
3291
32922003-08-27 Nicolas Pitre <nico@cam.org>
3293
3294 * arm/ieee754-sf.S: New.
3295 * arm/ieee754-df.S: New.
3296
b7bc76e3
JJ
32972003-08-27 Jakub Jelinek <jakub@redhat.com>
3298
3299 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
3300 and restore it if returning NULL.
3301
648bb159
RS
33022003-08-27 Richard Sandiford <rsandifo@redhat.com>
3303
3304 * calls.c (initialize_argument_information): If an argument has no
3305 stack space associated with it, and BLOCK_REG_PADDING is defined,
3306 use it to decide at which end the argument should be padded.
3307 * function.c (assign_parms): Allocate BLKmode stack slots.
3308 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
3309 (mips_pad_reg_upward): Declare.
3310 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
3311 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
3312 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
3313 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
3314 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
3315 (mips_expand_call): Remove code for generating structure shifts.
3316 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
3317 types unless using the EABI.
3318 (function_arg_advance): Don't generate shift instructions.
3319 (function_arg): Don't return them. Don't short-circuit the
3320 check for double structure chunks for DFmode arguments.
3321 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
3322 (mips_expand_prologue): Remove code to emit structure shifts.
3323 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
3324 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
3325 comments to say that only structure returns are a problem.
3326
228e7b62
NN
33272003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
3328
88f505f6
NN
3329 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
3330 Fix to match produced versions.
3331 * fixinc/inclhack.def (longlong_t): New disabled test, ported
3332 from fixinc.svr4.
7309576c
NN
3333 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
3334 from fixinc.ptx.
bf7a697f
ZW
3335 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
3336 ported from fixinc.ptx.
3337
dc3786d8
PB
33382003-08-26 Per Bothner <pbothner@apple.com>
3339
3340 * cpplib.h (struct cpp_token): Change type of field line to fileline.
3341 (cpp_error_with_line): Use fileline for appropriate parameter.
3342 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
3343 (struct cpp_reader): Likewise for fields line and directive_line.
3344 (_cpp_begin_message): Use fileline for appropriate parameter.
3345 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
3346 cpp_error): Use fileline for appropriate parameters and variables.
3347 (print_location): New local lin, since it is not a fileline.
3348
00229de4
RS
33492003-08-26 Roger Sayle <roger@eyesopen.com>
3350
3351 PR middle-end/12002
3352 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
3353 (FLOAT_TYPE_P): Define in terms of these two new macros.
3354 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
3355 for complex floating point types.
3356
b41ead3e
UW
33572003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
3358
3359 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
bf7a697f 3360 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
b41ead3e
UW
3361 s390_output_pool_entry.
3362
c2f523ea
NN
33632003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
3364
bf7a697f
ZW
3365 * fixinc/inclhack.def (svr4_preproc_lint_on,
3366 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
c2f523ea
NN
3367 fixes, ported from fixinc.svr4.
3368
e158a5fb
MM
33692003-08-26 Mark Mitchell <mark@codesourcery.com>
3370
3371 * doc/install.texi (Prerequisites): Mention GNU make requirement.
3372
3373 * Makefile.in (AR_FOR_TARGET): Export it.
3374 (AR_CREATE_FOR_TARGET): Likewise.
3375 (AR_FLAGS_FOR_TARGET): Likewise.
3376 (AR_EXTRACT_FOR_TARGET): Likewise.
3377 (AWK): Likewise.
3378 (BUILD_PREFIX): Likewise.
3379 (BUILD_PREFIX_1): Likewise.
3380 (DESTDIR): Likewise.
3381 (GCC_FOR_TARGET): Likewise.
3382 (INCLUDES): Likewise.
3383 (INSTALL_DATA): Likewise.
3384 (LIB1ASMSRC): Likewise.
3385 (LIBGCC2_CFLAGS): Likewise.
3386 (MACHMODE_H): Likewise.
3387 (NM_FOR_TARGET): Likewise.
3388 (RANLIB_FOR_TARGET): Likewise.
3389 (libsubdir): Likewise.
3390 (slibdir): Likewise.
3391 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
3392 exporting.
3393 (libgcc.a): Don't pass them here.
3394 (stmp-multilib): Or here.
3395 (install-libgcc): Or here.
3396 (install-multilib): Or here.
3397 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
3398 (stage1_build): Or here.
3399
288e517f
AK
34002003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
3401
3402 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
3403 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
3404
a1b892b5
AK
34052003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
3406
bf7a697f 3407 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
a1b892b5
AK
3408 "*fmaddsf", "*fmsubsf"): New insns.
3409
e3232933
RS
34102003-08-26 Roger Sayle <roger@eyesopen.com>
3411
3412 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
3413 (C1*C2)/X when unsafe math optimizations are allowed.
3414 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
3415 math optimizations. Minor code clean-ups. Recursively call
3416 fold when constructing sub-expressions.
3417
cf42869d
RS
34182003-08-26 Roger Sayle <roger@eyesopen.com>
3419
3420 * builtins.c (fold_builtin_bitop): New function to perform constant
3421 folding of ffs, clz, ctz, popcount and parity builtin functions
3422 and their long and long long variants (such as ffsl and ffsll).
3423 (fold_builtin): fold_builtin_bitop when appropriate.
3424 * simplify-rtx.c (simplify_unary_operation): Honor both
3425 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
3426 evaluating clz and ctz at compile-time, for operands wider
3427 than HOST_WIDE_INT.
3428
d128effb
NS
34292003-08-26 Nathan Sidwell <nathan@codesourcery.com>
3430
20b50672
NS
3431 * builtins.c (build_function_call_expr): Don't set
3432 TREE_SIDE_EFFECTS here.
3433 * expr.c (emit_block_move_via_libcall): Likewise.
3434 (clear_storage_via_libcall): Likewise.
3435 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
3436 CALL_EXPRs.
bf7a697f 3437
d128effb
NS
3438 * gcse.c (is_too_expensive): New function.
3439 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
3440
7e2055ec
ZW
34412003-08-25 Zack Weinberg <zack@codesourcery.com>
3442
3443 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
3444 commented-out logic to use DCE threads (if present), add
3445 support for POSIX threads.
3446 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
3447 #defines for -pthread. Add -lpthread to LIB_SPEC when
3448 -pthread. In both cases take -mt as a synonym for -pthread
3449 for acc compatibility.
3450 Define GTHREAD_USE_WEAK to 0.
3451 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
3452 Remove old logic for DCE threads from LIB_SPEC.
3453 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
3454
8634629b
RS
34552003-08-25 Roger Sayle <roger@eyesopen.com>
3456
3457 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
3458 return 0 for invalid argument types. Instead drop through to a
3459 call of expand_call at the bottom of function. If op is SQRT,
3460 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
3461
0d433a6a
RH
34622003-08-25 Richard Henderson <rth@redhat.com>
3463
3464 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
3465 result when op0 is SImode.
7e2055ec 3466
1d109416
NN
34672003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
3468
3469 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
3470 from fixinc.svr4.
3471 * fixinc/fixincl.x: Regenerate.
3472 * fixinc/tests/base/sys/signal.h: Regenerate.
3473
dc5c3188
UW
34742003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
3475
3476 * combine.c (simplify_comparison): Re-enable widening of comparisons
3477 with non-paradoxical subregs of non-REG expressions.
3478
b01e3e38
UW
34792003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
3480
3481 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
3482
c6279378
UW
34832003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
3484
3485 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
3486
12ea3302
GDR
34872003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3488
3489 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
3490 * c-pretty-print.h (c_pretty_printer): Now typedef to the
3491 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
3492 (struct c_pretty_print_info): Document. Add new fields.
3493 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
3494 (pp_direct_abstract_declarator): New macro.
3495 (pp_ptr_operator): Likewise.
3496 (pp_simple_type_specifier): Likewise.
3497 (pp_expression): Likewise.
3498 (pp_parameter_list): Rename from pp_parameter_declaration.
3499 * c-pretty-print.c (pp_c_whitespace): Now a function.
3500 (pp_c_left_paren): Likewise.
3501 (pp_c_right_paren): Likewise.
3502 (pp_c_dot): Likewise.
3503 (pp_c_ampersand): Likewise.
3504 (pp_c_arrow): Likewise.
3505 (pp_c_semicolon): Likewise.
3506 (pp_c_type_cast): New function.
3507 (pp_c_space_for_pointer_operator): Likewise.
3508 (pp_c_call_argument_list): Likewise.
3509 (pp_c_cv_qualifier): Adjust prototype.
3510 (pp_c_type_qualifier_list): Likewise.
3511 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
3512 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
3513 Adjust to follow standard grammar.
3514 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
3515 REFERENCE_TYPE. Tidy.
3516 (pp_c_parameter_type_list): Adjust prototype. Tidy.
3517 (pp_c_parameter_declaration): Remove.
3518 (pp_c_abstract_declarator): Adjust prototype.
3519 (pp_c_direct_abstract_declarator): Likewise.
3520 (pp_c_type_id): Likewise.
7e2055ec 3521 (pp_c_storage_class_specifier): Likewise.
12ea3302
GDR
3522 (pp_c_function_specifier): Likewise.
3523 (pp_c_declaration_specifiers): Likewise.
3524 (pp_c_direct_declarator): Likewise.
3525 (pp_c_declarator): Likewise.
3526 (pp_c_declarator): Likewise.
3527 (pp_c_declaration): Likewise.
3528 (pp_c_attributes): Likewise. Tidy.
3529 (pp_c_function_definition): Adjust prototype.
3530 (pp_c_char): Likewise.
3531 (pp_c_string_literal): Likewise.
3532 (pp_c_integer_constant): Likewise.
3533 (pp_c_character_constant): Likewise.
3534 (pp_c_bool_constant): Likewise.
3535 (pp_c_enumeration_constant): Likewise.
3536 (pp_c_floating_constant): Likewise.
3537 (pp_c_constant): Likewise.
3538 (pp_c_identifier): Likewise.
3539 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
3540 (pp_c_initializer): Adjust prototype.
3541 (pp_c_init_declarator): Likewise.
3542 (pp_c_initializer_list): Likewise.
3543 (pp_c_id_expression): Likewise.
3544 (pp_c_postfix_expression): Likewise.
3545 (pp_c_expression_list): Likewise.
3546 (pp_c_unary_expression): Likewise.
3547 (pp_c_cast_expression): Likewise.
3548 (pp_c_multiplicative_expression): Likewise.
3549 (pp_c_additive_expression): Likewise.
3550 (pp_c_shift_expression): Likewise.
3551 (pp_c_relational_expression): Likewise.
3552 (pp_c_equality_expression): Likewise.
3553 (pp_c_and_expression): Likewise.
3554 (pp_c_exclusive_or_expression): Likewise.
3555 (pp_c_inclusive_or_expression): Likewise.
3556 (pp_c_logical_and_expression): Likewise.
3557 (pp_c_logical_or_expression): Likewise.
3558 (pp_c_conditional_expression): Likewise.
3559 (pp_c_assignment_expression): Likewise.
3560 (pp_c_expression): Likewise. Tidy.
3561 (pp_c_statement): Likewise. Document.
3562 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
3563
3564 * c-lang.c (c_initialize_diagnostics): Update.
3565 * c-common.h (strip_pointer_operator): Declare.
3566 * c-common.c (strip_pointer_operator): Define.
3567
43dc123f
MM
35682003-08-25 Mark Mitchell <mark@codesourcery.com>
3569
3570 PR c++/8795
3571 * tree.h (build_method_type_directly): Declare.
3572 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
3573 (vector_size_helper): Likewise.
3574 * tree.c (build_method_type_directly): New function.
3575 (build_method_type): Use it.
3576
a30b6839
RH
35772003-08-24 Richard Henderson <rth@redhat.com>
3578
3579 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
3580 for 16-byte vector modes if sse not enabled; warn for abi change.
3581 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
3582
30c3267c
KH
35832003-08-24 Kazu Hirata <kazu@cs.umass.edu>
3584
3585 * rtlanal.c (may_trap_p): Simplify an integer comparison.
3586
791996d1
NN
35872003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
3588
3589 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
3590 comment. Enable for DYNIX/ptx systems (when they switch to
3591 regular fixincludes).
3592 * fixinc/fixincl.x: Regenerate.
3593
b882d60d
JE
35942003-08-23 Jason Eckhardt <jle@rice.edu>
3595
3596 * config/i860/t-i860: New.
3597 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
3598
61c234ce
JJ
35992003-08-23 Jakub Jelinek <jakub@redhat.com>
3600
3601 * c-decl.c (pushdecl): Only put decls which finish_struct will do
3602 something about onto incomplete chain.
3603 (finish_struct): If not removing type from incomplete
3604 list, update prev.
3605
602a82f3 36062003-08-20 Jan Hubicka <jh@suse.cz>
ebe75517
JH
3607
3608 PR target/11369
3609 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
3610
3611 PR target/11031
3612 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
3613 const_0_to_15_operand, const_0_to_255_operand): New predicates.
3614 * i386.h (PREDICATE_CODES): Add these.
3615 * i386.c (pinsrw and pextrw patterns): Use them.
3616
3617 PR target/10984
3618 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
3619
3620 PR target/8869
3621 * expr.c (convert_modes): Deal properly with integer to vector
3622 constant conversion.
3623
3624 PR target/8871
3625 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
3626
02ed3c5e
UW
36272003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
3628
3629 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
3630 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
3631 ("*movhi"): ... this.
3632 ("movqi", "*movqi"): Likewise.
3633 ("movqi_64"): Remove.
3634 ("*zero_extendhisi2_31"): Change predicate to s_operand.
3635
643642eb
DJ
36362003-08-23 Dale Johannesen <dalej@apple.com>
3637 * calls.c (emit_library_call_value_1): Fix obvious errors in
f346cc37 3638 arguments to emit_group_store.
643642eb 3639
edf11bda
JE
36402003-08-23 Jason Eckhardt <jle@rice.edu>
3641
3642 * calls.c (emit_library_call_value_1): Remove code related
3643 to LIBGCC_NEEDS_DOUBLE.
3644 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
3645 * doc/tm.texi: Likewise.
3646 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
3647
e2a188b2
RS
36482003-08-23 Richard Sandiford <rsandifo@redhat.com>
3649
3650 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
3651
520d96c6
RS
36522003-08-23 Richard Sandiford <rsandifo@redhat.com>
3653
3654 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
3655 as well. Put memory references in the varargs alias set.
3656 (mips_expand_prologue): Remove varargs handling from here.
3657
47798692
UW
36582003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
3659
3660 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
3661 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
3662 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
3663 for function pointer calls.
3664 * config/s390/s390.md ("*negdi2_31"): Likewise.
3665
a0209ac2
RS
36662003-08-23 Roger Sayle <roger@eyesopen.com>
3667
3668 * combine.c (apply_distributive_law): Correct comment.
3669
fe232263
JE
36702003-08-23 Jason Eckhardt <jle@rice.edu>
3671
3672 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
3673
5dab8d92
JE
36742003-08-22 Jason Eckhardt <jle@rice.edu>
3675
3676 * config/i860/i860.c (i860_build_va_list): Create the va_decl
3677 declaration. Document the va_list structure.
3678 (i860_va_start): Initialize the va_list structure.
3679 (i860_va_arg): Rewrite completely.
3680 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
3681 * config/i860/varargs.asm: Do not allocate or initialize
3682 a va_list. Return the address of the register save area.
3683
2cac216b
KH
36842003-08-22 Kazu Hirata <kazu@cs.umass.edu>
3685
3686 * config/iq2000/iq2000.c: Fix comment typos.
3687 * config/iq2000/iq2000.md: Likewise.
3688
4375e090
KH
36892003-08-22 Kazu Hirata <kazu@cs.umass.edu>
3690
3691 * config/iq2000/iq2000.c: Follow spelling conventions.
3692 * config/iq2000/iq2000.h: Likewise.
3693 * config/mn10300/mn10300.c: Likewise.
3694
a36b8cb8
JE
36952003-08-22 Jason Eckhardt <jle@rice.edu>
3696
3697 * config/i860/i860.c (output_move_double): Don't set latehalf
3698 to zero for CONST_INT (since it could be, e.g., -1).
3699
3700 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
3701 (MODSI3_LIBCALL): ...with this one.
3702 (UREMSI3_LIBCALL): Replace this macro...
3703 (UMODSI3_LIBCALL): ...with this one.
3704
89520fd7
JE
37052003-08-22 Jason Eckhardt <jle@rice.edu>
3706
3707 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
3708 (output_delayed_branch): Remove prototype.
3709 (single_insn_src_p): Remove prototype.
3710 * config/i860/i860.c (single_insn_src_p): Remove function.
3711 (output_delayed_branch): Remove function.
3712 (output_delay_insn): Remove function.
3713 (va_start): Remove unconditional test and dead code, re-format.
3714 Fix coding style and spelling problems in various comments.
3715 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
3716 (blockage pattern): ...and use it here.
3717 (all define_peephole patterns related to delayed branches): Remove.
3718 Fix coding style and spelling problems in various comments.
3719
8274e603
JE
37202003-08-22 Jason Eckhardt <jle@rice.edu>
3721
3722 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
3723 Remove all uses of the PARAMS macro. Remove superflous prototypes.
3724 Convert all function definitions from traditional to ISO C90 syntax.
3725 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
3726 with 'GCC'. Remove all uses of the PARAMS macro.
3727 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
3728 * config/i860/i860.md: Likewise.
3729 * config/i860/sysv4.h: Likewise.
3730 * config/i860/varargs.asm: Likewise.
3731
cfbdb830
JE
37322003-08-22 Jason Eckhardt <jle@rice.edu>
3733
3734 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
3735 argument.
3736 (tdesc_section): Add prototype.
3737 Update copyright dates.
3738 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
3739 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
3740 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
3741 (targetm): Likewise.
3742 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
3743 for '%d' where necessary.
3744 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
3745 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
3746 by UNITS_PER_WORD when referencing (likewise for .floats).
3747 (I860_SVR4_VARARGS): Rename...
3748 (I860_SVR4_VA_LIST): ...to this.
3749 Call build() with 't' rather than 'field'.
3750 (i860_rtx_costs): New function.
3751 (TARGET_RTX_COSTS): Define.
3752 (i860_internal_label): New function.
3753 (TARGET_ASM_INTERNAL_LABEL): Define.
3754 (i860_file_start): New function.
3755 Update copyright dates.
3756 * config/i860/i860.h (CPP_PREDEFINES): Remove.
3757 (TARGET_CPU_CPP_BUILTINS): Define.
3758 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
3759 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
3760 (ASM_FILE_START): Remove.
3761 (ASM_FILE_START_1): Remove.
3762 (ASM_GLOBALIZE_LABEL): Remove.
3763 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
3764 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
3765 with targetm.asm_out.internal_label.
3766 Update copyright dates.
3767 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
3768 (CPP_PREDEFINES): Remove.
3769 (TARGET_OS_CPP_BUILTINS): Define.
3770 (GLOBAL_ASM_OP): Define.
3771 (ASM_FILE_START): Remove.
3772 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
3773 (TARGET_ASM_FILE_START): Define.
3774 Update copyright dates.
3775
e1567352
JE
37762003-08-22 Jason Eckhardt <jle@rice.edu>
3777
a36b8cb8 3778 * gcc/config.gcc (i860-*-sysv4*): Add target.
e1567352
JE
3779 * config/i860/i860-protos.h: New.
3780 * config/i860/i860.c: New.
3781 * config/i860/i860.h: New.
3782 * config/i860/i860.md: New.
3783 * config/i860/sysv4.h: New.
3784 * config/i860/varargs.asm: New.
3785 * config/i860/x-sysv4: New.
3786
b7849684
JE
37872003-08-22 Jason Eckhardt <jle@rice.edu>
3788
3789 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
3790 Remove all uses of PARAMS macro.
3791 Convert all function definitions to ISO C90 syntax.
3792 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
3793 * config/pa/fptr.c: Likewise.
3794 * config/pa/lib2funcs.asm: Likewise.
3795 * config/pa/long_double.h: Likewise.
3796 * config/pa/milli64.S: Likewise.
3797 * config/pa/pa-64.h: Likewise.
3798 * config/pa/pa-hpux.h: Likewise.
3799 * config/pa/pa-hpux10.h: Likewise.
3800 * config/pa/pa-hpux11.h: Likewise.
3801 * config/pa/pa-linux.h: Likewise.
3802 * config/pa/pa-modes.def: Likewise.
3803 * config/pa/pa-osf.h: Likewise.
3804 * config/pa/pa-pro-end.h: Likewise.
3805 * config/pa/pa.md: Likewise.
3806 * config/pa/pa32-linux.h: Likewise.
3807 * config/pa/pa64-linux.h: Likewise.
3808 * config/pa/pa64-hpux.h: Likewise.
3809 * config/pa/pa64-regs.h: Likewise.
3810 * config/pa/quadlib.c: Likewise.
3811 * config/pa/rtems.h: Likewise.
3812 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
7e2055ec 3813 all uses of the PARAMS macro.
b7849684
JE
3814 * config/pa/pa.h: Likewise.
3815 * config/pa/som.h: Likewise.
3816
7e2055ec
ZW
3817 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
3818 Remove all uses of PARAMS macro.
3819 Convert all function definitions to ISO C90 syntax.
b7849684 3820 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
7e2055ec 3821 Remove all uses of PARAMS macro.
b7849684 3822 * config/iq2000.h: Remove all uses of PARAMS macro.
7e2055ec 3823 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
b7849684 3824
416cf582
UW
38252003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
3826
3827 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
3828 * config/s390/s390.c (gen_consttable): Remove.
3829 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
3830 (s390_output_pool_entry): New function.
7e2055ec
ZW
3831 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
3832 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
416cf582
UW
3833 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
3834 (UNSPECV_POOL_ENTRY): ... this new constant.
3835 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
3836 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
3837 ("*pool_entry"): ... and replace by this new insn.
3838 ("literal_pool_31"): Do not emit anchor label if pool empty.
3839
3840 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
3841 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
3842 (s390_fixup_clobbered_return_reg): Remove.
3843 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
3844 (s390_return_addr_rtx): Always retrieve return address from save area
3845 slot. Use save_return_addr_p to force slot to be filled.
3846 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
3847
beadc644
CD
38482003-08-22 Chris Demetriou <cgd@broadcom.com>
3849
3850 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
3851 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
3852 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
3853 around SB-1 errata if TARGET_FIX_SB1 is set.
3854 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
3855 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
3856
4ae2e3e9
RS
38572003-08-22 Roger Sayle <roger@eyesopen.com>
3858
3859 * hashtable.c (ht_expand): Avoid calculating rehash for the common
3860 case that the first probe hits an empty hash table slot.
3861
74487c57
MM
38622003-08-22 Mark Mitchell <mark@codesourcery.com>
3863
3864 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
3865
36c216e5
MM
38662003-08-22 Mark Mitchell <mark@codesourcery.com>
3867
3868 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
3869 (ptr_extend_plus_imm): ... this.
3870 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
3871 optimization in C++.
3872 (ia64_output_mi_thunk): Support ILP32 mode.
3873
dfb03c45 38742003-08-22 Bernardo Innocenti <bernie@develer.com>
02ac9ec6
BI
3875
3876 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
3877 function.
3878 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
3879
dac4a0de
KH
38802003-08-22 Kazu Hirata <kazu@cs.umass.edu>
3881
3882 * config/i386/i386.c (const_int_1_operand): Simplify an
3883 integer comparison.
3884
65dbc870
AM
38852003-08-22 Alan Modra <amodra@bigpond.net.au>
3886
3887 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
3888 * config/rs6000/ppc64-fp.c: Likewise.
3889
dcc24678
KH
38902003-08-22 Kazu Hirata <kazu@cs.umass.edu>
3891
3892 * cfgcleanup.c: Fix comment typos.
3893 * emit-rtl.c: Likewise.
3894 * optabs.c: Likewise.
3895 * ra-build.c: Likewise.
3896 * rtlanal.c: Likewise.
3897 * tree.h: Likewise.
3898
beb235f8
KH
38992003-08-22 Kazu Hirata <kazu@cs.umass.edu>
3900
3901 * c-decl.c: Fix comment formatting.
3902 * cfgrtl.c: Likewise.
3903 * combine.c: Likewise.
3904 * convert.c: Likewise.
3905 * dominance.c: Likewise.
3906 * dwarf2out.c: Likewise.
3907 * dwarfout.c: Likewise.
3908 * expmed.c: Likewise.
3909 * fold-const.c: Likewise.
3910 * gcov.c: Likewise.
3911 * genattrtab.c: Likewise.
3912 * ggc-common.c: Likewise.
3913 * mips-tfile.c: Likewise.
3914 * regmove.c: Likewise.
3915
2b72593e
KH
39162003-08-22 Kazu Hirata <kazu@cs.umass.edu>
3917
3918 * builtin-attrs.def: Fix comment formatting.
3919 * c-pretty-print.c: Likewise.
3920 * diagnostic.h: Likewise.
3921 * langhooks.h: Likewise.
3922 * recog.c: Likewise.
3923 * simplify-rtx.c: Likewise.
3924 * tree.def: Likewise.
3925
8a4a2253
BI
39262003-08-22 Bernardo Innocenti <bernie@develer.com>
3927
3928 * config/m68k/m68k-protos.h: Convert to ISO C90.
3929 * config/m68k/m68k.c: Likewise.
3930
eb849993 39312003-08-21 Bernardo Innocenti <bernie@develer.com>
7e2055ec
ZW
3932 Paul Dale <pauli@snapgear.com>
3933 Peter Barada <peter@baradas.org>
eb849993
BI
3934
3935 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
3936 ColdFire cores.
3937
ca11c37c
ZW
39382003-08-21 Zack Weinberg <zack@codesourcery.com>
3939
3940 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
3941 * config.gcc (*-*-openbsd): Don't set tm_file.
3942 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
3943 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
3944 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
3945 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
3946 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
3947 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
3948 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
3949 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
3950 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
3951 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
3952 xscale-*-coff): Use explicit and complete lists of target headers
3953 to include. Move definitions to tm_defines where appropriate.
3954 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
3955 not-yet-contributed configuration.
3956
3957 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
3958 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
3959 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
3960 * config/i386/nto.h, config/iq2000/iq2000.h,
3961 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
3962 * config/m68k/linux.h, config/m68k/m68k-aout.h
3963 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
3964 * config/m68k/netbsd.h, config/m68k/openbsd.h
3965 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
3966 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
3967 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
3968 Remove includes of other target config headers, and
3969 definitions of macros moved to tm_defines lists. Add #undefs
3970 where now necessary to prevent redefinition warnings.
3971
3972 * config/h8300/coff.h: New file split out of...
3973 * config/h8300/elf.h: ...here.
3974 * config/m68k/hp320base.h: New file split out of...
3975 * config/m68k/hp320.h: ...here.
3976 * config/rs6000/lynxbase.h: New file split out of...
3977 * config/rs6000/lynx.h: ...here.
3978
3979 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
3980 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
3981
3982 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
3983 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
3984 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
3985 Remove unnecessary #ifndef.
3986 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
3987 [under IN_LIBGCC2] with config/.
3988
75ee800b 39892003-08-21 Per Bothner <pbothner@apple.com>
ac650a0a
PB
3990
3991 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
3992 to cpp_push_buffer.
3993 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
3994 by return_at_eof check. Always call _cpp_pop_buffer at end.
3995
43c446b8
KH
39962003-08-21 Kazu Hirata <kazu@cs.umass.edu>
3997
3998 PR target/11805
3999 * config/h8300/h8300.md (two anonymous patterns): Remove.
4000
7bc22451
RS
40012003-08-21 Richard Sandiford <rsandifo@redhat.com>
4002
4003 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
4004 * config/mips/mips.c (function_arg_pass_by_reference): Never return
4005 true for n32 & n64.
4006
ed6f90f7
JZ
40072003-08-21 Josef Zlomek <zlomekj@suse.cz>
4008
4009 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
4010 and similarly in (A | C) == D where C & ~D != 0.
4011
e50084fa
GK
40122003-08-20 Geoffrey Keating <geoffk@apple.com>
4013
4014 PR 8180
4015 * configure.in: When testing with_libs and with_headers, treat
4016 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
4017 * configure: Regenerate.
ca11c37c 4018
e50084fa 40192003-08-20 Peter Barada <peter@baradas.org>
bab4470d
PB
4020
4021 * longlong.h (umul_ppmm): Add ColdFire support.
4022
e50084fa 40232003-08-20 Peter Barada <peter@baradas.org>
ca11c37c 4024 Bernardo Innocenti <bernie@develer.com>
9425fb04
PB
4025
4026 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
4027 * config/m68k/m68k.h: Likewise.
4028 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
4029 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
4030 * config/m68k/linux.h: Likewise.
4031 * config/m68k/m68k.c: Likewise.
4032 * config/m68k/m68k.md: Likewise.
4033 * config/m68k/m68kelf.h: Likewise.
4034 * config/m68k/netbsd-elf.h: Likewise.
4035 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
4036
d1b87863
BI
40372003-08-20 Bernardo Innocenti <bernie@develer.com>
4038
4039 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
4040 * config/m68k/m68k.md: Likewise.
4041
b6343a33
MM
40422003-08-20 Mark Mitchell <mark@codesourcery.com>
4043
4044 PR java/11996
4045 Revert this change:
4046 2003-08-19 Mark Mitchell <mark@codesourcery.com>
4047 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
4048 types with precisions other than those given by native machine
4049 modes.
4050
bf4563cb
GN
40512003-08-20 Gunther Nikl <gni@gecko.de>
4052
4053 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
4054 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
4055 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
4056 * config/m68k/m68k.md (anonymous define_insn): Likewise
4057 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
4058 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
4059 code selected by NO_ASM_FMOVECR
4060
0fb8241d
GN
40612003-08-20 Gunther Nikl <gni@gecko.de>
4062
4063 * config/m68k/m68k.c (output_move_const_into_data_reg,
4064 output_move_himode): unify MOTOROLA/MIT handling of moveq
4065 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
4066 Likewise
4067
c23b0b90
GN
40682003-08-20 Gunther Nikl <gni@gecko.de>
4069
4070 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
4071 label name
4072 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
4073 HOST_WIDE_INT_PRINT_DEC with %wd
4074
9e68a9dc
LR
40752003-08-20 Loren James Rittle <ljrittle@acm.org>
4076
4077 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
4078 redefine warning.
4079
2cf099a5
RS
40802003-08-20 Roger Sayle <roger@eyesopen.com>
4081
4082 PR middle-end/11984
4083 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
4084 operands before calling tree_int_cst_lt when performing associative
4085 transformations.
4086
68ad9159
JM
40872003-08-20 Jason Merrill <jason@redhat.com>
4088
4089 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
4090 (EXPR_CHECK): Don't check for 'r' or 's' if we're
4091 checking IS_EXPR_CODE_CLASS.
4092 * calls.c (calls_function_1): Likewise.
4093 * fold-const.c (fold): Likewise.
4094 * tree.c (iterative_hash_expr): Likewise.
4095 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
4096
c8e60672
GN
40972003-08-20 Gunther Nikl <gni@gecko.de>
4098
4099 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
4100 depending on MOTOROLA_BSR
4101 * config/m68k/m68k.md (anonymous define_insn): Likewise
4102
3acef2ae
JM
41032003-08-20 Jason Merrill <jason@redhat.com>
4104
2f503025 4105 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
ca11c37c 4106 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2f503025
JM
4107 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
4108 * dojump.c (do_jump): Likewise.
4109 * fold-const.c (operand_equal_p, fold): Likewise.
4110 (tree_expr_nonnegative_p): Likewise.
4111
3acef2ae
JM
4112 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
4113 TYPE_USER_ALIGN for FIELD_DECLs.
ca11c37c 4114
3acef2ae
JM
4115 * attribs.c (decl_attributes): Rebuild the function pointer type after
4116 changing the target type.
4117 * tree.c (get_qualified_type): Also check that the attributes match.
4118
8f7d850c
MK
41192003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
4120
4121 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
4122 * objc/config-lang.in (stagestuff): ... to here.
4123
4b0d3cbe
MM
41242003-08-19 Mark Mitchell <mark@codesourcery.com>
4125
4126 PR c++/11946
4127 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
4128 NOP_EXPR) when necessary.
4129 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
4130 types with precisions other than those given by native machine
4131 modes.
4132
3a7e8b87
GK
41332003-08-19 Geoffrey Keating <geoffk@apple.com>
4134
ccc01444
GK
4135 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
4136 because some macro is defined.
4137
3a7e8b87
GK
4138 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
4139 options.
4140 * config/i386/darwin.h (ASM_SPEC): New.
4141 (SUBTARGET_EXTRA_SPECS): New.
4142 * config/rs6000/darwin.h (ASM_SPEC): New.
4143 (SUBTARGET_EXTRA_SPECS): New.
4144 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
4145 a cross-compiler between two different processors on Darwin.
4146 * configure: Regenerate.
4147
a98ebe2e
KH
41482003-08-19 Kazu Hirata <kazu@cs.umass.edu>
4149
4150 * builtins.c: Fix comment typos.
4151 * c-common.c: Likewise.
4152 * c-decl.c: Likewise.
4153 * c-pretty-print.c: Likewise.
4154 * cfgbuild.c: Likewise.
4155 * cfglayout.c: Likewise.
4156 * cfgloopanal.c: Likewise.
4157 * cgraphunit.c: Likewise.
4158 * cppfiles.c: Likewise.
4159 * dwarfout.c: Likewise.
4160 * expr.c: Likewise.
4161 * fold-const.c: Likewise.
4162 * gcse.c: Likewise.
4163 * ggc-page.c: Likewise.
4164 * haifa-sched.c: Likewise.
4165 * pretty-print.c: Likewise.
4166 * tree.c: Likewise.
4167 * tree.h: Likewise.
4168 * value-prof.c: Likewise.
4169
02fa63cd
KH
41702003-08-19 Kazu Hirata <kazu@cs.umass.edu>
4171
4172 * c-decl.c: Follow spelling conventions.
4173 * cppfiles.c: Likewise.
4174
59e4e217
KH
41752003-08-19 Kazu Hirata <kazu@cs.umass.edu>
4176
4177 * c-common.c: Fix comment formatting.
4178 * c-common.h: Likewise.
4179 * c-decl.c: Likewise.
4180 * cppinit.c: Likewise.
4181 * cpplib.h: Likewise.
4182 * emit-rtl.c: Likewise.
4183 * input.h: Likewise.
4184 * line-map.h: Likewise.
4185 * opts.c: Likewise.
4186 * opts.h: Likewise.
4187 * simplify-rtx.c: Likewise.
4188
1ee93c1b
DJ
41892003-08-19 Daniel Jacobowitz <drow@mvista.com>
4190
4191 * unwind-c.c: Add libgcc-style exception.
4192 * unwind-dw2.c: Likewise.
4193 * unwind-pe.h: Likewise.
4194 * unwind-sjlj.c: Likewise.
4195 * unwind.inc: Likewise.
4196
f5e7af77
AP
41972003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
4198
4199 PR c/5582 PR c++/10538
4200 * langhooks-def.h (lhd_decl_uninit): Declare.
4201 (LANG_HOOKS_DECL_UNINIT): New macro.
4202 (LANG_HOOKS_INITIALIZER): Adjust.
4203 * langhooks.h (struct lang_hooks): Add new field
4204 decl_uninit.
4205 * langhooks.c (lhd_decl_uninit): Define.
4206 * c-common.c (c_decl_uninit_1): New function.
4207 (c_decl_uninit): New function.
4208 (warn_init_self): Define.
4209 * c-common.h (c_decl_uninit): Declare.
4210 (warn_init_self): Declare.
4211 * c.opt: Introduce -Winit-self.
4212 * c-opts.c (c_common_handle_options): Set warn_init_self.
4213 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
4214 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
4215 * function.c (uninitialized_vars_warning): Call the language hook.
4216 * doc/invoke.texi: Document -Winit-self.
4217
d68f4cc4
CD
42182003-08-19 Chris Demetriou <cgd@broadcom.com>
4219
4220 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
4221 to use better predicates and constraints. Define new
4222 instruction to handle "trap_if" with DI-mode arguments.
4223 (conditional_trap): FAIL if trap code is not 0.
4224
86ecdfb6
AP
42252003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
4226
4227 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
4228 strstr with $pb to a strcompare with "<pic base>"
4229 (ix86_output_addr_diff_elt): Output the real pic base.
4230
fc95cf70
GDR
42312003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
4232
4233 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
4234 (LANG_HOOKS_INITIALIZER): Correct.
4235 * c-lang.c: Likewise.
4236
810db579
JH
42372003-08-19 Jan Hubicka <jh@suse.cz>
4238
4239 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
4240 (cgraph_varpool_mark_needed_node): Likewise.
4241 * cgraph.h (notice_global_symbol): Declare
4242 * varasm.c (notice_global_symbol): Break out from ...
4243 (assemble_start_function): ... here; update for variables.
4244 (assemble_variable): Use notice_global_symbol.
4245
fc4fe9e4
RS
42462003-08-19 Richard Sandiford <rsandifo@redhat.com>
4247
4248 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
4249 expect SFmode and DFmode arguments to be passed in FPRs,
4250 regardless of the underlying type.
4251
4b8174ff
RS
42522003-08-19 Richard Sandiford <rsandifo@redhat.com>
4253
4254 PR target/11924
4255 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
4256 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
4257
622adc7e
MK
42582003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
4259
4260 PR c/11207
4261 * c-typeck.c (set_init_index): Check for negative index.
4262
dfccfad9
BW
42632003-08-18 Bob Wilson <bob.wilson@acm.org>
4264
4265 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
4266 call0 ABI.
4267 * config/xtensa/crtn.asm (_init, _fini): Likewise.
4268 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
4269 __umodsi3, __modsi3): Likewise.
4270 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
4271 $(INCLUDES).
4272
fe9c3a97
AH
42732003-08-18 Aldy Hernandez <aldyh@redhat.com>
4274
4275 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
4276
431d5fdd
RS
42772003-08-18 Richard Sandiford <rsandifo@redhat.com>
4278
4279 * config/mips/mips.md: Quote C code in braces. Remove use of
4280 fake const0_rtx operands. Remove double backslashes. Use \;.
4281 Remove workarounds for bogus warnings.
4282
4195786e
RS
42832003-08-18 Richard Sandiford <rsandifo@redhat.com>
4284
4285 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
4286 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
4287 rather than TARGET_MIPS4300.
4288 (mulsf3_internal, mulsf3_r4300): Likewise.
4289
6d4ede5f
RS
42902003-08-18 Richard Sandiford <rsandifo@redhat.com>
4291
4292 * config/mips/mips.md: Renumber unspecs. Clean up comments.
4293
dd61aa98
RS
42942003-08-17 Roger Sayle <roger@eyesopen.com>
4295
4296 * simplify-rtx.c (associative_constant_p): New function to test
4297 whether an RTX expression is an immediate constant.
4298 (simplify_associative_operation): New function to perform some
4299 reassociation optimizations of associative binary expressions.
4300 (simplify_binary_operation): Use simplify_associative_operation
4301 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
4302 Floating point expressions are only reassociated when unsafe
4303 math optimizations are permitted.
4304
9c808aad
AJ
43052003-08-17 Andreas Jaeger <aj@suse.de>
4306
4307 * config/alpha/alpha.md: Remove usage of PARAMS.
4308
4309 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
4310 * config/i386/i386-interix.h: Likewise.
4311 * config/i386/winnt.c: Likewise.
4312 * config/i386/cygming.h: Likewise.
4313 * config/i386/cygwin2.c: Likewise.
4314 * config/darwin.c: Likewise.
4315 * config/darwin-c.c: Likewise.
4316 * config/darwin-protos.h: Likewise.
4317 * config/darwin.h: Likewise.
4318 * config/s390/s390-protos.h: Likewise.
4319 * config/s390/s390.c: Likewise.
4320 * config/ia64/ia64.c: Likewse
4321 * config/ia64/ia64-protos.h: Likewise.
fde46628 4322 * config/ia64/ia64-c.c: Likewise.
9c808aad 4323
e80d5f80
KG
43242003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4325
fc27d102
KG
4326 * config/sparc/sparc.c: Convert to ISO C.
4327
e80d5f80
KG
4328 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
4329 * config/sparc/sparc.c: Likewise.
4330
e895113a
NS
43312003-08-16 Nathan Sidwell <nathan@codesourcery.com>
4332
4333 PR c++/11512
4334 * stmt.c (expand_expr_stmt_value): Don't warn about any void
4335 typed expression.
4336
e767b5be
JH
43372003-08-16 Jan Hubicka <jh@suse.cz>
4338
4339 * i386.c (ix86_fntype_regparm): Rename from ...
4340 (ix86_function_regparm): ... this one; add fastcall and local
4341 functions.
4342 (ix86_function_ok_for_sibcall): Update.
4343 (ix86_return_pops_args): Likewise.
4344 (init_cumulative_args): Likewise.
4345 (x86_can_output_mi_thunk): Likewise.
4346 (function_arg): Fix formating.
4347 (x86_this_parameter): Fix fastcall.
4348 (x86_output_mi_thunk): Likewise.
4349
4350 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
4351 body as reachable; mark nested functions as needed too.
4352 (dump_cgraph): Do not output global.calls.
4353 * cgraph.h (cgraph_global_info): Kill.
4354 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
4355 (record_call_1): Speedup.
4356 (cgraph_analyze_function): Break out from ...; compute inlining
4357 parameters.
4358 (cgraph_finalize_compilation_unit): ... here.
4359 (cgraph_mark_inline): Kill computation of calls.
4360 (cgraph_decide_inlining): Do not compute most of initial values.
4361
8ab49fef
RS
43622003-08-14 Roger Sayle <roger@eyesopen.com>
4363
4364 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
4365 to negate if either operand is easy to negate, if we don't care
4366 about sign-dependent rounding.
4367 (negate_expr): Make the logic to negate a REAL_CST explicit.
4368 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
4369 that's easy to negate, if we don't honor sign-dependent rounding.
4370 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
4371 negate, and the symmetric A * -B as -A * B if A is easy to negate.
4372 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
4373 -C/D if B and C are cheap to negate. Add an explicit rule to
4374 optimize X/-1.0 as -X when we don't care about signaling NaNs.
4375
e22340b0
ZW
43762003-08-14 Zack Weinberg <zack@codesourcery.com>
4377
4378 * Makefile.in (tm_file): Rename tm_include_list.
4379 (tm_p_file): Rename tm_p_include_list.
4380 (build_xm_file): Rename build_xm_include_list.
4381 (host_xm_file): Rename host_xm_include_list.
4382 (xm_file): Rename xm_include_list.
4383 (xm_file_list): Add to be substituted.
4384 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
4385 Update to match.
4386 (bt-load.o): Add missing dependency on $(TM_H).
4387 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
4388 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
4389 build_xm_file, generate both *_file_list and *_include_list
4390 values from it. (xm_file_list was formerly not being generated.)
4391 In *_include_list, prefix the names of all headers found in
4392 $(srcdir)/config with config/. In each loop, consider only
4393 the special case files that can actually appear in that list.
4394 AC_SUBST all *_file_list and all *_include_list variables; do
4395 not AC_SUBST the plain *_file variables.
4396 * configure: Regenerate.
4397
4139675b
ZD
43982003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4399
4400 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
4401
32562302
JDA
44022003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4403
4404 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
4405 direct calls.
4406 (attr_length_call): Include it here. Improve length estimate for
4407 local calls.
4408 (output_call): Use targetm.binds_local_p.
4409
9e46226d
KG
44102003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4411
daa027cc
KG
4412 * builtins.c (CASE_MATHFN): New helper macro.
4413 (mathfn_built_in): Simplify and sort.
4414
9e46226d
KG
4415 * protoize.c (substr): Delete, callers changed to `strstr'.
4416
c5d19037
ZW
44172003-08-13 Zack Weinberg <zack@codesourcery.com>
4418
4419 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
4420 * config/iq2000/xm-iq2000.h: Delete file.
4421
4da6879c
GK
44222003-08-13 Geoffrey Keating <geoffk@apple.com>
4423
4424 * gengtype.c (walk_type): Process a subobject before processing
4425 the pointer that points to the subobject.
4426
28420116
PB
44272003-08-13 Per Bothner <pbothner@apple.com>
4428
4429 * regclass.c (init_reg_modes): Make non-static.
4430 Rename to init_reg_modes_once per new naming convention.
4431 (init_regs): Don't call init_reg_modes here.
4432 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
4433 * rtl.h (init_reg_modes_once): New declaration.
4434 * toplev.c (backend_init): Call init_regs after init_emit_once.
4435
235b4b36
KK
44362003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
4437
4438 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
4439 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
4440
dce20bbc
R
44412003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
4442
4443 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
4444 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
4445
5a195cb5
DJ
44462003-08-13 Dale Johannesen <dalej@apple.com>
4447
4448 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
4449 handling of decrement-and-branch farther than 32 bits.
4450
3a000df0
KC
44512003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
4452
4453 * configure.in (make_compare_target): Move test to ...
4454 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
4455 * configure: Regenerate.
4456
b4966b1b
RS
44572003-08-12 Richard Sandiford <rsandifo@redhat.com>
4458
4459 * config/mips/iris6.h: Convert to C90 prototypes.
4460 * config/mips/irix6-libc-compat.c: Likewise.
4461 * config/mips/mips-protos.h: Likewise.
4462 * config/mips/mips.c: Likewise.
4463
825d7d64
NN
44642003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
4465
4466 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
4467 for selected machines. Comment heavily.
4468 fixinc/fixincl.x: Rebuild.
4469 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
4470
dfad12b5
RS
44712003-08-12 Richard Sandiford <rsandifo@redhat.com>
4472
4473 * config/mips/mips.h: Tweak various comments.
4474 * config/mips/mips.c: Likewise.
4475
e3f049a8
JW
44762003-08-11 James E Wilson <wilson@tuliptree.org>
4477
4478 PR optimization/11319
4479 PR target/10021
4480 * alias.c (find_base_value, case REG): Return 0 not src if no base
4481 found.
4482
4ac11022
KG
44832003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4484
4485 * gcse.c (gmalloc): Fix last change.
4486
ae351e1e
RS
44872003-08-11 Roger Sayle <roger@eyesopen.com>
4488
4489 * simplify-rtx.c (simplify_binary_operation): Replace calls to
4490 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
4491 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
4492 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
4493
11017cc7
RS
44942003-08-11 Roger Sayle <roger@eyesopen.com>
4495
4496 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
4497 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
4498 typecode for an ABS_EXPR.
4499
4500 * doc/c-tree.texi: Document ABS_EXPR.
4501
af7b5c1c
RS
45022003-08-11 Roger Sayle <roger@eyesopen.com>
4503
4504 * fold-const.c (fold): Optimize any associative floating point
4505 operator with -funsafe-math-optimizations, not just MULT_EXPR.
4506
e3bf220a
KK
45072003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
4508
4509 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
4510 information in SHmedia case too.
4511 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
4512 Likewise.
4513 (__set_fpscr): Use an access via GOT for PIC case.
4514
0c46c5c7
KC
45152003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
4516
4517 * configure.in (intermodule): Make switch test more portable.
4518 * configure: Regenerate.
4519
727793cb
KC
45202003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
4521
4522 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
4523 (restrap): Likewise.
4524
29da5c92
KG
45252003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4526
9fe15a12
KG
4527 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
4528 (grealloc): Size argument is a size_t.
4529 (gcalloc): New function. Use throughout in lieu of
4530 gmalloc/memset.
4531
29da5c92
KG
4532 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
4533 xmalloc/memset.
4534 * config/ia64/ia64.c (ia64_reorg): Likewise.
4535 * conflict.c (conflict_graph_new): Likewise.
4536 * fixinc/fixincl.c (run_compiles): Likewise.
4537 * genattrtab.c (optimize_attrs): Likewise.
4538 * genrecog.c (new_decision): Likewise.
4539 * haifa-sched.c (schedule_block): Likewise.
4540 * hashtable.c (ht_create): Likewise.
4541
13fb3a61
BW
45422003-08-11 Bob Wilson <bob.wilson@acm.org>
4543
4544 * config/xtensa/lib2funcs.S: Fix whitespace.
4545 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
4546 syntax where appropriate. Remove unnecessary backslash escapes.
4547 Reformat comments and fix some code formatting.
4548 (extendqisi2): Rearrange conditional.
4549 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
4550 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
4551 of fatal_insn.
4552
f1d5187e
RS
45532003-08-11 Richard Sandiford <rsandifo@redhat.com>
4554
4555 * config/mips/mips.c: Various formatting fixes.
4556 (override_options): Resync -mtune handling with gas.
4557 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
4558 * config/mips/mips.h: More formatting fixes.
4559 (mips_abi): Move declaration.
4560 * config/mips/mips.md (exception_receiver): Add mode to
4561 unspec_volatile.
4562
00332c9f
AH
45632003-08-11 Aldy Hernandez <aldyh@redhat.com>
4564
4565 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
4566 evsplatfi here.
4567 (bdesc_1arg): Remove evsplati and evsplatfi.
4568
a5c414e0
R
45692003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
4570
4571 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
4572 into account.
4573
0235f855
KG
45742003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4575
4576 * builtins.c (expand_builtin_strcat): Optimize constant strings.
4577
4b780675
GDR
45782003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
4579
4580 * pretty-print.c (pp_base_indent): Rename from pp_indent.
4581 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
4582 (struct c_pretty_print_info): Add more fields.
4583 (pp_c_left_paren): Move to c-pretty-print.c.
4584 (pp_c_right_paren): Likewise.
4585 (pp_c_left_brace): Likewise.
4586 (pp_c_right_brace): Likewise.
4587 (pp_c_left_bracket): Likewise.
4588 (pp_c_right_bracket): Likewise.
4589 (pp_c_declarator): Declare.
4590 (pp_c_direct_declarator): Likewise.
4591 (pp_c_specifier_qualifier_list): Likewise.
4592 (pp_c_type_id): Likewise.
4593 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
4594 (pp_c_type_qualifier_list): New.
4595 (pp_c_pointer): Likewise.
4596 (pp_c_parameter_type_list): Likewise.
4597 (pp_c_function_definition): Likewise.
4598 (pp_c_id_expression): Likewise.
4599 (pp_c_simple_type_specifier): Tidy.
4600 (pp_c_unary_expression): Likewise.
4601 (pp_c_expression): Likewise.
4602 (pp_c_pretty_printer_init): Likewise.
4603 (pp_c_specifier_qualifier_list): Rework..
4604 (pp_c_abstract_declarator): Likewise.
4605 (pp_c_postfix_expression): Likewise.
4606 (pp_c_primary_expression): Likewise.
4607 (pp_c_cast_expression): Likewise.
4608 (pp_c_direct_abstract_declarator): Likewise.
4609 (pp_c_storage_class_specifier): Likewise.
4610 (pp_c_function_specifier): Likewise.
4611 (pp_c_declaration_specifiers): Likewise.
4612 (pp_c_direct_declarator): Likewise.
4613 (pp_c_declarator): Likewise.
4614 (pp_c_declaration): Likewise.
4615 (pp_c_statement): Likewise.
4616 (pp_c_integer_constant): Rename from pp_c_integer_literal.
4617 (pp_c_character_constant): Rename from pp_c_character_literal.
4618 (pp_c_bool_constant): Rename from pp_c_bool_literal.
4619 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
4620 (pp_c_floating_constant): Rename from pp_c_real_literal.
4621 (pp_c_constant): Rename from pp_c_literal.
4622 * c-lang.c: Include diagnostic.h and c-pretty-print.h
4623 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
4624 (c_initialize_diagnostics): New.
4625 * Makefile.in (c-lang.o): Update dependency.
4626
bae39a73
NS
46272003-08-10 Nathan Sidwell <nathan@codesourcery.com>
4628
4629 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
4630
3372178c
RS
46312003-08-10 Richard Sandiford <rsandifo@redhat.com>
4632
4633 * config/mips/mips.c (mips_no_mips16_string): Remove.
4634 (override_options): Don't handle -mips16 as part of -mipsN.
4635 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
4636 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
4637 (TARGET_OPTIONS): Remove -mno-mips16.
4638
1d5565cd
RS
46392003-08-10 Richard Sandiford <rsandifo@redhat.com>
4640
4641 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
4642 (coprocessor2_operand): Likewise.
4643 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
4644 (lookup_name): Remove declaration.
4645 (abort_with_insn): Remove. Replace all uses with fatal_insn.
4646 (mips16, mips_abicalls): Remove.
4647 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
4648 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
4649 (coprocessor_operand, coprocessor2_operand): Remove.
4650 (override_options): Don't set mips16 or mips_abicalls.
4651 (print_operand): Don't expect SIGN_EXTEND operands.
4652 (mips_secondary_reload_class): Likewise.
4653 (mips_output_conditional_branch): Remove disabled long-branch code.
4654 * config/mips/mips.h (call_used_regs): Remove declaration.
4655 (may_call_alloca): Likewise.
4656 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
4657 (mips_abicalls, mips16): Remove declarations.
4658 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
4659 (CC1_SPEC): Remove outdated comment.
4660 (MIPS_VERSION, MACHINE_TYPE): Remove.
4661 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
4662 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
4663 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
4664 (PUSH_ROUNDING): Likewise.
4665 (ASSEMBLER_SCRATCH_REGNUM): Remove.
4666 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
4667 and mips16 with TARGET_MIPS16.
4668
4169c321
PB
46692003-08-09 Per Bothner <pbothner@apple.com>
4670
c5d19037
ZW
4671 * cppinit.c (cpp_read_main_file): Split out source-independent
4672 initialization to separate function ...
4673 (cpp_post_options): New function.
4674 * cppfiles.c (cpp_stack_file): Rename public name to ...
4675 (_cpp_stack_file): New internal function name.
4676 * cpplib.h: Update accordingly.
4677 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
4678 (cpp_read_main_file): Don't initialize line here.
4679 * c-opts.c (c_common_post_options): Call cpp_post_options.
4680 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
4681 * fix-header.c (read_scan_file): Call cpp_post_options.
4682
3d93cdfa
PB
46832003-08-09 Per Bothner <per@bothner.com>
4684
4685 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
4686
dfd8db86
JDA
46872003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4688
4689 * pa.c (pa_asm_output_mi_thunk): Fix typo.
4690
a54c550f
NB
46912003-08-09 Neil Booth <neil@daikokuya.co.uk>
4692
4693 PR preprocessor/11839
4694 * cppfiles.c (open_file): Handle ENOTDIR.
4695
142ee136
RS
46962003-08-09 Richard Sandiford <rsandifo@redhat.com>
4697
4698 PR target/11699
4699 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
4700
561af708
JDA
47012003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4702
4703 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
4704 source/destination is not a register operand.
4705
af1e5518
RH
47062003-08-08 Richard Henderson <rth@redhat.com>
4707
c5d19037
ZW
4708 PR target/11535
4709 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
4710 RETURN_ADDRESS_POINTER_REGNUM.
4711 (ia64_expand_prologue): Don't frob it.
4712 (ia64_output_function_epilogue): Likewise.
4713 (ia64_return_addr_rtx): New.
4714 (ia64_split_return_addr_rtx): New.
4715 * config/ia64/ia64-protos.h: Update.
4716 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
4717 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
4718 (GENERAL_REGNO_P): Don't check it.
4719 (AR_*_REGNUM): Renumber.
4720 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
4721 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
4722 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
4723 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
4724 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
4725 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
4726 (movdi_ret_addr): New.
af1e5518 4727
5dddb920
GK
47282003-08-08 Geoffrey Keating <geoffk@apple.com>
4729
4730 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
4731
7bb3fbbb
RS
47322003-08-08 Roger Sayle <roger@eyesopen.com>
4733
4734 * tree.h (get_identifier) Define a macro form of get_identifier
4735 that calls get_identifier_with_length when the string is constant.
4736 (get_identifier_with_length): Change type of second argument to
4737 size_t in prototype.
4738 * stringpool.c (get_identifier): Undefine the macro before giving
4739 the function definition.
4740 (get_identifier_with_length): Change type of second argument to
4741 size_t in function definition.
4742 * hashtable.c (calc_hash): Change type of second argument to size_t.
27f35b75 4743 (ht_lookup): Change type of third argument to size_t. Reorganize
7bb3fbbb
RS
4744 to speed-up the cases where the hash table slot is empty, or the
4745 first probe matches (i.e. there isn't a collision).
4746 * hashtable.h (ht_lookup): Adjust function prototype.
4747
32247ce9
BI
47482003-08-08 Bernardo Innocenti <bernie@develer.com>
4749
4750 PR target/9697
4751 PR target/11777
4752 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
4753
df38ffef
NB
47542003-08-08 Neil Booth <neil@daikokuya.co.uk>
4755
4756 * common.opt: Add debug switches.
4757 * flags.h (use_gnu_debug_info_extensions): Boolify.
4758 * opts.c (write_symbols, debug_info_level,
4759 use_gnu_debug_info_extensions): Move from toplev.c.
4760 (set_debug_level): New.
4761 (common_handle_options): Handle debug switches.
4762 (print_help): Display target options directly.
4763 * toplev.c (debug_hooks): Don't initialize.
4764 (write_symbols, debug_info_level,
4765 use_gnu_debug_info_extensions): Move to opts.c.
4766 (debug_args, display_help, decode_g_option): Remove.
4767 (process_options): Set no debug if level zero here,
4768 and no-debug-hooks. Error here if impossible debug format selected.
4769 * toplev.h (display_help, decode_g_option): Remove.
4770
679c4092
RS
47712003-08-08 Richard Sandiford <rsandifo@redhat.com>
4772
4773 * tree.c (get_file_function_name_long): Fix size of alloca() area.
4774
c8b5beb8
KC
47752003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
4776
4777 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
c5d19037 4778 and gcc_cv_prog_cmp_skip.
c8b5beb8
KC
4779 * configure: Regenerate.
4780
6b3d1e47
SC
47812003-08-08 Stan Cox <scox@redhat.com>
4782
4783 * config/iq2000: New port.
4784 * config.gcc (iq2000-*-elf): Added.
4785 * doc/install.texi (Specific): Add iq2000 description.
4786
cfa9ee99
AS
47872003-08-08 Andreas Schwab <schwab@suse.de>
4788
7ce27ffb 4789 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
cfa9ee99
AS
4790 and insert missing empty argument.
4791 * configure: Regenerate.
4792
cb99b61a
JDA
47932003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4794
62910663
JDA
4795 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
4796 (attr_length_millicode_call): Likewise.
4797 (attr_length_call): Likewise. Revise some maximum insn lengths.
4798 (attr_length_indirect_call): Likewise.
4799 (output_call): Fix thinko that added extra nop.
4800 * pa.h (IN_NAMED_SECTION_P): Define.
4801
cb99b61a
JDA
4802 PR c++/11712
4803 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
4804 __STDC_EXT__ when using C++ dialect.
4805
97b3d0f0
R
48062003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
4807
7d73a2ba
R
4808 * sh.c (calc_live_regs): If the return address pointer is live,
4809 force pr live.
4810 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
4811 for saves / restores.
4812 (sh_expand_epilogue): If sh_media_register_for_return returns a
4813 register number, flag the instructions that restores PR_MEDIA_REG
4814 as possibly dead.
4815 Remove dead update of offset.
4816 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
4817 we can use the result of get_hard_reg_initial_val.
4818 * sh.md (UNSPEC_RA): New constant.
4819 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
4820 (load_ra). Handle UNSPEC_RA.
4821 (sibcall_media): Use PR_MEDIA_REG.
4822
97b3d0f0
R
4823 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
4824 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
4825 needs saving on SHmedia.
4826
d40c829f
UW
48272003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
4828
4829 * config/s390/s390.md: Replace all occurrences of \\t with \t.
4830
a5342656
RS
48312003-08-07 Richard Sandiford <rsandifo@redhat.com>
4832
4833 * local-alloc.c (combine_regs): Fix comment typo.
4834
fdc49e10
ZW
48352003-08-06 Zack Weinberg <zack@codesourcery.com>
4836
4837 * c-decl.c (builtin_decls): Replace with first_builtin_decl
4838 and last_builtin_decl.
4839 (c_init_decl_processing): Initialize both.
4840 (c_reset_state): Iterate from first_builtin_decl to
4841 last_builtin_decl inclusive to reintroduce builtins.
4842
a32767e4
DM
48432003-08-06 David Mosberger <davidm@hpl.hp.com>
4844
fdc49e10
ZW
4845 * doc/extend.texi (Function Attributes): Document the IA-64 version
4846 of the "model" attribute.
4847
4848 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
4849 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
4850 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
4851
4852 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
4853 (ia64_encode_section_info): Likewise.
4854 (ia64_attribute_table): Add "model" attribute.
4855 (TARGET_ENCODE_SECTION_INFO): Define.
4856 (small_addr_symbolic_operand): New function.
4857 (got_symbolic_operand): Return 0 for a symbolref to an object
4858 in the small address area.
4859 (enum ia64_addr_area): New type.
4860 (small_ident1): New variable.
4861 (small_ident2): Likewise.
4862 (init_idents): New function.
4863 (ia64_get_addr_area): Likewise.
4864 (ia64_encode_addr_area): Likewise.
4865 (ia64_encode_section_info): Likewise.
4866 (ia64_expand_load_address): For symbolic references to objects in
4867 the small-address-area, load the address via gen_rtx_SET() (which,
4868 eventually, will expand into "addl").
a32767e4 4869
8b82c528
PB
48702003-08-06 Per Bothner <pbothner@apple.com>
4871
4872 * line-map.h (fileline): New typedef.
fdc49e10 4873 (struct line_map, linemap_add, linemap_lookup): Use it.
8b82c528
PB
4874 * input.h (struct location_s): Comment notes that long-term we want
4875 to replace it by fileline.
4876
b869f904
R
48772003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
4878
4879 Fix SHcompact exception handling:
4880 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
4881 by the prologue, return a MEM with return_address_pointer_rtx
4882 as address.
4883 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
4884 (RETURN_ADDR_OFFSET): Don't define.
4885 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
4886 registers that are visible in compact mode. Show that SHmedia
4887 registers still exist in compact mode, even if there are not
4888 readily accessible.
4889 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
4890 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
4891 and DW_EH_PE_pcrel for pic data.
4892 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
4893 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
4894 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
4895 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
4896 * sh.md (movsi_media-1): New splitter.
4897
f2feed2c
GP
48982003-08-06 Graeme Peterson <gp@qnx.com>
4899
4900 * config/i386/nto.h: New.
4901 * config/i386/t-nto: New.
4902 * config.gcc (i[34567]86-*-nto-qnx*): New.
4903
1cba0a4e
PE
49042003-08-06 Phil Edwards <pme@gcc.gnu.org>
4905
4906 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
4907
980f6e8e
AM
49082003-08-06 Alan Modra <amodra@bigpond.net.au>
4909
4910 * calls.c (load_register_parameters): Arrange for call_fusage to
4911 report the whole register as used when shifting to the msb.
4912
d25225de
RS
49132003-08-05 Roger Sayle <roger@eyesopen.com>
4914
4915 * builtins.c (expand_builtin): When not optimizing, call the library
4916 function for all builtins that have library functions (except alloca).
4917
b20d9f0c
AO
49182003-08-05 Alexandre Oliva <aoliva@redhat.com>
4919
4920 * c.opt: Introduce -fworking-directory.
4921 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
4922 * c-common.h (flag_working_directory): Declare.
4923 * c-common.c (flag_working_directory): Define.
4924 * c-opts.c (c_common_handle_options): Set it.
4925 (sanitize_cpp_opts): Set...
4926 * cpplib.h (struct cpp_options): ... working_directory option.
4927 (struct cpp_callbacks): Add dir_change.
4928 * cppinit.c (read_original_filename): Call...
4929 (read_original_directory): New. Look for # 1 "directory//"
4930 and process it.
4931 (cpp_read_main_file): Call dir_change callback if working_directory
4932 option is set.
4933 * gcc.c (cpp_unique_options): Pass -g*.
4934 * c-lex.c (cb_dir_change): New.
4935 (init_c_lex): Set dir_change callback.
4936 * toplev.c (src_pwd): New static variable.
4937 (set_src_pwd, get_src_pwd): New functions.
4938 * toplev.h (get_src_pwd, set_src_pwd): Declare.
4939 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
4940 * dwarf2out.c (gen_compile_unit_die): Likewise.
4941 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
4942
e1a4dd13
GDR
49432003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4944
4945 * pretty-print.h (pp_set_line_maximum_length): Make macro.
4946 (pp_set_prefix): Likewise.
4947 (pp_destroy_prefix): Likewise.
4948 (pp_remaining_character_count_for_line): Likewise.
4949 (pp_clear_output_area): Likewise.
4950 (pp_formatted_text): Likewise.
4951 (pp_last_position_in_text): Likewise.
4952 (pp_emit_prefix): Likewise.
4953 (pp_append_text): Likewise.
4954 (pp_flush): Likewise.
4955 (pp_format_text): Likewise.
4956 (pp_format_verbatim): Likewise.
4957 (pp_tree_identifier): Tidy.
4958 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
4959 (pp_base_format_verbatim): Rename from pp_format_verbatim.
4960 (pp_base_flush): Rename from pp_flush.
4961 (pp_base_set_line_maximum_length): Rename from
4962 pp_set_line_maximum_length.
4963 (pp_base_clear_output_area): Rename from pp_clear_output_area.
4964 (pp_base_set_prefix): Rename from pp_set_prefix.
4965 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
4966 (pp_base_emit_prefix): Rename from pp_emit_prefix.
4967 (pp_base_append_text): Rename from pp_append_text.
4968 (pp_base_formatted_text): Rename from pp_formatted_text.
4969 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
4970 (pp_base_remaining_character_count_for_line): Rename from
4971 pp_remaining_character_count_for_line.
4972 * diagnostic.h (diagnostic_format_decoder): Tidy.
4973 (diagnostic_flush_buffer): Likewise.
4974 * c-pretty-print.h: (pp_c_string_literal): Declare.
4975 (pp_c_real_literal): Likewise.
4976 (pp_c_integer_literal): Likewise.
4977 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
fdc49e10 4978 pp_identifier.
e1a4dd13
GDR
4979 (pp_c_character_literal): Tidy.
4980 (pp_c_string_literal): Make public.
4981 (pp_c_bool_literal): Likewise.
4982 (pp_c_integer_literal): Likewise.
4983 (pp_c_real_literal): Likewise.
4984
4985 * Makefile.in (C_PRETTY_PRINT_H): New variable.
4986 (c-pretty-print.o): Update dependence.
4987
8c98b170
CD
49882003-08-05 Chris Demetriou <cgd@broadcom.com>
4989
4990 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
4991 ".set nomacro" state.
4992 (fix_truncsfsi2_macro): Likewise.
4993
b3c3af2f
SB
49942003-08-05 Steven Bosscher <steven@gcc.gnu.org>
4995
4996 * tree.h (DID_INLINE_FUNC): Remove macro.
4997 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
4998 add tree check for FUNCTION_DECL.
4999 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
5000 (struct tree_decl): Rename inlined_function_flag to
5001 declared_inline_flag.
5002 * c-common.h (c_lang_decl): Remove.
5003 (DECL_ESTIMATED_INSNS): Remove.
5004 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
5005 (DECL_DECLARED_INLINE_P): Remove.
5006 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
5007 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
5008 (finish_function): Make uninlinable a bool. Fixup call to
5009 tree_inlinable_function_p() and fix some code style issues.
5010 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
5011 * cgraph.c (dump_cgraph): Likewise.
5012 * cgraphunit.c (cgraph_decide_inlining): Likewise
5013 (cgraph_finalize_compilation_unit): Likewise.
5014 Also update call to tree_inlinable_function_p().
5015 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
5016 look at DECL_DECLARED_INLINE and reverse logic.
5017 * print-tree.c (print_node): Likewise.
5018 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
5019 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
5020 prototype.
5021 * tree-inline.c (inlinable_function_p): Split up in this function to
5022 check for basic inlining inhibiting conditions, and new
5023 limits_allow_inlining() function. Warn if inlining is impossible
5024 because the inline candidate calls alloca or uses sjlj exceptions.
5025 (limits_allow_inlining): this new function to check if the inlining
5026 limits are satisfied. Throttle from currfn_max_inline_insns, not from
5027 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
5028 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
5029 Update prototypes.
5030 (tree_inlinable_function_p): Make a bool. Update call to
5031 inlinable_function_p
5032 (expand_call_inline): Use limits_allow_inlining() when not in
5033 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
5034 instead see if the function was declared `inline'.
5035
ed8395a0
JZ
50362003-08-05 Josef Zlomek <zlomekj@suse.cz>
5037
5038 * gcse.c (try_replace_reg): Fix updating of note.
5039
02a1994c
RS
50402003-08-04 Roger Sayle <roger@eyesopen.com>
5041
5042 PR middle-end/11771
5043 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
5044 logic in negate_expr, i.e. we don't invert (A-B) for floating
5045 point types unless flag_unsafe_math_optimizations.
5046
f2593a66
RS
50472003-08-04 Roger Sayle <roger@eyesopen.com>
5048
5049 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
5050 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
5051 for floating point expressions with -ffast-math.
5052 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
5053 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
5054
03aa99d4
RS
50552003-08-04 Roger Sayle <roger@eyesopen.com>
5056
5057 * c-common.c (flag_noniso_default_format_attributes): Delete.
5058 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
5059 (c_attrs_initialized): Delete.
5060 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
5061 always call c_init_attributes.
5062 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
5063 set c_attrs_initialized when done.
5064 (c_common_insert_default_attributes): Delete.
5065 * c-common.h (flag_noniso_default_format_attributes): Delete.
5066 (c_coomon_insert_default_attributes): Delete prototype.
5067 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
5068 flag_noniso_default_format_attributes.
5069
5070 * c-decl.c (c_insert_default_attributes): Delete.
5071 * c-tree.h (c_insert_default_attributes): Delete prototype.
5072
5073 * attribs.c (decl_attributes): Don't call insert_default_attributes
5074 langhook. Update function description comment.
5075 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
5076 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
5077 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
5078 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
5079
5080 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
5081 define.
5082
38e596df
RS
50832003-08-04 Richard Sandiford <rsandif@redhat.com>
5084
5085 * config/mips/mips.c (override_options): Disable -G on targets that
5086 have no .section support.
5087 (mips_select_section): Use default_select_section for such targets.
5088
76d2e2c5
NN
50892003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
5090
5091 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
5092 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
5093 * fixinc/fixincl.x: Rebuild.
5094 * fixinc/tests/base/regexp.h: New test.
5095
b2734c68
AO
50962003-08-04 Alexandre Oliva <aoliva@redhat.com>
5097
5098 * c-ppoutput.c (cb_line_change): Don't skip line changing while
5099 parsing macro arguments in the top-level context.
5100
4e87a651
NB
51012003-08-04 Neil Booth <neil@daikokuya.co.uk>
5102
5103 * config.in: Remove HAVE_LSTAT.
5104 * configure, configure.in: Don't test for lstat.
5105
21ecc5a7
GDR
51062003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5107
5108 * opts.c (decode_options): Do language-specific initialization for
5109 the global diagnostic context.
5110 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
5111 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
5112 (LANG_HOOKS_INITIALIZER): Adjust.
fdc49e10
ZW
5113 * langhooks.h (struct lang_hooks): Add new field
5114 initialize_diagnostics.
21ecc5a7
GDR
5115 * langhooks.c (lhd_initialize_diagnostics): Define.
5116
51172003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5118
5119 * pretty-print.h: Adjust macro definitions.
5120 * pretty-print.c (pp_newline): Rename to pp_base_newline.
5121 (pp_character): Rename to pp_base_character.
5122 (pp_string): Rename to pp_base_string.
5123 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
5124 (pp_newline): Likewise. Adjust.
5125 (pp_c_char): Adjust.
5126
d82f81dd
KG
51272003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5128
5129 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
5130 BUILT_IN_LLABS): Move to miscellaneous section.
5131
335d03ec
NB
51322003-08-03 Neil Booth <neil@daikokuya.co.uk>
5133
cb6eb88a 5134 PR preprocessor/11534
335d03ec
NB
5135 * cppexp.c (parse_defined): Warn only if -pedantic.
5136
76bf2c97
NB
51372003-08-03 Neil Booth <neil@daikokuya.co.uk>
5138
5139 * cppfiles.c (stack_file): Use file path.
5140
178b2b9f
RS
51412003-08-02 Roger Sayle <roger@eyesopen.com>
5142
5143 * builtin-types.def (BT_SSIZE): New primitive type.
5144 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
5145 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
5146 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
5147 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
5148 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
5149 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
5150 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
5151 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
5152 few functions that define default attributes using it.
5153 * c-common.c (c_common_insert_default_attributes): Do nothing.
5154
5155 * doc/extend.texi: Document these "new" builtins.
5156
469146c1
KK
51572003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
5158
5159 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
5160 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
5161 when -mieee-fp set and -shared not set.
5162 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
5163
49634b3a
NB
51642003-08-02 Neil Booth <neil@daikokuya.co.uk>
5165
5166 * cppfiles.c (struct _cpp_file): Rename once_only_next to
5167 next_file. Remove import and pragma_once, add once_only.
5168 (find_file): Add new file structures to the all_files list.
5169 (should_stack_file): Mark #import-ed files once-only, and
5170 don't stack them if the file has already been stacked.
5171 (_cp_mark_file_once_only): Simplify.
5172 * cpphash.h (struct cpp_reader): Rename once_only_files
5173 to all_files. Rename saw_pragma_once to seen_once_only.
5174 (_cpp_mark_file_once_only): Update prototype.
5175 * cpplib.c (do_pragma_once): Update.
5176
cf1ee30c
NB
51772003-08-02 Neil Booth <neil@daikokuya.co.uk>
5178
5179 * cppfiles.c (ENOTDIR): Remove.
5180 (open_file_in_dir): Rename find_file_in_dir. Handle errors
5181 other than ENOENT here.
5182 (once_only_file_p): Rename should_stack_file.
5183 (find_file, open_file_failed, read_file_guts): Report errors
5184 with full path name.
5185 (read_file): Move pch handling to should_stack_file.
5186 (should_stack_file): Handle PCH and once-only issues, and
5187 reading the file.
5188 (stack_file): Don't do file reads.
5189
50612a04
ZD
51902003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5191
5192 * libgcov.c (gcov_exit): Cleanup and fix.
5193 * profile.c (compute_value_histograms): Don't try to read profiles
5194 that are not present.
5195
f6a46818
KG
51962003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5197
f53b62e1
KG
5198 * builtins.def: Categorize.
5199
f6a46818
KG
5200 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
5201 Mind fp rounding.
5202 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
5203
12550591
AT
52042003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
5205
5206 * config.gcc: Enable posix threads by default on darwin.
5207
5f77fbd4
JJ
52082003-08-01 Jakub Jelinek <jakub@redhat.com>
5209
5210 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
5211 even if nehedges1 is 0.
5212
f4dbf936
NN
52132003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
5214
5215 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
5216 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
5217 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
5218 and defintions.
5219
5220 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
5221 * fixinc/fixincl.x: Regenerate.
5222 * fixinc/tests/base/math.h: Regenerate to match test_text change.
5223
c76becbd
RO
52242003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5225
5226 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
5227
f920765d
RK
52282003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5229
5230 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
5231 for accesses to exc_ptr.
5232
8e5f33ff
GK
52332003-08-01 Geoffrey Keating <geoffk@apple.com>
5234
5235 * doc/sourcebuild.texi (Front End Directory): Don't make references
5236 to libsubdir, it's not part of the interface to frontends.
5237 * doc/install.texi (Configuration): Help users read faster by saying
5238 that GCC's configure options are the standard autoconf ones.
5239 Mention --libdir. Update the default rules for finding the
5240 assembler. Don't use libsubdir since we haven't said what it means.
5241 (Specific): In the Solaris 7 notes, update the place to put the
5242 assembler.
5243 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
5244 * doc/cpp.texi (Search Path): Actually, the search path
5245 depends on libdir, which can relocate with cpp.
5246 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
5247 now a private interface between the Makefile and the driver.
5248
75c20980
RH
52492003-08-01 Richard Henderson <rth@redhat.com>
5250
5251 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
5252
5253 * varasm.c (lookup_constant_def): New function.
5254 * rtl.h (lookup_constant_def): Declare it.
fdc49e10 5255 * dwarf2out.c (loc_descriptor_from_tree): Use it.
75c20980
RH
5256 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
5257
f91f41b2
ZW
52582003-08-01 Zack Weinberg <zack@codesourcery.com>
5259
5260 * c-decl.c (gettags, pushdecl_function_level): Delete.
5261 (last_function_parm_vars): Rename last_function_parm_others.
5262 (current_function_parm_vars): Rename current_function_parm_others.
5263 (struct c_scope): Rewrite comment explaining this data structure.
5264 Add names_last, blocks_last, parms_last fields. Rename
5265 incomplete_list to incomplete.
5266 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
5267 (poplevel): Ignore second argument. No need to nreverse
5268 anything. Restructure such that each list is processed
5269 exactly once. Use 'const location_t *locus' syntactic sugar
5270 variable where useful. Issue unused variable warnings
5271 ourselves, do not rely on function.c.
5272 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
5273 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
5274 (implicitly_declare): decl cannot be error_mark_node.
5275 (undeclared_variable): Manipulate scope structure directly.
5276 (c_make_fname_decl): Likewise.
5277 (getdecls, c_init_decl_processing): Fix comment.
5278 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
5279 for 'last' variable.
5280 (grokparms): No need to nreverse parms list.
5281 (store_parm_decls_newstyle): Set up the parms_last and
5282 names_last fields of the new scope too.
5283 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
5284 on parms to begin with; check this under ENABLE_CHECKING. Set
5285 up parms_last.
5286 (check_for_loop_decls): Refer directly to current_scope->tags.
5287 Use consistent quote style in diagnostics.
5288 (c_write_global_declarations): The names list is not backward.
5289
5290 * c-common.h: Don't prototype gettags.
5291 * c-parse.in: Call poplevel with second argument 0 always.
5292
a8eb1db5
KG
52932003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5294
5295 * builtins.def: Resort builtins.
5296
da7cfe13
KG
52972003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5298
5299 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
5300 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
5301 Prepend "__builtin_" onto NAME with string concatenation. Remove
5302 explicit "__builtin_" from each macro call.
5303
5304 Reformat entire file.
5305
ea8eb0b9
KG
53062003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5307
5308 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
5309 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
5310
61152e48 53112003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
3ef093a8
AK
5312
5313 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
5314 CCL1, or CCL2 modes with floating point operations.
5315
5316 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
5317 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
5318 "*subdf3_cconly"): New insns.
5319 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
5320
bf42e45b
NB
53212003-08-01 Neil Booth <neil@daikokuya.co.uk>
5322
5323 * Makefile.in: Refine dependencies.
5324 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
5325 * c.opt: Update help for -Wimport.
5326 * cppfiles.c: Include hashtab.h. Update comments.
5327 (stack_file): Read the file before updating dependencies.
5328 (once_only_file_p): Be smarter about marking once-only files.
5329 (_cpp_mark_file_once_only): Correct the check for existence on
5330 the list.
5331 (open_file_failed): Use name not path, which is NULL.
5332 * cpphash.h: Don't include hashtab.h.
5333 (struct _cpp_file): Remove.
5334 (struct cpp_reader): Update.
5335 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
5336 * cpplib.h (struct cpp_options): Remove warn_import.
5337 (cpp_simplify_path): Remove.
5338
a5bcc582
NS
53392003-08-01 Nathan Sidwell <nathan@codesourcery.com>
5340
5341 PR c++/11295
5342 * doc/extend.texi (Statement Expressions): Document C++ semantics.
5343
2fdd01a0
ST
53442003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
5345
5346 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
5347
3c260e1d
KG
53482003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5349
5350 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
5351 throughout.
5352 * builtins.def: Likewise.
5353
40209195
JM
53542003-07-31 Jason Merrill <jason@redhat.com>
5355
5356 * Makefile.in (bubblestrap): Don't require a previous full
5357 bootstrap.
5358
5359 * expr.c (mostly_zeros_p): No longer static.
5360 * tree.h: Declare it.
5361 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
5362 unless we need to do substitutions.
5363
2598550f
RS
53642003-07-31 Roger Sayle <roger@eyesopen.com>
5365
5366 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
5367 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
5368 as pow(x,2.0) when the latter will be expanded back into x*x.
5369 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
5370 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
5371 pow can never set errno when used with an integer exponent.
5372 Always use expand_powi when exponent is -1, 0, 1 or 2.
5373 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
5374 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
5375 the pow forms of these expressions.
5376
a8ee6e2d
GK
53772003-07-31 Geoffrey Keating <geoffk@apple.com>
5378
5379 * Makefile.in (libexecdir): New.
5380 (libsubdir): Use gcc instead of gcc-lib.
5381 (libexecsubdir): New.
5382 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
5383 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
5384 gcc-lib.
5385 (installdirs): Make libexecsubdir.
5386 (install-common): Put executables in libexecsubdir.
5387 (itoolsdir): Use libexecsubdir.
5388 (itoolsdatadir): New.
5389 (install-mkheaders): Separate data files and executables.
5390 (install-collect2): Put executables in libexecsubdir.
5391 (uninstall): Remove libexecsubdir.
5392 * mkheaders.in: Update for new arrangement of files.
5393 (libexecdir): New.
5394 (libexecsubdir): New.
5395 (itoolsdir): Use libexecsubdir.
5396 (itoolsdatadir): New.
5397 * gcc.c (gcc_libexec_prefix): New.
5398 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
5399 (standard_exec_prefix_1): Use libexec.
5400 (standard_exec_prefix_2): New.
5401 (standard_libexec_prefix): New.
5402 (process_command): Update for new arrangement of files. Compute
5403 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
5404
631099c9
NN
54052003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
5406
5407 * inclhack.def (stdio_va_list): Avoid bogus replacement which
5408 triggers on Interix.
5409 * fixincl.x: Regenerate.
5410
a132b6a8
JJ
54112003-07-31 Jakub Jelinek <jakub@redhat.com>
5412
5413 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
5414 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
5415
c67b2a58
RK
54162003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5417
5418 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
5419
40e941af
PB
54202003-07-31 Per Bothner <pbothner@apple.com>
5421
5422 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
5423 (add_input_filename): New function.
5424 (handle_options): Call add_input_filename directly instead of
5425 with a lang hook.
5426 * opts.h (in_fnames, num_in_fnames): Moved here.
5427 (add_input_filename): Declare.
5428 * c-decl.c: Need to #include opts.h.
5429 * Makefile.in (c-decl.o): Also depends on opts.h.
5430 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
5431 (c_common_handle_filename): Replaced by add_input_filename.
5432 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
5433 Remove.
5434 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
5435 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
5436 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
5437 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
5438
9143c6b7
ZD
54392003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5440
5441 * combine.c (try_combine): Set JUMP_LABEL for newly created
5442 unconditional jump.
5443
b7de5864
ZD
54442003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5445
5446 * fold-const.c (fold): Fold some comparisons of bit operations.
5447
602a82f3 54482003-07-31 Jan Hubicka <jh@suse.cz>
fdacb904
JH
5449
5450 * cgraph.c (create_edge): Fix typo.
5451 * i386.c (pic_symbolic_operand): Reorder tests.
5452
8100063e
NS
54532003-07-31 Nathan Sidwell <nathan@codesourcery.com>
5454
5455 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
5456 more fully.
5457 (Gcov Data Files): Update.
5458
2a4e8ebc
RO
54592003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5460
5461 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
5462 default.
5463
5464 * gthr-posix.c: New file.
5465 * gthr-posix.h: Define _REENTRANT if missing.
5466 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
5467
5468 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
5469 by gthr-posix.o.
5470 * config/alpha/t-osf-pthread: New file.
5471
5472 * fixinc/inclhack.def (alpha_pthread): New fix.
5473 * fixinc/fixincl.x: Regenerate.
5474 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
5475
5476 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
5477 warning.
5478 Fixes PR bootstrap/9330.
5479
689a714d
RO
54802003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5481
5482 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
5483 without GNU ld.
5484 Update comment.
5485 * configure: Regenerate.
5486
caf819ae
VM
54872003-07-31 Vladimir Makarov <vmakarov@redhat.com>
5488
f91f41b2
ZW
5489 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
5490 setter.
caf819ae 5491
1aa0a5f6
RS
54922003-07-30 Roger Sayle <roger@eyesopen.com>
5493
5494 * builtins.def: Alphabetize.
5495
4bd0bee9
MK
54962003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
5497
5498 * doc/c-tree.texi: Normalize spellings of "lowercase" and
5499 "uppercase".
5500 * doc/cpp.texi: Likewise.
5501 * doc/md.texi: Likewise.
5502 * doc/rtl.texi: Likewise.
5503 * doc/tm.texi: Likewise.
5504
7f02cb5c
MK
55052003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
5506
5507 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
5508 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
5509 of cc1obj.
5510
498887c8
CD
55112003-07-30 Chris Demetriou <cgd@broadcom.com>
5512
5513 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
5514 macros before defining them.
5515
10bbf137
UW
55162003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
5517
f91f41b2 5518 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
10bbf137
UW
5519 UNSPECV_BLOCKAGE): New constants.
5520 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
5521 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
5522 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
5523 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
5524
5525 (all insns and expanders): Write output control string as brace block
5526 where appropriate. Remove \-escapes for doublequote characters.
5527
602a82f3 55282003-07-31 Jan Hubicka <jh@suse.cz>
3f2eae23
JH
5529
5530 * gcse.c (insert_store): Fix typo in previous patch.
5531
f0babc9a
NB
55322003-07-30 Neil Booth <neil@daikokuya.co.uk>
5533
5534 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
5535
edeac5de
AK
55362003-07-30 Andi Kleen <ak@muc.de>
5537
5538 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
5539
6e885ee3
ZD
55402003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5541
5542 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
5543 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
5544 GCOV_N_VALUE_COUNTERS): New.
5545 * profile.c (compute_value_histograms): New static function.
5546 (branch_prob): Read back the value histograms.
5547 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
5548 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
5549 * value-prof.c: Add comment on reading the profile.
5550 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
5551 * doc/invoke.texi (-fprofile-values): Document behavior with
5552 -fbranch-probabilities.
5553
0e6cb2cb
DE
55542003-07-30 David Edelsohn <edelsohn@gnu.org>
5555
5556 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
5557
656ec3b1
UW
55582003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
5559
5560 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
5561 symbolically.
5562
602a82f3 55632003-07-30 Jan Hubicka <jh@suse.cz>
a0c8285b
JH
5564
5565 * gcse.c (insert_store): Ignore fake edges.
5566
5567 * c-common.c (flag_vtable_gc): Kill.
5568 * c-common.g (flag_vtable_gc): Kill.
5569 * c-opts (c_common_handle_option): Kill.
5570 * c.opt (fvtable-gc): Kill.
5571 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
5572 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
5573 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
5574
5575 * invoke.texi (-ftable-gc): Kill documentation.
5576
5577 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
5578 just because function body is missing.
5579
5580 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
5581
b2e863b8
RM
55822003-07-30 Ranjit Mathew <rmathew@hotmail.com>
5583
5584 * unwind-sjlj.c: Fix typo in file description.
5585
9206d736
AM
55862003-07-30 Alan Modra <amodra@bigpond.net.au>
5587
5588 * calls.c (load_register_parameters): When shifting reg sized values
5589 to the msb, move the value to a reg first.
5590
9074464c
GK
55912003-07-29 Geoffrey Keating <geoffk@apple.com>
5592
5593 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
5594 * line-map.h (linemap_add): Update comments.
5595 * line-map.c (linemap_add): Update comments, interpret zero-length
5596 filename as "<stdin>".
5597
e55e4f68
NN
55982003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
5599
5600 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
5601
55d54003
ZW
56022003-07-29 Zack Weinberg <zack@codesourcery.com>
5603
5604 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
5605 New static variables.
5606 (struct c_scope): Add parms and warned_forward_parm_decls
5607 fields; remove parm_order.
5608 (storedecls, storetags): Delete.
5609 (poplevel): Also clear bindings on the parms chain.
5610 (pushdecl): Handle forward declarations of parameters, and
5611 chain PARM_DECLs on the parms list, not the names list.
5612 (lookup_name_current_level): Check for PARM_DECLs on the parms
5613 list too.
5614 (push_parm_decl): Don't update parm_order.
5615 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
5616 warning, only once per parameter list, and set TREE_ASM_WRITTEN
5617 on the decls here. Then move the forward decls to the names list.
5618 (grokparms): Set last_function_parm_vars.
5619 (get_parm_info): Don't use gettags or getdecls. No need to
5620 extract non-parms from the parms list, or reorganize the parms
5621 list. Feed nonparms back in the TREE_TYPE of the list node
5622 returned. Issue only one error per parameter list for "void"
5623 appearing more than once in said parameter list. Collapse
5624 parmlist_tags_warning into this function to avoid double scan
5625 of tags list.
5626 (start_function): Set current_function_parm_vars.
5627 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
5628 directly. Get non-parms from current_function_parm_vars; no
5629 need to extract them from the parms chain. Properly bind tags
5630 in the new scope.
5631 (store_parm_decls_oldstyle): No need to extract non-parameters
5632 from the parms chain, nor to store them back afterward. Move
5633 declaration to top of function, restructure code reordering
5634 DECL_ARGUMENTS.
5635 (store_parm_decls): No need to save and restore warn_shadow.
5636 * c-parse.in: Don't call parmlist_tags_warning nor
5637 clear_parm_order. Call mark_forward_parm_decls when forward
5638 parm decls are encountered.
5639 * c-tree.h: Prototype mark_forward_parm_decls; not
5640 clear_parm_order or parmlist_tags_warning.
5641
18c81520
GK
56422003-07-29 Geoffrey Keating <geoffk@apple.com>
5643
5644 * c-common.c (allow_pch): Remove.
5645 * c-common.h (allow_pch): Remove.
5646 (c_common_no_more_pch): Declare.
5647 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
5648 * c-pch.c: Include hosthooks.h.
5649 (c_common_valid_pch): Don't check allow_pch.
5650 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
5651 (c_common_no_more_pch): New.
5652 * ggc-common.c: Include hosthooks.h.
5653 (gt_pch_save): Call gt_pch_get_address.
5654 (gt_pch_restore): Call gt_pch_use_address.
5655 * hooks.c (hook_voidp_size_t_null): New.
5656 (hook_bool_voidp_size_t_false): New.
5657 * hooks.h (hook_voidp_size_t_null): New.
5658 (hook_bool_voidp_size_t_false): New.
5659 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
5660 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
5661 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
5662 HOST_HOOKS_GT_PCH_USE_ADDRESS.
5663 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
5664 gt_pch_use_address.
5665 * doc/hostconfig.texi (Host Common): Document
5666 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
5667 * Makefile.in (c-pch.o): Depend on hosthooks.h.
5668 (ggc-common.o): Likewise.
5669
5670 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
5671 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
5672 (pch_address_space): New.
5673 (darwin_rs6000_gt_pch_get_address): New.
5674 (darwin_rs6000_gt_pch_use_address): New.
5675
8f9b4009
NB
56762003-07-29 Neil Booth <neil@daikokuya.co.uk>
5677
cb6eb88a
NB
5678 PR preprocessor/11569
5679 PR preprocessor/11649
8f9b4009
NB
5680 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
5681 * cppfiles.c: Completely rewritten.
5682 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
5683 struct cpp_path is now struct cpp_dir.
5684 (remove_duplicates): Don't simplify path names.
5685 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
5686 cpp_stack_file.
5687 * cpphash.h: Include hashtab.h.
5688 (_cpp_file): Declare.
5689 (struct cpp_buffer): struct include_file is now struct _cpp_file,
5690 and struct cpp_path is now struct cpp_dir. Rename members.
5691 (struct cpp_reader): Similarly. New members once_only_files,
5692 file_hash, file_hash_entries, quote_ignores_source_dir,
5693 no_search_path, saw_pragma_once. Remove all_include_files and
5694 max_include_len. Make some members bool.
5695 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
5696 (_cpp_stack_file): Renamed from _cpp_read_file.
5697 (_cpp_stack_include): Renamed from _cpp_execute_include.
5698 (_cpp_init_files): Renamed from _cpp_init_includes.
5699 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
5700 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
5701 (cpp_read_next_file): Rename and move to cppfiles.c.
5702 (cpp_read_main_file): Update.
5703 * cpplib.c (run_directive): Update for renamed members.
5704 (do_include_common, _cpp_pop_buffer): Update.
5705 (do_import): Undeprecate #import.
5706 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
5707 * cpplib.h: Remove file_name_map_list.
5708 (cpp_options): Remove map_list.
5709 (cpp_dir): Rename from cpp_path. New datatype for name_map.
5710 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
5711
a6400add
PE
57122003-07-29 Phil Edwards <pme@gcc.gnu.org>
5713
5714 * Makefile.in: Make stamp-objdir safe for parallel builds.
5715
b2790407
PE
57162003-07-29 Phil Edwards <pme@gcc.gnu.org>
5717
5718 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
5719 (info): Depend on stmp-docobjdir.
5720
8e3940b2
RO
57212003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5722
5723 * configure: Regenerate.
5724
602a82f3 57252003-07-29 Jan Hubicka <jh@suse.cz>
987bf56f
JH
5726
5727 PR C++/11131
5728 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
5729 in !unit-at-a-time mode.
5730
5f0eabcc
GK
57312003-07-28 Geoffrey Keating <geoffk@apple.com>
5732
5733 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
5734 main function.
5735
7b6d72fc
MM
57362003-07-28 Mark Mitchell <mark@codesourcery.com>
5737
5738 PR c++/11667
5739 * c-common.c (shorten_compare): Take into account differences
5740 between C and C++ representation for enumeration types.
5741 * tree.h (set_min_and_max_values_for_integral_type): Declare.
5742 * stor-layout.c (set_min_and_max_values_for_integral_type): New
5743 function, broken out from ...
5744 (fixup_signed_type): ... here and ...
5745 (fixup_unsigned_type): ... here.
5746
14077d68
ZW
57472003-07-28 Zack Weinberg <zack@codesourcery.com>
5748
5749 * c-decl.c: Update commentary, adjust blank lines throughout.
5750 (struct c_scope): Fix indentation. Reorder members so
5751 outer-context pointers come first, booleans last.
5752 (duplicate_decls, define_label): Use a 'locus' variable for
5753 diagnostic locations in a few more places.
5754 (warn_if_shadowing): Un-split a conditional that fits on one line.
5755 (c_init_decl_processing): No need to clear current_scope and
5756 current_function_scope.
5757 (start_decl): Merge if/else if statements with same action.
5758 (push_parm_decl): Rename old_immediate_size_expand to use
5759 save_foo convention; save/restore around entire function.
5760 (grokdeclarator): Remove unnecessary braces.
5761
85617eba
HPN
57622003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
5763 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
5764
5765 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
5766 when warn_declaration_after_statement. Call pedwarn_c90, not
5767 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
5768 * c-common.c (warn_declaration_after_statement): Define.
5769 * c-common.h (warn_declaration_after_statement): Declare.
5770 * c.opt (Wdeclaration-after-statement): New.
5771 * c-errors.c (pedwarn_c90): New function.
5772 * c-opts.c (c_common_handle_option) <case
5773 OPT_Wdeclaration_after_statement>: New.
5774 * c-tree.h (pedwarn_c90): Declare.
5775 * doc/invoke.texi (Option Summary): Document
5776 -Wdeclaration-after-statement.
5777 (Warning Options): Ditto.
5778
602a82f3 57792003-07-28 Jan Hubicka <jh@suse.cz>
f527d196
JH
5780
5781 * i386.md (memory attribute) Avoid accessing uninitialized memory
5782 for ishift1 type instructions.
5783
5dfa45d0
JJ
57842003-07-28 Jakub Jelinek <jakub@redhat.com>
5785
5786 * configure.in (--enable-checking): Add fold category.
5787 (ENABLE_FOLD_CHECKING): Define if requested.
5788 * configure: Rebuilt.
5789 * config.in: Rebuilt.
5790 * doc/install.texi: Document it.
5791 * fold-const.c: Include md5.h.
5792 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
5793 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
5794 print_fold_checksum): New functions.
5795
5796 * fold-const.c (fold): Never modify argument passed to fold, instead
5797 change a copy and return it.
5798 * convert.c (convert_to_integer): Likewise.
5799
447673de
NN
58002003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
5801
14077d68 5802 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
447673de
NN
5803 cleanup of junk after #else and #endif directives. Collapse repeated
5804 clauses into for statment.
5805
5806 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
5807
66db6b62
ZW
58082003-07-27 Zack Weinberg <zack@codesourcery.com>
5809
a8ccdffe
ZW
5810 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
5811 (keep_next_if_subblocks): Rename next_is_function_body.
5812 (pushlevel): Adjust commentary. Always set ->keep on the
5813 outermost level of a function. Don't set ->keep_if_subblocks.
5814 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
5815 (store_parm_decls): Adjust to match.
5816 (finish_function): Adjust to match.
5817 Call poplevel with all three arguments zero.
5818
66db6b62
ZW
5819 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
5820 New functions split out of store_parm_decls.
5821 Avoid unnecessary work. Use local variables consistently.
5822 (store_parm_decls): Likewise.
5823
5824 (finish_function): No need to set functionbody flag on call to
5825 poplevel.
5826 (struct language_function): Remove scope field.
5827 (c_push_function_context, c_pop_function_context): No need to
5828 save and restore current_scope.
5829
90ea7324
NS
58302003-07-27 Nathan Sidwell <nathan@codesourcery.com>
5831
5832 * doc/extend.texi (Deprecated Features): Implicit typename is
5833 gone. Default args on types is going.
5834
11a004ef
R
58352003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
5836
5837 * Makefile.in (ifcvt.o): Depend on target.h
5838 * ifcvt.c (target.h): Include.
5839 (if_convert): Don't call mark_loop_exit_edges if we can't
5840 modify jumps.
5841
6cbf57c9
GP
58422003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5843
5844 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
5845
a6c14a64
RH
58462003-07-26 Richard Henderson <rth@redhat.com>
5847
5848 PR inline-asm/11676
5849 * cse.c (count_reg_usage): Handle asm_operands properly.
5850
cc42f5f5
RS
58512003-07-26 Roger Sayle <roger@eyesopen.com>
5852
5853 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
5854 (DEF_EXT_FALLBACK_BUILTIN): Delete.
5855 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
5856 the regular DEF_EXT_LIB_BUILTIN macro.
5857 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
5858 the regular DEF_LIB_BUILTIN macro.
5859 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
5860 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
5861 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
5862 DEF_EXT_LIB_BUILTIN macro.
5863
5864 * c-decl.c (duplicate_decls): Remove code to handle builtin
5865 functions prototyped without an argument list.
5866
92e7a6ef
DS
58672003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
5868
5869 * config/i386/winnt.c: Revert 2003-07-08 change.
5870 (i386_pe_section_type_flags): Remove error_with_decl here too.
5871
ba9cfcb5
GDR
58722003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
5873
5874 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
5875 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
5876 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
5877 (v850_handle_data_area_attribute): Likewise.
5878
0e5da0be
GK
58792003-07-26 Geoffrey Keating <geoffk@apple.com>
5880
66db6b62 5881 * varasm.c (output_constant_def_contents): Use
18f3e349
GK
5882 ASM_DECLARE_CONSTANT_NAME if defined.
5883 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
5884 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
5885 objects get at least one byte to prevent assembler problems.
5886 (ASM_DECLARE_CONSTANT_NAME): New.
5887
d2908a50
GK
5888 * Makefile.in (libbackend.o): Remove options_.h.
5889 (mostlyclean): Likewise.
5890
0e5da0be
GK
5891 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
5892 insert a label at the end of an function under Mach-O.
863d3dfb
GK
5893
5894 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
5895
36252949
AH
58962003-07-25 Aldy Hernandez <aldyh@redhat.com>
5897
5898 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
5899 equality.
5900 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
5901
5902 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
5903
0fe37f68
GDR
59042003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5905
5906 * doc/passes.texi (Passes): Mention pretty-printing and
5907 diagnostic files.
5908
50fc59e7
NS
59092003-07-25 Nathan Sidwell <nathan@codesourcery.com>
5910
5911 * doc/extend.texi (Function Attributes): GNU C++ does now allow
5912 unused parameter decls.
5913 (Attribute Syntax): GNU C++ does not allow label attributes to be
5914 after the ':'.
5915
cd475805
GDR
59162003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5917
5918 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
5919 (objc_declare_class): Likewise.
5920 (error_with_ivar): Likewise.
5921 (start_class): Likewise.
5922 (warn_with_method): Likewise.
5923
b6fe0bb8
GDR
59242003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5925
5926 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
66db6b62 5927 from GCC.
b6fe0bb8
GDR
5928 * calls.c (try_to_integrate): Don't use xxx_with_decl.
5929 (expand_call): Likewise.
5930 * dwarfout.c (output_reg_number): Likewise.
5931 * expr.c (expand_expr): Likewise.
5932 * function.c (assign_temp): Likewise.
5933 (uninitialized_vars_warning): Likewise.
5934 (setjmp_args_warning): Likewise.
5935 (expand_function_end): Likewise.
5936 * stmt.c (fixup_gotos): Likewise.
5937 (warn_about_unused_variables): Likewise.
5938 (expand_end_bindings): Likewise.
5939 * stor-layout.c (layout_decl): Likewise.
5940 (place_field): Likewise.
5941 * toplev.c (check_global_declarations): Likewise.
5942 (rest_of_handle_inlining): Likewise.
5943 (default_tree_printer): New function.
5944 (general_init): Initialize diagnostic machinery before routing
5945 signals to the ICE machinery. Set default tree printer.
5946 * toplev.h (pedwarn_with_decl): Remove declaration.
5947 (warning_with_decl): Likewise.
5948 (error_with_decl): Likewise.
66db6b62 5949 (pedwarn): Remove attribute for the time being.
b6fe0bb8
GDR
5950 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
5951 * varasm.c (named_section): Likewise.
5952 (make_decl_rtl): Likewise.
5953 (assemble_variable): Likewise.
5954 (merge_weak): Likewise.
5955 (declare_weak): Likewise.
5956
5957 * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
5958 * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
5959 (format_with_decl): Remove.
5960 (diagnostic_for_decl): Likewise.
5961 (pedwarn_with_decl): Likewise.
5962 (warning_with_decl): Likewise.
5963 (error_with_decl): Likewise.
5964 (diagnostic_initialize): Adjust.
5965 (diagnostic_count_diagnostic): Likewise.
5966 (announce_function): Likewise.
5967 (lhd_print_error_function): Likewise.
5968 (diagnostic_report_current_module): Likewise.
5969 (default_diagnostic_starter): Likewise.
5970 (diagnostic_report_diagnostic): Likewise.
5971 (default_diagnostic_finalizer): Likewise.
5972 (verbatim): Likewise.
5973 (error): Likewise.
5974 (warning): Likewise.
5975 * opts.c (common_handle_option): Likewise.
5976 * pretty-print.c: New file.
5977 * c-pretty-print.h (pp_base): Override.
5978 * c-pretty-print.c: Adjust use of macros throughout.
5979 (pp_buffer): New macro.
5980 (pp_newline): Likewise.
5981 * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
5982 * Makefile.in (DIAGNOSTIC_H): New variable.
5983 (c-errors.o): Use it.
5984 (c-objc-common.o): Likewise.
5985 (c-common.o): Likewise.
5986 (c-opts.o): Likewise.
5987 (c-format.o): Likewise.
5988 (diagnostic.o): Likewise.
5989 (opts.o): Likewise.
5990 (toplev.o): Likewise.
5991 (rtl-error.o): Likewise.
5992 (dwarf2out.o): Likewise.
5993 (jump.o): Likewise.
5994 (pretty-print.o): New rule.
5995
868b8cda
RS
59962003-07-24 Roger Sayle <roger@eyesopen.com>
5997
5998 * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
5999 front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
6000 (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
6001 from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
6002 (DEF_FRONT_END_LIB_BUILTIN): Delete.
6003 (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
6004 (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
6005
6006 * builtins.c (build_string_literal): New function to construct
6007 a char* pointer to a string literal.
6008 (expand_builtin_fputs): Change 2nd argument from "int ignore" to
6009 "rtx target" to be consistent with other expand_builtin_* functions.
6010 Change 3rd argument from "int unlocked" to "bool unlocked".
6011 (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
6012 c-common.c to avoid front-end dependencies. Optimize printf("")
6013 as a no-op when the result isn't required. Handle embedded NULs
6014 in format string.
6015 (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
6016 from c-common.c to avoid front-end dependencies. Likewise, optimize
6017 fprintf(fp,"") as a no-op when the result isn't required, evaluating
6018 fp for side-effects. Handle embedded NULs in format string.
6019 (expand_builtin_sprintf): Fix typo.
6020 (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
6021 optimizing. Adjust calls of expand_builtin_fputs to match the API
6022 change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
6023 expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
6024 and BUILT_IN_FPRINTF using expand_builtin_fprintf.
6025
6026 * c-common.c (is_valid_printf_arglist): Delete.
6027 (c_expand_builtin): Delete.
6028 (c_expand_builtin_printf): Moved to builtins.c. Delete.
6029 (c_expand_builtin_fprintf): Moved to builtins.c. Delete.
6030 (c_expand_expr): No longer treat CALL_EXPRs specially.
6031 (CALLED_AS_BUILT_IN): Delete.
6032
2a868ea4
ZD
60332003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6034
6035 PR optimization/11631
6036 * gcse.c (store_motion): Connect infinite loops to exit.
6037
de7df9eb
JM
60382003-07-24 Jason Merrill <jason@redhat.com>
6039
6040 * tree.h (boolean_type_node): Move from C/C++/Java frontends.
6041 (boolean_true_node, boolean_false_node): Likewise.
6042 (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
6043 * tree.c (build_common_tree_nodes): Init boolean_type_node.
6044 (build_common_tree_nodes_2): Init boolean_{true,false}_node.
6045 * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
6046 * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
6047 (truthvalue_true_node): Renamed from boolean_true_node.
6048 (truthvalue_false_node): Renamed from boolean_false_node.
6049 * c-decl.c: Just set truthvalue_* to integer_*.
6050 * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/.
6051
6907ddd3
RS
60522003-07-24 Roger Sayle <roger@eyesopen.com>
6053
6054 * c-decl.c (match_builtin_function_types): New subroutine of
6055 duplicate_decls to test whether a redeclaration of a builtin
6056 function is suitably close, i.e. the return type and all of
6057 the argument types have the same modes as the builtin expects.
6058 (duplicate_decls): Fuzzy type matching for builtin functions
6059 moved to match_builtin_function_types.
6060
84d45ad1
ZD
60612003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6062
6063 * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
6064 flag correctly.
6065
f8521984
ZW
60662003-07-24 Zack Weinberg <zack@codesourcery.com>
6067
6068 * c-decl.c: Search-and-replace change 'binding level' to
6069 'scope' in commentary.
6070 (struct binding_level): Now struct c_scope.
6071 (current_binding_level): Now current_scope.
6072 (free_binding_level): Now scope_freelist.
6073 (current_function_level): Now current_function_scope.
6074 (global_binding_level): Now global_scope.
6075 (make_binding_level): Now make_scope.
6076 (pop_binding_level): Now pop_scope.
6077
0f31374d
RO
60782003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6079
6080 * configure.in (libgcc_visibility): Add missing whitespace.
6081
270606ac
RH
60822003-07-24 Richard Henderson <rth@redhat.com>
6083
6084 * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
6085 __gcc_personality_v0.
f8521984 6086
5f08e44f
RO
60872003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6088
6089 * Makefile.in: Replace pwd by ${PWD_COMMAND}.
6090
a4878735
NS
60912003-07-24 Nathan Sidwell <nathan@codesourcery.com>
6092
6093 * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
6094 documentation missed from my 2003-07-09 patch.
6095
5aaaf0e8
NN
60962003-07-24 Nathanael Nerode <neroden@gcc.gnu.org>
6097
6098 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
6099 it's not provided.
6100 * configure: Rebuild.
6101
8f5b6d29
SB
61022003-07-24 Steven Bosscher <steven@gcc.gnu.org>
6103
6104 PR c/10602
6105 * c-typeck.c (type_lists_compatible_p): Do not compare
6106 arguments if one of them is an error_mark_node
6107
acd0b319
AM
61082003-07-24 Alan Modra <amodra@bigpond.net.au>
6109
6110 * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
6111 if current_function_calls_eh_return.
6112
28b619b2
MM
61132003-07-23 Mark Mitchell <mark@codesourcery.com>
6114
6115 * doc/c-tree.texi (OFFSET_TYPE): Update description.
6116
07154156
BW
61172003-07-23 Bob Wilson <bob.wilson@acm.org>
6118
6119 * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
6120 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
6121 __umodsi3, __modsi3): Increase frame size to 32.
6122
5f5bfdd0
GK
61232003-07-23 Geoffrey Keating <geoffk@apple.com>
6124
6125 * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
6126 prototype.
6127
11b8e71c
MM
61282003-07-23 Mark Mitchell <mark@codesourcery.com>
6129
28b619b2
MM
6130 * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
6131
11b8e71c
MM
6132 PR optimization/10679
6133 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
6134
9d6b7c09
JDA
61352003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6136
6137 PR target/11607 and PR target/11516
6138 * pa.md (extzv, extv, insv): Revert latter half of last patch.
6139
a5ac359a
MM
61402003-07-22 Mark Mitchell <mark@codesourcery.com>
6141
6142 * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
6143 * varasam.c (output_constant): Likewise.
6144
938d968e
KH
61452003-07-22 Kazu Hirata <kazu@cs.umass.edu>
6146
6147 * alias.c: Fix comment formatting.
6148 * c-common.c: Likewise.
6149 * c-decl.c: Likewise.
6150 * c-opts.c: Likewise.
6151 * combine.c: Likewise.
6152 * cpplib.c: Likewise.
6153 * diagnostic.c: Likewise.
6154 * dojump.c: Likewise.
6155 * final.c: Likewise.
6156 * fold-const.c: Likewise.
6157 * gcc.c: Likewise.
6158 * gcse.c: Likewise.
6159 * ggc-page.c: Likewise.
6160 * jump.c: Likewise.
6161 * loop.c: Likewise.
6162 * mips-tfile.c: Likewise.
6163 * recog.c: Likewise.
6164 * regclass.c: Likewise.
6165 * regmove.c: Likewise.
6166 * tree.c: Likewise.
6167 * tree.h: Likewise.
6168
b3147029
PB
61692003-07-22 Per Bothner <pbothner@apple.com>
6170
6171 * line-map.c (add_line_map): Handle invalid LEAVE request.
6172 Fixes PR preprocessor/11361.
6173
53f72d60
PB
61742003-07-22 Per Bothner <pbothner@apple.com>
6175
6176 * diagnostic.c.(diagnostic_report_current_module): Update to match
6177 2003-06-05 changes to push_srcloc and pop_srcloc.
6178
5cf0212f
WB
61792003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
6180
6181 * doc/trouble.texi: Better document two-stage name lookup.
6182
c7453384
EC
61832003-07-22 Eric Christopher <echristo@redhat.com>
6184
6185 * config/s390.c (s390_valid_pointer_mode): New.
6186 (TARGET_VALID_POINTER_MODE): Use.
6187 (s390_emit_prologue): Add tpf profiling hooks.
6188 (s390_emit_epilogue): Ditto.
6189 * config/s390.h (MASK_TPF): New.
6190 (TARGET_TPF): Use.
6191 (POINTERS_EXTEND_UNSIGNED): Define.
6192 * config/s390.md (ptr_extend): New pattern.
6193
a2f7be91
ZW
61942003-07-22 Zack Weinberg <zack@codesourcery.com>
6195
6196 * hashtable.c (approx_sqrt): Make static.
6197 * hashtable.h: Don't prototype approx_sqrt.
6198 * line-map.c (init_line_maps): Rename linemap_init.
6199 (free_line_maps): Rename linemap_free.
6200 (add_line_map): Rename linemap_add.
6201 (lookup_line): Rename linemap_lookup.
6202 (print_containing_files): Rename linemap_print_containing_files.
6203 * linemap.h: Update to match.
6204
6205 * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
6206 linemap routines to use new names.
6207
c6e4cc53
NS
62082003-07-16 Nathan Sidwell <nathan@codesourcery.com>
6209
6210 * c-common.c (handle_packed_attribute): Don't pack a struct via a
6211 typedef. Propagate packedness from a main variant.
6212
55de4f08
NN
62132003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
6214
6215 * Makefile.in (install-common): Add dependency on installdirs.
6216
fb5d2a87
AO
62172003-07-21 Alexandre Oliva <aoliva@redhat.com>
6218
6219 * c-common.c (c_common_type_for_mode): Return integer types for
6220 pointer modes.
6221
905bd7b5
GK
62222003-07-22 Geoffrey Keating <geoffk@apple.com>
6223
d05cc98e
GK
6224 * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
6225 (finish_decl): Call maybe_apply_pragma_weak here.
6226 (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
6227 TREE_PUBLIC and TREE_STATIC are decided.
6228 (start_function): Move call to maybe_apply_pragma_weak. Check that
6229 DECL_ASSEMBLER_NAME isn't set too early.
6230
905bd7b5
GK
6231 * cpplex.c (_cpp_process_line_notes): Mention option name in
6232 trigraphs warning.
6233
87d9741e
KH
62342003-07-22 Kazu Hirata <kazu@cs.umass.edu>
6235
6236 * combine.c (if_then_else_cond): Simplify the comparison of
6237 rtx against -1, 0, and 1.
6238 * loop.c (check_dbra_loop): Likewise.
6239 * optabs.c (emit_conditional_move): Likewise.
6240 (emit_conditional_add): Likewise.
6241 * config/i386/i386.md (*movsi_or): Likewise.
6242 (*movdi_or_rex6): Likewise.
6243
602a82f3 62442003-07-22 Jan Hubicka <jh@suse.cz>
b67d7f4a
JH
6245
6246 * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
6247
8d973a83
NB
62482003-07-21 Neil Booth <neil@daikokuya.co.uk>
6249
6250 * cppfiles.c (open_file_pch): Don't put unused entries in the
6251 splay tree. Remove dead code.
6252
49a64b24
GK
62532003-07-21 Geoffrey Keating <geoffk@apple.com>
6254
48873ed2
GK
6255 * c-common.h (num_in_fnames): Declare.
6256 (c_static_assembler_name): Move from here...
6257 * c-tree.h (c_static_assembler_name): ... to here.
6258 * c-opts.c: Don't include langhooks-def.h.
6259 (c_static_assembler_name): Move to c-decl.c.
6260 (num_in_fnames): Make externally visible.
6261 * c-decl.c: Include langhooks-def.h.
6262 (c_static_assembler_name): Move from c-opts.c.
6263 * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
6264 (c-opts.o): Remove $(LANGHOOKS_DEF_H).
6265
49a64b24
GK
6266 * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
6267 when it's not needed.
6268
8c29550d
JJ
62692003-07-21 Jakub Jelinek <jakub@redhat.com>
6270
6271 * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
6272 * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
6273 (rs6000_emit_prologue): Save FPRs inline if set.
6274
92cbea22
L
62752003-07-21 H.J. Lu <hongjiu.lu@intel.com>
6276
6277 * config/ia64/ia64.md (prefetch): Support predicate.
6278
ee735eef
JZ
62792003-07-21 Josef Zlomek <zlomekj@suse.cz>
6280
6281 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
6282 * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
6283 table.
6284
bbda30a4
EB
62852003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
6286
a2f7be91 6287 PR optimization/11536
bbda30a4
EB
6288 * unroll.c (loop_iterations): Do not replace a register holding
6289 the final value by its equivalent before the loop if it is not
6290 invariant.
6291
64c18e57
DF
62922003-07-21 Dave Fluri <dave.fluri@onlink.net>
6293
6294 * doc/extend.texi: Fixes to spelling, grammar, and diction.
6295
b222f49a
BE
62962003-07-21 Ben Elliston <bje@wasabisystems.com>
6297
6298 * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
6299 (V850 Options): Spelling fixes.
6300
9eff22bc
LG
63012003-07-20 Lisa M. Goldstein <opus@gnu.org>
6302
a2f7be91 6303 * doc/invoke.texi: Fixes to style, grammar and diction.
9eff22bc 6304
6a6c0154
RS
63052003-07-20 Roger Sayle <roger@eyesopen.com>
6306
6307 * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
6308 * system.h (SMALL_STACK): Poison obsolete target macro.
6309 * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
6310
d38b3a8d
PE
63112003-07-20 Phil Edwards <pme@gcc.gnu.org>
6312
6313 * configure.in: Cache the results of testing for cmp's capabilities.
6314 * configure: Regenerate.
6315
35dc2bd8
MM
63162003-07-20 Mark Mitchell <mark@codesourcery.com>
6317
6318 PR debug/11279
6319 * dwarf2out.c (gen_enumeration_type_die): Remember that
6320 enumerators can be unsigned.
6321
14e33ee8
ZW
63222003-07-19 Zack Weinberg <zack@codesourcery.com>
6323
6324 * c-decl.c (named_labels, shadowed_labels, label_level_chain)
6325 (push_label_level, pop_label_level): Kill.
6326 (struct binding_level): Rename level_chain to outer.
6327 Add outer_function field. Change parm_flag, function_body,
6328 keep, keep_if_subblocks to 1-bit bitfields of type bool.
6329 (current_function_level): New variable.
6330 (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
6331 (keep_next_level, declare_parm_level, warn_if_shadowing):
6332 Update to match.
6333 (struct language_function): Kill named_labels, shadowed_labels fields.
6334 (c_init_decl_processing, start_function, c_push__function_context)
6335 (c_pop_function_context): No need to muck with named_labels nor
6336 shadowed_labels.
6337
6338 (make_binding_level): No need to clear the structure here.
6339 (pop_binding_level): Always operate on current_binding_level.
6340 Update current_function_level if necessary.
6341 (pushlevel): Don't clear named_labels. Update current_function_level
6342 if necessary. Use "true" and "false" where appropriate.
6343 (poplevel): Diagnose labels defined but not used, or vice
6344 versa, and clear out label-meanings leaving scope, while
6345 walking down the decls list, for all binding levels.
6346 Handle LABEL_DECLs appearing in the shadowed list.
6347 pop_binding_level takes no arguments.
6348 (pushdecl_function_level): Use current_function_level.
6349
6350 (make_label, bind_label): New static functions.
6351 (declare_label): New exported function.
6352 (lookup_label, define_label): Rewritten for new data structure.
6353 (shadow_label): Kill.
6354
6355 * c-tree.h: Prototype declare_label; don't prototype
6356 push_label_level, pop_label_level, nor shadow_label.
6357 * c-parse.in: Remove all calls to push_label_level and
6358 pop_label_level. Use declare_label for __label__ decls.
6359
6360 * doc/extend.texi: Clarify that __label__ can be used to
6361 declare labels with local scope in any nested block, not
6362 just statement expressions. Cross-reference nested functions
6363 section from local labels section.
6364
8a6b9b7f
ZD
63652003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6366
6367 * sched-rgn.c (find_rgns): Initialize current_edge correctly.
6368
026fe6c8
PE
63692003-07-19 Phil Edwards <pme@gcc.gnu.org>
6370
6371 * doc/makefile.texi (restrap, profiledbootstrap): Document targets.
6372
c68b0a84
KG
63732003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6374
6375 * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
6376 fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
6377
fd7643fb
UW
63782003-07-19 Ulrich Weigand <uweigand@de.ibm.com>
6379
14e33ee8 6380 * config/s390/s390.c (legitimize_pic_address): Access local symbols
fd7643fb
UW
6381 relative to the GOT instead of relative to the literal pool base.
6382 (s390_output_symbolic_const): Handle new GOT-relative accesses.
6383 * config/s390/s390.md ("call"): Access local functions and PLT stubs
6384 relative to the GOT instead of relative to the literal pool base.
6385 ("call_value"): Likewise.
6386 ("call_value_tls"): Likewise.
6387
14e33ee8 6388 * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
fd7643fb
UW
6389 reloading. Support LTREL_BASE / LTREL_OFFSET construct.
6390 (s390_chunkify_finish): Likewise.
6391 (s390_chunkify_cancel): Likewise.
6392 (s390_reorg): Adapt caller.
6393 (find_base_register_in_addr,
6394 find_base_register_ref, replace_base_register_ref): Delete.
6395 (find_ltrel_base, replace_ltrel_base): New functions.
6396 (find_constant_pool_ref): Handle LTREL_BASE unspecs.
6397 (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
6398 base vs. index register usage.
6399 (struct constant_pool): Remove 'anchor'.
6400 (s390_add_anchor): Delete.
6401 (s390_dump_pool): Remove anchor handling.
6402 * config/s390/s390.md ("reload_anchor"): Remove.
6403
6404 * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
6405 (s390_load_got): New function. Use LTREL_BASE/OFFSET.
6406 (s390_emit_prologue): Use it.
14e33ee8
ZW
6407 * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
6408 "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
fd7643fb
UW
6409 hard-code register 14.
6410 * config/s390/s390-protos.h (s390_load_got): Declare.
6411
14e33ee8 6412 * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
fd7643fb
UW
6413 Support TImode constants.
6414 * config/s390/s390.md ("consttable_ti"): New.
6415 ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
6416
6417 * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
6418 UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
6419 UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
6420 UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
6421 UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
6422 New symbolic constants.
6423 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
6424 "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
6425 "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
6426 "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
6427 symbolic UNSPEC values.
14e33ee8 6428 * config/s390/s390.c (larl_operand, s390_short_displacement,
fd7643fb
UW
6429 bras_sym_operand, s390_cannot_force_const_mem,
6430 s390_delegitimize_address, s390_decompose_address,
6431 legitimize_pic_address, s390_output_symbolic_const,
6432 s390_function_profiler): Use symbolic UNSPEC values.
6433
703ad42b
KG
64342003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6435
6436 * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
6437 c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
6438 c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
6439 collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
6440 cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
6441 cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
6442 dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
6443 fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
6444 gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
6445 genemit.c genextract.c genoutput.c genrecog.c gensupport.c
6446 ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
6447 integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
6448 loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
6449 postreload.c prefix.c print-tree.c protoize.c ra-build.c
6450 ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
6451 regmove.c regrename.c reload.c reload1.c reorg.c resource.c
6452 sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
6453 simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
6454 tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
6455 varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
6456 casts.
6457
308ca868
GDR
64582003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
6459
6460 * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
6461 * toplev.h (warning): Remove attribute.
6462
435ab236
GDR
64632003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
6464
6465 * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
6466 (pop_label_level): Likewise.
6467 (duplicate_decls): Likewise.
6468 (implicitly_declare): Likewise.
6469 (shadow_label): Likewise.
6470 (start_decl): Likewise.
6471 (finish_decl): Likewise.
6472 (grokdeclarator): Likewise.
6473 (get_parm_info): Likewise.
6474 (detect_field_duplicates): Likewise.
6475 (finish_struct): Likewise.
6476 (start_function): Likewise.
6477 (store_parm_decls): Likewise.
6478 (finish_function): Likewise.
6479 (c_expand_body_1): Likewise.
6480 (check_for_loop_decls): Likewise.
6481 (merge_translation_unit_decls): Likewise.
6482
2cc98056
NB
64832003-07-19 Neil Booth <neil@daikokuya.co.uk>
6484
6485 * common.opt: Document --param.
6486 * opts.c (columns, undocumented_msg): New.
6487 (print_help): Get number of columns from environment. Print
6488 --param help. Tweak newline handling.
6489 (print_param_help): New.
6490 (print_filtered_help): Better handling of duplicates. Complain
6491 about undocumented switches.
6492 (print_switch): New.
6493 (wrap_help): Improve wrapping, use COLUMNS.
6494 * opts.sh: Ignore comments in records.
6495 * params.def: Fix typos and remove trailing periods.
6496 * toplev.c (display_help): Don't dump --param help.
6497 * doc/sourcebuild.texi: Update.
6498
d893ccde
RH
64992003-07-18 Richard Henderson <rth@redhat.com>
6500
0e38b30b 6501 PR target/11556
d893ccde
RH
6502 * optabs.c (prepare_operand): Fail gracefully instead of abort
6503 if the predicate doesn't satisfy.
6504 (gen_cond_trap): Allow prepare_operand to fail.
6505
eb8221ea
GDR
65062003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
6507
6508 * c-common.c: Don't undefine GCC_DIAG_STYLE.
6509 (fname_decl): Don't use xxx_with_decl.
6510 (c_add_case_label): Likewise.
6511 (handle_section_attribute): Likewise.
6512 (handle_alias_attribute): Likewise.
6513 (handle_no_instrument_function_attribute): Likewise.
6514 (handle_no_limit_stack_attribute): Likewise.
6515 * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
6516 * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
6517
65f43cdf
ZD
65182003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6519
6520 * Makefile.in (ifcvt.o): Add cfgloop.h.
6521 * basic-block.h (EDGE_LOOP_EXIT): New flag.
6522 * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
6523 * ifcvt.c: Include cfgloop.h.
6524 (mark_loop_exit_edges): New static function.
6525 (if_convert): Call it.
6526 (find_if_header): Ignore branches out of loops.
6527
e5686da7
KH
65282003-07-18 Kazu Hirata <kazu@cs.umass.edu>
6529
14e33ee8 6530 * combine.c (simplify_comparison): Don't share rtx when converting
e5686da7
KH
6531 (ne (and (not X) 1) 0) to (eq (and X 1) 0).
6532
8d05ebaa
DE
65332003-07-18 David Edelsohn <edelsohn@gnu.org>
6534
6535 * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
6536 (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
6537 (MUST_PASS_IN_STACK): Define.
6538 (BLOCK_REG_PADDING): Define.
6539
79019985
RH
65402003-07-18 Richard Henderson <rth@redhat.com>
6541
6542 * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
6543 to skip the addr_vec.
6544
602a82f3 65452003-07-18 Alexandre Oliva <aoliva@redhat.com>
0595d388
AO
6546
6547 * combine.c (combinable_i3pat): Don't forbid occurrences of
6548 i2dest or i1dest in inner_dest if inner_dest is a mem.
6549
602a82f3 65502003-07-18 Jan Hubicka <jh@suse.cz>
2ee1067b
JH
6551
6552 * cgraph.c (cgraph_remove_node): Clear the hash table slot.
6553
16f6812f
JJ
65542003-07-17 Jakub Jelinek <jakub@redhat.com>
6555
6556 PR target/11087
6557 * loop.c (basic_induction_var): Check if convert_modes emitted any
6558 instructions. Remove them and return 0 if so.
6559
f129791c
EB
65602003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr>
6561
6562 PR optimization/11083
6563 * toplev.c (rest_of_handle_addresof): Rename into
6564 rest_of_handle_addressof. Delete unreachable blocks
6565 if dead edges were purged after the addressof pass.
6566
b2e608ca
NB
65672003-07-18 Neil Booth <neil@daikokuya.co.uk>
6568
6569 * Makefile.in, configure, configure.in: Remove handling of
6570 lang-options.h and options_.h.
6571 * toplev.c (struct lang_opt, documented_lang_options): Remove.
6572 (display_help): Don't use documented_lang_options.
6573
9cd51ef6
ZW
65742003-07-17 Zack Weinberg <zack@codesourcery.com>
6575
6576 * c-decl.c (pushdecl_function_level): Make static, return nothing.
6577 (kept_level_p): Fold into poplevel.
6578 (undeclared_variable): Moved here from c-typeck.c. Export.
6579 * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
6580 (undeclared_variable): Prototype here. Don't prototype
6581 kept_level_p nor pushdecl_function_level.
6582 * c-parse.in: Change first argument to poplevel from
6583 "kept_level_p()" to "KEEP_MAYBE".
6584 * c-typeck.c (undeclared_variable): Moved to c-decl.c.
6585
cf6bcbd0
RS
65862003-07-17 Roger Sayle <roger@eyesopen.com>
6587
6588 * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
6589 commutative operands instead of modifying the RTL in-place.
6590
2b187c63
MM
65912003-07-17 Mark Mitchell <mark@codesourcery.com>
6592
6593 PR optimization/11557
6594 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
6595 unless we know which function is being called.
6596
c715abdd
RS
65972003-07-17 Roger Sayle <roger@eyesopen.com>
6598
6599 * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
6600 whether to reorder the operands of a commutative binary operator.
6601
3e4093b6
RS
66022003-07-17 Roger Sayle <roger@eyesopen.com>
6603
6604 * fold-const.c (const_binop): Avoid performing the FP operation at
6605 compile-time, if either operand is NaN and we honor signaling NaNs,
6606 or if we're dividing by zero and either flag_trapping_math is set
6607 or the desired mode doesn't support infinities.
6608 (fold_initializer): New function to fold an expression ignoring any
6609 potential run-time exceptions or traps.
6610 * tree.h (fold_initializer): Prototype here.
6611 * c-typeck.c (build_binary_op): Move to the end of the file so
6612 that intializer_stack is in scope. If constructing an initializer,
6613 i.e. when initializer_stack is not NULL, use fold_initializer to
6614 fold expressions.
6615 * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
6616 performing FP operations at compile-time, if they would raise an
6617 exception at run-time.
6618
89e9faee
GK
66192003-07-17 Geoffrey Keating <geoffk@apple.com>
6620
26e0dcb3
GK
6621 PR 11498
6622 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
6623 (langhooks.o): Add $(GGC_H), gt-langhooks.h.
6624 (GTFILES): Add langhooks.c.
6625 (gt-langhooks.h): New.
6626 * c-common.h (c_static_assembler_name): Prototype.
6627 * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
6628 * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
6629 * c-opts.c: Include langhooks-def.h.
6630 (c_static_assembler_name): New.
6631 * langhooks.c: Include ggc.h. Include gt-langhooks.h.
6632 (var_labelno): New.
6633 (lhd_set_decl_assembler_name): Give static objects with context
6634 unique names.
6635 * varasm.c (var_labelno): Delete.
6636 (make_decl_rtl): Don't change the assembler name once it's set.
6637
89e9faee
GK
6638 * c-opts.c (this_input_filename): New.
6639 (finish_options): Take new parameter, name of file being compiled.
6640 Update callers. Set this_input_filename.
6641 (push_command_line_include): Use this_input_filename not
6642 main_input_filename.
6643
6ec3f553
NB
66442003-07-17 Neil Booth <neil@daikokuya.co.uk>
6645
6646 * Makefile.in: Depend .pot generation on options.c.
6647 * po/exgettext: Add an extra_files variable containing additional
6648 files to scan.
6649
78ff95dc
ZW
66502003-07-17 Zack Weinberg <zack@codesourcery.com>
6651
36c6d174
ZW
6652 * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
6653 c_write_global_declarations.
6654
eb1dfbb2
ZW
6655 * c-decl.c: Fix typos in several comments. Remove all
6656 #if 0 blocks; reindent as needed. Remove unused argument
6657 to declare_parm_level; all callers changed.
6658 * c-parse.in: Update calls to declare_parm_level. Avoid
6659 issuing a double warning in some circumstances.
6660 * c-typeck.c: Update calls to declare_parm_level.
6661 * c-tree.h: Update prototype of declare_parm_level.
6662
6663 * c-pragma.c (apply_pragma_weak): Don't complain about a
6664 redundant #pragma weak.
6665
6666 * objc/objc-act.c (forward_declare_categories,
6667 build_selector_reference_decl, build_class_reference_decl,
6668 build_objc_string_decl, synth_forward_declarations,
6669 build_protocol_reference): Set TREE_PUBLIC on synthetic
6670 forward decl to 0, consistent with eventual definition.
6671 Correct comments to match.
6672
78ff95dc
ZW
6673 * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
6674 in regexp that don't form a range expression.
6675 * fixinc/fixincl.def: Regenerate.
6676
b23ba0b8
RH
66772003-07-17 Richard Henderson <rth@redhat.com>
6678
78ff95dc
ZW
6679 PR target/10907
6680 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
6681 even with !TARGET_CONST_GP.
6682 (ia64_function_ok_for_sibcall): Reject non-local functions.
b23ba0b8 6683
d944c82d
SB
66842003-07-17 Steven Bosscher <steven@gcc.gnu.org>
6685
6686 * c-common.c (c_estimate_num_insns_1): Don't handle
6687 METHOD_CALL_EXPR.
6688 * expr.c (safe_from_p): Likewise.
6689 * gengtype.c (adjust_field_tree_exp): Likewise.
6690 * stmt.c (warn_if_unused_value): Likewise
6691 * tree.c (first_rtl_op): Likewise.
6692 * tree.def: Don't define METHOD_CALL_EXPR.
6693 * java/lang.c (java_estimate_num_insns_1): Don't handle
6694 METHOD_CALL_EXPR.
6695
54284728
EB
66962003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
6697
6698 PR other/11466
6699 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
6700 and its restrictions for the SPARC64 port.
6701 Move the entry of "-mimpure-text" before that of "-mv8".
6702
bc890961 67032003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
78ff95dc 6704 Phil Edwards <phil@jaj.com>
bc890961
EB
6705
6706 * doc/install.texi (*-*-solaris2*): Document the step-by-step
6707 procedure to bootstrap and install.
6708 Document the preference for the legacy Sun tools in /usr/bin
6709 over the POSIX tools in /usr/xpg4/bin for the build process.
6710
f2ac9964
NB
67112003-07-17 Neil Booth <neil@daikokuya.co.uk>
6712
6713 * c.opt: Document Uncodumented; use it. Document ObjC options.
6714 * opts.c (print_filtered_help): Skip undocumented switches.
6715 * opts.h (CL_UNDOCUMENTED): New.
6716 * opts.sh: Handle Undocumented.
6717 * toplev.c (documented_lang_options): Prevent its becoming empty.
6718objc:
6719 * lang-options.h: Remove.
6720
03988cac
UW
67212003-07-16 Ulrich Weigand <uweigand@de.ibm.com>
6722
6723 * loop.c (check_ext_dependent_givs): Pass const struct loop *
6724 instead of struct loop_info * as argument. Accept BIVs with
6725 increment +/- 1 provided there is a friendly exit test against
6726 a loop-invariant value.
6727 (strength_reduce): Adapt call to check_ext_dependent_givs.
6728
fada1961
R
67292003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
6730 Con Bradley <con.bradley@superh.com>
6731
6732 * sh-protos.h (sh_get_pr_initial_val): Declare.
6733 * sh.c (regno_reg_class): Make its elements type enum reg_class.
6734 (output_stack_adjust): Remove emit_fn argument. Add epilogue_p
6735 and live_regs_mask arguments. Changed all callers.
6736 (save_schedule_s): New structure.
6737 (save_schedule): New typedef.
6738 (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
6739 (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
6740 In interrupts handlers, also save registers that are usually
6741 partially saved, and make sure there is at least one general purpose
6742 register saved if a target register needs saving.
6743 Add casts in comparisons to avoid warnings.
6744 (sh_media_register_for_return): return -1 for interrupt handlers.
6745 (MAX_SAVED_REGS, MAX_TEMPS): New defines.
6746 (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
6747 registers used are available.
6748 Set RTX_FRAME_RELATED_P where appropriate.
6749 Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
6750 (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
6751 (initial_elimination_offset): Likewise.
6752 * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
6753 (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
6754 (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
6755 (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
6756 (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
6757 and for target registers.
6758 (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
6759 (regno_reg_class): Make its elements type enum reg_class.
6760 (CONSTRAINT_LEN): Don't use isdigit.
6761 (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
6762 (FUNCTION_ARG): Add parentheses to avoid warnings.
6763 (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
6764 (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
6765 (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
6766 (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
6767 * sh.md (xordi3+1): Remove unused variable regno.
6768 (return_media): Check that tr0 is available before using it.
6769
bae92bf3
NB
67702003-07-16 Neil Booth <neil@daikokuya.co.uk>
6771
6772 * c.opt: Document more options.
6773
cc8c96fd
RS
67742003-07-16 Roger Sayle <roger@eyesopen.com>
6775
6776 * combine.c (subst): Also handle (subreg (const_double ...)) case
6777 if created by a substitution, by using the original inner mode.
6778
d41ba56f
RS
67792003-07-16 Roger Sayle <roger@eyesopen.com>
6780
6781 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
6782 to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
6783 (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X.
6784
264d65c1 67852003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
78ff95dc 6786
264d65c1 6787 * doc/install.texi (--without-headers): New.
1622229c
AP
6788
6789 Partial Fix PR/10129
6790 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
6791 (machopic_output_function_base_name): New; print the true pic label.
6792 (machopic_classify_ident): Pic Base is always a defined data.
6793 * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
6794 * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
6795
db2f435b
AP
6796 * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
6797 if they are not floating point registers.
6798
d07605f5
AP
6799 PR c/10962
6800 * ggc.h: Add header guards.
6801 * c-decl.c (finish_struct): Sort fields if
6802 number greater than 15 and there are no
6803 anonymous structs/unions.
6804 * c-common.h: Include ggc.h.
6805 (sorted_fields_type): New struct.
6806 (field_decl_cmp): New prototype.
6807 (resort_sorted_fields): New prototype.
6808 (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
6809 * c-tree.h: (lang_type): Use pointer to sorted_fields_type
6810 as s, removing other fields.
6811 * c-typeck.c (lookup_field): Use s in lang_type.
6812 These were mostly moved from cp/class.c:
6813 * c-common.c (field_decl_cmp): New static function.
6814 (field_decl_cmp): New function.
6815 (resort_sorted_fields): New function.
6816
3d7964d5
GK
68172003-07-16 Geoffrey Keating <geoffk@apple.com>
6818
6819 * config/darwin.c (machopic_select_section): Use decl_readonly_section
6820 to do most of the work.
6821
4e58524e
HPN
68222003-07-16 Hans-Peter Nilsson <hp@bitrange.com>
6823
6824 * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
6825 * config/mmix/mmix.c: Convert functions to ISO C90.
27f35b75 6826 (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
4e58524e
HPN
6827 formatting.
6828 (mmix_get_hard_reg_initial_val): Tweak section head comment.
6829
1e0343dd
R
68302003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
6831
6832 * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
6833
fc4767bb
JJ
68342003-07-16 Jakub Jelinek <jakub@redhat.com>
6835
6836 * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
6837 (uw_update_context_1): Use it.
6838 * config/rs6000/rs6000.c (insn_after_throw): Remove.
6839 (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
6840 in parent frame if _Unwind_* called directly instead of through
6841 .plt.
6842 (rs6000_emit_eh_toc_restore): Remove.
6843 (rs6000_emit_prologue): Update stack pointer before doing any saving
6844 if current_function_calls_eh_return. Generate unwind info for $r2.
6845 (rs6000_emit_epilogue): Restore stack pointer after doing all
6846 restoring if current_function_calls_eh_return. Restore $r2.
6847 * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
6848 * config/rs6000/rs6000.md (eh_return): Remove call to
6849 rs6000_emit_eh_toc_restore.
6850 * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
6851 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
6852
6972c506
JJ
68532003-07-15 Jakub Jelinek <jakub@redhat.com>
6854
6855 * expr.c (emit_block_move): Don't move anything if size is const 0.
6856 (clear_storage): Test against const0_rtx instead of comparing INTVAL
6857 against 0.
6858
ac59ed37
DM
68592003-07-15 David S. Miller <davem@redhat.com>
6860
6861 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
6862 emit nop if the last real insn is CALL_INSN.
6863
b828d124
DS
68642003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
6865
6866 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
6867 as "nul".
6868 * config/i386/xm-mingw32.h: Change GNU CC to GCC.
6869
d5648e12
DS
68702003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
6871
6872 * config/i386/winnt.c (associated_type): Artificial methods are not
6873 affected by the import/export status of their class unless they are
6874 COMDAT.
6875 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
6876
6877 * config/i386/winnt.c: Fix GCC copyright comment.
6878
b0e3f7ec
GDR
68792003-07-16 Gabriel Dos Reis <gcc@integrable-solutions.net>
6880
6881 PR c++/11531
6882 * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
6883 not recursing on hard error.
6884 (diagnostic_for_decl): Likewise.
6885 * diagnostic.def: Rearrange.
6886
71628aa0
R
68872003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
6888
6889 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
6890 If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
6891
68922003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
6893 Richard Henderson <rth@redhat.com>
6894
6895 * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
6896 to decide if to access a _Unwind_Ptr or a _Unwind_Word.
6897 (_Unwind_SetGR): Likewise.
6898 (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
6899 (Unwind_SpTmp): New typedef.
6900 (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
6901 (uw_update_context): Use _Unwind_GetPtr.
6902 (init_dwarf_reg_size_table): Move above uw_init_context_1.
6903 (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
6904 Use _Unwind_SetSpColumn.
6905 (uw_install_context_1): Don't initialize dwarf_reg_size_table.
6906 Use _Unwind_GetPtr.
6907
5a170a05
NB
69082003-07-15 Neil Booth <neil@daikokuya.co.uk>
6909
6910 * c.opt: Document more options.
6911 * toplev.c (documented_lang_options): Remove all local help strings.
6912
b0afa2fc
MM
69132003-07-15 Mark Mitchell <mark@codesourcery.com>
6914
6915 PR debug/11473
6916 * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
6917 base classes.
6918
5df90541
KH
69192003-07-15 Kazu Hirata <kazu@cs.umass.edu>
6920
6921 PR target/10795
6922 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
6923 swap comparison operands if doing so would generate an
6924 unrecognizable insn.
6925
5a257872
EB
69262003-07-15 Eric Botcazou <ebotcazou@libertysurf.fr>
6927
6928 PR optimization/11320
6929 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
6930 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
6931 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
6932 current_sched_info->compute_jump_reg_dependencies. Record which
6933 registers are used and which registers are set by the jump.
6934 Clear deps->reg_conditional_sets after a barrier.
6935 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
6936 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
6937 (init_deps): Initialize reg_conditional_sets.
6938 (free_deps): Clear reg_conditional_sets.
6939 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
6940 Mark registers live on entry of the fallthrough block and conditionally
6941 set as set by the jump. Mark registers live on entry of non-fallthrough
6942 blocks as used by the jump.
6943 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
6944 Mark new parameters as unused.
6945
3cec3f83
RS
69462003-07-15 Richard Sandiford <rsandifo@redhat.com>
6947
6948 * doc/invoke.texi: Resync MIPS -march documentation.
6949
98450f0d
RS
69502003-07-15 Richard Sandiford <rsandifo@redhat.com>
6951
6952 * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
6953 (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
6954 (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
6955 * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
6956 (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
6957 (mips_issue_rate): Handle PROCESSOR_R9000.
6958 (mips_use_dfa_pipeline_interface): Likewise.
6959 * config/mips/9000.md: New file.
6960 * config/mips/mips.md: Include it.
6961 (define_attr cpu): Add r9000.
6962 (mulsi3_mult3): Use "mul" for rm9000 code.
6963
5fe25f47
SC
69642003-07-15 Stan Cox <scox@redhat.com>
6965
6966 * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
6967 (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
6968 (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
6969 * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
6970 (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
6971 (mips_issue_rate): Handle PROCESSOR_R7000.
6972 (mips_use_dfa_pipeline_interface): Likewise.
6973 * config/mips/7000.md: New file.
6974 * config/mips/mips.md: Include it.
6975 (define_attr cpu): Add r7000.
6976 (mulsi3_mult3): Use "mul" for rm7000 code.
6977
5a2515e6
RS
69782003-07-15 Richard Sandiford <rsandifo@redhat.com>
6979
6980 * config/mips/mips.md (define_attr type): Add condmove. Use it for
6981 the conditional move patterns.
6982 * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
6983 Check for condmove type.
6984 (ir_vr54_arith): Add move type.
6985 * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
6986 * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
6987
72de27ea
NB
69882003-07-15 Neil Booth <neil@daikokuya.co.uk>
6989
6990 * c-opts.c (print_help): Remove.
6991 (c_common_handle_option): Don't handle --help.
6992 * c.opt: Document some options.
6993 (--help): Remove.
6994 * opts.c (print_filtered_help): New.
6995 (print_help): Use it.
6996
e6ebd07b
GK
69972003-07-14 Geoffrey Keating <geoffk@apple.com>
6998
2d799c09
GK
6999 * c-common.c (c_common_type_for_mode): Handle V4DFmode.
7000 * tree.c: (build_common_tree_nodes_2): Likewise.
7001 * tree.h (enum tree_index): Add TI_V4DF_TYPE.
7002 (V4DF_type_node): New.
7003
e6ebd07b
GK
7004 * c-opts.c (push_command_line_include): Don't free deferred_opts,
7005 we'll need it.
7006 (finish_options): Reset init_cursor.
7007
b90f141a
KH
70082003-07-15 Kazu Hirata <kazu@cs.umass.edu>
7009
7010 * expr.c (expand_assignment): Remove an unused argument
7011 SUGGEST_REG.
7012 * expr.h: Update the prototype.
7013 * function.c: Update the callers.
7014 * stmt.c: Likewise.
7015
1e7ee6ad
MM
70162003-07-14 Mark Mitchell <mark@codesourcery.com>
7017
7018 PR debug/11098
7019 * integrate.c (copy_decl_for_inlining): Do not mark copied decls
7020 as DECL_ABSTRACT.
7021
bf66f7b0
NN
70222003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
7023
7024 * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
7025 with __cplusplus, not "we must use the C++ compiler's type"
7026 * fixinc/inclhack.def (void_null): Note that Interix needs this.
7027 * fixinc/fixincl.x: Regenerate.
7028
18009d03
GK
70292003-07-14 Geoffrey Keating <geoffk@apple.com>
7030
ea00486e
GK
7031 * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
7032 and unseen_objects from the global data before calling
7033 __deregister_frame_info_bases.
7034 (examine_objects): Insert objects into the seen_objects list,
7035 not unseen_objects.
7036 (_Unwind_Find_FDE): Always unlock the global object lists, even if
7037 we couldn't allocate a data structure to put in it.
7038
18009d03
GK
7039 * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
7040 (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
7041 (SET_TYPE_PROTOCOL_LIST): New.
7042 * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
7043 (get_object_reference): Likewise.
7044
602a82f3 70452003-07-14 Jan Hubicka <jh@suse.cz>
9ae130f8
JH
7046
7047 * cfglayout.c (locator_file): Break out from ....
7048 (insn_file): ... here.
7049 (locator_line): Break out from ....
7050 (insn_line): ... here.
7051 * rtl.h (locator_file, locator_line): Declare.
7052 (final_start_function): Set proper line/file info.
7053
e07d4821
GDR
70542003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
7055
7056 * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
7057 handled by pp_c_cast_expression.
7058
121d69e6
RS
70592003-07-14 Richard Sandiford <rsandifo@redhat.com>
7060
7061 * config/mips/mips.c (mips_expand_prologue): Use a single insn to
7062 allocate 32768 bytes of stack. Use addition rather than subtraction
7063 when a single insn is enough.
7064 * config/mips/mips.md: Remove insns and splitters for subtracting
7065 constants.
7066 (subsi3): Only accept register operands.
7067 (subsi3_internal): Likewise. Use for TARGET_MIPS16 as well.
7068 (subdi3_internal_3, subsi3_internal_2): Likewise.
7069 (casesi): Use expand_binop to subtract the lower bound.
7070
3485245e
RS
70712003-07-14 Richard Sandiford <rsandifo@redhat.com>
7072
7073 * config/mips/mips.c (mips_in_small_data_p): Don't handle
7074 TARGET_MIPS16 specially.
7075
6627b7f9
RS
70762003-07-14 Richard Sandiford <rsandifo@redhat.com>
7077
6d0b50a4
RS
7078 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
7079 mips_output_aligned_bss.
7080 * config/mips/linux.h: Likewise.
7081 * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
7082 * config/mips/mips.c (mips_output_aligned_bss): New function.
7083
8d50bd19
RS
7084 * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
7085 * config/mips/elf64.h: Likewise.
7086
c1115ccd
RS
7087 * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
7088 mips_declare_object_name.
7089 (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
7090 * config/mips/elf64.h: As for elf.h.
7091 * config/mips/iris6.h: Likewise.
7092 * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
7093 * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
7094 do...while (0) block.
7095 * config/mips/mips-protos.h (mips_declare_object_name): Declare.
7096 (mips_finish_declare_object): Declare.
7097 * config/mips/mips.c (mips_declare_object_name): New function.
7098 (mips_finish_declare_object): New function.
7099
060ff934
RS
7100 * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
7101 * config/mips/linux.h: Likewise.
7102
d82783b6
RS
7103 * config/mips/mips.c (inside_function): Delete.
7104 (file_in_function_warning, ignore_line_number): Delete.
7105 (mips_output_filename): Don't warn about changing filenames within
7106 a function.
7107 (mips_output_lineno): Update accordingly.
7108 (mips_output_function_prologue): Don't reset the deleted variables.
7109 * config/mips/mips.h (inside_function): Delete.
7110 (file_in_function_warning, ignore_line_number): Delete.
7111
373f8df7
RS
7112 * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
7113 * config/mips/elf64.h: Likewise.
7114 * config/mips/openbsd.h: Likewise.
7115 * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
7116 * config/mips/linux.h: Likewise.
7117 * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
7118 (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
7119
6627b7f9
RS
7120 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
7121 to the list of include files when using gas.
7122 (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
7123 * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
7124 * config/mips/elf64.h: Likewise.
7125 * config/mips/iris5.h: Likewise.
7126 * config/mips/linux.h: Likewise.
7127 * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
7128 * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
7129 (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
7130 * config/mips/sdb.h: ...this new file.
7131
c18b00c0
NN
71322003-07-14 Douglas Rupp <rupp@gnat.com>
7133
7134 * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
7135 argument to getcwd; use fixed buffer instead.
7136
71372003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
7138
7139 * fixinc/mkfixinc.sh: Treat OpenBSD normally.
7140 * fixinc/fixinc.wrap: Delete.
7141
adc4adcd
GP
71422003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
7143
7144 * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
7145 don't have 2.
7146
71472003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
7148
7149 * ggc-page.c (struct globals): Add new fields to keep track of the
7150 total allocated memory and overhead.
7151 (ggc_print_statistics): Print them.
7152 (ggc_alloc): Keep track of the total allocated memory and the
7153 overhead.
7154
7155 * tree.c (dump_tree_statistics): Increase spacing.
7156 (enum tree_node_kind): Move to ...
7157 * tree.h (enum tree_node_kind): ... here.
7158 (tree_node_counts, tree_node_sizes): Declare.
7159
71602003-07-14 James A. Morrison <ja2morri@student.math.uwaterloo.ca>
7161
7162 * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
7163
bbd288a4
FS
71642003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7165
7166 PR optimization/11440
7167 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
7168 SIGN_EXTRACT SETs.
7169
6e985040
AM
71702003-07-14 Alan Modra <amodra@bigpond.net.au>
7171
7172 * doc/tm.texi (BLOCK_REG_PADDING): Describe.
7173 * expr.h (struct locate_and_pad_arg_data): Add where_pad.
7174 (emit_group_load, emit_group_store): Adjust declarations.
7175 Remove most occurrences of #ifdef TREE_CODE.
7176 * expr.c (emit_group_load): Add "type" param, and use
7177 BLOCK_REG_PADDING to determine need for a shift. Optimize non-
7178 aligned accesses if !SLOW_UNALIGNED_ACCESS.
7179 (emit_group_store): Likewise.
7180 (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
7181 emit_group_load and emit_group_store calls.
7182 * calls.c (store_unaligned_arguments_into_pseudos): Tidy. Use
7183 BLOCK_REG_PADDING to determine whether we need endian_correction.
7184 (load_register_parameters): Localize vars. Handle shifting of
7185 small values to the correct end of regs. Adjust emit_group_load
7186 call.
7187 (expand_call, emit_library_call_value_1): Adjust emit_group_load
7188 and emit_group_store calls.
7189 * function.c (assign_parms): Set mem alignment for stack slots.
7190 Adjust emit_group_store call. Store values at the "wrong" end
7191 of regs to the stack. Use BLOCK_REG_PADDING.
7192 (locate_and_pad_parm): Save where_pad.
7193 (expand_function_end): Adjust emit_group_load call.
7194 * stmt.c (expand_value_return): Adjust emit_group_load call.
7195 * Makefile.in (calls.o): Depend on $(OPTABS_H).
7196 * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
7197 (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
7198 (MUST_PASS_IN_STACK): Define.
7199 (BLOCK_REG_PADDING): Define.
7200 * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
7201 (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
7202 * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
7203 (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
7204 Act on AGGREGATES_PAD_UPWARD_ALWAYS.
7205
4fab535e
AL
72062003-07-13 Aaron W. LaFramboise <awlaframboise@aol.com>
7207
7208 * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
7209
8d2e5f72
RK
72102003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7211
7212 * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
7213 both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
7214
7eaab492
NN
72152003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
7216
7217 PR other/11123
7218 * toplev.c: Don't cut off option names.
7219
9d4a30f2
AJ
72202003-07-13 Andreas Jaeger <aj@suse.de>
7221
7222 * c-decl.c (link_hash_hash): Avoid warning about casting pointer
7223 to integer of different size.
7224
34ed3bb0
KH
72252003-07-13 Kazu Hirata <kazu@cs.umass.edu>
7226
7227 * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
7228 to (eq (and X 1) 0).
7229
1a7d0840
AJ
72302003-07-13 Andreas Jaeger <aj@suse.de>
7231
7232 * config.gcc: Add pmmintrin.h for x86_64-*-*.
7233
43839642
ZW
72342003-07-13 Zack Weinberg <zack@codesourcery.com>
7235
7236 * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
7237 (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
7238 list. Move these all together down by cpplib.
7239
7240 * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
7241 definition of CPPCHAR_SIGNED_T.
7242
7243 * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
7244 * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
7245 * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
7246
7247 * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
7248 * cppinit.c (cpp_create_reader): Likewise.
7249
7250 * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
7251 * cpptrad.c: Likewise. All callers changed.
7252 * cpplib.c: All callers changed.
7253 * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
7254 * hashtable.h: Define GTY(x) to nothing here too.
7255
0acf4f88
RK
72562003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7257
7258 * stor-layout.c (compute_record_mode): Remove very obsolete test
7259 that forces BLKmode for records with fields crossing word boundary.
7260
46db61e7
ZW
72612003-07-13 Zack Weinberg <zack@codesourcery.com>
7262
7263 * Makefile.in: Remove orphan reference to acconfig.h.
7264
db0e878d
AJ
72652003-07-13 Andreas Jaeger <aj@suse.de>
7266
7267 * cgraphunit.c: Convert prototypes to ISO C90.
7268
4146d8d0
NN
72692003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
7270
7271 * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
7272 (for OpenBSD).
7273 * fixinc/fixincl.x: Rebuild.
7274
6f3ca281
ZW
72752003-07-12 Zack Weinberg <zack@codesourcery.com>
7276
7277 * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
7278 i?86-*-*. Use correct name of cache variable.
7279 * configure: Regenerate.
7280
9a9f7594
KH
72812003-07-12 Kazu Hirata <kazu@cs.umass.edu>
7282
7283 * config/alpha/alpha.c: Fix comment typos.
7284 * config/alpha/alpha.md: Likewise.
7285 * config/arm/arm.c: Likewise.
7286 * config/arm/arm.md: Likewise.
7287 * config/arm/lib1funcs.asm: Likewise.
7288 * config/avr/avr.md: Likewise.
7289 * config/arm/README-interworking: Fix typos.
7290
4ed43216
KH
72912003-07-12 Kazu Hirata <kazu@cs.umass.edu>
7292
7293 * c-format.c: Fix comment formatting.
7294 * c-typeck.c: Likewise.
7295 * coverage.c: Likewise.
7296 * cppcharset.c: Likewise.
7297 * cpplib.c: Likewise.
7298 * dbxout.c: Likewise.
7299 * gcov-io.h: Likewise.
7300 * toplev.c: Likewise.
7301
c3a5b1e9
NN
73022003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
7303
6f3ca281 7304 * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
c3a5b1e9
NN
7305 fix.
7306
8ada417f
ZW
73072003-07-12 Zack Weinberg <zack@codesourcery.com>
7308
7309 * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
7310 uses three-argument AC_DEFINE so no acconfig.h entries are
7311 needed.
7312 (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
7313 which contains the GAS version number as a scaled integer.
7314 (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers. Add
7315 ability to check for ELF assembler.
7316 (gcc_GAS_CHECK_FEATURE): New macro.
7317 * configure.in: Use gcc_AC_CHECK_TYPE. Rewrite all
7318 assembler feature checks using gcc_GAS_CHECK_FEATURE.
7319 Use three-argument AC_DEFINE everywhere.
7320 * acconfig.h: Deleted.
7321 * config.in, configure: Regenerate.
7322
d5d16b5f
NN
73232003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
7324
3b57c563
NN
7325 * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
7326 (on OpenBSD).
d33fb69b 7327 * fixinc/fixincl.x: Regenerate.
3b57c563 7328
d5d16b5f
NN
7329 * fixinc/inclhack.def (gnu_types): Improve comment.
7330
439f7bc3
AJ
73312003-07-12 Andreas Jaeger <aj@suse.de>
7332
7333 * fp-test.c (main): Use ISO C90 prototype.
7334
7335 * version.c: Remove unneded include of ansidecl.h.
7336
7337 * cgraph.h: Convert prototypes to ISO C90.
7338 * cgraph.c: Likewise.
7339 * fix-header.c: Likewise.
7340 * ra.h: Likewise.
7341 * protoize.c: Likewise.
7342
602a82f3 73432003-07-12 Jan Hubicka <jh@suse.cz>
1a5c5701
JH
7344
7345 * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
7346 warning.
7347
602a82f3 73482003-07-12 Jan Hubicka <jh@suse.cz>
b58b1157
JH
7349 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7350
7351 * cgraph.c (cgraph_max_uid): New global variable.
7352 (cgraph_node): Set uid field.
7353 (create_edge): Keep inline flags consistent.
7354 (dump_cgraph): Dump more info.
7355 * cgraph.h (struct cgraph_local_info): Remove inline_many and
7356 can_inline_once; add inlinable, disgread_inline_limits, and self_insn
7357 (struct cgraph_global_info): Add insns, calls, cloned_times,
7358 will_be_output.
7359 (struct cgraph_node): Add uid.
7360 (struct cgraph_edge): Add inline_call.
7361 (cgraph_max_uid, cgraph_inline_p): Declare.
7362 * cgraph.c: Include params.h and fibheap.h
7363 (cgraph_mark_functions_to_inline_once): Kill.
7364 (INSNS_PER_CALL): New constant.
7365 (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
7366 static variables.
7367 (cgraph_finalize_function): Do not analyze inlining.
7368 (cgraph_finalize_compilation_unit): Set inlining attributes.
7369 (cgraph_mark_functions_to_output): More consistency checks.
7370 (cgraph_optimize_function): Set current_function_decl to NULL.
7371 (cgraph_expand_function): Use new inline flags.
7372 (cgraph_postorder): Expand from cgraph_expand_functions.
7373 (INLINED_TIMES, SET_INLINED_TIMES): New macros.
7374 (cgraph_inlined_into, cgraph_inlined_callees,
7375 cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
7376 cgraph_mark_inline, cgraph_check_inline_limits,
439f7bc3 7377 cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
b58b1157
JH
7378 cgraph_decide_inlining, cgraph_inline_p): New functions.
7379 * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
7380 PARAM_INLINE_UNIT_GROWTH): New parameters.
7381 * tree-inline.c (struct inline_data): New field current_decl.
7382 (expand_call_inline): Avoid forward declarations; use
7383 inlinable_function_p.
7384 (optimize_inline_calls): Set id.current_decl.
7385
27b8e366
AP
73862003-07-11 Andrew Pinski <pinskia@physics.uc.edu>
7387
7388 * configure.in: Remove wrongly added definition of
7389 local_prefix.
7390 * configure: Regenerate.
7391
80fa0b4c
DN
73922003-07-11 Dan Nicolaescu <dann@ics.uci.edu>
7393
7394 * rtl.def (NOTE): Do not use padding.
7395
1ea6f4c8
DH
73962003-07-11 Dara Hazeghi <dhazeghi@yahoo.com>
7397
7398 * doc/install.tex: Update required binutils for i?86-*-linux*
7399
ed2d8944
RH
74002003-07-11 Richard Henderson <rth@redhat.com>
7401
7402 * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
7403
a44cea75
MM
74042003-07-11 Mark Mitchell <mark@codesourcery.com>
7405
7406 * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
7407 TRANSLATION_UNIT_DECL as top_level.
7408
358b8f01
JJ
74092003-07-11 Jakub Jelinek <jakub@redhat.com>
7410
7411 * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
7412 then fall back to cmpstrM.
7413 * builtins.c (expand_builtin_memcmp): Likewise.
7414 * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
7415 (s390_expand_cmpmem): ... this.
7416 * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
7417 cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
7418 from cmpstr* patterns. Rename call to s390_expand_cmpstr
7419 to s390_expand_cmpmem.
7420 * config/s390/s390.c (s390_expand_cmpstr): Rename to...
7421 (s390_expand_cmpstr): ... this. Rename cmpstr* instructions
7422 to cmpmem*.
7423 * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
7424 cmpstr* patterns.
7425 * doc/md.texi (cmpstrM): Describe as String compare insn, not
7426 Block compare insn.
7427 (cmpmemM): Add.
7428
8634e925
LR
74292003-07-11 Loren James Rittle <ljrittle@acm.org>
7430
7431 * config/i386/freebsd.h (SET_ASM_OP): Remove.
7432 (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
7433 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
7434 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
7435
48144cd4
RH
74362003-07-11 Richard Henderson <rth@redhat.com>
7437
7438 * function.c (assign_parms): Don't recombine complex args if
7439 fnargs is unchanged from orig_fnargs.
7440 (split_complex_args): Return args without complex before copying.
7441 Re-layout the modified parameters.
7442
fee226d2
R
74432003-07-11 J"orn Rennecke <joern.rennecke@superh.com>
7444
7445 * regclass.c (choose_hard_reg_mode): Add third argument.
7446 Changed all callers.
7447 * rtl.h (choose_hard_reg_mode): Update declaration.
7448 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
7449 Take HARD_REGNO_CALL_PART_CLOBBERED into account.
7450
d1bd0ded
GK
74512003-07-11 Geoffrey Keating <geoffk@apple.com>
7452
7453 * c-decl.c (finish_decl): Handle 'used' here...
7454 * cgraphunit.c (cgraph_finalize_function): ... and here ...
7455 * c-common.c: (handle_used_attribute): ... not here.
439f7bc3 7456
d1bd0ded
GK
7457 * configure.in (onstep): Support --enable-intermodule.
7458 * Makefile.in (OBJS-common): New.
7459 (OBJS-md): New.
7460 (OBJS-archive): New.
7461 (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
7462 (OBJS-onestep): New.
7463 (libbackend.a): Support @onestep@.
7464 (libbackend.o): New.
7465 * configure: Regenerate.
439f7bc3 7466
d1bd0ded
GK
7467 * c-common.h (c_reset_state): New prototype.
7468 (c_parse_file): New prototype.
7469 (finish_file): Move prototype from c-tree.h.
7470 * c-decl.c: Include <hashtab.h>.
7471 (builtin_decls): New.
7472 (current_file_decl): New.
7473 (duplicate_decls): Add extra parameter. Change all callers. Don't
7474 output duplicate common symbols.
7475 (link_hash_hash): New.
7476 (link_hash_eq): New.
7477 (poplevel): Handle popping of the top level.
7478 (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
7479 (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
7480 (pushdecl_top_level): Likewise.
7481 (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
7482 (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
7483 (finish_decl): Handle TRANSLATION_UNIT_DECL.
7484 (merge_translation_unit_decls): New.
7485 (c_write_global_declarations): New.
7486 (c_reset_state): New.
7487 (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
7488 * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
7489 * c-objc-common.c (c_cannot_inline_tree_fn): Handle
7490 TRANSLATION_UNIT_DECL.
7491 (c_objc_common_finish_file): Call merge_translation_unit_decls.
7492 * c-opts.c (in_fnames): Rename from in_fname.
7493 (c_common_decode_option): Handle multiple input filenames.
7494 (c_common_post_options): Likewise.
7495 (c_common_parse_file): Likewise; also, call c_parse_file rather than
7496 yyparse.
7497 * c-parse.in: Move cleanup code to c_parse_file.
7498 (free_parser_stacks): Move contents to c_parse_file.
7499 (c_parse_file): New.
7500 * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
7501 for integer types.
7502 (C_DECL_FILE_SCOPE): New.
7503 (finish_file): Move prototype to c-common.h.
7504 (merge_translation_unit_decls): New prototype.
7505 (comptypes): Add extra parameter to prototype.
7506 (c_write_global_declarations): New prototype.
7507 * c-typeck.c (tagged_types_tu_compatible_p): New.
7508 (function_types_compatible_p): Add extra parameter, change all callers.
7509 (type_lists_compatible_p): Likewise.
7510 (comptypes): Likewise.
7511 (struct tagged_tu_seen): New.
7512 (tagged_tu_seen_base): New.
7513 (build_unary_op): Handle TRANSLATION_UNIT_DECL.
7514 (c_mark_addressable): Remove #if 0 code.
7515 * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
7516 comment explaining why it shouldn't have to.
7517 * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
7518 options.
7519 * cppinit.c (cpp_read_next_file): New.
7520 (cpp_read_main_file): Use it.
7521 * cpplib.c (undefine_macros): New.
7522 (cpp_undef_all): New.
7523 * cpplib.h (cpp_read_next_file): Prototype.
7524 (cpp_undef_all): Prototype.
7525 * langhooks-def.h (write_global_declarations): Remove prototype.
7526 * toplev.h (write_global_declarations): Add prototype.
7527 * tree.c (decl_type_context): Use switch statement, handle
7528 TRANSLATION_UNIT_DECL.
7529 * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
7530 (TRANSLATION_UNIT_DECL): New kind of tree.
7531 * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
7532 * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
7533 * doc/invoke.texi: Make attempt to document new functionality.
7534
7535 2003-05-19 Per Bothner <bothner@apple.com>
7536
7537 * gcc.c (combine_inputs): New.
7538 (process_command): Set combine_inputs.
7539 (do_spec_1): Handle combine_inputs.
7540 (main): Likewise.
7541
ac8354b1
JW
75422003-07-10 James E Wilson <wilson@tuliptree.org>
7543
7544 PR optimization/9745
7545 * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
7546 loop_insn_emit_before.
7547 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
439f7bc3 7548
dea55da5
ZW
75492003-07-10 Zack Weinberg <zack@codesourcery.com>
7550
7551 * cppcharset.c: Fix comment.
7552 (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
7553 (EILSEQ): #define to EINVAL if not already defined.
7554 (convert_using_iconv): #if out when !HAVE_ICONV.
7555 (init_iconv_desc): Handle !HAVE_ICONV here...
7556 (cpp_init_iconv): ...not here.
7557
f3fdaec4
NB
75582003-07-11 Neil Booth <neil@daikokuya.co.uk>
7559
7560 * common.opt: More --help messages.
7561 * opts.c (print_help): Use puts().
7562 * toplev.c (f_options): Remove help text.
7563 (display_help): Don't dump f_options.
7564
7ebbf1ea
NN
75652003-07-11 Nathanael Nerode <neroden@gcc.gnu.org>
7566
7567 * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
7568 Move i?86-*-interix* to the don't-fix list.
7569 * fixinc/fixinc.interix: Delete with extreme prejudice.
7570
959a73a4
DH
75712003-07-10 Dara Hazeghi <dhazeghi@yahoo.com>
7572
7573 PR bootstrap/10758
7574 * doc/install.texi: Document requirements for ia64-*-hpux* target.
7575
9959901c
RS
75762003-07-10 Roger Sayle <roger@eyesopen.com>
7577
7578 * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
7579
6b88314c
ZW
75802003-07-10 Zack Weinberg <zack@codesourcery.com>
7581
7582 * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
7583 one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
7584 one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
7585 convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
7586 convert_no_conversion, convert_using_iconv): New functions.
7587 (APPLY_CONVERSION): New macro.
7588 (struct conversion, conversion_tab): New data structure.
7589 (init_iconv_desc): Check conversion_tab for a custom conversion
7590 primitive before trying to use iconv.
7591 (convert_cset): Deleted.
7592 (cpp_init_iconv): Use UTF- terminology, not UCS-.
7593 (_cpp_destroy_iconv): Update to match.
7594 (_cpp_valid_ucn): We don't need iconv to implement UCNs.
7595 (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
7596 (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
7597 (_cpp_interpret_string_notranslate): New function, moved here
7598 from cpplib.c.
7599
7600 * cpphash.h (convert_f, struct cset_converter): New types.
7601 (struct cpp_reader): narrow_cset_desc and wide_cset_desc
7602 are now struct cset_converter, not bare iconv_t.
7603 Update prototypes.
7604 * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
7605 all callers changed.
7606
38f4680f 76072003-07-10 Kelley Cook <kelleycook@wideopenwest.com>
6b88314c 7608
38f4680f
KC
7609 * Makefile.in (options.h): Depend on Makefile. Add move-if-change
7610 to opts.sh command line.
7611 * opts.sh: Write to temporary files with a move-if-change at the end.
7612
2a868fac 76132003-07-10 Denis Chertykov <denisc@overta.ru>
6b88314c 7614 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9db367b4
DC
7615
7616 * combine.c (gen_binary): Handle the CLOBBER rtx and
7617 don't build a binary operation with it.
7618
3b14e3af
ZD
76192003-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7620
7621 * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
7622 store_killed_after, store_killed_before): Keep track of the correct
7623 dependency function to use.
7624
a9189cc0
SB
76252003-07-10 Steven Bosscher <steven@gcc.gnu.org>
7626 * toplev.c (do_compile): Don't try to open dump files before
7627 lang_dependent_init initializes dump_base_name.
7628
e97a46ce
KG
76292003-07-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7630
7631 * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
7632 Use ARRAY_SIZE.
7633 * config/frv/frv.c (frv_expand_builtin): Likewise.
7634 * config/sh/sh.c (sh_media_init_builtins): Likewise.
7635
4a386498
MM
76362003-07-09 Mark Mitchell <mark@codesourcery.com>
7637
7638 PR c++/10032
7639 * doc/invoke.texi (C++ Dialect Options): Change documentation of
7640 -fpermissive.
7641
1e60c057
R
76422003-07-10 J"orn Rennecke <joern.rennecke@superh.com>
7643
7644 * tm.texi (RETURN_ADDR_OFFSET): Document.
7645
330d2e2a
NS
76462003-07-10 Nathan Sidwell <nathan@codesourcery.com>
7647
7648 * gcov-io.h: Update documentation.
7649 (GCOV_UNSIGNED2STRING): New.
7650 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
7651 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
7652 GCOV_TAG_SUMMARY_LENGTH): Adjust.
7653 (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
7654 GCOV_TAG_COUNTER_NUM): New.
7655 (GCOV_BLOCK_SIZE): Number of words.
7656 (gcov_var): Adjust buffer type.
7657 * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
7658 (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
7659 count, not byte count.
7660 (gcov_open): Adjust overread init.
7661 (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
7662 gcov_write_string, gcov_write_tag, gcov_write_length,
7663 gcov_write_tag_length): Adjust.
7664 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
7665 (gcov_sync, gcov_seek): Adjust.
7666 * gcov-dump.c (print_usage): Show gcc version only.
7667 (dump_file): Use GCOV_UNSIGNED2STRING.
7668 (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
7669 * gcov.c (print_version): Show gcc version only.
7670 (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
7671 GCOV_TAG_*_NUM macros.
7672 (read_count_file): Use GCOV_UNSIGNED2STRING. Use
7673 GCOV_TAG_COUNTER_LENGTH.
7674 * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
7675 Use GCOV_TAG_COUNTER_NUM.
7676 * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
7677 (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
7678
3dbb446e
AS
76792003-07-10 Andreas Schwab <schwab@suse.de>
7680
7681 * gcov-dump.c (dump_file): Fix missing address operator.
7682
11791dbc
KH
76832003-07-10 Kazu Hirata <kazu@cs.umass.edu>
7684
7685 PR c/11449
7686 * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
7687 of HOST_WIDE_INT.
7688 (fold_single_bit_test): If sign_bit_p() fails, assume that the
7689 bit being tested is not a sign bit.
7690
ae12c666
KH
76912003-07-10 Kazu Hirata <kazu@cs.umass.edu>
7692
7693 * config/h8300/h8300.md (a peephole2): New.
7694
2beef00e
AO
76952003-07-10 Alexandre Oliva <aoliva@redhat.com>
7696
7697 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
7698 * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
7699 from ld-linux.so.2 to ld.so.1.
7700 2001-11-18 Alexandre Oliva <aoliva@redhat.com>
7701 * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
7702 * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
7703 nor -Wl,-rpath-link.
7704 (LIB_SPEC): Add -rpath-link if !static.
7705 2001-08-22 Alexandre Oliva <aoliva@redhat.com>
7706 * config/mn10300/mn10300.c (mn10300_protect_label): New
7707 variable.
7708 * config/mn10300/linux.h (PRINT_OPERAND,
7709 PRINT_OPERAND_ADDRESS): Set it during their execution.
7710 (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
7711 mn10300_protect_label is set.
7712 * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
7713 -Wl,-rpath-link.
7714 (LIB_SPEC, STARTFILE_SPEC): Define.
7715 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
7716 * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
7717 FLOAT_BIT_ORDER_MISMATCH.
7718 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
7719 * config.gcc (am33_2.0-*-linux*): Added.
7720 * config/mn10300/linux.h: New.
7721 * config/mn10300/t-linux: New.
7722
75040a04
AJ
77232003-07-10 Andreas Jaeger <aj@suse.de>
7724
7725 * fold-const.c: Properly wrap prototypes.
7726
d1776069
AO
77272003-07-09 Alexandre Oliva <aoliva@redhat.com>
7728
7729 2003-06-16 Alexandre Oliva <aoliva@redhat.com>
7730 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
7731 Moved from...
7732 * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
7733 * config/mn10300/mn10300.h: GTY-declare it.
7734 2003-06-11 Alexandre Oliva <aoliva@redhat.com>
7735 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
7736 prototype. Use incoming RTL argument.
7737 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
7738 * config/mn10300/mn10300.md (int_label): Move C statements...
7739 (GOTaddr2picreg): ... here.
7740 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
7741 * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
7742 * config/mn10300/mn10300.c (mn10300_encode_section_info):
7743 ... here. New function.
7744 (TARGET_ENCODE_SECTION_INFO): Define to it.
7745 2001-11-04 Alexandre Oliva <aoliva@redhat.com>
7746 * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
7747 pattern name.
7748 (mn10300_loadPC): Define as insn splittable after reload.
7749 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
7750 * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
7751 be defined in .rodata even in PIC, now that the assembler
7752 supports that.
7753 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
7754 * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
7755 symbol take an underscore prefix.
7756 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
7757 * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
7758 legitimize_pic_address): Declare.
7759 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
7760 the PIC register as fixed.
7761 (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
7762 (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
7763 PIC.
7764 (LEGITIMATE_PIC_OPERAND_P): Define.
7765 (PIC_OFFSET_TABLE_REGNUM): Define.
7766 (GOT_SYMBOL_NAME): Define.
7767 (SYMBOLIC_CONST_P): Define.
7768 (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
7769 symbols.
7770 (MN10300_GLOBAL_P): Test it.
7771 (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
7772 (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
7773 * config/mn10300/mn10300.c (print_operand): Handle unspec.
7774 (expand_prologue): Set PIC register.
7775 (call_address_operand): Don't match SYMBOL_REFs in PIC.
7776 (legitimize_address): Call legitimize_pic_address.
7777 (legitimize_pic_address): New fn.
7778 (legitimate_pic_operand_p): New fn.
7779 * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
7780 (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
7781 UNSPEC_PLT): New constants.
7782 (pop_pic_reg): New insn.
7783 (movsi): Adjust non-PIC addresses.
7784 (builtin_setjmp_receiver): Restore the PIC register.
7785 (casesi): New insn.
7786 (call): Adjust non-PIC addresses.
7787 (int_label, GOTaddr2picreg): New expands.
7788 (am33_loadPC): New insn.
7789 (mn10300_loadPC): New expand.
7790 (call_next_insn): New insn.
7791 (add_GOT_to_pic_reg): New expand.
7792 (symGOT2reg, symGOT2reg_i): New expands.
7793 (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
7794 (sym2PIC, sym2PLT): New expands.
7795
18e9d2f9
AO
77962003-07-09 Alexandre Oliva <aoliva@redhat.com>
7797
7798 * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
7799 2001-05-01 Alexandre Oliva <aoliva@redhat.com>
7800 * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
7801 to flag_unsafe_math_optimizations.
7802 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
7803 * config/mn10300/mn10300.c (expand_prologue): Mark
7804 FP-register-saving insns as frame-related.
7805 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
7806 * config/mn10300/mn10300.c
7807 (mn10300_get_live_callee_saved_regs): Don't search past
7808 LAST_EXTENDED_REGNUM.
7809 (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
7810 * config/mn10300/mn10300.md: Remove excessive line breaks from
7811 `@' output patterns that were accounted as additional
7812 alternatives.
7813 * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
7814 Re-introduce changes accidentally removed in Richard Sandiford's
7815 2000-12-05's patch.
7816 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
7817 Re-instate am33-2 lost in merge from net GCC.
7818 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
7819 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
7820 floating-point registers.
7821 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
7822 * config/mn10300/mn10300.md (movdf): Revert some am33-specific
7823 pessimizations that had gone in on 2000-05-08.
7824 2000-06-28 Graham Stott <grahams@cygnus.co.uk>
7825 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
7826 2000-06-22 Graham Stott <grahams@cygnus.co.uk>
7827 * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
7828 operand 0.
7829 * (movhi): Likewise.
7830 * (movsi): Likewise.
7831 * (movsf): Likewise.
7832 * (movdi): Likewise.
7833 * (movdf): Likewise.
602a82f3 7834 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
18e9d2f9
AO
7835 * config/mn10300/mn10300.c (fp_regs_to_save): New function.
7836 (can_use_return_insn, initial_offset): Add fp_regs_to_save.
7837 (expand_prologue, expand_epilogue): Save and restore FP regs.
7838 2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
7839 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
7840 2000-05-13 Alexandre Oliva <aoliva@cygnus.com>
7841 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
7842 subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
7843 Do not clobber cc0.
7844 2000-05-12 Alexandre Oliva <aoliva@cygnus.com>
7845 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
7846 Discourage the two-argument, longer opcodes.
7847 (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
7848 ones.
7849 * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
7850 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
7851 * config/mn10300/mn10300.md (cmpsf): New pattern.
7852 (branch): Test mdep.fpCC and output fbCC.
7853 * config/mn10300/mn10300.c (print_operand): Output conditions.
7854 (notice_cc_update): Recognize fcmp and set mdep.fpCC.
7855 2000-05-10 Alexandre Oliva <aoliva@cygnus.com>
7856 * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
7857 mulsf3, divsf3): Use the `F' constraint for FP values.
7858 * config/mn10300/mn10300.c (const_1f_operand): New function.
7859 * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
7860 * config/mn10300/mn10300.md (sqrtsf2): New expand.
7861 (rsqrtsf2): New insn.
7862 2000-05-09 Alexandre Oliva <aoliva@cygnus.com>
7863 * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
7864 previous check-in.
7865 2000-05-08 Alexandre Oliva <aoliva@cygnus.com>
7866 * config/mn10300/mn10300.md (abssf2, negdf2): On
7867 TARGET_AM33_2, expand to...
7868 (abssf2_am33_2, negdf2_am33_2): New insns.
7869 (addsf3, subsf3, mulsf3, divsf3): Likewise.
7870 (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
7871 * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
7872 movdi, movdf): Added FP regs.
7873 * invoke.texi (-mam33-2, -mno-am33-2): Document.
7874 2000-04-29 Alexandre Oliva <aoliva@cygnus.com>
7875 * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
7876 New macros.
7877 (REGNO_AM33_2_FP_P): Renamed to...
7878 (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
7879 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
7880 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
7881 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
7882 regs from GENERAL_REGS.
7883 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
7884 * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
7885 * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
7886 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
7887 2000-04-23 Alexandre Oliva <aoliva@cygnus.com>
7888 * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
7889 as FP_REGS.
7890 2000-04-21 Alexandre Oliva <aoliva@cygnus.com>
7891 * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
7892 (EXTRA_CONSTRAINT): Added OK_FOR_Q.
7893 * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
7894 * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
7895 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
7896 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
7897 AM33/2.0 floating-point registers.
7898 (CONDITIONAL_REGISTER_USAGE): Adjust.
7899 (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
7900 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
7901 (REG_CLASS_FROM_LETTER): Added `f' and `A'.
7902 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
7903 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
7904 (MULTILIB_DIRNAMES): Likewise.
7905 * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
7906 `__AM33_2__' when `-mam33-2' is given.
7907 (TARGET_AM33_2): Define.
7908 (TARGET_SWITCHES): Adjust.
7909 * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
7910 when appropriate.
7911
2ff16718
MK
79122003-07-09 Matt Kraai <kraai@alumni.cmu.edu>
7913
7914 * doc/install.texi: Add missing @.
7915
a7bda3d5
BW
79162003-07-09 Bob Wilson <bob.wilson@acm.org>
7917
7918 * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
7919
bb498ea3
AH
79202003-07-09 Aldy Hernandez <aldyh@redhat.com>
7921
7922 PR/11144
7923 * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
7924
a401fd60
NN
79252003-07-09 Nathanael Nerode <neroden@gcc.gnu.org>
7926
21f3dbfc 7927 PR bootstrap/11043
6b88314c 7928 * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
21f3dbfc
NN
7929 "x-crtfini.o" with "crtinit.o", "crtfini.o".
7930
15e4ea18
NN
7931 * fixinc/inclhack.def (limits_ifndefs): Add select test.
7932 * fixinc/fixincl.x: Rebuild.
7933
a401fd60
NN
7934 * fixinc/inclhack.def (math_exception): Improve bypass and comment.
7935 * fixinc/fixincl.x: Rebuild.
7936
c2f82a84
HPN
79372003-07-09 Hans-Peter Nilsson <hp@bitrange.com>
7938
7939 * doc/install.texi (Configuration): Document the valgrind option
7940 to --enable-checking.
7941
602a82f3 79422003-07-09 Jan Hubicka <jh@suse.cz>
1f66e2a0
JH
7943
7944 * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
7945
d0974745
RO
79462003-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7947
7948 * c-lex.c (cb_ident): Cast cstr.text to const char *.
7949
160e2e4f
NS
79502003-07-09 Nathan Sidwell <nathan@codesourcery.com>
7951
7952 * gcov-io.h: Update documentation.
7953 (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
7954 GCOV_NOTE_MAGIC.
7955 (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
7956 (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
7957 (struct gcov_var): Change buffer's type. Add endian flag.
7958 (gcov_open): Remove mode in libgcov.
7959 (gcov_magic): Prototype.
7960 * gcov-io.c (from_file): New.
7961 (gcov_open): Clear endian flag.
7962 (gcov_magic): New.
7963 (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
7964 pointers.
7965 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
7966 gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
7967 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
7968 * gcov-iov.c (main): Correct cast.
7969 * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
7970 conversion.
7971 (gcov_begin_output): Use GCOV_NOTE_MAGIC.
7972 (coverage_init): Use GCOV_NOTE_SUFFIX.
7973 * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
7974 Rename to gcov_version, and return flag.
7975 (gcov_exit): Use gcov_version.
7976 (__gcov_init): Use gcov_version.
7977 * Makefile.in (coverageexts): Update.
7978 * gcov.c (print_version): Remove endianness conversion.
7979 (create_file_names): Use GCOV_NOTE_SUFFIX.
7980 (read_graph_file): Use gcov_magic.
7981 (read_count_file): Likewise.
7982 * gcov-dump.c (dump_file): Remove endianness conversion, use
7983 gcov_magic.
7984
83599948
NS
79852003-07-09 Nathan Sidwell <nathan@codesourcery.com>
7986
7987 * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
7988 coverage is on.
7989 * configure: Regenerated.
7990 * Makefile.in (ALL_CFLAGS): Correct its comment.
7991
d17811fd
MM
79922003-07-08 Mark Mitchell <mark@codesourcery.com>
7993
7994 * fold-const.c (make_range): Do not access operand 1 for a
7995 zero-operand operator.
7996
28786366
NB
79972003-07-09 Neil Booth <neil@daikokuya.co.uk>
7998
7999 * toplev.c (warn_dummy, W_options): Die.
8000 (display_help): Don't print W_options.
8001 * common.opt: Add W_options help from toplev.c.
8002
fbdb0453
AJ
80032003-07-09 Andreas Jaeger <aj@suse.de>
8004
8005 * opts.c (wrap_help): Only pass int arguments as arguments to
8006 printf's '*' modifier. Change argument of function.
8007
c80e4c17
MK
80082003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
8009
8010 * doc/invoke.texi: Fix misspelling of "@item".
8011
2c5a64c6
KH
80122003-07-08 Kazu Hirata <kazu@cs.umass.edu>
8013
8014 * config/i386/i386.md: Remove an old comment about
8015 NOTICE_UPDATE_CC.
8016
602a82f3 80172003-07-09 Jan Hubicka <jh@suse.cz>
a194aa56
JH
8018
8019 * cgraph.c (cgraph_node_name): New function.
8020 (dump_cgraph): Use it.
8021 * cgraph.h (cgraph_dump_file): Declare.
8022 (cgraph_node_name): Declare.
8023 * cgraphunit.c: Include timevar.h
8024 (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
8025 (cgraph_optimize_function): Use TV_INTEGRATION.
8026 (cgraph_mark_local_functions): reorganize dumps.
8027 (cgraph_mark_functions_to_inline_once): Likewise.
8028 (cgraph_optimize): Likewise; use timevar.
8029 * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
8030 * toplev.c (dump_file_index): Add DFI_cgraph.
8031 (dump_file_info): Likewise.
8032 (cgraph_dump_file): New global variable.
8033 (do_compile): Open and close cgraph dump.
8034 * invoke.texi (-d): Document new flag; renumber.
8035
8af61113
RS
80362003-07-08 Roger Sayle <roger@eyesopen.com>
8037
8038 PR c/11370
8039 * calls.c (emit_call_1): Don't bother popping the arguments off of
8040 the stack after a noreturn function call; The adjustment is dead.
8041 (expand_call): Likewise.
8042
436bcda1
GK
80432003-07-08 Geoffrey Keating <geoffk@apple.com>
8044
8045 * expr.c (MOVE_MAX_PIECES): Move from here...
8046 * defaults.h (MOVE_MAX_PIECES): ... to here.
8047
6f3fcc0b
MK
80482003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
8049
8050 * Makefile.in (stage1-start): Handle an empty SUBDIRS.
8051
ec049fdb
KG
80522003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8053
8054 * genattr.c (internal_dfa_insn_code): Don't prototype.
8055 * genattrtab.c (attr_desc): Add `static_p' field.
8056 (expand_units): Make blockage range and ready cost functions
8057 static.
8058 (write_attr_get): Don't add extern prototypes in C file. Mark
8059 static functions as appropriate.
8060 (find_attr, make_internal_attr): Initialize static_p.
8061 * genattrtab.h (ATTR_STATIC): New macro.
8062 * genautomata.c (output_internal_reset_func): Mark output function
8063 as inline.
8064 (make_internal_dfa_insn_code_attr): Mark output function as static.
8065
11597bc9
KG
80662003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8067
8068 * genattrtab.h: Add new macros for attr `special' flags.
8069 * genattrtab.c (attr_desc): Reorder/resize fields better.
8070 Use attr `special' macros in all calls to make_internal_attr.
8071 * genautomata.c: Likewise.
8072
602a82f3 80732003-07-09 Jan Hubicka <jh@suse.cz>
084c1779
JH
8074
8075 * c-common.c (c_estimate_num_insns_1): New static function.
8076 (c_estimate_num_insns): New global function.
8077 * c-common.h (DECL_NUM_STMTS): Rename to...
8078 (DECL_ESTIMATED_INSNS): ... this.
8079 (c_estimate_num_insns): Declare.
8080 * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
8081 * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
8082 * c-semantics.c (add_stmt): Do not account statements.
8083 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
8084 New.
8085 * langhooks.h (lang_hooks_for_tree_inlining): Add
8086 estimate_num_insns
8087 * params.def (max-inline-insns-auto, max-inline-insns-auto): set
8088 to 100.
8089 (max-inline-insns): set to 300.
8090 (min-inline-insns): set to 10.
8091 * tree-inline.c (struct inline_data): Rename inlined_stmts to
8092 inlined-insns.
8093 (INSNS_PER_STMT): Kill.
8094 (inlinable_function_p): Compute and store body size.
8095 (expand_call_inline): Likewise.
8096 (optimize_inline_calls): Likewise.
8097
1b1838b6
JW
80982003-07-08 James E Wilson <wilson@tuliptree.org>
8099
8100 PR target/10021
8101 * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
8102 loop over new variable t2 instead of t.
8103
81a6341d
DS
81042003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
8105
8106 PR bootstrap/11455
8107 * config/i386/winnt.c: Replace use of error(), warning() with
8108 error_with_decl(), warning_with_decl(), throughout.
8109
21789816
NB
81102003-07-08 Neil Booth <neil@daikokuya.co.uk>
8111
8112 * opts.c (wrap_help): Use unsigned int, not size_t.
8113
f6423302
SC
81142003-07-08 Stephane Carrez <stcarrez@nerim.fr>
8115
8116 * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
8117 as .file/.loc directives are incompatible with linker relaxation.
8118
ab747408
ZW
81192003-07-08 Zack Weinberg <zack@codesourcery.com>
8120
8121 * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
8122 * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
8123 * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
8124 * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
8125 * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
8126 * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
8127 Escape { and } characters which are not part of range expressions.
8128 * fixinc/fixincl.x: Regenerate.
a27531fb 8129 * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
ab747408 8130
51657442
SB
81312003-07-08 Steven Bosscher <steven@gcc.gnu.org>
8132
8133 PR c/1687
8134 * tree-inline.c (find_alloca_call): Use
8135 walk_tree_without_duplicates, instead of walk_tree.
8136 (find_builtin_longjmp_call): Likewise.
8137 * c-objc-common.c (c_cannot_inline_fn): Likewise.
8138 * c-semantics.c (find_reachable_label): Likewise.
8139
7e6dc358
JJ
81402003-07-08 Jakub Jelinek <jakub@redhat.com>
8141
8142 PR c/11420
8143 * config/i386/i386.c (ix86_check_movabs): New function.
8144 * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
8145 * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
8146 (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
8147
318b7749
CD
81482003-07-08 Chris Demetriou <cgd@broadcom.com>
8149
8150 * Makefile.in (install-po): Cope with empty CATALOGS.
8151
b8898790
RS
81522003-07-08 Richard Sandiford <rsandifo@redhat.com>
8153
8154 * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
8155 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
8156 (SECTION_FUNCTION_TEMPLATE): Delete.
8157 * config/mips/elf.h: As for elf64.h.
8158 (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
8159 * config/mips/linux.h: As for elf.h
8160 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
8161 * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
8162 (EXTRA_SECTION_FUNCTIONS): Remove sdata_section. Remove the handling
8163 of in_sdata from current_section_name and current_section_flags.
8164 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
8165 * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
8166 (MASK_GP_OPT, TARGET_GP_OPT): Delete.
8167 (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
8168 (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
8169 (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
8170 * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
8171 (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
8172 (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
8173 (override_options): Remove setting of MASK_GPOPT.
8174 (mips_output_external): Use mips_in_small_data_p to check whether a
8175 symbol needs an .extern directive. Don't emit such directives for
8176 TARGET_EXPLICIT_RELOCS.
8177 (mips_declare_object): Update accordingly.
8178 (mips_select_rtx_section): Call named_section rather than
8179 SMALL_DATA_SECTION.
8180 (mips_select_section): Use default_elf_section_section for everything
8181 except .text string constants.
8182 (mips_in_small_data_p): New function.
8183 (mips_encode_section_info): Remove small data handling.
8184 (mips_unique_section): Delete.
8185 (iris6_section_type_flags): New function.
8186 * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
8187
f5d1c3de
JDA
81882003-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8189
8190 PR Target/11453
8191 * pa.md: Disparage all mtsar constraints.
8192 (extzv, extv, insv): Don't fail on length of {32|64}.
8193
ce1bb65b
ZW
81942003-07-08 Zack Weinberg <zack@codesourcery.com>
8195
8196 * system.h: Poison MAP_CHARACTER.
8197 * config/i370/i370-protos.h (mvs_map_char): Delete.
8198 * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
8199 * config/i370/i370.h (MAP_CHARACTER): Delete definition.
8200 (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
8201
c163ddca
DS
82022003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
8203
8204 * toplev.c (randomize): Correct call to time().
8205
8df63efa
JJ
82062003-07-08 Jakub Jelinek <jakub@redhat.com>
8207
8208 * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
8209 REG_EQUIV notes as well.
8210
4b5cc2b3
KH
82112003-07-08 Kazu Hirata <kazu@cs.umass.edu>
8212
8213 * doc/md.texi: Fix the description of addmodecc.
8214
56694dd9
ZW
82152003-07-07 Zack Weinberg <zack@codesourcery.com>
8216
8217 * Makefile.in (top_builddir): Set to "..", not ".".
8218 (INTLLIBS, INTLDEPS): Delete.
8219 (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
8220 (LIBDEPS): Add $(LIBICONV_DEP).
8221 (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
8222 (INCLUDES): Replace -I../intl with @INCINTL@.
8223 ($(top_builddir)/intl/libintl.a): Delete rule.
8224 (stage2-start, stage3-start, stage4-start, stageprofile-start,
8225 stagefeedback-start): Use $$ for variable to be evaluated by
8226 shell, not make.
8227 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
8228 HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
8229 * aclocal.m4: sinclude ../config/progtest.m4. Add
8230 contents of lcmessage.m4 from gettext distro.
8231 * configure.in: Check for wchar.h and setlocale. Set
8232 LIBICONV_DEP to the empty string and substitute it.
8233 Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
8234 this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
8235 not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
8236 in $LIBINTL, to avoid linking it twice.
8237 * configure, config.in: Regenerate.
8238
a294c4cf
NN
82392003-07-08 Nathanael Nerode <neroden@gcc.gnu.org>
8240
8241 * fixinc/mkfixinc.sh: Remove winnt support.
8242 * fixinc/fixinc.winnt: Delete with extreme prejudice.
8243
979312a4
NB
82442003-07-08 Neil Booth <neil@daikokuya.co.uk>
8245
8246 * Makefile.in: Update.
8247 * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
8248 * c.opt: Update documentation.
8249 * common.opt: Add some help text.
8250 * opts.c: Include intl.h.
8251 (wrap_help, print_help): New.
8252 (find_opt, handle_option, common_handle_option): opt_text now
8253 contains the '-'. Use print_help to output help.
8254 * opts.h (struct cl_option): New member "help".
8255 * opts.sh: Update to handle help text output and to prepend
8256 options with '-'.
8257 * toplev.c (display_help): Remove some help text.
8258
2c4a9cff
DE
82592003-07-07 David Edelsohn <edelsohn@gnu.org>
8260 Fariborz Jahanian <fjahanian@apple.com>
8261
8262 * configure.in: Test for PowerPC mfcr field support in assembler.
8263 * config.in, configure: Regenderated.
8264
8265 * config/rs6000/power4.md: Add mfcrf reservation.
8266 * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
8267 * config/rs6000/rs6000.c (mfcr_operation): Define.
8268 (print_operand): Add 'Q' case for mfcrf.
8269 * config/rs6000/rs6000.h (TARGET_MFCRF): New.
8270 * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
8271 (movcc_internal1): Emit optional field operand for mfcr and set
8272 "type" attribute appropriately.
8273 (mfcr SCC): Likewise.
8274 (movesi_from_cr_one): New.
8275
923c4cf2
RS
82762003-07-07 Roger Sayle <roger@eyesopen.com>
8277
8278 * config/i386/i386.md: Correct check-in of incorrect version.
8279
75b6f3fd
KG
82802003-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8281
8282 * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
8283 adjacent stdio calls.
8284 * c-decl.c (c_print_identifier): Likewise.
8285 * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
8286 * print-rtl.c (print_rtx): Likewise.
8287 * print-tree.c (print_node_brief, print_node): Likewise.
8288 * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
56694dd9 8289
75b6f3fd
KG
8290 * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
8291 * config.in, configure: Regenerated.
8292
afeeac3f
RS
82932003-07-07 Roger Sayle <roger@eyesopen.com>
8294
8295 PR target/10979
8296 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
8297 Changed to define_expand patterns that copy operand[1] to prevent
8298 it from being clobbered before emitting an atan2?f3_1 insn.
8299 (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
8300 patterns that actually specify the behaviour of x87's FPATAN.
8301
eeff9307
JJ
83022003-07-07 Jakub Jelinek <jakub@redhat.com>
8303
8304 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
8305 clearing of SYMBOL_FLAG_LOCAL bit.
8306 If vcall_offset fits into signed 16-bit immediate, use
8307 one instruction for both addition and load.
8308
0fcd5dda
NB
83092003-07-07 Neil Booth <neil@daikokuya.co.uk>
8310
8311 * opts.c (common_handle_option): Correct handling of the
8312 -falign- switches that do and don't take an argument.
8313
b275810a
KH
83142003-07-07 Kazu Hirata <kazu@cs.umass.edu>
8315
8316 * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
8317 today.
8318 (pushhi1_h8300hs): Likewise.
8319
5671bf27
AJ
83202003-07-07 Andreas Jaeger <aj@suse.de>
8321
8322 * genextract.c: Convert remaining prototypes to ISO C90.
8323
8324 * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
8325 * fold-const.c (fold_single_bit_test): Likewise.
8326 * diagnostic.c (default_diagnostic_finalizer): Likewise.
8327 * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
8328
8329 * gengtype.c (write_array): Generate ISO C90 prototypes.
8330
8331 * genflags.c (gen_proto): Generate ISO C90 prototypes.
8332
2c430630
RS
83332003-07-07 Roger Sayle <roger@eyesopen.com>
8334
8335 PR optimization/11059
8336 * expr.c (can_store_by_pieces): Return true if length is zero.
8337 (store_by_pieces): If length is zero and endp is two, abort,
8338 othwerise, if length is zero and endp is not two, return "to".
8339 (clear_by_pieces): Do nothing if length is zero.
8340 (clear_storage): Do nothing if length is zero.
8341 (store_constructor): Simplify code when size is zero, or the
8342 target has already been cleared. This avoids emitting a
8343 blockage instruction when initializing empty structures.
8344
cf633f5b
AJ
83452003-07-07 Andreas Jaeger <aj@suse.de>
8346
8347 * mips-tfile.c: Convert prototypes to ISO C90.
8348 * mips-tdump.c: Convert prototypes to ISO C90.
8349
0cea056b
NS
83502003-07-07 Nathan Sidwell <nathan@codesourcery.com>
8351
8352 * rtl.h (emit_line_note): Take a location_t.
8353 (emit_line_note_force): Remove.
8354 (set_file_and_line_for_statement): Take a location_t.
8355 * tree.g (emit_line_note): Take a location_t.
8356 * emit-rtl.c (emit_line_note): Take a location_t.
8357 (emit_line_note_force): Remove.
8358 * function.c (init_function_start): Adjust emit_line_note call.
8359 (expand_function_end): Use force_next_line_note, not
8360 emit_line_note_force.
8361 * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
8362 * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
8363 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
8364 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
8365 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
8366 genrtl_continue_stmt, genrtl_switch_stmt,
8367 genrtl_asm_stmt): Likewise.
8368 * expr.c (expand_expr): Likewise.
8369 * integrate.c (expand_inline_function): Likewise.
8370 * stmt.c (set_file_and_line_for_stmt): Take a location_t.
8371 (expand_decl_init): Adjust emit_line_note call.
8372
8eb910fc
DJ
83732003-07-07 Dale Johannesen <dalej@apple.com>
8374
56694dd9 8375 * config/rs6000/darwin-tramp.asm: Fix trampolines. PR 10900.
8eb910fc 8376
b96a374d
AJ
83772003-07-07 Andreas Jaeger <aj@suse.de>
8378
8379 * config/i386/i386-protos.h: Convert prototypes to ISO C90.
8380 * config/i386/i386.c: Likewise.
8381
273fc01e
KH
83822003-07-07 Kazu Hirata <kazu@cs.umass.edu>
8383
8384 * config/h8300/h8300.md: Use gen_int_mode instead of
8385 GEN_INT (trunc_int_for_mode (...)).
8386
fb7d7712
KH
83872003-07-07 Kazu Hirata <kazu@cs.umass.edu>
8388
8389 * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
8390 2 bytes and then subtract 2 from the stack pointer.
8391 (pushhi1_h8300hs): Likewise.
8392
e61a2eb7
NS
83932003-07-07 Nathan Sidwell <nathan@codesourcery.com>
8394
8395 * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
8396 -frandom-seed.
8397 * configure: Regenerated.
8398 * Makefile.in: Remove extraneous comment.
8399 * toplev.c (randomize): Protect against potential multiple calls.
8400 * doc/invoke.texi (-frandom-seed): Document use for in coverage
8401 files.
8402
82d610ec 84032003-07-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
56694dd9 8404 Eric Botcazou <ebotcazou@libertysurf.fr>
82d610ec
RK
8405
8406 PR optimization/11198
8407 * alias.c (objects_must_conflict_p): Return 1 if the types have
8408 the same alias set, not if the alias sets only conflict.
8409
5beadb33
AP
84102003-07-07 Andrew Pinski <pinskia@physics.uc.edu>
8411
8412 * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
8413 (convert_cset): Change inbuf to type ICONV_CONST char.
8414 * Makefile.in (LIBS): Add LIBICONV.
8415
9bb34f3c
AJ
8416 * doc/invoke.texi (-falign-functions): Document that
8417 when n is zero then a machine-dependent default is used.
8418 (-falign-labels): Document that when n is zero then a
8419 machine-dependent default is used and that -falign-labels =1
8420 is equivalent to -fno-align-labels.
8421 (-falign-loops): Likewise.
8422 (-falign-jumps): Likewise.
8423
1dbb6ce8
AH
84242003-07-06 Art Haas <ahaas@airmail.net>
8425
8426 * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
8427 initializer syntax.
8428
8338d44d
JW
84292003-07-06 James E Wilson <wilson@tuliptree.org>
8430
8431 PR optimization/9812
8432 * rtl.h (mem_for_const_double): Delete prototype.
8433 * varasm.c (mem_for_const_double): Delete function.
8434 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
8435 config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
8436 (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
8437 * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
8438 (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
8439 * config/m68k/m68k.md (movxf): Add reload_in_progress guard. Add
8440 comment about confused support for XFmode constants.
8441
602a82f3 84422003-07-07 Jan Hubicka <jh@suse.cz>
9efd34a5
JH
8443
8444 * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
8445
2a43945f
KH
84462003-07-06 Kazu Hirata <kazu@cs.umass.edu>
8447
8448 * config/h8300/h8300.c: Fix comment typos.
8449 * config/h8300/h8300.md: Likewise.
8450 * config/i386/athlon.md: Likewise.
8451 * config/i386/i386.c: Likewise.
8452 * config/i386/pentium.md: Likewise.
8453 * config/ia64/ia64.c: Likewise.
8454 * config/ia64/itanium1.md: Likewise.
8455 * config/ia64/itanium2.md: Likewise.
8456 * config/m32r/m32r.md: Likewise.
8457 * config/m68hc11/m68hc11.c: Likewise.
8458 * config/mcore/mcore.c: Likewise.
8459 * config/mips/sr71k.md: Likewise.
8460 * config/mips/t-iris5-as: Likewise.
8461 * config/mmix/mmix.h: Likewise.
8462 * config/ns32k/ns32k.h: Likewise.
8463 * config/ns32k/NOTES: Fix a typo.
8464
ceee09f7
AJ
84652003-07-06 Andreas Jaeger <aj@suse.de>
8466
7e51717c
AJ
8467 * stmt.c: Convert remaining prototypes to ISO C90.
8468 * cfglayout.c: Likewise.
8469 * dbxout.c: Likewise.
8470 * gcc.c: Likewise.
8471 * genemit.c: Likewise.
8472
ceee09f7
AJ
8473 * basic-block.h: Convert prototypes to ISO C90.
8474 * c-parse.in: Likewise.
8475 * c-pragma.h: Likewise.
8476 * c-typeck.c: Likewise.
8477 * cfghooks.h: Likewise.
8478 * cfgloopanal.c: Likewise.
8479 * dbxout.h: Likewise.
8480 * debug.h: Likewise.
8481 * dwarf2asm.h: Likewise.
8482 * gcov.c: Likewise.
8483 * gengtype-lex.l: Likewise.
8484 * sched-int.h: Likewise.
8485 * timevar.c: Likewise.
8486
cb66e385
NB
84872003-07-06 Neil Booth <neil@daikokuya.co.uk>
8488
8489 * c-common.h (c_comon_handle_filename,
8490 c_common_missing_arguement): New.
8491 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
8492 LANG_HOOKS_MISSING_ARGUMENT): New.
8493 * c-opts.c (missing_arg): Rename c_common_missing_argument,
8494 update to be an appropriate langhook.
8495 (c_common_handle_option): Don't handle filenames.
8496 (c_common_handle_filename): New.
8497 * hooks.c (hook_void_constcharptr,
8498 hook_bool_constcharptr_size_t_false): New.
8499 * hooks.h (hook_void_constcharptr,
8500 hook_bool_constcharptr_size_t_false): New.
8501 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
8502 LANG_HOOKS_MISSING_ARGUMENT): New.
8503 (LANG_HOOKS_INITIALIZER): Update.
8504 * langhooks.h (struct lang_hooks): Add handle_filename and
8505 missing_argument.
8506 * opts.c (handle_option): Don't handle filenames here, but ...
8507 (handle_options): ... here.
8508 (common_handle_option): Don't handle missing arguments here.
8509 * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
8510 LANG_HOOKS_MISSING_ARGUMENT): New.
8511
ade4289c
NB
85122003-07-06 Neil Booth <neil@daikokuya.co.uk>
8513
8514 * Makfile.in: Remove traces of mbchar.
8515 * c-parse.in (MULTIBYTE_CHARS): Remove.
8516 * config.in (MULTIBYTE_CHARS): Remove.
8517 * configure: Remove --enable-mbchar.
8518 * configure.in: Remove --enable-mbchar.
8519 * mbchar.c, mbchar.h: Remove.
8520 * system.h: Poison MULTIBYTE_CHARS.
8521 * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
8522 * config/linux.h (MULTIBYTE_CHARS): Remove.
8523 * config/svr4.h (MULTIBYTE_CHARS): Remove.
8524 * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
8525
2e1eedd6
AJ
85262003-07-06 Andreas Jaeger <aj@suse.de>
8527
11dc5cc6
AJ
8528 * varray.c (varray_check_failed): Fix typo.
8529
8530 * unroll.c: Convert prototypes to ISO C90.
2e1eedd6
AJ
8531 * varasm.c: Likewise.
8532 * varray.c: Likewise.
8533 * varray.h: Likewise.
8534 * vmsdbgout.c: Likewise.
8535 * xcoffout.c: Likewise.
8536 * xcoffout.h: Likewise.
8537
dd486eb2
NS
85382003-07-06 Nathan Sidwell <nathan@codesourcery.com>
8539
8540 * gcov-io.h: Add a local time stamp.
8541 (struct gcov_info): Add stamp field.
8542 (gcov_truncate): New.
8543 * coverage.c (read_counts_file): Skip the stamp.
8544 (coverage_begin_output): Write the stamp.
8545 (build_gcov_info): Declare and init the stamp.
8546 (coverage_finish): Only unlink data file, if stamp is zero.
8547 * gcov-dump.c (dump_file): Dump the stamp.
8548 * gcov.c (bbg_stamp): New.
8549 (release_structures): Clear bbg_stamp.
8550 (read_graph_file): Read stamp.
8551 (read_count_file): Check stamp.
8552 * libgcov.c (gcov_exit): Check stamp and truncate if needed.
8553
c07e5477
NS
85542003-07-06 Nathan Sidwell <nathan@codesourcery.com>
8555
8556 * tree.h (default_flag_random_seed): Remove.
8557 * toplev.h (local_tick): Declare.
8558 * tree.c (flag_random_seed, default_flag_random_seed): Move to
8559 toplev.c.
8560 (append_random_chars): Don't call default_flag_random_seed.
8561 * toplev.c (flag_random_seed): Define here. Set local_tick.
8562 (local_tick): Define.
8563 (randomize): New, moved from tree.c.
8564 (print_switch_values): Adjust.
8565 (toplev_main): Call randomize.
8566
2aab7ceb
NS
85672003-07-06 Nathan Sidwell <nathan@codesourcery.com>
8568
8569 * tree.h (crc32_string): Declare.
8570 * tree.c (append_random_chars): Remove.
8571 (crc32_string): New.
8572 (get_file_function_name_long): Use crc32_string here.
8573
1d088dee
AJ
85742003-07-06 Andreas Jaeger <aj@suse.de>
8575
8576 * gcc.c: Convert prototypes to ISO C90.
8577 * gcc.h: Likewise.
8578 * gcov-dump.c: Likewise.
8579 * gcov-iov.c: Likewise.
8580 * gcse.c: Likewise.
8581 * genattrtab.h: Likewise.
8582 * ggc.h: Likewise.
8583 * global.c: Likewise.
8584 * graph.c: Likewise.
8585 * graph.h: Likewise.
8586 * hosthooks.h: Likewise.
8587 * hooks.h: Likewise.
8588 * hooks.c: Likewise.
8589 * hashtable.h: Likewise.
8590 * hashtable.c: Likewise.
8591 * haifa-sched.c: Likewise.
8592 * integrate.h: Likewise.
8593 * integrate.c: Likewise.
8594 * input.h: Likewise.
8595 * ifcvt.c: Likewise.
f8ec47c7 8596 * jump.c: Likewise.
0c20a65f
AJ
8597 * langhooks-def.h: Likewise. Add extern to prototypes.
8598 * langhooks.c: Likewise.
8599 * langhooks.h: Likewise.
8600 * lcm.c: Likewise.
8601 * local-alloc.c: Likewise.
8602 * loop-init.c: Likewise.
8603 * loop-unroll.c: Likewise.
8604 * loop-unswitch.c: Likewise.
8605 * loop.c: Likewise.
8606 * loop.h: Likewise. Add extern to prototypes.
8607 * machmode.h: Likewise.
8608 * main.c: Likewise.
8609 * mbchar.c: Likewise.
8610 * mbchar.h: Likewise.
8611 * mkdeps.c: Likewise.
8612 * mkdeps.h: Likewise.
8613 * optabs.c: Likewise.
8614 * optabs.h: Likewise.
8615 * output.h: Likewise.
8616 * gccspec.c: Likwise.
8617 * postreload.c: Likewise.
8618 * prefix.c: Likewise.
8619 * prefix.h: Likewise.
8620 * print-rtl.c: Likewise.
8621 * print-tree.c: Likewise.
8622 * profile.c: Likewise.
8623 * read-rtl.c: Likewise.
8624 * real.c: Likewise.
8625 * real.h: Likewise.
8626 * recog.c: Likewise.
8627 * recog.h: Likewise.
8628 * reg-stack.c: Likewise.
8629 * regclass.c: Likewise.
8630 * regmove.c: Likewise.
8631 * regrename.c: Likewise.
8632 * regs.h: Likewise.
8633 * reload.c: Likewise.
8634 * reload.h: Likewise.
8635 * reload1.c: Likewise.
8636 * reorg.c: Likewise.
8637 * resource.c: Likewise.
8638 * resource.h: Likewise.
8639 * rtl-error.c: Likewise.
8640 * rtl.c: Likewise.
8641 * rtl.h: Likewise.
8642 * rtlanal.c: Likewise.
46c5ad27
AJ
8643 * sbitmap.c: Likewise.
8644 * sbitmap.h: Likewise.
8645 * scan-decls.c: Likewise.
8646 * scan.c: Likewise.
8647 * sched-deps.c: Likewise.
8648 * sched-ebb.c: Likewise.
8649 * sched-int.h: Likewise.
8650 * sched-rgn.c: Likewise.
8651 * sched-vis.c: Likewise.
8652 * sibcall.c: Likewise.
8653 * simplify-rtx.c: Likewise.
8654 * sreal.c: Likewise.
8655 * sreal.h: Likewise.
8656 * ssa-ccp.c: Likewise.
8657 * ssa-dce.c: Likewise.
8658 * ssa.c: Likewise.
8659 * ssa.h: Likewise.
8660 * stack.h: Likewise.
8661 * stmt.c: Likewise.
8662 * stor-layout.c: Likewise.
8663 * stringpool.c: Likewise.
8664 * target.h: Likewise.
8665 * timevar.c: Likewise.
8666 * timevar.h: Likewise.
8667 * tlink.c: Likewise.
8668 * tracer.c: Likewise.
8669 * tree-inline.c: Likewise.
8670 * tree-inline.h: Likewise.
8671 * tree.c: Likewise.
8672 * tree.h: Likewise.
1d088dee 8673
4f649bc1
KH
86742003-07-05 Kazu Hirata <kazu@cs.umass.edu>
8675
8676 * combine.c (nonzero_bits1): Fix a warning.
8677
86782003-07-05 Kazu Hirata <kazu@cs.umass.edu>
2c4a71b3
KH
8679
8680 * config/h8300/h8300.c (compute_mov_length): Correct the
8681 length of loading CONST0_RTX (SFmode).
8682
f5924ac1
NS
86832003-07-05 Nathan Sidwell <nathan@codesourcery.com>
8684
8685 * toplev.c (output_clean_symbol_name): Remove.
8686 * toplev.h (output_clean_symbol_name): Remove.
8687 * config/alpha/alpha.c (unicosmk_output_module_name): Use
8688 lbasename & clean_symbol_name.
8689
39e3f58c
KH
86902003-07-05 Kazu Hirata <kazu@cs.umass.edu>
8691
8692 * ggc.h: Follow spelling conventions.
8693 * config/i386/i386.c: Likewise.
8694 * config/i386/winnt.c: Likewise.
8695 * config/rs6000/rs6000.c: Likewise.
8696
4d6922ee
KH
86972003-07-05 Kazu Hirata <kazu@cs.umass.edu>
8698
8699 * bt-load.c: Fix comment typos.
8700 * c-incpath.c: Likewise.
8701 * cfg.c: Likewise.
8702 * cfgcleanup.c: Likewise.
8703 * cfgloop.h: Likewise.
8704 * cfgloopmanip.c: Likewise.
8705 * cfgrtl.c: Likewise.
8706 * diagnostic.h: Likewise.
8707 * dwarfout.c: Likewise.
8708 * emit-rtl.c: Likewise.
8709 * et-forest.c: Likewise.
8710 * et-forest.h: Likewise.
8711 * expr.c: Likewise.
8712 * gcse.c: Likewise.
8713 * genattr.c: Likewise.
8714 * jump.c: Likewise.
8715 * langhooks.h: Likewise.
8716 * local-alloc.c: Likewise.
8717 * loop-unroll.c: Likewise.
8718 * loop-unswitch.c: Likewise.
8719 * ra-build.c: Likewise.
8720 * regclass.c: Likewise.
8721 * regmove.c: Likewise.
8722 * rtl.def: Likewise.
8723 * rtlanal.c: Likewise.
8724 * sched-ebb.c: Likewise.
8725 * sched-rgn.c: Likewise.
8726 * simplify-rtx.c: Likewise.
8727 * ssa.c: Likewise.
8728 * tracer.c: Likewise.
8729 * tree.c: Likewise.
8730
f1c4bc4f
ZW
87312003-07-05 Zack Weinberg <zack@codesourcery.com>
8732
8733 * cppcharset.c: Use the correct return type for the fallback iconv
8734 macro.
8735
602a82f3 87362003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
65c6f1b4
ZD
8737
8738 Blame to Jan Hubicka <jh@suse.cz>
8739 * cfglayout.c (record_effective_endpoints): Split insns before
8740 first basic block correctly.
8741
a8f3bf52
RK
87422003-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8743
f1c4bc4f 8744 * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
a8f3bf52
RK
8745 bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
8746 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
8747
0641776c
AJ
87482003-07-05 Andreas Jaeger <aj@suse.de>
8749
8750 * genattrtab.c (write_attr_get): Revert part of last patch to
8751 always write out a prototype.
8752
8753 * genemit.c (gen_split): Readd lost unused attributes in last
8754 patch.
8755
977129f6
ZD
87562003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8757
8758 * cfgloopmanip.c (force_single_succ_latches): Force latch to be
8759 different from header.
8760
5ee084df
AS
87612003-07-05 Andreas Schwab <schwab@suse.de>
8762
8763 * config/m68k/m68k.c: Remove code protected by CRDS.
8764 * config/m68k/m68k.md: Likewise.
8765
33de9573
NB
87662003-07-05 Neil Booth <neil@daikokuya.co.uk>
8767
8768 PR driver/11417
8769 * c-opts.c (permit_fortran_options): New.
8770 (c_common_init_options): Accept fortran front end options if
8771 it looks like we might be preprocessing Fortran.
8772 (c_common_handle_option): Don't reject switch if permit_fotran_options.
8773
6906ba40
KG
87742003-07-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8775
8776 * genattr.c (internal_dfa_insn_code): Output prototype.
8777 * genattrtab.c: Don't output unnecessary decls, output in ISO C.
8778 * genautomata.c: Likewise.
8779 * genconditions.c: Likewise.
8780 * genemit.c: Likewise.
8781 * genextract.c: Likewise.
8782 * gengenrtl.c: Likewise.
8783 * gengtype.c: Likewise.
8784 * genopinit.c: Likewise.
8785 * genoutput.c: Likewise.
8786 * genpeep.c: Likewise.
8787 * genrecog.c: Likewise.
8788
e6cc3a24
ZW
87892003-07-04 Zack Weinberg <zack@codesourcery.com>
8790
8791 * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
8792 (struct cpp_options): Add narrow_charset, wide_charset,
8793 bytes_big_endian fields. Remove EBCDIC field.
8794 (cpp_init_iconv, cpp_interpret_string): New external interfaces.
8795
8796 * cpphash.h: Include <iconv.h> if we have it, otherwise
8797 provide a dummy definition of iconv_t.
8798 (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
8799 (_cpp_valid_ucn): Update prototype.
8800 (_cpp_destroy_iconv): New prototype.
8801
8802 * doc/cpp.texi: Document character set handling.
8803 * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
8804 * doc/extend.texi: Delete entire section on multiline strings.
8805 Rewrite section on __FUNCTION__ etc now that these are
8806 variables in C.
8807
8808 * cppucnid.tab, cppucnid.pl: New files.
8809 * cppucnid.h: New generated file.
8810 * cppcharset.c: Include cppucnid.h. Lots of commentary added.
8811 (iconv_open, iconv, iconv_close): Provide dummy definitions
8812 if !HAVE_ICONV.
8813 (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
8814 _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
8815 emit_numeric_escape, convert_hex, convert_oct, convert_escape,
8816 cpp_interpret_string, narrow_str_to_charconst,
8817 wide_str_to_charconst): New.
8818 (ucn_valid_in_identifier): Use a binary search through the
8819 ucnranges table defined in cppucnid.h, not a long chain of if
8820 statements.
8821 (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal
8822 character names are only valid in C++ and C99" to a warning.
8823 Issue the "meaning of \[uU] is different in traditional C"
8824 warning here. Take care not to let iconv see an invalid UCS
8825 value if we get a malformed UCN. Issue an error if we don't
8826 have iconv.
8827 (cpp_interpret_charconst): Moved here from cpplex.c. Use
8828 cpp_interpret_string to do the heavy lifting.
8829
8830 * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
8831 narrow_charset, wide_charset fields of options structure.
8832 (cpp_destroy): Call _cpp_destroy_iconv.
8833 * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
8834 (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
8835 (cpp_interpret_charconst): Moved to cppcharset.c.
8836 * cpplib.c (dequote_string): Delete.
8837 (interpret_string_notranslate): New.
8838 (do_line, do_linemarker): Use interpret_string_notranslate.
8839
8840 * Makefile.in (cppcharset.o): Depend on cppucnid.h.
8841
8842 * c-common.c (fname_string, combine_strings): Delete.
8843 * c-common.h (fname_string, combine_strings): Delete prototypes.
8844 * c-lex.c (ignore_escape_flag): Delete.
8845 (cb_ident): Use cpp_interpret_string, not lex_string.
8846 (get_nonpadding_token): New function.
8847 (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
8848 Adjust calls to lex_string. Don't write *value twice.
8849 (lex_string): Now handles string constant concatenation.
8850 Most of the work handed off to cpp_interpret_string.
8851 Call fix_string_type here.
8852 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
8853 FUNC_NAME, throughout.
8854 (OBJC_STRING): New token type.
8855 (primary:STRING): No need to call fix_string_type here.
8856 (primary:objc_string): Make that OBJC_STRING.
8857 (objc_string nonterminal): Delete.
8858 (yylexname): Delete code to handle fake string constants.
8859 (yylexstring): Delete entirely.
8860 (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need
8861 to handle CPP_ATSIGN.
8862
8863 * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
8864 * c-opts.c (missing_arg, c_common_handle_option): Handle
8865 OPT_fexec_charset_ and OPT_fwide_exec_charset_.
8866 (c_common_init): Set cpp_opts->bytes_big_endian, not
8867 cpp_opts->EBCDIC. Call cpp_init_iconv.
8868 (print_help): Document -fexec-charset= and -fexec-wide-charset=.
8869 (TARGET_EBCDIC): Delete default definition.
8870
8871 * objc/objc-act.c (build_objc_string_object): No need to
8872 handle string constant concatenation.
8873
61aeb06f
KH
88742003-07-04 Kazu Hirata <kazu@cs.umass.edu>
8875
8876 * doc/install.texi: Fix typos.
8877 * doc/invoke.texi: Likewise.
8878 * doc/tm.texi: Likewise.
8879
c1207243
KH
88802003-07-04 Kazu Hirata <kazu@cs.umass.edu>
8881
8882 * config/pa/fptr.c: Fix comment typos.
8883 * config/pa/pa-64.h: Likewise.
8884 * config/pa/pa.c: Likewise.
8885 * config/pa/pa.h: Likewise.
8886 * config/rs6000/603.md: Likewise.
8887 * config/rs6000/7xx.md: Likewise.
8888 * config/rs6000/darwin.h: Likewise.
8889 * config/rs6000/freebsd.h: Likewise.
8890 * config/rs6000/rs6000.c: Likewise.
8891 * config/rs6000/rs6000.md: Likewise.
8892 * config/rs6000/spe.h: Likewise.
8893
58add37a
UW
88942003-07-04 Ulrich Weigand <uweigand@de.ibm.com>
8895
8896 * config/s390/2064.md: Change GNU CC to GCC.
8897 * config/s390/2084.md: Likewise.
8898 * config/s390/fixdfdi.h: Likewise.
8899 * config/s390/linux.h: Likewise.
8900 * config/s390/s390-modes.def: Likewise.
8901 * config/s390/s390-protos.h: Likewise.
8902 * config/s390/s390.c: Likewise.
8903 * config/s390/s390.h: Likewise.
8904 * config/s390/s390.md: Likewise.
8905 * config/s390/s390x.h: Likewise.
8906
60cd4dae
JL
89072003-07-04 Jeff Law <law@redhat.com>
8908
a38825d2 8909 PR c/11428
60cd4dae
JL
8910 * expr.c (do_store_flag): Pass in the correct result type
8911 when calling fold_single_bit_test.
8912 * fold-const.c (fold_single_bit_test): Use result_type for the
8913 result when folding a sign bit test.
8914
5e14ae7e
NB
89152003-07-04 Neil Booth <neil@daikokuya.co.uk>
8916
8917 * opts.c (common_handle_options): Negate sense of -falign- switches.
8918
8c90b13a
L
89192003-07-04 H.J. Lu <hongjiu.lu@intel.com>
8920
c3b3975a 8921 * Makefile.in: Replace PWD with PWD_COMMAND.
8c90b13a 8922
72d4a2ad
ZD
89232003-07-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8924
8925 * cfgloopanal.c (count_strange_loop_iterations): New static function.
8926 (constant_iterations, count_loop_iterations, simple_loop_exit_p):
8927 Handle strange loops.
8928
8e9a4a45
TM
89292003-07-04 Toon Moene <toon@moene.indiv.nluug.nl>
8930
8931 * install.texi: Even the g77 manpage is derived from
8932 the full g77 manual.
8933
6eb95e99
ZW
89342003-07-04 Zack Weinberg <zack@codesourcery.com>
8935
8936 * ABOUT-NLS: Delete.
8937 * intl: Delete entire directory.
8938 * aclocal.m4: Include ../config/gettext.m4. Delete
8939 AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
8940 AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
8941 * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
8942 Remove intl/Makefile from all_outputs.
8943 * configure, config.in: Regenerate.
8944 * Makefile.in: Expunge all references to intl subdirectory.
8945 Add -I../intl to INCLUDES.
8946 * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
8947
bcd5d841
RS
89482003-07-04 Roger Sayle <roger@eyesopen.com>
8949
8950 * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
8951 * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
8952
6b6cb52e
DS
89532003-07-04 Danny Smith <dannysmith@users.sourceforge.net>
8954
8955 PR c++/5287, PR c++/7910, PR c++/11021
8956 * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
8957 dllimport attribute if function is defined at declaration, but
8958 report error instead. Likewise for dllimport'd variable
8959 definitions. Set implicit TREE_PUBLIC for dllimport'd variables
8960 declared within functions, Report error if dllimport or dllexport
8961 symbol is not global.
8962 (i386_pe_dllimport_p): Ignore dllimport attribute of functions
8963 if defined after declaration or if inlined. Don't allow definition
8964 of static data members of C++ classes. Don't dllimport virtual
8965 methods.
8966 (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
8967 (i386_pe_mark_dllimport): Remove unnecessary checks.
8968 (i386_pe_encode_section_info): Warn if the dllimport attribute
8969 and symbol prefix have been instantiated and then overridden.
8970
8971 * doc/extend.texi: Document dllimport and dllexport attributes.
8972
8973 * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
8974
cc2f5d34
US
89752003-07-03 Uwe Stieber <uwe@kaos-group.de>
8976
8977 * config/kaos.h (CPP_PREDEFINES): Delete.
8978 (TARGET_OS_CPP_BUILTINS): New.
8979
5f1989e6
KG
89802003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8981
8982 * c-aux-info.c: Include toplev.h after c-tree.h.
8983 * c-common.c: Likewise.
8984 (GCC_DIAG_STYLE): Undef.
8985 * c-semantics.c (GCC_DIAG_STYLE): Define.
8986 * c-tree.h (GCC_DIAG_STYLE): Likewise.
8987 * diagnostic.h (inform): Move prototype to toplev.h.
8988 * jump.c: Include diagnostic.h before toplev.h.
8989 * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
8990 (warning, error, fatal_error, pedwarn, sorry, inform,
8991 error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
8992
8d28e87d
ZD
89932003-07-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8994
8995 * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
8996 at all if edge is not specified.
8997 (can_copy_bbs_p, copy_bbs): New.
8998 * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
8999 * cfgloop.c (get_loop_body): Comment more precisely.
9000 * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
9001 (scale_bbs_frequencies): Fix comment typo.
9002 (can_duplicate_loop_p): Use can_copy_bbs_p.
9003 (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
9004
694abeb6
DP
90052003-07-03 Devang Patel <dpatel@apple.com>
9006
9007 * c-opts.c (c_common_parse_file): Remove extra
9008 debug_hooks->start_source_file call.
6eb95e99 9009
0a9530a9
RS
90102003-07-03 Roger Sayle <roger@eyesopen.com>
9011
9012 * real.c (real_trunc, real_floor, real_ceil): New functions
9013 to implement trunc, floor and ceil respectively.
9014 * real.h (real_trunc, real_floor, real_ceil): Prototype here.
9015 * builtins.c (integer_valued_real_p): New function to test if
9016 a floating point expression has an integer valued result.
9017 (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
9018 foo(x) where foo is an integer rounding function. Similarly,
9019 optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
9020 (double)(int)x when both foo and bar are integer rounding
9021 functions and we don't need to honor errno.
9022 (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
9023 New functions to fold trunc, floor and ceil.
9024 (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
9025 fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
9026 to fold BUILT_IN_CEIL*.
9027 * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
9028 the remaining integer rounding functions.
9029
c3427c7d
EB
90302003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
9031
9032 * config/sparc/sparc.c (function_arg_partial_nregs): Use
9033 SPARC_INT_ARG_MAX to determine where to split unnamed
9034 complex FP arguments.
9035
602a82f3 90362003-07-03 Jan Hubicka <jh@suse.cz>
bc35512f
JH
9037
9038 * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
9039 * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
9040 (merge_blocks_move_predecessor_nojumps,
9041 merge_blocks_move_successor_nojumps): Use merge_blocks.
9042 (try_optimize_cfg): Use merge_blocks_move.
9043 * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
9044 (merge_blocks_nomove): Rename to rtl_merge_blocks.
9045 (cfg_layout_create_basic_block): New.
9046 (rtl_can_merge_blocks): New.
9047 (cfg_layout_split_block): Do not alloc aux by hand.
9048 * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
9049 merge_blocks.
9050 (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
9051 * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
9052 * cfgloopmanip.c (loop_split_edge_with): Likewise.
9053 * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
9054
9055 * basic-block.h (basic_block_def): Add field 'rbi'.
9056 * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
9057 find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
9058 * cfg.c (entry_exit_blocks): Add new field.
9059 * cfglayout.c: Include alloc-pool.h;
9060 (cfg_layout_pool): New.
9061 (record_effective_endpoints, fixup_reorder_chain,
9062 fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
9063 of rbi.
9064 (cfg_layout_initialize_rbi): New function.
9065 (cfg_layout_initialize): Use it.
9066 (cfg_layout_finalize): Clear rbi fields.
9067 * cfglayout.h (RBI): Kill.
9068 (cfg_layout_initialize_rbi): Declare.
9069 * cfgloopmanip.c (copy_bbs): Use rbi.
9070 (record_exit_edges): Likewise.
9071 (duplicate_loop_to_header_edge): Likewise.
9072 * cfgrtl.c (cfg_layout_create_basic_block): Use
9073 cfg_layout_initialize_rbi.
9074 (cfg_layout_split_block): Use rbi.
9075 (cfg_layout_delete_block): Likewise.
9076 * loop-init.c (loop_optimizer_finalize): Likewise.
9077 * loop-unswitch.c (unswitch_loop): Likewise.
9078 * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
9079
9080 * cfgrtl.c: Update comments.
9081 (try_redirect_by_replacing_jump): New argument.
9082 (redirect_branch_edge): Break out from ...
9083 (rtl_redirect_edge_and_branch): ... this one.
9084 (update_cfg_after_block_merging): Break out from ...
9085 (rtl_merge_blocks): ... this one.
9086 (cfg_layout_split_edge): New.
9087 (cfg_layout_merge_blocks): New.
9088 (cfg_layout_can_merge_blocks_p): New.
9089 (cfg_layout_redirect_edge_and_branch): Reorganize.
9090 (cfg_layout_rtl_cfg_hooks): Fill in.
9091 (cfg_layout_delete_block): Kill barriers.
9092 * cfganal.c (can_fallthru): Deal with exit blocks
9093 * cfglayout.c (cfg_layout_function_header): New function
9094 (record_effective_endpoints): Record function header.
9095 (fixup_reorder_chain): Fixup dead jumptables; place header
9096
9097 * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
9098 * bb-reorder.c (cfg_layout_initialize): Update call.
9099 * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
9100 edges in cfglayout mode.
9101 * cfglayout.c (cleanup_unconditional_jumps): Kill.
9102 (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
9103 * cfglayout.h (cfg_layout_initialize): Update prototype.
9104 * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
9105 * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
9106 * flow.c (propagate_block): Do not crash when basic block ends
9107 by first insn in the chain.
9108 * loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
9109 do loop discovery.
9110 * tracer.c (tracer): Update call of cfg_layout_initialize.
9111
dd220c49
KG
91122003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9113
9114 * Makefile.in: Use dependency variables in lieu of explicit
9115 files throughout.
9116
fa5b060f
SB
91172003-07-03 Steven Bosscher <steven@gcc.gnu.org>
9118
9119 * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
9120 * tree.h: ...to here.
9121
fae778eb
KH
91222003-07-03 Kazu Hirata <kazu@cs.umass.edu>
9123
9124 * config/s390/2064.md: Fix comment typos.
9125 * config/s390/2084.md: Likewise.
9126 * config/s390/s390.c: Likewise.
9127 * config/s390/s390.md: Likewise.
9128 * config/sh/sh.c: Likewise.
9129 * config/sh/sh.h: Likewise.
9130 * config/sh/sh.md: Likewise.
9131 * config/sparc/sparc.c: Likewise.
9132 * config/sparc/sparc.h: Likewise.
9133 * config/sparc/sparc.md: Likewise.
9134 * config/stormy16/stormy16.c: Likewise.
9135 * config/stormy16/stormy16.h: Likewise.
9136 * config/stormy16/stormy-abi: Fix a typo.
9137
58eabcb1
KC
91382003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
9139
9140 * Makefile.in (ifcvt.o): Depend on OPTABS_H.
9141
af261903
KG
91422003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9143
9144 * config/mips/mips.h (save_argv): Delete.
9145
a11c61d2
RS
91462003-07-03 Roger Sayle <roger@eyesopen.com>
9147
9148 PR target/10700
9149 * fold-const.c (extract_muldiv_1): There's nothing that can be done
9150 if the expression is a SAVE_EXPR.
9151
dab66575
KH
91522003-07-03 Kazu Hirata <kazu@cs.umass.edu>
9153
9154 * config/m32r/m32r.c: Fix comment typos.
9155 * config/m68hc11/m68hc11.c: Likewise.
9156 * config/m68hc11/m68hc11.h: Likewise.
9157 * config/m68k/m68k.c: Likewise.
9158 * config/mcore/mcore.c: Likewise.
9159 * config/mcore/mcore.h: Likewise.
9160 * config/mcore/mcore.md: Likewise.
9161 * config/mips/mips.c: Likewise.
9162 * config/mips/mips.h: Likewise.
9163 * config/mips/mips.md: Likewise.
9164 * config/mips/netbsd.h: Likewise.
9165 * config/mn10300/mn10300.c: Likewise.
9166
8837d828
AS
91672003-07-03 Andreas Schwab <schwab@suse.de>
9168
9169 * dbxout.c (pending_bincls): Move decl down inside
9170 DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
9171
dd107e66
NS
91722003-07-02 Nathan Sidwell <nathan@codesourcery.com>
9173
9174 * rtl.h (NOTE_DATA): Refer to whole union.
9175 * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
9176
8821d091
EB
91772003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
9178
9179 PR optimization/11381
9180 * simplify-rtx.c (simplify_relational_operation): Check that
9181 two equal operands have no side-effects before simplifying
9182 the comparison.
9183
7960bf22
JL
91842003-07-02 Jeff Law <law@redhat.com>
9185
9186 * expr.c (do_store_flag): Remove special case folding for
9187 single bit tests. Instead call back into the commonized folder
9188 routine.
9189 * fold-const.c (fold_single_bit_test): New function, mostly
9190 extracted from do_store_flag, with an additional case extracted
9191 from fold.
9192 (fold): Call fold_single_bit_test appropriately.
9193 * tree.h (fold_single_bit_test): Prototype.
9194
3dce1408
ZW
91952003-07-02 Zack Weinberg <zack@codesourcery.com>
9196
9197 * system.h: Include filenames.h.
9198 (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
9199 (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
9200 define based on HAVE_DOS_BASED_FILE_SYSTEM.
9201 * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
9202 * config/i386/xm-mingw32.h: Don't define
9203 HAVE_DOS_BASED_FILE_SYSTEM,
9204 DIR_SEPARATOR, or DIR_SEPARATOR_2.
9205 * doc/hostconfig.texi: Update to match.
9206
9207 * cppfiles.c, gcc.c, gensupport.c, protoize.c,
9208 config/i386/cygwin.h:
9209 Use IS_ABSOLUTE_PATH throughout.
9210 * gcc.c (DIR_UP): Delete, unused.
9211 * protoize.c (IS_SAME_PATH): Define in terms of
9212 FILENAME_CMP.
9213 (is_abspath): Delete.
9214
c51e6d85
KH
92152003-07-02 Kazu Hirata <kazu@cs.umass.edu>
9216
9217 * config/i386/emmintrin.h: Fix comment typos.
9218 * config/i386/i386.c: Likewise.
9219 * config/i386/i386.h: Likewise.
9220 * config/i386/sco5.h: Likewise.
9221 * config/ia64/ia64.c: Likewise.
9222 * config/ia64/itanium2.md: Likewise.
9223
5ec3a5a7
L
92242003-07-02 H.J. Lu <hongjiu.lu@intel.com>
9225
9226 * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
9227 DBX_USE_BINCL.
9228 (emit_bincl_stab): Same.
9229 (emit_pending_bincls): Same.
9230
fad37371
KH
92312003-07-02 Kazu Hirata <kazu@cs.umass.edu>
9232
9233 * config/h8300/h8300.c (compute_mov_length): Fix the length of
9234 loading CONST0_RTX (SFmode).
9235 * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
9236 'G' to CONST0_RTX (SFmode).
9237 * config/h8300/h8300.md (movsf_h8300): Change the first
9238 constraint to 'G'.
9239 (movsf_h8300h): Likewise.
9240
b86f6cd9
NB
92412003-07-02 Neil Booth <neil@daikokuya.co.uk>
9242
9243 * c-common.h (c_common_init_options): New prototype.
9244 * c-opts.c (deferred_size): Remove.
9245 (defer_opt): Array is now pre-allocated.
9246 (c_common_init_options): Pre-allocate deferred_opts. Make
9247 lang_flags unsigned.
9248 (push_command_line_options): Free deferred_opts.
9249 * hooks.c (hook_uint_uint_constcharptrptr_0): New.
9250 * hooks.h (hook_uint_uint_constcharptrptr_0): New.
9251 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
9252 * langhooks.h (struct lang_hooks): New prototype for init_options.
9253 * main.c (main): Cast argv.
9254 * opts.c (handle_option, handle_options): Update prototypes.
9255 (decode_options): save_argc, save_argv are not global. Constify.
9256 * opts.h (decode_options): New prototype.
9257 * toplev.c (general_init): New protoype.
9258 (save_argv): Make static.
9259 (save_argc): Remove.
9260 (print_switch_values, general_init): Constify.
9261 (toplev_main): Save argv.
9262 * toplev.h (toplev_main): Update prototype.
9263 (save_argc, save_argv): Remove.
9264
f23b9d52
DE
92652003-07-02 David Edelsohn <edelsohn@gnu.org>
9266
9267 * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
9268 (emit_bincl_stab): Same.
9269 (emit_pending_bincls): Same.
9270
300e89a2
NS
92712003-07-02 Nathan Sidwell <nathan@codesourcery.com>
9272
9273 PR c++/11072
9274 * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
9275
eaac6968
AS
92762003-07-02 Andreas Schwab <schwab@suse.de>
9277
9278 * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
9279
1a8c4ca6
EB
92802003-07-02 Eric Botcazou <ebotcazou@libertysurf.fr>
9281
9282 PR optimization/11210
9283 * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
9284 about the behaviour with regard to bitfields.
9285 * fold-const (decode_field_reference): Record outermost type in
9286 case the expression is a NOP. Strip all NOPs. Set the signedness
9287 to that of the outermost type (if any) when the bitsize is equal
9288 to the size of the type.
9289
23cdfcf7
RS
92902003-07-02 Richard Sandiford <rsandifo@redhat.com>
9291
9292 * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
9293 (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
9294 (adddi3_internal_3, addsi3_internal_2): Likewise.
9295
6f2993e5
RS
92962003-07-02 Richard Sandiford <rsandifo@redhat.com>
9297
9298 * config/mips/mips.c (machine_function): Add new fields:
9299 ignore_hazard_length_p and all_noreorder_p.
9300 (mips_flag_delayed_branch): New variable.
9301 (override_options): Treat '/' as an operand punctuation character.
9302 Set up mips_flag_delayed_branch.
9303 (print_operand): Handle '/'.
9304 (mips_output_function_prologue): Put the whole function in
9305 .set noreorder and .set nomacro if all_noreorder_p is true.
9306 (mips_output_function_epilogue): End the noreorder/nomacro sequence.
9307 (mips16_optimize_gp): Remove "first insn" parameter.
9308 (mips16_lay_out_constants): New function, split out from mips_reorg.
9309 (mips_avoid_hazard, mips_avoid_hazards): New functions.
9310 (mips_reorg): For mips16 code, call mips16_lay_out_constant
9311 and (optionally) mips16_optimize. If TARGET_EXPLICIT_RELOCS,
9312 do delayed-branch scheduling followed by hazard detection.
9313 (mips_adjust_insn_length): Only account for hazards if
9314 !ignore_hazard_length_p.
9315 (mips_output_load_label): Add a nop to the o32 sequence if
9316 the target suffers from load delays.
9317 (mips_output_conditional_branch): Add %/ to the end of branches.
9318 (mips_output_division): Fill the branch delay slot with %#.
9319 * config/mips/mips.md: Remove redundant '%*' from mips16 branch
9320 instructions. End all other %* branches with %/.
9321 (ffssi2, ffsdi2): Fix lengths.
9322 (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
9323 (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
9324 (fix_truncsfsi2_macro): Likewise.
9325 (mov_lwl): Set hazard to "none".
9326 (ashldi3_internal): Fill the branch delay slot with %#.
9327 (ashrdi3_internal, lshrdi3_internal): Likewise.
9328 (exception_receiver): Explicitly set $28.
9329 (hazard_nop): New pattern.
9330
602a82f3 93312003-07-02 Jan Hubicka <jh@suse.cz>
0184bd46
JH
9332
9333 * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
9334 before calling tree_inlinable_function_p.
9335
1a78e5a7
RO
93362003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9337
9338 * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
9339 <internal/stdio_core.h> too.
9340 (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
9341 <internal/wchar_core.h> too.
9342 Substitute va_list uses in inline definition.
9343 * fixinc/fixincl.x: Regenerate.
9344
4c82f12b
RO
93452003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9346
9347 * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
9348 Undef before redefinition.
9349 (LABEL_AFTER_LOC): Likewise.
9350 (DEFAULT_SIGNED_CHAR): Likewise.
9351 (ASM_OUTPUT_ASCII): Moved here from iris4.h.
9352 Fix IRIX spelling.
3dce1408 9353
4c82f12b
RO
9354 * config/mips/iris3.h: Remove, unused.
9355 * config/mips/iris4.h: Likewise.
9356
9357 * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
9358
9359 * config/mips/iris5.h (TARGET_DEFAULT): Move ...
9360 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
9361 target_cpu_default.
9362
9363 * config/mips/iris5.h: Move explicit includes ...
9364 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
3dce1408 9365
4c82f12b
RO
9366 * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
9367 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
9368 tm_defines.
9369
9370 * config/mips/iris6.h (TARGET_DEFAULT): Move ...
9371 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
9372 target_cpu_default.
9373
9374 * config/mips/iris6.h: Fix IRIX spelling.
9375 (MULTILIB_DEFAULTS): Undef before redefinition.
3dce1408 9376
4c82f12b
RO
9377 * config/mips/iris6.h: Move explicit includes ...
9378 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
9379
602a82f3 93802003-07-02 Jan Hubicka <jh@suse.cz>
8bd87c4e
JH
9381
9382 * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
9383 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
9384 Use next_needed field instead of aux to maintain the queue.
9385 * cgraph.h (cgraph_node): Add next_needed.
9386 (cgraph_varpool_node): Add next_needed; remove aux.
9387 * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
9388
602a82f3 93892003-07-02 Jan Hubicka <jh@suse.cz>
f6981e16
JH
9390
9391 * cgraphunit.c (cgraph_finalize_function): Set finalized.
9392 (cgraph_finalize_function): Do not examine inlinablility.
9393 (cgraph_finalize_compilation_unit): Do it here.
9394 * cgraph.h (cgraph_local_info): Add finalized field.
9395
d1c60855
RO
93962003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9397
9398 * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
9399 (gt_pch_restore): Likewise.
9400
093354e0
KH
94012003-07-01 Kazu Hirata <kazu@cs.umass.edu>
9402
9403 * config/alpha/alpha.c: Fix comment typos.
9404 * config/alpha/elf.h: Likewise.
9405 * config/arm/arm.c: Likewise.
9406 * config/arm/arm.h: Likewise.
9407 * config/arm/arm.md: Likewise.
9408 * config/arm/t-arm-coff: Likewise.
9409 * config/arm/t-strongarm-pe: Likewise.
9410 * config/arm/xscale-elf.h: Likewise.
9411 * config/avr/avr.h: Likewise.
9412
ce47ca44
JL
94132003-07-01 Jeff Law <law@redhat.com>
9414
9415 * stmt.c (any_pending_cleanups): Remove another redundant test.
9416
43b68ce5
DE
94172003-07-01 David Edelsohn <edelsohn@gnu.org>
9418 J"orn Rennecke <joern.rennecke@superh.com>
9419
9420 * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
9421 for MEM case.
9422
33e9d2aa
DP
94232003-07-01 Devang Patel <dpatel@apple.com>
9424
9425 * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
9426 (binclstatus): New.
3dce1408 9427 (struct dbx_file): New members - bincl_status, pending_bincl_name and
33e9d2aa
DP
9428 prev.
9429 (pending_bincls): New.
9430 (dbxout_init): Initialize new dbx_file members.
9431 (dbxout_start_source_file): Same.
9432 (emit_bincl_stab): New function.
9433 (emit_pending_bincls): Same.
9434 (emit_pending_bincls_if_required): Same.
3dce1408 9435 (dbxout_end_source_file): Emit EINCL stab only if BINCL is already
33e9d2aa
DP
9436 processed.
9437 (dbxout_begin_block): Emit pending BINCL stabs.
9438 (dbxout_end_block): Same.
9439 (dbxout_function_decl): Same.
9440 (dbxout_continue): Same.
9441 (dbxout_type): Same.
9442 (dbxout_class_name_qualifiers): Same.
9443 (dbxout_symbol): Same.
9444 (dbxout_symbol_location): Same.
9445 (dbxout_parms): Same.
3dce1408 9446
0108ae51
KG
94472003-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9448
9449 * c-semantics.c (genrtl_case_label): Fix format specifier bug.
9450 * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
9451
54ced33d
AJ
94522003-07-01 Andreas Jaeger <aj@suse.de>
9453
9454 * fold-const.c: Convert prototypes to ISO C90.
9455 * function.c: Likewise.
9456 * function.h: Likewise.
9457
c0cbdbd9
KH
94582003-07-01 Kazu Hirata <kazu@cs.umass.edu>
9459
9460 * doc/contrib.texi: Fix typos.
9461 * doc/invoke.texi: Likewise.
9462 * doc/passes.texi: Likewise.
9463 * doc/sourcebuild.texi: Likewise.
9464 * doc/tm.texi: Likewise.
9465
e0bb17a8
KH
94662003-07-01 Kazu Hirata <kazu@cs.umass.edu>
9467
9468 * basic-block.h: Fix comment typos.
9469 * bb-reorder.c: Likewise.
9470 * c-format.c: Likewise.
9471 * cfgcleanup.c: Likewise.
9472 * cfghooks.h: Likewise.
9473 * cfgloop.c: Likewise.
9474 * cfgloopmanip.c: Likewise.
9475 * cfgrtl.c: Likewise.
9476 * cgraph.h: Likewise.
9477 * cgraphunit.c: Likewise.
9478 * combine.c: Likewise.
9479 * convert.c: Likewise.
9480 * dbxout.c: Likewise.
9481 * df.c: Likewise.
9482 * df.h: Likewise.
9483 * diagnostic.c: Likewise.
9484 * dwarf2out.c: Likewise.
9485 * et-forest.h: Likewise.
9486 * flow.c: Likewise.
9487 * fold-const.c: Likewise.
9488 * function.h: Likewise.
9489 * gcov-io.h: Likewise.
9490 * gcov.c: Likewise.
9491 * gcse.c: Likewise.
9492 * genautomata.c: Likewise.
9493 * ggc-common.c: Likewise.
9494 * ggc-page.c: Likewise.
9495 * loop-unroll.c: Likewise.
9496 * loop-unswitch.c: Likewise.
9497 * loop.c: Likewise.
9498 * mips-tfile.c: Likewise.
9499 * optabs.c: Likewise.
9500 * ra-build.c: Likewise.
9501 * ra-colorize.c: Likewise.
9502 * ra-rewrite.c: Likewise.
9503 * ra.h: Likewise.
9504 * regmove.c: Likewise.
9505 * reload.c: Likewise.
9506 * rtlanal.c: Likewise.
9507 * sched-ebb.c: Likewise.
9508 * sched-int.h: Likewise.
9509 * sched-vis.c: Likewise.
9510 * sreal.c: Likewise.
9511 * ssa-ccp.c: Likewise.
9512 * ssa.c: Likewise.
9513 * toplev.c: Likewise.
9514 * tree-inline.c: Likewise.
9515 * value-prof.c: Likewise.
9516 * value-prof.h: Likewise.
9517
5f2fc772
NS
95182003-07-01 Nathan Sidwell <nathan@codesourcery.com>
9519
9520 * rtl.h (emit_line_note_after): Remove.
9521 (emit_note_copy_after, emit_note_copy): New.
9522 * emit-rtl.c (reorder_insns_with_line_notes): Replace
9523 emit_line_note_after with emit_note_copy_after.
9524 (emit_insn_after_with_line_notes): Likewise.
9525 (emit_line_note_after): Kill.
9526 (emit_note_copy_after): New.
9527 (emit_note_copy): New.
9528 * function.c (emit_return_into_block): Use emit_note_copy_after.
9529 (thread_prologue_and_epilogue_insns): Likewise.
9530 * integrate.c (expand_inline_function): Use emit_note_copy.
9531 (copy_insn_list): Likewise.
9532 * unroll.c (copy_loop_body): Likewise.
9533 * cfglayout.c (duplicate_insn_chain): Likewise.
9534
5b030314
NS
95352003-07-01 Nathan Sidwell <nathan@codesourcery.com>
9536
9537 * c-tree.h (define_label): Replace filename and lineno arguments
9538 with a location_t.
9539 * c-decl.c (poplevel): Adjust define_label call.
9540 (pop_label_level): Likewise.
9541 (define_label): Replace filename and lineno arguments with a
9542 location_t.
9543 (store_parm_decls): Use DECL_SOURCE_LOCATION.
9544 * c-parse.in (label): Adjust define_label call.
9545
04df6730
NB
95462003-07-01 Neil Booth <neil@daikokuya.co.uk>
9547
9548 * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
9549 config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
9550 config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
9551 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
9552 config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
9553
6cf9ac28
AJ
95542003-07-01 Andreas Jaeger <aj@suse.de>
9555
9556 * final.c: Convert prototypes to ISO C90.
9557 * flow.c: Likewise.
9558 * flags.h: Likewise.
9559 * gcov-io.c: Likewise.
9560 * gcov-io.h: Likewise.
9561
2a868fac 9562See ChangeLog.9 for earlier changes.
This page took 1.320876 seconds and 5 git commands to generate.