OSDN Git Service

16cc8148574b2e6f8268a2018673d9fdee1c852d
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
2
3         * configure.frag: Delete file.
4         * configure.in: Rename the substitution variables
5         dep_host_xmake_file and dep_tmake_file to xmake_file and
6         tmake_file respectively.  Do not expand $srcdir in the
7         value of these; leave that for Make.  Introduce a new
8         substitution varaible, all_lang_makefrags, which lists
9         subdirectory Make-lang.in files; exclude these from
10         all_lang_makefiles, which is now only for subdirectory
11         outputs.  Do not invoke configure.frag.  Do not set nor
12         AC_SUBST_FILE target_overrides, host_overrides, or
13         language_fragments. Create build subdirectories in
14         config.status extra commands.
15         * configure: Regenerate.
16         * Makefile.in: Update substitutions to match changes to
17         configure.  Use include directives instead of @-insertions
18         to read in host, target, and language fragments.
19         (Makefile rule): Do not invoke configure.frag.  Do not copy
20         config.status to config.run before executing it.  Set
21         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
22         regenerated.
23         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
24
25 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
26
27         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
28         * c-typeck.c (same_translation_unit_p): New function.
29         (comptypes): Use it instead of flags parameter to identify
30         structure types from different translation units.
31         * c-decl.c (duplicate_decls): Always call comptypes with
32         COMPTYPE_STRICT flags argument.
33         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
34         to file_scope_decl.
35
36 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
37
38         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
39         * c-decl.c (struct c_scope): Remove "incomplete" field.
40         (pushdecl): Attach variables with incomplete types to
41         the TYPE_MAIN_VARIANT of the incomplete type in question.
42         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
43         to complete, not at current_scope->incomplete.  All such
44         variables do need completion.
45
46 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
47         Nicolas Pitre <nico@cam.org>
48
49         * arm/lib1funcs.asm (RETCOND): Delete.
50         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
51         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
52         (__ARM_ARCH__): Move here from ieee754-?f.S.
53         (RET, RETc): Clean up definitions.
54         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
55         (FUNC_END): New macro that marks the end of any function.
56         (ARM_FUNC_START): New macro that allows an assembler routine to be
57         implemented in ARM code even if a Thumb-only build.
58         Unconditionally include ieee754-?f.S.
59         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
60         Mark ends of functions.
61         Split into separate conditionally-compiled units.
62         Use RETLDM to return from routines.
63         * arm/ieee754-sf.S: Similarly.
64         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
65         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
66         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
67         _fixsfsi and _fixunssfsi.
68
69         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
70         multiplication underflows to zero.
71         (__adddf3): Fix bug when using VFP ordering on little-endian
72         processors.
73         (__fixdfsi): Use rrx to extract the carry into a register instead of
74         MRS instruction.  Optimize later use of result.
75         * arm/ieee754-sf.S (__fixsfsi): Likewise.
76         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
77
78 2003-08-29  Richard Henderson  <rth@redhat.com>
79
80         * tree-optimize.c: New file.
81         * Makefile.in (OBJS-archive): Add tree-optimize.o.
82         (tree-optimize.o): New.
83         * c-decl.c (store_parm_decls): Use allocate_struct_function.
84         (finish_function): Don't free_after_parsing or free_after_compilation.
85         (set_save_expr_context): Move to tree-optimize.c.
86         (c_expand_body_1): Use tree_rest_of_compilation.
87         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
88         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
89         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
90         iterate until closure.
91         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
92         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
93         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
94         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
95         * toplev.h (tree_rest_of_compilation): Declare it.
96
97 2003-08-29  Richard Henderson  <rth@redhat.com>
98
99         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
100         * integrate.c (save_for_inline): Set saved_for_inline.
101         * c-semantics.c (genrtl_scope_stmt): Check it.
102         * toplev.c (wrapup_global_declarations): Check it.
103         (rest_of_handle_inlining): Set and check rtl_inline_init.
104         (rest_of_compilation): Remove out of date comment.
105
106 2003-08-29  Richard Henderson  <rth@redhat.com>
107
108         * function.c (allocate_struct_function): New, split out of ...
109         (prepare_function_start, init_function_start): ... here.
110         * expr.c (init_expr): Use ggc_alloc_cleared.
111         * stmt.c (init_stmt_for_function): Likewise.
112         * tree.h (allocate_struct_function): Declare.
113
114 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
115
116         * config.gcc: Don't use negated character class in shell case
117         clause.
118
119 2003-08-29  Richard Henderson  <rth@redhat.com>
120
121         * function.h (struct function): Move function_frequency and
122         max_jumptable_ents before start of bit field members.
123
124 2003-08-29  Richard Henderson  <rth@redhat.com>
125
126         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
127         (fold_builtin_constant_p) ... not here.
128
129 2003-08-29  Richard Henderson  <rth@redhat.com>
130
131         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
132         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
133         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
134
135 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
136
137         * builtins.def: Fix typos.
138         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
139         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
140         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
141         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
142         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
143
144         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
145         Use ATTR_MATHFN_FPROUNDING_ERRNO.
146
147 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
148
149         * config.gcc (i386-*-vsta): Fix obvious bogosity.
150
151         * fixinc/inclhack.def:  Remove special cases for unsupported
152         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
153         * fixinc/fixincl.x: Regenerate.
154
155 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
156
157         * Makefile.in (cpp.info): Just state dependencies.
158         (gcc.info): Likewise.
159         (gccint.info): Likewise.
160         (gccinstall.info): Likewise.
161         (cppinternals.info): Likewise.
162         (cpp.dvi): Likewise.
163         (gcc.dvi): Likewise.
164         (gccint.dvi): Likewise.
165         (gccinstall.dvi): Likewise.
166         (cppinternals.dvi): Likewise.
167         (gcov.1): Likewise.
168         (cpp.1): Likewise.
169         (gcc.1): Likewise.
170         (gfdl.7): Likewise.
171         (gpl.7): Likewise.
172         (fsf-funding.7): Likewise.
173         ($(objdir)/%.info): New pattern rule.
174         (%.dvi): Likewise.
175
176 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
177
178         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
179         (restage2): Likewise.
180         (restage3): Likewise.
181         (restage4): Likewise.
182         (restageprofile): Likewise.
183         (restagefeedback): Likewise.
184         (bubblestrap): Likewise.
185
186 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
187
188         * config.gcc: Narrow unsupported target match to avoid clobbering
189         i?86-sequent-sysv4*.
190
191 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
192
193         * builtins.c (mathfn_built_in): Handle new math builtins.
194
195 2003-08-28  Per Bothner  <per@bothner.com>
196
197         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
198         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
199         (_cpp_lex_buffer):  Likewise.
200         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
201
202 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
203
204         * config/s390/s390.md ("*mulsi3_sign"): New insn.
205         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
206         ("mulsidi3"): ... this new insn.
207         ("umulsidi3"): New insn.
208         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
209         mixed-mode matching constraints.
210         ("udivmodsi4", "udivmoddisi3"): New insns.
211         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
212
213 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
214
215         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
216         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
217         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
218         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
219         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
220         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
221         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
222         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
223         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
224         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
225         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
226         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
227         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
228         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
229         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
230         * tree.c: Assign new type_nodes.
231         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
232         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
233         (float_ptr_type_node, double_ptr_type_node,
234         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
235
236         * doc/extend.texi: Document new builtins.
237
238 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
239
240         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
241         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
242
243         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
244         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
245         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
246         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
247         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
248         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
249         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
250         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
251         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
252         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
253
254         * doc/extend.texi: Document new builtins.
255
256 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
257
258         * fixinc/mkfixinc.sh: Remove special case code for unsupported
259         variants of i?86, powerpcle, and thumb.
260         * fixinc/mkfixinc.sh: Remove special case code for unsupported
261         arm and hppa variants.
262
263 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
264
265         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
266         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
267         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
268         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
269         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
270         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
271         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
272         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
273         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
274         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
275
276         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
277         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
278         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
279         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
280         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
281         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
282         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
283         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
284         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
285         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
286         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
287         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
288         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
289         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
290         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
291         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
292         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
293         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
294         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
295         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
296         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
297         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
298         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
299         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
300         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
301         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
302         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
303         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
304         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
305         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
306         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
307
308         * doc/extend.texi: Document new builtins.
309
310 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
311
312         * config/s390/s390.c (legitmate_constant_p): Use LARL on
313         zSeries machines even in 31-bit addressing mode.
314         (legitimate_reload_constant_p): Likewise.
315         (legitimize_pic_address): Likewise.
316         (legitimize_tls_address): Likewise.
317         (s390_split_branches): Likewise.
318         (s390_dump_pool): Likewise.
319         (s390_mainpool_finish): Likewise.
320         (s390_chunkify_start): Likewise.
321         (s390_select_rtx_section): Likewise.
322         * config/s390/s390.md ("doloop_si"): Likewise.
323         ("pool_start_31", "pool_end_31"): Likewise.
324         ("pool_start_64", "pool_end_64"): Likewise.
325         ("main_base_31_small", "main_base_31_large"): Likewise.
326         ("main_base_64"): Likewise.
327         ("reload_base_31", "reload_base_64"): Likewise.
328         ("*movsi_larl"): New insn.
329         ("cjump", "icjump"): Use long branches on zSeries machines.
330         ("jump"): Likewise.
331         ("call"): Use BRASL on zSeries machines.
332         ("call_value", "call_value_tls"): Likewise.
333         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
334         and replace by ...
335         ("*bras", "*brasl", "*basr") ... these new insns.
336         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
337         "bas_31_r"): Remove and replace by ...
338         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
339         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
340         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
341         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
342         ("*return_si", "*return_di"): Remove and replace by ...
343         ("*return"): ... this new insn.
344         ("rotlsi3"): Allow on zSeries machines.
345
346         * config/s390/s390.c (legitimize_reload_constant_p): Use
347         LL/LH type instructions in z/Architecture mode.
348         * config/s390/s390.md ("*movsi_lli"): Likewise.
349         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
350         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
351         ("*extendqisi2"): Use LB in z/Architecture mode.
352         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
353         z/Architecture mode.
354         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
355         Likewise.
356
357         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
358         and 31-bit mode.
359         ("ptr_extend"): Allow only in 64-bit mode.
360
361 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
362
363         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
364         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
365         definitions.
366         (main): Only use standard_startfile_prefix if native.
367         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
368
369 2003-08-27  Per Bothner  <pbothner@apple.com>
370
371         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
372         test fails following my 08-21 change, and it seems unnecessary anyway.
373         (cpp_error):  Likewise.
374
375 2003-08-27  Jason Merrill  <jason@redhat.com>
376
377         * real.c (do_multiply): Initialize with memset.
378
379 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
380
381         * gcov.c (typedef struct arc_info): New field cs_count.
382         (accumulate_line_counts): Find cycles correctly.
383
384 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
385
386         * config/s390/s390.c (struct machine_function): Remove member
387         literal_pool_label.
388         (s390_optimize_prolog): Replace TEMP_REG argument with
389         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
390         (general_s_operand): Accept all immediates before reload if
391         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
392         references.
393         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
394         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
395         (s390_alloc_pool): New function.
396         (s390_new_pool): Call it.
397         (s390_dump_pool): Add REMOTE_LABEL argument.
398         (s390_chunkify_start): Add BASE_REG argument.  Do not check
399         get_pool_size ().
400         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
401         s390_dump_pool call.
402         (s390_pool_count, s390_nr_constants): Remove.
403         (s390_output_constant_pool): Remove.
404         (s390_mainpool_start): New function.
405         (s390_mainpool_finish): New function.
406         (s390_mainpool_cancel): New function.
407         (s390_reorg): Implement main literal pool handling.
408         (s390_emit_prologue): Emit main_pool placeholder instead of
409         literal_pool_31 / literal_pool_64 insns.
410         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
411         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
412         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
413         ("main_base_31_small", "main_base_31_large"): New insns.
414         ("main_base_64",  "main_pool"): New insns.
415         ("literal_pool_31", "literal_pool_64"): Remove.
416
417 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
418
419         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
420         fixinc.ptx.
421         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
422         Prettify a little.
423         * fixinc/fixincl.x: Regenerate.
424
425 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
426
427         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
428         (L_ieee754_dp): New.  Include ieee754-df.S.
429         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
430         and compilation in apcs-26 mode.
431         * arm/ieee754-df.S: Likewise.
432         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
433         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
434
435 2003-08-27  Nicolas Pitre  <nico@cam.org>
436
437         * arm/ieee754-sf.S: New.
438         * arm/ieee754-df.S: New.
439
440 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
441
442         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
443         and restore it if returning NULL.
444
445 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
446
447         * calls.c (initialize_argument_information): If an argument has no
448         stack space associated with it, and BLOCK_REG_PADDING is defined,
449         use it to decide at which end the argument should be padded.
450         * function.c (assign_parms): Allocate BLKmode stack slots.
451         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
452         (mips_pad_reg_upward): Declare.
453         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
454         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
455         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
456         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
457         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
458         (mips_expand_call): Remove code for generating structure shifts.
459         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
460         types unless using the EABI.
461         (function_arg_advance): Don't generate shift instructions.
462         (function_arg): Don't return them.  Don't short-circuit the
463         check for double structure chunks for DFmode arguments.
464         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
465         (mips_expand_prologue): Remove code to emit structure shifts.
466         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
467         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
468         comments to say that only structure returns are a problem.
469
470 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
471
472         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
473         Fix to match produced versions.
474         * fixinc/inclhack.def (longlong_t): New disabled test, ported
475         from fixinc.svr4.
476         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
477         from fixinc.ptx.
478         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
479         ported from fixinc.ptx.
480
481 2003-08-26  Per Bothner  <pbothner@apple.com>
482
483         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
484         (cpp_error_with_line):  Use fileline for appropriate parameter.
485         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
486         (struct cpp_reader):  Likewise for fields line and directive_line.
487         (_cpp_begin_message):  Use fileline for appropriate parameter.
488         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
489         cpp_error):  Use fileline for appropriate parameters and variables.
490         (print_location):  New local lin, since it is not a fileline.
491
492 2003-08-26  Roger Sayle  <roger@eyesopen.com>
493
494         PR middle-end/12002
495         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
496         (FLOAT_TYPE_P): Define in terms of these two new macros.
497         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
498         for complex floating point types.
499
500 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
501
502         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
503         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
504         s390_output_pool_entry.
505
506 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
507
508         * fixinc/inclhack.def (svr4_preproc_lint_on,
509         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
510         fixes, ported from fixinc.svr4.
511
512 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
513
514         * doc/install.texi (Prerequisites): Mention GNU make requirement.
515
516         * Makefile.in (AR_FOR_TARGET): Export it.
517         (AR_CREATE_FOR_TARGET): Likewise.
518         (AR_FLAGS_FOR_TARGET): Likewise.
519         (AR_EXTRACT_FOR_TARGET): Likewise.
520         (AWK): Likewise.
521         (BUILD_PREFIX): Likewise.
522         (BUILD_PREFIX_1): Likewise.
523         (DESTDIR): Likewise.
524         (GCC_FOR_TARGET): Likewise.
525         (INCLUDES): Likewise.
526         (INSTALL_DATA): Likewise.
527         (LIB1ASMSRC): Likewise.
528         (LIBGCC2_CFLAGS): Likewise.
529         (MACHMODE_H): Likewise.
530         (NM_FOR_TARGET): Likewise.
531         (RANLIB_FOR_TARGET): Likewise.
532         (libsubdir): Likewise.
533         (slibdir): Likewise.
534         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
535         exporting.
536         (libgcc.a): Don't pass them here.
537         (stmp-multilib): Or here.
538         (install-libgcc): Or here.
539         (install-multilib): Or here.
540         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
541         (stage1_build): Or here.
542
543 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
544
545         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
546         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
547
548 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
549
550         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
551         "*fmaddsf", "*fmsubsf"): New insns.
552
553 2003-08-26  Roger Sayle  <roger@eyesopen.com>
554
555         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
556         (C1*C2)/X when unsafe math optimizations are allowed.
557         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
558         math optimizations.  Minor code clean-ups.  Recursively call
559         fold when constructing sub-expressions.
560
561 2003-08-26  Roger Sayle  <roger@eyesopen.com>
562
563         * builtins.c (fold_builtin_bitop): New function to perform constant
564         folding of ffs, clz, ctz, popcount and parity builtin functions
565         and their long and long long variants (such as ffsl and ffsll).
566         (fold_builtin): fold_builtin_bitop when appropriate.
567         * simplify-rtx.c (simplify_unary_operation): Honor both
568         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
569         evaluating clz and ctz at compile-time, for operands wider
570         than HOST_WIDE_INT.
571
572 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
573
574         * builtins.c (build_function_call_expr): Don't set
575         TREE_SIDE_EFFECTS here.
576         * expr.c (emit_block_move_via_libcall): Likewise.
577         (clear_storage_via_libcall): Likewise.
578         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
579         CALL_EXPRs.
580
581         * gcse.c (is_too_expensive): New function.
582         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
583
584 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
585
586         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
587         commented-out logic to use DCE threads (if present), add
588         support for POSIX threads.
589         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
590         #defines for -pthread.  Add -lpthread to LIB_SPEC when
591         -pthread.  In both cases take -mt as a synonym for -pthread
592         for acc compatibility.
593         Define GTHREAD_USE_WEAK to 0.
594         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
595         Remove old logic for DCE threads from LIB_SPEC.
596         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
597
598 2003-08-25  Roger Sayle  <roger@eyesopen.com>
599
600         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
601         return 0 for invalid argument types.  Instead drop through to a
602         call of expand_call at the bottom of function.  If op is SQRT,
603         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
604
605 2003-08-25  Richard Henderson  <rth@redhat.com>
606
607         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
608         result when op0 is SImode.
609
610 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
611
612         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
613         from fixinc.svr4.
614         * fixinc/fixincl.x: Regenerate.
615         * fixinc/tests/base/sys/signal.h: Regenerate.
616
617 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
618
619         * combine.c (simplify_comparison): Re-enable widening of comparisons
620         with non-paradoxical subregs of non-REG expressions.
621
622 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
623
624         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
625
626 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
627
628         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
629
630 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
631
632         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
633         * c-pretty-print.h (c_pretty_printer): Now typedef to the
634         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
635         (struct c_pretty_print_info): Document.  Add new fields.
636         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
637         (pp_direct_abstract_declarator): New macro.
638         (pp_ptr_operator): Likewise.
639         (pp_simple_type_specifier): Likewise.
640         (pp_expression): Likewise.
641         (pp_parameter_list): Rename from pp_parameter_declaration.
642         * c-pretty-print.c (pp_c_whitespace): Now a function.
643         (pp_c_left_paren): Likewise.
644         (pp_c_right_paren): Likewise.
645         (pp_c_dot): Likewise.
646         (pp_c_ampersand): Likewise.
647         (pp_c_arrow): Likewise.
648         (pp_c_semicolon): Likewise.
649         (pp_c_type_cast): New function.
650         (pp_c_space_for_pointer_operator): Likewise.
651         (pp_c_call_argument_list): Likewise.
652         (pp_c_cv_qualifier): Adjust prototype.
653         (pp_c_type_qualifier_list): Likewise.
654         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
655         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
656         Adjust to follow standard grammar.
657         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
658         REFERENCE_TYPE.  Tidy.
659         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
660         (pp_c_parameter_declaration): Remove.
661         (pp_c_abstract_declarator): Adjust prototype.
662         (pp_c_direct_abstract_declarator): Likewise.
663         (pp_c_type_id): Likewise.
664         (pp_c_storage_class_specifier): Likewise.
665         (pp_c_function_specifier): Likewise.
666         (pp_c_declaration_specifiers): Likewise.
667         (pp_c_direct_declarator): Likewise.
668         (pp_c_declarator): Likewise.
669         (pp_c_declarator): Likewise.
670         (pp_c_declaration): Likewise.
671         (pp_c_attributes): Likewise.  Tidy.
672         (pp_c_function_definition): Adjust prototype.
673         (pp_c_char): Likewise.
674         (pp_c_string_literal): Likewise.
675         (pp_c_integer_constant): Likewise.
676         (pp_c_character_constant): Likewise.
677         (pp_c_bool_constant): Likewise.
678         (pp_c_enumeration_constant): Likewise.
679         (pp_c_floating_constant): Likewise.
680         (pp_c_constant): Likewise.
681         (pp_c_identifier): Likewise.
682         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
683         (pp_c_initializer): Adjust prototype.
684         (pp_c_init_declarator): Likewise.
685         (pp_c_initializer_list): Likewise.
686         (pp_c_id_expression): Likewise.
687         (pp_c_postfix_expression): Likewise.
688         (pp_c_expression_list): Likewise.
689         (pp_c_unary_expression): Likewise.
690         (pp_c_cast_expression): Likewise.
691         (pp_c_multiplicative_expression): Likewise.
692         (pp_c_additive_expression): Likewise.
693         (pp_c_shift_expression): Likewise.
694         (pp_c_relational_expression): Likewise.
695         (pp_c_equality_expression): Likewise.
696         (pp_c_and_expression): Likewise.
697         (pp_c_exclusive_or_expression): Likewise.
698         (pp_c_inclusive_or_expression): Likewise.
699         (pp_c_logical_and_expression): Likewise.
700         (pp_c_logical_or_expression): Likewise.
701         (pp_c_conditional_expression): Likewise.
702         (pp_c_assignment_expression): Likewise.
703         (pp_c_expression): Likewise.  Tidy.
704         (pp_c_statement): Likewise.  Document.
705         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
706
707         * c-lang.c (c_initialize_diagnostics): Update.
708         * c-common.h (strip_pointer_operator): Declare.
709         * c-common.c (strip_pointer_operator): Define.
710
711 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
712
713         PR c++/8795
714         * tree.h (build_method_type_directly): Declare.
715         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
716         (vector_size_helper): Likewise.
717         * tree.c (build_method_type_directly): New function.
718         (build_method_type): Use it.
719
720 2003-08-24  Richard Henderson  <rth@redhat.com>
721
722         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
723         for 16-byte vector modes if sse not enabled; warn for abi change.
724         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
725
726 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
727
728         * rtlanal.c (may_trap_p): Simplify an integer comparison.
729
730 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
731
732         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
733         comment.  Enable for DYNIX/ptx systems (when they switch to
734         regular fixincludes).
735         * fixinc/fixincl.x: Regenerate.
736
737 2003-08-23  Jason Eckhardt  <jle@rice.edu>
738
739         * config/i860/t-i860: New.
740         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
741
742 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
743
744         * c-decl.c (pushdecl): Only put decls which finish_struct will do
745         something about onto incomplete chain.
746         (finish_struct): If not removing type from incomplete
747         list, update prev.
748
749 Wed Aug 20 12:08:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
750
751         PR target/11369
752         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
753
754         PR target/11031
755         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
756         const_0_to_15_operand, const_0_to_255_operand): New predicates.
757         * i386.h (PREDICATE_CODES): Add these.
758         * i386.c (pinsrw and pextrw patterns): Use them.
759
760         PR target/10984
761         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
762
763         PR target/8869
764         * expr.c (convert_modes): Deal properly with integer to vector
765         constant conversion.
766
767         PR target/8871
768         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
769
770 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
771
772         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
773         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
774         ("*movhi"): ... this.
775         ("movqi", "*movqi"): Likewise.
776         ("movqi_64"): Remove.
777         ("*zero_extendhisi2_31"): Change predicate to s_operand.
778
779 2003-08-23  Dale Johannesen  <dalej@apple.com>
780         * calls.c (emit_library_call_value_1): Fix obvious errors in
781         arguments to emit_group_store.
782
783 2003-08-23  Jason Eckhardt  <jle@rice.edu>
784
785         * calls.c (emit_library_call_value_1): Remove code related
786         to LIBGCC_NEEDS_DOUBLE.
787         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
788         * doc/tm.texi: Likewise.
789         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
790
791 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
792
793         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
794
795 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
796
797         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
798         as well.  Put memory references in the varargs alias set.
799         (mips_expand_prologue): Remove varargs handling from here.
800
801 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
802
803         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
804         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
805         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
806         for function pointer calls.
807         * config/s390/s390.md ("*negdi2_31"): Likewise.
808
809 2003-08-23  Roger Sayle  <roger@eyesopen.com>
810
811         * combine.c (apply_distributive_law): Correct comment.
812
813 2003-08-23  Jason Eckhardt  <jle@rice.edu>
814
815         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
816
817 2003-08-22  Jason Eckhardt  <jle@rice.edu>
818
819         * config/i860/i860.c (i860_build_va_list): Create the va_decl
820         declaration.  Document the va_list structure.
821         (i860_va_start): Initialize the va_list structure.
822         (i860_va_arg): Rewrite completely.
823         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
824         * config/i860/varargs.asm: Do not allocate or initialize
825         a va_list.  Return the address of the register save area.
826
827 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
828
829         * config/iq2000/iq2000.c: Fix comment typos.
830         * config/iq2000/iq2000.md: Likewise.
831
832 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
833
834         * config/iq2000/iq2000.c: Follow spelling conventions.
835         * config/iq2000/iq2000.h: Likewise.
836         * config/mn10300/mn10300.c: Likewise.
837
838 2003-08-22  Jason Eckhardt  <jle@rice.edu>
839
840         * config/i860/i860.c (output_move_double): Don't set latehalf
841         to zero for CONST_INT (since it could be, e.g., -1).
842
843         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
844         (MODSI3_LIBCALL): ...with this one.
845         (UREMSI3_LIBCALL): Replace this macro...
846         (UMODSI3_LIBCALL): ...with this one.
847
848 2003-08-22  Jason Eckhardt  <jle@rice.edu>
849
850         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
851         (output_delayed_branch): Remove prototype.
852         (single_insn_src_p): Remove prototype.
853         * config/i860/i860.c (single_insn_src_p): Remove function.
854         (output_delayed_branch): Remove function.
855         (output_delay_insn): Remove function.
856         (va_start): Remove unconditional test and dead code, re-format.
857         Fix coding style and spelling problems in various comments.
858         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
859         (blockage pattern): ...and use it here.
860         (all define_peephole patterns related to delayed branches): Remove.
861         Fix coding style and spelling problems in various comments.
862
863 2003-08-22  Jason Eckhardt  <jle@rice.edu>
864
865         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
866         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
867         Convert all function definitions from traditional to ISO C90 syntax.
868         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
869         with 'GCC'.  Remove all uses of the PARAMS macro.
870         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
871         * config/i860/i860.md: Likewise.
872         * config/i860/sysv4.h: Likewise.
873         * config/i860/varargs.asm: Likewise.
874
875 2003-08-22  Jason Eckhardt  <jle@rice.edu>
876
877         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
878         argument.
879         (tdesc_section): Add prototype.
880         Update copyright dates.
881         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
882         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
883         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
884         (targetm): Likewise.
885         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
886         for '%d' where necessary.
887         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
888         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
889         by UNITS_PER_WORD when referencing (likewise for .floats).
890         (I860_SVR4_VARARGS): Rename...
891         (I860_SVR4_VA_LIST): ...to this.
892         Call build() with 't' rather than 'field'.
893         (i860_rtx_costs): New function.
894         (TARGET_RTX_COSTS): Define.
895         (i860_internal_label): New function.
896         (TARGET_ASM_INTERNAL_LABEL): Define.
897         (i860_file_start): New function.
898         Update copyright dates.
899         * config/i860/i860.h (CPP_PREDEFINES): Remove.
900         (TARGET_CPU_CPP_BUILTINS): Define.
901         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
902         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
903         (ASM_FILE_START): Remove.
904         (ASM_FILE_START_1): Remove.
905         (ASM_GLOBALIZE_LABEL): Remove.
906         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
907         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
908         with targetm.asm_out.internal_label.
909         Update copyright dates.
910         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
911         (CPP_PREDEFINES): Remove.
912         (TARGET_OS_CPP_BUILTINS): Define.
913         (GLOBAL_ASM_OP): Define.
914         (ASM_FILE_START): Remove.
915         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
916         (TARGET_ASM_FILE_START): Define.
917         Update copyright dates.
918
919 2003-08-22  Jason Eckhardt  <jle@rice.edu>
920
921         * gcc/config.gcc (i860-*-sysv4*): Add target.
922         * config/i860/i860-protos.h: New.
923         * config/i860/i860.c: New.
924         * config/i860/i860.h: New.
925         * config/i860/i860.md: New.
926         * config/i860/sysv4.h: New.
927         * config/i860/varargs.asm: New.
928         * config/i860/x-sysv4: New.
929
930 2003-08-22  Jason Eckhardt  <jle@rice.edu>
931
932         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
933         Remove all uses of PARAMS macro.
934         Convert all function definitions to ISO C90 syntax.
935         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
936         * config/pa/fptr.c: Likewise.
937         * config/pa/lib2funcs.asm: Likewise.
938         * config/pa/long_double.h: Likewise.
939         * config/pa/milli64.S: Likewise.
940         * config/pa/pa-64.h: Likewise.
941         * config/pa/pa-hpux.h: Likewise.
942         * config/pa/pa-hpux10.h: Likewise.
943         * config/pa/pa-hpux11.h: Likewise.
944         * config/pa/pa-linux.h: Likewise.
945         * config/pa/pa-modes.def: Likewise.
946         * config/pa/pa-osf.h: Likewise.
947         * config/pa/pa-pro-end.h: Likewise.
948         * config/pa/pa.md: Likewise.
949         * config/pa/pa32-linux.h: Likewise.
950         * config/pa/pa64-linux.h: Likewise.
951         * config/pa/pa64-hpux.h: Likewise.
952         * config/pa/pa64-regs.h: Likewise.
953         * config/pa/quadlib.c: Likewise.
954         * config/pa/rtems.h: Likewise.
955         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
956         all uses of the PARAMS macro.
957         * config/pa/pa.h: Likewise.
958         * config/pa/som.h: Likewise.
959
960         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
961         Remove all uses of PARAMS macro.
962         Convert all function definitions to ISO C90 syntax.
963         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
964         Remove all uses of PARAMS macro.
965         * config/iq2000.h: Remove all uses of PARAMS macro.
966         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
967
968 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
969
970         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
971         * config/s390/s390.c (gen_consttable): Remove.
972         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
973         (s390_output_pool_entry): New function.
974         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
975         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
976         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
977         (UNSPECV_POOL_ENTRY): ... this new constant.
978         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
979         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
980         ("*pool_entry"): ... and replace by this new insn.
981         ("literal_pool_31"): Do not emit anchor label if pool empty.
982
983         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
984         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
985         (s390_fixup_clobbered_return_reg): Remove.
986         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
987         (s390_return_addr_rtx): Always retrieve return address from save area
988         slot.  Use save_return_addr_p to force slot to be filled.
989         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
990
991 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
992
993         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
994         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
995         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
996         around SB-1 errata if TARGET_FIX_SB1 is set.
997         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
998         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
999
1000 2003-08-22  Roger Sayle  <roger@eyesopen.com>
1001
1002         * hashtable.c (ht_expand): Avoid calculating rehash for the common
1003         case that the first probe hits an empty hash table slot.
1004
1005 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
1006
1007         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
1008
1009 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
1010
1011         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
1012         (ptr_extend_plus_imm): ... this.
1013         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
1014         optimization in C++.
1015         (ia64_output_mi_thunk): Support ILP32 mode.
1016
1017 2003-08-22  bernardo innocenti  <bernie@develer.com>
1018
1019         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
1020         function.
1021         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
1022
1023 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1024
1025         * config/i386/i386.c (const_int_1_operand): Simplify an
1026         integer comparison.
1027
1028 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
1029
1030         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
1031         * config/rs6000/ppc64-fp.c: Likewise.
1032
1033 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1034
1035         * cfgcleanup.c: Fix comment typos.
1036         * emit-rtl.c: Likewise.
1037         * optabs.c: Likewise.
1038         * ra-build.c: Likewise.
1039         * rtlanal.c: Likewise.
1040         * tree.h: Likewise.
1041
1042 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1043
1044         * c-decl.c: Fix comment formatting.
1045         * cfgrtl.c: Likewise.
1046         * combine.c: Likewise.
1047         * convert.c: Likewise.
1048         * dominance.c: Likewise.
1049         * dwarf2out.c: Likewise.
1050         * dwarfout.c: Likewise.
1051         * expmed.c: Likewise.
1052         * fold-const.c: Likewise.
1053         * gcov.c: Likewise.
1054         * genattrtab.c: Likewise.
1055         * ggc-common.c: Likewise.
1056         * mips-tfile.c: Likewise.
1057         * regmove.c: Likewise.
1058
1059 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
1060
1061         * builtin-attrs.def: Fix comment formatting.
1062         * c-pretty-print.c: Likewise.
1063         * diagnostic.h: Likewise.
1064         * langhooks.h: Likewise.
1065         * recog.c: Likewise.
1066         * simplify-rtx.c: Likewise.
1067         * tree.def: Likewise.
1068
1069 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
1070
1071         * config/m68k/m68k-protos.h: Convert to ISO C90.
1072         * config/m68k/m68k.c: Likewise.
1073
1074 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
1075             Paul Dale  <pauli@snapgear.com>
1076             Peter Barada <peter@baradas.org>
1077
1078         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
1079         ColdFire cores.
1080
1081 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
1082
1083         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
1084         * config.gcc (*-*-openbsd): Don't set tm_file.
1085         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
1086         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
1087         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
1088         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
1089         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
1090         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
1091         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
1092         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
1093         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
1094         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
1095         xscale-*-coff): Use explicit and complete lists of target headers
1096         to include.  Move definitions to tm_defines where appropriate.
1097         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
1098         not-yet-contributed configuration.
1099
1100         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
1101         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
1102         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
1103         * config/i386/nto.h, config/iq2000/iq2000.h,
1104         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
1105         * config/m68k/linux.h, config/m68k/m68k-aout.h
1106         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
1107         * config/m68k/netbsd.h, config/m68k/openbsd.h
1108         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
1109         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
1110         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
1111         Remove includes of other target config headers, and
1112         definitions of macros moved to tm_defines lists.  Add #undefs
1113         where now necessary to prevent redefinition warnings.
1114
1115         * config/h8300/coff.h: New file split out of...
1116         * config/h8300/elf.h: ...here.
1117         * config/m68k/hp320base.h: New file split out of...
1118         * config/m68k/hp320.h: ...here.
1119         * config/rs6000/lynxbase.h: New file split out of...
1120         * config/rs6000/lynx.h: ...here.
1121
1122         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
1123         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
1124
1125         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
1126         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
1127         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
1128         Remove unnecessary #ifndef.
1129         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
1130         [under IN_LIBGCC2] with config/.
1131
1132 2003-08-21  Per Bothner  <pbothner@apple.com>
1133
1134         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
1135         to cpp_push_buffer.
1136         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
1137         by return_at_eof check.  Always call _cpp_pop_buffer at end.
1138
1139 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
1140
1141         PR target/11805
1142         * config/h8300/h8300.md (two anonymous patterns): Remove.
1143
1144 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
1145
1146         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
1147         * config/mips/mips.c (function_arg_pass_by_reference): Never return
1148         true for n32 & n64.
1149
1150 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
1151
1152         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
1153         and similarly in (A | C) == D where C & ~D != 0.
1154
1155 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
1156
1157         PR 8180
1158         * configure.in: When testing with_libs and with_headers, treat
1159         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
1160         * configure: Regenerate.
1161
1162 2003-08-20  Peter Barada <peter@baradas.org>
1163
1164         * longlong.h (umul_ppmm): Add ColdFire support.
1165
1166 2003-08-20  Peter Barada <peter@baradas.org>
1167             Bernardo Innocenti  <bernie@develer.com>
1168
1169         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
1170         * config/m68k/m68k.h: Likewise.
1171         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
1172         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
1173         * config/m68k/linux.h: Likewise.
1174         * config/m68k/m68k.c: Likewise.
1175         * config/m68k/m68k.md: Likewise.
1176         * config/m68k/m68kelf.h: Likewise.
1177         * config/m68k/netbsd-elf.h: Likewise.
1178         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
1179
1180 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
1181
1182         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
1183         * config/m68k/m68k.md: Likewise.
1184
1185 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
1186
1187         PR java/11996
1188         Revert this change:
1189         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
1190         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
1191         types with precisions other than those given by native machine
1192         modes.
1193
1194 2003-08-20  Gunther Nikl  <gni@gecko.de>
1195
1196         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
1197         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
1198         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
1199         * config/m68k/m68k.md (anonymous define_insn): Likewise
1200         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
1201         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
1202         code selected by NO_ASM_FMOVECR
1203
1204 2003-08-20  Gunther Nikl  <gni@gecko.de>
1205
1206         * config/m68k/m68k.c (output_move_const_into_data_reg,
1207         output_move_himode): unify MOTOROLA/MIT handling of moveq
1208         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
1209         Likewise
1210
1211 2003-08-20  Gunther Nikl  <gni@gecko.de>
1212
1213         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
1214         label name
1215         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
1216         HOST_WIDE_INT_PRINT_DEC with %wd
1217
1218 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
1219
1220         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
1221         redefine warning.
1222
1223 2003-08-20  Roger Sayle  <roger@eyesopen.com>
1224
1225         PR middle-end/11984
1226         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
1227         operands before calling tree_int_cst_lt when performing associative
1228         transformations.
1229
1230 2003-08-20  Jason Merrill  <jason@redhat.com>
1231
1232         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
1233         (EXPR_CHECK): Don't check for 'r' or 's' if we're
1234         checking IS_EXPR_CODE_CLASS.
1235         * calls.c (calls_function_1): Likewise.
1236         * fold-const.c (fold): Likewise.
1237         * tree.c (iterative_hash_expr): Likewise.
1238         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
1239
1240 2003-08-20  Gunther Nikl  <gni@gecko.de>
1241
1242         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
1243         depending on MOTOROLA_BSR
1244         * config/m68k/m68k.md (anonymous define_insn): Likewise
1245
1246 2003-08-20  Jason Merrill  <jason@redhat.com>
1247
1248         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
1249         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
1250         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
1251         * dojump.c (do_jump): Likewise.
1252         * fold-const.c (operand_equal_p, fold): Likewise.
1253         (tree_expr_nonnegative_p): Likewise.
1254
1255         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
1256         TYPE_USER_ALIGN for FIELD_DECLs.
1257
1258         * attribs.c (decl_attributes): Rebuild the function pointer type after
1259         changing the target type.
1260         * tree.c (get_qualified_type): Also check that the attributes match.
1261
1262 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
1263
1264         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
1265         * objc/config-lang.in (stagestuff): ... to here.
1266
1267 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
1268
1269         PR c++/11946
1270         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
1271         NOP_EXPR) when necessary.
1272         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
1273         types with precisions other than those given by native machine
1274         modes.
1275
1276 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
1277
1278         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
1279         because some macro is defined.
1280
1281         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
1282         options.
1283         * config/i386/darwin.h (ASM_SPEC): New.
1284         (SUBTARGET_EXTRA_SPECS): New.
1285         * config/rs6000/darwin.h (ASM_SPEC): New.
1286         (SUBTARGET_EXTRA_SPECS): New.
1287         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
1288         a cross-compiler between two different processors on Darwin.
1289         * configure: Regenerate.
1290
1291 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
1292
1293         * builtins.c: Fix comment typos.
1294         * c-common.c: Likewise.
1295         * c-decl.c: Likewise.
1296         * c-pretty-print.c: Likewise.
1297         * cfgbuild.c: Likewise.
1298         * cfglayout.c: Likewise.
1299         * cfgloopanal.c: Likewise.
1300         * cgraphunit.c: Likewise.
1301         * cppfiles.c: Likewise.
1302         * dwarfout.c: Likewise.
1303         * expr.c: Likewise.
1304         * fold-const.c: Likewise.
1305         * gcse.c: Likewise.
1306         * ggc-page.c: Likewise.
1307         * haifa-sched.c: Likewise.
1308         * pretty-print.c: Likewise.
1309         * tree.c: Likewise.
1310         * tree.h: Likewise.
1311         * value-prof.c: Likewise.
1312
1313 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
1314
1315         * c-decl.c: Follow spelling conventions.
1316         * cppfiles.c: Likewise.
1317
1318 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
1319
1320         * c-common.c: Fix comment formatting.
1321         * c-common.h: Likewise.
1322         * c-decl.c: Likewise.
1323         * cppinit.c: Likewise.
1324         * cpplib.h: Likewise.
1325         * emit-rtl.c: Likewise.
1326         * input.h: Likewise.
1327         * line-map.h: Likewise.
1328         * opts.c: Likewise.
1329         * opts.h: Likewise.
1330         * simplify-rtx.c: Likewise.
1331
1332 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
1333
1334         * unwind-c.c: Add libgcc-style exception.
1335         * unwind-dw2.c: Likewise.
1336         * unwind-pe.h: Likewise.
1337         * unwind-sjlj.c: Likewise.
1338         * unwind.inc: Likewise.
1339
1340 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
1341
1342         PR c/5582 PR c++/10538
1343         * langhooks-def.h (lhd_decl_uninit): Declare.
1344         (LANG_HOOKS_DECL_UNINIT): New macro.
1345         (LANG_HOOKS_INITIALIZER): Adjust.
1346         * langhooks.h (struct lang_hooks): Add new field
1347         decl_uninit.
1348         * langhooks.c (lhd_decl_uninit): Define.
1349         * c-common.c (c_decl_uninit_1): New function.
1350         (c_decl_uninit): New function.
1351         (warn_init_self): Define.
1352         * c-common.h (c_decl_uninit): Declare.
1353         (warn_init_self): Declare.
1354         * c.opt: Introduce -Winit-self.
1355         * c-opts.c (c_common_handle_options): Set warn_init_self.
1356         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
1357         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
1358         * function.c (uninitialized_vars_warning): Call the language hook.
1359         * doc/invoke.texi: Document -Winit-self.
1360
1361 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
1362
1363         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
1364         to use better predicates and constraints.  Define new
1365         instruction to handle "trap_if" with DI-mode arguments.
1366         (conditional_trap): FAIL if trap code is not 0.
1367
1368 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
1369
1370         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
1371         strstr with $pb to a strcompare with "<pic base>"
1372         (ix86_output_addr_diff_elt): Output the real pic base.
1373
1374 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1375
1376         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
1377         (LANG_HOOKS_INITIALIZER): Correct.
1378         * c-lang.c: Likewise.
1379
1380 2003-08-19  Jan Hubicka  <jh@suse.cz>
1381
1382         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
1383         (cgraph_varpool_mark_needed_node): Likewise.
1384         * cgraph.h (notice_global_symbol): Declare
1385         * varasm.c (notice_global_symbol): Break out from ...
1386         (assemble_start_function): ... here; update for variables.
1387         (assemble_variable): Use notice_global_symbol.
1388
1389 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
1390
1391         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
1392         expect SFmode and DFmode arguments to be passed in FPRs,
1393         regardless of the underlying type.
1394
1395 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
1396
1397         PR target/11924
1398         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
1399         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
1400
1401 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
1402
1403         PR c/11207
1404         * c-typeck.c (set_init_index): Check for negative index.
1405
1406 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
1407
1408         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
1409         call0 ABI.
1410         * config/xtensa/crtn.asm (_init, _fini): Likewise.
1411         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
1412         __umodsi3, __modsi3): Likewise.
1413         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
1414         $(INCLUDES).
1415
1416 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
1417
1418         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
1419
1420 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
1421
1422         * config/mips/mips.md: Quote C code in braces.  Remove use of
1423         fake const0_rtx operands.  Remove double backslashes.  Use \;.
1424         Remove workarounds for bogus warnings.
1425
1426 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
1427
1428         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
1429         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
1430         rather than TARGET_MIPS4300.
1431         (mulsf3_internal, mulsf3_r4300): Likewise.
1432
1433 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
1434
1435         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
1436
1437 2003-08-17  Roger Sayle  <roger@eyesopen.com>
1438
1439         * simplify-rtx.c (associative_constant_p): New function to test
1440         whether an RTX expression is an immediate constant.
1441         (simplify_associative_operation): New function to perform some
1442         reassociation optimizations of associative binary expressions.
1443         (simplify_binary_operation): Use simplify_associative_operation
1444         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
1445         Floating point expressions are only reassociated when unsafe
1446         math optimizations are permitted.
1447
1448 2003-08-17  Andreas Jaeger  <aj@suse.de>
1449
1450         * config/alpha/alpha.md: Remove usage of PARAMS.
1451
1452         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
1453         * config/i386/i386-interix.h: Likewise.
1454         * config/i386/winnt.c: Likewise.
1455         * config/i386/cygming.h: Likewise.
1456         * config/i386/cygwin2.c: Likewise.
1457         * config/darwin.c: Likewise.
1458         * config/darwin-c.c: Likewise.
1459         * config/darwin-protos.h: Likewise.
1460         * config/darwin.h: Likewise.
1461         * config/s390/s390-protos.h: Likewise.
1462         * config/s390/s390.c: Likewise.
1463         * config/ia64/ia64.c: Likewse
1464         * config/ia64/ia64-protos.h: Likewise.
1465         * config/ia64/ia64-c.c: Likewise.
1466
1467 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1468
1469         * config/sparc/sparc.c: Convert to ISO C.
1470
1471         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
1472         * config/sparc/sparc.c: Likewise.
1473
1474 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
1475
1476         PR c++/11512
1477         * stmt.c (expand_expr_stmt_value): Don't warn about any void
1478         typed expression.
1479
1480 2003-08-16  Jan Hubicka  <jh@suse.cz>
1481
1482         * i386.c (ix86_fntype_regparm): Rename from ...
1483         (ix86_function_regparm): ... this one; add fastcall and local
1484         functions.
1485         (ix86_function_ok_for_sibcall): Update.
1486         (ix86_return_pops_args): Likewise.
1487         (init_cumulative_args): Likewise.
1488         (x86_can_output_mi_thunk): Likewise.
1489         (function_arg): Fix formating.
1490         (x86_this_parameter): Fix fastcall.
1491         (x86_output_mi_thunk): Likewise.
1492
1493         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
1494         body as reachable; mark nested functions as needed too.
1495         (dump_cgraph): Do not output global.calls.
1496         * cgraph.h (cgraph_global_info): Kill.
1497         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
1498         (record_call_1): Speedup.
1499         (cgraph_analyze_function): Break out from ...; compute inlining
1500         parameters.
1501         (cgraph_finalize_compilation_unit): ... here.
1502         (cgraph_mark_inline): Kill computation of calls.
1503         (cgraph_decide_inlining): Do not compute most of initial values.
1504
1505 2003-08-14  Roger Sayle  <roger@eyesopen.com>
1506
1507         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
1508         to negate if either operand is easy to negate, if we don't care
1509         about sign-dependent rounding.
1510         (negate_expr): Make the logic to negate a REAL_CST explicit.
1511         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
1512         that's easy to negate, if we don't honor sign-dependent rounding.
1513         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
1514         negate, and the symmetric A * -B as -A * B if A is easy to negate.
1515         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
1516         -C/D if B and C are cheap to negate.  Add an explicit rule to
1517         optimize X/-1.0 as -X when we don't care about signaling NaNs.
1518
1519 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
1520
1521         * Makefile.in (tm_file): Rename tm_include_list.
1522         (tm_p_file): Rename tm_p_include_list.
1523         (build_xm_file): Rename build_xm_include_list.
1524         (host_xm_file): Rename host_xm_include_list.
1525         (xm_file): Rename xm_include_list.
1526         (xm_file_list): Add to be substituted.
1527         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
1528         Update to match.
1529         (bt-load.o): Add missing dependency on $(TM_H).
1530         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
1531         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
1532         build_xm_file, generate both *_file_list and *_include_list
1533         values from it.  (xm_file_list was formerly not being generated.)
1534         In *_include_list, prefix the names of all headers found in
1535         $(srcdir)/config with config/.  In each loop, consider only
1536         the special case files that can actually appear in that list.
1537         AC_SUBST all *_file_list and all *_include_list variables; do
1538         not AC_SUBST the plain *_file variables.
1539         * configure: Regenerate.
1540
1541 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1542
1543         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
1544
1545 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1546
1547         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
1548         direct calls.
1549         (attr_length_call): Include it here.  Improve length estimate for
1550         local calls.
1551         (output_call): Use targetm.binds_local_p.
1552
1553 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1554
1555         * builtins.c (CASE_MATHFN): New helper macro.
1556         (mathfn_built_in): Simplify and sort.
1557
1558         * protoize.c (substr): Delete, callers changed to `strstr'.
1559
1560 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
1561
1562         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
1563         * config/iq2000/xm-iq2000.h: Delete file.
1564
1565 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
1566
1567         * gengtype.c (walk_type): Process a subobject before processing
1568         the pointer that points to the subobject.
1569
1570 2003-08-13  Per Bothner  <pbothner@apple.com>
1571
1572         * regclass.c (init_reg_modes):  Make non-static.
1573         Rename to init_reg_modes_once per new naming convention.
1574         (init_regs):  Don't call init_reg_modes here.
1575         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
1576         * rtl.h (init_reg_modes_once):  New declaration.
1577         * toplev.c (backend_init):  Call init_regs after init_emit_once.
1578
1579 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
1580
1581         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
1582         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
1583
1584 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
1585
1586         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
1587         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
1588
1589 2003-08-13  Dale Johannesen  <dalej@apple.com>
1590
1591         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
1592         handling of decrement-and-branch farther than 32 bits.
1593
1594 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
1595
1596         * configure.in (make_compare_target): Move test to ...
1597         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
1598         * configure: Regenerate.
1599
1600 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
1601
1602         * config/mips/iris6.h: Convert to C90 prototypes.
1603         * config/mips/irix6-libc-compat.c: Likewise.
1604         * config/mips/mips-protos.h: Likewise.
1605         * config/mips/mips.c: Likewise.
1606
1607 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
1608
1609         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
1610         for selected machines.  Comment heavily.
1611         fixinc/fixincl.x: Rebuild.
1612         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
1613
1614 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
1615
1616         * config/mips/mips.h: Tweak various comments.
1617         * config/mips/mips.c: Likewise.
1618
1619 2003-08-11  James E Wilson  <wilson@tuliptree.org>
1620
1621         PR optimization/11319
1622         PR target/10021
1623         * alias.c (find_base_value, case REG): Return 0 not src if no base
1624         found.
1625
1626 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1627
1628         * gcse.c (gmalloc): Fix last change.
1629
1630 2003-08-11  Roger Sayle  <roger@eyesopen.com>
1631
1632         * simplify-rtx.c (simplify_binary_operation): Replace calls to
1633         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
1634         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
1635         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
1636
1637 2003-08-11  Roger Sayle  <roger@eyesopen.com>
1638
1639         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
1640         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
1641         typecode for an ABS_EXPR.
1642
1643         * doc/c-tree.texi: Document ABS_EXPR.
1644
1645 2003-08-11  Roger Sayle  <roger@eyesopen.com>
1646
1647         * fold-const.c (fold): Optimize any associative floating point
1648         operator with -funsafe-math-optimizations, not just MULT_EXPR.
1649
1650 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
1651
1652         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
1653         information in SHmedia case too.
1654         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
1655         Likewise.
1656         (__set_fpscr): Use an access via GOT for PIC case.
1657
1658 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
1659
1660         * configure.in (intermodule): Make switch test more portable.
1661         * configure: Regenerate.
1662
1663 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
1664
1665         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
1666         (restrap): Likewise.
1667
1668 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1669
1670         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
1671         (grealloc): Size argument is a size_t.
1672         (gcalloc): New function.  Use throughout in lieu of
1673         gmalloc/memset.
1674
1675         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
1676         xmalloc/memset.
1677         * config/ia64/ia64.c (ia64_reorg): Likewise.
1678         * conflict.c (conflict_graph_new): Likewise.
1679         * fixinc/fixincl.c (run_compiles): Likewise.
1680         * genattrtab.c (optimize_attrs): Likewise.
1681         * genrecog.c (new_decision): Likewise.
1682         * haifa-sched.c (schedule_block): Likewise.
1683         * hashtable.c (ht_create): Likewise.
1684
1685 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
1686
1687         * config/xtensa/lib2funcs.S: Fix whitespace.
1688         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
1689         syntax where appropriate.  Remove unnecessary backslash escapes.
1690         Reformat comments and fix some code formatting.
1691         (extendqisi2): Rearrange conditional.
1692         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
1693         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
1694         of fatal_insn.
1695
1696 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
1697
1698         * config/mips/mips.c: Various formatting fixes.
1699         (override_options): Resync -mtune handling with gas.
1700         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
1701         * config/mips/mips.h: More formatting fixes.
1702         (mips_abi): Move declaration.
1703         * config/mips/mips.md (exception_receiver): Add mode to
1704         unspec_volatile.
1705
1706 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
1707
1708         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
1709         evsplatfi here.
1710         (bdesc_1arg): Remove evsplati and evsplatfi.
1711
1712 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
1713
1714         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
1715         into account.
1716
1717 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1718
1719         * builtins.c (expand_builtin_strcat): Optimize constant strings.
1720
1721 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1722
1723         * pretty-print.c (pp_base_indent): Rename from pp_indent.
1724         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
1725         (struct c_pretty_print_info): Add more fields.
1726         (pp_c_left_paren): Move to c-pretty-print.c.
1727         (pp_c_right_paren): Likewise.
1728         (pp_c_left_brace): Likewise.
1729         (pp_c_right_brace): Likewise.
1730         (pp_c_left_bracket): Likewise.
1731         (pp_c_right_bracket): Likewise.
1732         (pp_c_declarator): Declare.
1733         (pp_c_direct_declarator): Likewise.
1734         (pp_c_specifier_qualifier_list): Likewise.
1735         (pp_c_type_id): Likewise.
1736         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
1737         (pp_c_type_qualifier_list): New.
1738         (pp_c_pointer): Likewise.
1739         (pp_c_parameter_type_list): Likewise.
1740         (pp_c_function_definition): Likewise.
1741         (pp_c_id_expression): Likewise.
1742         (pp_c_simple_type_specifier): Tidy.
1743         (pp_c_unary_expression): Likewise.
1744         (pp_c_expression): Likewise.
1745         (pp_c_pretty_printer_init): Likewise.
1746         (pp_c_specifier_qualifier_list): Rework..
1747         (pp_c_abstract_declarator): Likewise.
1748         (pp_c_postfix_expression): Likewise.
1749         (pp_c_primary_expression): Likewise.
1750         (pp_c_cast_expression): Likewise.
1751         (pp_c_direct_abstract_declarator): Likewise.
1752         (pp_c_storage_class_specifier): Likewise.
1753         (pp_c_function_specifier): Likewise.
1754         (pp_c_declaration_specifiers): Likewise.
1755         (pp_c_direct_declarator): Likewise.
1756         (pp_c_declarator): Likewise.
1757         (pp_c_declaration): Likewise.
1758         (pp_c_statement): Likewise.
1759         (pp_c_integer_constant): Rename from pp_c_integer_literal.
1760         (pp_c_character_constant): Rename from pp_c_character_literal.
1761         (pp_c_bool_constant): Rename from pp_c_bool_literal.
1762         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
1763         (pp_c_floating_constant): Rename from pp_c_real_literal.
1764         (pp_c_constant): Rename from pp_c_literal.
1765         * c-lang.c: Include diagnostic.h and c-pretty-print.h
1766         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
1767         (c_initialize_diagnostics): New.
1768         * Makefile.in (c-lang.o): Update dependency.
1769
1770 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
1771
1772         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
1773
1774 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
1775
1776         * config/mips/mips.c (mips_no_mips16_string): Remove.
1777         (override_options): Don't handle -mips16 as part of -mipsN.
1778         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
1779         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
1780         (TARGET_OPTIONS): Remove -mno-mips16.
1781
1782 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
1783
1784         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
1785         (coprocessor2_operand): Likewise.
1786         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
1787         (lookup_name): Remove declaration.
1788         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
1789         (mips16, mips_abicalls): Remove.
1790         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
1791         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
1792         (coprocessor_operand, coprocessor2_operand): Remove.
1793         (override_options): Don't set mips16 or mips_abicalls.
1794         (print_operand): Don't expect SIGN_EXTEND operands.
1795         (mips_secondary_reload_class): Likewise.
1796         (mips_output_conditional_branch): Remove disabled long-branch code.
1797         * config/mips/mips.h (call_used_regs): Remove declaration.
1798         (may_call_alloca): Likewise.
1799         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
1800         (mips_abicalls, mips16): Remove declarations.
1801         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
1802         (CC1_SPEC): Remove outdated comment.
1803         (MIPS_VERSION, MACHINE_TYPE): Remove.
1804         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
1805         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
1806         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
1807         (PUSH_ROUNDING): Likewise.
1808         (ASSEMBLER_SCRATCH_REGNUM): Remove.
1809         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
1810         and mips16 with TARGET_MIPS16.
1811
1812 2003-08-09  Per Bothner  <pbothner@apple.com>
1813
1814         * cppinit.c (cpp_read_main_file):  Split out source-independent
1815         initialization to separate function ...
1816         (cpp_post_options):  New function.
1817         * cppfiles.c (cpp_stack_file):  Rename public name to ...
1818         (_cpp_stack_file):  New internal function name.
1819         * cpplib.h:  Update accordingly.
1820         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
1821         (cpp_read_main_file):  Don't initialize line here.
1822         * c-opts.c (c_common_post_options):  Call cpp_post_options.
1823         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
1824         * fix-header.c (read_scan_file):  Call cpp_post_options.
1825
1826 2003-08-09  Per Bothner  <per@bothner.com>
1827
1828         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
1829
1830 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1831
1832         * pa.c (pa_asm_output_mi_thunk): Fix typo.
1833
1834 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
1835
1836         PR preprocessor/11839
1837         * cppfiles.c (open_file): Handle ENOTDIR.
1838
1839 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
1840
1841         PR target/11699
1842         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
1843
1844 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1845
1846         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
1847         source/destination is not a register operand.
1848
1849 2003-08-08  Richard Henderson  <rth@redhat.com>
1850
1851         PR target/11535
1852         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
1853         RETURN_ADDRESS_POINTER_REGNUM.
1854         (ia64_expand_prologue): Don't frob it.
1855         (ia64_output_function_epilogue): Likewise.
1856         (ia64_return_addr_rtx): New.
1857         (ia64_split_return_addr_rtx): New.
1858         * config/ia64/ia64-protos.h: Update.
1859         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
1860         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
1861         (GENERAL_REGNO_P): Don't check it.
1862         (AR_*_REGNUM): Renumber.
1863         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
1864         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
1865         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
1866         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
1867         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
1868         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
1869         (movdi_ret_addr): New.
1870
1871 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
1872
1873         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
1874
1875 2003-08-08  Roger Sayle  <roger@eyesopen.com>
1876
1877         * tree.h (get_identifier) Define a macro form of get_identifier
1878         that calls get_identifier_with_length when the string is constant.
1879         (get_identifier_with_length): Change type of second argument to
1880         size_t in prototype.
1881         * stringpool.c (get_identifier): Undefine the macro before giving
1882         the function definition.
1883         (get_identifier_with_length): Change  type of second argument to
1884         size_t in function definition.
1885         * hashtable.c (calc_hash): Change type of second argument to size_t.
1886         (ht_lookup): Change type of third argument to size_t.  Reorganize
1887         to speed-up the cases where the hash table slot is empty, or the
1888         first probe matches (i.e. there isn't a collision).
1889         * hashtable.h (ht_lookup): Adjust function prototype.
1890
1891 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
1892
1893         PR target/9697
1894         PR target/11777
1895         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
1896
1897 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
1898
1899         * common.opt: Add debug switches.
1900         * flags.h (use_gnu_debug_info_extensions): Boolify.
1901         * opts.c (write_symbols, debug_info_level,
1902         use_gnu_debug_info_extensions): Move from toplev.c.
1903         (set_debug_level): New.
1904         (common_handle_options): Handle debug switches.
1905         (print_help): Display target options directly.
1906         * toplev.c (debug_hooks): Don't initialize.
1907         (write_symbols, debug_info_level,
1908         use_gnu_debug_info_extensions): Move to opts.c.
1909         (debug_args, display_help, decode_g_option): Remove.
1910         (process_options): Set no debug if level zero here,
1911         and no-debug-hooks.  Error here if impossible debug format selected.
1912         * toplev.h (display_help, decode_g_option): Remove.
1913
1914 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
1915
1916         * tree.c (get_file_function_name_long): Fix size of alloca() area.
1917
1918 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
1919
1920         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
1921         and gcc_cv_prog_cmp_skip.
1922         * configure: Regenerate.
1923
1924 2003-08-08  Stan Cox  <scox@redhat.com>
1925
1926         * config/iq2000: New port.
1927         * config.gcc (iq2000-*-elf): Added.
1928         * doc/install.texi (Specific):  Add iq2000 description.
1929
1930 2003-08-08  Andreas Schwab  <schwab@suse.de>
1931
1932         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
1933         and insert missing empty argument.
1934         * configure: Regenerate.
1935
1936 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1937
1938         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
1939         (attr_length_millicode_call): Likewise.
1940         (attr_length_call): Likewise.  Revise some maximum insn lengths.
1941         (attr_length_indirect_call): Likewise.
1942         (output_call): Fix thinko that added extra nop.
1943         * pa.h (IN_NAMED_SECTION_P): Define.
1944
1945         PR c++/11712
1946         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
1947         __STDC_EXT__ when using C++ dialect.
1948
1949 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
1950
1951         * sh.c (calc_live_regs): If the return address pointer is live,
1952         force pr live.
1953         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
1954         for saves / restores.
1955         (sh_expand_epilogue): If sh_media_register_for_return returns a
1956         register number, flag the instructions that restores PR_MEDIA_REG
1957         as possibly dead.
1958         Remove dead update of offset.
1959         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
1960         we can use the result of get_hard_reg_initial_val.
1961         * sh.md (UNSPEC_RA): New constant.
1962         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
1963         (load_ra).  Handle UNSPEC_RA.
1964         (sibcall_media): Use PR_MEDIA_REG.
1965
1966         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
1967         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
1968         needs saving on SHmedia.
1969
1970 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
1971
1972         * config/s390/s390.md: Replace all occurrences of \\t with \t.
1973
1974 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
1975
1976         * local-alloc.c (combine_regs): Fix comment typo.
1977
1978 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
1979
1980         * c-decl.c (builtin_decls): Replace with first_builtin_decl
1981         and last_builtin_decl.
1982         (c_init_decl_processing): Initialize both.
1983         (c_reset_state): Iterate from first_builtin_decl to
1984         last_builtin_decl inclusive to reintroduce builtins.
1985
1986 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
1987
1988         * doc/extend.texi (Function Attributes): Document the IA-64 version
1989         of the "model" attribute.
1990
1991         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
1992         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
1993         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
1994
1995         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
1996         (ia64_encode_section_info): Likewise.
1997         (ia64_attribute_table): Add "model" attribute.
1998         (TARGET_ENCODE_SECTION_INFO): Define.
1999         (small_addr_symbolic_operand): New function.
2000         (got_symbolic_operand): Return 0 for a symbolref to an object
2001         in the small address area.
2002         (enum ia64_addr_area): New type.
2003         (small_ident1): New variable.
2004         (small_ident2): Likewise.
2005         (init_idents): New function.
2006         (ia64_get_addr_area): Likewise.
2007         (ia64_encode_addr_area): Likewise.
2008         (ia64_encode_section_info): Likewise.
2009         (ia64_expand_load_address): For symbolic references to objects in
2010         the small-address-area, load the address via gen_rtx_SET() (which,
2011         eventually, will expand into "addl").
2012
2013 2003-08-06  Per Bothner  <pbothner@apple.com>
2014
2015         * line-map.h (fileline):  New typedef.
2016         (struct line_map, linemap_add, linemap_lookup):  Use it.
2017         * input.h (struct location_s):  Comment notes that long-term we want
2018         to replace it by fileline.
2019
2020 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
2021
2022         Fix SHcompact exception handling:
2023         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
2024         by the prologue, return a MEM with return_address_pointer_rtx
2025         as address.
2026         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
2027         (RETURN_ADDR_OFFSET): Don't define.
2028         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
2029         registers that are visible in compact mode.  Show that SHmedia
2030         registers still exist in compact mode, even if there are not
2031         readily accessible.
2032         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
2033         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
2034         and DW_EH_PE_pcrel for pic data.
2035         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
2036         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
2037         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
2038         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
2039         * sh.md (movsi_media-1): New splitter.
2040
2041 2003-08-06  Graeme Peterson <gp@qnx.com>
2042
2043         * config/i386/nto.h: New.
2044         * config/i386/t-nto: New.
2045         * config.gcc (i[34567]86-*-nto-qnx*): New.
2046
2047 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
2048
2049         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
2050
2051 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
2052
2053         * calls.c (load_register_parameters): Arrange for call_fusage to
2054         report the whole register as used when shifting to the msb.
2055
2056 2003-08-05  Roger Sayle  <roger@eyesopen.com>
2057
2058         * builtins.c (expand_builtin): When not optimizing, call the library
2059         function for all builtins that have library functions (except alloca).
2060
2061 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
2062
2063         * c.opt: Introduce -fworking-directory.
2064         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
2065         * c-common.h (flag_working_directory): Declare.
2066         * c-common.c (flag_working_directory): Define.
2067         * c-opts.c (c_common_handle_options): Set it.
2068         (sanitize_cpp_opts): Set...
2069         * cpplib.h (struct cpp_options): ... working_directory option.
2070         (struct cpp_callbacks): Add dir_change.
2071         * cppinit.c (read_original_filename): Call...
2072         (read_original_directory): New.  Look for # 1 "directory//"
2073         and process it.
2074         (cpp_read_main_file): Call dir_change callback if working_directory
2075         option is set.
2076         * gcc.c (cpp_unique_options): Pass -g*.
2077         * c-lex.c (cb_dir_change): New.
2078         (init_c_lex): Set dir_change callback.
2079         * toplev.c (src_pwd): New static variable.
2080         (set_src_pwd, get_src_pwd): New functions.
2081         * toplev.h (get_src_pwd, set_src_pwd): Declare.
2082         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
2083         * dwarf2out.c (gen_compile_unit_die): Likewise.
2084         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
2085
2086 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2087
2088         * pretty-print.h (pp_set_line_maximum_length): Make macro.
2089         (pp_set_prefix): Likewise.
2090         (pp_destroy_prefix): Likewise.
2091         (pp_remaining_character_count_for_line): Likewise.
2092         (pp_clear_output_area): Likewise.
2093         (pp_formatted_text): Likewise.
2094         (pp_last_position_in_text): Likewise.
2095         (pp_emit_prefix): Likewise.
2096         (pp_append_text): Likewise.
2097         (pp_flush): Likewise.
2098         (pp_format_text): Likewise.
2099         (pp_format_verbatim): Likewise.
2100         (pp_tree_identifier): Tidy.
2101         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
2102         (pp_base_format_verbatim): Rename from pp_format_verbatim.
2103         (pp_base_flush): Rename from pp_flush.
2104         (pp_base_set_line_maximum_length): Rename from
2105         pp_set_line_maximum_length.
2106         (pp_base_clear_output_area): Rename from pp_clear_output_area.
2107         (pp_base_set_prefix): Rename from pp_set_prefix.
2108         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
2109         (pp_base_emit_prefix): Rename from pp_emit_prefix.
2110         (pp_base_append_text): Rename from pp_append_text.
2111         (pp_base_formatted_text): Rename from pp_formatted_text.
2112         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
2113         (pp_base_remaining_character_count_for_line): Rename from
2114         pp_remaining_character_count_for_line.
2115         * diagnostic.h (diagnostic_format_decoder): Tidy.
2116         (diagnostic_flush_buffer): Likewise.
2117         * c-pretty-print.h: (pp_c_string_literal): Declare.
2118         (pp_c_real_literal): Likewise.
2119         (pp_c_integer_literal): Likewise.
2120         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
2121         pp_identifier.
2122         (pp_c_character_literal): Tidy.
2123         (pp_c_string_literal): Make public.
2124         (pp_c_bool_literal): Likewise.
2125         (pp_c_integer_literal): Likewise.
2126         (pp_c_real_literal): Likewise.
2127
2128         * Makefile.in (C_PRETTY_PRINT_H): New variable.
2129         (c-pretty-print.o): Update dependence.
2130
2131 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
2132
2133         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
2134         ".set nomacro" state.
2135         (fix_truncsfsi2_macro): Likewise.
2136
2137 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
2138
2139         * tree.h (DID_INLINE_FUNC): Remove macro.
2140         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
2141         add tree check for FUNCTION_DECL.
2142         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
2143         (struct tree_decl): Rename inlined_function_flag to
2144         declared_inline_flag.
2145         * c-common.h (c_lang_decl): Remove.
2146         (DECL_ESTIMATED_INSNS): Remove.
2147         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
2148         (DECL_DECLARED_INLINE_P): Remove.
2149         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
2150         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
2151         (finish_function): Make uninlinable a bool.  Fixup call to
2152         tree_inlinable_function_p() and fix some code style issues.
2153         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
2154         * cgraph.c (dump_cgraph): Likewise.
2155         * cgraphunit.c (cgraph_decide_inlining): Likewise
2156         (cgraph_finalize_compilation_unit): Likewise.
2157         Also update call to tree_inlinable_function_p().
2158         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
2159         look at DECL_DECLARED_INLINE and reverse logic.
2160         * print-tree.c (print_node): Likewise.
2161         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
2162         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
2163         prototype.
2164         * tree-inline.c (inlinable_function_p): Split up in this function to
2165         check for basic inlining inhibiting conditions, and new
2166         limits_allow_inlining() function.  Warn if inlining is impossible
2167         because the inline candidate calls alloca or uses sjlj exceptions.
2168         (limits_allow_inlining): this new function to check if the inlining
2169         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
2170         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
2171         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
2172         Update prototypes.
2173         (tree_inlinable_function_p): Make a bool.  Update call to
2174         inlinable_function_p
2175         (expand_call_inline): Use limits_allow_inlining() when not in
2176         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
2177         instead see if the function was declared `inline'.
2178
2179 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
2180
2181         * gcse.c (try_replace_reg): Fix updating of note.
2182
2183 2003-08-04  Roger Sayle  <roger@eyesopen.com>
2184
2185         PR middle-end/11771
2186         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
2187         logic in negate_expr, i.e. we don't invert (A-B) for floating
2188         point types unless flag_unsafe_math_optimizations.
2189
2190 2003-08-04  Roger Sayle  <roger@eyesopen.com>
2191
2192         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
2193         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
2194         for floating point expressions with -ffast-math.
2195         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
2196         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
2197
2198 2003-08-04  Roger Sayle  <roger@eyesopen.com>
2199
2200         * c-common.c (flag_noniso_default_format_attributes): Delete.
2201         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
2202         (c_attrs_initialized): Delete.
2203         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
2204         always call c_init_attributes.
2205         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
2206         set c_attrs_initialized when done.
2207         (c_common_insert_default_attributes): Delete.
2208         * c-common.h (flag_noniso_default_format_attributes): Delete.
2209         (c_coomon_insert_default_attributes): Delete prototype.
2210         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
2211         flag_noniso_default_format_attributes.
2212
2213         * c-decl.c (c_insert_default_attributes): Delete.
2214         * c-tree.h (c_insert_default_attributes): Delete prototype.
2215
2216         * attribs.c (decl_attributes): Don't call insert_default_attributes
2217         langhook.  Update function description comment.
2218         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
2219         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
2220         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
2221         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
2222
2223         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
2224         define.
2225
2226 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
2227
2228         * config/mips/mips.c (override_options): Disable -G on targets that
2229         have no .section support.
2230         (mips_select_section): Use default_select_section for such targets.
2231
2232 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
2233
2234         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
2235         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
2236         * fixinc/fixincl.x: Rebuild.
2237         * fixinc/tests/base/regexp.h: New test.
2238
2239 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
2240
2241         * c-ppoutput.c (cb_line_change): Don't skip line changing while
2242         parsing macro arguments in the top-level context.
2243
2244 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
2245
2246         * config.in: Remove HAVE_LSTAT.
2247         * configure, configure.in: Don't test for lstat.
2248
2249 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2250
2251         * opts.c (decode_options): Do language-specific initialization for
2252         the global diagnostic context.
2253         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
2254         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
2255         (LANG_HOOKS_INITIALIZER): Adjust.
2256         * langhooks.h (struct lang_hooks): Add new field
2257         initialize_diagnostics.
2258         * langhooks.c (lhd_initialize_diagnostics): Define.
2259
2260 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2261
2262         * pretty-print.h:   Adjust macro definitions.
2263         * pretty-print.c (pp_newline): Rename to pp_base_newline.
2264         (pp_character): Rename to pp_base_character.
2265         (pp_string): Rename to pp_base_string.
2266         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
2267         (pp_newline):  Likewise.  Adjust.
2268         (pp_c_char): Adjust.
2269
2270 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2271
2272         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
2273         BUILT_IN_LLABS): Move to miscellaneous section.
2274
2275 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
2276
2277         PR preprocessor/11534
2278         * cppexp.c (parse_defined): Warn only if -pedantic.
2279
2280 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
2281
2282         * cppfiles.c (stack_file): Use file path.
2283
2284 2003-08-02  Roger Sayle  <roger@eyesopen.com>
2285
2286         * builtin-types.def (BT_SSIZE): New primitive type.
2287         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
2288         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
2289         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
2290         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
2291         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
2292         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
2293         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
2294         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
2295         few functions that define default attributes using it.
2296         * c-common.c (c_common_insert_default_attributes): Do nothing.
2297
2298         * doc/extend.texi: Document these "new" builtins.
2299
2300 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
2301
2302         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
2303         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
2304         when -mieee-fp set and -shared not set.
2305         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
2306
2307 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
2308
2309         * cppfiles.c (struct _cpp_file): Rename once_only_next to
2310         next_file.  Remove import and pragma_once, add once_only.
2311         (find_file): Add new file structures to the all_files list.
2312         (should_stack_file): Mark #import-ed files once-only, and
2313         don't stack them if the file has already been stacked.
2314         (_cp_mark_file_once_only): Simplify.
2315         * cpphash.h (struct cpp_reader): Rename once_only_files
2316         to all_files.  Rename saw_pragma_once to seen_once_only.
2317         (_cpp_mark_file_once_only): Update prototype.
2318         * cpplib.c (do_pragma_once): Update.
2319
2320 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
2321
2322         * cppfiles.c (ENOTDIR): Remove.
2323         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
2324         other than ENOENT here.
2325         (once_only_file_p): Rename should_stack_file.
2326         (find_file, open_file_failed, read_file_guts): Report errors
2327         with full path name.
2328         (read_file): Move pch handling to should_stack_file.
2329         (should_stack_file): Handle PCH and once-only issues, and
2330         reading the file.
2331         (stack_file): Don't do file reads.
2332
2333 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2334
2335         * libgcov.c (gcov_exit): Cleanup and fix.
2336         * profile.c (compute_value_histograms): Don't try to read profiles
2337         that are not present.
2338
2339 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2340
2341         * builtins.def: Categorize.
2342
2343         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
2344         Mind fp rounding.
2345         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
2346
2347 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
2348
2349         * config.gcc: Enable posix threads by default on darwin.
2350
2351 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
2352
2353         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
2354         even if nehedges1 is 0.
2355
2356 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
2357
2358         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
2359         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
2360         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
2361         and defintions.
2362
2363         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
2364         * fixinc/fixincl.x: Regenerate.
2365         * fixinc/tests/base/math.h: Regenerate to match test_text change.
2366
2367 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2368
2369         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
2370
2371 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2372
2373         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
2374         for accesses to exc_ptr.
2375
2376 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
2377
2378         * doc/sourcebuild.texi (Front End Directory): Don't make references
2379         to libsubdir, it's not part of the interface to frontends.
2380         * doc/install.texi (Configuration): Help users read faster by saying
2381         that GCC's configure options are the standard autoconf ones.
2382         Mention --libdir.  Update the default rules for finding the
2383         assembler.  Don't use libsubdir since we haven't said what it means.
2384         (Specific): In the Solaris 7 notes, update the place to put the
2385         assembler.
2386         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
2387         * doc/cpp.texi (Search Path): Actually, the search path
2388         depends on libdir, which can relocate with cpp.
2389         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
2390         now a private interface between the Makefile and the driver.
2391
2392 2003-08-01  Richard Henderson  <rth@redhat.com>
2393
2394         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
2395
2396         * varasm.c (lookup_constant_def): New function.
2397         * rtl.h (lookup_constant_def): Declare it.
2398         * dwarf2out.c (loc_descriptor_from_tree): Use it.
2399         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
2400
2401 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
2402
2403         * c-decl.c (gettags, pushdecl_function_level): Delete.
2404         (last_function_parm_vars): Rename last_function_parm_others.
2405         (current_function_parm_vars): Rename current_function_parm_others.
2406         (struct c_scope): Rewrite comment explaining this data structure.
2407         Add names_last, blocks_last, parms_last fields.  Rename
2408         incomplete_list to incomplete.
2409         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
2410         (poplevel): Ignore second argument.  No need to nreverse
2411         anything.  Restructure such that each list is processed
2412         exactly once.  Use 'const location_t *locus' syntactic sugar
2413         variable where useful.  Issue unused variable warnings
2414         ourselves, do not rely on function.c.
2415         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
2416         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
2417         (implicitly_declare): decl cannot be error_mark_node.
2418         (undeclared_variable): Manipulate scope structure directly.
2419         (c_make_fname_decl): Likewise.
2420         (getdecls, c_init_decl_processing): Fix comment.
2421         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
2422         for 'last' variable.
2423         (grokparms): No need to nreverse parms list.
2424         (store_parm_decls_newstyle): Set up the parms_last and
2425         names_last fields of the new scope too.
2426         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
2427         on parms to begin with; check this under ENABLE_CHECKING.  Set
2428         up parms_last.
2429         (check_for_loop_decls): Refer directly to current_scope->tags.
2430         Use consistent quote style in diagnostics.
2431         (c_write_global_declarations): The names list is not backward.
2432
2433         * c-common.h: Don't prototype gettags.
2434         * c-parse.in: Call poplevel with second argument 0 always.
2435
2436 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2437
2438         * builtins.def: Resort builtins.
2439
2440 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2441
2442         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
2443         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
2444         Prepend "__builtin_" onto NAME with string concatenation.  Remove
2445         explicit "__builtin_" from each macro call.
2446
2447         Reformat entire file.
2448
2449 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2450
2451         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
2452         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
2453
2454 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
2455
2456         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
2457         CCL1, or CCL2 modes with floating point operations.
2458
2459         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
2460         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
2461         "*subdf3_cconly"): New insns.
2462         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
2463
2464 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
2465
2466         * Makefile.in: Refine dependencies.
2467         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
2468         * c.opt: Update help for -Wimport.
2469         * cppfiles.c: Include hashtab.h.  Update comments.
2470         (stack_file): Read the file before updating dependencies.
2471         (once_only_file_p): Be smarter about marking once-only files.
2472         (_cpp_mark_file_once_only): Correct the check for existence on
2473         the list.
2474         (open_file_failed): Use name not path, which is NULL.
2475         * cpphash.h: Don't include hashtab.h.
2476         (struct _cpp_file): Remove.
2477         (struct cpp_reader): Update.
2478         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
2479         * cpplib.h (struct cpp_options): Remove warn_import.
2480         (cpp_simplify_path): Remove.
2481
2482 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
2483
2484         PR c++/11295
2485         * doc/extend.texi (Statement Expressions): Document C++ semantics.
2486
2487 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
2488
2489         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
2490
2491 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2492
2493         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
2494         throughout.
2495         * builtins.def: Likewise.
2496
2497 2003-07-31  Jason Merrill  <jason@redhat.com>
2498
2499         * Makefile.in (bubblestrap): Don't require a previous full
2500         bootstrap.
2501
2502         * expr.c (mostly_zeros_p): No longer static.
2503         * tree.h: Declare it.
2504         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
2505         unless we need to do substitutions.
2506
2507 2003-07-31  Roger Sayle  <roger@eyesopen.com>
2508
2509         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
2510         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
2511         as pow(x,2.0) when the latter will be expanded back into x*x.
2512         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
2513         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
2514         pow can never set errno when used with an integer exponent.
2515         Always use expand_powi when exponent is -1, 0, 1 or 2.
2516         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
2517         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
2518         the pow forms of these expressions.
2519
2520 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
2521
2522         * Makefile.in (libexecdir): New.
2523         (libsubdir): Use gcc instead of gcc-lib.
2524         (libexecsubdir): New.
2525         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
2526         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
2527         gcc-lib.
2528         (installdirs): Make libexecsubdir.
2529         (install-common): Put executables in libexecsubdir.
2530         (itoolsdir): Use libexecsubdir.
2531         (itoolsdatadir): New.
2532         (install-mkheaders): Separate data files and executables.
2533         (install-collect2): Put executables in libexecsubdir.
2534         (uninstall): Remove libexecsubdir.
2535         * mkheaders.in: Update for new arrangement of files.
2536         (libexecdir): New.
2537         (libexecsubdir): New.
2538         (itoolsdir): Use libexecsubdir.
2539         (itoolsdatadir): New.
2540         * gcc.c (gcc_libexec_prefix): New.
2541         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
2542         (standard_exec_prefix_1): Use libexec.
2543         (standard_exec_prefix_2): New.
2544         (standard_libexec_prefix): New.
2545         (process_command): Update for new arrangement of files.  Compute
2546         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
2547
2548 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2549
2550         * inclhack.def (stdio_va_list): Avoid bogus replacement which
2551         triggers on Interix.
2552         * fixincl.x: Regenerate.
2553
2554 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
2555
2556         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
2557         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
2558
2559 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2560
2561         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
2562
2563 2003-07-31  Per Bothner  <pbothner@apple.com>
2564
2565         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
2566         (add_input_filename):  New function.
2567         (handle_options):  Call add_input_filename directly instead of
2568         with a lang hook.
2569         * opts.h (in_fnames, num_in_fnames):  Moved here.
2570         (add_input_filename):  Declare.
2571         * c-decl.c:  Need to #include opts.h.
2572         * Makefile.in (c-decl.o):  Also depends on opts.h.
2573         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
2574         (c_common_handle_filename):  Replaced by add_input_filename.
2575         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
2576         Remove.
2577         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
2578         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
2579         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
2580         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
2581
2582 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2583
2584         * combine.c (try_combine): Set JUMP_LABEL for newly created
2585         unconditional jump.
2586
2587 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2588
2589         * fold-const.c (fold): Fold some comparisons of bit operations.
2590
2591 Thu Jul 31 19:49:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
2592
2593         * cgraph.c (create_edge): Fix typo.
2594         * i386.c (pic_symbolic_operand): Reorder tests.
2595
2596 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
2597
2598         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
2599         more fully.
2600         (Gcov Data Files): Update.
2601
2602 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2603
2604         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
2605         default.
2606
2607         * gthr-posix.c: New file.
2608         * gthr-posix.h: Define _REENTRANT if missing.
2609         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
2610
2611         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
2612         by gthr-posix.o.
2613         * config/alpha/t-osf-pthread: New file.
2614
2615         * fixinc/inclhack.def (alpha_pthread): New fix.
2616         * fixinc/fixincl.x: Regenerate.
2617         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
2618
2619         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
2620         warning.
2621         Fixes PR bootstrap/9330.
2622
2623 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2624
2625         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
2626         without GNU ld.
2627         Update comment.
2628         * configure: Regenerate.
2629
2630 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
2631
2632         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
2633         setter.
2634
2635 2003-07-30  Roger Sayle  <roger@eyesopen.com>
2636
2637         * builtins.def: Alphabetize.
2638
2639 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
2640
2641         * doc/c-tree.texi: Normalize spellings of "lowercase" and
2642         "uppercase".
2643         * doc/cpp.texi: Likewise.
2644         * doc/md.texi: Likewise.
2645         * doc/rtl.texi: Likewise.
2646         * doc/tm.texi: Likewise.
2647
2648 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
2649
2650         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
2651         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
2652         of cc1obj.
2653
2654 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
2655
2656         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
2657         macros before defining them.
2658
2659 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
2660
2661         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
2662         UNSPECV_BLOCKAGE): New constants.
2663         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
2664         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
2665         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
2666         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
2667
2668         (all insns and expanders): Write output control string as brace block
2669         where appropriate.  Remove \-escapes for doublequote characters.
2670
2671 Thu Jul 31 01:04:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
2672
2673         * gcse.c (insert_store): Fix typo in previous patch.
2674
2675 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
2676
2677         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
2678
2679 2003-07-30  Andi Kleen  <ak@muc.de>
2680
2681         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
2682
2683 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2684
2685         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
2686         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
2687         GCOV_N_VALUE_COUNTERS): New.
2688         * profile.c (compute_value_histograms): New static function.
2689         (branch_prob): Read back the value histograms.
2690         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
2691         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
2692         * value-prof.c: Add comment on reading the profile.
2693         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
2694         * doc/invoke.texi (-fprofile-values): Document behavior with
2695         -fbranch-probabilities.
2696
2697 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
2698
2699         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
2700
2701 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
2702
2703         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
2704         symbolically.
2705
2706 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
2707
2708         * gcse.c (insert_store): Ignore fake edges.
2709
2710         * c-common.c (flag_vtable_gc): Kill.
2711         * c-common.g (flag_vtable_gc): Kill.
2712         * c-opts (c_common_handle_option): Kill.
2713         * c.opt (fvtable-gc): Kill.
2714         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
2715         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
2716         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
2717
2718         * invoke.texi (-ftable-gc): Kill documentation.
2719
2720         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
2721         just because function body is missing.
2722
2723         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
2724
2725 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
2726
2727         * unwind-sjlj.c: Fix typo in file description.
2728
2729 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
2730
2731         * calls.c (load_register_parameters): When shifting reg sized values
2732         to the msb, move the value to a reg first.
2733
2734 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
2735
2736         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
2737         * line-map.h (linemap_add): Update comments.
2738         * line-map.c (linemap_add): Update comments, interpret zero-length
2739         filename as "<stdin>".
2740
2741 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
2742
2743         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
2744
2745 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
2746
2747         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
2748         New static variables.
2749         (struct c_scope): Add parms and warned_forward_parm_decls
2750         fields; remove parm_order.
2751         (storedecls, storetags): Delete.
2752         (poplevel): Also clear bindings on the parms chain.
2753         (pushdecl): Handle forward declarations of parameters, and
2754         chain PARM_DECLs on the parms list, not the names list.
2755         (lookup_name_current_level): Check for PARM_DECLs on the parms
2756         list too.
2757         (push_parm_decl): Don't update parm_order.
2758         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
2759         warning, only once per parameter list, and set TREE_ASM_WRITTEN
2760         on the decls here.  Then move the forward decls to the names list.
2761         (grokparms): Set last_function_parm_vars.
2762         (get_parm_info): Don't use gettags or getdecls.  No need to
2763         extract non-parms from the parms list, or reorganize the parms
2764         list.  Feed nonparms back in the TREE_TYPE of the list node
2765         returned.  Issue only one error per parameter list for "void"
2766         appearing more than once in said parameter list.  Collapse
2767         parmlist_tags_warning into this function to avoid double scan
2768         of tags list.
2769         (start_function): Set current_function_parm_vars.
2770         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
2771         directly.  Get non-parms from current_function_parm_vars; no
2772         need to extract them from the parms chain.  Properly bind tags
2773         in the new scope.
2774         (store_parm_decls_oldstyle): No need to extract non-parameters
2775         from the parms chain, nor to store them back afterward.  Move
2776         declaration to top of function, restructure code reordering
2777         DECL_ARGUMENTS.
2778         (store_parm_decls): No need to save and restore warn_shadow.
2779         * c-parse.in: Don't call parmlist_tags_warning nor
2780         clear_parm_order.  Call mark_forward_parm_decls when forward
2781         parm decls are encountered.
2782         * c-tree.h: Prototype mark_forward_parm_decls; not
2783         clear_parm_order or parmlist_tags_warning.
2784
2785 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
2786
2787         * c-common.c (allow_pch): Remove.
2788         * c-common.h (allow_pch): Remove.
2789         (c_common_no_more_pch): Declare.
2790         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
2791         * c-pch.c: Include hosthooks.h.
2792         (c_common_valid_pch): Don't check allow_pch.
2793         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
2794         (c_common_no_more_pch): New.
2795         * ggc-common.c: Include hosthooks.h.
2796         (gt_pch_save): Call gt_pch_get_address.
2797         (gt_pch_restore): Call gt_pch_use_address.
2798         * hooks.c (hook_voidp_size_t_null): New.
2799         (hook_bool_voidp_size_t_false): New.
2800         * hooks.h (hook_voidp_size_t_null): New.
2801         (hook_bool_voidp_size_t_false): New.
2802         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
2803         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
2804         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
2805         HOST_HOOKS_GT_PCH_USE_ADDRESS.
2806         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
2807         gt_pch_use_address.
2808         * doc/hostconfig.texi (Host Common): Document
2809         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
2810         * Makefile.in (c-pch.o): Depend on hosthooks.h.
2811         (ggc-common.o): Likewise.
2812
2813         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
2814         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
2815         (pch_address_space): New.
2816         (darwin_rs6000_gt_pch_get_address): New.
2817         (darwin_rs6000_gt_pch_use_address): New.
2818
2819 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
2820
2821         PR preprocessor/11569
2822         PR preprocessor/11649
2823         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
2824         * cppfiles.c: Completely rewritten.
2825         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
2826         struct cpp_path is now struct cpp_dir.
2827         (remove_duplicates): Don't simplify path names.
2828         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
2829         cpp_stack_file.
2830         * cpphash.h: Include hashtab.h.
2831         (_cpp_file): Declare.
2832         (struct cpp_buffer): struct include_file is now struct _cpp_file,
2833         and struct cpp_path is now struct cpp_dir.  Rename members.
2834         (struct cpp_reader): Similarly.  New members once_only_files,
2835         file_hash, file_hash_entries, quote_ignores_source_dir,
2836         no_search_path, saw_pragma_once.  Remove all_include_files and
2837         max_include_len.  Make some members bool.
2838         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
2839         (_cpp_stack_file): Renamed from _cpp_read_file.
2840         (_cpp_stack_include): Renamed from _cpp_execute_include.
2841         (_cpp_init_files): Renamed from _cpp_init_includes.
2842         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
2843         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
2844         (cpp_read_next_file): Rename and move to cppfiles.c.
2845         (cpp_read_main_file): Update.
2846         * cpplib.c (run_directive): Update for renamed members.
2847         (do_include_common, _cpp_pop_buffer): Update.
2848         (do_import): Undeprecate #import.
2849         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
2850         * cpplib.h: Remove file_name_map_list.
2851         (cpp_options): Remove map_list.
2852         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
2853         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
2854
2855 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
2856
2857         * Makefile.in:  Make stamp-objdir safe for parallel builds.
2858
2859 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
2860
2861         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
2862         (info):  Depend on stmp-docobjdir.
2863
2864 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2865
2866         * configure: Regenerate.
2867
2868 Tue Jul 29 19:24:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
2869
2870         PR C++/11131
2871         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
2872         in !unit-at-a-time mode.
2873
2874 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
2875
2876         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
2877         main function.
2878
2879 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
2880
2881         PR c++/11667
2882         * c-common.c (shorten_compare): Take into account differences
2883         between C and C++ representation for enumeration types.
2884         * tree.h (set_min_and_max_values_for_integral_type): Declare.
2885         * stor-layout.c (set_min_and_max_values_for_integral_type): New
2886         function, broken out from ...
2887         (fixup_signed_type): ... here and ...
2888         (fixup_unsigned_type): ... here.
2889
2890 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
2891
2892         * c-decl.c: Update commentary, adjust blank lines throughout.
2893         (struct c_scope): Fix indentation.  Reorder members so
2894         outer-context pointers come first, booleans last.
2895         (duplicate_decls, define_label): Use a 'locus' variable for
2896         diagnostic locations in a few more places.
2897         (warn_if_shadowing): Un-split a conditional that fits on one line.
2898         (c_init_decl_processing): No need to clear current_scope and
2899         current_function_scope.
2900         (start_decl): Merge if/else if statements with same action.
2901         (push_parm_decl): Rename old_immediate_size_expand to use
2902         save_foo convention; save/restore around entire function.
2903         (grokdeclarator): Remove unnecessary braces.
2904
2905 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
2906             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
2907
2908         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
2909         when warn_declaration_after_statement.  Call pedwarn_c90, not
2910         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
2911         * c-common.c (warn_declaration_after_statement): Define.
2912         * c-common.h (warn_declaration_after_statement): Declare.
2913         * c.opt (Wdeclaration-after-statement): New.
2914         * c-errors.c (pedwarn_c90): New function.
2915         * c-opts.c (c_common_handle_option) <case
2916         OPT_Wdeclaration_after_statement>: New.
2917         * c-tree.h (pedwarn_c90): Declare.
2918         * doc/invoke.texi (Option Summary): Document
2919         -Wdeclaration-after-statement.
2920         (Warning Options): Ditto.
2921
2922 Mon Jul 28 20:13:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
2923
2924         * i386.md (memory attribute) Avoid accessing uninitialized memory
2925         for ishift1 type instructions.
2926
2927 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
2928
2929         * configure.in (--enable-checking): Add fold category.
2930         (ENABLE_FOLD_CHECKING): Define if requested.
2931         * configure: Rebuilt.
2932         * config.in: Rebuilt.
2933         * doc/install.texi: Document it.
2934         * fold-const.c: Include md5.h.
2935         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
2936         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
2937         print_fold_checksum): New functions.
2938
2939         * fold-const.c (fold): Never modify argument passed to fold, instead
2940         change a copy and return it.
2941         * convert.c (convert_to_integer): Likewise.
2942
2943 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
2944
2945         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
2946         cleanup of junk after #else and #endif directives.  Collapse repeated
2947         clauses into for statment.
2948
2949         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
2950
2951 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
2952
2953         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
2954         (keep_next_if_subblocks): Rename next_is_function_body.
2955         (pushlevel): Adjust commentary.  Always set ->keep on the
2956         outermost level of a function.  Don't set ->keep_if_subblocks.
2957         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
2958         (store_parm_decls): Adjust to match.
2959         (finish_function): Adjust to match.
2960         Call poplevel with all three arguments zero.
2961
2962         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
2963         New functions split out of store_parm_decls.
2964         Avoid unnecessary work. Use local variables consistently.
2965         (store_parm_decls): Likewise.
2966
2967         (finish_function): No need to set functionbody flag on call to
2968         poplevel.
2969         (struct language_function): Remove scope field.
2970         (c_push_function_context, c_pop_function_context): No need to
2971         save and restore current_scope.
2972
2973 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
2974
2975         * doc/extend.texi (Deprecated Features): Implicit typename is
2976         gone. Default args on types is going.
2977
2978 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
2979
2980         * Makefile.in (ifcvt.o): Depend on target.h
2981         * ifcvt.c (target.h): Include.
2982         (if_convert): Don't call mark_loop_exit_edges if we can't
2983         modify jumps.
2984
2985 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2986
2987         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
2988
2989 2003-07-26  Richard Henderson  <rth@redhat.com>
2990
2991         PR inline-asm/11676
2992         * cse.c (count_reg_usage): Handle asm_operands properly.
2993
2994 2003-07-26  Roger Sayle  <roger@eyesopen.com>
2995
2996         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
2997         (DEF_EXT_FALLBACK_BUILTIN): Delete.
2998         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
2999         the regular DEF_EXT_LIB_BUILTIN macro.
3000         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
3001         the regular DEF_LIB_BUILTIN macro.
3002         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
3003         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
3004         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
3005         DEF_EXT_LIB_BUILTIN macro.
3006
3007         * c-decl.c (duplicate_decls): Remove code to handle builtin
3008         functions prototyped without an argument list.
3009
3010 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
3011
3012         * config/i386/winnt.c: Revert 2003-07-08 change.
3013         (i386_pe_section_type_flags): Remove error_with_decl here too.
3014
3015 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3016
3017         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
3018         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
3019         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
3020         (v850_handle_data_area_attribute): Likewise.
3021
3022 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
3023
3024         * varasm.c (output_constant_def_contents): Use
3025         ASM_DECLARE_CONSTANT_NAME if defined.
3026         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
3027         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
3028         objects get at least one byte to prevent assembler problems.
3029         (ASM_DECLARE_CONSTANT_NAME): New.
3030
3031         * Makefile.in (libbackend.o): Remove options_.h.
3032         (mostlyclean): Likewise.
3033
3034         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
3035         insert a label at the end of an function under Mach-O.
3036
3037         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
3038
3039 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
3040
3041         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
3042         equality.
3043         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
3044
3045         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
3046
3047 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3048
3049         * doc/passes.texi (Passes): Mention pretty-printing and
3050         diagnostic files.
3051
3052 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
3053
3054         * doc/extend.texi (Function Attributes): GNU C++ does now allow
3055         unused parameter decls.
3056         (Attribute Syntax): GNU C++ does not allow label attributes to be
3057         after the ':'.
3058
3059 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3060
3061         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
3062         (objc_declare_class): Likewise.
3063         (error_with_ivar): Likewise.
3064         (start_class): Likewise.
3065         (warn_with_method): Likewise.
3066
3067 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3068
3069         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
3070         from GCC.
3071         * calls.c (try_to_integrate): Don't use xxx_with_decl.
3072         (expand_call): Likewise.
3073         * dwarfout.c (output_reg_number): Likewise.
3074         * expr.c (expand_expr): Likewise.
3075         * function.c (assign_temp): Likewise.
3076         (uninitialized_vars_warning): Likewise.
3077         (setjmp_args_warning): Likewise.
3078         (expand_function_end): Likewise.
3079         * stmt.c (fixup_gotos): Likewise.
3080         (warn_about_unused_variables): Likewise.
3081         (expand_end_bindings): Likewise.
3082         * stor-layout.c (layout_decl): Likewise.
3083         (place_field): Likewise.
3084         * toplev.c (check_global_declarations): Likewise.
3085         (rest_of_handle_inlining): Likewise.
3086         (default_tree_printer): New function.
3087         (general_init): Initialize diagnostic machinery before routing
3088         signals to the ICE machinery.  Set default tree printer.
3089         * toplev.h (pedwarn_with_decl): Remove declaration.
3090         (warning_with_decl): Likewise.
3091         (error_with_decl): Likewise.
3092         (pedwarn): Remove attribute for the time being.
3093         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
3094         * varasm.c (named_section): Likewise.
3095         (make_decl_rtl): Likewise.
3096         (assemble_variable): Likewise.
3097         (merge_weak): Likewise.
3098         (declare_weak): Likewise.
3099
3100         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
3101         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
3102         (format_with_decl): Remove.
3103         (diagnostic_for_decl): Likewise.
3104         (pedwarn_with_decl): Likewise.
3105         (warning_with_decl): Likewise.
3106         (error_with_decl): Likewise.
3107         (diagnostic_initialize): Adjust.
3108         (diagnostic_count_diagnostic): Likewise.
3109         (announce_function): Likewise.
3110         (lhd_print_error_function): Likewise.
3111         (diagnostic_report_current_module): Likewise.
3112         (default_diagnostic_starter): Likewise.
3113         (diagnostic_report_diagnostic): Likewise.
3114         (default_diagnostic_finalizer): Likewise.
3115         (verbatim): Likewise.
3116         (error): Likewise.
3117         (warning): Likewise.
3118         * opts.c (common_handle_option): Likewise.
3119         * pretty-print.c: New file.
3120         * c-pretty-print.h (pp_base): Override.
3121         * c-pretty-print.c: Adjust use of macros throughout.
3122         (pp_buffer): New macro.
3123         (pp_newline): Likewise.
3124         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
3125         * Makefile.in (DIAGNOSTIC_H): New variable.
3126         (c-errors.o): Use it.
3127         (c-objc-common.o): Likewise.
3128         (c-common.o): Likewise.
3129         (c-opts.o): Likewise.
3130         (c-format.o): Likewise.
3131         (diagnostic.o): Likewise.
3132         (opts.o): Likewise.
3133         (toplev.o): Likewise.
3134         (rtl-error.o): Likewise.
3135         (dwarf2out.o): Likewise.
3136         (jump.o): Likewise.
3137         (pretty-print.o): New rule.
3138
3139 2003-07-24  Roger Sayle  <roger@eyesopen.com>
3140
3141         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
3142         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
3143         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
3144         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
3145         (DEF_FRONT_END_LIB_BUILTIN): Delete.
3146         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
3147         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
3148
3149         * builtins.c (build_string_literal): New function to construct
3150         a char* pointer to a string literal.
3151         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
3152         "rtx target" to be consistent with other expand_builtin_* functions.
3153         Change 3rd argument from "int unlocked" to "bool unlocked".
3154         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
3155         c-common.c to avoid front-end dependencies.  Optimize printf("")
3156         as a no-op when the result isn't required.  Handle embedded NULs
3157         in format string.
3158         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
3159         from c-common.c to avoid front-end dependencies.  Likewise, optimize
3160         fprintf(fp,"") as a no-op when the result isn't required, evaluating
3161         fp for side-effects.  Handle embedded NULs in format string.
3162         (expand_builtin_sprintf): Fix typo.
3163         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
3164         optimizing.  Adjust calls of expand_builtin_fputs to match the API
3165         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
3166         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
3167         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
3168
3169         * c-common.c (is_valid_printf_arglist): Delete.
3170         (c_expand_builtin): Delete.
3171         (c_expand_builtin_printf): Moved to builtins.c. Delete.
3172         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
3173         (c_expand_expr): No longer treat CALL_EXPRs specially.
3174         (CALLED_AS_BUILT_IN): Delete.
3175
3176 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3177
3178         PR optimization/11631
3179         * gcse.c (store_motion): Connect infinite loops to exit.
3180
3181 2003-07-24  Jason Merrill  <jason@redhat.com>
3182
3183         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
3184         (boolean_true_node, boolean_false_node): Likewise.
3185         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
3186         * tree.c (build_common_tree_nodes): Init boolean_type_node.
3187         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
3188         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
3189         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
3190         (truthvalue_true_node): Renamed from boolean_true_node.
3191         (truthvalue_false_node): Renamed from boolean_false_node.
3192         * c-decl.c: Just set truthvalue_* to integer_*.
3193         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
3194
3195 2003-07-24  Roger Sayle  <roger@eyesopen.com>
3196
3197         * c-decl.c (match_builtin_function_types): New subroutine of
3198         duplicate_decls to test whether a redeclaration of a builtin
3199         function is suitably close, i.e. the return type and all of
3200         the argument types have the same modes as the builtin expects.
3201         (duplicate_decls): Fuzzy type matching for builtin functions
3202         moved to match_builtin_function_types.
3203
3204 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3205
3206         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
3207         flag correctly.
3208
3209 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
3210
3211         * c-decl.c: Search-and-replace change 'binding level' to
3212         'scope' in commentary.
3213         (struct binding_level): Now struct c_scope.
3214         (current_binding_level): Now current_scope.
3215         (free_binding_level): Now scope_freelist.
3216         (current_function_level): Now current_function_scope.
3217         (global_binding_level): Now global_scope.
3218         (make_binding_level): Now make_scope.
3219         (pop_binding_level): Now pop_scope.
3220
3221 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3222
3223         * configure.in (libgcc_visibility): Add missing whitespace.
3224
3225 2003-07-24  Richard Henderson  <rth@redhat.com>
3226
3227         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
3228         __gcc_personality_v0.
3229
3230 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3231
3232         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
3233
3234 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
3235
3236         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
3237         documentation missed from my 2003-07-09 patch.
3238
3239 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
3240
3241         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
3242         it's not provided.
3243         * configure: Rebuild.
3244
3245 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
3246
3247         PR c/10602
3248         * c-typeck.c (type_lists_compatible_p): Do not compare
3249         arguments if one of them is an error_mark_node
3250
3251 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
3252
3253         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
3254         if current_function_calls_eh_return.
3255
3256 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
3257
3258         * doc/c-tree.texi (OFFSET_TYPE): Update description.
3259
3260 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
3261
3262         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
3263         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
3264         __umodsi3, __modsi3): Increase frame size to 32.
3265
3266 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
3267
3268         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
3269         prototype.
3270
3271 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
3272
3273         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
3274
3275         PR optimization/10679
3276         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
3277
3278 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3279
3280         PR target/11607 and PR target/11516
3281         * pa.md (extzv, extv, insv): Revert latter half of last patch.
3282
3283 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
3284
3285         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
3286         * varasam.c (output_constant): Likewise.
3287
3288 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
3289
3290         * alias.c: Fix comment formatting.
3291         * c-common.c: Likewise.
3292         * c-decl.c: Likewise.
3293         * c-opts.c: Likewise.
3294         * combine.c: Likewise.
3295         * cpplib.c: Likewise.
3296         * diagnostic.c: Likewise.
3297         * dojump.c: Likewise.
3298         * final.c: Likewise.
3299         * fold-const.c: Likewise.
3300         * gcc.c: Likewise.
3301         * gcse.c: Likewise.
3302         * ggc-page.c: Likewise.
3303         * jump.c: Likewise.
3304         * loop.c: Likewise.
3305         * mips-tfile.c: Likewise.
3306         * recog.c: Likewise.
3307         * regclass.c: Likewise.
3308         * regmove.c: Likewise.
3309         * tree.c: Likewise.
3310         * tree.h: Likewise.
3311
3312 2003-07-22  Per Bothner  <pbothner@apple.com>
3313
3314         * line-map.c (add_line_map):  Handle invalid LEAVE request.
3315         Fixes PR preprocessor/11361.
3316
3317 2003-07-22  Per Bothner  <pbothner@apple.com>
3318
3319         * diagnostic.c.(diagnostic_report_current_module):  Update to match
3320         2003-06-05 changes to push_srcloc and pop_srcloc.
3321
3322 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
3323
3324         * doc/trouble.texi: Better document two-stage name lookup.
3325
3326 2003-07-22  Eric Christopher <echristo@redhat.com>
3327
3328         * config/s390.c (s390_valid_pointer_mode): New.
3329         (TARGET_VALID_POINTER_MODE): Use.
3330         (s390_emit_prologue): Add tpf profiling hooks.
3331         (s390_emit_epilogue): Ditto.
3332         * config/s390.h (MASK_TPF): New.
3333         (TARGET_TPF): Use.
3334         (POINTERS_EXTEND_UNSIGNED): Define.
3335         * config/s390.md (ptr_extend): New pattern.
3336
3337 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
3338
3339         * hashtable.c (approx_sqrt): Make static.
3340         * hashtable.h: Don't prototype approx_sqrt.
3341         * line-map.c (init_line_maps): Rename linemap_init.
3342         (free_line_maps): Rename linemap_free.
3343         (add_line_map): Rename linemap_add.
3344         (lookup_line): Rename linemap_lookup.
3345         (print_containing_files): Rename linemap_print_containing_files.
3346         * linemap.h: Update to match.
3347
3348         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
3349         linemap routines to use new names.
3350
3351 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
3352
3353         * c-common.c (handle_packed_attribute): Don't pack a struct via a
3354         typedef. Propagate packedness from a main variant.
3355
3356 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
3357
3358         * Makefile.in (install-common): Add dependency on installdirs.
3359
3360 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
3361
3362         * c-common.c (c_common_type_for_mode): Return integer types for
3363         pointer modes.
3364
3365 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
3366
3367         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
3368         (finish_decl): Call maybe_apply_pragma_weak here.
3369         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
3370         TREE_PUBLIC and TREE_STATIC are decided.
3371         (start_function): Move call to maybe_apply_pragma_weak.  Check that
3372         DECL_ASSEMBLER_NAME isn't set too early.
3373
3374         * cpplex.c (_cpp_process_line_notes): Mention option name in
3375         trigraphs warning.
3376
3377 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
3378
3379         * combine.c (if_then_else_cond): Simplify the comparison of
3380         rtx against -1, 0, and 1.
3381         * loop.c (check_dbra_loop): Likewise.
3382         * optabs.c (emit_conditional_move): Likewise.
3383         (emit_conditional_add): Likewise.
3384         * config/i386/i386.md (*movsi_or): Likewise.
3385         (*movdi_or_rex6): Likewise.
3386
3387 Tue Jul 22 00:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
3388
3389         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
3390
3391 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
3392
3393         * cppfiles.c (open_file_pch): Don't put unused entries in the
3394         splay tree.  Remove dead code.
3395
3396 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
3397
3398         * c-common.h (num_in_fnames): Declare.
3399         (c_static_assembler_name): Move from here...
3400         * c-tree.h (c_static_assembler_name): ... to here.
3401         * c-opts.c: Don't include langhooks-def.h.
3402         (c_static_assembler_name): Move to c-decl.c.
3403         (num_in_fnames): Make externally visible.
3404         * c-decl.c: Include langhooks-def.h.
3405         (c_static_assembler_name): Move from c-opts.c.
3406         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
3407         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
3408
3409         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
3410         when it's not needed.
3411
3412 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
3413
3414         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
3415         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
3416         (rs6000_emit_prologue): Save FPRs inline if set.
3417
3418 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
3419
3420         * config/ia64/ia64.md (prefetch): Support predicate.
3421
3422 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
3423
3424         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
3425         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
3426         table.
3427
3428 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
3429
3430         PR optimization/11536
3431         * unroll.c (loop_iterations): Do not replace a register holding
3432         the final value by its equivalent before the loop if it is not
3433         invariant.
3434
3435 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
3436
3437         * doc/extend.texi: Fixes to spelling, grammar, and diction.
3438
3439 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
3440
3441         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
3442         (V850 Options): Spelling fixes.
3443
3444 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
3445
3446         * doc/invoke.texi: Fixes to style, grammar and diction.
3447
3448 2003-07-20  Roger Sayle  <roger@eyesopen.com>
3449
3450         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
3451         * system.h (SMALL_STACK): Poison obsolete target macro.
3452         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
3453
3454 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
3455
3456         * configure.in:  Cache the results of testing for cmp's capabilities.
3457         * configure:  Regenerate.
3458
3459 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
3460
3461         PR debug/11279
3462         * dwarf2out.c (gen_enumeration_type_die): Remember that
3463         enumerators can be unsigned.
3464
3465 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
3466
3467         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
3468         (push_label_level, pop_label_level): Kill.
3469         (struct binding_level): Rename level_chain to outer.
3470         Add outer_function field.  Change parm_flag, function_body,
3471         keep, keep_if_subblocks to 1-bit bitfields of type bool.
3472         (current_function_level): New variable.
3473         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
3474         (keep_next_level, declare_parm_level, warn_if_shadowing):
3475         Update to match.
3476         (struct language_function): Kill named_labels, shadowed_labels fields.
3477         (c_init_decl_processing, start_function, c_push__function_context)
3478         (c_pop_function_context): No need to muck with named_labels nor
3479         shadowed_labels.
3480
3481         (make_binding_level): No need to clear the structure here.
3482         (pop_binding_level): Always operate on current_binding_level.
3483         Update current_function_level if necessary.
3484         (pushlevel): Don't clear named_labels.  Update current_function_level
3485         if necessary.  Use "true" and "false" where appropriate.
3486         (poplevel): Diagnose labels defined but not used, or vice
3487         versa, and clear out label-meanings leaving scope, while
3488         walking down the decls list, for all binding levels.
3489         Handle LABEL_DECLs appearing in the shadowed list.
3490         pop_binding_level takes no arguments.
3491         (pushdecl_function_level): Use current_function_level.
3492
3493         (make_label, bind_label): New static functions.
3494         (declare_label): New exported function.
3495         (lookup_label, define_label): Rewritten for new data structure.
3496         (shadow_label): Kill.
3497
3498         * c-tree.h: Prototype declare_label; don't prototype
3499         push_label_level, pop_label_level, nor shadow_label.
3500         * c-parse.in: Remove all calls to push_label_level and
3501         pop_label_level.  Use declare_label for __label__ decls.
3502
3503         * doc/extend.texi: Clarify that __label__ can be used to
3504         declare labels with local scope in any nested block, not
3505         just statement expressions.  Cross-reference nested functions
3506         section from local labels section.
3507
3508 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3509
3510         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
3511
3512 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
3513
3514         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
3515
3516 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3517
3518         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
3519         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
3520
3521 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
3522
3523         * config/s390/s390.c (legitimize_pic_address): Access local symbols
3524         relative to the GOT instead of relative to the literal pool base.
3525         (s390_output_symbolic_const): Handle new GOT-relative accesses.
3526         * config/s390/s390.md ("call"): Access local functions and PLT stubs
3527         relative to the GOT instead of relative to the literal pool base.
3528         ("call_value"): Likewise.
3529         ("call_value_tls"): Likewise.
3530
3531         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
3532         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
3533         (s390_chunkify_finish): Likewise.
3534         (s390_chunkify_cancel): Likewise.
3535         (s390_reorg): Adapt caller.
3536         (find_base_register_in_addr,
3537         find_base_register_ref, replace_base_register_ref): Delete.
3538         (find_ltrel_base, replace_ltrel_base): New functions.
3539         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
3540         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
3541         base vs. index register usage.
3542         (struct constant_pool): Remove 'anchor'.
3543         (s390_add_anchor): Delete.
3544         (s390_dump_pool): Remove anchor handling.
3545         * config/s390/s390.md ("reload_anchor"): Remove.
3546
3547         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
3548         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
3549         (s390_emit_prologue): Use it.
3550         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
3551         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
3552         hard-code register 14.
3553         * config/s390/s390-protos.h (s390_load_got): Declare.
3554
3555         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
3556         Support TImode constants.
3557         * config/s390/s390.md ("consttable_ti"): New.
3558         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
3559
3560         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
3561         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
3562         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
3563         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
3564         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
3565         New symbolic constants.
3566         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
3567         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
3568         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
3569         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
3570         symbolic UNSPEC values.
3571         * config/s390/s390.c (larl_operand, s390_short_displacement,
3572         bras_sym_operand, s390_cannot_force_const_mem,
3573         s390_delegitimize_address, s390_decompose_address,
3574         legitimize_pic_address, s390_output_symbolic_const,
3575         s390_function_profiler): Use symbolic UNSPEC values.
3576
3577 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3578
3579         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
3580         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
3581         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
3582         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
3583         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
3584         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
3585         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
3586         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
3587         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
3588         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
3589         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
3590         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
3591         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
3592         postreload.c prefix.c print-tree.c protoize.c ra-build.c
3593         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
3594         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
3595         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
3596         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
3597         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
3598         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
3599         casts.
3600
3601 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3602
3603         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
3604         * toplev.h (warning): Remove attribute.
3605
3606 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3607
3608         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
3609         (pop_label_level): Likewise.
3610         (duplicate_decls): Likewise.
3611         (implicitly_declare): Likewise.
3612         (shadow_label): Likewise.
3613         (start_decl): Likewise.
3614         (finish_decl): Likewise.
3615         (grokdeclarator): Likewise.
3616         (get_parm_info): Likewise.
3617         (detect_field_duplicates): Likewise.
3618         (finish_struct): Likewise.
3619         (start_function): Likewise.
3620         (store_parm_decls): Likewise.
3621         (finish_function): Likewise.
3622         (c_expand_body_1): Likewise.
3623         (check_for_loop_decls): Likewise.
3624         (merge_translation_unit_decls): Likewise.
3625
3626 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
3627
3628         * common.opt:  Document --param.
3629         * opts.c (columns, undocumented_msg): New.
3630         (print_help): Get number of columns from environment.  Print
3631         --param help.  Tweak newline handling.
3632         (print_param_help): New.
3633         (print_filtered_help): Better handling of duplicates.  Complain
3634         about undocumented switches.
3635         (print_switch): New.
3636         (wrap_help): Improve wrapping, use COLUMNS.
3637         * opts.sh: Ignore comments in records.
3638         * params.def: Fix typos and remove trailing periods.
3639         * toplev.c (display_help): Don't dump --param help.
3640         * doc/sourcebuild.texi: Update.
3641
3642 2003-07-18  Richard Henderson  <rth@redhat.com>
3643
3644         PR target/11556
3645         * optabs.c (prepare_operand): Fail gracefully instead of abort
3646         if the predicate doesn't satisfy.
3647         (gen_cond_trap): Allow prepare_operand to fail.
3648
3649 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3650
3651         * c-common.c: Don't undefine GCC_DIAG_STYLE.
3652         (fname_decl): Don't use xxx_with_decl.
3653         (c_add_case_label): Likewise.
3654         (handle_section_attribute): Likewise.
3655         (handle_alias_attribute): Likewise.
3656         (handle_no_instrument_function_attribute): Likewise.
3657         (handle_no_limit_stack_attribute): Likewise.
3658         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
3659         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
3660
3661 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3662
3663         * Makefile.in (ifcvt.o): Add cfgloop.h.
3664         * basic-block.h (EDGE_LOOP_EXIT): New flag.
3665         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
3666         * ifcvt.c: Include cfgloop.h.
3667         (mark_loop_exit_edges): New static function.
3668         (if_convert): Call it.
3669         (find_if_header): Ignore branches out of loops.
3670
3671 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
3672
3673         * combine.c (simplify_comparison): Don't share rtx when converting
3674         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
3675
3676 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
3677
3678         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
3679         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
3680         (MUST_PASS_IN_STACK): Define.
3681         (BLOCK_REG_PADDING): Define.
3682
3683 2003-07-18  Richard Henderson  <rth@redhat.com>
3684
3685         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
3686         to skip the addr_vec.
3687
3688 Fri Jul 18 15:22:28 2003  Alexandre Oliva  <aoliva@redhat.com>
3689
3690         * combine.c (combinable_i3pat): Don't forbid occurrences of
3691         i2dest or i1dest in inner_dest if inner_dest is a mem.
3692
3693 Fri Jul 18 17:05:57 CEST 2003  Jan Hubicka  <jh@suse.cz>
3694
3695         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
3696
3697 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
3698
3699         PR target/11087
3700         * loop.c (basic_induction_var): Check if convert_modes emitted any
3701         instructions. Remove them and return 0 if so.
3702
3703 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3704
3705         PR optimization/11083
3706         * toplev.c (rest_of_handle_addresof): Rename into
3707         rest_of_handle_addressof.  Delete unreachable blocks
3708         if dead edges were purged after the addressof pass.
3709
3710 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
3711
3712         * Makefile.in, configure, configure.in: Remove handling of
3713         lang-options.h and options_.h.
3714         * toplev.c (struct lang_opt, documented_lang_options): Remove.
3715         (display_help): Don't use documented_lang_options.
3716
3717 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
3718
3719         * c-decl.c (pushdecl_function_level): Make static, return nothing.
3720         (kept_level_p): Fold into poplevel.
3721         (undeclared_variable): Moved here from c-typeck.c.  Export.
3722         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
3723         (undeclared_variable): Prototype here.  Don't prototype
3724         kept_level_p nor pushdecl_function_level.
3725         * c-parse.in: Change first argument to poplevel from
3726         "kept_level_p()" to "KEEP_MAYBE".
3727         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
3728
3729 2003-07-17  Roger Sayle  <roger@eyesopen.com>
3730
3731         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
3732         commutative operands instead of modifying the RTL in-place.
3733
3734 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
3735
3736         PR optimization/11557
3737         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
3738         unless we know which function is being called.
3739
3740 2003-07-17  Roger Sayle  <roger@eyesopen.com>
3741
3742         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
3743         whether to reorder the operands of a commutative binary operator.
3744
3745 2003-07-17  Roger Sayle  <roger@eyesopen.com>
3746
3747         * fold-const.c (const_binop): Avoid performing the FP operation at
3748         compile-time, if either operand is NaN and we honor signaling NaNs,
3749         or if we're dividing by zero and either flag_trapping_math is set
3750         or the desired mode doesn't support infinities.
3751         (fold_initializer): New function to fold an expression ignoring any
3752         potential run-time exceptions or traps.
3753         * tree.h (fold_initializer): Prototype here.
3754         * c-typeck.c (build_binary_op): Move to the end of the file so
3755         that intializer_stack is in scope.  If constructing an initializer,
3756         i.e. when initializer_stack is not NULL, use fold_initializer to
3757         fold expressions.
3758         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
3759         performing FP operations at compile-time, if they would raise an
3760         exception at run-time.
3761
3762 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
3763
3764         PR 11498
3765         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
3766         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
3767         (GTFILES): Add langhooks.c.
3768         (gt-langhooks.h): New.
3769         * c-common.h (c_static_assembler_name): Prototype.
3770         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
3771         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
3772         * c-opts.c: Include langhooks-def.h.
3773         (c_static_assembler_name): New.
3774         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
3775         (var_labelno): New.
3776         (lhd_set_decl_assembler_name): Give static objects with context
3777         unique names.
3778         * varasm.c (var_labelno): Delete.
3779         (make_decl_rtl): Don't change the assembler name once it's set.
3780
3781         * c-opts.c (this_input_filename): New.
3782         (finish_options): Take new parameter, name of file being compiled.
3783         Update callers.  Set this_input_filename.
3784         (push_command_line_include): Use this_input_filename not
3785         main_input_filename.
3786
3787 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
3788
3789         * Makefile.in: Depend .pot generation on options.c.
3790         * po/exgettext: Add an extra_files variable containing additional
3791         files to scan.
3792
3793 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
3794
3795         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
3796         c_write_global_declarations.
3797
3798         * c-decl.c: Fix typos in several comments.  Remove all
3799         #if 0 blocks; reindent as needed.  Remove unused argument
3800         to declare_parm_level; all callers changed.
3801         * c-parse.in: Update calls to declare_parm_level.  Avoid
3802         issuing a double warning in some circumstances.
3803         * c-typeck.c: Update calls to declare_parm_level.
3804         * c-tree.h: Update prototype of declare_parm_level.
3805
3806         * c-pragma.c (apply_pragma_weak): Don't complain about a
3807         redundant #pragma weak.
3808
3809         * objc/objc-act.c (forward_declare_categories,
3810         build_selector_reference_decl, build_class_reference_decl,
3811         build_objc_string_decl, synth_forward_declarations,
3812         build_protocol_reference): Set TREE_PUBLIC on synthetic
3813         forward decl to 0, consistent with eventual definition.
3814         Correct comments to match.
3815
3816         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
3817         in regexp that don't form a range expression.
3818         * fixinc/fixincl.def: Regenerate.
3819
3820 2003-07-17  Richard Henderson  <rth@redhat.com>
3821
3822         PR target/10907
3823         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
3824         even with !TARGET_CONST_GP.
3825         (ia64_function_ok_for_sibcall): Reject non-local functions.
3826
3827 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
3828
3829         * c-common.c (c_estimate_num_insns_1): Don't handle
3830         METHOD_CALL_EXPR.
3831         * expr.c (safe_from_p): Likewise.
3832         * gengtype.c (adjust_field_tree_exp): Likewise.
3833         * stmt.c (warn_if_unused_value): Likewise
3834         * tree.c (first_rtl_op): Likewise.
3835         * tree.def: Don't define METHOD_CALL_EXPR.
3836         * java/lang.c (java_estimate_num_insns_1): Don't handle
3837         METHOD_CALL_EXPR.
3838
3839 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
3840
3841         PR other/11466
3842         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
3843         and its restrictions for the SPARC64 port.
3844         Move the entry of "-mimpure-text" before that of "-mv8".
3845
3846 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
3847             Phil Edwards <phil@jaj.com>
3848
3849         * doc/install.texi (*-*-solaris2*): Document the step-by-step
3850         procedure to bootstrap and install.
3851         Document the preference for the legacy Sun tools in /usr/bin
3852         over the POSIX tools in /usr/xpg4/bin for the build process.
3853
3854 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
3855
3856         * c.opt: Document Uncodumented; use it.  Document ObjC options.
3857         * opts.c (print_filtered_help): Skip undocumented switches.
3858         * opts.h (CL_UNDOCUMENTED): New.
3859         * opts.sh: Handle Undocumented.
3860         * toplev.c (documented_lang_options): Prevent its becoming empty.
3861 objc:
3862         * lang-options.h: Remove.
3863
3864 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
3865
3866         * loop.c (check_ext_dependent_givs): Pass const struct loop *
3867         instead of struct loop_info * as argument.  Accept BIVs with
3868         increment +/- 1 provided there is a friendly exit test against
3869         a loop-invariant value.
3870         (strength_reduce): Adapt call to check_ext_dependent_givs.
3871
3872 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
3873             Con Bradley <con.bradley@superh.com>
3874
3875         * sh-protos.h (sh_get_pr_initial_val): Declare.
3876         * sh.c (regno_reg_class): Make its elements type enum reg_class.
3877         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
3878         and live_regs_mask arguments.  Changed all callers.
3879         (save_schedule_s): New structure.
3880         (save_schedule): New typedef.
3881         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
3882         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
3883         In interrupts handlers, also save registers that are usually
3884         partially saved, and make sure there is at least one general purpose
3885         register saved if a target register needs saving.
3886         Add casts in comparisons to avoid warnings.
3887         (sh_media_register_for_return): return -1 for interrupt handlers.
3888         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
3889         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
3890         registers used are available.
3891         Set RTX_FRAME_RELATED_P where appropriate.
3892         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
3893         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
3894         (initial_elimination_offset): Likewise.
3895         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
3896         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
3897         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
3898         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
3899         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
3900         and for target registers.
3901         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
3902         (regno_reg_class): Make its elements type enum reg_class.
3903         (CONSTRAINT_LEN): Don't use isdigit.
3904         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
3905         (FUNCTION_ARG): Add parentheses to avoid warnings.
3906         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
3907         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
3908         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
3909         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
3910         * sh.md (xordi3+1): Remove unused variable regno.
3911         (return_media): Check that tr0 is available before using it.
3912
3913 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
3914
3915         * c.opt: Document more options.
3916
3917 2003-07-16  Roger Sayle  <roger@eyesopen.com>
3918
3919         * combine.c (subst): Also handle (subreg (const_double ...)) case
3920         if created by a substitution, by using the original inner mode.
3921
3922 2003-07-16  Roger Sayle  <roger@eyesopen.com>
3923
3924         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
3925         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
3926         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
3927
3928 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
3929
3930         * doc/install.texi (--without-headers): New.
3931
3932         Partial Fix PR/10129
3933         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
3934         (machopic_output_function_base_name): New; print the true pic label.
3935         (machopic_classify_ident): Pic Base is always a defined data.
3936         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
3937         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
3938
3939         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
3940         if they are not floating point registers.
3941
3942         PR c/10962
3943         * ggc.h: Add header guards.
3944         * c-decl.c (finish_struct): Sort fields if
3945         number greater than 15 and there are no
3946         anonymous structs/unions.
3947         * c-common.h: Include ggc.h.
3948         (sorted_fields_type): New struct.
3949         (field_decl_cmp): New prototype.
3950         (resort_sorted_fields): New prototype.
3951         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
3952         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
3953         as s, removing other fields.
3954         * c-typeck.c (lookup_field): Use s in lang_type.
3955         These were mostly moved from cp/class.c:
3956         * c-common.c (field_decl_cmp): New static function.
3957         (field_decl_cmp): New function.
3958         (resort_sorted_fields): New function.
3959
3960 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
3961
3962         * config/darwin.c (machopic_select_section): Use decl_readonly_section
3963         to do most of the work.
3964
3965 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
3966
3967         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
3968         * config/mmix/mmix.c: Convert functions to ISO C90.
3969         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
3970         formatting.
3971         (mmix_get_hard_reg_initial_val): Tweak section head comment.
3972
3973 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
3974
3975         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
3976
3977 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
3978
3979         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
3980         (uw_update_context_1): Use it.
3981         * config/rs6000/rs6000.c (insn_after_throw): Remove.
3982         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
3983         in parent frame if _Unwind_* called directly instead of through
3984         .plt.
3985         (rs6000_emit_eh_toc_restore): Remove.
3986         (rs6000_emit_prologue): Update stack pointer before doing any saving
3987         if current_function_calls_eh_return.  Generate unwind info for $r2.
3988         (rs6000_emit_epilogue): Restore stack pointer after doing all
3989         restoring if current_function_calls_eh_return.  Restore $r2.
3990         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
3991         * config/rs6000/rs6000.md (eh_return): Remove call to
3992         rs6000_emit_eh_toc_restore.
3993         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
3994         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
3995
3996 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
3997
3998         * expr.c (emit_block_move): Don't move anything if size is const 0.
3999         (clear_storage): Test against const0_rtx instead of comparing INTVAL
4000