]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
types.c (double): Add AIX and Darwin to the right TYPEDEF.
[gcc.git] / gcc / ChangeLog
CommitLineData
1d6ba901
ZD
12003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2
f857cb42 3 PR target/11674
1d6ba901
ZD
4 * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
5
96123432
RS
62003-09-18 Roger Sayle <roger@eyesopen.com>
7
8 * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
9 PARITY_EXPR): Delete unused tree codes.
10 * c-common.c (c_common_truthvalue_conversion): Delete references
11 to FFS_EXPR and POPCOUNT_EXPR.
12 * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
13 (pp_c_expression): Likewise.
14 * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
15 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
16 * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
17 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR. Add support for calls to
18 BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
19 and long long variants.
20
53de5204
GDR
212003-09-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
22
23 * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
24 * c-pretty-print.c: Fix formatting.
25 (pp_c_integer_constant): Append type annotation to literals. Tidy.
26 (pp_c_type_specifier): Tidy.
27 (pp_c_compound_literal): New function.
28 (pp_c_initializer): Simplify..
29 (pp_c_initializer_list): Likewise.
30 (pp_c_brace_enclosed_initializer_list): New function.
31 (pp_c_postfix_expression): Simplify.
32
feb297fe
AO
332003-09-17 Alexandre Oliva <aoliva@redhat.com>
34
35 * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
36 one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
37
5d4854c8
RH
382003-09-17 Richard Henderson <rth@redhat.com>
39
40 * tree-optimize.c (tree_rest_of_compilation): Save and restore
41 input_location.
42
ce7e7ceb
DJ
432003-09-17 Daniel Jacobowitz <drow@mvista.com>
44
45 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
46
7d8405cf
RH
472003-09-17 Richard Henderson <rth@redhat.com>
48
49 * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
50
dc5f3d7c
RO
512003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
52
53 * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
54 * configure: Regenerate.
55
47aa0df4
MM
562003-09-17 Mark Mitchell <mark@codesourcery.com>
57
58 PR debug/12066
59 * dbxout.c (dbxout_init): Use a langhook to find builtin types.
60 * langhooks-def.h (lhd_return_null_tree_v): New function.
61 (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
62 (LANG_HOOKS_DECLS): Add it to the intializer.
63 * langhooks.c (lhd_return_null_tree_v): New function.
64 * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
65
eeae7b41
DJ
662003-09-17 Daniel Jacobowitz <drow@mvista.com>
67
68 * configure.in: Quote gcc_config_arguments for configargs.h.
69 * configure: Regenerated.
70 * gccbug.in: Don't shell-expand gcc_config_arguments.
71
44f8f96a
GDR
722003-09-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
73
74 PR c++/11357
75 * c-pretty-print.c (pp_c_floating_constant): Append
76 type-annotation to floating constants.
77
a192710e
RO
782003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
79
80 * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
81 Define _ABIO32.
82 Use it for _MIPS_SIM.
83 * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
84
85 * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
86 Moved ...
87 * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
88 updating comment.
89 Fixes PR target/10190.
90
43bc5d6b
DJ
912003-09-17 Daniel Jacobowitz <drow@mvista.com>
92
93 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
94 to shared libraries.
95
0b75beaa
EB
962003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr>
97
98 PR optimization/11646
99 * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
100 EDGE_ABNORMAL flag for EH edges.
101 * toplev.c (rest_of_handle_cse): Delete unreachable blocks
102 if dead edges were purged.
103
e2ffd796
BI
1042003-09-16 Bernardo Innocenti <bernie@develer.com>
105
106 * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
107 * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
108 * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
109 * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
110
1dd61cb4
ILT
1112003-09-16 Ian Lance Taylor <ian@wasabisystems.com>
112
113 * cfgcleanup.c (label_is_jump_target_p): Correct use of table
114 returned by tablejump_p.
115
1e290ba1
JB
1162003-09-16 Joel Brobecker <brobecker@gnat.com>
117
118 * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
119
0c6d17ec
RS
1202003-09-16 Roger Sayle <roger@eyesopen.com>
121
122 PR bootstrap/12269
123 * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
124 argument to be VOIDmode, taking the mode of the comparison from
125 the operands. Only call simplify_relational_operation if we
126 know the mode of the comparison. Honor FLOAT_STORE_FLAG_VALUE
127 if comparison has a floating point result. Ensure that the
128 result is always of the specified mode.
129 (simplify_replace_rtx): Simplify call to simplify_gen_relational.
130 (simplify_unary_operation): Ensure the correct mode and cmp_mode
131 are always passed to simplify_gen_relational. Simplify NOT of
132 comparison operator in any mode, not just BImode.
133 (simplify_ternary_operation): Correct tests on the return value
134 of simplify_relational_operation to use const_true_rtx, not
135 const1_rtx. Abort if it ever returns a non-constant result.
136
137 * cfgloopanal.c (count_strange_loop_iterations): Use the function
138 simplify_relational_operation, not simplify_gen_relational, if
139 we're only interested in constant comparisons and will ignore
140 non-constant results.
141
37af03cb
RS
1422003-09-16 Roger Sayle <roger@eyesopen.com>
143
144 * fold-const.c (tree_swap_operands_p): New function to determine
145 the prefered ordering of operands.
146 (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
147 operands to commutative, comparison or ternary operators. Replace
148 uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
149 transformation of A ? B : C into !A ? C : B.
150
42df2193
JJ
1512003-09-16 Jakub Jelinek <jakub@redhat.com>
152
153 * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
154 * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
155 * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
156 * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
157 * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
158 * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
159 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
160 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
161
72954a4f
JM
1622003-09-16 Jason Merrill <jason@redhat.com>
163 Jakub Jelinek <jakub@redhat.com>
164
165 * c-common.c (handle_warn_unused_result_attribute): New function.
166 (c_common_attribute_table): Add warn_unused_result.
167 (c_expand_expr): Issue warning when result of inlined function
168 with warn_unused_result attribute is ignored.
169 * calls.c (expand_call): Issue warning when result of function
170 with warn_unused_result attribute is ignored.
171 * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
172 * expr.c (expr_wfl_stack): Define.
173 (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
174 pass const0_rtx as target. Chain locations into expr_wfl_stack.
175 * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
176 bit if inlined function has warn_unused_result attribute.
177 * input.h (expr_wfl_stack): Declare.
178 * doc/extend.texi: Document warn_unused_result attribute.
179
5a8a65b1
AO
1802003-09-15 Alexandre Oliva <aoliva@redhat.com>
181
182 * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
183
cadafd1f
BW
1842003-09-15 Bob Wilson <bob.wilson@acm.org>
185
186 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
187 ATTRIBUTE_UNUSED.
188 (call_insn_operand): For PIC, don't allow a direct call to a
189 function in a different section than the current one.
190
fb0317c6
VR
1912003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
192
193 * doc/invoke.texi (Warning Options): Add missing hyphen before
194 "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
195 Move "-Wold-style-definition" to the C-only section.
196 Fix the ordering of the warning options.
197
d088acea
ZD
1982003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
199 Jeff Law <law@redhat.com>
200
201 * gcse.c (remove_reachable_equiv_notes): New.
202 replace_store_insn): Call it. Update antic list.
203 (store_killed_in_insn): Take REG_EQUAL notes into account.
204 (build_store_vectors, delete_store): Add parameter to
205 replace_store_insn call.
206
b9397bb4
BW
2072003-09-15 Bob Wilson <bob.wilson@acm.org>
208
209 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
210 SYMBOL_REF_LOCAL_P.
211
d3704c46
KH
2122003-09-15 Kazu Hirata <kazu@cs.umass.edu>
213
214 * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
215 (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
216 * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
217 Likewise.
218 * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
219 Likewise.
220 * config/rs6000/rs6000.c (function_arg_padding): Likewise.
221 * config/sparc/sparc.c (function_arg_padding): Likewise.
222
3d9b0280
VM
2232003-09-15 Vladimir Makarov <vmakarov@redhat.com>
224
225 * haifa-sched.c (schedule_block): Use ready_remove_first instead
226 of choose_ready for non-dfa insn scheduling.
227
2352184a
AJ
2282003-09-15 Andreas Jaeger <aj@suse.de>
229 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
230
231 * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
232 * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
233 * c-parse.in: Warn about old-style parameter definition.
234 * c-common.c: Define warn_old_style_defintion.
235 * c-common.h: Declare it.
236 * c.opt: Add Wold-style-defintion.
237
863d938c
AJ
2382003-09-15 Andreas Jaeger <aj@suse.de>
239
240 * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
241 * config/rs6000/rs6000.c: Likewise.
242
ec6ec6aa
ZD
2432003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
244
245 PR optimization/10914
246 * expr.h (get_condition, canonicalize_condition): Declaration changed.
247 * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
248 and canonicalize_condition calls.
249 * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
250 delete_null_pointer_checks): Ditto.
251 * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
252 * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
253 * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
254 (canonicalize_condition, get_condition): Allow to return comparisons
255 of cc mode registers.
256 * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
257 cc mode registers comparison in condition.
258
a7e8c268
MM
2592003-09-12 Mark Mitchell <mark@codesourcery.com>
260
261 * coverage.c (create_coverage): Do not call pushlevel/poplevel.
262 * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
263 function.
264 * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
265
5565e874
KH
2662003-09-14 Kazu Hirata <kazu@cs.umass.edu>
267
268 * combine.c (simplify_comparison): Convert
269 (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
270 (eq (and (lshiftrt X Y) 1) 0).
271
83a00410
KH
2722003-09-14 Kazu Hirata <kazu@cs.umass.edu>
273
274 * alias.c: Follow spelling conventions.
275 * cpphash.h: Likewise.
276 * fold-const.c: Likewise.
277
7b9a5a66
AO
2782003-09-14 Alexandre Oliva <aoliva@redhat.com>
279
280 * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
281 * c-lex.c (cb_line_change): Skip line changing whenever
282 c-ppoutput.c would.
283
93bad80e
SB
2842003-09-14 Steven Bosscher <steven@gcc.gnu.org>
285
286 * ra.c: Convert to ISO C90 prototypes.
287 * ra-build.c: Likewise.
288 * ra-colorize.c: Likewise.
289 * ra-debug.c: Likewise.
290 * ra-rewrite.c: Likewise.
291
3983d33e
RS
2922003-09-14 Richard Sandiford <rsandifo@redhat.com>
293
294 * Makefile.in (%.dvi): Remove excess $(docdir).
295
975f3818
RS
2962003-09-14 Richard Sandiford <rsandifo@redhat.com>
297
298 * function.c (STACK_BYTES): Move definition to head of file.
299 (assign_parms): Don't pass current_function_pretend_args_size
300 directly to SETUP_INCOMING_VARARGS. For partial register arguments,
301 round current_function_pretend_args_size up to STACK_BYTES. Skip any
302 excess before laying out the argument.
303
011d50d9
AJ
3042003-09-14 Andreas Jaeger <aj@suse.de>
305
306 * objc/objc-act.c: Convert to ISO C90 prototypes.
307 * objc/objc-act.h: Likewise.
308
3092003-09-14 Olaf Hering <olh@suse.de>
310
311 * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
312
876455fa
AP
3132003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
314
6ef3d457
AP
315 PR target/12021
316 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
317 as they already are done in config/m68k/m68k.h.
318 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
319
876455fa
AP
320 * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
321 (machopic_output_stub): Only generate pic base symbols when using pic
322 and generate them in the form L00000000$spb.
323
f6d1b84a
RH
3242003-09-13 Richard Henderson <rth@redhat.com>
325
326 * cgraphunit.c (cgraph_assemble_pending_functions): Export.
327 (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
328 * cgraph.h: Update.
329
d779d0dc 3302003-09-12 Dale Johannesen <dalej@apple.com>
f6d1b84a 331
d779d0dc
DJ
332 * config/rs6000/rs6000.c: Fix typos in previous.
333
c4555dd9
ZL
3342003-09-12 Ziemowit Laski <zlaski@apple.com>
335
336 * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
337 when allocating pp->buffer.
338
2e53734e
GK
3392003-09-12 Geoffrey Keating <geoffk@apple.com>
340
341 * config/darwin.c (machopic_select_rtx_section): Use
342 const_data_section for things that might require relocation.
343
edeb3871
L
3442003-09-12 H.J. Lu <hongjiu.lu@intel.com>
345
346 PR bootstrap/12264
347 * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
348
6cedbe44
BW
3492003-09-12 Bob Wilson <bob.wilson@acm.org>
350
351 * config/xtensa/elf.h (ASM_SPEC): Remove no-density option. Reformat.
352 * config/xtensa/linux.h (ASM_SPEC): Likewise.
353 * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
354 -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
355 -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
356 -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
357 -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
358 -m[no-]hard-float-rsqrt options. Delete corresponding MASK_* macros
359 and redefine corresponding TARGET_* macros with constants from the
360 xtensa-config.h header.
361 * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
362 for the options listed above.
363
317feb46
DE
3642003-09-12 Dale Johannesen <dalej@apple.com>
365
a2369ed3
DJ
366 * config/rs6000/rs6000-protos.h: Use C90 prototypes.
367 * config/rs6000/rs6000-c.c: Ditto.
368 * config/rs6000/rs6000.c: Ditto.
369 * config/rs6000/ sysv4.h: Ditto.
370
4ca0d6d4
CL
3712003-09-12 Chris Lattner <sabre@nondot.org>
372
373 * loop.c: Move comments describing BIV's and GIV's to top of file
374
d2399d75
RS
3752003-09-12 Roger Sayle <roger@eyesopen.com>
376
377 PR optimization/8967
378 * alias.c (write_dependence_p): Modify to take an additional constp
379 argument that controls whether the UNCHANGING_RTX_P flags are used.
380 (anti_dependence, output_dependence): Adjust write_dependence_p
381 callers to pass this additional argument, to return the same result.
382 (unchanging_anti_dependence): New variant of anti_dependence that
383 ignores the UNCHANGING_RTX_P property on memory references.
384 * rtl.h (unchaning_anti_dependence): Prototype here.
385 * flow.c (init_propagate_block): Place fake constant mem writes on
386 the mem_set_list so that dead writes to const variables are deleted.
387 (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
388 (mark_used_regs): Likewise.
389
f0f4da32
RS
3902003-09-12 Richard Sandiford <rsandifo@redhat.com>
391
392 * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
393 (mcore_secondary_reload_class): Declare.
394 (mcore_output_inline_const_forced): Remove.
395 * config/mcore/mcore.md (movsi): Remove the code that forced
396 non-inlineable constants into a register if the target was r15
397 or the stack pointer. Remove constant restrictions from the main
398 define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
399 of an r <- P alternative. Remove fallback define_insn for reload.
400 (movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
401 define_insn. Use mcore_output_move in the remaining define_insn.
402 Adjust condition and constraints in the way as for movsi.
403 (movdi): Always split unacceptable constants into two. Use
404 simplify_gen_subreg instead of operand_subword{,_force}.
405 * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
406 (mcore_output_move): Support HImode and QImode moves as well.
407 (mcore_m15_operand_p): New function.
408 (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
409 (mcore_secondary_reload_class): New function.
410 * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
411 terms of mcore_secondary_reload_class.
412
70b16073
MS
4132003-09-11 Mike Stump <mrs@apple.com>
414
415 * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
416
ab01a87c
KG
4172003-09-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
418
fe27b7cc
KG
419 * builtins.c (fold_builtin_logarithm): if N can't be truncated to
420 MODE exactly, then only convert logN(N) -> 1.0 if
421 flag_unsafe_math_optimizations is set.
422
ab01a87c
KG
423 * builtins.c (builtin_dconsts_init, dconstpi, dconste,
424 init_builtin_dconsts): Delete.
425 * emit-rtl.c (dconstpi, dconste): Define.
426 (init_emit_once): Initialize dconstpi & dconste.
427 * real.h (dconstpi, dconste): Declare.
428
9bdca184
AO
4292003-09-11 Alexandre Oliva <aoliva@redhat.com>
430
431 PR fortran/11522
432 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
433 for ultimate origin even if block is abstract.
434
aa166939
RS
4352003-09-11 Roger Sayle <roger@eyesopen.com>
436
437 * combine.c (combine_simplify_rtx): Move several NOT and NEG
438 optimizations from here...
439 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
440 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
441
6b00c969
RH
4422003-09-11 Richard Henderson <rth@redhat.com>
443
444 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
445 Tweek tests for function already generated.
446 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
447 * cgraph.h (cgraph_finalize_function): Update for extra arg.
448 * c-decl.c (finish_function): Likewise.
449
dd5c7759
JB
4502003-09-10 Joe Buck <jbuck@welsh-buck.org>
451
452 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
453
64871887
JQ
4542003-09-10 Jerry Quinn <jlquinn@optonline.net>
455
456 * real.c: Update URL to VAX floating point docs.
457 (decode_vax_d): Extract 8 exponent bits instead of 7.
458
50b29dbb
ILT
4592003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
460
461 * combine.c (force_to_mode): Set fuller_mask based only on mask,
462 not op_mode.
463
602a82f3 4642003-09-11 Jan Hubicka <jh@suse.cz>
f08545a8
JH
465
466 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
467 on why function is not inlinable; do not check
468 the body.
469 (inline_forbidden_p): Move to...
470 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
471 deal with alloca, longjmp.
472 (inline_forbidden_p): New static function.
473 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
474 find_builtin_longjmp_call): Kill.
475
25c84396
RH
4762003-09-10 Richard Henderson <rth@redhat.com>
477
478 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
479 * cgraphunit.c: Update to match.
480 (record_call_1): Rearrange. Call lang hook for language nodes.
481 (cgraph_analyze_function): Don't call lower_function.
482 * langhooks.h (struct lang_hooks_for_callgraph): Replace
483 lower_function with analyze_expr.
484 * langhooks-def.h: Update to match.
485 * langhooks.c (lhd_callgraph_analyze_expr): New.
486
1c8b4e29
EB
4872003-09-10 Martin Husemann <martin@duskware.de>
488
489 PR target/11965
490 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
491 constants greater than 63.
492 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
493 against constants greater than 31.
494 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
495 constants greater than 63.
496
39adabaf
RH
4972003-09-09 Richard Henderson <rth@redhat.com>
498
499 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
500 * cgraph.h (cgraph_finalize_function): Update.
501 * c-decl.c (finish_function): Update.
e62f462e
DP
502
5032003-09-09 Devang Patel <dpatel@apple.com>
504
505 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
506 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
507
bace148a
EC
5082003-09-09 Eric Christopher <echristo@redhat.com>
509
510 * configure.in: Change usage of 'head' to 'sed 1q'.
511 * configure: Regenerate.
512
dd07abd7
RH
5132003-09-09 Richard Henderson <rth@redhat.com>
514
515 * except.c: Include cgraph.h.
516 (output_function_exception_table): Invoke
517 cgraph_varpool_mark_needed_node.
518 * Makefile.in (except.o): Update.
519
7f5cc0f3
KC
5202003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
521
522 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
523 and use it throughout.
524
f7657db9
KG
5252003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
526
527 * builtins.c (real_dconstp, fold_builtin_logarithm,
528 fold_builtin_exponent): New, split out from fold_builtin. Also
529 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
530 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
531 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
532 of hardcoded array size.
533 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
534 (tree_expr_nonnegative_p): Likewise.
535 * real.h (dconst3, dconst10, dconstthird): New.
536
602a82f3 5372003-09-09 Jan Hubicka <jh@suse.cz>
cd4dea62
JH
538
539 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
540 inline functions.
541 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
542 DECL_SAVED_TREE.
543
892955bf
RS
5442003-09-09 Roger Sayle <roger@eyesopen.com>
545
546 * builtins.c (fold_builtin_cabs): Protect the complex argument
547 against multiple evaluation when optimizing cabs* into sqrt*.
548
602a82f3 5492003-09-09 Jan Hubicka <jh@suse.cz>
f0985900
JH
550
551 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
552
94fd5176
KC
5532003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
554
555 * Makefile.in: Revert yesterday's change.
556
860c4900
BI
5572003-09-08 Bernardo Innocenti <bernie@develer.com>
558 Peter Barada <peter@baradas.org>
559
560 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
561 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
562 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
563 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
564 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
565 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
566 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
567 (m68k_compute_frame_layout): New function.
568 (m68k_initial_elimination_offset): New function.
569 (m68k_output_function_prologue): ColdFire-specific movem handling.
570 (m68k_output_function_epilogue): Likewise.
571 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
572 (ARG_POINTER_REGNUM): Add new definition.
573 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
574 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
575 (CAN_ELIMINATE): Likewise.
576 (INITIAL_ELIMINATION_OFFSET): Likewise.
577
ed311a33
BI
5782003-09-08 Bernardo Innocenti <bernie@develer.com>
579
580 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
581 by removing redundant variable cfa_store_offset.
582
9649812a
MM
5832003-09-08 Mark Mitchell <mark@codesourcery.com>
584
585 * langhooks-def.h (lhd_register_builtin_type): New function.
586 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
587 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
588 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
589 * langhooks.c (lhd_register_builtin_type): New function.
590 * c-common.h (c_register_builtin_type): Declare.
591 * c-common.c (c_register_builtin_type): New function.
592 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
593 c_register_builtin_type.
594 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
595 __float80, and __float128 macros.
596 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
597 __float80, and __float128 types.
598
11bf0eb0
KG
5992003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
600
601 * builtin-types.def
602 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
603 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
604 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
605 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
606 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
607 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
608 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
609 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
610 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
611 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
612 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
613 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
614 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
615 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
616 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
617 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
618 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
619 New.
620 * doc/extend.texi: Document new builtins.
621
602a82f3 6222003-09-09 Jan Hubicka <jh@suse.cz>
d853a20e
JH
623
624 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
625 finalization.
626 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
627 functions, check for COMDAT.
628 (cgraph_assemble_pending_functions): Break out from...
629 (cgraph_finalize_function): ... here; allow redefinig of extern inline
630 functions.
631 (record_call_1): Record function references only in non-unit-at-a-time
632 mode.
633 (cgraph_analyze_function): Reset current_function_decl.
634 (cgraph_finalize_compilation_unit): Assemble pending functions.
635
3d81ccc6
MM
6362003-09-08 Mark Mitchell <mark@codesourcery.com>
637
638 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
639 (libgov.a): Likewise.
640 (libgcc_eh.a): Likewise.
641
fae111c1
RS
6422003-09-08 Roger Sayle <roger@eyesopen.com>
643
644 * fold-const.c (operand_equal_p): Clarify documentation.
645
c1f927e8
RH
6462003-09-08 Richard Henderson <rth@redhat.com>
647
648 * c-decl.c (c_expand_body_1): Push and pop function context here.
649 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
650 nested argument instead of computing nesting ourselves.
651
7f14bbe6
JJ
6522003-09-08 Jakub Jelinek <jakub@redhat.com>
653
654 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
655 regstack if optimizing but not scheduling after reload.
656
5751a10b
JJ
6572003-09-08 Jakub Jelinek <jakub@redhat.com>
658
659 * config/sparc/sparc.c (struct machine_function): New type.
660 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
661 (sparc_override_options): Initialize init_machine_status.
662 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
663 tie_symbolic_operand, tle_symbolic_operand): New functions.
664 (symbolic_operand): Disallow tls_symbolic_operand.
665 (symbolic_memory_operand): Likewise.
666 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
667 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
668 New functions.
669 (sparc_tls_symbol): New variable.
670 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
671 legitimize_address): New functions.
672 (print_operand): Handle %&.
673 (sparc_init_machine_status, get_some_local_dynamic_name,
674 get_some_local_dynamic_name_1): New functions.
675 (sparc_output_dwarf_dtprel): New function.
676 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
677 constant_address_p.
678 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
679 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
680 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
681 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
682 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
683 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
684 (ASM_OUTPUT_DWARF_DTPREL): Define.
685 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
686 tie_symbolic_operand, tle_symbolic_operand.
687 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
688 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
689 (tls_call_delay): New attribute.
690 (in_call_delay): Use it.
691 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
692 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
693 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
694 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
695 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
696 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
697 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
698 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
699 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
700 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
701 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
702 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
703 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
704 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
705 insns.
706 * config/sparc/sparc-protos.h (legitimate_constant_p,
707 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
708 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
709 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
710 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
711 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
712 * configure.in (sparc*-*-*): Add TLS check.
713 * configure: Rebuilt.
714
7b65ed54
EB
7152003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
716
717 PR target/11689
718 * config/i386/i386.c (memory_address_length): Fix computation when
719 the base is esp or ebp.
720
cf9ad9a7
MM
7212003-09-07 Mark Mitchell <mark@codesourcery.com>
722
723 PR c++/11852
724 * varasm.c (initializer_constant_valid_p): Correct logic for
725 CONSTRUCTORs.
726
eb698c58
RS
7272003-09-07 Roger Sayle <roger@eyesopen.com>
728
729 * expr.c (expand_operands): New function to expand an operand pair.
730 (expand_expr): Call expand_operands whenever we need to expand both
731 operands of a binary operator.
732 (do_store_flag): Likewise for operands of comparison operations.
733
4f61b3b7
RS
7342003-09-07 Roger Sayle <roger@eyesopen.com>
735
736 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
737 (-A)*B if we care about sign-dependent rounding.
738
a2a9e21c
GDR
7392003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
740
741 * c-pretty-print.h (pp_c_left_brace): Declare.
742 (pp_c_right_brace): Likewise.
743 * c-pretty-print.c (pp_c_left_brace): Now a function
744 (pp_c_right_brace): Likewise.
745
602a82f3 7462003-09-07 Jan Hubicka <jh@suse.cz>
1ab237df
JH
747
748 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
749
43f9ce02
GDR
7502003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
751
752 * diagnostic.c (warn_deprecated_use): Move to toplev.c
753
dba65e79
GDR
7542003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
755
756 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
757 * Makefile.in (langhooks.o): Depend on diagnostic.h
758
10ef35a9
JW
7592003-09-06 James E Wilson <wilson@tuliptree.org>
760
761 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
762 simplify.
763
9aec989f
KC
7642003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
765
766 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
767 and use it throughout.
bace148a 768
9aec989f 7692003-09-07 Jan Hubicka <jh@suse.cz>
7e668417 770
470d9044
JH
771 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
772
7e668417 773 * toplev.c (rest_of_decl_compilation): Do not finalize external
bace148a 774 virables.
7e668417 775
ba245151
JH
776 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
777 functions.
778 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
779
9aec989f 7802003-09-06 Jan Hubicka <jh@suse.cz>
9778f2f8
JH
781
782 PR target/12070
783 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
784
785 PR opt/12082
786 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
787
0761f342
GDR
7882003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
789
790 * diagnostic.c (announce_function): Move to toplev.c.
791
bad998e0
ZD
7922003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
793
794 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
795 volatile mem.
796
d85a0aae
KG
7972003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
798
799 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
800 when gc checking is enabled.
801
03845b47
SB
8022003-09-06 Steven Bosscher <steven@gcc.gnu.org>
803
804 PR c/9862
805 * c-decl.c (c_expand_body_1): Move return warning from here...
806 (finish_function): ...to here.
807
c55a59cc
GK
8082003-09-05 Geoffrey Keating <geoffk@apple.com>
809
810 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
811 a subset of the input class.
812
e86ac6af
KH
8132003-09-05 Kazu Hirata <kazu@cs.umass.edu>
814
815 * config/i860/i860.c: Follow spelling conventions.
816 * config/i860/i860.h: Likewise.
817 * config/sh/sh.h: Likewise.
818
c87ec0ba
NY
8192003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
820
821 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
822 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
823 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
824
31ff3e0b
RS
8252003-09-05 Roger Sayle <roger@eyesopen.com>
826 Richard Henderson <rth@redhat.com>
827
828 PR optimization/1823
829 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
830 multiplication to implement division by constant integer.
831
602a82f3 8322003-09-05 Jan Hubicka <jh@suse.cz>
1f95c733
JH
833
834 * opts.c (decode_options): Enable unit-at-a-time at -O2.
835 * params.def (max-inline-insns-single): Set to 500
836 (max-inline-insns-auto): Set to 150
837 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
838
8dafba3c
RH
8392003-09-04 Richard Henderson <rth@redhat.com>
840
841 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
842 (cgraph_mark_needed_node): Remove needed argument.
843 * cgraph.h: Update to match.
844 * cgraphunit.c (decide_is_function_needed): Split out from ...
845 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
846 if we generated the function.
847 (record_call_1): Update for cgraph_mark_reachable_node.
848 * varasm.c (mark_referenced): Likewise.
849 * objc/objc-act.c (mark_referenced_methods): Likewise.
850
dd37c5a0
DD
8512003-09-04 DJ Delorie <dj@redhat.com>
852
853 * targhooks.c: Add comment explaining the migration process.
854
3922e7c1
EC
8552003-09-04 Eric Christopher <echristo@redhat.com>
856
857 * config/frv/t-frv: Fix path for frv-abi.h.
858 * config/frv/frv-asm.h: Fix string concatenation.
859
92f6864c
DD
8602003-09-04 DJ Delorie <dj@redhat.com>
861
862 * builtins.c (apply_args_size): Guard against a NULL cfun.
863 (expand_builtin_apply_args_1): Likewise.
92f6864c 864 (expand_builtin_apply): Likewise.
3f571a78 865 Fixes PR bootstrap/12172.
92f6864c 866
f6f5dff2
RO
8672003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
868
869 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
870 assembler supports Sun syntax for cmov.
871 * configure: Regenerate.
872 * config.in: Likewise.
873 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
3922e7c1 874 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
f6f5dff2
RO
875 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
876 Fixes PR target/12101.
877
47ab33b2
MA
8782003-09-04 Matt Austern <austern@apple.com>
879
880 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
881 with verbosity 0, instead of DECL_NAME, for human-readable string.
3922e7c1 882
be6acd4b
EC
8832003-09-04 Eric Christopher <echristo@redhat.com>
884
885 * targhooks.c (default_return_in_memory): Allow
886 unconverted ports.
887
33d05111
EC
8882003-09-04 Eric Christopher <echristo@redhat.com>
889
890 * targhooks.c (default_return_in_memory): Fix typo
891 in last checkin.
892
ed75b1d6
EC
8932003-09-04 Eric Christopher <echristo@redhat.com>
894
895 * targhooks.c (default_return_in_memory): Fix default
896 definition.
897
45849738
BI
8982003-09-04 Bernardo Innocenti <bernie@develer.com>
899
900 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
901 deleted function.
902 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
903 enable coff-only code in m68k.c.
904
232830b7
NC
9052003-09-04 Nick Clifton <nickc@redhat.com>
906
907 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
908 v850e1.
909 * config/v850/v850.h: Accept v850e1 as a default CPU.
910 Accept -mv850e1 as a command line option.
911 * doc/invoke.texi: Document new -mv850e1 command line switch.
912 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
913 -mv850e.
914
c490cc89
NC
9152003-09-04 Nick Clifton <nickc@redhat.com>
916
917 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
918 * config/v850/t-v850: Only produce one extra multilib - for
919 the v850e.
920 * config/v850/t-v850e: New file: Only produce one extra
921 multilib - for the v850.
922
bc93e287
JJ
9232003-09-04 Jakub Jelinek <jakub@redhat.com>
924
925 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
926 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
927 * unwind.h (_Unwind_GetBSP): New prototype.
928 * libgcc-std.ver: Add empty GCC_3.3.2 version.
929 * mkmap-symver.awk: For symbol versions with no exported symbols,
930 don't put anything into version script, just change all symbol
931 versions which inherit from it to inherit from its ancestor.
932
ec24a740
EC
9332003-09-04 Eric Christopher <echristo@redhat.com>
934
935 * config/mips/mips.c (mips_expand_prologue): Convert to
936 calls.struct_value_rtx hook.
937 (reg_or_const_float_1_operand): New.
938 * config/mips/mips.h: Update Comments.
939 (mips_arg): Add reg_or_const_float_1_operand.
940 * config/mips/mips.md (divdf3); Convert to expander.
941 (divsf3): Ditto.
942 (*divdf3): New pattern.
943 (*divsf3): Ditto.
944
602a82f3 9452003-09-04 Jan Hubicka <jh@suse.cz>
b379a593
JH
946
947 * toplev.c (wrapup_global_declarations): Fix final pass in
948 unit-at-atime mode.
949
d18a8251
MM
9502003-09-04 Mark Mitchell <mark@codesourcery.com>
951
952 * doc/extend.texi: Document removal of cast-as-lvalue extension in
953 C++.
954
c5ef564b
NR
9552003-09-04 Nicolas Roche <roche@act-europe.fr>
956
957 * gcc.c (process_command): Fix typo.
958
04b379ba
DB
9592003-09-03 David O'Brien <obrien@FreeBSD.org>
960
961 optimization/11980
962 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
963 (PTRDIFF_TYPE): Likewise.
964 (WCHAR_TYPE_SIZE): Likewise.
965
61f71b34
DD
9662003-09-03 DJ Delorie <dj@redhat.com>
967
968 * targhooks.c: New file.
969 * targhooks.h: New file.
970 * Makefile.in: Add targhooks.o support.
971 (function.o): Depend on$(TARGET_H).
972 (stmt.o): Likewise.
973 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
974 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
975 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
976 (expand_builtin_saveregs): Convert to
977 calls.expand_builtin_saveregs hook.
978 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
979 here, instead of ...
980 (get_parm_info) ... here.
981 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
982 hook.
983 (finish_function): Handle calls.promote_prototypes hook here too.
984 * c-typeck.c (convert_arguments): Convert to
985 calls.promote_prototypes hook.
986 (c_convert_parm_for_inlining): Likewise.
987 * calls.c (initialize_argument_information): Convert to
988 calls.promote_function_args hook.
989 (expand_call): Convert to calls.struct_value_rtx,
990 calls.strict_argument_naming,
991 calls.pretend_outgoing_varargs_named, and
992 calls.promote_function_return hooks. Pass fndecl to
993 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
994 hooks, so they can use that.
995 (emit_library_call_value_1): Likewise.
996 * combine.c (setup_incoming_promotions): Convert to
997 calls.promote_function_args hook.
998 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
999 * expr.c (expand_assignment): Pass call to aggregate_value_p.
1000 (expand_expr): Likewise.
1001 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
1002 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1003 RETURN_IN_MEMORY macro defaults.
1004 * final.c (profile_function): Convert to calls.struct_value_rtx
1005 hook.
1006 * function.c (aggregate_value_p): Accept function type tree as
1007 second parameter; try to deduce fntype from it. Convert to
1008 calls.return_in_memory hook.
1009 (assign_parms): Convert to calls.setup_incoming_varargs,
1010 calls.strict_argument_naming, calls.promote_function_args,
1011 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
1012 aggregate_value_p.
1013 (expand_function_start): Likewise. Convert to
1014 calls.struct_value_rtx hook.
1015 (expand_function_end): Convert to calls.promote_function_return hook.
1016 (allocate_struct_function): Pass fndecl to aggregate_value_p.
1017 * hard-reg-set.h: Update comments to new hook names.
1018 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
1019 * reg-stack.c (stack_result): Likewise.
1020 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
1021 * stmt.c (expand_value_return): Convert to
1022 calls.promote_function_return hook.
1023 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
1024 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
1025 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
1026 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
1027 TARGET_STRICT_ARGUMENT_NAMING,
1028 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
1029 * target.h: Likewise.
1030 * tree.h (aggregate_value_p): Also takes a tree to deduce function
1031 attributes from (for target hooks).
1032 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
1033 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
1034 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
1035 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
1036 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
1037 to hooks.
ec24a740 1038
61f71b34
DD
1039 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
1040 to aggregate_value_p.
1041 * config/arm/arm.c (arm_init_cumulative_args,
1042 arm_output_mi_thunk): Likewise.
1043 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
1044 Likewise.
1045 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
1046 mips_can_use_return_insn): Likewise.
1047 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1048 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
1049 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
1050 aggregate_value_p.
1051 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
1052 function to aggregate_value_p.
1053 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
1054 aggregate_value_p.
ec24a740 1055
61f71b34
DD
1056 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
1057 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
1058 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
1059 (sh_handle_renesas_attribute, sh_promote_prototypes,
1060 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
1061 sh_setup_incoming_varargs, sh_strict_argument_naming,
1062 sh_pretend_outgoing_varargs_named): New decls.
1063 (targetm): Add new hooks.
1064 (calc_live_regs): Save MACL and MACH if the function has the
1065 renesas attribute.
1066 (sh_expand_prologue): Support renesas attribute.
1067 (sh_builtin_saveregs): Make static.
1068 (sh_build_va_list): Support renesas attribute.
1069 (sh_va_start): Likewise.
1070 (sh_va_arg): Likewise.
1071 (sh_promote_prototypes): New.
1072 (sh_function_arg): New, moved from sh.h. Support renesas
1073 attribute.
1074 (sh_function_arg_advance): Likewise.
1075 (sh_return_in_memory): Likewise.
1076 (sh_strict_argument_naming): Likewise.
1077 (sh_pretend_outgoing_varargs_named): Likewise.
1078 (sh_struct_value_rtx): New.
1079 (sh_attribute): Add renesas attribute.
1080 (sh_handle_renesas_attribute): New.
1081 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
1082 (sh_ms_bitfield_layout_p): Support renesas attribute also.
1083 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
1084 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
1085 -mhitachi.
1086 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
1087 target hooks.
1088 (sh_args): Add renesas_abi flag.
1089 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
1090 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
1091 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
1092 stack for the renesas abi.
1093 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
1094 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
1095 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
1096 call cookie to indicate renesas calls.
ec24a740 1097
b885908b
MH
10982003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
1099
1100 * gcse.c (replace_one_set): New function.
1101 (pre_insert_copy_insn): Change the order of copying
1102 to make copy propagation discover additional PRE opportunities.
1103
bcfb8075
RS
11042003-09-03 Roger Sayle <roger@eyesopen.com>
1105
1106 PR optimization/11700.
1107 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
1108 of a hard register is representable before trying to simplify it
1109 using subreg_hard_regno.
1110
eb53bcc0
RO
11112003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1112
1113 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
1114 * configure: Regenerate.
1115
9a57322b
RO
11162003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1117
1118 * intl.h (N_): Remove parentheses.
1119
47fe5c48
BI
11202003-09-03 Bernardo Innocenti <bernie@develer.com>
1121
1122 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
1123 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
1124 definition and code blocks compiled when not defined.
1125 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
1126 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
1127 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
1128 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
1129
7dff32e6
JS
11302003-09-03 Jeff Sturm <jsturm@one-point.com>
1131
1132 * cgraphunit.c (visited_nodes): New static variable.
1133 (record_call_1): Use walk_tree with visited_nodes.
1134 (cgraph_create_edges): Use walk_tree with visited_nodes.
1135 Setup/teardown visited_nodes hashtable.
1136
039c3d42
RS
11372003-09-03 Roger Sayle <roger@eyesopen.com>
1138
1139 * toplev.c (flag_rounding_math): New global variable.
1140 (f_options): Add to the list of language independent options.
1141 * flags.h (flag_rounding_math): Prototype here.
1142 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
1143 * common.opt (frounding-math): New common command line option.
1144 * opts.c (common_handle_option): Handle OPT_frounding_math.
1145 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
1146
1147 * doc/invoke.texi: Document this new command line option.
1148
b689848f
RO
11492003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1150
1151 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
1152
602a82f3 11532003-09-03 Jan Hubicka <jh@suse.cz>
4a46cbfb
JH
1154
1155 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
1156 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
1157 * c-objc-common.c: Kill include of gt-c-objc-common.h
1158 (expand_deferred_fns, deffer_fn): Kill function.
1159 (deferred_fns): Kill variable.
1160 (finish_cdtor): Update finish_function call.
1161 (c_objc_common_finish_file): Always call cgraph code.
1162 * c-parse.c: Regenerate.
1163 * c-parse.y: Regenerate.
1164 * c-tree.h (finish_function): Update prototype.
1165 * objc-acct.c (build_module_descriptor, finish_method_def):
1166 Update call of finish_function.
1167 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
1168 forward prototype.
1169 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
1170 function and assemble it if needed.
1171 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
1172 mode.
1173 (cgraph_optimize): Likewise.
1174 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
1175 even when it has no inline callees.
1176 * c-parse.in: Update calls to finish_function.
1177
877bcd2d
NC
11782003-09-03 Nick Clifton <nickc@redhat.com>
1179
1180 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
1181 Use #error to generate the message if TARGET_DEFAULT is not
1182 recognised.
1183
ee692410
RS
11842003-09-03 Richard Sandiford <rsandifo@redhat.com>
1185
1186 * config/mips/mips.h (MASK_UNUSED1): Remove.
1187 (MASK_XGOT, TARGET_XGOT): Define.
1188 (TARGET_SWITCHES): Add an entry for -mxgot.
1189 (ASM_SPEC): Map -mxgot to -xgot.
1190 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
1191 whether we're using a big-GOT sequences.
1192 (mips_legitimize_const_move, mips_expand_call): Likewise.
1193 (override_options): Revert 2003-01-09 change.
1194 * doc/invoke.texi: Document -mxgot.
1195
49fa0661
JM
11962003-09-02 Jason Merrill <jason@redhat.com>
1197
1198 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
1199 * config/sparc/sol2.h: Not here.
1200
f0e9957a
RS
12012003-09-02 Roger Sayle <roger@eyesopen.com>
1202
1203 * expr.c (expand_expr): The code following both_summands performs
1204 the same task as simplify_gen_binary. Replace all gotos to
1205 both_summands with a call to simplify_gen_binary and delete the
1206 now unused label.
1207
5220823f
JM
12082003-09-02 Jason Merrill <jason@redhat.com>
1209
1210 PR c++/7327
1211 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
1212
64384568
JS
12132003-09-02 Jeff Sturm <jsturm@one-point.com>
1214
1215 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
1216 (cgraph_optimize_function): Set current_function_decl to the
1217 fndecl we're integrating from.
1218
742c0a4e
KG
12192003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1220
1221 * builtins.def: Break out _Complex math functions into their
1222 own category.
1223
27f35b75
AJ
12242003-09-02 Andreas Jaeger <aj@suse.de>
1225
1226 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
1227
441c9a12
JZ
12282003-09-02 Josef Zlomek <zlomekj@suse.cz>
1229
1230 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
1231 finding the note again.
1232
b3422074
NN
12332003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
1234
1235 * config.gcc: Remove host-specific rewrites of target_alias.
1236
4b09846b
MM
12372003-09-01 Mark Mitchell <mark@codesourcery.com>
1238
9b0f6145
MM
1239 * Makefile.in (genprogs): Fix typo.
1240
4b09846b
MM
1241 * Makefile.in (gencheck.o): Remove build commands.
1242 (dummy-conditions.o): Likewise.
1243 (read-rtl.o): Likewise.
1244 (gensupport.o): Likewise.
1245 (genconfig$(build_exeext)): Remove rule.
1246 (genconfig.o): Remove build commands.
1247 (genflags$(build_exeext)): Remove rule.
1248 (genflags.o): Remove build commands.
1249 (gencodes$(build_exeext)): Remove rule.
1250 (gencodes.o): Remove build commands.
1251 (genconstants.o): Remove build commands.
1252 (genemit$(build_exeext)): Remove rule.
1253 (genemit.o): Remove build commands.
1254 (genrecog$(build_exeext)): Remove rule.
1255 (genrecog.o): Remove build commands.
1256 (genextract$(build_exeext)): Remove rule.
1257 (genextract.o): Remove build commands.
1258 (genpeep$(build_exeext)): Remove rule.
1259 (genpeep.o): Remove build commands.
1260 (genattr$(build_exeext)): Remove rule.
1261 (genattr.o): Remove build commands.
1262 (genprognames): New variable.
1263 (genprogs): Likewise.
1264 (genobjs): Likewise.
1265 (genprogs): New rule.
1266 (genobjs): Likewise.
1267 (genattrtab.o): Remove build commands.
1268 (genautomata.o): Likewise.
1269 (genoutput$(build_exeext)): Remove rule.
1270 (genoutput.o): Remove build commands.
1271 (gengenrtl.o): Likewise.
1272 (genpreds.o): Likewise.
1273 (gengtype.o): Likewise.
1274 (genconditions.o): Likewise.
1275 (gen-protos.o): Likewise.
1276 (scan.o): Likewise.
1277 (fix-header.o): Likewise.
1278 (scan-decls.o): Likewise.
1279 (check-g++): Combine with other check targets.
1280 (check-gcc): Likewise.
1281 (check-g77): Likewise.
1282 (check-objc): Likewise.
1283
330532ab
NN
12842003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
1285
53b49aca
NN
1286 * config.gcc: Remove host-specific stuff which is unused here
1287 since the introduction of config.host.
1288
330532ab
NN
1289 * doc/fragments.texi: Mention config.host.
1290 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
1291 of config.build, config.host, and config.gcc.
1292
130a1080
ZW
12932003-09-01 Zack Weinberg <zack@codesourcery.com>
1294
1295 * c-decl.c (pushdecl): Don't put variables on
1296 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
1297 incomplete.
1298
a89ea0df
NN
12992003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
1300
1301 * config.host: New file.
1302 * config.gcc: Remove some host-specific stuff and some
1303 logic needed only for repeated invocation.
1304 * configure.in: Use config.host.
1305 * configure: Regenerate.
1306
31934da7
JZ
13072003-09-01 Josef Zlomek <zlomekj@suse.cz>
1308
1309 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
1310 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
1311 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
1312 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
1313 * tree.def (BIT_ANDTC_EXPR): Kill.
1314
d0d0e9ac
NN
13152003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
1316
c406e779
NN
1317 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
1318 * configure: Regenerate.
1319
d0d0e9ac
NN
1320 * config.gcc: Remove references to install_headers_dir, now unused
1321 since introduction of config.build.
1322 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
1323
1324 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
1325 config.build.
1326
1327 * config.build: New file.
1328 * config.gcc: Remove some build-specific stuff.
1329 * configure.in: Use config.build.
1330 * configure: Regnerate.
1331
9e4b13a7
SB
13322003-08-31 Steven Bosscher <steven@gcc.gnu.org>
1333 Roger Sayle <roger@eyesopen.com>
1334
1335 PR middle-end/11823
1336 * stmt.c (expand_end_case_type): Only use jump tables for dense
1337 switch statements when optimizing for size.
1338
7c66d5f5
OH
13392003-08-31 Olivier Hainque <hainque@act-europe.fr>
1340
130a1080
ZW
1341 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
1342 the != 0 case, which ensures pending stack adjustments are flushed.
7c66d5f5 1343
2ed26f6b
ZW
13442003-08-30 Zack Weinberg <zack@codesourcery.com>
1345
1346 * configure.frag: Delete file.
1347 * configure.in: Rename the substitution variables
1348 dep_host_xmake_file and dep_tmake_file to xmake_file and
1349 tmake_file respectively. Do not expand $srcdir in the
1350 value of these; leave that for Make. Introduce a new
1351 substitution varaible, all_lang_makefrags, which lists
1352 subdirectory Make-lang.in files; exclude these from
1353 all_lang_makefiles, which is now only for subdirectory
1354 outputs. Do not invoke configure.frag. Do not set nor
1355 AC_SUBST_FILE target_overrides, host_overrides, or
1356 language_fragments. Create build subdirectories in
1357 config.status extra commands.
1358 * configure: Regenerate.
1359 * Makefile.in: Update substitutions to match changes to
1360 configure. Use include directives instead of @-insertions
1361 to read in host, target, and language fragments.
1362 (Makefile rule): Do not invoke configure.frag. Do not copy
1363 config.status to config.run before executing it. Set
1364 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
1365 regenerated.
1366 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
1367
766beae1
ZW
13682003-08-30 Zack Weinberg <zack@codesourcery.com>
1369
1370 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
1371 * c-typeck.c (same_translation_unit_p): New function.
1372 (comptypes): Use it instead of flags parameter to identify
1373 structure types from different translation units.
1374 * c-decl.c (duplicate_decls): Always call comptypes with
1375 COMPTYPE_STRICT flags argument.
1376 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
1377 to file_scope_decl.
1378
bf7a697f
ZW
13792003-08-30 Zack Weinberg <zack@codesourcery.com>
1380
1381 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
1382 * c-decl.c (struct c_scope): Remove "incomplete" field.
1383 (pushdecl): Attach variables with incomplete types to
1384 the TYPE_MAIN_VARIANT of the incomplete type in question.
1385 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
1386 to complete, not at current_scope->incomplete. All such
1387 variables do need completion.
1388
496b84c8
RE
13892003-08-30 Richard Earnshaw <rearnsha@arm.com>
1390 Nicolas Pitre <nico@cam.org>
1391
1392 * arm/lib1funcs.asm (RETCOND): Delete.
1393 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
1394 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
1395 (__ARM_ARCH__): Move here from ieee754-?f.S.
1396 (RET, RETc): Clean up definitions.
1397 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
1398 (FUNC_END): New macro that marks the end of any function.
1399 (ARM_FUNC_START): New macro that allows an assembler routine to be
1400 implemented in ARM code even if a Thumb-only build.
1401 Unconditionally include ieee754-?f.S.
1402 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
1403 Mark ends of functions.
1404 Split into separate conditionally-compiled units.
1405 Use RETLDM to return from routines.
1406 * arm/ieee754-sf.S: Similarly.
bf7a697f 1407 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
496b84c8
RE
1408 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
1409 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
1410 _fixsfsi and _fixunssfsi.
1411
bf7a697f 1412 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
496b84c8 1413 multiplication underflows to zero.
bf7a697f 1414 (__adddf3): Fix bug when using VFP ordering on little-endian
496b84c8
RE
1415 processors.
1416 (__fixdfsi): Use rrx to extract the carry into a register instead of
1417 MRS instruction. Optimize later use of result.
1418 * arm/ieee754-sf.S (__fixsfsi): Likewise.
1419 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
bf7a697f 1420
4985cde3
RH
14212003-08-29 Richard Henderson <rth@redhat.com>
1422
1423 * tree-optimize.c: New file.
1424 * Makefile.in (OBJS-archive): Add tree-optimize.o.
1425 (tree-optimize.o): New.
1426 * c-decl.c (store_parm_decls): Use allocate_struct_function.
1427 (finish_function): Don't free_after_parsing or free_after_compilation.
1428 (set_save_expr_context): Move to tree-optimize.c.
1429 (c_expand_body_1): Use tree_rest_of_compilation.
1430 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1431 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
1432 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
1433 iterate until closure.
1434 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
1435 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
1436 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
1437 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
1438 * toplev.h (tree_rest_of_compilation): Declare it.
1439
d560a41c
RH
14402003-08-29 Richard Henderson <rth@redhat.com>
1441
1442 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
1443 * integrate.c (save_for_inline): Set saved_for_inline.
1444 * c-semantics.c (genrtl_scope_stmt): Check it.
1445 * toplev.c (wrapup_global_declarations): Check it.
1446 (rest_of_handle_inlining): Set and check rtl_inline_init.
1447 (rest_of_compilation): Remove out of date comment.
1448
3a70d621
RH
14492003-08-29 Richard Henderson <rth@redhat.com>
1450
1451 * function.c (allocate_struct_function): New, split out of ...
1452 (prepare_function_start, init_function_start): ... here.
1453 * expr.c (init_expr): Use ggc_alloc_cleared.
1454 * stmt.c (init_stmt_for_function): Likewise.
1455 * tree.h (allocate_struct_function): Declare.
1456
2d3359eb
NN
14572003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1458
bf7a697f
ZW
1459 * config.gcc: Don't use negated character class in shell case
1460 clause.
2d3359eb 1461
23b6da10
RH
14622003-08-29 Richard Henderson <rth@redhat.com>
1463
1464 * function.h (struct function): Move function_frequency and
1465 max_jumptable_ents before start of bit field members.
1466
0dcd3840
RH
14672003-08-29 Richard Henderson <rth@redhat.com>
1468
1469 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
1470 (fold_builtin_constant_p) ... not here.
1471
4b1e44be
RH
14722003-08-29 Richard Henderson <rth@redhat.com>
1473
1474 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
1475 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
1476 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
1477
fe3d04dc
KG
14782003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1479
05a5fba9
KG
1480 * builtins.def: Fix typos.
1481 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
1482 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
1483 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
1484 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
1485 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
1486
fe3d04dc
KG
1487 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
1488 Use ATTR_MATHFN_FPROUNDING_ERRNO.
1489
5650fd39
NN
14902003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1491
c5e54ac8
NN
1492 * config.gcc (i386-*-vsta): Fix obvious bogosity.
1493
5650fd39
NN
1494 * fixinc/inclhack.def: Remove special cases for unsupported
1495 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
1496 * fixinc/fixincl.x: Regenerate.
1497
6280c439
MM
14982003-08-29 Mark Mitchell <mark@codesourcery.com>
1499
1500 * Makefile.in (cpp.info): Just state dependencies.
1501 (gcc.info): Likewise.
1502 (gccint.info): Likewise.
1503 (gccinstall.info): Likewise.
1504 (cppinternals.info): Likewise.
1505 (cpp.dvi): Likewise.
1506 (gcc.dvi): Likewise.
1507 (gccint.dvi): Likewise.
1508 (gccinstall.dvi): Likewise.
1509 (cppinternals.dvi): Likewise.
1510 (gcov.1): Likewise.
1511 (cpp.1): Likewise.
1512 (gcc.1): Likewise.
1513 (gfdl.7): Likewise.
1514 (gpl.7): Likewise.
1515 (fsf-funding.7): Likewise.
1516 ($(objdir)/%.info): New pattern rule.
1517 (%.dvi): Likewise.
bf7a697f 1518
e46f77a4
KC
15192003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
1520
1521 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
1522 (restage2): Likewise.
1523 (restage3): Likewise.
1524 (restage4): Likewise.
1525 (restageprofile): Likewise.
1526 (restagefeedback): Likewise.
1527 (bubblestrap): Likewise.
1528
8e3a7070
NN
15292003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
1530
1531 * config.gcc: Narrow unsupported target match to avoid clobbering
1532 i?86-sequent-sysv4*.
1533
d119e83e
KG
15342003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1535
1536 * builtins.c (mathfn_built_in): Handle new math builtins.
1537
2be570f9
PB
15382003-08-28 Per Bothner <per@bothner.com>
1539
1540 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
1541 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
1542 (_cpp_lex_buffer): Likewise.
1543 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
1544
f1e77d83
UW
15452003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1546
1547 * config/s390/s390.md ("*mulsi3_sign"): New insn.
1548 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
1549 ("mulsidi3"): ... this new insn.
1550 ("umulsidi3"): New insn.
1551 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
1552 mixed-mode matching constraints.
1553 ("udivmodsi4", "udivmoddisi3"): New insns.
1554 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
1555
a2a919aa
KG
15562003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1557
1558 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
1559 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
1560 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
1561 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
1562 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
1563 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
1564 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
1565 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
1566 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
1567 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
1568 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
1569 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
1570 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
1571 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
1572 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
1573 * tree.c: Assign new type_nodes.
1574 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
1575 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
1576 (float_ptr_type_node, double_ptr_type_node,
bf7a697f
ZW
1577 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
1578
a2a919aa
KG
1579 * doc/extend.texi: Document new builtins.
1580
488f17e1
KG
15812003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1582
1583 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
1584 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
bf7a697f 1585
488f17e1
KG
1586 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
1587 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
1588 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
1589 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
1590 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
1591 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
1592 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
1593 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
1594 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
1595 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
bf7a697f 1596
488f17e1
KG
1597 * doc/extend.texi: Document new builtins.
1598
199c4ccc
NN
15992003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
1600
2882c718 1601 * fixinc/mkfixinc.sh: Remove special case code for unsupported
bf7a697f 1602 variants of i?86, powerpcle, and thumb.
199c4ccc
NN
1603 * fixinc/mkfixinc.sh: Remove special case code for unsupported
1604 arm and hppa variants.
1605
98ff7c4d
KG
16062003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1607
1608 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
1609 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
1610 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
1611 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
1612 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
1613 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
1614 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
1615 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
1616 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
1617 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
1618
1619 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
1620 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
1621 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
1622 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
1623 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
1624 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
1625 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
1626 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
1627 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
1628 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
1629 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
1630 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
1631 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
1632 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
1633 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
1634 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
1635 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
1636 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
1637 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
1638 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
1639 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
1640 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
1641 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
1642 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
1643 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
1644 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
1645 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
1646 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
1647 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
1648 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
1649 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
1650
1651 * doc/extend.texi: Document new builtins.
1652
9e8327e3
UW
16532003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
1654
1655 * config/s390/s390.c (legitmate_constant_p): Use LARL on
1656 zSeries machines even in 31-bit addressing mode.
1657 (legitimate_reload_constant_p): Likewise.
1658 (legitimize_pic_address): Likewise.
1659 (legitimize_tls_address): Likewise.
1660 (s390_split_branches): Likewise.
1661 (s390_dump_pool): Likewise.
1662 (s390_mainpool_finish): Likewise.
1663 (s390_chunkify_start): Likewise.
1664 (s390_select_rtx_section): Likewise.
1665 * config/s390/s390.md ("doloop_si"): Likewise.
1666 ("pool_start_31", "pool_end_31"): Likewise.
1667 ("pool_start_64", "pool_end_64"): Likewise.
1668 ("main_base_31_small", "main_base_31_large"): Likewise.
1669 ("main_base_64"): Likewise.
1670 ("reload_base_31", "reload_base_64"): Likewise.
1671 ("*movsi_larl"): New insn.
1672 ("cjump", "icjump"): Use long branches on zSeries machines.
1673 ("jump"): Likewise.
1674 ("call"): Use BRASL on zSeries machines.
1675 ("call_value", "call_value_tls"): Likewise.
bf7a697f 1676 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
9e8327e3
UW
1677 and replace by ...
1678 ("*bras", "*brasl", "*basr") ... these new insns.
bf7a697f 1679 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
9e8327e3
UW
1680 "bas_31_r"): Remove and replace by ...
1681 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
bf7a697f 1682 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
9e8327e3
UW
1683 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
1684 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
1685 ("*return_si", "*return_di"): Remove and replace by ...
1686 ("*return"): ... this new insn.
1687 ("rotlsi3"): Allow on zSeries machines.
1688
1689 * config/s390/s390.c (legitimize_reload_constant_p): Use
1690 LL/LH type instructions in z/Architecture mode.
1691 * config/s390/s390.md ("*movsi_lli"): Likewise.
1692 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
1693 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
1694 ("*extendqisi2"): Use LB in z/Architecture mode.
bf7a697f 1695 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
9e8327e3 1696 z/Architecture mode.
bf7a697f 1697 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
9e8327e3 1698 Likewise.
bf7a697f 1699
9e8327e3
UW
1700 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
1701 and 31-bit mode.
1702 ("ptr_extend"): Allow only in 64-bit mode.
1703
0d037580
DJ
17042003-08-27 Daniel Jacobowitz <drow@mvista.com>
1705
1706 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
1707 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
1708 definitions.
1709 (main): Only use standard_startfile_prefix if native.
1710 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
1711
75ee800b
PB
17122003-08-27 Per Bothner <pbothner@apple.com>
1713
1714 * cpperror.c (print_location): Don't check for !pfile->buffer. That
1715 test fails following my 08-21 change, and it seems unnecessary anyway.
1716 (cpp_error): Likewise.
1717
138ca312
JM
17182003-08-27 Jason Merrill <jason@redhat.com>
1719
1720 * real.c (do_multiply): Initialize with memset.
1721
3d7ca167
ZD
17222003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1723
1724 * gcov.c (typedef struct arc_info): New field cs_count.
1725 (accumulate_line_counts): Find cycles correctly.
1726
5af2f3d3
UW
17272003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
1728
1729 * config/s390/s390.c (struct machine_function): Remove member
1730 literal_pool_label.
bf7a697f 1731 (s390_optimize_prolog): Replace TEMP_REG argument with
5af2f3d3 1732 TEMP_USED and BASE_USED. Do not check get_pool_size ().
bf7a697f
ZW
1733 (general_s_operand): Accept all immediates before reload if
1734 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
5af2f3d3
UW
1735 references.
1736 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
1737 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
1738 (s390_alloc_pool): New function.
1739 (s390_new_pool): Call it.
1740 (s390_dump_pool): Add REMOTE_LABEL argument.
bf7a697f 1741 (s390_chunkify_start): Add BASE_REG argument. Do not check
5af2f3d3 1742 get_pool_size ().
bf7a697f 1743 (s390_chunkify_finish): Add BASE_REG argument. Adapt
5af2f3d3
UW
1744 s390_dump_pool call.
1745 (s390_pool_count, s390_nr_constants): Remove.
1746 (s390_output_constant_pool): Remove.
1747 (s390_mainpool_start): New function.
1748 (s390_mainpool_finish): New function.
1749 (s390_mainpool_cancel): New function.
1750 (s390_reorg): Implement main literal pool handling.
bf7a697f 1751 (s390_emit_prologue): Emit main_pool placeholder instead of
5af2f3d3
UW
1752 literal_pool_31 / literal_pool_64 insns.
1753 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
1754 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
1755 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
1756 ("main_base_31_small", "main_base_31_large"): New insns.
1757 ("main_base_64", "main_pool"): New insns.
1758 ("literal_pool_31", "literal_pool_64"): Remove.
1759
036e07f2
NN
17602003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
1761
1762 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
1763 fixinc.ptx.
1764 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
1765 Prettify a little.
1766 * fixinc/fixincl.x: Regenerate.
1767
4202ce82
RE
17682003-08-27 Richard Earnshaw <rearnsha@arm.com>
1769
1770 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
1771 (L_ieee754_dp): New. Include ieee754-df.S.
1772 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
1773 and compilation in apcs-26 mode.
1774 * arm/ieee754-df.S: Likewise.
1775 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
1776 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
1777
17782003-08-27 Nicolas Pitre <nico@cam.org>
1779
1780 * arm/ieee754-sf.S: New.
1781 * arm/ieee754-df.S: New.
1782
b7bc76e3
JJ
17832003-08-27 Jakub Jelinek <jakub@redhat.com>
1784
1785 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
1786 and restore it if returning NULL.
1787
648bb159
RS
17882003-08-27 Richard Sandiford <rsandifo@redhat.com>
1789
1790 * calls.c (initialize_argument_information): If an argument has no
1791 stack space associated with it, and BLOCK_REG_PADDING is defined,
1792 use it to decide at which end the argument should be padded.
1793 * function.c (assign_parms): Allocate BLKmode stack slots.
1794 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
1795 (mips_pad_reg_upward): Declare.
1796 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
1797 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
1798 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
1799 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
1800 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
1801 (mips_expand_call): Remove code for generating structure shifts.
1802 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
1803 types unless using the EABI.
1804 (function_arg_advance): Don't generate shift instructions.
1805 (function_arg): Don't return them. Don't short-circuit the
1806 check for double structure chunks for DFmode arguments.
1807 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
1808 (mips_expand_prologue): Remove code to emit structure shifts.
1809 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
1810 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
1811 comments to say that only structure returns are a problem.
1812
228e7b62
NN
18132003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1814
88f505f6
NN
1815 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
1816 Fix to match produced versions.
1817 * fixinc/inclhack.def (longlong_t): New disabled test, ported
1818 from fixinc.svr4.
7309576c
NN
1819 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
1820 from fixinc.ptx.
bf7a697f
ZW
1821 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
1822 ported from fixinc.ptx.
1823
dc3786d8
PB
18242003-08-26 Per Bothner <pbothner@apple.com>
1825
1826 * cpplib.h (struct cpp_token): Change type of field line to fileline.
1827 (cpp_error_with_line): Use fileline for appropriate parameter.
1828 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
1829 (struct cpp_reader): Likewise for fields line and directive_line.
1830 (_cpp_begin_message): Use fileline for appropriate parameter.
1831 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
1832 cpp_error): Use fileline for appropriate parameters and variables.
1833 (print_location): New local lin, since it is not a fileline.
1834
00229de4
RS
18352003-08-26 Roger Sayle <roger@eyesopen.com>
1836
1837 PR middle-end/12002
1838 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
1839 (FLOAT_TYPE_P): Define in terms of these two new macros.
1840 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
1841 for complex floating point types.
1842
b41ead3e
UW
18432003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
1844
1845 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
bf7a697f 1846 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
b41ead3e
UW
1847 s390_output_pool_entry.
1848
c2f523ea
NN
18492003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
1850
bf7a697f
ZW
1851 * fixinc/inclhack.def (svr4_preproc_lint_on,
1852 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
c2f523ea
NN
1853 fixes, ported from fixinc.svr4.
1854
e158a5fb
MM
18552003-08-26 Mark Mitchell <mark@codesourcery.com>
1856
1857 * doc/install.texi (Prerequisites): Mention GNU make requirement.
1858
1859 * Makefile.in (AR_FOR_TARGET): Export it.
1860 (AR_CREATE_FOR_TARGET): Likewise.
1861 (AR_FLAGS_FOR_TARGET): Likewise.
1862 (AR_EXTRACT_FOR_TARGET): Likewise.
1863 (AWK): Likewise.
1864 (BUILD_PREFIX): Likewise.
1865 (BUILD_PREFIX_1): Likewise.
1866 (DESTDIR): Likewise.
1867 (GCC_FOR_TARGET): Likewise.
1868 (INCLUDES): Likewise.
1869 (INSTALL_DATA): Likewise.
1870 (LIB1ASMSRC): Likewise.
1871 (LIBGCC2_CFLAGS): Likewise.
1872 (MACHMODE_H): Likewise.
1873 (NM_FOR_TARGET): Likewise.
1874 (RANLIB_FOR_TARGET): Likewise.
1875 (libsubdir): Likewise.
1876 (slibdir): Likewise.
1877 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
1878 exporting.
1879 (libgcc.a): Don't pass them here.
1880 (stmp-multilib): Or here.
1881 (install-libgcc): Or here.
1882 (install-multilib): Or here.
1883 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
1884 (stage1_build): Or here.
1885
288e517f
AK
18862003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1887
1888 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
1889 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
1890
a1b892b5
AK
18912003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
1892
bf7a697f 1893 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
a1b892b5
AK
1894 "*fmaddsf", "*fmsubsf"): New insns.
1895
e3232933
RS
18962003-08-26 Roger Sayle <roger@eyesopen.com>
1897
1898 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
1899 (C1*C2)/X when unsafe math optimizations are allowed.
1900 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
1901 math optimizations. Minor code clean-ups. Recursively call
1902 fold when constructing sub-expressions.
1903
cf42869d
RS
19042003-08-26 Roger Sayle <roger@eyesopen.com>
1905
1906 * builtins.c (fold_builtin_bitop): New function to perform constant
1907 folding of ffs, clz, ctz, popcount and parity builtin functions
1908 and their long and long long variants (such as ffsl and ffsll).
1909 (fold_builtin): fold_builtin_bitop when appropriate.
1910 * simplify-rtx.c (simplify_unary_operation): Honor both
1911 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
1912 evaluating clz and ctz at compile-time, for operands wider
1913 than HOST_WIDE_INT.
1914
d128effb
NS
19152003-08-26 Nathan Sidwell <nathan@codesourcery.com>
1916
20b50672
NS
1917 * builtins.c (build_function_call_expr): Don't set
1918 TREE_SIDE_EFFECTS here.
1919 * expr.c (emit_block_move_via_libcall): Likewise.
1920 (clear_storage_via_libcall): Likewise.
1921 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
1922 CALL_EXPRs.
bf7a697f 1923
d128effb
NS
1924 * gcse.c (is_too_expensive): New function.
1925 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
1926
7e2055ec
ZW
19272003-08-25 Zack Weinberg <zack@codesourcery.com>
1928
1929 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
1930 commented-out logic to use DCE threads (if present), add
1931 support for POSIX threads.
1932 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
1933 #defines for -pthread. Add -lpthread to LIB_SPEC when
1934 -pthread. In both cases take -mt as a synonym for -pthread
1935 for acc compatibility.
1936 Define GTHREAD_USE_WEAK to 0.
1937 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
1938 Remove old logic for DCE threads from LIB_SPEC.
1939 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
1940
8634629b
RS
19412003-08-25 Roger Sayle <roger@eyesopen.com>
1942
1943 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
1944 return 0 for invalid argument types. Instead drop through to a
1945 call of expand_call at the bottom of function. If op is SQRT,
1946 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
1947
0d433a6a
RH
19482003-08-25 Richard Henderson <rth@redhat.com>
1949
1950 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
1951 result when op0 is SImode.
7e2055ec 1952
1d109416
NN
19532003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
1954
1955 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
1956 from fixinc.svr4.
1957 * fixinc/fixincl.x: Regenerate.
1958 * fixinc/tests/base/sys/signal.h: Regenerate.
1959
dc5c3188
UW
19602003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1961
1962 * combine.c (simplify_comparison): Re-enable widening of comparisons
1963 with non-paradoxical subregs of non-REG expressions.
1964
b01e3e38
UW
19652003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1966
1967 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
1968
c6279378
UW
19692003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
1970
1971 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
1972
12ea3302
GDR
19732003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1974
1975 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
1976 * c-pretty-print.h (c_pretty_printer): Now typedef to the
1977 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
1978 (struct c_pretty_print_info): Document. Add new fields.
1979 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
1980 (pp_direct_abstract_declarator): New macro.
1981 (pp_ptr_operator): Likewise.
1982 (pp_simple_type_specifier): Likewise.
1983 (pp_expression): Likewise.
1984 (pp_parameter_list): Rename from pp_parameter_declaration.
1985 * c-pretty-print.c (pp_c_whitespace): Now a function.
1986 (pp_c_left_paren): Likewise.
1987 (pp_c_right_paren): Likewise.
1988 (pp_c_dot): Likewise.
1989 (pp_c_ampersand): Likewise.
1990 (pp_c_arrow): Likewise.
1991 (pp_c_semicolon): Likewise.
1992 (pp_c_type_cast): New function.
1993 (pp_c_space_for_pointer_operator): Likewise.
1994 (pp_c_call_argument_list): Likewise.
1995 (pp_c_cv_qualifier): Adjust prototype.
1996 (pp_c_type_qualifier_list): Likewise.
1997 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
1998 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
1999 Adjust to follow standard grammar.
2000 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
2001 REFERENCE_TYPE. Tidy.
2002 (pp_c_parameter_type_list): Adjust prototype. Tidy.
2003 (pp_c_parameter_declaration): Remove.
2004 (pp_c_abstract_declarator): Adjust prototype.
2005 (pp_c_direct_abstract_declarator): Likewise.
2006 (pp_c_type_id): Likewise.
7e2055ec 2007 (pp_c_storage_class_specifier): Likewise.
12ea3302
GDR
2008 (pp_c_function_specifier): Likewise.
2009 (pp_c_declaration_specifiers): Likewise.
2010 (pp_c_direct_declarator): Likewise.
2011 (pp_c_declarator): Likewise.
2012 (pp_c_declarator): Likewise.
2013 (pp_c_declaration): Likewise.
2014 (pp_c_attributes): Likewise. Tidy.
2015 (pp_c_function_definition): Adjust prototype.
2016 (pp_c_char): Likewise.
2017 (pp_c_string_literal): Likewise.
2018 (pp_c_integer_constant): Likewise.
2019 (pp_c_character_constant): Likewise.
2020 (pp_c_bool_constant): Likewise.
2021 (pp_c_enumeration_constant): Likewise.
2022 (pp_c_floating_constant): Likewise.
2023 (pp_c_constant): Likewise.
2024 (pp_c_identifier): Likewise.
2025 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
2026 (pp_c_initializer): Adjust prototype.
2027 (pp_c_init_declarator): Likewise.
2028 (pp_c_initializer_list): Likewise.
2029 (pp_c_id_expression): Likewise.
2030 (pp_c_postfix_expression): Likewise.
2031 (pp_c_expression_list): Likewise.
2032 (pp_c_unary_expression): Likewise.
2033 (pp_c_cast_expression): Likewise.
2034 (pp_c_multiplicative_expression): Likewise.
2035 (pp_c_additive_expression): Likewise.
2036 (pp_c_shift_expression): Likewise.
2037 (pp_c_relational_expression): Likewise.
2038 (pp_c_equality_expression): Likewise.
2039 (pp_c_and_expression): Likewise.
2040 (pp_c_exclusive_or_expression): Likewise.
2041 (pp_c_inclusive_or_expression): Likewise.
2042 (pp_c_logical_and_expression): Likewise.
2043 (pp_c_logical_or_expression): Likewise.
2044 (pp_c_conditional_expression): Likewise.
2045 (pp_c_assignment_expression): Likewise.
2046 (pp_c_expression): Likewise. Tidy.
2047 (pp_c_statement): Likewise. Document.
2048 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
2049
2050 * c-lang.c (c_initialize_diagnostics): Update.
2051 * c-common.h (strip_pointer_operator): Declare.
2052 * c-common.c (strip_pointer_operator): Define.
2053
43dc123f
MM
20542003-08-25 Mark Mitchell <mark@codesourcery.com>
2055
2056 PR c++/8795
2057 * tree.h (build_method_type_directly): Declare.
2058 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
2059 (vector_size_helper): Likewise.
2060 * tree.c (build_method_type_directly): New function.
2061 (build_method_type): Use it.
2062
a30b6839
RH
20632003-08-24 Richard Henderson <rth@redhat.com>
2064
2065 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
2066 for 16-byte vector modes if sse not enabled; warn for abi change.
2067 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
2068
30c3267c
KH
20692003-08-24 Kazu Hirata <kazu@cs.umass.edu>
2070
2071 * rtlanal.c (may_trap_p): Simplify an integer comparison.
2072
791996d1
NN
20732003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
2074
2075 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
2076 comment. Enable for DYNIX/ptx systems (when they switch to
2077 regular fixincludes).
2078 * fixinc/fixincl.x: Regenerate.
2079
b882d60d
JE
20802003-08-23 Jason Eckhardt <jle@rice.edu>
2081
2082 * config/i860/t-i860: New.
2083 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
2084
61c234ce
JJ
20852003-08-23 Jakub Jelinek <jakub@redhat.com>
2086
2087 * c-decl.c (pushdecl): Only put decls which finish_struct will do
2088 something about onto incomplete chain.
2089 (finish_struct): If not removing type from incomplete
2090 list, update prev.
2091
602a82f3 20922003-08-20 Jan Hubicka <jh@suse.cz>
ebe75517
JH
2093
2094 PR target/11369
2095 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
2096
2097 PR target/11031
2098 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
2099 const_0_to_15_operand, const_0_to_255_operand): New predicates.
2100 * i386.h (PREDICATE_CODES): Add these.
2101 * i386.c (pinsrw and pextrw patterns): Use them.
2102
2103 PR target/10984
2104 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
2105
2106 PR target/8869
2107 * expr.c (convert_modes): Deal properly with integer to vector
2108 constant conversion.
2109
2110 PR target/8871
2111 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
2112
02ed3c5e
UW
21132003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
2114
2115 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
2116 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
2117 ("*movhi"): ... this.
2118 ("movqi", "*movqi"): Likewise.
2119 ("movqi_64"): Remove.
2120 ("*zero_extendhisi2_31"): Change predicate to s_operand.
2121
643642eb
DJ
21222003-08-23 Dale Johannesen <dalej@apple.com>
2123 * calls.c (emit_library_call_value_1): Fix obvious errors in
f346cc37 2124 arguments to emit_group_store.
643642eb 2125
edf11bda
JE
21262003-08-23 Jason Eckhardt <jle@rice.edu>
2127
2128 * calls.c (emit_library_call_value_1): Remove code related
2129 to LIBGCC_NEEDS_DOUBLE.
2130 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
2131 * doc/tm.texi: Likewise.
2132 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
2133
e2a188b2
RS
21342003-08-23 Richard Sandiford <rsandifo@redhat.com>
2135
2136 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
2137
520d96c6
RS
21382003-08-23 Richard Sandiford <rsandifo@redhat.com>
2139
2140 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
2141 as well. Put memory references in the varargs alias set.
2142 (mips_expand_prologue): Remove varargs handling from here.
2143
47798692
UW
21442003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
2145
2146 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
2147 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
2148 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
2149 for function pointer calls.
2150 * config/s390/s390.md ("*negdi2_31"): Likewise.
2151
a0209ac2
RS
21522003-08-23 Roger Sayle <roger@eyesopen.com>
2153
2154 * combine.c (apply_distributive_law): Correct comment.
2155
fe232263
JE
21562003-08-23 Jason Eckhardt <jle@rice.edu>
2157
2158 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
2159
5dab8d92
JE
21602003-08-22 Jason Eckhardt <jle@rice.edu>
2161
2162 * config/i860/i860.c (i860_build_va_list): Create the va_decl
2163 declaration. Document the va_list structure.
2164 (i860_va_start): Initialize the va_list structure.
2165 (i860_va_arg): Rewrite completely.
2166 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
2167 * config/i860/varargs.asm: Do not allocate or initialize
2168 a va_list. Return the address of the register save area.
2169
2cac216b
KH
21702003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2171
2172 * config/iq2000/iq2000.c: Fix comment typos.
2173 * config/iq2000/iq2000.md: Likewise.
2174
4375e090
KH
21752003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2176
2177 * config/iq2000/iq2000.c: Follow spelling conventions.
2178 * config/iq2000/iq2000.h: Likewise.
2179 * config/mn10300/mn10300.c: Likewise.
2180
a36b8cb8
JE
21812003-08-22 Jason Eckhardt <jle@rice.edu>
2182
2183 * config/i860/i860.c (output_move_double): Don't set latehalf
2184 to zero for CONST_INT (since it could be, e.g., -1).
2185
2186 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
2187 (MODSI3_LIBCALL): ...with this one.
2188 (UREMSI3_LIBCALL): Replace this macro...
2189 (UMODSI3_LIBCALL): ...with this one.
2190
89520fd7
JE
21912003-08-22 Jason Eckhardt <jle@rice.edu>
2192
2193 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
2194 (output_delayed_branch): Remove prototype.
2195 (single_insn_src_p): Remove prototype.
2196 * config/i860/i860.c (single_insn_src_p): Remove function.
2197 (output_delayed_branch): Remove function.
2198 (output_delay_insn): Remove function.
2199 (va_start): Remove unconditional test and dead code, re-format.
2200 Fix coding style and spelling problems in various comments.
2201 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
2202 (blockage pattern): ...and use it here.
2203 (all define_peephole patterns related to delayed branches): Remove.
2204 Fix coding style and spelling problems in various comments.
2205
8274e603
JE
22062003-08-22 Jason Eckhardt <jle@rice.edu>
2207
2208 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2209 Remove all uses of the PARAMS macro. Remove superflous prototypes.
2210 Convert all function definitions from traditional to ISO C90 syntax.
2211 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
2212 with 'GCC'. Remove all uses of the PARAMS macro.
2213 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
2214 * config/i860/i860.md: Likewise.
2215 * config/i860/sysv4.h: Likewise.
2216 * config/i860/varargs.asm: Likewise.
2217
cfbdb830
JE
22182003-08-22 Jason Eckhardt <jle@rice.edu>
2219
2220 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
2221 argument.
2222 (tdesc_section): Add prototype.
2223 Update copyright dates.
2224 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
2225 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
2226 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
2227 (targetm): Likewise.
2228 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
2229 for '%d' where necessary.
2230 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
2231 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
2232 by UNITS_PER_WORD when referencing (likewise for .floats).
2233 (I860_SVR4_VARARGS): Rename...
2234 (I860_SVR4_VA_LIST): ...to this.
2235 Call build() with 't' rather than 'field'.
2236 (i860_rtx_costs): New function.
2237 (TARGET_RTX_COSTS): Define.
2238 (i860_internal_label): New function.
2239 (TARGET_ASM_INTERNAL_LABEL): Define.
2240 (i860_file_start): New function.
2241 Update copyright dates.
2242 * config/i860/i860.h (CPP_PREDEFINES): Remove.
2243 (TARGET_CPU_CPP_BUILTINS): Define.
2244 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
2245 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
2246 (ASM_FILE_START): Remove.
2247 (ASM_FILE_START_1): Remove.
2248 (ASM_GLOBALIZE_LABEL): Remove.
2249 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
2250 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
2251 with targetm.asm_out.internal_label.
2252 Update copyright dates.
2253 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
2254 (CPP_PREDEFINES): Remove.
2255 (TARGET_OS_CPP_BUILTINS): Define.
2256 (GLOBAL_ASM_OP): Define.
2257 (ASM_FILE_START): Remove.
2258 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
2259 (TARGET_ASM_FILE_START): Define.
2260 Update copyright dates.
2261
e1567352
JE
22622003-08-22 Jason Eckhardt <jle@rice.edu>
2263
a36b8cb8 2264 * gcc/config.gcc (i860-*-sysv4*): Add target.
e1567352
JE
2265 * config/i860/i860-protos.h: New.
2266 * config/i860/i860.c: New.
2267 * config/i860/i860.h: New.
2268 * config/i860/i860.md: New.
2269 * config/i860/sysv4.h: New.
2270 * config/i860/varargs.asm: New.
2271 * config/i860/x-sysv4: New.
2272
b7849684
JE
22732003-08-22 Jason Eckhardt <jle@rice.edu>
2274
2275 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
2276 Remove all uses of PARAMS macro.
2277 Convert all function definitions to ISO C90 syntax.
2278 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
2279 * config/pa/fptr.c: Likewise.
2280 * config/pa/lib2funcs.asm: Likewise.
2281 * config/pa/long_double.h: Likewise.
2282 * config/pa/milli64.S: Likewise.
2283 * config/pa/pa-64.h: Likewise.
2284 * config/pa/pa-hpux.h: Likewise.
2285 * config/pa/pa-hpux10.h: Likewise.
2286 * config/pa/pa-hpux11.h: Likewise.
2287 * config/pa/pa-linux.h: Likewise.
2288 * config/pa/pa-modes.def: Likewise.
2289 * config/pa/pa-osf.h: Likewise.
2290 * config/pa/pa-pro-end.h: Likewise.
2291 * config/pa/pa.md: Likewise.
2292 * config/pa/pa32-linux.h: Likewise.
2293 * config/pa/pa64-linux.h: Likewise.
2294 * config/pa/pa64-hpux.h: Likewise.
2295 * config/pa/pa64-regs.h: Likewise.
2296 * config/pa/quadlib.c: Likewise.
2297 * config/pa/rtems.h: Likewise.
2298 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
7e2055ec 2299 all uses of the PARAMS macro.
b7849684
JE
2300 * config/pa/pa.h: Likewise.
2301 * config/pa/som.h: Likewise.
2302
7e2055ec
ZW
2303 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
2304 Remove all uses of PARAMS macro.
2305 Convert all function definitions to ISO C90 syntax.
b7849684 2306 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
7e2055ec 2307 Remove all uses of PARAMS macro.
b7849684 2308 * config/iq2000.h: Remove all uses of PARAMS macro.
7e2055ec 2309 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
b7849684 2310
416cf582
UW
23112003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
2312
2313 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
2314 * config/s390/s390.c (gen_consttable): Remove.
2315 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
2316 (s390_output_pool_entry): New function.
7e2055ec
ZW
2317 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
2318 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
416cf582
UW
2319 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
2320 (UNSPECV_POOL_ENTRY): ... this new constant.
2321 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
2322 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
2323 ("*pool_entry"): ... and replace by this new insn.
2324 ("literal_pool_31"): Do not emit anchor label if pool empty.
2325
2326 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
2327 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
2328 (s390_fixup_clobbered_return_reg): Remove.
2329 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
2330 (s390_return_addr_rtx): Always retrieve return address from save area
2331 slot. Use save_return_addr_p to force slot to be filled.
2332 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
2333
beadc644
CD
23342003-08-22 Chris Demetriou <cgd@broadcom.com>
2335
2336 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
2337 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
2338 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
2339 around SB-1 errata if TARGET_FIX_SB1 is set.
2340 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
2341 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
2342
4ae2e3e9
RS
23432003-08-22 Roger Sayle <roger@eyesopen.com>
2344
2345 * hashtable.c (ht_expand): Avoid calculating rehash for the common
2346 case that the first probe hits an empty hash table slot.
2347
74487c57
MM
23482003-08-22 Mark Mitchell <mark@codesourcery.com>
2349
2350 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
2351
36c216e5
MM
23522003-08-22 Mark Mitchell <mark@codesourcery.com>
2353
2354 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
2355 (ptr_extend_plus_imm): ... this.
2356 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
2357 optimization in C++.
2358 (ia64_output_mi_thunk): Support ILP32 mode.
2359
dfb03c45 23602003-08-22 Bernardo Innocenti <bernie@develer.com>
02ac9ec6
BI
2361
2362 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
2363 function.
2364 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
2365
dac4a0de
KH
23662003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2367
2368 * config/i386/i386.c (const_int_1_operand): Simplify an
2369 integer comparison.
2370
65dbc870
AM
23712003-08-22 Alan Modra <amodra@bigpond.net.au>
2372
2373 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
2374 * config/rs6000/ppc64-fp.c: Likewise.
2375
dcc24678
KH
23762003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2377
2378 * cfgcleanup.c: Fix comment typos.
2379 * emit-rtl.c: Likewise.
2380 * optabs.c: Likewise.
2381 * ra-build.c: Likewise.
2382 * rtlanal.c: Likewise.
2383 * tree.h: Likewise.
2384
beb235f8
KH
23852003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2386
2387 * c-decl.c: Fix comment formatting.
2388 * cfgrtl.c: Likewise.
2389 * combine.c: Likewise.
2390 * convert.c: Likewise.
2391 * dominance.c: Likewise.
2392 * dwarf2out.c: Likewise.
2393 * dwarfout.c: Likewise.
2394 * expmed.c: Likewise.
2395 * fold-const.c: Likewise.
2396 * gcov.c: Likewise.
2397 * genattrtab.c: Likewise.
2398 * ggc-common.c: Likewise.
2399 * mips-tfile.c: Likewise.
2400 * regmove.c: Likewise.
2401
2b72593e
KH
24022003-08-22 Kazu Hirata <kazu@cs.umass.edu>
2403
2404 * builtin-attrs.def: Fix comment formatting.
2405 * c-pretty-print.c: Likewise.
2406 * diagnostic.h: Likewise.
2407 * langhooks.h: Likewise.
2408 * recog.c: Likewise.
2409 * simplify-rtx.c: Likewise.
2410 * tree.def: Likewise.
2411
8a4a2253
BI
24122003-08-22 Bernardo Innocenti <bernie@develer.com>
2413
2414 * config/m68k/m68k-protos.h: Convert to ISO C90.
2415 * config/m68k/m68k.c: Likewise.
2416
eb849993 24172003-08-21 Bernardo Innocenti <bernie@develer.com>
7e2055ec
ZW
2418 Paul Dale <pauli@snapgear.com>
2419 Peter Barada <peter@baradas.org>
eb849993
BI
2420
2421 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
2422 ColdFire cores.
2423
ca11c37c
ZW
24242003-08-21 Zack Weinberg <zack@codesourcery.com>
2425
2426 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
2427 * config.gcc (*-*-openbsd): Don't set tm_file.
2428 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
2429 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
2430 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
2431 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
2432 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
2433 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
2434 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
2435 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
2436 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
2437 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
2438 xscale-*-coff): Use explicit and complete lists of target headers
2439 to include. Move definitions to tm_defines where appropriate.
2440 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
2441 not-yet-contributed configuration.
2442
2443 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
2444 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
2445 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
2446 * config/i386/nto.h, config/iq2000/iq2000.h,
2447 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
2448 * config/m68k/linux.h, config/m68k/m68k-aout.h
2449 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
2450 * config/m68k/netbsd.h, config/m68k/openbsd.h
2451 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
2452 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
2453 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
2454 Remove includes of other target config headers, and
2455 definitions of macros moved to tm_defines lists. Add #undefs
2456 where now necessary to prevent redefinition warnings.
2457
2458 * config/h8300/coff.h: New file split out of...
2459 * config/h8300/elf.h: ...here.
2460 * config/m68k/hp320base.h: New file split out of...
2461 * config/m68k/hp320.h: ...here.
2462 * config/rs6000/lynxbase.h: New file split out of...
2463 * config/rs6000/lynx.h: ...here.
2464
2465 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
2466 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
2467
2468 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
2469 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
2470 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
2471 Remove unnecessary #ifndef.
2472 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
2473 [under IN_LIBGCC2] with config/.
2474
75ee800b 24752003-08-21 Per Bothner <pbothner@apple.com>
ac650a0a
PB
2476
2477 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
2478 to cpp_push_buffer.
2479 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
2480 by return_at_eof check. Always call _cpp_pop_buffer at end.
2481
43c446b8
KH
24822003-08-21 Kazu Hirata <kazu@cs.umass.edu>
2483
2484 PR target/11805
2485 * config/h8300/h8300.md (two anonymous patterns): Remove.
2486
7bc22451
RS
24872003-08-21 Richard Sandiford <rsandifo@redhat.com>
2488
2489 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
2490 * config/mips/mips.c (function_arg_pass_by_reference): Never return
2491 true for n32 & n64.
2492
ed6f90f7
JZ
24932003-08-21 Josef Zlomek <zlomekj@suse.cz>
2494
2495 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
2496 and similarly in (A | C) == D where C & ~D != 0.
2497
e50084fa
GK
24982003-08-20 Geoffrey Keating <geoffk@apple.com>
2499
2500 PR 8180
2501 * configure.in: When testing with_libs and with_headers, treat
2502 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
2503 * configure: Regenerate.
ca11c37c 2504
e50084fa 25052003-08-20 Peter Barada <peter@baradas.org>
bab4470d
PB
2506
2507 * longlong.h (umul_ppmm): Add ColdFire support.
2508
e50084fa 25092003-08-20 Peter Barada <peter@baradas.org>
ca11c37c 2510 Bernardo Innocenti <bernie@develer.com>
9425fb04
PB
2511
2512 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
2513 * config/m68k/m68k.h: Likewise.
2514 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
2515 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
2516 * config/m68k/linux.h: Likewise.
2517 * config/m68k/m68k.c: Likewise.
2518 * config/m68k/m68k.md: Likewise.
2519 * config/m68k/m68kelf.h: Likewise.
2520 * config/m68k/netbsd-elf.h: Likewise.
2521 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
2522
d1b87863
BI
25232003-08-20 Bernardo Innocenti <bernie@develer.com>
2524
2525 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
2526 * config/m68k/m68k.md: Likewise.
2527
b6343a33
MM
25282003-08-20 Mark Mitchell <mark@codesourcery.com>
2529
2530 PR java/11996
2531 Revert this change:
2532 2003-08-19 Mark Mitchell <mark@codesourcery.com>
2533 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2534 types with precisions other than those given by native machine
2535 modes.
2536
bf4563cb
GN
25372003-08-20 Gunther Nikl <gni@gecko.de>
2538
2539 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
2540 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
2541 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
2542 * config/m68k/m68k.md (anonymous define_insn): Likewise
2543 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
2544 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
2545 code selected by NO_ASM_FMOVECR
2546
0fb8241d
GN
25472003-08-20 Gunther Nikl <gni@gecko.de>
2548
2549 * config/m68k/m68k.c (output_move_const_into_data_reg,
2550 output_move_himode): unify MOTOROLA/MIT handling of moveq
2551 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
2552 Likewise
2553
c23b0b90
GN
25542003-08-20 Gunther Nikl <gni@gecko.de>
2555
2556 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
2557 label name
2558 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
2559 HOST_WIDE_INT_PRINT_DEC with %wd
2560
9e68a9dc
LR
25612003-08-20 Loren James Rittle <ljrittle@acm.org>
2562
2563 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
2564 redefine warning.
2565
2cf099a5
RS
25662003-08-20 Roger Sayle <roger@eyesopen.com>
2567
2568 PR middle-end/11984
2569 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
2570 operands before calling tree_int_cst_lt when performing associative
2571 transformations.
2572
68ad9159
JM
25732003-08-20 Jason Merrill <jason@redhat.com>
2574
2575 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
2576 (EXPR_CHECK): Don't check for 'r' or 's' if we're
2577 checking IS_EXPR_CODE_CLASS.
2578 * calls.c (calls_function_1): Likewise.
2579 * fold-const.c (fold): Likewise.
2580 * tree.c (iterative_hash_expr): Likewise.
2581 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
2582
c8e60672
GN
25832003-08-20 Gunther Nikl <gni@gecko.de>
2584
2585 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
2586 depending on MOTOROLA_BSR
2587 * config/m68k/m68k.md (anonymous define_insn): Likewise
2588
3acef2ae
JM
25892003-08-20 Jason Merrill <jason@redhat.com>
2590
2f503025 2591 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
ca11c37c 2592 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
2f503025
JM
2593 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
2594 * dojump.c (do_jump): Likewise.
2595 * fold-const.c (operand_equal_p, fold): Likewise.
2596 (tree_expr_nonnegative_p): Likewise.
2597
3acef2ae
JM
2598 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
2599 TYPE_USER_ALIGN for FIELD_DECLs.
ca11c37c 2600
3acef2ae
JM
2601 * attribs.c (decl_attributes): Rebuild the function pointer type after
2602 changing the target type.
2603 * tree.c (get_qualified_type): Also check that the attributes match.
2604
8f7d850c
MK
26052003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
2606
2607 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
2608 * objc/config-lang.in (stagestuff): ... to here.
2609
4b0d3cbe
MM
26102003-08-19 Mark Mitchell <mark@codesourcery.com>
2611
2612 PR c++/11946
2613 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
2614 NOP_EXPR) when necessary.
2615 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
2616 types with precisions other than those given by native machine
2617 modes.
2618
3a7e8b87
GK
26192003-08-19 Geoffrey Keating <geoffk@apple.com>
2620
ccc01444
GK
2621 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
2622 because some macro is defined.
2623
3a7e8b87
GK
2624 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
2625 options.
2626 * config/i386/darwin.h (ASM_SPEC): New.
2627 (SUBTARGET_EXTRA_SPECS): New.
2628 * config/rs6000/darwin.h (ASM_SPEC): New.
2629 (SUBTARGET_EXTRA_SPECS): New.
2630 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
2631 a cross-compiler between two different processors on Darwin.
2632 * configure: Regenerate.
2633
a98ebe2e
KH
26342003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2635
2636 * builtins.c: Fix comment typos.
2637 * c-common.c: Likewise.
2638 * c-decl.c: Likewise.
2639 * c-pretty-print.c: Likewise.
2640 * cfgbuild.c: Likewise.
2641 * cfglayout.c: Likewise.
2642 * cfgloopanal.c: Likewise.
2643 * cgraphunit.c: Likewise.
2644 * cppfiles.c: Likewise.
2645 * dwarfout.c: Likewise.
2646 * expr.c: Likewise.
2647 * fold-const.c: Likewise.
2648 * gcse.c: Likewise.
2649 * ggc-page.c: Likewise.
2650 * haifa-sched.c: Likewise.
2651 * pretty-print.c: Likewise.
2652 * tree.c: Likewise.
2653 * tree.h: Likewise.
2654 * value-prof.c: Likewise.
2655
02fa63cd
KH
26562003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2657
2658 * c-decl.c: Follow spelling conventions.
2659 * cppfiles.c: Likewise.
2660
59e4e217
KH
26612003-08-19 Kazu Hirata <kazu@cs.umass.edu>
2662
2663 * c-common.c: Fix comment formatting.
2664 * c-common.h: Likewise.
2665 * c-decl.c: Likewise.
2666 * cppinit.c: Likewise.
2667 * cpplib.h: Likewise.
2668 * emit-rtl.c: Likewise.
2669 * input.h: Likewise.
2670 * line-map.h: Likewise.
2671 * opts.c: Likewise.
2672 * opts.h: Likewise.
2673 * simplify-rtx.c: Likewise.
2674
1ee93c1b
DJ
26752003-08-19 Daniel Jacobowitz <drow@mvista.com>
2676
2677 * unwind-c.c: Add libgcc-style exception.
2678 * unwind-dw2.c: Likewise.
2679 * unwind-pe.h: Likewise.
2680 * unwind-sjlj.c: Likewise.
2681 * unwind.inc: Likewise.
2682
f5e7af77
AP
26832003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2684
2685 PR c/5582 PR c++/10538
2686 * langhooks-def.h (lhd_decl_uninit): Declare.
2687 (LANG_HOOKS_DECL_UNINIT): New macro.
2688 (LANG_HOOKS_INITIALIZER): Adjust.
2689 * langhooks.h (struct lang_hooks): Add new field
2690 decl_uninit.
2691 * langhooks.c (lhd_decl_uninit): Define.
2692 * c-common.c (c_decl_uninit_1): New function.
2693 (c_decl_uninit): New function.
2694 (warn_init_self): Define.
2695 * c-common.h (c_decl_uninit): Declare.
2696 (warn_init_self): Declare.
2697 * c.opt: Introduce -Winit-self.
2698 * c-opts.c (c_common_handle_options): Set warn_init_self.
2699 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2700 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
2701 * function.c (uninitialized_vars_warning): Call the language hook.
2702 * doc/invoke.texi: Document -Winit-self.
2703
d68f4cc4
CD
27042003-08-19 Chris Demetriou <cgd@broadcom.com>
2705
2706 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
2707 to use better predicates and constraints. Define new
2708 instruction to handle "trap_if" with DI-mode arguments.
2709 (conditional_trap): FAIL if trap code is not 0.
2710
86ecdfb6
AP
27112003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
2712
2713 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
2714 strstr with $pb to a strcompare with "<pic base>"
2715 (ix86_output_addr_diff_elt): Output the real pic base.
2716
fc95cf70
GDR
27172003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
2718
2719 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
2720 (LANG_HOOKS_INITIALIZER): Correct.
2721 * c-lang.c: Likewise.
2722
810db579
JH
27232003-08-19 Jan Hubicka <jh@suse.cz>
2724
2725 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
2726 (cgraph_varpool_mark_needed_node): Likewise.
2727 * cgraph.h (notice_global_symbol): Declare
2728 * varasm.c (notice_global_symbol): Break out from ...
2729 (assemble_start_function): ... here; update for variables.
2730 (assemble_variable): Use notice_global_symbol.
2731
fc4fe9e4
RS
27322003-08-19 Richard Sandiford <rsandifo@redhat.com>
2733
2734 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
2735 expect SFmode and DFmode arguments to be passed in FPRs,
2736 regardless of the underlying type.
2737
4b8174ff
RS
27382003-08-19 Richard Sandiford <rsandifo@redhat.com>
2739
2740 PR target/11924
2741 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
2742 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
2743
622adc7e
MK
27442003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
2745
2746 PR c/11207
2747 * c-typeck.c (set_init_index): Check for negative index.
2748
dfccfad9
BW
27492003-08-18 Bob Wilson <bob.wilson@acm.org>
2750
2751 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
2752 call0 ABI.
2753 * config/xtensa/crtn.asm (_init, _fini): Likewise.
2754 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
2755 __umodsi3, __modsi3): Likewise.
2756 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
2757 $(INCLUDES).
2758
fe9c3a97
AH
27592003-08-18 Aldy Hernandez <aldyh@redhat.com>
2760
2761 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
2762
431d5fdd
RS
27632003-08-18 Richard Sandiford <rsandifo@redhat.com>
2764
2765 * config/mips/mips.md: Quote C code in braces. Remove use of
2766 fake const0_rtx operands. Remove double backslashes. Use \;.
2767 Remove workarounds for bogus warnings.
2768
4195786e
RS
27692003-08-18 Richard Sandiford <rsandifo@redhat.com>
2770
2771 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
2772 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
2773 rather than TARGET_MIPS4300.
2774 (mulsf3_internal, mulsf3_r4300): Likewise.
2775
6d4ede5f
RS
27762003-08-18 Richard Sandiford <rsandifo@redhat.com>
2777
2778 * config/mips/mips.md: Renumber unspecs. Clean up comments.
2779
dd61aa98
RS
27802003-08-17 Roger Sayle <roger@eyesopen.com>
2781
2782 * simplify-rtx.c (associative_constant_p): New function to test
2783 whether an RTX expression is an immediate constant.
2784 (simplify_associative_operation): New function to perform some
2785 reassociation optimizations of associative binary expressions.
2786 (simplify_binary_operation): Use simplify_associative_operation
2787 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
2788 Floating point expressions are only reassociated when unsafe
2789 math optimizations are permitted.
2790
9c808aad
AJ
27912003-08-17 Andreas Jaeger <aj@suse.de>
2792
2793 * config/alpha/alpha.md: Remove usage of PARAMS.
2794
2795 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
2796 * config/i386/i386-interix.h: Likewise.
2797 * config/i386/winnt.c: Likewise.
2798 * config/i386/cygming.h: Likewise.
2799 * config/i386/cygwin2.c: Likewise.
2800 * config/darwin.c: Likewise.
2801 * config/darwin-c.c: Likewise.
2802 * config/darwin-protos.h: Likewise.
2803 * config/darwin.h: Likewise.
2804 * config/s390/s390-protos.h: Likewise.
2805 * config/s390/s390.c: Likewise.
2806 * config/ia64/ia64.c: Likewse
2807 * config/ia64/ia64-protos.h: Likewise.
fde46628 2808 * config/ia64/ia64-c.c: Likewise.
9c808aad 2809
e80d5f80
KG
28102003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2811
fc27d102
KG
2812 * config/sparc/sparc.c: Convert to ISO C.
2813
e80d5f80
KG
2814 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
2815 * config/sparc/sparc.c: Likewise.
2816
e895113a
NS
28172003-08-16 Nathan Sidwell <nathan@codesourcery.com>
2818
2819 PR c++/11512
2820 * stmt.c (expand_expr_stmt_value): Don't warn about any void
2821 typed expression.
2822
e767b5be
JH
28232003-08-16 Jan Hubicka <jh@suse.cz>
2824
2825 * i386.c (ix86_fntype_regparm): Rename from ...
2826 (ix86_function_regparm): ... this one; add fastcall and local
2827 functions.
2828 (ix86_function_ok_for_sibcall): Update.
2829 (ix86_return_pops_args): Likewise.
2830 (init_cumulative_args): Likewise.
2831 (x86_can_output_mi_thunk): Likewise.
2832 (function_arg): Fix formating.
2833 (x86_this_parameter): Fix fastcall.
2834 (x86_output_mi_thunk): Likewise.
2835
2836 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
2837 body as reachable; mark nested functions as needed too.
2838 (dump_cgraph): Do not output global.calls.
2839 * cgraph.h (cgraph_global_info): Kill.
2840 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
2841 (record_call_1): Speedup.
2842 (cgraph_analyze_function): Break out from ...; compute inlining
2843 parameters.
2844 (cgraph_finalize_compilation_unit): ... here.
2845 (cgraph_mark_inline): Kill computation of calls.
2846 (cgraph_decide_inlining): Do not compute most of initial values.
2847
8ab49fef
RS
28482003-08-14 Roger Sayle <roger@eyesopen.com>
2849
2850 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
2851 to negate if either operand is easy to negate, if we don't care
2852 about sign-dependent rounding.
2853 (negate_expr): Make the logic to negate a REAL_CST explicit.
2854 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
2855 that's easy to negate, if we don't honor sign-dependent rounding.
2856 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
2857 negate, and the symmetric A * -B as -A * B if A is easy to negate.
2858 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
2859 -C/D if B and C are cheap to negate. Add an explicit rule to
2860 optimize X/-1.0 as -X when we don't care about signaling NaNs.
2861
e22340b0
ZW
28622003-08-14 Zack Weinberg <zack@codesourcery.com>
2863
2864 * Makefile.in (tm_file): Rename tm_include_list.
2865 (tm_p_file): Rename tm_p_include_list.
2866 (build_xm_file): Rename build_xm_include_list.
2867 (host_xm_file): Rename host_xm_include_list.
2868 (xm_file): Rename xm_include_list.
2869 (xm_file_list): Add to be substituted.
2870 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
2871 Update to match.
2872 (bt-load.o): Add missing dependency on $(TM_H).
2873 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
2874 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
2875 build_xm_file, generate both *_file_list and *_include_list
2876 values from it. (xm_file_list was formerly not being generated.)
2877 In *_include_list, prefix the names of all headers found in
2878 $(srcdir)/config with config/. In each loop, consider only
2879 the special case files that can actually appear in that list.
2880 AC_SUBST all *_file_list and all *_include_list variables; do
2881 not AC_SUBST the plain *_file variables.
2882 * configure: Regenerate.
2883
4139675b
ZD
28842003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2885
2886 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
2887
32562302
JDA
28882003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2889
2890 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
2891 direct calls.
2892 (attr_length_call): Include it here. Improve length estimate for
2893 local calls.
2894 (output_call): Use targetm.binds_local_p.
2895
9e46226d
KG
28962003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2897
daa027cc
KG
2898 * builtins.c (CASE_MATHFN): New helper macro.
2899 (mathfn_built_in): Simplify and sort.
2900
9e46226d
KG
2901 * protoize.c (substr): Delete, callers changed to `strstr'.
2902
c5d19037
ZW
29032003-08-13 Zack Weinberg <zack@codesourcery.com>
2904
2905 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
2906 * config/iq2000/xm-iq2000.h: Delete file.
2907
4da6879c
GK
29082003-08-13 Geoffrey Keating <geoffk@apple.com>
2909
2910 * gengtype.c (walk_type): Process a subobject before processing
2911 the pointer that points to the subobject.
2912
28420116
PB
29132003-08-13 Per Bothner <pbothner@apple.com>
2914
2915 * regclass.c (init_reg_modes): Make non-static.
2916 Rename to init_reg_modes_once per new naming convention.
2917 (init_regs): Don't call init_reg_modes here.
2918 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
2919 * rtl.h (init_reg_modes_once): New declaration.
2920 * toplev.c (backend_init): Call init_regs after init_emit_once.
2921
235b4b36
KK
29222003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
2923
2924 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
2925 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
2926
dce20bbc
R
29272003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
2928
2929 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
2930 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
2931
5a195cb5
DJ
29322003-08-13 Dale Johannesen <dalej@apple.com>
2933
2934 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
2935 handling of decrement-and-branch farther than 32 bits.
2936
3a000df0
KC
29372003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
2938
2939 * configure.in (make_compare_target): Move test to ...
2940 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
2941 * configure: Regenerate.
2942
b4966b1b
RS
29432003-08-12 Richard Sandiford <rsandifo@redhat.com>
2944
2945 * config/mips/iris6.h: Convert to C90 prototypes.
2946 * config/mips/irix6-libc-compat.c: Likewise.
2947 * config/mips/mips-protos.h: Likewise.
2948 * config/mips/mips.c: Likewise.
2949
825d7d64
NN
29502003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
2951
2952 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
2953 for selected machines. Comment heavily.
2954 fixinc/fixincl.x: Rebuild.
2955 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
2956
dfad12b5
RS
29572003-08-12 Richard Sandiford <rsandifo@redhat.com>
2958
2959 * config/mips/mips.h: Tweak various comments.
2960 * config/mips/mips.c: Likewise.
2961
e3f049a8
JW
29622003-08-11 James E Wilson <wilson@tuliptree.org>
2963
2964 PR optimization/11319
2965 PR target/10021
2966 * alias.c (find_base_value, case REG): Return 0 not src if no base
2967 found.
2968
4ac11022
KG
29692003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2970
2971 * gcse.c (gmalloc): Fix last change.
2972
ae351e1e
RS
29732003-08-11 Roger Sayle <roger@eyesopen.com>
2974
2975 * simplify-rtx.c (simplify_binary_operation): Replace calls to
2976 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
2977 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
2978 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
2979
11017cc7
RS
29802003-08-11 Roger Sayle <roger@eyesopen.com>
2981
2982 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
2983 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
2984 typecode for an ABS_EXPR.
2985
2986 * doc/c-tree.texi: Document ABS_EXPR.
2987
af7b5c1c
RS
29882003-08-11 Roger Sayle <roger@eyesopen.com>
2989
2990 * fold-const.c (fold): Optimize any associative floating point
2991 operator with -funsafe-math-optimizations, not just MULT_EXPR.
2992
e3bf220a
KK
29932003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
2994
2995 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
2996 information in SHmedia case too.
2997 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
2998 Likewise.
2999 (__set_fpscr): Use an access via GOT for PIC case.
3000
0c46c5c7
KC
30012003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
3002
3003 * configure.in (intermodule): Make switch test more portable.
3004 * configure: Regenerate.
3005
727793cb
KC
30062003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
3007
3008 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
3009 (restrap): Likewise.
3010
29da5c92
KG
30112003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3012
9fe15a12
KG
3013 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
3014 (grealloc): Size argument is a size_t.
3015 (gcalloc): New function. Use throughout in lieu of
3016 gmalloc/memset.
3017
29da5c92
KG
3018 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
3019 xmalloc/memset.
3020 * config/ia64/ia64.c (ia64_reorg): Likewise.
3021 * conflict.c (conflict_graph_new): Likewise.
3022 * fixinc/fixincl.c (run_compiles): Likewise.
3023 * genattrtab.c (optimize_attrs): Likewise.
3024 * genrecog.c (new_decision): Likewise.
3025 * haifa-sched.c (schedule_block): Likewise.
3026 * hashtable.c (ht_create): Likewise.
3027
13fb3a61
BW
30282003-08-11 Bob Wilson <bob.wilson@acm.org>
3029
3030 * config/xtensa/lib2funcs.S: Fix whitespace.
3031 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
3032 syntax where appropriate. Remove unnecessary backslash escapes.
3033 Reformat comments and fix some code formatting.
3034 (extendqisi2): Rearrange conditional.
3035 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
3036 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
3037 of fatal_insn.
3038
f1d5187e
RS
30392003-08-11 Richard Sandiford <rsandifo@redhat.com>
3040
3041 * config/mips/mips.c: Various formatting fixes.
3042 (override_options): Resync -mtune handling with gas.
3043 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
3044 * config/mips/mips.h: More formatting fixes.
3045 (mips_abi): Move declaration.
3046 * config/mips/mips.md (exception_receiver): Add mode to
3047 unspec_volatile.
3048
00332c9f
AH
30492003-08-11 Aldy Hernandez <aldyh@redhat.com>
3050
3051 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
3052 evsplatfi here.
3053 (bdesc_1arg): Remove evsplati and evsplatfi.
3054
a5c414e0
R
30552003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
3056
3057 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
3058 into account.
3059
0235f855
KG
30602003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3061
3062 * builtins.c (expand_builtin_strcat): Optimize constant strings.
3063
4b780675
GDR
30642003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
3065
3066 * pretty-print.c (pp_base_indent): Rename from pp_indent.
3067 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
3068 (struct c_pretty_print_info): Add more fields.
3069 (pp_c_left_paren): Move to c-pretty-print.c.
3070 (pp_c_right_paren): Likewise.
3071 (pp_c_left_brace): Likewise.
3072 (pp_c_right_brace): Likewise.
3073 (pp_c_left_bracket): Likewise.
3074 (pp_c_right_bracket): Likewise.
3075 (pp_c_declarator): Declare.
3076 (pp_c_direct_declarator): Likewise.
3077 (pp_c_specifier_qualifier_list): Likewise.
3078 (pp_c_type_id): Likewise.
3079 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
3080 (pp_c_type_qualifier_list): New.
3081 (pp_c_pointer): Likewise.
3082 (pp_c_parameter_type_list): Likewise.
3083 (pp_c_function_definition): Likewise.
3084 (pp_c_id_expression): Likewise.
3085 (pp_c_simple_type_specifier): Tidy.
3086 (pp_c_unary_expression): Likewise.
3087 (pp_c_expression): Likewise.
3088 (pp_c_pretty_printer_init): Likewise.
3089 (pp_c_specifier_qualifier_list): Rework..
3090 (pp_c_abstract_declarator): Likewise.
3091 (pp_c_postfix_expression): Likewise.
3092 (pp_c_primary_expression): Likewise.
3093 (pp_c_cast_expression): Likewise.
3094 (pp_c_direct_abstract_declarator): Likewise.
3095 (pp_c_storage_class_specifier): Likewise.
3096 (pp_c_function_specifier): Likewise.
3097 (pp_c_declaration_specifiers): Likewise.
3098 (pp_c_direct_declarator): Likewise.
3099 (pp_c_declarator): Likewise.
3100 (pp_c_declaration): Likewise.
3101 (pp_c_statement): Likewise.
3102 (pp_c_integer_constant): Rename from pp_c_integer_literal.
3103 (pp_c_character_constant): Rename from pp_c_character_literal.
3104 (pp_c_bool_constant): Rename from pp_c_bool_literal.
3105 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
3106 (pp_c_floating_constant): Rename from pp_c_real_literal.
3107 (pp_c_constant): Rename from pp_c_literal.
3108 * c-lang.c: Include diagnostic.h and c-pretty-print.h
3109 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
3110 (c_initialize_diagnostics): New.
3111 * Makefile.in (c-lang.o): Update dependency.
3112
bae39a73
NS
31132003-08-10 Nathan Sidwell <nathan@codesourcery.com>
3114
3115 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
3116
3372178c
RS
31172003-08-10 Richard Sandiford <rsandifo@redhat.com>
3118
3119 * config/mips/mips.c (mips_no_mips16_string): Remove.
3120 (override_options): Don't handle -mips16 as part of -mipsN.
3121 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
3122 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
3123 (TARGET_OPTIONS): Remove -mno-mips16.
3124
1d5565cd
RS
31252003-08-10 Richard Sandiford <rsandifo@redhat.com>
3126
3127 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
3128 (coprocessor2_operand): Likewise.
3129 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
3130 (lookup_name): Remove declaration.
3131 (abort_with_insn): Remove. Replace all uses with fatal_insn.
3132 (mips16, mips_abicalls): Remove.
3133 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
3134 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
3135 (coprocessor_operand, coprocessor2_operand): Remove.
3136 (override_options): Don't set mips16 or mips_abicalls.
3137 (print_operand): Don't expect SIGN_EXTEND operands.
3138 (mips_secondary_reload_class): Likewise.
3139 (mips_output_conditional_branch): Remove disabled long-branch code.
3140 * config/mips/mips.h (call_used_regs): Remove declaration.
3141 (may_call_alloca): Likewise.
3142 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
3143 (mips_abicalls, mips16): Remove declarations.
3144 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
3145 (CC1_SPEC): Remove outdated comment.
3146 (MIPS_VERSION, MACHINE_TYPE): Remove.
3147 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
3148 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
3149 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
3150 (PUSH_ROUNDING): Likewise.
3151 (ASSEMBLER_SCRATCH_REGNUM): Remove.
3152 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
3153 and mips16 with TARGET_MIPS16.
3154
4169c321
PB
31552003-08-09 Per Bothner <pbothner@apple.com>
3156
c5d19037
ZW
3157 * cppinit.c (cpp_read_main_file): Split out source-independent
3158 initialization to separate function ...
3159 (cpp_post_options): New function.
3160 * cppfiles.c (cpp_stack_file): Rename public name to ...
3161 (_cpp_stack_file): New internal function name.
3162 * cpplib.h: Update accordingly.
3163 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
3164 (cpp_read_main_file): Don't initialize line here.
3165 * c-opts.c (c_common_post_options): Call cpp_post_options.
3166 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
3167 * fix-header.c (read_scan_file): Call cpp_post_options.
3168
3d93cdfa
PB
31692003-08-09 Per Bothner <per@bothner.com>
3170
3171 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
3172
dfd8db86
JDA
31732003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3174
3175 * pa.c (pa_asm_output_mi_thunk): Fix typo.
3176
a54c550f
NB
31772003-08-09 Neil Booth <neil@daikokuya.co.uk>
3178
3179 PR preprocessor/11839
3180 * cppfiles.c (open_file): Handle ENOTDIR.
3181
142ee136
RS
31822003-08-09 Richard Sandiford <rsandifo@redhat.com>
3183
3184 PR target/11699
3185 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
3186
561af708
JDA
31872003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3188
3189 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
3190 source/destination is not a register operand.
3191
af1e5518
RH
31922003-08-08 Richard Henderson <rth@redhat.com>
3193
c5d19037
ZW
3194 PR target/11535
3195 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
3196 RETURN_ADDRESS_POINTER_REGNUM.
3197 (ia64_expand_prologue): Don't frob it.
3198 (ia64_output_function_epilogue): Likewise.
3199 (ia64_return_addr_rtx): New.
3200 (ia64_split_return_addr_rtx): New.
3201 * config/ia64/ia64-protos.h: Update.
3202 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
3203 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
3204 (GENERAL_REGNO_P): Don't check it.
3205 (AR_*_REGNUM): Renumber.
3206 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
3207 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
3208 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
3209 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
3210 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
3211 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
3212 (movdi_ret_addr): New.
af1e5518 3213
5dddb920
GK
32142003-08-08 Geoffrey Keating <geoffk@apple.com>
3215
3216 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
3217
7bb3fbbb
RS
32182003-08-08 Roger Sayle <roger@eyesopen.com>
3219
3220 * tree.h (get_identifier) Define a macro form of get_identifier
3221 that calls get_identifier_with_length when the string is constant.
3222 (get_identifier_with_length): Change type of second argument to
3223 size_t in prototype.
3224 * stringpool.c (get_identifier): Undefine the macro before giving
3225 the function definition.
3226 (get_identifier_with_length): Change type of second argument to
3227 size_t in function definition.
3228 * hashtable.c (calc_hash): Change type of second argument to size_t.
27f35b75 3229 (ht_lookup): Change type of third argument to size_t. Reorganize
7bb3fbbb
RS
3230 to speed-up the cases where the hash table slot is empty, or the
3231 first probe matches (i.e. there isn't a collision).
3232 * hashtable.h (ht_lookup): Adjust function prototype.
3233
32247ce9
BI
32342003-08-08 Bernardo Innocenti <bernie@develer.com>
3235
3236 PR target/9697
3237 PR target/11777
3238 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
3239
df38ffef
NB
32402003-08-08 Neil Booth <neil@daikokuya.co.uk>
3241
3242 * common.opt: Add debug switches.
3243 * flags.h (use_gnu_debug_info_extensions): Boolify.
3244 * opts.c (write_symbols, debug_info_level,
3245 use_gnu_debug_info_extensions): Move from toplev.c.
3246 (set_debug_level): New.
3247 (common_handle_options): Handle debug switches.
3248 (print_help): Display target options directly.
3249 * toplev.c (debug_hooks): Don't initialize.
3250 (write_symbols, debug_info_level,
3251 use_gnu_debug_info_extensions): Move to opts.c.
3252 (debug_args, display_help, decode_g_option): Remove.
3253 (process_options): Set no debug if level zero here,
3254 and no-debug-hooks. Error here if impossible debug format selected.
3255 * toplev.h (display_help, decode_g_option): Remove.
3256
679c4092
RS
32572003-08-08 Richard Sandiford <rsandifo@redhat.com>
3258
3259 * tree.c (get_file_function_name_long): Fix size of alloca() area.
3260
c8b5beb8
KC
32612003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
3262
3263 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
c5d19037 3264 and gcc_cv_prog_cmp_skip.
c8b5beb8
KC
3265 * configure: Regenerate.
3266
6b3d1e47
SC
32672003-08-08 Stan Cox <scox@redhat.com>
3268
3269 * config/iq2000: New port.
3270 * config.gcc (iq2000-*-elf): Added.
3271 * doc/install.texi (Specific): Add iq2000 description.
3272
cfa9ee99
AS
32732003-08-08 Andreas Schwab <schwab@suse.de>
3274
7ce27ffb 3275 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
cfa9ee99
AS
3276 and insert missing empty argument.
3277 * configure: Regenerate.
3278
cb99b61a
JDA
32792003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3280
62910663
JDA
3281 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
3282 (attr_length_millicode_call): Likewise.
3283 (attr_length_call): Likewise. Revise some maximum insn lengths.
3284 (attr_length_indirect_call): Likewise.
3285 (output_call): Fix thinko that added extra nop.
3286 * pa.h (IN_NAMED_SECTION_P): Define.
3287
cb99b61a
JDA
3288 PR c++/11712
3289 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
3290 __STDC_EXT__ when using C++ dialect.
3291
97b3d0f0
R
32922003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
3293
7d73a2ba
R
3294 * sh.c (calc_live_regs): If the return address pointer is live,
3295 force pr live.
3296 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
3297 for saves / restores.
3298 (sh_expand_epilogue): If sh_media_register_for_return returns a
3299 register number, flag the instructions that restores PR_MEDIA_REG
3300 as possibly dead.
3301 Remove dead update of offset.
3302 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
3303 we can use the result of get_hard_reg_initial_val.
3304 * sh.md (UNSPEC_RA): New constant.
3305 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
3306 (load_ra). Handle UNSPEC_RA.
3307 (sibcall_media): Use PR_MEDIA_REG.
3308
97b3d0f0
R
3309 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
3310 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
3311 needs saving on SHmedia.
3312
d40c829f
UW
33132003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
3314
3315 * config/s390/s390.md: Replace all occurrences of \\t with \t.
3316
a5342656
RS
33172003-08-07 Richard Sandiford <rsandifo@redhat.com>
3318
3319 * local-alloc.c (combine_regs): Fix comment typo.
3320
fdc49e10
ZW
33212003-08-06 Zack Weinberg <zack@codesourcery.com>
3322
3323 * c-decl.c (builtin_decls): Replace with first_builtin_decl
3324 and last_builtin_decl.
3325 (c_init_decl_processing): Initialize both.
3326 (c_reset_state): Iterate from first_builtin_decl to
3327 last_builtin_decl inclusive to reintroduce builtins.
3328
a32767e4
DM
33292003-08-06 David Mosberger <davidm@hpl.hp.com>
3330
fdc49e10
ZW
3331 * doc/extend.texi (Function Attributes): Document the IA-64 version
3332 of the "model" attribute.
3333
3334 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
3335 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
3336 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
3337
3338 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
3339 (ia64_encode_section_info): Likewise.
3340 (ia64_attribute_table): Add "model" attribute.
3341 (TARGET_ENCODE_SECTION_INFO): Define.
3342 (small_addr_symbolic_operand): New function.
3343 (got_symbolic_operand): Return 0 for a symbolref to an object
3344 in the small address area.
3345 (enum ia64_addr_area): New type.
3346 (small_ident1): New variable.
3347 (small_ident2): Likewise.
3348 (init_idents): New function.
3349 (ia64_get_addr_area): Likewise.
3350 (ia64_encode_addr_area): Likewise.
3351 (ia64_encode_section_info): Likewise.
3352 (ia64_expand_load_address): For symbolic references to objects in
3353 the small-address-area, load the address via gen_rtx_SET() (which,
3354 eventually, will expand into "addl").
a32767e4 3355
8b82c528
PB
33562003-08-06 Per Bothner <pbothner@apple.com>
3357
3358 * line-map.h (fileline): New typedef.
fdc49e10 3359 (struct line_map, linemap_add, linemap_lookup): Use it.
8b82c528
PB
3360 * input.h (struct location_s): Comment notes that long-term we want
3361 to replace it by fileline.
3362
b869f904
R
33632003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
3364
3365 Fix SHcompact exception handling:
3366 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
3367 by the prologue, return a MEM with return_address_pointer_rtx
3368 as address.
3369 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
3370 (RETURN_ADDR_OFFSET): Don't define.
3371 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
3372 registers that are visible in compact mode. Show that SHmedia
3373 registers still exist in compact mode, even if there are not
3374 readily accessible.
3375 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
3376 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
3377 and DW_EH_PE_pcrel for pic data.
3378 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
3379 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
3380 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
3381 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
3382 * sh.md (movsi_media-1): New splitter.
3383
f2feed2c
GP
33842003-08-06 Graeme Peterson <gp@qnx.com>
3385
3386 * config/i386/nto.h: New.
3387 * config/i386/t-nto: New.
3388 * config.gcc (i[34567]86-*-nto-qnx*): New.
3389
1cba0a4e
PE
33902003-08-06 Phil Edwards <pme@gcc.gnu.org>
3391
3392 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
3393
980f6e8e
AM
33942003-08-06 Alan Modra <amodra@bigpond.net.au>
3395
3396 * calls.c (load_register_parameters): Arrange for call_fusage to
3397 report the whole register as used when shifting to the msb.
3398
d25225de
RS
33992003-08-05 Roger Sayle <roger@eyesopen.com>
3400
3401 * builtins.c (expand_builtin): When not optimizing, call the library
3402 function for all builtins that have library functions (except alloca).
3403
b20d9f0c
AO
34042003-08-05 Alexandre Oliva <aoliva@redhat.com>
3405
3406 * c.opt: Introduce -fworking-directory.
3407 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
3408 * c-common.h (flag_working_directory): Declare.
3409 * c-common.c (flag_working_directory): Define.
3410 * c-opts.c (c_common_handle_options): Set it.
3411 (sanitize_cpp_opts): Set...
3412 * cpplib.h (struct cpp_options): ... working_directory option.
3413 (struct cpp_callbacks): Add dir_change.
3414 * cppinit.c (read_original_filename): Call...
3415 (read_original_directory): New. Look for # 1 "directory//"
3416 and process it.
3417 (cpp_read_main_file): Call dir_change callback if working_directory
3418 option is set.
3419 * gcc.c (cpp_unique_options): Pass -g*.
3420 * c-lex.c (cb_dir_change): New.
3421 (init_c_lex): Set dir_change callback.
3422 * toplev.c (src_pwd): New static variable.
3423 (set_src_pwd, get_src_pwd): New functions.
3424 * toplev.h (get_src_pwd, set_src_pwd): Declare.
3425 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
3426 * dwarf2out.c (gen_compile_unit_die): Likewise.
3427 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
3428
e1a4dd13
GDR
34292003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3430
3431 * pretty-print.h (pp_set_line_maximum_length): Make macro.
3432 (pp_set_prefix): Likewise.
3433 (pp_destroy_prefix): Likewise.
3434 (pp_remaining_character_count_for_line): Likewise.
3435 (pp_clear_output_area): Likewise.
3436 (pp_formatted_text): Likewise.
3437 (pp_last_position_in_text): Likewise.
3438 (pp_emit_prefix): Likewise.
3439 (pp_append_text): Likewise.
3440 (pp_flush): Likewise.
3441 (pp_format_text): Likewise.
3442 (pp_format_verbatim): Likewise.
3443 (pp_tree_identifier): Tidy.
3444 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
3445 (pp_base_format_verbatim): Rename from pp_format_verbatim.
3446 (pp_base_flush): Rename from pp_flush.
3447 (pp_base_set_line_maximum_length): Rename from
3448 pp_set_line_maximum_length.
3449 (pp_base_clear_output_area): Rename from pp_clear_output_area.
3450 (pp_base_set_prefix): Rename from pp_set_prefix.
3451 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
3452 (pp_base_emit_prefix): Rename from pp_emit_prefix.
3453 (pp_base_append_text): Rename from pp_append_text.
3454 (pp_base_formatted_text): Rename from pp_formatted_text.
3455 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
3456 (pp_base_remaining_character_count_for_line): Rename from
3457 pp_remaining_character_count_for_line.
3458 * diagnostic.h (diagnostic_format_decoder): Tidy.
3459 (diagnostic_flush_buffer): Likewise.
3460 * c-pretty-print.h: (pp_c_string_literal): Declare.
3461 (pp_c_real_literal): Likewise.
3462 (pp_c_integer_literal): Likewise.
3463 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
fdc49e10 3464 pp_identifier.
e1a4dd13
GDR
3465 (pp_c_character_literal): Tidy.
3466 (pp_c_string_literal): Make public.
3467 (pp_c_bool_literal): Likewise.
3468 (pp_c_integer_literal): Likewise.
3469 (pp_c_real_literal): Likewise.
3470
3471 * Makefile.in (C_PRETTY_PRINT_H): New variable.
3472 (c-pretty-print.o): Update dependence.
3473
8c98b170
CD
34742003-08-05 Chris Demetriou <cgd@broadcom.com>
3475
3476 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
3477 ".set nomacro" state.
3478 (fix_truncsfsi2_macro): Likewise.
3479
b3c3af2f
SB
34802003-08-05 Steven Bosscher <steven@gcc.gnu.org>
3481
3482 * tree.h (DID_INLINE_FUNC): Remove macro.
3483 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
3484 add tree check for FUNCTION_DECL.
3485 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
3486 (struct tree_decl): Rename inlined_function_flag to
3487 declared_inline_flag.
3488 * c-common.h (c_lang_decl): Remove.
3489 (DECL_ESTIMATED_INSNS): Remove.
3490 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
3491 (DECL_DECLARED_INLINE_P): Remove.
3492 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
3493 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
3494 (finish_function): Make uninlinable a bool. Fixup call to
3495 tree_inlinable_function_p() and fix some code style issues.
3496 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
3497 * cgraph.c (dump_cgraph): Likewise.
3498 * cgraphunit.c (cgraph_decide_inlining): Likewise
3499 (cgraph_finalize_compilation_unit): Likewise.
3500 Also update call to tree_inlinable_function_p().
3501 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
3502 look at DECL_DECLARED_INLINE and reverse logic.
3503 * print-tree.c (print_node): Likewise.
3504 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
3505 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
3506 prototype.
3507 * tree-inline.c (inlinable_function_p): Split up in this function to
3508 check for basic inlining inhibiting conditions, and new
3509 limits_allow_inlining() function. Warn if inlining is impossible
3510 because the inline candidate calls alloca or uses sjlj exceptions.
3511 (limits_allow_inlining): this new function to check if the inlining
3512 limits are satisfied. Throttle from currfn_max_inline_insns, not from
3513 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
3514 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
3515 Update prototypes.
3516 (tree_inlinable_function_p): Make a bool. Update call to
3517 inlinable_function_p
3518 (expand_call_inline): Use limits_allow_inlining() when not in
3519 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
3520 instead see if the function was declared `inline'.
3521
ed8395a0
JZ
35222003-08-05 Josef Zlomek <zlomekj@suse.cz>
3523
3524 * gcse.c (try_replace_reg): Fix updating of note.
3525
02a1994c
RS
35262003-08-04 Roger Sayle <roger@eyesopen.com>
3527
3528 PR middle-end/11771
3529 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
3530 logic in negate_expr, i.e. we don't invert (A-B) for floating
3531 point types unless flag_unsafe_math_optimizations.
3532
f2593a66
RS
35332003-08-04 Roger Sayle <roger@eyesopen.com>
3534
3535 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
3536 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
3537 for floating point expressions with -ffast-math.
3538 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
3539 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
3540
03aa99d4
RS
35412003-08-04 Roger Sayle <roger@eyesopen.com>
3542
3543 * c-common.c (flag_noniso_default_format_attributes): Delete.
3544 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
3545 (c_attrs_initialized): Delete.
3546 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
3547 always call c_init_attributes.
3548 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
3549 set c_attrs_initialized when done.
3550 (c_common_insert_default_attributes): Delete.
3551 * c-common.h (flag_noniso_default_format_attributes): Delete.
3552 (c_coomon_insert_default_attributes): Delete prototype.
3553 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
3554 flag_noniso_default_format_attributes.
3555
3556 * c-decl.c (c_insert_default_attributes): Delete.
3557 * c-tree.h (c_insert_default_attributes): Delete prototype.
3558
3559 * attribs.c (decl_attributes): Don't call insert_default_attributes
3560 langhook. Update function description comment.
3561 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
3562 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
3563 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
3564 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
3565
3566 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
3567 define.
3568
38e596df
RS
35692003-08-04 Richard Sandiford <rsandif@redhat.com>
3570
3571 * config/mips/mips.c (override_options): Disable -G on targets that
3572 have no .section support.
3573 (mips_select_section): Use default_select_section for such targets.
3574
76d2e2c5
NN
35752003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
3576
3577 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
3578 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
3579 * fixinc/fixincl.x: Rebuild.
3580 * fixinc/tests/base/regexp.h: New test.
3581
b2734c68
AO
35822003-08-04 Alexandre Oliva <aoliva@redhat.com>
3583
3584 * c-ppoutput.c (cb_line_change): Don't skip line changing while
3585 parsing macro arguments in the top-level context.
3586
4e87a651
NB
35872003-08-04 Neil Booth <neil@daikokuya.co.uk>
3588
3589 * config.in: Remove HAVE_LSTAT.
3590 * configure, configure.in: Don't test for lstat.
3591
21ecc5a7
GDR
35922003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3593
3594 * opts.c (decode_options): Do language-specific initialization for
3595 the global diagnostic context.
3596 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
3597 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
3598 (LANG_HOOKS_INITIALIZER): Adjust.
fdc49e10
ZW
3599 * langhooks.h (struct lang_hooks): Add new field
3600 initialize_diagnostics.
21ecc5a7
GDR
3601 * langhooks.c (lhd_initialize_diagnostics): Define.
3602
36032003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3604
3605 * pretty-print.h: Adjust macro definitions.
3606 * pretty-print.c (pp_newline): Rename to pp_base_newline.
3607 (pp_character): Rename to pp_base_character.
3608 (pp_string): Rename to pp_base_string.
3609 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
3610 (pp_newline): Likewise. Adjust.
3611 (pp_c_char): Adjust.
3612
d82f81dd
KG
36132003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3614
3615 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
3616 BUILT_IN_LLABS): Move to miscellaneous section.
3617
335d03ec
NB
36182003-08-03 Neil Booth <neil@daikokuya.co.uk>
3619
cb6eb88a 3620 PR preprocessor/11534
335d03ec
NB
3621 * cppexp.c (parse_defined): Warn only if -pedantic.
3622
76bf2c97
NB
36232003-08-03 Neil Booth <neil@daikokuya.co.uk>
3624
3625 * cppfiles.c (stack_file): Use file path.
3626
178b2b9f
RS
36272003-08-02 Roger Sayle <roger@eyesopen.com>
3628
3629 * builtin-types.def (BT_SSIZE): New primitive type.
3630 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
3631 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
3632 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
3633 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
3634 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
3635 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
3636 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
3637 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
3638 few functions that define default attributes using it.
3639 * c-common.c (c_common_insert_default_attributes): Do nothing.
3640
3641 * doc/extend.texi: Document these "new" builtins.
3642
469146c1
KK
36432003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
3644
3645 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
3646 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
3647 when -mieee-fp set and -shared not set.
3648 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
3649
49634b3a
NB
36502003-08-02 Neil Booth <neil@daikokuya.co.uk>
3651
3652 * cppfiles.c (struct _cpp_file): Rename once_only_next to
3653 next_file. Remove import and pragma_once, add once_only.
3654 (find_file): Add new file structures to the all_files list.
3655 (should_stack_file): Mark #import-ed files once-only, and
3656 don't stack them if the file has already been stacked.
3657 (_cp_mark_file_once_only): Simplify.
3658 * cpphash.h (struct cpp_reader): Rename once_only_files
3659 to all_files. Rename saw_pragma_once to seen_once_only.
3660 (_cpp_mark_file_once_only): Update prototype.
3661 * cpplib.c (do_pragma_once): Update.
3662
cf1ee30c
NB
36632003-08-02 Neil Booth <neil@daikokuya.co.uk>
3664
3665 * cppfiles.c (ENOTDIR): Remove.
3666 (open_file_in_dir): Rename find_file_in_dir. Handle errors
3667 other than ENOENT here.
3668 (once_only_file_p): Rename should_stack_file.
3669 (find_file, open_file_failed, read_file_guts): Report errors
3670 with full path name.
3671 (read_file): Move pch handling to should_stack_file.
3672 (should_stack_file): Handle PCH and once-only issues, and
3673 reading the file.
3674 (stack_file): Don't do file reads.
3675
50612a04
ZD
36762003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3677
3678 * libgcov.c (gcov_exit): Cleanup and fix.
3679 * profile.c (compute_value_histograms): Don't try to read profiles
3680 that are not present.
3681
f6a46818
KG
36822003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3683
f53b62e1
KG
3684 * builtins.def: Categorize.
3685
f6a46818
KG
3686 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
3687 Mind fp rounding.
3688 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
3689
12550591
AT
36902003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
3691
3692 * config.gcc: Enable posix threads by default on darwin.
3693
5f77fbd4
JJ
36942003-08-01 Jakub Jelinek <jakub@redhat.com>
3695
3696 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
3697 even if nehedges1 is 0.
3698
f4dbf936
NN
36992003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
3700
3701 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
3702 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
3703 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
3704 and defintions.
3705
3706 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
3707 * fixinc/fixincl.x: Regenerate.
3708 * fixinc/tests/base/math.h: Regenerate to match test_text change.
3709
c76becbd
RO
37102003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3711
3712 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
3713
f920765d
RK
37142003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3715
3716 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
3717 for accesses to exc_ptr.
3718
8e5f33ff
GK
37192003-08-01 Geoffrey Keating <geoffk@apple.com>
3720
3721 * doc/sourcebuild.texi (Front End Directory): Don't make references
3722 to libsubdir, it's not part of the interface to frontends.
3723 * doc/install.texi (Configuration): Help users read faster by saying
3724 that GCC's configure options are the standard autoconf ones.
3725 Mention --libdir. Update the default rules for finding the
3726 assembler. Don't use libsubdir since we haven't said what it means.
3727 (Specific): In the Solaris 7 notes, update the place to put the
3728 assembler.
3729 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
3730 * doc/cpp.texi (Search Path): Actually, the search path
3731 depends on libdir, which can relocate with cpp.
3732 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
3733 now a private interface between the Makefile and the driver.
3734
75c20980
RH
37352003-08-01 Richard Henderson <rth@redhat.com>
3736
3737 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
3738
3739 * varasm.c (lookup_constant_def): New function.
3740 * rtl.h (lookup_constant_def): Declare it.
fdc49e10 3741 * dwarf2out.c (loc_descriptor_from_tree): Use it.
75c20980
RH
3742 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
3743
f91f41b2
ZW
37442003-08-01 Zack Weinberg <zack@codesourcery.com>
3745
3746 * c-decl.c (gettags, pushdecl_function_level): Delete.
3747 (last_function_parm_vars): Rename last_function_parm_others.
3748 (current_function_parm_vars): Rename current_function_parm_others.
3749 (struct c_scope): Rewrite comment explaining this data structure.
3750 Add names_last, blocks_last, parms_last fields. Rename
3751 incomplete_list to incomplete.
3752 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
3753 (poplevel): Ignore second argument. No need to nreverse
3754 anything. Restructure such that each list is processed
3755 exactly once. Use 'const location_t *locus' syntactic sugar
3756 variable where useful. Issue unused variable warnings
3757 ourselves, do not rely on function.c.
3758 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
3759 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
3760 (implicitly_declare): decl cannot be error_mark_node.
3761 (undeclared_variable): Manipulate scope structure directly.
3762 (c_make_fname_decl): Likewise.
3763 (getdecls, c_init_decl_processing): Fix comment.
3764 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
3765 for 'last' variable.
3766 (grokparms): No need to nreverse parms list.
3767 (store_parm_decls_newstyle): Set up the parms_last and
3768 names_last fields of the new scope too.
3769 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
3770 on parms to begin with; check this under ENABLE_CHECKING. Set
3771 up parms_last.
3772 (check_for_loop_decls): Refer directly to current_scope->tags.
3773 Use consistent quote style in diagnostics.
3774 (c_write_global_declarations): The names list is not backward.
3775
3776 * c-common.h: Don't prototype gettags.
3777 * c-parse.in: Call poplevel with second argument 0 always.
3778
a8eb1db5
KG
37792003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3780
3781 * builtins.def: Resort builtins.
3782
da7cfe13
KG
37832003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3784
3785 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
3786 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
3787 Prepend "__builtin_" onto NAME with string concatenation. Remove
3788 explicit "__builtin_" from each macro call.
3789
3790 Reformat entire file.
3791
ea8eb0b9
KG
37922003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3793
3794 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
3795 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
3796
61152e48 37972003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
3ef093a8
AK
3798
3799 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
3800 CCL1, or CCL2 modes with floating point operations.
3801
3802 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
3803 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
3804 "*subdf3_cconly"): New insns.
3805 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
3806
bf42e45b
NB
38072003-08-01 Neil Booth <neil@daikokuya.co.uk>
3808
3809 * Makefile.in: Refine dependencies.
3810 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
3811 * c.opt: Update help for -Wimport.
3812 * cppfiles.c: Include hashtab.h. Update comments.
3813 (stack_file): Read the file before updating dependencies.
3814 (once_only_file_p): Be smarter about marking once-only files.
3815 (_cpp_mark_file_once_only): Correct the check for existence on
3816 the list.
3817 (open_file_failed): Use name not path, which is NULL.
3818 * cpphash.h: Don't include hashtab.h.
3819 (struct _cpp_file): Remove.
3820 (struct cpp_reader): Update.
3821 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
3822 * cpplib.h (struct cpp_options): Remove warn_import.
3823 (cpp_simplify_path): Remove.
3824
a5bcc582
NS
38252003-08-01 Nathan Sidwell <nathan@codesourcery.com>
3826
3827 PR c++/11295
3828 * doc/extend.texi (Statement Expressions): Document C++ semantics.
3829
2fdd01a0
ST
38302003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
3831
3832 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
3833
3c260e1d
KG
38342003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3835
3836 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
3837 throughout.
3838 * builtins.def: Likewise.
3839
40209195
JM
38402003-07-31 Jason Merrill <jason@redhat.com>
3841
3842 * Makefile.in (bubblestrap): Don't require a previous full
3843 bootstrap.
3844
3845 * expr.c (mostly_zeros_p): No longer static.
3846 * tree.h: Declare it.
3847 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
3848 unless we need to do substitutions.
3849
2598550f
RS
38502003-07-31 Roger Sayle <roger@eyesopen.com>
3851
3852 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
3853 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
3854 as pow(x,2.0) when the latter will be expanded back into x*x.
3855 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
3856 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
3857 pow can never set errno when used with an integer exponent.
3858 Always use expand_powi when exponent is -1, 0, 1 or 2.
3859 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
3860 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
3861 the pow forms of these expressions.
3862
a8ee6e2d
GK
38632003-07-31 Geoffrey Keating <geoffk@apple.com>
3864
3865 * Makefile.in (libexecdir): New.
3866 (libsubdir): Use gcc instead of gcc-lib.
3867 (libexecsubdir): New.
3868 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
3869 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
3870 gcc-lib.
3871 (installdirs): Make libexecsubdir.
3872 (install-common): Put executables in libexecsubdir.
3873 (itoolsdir): Use libexecsubdir.
3874 (itoolsdatadir): New.
3875 (install-mkheaders): Separate data files and executables.
3876 (install-collect2): Put executables in libexecsubdir.
3877 (uninstall): Remove libexecsubdir.
3878 * mkheaders.in: Update for new arrangement of files.
3879 (libexecdir): New.
3880 (libexecsubdir): New.
3881 (itoolsdir): Use libexecsubdir.
3882 (itoolsdatadir): New.
3883 * gcc.c (gcc_libexec_prefix): New.
3884 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
3885 (standard_exec_prefix_1): Use libexec.
3886 (standard_exec_prefix_2): New.
3887 (standard_libexec_prefix): New.
3888 (process_command): Update for new arrangement of files. Compute
3889 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
3890
631099c9
NN
38912003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
3892
3893 * inclhack.def (stdio_va_list): Avoid bogus replacement which
3894 triggers on Interix.
3895 * fixincl.x: Regenerate.
3896
a132b6a8
JJ
38972003-07-31 Jakub Jelinek <jakub@redhat.com>
3898
3899 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
3900 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
3901
c67b2a58
RK
39022003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3903
3904 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
3905
40e941af
PB
39062003-07-31 Per Bothner <pbothner@apple.com>
3907
3908 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
3909 (add_input_filename): New function.
3910 (handle_options): Call add_input_filename directly instead of
3911 with a lang hook.
3912 * opts.h (in_fnames, num_in_fnames): Moved here.
3913 (add_input_filename): Declare.
3914 * c-decl.c: Need to #include opts.h.
3915 * Makefile.in (c-decl.o): Also depends on opts.h.
3916 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
3917 (c_common_handle_filename): Replaced by add_input_filename.
3918 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
3919 Remove.
3920 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
3921 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
3922 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
3923 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
3924
9143c6b7
ZD
39252003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3926
3927 * combine.c (try_combine): Set JUMP_LABEL for newly created
3928 unconditional jump.
3929
b7de5864
ZD
39302003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3931
3932 * fold-const.c (fold): Fold some comparisons of bit operations.
3933
602a82f3 39342003-07-31 Jan Hubicka <jh@suse.cz>
fdacb904
JH
3935
3936 * cgraph.c (create_edge): Fix typo.
3937 * i386.c (pic_symbolic_operand): Reorder tests.
3938
8100063e
NS
39392003-07-31 Nathan Sidwell <nathan@codesourcery.com>
3940
3941 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
3942 more fully.
3943 (Gcov Data Files): Update.
3944
2a4e8ebc
RO
39452003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3946
3947 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
3948 default.
3949
3950 * gthr-posix.c: New file.
3951 * gthr-posix.h: Define _REENTRANT if missing.
3952 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
3953
3954 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
3955 by gthr-posix.o.
3956 * config/alpha/t-osf-pthread: New file.
3957
3958 * fixinc/inclhack.def (alpha_pthread): New fix.
3959 * fixinc/fixincl.x: Regenerate.
3960 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
3961
3962 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
3963 warning.
3964 Fixes PR bootstrap/9330.
3965
689a714d
RO
39662003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3967
3968 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
3969 without GNU ld.
3970 Update comment.
3971 * configure: Regenerate.
3972
caf819ae
VM
39732003-07-31 Vladimir Makarov <vmakarov@redhat.com>
3974
f91f41b2
ZW
3975 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
3976 setter.
caf819ae 3977
1aa0a5f6
RS
39782003-07-30 Roger Sayle <roger@eyesopen.com>
3979
3980 * builtins.def: Alphabetize.
3981
4bd0bee9
MK
39822003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
3983
3984 * doc/c-tree.texi: Normalize spellings of "lowercase" and
3985 "uppercase".
3986 * doc/cpp.texi: Likewise.
3987 * doc/md.texi: Likewise.
3988 * doc/rtl.texi: Likewise.
3989 * doc/tm.texi: Likewise.
3990
7f02cb5c
MK
39912003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
3992
3993 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
3994 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
3995 of cc1obj.
3996
498887c8
CD
39972003-07-30 Chris Demetriou <cgd@broadcom.com>
3998
3999 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
4000 macros before defining them.
4001
10bbf137
UW
40022003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
4003
f91f41b2 4004 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
10bbf137
UW
4005 UNSPECV_BLOCKAGE): New constants.
4006 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
4007 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
4008 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
4009 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
4010
4011 (all insns and expanders): Write output control string as brace block
4012 where appropriate. Remove \-escapes for doublequote characters.
4013
602a82f3 40142003-07-31 Jan Hubicka <jh@suse.cz>
3f2eae23
JH
4015
4016 * gcse.c (insert_store): Fix typo in previous patch.
4017
f0babc9a
NB
40182003-07-30 Neil Booth <neil@daikokuya.co.uk>
4019
4020 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
4021
edeac5de
AK
40222003-07-30 Andi Kleen <ak@muc.de>
4023
4024 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
4025
6e885ee3
ZD
40262003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4027
4028 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
4029 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
4030 GCOV_N_VALUE_COUNTERS): New.
4031 * profile.c (compute_value_histograms): New static function.
4032 (branch_prob): Read back the value histograms.
4033 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
4034 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
4035 * value-prof.c: Add comment on reading the profile.
4036 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
4037 * doc/invoke.texi (-fprofile-values): Document behavior with
4038 -fbranch-probabilities.
4039
0e6cb2cb
DE
40402003-07-30 David Edelsohn <edelsohn@gnu.org>
4041
4042 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
4043
656ec3b1
UW
40442003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
4045
4046 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
4047 symbolically.
4048
602a82f3 40492003-07-30 Jan Hubicka <jh@suse.cz>
a0c8285b
JH
4050
4051 * gcse.c (insert_store): Ignore fake edges.
4052
4053 * c-common.c (flag_vtable_gc): Kill.
4054 * c-common.g (flag_vtable_gc): Kill.
4055 * c-opts (c_common_handle_option): Kill.
4056 * c.opt (fvtable-gc): Kill.
4057 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
4058 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
4059 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
4060
4061 * invoke.texi (-ftable-gc): Kill documentation.
4062
4063 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
4064 just because function body is missing.
4065
4066 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
4067
b2e863b8
RM
40682003-07-30 Ranjit Mathew <rmathew@hotmail.com>
4069
4070 * unwind-sjlj.c: Fix typo in file description.
4071
9206d736
AM
40722003-07-30 Alan Modra <amodra@bigpond.net.au>
4073
4074 * calls.c (load_register_parameters): When shifting reg sized values
4075 to the msb, move the value to a reg first.
4076
9074464c
GK
40772003-07-29 Geoffrey Keating <geoffk@apple.com>
4078
4079 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
4080 * line-map.h (linemap_add): Update comments.
4081 * line-map.c (linemap_add): Update comments, interpret zero-length
4082 filename as "<stdin>".
4083
e55e4f68
NN
40842003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
4085
4086 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
4087
55d54003
ZW
40882003-07-29 Zack Weinberg <zack@codesourcery.com>
4089
4090 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
4091 New static variables.
4092 (struct c_scope): Add parms and warned_forward_parm_decls
4093 fields; remove parm_order.
4094 (storedecls, storetags): Delete.
4095 (poplevel): Also clear bindings on the parms chain.
4096 (pushdecl): Handle forward declarations of parameters, and
4097 chain PARM_DECLs on the parms list, not the names list.
4098 (lookup_name_current_level): Check for PARM_DECLs on the parms
4099 list too.
4100 (push_parm_decl): Don't update parm_order.
4101 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
4102 warning, only once per parameter list, and set TREE_ASM_WRITTEN
4103 on the decls here. Then move the forward decls to the names list.
4104 (grokparms): Set last_function_parm_vars.
4105 (get_parm_info): Don't use gettags or getdecls. No need to
4106 extract non-parms from the parms list, or reorganize the parms
4107 list. Feed nonparms back in the TREE_TYPE of the list node
4108 returned. Issue only one error per parameter list for "void"
4109 appearing more than once in said parameter list. Collapse
4110 parmlist_tags_warning into this function to avoid double scan
4111 of tags list.
4112 (start_function): Set current_function_parm_vars.
4113 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
4114 directly. Get non-parms from current_function_parm_vars; no
4115 need to extract them from the parms chain. Properly bind tags
4116 in the new scope.
4117 (store_parm_decls_oldstyle): No need to extract non-parameters
4118 from the parms chain, nor to store them back afterward. Move
4119 declaration to top of function, restructure code reordering
4120 DECL_ARGUMENTS.
4121 (store_parm_decls): No need to save and restore warn_shadow.
4122 * c-parse.in: Don't call parmlist_tags_warning nor
4123 clear_parm_order. Call mark_forward_parm_decls when forward
4124 parm decls are encountered.
4125 * c-tree.h: Prototype mark_forward_parm_decls; not
4126 clear_parm_order or parmlist_tags_warning.
4127
18c81520
GK
41282003-07-29 Geoffrey Keating <geoffk@apple.com>
4129
4130 * c-common.c (allow_pch): Remove.
4131 * c-common.h (allow_pch): Remove.
4132 (c_common_no_more_pch): Declare.
4133 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
4134 * c-pch.c: Include hosthooks.h.
4135 (c_common_valid_pch): Don't check allow_pch.
4136 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
4137 (c_common_no_more_pch): New.
4138 * ggc-common.c: Include hosthooks.h.
4139 (gt_pch_save): Call gt_pch_get_address.
4140 (gt_pch_restore): Call gt_pch_use_address.
4141 * hooks.c (hook_voidp_size_t_null): New.
4142 (hook_bool_voidp_size_t_false): New.
4143 * hooks.h (hook_voidp_size_t_null): New.
4144 (hook_bool_voidp_size_t_false): New.
4145 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
4146 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
4147 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
4148 HOST_HOOKS_GT_PCH_USE_ADDRESS.
4149 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
4150 gt_pch_use_address.
4151 * doc/hostconfig.texi (Host Common): Document
4152 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
4153 * Makefile.in (c-pch.o): Depend on hosthooks.h.
4154 (ggc-common.o): Likewise.
4155
4156 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
4157 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
4158 (pch_address_space): New.
4159 (darwin_rs6000_gt_pch_get_address): New.
4160 (darwin_rs6000_gt_pch_use_address): New.
4161
8f9b4009
NB
41622003-07-29 Neil Booth <neil@daikokuya.co.uk>
4163
cb6eb88a
NB
4164 PR preprocessor/11569
4165 PR preprocessor/11649
8f9b4009
NB
4166 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
4167 * cppfiles.c: Completely rewritten.
4168 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
4169 struct cpp_path is now struct cpp_dir.
4170 (remove_duplicates): Don't simplify path names.
4171 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
4172 cpp_stack_file.
4173 * cpphash.h: Include hashtab.h.
4174 (_cpp_file): Declare.
4175 (struct cpp_buffer): struct include_file is now struct _cpp_file,
4176 and struct cpp_path is now struct cpp_dir. Rename members.
4177 (struct cpp_reader): Similarly. New members once_only_files,
4178 file_hash, file_hash_entries, quote_ignores_source_dir,
4179 no_search_path, saw_pragma_once. Remove all_include_files and
4180 max_include_len. Make some members bool.
4181 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
4182 (_cpp_stack_file): Renamed from _cpp_read_file.
4183 (_cpp_stack_include): Renamed from _cpp_execute_include.
4184 (_cpp_init_files): Renamed from _cpp_init_includes.
4185 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
4186 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
4187 (cpp_read_next_file): Rename and move to cppfiles.c.
4188 (cpp_read_main_file): Update.
4189 * cpplib.c (run_directive): Update for renamed members.
4190 (do_include_common, _cpp_pop_buffer): Update.
4191 (do_import): Undeprecate #import.
4192 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
4193 * cpplib.h: Remove file_name_map_list.
4194 (cpp_options): Remove map_list.
4195 (cpp_dir): Rename from cpp_path. New datatype for name_map.
4196 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
4197
a6400add
PE
41982003-07-29 Phil Edwards <pme@gcc.gnu.org>
4199
4200 * Makefile.in: Make stamp-objdir safe for parallel builds.
4201
b2790407
PE
42022003-07-29 Phil Edwards <pme@gcc.gnu.org>
4203
4204 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
4205 (info): Depend on stmp-docobjdir.
4206
8e3940b2
RO
42072003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4208
4209 * configure: Regenerate.
4210
602a82f3 42112003-07-29 Jan Hubicka <jh@suse.cz>
987bf56f
JH
4212
4213 PR C++/11131
4214 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
4215 in !unit-at-a-time mode.
4216
5f0eabcc
GK
42172003-07-28 Geoffrey Keating <geoffk@apple.com>
4218
4219 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
4220 main function.
4221
7b6d72fc
MM
42222003-07-28 Mark Mitchell <mark@codesourcery.com>
4223
4224 PR c++/11667
4225 * c-common.c (shorten_compare): Take into account differences
4226 between C and C++ representation for enumeration types.
4227 * tree.h (set_min_and_max_values_for_integral_type): Declare.
4228 * stor-layout.c (set_min_and_max_values_for_integral_type): New
4229 function, broken out from ...
4230 (fixup_signed_type): ... here and ...
4231 (fixup_unsigned_type): ... here.
4232
14077d68
ZW
42332003-07-28 Zack Weinberg <zack@codesourcery.com>
4234
4235 * c-decl.c: Update commentary, adjust blank lines throughout.
4236 (struct c_scope): Fix indentation. Reorder members so
4237 outer-context pointers come first, booleans last.
4238 (duplicate_decls, define_label): Use a 'locus' variable for
4239 diagnostic locations in a few more places.
4240 (warn_if_shadowing): Un-split a conditional that fits on one line.
4241 (c_init_decl_processing): No need to clear current_scope and
4242 current_function_scope.
4243 (start_decl): Merge if/else if statements with same action.
4244 (push_parm_decl): Rename old_immediate_size_expand to use
4245 save_foo convention; save/restore around entire function.
4246 (grokdeclarator): Remove unnecessary braces.
4247
85617eba
HPN
42482003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
4249 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
4250
4251 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
4252 when warn_declaration_after_statement. Call pedwarn_c90, not
4253 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
4254 * c-common.c (warn_declaration_after_statement): Define.
4255 * c-common.h (warn_declaration_after_statement): Declare.
4256 * c.opt (Wdeclaration-after-statement): New.
4257 * c-errors.c (pedwarn_c90): New function.
4258 * c-opts.c (c_common_handle_option) <case
4259 OPT_Wdeclaration_after_statement>: New.
4260 * c-tree.h (pedwarn_c90): Declare.
4261 * doc/invoke.texi (Option Summary): Document
4262 -Wdeclaration-after-statement.
4263 (Warning Options): Ditto.
4264
602a82f3 42652003-07-28 Jan Hubicka <jh@suse.cz>
f527d196
JH
4266
4267 * i386.md (memory attribute) Avoid accessing uninitialized memory
4268 for ishift1 type instructions.
4269
5dfa45d0
JJ
42702003-07-28 Jakub Jelinek <jakub@redhat.com>
4271
4272 * configure.in (--enable-checking): Add fold category.
4273 (ENABLE_FOLD_CHECKING): Define if requested.
4274 * configure: Rebuilt.
4275 * config.in: Rebuilt.
4276 * doc/install.texi: Document it.
4277 * fold-const.c: Include md5.h.
4278 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
4279 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
4280 print_fold_checksum): New functions.
4281
4282 * fold-const.c (fold): Never modify argument passed to fold, instead
4283 change a copy and return it.
4284 * convert.c (convert_to_integer): Likewise.
4285
447673de
NN
42862003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
4287
14077d68 4288 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
447673de
NN
4289 cleanup of junk after #else and #endif directives. Collapse repeated
4290 clauses into for statment.
4291
4292 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
4293
66db6b62
ZW
42942003-07-27 Zack Weinberg <zack@codesourcery.com>
4295
a8ccdffe
ZW
4296 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
4297 (keep_next_if_subblocks): Rename next_is_function_body.
4298 (pushlevel): Adjust commentary. Always set ->keep on the
4299 outermost level of a function. Don't set ->keep_if_subblocks.
4300 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
4301 (store_parm_decls): Adjust to match.
4302 (finish_function): Adjust to match.
4303 Call poplevel with all three arguments zero.
4304
66db6b62
ZW
4305 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
4306 New functions split out of store_parm_decls.
4307 Avoid unnecessary work. Use local variables consistently.
4308 (store_parm_decls): Likewise.
4309
4310 (finish_function): No need to set functionbody flag on call to
4311 poplevel.
4312 (struct language_function): Remove scope field.
4313 (c_push_function_context, c_pop_function_context): No need to
4314 save and restore current_scope.
4315
90ea7324
NS
43162003-07-27 Nathan Sidwell <nathan@codesourcery.com>
4317
4318 * doc/extend.texi (Deprecated Features): Implicit typename is
4319 gone. Default args on types is going.
4320
11a004ef
R
43212003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
4322
4323 * Makefile.in (ifcvt.o): Depend on target.h
4324 * ifcvt.c (target.h): Include.
4325 (if_convert): Don't call mark_loop_exit_edges if we can't
4326 modify jumps.
4327
6cbf57c9
GP
43282003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4329
4330 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
4331
a6c14a64
RH
43322003-07-26 Richard Henderson <rth@redhat.com>
4333
4334 PR inline-asm/11676
4335 * cse.c (count_reg_usage): Handle asm_operands properly.
4336
cc42f5f5
RS
43372003-07-26 Roger Sayle <roger@eyesopen.com>
4338
4339 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
4340 (DEF_EXT_FALLBACK_BUILTIN): Delete.
4341 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
4342 the regular DEF_EXT_LIB_BUILTIN macro.
4343 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
4344 the regular DEF_LIB_BUILTIN macro.
4345 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
4346 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
4347 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
4348 DEF_EXT_LIB_BUILTIN macro.
4349
4350 * c-decl.c (duplicate_decls): Remove code to handle builtin
4351 functions prototyped without an argument list.
4352
92e7a6ef
DS
43532003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
4354
4355 * config/i386/winnt.c: Revert 2003-07-08 change.
4356 (i386_pe_section_type_flags): Remove error_with_decl here too.
4357
ba9cfcb5
GDR
43582003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
4359
4360 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
4361 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
4362 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
4363 (v850_handle_data_area_attribute): Likewise.
4364
0e5da0be
GK
43652003-07-26 Geoffrey Keating <geoffk@apple.com>
4366
66db6b62 4367 * varasm.c (output_constant_def_contents): Use
18f3e349
GK
4368 ASM_DECLARE_CONSTANT_NAME if defined.
4369 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
4370 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
4371 objects get at least one byte to prevent assembler problems.
4372 (ASM_DECLARE_CONSTANT_NAME): New.
4373
d2908a50
GK
4374 * Makefile.in (libbackend.o): Remove options_.h.
4375 (mostlyclean): Likewise.
4376
0e5da0be
GK
4377 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
4378 insert a label at the end of an function under Mach-O.
863d3dfb
GK
4379
4380 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
4381
36252949
AH
43822003-07-25 Aldy Hernandez <aldyh@redhat.com>
4383
4384 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
4385 equality.
4386 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
4387
4388 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
4389
0fe37f68
GDR
43902003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4391
4392 * doc/passes.texi (Passes): Mention pretty-printing and
4393 diagnostic files.
4394
50fc59e7
NS
43952003-07-25 Nathan Sidwell <nathan@codesourcery.com>
4396
4397 * doc/extend.texi (Function Attributes): GNU C++ does now allow
4398 unused parameter decls.
4399 (Attribute Syntax): GNU C++ does not allow label attributes to be
4400 after the ':'.
4401
cd475805
GDR
44022003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4403
4404 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
4405 (objc_declare_class): Likewise.
4406 (error_with_ivar): Likewise.
4407 (start_class): Likewise.
4408 (warn_with_method): Likewise.
4409
b6fe0bb8
GDR
44102003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4411
4412 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
66db6b62 4413 from GCC.
b6fe0bb8
GDR
4414 * calls.c (try_to_integrate): Don't use xxx_with_decl.
4415 (expand_call): Likewise.
4416 * dwarfout.c (output_reg_number): Likewise.
4417 * expr.c (expand_expr): Likewise.
4418 * function.c (assign_temp): Likewise.
4419 (uninitialized_vars_warning): Likewise.
4420 (setjmp_args_warning): Likewise.
4421 (expand_function_end): Likewise.
4422 * stmt.c (fixup_gotos): Likewise.
4423 (warn_about_unused_variables): Likewise.
4424 (expand_end_bindings): Likewise.
4425 * stor-layout.c (layout_decl): Likewise.
4426 (place_field): Likewise.
4427 * toplev.c (check_global_declarations): Likewise.
4428 (rest_of_handle_inlining): Likewise.
4429 (default_tree_printer): New function.
4430 (general_init): Initialize diagnostic machinery before routing
4431 signals to the ICE machinery. Set default tree printer.
4432 * toplev.h (pedwarn_with_decl): Remove declaration.
4433 (warning_with_decl): Likewise.
4434 (error_with_decl): Likewise.
66db6b62 4435 (pedwarn): Remove attribute for the time being.
b6fe0bb8
GDR
4436 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
4437 * varasm.c (named_section): Likewise.
4438 (make_decl_rtl): Likewise.
4439 (assemble_variable): Likewise.
4440 (merge_weak): Likewise.
4441 (declare_weak): Likewise.
4442
4443 * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
4444 * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
4445 (format_with_decl): Remove.
4446 (diagnostic_for_decl): Likewise.
4447 (pedwarn_with_decl): Likewise.
4448 (warning_with_decl): Likewise.
4449 (error_with_decl): Likewise.
4450 (diagnostic_initialize): Adjust.
4451 (diagnostic_count_diagnostic): Likewise.
4452 (announce_function): Likewise.
4453 (lhd_print_error_function): Likewise.
4454 (diagnostic_report_current_module): Likewise.
4455 (default_diagnostic_starter): Likewise.
4456 (diagnostic_report_diagnostic): Likewise.
4457 (default_diagnostic_finalizer): Likewise.
4458 (verbatim): Likewise.
4459 (error): Likewise.
4460 (warning): Likewise.
4461 * opts.c (common_handle_option): Likewise.
4462 * pretty-print.c: New file.
4463 * c-pretty-print.h (pp_base): Override.
4464 * c-pretty-print.c: Adjust use of macros throughout.
4465 (pp_buffer): New macro.
4466 (pp_newline): Likewise.
4467 * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
4468 * Makefile.in (DIAGNOSTIC_H): New variable.
4469 (c-errors.o): Use it.
4470 (c-objc-common.o): Likewise.
4471 (c-common.o): Likewise.
4472 (c-opts.o): Likewise.
4473 (c-format.o): Likewise.
4474 (diagnostic.o): Likewise.
4475 (opts.o): Likewise.
4476 (toplev.o): Likewise.
4477 (rtl-error.o): Likewise.
4478 (dwarf2out.o): Likewise.
4479 (jump.o): Likewise.
4480 (pretty-print.o): New rule.
4481
868b8cda
RS
44822003-07-24 Roger Sayle <roger@eyesopen.com>
4483
4484 * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
4485 front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
4486 (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
4487 from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
4488 (DEF_FRONT_END_LIB_BUILTIN): Delete.
4489 (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
4490 (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
4491
4492 * builtins.c (build_string_literal): New function to construct
4493 a char* pointer to a string literal.
4494 (expand_builtin_fputs): Change 2nd argument from "int ignore" to
4495 "rtx target" to be consistent with other expand_builtin_* functions.
4496 Change 3rd argument from "int unlocked" to "bool unlocked".
4497 (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
4498 c-common.c to avoid front-end dependencies. Optimize printf("")
4499 as a no-op when the result isn't required. Handle embedded NULs
4500 in format string.
4501 (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
4502 from c-common.c to avoid front-end dependencies. Likewise, optimize
4503 fprintf(fp,"") as a no-op when the result isn't required, evaluating
4504 fp for side-effects. Handle embedded NULs in format string.
4505 (expand_builtin_sprintf): Fix typo.
4506 (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
4507 optimizing. Adjust calls of expand_builtin_fputs to match the API
4508 change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
4509 expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
4510 and BUILT_IN_FPRINTF using expand_builtin_fprintf.
4511
4512 * c-common.c (is_valid_printf_arglist): Delete.
4513 (c_expand_builtin): Delete.
4514 (c_expand_builtin_printf): Moved to builtins.c. Delete.
4515 (c_expand_builtin_fprintf): Moved to builtins.c. Delete.
4516 (c_expand_expr): No longer treat CALL_EXPRs specially.
4517 (CALLED_AS_BUILT_IN): Delete.
4518
2a868ea4
ZD
45192003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4520
4521 PR optimization/11631
4522 * gcse.c (store_motion): Connect infinite loops to exit.
4523
de7df9eb
JM
45242003-07-24 Jason Merrill <jason@redhat.com>
4525
4526 * tree.h (boolean_type_node): Move from C/C++/Java frontends.
4527 (boolean_true_node, boolean_false_node): Likewise.
4528 (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
4529 * tree.c (build_common_tree_nodes): Init boolean_type_node.
4530 (build_common_tree_nodes_2): Init boolean_{true,false}_node.
4531 * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
4532 * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
4533 (truthvalue_true_node): Renamed from boolean_true_node.
4534 (truthvalue_false_node): Renamed from boolean_false_node.
4535 * c-decl.c: Just set truthvalue_* to integer_*.
4536 * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/.
4537
6907ddd3
RS
45382003-07-24 Roger Sayle <roger@eyesopen.com>
4539
4540 * c-decl.c (match_builtin_function_types): New subroutine of
4541 duplicate_decls to test whether a redeclaration of a builtin
4542 function is suitably close, i.e. the return type and all of
4543 the argument types have the same modes as the builtin expects.
4544 (duplicate_decls): Fuzzy type matching for builtin functions
4545 moved to match_builtin_function_types.
4546
84d45ad1
ZD
45472003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4548
4549 * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
4550 flag correctly.
4551
f8521984
ZW
45522003-07-24 Zack Weinberg <zack@codesourcery.com>
4553
4554 * c-decl.c: Search-and-replace change 'binding level' to
4555 'scope' in commentary.
4556 (struct binding_level): Now struct c_scope.
4557 (current_binding_level): Now current_scope.
4558 (free_binding_level): Now scope_freelist.
4559 (current_function_level): Now current_function_scope.
4560 (global_binding_level): Now global_scope.
4561 (make_binding_level): Now make_scope.
4562 (pop_binding_level): Now pop_scope.
4563
0f31374d
RO
45642003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4565
4566 * configure.in (libgcc_visibility): Add missing whitespace.
4567
270606ac
RH
45682003-07-24 Richard Henderson <rth@redhat.com>
4569
4570 * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
4571 __gcc_personality_v0.
f8521984 4572
5f08e44f
RO
45732003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4574
4575 * Makefile.in: Replace pwd by ${PWD_COMMAND}.
4576
a4878735
NS
45772003-07-24 Nathan Sidwell <nathan@codesourcery.com>
4578
4579 * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
4580 documentation missed from my 2003-07-09 patch.
4581
5aaaf0e8
NN
45822003-07-24 Nathanael Nerode <neroden@gcc.gnu.org>
4583
4584 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
4585 it's not provided.
4586 * configure: Rebuild.
4587
8f5b6d29
SB
45882003-07-24 Steven Bosscher <steven@gcc.gnu.org>
4589
4590 PR c/10602
4591 * c-typeck.c (type_lists_compatible_p): Do not compare
4592 arguments if one of them is an error_mark_node
4593
acd0b319
AM
45942003-07-24 Alan Modra <amodra@bigpond.net.au>
4595
4596 * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
4597 if current_function_calls_eh_return.
4598
28b619b2
MM
45992003-07-23 Mark Mitchell <mark@codesourcery.com>
4600
4601 * doc/c-tree.texi (OFFSET_TYPE): Update description.
4602
07154156
BW
46032003-07-23 Bob Wilson <bob.wilson@acm.org>
4604
4605 * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
4606 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
4607 __umodsi3, __modsi3): Increase frame size to 32.
4608
5f5bfdd0
GK
46092003-07-23 Geoffrey Keating <geoffk@apple.com>
4610
4611 * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
4612 prototype.
4613
11b8e71c
MM
46142003-07-23 Mark Mitchell <mark@codesourcery.com>
4615
28b619b2
MM
4616 * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
4617
11b8e71c
MM
4618 PR optimization/10679
4619 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
4620
9d6b7c09
JDA
46212003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4622
4623 PR target/11607 and PR target/11516
4624 * pa.md (extzv, extv, insv): Revert latter half of last patch.
4625
a5ac359a
MM
46262003-07-22 Mark Mitchell <mark@codesourcery.com>
4627
4628 * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
4629 * varasam.c (output_constant): Likewise.
4630
938d968e
KH
46312003-07-22 Kazu Hirata <kazu@cs.umass.edu>
4632
4633 * alias.c: Fix comment formatting.
4634 * c-common.c: Likewise.
4635 * c-decl.c: Likewise.
4636 * c-opts.c: Likewise.
4637 * combine.c: Likewise.
4638 * cpplib.c: Likewise.
4639 * diagnostic.c: Likewise.
4640 * dojump.c: Likewise.
4641 * final.c: Likewise.
4642 * fold-const.c: Likewise.
4643 * gcc.c: Likewise.
4644 * gcse.c: Likewise.
4645 * ggc-page.c: Likewise.
4646 * jump.c: Likewise.
4647 * loop.c: Likewise.
4648 * mips-tfile.c: Likewise.
4649 * recog.c: Likewise.
4650 * regclass.c: Likewise.
4651 * regmove.c: Likewise.
4652 * tree.c: Likewise.
4653 * tree.h: Likewise.
4654
b3147029
PB
46552003-07-22 Per Bothner <pbothner@apple.com>
4656
4657 * line-map.c (add_line_map): Handle invalid LEAVE request.
4658 Fixes PR preprocessor/11361.
4659
53f72d60
PB
46602003-07-22 Per Bothner <pbothner@apple.com>
4661
4662 * diagnostic.c.(diagnostic_report_current_module): Update to match
4663 2003-06-05 changes to push_srcloc and pop_srcloc.
4664
5cf0212f
WB
46652003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
4666
4667 * doc/trouble.texi: Better document two-stage name lookup.
4668
c7453384
EC
46692003-07-22 Eric Christopher <echristo@redhat.com>
4670
4671 * config/s390.c (s390_valid_pointer_mode): New.
4672 (TARGET_VALID_POINTER_MODE): Use.
4673 (s390_emit_prologue): Add tpf profiling hooks.
4674 (s390_emit_epilogue): Ditto.
4675 * config/s390.h (MASK_TPF): New.
4676 (TARGET_TPF): Use.
4677 (POINTERS_EXTEND_UNSIGNED): Define.
4678 * config/s390.md (ptr_extend): New pattern.
4679
a2f7be91
ZW
46802003-07-22 Zack Weinberg <zack@codesourcery.com>
4681
4682 * hashtable.c (approx_sqrt): Make static.
4683 * hashtable.h: Don't prototype approx_sqrt.
4684 * line-map.c (init_line_maps): Rename linemap_init.
4685 (free_line_maps): Rename linemap_free.
4686 (add_line_map): Rename linemap_add.
4687 (lookup_line): Rename linemap_lookup.
4688 (print_containing_files): Rename linemap_print_containing_files.
4689 * linemap.h: Update to match.
4690
4691 * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
4692 linemap routines to use new names.
4693
c6e4cc53
NS
46942003-07-16 Nathan Sidwell <nathan@codesourcery.com>
4695
4696 * c-common.c (handle_packed_attribute): Don't pack a struct via a
4697 typedef. Propagate packedness from a main variant.
4698
55de4f08
NN
46992003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
4700
4701 * Makefile.in (install-common): Add dependency on installdirs.
4702
fb5d2a87
AO
47032003-07-21 Alexandre Oliva <aoliva@redhat.com>
4704
4705 * c-common.c (c_common_type_for_mode): Return integer types for
4706 pointer modes.
4707
905bd7b5
GK
47082003-07-22 Geoffrey Keating <geoffk@apple.com>
4709
d05cc98e
GK
4710 * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
4711 (finish_decl): Call maybe_apply_pragma_weak here.
4712 (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
4713 TREE_PUBLIC and TREE_STATIC are decided.
4714 (start_function): Move call to maybe_apply_pragma_weak. Check that
4715 DECL_ASSEMBLER_NAME isn't set too early.
4716
905bd7b5
GK
4717 * cpplex.c (_cpp_process_line_notes): Mention option name in
4718 trigraphs warning.
4719
87d9741e
KH
47202003-07-22 Kazu Hirata <kazu@cs.umass.edu>
4721
4722 * combine.c (if_then_else_cond): Simplify the comparison of
4723 rtx against -1, 0, and 1.
4724 * loop.c (check_dbra_loop): Likewise.
4725 * optabs.c (emit_conditional_move): Likewise.
4726 (emit_conditional_add): Likewise.
4727 * config/i386/i386.md (*movsi_or): Likewise.
4728 (*movdi_or_rex6): Likewise.
4729
602a82f3 47302003-07-22 Jan Hubicka <jh@suse.cz>
b67d7f4a
JH
4731
4732 * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
4733
8d973a83
NB
47342003-07-21 Neil Booth <neil@daikokuya.co.uk>
4735
4736 * cppfiles.c (open_file_pch): Don't put unused entries in the
4737 splay tree. Remove dead code.
4738
49a64b24
GK
47392003-07-21 Geoffrey Keating <geoffk@apple.com>
4740
48873ed2
GK
4741 * c-common.h (num_in_fnames): Declare.
4742 (c_static_assembler_name): Move from here...
4743 * c-tree.h (c_static_assembler_name): ... to here.
4744 * c-opts.c: Don't include langhooks-def.h.
4745 (c_static_assembler_name): Move to c-decl.c.
4746 (num_in_fnames): Make externally visible.
4747 * c-decl.c: Include langhooks-def.h.
4748 (c_static_assembler_name): Move from c-opts.c.
4749 * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
4750 (c-opts.o): Remove $(LANGHOOKS_DEF_H).
4751
49a64b24
GK
4752 * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
4753 when it's not needed.
4754
8c29550d
JJ
47552003-07-21 Jakub Jelinek <jakub@redhat.com>
4756
4757 * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
4758 * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
4759 (rs6000_emit_prologue): Save FPRs inline if set.
4760
92cbea22
L
47612003-07-21 H.J. Lu <hongjiu.lu@intel.com>
4762
4763 * config/ia64/ia64.md (prefetch): Support predicate.
4764
ee735eef
JZ
47652003-07-21 Josef Zlomek <zlomekj@suse.cz>
4766
4767 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
4768 * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
4769 table.
4770
bbda30a4
EB
47712003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
4772
a2f7be91 4773 PR optimization/11536
bbda30a4
EB
4774 * unroll.c (loop_iterations): Do not replace a register holding
4775 the final value by its equivalent before the loop if it is not
4776 invariant.
4777
64c18e57
DF
47782003-07-21 Dave Fluri <dave.fluri@onlink.net>
4779
4780 * doc/extend.texi: Fixes to spelling, grammar, and diction.
4781
b222f49a
BE
47822003-07-21 Ben Elliston <bje@wasabisystems.com>
4783
4784 * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
4785 (V850 Options): Spelling fixes.
4786
9eff22bc
LG
47872003-07-20 Lisa M. Goldstein <opus@gnu.org>
4788
a2f7be91 4789 * doc/invoke.texi: Fixes to style, grammar and diction.
9eff22bc 4790
6a6c0154
RS
47912003-07-20 Roger Sayle <roger@eyesopen.com>
4792
4793 * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
4794 * system.h (SMALL_STACK): Poison obsolete target macro.
4795 * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
4796
d38b3a8d
PE
47972003-07-20 Phil Edwards <pme@gcc.gnu.org>
4798
4799 * configure.in: Cache the results of testing for cmp's capabilities.
4800 * configure: Regenerate.
4801
35dc2bd8
MM
48022003-07-20 Mark Mitchell <mark@codesourcery.com>
4803
4804 PR debug/11279
4805 * dwarf2out.c (gen_enumeration_type_die): Remember that
4806 enumerators can be unsigned.
4807
14e33ee8
ZW
48082003-07-19 Zack Weinberg <zack@codesourcery.com>
4809
4810 * c-decl.c (named_labels, shadowed_labels, label_level_chain)
4811 (push_label_level, pop_label_level): Kill.
4812 (struct binding_level): Rename level_chain to outer.
4813 Add outer_function field. Change parm_flag, function_body,
4814 keep, keep_if_subblocks to 1-bit bitfields of type bool.
4815 (current_function_level): New variable.
4816 (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
4817 (keep_next_level, declare_parm_level, warn_if_shadowing):
4818 Update to match.
4819 (struct language_function): Kill named_labels, shadowed_labels fields.
4820 (c_init_decl_processing, start_function, c_push__function_context)
4821 (c_pop_function_context): No need to muck with named_labels nor
4822 shadowed_labels.
4823
4824 (make_binding_level): No need to clear the structure here.
4825 (pop_binding_level): Always operate on current_binding_level.
4826 Update current_function_level if necessary.
4827 (pushlevel): Don't clear named_labels. Update current_function_level
4828 if necessary. Use "true" and "false" where appropriate.
4829 (poplevel): Diagnose labels defined but not used, or vice
4830 versa, and clear out label-meanings leaving scope, while
4831 walking down the decls list, for all binding levels.
4832 Handle LABEL_DECLs appearing in the shadowed list.
4833 pop_binding_level takes no arguments.
4834 (pushdecl_function_level): Use current_function_level.
4835
4836 (make_label, bind_label): New static functions.
4837 (declare_label): New exported function.
4838 (lookup_label, define_label): Rewritten for new data structure.
4839 (shadow_label): Kill.
4840
4841 * c-tree.h: Prototype declare_label; don't prototype
4842 push_label_level, pop_label_level, nor shadow_label.
4843 * c-parse.in: Remove all calls to push_label_level and
4844 pop_label_level. Use declare_label for __label__ decls.
4845
4846 * doc/extend.texi: Clarify that __label__ can be used to
4847 declare labels with local scope in any nested block, not
4848 just statement expressions. Cross-reference nested functions
4849 section from local labels section.
4850
8a6b9b7f
ZD
48512003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4852
4853 * sched-rgn.c (find_rgns): Initialize current_edge correctly.
4854
026fe6c8
PE
48552003-07-19 Phil Edwards <pme@gcc.gnu.org>
4856
4857 * doc/makefile.texi (restrap, profiledbootstrap): Document targets.
4858
c68b0a84
KG
48592003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4860
4861 * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
4862 fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
4863
fd7643fb
UW
48642003-07-19 Ulrich Weigand <uweigand@de.ibm.com>
4865
14e33ee8 4866 * config/s390/s390.c (legitimize_pic_address): Access local symbols
fd7643fb
UW
4867 relative to the GOT instead of relative to the literal pool base.
4868 (s390_output_symbolic_const): Handle new GOT-relative accesses.
4869 * config/s390/s390.md ("call"): Access local functions and PLT stubs
4870 relative to the GOT instead of relative to the literal pool base.
4871 ("call_value"): Likewise.
4872 ("call_value_tls"): Likewise.
4873
14e33ee8 4874 * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
fd7643fb
UW
4875 reloading. Support LTREL_BASE / LTREL_OFFSET construct.
4876 (s390_chunkify_finish): Likewise.
4877 (s390_chunkify_cancel): Likewise.
4878 (s390_reorg): Adapt caller.
4879 (find_base_register_in_addr,
4880 find_base_register_ref, replace_base_register_ref): Delete.
4881 (find_ltrel_base, replace_ltrel_base): New functions.
4882 (find_constant_pool_ref): Handle LTREL_BASE unspecs.
4883 (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
4884 base vs. index register usage.
4885 (struct constant_pool): Remove 'anchor'.
4886 (s390_add_anchor): Delete.
4887 (s390_dump_pool): Remove anchor handling.
4888 * config/s390/s390.md ("reload_anchor"): Remove.
4889
4890 * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
4891 (s390_load_got): New function. Use LTREL_BASE/OFFSET.
4892 (s390_emit_prologue): Use it.
14e33ee8
ZW
4893 * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
4894 "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
fd7643fb
UW
4895 hard-code register 14.
4896 * config/s390/s390-protos.h (s390_load_got): Declare.
4897
14e33ee8 4898 * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
fd7643fb
UW
4899 Support TImode constants.
4900 * config/s390/s390.md ("consttable_ti"): New.
4901 ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
4902
4903 * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
4904 UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
4905 UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
4906 UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
4907 UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
4908 New symbolic constants.
4909 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
4910 "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
4911 "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
4912 "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
4913 symbolic UNSPEC values.
14e33ee8 4914 * config/s390/s390.c (larl_operand, s390_short_displacement,
fd7643fb
UW
4915 bras_sym_operand, s390_cannot_force_const_mem,
4916 s390_delegitimize_address, s390_decompose_address,
4917 legitimize_pic_address, s390_output_symbolic_const,
4918 s390_function_profiler): Use symbolic UNSPEC values.
4919
703ad42b
KG
49202003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4921
4922 * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
4923 c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
4924 c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
4925 collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
4926 cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
4927 cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
4928 dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
4929 fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
4930 gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
4931 genemit.c genextract.c genoutput.c genrecog.c gensupport.c
4932 ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
4933 integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
4934 loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
4935 postreload.c prefix.c print-tree.c protoize.c ra-build.c
4936 ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
4937 regmove.c regrename.c reload.c reload1.c reorg.c resource.c
4938 sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
4939 simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
4940 tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
4941 varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
4942 casts.
4943
308ca868
GDR
49442003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
4945
4946 * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
4947 * toplev.h (warning): Remove attribute.
4948
435ab236
GDR
49492003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
4950
4951 * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
4952 (pop_label_level): Likewise.
4953 (duplicate_decls): Likewise.
4954 (implicitly_declare): Likewise.
4955 (shadow_label): Likewise.
4956 (start_decl): Likewise.
4957 (finish_decl): Likewise.
4958 (grokdeclarator): Likewise.
4959 (get_parm_info): Likewise.
4960 (detect_field_duplicates): Likewise.
4961 (finish_struct): Likewise.
4962 (start_function): Likewise.
4963 (store_parm_decls): Likewise.
4964 (finish_function): Likewise.
4965 (c_expand_body_1): Likewise.
4966 (check_for_loop_decls): Likewise.
4967 (merge_translation_unit_decls): Likewise.
4968
2cc98056
NB
49692003-07-19 Neil Booth <neil@daikokuya.co.uk>
4970
4971 * common.opt: Document --param.
4972 * opts.c (columns, undocumented_msg): New.
4973 (print_help): Get number of columns from environment. Print
4974 --param help. Tweak newline handling.
4975 (print_param_help): New.
4976 (print_filtered_help): Better handling of duplicates. Complain
4977 about undocumented switches.
4978 (print_switch): New.
4979 (wrap_help): Improve wrapping, use COLUMNS.
4980 * opts.sh: Ignore comments in records.
4981 * params.def: Fix typos and remove trailing periods.
4982 * toplev.c (display_help): Don't dump --param help.
4983 * doc/sourcebuild.texi: Update.
4984
d893ccde
RH
49852003-07-18 Richard Henderson <rth@redhat.com>
4986
0e38b30b 4987 PR target/11556
d893ccde
RH
4988 * optabs.c (prepare_operand): Fail gracefully instead of abort
4989 if the predicate doesn't satisfy.
4990 (gen_cond_trap): Allow prepare_operand to fail.
4991
eb8221ea
GDR
49922003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
4993
4994 * c-common.c: Don't undefine GCC_DIAG_STYLE.
4995 (fname_decl): Don't use xxx_with_decl.
4996 (c_add_case_label): Likewise.
4997 (handle_section_attribute): Likewise.
4998 (handle_alias_attribute): Likewise.
4999 (handle_no_instrument_function_attribute): Likewise.
5000 (handle_no_limit_stack_attribute): Likewise.
5001 * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
5002 * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
5003
65f43cdf
ZD
50042003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5005
5006 * Makefile.in (ifcvt.o): Add cfgloop.h.
5007 * basic-block.h (EDGE_LOOP_EXIT): New flag.
5008 * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
5009 * ifcvt.c: Include cfgloop.h.
5010 (mark_loop_exit_edges): New static function.
5011 (if_convert): Call it.
5012 (find_if_header): Ignore branches out of loops.
5013
e5686da7
KH
50142003-07-18 Kazu Hirata <kazu@cs.umass.edu>
5015
14e33ee8 5016 * combine.c (simplify_comparison): Don't share rtx when converting
e5686da7
KH
5017 (ne (and (not X) 1) 0) to (eq (and X 1) 0).
5018
8d05ebaa
DE
50192003-07-18 David Edelsohn <edelsohn@gnu.org>
5020
5021 * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
5022 (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
5023 (MUST_PASS_IN_STACK): Define.
5024 (BLOCK_REG_PADDING): Define.
5025
79019985
RH
50262003-07-18 Richard Henderson <rth@redhat.com>
5027
5028 * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
5029 to skip the addr_vec.
5030
602a82f3 50312003-07-18 Alexandre Oliva <aoliva@redhat.com>
0595d388
AO
5032
5033 * combine.c (combinable_i3pat): Don't forbid occurrences of
5034 i2dest or i1dest in inner_dest if inner_dest is a mem.
5035
602a82f3 50362003-07-18 Jan Hubicka <jh@suse.cz>
2ee1067b
JH
5037
5038 * cgraph.c (cgraph_remove_node): Clear the hash table slot.
5039
16f6812f
JJ
50402003-07-17 Jakub Jelinek <jakub@redhat.com>
5041
5042 PR target/11087
5043 * loop.c (basic_induction_var): Check if convert_modes emitted any
5044 instructions. Remove them and return 0 if so.
5045
f129791c
EB
50462003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr>
5047
5048 PR optimization/11083
5049 * toplev.c (rest_of_handle_addresof): Rename into
5050 rest_of_handle_addressof. Delete unreachable blocks
5051 if dead edges were purged after the addressof pass.
5052
b2e608ca
NB
50532003-07-18 Neil Booth <neil@daikokuya.co.uk>
5054
5055 * Makefile.in, configure, configure.in: Remove handling of
5056 lang-options.h and options_.h.
5057 * toplev.c (struct lang_opt, documented_lang_options): Remove.
5058 (display_help): Don't use documented_lang_options.
5059
9cd51ef6
ZW
50602003-07-17 Zack Weinberg <zack@codesourcery.com>
5061
5062 * c-decl.c (pushdecl_function_level): Make static, return nothing.
5063 (kept_level_p): Fold into poplevel.
5064 (undeclared_variable): Moved here from c-typeck.c. Export.
5065 * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
5066 (undeclared_variable): Prototype here. Don't prototype
5067 kept_level_p nor pushdecl_function_level.
5068 * c-parse.in: Change first argument to poplevel from
5069 "kept_level_p()" to "KEEP_MAYBE".
5070 * c-typeck.c (undeclared_variable): Moved to c-decl.c.
5071
cf6bcbd0
RS
50722003-07-17 Roger Sayle <roger@eyesopen.com>
5073
5074 * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
5075 commutative operands instead of modifying the RTL in-place.
5076
2b187c63
MM
50772003-07-17 Mark Mitchell <mark@codesourcery.com>
5078
5079 PR optimization/11557
5080 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
5081 unless we know which function is being called.
5082
c715abdd
RS
50832003-07-17 Roger Sayle <roger@eyesopen.com>
5084
5085 * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
5086 whether to reorder the operands of a commutative binary operator.
5087
3e4093b6
RS
50882003-07-17 Roger Sayle <roger@eyesopen.com>
5089
5090 * fold-const.c (const_binop): Avoid performing the FP operation at
5091 compile-time, if either operand is NaN and we honor signaling NaNs,
5092 or if we're dividing by zero and either flag_trapping_math is set
5093 or the desired mode doesn't support infinities.
5094 (fold_initializer): New function to fold an expression ignoring any
5095 potential run-time exceptions or traps.
5096 * tree.h (fold_initializer): Prototype here.
5097 * c-typeck.c (build_binary_op): Move to the end of the file so
5098 that intializer_stack is in scope. If constructing an initializer,
5099 i.e. when initializer_stack is not NULL, use fold_initializer to
5100 fold expressions.
5101 * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
5102 performing FP operations at compile-time, if they would raise an
5103 exception at run-time.
5104
89e9faee
GK
51052003-07-17 Geoffrey Keating <geoffk@apple.com>
5106
26e0dcb3
GK
5107 PR 11498
5108 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
5109 (langhooks.o): Add $(GGC_H), gt-langhooks.h.
5110 (GTFILES): Add langhooks.c.
5111 (gt-langhooks.h): New.
5112 * c-common.h (c_static_assembler_name): Prototype.
5113 * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
5114 * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
5115 * c-opts.c: Include langhooks-def.h.
5116 (c_static_assembler_name): New.
5117 * langhooks.c: Include ggc.h. Include gt-langhooks.h.
5118 (var_labelno): New.
5119 (lhd_set_decl_assembler_name): Give static objects with context
5120 unique names.
5121 * varasm.c (var_labelno): Delete.
5122 (make_decl_rtl): Don't change the assembler name once it's set.
5123
89e9faee
GK
5124 * c-opts.c (this_input_filename): New.
5125 (finish_options): Take new parameter, name of file being compiled.
5126 Update callers. Set this_input_filename.
5127 (push_command_line_include): Use this_input_filename not
5128 main_input_filename.
5129
6ec3f553
NB
51302003-07-17 Neil Booth <neil@daikokuya.co.uk>
5131
5132 * Makefile.in: Depend .pot generation on options.c.
5133 * po/exgettext: Add an extra_files variable containing additional
5134 files to scan.
5135
78ff95dc
ZW
51362003-07-17 Zack Weinberg <zack@codesourcery.com>
5137
36c6d174
ZW
5138 * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
5139 c_write_global_declarations.
5140
eb1dfbb2
ZW
5141 * c-decl.c: Fix typos in several comments. Remove all
5142 #if 0 blocks; reindent as needed. Remove unused argument
5143 to declare_parm_level; all callers changed.
5144 * c-parse.in: Update calls to declare_parm_level. Avoid
5145 issuing a double warning in some circumstances.
5146 * c-typeck.c: Update calls to declare_parm_level.
5147 * c-tree.h: Update prototype of declare_parm_level.
5148
5149 * c-pragma.c (apply_pragma_weak): Don't complain about a
5150 redundant #pragma weak.
5151
5152 * objc/objc-act.c (forward_declare_categories,
5153 build_selector_reference_decl, build_class_reference_decl,
5154 build_objc_string_decl, synth_forward_declarations,
5155 build_protocol_reference): Set TREE_PUBLIC on synthetic
5156 forward decl to 0, consistent with eventual definition.
5157 Correct comments to match.
5158
78ff95dc
ZW
5159 * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
5160 in regexp that don't form a range expression.
5161 * fixinc/fixincl.def: Regenerate.
5162
b23ba0b8
RH
51632003-07-17 Richard Henderson <rth@redhat.com>
5164
78ff95dc
ZW
5165 PR target/10907
5166 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
5167 even with !TARGET_CONST_GP.
5168 (ia64_function_ok_for_sibcall): Reject non-local functions.
b23ba0b8 5169
d944c82d
SB
51702003-07-17 Steven Bosscher <steven@gcc.gnu.org>
5171
5172 * c-common.c (c_estimate_num_insns_1): Don't handle
5173 METHOD_CALL_EXPR.
5174 * expr.c (safe_from_p): Likewise.
5175 * gengtype.c (adjust_field_tree_exp): Likewise.
5176 * stmt.c (warn_if_unused_value): Likewise
5177 * tree.c (first_rtl_op): Likewise.
5178 * tree.def: Don't define METHOD_CALL_EXPR.
5179 * java/lang.c (java_estimate_num_insns_1): Don't handle
5180 METHOD_CALL_EXPR.
5181
54284728
EB
51822003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
5183
5184 PR other/11466
5185 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
5186 and its restrictions for the SPARC64 port.
5187 Move the entry of "-mimpure-text" before that of "-mv8".
5188
bc890961 51892003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
78ff95dc 5190 Phil Edwards <phil@jaj.com>
bc890961
EB
5191
5192 * doc/install.texi (*-*-solaris2*): Document the step-by-step
5193 procedure to bootstrap and install.
5194 Document the preference for the legacy Sun tools in /usr/bin
5195 over the POSIX tools in /usr/xpg4/bin for the build process.
5196
f2ac9964
NB
51972003-07-17 Neil Booth <neil@daikokuya.co.uk>
5198
5199 * c.opt: Document Uncodumented; use it. Document ObjC options.
5200 * opts.c (print_filtered_help): Skip undocumented switches.
5201 * opts.h (CL_UNDOCUMENTED): New.
5202 * opts.sh: Handle Undocumented.
5203 * toplev.c (documented_lang_options): Prevent its becoming empty.
5204objc:
5205 * lang-options.h: Remove.
5206
03988cac
UW
52072003-07-16 Ulrich Weigand <uweigand@de.ibm.com>
5208
5209 * loop.c (check_ext_dependent_givs): Pass const struct loop *
5210 instead of struct loop_info * as argument. Accept BIVs with
5211 increment +/- 1 provided there is a friendly exit test against
5212 a loop-invariant value.
5213 (strength_reduce): Adapt call to check_ext_dependent_givs.
5214
fada1961
R
52152003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
5216 Con Bradley <con.bradley@superh.com>
5217
5218 * sh-protos.h (sh_get_pr_initial_val): Declare.
5219 * sh.c (regno_reg_class): Make its elements type enum reg_class.
5220 (output_stack_adjust): Remove emit_fn argument. Add epilogue_p
5221 and live_regs_mask arguments. Changed all callers.
5222 (save_schedule_s): New structure.
5223 (save_schedule): New typedef.
5224 (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
5225 (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
5226 In interrupts handlers, also save registers that are usually
5227 partially saved, and make sure there is at least one general purpose
5228 register saved if a target register needs saving.
5229 Add casts in comparisons to avoid warnings.
5230 (sh_media_register_for_return): return -1 for interrupt handlers.
5231 (MAX_SAVED_REGS, MAX_TEMPS): New defines.
5232 (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
5233 registers used are available.
5234 Set RTX_FRAME_RELATED_P where appropriate.
5235 Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
5236 (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
5237 (initial_elimination_offset): Likewise.
5238 * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
5239 (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
5240 (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
5241 (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
5242 (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
5243 and for target registers.
5244 (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
5245 (regno_reg_class): Make its elements type enum reg_class.
5246 (CONSTRAINT_LEN): Don't use isdigit.
5247 (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
5248 (FUNCTION_ARG): Add parentheses to avoid warnings.
5249 (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
5250 (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
5251 (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
5252 (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
5253 * sh.md (xordi3+1): Remove unused variable regno.
5254 (return_media): Check that tr0 is available before using it.
5255
bae92bf3
NB
52562003-07-16 Neil Booth <neil@daikokuya.co.uk>
5257
5258 * c.opt: Document more options.
5259
cc8c96fd
RS
52602003-07-16 Roger Sayle <roger@eyesopen.com>
5261
5262 * combine.c (subst): Also handle (subreg (const_double ...)) case
5263 if created by a substitution, by using the original inner mode.
5264
d41ba56f
RS
52652003-07-16 Roger Sayle <roger@eyesopen.com>
5266
5267 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
5268 to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
5269 (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X.
5270
264d65c1 52712003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
78ff95dc 5272
264d65c1 5273 * doc/install.texi (--without-headers): New.
1622229c
AP
5274
5275 Partial Fix PR/10129
5276 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
5277 (machopic_output_function_base_name): New; print the true pic label.
5278 (machopic_classify_ident): Pic Base is always a defined data.
5279 * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
5280 * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
5281
db2f435b
AP
5282 * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
5283 if they are not floating point registers.
5284
d07605f5
AP
5285 PR c/10962
5286 * ggc.h: Add header guards.
5287 * c-decl.c (finish_struct): Sort fields if
5288 number greater than 15 and there are no
5289 anonymous structs/unions.
5290 * c-common.h: Include ggc.h.
5291 (sorted_fields_type): New struct.
5292 (field_decl_cmp): New prototype.
5293 (resort_sorted_fields): New prototype.
5294 (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
5295 * c-tree.h: (lang_type): Use pointer to sorted_fields_type
5296 as s, removing other fields.
5297 * c-typeck.c (lookup_field): Use s in lang_type.
5298 These were mostly moved from cp/class.c:
5299 * c-common.c (field_decl_cmp): New static function.
5300 (field_decl_cmp): New function.
5301 (resort_sorted_fields): New function.
5302
3d7964d5
GK
53032003-07-16 Geoffrey Keating <geoffk@apple.com>
5304
5305 * config/darwin.c (machopic_select_section): Use decl_readonly_section
5306 to do most of the work.
5307
4e58524e
HPN
53082003-07-16 Hans-Peter Nilsson <hp@bitrange.com>
5309
5310 * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
5311 * config/mmix/mmix.c: Convert functions to ISO C90.
27f35b75 5312 (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
4e58524e
HPN
5313 formatting.
5314 (mmix_get_hard_reg_initial_val): Tweak section head comment.
5315
1e0343dd
R
53162003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
5317
5318 * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
5319
fc4767bb
JJ
53202003-07-16 Jakub Jelinek <jakub@redhat.com>
5321
5322 * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
5323 (uw_update_context_1): Use it.
5324 * config/rs6000/rs6000.c (insn_after_throw): Remove.
5325 (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
5326 in parent frame if _Unwind_* called directly instead of through
5327 .plt.
5328 (rs6000_emit_eh_toc_restore): Remove.
5329 (rs6000_emit_prologue): Update stack pointer before doing any saving
5330 if current_function_calls_eh_return. Generate unwind info for $r2.
5331 (rs6000_emit_epilogue): Restore stack pointer after doing all
5332 restoring if current_function_calls_eh_return. Restore $r2.
5333 * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
5334 * config/rs6000/rs6000.md (eh_return): Remove call to
5335 rs6000_emit_eh_toc_restore.
5336 * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
5337 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
5338
6972c506
JJ
53392003-07-15 Jakub Jelinek <jakub@redhat.com>
5340
5341 * expr.c (emit_block_move): Don't move anything if size is const 0.
5342 (clear_storage): Test against const0_rtx instead of comparing INTVAL
5343 against 0.
5344
ac59ed37
DM
53452003-07-15 David S. Miller <davem@redhat.com>
5346
5347 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
5348 emit nop if the last real insn is CALL_INSN.
5349
b828d124
DS
53502003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
5351
5352 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
5353 as "nul".
5354 * config/i386/xm-mingw32.h: Change GNU CC to GCC.
5355
d5648e12
DS
53562003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
5357
5358 * config/i386/winnt.c (associated_type): Artificial methods are not
5359 affected by the import/export status of their class unless they are
5360 COMDAT.
5361 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
5362
5363 * config/i386/winnt.c: Fix GCC copyright comment.
5364
b0e3f7ec
GDR
53652003-07-16 Gabriel Dos Reis <gcc@integrable-solutions.net>
5366
5367 PR c++/11531
5368 * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
5369 not recursing on hard error.
5370 (diagnostic_for_decl): Likewise.
5371 * diagnostic.def: Rearrange.
5372
71628aa0
R
53732003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
5374
5375 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
5376 If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
5377
53782003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
5379 Richard Henderson <rth@redhat.com>
5380
5381 * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
5382 to decide if to access a _Unwind_Ptr or a _Unwind_Word.
5383 (_Unwind_SetGR): Likewise.
5384 (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
5385 (Unwind_SpTmp): New typedef.
5386 (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
5387 (uw_update_context): Use _Unwind_GetPtr.
5388 (init_dwarf_reg_size_table): Move above uw_init_context_1.
5389 (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
5390 Use _Unwind_SetSpColumn.
5391 (uw_install_context_1): Don't initialize dwarf_reg_size_table.
5392 Use _Unwind_GetPtr.
5393
5a170a05
NB
53942003-07-15 Neil Booth <neil@daikokuya.co.uk>
5395
5396 * c.opt: Document more options.
5397 * toplev.c (documented_lang_options): Remove all local help strings.
5398
b0afa2fc
MM
53992003-07-15 Mark Mitchell <mark@codesourcery.com>
5400
5401 PR debug/11473
5402 * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
5403 base classes.
5404
5df90541
KH
54052003-07-15 Kazu Hirata <kazu@cs.umass.edu>
5406
5407 PR target/10795
5408 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
5409 swap comparison operands if doing so would generate an
5410 unrecognizable insn.
5411
5a257872
EB
54122003-07-15 Eric Botcazou <ebotcazou@libertysurf.fr>
5413
5414 PR optimization/11320
5415 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
5416 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
5417 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
5418 current_sched_info->compute_jump_reg_dependencies. Record which
5419 registers are used and which registers are set by the jump.
5420 Clear deps->reg_conditional_sets after a barrier.
5421 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
5422 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
5423 (init_deps): Initialize reg_conditional_sets.
5424 (free_deps): Clear reg_conditional_sets.
5425 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
5426 Mark registers live on entry of the fallthrough block and conditionally
5427 set as set by the jump. Mark registers live on entry of non-fallthrough
5428 blocks as used by the jump.
5429 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
5430 Mark new parameters as unused.
5431
3cec3f83
RS
54322003-07-15 Richard Sandiford <rsandifo@redhat.com>
5433
5434 * doc/invoke.texi: Resync MIPS -march documentation.
5435
98450f0d
RS
54362003-07-15 Richard Sandiford <rsandifo@redhat.com>
5437
5438 * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
5439 (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
5440 (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
5441 * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
5442 (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
5443 (mips_issue_rate): Handle PROCESSOR_R9000.
5444 (mips_use_dfa_pipeline_interface): Likewise.
5445 * config/mips/9000.md: New file.
5446 * config/mips/mips.md: Include it.
5447 (define_attr cpu): Add r9000.
5448 (mulsi3_mult3): Use "mul" for rm9000 code.
5449
5fe25f47
SC
54502003-07-15 Stan Cox <scox@redhat.com>
5451
5452 * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
5453 (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
5454 (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
5455 * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
5456 (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
5457 (mips_issue_rate): Handle PROCESSOR_R7000.
5458 (mips_use_dfa_pipeline_interface): Likewise.
5459 * config/mips/7000.md: New file.
5460 * config/mips/mips.md: Include it.
5461 (define_attr cpu): Add r7000.
5462 (mulsi3_mult3): Use "mul" for rm7000 code.
5463
5a2515e6
RS
54642003-07-15 Richard Sandiford <rsandifo@redhat.com>
5465
5466 * config/mips/mips.md (define_attr type): Add condmove. Use it for
5467 the conditional move patterns.
5468 * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
5469 Check for condmove type.
5470 (ir_vr54_arith): Add move type.
5471 * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
5472 * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
5473
72de27ea
NB
54742003-07-15 Neil Booth <neil@daikokuya.co.uk>
5475
5476 * c-opts.c (print_help): Remove.
5477 (c_common_handle_option): Don't handle --help.
5478 * c.opt: Document some options.
5479 (--help): Remove.
5480 * opts.c (print_filtered_help): New.
5481 (print_help): Use it.
5482
e6ebd07b
GK
54832003-07-14 Geoffrey Keating <geoffk@apple.com>
5484
2d799c09
GK
5485 * c-common.c (c_common_type_for_mode): Handle V4DFmode.
5486 * tree.c: (build_common_tree_nodes_2): Likewise.
5487 * tree.h (enum tree_index): Add TI_V4DF_TYPE.
5488 (V4DF_type_node): New.
5489
e6ebd07b
GK
5490 * c-opts.c (push_command_line_include): Don't free deferred_opts,
5491 we'll need it.
5492 (finish_options): Reset init_cursor.
5493
b90f141a
KH
54942003-07-15 Kazu Hirata <kazu@cs.umass.edu>
5495
5496 * expr.c (expand_assignment): Remove an unused argument
5497 SUGGEST_REG.
5498 * expr.h: Update the prototype.
5499 * function.c: Update the callers.
5500 * stmt.c: Likewise.
5501
1e7ee6ad
MM
55022003-07-14 Mark Mitchell <mark@codesourcery.com>
5503
5504 PR debug/11098
5505 * integrate.c (copy_decl_for_inlining): Do not mark copied decls
5506 as DECL_ABSTRACT.
5507
bf66f7b0
NN
55082003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
5509
5510 * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
5511 with __cplusplus, not "we must use the C++ compiler's type"
5512 * fixinc/inclhack.def (void_null): Note that Interix needs this.
5513 * fixinc/fixincl.x: Regenerate.
5514
18009d03
GK
55152003-07-14 Geoffrey Keating <geoffk@apple.com>
5516
ea00486e
GK
5517 * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
5518 and unseen_objects from the global data before calling
5519 __deregister_frame_info_bases.
5520 (examine_objects): Insert objects into the seen_objects list,
5521 not unseen_objects.
5522 (_Unwind_Find_FDE): Always unlock the global object lists, even if
5523 we couldn't allocate a data structure to put in it.
5524
18009d03
GK
5525 * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
5526 (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
5527 (SET_TYPE_PROTOCOL_LIST): New.
5528 * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
5529 (get_object_reference): Likewise.
5530
602a82f3 55312003-07-14 Jan Hubicka <jh@suse.cz>
9ae130f8
JH
5532
5533 * cfglayout.c (locator_file): Break out from ....
5534 (insn_file): ... here.
5535 (locator_line): Break out from ....
5536 (insn_line): ... here.
5537 * rtl.h (locator_file, locator_line): Declare.
5538 (final_start_function): Set proper line/file info.
5539
e07d4821
GDR
55402003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
5541
5542 * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
5543 handled by pp_c_cast_expression.
5544
121d69e6
RS
55452003-07-14 Richard Sandiford <rsandifo@redhat.com>
5546
5547 * config/mips/mips.c (mips_expand_prologue): Use a single insn to
5548 allocate 32768 bytes of stack. Use addition rather than subtraction
5549 when a single insn is enough.
5550 * config/mips/mips.md: Remove insns and splitters for subtracting
5551 constants.
5552 (subsi3): Only accept register operands.
5553 (subsi3_internal): Likewise. Use for TARGET_MIPS16 as well.
5554 (subdi3_internal_3, subsi3_internal_2): Likewise.
5555 (casesi): Use expand_binop to subtract the lower bound.
5556
3485245e
RS
55572003-07-14 Richard Sandiford <rsandifo@redhat.com>
5558
5559 * config/mips/mips.c (mips_in_small_data_p): Don't handle
5560 TARGET_MIPS16 specially.
5561
6627b7f9
RS
55622003-07-14 Richard Sandiford <rsandifo@redhat.com>
5563
6d0b50a4
RS
5564 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
5565 mips_output_aligned_bss.
5566 * config/mips/linux.h: Likewise.
5567 * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
5568 * config/mips/mips.c (mips_output_aligned_bss): New function.
5569
8d50bd19
RS
5570 * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
5571 * config/mips/elf64.h: Likewise.
5572
c1115ccd
RS
5573 * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
5574 mips_declare_object_name.
5575 (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
5576 * config/mips/elf64.h: As for elf.h.
5577 * config/mips/iris6.h: Likewise.
5578 * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
5579 * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
5580 do...while (0) block.
5581 * config/mips/mips-protos.h (mips_declare_object_name): Declare.
5582 (mips_finish_declare_object): Declare.
5583 * config/mips/mips.c (mips_declare_object_name): New function.
5584 (mips_finish_declare_object): New function.
5585
060ff934
RS
5586 * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
5587 * config/mips/linux.h: Likewise.
5588
d82783b6
RS
5589 * config/mips/mips.c (inside_function): Delete.
5590 (file_in_function_warning, ignore_line_number): Delete.
5591 (mips_output_filename): Don't warn about changing filenames within
5592 a function.
5593 (mips_output_lineno): Update accordingly.
5594 (mips_output_function_prologue): Don't reset the deleted variables.
5595 * config/mips/mips.h (inside_function): Delete.
5596 (file_in_function_warning, ignore_line_number): Delete.
5597
373f8df7
RS
5598 * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
5599 * config/mips/elf64.h: Likewise.
5600 * config/mips/openbsd.h: Likewise.
5601 * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
5602 * config/mips/linux.h: Likewise.
5603 * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
5604 (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
5605
6627b7f9
RS
5606 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
5607 to the list of include files when using gas.
5608 (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
5609 * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
5610 * config/mips/elf64.h: Likewise.
5611 * config/mips/iris5.h: Likewise.
5612 * config/mips/linux.h: Likewise.
5613 * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
5614 * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
5615 (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
5616 * config/mips/sdb.h: ...this new file.
5617
c18b00c0
NN
56182003-07-14 Douglas Rupp <rupp@gnat.com>
5619
5620 * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
5621 argument to getcwd; use fixed buffer instead.
5622
56232003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
5624
5625 * fixinc/mkfixinc.sh: Treat OpenBSD normally.
5626 * fixinc/fixinc.wrap: Delete.
5627
adc4adcd
GP
56282003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
5629
5630 * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
5631 don't have 2.
5632
56332003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
5634
5635 * ggc-page.c (struct globals): Add new fields to keep track of the
5636 total allocated memory and overhead.
5637 (ggc_print_statistics): Print them.
5638 (ggc_alloc): Keep track of the total allocated memory and the
5639 overhead.
5640
5641 * tree.c (dump_tree_statistics): Increase spacing.
5642 (enum tree_node_kind): Move to ...
5643 * tree.h (enum tree_node_kind): ... here.
5644 (tree_node_counts, tree_node_sizes): Declare.
5645
56462003-07-14 James A. Morrison <ja2morri@student.math.uwaterloo.ca>
5647
5648 * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
5649
bbd288a4
FS
56502003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5651
5652 PR optimization/11440
5653 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
5654 SIGN_EXTRACT SETs.
5655
6e985040
AM
56562003-07-14 Alan Modra <amodra@bigpond.net.au>
5657
5658 * doc/tm.texi (BLOCK_REG_PADDING): Describe.
5659 * expr.h (struct locate_and_pad_arg_data): Add where_pad.
5660 (emit_group_load, emit_group_store): Adjust declarations.
5661 Remove most occurrences of #ifdef TREE_CODE.
5662 * expr.c (emit_group_load): Add "type" param, and use
5663 BLOCK_REG_PADDING to determine need for a shift. Optimize non-
5664 aligned accesses if !SLOW_UNALIGNED_ACCESS.
5665 (emit_group_store): Likewise.
5666 (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
5667 emit_group_load and emit_group_store calls.
5668 * calls.c (store_unaligned_arguments_into_pseudos): Tidy. Use
5669 BLOCK_REG_PADDING to determine whether we need endian_correction.
5670 (load_register_parameters): Localize vars. Handle shifting of
5671 small values to the correct end of regs. Adjust emit_group_load
5672 call.
5673 (expand_call, emit_library_call_value_1): Adjust emit_group_load
5674 and emit_group_store calls.
5675 * function.c (assign_parms): Set mem alignment for stack slots.
5676 Adjust emit_group_store call. Store values at the "wrong" end
5677 of regs to the stack. Use BLOCK_REG_PADDING.
5678 (locate_and_pad_parm): Save where_pad.
5679 (expand_function_end): Adjust emit_group_load call.
5680 * stmt.c (expand_value_return): Adjust emit_group_load call.
5681 * Makefile.in (calls.o): Depend on $(OPTABS_H).
5682 * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
5683 (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
5684 (MUST_PASS_IN_STACK): Define.
5685 (BLOCK_REG_PADDING): Define.
5686 * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
5687 (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
5688 * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
5689 (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
5690 Act on AGGREGATES_PAD_UPWARD_ALWAYS.
5691
4fab535e
AL
56922003-07-13 Aaron W. LaFramboise <awlaframboise@aol.com>
5693
5694 * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
5695
8d2e5f72
RK
56962003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5697
5698 * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
5699 both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
5700
7eaab492
NN
57012003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
5702
5703 PR other/11123
5704 * toplev.c: Don't cut off option names.
5705
9d4a30f2
AJ
57062003-07-13 Andreas Jaeger <aj@suse.de>
5707
5708 * c-decl.c (link_hash_hash): Avoid warning about casting pointer
5709 to integer of different size.
5710
34ed3bb0
KH
57112003-07-13 Kazu Hirata <kazu@cs.umass.edu>
5712
5713 * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
5714 to (eq (and X 1) 0).
5715
1a7d0840
AJ
57162003-07-13 Andreas Jaeger <aj@suse.de>
5717
5718 * config.gcc: Add pmmintrin.h for x86_64-*-*.
5719
43839642
ZW
57202003-07-13 Zack Weinberg <zack@codesourcery.com>
5721
5722 * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
5723 (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
5724 list. Move these all together down by cpplib.
5725
5726 * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
5727 definition of CPPCHAR_SIGNED_T.
5728
5729 * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
5730 * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
5731 * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
5732
5733 * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
5734 * cppinit.c (cpp_create_reader): Likewise.
5735
5736 * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
5737 * cpptrad.c: Likewise. All callers changed.
5738 * cpplib.c: All callers changed.
5739 * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
5740 * hashtable.h: Define GTY(x) to nothing here too.
5741
0acf4f88
RK
57422003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5743
5744 * stor-layout.c (compute_record_mode): Remove very obsolete test
5745 that forces BLKmode for records with fields crossing word boundary.
5746
46db61e7
ZW
57472003-07-13 Zack Weinberg <zack@codesourcery.com>
5748
5749 * Makefile.in: Remove orphan reference to acconfig.h.
5750
db0e878d
AJ
57512003-07-13 Andreas Jaeger <aj@suse.de>
5752
5753 * cgraphunit.c: Convert prototypes to ISO C90.
5754
4146d8d0
NN
57552003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
5756
5757 * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
5758 (for OpenBSD).
5759 * fixinc/fixincl.x: Rebuild.
5760
6f3ca281
ZW
57612003-07-12 Zack Weinberg <zack@codesourcery.com>
5762
5763 * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
5764 i?86-*-*. Use correct name of cache variable.
5765 * configure: Regenerate.
5766
9a9f7594
KH
57672003-07-12 Kazu Hirata <kazu@cs.umass.edu>
5768
5769 * config/alpha/alpha.c: Fix comment typos.
5770 * config/alpha/alpha.md: Likewise.
5771 * config/arm/arm.c: Likewise.
5772 * config/arm/arm.md: Likewise.
5773 * config/arm/lib1funcs.asm: Likewise.
5774 * config/avr/avr.md: Likewise.
5775 * config/arm/README-interworking: Fix typos.
5776
4ed43216
KH
57772003-07-12 Kazu Hirata <kazu@cs.umass.edu>
5778
5779 * c-format.c: Fix comment formatting.
5780 * c-typeck.c: Likewise.
5781 * coverage.c: Likewise.
5782 * cppcharset.c: Likewise.
5783 * cpplib.c: Likewise.
5784 * dbxout.c: Likewise.
5785 * gcov-io.h: Likewise.
5786 * toplev.c: Likewise.
5787
c3a5b1e9
NN
57882003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
5789
6f3ca281 5790 * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
c3a5b1e9
NN
5791 fix.
5792
8ada417f
ZW
57932003-07-12 Zack Weinberg <zack@codesourcery.com>
5794
5795 * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
5796 uses three-argument AC_DEFINE so no acconfig.h entries are
5797 needed.
5798 (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
5799 which contains the GAS version number as a scaled integer.
5800 (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers. Add
5801 ability to check for ELF assembler.
5802 (gcc_GAS_CHECK_FEATURE): New macro.
5803 * configure.in: Use gcc_AC_CHECK_TYPE. Rewrite all
5804 assembler feature checks using gcc_GAS_CHECK_FEATURE.
5805 Use three-argument AC_DEFINE everywhere.
5806 * acconfig.h: Deleted.
5807 * config.in, configure: Regenerate.
5808
d5d16b5f
NN
58092003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
5810
3b57c563
NN
5811 * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
5812 (on OpenBSD).
d33fb69b 5813 * fixinc/fixincl.x: Regenerate.
3b57c563 5814
d5d16b5f
NN
5815 * fixinc/inclhack.def (gnu_types): Improve comment.
5816
439f7bc3
AJ
58172003-07-12 Andreas Jaeger <aj@suse.de>
5818
5819 * fp-test.c (main): Use ISO C90 prototype.
5820
5821 * version.c: Remove unneded include of ansidecl.h.
5822
5823 * cgraph.h: Convert prototypes to ISO C90.
5824 * cgraph.c: Likewise.
5825 * fix-header.c: Likewise.
5826 * ra.h: Likewise.
5827 * protoize.c: Likewise.
5828
602a82f3 58292003-07-12 Jan Hubicka <jh@suse.cz>
1a5c5701
JH
5830
5831 * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
5832 warning.
5833
602a82f3 58342003-07-12 Jan Hubicka <jh@suse.cz>
b58b1157
JH
5835 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5836
5837 * cgraph.c (cgraph_max_uid): New global variable.
5838 (cgraph_node): Set uid field.
5839 (create_edge): Keep inline flags consistent.
5840 (dump_cgraph): Dump more info.
5841 * cgraph.h (struct cgraph_local_info): Remove inline_many and
5842 can_inline_once; add inlinable, disgread_inline_limits, and self_insn
5843 (struct cgraph_global_info): Add insns, calls, cloned_times,
5844 will_be_output.
5845 (struct cgraph_node): Add uid.
5846 (struct cgraph_edge): Add inline_call.
5847 (cgraph_max_uid, cgraph_inline_p): Declare.
5848 * cgraph.c: Include params.h and fibheap.h
5849 (cgraph_mark_functions_to_inline_once): Kill.
5850 (INSNS_PER_CALL): New constant.
5851 (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
5852 static variables.
5853 (cgraph_finalize_function): Do not analyze inlining.
5854 (cgraph_finalize_compilation_unit): Set inlining attributes.
5855 (cgraph_mark_functions_to_output): More consistency checks.
5856 (cgraph_optimize_function): Set current_function_decl to NULL.
5857 (cgraph_expand_function): Use new inline flags.
5858 (cgraph_postorder): Expand from cgraph_expand_functions.
5859 (INLINED_TIMES, SET_INLINED_TIMES): New macros.
5860 (cgraph_inlined_into, cgraph_inlined_callees,
5861 cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
5862 cgraph_mark_inline, cgraph_check_inline_limits,
439f7bc3 5863 cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
b58b1157
JH
5864 cgraph_decide_inlining, cgraph_inline_p): New functions.
5865 * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
5866 PARAM_INLINE_UNIT_GROWTH): New parameters.
5867 * tree-inline.c (struct inline_data): New field current_decl.
5868 (expand_call_inline): Avoid forward declarations; use
5869 inlinable_function_p.
5870 (optimize_inline_calls): Set id.current_decl.
5871
27b8e366
AP
58722003-07-11 Andrew Pinski <pinskia@physics.uc.edu>
5873
5874 * configure.in: Remove wrongly added definition of
5875 local_prefix.
5876 * configure: Regenerate.
5877
80fa0b4c
DN
58782003-07-11 Dan Nicolaescu <dann@ics.uci.edu>
5879
5880 * rtl.def (NOTE): Do not use padding.
5881
1ea6f4c8
DH
58822003-07-11 Dara Hazeghi <dhazeghi@yahoo.com>
5883
5884 * doc/install.tex: Update required binutils for i?86-*-linux*
5885
ed2d8944
RH
58862003-07-11 Richard Henderson <rth@redhat.com>
5887
5888 * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
5889
a44cea75
MM
58902003-07-11 Mark Mitchell <mark@codesourcery.com>
5891
5892 * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
5893 TRANSLATION_UNIT_DECL as top_level.
5894
358b8f01
JJ
58952003-07-11 Jakub Jelinek <jakub@redhat.com>
5896
5897 * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
5898 then fall back to cmpstrM.
5899 * builtins.c (expand_builtin_memcmp): Likewise.
5900 * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
5901 (s390_expand_cmpmem): ... this.
5902 * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
5903 cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
5904 from cmpstr* patterns. Rename call to s390_expand_cmpstr
5905 to s390_expand_cmpmem.
5906 * config/s390/s390.c (s390_expand_cmpstr): Rename to...
5907 (s390_expand_cmpstr): ... this. Rename cmpstr* instructions
5908 to cmpmem*.
5909 * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
5910 cmpstr* patterns.
5911 * doc/md.texi (cmpstrM): Describe as String compare insn, not
5912 Block compare insn.
5913 (cmpmemM): Add.
5914
8634e925
LR
59152003-07-11 Loren James Rittle <ljrittle@acm.org>
5916
5917 * config/i386/freebsd.h (SET_ASM_OP): Remove.
5918 (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
5919 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
5920 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
5921
48144cd4
RH
59222003-07-11 Richard Henderson <rth@redhat.com>
5923
5924 * function.c (assign_parms): Don't recombine complex args if
5925 fnargs is unchanged from orig_fnargs.
5926 (split_complex_args): Return args without complex before copying.
5927 Re-layout the modified parameters.
5928
fee226d2
R
59292003-07-11 J"orn Rennecke <joern.rennecke@superh.com>
5930
5931 * regclass.c (choose_hard_reg_mode): Add third argument.
5932 Changed all callers.
5933 * rtl.h (choose_hard_reg_mode): Update declaration.
5934 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
5935 Take HARD_REGNO_CALL_PART_CLOBBERED into account.
5936
d1bd0ded
GK
59372003-07-11 Geoffrey Keating <geoffk@apple.com>
5938
5939 * c-decl.c (finish_decl): Handle 'used' here...
5940 * cgraphunit.c (cgraph_finalize_function): ... and here ...
5941 * c-common.c: (handle_used_attribute): ... not here.
439f7bc3 5942
d1bd0ded
GK
5943 * configure.in (onstep): Support --enable-intermodule.
5944 * Makefile.in (OBJS-common): New.
5945 (OBJS-md): New.
5946 (OBJS-archive): New.
5947 (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
5948 (OBJS-onestep): New.
5949 (libbackend.a): Support @onestep@.
5950 (libbackend.o): New.
5951 * configure: Regenerate.
439f7bc3 5952
d1bd0ded
GK
5953 * c-common.h (c_reset_state): New prototype.
5954 (c_parse_file): New prototype.
5955 (finish_file): Move prototype from c-tree.h.
5956 * c-decl.c: Include <hashtab.h>.
5957 (builtin_decls): New.
5958 (current_file_decl): New.
5959 (duplicate_decls): Add extra parameter. Change all callers. Don't
5960 output duplicate common symbols.
5961 (link_hash_hash): New.
5962 (link_hash_eq): New.
5963 (poplevel): Handle popping of the top level.
5964 (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
5965 (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
5966 (pushdecl_top_level): Likewise.
5967 (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
5968 (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
5969 (finish_decl): Handle TRANSLATION_UNIT_DECL.
5970 (merge_translation_unit_decls): New.
5971 (c_write_global_declarations): New.
5972 (c_reset_state): New.
5973 (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
5974 * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
5975 * c-objc-common.c (c_cannot_inline_tree_fn): Handle
5976 TRANSLATION_UNIT_DECL.
5977 (c_objc_common_finish_file): Call merge_translation_unit_decls.
5978 * c-opts.c (in_fnames): Rename from in_fname.
5979 (c_common_decode_option): Handle multiple input filenames.
5980 (c_common_post_options): Likewise.
5981 (c_common_parse_file): Likewise; also, call c_parse_file rather than
5982 yyparse.
5983 * c-parse.in: Move cleanup code to c_parse_file.
5984 (free_parser_stacks): Move contents to c_parse_file.
5985 (c_parse_file): New.
5986 * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
5987 for integer types.
5988 (C_DECL_FILE_SCOPE): New.
5989 (finish_file): Move prototype to c-common.h.
5990 (merge_translation_unit_decls): New prototype.
5991 (comptypes): Add extra parameter to prototype.
5992 (c_write_global_declarations): New prototype.
5993 * c-typeck.c (tagged_types_tu_compatible_p): New.
5994 (function_types_compatible_p): Add extra parameter, change all callers.
5995 (type_lists_compatible_p): Likewise.
5996 (comptypes): Likewise.
5997 (struct tagged_tu_seen): New.
5998 (tagged_tu_seen_base): New.
5999 (build_unary_op): Handle TRANSLATION_UNIT_DECL.
6000 (c_mark_addressable): Remove #if 0 code.
6001 * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
6002 comment explaining why it shouldn't have to.
6003 * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
6004 options.
6005 * cppinit.c (cpp_read_next_file): New.
6006 (cpp_read_main_file): Use it.
6007 * cpplib.c (undefine_macros): New.
6008 (cpp_undef_all): New.
6009 * cpplib.h (cpp_read_next_file): Prototype.
6010 (cpp_undef_all): Prototype.
6011 * langhooks-def.h (write_global_declarations): Remove prototype.
6012 * toplev.h (write_global_declarations): Add prototype.
6013 * tree.c (decl_type_context): Use switch statement, handle
6014 TRANSLATION_UNIT_DECL.
6015 * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
6016 (TRANSLATION_UNIT_DECL): New kind of tree.
6017 * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
6018 * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
6019 * doc/invoke.texi: Make attempt to document new functionality.
6020
6021 2003-05-19 Per Bothner <bothner@apple.com>
6022
6023 * gcc.c (combine_inputs): New.
6024 (process_command): Set combine_inputs.
6025 (do_spec_1): Handle combine_inputs.
6026 (main): Likewise.
6027
ac8354b1
JW
60282003-07-10 James E Wilson <wilson@tuliptree.org>
6029
6030 PR optimization/9745
6031 * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
6032 loop_insn_emit_before.
6033 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
439f7bc3 6034
dea55da5
ZW
60352003-07-10 Zack Weinberg <zack@codesourcery.com>
6036
6037 * cppcharset.c: Fix comment.
6038 (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
6039 (EILSEQ): #define to EINVAL if not already defined.
6040 (convert_using_iconv): #if out when !HAVE_ICONV.
6041 (init_iconv_desc): Handle !HAVE_ICONV here...
6042 (cpp_init_iconv): ...not here.
6043
f3fdaec4
NB
60442003-07-11 Neil Booth <neil@daikokuya.co.uk>
6045
6046 * common.opt: More --help messages.
6047 * opts.c (print_help): Use puts().
6048 * toplev.c (f_options): Remove help text.
6049 (display_help): Don't dump f_options.
6050
7ebbf1ea
NN
60512003-07-11 Nathanael Nerode <neroden@gcc.gnu.org>
6052
6053 * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
6054 Move i?86-*-interix* to the don't-fix list.
6055 * fixinc/fixinc.interix: Delete with extreme prejudice.
6056
959a73a4
DH
60572003-07-10 Dara Hazeghi <dhazeghi@yahoo.com>
6058
6059 PR bootstrap/10758
6060 * doc/install.texi: Document requirements for ia64-*-hpux* target.
6061
9959901c
RS
60622003-07-10 Roger Sayle <roger@eyesopen.com>
6063
6064 * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
6065
6b88314c
ZW
60662003-07-10 Zack Weinberg <zack@codesourcery.com>
6067
6068 * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
6069 one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
6070 one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
6071 convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
6072 convert_no_conversion, convert_using_iconv): New functions.
6073 (APPLY_CONVERSION): New macro.
6074 (struct conversion, conversion_tab): New data structure.
6075 (init_iconv_desc): Check conversion_tab for a custom conversion
6076 primitive before trying to use iconv.
6077 (convert_cset): Deleted.
6078 (cpp_init_iconv): Use UTF- terminology, not UCS-.
6079 (_cpp_destroy_iconv): Update to match.
6080 (_cpp_valid_ucn): We don't need iconv to implement UCNs.
6081 (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
6082 (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
6083 (_cpp_interpret_string_notranslate): New function, moved here
6084 from cpplib.c.
6085
6086 * cpphash.h (convert_f, struct cset_converter): New types.
6087 (struct cpp_reader): narrow_cset_desc and wide_cset_desc
6088 are now struct cset_converter, not bare iconv_t.
6089 Update prototypes.
6090 * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
6091 all callers changed.
6092
38f4680f 60932003-07-10 Kelley Cook <kelleycook@wideopenwest.com>
6b88314c 6094
38f4680f
KC
6095 * Makefile.in (options.h): Depend on Makefile. Add move-if-change
6096 to opts.sh command line.
6097 * opts.sh: Write to temporary files with a move-if-change at the end.
6098
2a868fac 60992003-07-10 Denis Chertykov <denisc@overta.ru>
6b88314c 6100 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9db367b4
DC
6101
6102 * combine.c (gen_binary): Handle the CLOBBER rtx and
6103 don't build a binary operation with it.
6104
3b14e3af
ZD
61052003-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6106
6107 * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
6108 store_killed_after, store_killed_before): Keep track of the correct
6109 dependency function to use.
6110
a9189cc0
SB
61112003-07-10 Steven Bosscher <steven@gcc.gnu.org>
6112 * toplev.c (do_compile): Don't try to open dump files before
6113 lang_dependent_init initializes dump_base_name.
6114
e97a46ce
KG
61152003-07-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6116
6117 * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
6118 Use ARRAY_SIZE.
6119 * config/frv/frv.c (frv_expand_builtin): Likewise.
6120 * config/sh/sh.c (sh_media_init_builtins): Likewise.
6121
4a386498
MM
61222003-07-09 Mark Mitchell <mark@codesourcery.com>
6123
6124 PR c++/10032
6125 * doc/invoke.texi (C++ Dialect Options): Change documentation of
6126 -fpermissive.
6127
1e60c057
R
61282003-07-10 J"orn Rennecke <joern.rennecke@superh.com>
6129
6130 * tm.texi (RETURN_ADDR_OFFSET): Document.
6131
330d2e2a
NS
61322003-07-10 Nathan Sidwell <nathan@codesourcery.com>
6133
6134 * gcov-io.h: Update documentation.
6135 (GCOV_UNSIGNED2STRING): New.
6136 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
6137 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
6138 GCOV_TAG_SUMMARY_LENGTH): Adjust.
6139 (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
6140 GCOV_TAG_COUNTER_NUM): New.
6141 (GCOV_BLOCK_SIZE): Number of words.
6142 (gcov_var): Adjust buffer type.
6143 * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
6144 (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
6145 count, not byte count.
6146 (gcov_open): Adjust overread init.
6147 (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
6148 gcov_write_string, gcov_write_tag, gcov_write_length,
6149 gcov_write_tag_length): Adjust.
6150 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
6151 (gcov_sync, gcov_seek): Adjust.
6152 * gcov-dump.c (print_usage): Show gcc version only.
6153 (dump_file): Use GCOV_UNSIGNED2STRING.
6154 (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
6155 * gcov.c (print_version): Show gcc version only.
6156 (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
6157 GCOV_TAG_*_NUM macros.
6158 (read_count_file): Use GCOV_UNSIGNED2STRING. Use
6159 GCOV_TAG_COUNTER_LENGTH.
6160 * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
6161 Use GCOV_TAG_COUNTER_NUM.
6162 * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
6163 (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
6164
3dbb446e
AS
61652003-07-10 Andreas Schwab <schwab@suse.de>
6166
6167 * gcov-dump.c (dump_file): Fix missing address operator.
6168
11791dbc
KH
61692003-07-10 Kazu Hirata <kazu@cs.umass.edu>
6170
6171 PR c/11449
6172 * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
6173 of HOST_WIDE_INT.
6174 (fold_single_bit_test): If sign_bit_p() fails, assume that the
6175 bit being tested is not a sign bit.
6176
ae12c666
KH
61772003-07-10 Kazu Hirata <kazu@cs.umass.edu>
6178
6179 * config/h8300/h8300.md (a peephole2): New.
6180
2beef00e
AO
61812003-07-10 Alexandre Oliva <aoliva@redhat.com>
6182
6183 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
6184 * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
6185 from ld-linux.so.2 to ld.so.1.
6186 2001-11-18 Alexandre Oliva <aoliva@redhat.com>
6187 * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
6188 * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
6189 nor -Wl,-rpath-link.
6190 (LIB_SPEC): Add -rpath-link if !static.
6191 2001-08-22 Alexandre Oliva <aoliva@redhat.com>
6192 * config/mn10300/mn10300.c (mn10300_protect_label): New
6193 variable.
6194 * config/mn10300/linux.h (PRINT_OPERAND,
6195 PRINT_OPERAND_ADDRESS): Set it during their execution.
6196 (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
6197 mn10300_protect_label is set.
6198 * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
6199 -Wl,-rpath-link.
6200 (LIB_SPEC, STARTFILE_SPEC): Define.
6201 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
6202 * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
6203 FLOAT_BIT_ORDER_MISMATCH.
6204 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
6205 * config.gcc (am33_2.0-*-linux*): Added.
6206 * config/mn10300/linux.h: New.
6207 * config/mn10300/t-linux: New.
6208
75040a04
AJ
62092003-07-10 Andreas Jaeger <aj@suse.de>
6210
6211 * fold-const.c: Properly wrap prototypes.
6212
d1776069
AO
62132003-07-09 Alexandre Oliva <aoliva@redhat.com>
6214
6215 2003-06-16 Alexandre Oliva <aoliva@redhat.com>
6216 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
6217 Moved from...
6218 * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
6219 * config/mn10300/mn10300.h: GTY-declare it.
6220 2003-06-11 Alexandre Oliva <aoliva@redhat.com>
6221 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
6222 prototype. Use incoming RTL argument.
6223 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
6224 * config/mn10300/mn10300.md (int_label): Move C statements...
6225 (GOTaddr2picreg): ... here.
6226 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
6227 * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
6228 * config/mn10300/mn10300.c (mn10300_encode_section_info):
6229 ... here. New function.
6230 (TARGET_ENCODE_SECTION_INFO): Define to it.
6231 2001-11-04 Alexandre Oliva <aoliva@redhat.com>
6232 * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
6233 pattern name.
6234 (mn10300_loadPC): Define as insn splittable after reload.
6235 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
6236 * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
6237 be defined in .rodata even in PIC, now that the assembler
6238 supports that.
6239 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
6240 * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
6241 symbol take an underscore prefix.
6242 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
6243 * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
6244 legitimize_pic_address): Declare.
6245 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
6246 the PIC register as fixed.
6247 (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
6248 (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
6249 PIC.
6250 (LEGITIMATE_PIC_OPERAND_P): Define.
6251 (PIC_OFFSET_TABLE_REGNUM): Define.
6252 (GOT_SYMBOL_NAME): Define.
6253 (SYMBOLIC_CONST_P): Define.
6254 (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
6255 symbols.
6256 (MN10300_GLOBAL_P): Test it.
6257 (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
6258 (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
6259 * config/mn10300/mn10300.c (print_operand): Handle unspec.
6260 (expand_prologue): Set PIC register.
6261 (call_address_operand): Don't match SYMBOL_REFs in PIC.
6262 (legitimize_address): Call legitimize_pic_address.
6263 (legitimize_pic_address): New fn.
6264 (legitimate_pic_operand_p): New fn.
6265 * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
6266 (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
6267 UNSPEC_PLT): New constants.
6268 (pop_pic_reg): New insn.
6269 (movsi): Adjust non-PIC addresses.
6270 (builtin_setjmp_receiver): Restore the PIC register.
6271 (casesi): New insn.
6272 (call): Adjust non-PIC addresses.
6273 (int_label, GOTaddr2picreg): New expands.
6274 (am33_loadPC): New insn.
6275 (mn10300_loadPC): New expand.
6276 (call_next_insn): New insn.
6277 (add_GOT_to_pic_reg): New expand.
6278 (symGOT2reg, symGOT2reg_i): New expands.
6279 (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
6280 (sym2PIC, sym2PLT): New expands.
6281
18e9d2f9
AO
62822003-07-09 Alexandre Oliva <aoliva@redhat.com>
6283
6284 * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
6285 2001-05-01 Alexandre Oliva <aoliva@redhat.com>
6286 * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
6287 to flag_unsafe_math_optimizations.
6288 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
6289 * config/mn10300/mn10300.c (expand_prologue): Mark
6290 FP-register-saving insns as frame-related.
6291 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
6292 * config/mn10300/mn10300.c
6293 (mn10300_get_live_callee_saved_regs): Don't search past
6294 LAST_EXTENDED_REGNUM.
6295 (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
6296 * config/mn10300/mn10300.md: Remove excessive line breaks from
6297 `@' output patterns that were accounted as additional
6298 alternatives.
6299 * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
6300 Re-introduce changes accidentally removed in Richard Sandiford's
6301 2000-12-05's patch.
6302 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
6303 Re-instate am33-2 lost in merge from net GCC.
6304 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
6305 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
6306 floating-point registers.
6307 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
6308 * config/mn10300/mn10300.md (movdf): Revert some am33-specific
6309 pessimizations that had gone in on 2000-05-08.
6310 2000-06-28 Graham Stott <grahams@cygnus.co.uk>
6311 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
6312 2000-06-22 Graham Stott <grahams@cygnus.co.uk>
6313 * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
6314 operand 0.
6315 * (movhi): Likewise.
6316 * (movsi): Likewise.
6317 * (movsf): Likewise.
6318 * (movdi): Likewise.
6319 * (movdf): Likewise.
602a82f3 6320 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
18e9d2f9
AO
6321 * config/mn10300/mn10300.c (fp_regs_to_save): New function.
6322 (can_use_return_insn, initial_offset): Add fp_regs_to_save.
6323 (expand_prologue, expand_epilogue): Save and restore FP regs.
6324 2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
6325 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
6326 2000-05-13 Alexandre Oliva <aoliva@cygnus.com>
6327 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
6328 subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
6329 Do not clobber cc0.
6330 2000-05-12 Alexandre Oliva <aoliva@cygnus.com>
6331 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
6332 Discourage the two-argument, longer opcodes.
6333 (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
6334 ones.
6335 * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
6336 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
6337 * config/mn10300/mn10300.md (cmpsf): New pattern.
6338 (branch): Test mdep.fpCC and output fbCC.
6339 * config/mn10300/mn10300.c (print_operand): Output conditions.
6340 (notice_cc_update): Recognize fcmp and set mdep.fpCC.
6341 2000-05-10 Alexandre Oliva <aoliva@cygnus.com>
6342 * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
6343 mulsf3, divsf3): Use the `F' constraint for FP values.
6344 * config/mn10300/mn10300.c (const_1f_operand): New function.
6345 * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
6346 * config/mn10300/mn10300.md (sqrtsf2): New expand.
6347 (rsqrtsf2): New insn.
6348 2000-05-09 Alexandre Oliva <aoliva@cygnus.com>
6349 * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
6350 previous check-in.
6351 2000-05-08 Alexandre Oliva <aoliva@cygnus.com>
6352 * config/mn10300/mn10300.md (abssf2, negdf2): On
6353 TARGET_AM33_2, expand to...
6354 (abssf2_am33_2, negdf2_am33_2): New insns.
6355 (addsf3, subsf3, mulsf3, divsf3): Likewise.
6356 (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
6357 * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
6358 movdi, movdf): Added FP regs.
6359 * invoke.texi (-mam33-2, -mno-am33-2): Document.
6360 2000-04-29 Alexandre Oliva <aoliva@cygnus.com>
6361 * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
6362 New macros.
6363 (REGNO_AM33_2_FP_P): Renamed to...
6364 (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
6365 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
6366 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
6367 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
6368 regs from GENERAL_REGS.
6369 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
6370 * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
6371 * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
6372 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
6373 2000-04-23 Alexandre Oliva <aoliva@cygnus.com>
6374 * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
6375 as FP_REGS.
6376 2000-04-21 Alexandre Oliva <aoliva@cygnus.com>
6377 * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
6378 (EXTRA_CONSTRAINT): Added OK_FOR_Q.
6379 * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
6380 * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
6381 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
6382 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
6383 AM33/2.0 floating-point registers.
6384 (CONDITIONAL_REGISTER_USAGE): Adjust.
6385 (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
6386 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
6387 (REG_CLASS_FROM_LETTER): Added `f' and `A'.
6388 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
6389 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
6390 (MULTILIB_DIRNAMES): Likewise.
6391 * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
6392 `__AM33_2__' when `-mam33-2' is given.
6393 (TARGET_AM33_2): Define.
6394 (TARGET_SWITCHES): Adjust.
6395 * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
6396 when appropriate.
6397
2ff16718
MK
63982003-07-09 Matt Kraai <kraai@alumni.cmu.edu>
6399
6400 * doc/install.texi: Add missing @.
6401
a7bda3d5
BW
64022003-07-09 Bob Wilson <bob.wilson@acm.org>
6403
6404 * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
6405
bb498ea3
AH
64062003-07-09 Aldy Hernandez <aldyh@redhat.com>
6407
6408 PR/11144
6409 * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
6410
a401fd60
NN
64112003-07-09 Nathanael Nerode <neroden@gcc.gnu.org>
6412
21f3dbfc 6413 PR bootstrap/11043
6b88314c 6414 * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
21f3dbfc
NN
6415 "x-crtfini.o" with "crtinit.o", "crtfini.o".
6416
15e4ea18
NN
6417 * fixinc/inclhack.def (limits_ifndefs): Add select test.
6418 * fixinc/fixincl.x: Rebuild.
6419
a401fd60
NN
6420 * fixinc/inclhack.def (math_exception): Improve bypass and comment.
6421 * fixinc/fixincl.x: Rebuild.
6422
c2f82a84
HPN
64232003-07-09 Hans-Peter Nilsson <hp@bitrange.com>
6424
6425 * doc/install.texi (Configuration): Document the valgrind option
6426 to --enable-checking.
6427
602a82f3 64282003-07-09 Jan Hubicka <jh@suse.cz>
1f66e2a0
JH
6429
6430 * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
6431
d0974745
RO
64322003-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6433
6434 * c-lex.c (cb_ident): Cast cstr.text to const char *.
6435
160e2e4f
NS
64362003-07-09 Nathan Sidwell <nathan@codesourcery.com>
6437
6438 * gcov-io.h: Update documentation.
6439 (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
6440 GCOV_NOTE_MAGIC.
6441 (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
6442 (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
6443 (struct gcov_var): Change buffer's type. Add endian flag.
6444 (gcov_open): Remove mode in libgcov.
6445 (gcov_magic): Prototype.
6446 * gcov-io.c (from_file): New.
6447 (gcov_open): Clear endian flag.
6448 (gcov_magic): New.
6449 (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
6450 pointers.
6451 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
6452 gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
6453 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
6454 * gcov-iov.c (main): Correct cast.
6455 * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
6456 conversion.
6457 (gcov_begin_output): Use GCOV_NOTE_MAGIC.
6458 (coverage_init): Use GCOV_NOTE_SUFFIX.
6459 * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
6460 Rename to gcov_version, and return flag.
6461 (gcov_exit): Use gcov_version.
6462 (__gcov_init): Use gcov_version.
6463 * Makefile.in (coverageexts): Update.
6464 * gcov.c (print_version): Remove endianness conversion.
6465 (create_file_names): Use GCOV_NOTE_SUFFIX.
6466 (read_graph_file): Use gcov_magic.
6467 (read_count_file): Likewise.
6468 * gcov-dump.c (dump_file): Remove endianness conversion, use
6469 gcov_magic.
6470
83599948
NS
64712003-07-09 Nathan Sidwell <nathan@codesourcery.com>
6472
6473 * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
6474 coverage is on.
6475 * configure: Regenerated.
6476 * Makefile.in (ALL_CFLAGS): Correct its comment.
6477
d17811fd
MM
64782003-07-08 Mark Mitchell <mark@codesourcery.com>
6479
6480 * fold-const.c (make_range): Do not access operand 1 for a
6481 zero-operand operator.
6482
28786366
NB
64832003-07-09 Neil Booth <neil@daikokuya.co.uk>
6484
6485 * toplev.c (warn_dummy, W_options): Die.
6486 (display_help): Don't print W_options.
6487 * common.opt: Add W_options help from toplev.c.
6488
fbdb0453
AJ
64892003-07-09 Andreas Jaeger <aj@suse.de>
6490
6491 * opts.c (wrap_help): Only pass int arguments as arguments to
6492 printf's '*' modifier. Change argument of function.
6493
c80e4c17
MK
64942003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
6495
6496 * doc/invoke.texi: Fix misspelling of "@item".
6497
2c5a64c6
KH
64982003-07-08 Kazu Hirata <kazu@cs.umass.edu>
6499
6500 * config/i386/i386.md: Remove an old comment about
6501 NOTICE_UPDATE_CC.
6502
602a82f3 65032003-07-09 Jan Hubicka <jh@suse.cz>
a194aa56
JH
6504
6505 * cgraph.c (cgraph_node_name): New function.
6506 (dump_cgraph): Use it.
6507 * cgraph.h (cgraph_dump_file): Declare.
6508 (cgraph_node_name): Declare.
6509 * cgraphunit.c: Include timevar.h
6510 (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
6511 (cgraph_optimize_function): Use TV_INTEGRATION.
6512 (cgraph_mark_local_functions): reorganize dumps.
6513 (cgraph_mark_functions_to_inline_once): Likewise.
6514 (cgraph_optimize): Likewise; use timevar.
6515 * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
6516 * toplev.c (dump_file_index): Add DFI_cgraph.
6517 (dump_file_info): Likewise.
6518 (cgraph_dump_file): New global variable.
6519 (do_compile): Open and close cgraph dump.
6520 * invoke.texi (-d): Document new flag; renumber.
6521
8af61113
RS
65222003-07-08 Roger Sayle <roger@eyesopen.com>
6523
6524 PR c/11370
6525 * calls.c (emit_call_1): Don't bother popping the arguments off of
6526 the stack after a noreturn function call; The adjustment is dead.
6527 (expand_call): Likewise.
6528
436bcda1
GK
65292003-07-08 Geoffrey Keating <geoffk@apple.com>
6530
6531 * expr.c (MOVE_MAX_PIECES): Move from here...
6532 * defaults.h (MOVE_MAX_PIECES): ... to here.
6533
6f3fcc0b
MK
65342003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
6535
6536 * Makefile.in (stage1-start): Handle an empty SUBDIRS.
6537
ec049fdb
KG
65382003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6539
6540 * genattr.c (internal_dfa_insn_code): Don't prototype.
6541 * genattrtab.c (attr_desc): Add `static_p' field.
6542 (expand_units): Make blockage range and ready cost functions
6543 static.
6544 (write_attr_get): Don't add extern prototypes in C file. Mark
6545 static functions as appropriate.
6546 (find_attr, make_internal_attr): Initialize static_p.
6547 * genattrtab.h (ATTR_STATIC): New macro.
6548 * genautomata.c (output_internal_reset_func): Mark output function
6549 as inline.
6550 (make_internal_dfa_insn_code_attr): Mark output function as static.
6551
11597bc9
KG
65522003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6553
6554 * genattrtab.h: Add new macros for attr `special' flags.
6555 * genattrtab.c (attr_desc): Reorder/resize fields better.
6556 Use attr `special' macros in all calls to make_internal_attr.
6557 * genautomata.c: Likewise.
6558
602a82f3 65592003-07-09 Jan Hubicka <jh@suse.cz>
084c1779
JH
6560
6561 * c-common.c (c_estimate_num_insns_1): New static function.
6562 (c_estimate_num_insns): New global function.
6563 * c-common.h (DECL_NUM_STMTS): Rename to...
6564 (DECL_ESTIMATED_INSNS): ... this.
6565 (c_estimate_num_insns): Declare.
6566 * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
6567 * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
6568 * c-semantics.c (add_stmt): Do not account statements.
6569 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
6570 New.
6571 * langhooks.h (lang_hooks_for_tree_inlining): Add
6572 estimate_num_insns
6573 * params.def (max-inline-insns-auto, max-inline-insns-auto): set
6574 to 100.
6575 (max-inline-insns): set to 300.
6576 (min-inline-insns): set to 10.
6577 * tree-inline.c (struct inline_data): Rename inlined_stmts to
6578 inlined-insns.
6579 (INSNS_PER_STMT): Kill.
6580 (inlinable_function_p): Compute and store body size.
6581 (expand_call_inline): Likewise.
6582 (optimize_inline_calls): Likewise.
6583
1b1838b6
JW
65842003-07-08 James E Wilson <wilson@tuliptree.org>
6585
6586 PR target/10021
6587 * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
6588 loop over new variable t2 instead of t.
6589
81a6341d
DS
65902003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
6591
6592 PR bootstrap/11455
6593 * config/i386/winnt.c: Replace use of error(), warning() with
6594 error_with_decl(), warning_with_decl(), throughout.
6595
21789816
NB
65962003-07-08 Neil Booth <neil@daikokuya.co.uk>
6597
6598 * opts.c (wrap_help): Use unsigned int, not size_t.
6599
f6423302
SC
66002003-07-08 Stephane Carrez <stcarrez@nerim.fr>
6601
6602 * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
6603 as .file/.loc directives are incompatible with linker relaxation.
6604
ab747408
ZW
66052003-07-08 Zack Weinberg <zack@codesourcery.com>
6606
6607 * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
6608 * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
6609 * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
6610 * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
6611 * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
6612 * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
6613 Escape { and } characters which are not part of range expressions.
6614 * fixinc/fixincl.x: Regenerate.
a27531fb 6615 * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
ab747408 6616
51657442
SB
66172003-07-08 Steven Bosscher <steven@gcc.gnu.org>
6618
6619 PR c/1687
6620 * tree-inline.c (find_alloca_call): Use
6621 walk_tree_without_duplicates, instead of walk_tree.
6622 (find_builtin_longjmp_call): Likewise.
6623 * c-objc-common.c (c_cannot_inline_fn): Likewise.
6624 * c-semantics.c (find_reachable_label): Likewise.
6625
7e6dc358
JJ
66262003-07-08 Jakub Jelinek <jakub@redhat.com>
6627
6628 PR c/11420
6629 * config/i386/i386.c (ix86_check_movabs): New function.
6630 * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
6631 * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
6632 (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
6633
318b7749
CD
66342003-07-08 Chris Demetriou <cgd@broadcom.com>
6635
6636 * Makefile.in (install-po): Cope with empty CATALOGS.
6637
b8898790
RS
66382003-07-08 Richard Sandiford <rsandifo@redhat.com>
6639
6640 * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6641 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
6642 (SECTION_FUNCTION_TEMPLATE): Delete.
6643 * config/mips/elf.h: As for elf64.h.
6644 (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
6645 * config/mips/linux.h: As for elf.h
6646 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6647 * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
6648 (EXTRA_SECTION_FUNCTIONS): Remove sdata_section. Remove the handling
6649 of in_sdata from current_section_name and current_section_flags.
6650 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
6651 * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
6652 (MASK_GP_OPT, TARGET_GP_OPT): Delete.
6653 (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
6654 (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
6655 (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
6656 * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
6657 (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
6658 (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
6659 (override_options): Remove setting of MASK_GPOPT.
6660 (mips_output_external): Use mips_in_small_data_p to check whether a
6661 symbol needs an .extern directive. Don't emit such directives for
6662 TARGET_EXPLICIT_RELOCS.
6663 (mips_declare_object): Update accordingly.
6664 (mips_select_rtx_section): Call named_section rather than
6665 SMALL_DATA_SECTION.
6666 (mips_select_section): Use default_elf_section_section for everything
6667 except .text string constants.
6668 (mips_in_small_data_p): New function.
6669 (mips_encode_section_info): Remove small data handling.
6670 (mips_unique_section): Delete.
6671 (iris6_section_type_flags): New function.
6672 * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
6673
f5d1c3de
JDA
66742003-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6675
6676 PR Target/11453
6677 * pa.md: Disparage all mtsar constraints.
6678 (extzv, extv, insv): Don't fail on length of {32|64}.
6679
ce1bb65b
ZW
66802003-07-08 Zack Weinberg <zack@codesourcery.com>
6681
6682 * system.h: Poison MAP_CHARACTER.
6683 * config/i370/i370-protos.h (mvs_map_char): Delete.
6684 * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
6685 * config/i370/i370.h (MAP_CHARACTER): Delete definition.
6686 (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
6687
c163ddca
DS
66882003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
6689
6690 * toplev.c (randomize): Correct call to time().
6691
8df63efa
JJ
66922003-07-08 Jakub Jelinek <jakub@redhat.com>
6693
6694 * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
6695 REG_EQUIV notes as well.
6696
4b5cc2b3
KH
66972003-07-08 Kazu Hirata <kazu@cs.umass.edu>
6698
6699 * doc/md.texi: Fix the description of addmodecc.
6700
56694dd9
ZW
67012003-07-07 Zack Weinberg <zack@codesourcery.com>
6702
6703 * Makefile.in (top_builddir): Set to "..", not ".".
6704 (INTLLIBS, INTLDEPS): Delete.
6705 (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
6706 (LIBDEPS): Add $(LIBICONV_DEP).
6707 (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
6708 (INCLUDES): Replace -I../intl with @INCINTL@.
6709 ($(top_builddir)/intl/libintl.a): Delete rule.
6710 (stage2-start, stage3-start, stage4-start, stageprofile-start,
6711 stagefeedback-start): Use $$ for variable to be evaluated by
6712 shell, not make.
6713 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
6714 HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
6715 * aclocal.m4: sinclude ../config/progtest.m4. Add
6716 contents of lcmessage.m4 from gettext distro.
6717 * configure.in: Check for wchar.h and setlocale. Set
6718 LIBICONV_DEP to the empty string and substitute it.
6719 Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
6720 this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
6721 not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
6722 in $LIBINTL, to avoid linking it twice.
6723 * configure, config.in: Regenerate.
6724
a294c4cf
NN
67252003-07-08 Nathanael Nerode <neroden@gcc.gnu.org>
6726
6727 * fixinc/mkfixinc.sh: Remove winnt support.
6728 * fixinc/fixinc.winnt: Delete with extreme prejudice.
6729
979312a4
NB
67302003-07-08 Neil Booth <neil@daikokuya.co.uk>
6731
6732 * Makefile.in: Update.
6733 * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
6734 * c.opt: Update documentation.
6735 * common.opt: Add some help text.
6736 * opts.c: Include intl.h.
6737 (wrap_help, print_help): New.
6738 (find_opt, handle_option, common_handle_option): opt_text now
6739 contains the '-'. Use print_help to output help.
6740 * opts.h (struct cl_option): New member "help".
6741 * opts.sh: Update to handle help text output and to prepend
6742 options with '-'.
6743 * toplev.c (display_help): Remove some help text.
6744
2c4a9cff
DE
67452003-07-07 David Edelsohn <edelsohn@gnu.org>
6746 Fariborz Jahanian <fjahanian@apple.com>
6747
6748 * configure.in: Test for PowerPC mfcr field support in assembler.
6749 * config.in, configure: Regenderated.
6750
6751 * config/rs6000/power4.md: Add mfcrf reservation.
6752 * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
6753 * config/rs6000/rs6000.c (mfcr_operation): Define.
6754 (print_operand): Add 'Q' case for mfcrf.
6755 * config/rs6000/rs6000.h (TARGET_MFCRF): New.
6756 * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
6757 (movcc_internal1): Emit optional field operand for mfcr and set
6758 "type" attribute appropriately.
6759 (mfcr SCC): Likewise.
6760 (movesi_from_cr_one): New.
6761
923c4cf2
RS
67622003-07-07 Roger Sayle <roger@eyesopen.com>
6763
6764 * config/i386/i386.md: Correct check-in of incorrect version.
6765
75b6f3fd
KG
67662003-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6767
6768 * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
6769 adjacent stdio calls.
6770 * c-decl.c (c_print_identifier): Likewise.
6771 * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
6772 * print-rtl.c (print_rtx): Likewise.
6773 * print-tree.c (print_node_brief, print_node): Likewise.
6774 * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
56694dd9 6775
75b6f3fd
KG
6776 * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
6777 * config.in, configure: Regenerated.
6778
afeeac3f
RS
67792003-07-07 Roger Sayle <roger@eyesopen.com>
6780
6781 PR target/10979
6782 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
6783 Changed to define_expand patterns that copy operand[1] to prevent
6784 it from being clobbered before emitting an atan2?f3_1 insn.
6785 (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
6786 patterns that actually specify the behaviour of x87's FPATAN.
6787
eeff9307
JJ
67882003-07-07 Jakub Jelinek <jakub@redhat.com>
6789
6790 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
6791 clearing of SYMBOL_FLAG_LOCAL bit.
6792 If vcall_offset fits into signed 16-bit immediate, use
6793 one instruction for both addition and load.
6794
0fcd5dda
NB
67952003-07-07 Neil Booth <neil@daikokuya.co.uk>
6796
6797 * opts.c (common_handle_option): Correct handling of the
6798 -falign- switches that do and don't take an argument.
6799
b275810a
KH
68002003-07-07 Kazu Hirata <kazu@cs.umass.edu>
6801
6802 * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
6803 today.
6804 (pushhi1_h8300hs): Likewise.
6805
5671bf27
AJ
68062003-07-07 Andreas Jaeger <aj@suse.de>
6807
6808 * genextract.c: Convert remaining prototypes to ISO C90.
6809
6810 * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
6811 * fold-const.c (fold_single_bit_test): Likewise.
6812 * diagnostic.c (default_diagnostic_finalizer): Likewise.
6813 * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
6814
6815 * gengtype.c (write_array): Generate ISO C90 prototypes.
6816
6817 * genflags.c (gen_proto): Generate ISO C90 prototypes.
6818
2c430630
RS
68192003-07-07 Roger Sayle <roger@eyesopen.com>
6820
6821 PR optimization/11059
6822 * expr.c (can_store_by_pieces): Return true if length is zero.
6823 (store_by_pieces): If length is zero and endp is two, abort,
6824 othwerise, if length is zero and endp is not two, return "to".
6825 (clear_by_pieces): Do nothing if length is zero.
6826 (clear_storage): Do nothing if length is zero.
6827 (store_constructor): Simplify code when size is zero, or the
6828 target has already been cleared. This avoids emitting a
6829 blockage instruction when initializing empty structures.
6830
cf633f5b
AJ
68312003-07-07 Andreas Jaeger <aj@suse.de>
6832
6833 * mips-tfile.c: Convert prototypes to ISO C90.
6834 * mips-tdump.c: Convert prototypes to ISO C90.
6835
0cea056b
NS
68362003-07-07 Nathan Sidwell <nathan@codesourcery.com>
6837
6838 * rtl.h (emit_line_note): Take a location_t.
6839 (emit_line_note_force): Remove.
6840 (set_file_and_line_for_statement): Take a location_t.
6841 * tree.g (emit_line_note): Take a location_t.
6842 * emit-rtl.c (emit_line_note): Take a location_t.
6843 (emit_line_note_force): Remove.
6844 * function.c (init_function_start): Adjust emit_line_note call.
6845 (expand_function_end): Use force_next_line_note, not
6846 emit_line_note_force.
6847 * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
6848 * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
6849 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
6850 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
6851 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
6852 genrtl_continue_stmt, genrtl_switch_stmt,
6853 genrtl_asm_stmt): Likewise.
6854 * expr.c (expand_expr): Likewise.
6855 * integrate.c (expand_inline_function): Likewise.
6856 * stmt.c (set_file_and_line_for_stmt): Take a location_t.
6857 (expand_decl_init): Adjust emit_line_note call.
6858
8eb910fc
DJ
68592003-07-07 Dale Johannesen <dalej@apple.com>
6860
56694dd9 6861 * config/rs6000/darwin-tramp.asm: Fix trampolines. PR 10900.
8eb910fc 6862
b96a374d
AJ
68632003-07-07 Andreas Jaeger <aj@suse.de>
6864
6865 * config/i386/i386-protos.h: Convert prototypes to ISO C90.
6866 * config/i386/i386.c: Likewise.
6867
273fc01e
KH
68682003-07-07 Kazu Hirata <kazu@cs.umass.edu>
6869
6870 * config/h8300/h8300.md: Use gen_int_mode instead of
6871 GEN_INT (trunc_int_for_mode (...)).
6872
fb7d7712
KH
68732003-07-07 Kazu Hirata <kazu@cs.umass.edu>
6874
6875 * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
6876 2 bytes and then subtract 2 from the stack pointer.
6877 (pushhi1_h8300hs): Likewise.
6878
e61a2eb7
NS
68792003-07-07 Nathan Sidwell <nathan@codesourcery.com>
6880
6881 * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
6882 -frandom-seed.
6883 * configure: Regenerated.
6884 * Makefile.in: Remove extraneous comment.
6885 * toplev.c (randomize): Protect against potential multiple calls.
6886 * doc/invoke.texi (-frandom-seed): Document use for in coverage
6887 files.
6888
82d610ec 68892003-07-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
56694dd9 6890 Eric Botcazou <ebotcazou@libertysurf.fr>
82d610ec
RK
6891
6892 PR optimization/11198
6893 * alias.c (objects_must_conflict_p): Return 1 if the types have
6894 the same alias set, not if the alias sets only conflict.
6895
5beadb33
AP
68962003-07-07 Andrew Pinski <pinskia@physics.uc.edu>
6897
6898 * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
6899 (convert_cset): Change inbuf to type ICONV_CONST char.
6900 * Makefile.in (LIBS): Add LIBICONV.
6901
9bb34f3c
AJ
6902 * doc/invoke.texi (-falign-functions): Document that
6903 when n is zero then a machine-dependent default is used.
6904 (-falign-labels): Document that when n is zero then a
6905 machine-dependent default is used and that -falign-labels =1
6906 is equivalent to -fno-align-labels.
6907 (-falign-loops): Likewise.
6908 (-falign-jumps): Likewise.
6909
1dbb6ce8
AH
69102003-07-06 Art Haas <ahaas@airmail.net>
6911
6912 * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
6913 initializer syntax.
6914
8338d44d
JW
69152003-07-06 James E Wilson <wilson@tuliptree.org>
6916
6917 PR optimization/9812
6918 * rtl.h (mem_for_const_double): Delete prototype.
6919 * varasm.c (mem_for_const_double): Delete function.
6920 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
6921 config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
6922 (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
6923 * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
6924 (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
6925 * config/m68k/m68k.md (movxf): Add reload_in_progress guard. Add
6926 comment about confused support for XFmode constants.
6927
602a82f3 69282003-07-07 Jan Hubicka <jh@suse.cz>
9efd34a5
JH
6929
6930 * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
6931
2a43945f
KH
69322003-07-06 Kazu Hirata <kazu@cs.umass.edu>
6933
6934 * config/h8300/h8300.c: Fix comment typos.
6935 * config/h8300/h8300.md: Likewise.
6936 * config/i386/athlon.md: Likewise.
6937 * config/i386/i386.c: Likewise.
6938 * config/i386/pentium.md: Likewise.
6939 * config/ia64/ia64.c: Likewise.
6940 * config/ia64/itanium1.md: Likewise.
6941 * config/ia64/itanium2.md: Likewise.
6942 * config/m32r/m32r.md: Likewise.
6943 * config/m68hc11/m68hc11.c: Likewise.
6944 * config/mcore/mcore.c: Likewise.
6945 * config/mips/sr71k.md: Likewise.
6946 * config/mips/t-iris5-as: Likewise.
6947 * config/mmix/mmix.h: Likewise.
6948 * config/ns32k/ns32k.h: Likewise.
6949 * config/ns32k/NOTES: Fix a typo.
6950
ceee09f7
AJ
69512003-07-06 Andreas Jaeger <aj@suse.de>
6952
7e51717c
AJ
6953 * stmt.c: Convert remaining prototypes to ISO C90.
6954 * cfglayout.c: Likewise.
6955 * dbxout.c: Likewise.
6956 * gcc.c: Likewise.
6957 * genemit.c: Likewise.
6958
ceee09f7
AJ
6959 * basic-block.h: Convert prototypes to ISO C90.
6960 * c-parse.in: Likewise.
6961 * c-pragma.h: Likewise.
6962 * c-typeck.c: Likewise.
6963 * cfghooks.h: Likewise.
6964 * cfgloopanal.c: Likewise.
6965 * dbxout.h: Likewise.
6966 * debug.h: Likewise.
6967 * dwarf2asm.h: Likewise.
6968 * gcov.c: Likewise.
6969 * gengtype-lex.l: Likewise.
6970 * sched-int.h: Likewise.
6971 * timevar.c: Likewise.
6972
cb66e385
NB
69732003-07-06 Neil Booth <neil@daikokuya.co.uk>
6974
6975 * c-common.h (c_comon_handle_filename,
6976 c_common_missing_arguement): New.
6977 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
6978 LANG_HOOKS_MISSING_ARGUMENT): New.
6979 * c-opts.c (missing_arg): Rename c_common_missing_argument,
6980 update to be an appropriate langhook.
6981 (c_common_handle_option): Don't handle filenames.
6982 (c_common_handle_filename): New.
6983 * hooks.c (hook_void_constcharptr,
6984 hook_bool_constcharptr_size_t_false): New.
6985 * hooks.h (hook_void_constcharptr,
6986 hook_bool_constcharptr_size_t_false): New.
6987 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
6988 LANG_HOOKS_MISSING_ARGUMENT): New.
6989 (LANG_HOOKS_INITIALIZER): Update.
6990 * langhooks.h (struct lang_hooks): Add handle_filename and
6991 missing_argument.
6992 * opts.c (handle_option): Don't handle filenames here, but ...
6993 (handle_options): ... here.
6994 (common_handle_option): Don't handle missing arguments here.
6995 * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
6996 LANG_HOOKS_MISSING_ARGUMENT): New.
6997
ade4289c
NB
69982003-07-06 Neil Booth <neil@daikokuya.co.uk>
6999
7000 * Makfile.in: Remove traces of mbchar.
7001 * c-parse.in (MULTIBYTE_CHARS): Remove.
7002 * config.in (MULTIBYTE_CHARS): Remove.
7003 * configure: Remove --enable-mbchar.
7004 * configure.in: Remove --enable-mbchar.
7005 * mbchar.c, mbchar.h: Remove.
7006 * system.h: Poison MULTIBYTE_CHARS.
7007 * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
7008 * config/linux.h (MULTIBYTE_CHARS): Remove.
7009 * config/svr4.h (MULTIBYTE_CHARS): Remove.
7010 * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
7011
2e1eedd6
AJ
70122003-07-06 Andreas Jaeger <aj@suse.de>
7013
11dc5cc6
AJ
7014 * varray.c (varray_check_failed): Fix typo.
7015
7016 * unroll.c: Convert prototypes to ISO C90.
2e1eedd6
AJ
7017 * varasm.c: Likewise.
7018 * varray.c: Likewise.
7019 * varray.h: Likewise.
7020 * vmsdbgout.c: Likewise.
7021 * xcoffout.c: Likewise.
7022 * xcoffout.h: Likewise.
7023
dd486eb2
NS
70242003-07-06 Nathan Sidwell <nathan@codesourcery.com>
7025
7026 * gcov-io.h: Add a local time stamp.
7027 (struct gcov_info): Add stamp field.
7028 (gcov_truncate): New.
7029 * coverage.c (read_counts_file): Skip the stamp.
7030 (coverage_begin_output): Write the stamp.
7031 (build_gcov_info): Declare and init the stamp.
7032 (coverage_finish): Only unlink data file, if stamp is zero.
7033 * gcov-dump.c (dump_file): Dump the stamp.
7034 * gcov.c (bbg_stamp): New.
7035 (release_structures): Clear bbg_stamp.
7036 (read_graph_file): Read stamp.
7037 (read_count_file): Check stamp.
7038 * libgcov.c (gcov_exit): Check stamp and truncate if needed.
7039
c07e5477
NS
70402003-07-06 Nathan Sidwell <nathan@codesourcery.com>
7041
7042 * tree.h (default_flag_random_seed): Remove.
7043 * toplev.h (local_tick): Declare.
7044 * tree.c (flag_random_seed, default_flag_random_seed): Move to
7045 toplev.c.
7046 (append_random_chars): Don't call default_flag_random_seed.
7047 * toplev.c (flag_random_seed): Define here. Set local_tick.
7048 (local_tick): Define.
7049 (randomize): New, moved from tree.c.
7050 (print_switch_values): Adjust.
7051 (toplev_main): Call randomize.
7052
2aab7ceb
NS
70532003-07-06 Nathan Sidwell <nathan@codesourcery.com>
7054
7055 * tree.h (crc32_string): Declare.
7056 * tree.c (append_random_chars): Remove.
7057 (crc32_string): New.
7058 (get_file_function_name_long): Use crc32_string here.
7059
1d088dee
AJ
70602003-07-06 Andreas Jaeger <aj@suse.de>
7061
7062 * gcc.c: Convert prototypes to ISO C90.
7063 * gcc.h: Likewise.
7064 * gcov-dump.c: Likewise.
7065 * gcov-iov.c: Likewise.
7066 * gcse.c: Likewise.
7067 * genattrtab.h: Likewise.
7068 * ggc.h: Likewise.
7069 * global.c: Likewise.
7070 * graph.c: Likewise.
7071 * graph.h: Likewise.
7072 * hosthooks.h: Likewise.
7073 * hooks.h: Likewise.
7074 * hooks.c: Likewise.
7075 * hashtable.h: Likewise.
7076 * hashtable.c: Likewise.
7077 * haifa-sched.c: Likewise.
7078 * integrate.h: Likewise.
7079 * integrate.c: Likewise.
7080 * input.h: Likewise.
7081 * ifcvt.c: Likewise.
f8ec47c7 7082 * jump.c: Likewise.
0c20a65f
AJ
7083 * langhooks-def.h: Likewise. Add extern to prototypes.
7084 * langhooks.c: Likewise.
7085 * langhooks.h: Likewise.
7086 * lcm.c: Likewise.
7087 * local-alloc.c: Likewise.
7088 * loop-init.c: Likewise.
7089 * loop-unroll.c: Likewise.
7090 * loop-unswitch.c: Likewise.
7091 * loop.c: Likewise.
7092 * loop.h: Likewise. Add extern to prototypes.
7093 * machmode.h: Likewise.
7094 * main.c: Likewise.
7095 * mbchar.c: Likewise.
7096 * mbchar.h: Likewise.
7097 * mkdeps.c: Likewise.
7098 * mkdeps.h: Likewise.
7099 * optabs.c: Likewise.
7100 * optabs.h: Likewise.
7101 * output.h: Likewise.
7102 * gccspec.c: Likwise.
7103 * postreload.c: Likewise.
7104 * prefix.c: Likewise.
7105 * prefix.h: Likewise.
7106 * print-rtl.c: Likewise.
7107 * print-tree.c: Likewise.
7108 * profile.c: Likewise.
7109 * read-rtl.c: Likewise.
7110 * real.c: Likewise.
7111 * real.h: Likewise.
7112 * recog.c: Likewise.
7113 * recog.h: Likewise.
7114 * reg-stack.c: Likewise.
7115 * regclass.c: Likewise.
7116 * regmove.c: Likewise.
7117 * regrename.c: Likewise.
7118 * regs.h: Likewise.
7119 * reload.c: Likewise.
7120 * reload.h: Likewise.
7121 * reload1.c: Likewise.
7122 * reorg.c: Likewise.
7123 * resource.c: Likewise.
7124 * resource.h: Likewise.
7125 * rtl-error.c: Likewise.
7126 * rtl.c: Likewise.
7127 * rtl.h: Likewise.
7128 * rtlanal.c: Likewise.
46c5ad27
AJ
7129 * sbitmap.c: Likewise.
7130 * sbitmap.h: Likewise.
7131 * scan-decls.c: Likewise.
7132 * scan.c: Likewise.
7133 * sched-deps.c: Likewise.
7134 * sched-ebb.c: Likewise.
7135 * sched-int.h: Likewise.
7136 * sched-rgn.c: Likewise.
7137 * sched-vis.c: Likewise.
7138 * sibcall.c: Likewise.
7139 * simplify-rtx.c: Likewise.
7140 * sreal.c: Likewise.
7141 * sreal.h: Likewise.
7142 * ssa-ccp.c: Likewise.
7143 * ssa-dce.c: Likewise.
7144 * ssa.c: Likewise.
7145 * ssa.h: Likewise.
7146 * stack.h: Likewise.
7147 * stmt.c: Likewise.
7148 * stor-layout.c: Likewise.
7149 * stringpool.c: Likewise.
7150 * target.h: Likewise.
7151 * timevar.c: Likewise.
7152 * timevar.h: Likewise.
7153 * tlink.c: Likewise.
7154 * tracer.c: Likewise.
7155 * tree-inline.c: Likewise.
7156 * tree-inline.h: Likewise.
7157 * tree.c: Likewise.
7158 * tree.h: Likewise.
1d088dee 7159
4f649bc1
KH
71602003-07-05 Kazu Hirata <kazu@cs.umass.edu>
7161
7162 * combine.c (nonzero_bits1): Fix a warning.
7163
71642003-07-05 Kazu Hirata <kazu@cs.umass.edu>
2c4a71b3
KH
7165
7166 * config/h8300/h8300.c (compute_mov_length): Correct the
7167 length of loading CONST0_RTX (SFmode).
7168
f5924ac1
NS
71692003-07-05 Nathan Sidwell <nathan@codesourcery.com>
7170
7171 * toplev.c (output_clean_symbol_name): Remove.
7172 * toplev.h (output_clean_symbol_name): Remove.
7173 * config/alpha/alpha.c (unicosmk_output_module_name): Use
7174 lbasename & clean_symbol_name.
7175
39e3f58c
KH
71762003-07-05 Kazu Hirata <kazu@cs.umass.edu>
7177
7178 * ggc.h: Follow spelling conventions.
7179 * config/i386/i386.c: Likewise.
7180 * config/i386/winnt.c: Likewise.
7181 * config/rs6000/rs6000.c: Likewise.
7182
4d6922ee
KH
71832003-07-05 Kazu Hirata <kazu@cs.umass.edu>
7184
7185 * bt-load.c: Fix comment typos.
7186 * c-incpath.c: Likewise.
7187 * cfg.c: Likewise.
7188 * cfgcleanup.c: Likewise.
7189 * cfgloop.h: Likewise.
7190 * cfgloopmanip.c: Likewise.
7191 * cfgrtl.c: Likewise.
7192 * diagnostic.h: Likewise.
7193 * dwarfout.c: Likewise.
7194 * emit-rtl.c: Likewise.
7195 * et-forest.c: Likewise.
7196 * et-forest.h: Likewise.
7197 * expr.c: Likewise.
7198 * gcse.c: Likewise.
7199 * genattr.c: Likewise.
7200 * jump.c: Likewise.
7201 * langhooks.h: Likewise.
7202 * local-alloc.c: Likewise.
7203 * loop-unroll.c: Likewise.
7204 * loop-unswitch.c: Likewise.
7205 * ra-build.c: Likewise.
7206 * regclass.c: Likewise.
7207 * regmove.c: Likewise.
7208 * rtl.def: Likewise.
7209 * rtlanal.c: Likewise.
7210 * sched-ebb.c: Likewise.
7211 * sched-rgn.c: Likewise.
7212 * simplify-rtx.c: Likewise.
7213 * ssa.c: Likewise.
7214 * tracer.c: Likewise.
7215 * tree.c: Likewise.
7216
f1c4bc4f
ZW
72172003-07-05 Zack Weinberg <zack@codesourcery.com>
7218
7219 * cppcharset.c: Use the correct return type for the fallback iconv
7220 macro.
7221
602a82f3 72222003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
65c6f1b4
ZD
7223
7224 Blame to Jan Hubicka <jh@suse.cz>
7225 * cfglayout.c (record_effective_endpoints): Split insns before
7226 first basic block correctly.
7227
a8f3bf52
RK
72282003-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7229
f1c4bc4f 7230 * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
a8f3bf52
RK
7231 bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
7232 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
7233
0641776c
AJ
72342003-07-05 Andreas Jaeger <aj@suse.de>
7235
7236 * genattrtab.c (write_attr_get): Revert part of last patch to
7237 always write out a prototype.
7238
7239 * genemit.c (gen_split): Readd lost unused attributes in last
7240 patch.
7241
977129f6
ZD
72422003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7243
7244 * cfgloopmanip.c (force_single_succ_latches): Force latch to be
7245 different from header.
7246
5ee084df
AS
72472003-07-05 Andreas Schwab <schwab@suse.de>
7248
7249 * config/m68k/m68k.c: Remove code protected by CRDS.
7250 * config/m68k/m68k.md: Likewise.
7251
33de9573
NB
72522003-07-05 Neil Booth <neil@daikokuya.co.uk>
7253
7254 PR driver/11417
7255 * c-opts.c (permit_fortran_options): New.
7256 (c_common_init_options): Accept fortran front end options if
7257 it looks like we might be preprocessing Fortran.
7258 (c_common_handle_option): Don't reject switch if permit_fotran_options.
7259
6906ba40
KG
72602003-07-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7261
7262 * genattr.c (internal_dfa_insn_code): Output prototype.
7263 * genattrtab.c: Don't output unnecessary decls, output in ISO C.
7264 * genautomata.c: Likewise.
7265 * genconditions.c: Likewise.
7266 * genemit.c: Likewise.
7267 * genextract.c: Likewise.
7268 * gengenrtl.c: Likewise.
7269 * gengtype.c: Likewise.
7270 * genopinit.c: Likewise.
7271 * genoutput.c: Likewise.
7272 * genpeep.c: Likewise.
7273 * genrecog.c: Likewise.
7274
e6cc3a24
ZW
72752003-07-04 Zack Weinberg <zack@codesourcery.com>
7276
7277 * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
7278 (struct cpp_options): Add narrow_charset, wide_charset,
7279 bytes_big_endian fields. Remove EBCDIC field.
7280 (cpp_init_iconv, cpp_interpret_string): New external interfaces.
7281
7282 * cpphash.h: Include <iconv.h> if we have it, otherwise
7283 provide a dummy definition of iconv_t.
7284 (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
7285 (_cpp_valid_ucn): Update prototype.
7286 (_cpp_destroy_iconv): New prototype.
7287
7288 * doc/cpp.texi: Document character set handling.
7289 * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
7290 * doc/extend.texi: Delete entire section on multiline strings.
7291 Rewrite section on __FUNCTION__ etc now that these are
7292 variables in C.
7293
7294 * cppucnid.tab, cppucnid.pl: New files.
7295 * cppucnid.h: New generated file.
7296 * cppcharset.c: Include cppucnid.h. Lots of commentary added.
7297 (iconv_open, iconv, iconv_close): Provide dummy definitions
7298 if !HAVE_ICONV.
7299 (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
7300 _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
7301 emit_numeric_escape, convert_hex, convert_oct, convert_escape,
7302 cpp_interpret_string, narrow_str_to_charconst,
7303 wide_str_to_charconst): New.
7304 (ucn_valid_in_identifier): Use a binary search through the
7305 ucnranges table defined in cppucnid.h, not a long chain of if
7306 statements.
7307 (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal
7308 character names are only valid in C++ and C99" to a warning.
7309 Issue the "meaning of \[uU] is different in traditional C"
7310 warning here. Take care not to let iconv see an invalid UCS
7311 value if we get a malformed UCN. Issue an error if we don't
7312 have iconv.
7313 (cpp_interpret_charconst): Moved here from cpplex.c. Use
7314 cpp_interpret_string to do the heavy lifting.
7315
7316 * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
7317 narrow_charset, wide_charset fields of options structure.
7318 (cpp_destroy): Call _cpp_destroy_iconv.
7319 * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
7320 (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
7321 (cpp_interpret_charconst): Moved to cppcharset.c.
7322 * cpplib.c (dequote_string): Delete.
7323 (interpret_string_notranslate): New.
7324 (do_line, do_linemarker): Use interpret_string_notranslate.
7325
7326 * Makefile.in (cppcharset.o): Depend on cppucnid.h.
7327
7328 * c-common.c (fname_string, combine_strings): Delete.
7329 * c-common.h (fname_string, combine_strings): Delete prototypes.
7330 * c-lex.c (ignore_escape_flag): Delete.
7331 (cb_ident): Use cpp_interpret_string, not lex_string.
7332 (get_nonpadding_token): New function.
7333 (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
7334 Adjust calls to lex_string. Don't write *value twice.
7335 (lex_string): Now handles string constant concatenation.
7336 Most of the work handed off to cpp_interpret_string.
7337 Call fix_string_type here.
7338 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
7339 FUNC_NAME, throughout.
7340 (OBJC_STRING): New token type.
7341 (primary:STRING): No need to call fix_string_type here.
7342 (primary:objc_string): Make that OBJC_STRING.
7343 (objc_string nonterminal): Delete.
7344 (yylexname): Delete code to handle fake string constants.
7345 (yylexstring): Delete entirely.
7346 (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need
7347 to handle CPP_ATSIGN.
7348
7349 * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
7350 * c-opts.c (missing_arg, c_common_handle_option): Handle
7351 OPT_fexec_charset_ and OPT_fwide_exec_charset_.
7352 (c_common_init): Set cpp_opts->bytes_big_endian, not
7353 cpp_opts->EBCDIC. Call cpp_init_iconv.
7354 (print_help): Document -fexec-charset= and -fexec-wide-charset=.
7355 (TARGET_EBCDIC): Delete default definition.
7356
7357 * objc/objc-act.c (build_objc_string_object): No need to
7358 handle string constant concatenation.
7359
61aeb06f
KH
73602003-07-04 Kazu Hirata <kazu@cs.umass.edu>
7361
7362 * doc/install.texi: Fix typos.
7363 * doc/invoke.texi: Likewise.
7364 * doc/tm.texi: Likewise.
7365
c1207243
KH
73662003-07-04 Kazu Hirata <kazu@cs.umass.edu>
7367
7368 * config/pa/fptr.c: Fix comment typos.
7369 * config/pa/pa-64.h: Likewise.
7370 * config/pa/pa.c: Likewise.
7371 * config/pa/pa.h: Likewise.
7372 * config/rs6000/603.md: Likewise.
7373 * config/rs6000/7xx.md: Likewise.
7374 * config/rs6000/darwin.h: Likewise.
7375 * config/rs6000/freebsd.h: Likewise.
7376 * config/rs6000/rs6000.c: Likewise.
7377 * config/rs6000/rs6000.md: Likewise.
7378 * config/rs6000/spe.h: Likewise.
7379
58add37a
UW
73802003-07-04 Ulrich Weigand <uweigand@de.ibm.com>
7381
7382 * config/s390/2064.md: Change GNU CC to GCC.
7383 * config/s390/2084.md: Likewise.
7384 * config/s390/fixdfdi.h: Likewise.
7385 * config/s390/linux.h: Likewise.
7386 * config/s390/s390-modes.def: Likewise.
7387 * config/s390/s390-protos.h: Likewise.
7388 * config/s390/s390.c: Likewise.
7389 * config/s390/s390.h: Likewise.
7390 * config/s390/s390.md: Likewise.
7391 * config/s390/s390x.h: Likewise.
7392
60cd4dae
JL
73932003-07-04 Jeff Law <law@redhat.com>
7394
a38825d2 7395 PR c/11428
60cd4dae
JL
7396 * expr.c (do_store_flag): Pass in the correct result type
7397 when calling fold_single_bit_test.
7398 * fold-const.c (fold_single_bit_test): Use result_type for the
7399 result when folding a sign bit test.
7400
5e14ae7e
NB
74012003-07-04 Neil Booth <neil@daikokuya.co.uk>
7402
7403 * opts.c (common_handle_options): Negate sense of -falign- switches.
7404
8c90b13a
L
74052003-07-04 H.J. Lu <hongjiu.lu@intel.com>
7406
c3b3975a 7407 * Makefile.in: Replace PWD with PWD_COMMAND.
8c90b13a 7408
72d4a2ad
ZD
74092003-07-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7410
7411 * cfgloopanal.c (count_strange_loop_iterations): New static function.
7412 (constant_iterations, count_loop_iterations, simple_loop_exit_p):
7413 Handle strange loops.
7414
8e9a4a45
TM
74152003-07-04 Toon Moene <toon@moene.indiv.nluug.nl>
7416
7417 * install.texi: Even the g77 manpage is derived from
7418 the full g77 manual.
7419
6eb95e99
ZW
74202003-07-04 Zack Weinberg <zack@codesourcery.com>
7421
7422 * ABOUT-NLS: Delete.
7423 * intl: Delete entire directory.
7424 * aclocal.m4: Include ../config/gettext.m4. Delete
7425 AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
7426 AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
7427 * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
7428 Remove intl/Makefile from all_outputs.
7429 * configure, config.in: Regenerate.
7430 * Makefile.in: Expunge all references to intl subdirectory.
7431 Add -I../intl to INCLUDES.
7432 * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
7433
bcd5d841
RS
74342003-07-04 Roger Sayle <roger@eyesopen.com>
7435
7436 * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
7437 * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
7438
6b6cb52e
DS
74392003-07-04 Danny Smith <dannysmith@users.sourceforge.net>
7440
7441 PR c++/5287, PR c++/7910, PR c++/11021
7442 * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
7443 dllimport attribute if function is defined at declaration, but
7444 report error instead. Likewise for dllimport'd variable
7445 definitions. Set implicit TREE_PUBLIC for dllimport'd variables
7446 declared within functions, Report error if dllimport or dllexport
7447 symbol is not global.
7448 (i386_pe_dllimport_p): Ignore dllimport attribute of functions
7449 if defined after declaration or if inlined. Don't allow definition
7450 of static data members of C++ classes. Don't dllimport virtual
7451 methods.
7452 (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
7453 (i386_pe_mark_dllimport): Remove unnecessary checks.
7454 (i386_pe_encode_section_info): Warn if the dllimport attribute
7455 and symbol prefix have been instantiated and then overridden.
7456
7457 * doc/extend.texi: Document dllimport and dllexport attributes.
7458
7459 * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
7460
cc2f5d34
US
74612003-07-03 Uwe Stieber <uwe@kaos-group.de>
7462
7463 * config/kaos.h (CPP_PREDEFINES): Delete.
7464 (TARGET_OS_CPP_BUILTINS): New.
7465
5f1989e6
KG
74662003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7467
7468 * c-aux-info.c: Include toplev.h after c-tree.h.
7469 * c-common.c: Likewise.
7470 (GCC_DIAG_STYLE): Undef.
7471 * c-semantics.c (GCC_DIAG_STYLE): Define.
7472 * c-tree.h (GCC_DIAG_STYLE): Likewise.
7473 * diagnostic.h (inform): Move prototype to toplev.h.
7474 * jump.c: Include diagnostic.h before toplev.h.
7475 * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
7476 (warning, error, fatal_error, pedwarn, sorry, inform,
7477 error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
7478
8d28e87d
ZD
74792003-07-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7480
7481 * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
7482 at all if edge is not specified.
7483 (can_copy_bbs_p, copy_bbs): New.
7484 * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
7485 * cfgloop.c (get_loop_body): Comment more precisely.
7486 * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
7487 (scale_bbs_frequencies): Fix comment typo.
7488 (can_duplicate_loop_p): Use can_copy_bbs_p.
7489 (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
7490
694abeb6
DP
74912003-07-03 Devang Patel <dpatel@apple.com>
7492
7493 * c-opts.c (c_common_parse_file): Remove extra
7494 debug_hooks->start_source_file call.
6eb95e99 7495
0a9530a9
RS
74962003-07-03 Roger Sayle <roger@eyesopen.com>
7497
7498 * real.c (real_trunc, real_floor, real_ceil): New functions
7499 to implement trunc, floor and ceil respectively.
7500 * real.h (real_trunc, real_floor, real_ceil): Prototype here.
7501 * builtins.c (integer_valued_real_p): New function to test if
7502 a floating point expression has an integer valued result.
7503 (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
7504 foo(x) where foo is an integer rounding function. Similarly,
7505 optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
7506 (double)(int)x when both foo and bar are integer rounding
7507 functions and we don't need to honor errno.
7508 (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
7509 New functions to fold trunc, floor and ceil.
7510 (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
7511 fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
7512 to fold BUILT_IN_CEIL*.
7513 * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
7514 the remaining integer rounding functions.
7515
c3427c7d
EB
75162003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7517
7518 * config/sparc/sparc.c (function_arg_partial_nregs): Use
7519 SPARC_INT_ARG_MAX to determine where to split unnamed
7520 complex FP arguments.
7521
602a82f3 75222003-07-03 Jan Hubicka <jh@suse.cz>
bc35512f
JH
7523
7524 * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
7525 * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
7526 (merge_blocks_move_predecessor_nojumps,
7527 merge_blocks_move_successor_nojumps): Use merge_blocks.
7528 (try_optimize_cfg): Use merge_blocks_move.
7529 * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
7530 (merge_blocks_nomove): Rename to rtl_merge_blocks.
7531 (cfg_layout_create_basic_block): New.
7532 (rtl_can_merge_blocks): New.
7533 (cfg_layout_split_block): Do not alloc aux by hand.
7534 * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
7535 merge_blocks.
7536 (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
7537 * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
7538 * cfgloopmanip.c (loop_split_edge_with): Likewise.
7539 * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
7540
7541 * basic-block.h (basic_block_def): Add field 'rbi'.
7542 * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
7543 find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
7544 * cfg.c (entry_exit_blocks): Add new field.
7545 * cfglayout.c: Include alloc-pool.h;
7546 (cfg_layout_pool): New.
7547 (record_effective_endpoints, fixup_reorder_chain,
7548 fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
7549 of rbi.
7550 (cfg_layout_initialize_rbi): New function.
7551 (cfg_layout_initialize): Use it.
7552 (cfg_layout_finalize): Clear rbi fields.
7553 * cfglayout.h (RBI): Kill.
7554 (cfg_layout_initialize_rbi): Declare.
7555 * cfgloopmanip.c (copy_bbs): Use rbi.
7556 (record_exit_edges): Likewise.
7557 (duplicate_loop_to_header_edge): Likewise.
7558 * cfgrtl.c (cfg_layout_create_basic_block): Use
7559 cfg_layout_initialize_rbi.
7560 (cfg_layout_split_block): Use rbi.
7561 (cfg_layout_delete_block): Likewise.
7562 * loop-init.c (loop_optimizer_finalize): Likewise.
7563 * loop-unswitch.c (unswitch_loop): Likewise.
7564 * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
7565
7566 * cfgrtl.c: Update comments.
7567 (try_redirect_by_replacing_jump): New argument.
7568 (redirect_branch_edge): Break out from ...
7569 (rtl_redirect_edge_and_branch): ... this one.
7570 (update_cfg_after_block_merging): Break out from ...
7571 (rtl_merge_blocks): ... this one.
7572 (cfg_layout_split_edge): New.
7573 (cfg_layout_merge_blocks): New.
7574 (cfg_layout_can_merge_blocks_p): New.
7575 (cfg_layout_redirect_edge_and_branch): Reorganize.
7576 (cfg_layout_rtl_cfg_hooks): Fill in.
7577 (cfg_layout_delete_block): Kill barriers.
7578 * cfganal.c (can_fallthru): Deal with exit blocks
7579 * cfglayout.c (cfg_layout_function_header): New function
7580 (record_effective_endpoints): Record function header.
7581 (fixup_reorder_chain): Fixup dead jumptables; place header
7582
7583 * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
7584 * bb-reorder.c (cfg_layout_initialize): Update call.
7585 * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
7586 edges in cfglayout mode.
7587 * cfglayout.c (cleanup_unconditional_jumps): Kill.
7588 (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
7589 * cfglayout.h (cfg_layout_initialize): Update prototype.
7590 * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
7591 * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
7592 * flow.c (propagate_block): Do not crash when basic block ends
7593 by first insn in the chain.
7594 * loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
7595 do loop discovery.
7596 * tracer.c (tracer): Update call of cfg_layout_initialize.
7597
dd220c49
KG
75982003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7599
7600 * Makefile.in: Use dependency variables in lieu of explicit
7601 files throughout.
7602
fa5b060f
SB
76032003-07-03 Steven Bosscher <steven@gcc.gnu.org>
7604
7605 * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
7606 * tree.h: ...to here.
7607
fae778eb
KH
76082003-07-03 Kazu Hirata <kazu@cs.umass.edu>
7609
7610 * config/s390/2064.md: Fix comment typos.
7611 * config/s390/2084.md: Likewise.
7612 * config/s390/s390.c: Likewise.
7613 * config/s390/s390.md: Likewise.
7614 * config/sh/sh.c: Likewise.
7615 * config/sh/sh.h: Likewise.
7616 * config/sh/sh.md: Likewise.
7617 * config/sparc/sparc.c: Likewise.
7618 * config/sparc/sparc.h: Likewise.
7619 * config/sparc/sparc.md: Likewise.
7620 * config/stormy16/stormy16.c: Likewise.
7621 * config/stormy16/stormy16.h: Likewise.
7622 * config/stormy16/stormy-abi: Fix a typo.
7623
58eabcb1
KC
76242003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
7625
7626 * Makefile.in (ifcvt.o): Depend on OPTABS_H.
7627
af261903
KG
76282003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7629
7630 * config/mips/mips.h (save_argv): Delete.
7631
a11c61d2
RS
76322003-07-03 Roger Sayle <roger@eyesopen.com>
7633
7634 PR target/10700
7635 * fold-const.c (extract_muldiv_1): There's nothing that can be done
7636 if the expression is a SAVE_EXPR.
7637
dab66575
KH
76382003-07-03 Kazu Hirata <kazu@cs.umass.edu>
7639
7640 * config/m32r/m32r.c: Fix comment typos.
7641 * config/m68hc11/m68hc11.c: Likewise.
7642 * config/m68hc11/m68hc11.h: Likewise.
7643 * config/m68k/m68k.c: Likewise.
7644 * config/mcore/mcore.c: Likewise.
7645 * config/mcore/mcore.h: Likewise.
7646 * config/mcore/mcore.md: Likewise.
7647 * config/mips/mips.c: Likewise.
7648 * config/mips/mips.h: Likewise.
7649 * config/mips/mips.md: Likewise.
7650 * config/mips/netbsd.h: Likewise.
7651 * config/mn10300/mn10300.c: Likewise.
7652
8837d828
AS
76532003-07-03 Andreas Schwab <schwab@suse.de>
7654
7655 * dbxout.c (pending_bincls): Move decl down inside
7656 DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
7657
dd107e66
NS
76582003-07-02 Nathan Sidwell <nathan@codesourcery.com>
7659
7660 * rtl.h (NOTE_DATA): Refer to whole union.
7661 * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
7662
8821d091
EB
76632003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7664
7665 PR optimization/11381
7666 * simplify-rtx.c (simplify_relational_operation): Check that
7667 two equal operands have no side-effects before simplifying
7668 the comparison.
7669
7960bf22
JL
76702003-07-02 Jeff Law <law@redhat.com>
7671
7672 * expr.c (do_store_flag): Remove special case folding for
7673 single bit tests. Instead call back into the commonized folder
7674 routine.
7675 * fold-const.c (fold_single_bit_test): New function, mostly
7676 extracted from do_store_flag, with an additional case extracted
7677 from fold.
7678 (fold): Call fold_single_bit_test appropriately.
7679 * tree.h (fold_single_bit_test): Prototype.
7680
3dce1408
ZW
76812003-07-02 Zack Weinberg <zack@codesourcery.com>
7682
7683 * system.h: Include filenames.h.
7684 (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
7685 (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
7686 define based on HAVE_DOS_BASED_FILE_SYSTEM.
7687 * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
7688 * config/i386/xm-mingw32.h: Don't define
7689 HAVE_DOS_BASED_FILE_SYSTEM,
7690 DIR_SEPARATOR, or DIR_SEPARATOR_2.
7691 * doc/hostconfig.texi: Update to match.
7692
7693 * cppfiles.c, gcc.c, gensupport.c, protoize.c,
7694 config/i386/cygwin.h:
7695 Use IS_ABSOLUTE_PATH throughout.
7696 * gcc.c (DIR_UP): Delete, unused.
7697 * protoize.c (IS_SAME_PATH): Define in terms of
7698 FILENAME_CMP.
7699 (is_abspath): Delete.
7700
c51e6d85
KH
77012003-07-02 Kazu Hirata <kazu@cs.umass.edu>
7702
7703 * config/i386/emmintrin.h: Fix comment typos.
7704 * config/i386/i386.c: Likewise.
7705 * config/i386/i386.h: Likewise.
7706 * config/i386/sco5.h: Likewise.
7707 * config/ia64/ia64.c: Likewise.
7708 * config/ia64/itanium2.md: Likewise.
7709
5ec3a5a7
L
77102003-07-02 H.J. Lu <hongjiu.lu@intel.com>
7711
7712 * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
7713 DBX_USE_BINCL.
7714 (emit_bincl_stab): Same.
7715 (emit_pending_bincls): Same.
7716
fad37371
KH
77172003-07-02 Kazu Hirata <kazu@cs.umass.edu>
7718
7719 * config/h8300/h8300.c (compute_mov_length): Fix the length of
7720 loading CONST0_RTX (SFmode).
7721 * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
7722 'G' to CONST0_RTX (SFmode).
7723 * config/h8300/h8300.md (movsf_h8300): Change the first
7724 constraint to 'G'.
7725 (movsf_h8300h): Likewise.
7726
b86f6cd9
NB
77272003-07-02 Neil Booth <neil@daikokuya.co.uk>
7728
7729 * c-common.h (c_common_init_options): New prototype.
7730 * c-opts.c (deferred_size): Remove.
7731 (defer_opt): Array is now pre-allocated.
7732 (c_common_init_options): Pre-allocate deferred_opts. Make
7733 lang_flags unsigned.
7734 (push_command_line_options): Free deferred_opts.
7735 * hooks.c (hook_uint_uint_constcharptrptr_0): New.
7736 * hooks.h (hook_uint_uint_constcharptrptr_0): New.
7737 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
7738 * langhooks.h (struct lang_hooks): New prototype for init_options.
7739 * main.c (main): Cast argv.
7740 * opts.c (handle_option, handle_options): Update prototypes.
7741 (decode_options): save_argc, save_argv are not global. Constify.
7742 * opts.h (decode_options): New prototype.
7743 * toplev.c (general_init): New protoype.
7744 (save_argv): Make static.
7745 (save_argc): Remove.
7746 (print_switch_values, general_init): Constify.
7747 (toplev_main): Save argv.
7748 * toplev.h (toplev_main): Update prototype.
7749 (save_argc, save_argv): Remove.
7750
f23b9d52
DE
77512003-07-02 David Edelsohn <edelsohn@gnu.org>
7752
7753 * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
7754 (emit_bincl_stab): Same.
7755 (emit_pending_bincls): Same.
7756
300e89a2
NS
77572003-07-02 Nathan Sidwell <nathan@codesourcery.com>
7758
7759 PR c++/11072
7760 * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
7761
eaac6968
AS
77622003-07-02 Andreas Schwab <schwab@suse.de>
7763
7764 * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
7765
1a8c4ca6
EB
77662003-07-02 Eric Botcazou <ebotcazou@libertysurf.fr>
7767
7768 PR optimization/11210
7769 * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
7770 about the behaviour with regard to bitfields.
7771 * fold-const (decode_field_reference): Record outermost type in
7772 case the expression is a NOP. Strip all NOPs. Set the signedness
7773 to that of the outermost type (if any) when the bitsize is equal
7774 to the size of the type.
7775
23cdfcf7
RS
77762003-07-02 Richard Sandiford <rsandifo@redhat.com>
7777
7778 * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
7779 (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
7780 (adddi3_internal_3, addsi3_internal_2): Likewise.
7781
6f2993e5
RS
77822003-07-02 Richard Sandiford <rsandifo@redhat.com>
7783
7784 * config/mips/mips.c (machine_function): Add new fields:
7785 ignore_hazard_length_p and all_noreorder_p.
7786 (mips_flag_delayed_branch): New variable.
7787 (override_options): Treat '/' as an operand punctuation character.
7788 Set up mips_flag_delayed_branch.
7789 (print_operand): Handle '/'.
7790 (mips_output_function_prologue): Put the whole function in
7791 .set noreorder and .set nomacro if all_noreorder_p is true.
7792 (mips_output_function_epilogue): End the noreorder/nomacro sequence.
7793 (mips16_optimize_gp): Remove "first insn" parameter.
7794 (mips16_lay_out_constants): New function, split out from mips_reorg.
7795 (mips_avoid_hazard, mips_avoid_hazards): New functions.
7796 (mips_reorg): For mips16 code, call mips16_lay_out_constant
7797 and (optionally) mips16_optimize. If TARGET_EXPLICIT_RELOCS,
7798 do delayed-branch scheduling followed by hazard detection.
7799 (mips_adjust_insn_length): Only account for hazards if
7800 !ignore_hazard_length_p.
7801 (mips_output_load_label): Add a nop to the o32 sequence if
7802 the target suffers from load delays.
7803 (mips_output_conditional_branch): Add %/ to the end of branches.
7804 (mips_output_division): Fill the branch delay slot with %#.
7805 * config/mips/mips.md: Remove redundant '%*' from mips16 branch
7806 instructions. End all other %* branches with %/.
7807 (ffssi2, ffsdi2): Fix lengths.
7808 (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
7809 (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
7810 (fix_truncsfsi2_macro): Likewise.
7811 (mov_lwl): Set hazard to "none".
7812 (ashldi3_internal): Fill the branch delay slot with %#.
7813 (ashrdi3_internal, lshrdi3_internal): Likewise.
7814 (exception_receiver): Explicitly set $28.
7815 (hazard_nop): New pattern.
7816
602a82f3 78172003-07-02 Jan Hubicka <jh@suse.cz>
0184bd46
JH
7818
7819 * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
7820 before calling tree_inlinable_function_p.
7821
1a78e5a7
RO
78222003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7823
7824 * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
7825 <internal/stdio_core.h> too.
7826 (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
7827 <internal/wchar_core.h> too.
7828 Substitute va_list uses in inline definition.
7829 * fixinc/fixincl.x: Regenerate.
7830
4c82f12b
RO
78312003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7832
7833 * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
7834 Undef before redefinition.
7835 (LABEL_AFTER_LOC): Likewise.
7836 (DEFAULT_SIGNED_CHAR): Likewise.
7837 (ASM_OUTPUT_ASCII): Moved here from iris4.h.
7838 Fix IRIX spelling.
3dce1408 7839
4c82f12b
RO
7840 * config/mips/iris3.h: Remove, unused.
7841 * config/mips/iris4.h: Likewise.
7842
7843 * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
7844
7845 * config/mips/iris5.h (TARGET_DEFAULT): Move ...
7846 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
7847 target_cpu_default.
7848
7849 * config/mips/iris5.h: Move explicit includes ...
7850 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
3dce1408 7851
4c82f12b
RO
7852 * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
7853 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
7854 tm_defines.
7855
7856 * config/mips/iris6.h (TARGET_DEFAULT): Move ...
7857 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
7858 target_cpu_default.
7859
7860 * config/mips/iris6.h: Fix IRIX spelling.
7861 (MULTILIB_DEFAULTS): Undef before redefinition.
3dce1408 7862
4c82f12b
RO
7863 * config/mips/iris6.h: Move explicit includes ...
7864 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
7865
602a82f3 78662003-07-02 Jan Hubicka <jh@suse.cz>
8bd87c4e
JH
7867
7868 * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
7869 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
7870 Use next_needed field instead of aux to maintain the queue.
7871 * cgraph.h (cgraph_node): Add next_needed.
7872 (cgraph_varpool_node): Add next_needed; remove aux.
7873 * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
7874
602a82f3 78752003-07-02 Jan Hubicka <jh@suse.cz>
f6981e16
JH
7876
7877 * cgraphunit.c (cgraph_finalize_function): Set finalized.
7878 (cgraph_finalize_function): Do not examine inlinablility.
7879 (cgraph_finalize_compilation_unit): Do it here.
7880 * cgraph.h (cgraph_local_info): Add finalized field.
7881
d1c60855
RO
78822003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7883
7884 * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
7885 (gt_pch_restore): Likewise.
7886
093354e0
KH
78872003-07-01 Kazu Hirata <kazu@cs.umass.edu>
7888
7889 * config/alpha/alpha.c: Fix comment typos.
7890 * config/alpha/elf.h: Likewise.
7891 * config/arm/arm.c: Likewise.
7892 * config/arm/arm.h: Likewise.
7893 * config/arm/arm.md: Likewise.
7894 * config/arm/t-arm-coff: Likewise.
7895 * config/arm/t-strongarm-pe: Likewise.
7896 * config/arm/xscale-elf.h: Likewise.
7897 * config/avr/avr.h: Likewise.
7898
ce47ca44
JL
78992003-07-01 Jeff Law <law@redhat.com>
7900
7901 * stmt.c (any_pending_cleanups): Remove another redundant test.
7902
43b68ce5
DE
79032003-07-01 David Edelsohn <edelsohn@gnu.org>
7904 J"orn Rennecke <joern.rennecke@superh.com>
7905
7906 * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
7907 for MEM case.
7908
33e9d2aa
DP
79092003-07-01 Devang Patel <dpatel@apple.com>
7910
7911 * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
7912 (binclstatus): New.
3dce1408 7913 (struct dbx_file): New members - bincl_status, pending_bincl_name and
33e9d2aa
DP
7914 prev.
7915 (pending_bincls): New.
7916 (dbxout_init): Initialize new dbx_file members.
7917 (dbxout_start_source_file): Same.
7918 (emit_bincl_stab): New function.
7919 (emit_pending_bincls): Same.
7920 (emit_pending_bincls_if_required): Same.
3dce1408 7921 (dbxout_end_source_file): Emit EINCL stab only if BINCL is already
33e9d2aa
DP
7922 processed.
7923 (dbxout_begin_block): Emit pending BINCL stabs.
7924 (dbxout_end_block): Same.
7925 (dbxout_function_decl): Same.
7926 (dbxout_continue): Same.
7927 (dbxout_type): Same.
7928 (dbxout_class_name_qualifiers): Same.
7929 (dbxout_symbol): Same.
7930 (dbxout_symbol_location): Same.
7931 (dbxout_parms): Same.
3dce1408 7932
0108ae51
KG
79332003-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7934
7935 * c-semantics.c (genrtl_case_label): Fix format specifier bug.
7936 * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
7937
54ced33d
AJ
79382003-07-01 Andreas Jaeger <aj@suse.de>
7939
7940 * fold-const.c: Convert prototypes to ISO C90.
7941 * function.c: Likewise.
7942 * function.h: Likewise.
7943
c0cbdbd9
KH
79442003-07-01 Kazu Hirata <kazu@cs.umass.edu>
7945
7946 * doc/contrib.texi: Fix typos.
7947 * doc/invoke.texi: Likewise.
7948 * doc/passes.texi: Likewise.
7949 * doc/sourcebuild.texi: Likewise.
7950 * doc/tm.texi: Likewise.
7951
e0bb17a8
KH
79522003-07-01 Kazu Hirata <kazu@cs.umass.edu>
7953
7954 * basic-block.h: Fix comment typos.
7955 * bb-reorder.c: Likewise.
7956 * c-format.c: Likewise.
7957 * cfgcleanup.c: Likewise.
7958 * cfghooks.h: Likewise.
7959 * cfgloop.c: Likewise.
7960 * cfgloopmanip.c: Likewise.
7961 * cfgrtl.c: Likewise.
7962 * cgraph.h: Likewise.
7963 * cgraphunit.c: Likewise.
7964 * combine.c: Likewise.
7965 * convert.c: Likewise.
7966 * dbxout.c: Likewise.
7967 * df.c: Likewise.
7968 * df.h: Likewise.
7969 * diagnostic.c: Likewise.
7970 * dwarf2out.c: Likewise.
7971 * et-forest.h: Likewise.
7972 * flow.c: Likewise.
7973 * fold-const.c: Likewise.
7974 * function.h: Likewise.
7975 * gcov-io.h: Likewise.
7976 * gcov.c: Likewise.
7977 * gcse.c: Likewise.
7978 * genautomata.c: Likewise.
7979 * ggc-common.c: Likewise.
7980 * ggc-page.c: Likewise.
7981 * loop-unroll.c: Likewise.
7982 * loop-unswitch.c: Likewise.
7983 * loop.c: Likewise.
7984 * mips-tfile.c: Likewise.
7985 * optabs.c: Likewise.
7986 * ra-build.c: Likewise.
7987 * ra-colorize.c: Likewise.
7988 * ra-rewrite.c: Likewise.
7989 * ra.h: Likewise.
7990 * regmove.c: Likewise.
7991 * reload.c: Likewise.
7992 * rtlanal.c: Likewise.
7993 * sched-ebb.c: Likewise.
7994 * sched-int.h: Likewise.
7995 * sched-vis.c: Likewise.
7996 * sreal.c: Likewise.
7997 * ssa-ccp.c: Likewise.
7998 * ssa.c: Likewise.
7999 * toplev.c: Likewise.
8000 * tree-inline.c: Likewise.
8001 * value-prof.c: Likewise.
8002 * value-prof.h: Likewise.
8003
5f2fc772
NS
80042003-07-01 Nathan Sidwell <nathan@codesourcery.com>
8005
8006 * rtl.h (emit_line_note_after): Remove.
8007 (emit_note_copy_after, emit_note_copy): New.
8008 * emit-rtl.c (reorder_insns_with_line_notes): Replace
8009 emit_line_note_after with emit_note_copy_after.
8010 (emit_insn_after_with_line_notes): Likewise.
8011 (emit_line_note_after): Kill.
8012 (emit_note_copy_after): New.
8013 (emit_note_copy): New.
8014 * function.c (emit_return_into_block): Use emit_note_copy_after.
8015 (thread_prologue_and_epilogue_insns): Likewise.
8016 * integrate.c (expand_inline_function): Use emit_note_copy.
8017 (copy_insn_list): Likewise.
8018 * unroll.c (copy_loop_body): Likewise.
8019 * cfglayout.c (duplicate_insn_chain): Likewise.
8020
5b030314
NS
80212003-07-01 Nathan Sidwell <nathan@codesourcery.com>
8022
8023 * c-tree.h (define_label): Replace filename and lineno arguments
8024 with a location_t.
8025 * c-decl.c (poplevel): Adjust define_label call.
8026 (pop_label_level): Likewise.
8027 (define_label): Replace filename and lineno arguments with a
8028 location_t.
8029 (store_parm_decls): Use DECL_SOURCE_LOCATION.
8030 * c-parse.in (label): Adjust define_label call.
8031
04df6730
NB
80322003-07-01 Neil Booth <neil@daikokuya.co.uk>
8033
8034 * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
8035 config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
8036 config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
8037 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
8038 config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
8039
6cf9ac28
AJ
80402003-07-01 Andreas Jaeger <aj@suse.de>
8041
8042 * final.c: Convert prototypes to ISO C90.
8043 * flow.c: Likewise.
8044 * flags.h: Likewise.
8045 * gcov-io.c: Likewise.
8046 * gcov-io.h: Likewise.
8047
2a868fac 8048See ChangeLog.9 for earlier changes.
This page took 1.118853 seconds and 5 git commands to generate.