OSDN Git Service

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