OSDN Git Service

* local-alloc.c (combine_regs): Fix comment typo.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
2
3         * local-alloc.c (combine_regs): Fix comment typo.
4
5 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
6
7         * c-decl.c (builtin_decls): Replace with first_builtin_decl
8         and last_builtin_decl.
9         (c_init_decl_processing): Initialize both.
10         (c_reset_state): Iterate from first_builtin_decl to
11         last_builtin_decl inclusive to reintroduce builtins.
12
13 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
14
15         * doc/extend.texi (Function Attributes): Document the IA-64 version
16         of the "model" attribute.
17
18         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
19         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
20         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
21
22         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
23         (ia64_encode_section_info): Likewise.
24         (ia64_attribute_table): Add "model" attribute.
25         (TARGET_ENCODE_SECTION_INFO): Define.
26         (small_addr_symbolic_operand): New function.
27         (got_symbolic_operand): Return 0 for a symbolref to an object
28         in the small address area.
29         (enum ia64_addr_area): New type.
30         (small_ident1): New variable.
31         (small_ident2): Likewise.
32         (init_idents): New function.
33         (ia64_get_addr_area): Likewise.
34         (ia64_encode_addr_area): Likewise.
35         (ia64_encode_section_info): Likewise.
36         (ia64_expand_load_address): For symbolic references to objects in
37         the small-address-area, load the address via gen_rtx_SET() (which,
38         eventually, will expand into "addl").
39
40 2003-08-06  Per Bothner  <pbothner@apple.com>
41
42         * line-map.h (fileline):  New typedef.
43         (struct line_map, linemap_add, linemap_lookup):  Use it.
44         * input.h (struct location_s):  Comment notes that long-term we want
45         to replace it by fileline.
46
47 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
48
49         Fix SHcompact exception handling:
50         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
51         by the prologue, return a MEM with return_address_pointer_rtx
52         as address.
53         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
54         (RETURN_ADDR_OFFSET): Don't define.
55         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
56         registers that are visible in compact mode.  Show that SHmedia
57         registers still exist in compact mode, even if there are not
58         readily accessible.
59         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
60         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
61         and DW_EH_PE_pcrel for pic data.
62         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
63         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
64         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
65         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
66         * sh.md (movsi_media-1): New splitter.
67
68 2003-08-06  Graeme Peterson <gp@qnx.com>
69
70         * config/i386/nto.h: New.
71         * config/i386/t-nto: New.
72         * config.gcc (i[34567]86-*-nto-qnx*): New.
73
74 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
75
76         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
77
78 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
79
80         * calls.c (load_register_parameters): Arrange for call_fusage to
81         report the whole register as used when shifting to the msb.
82
83 2003-08-05  Roger Sayle  <roger@eyesopen.com>
84
85         * builtins.c (expand_builtin): When not optimizing, call the library
86         function for all builtins that have library functions (except alloca).
87
88 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
89
90         * c.opt: Introduce -fworking-directory.
91         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
92         * c-common.h (flag_working_directory): Declare.
93         * c-common.c (flag_working_directory): Define.
94         * c-opts.c (c_common_handle_options): Set it.
95         (sanitize_cpp_opts): Set...
96         * cpplib.h (struct cpp_options): ... working_directory option.
97         (struct cpp_callbacks): Add dir_change.
98         * cppinit.c (read_original_filename): Call...
99         (read_original_directory): New.  Look for # 1 "directory//"
100         and process it.
101         (cpp_read_main_file): Call dir_change callback if working_directory
102         option is set.
103         * gcc.c (cpp_unique_options): Pass -g*.
104         * c-lex.c (cb_dir_change): New.
105         (init_c_lex): Set dir_change callback.
106         * toplev.c (src_pwd): New static variable.
107         (set_src_pwd, get_src_pwd): New functions.
108         * toplev.h (get_src_pwd, set_src_pwd): Declare.
109         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
110         * dwarf2out.c (gen_compile_unit_die): Likewise.
111         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
112
113 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
114
115         * pretty-print.h (pp_set_line_maximum_length): Make macro.
116         (pp_set_prefix): Likewise.
117         (pp_destroy_prefix): Likewise.
118         (pp_remaining_character_count_for_line): Likewise.
119         (pp_clear_output_area): Likewise.
120         (pp_formatted_text): Likewise.
121         (pp_last_position_in_text): Likewise.
122         (pp_emit_prefix): Likewise.
123         (pp_append_text): Likewise.
124         (pp_flush): Likewise.
125         (pp_format_text): Likewise.
126         (pp_format_verbatim): Likewise.
127         (pp_tree_identifier): Tidy.
128         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
129         (pp_base_format_verbatim): Rename from pp_format_verbatim.
130         (pp_base_flush): Rename from pp_flush.
131         (pp_base_set_line_maximum_length): Rename from
132         pp_set_line_maximum_length.
133         (pp_base_clear_output_area): Rename from pp_clear_output_area.
134         (pp_base_set_prefix): Rename from pp_set_prefix.
135         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
136         (pp_base_emit_prefix): Rename from pp_emit_prefix.
137         (pp_base_append_text): Rename from pp_append_text.
138         (pp_base_formatted_text): Rename from pp_formatted_text.
139         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
140         (pp_base_remaining_character_count_for_line): Rename from
141         pp_remaining_character_count_for_line.
142         * diagnostic.h (diagnostic_format_decoder): Tidy.
143         (diagnostic_flush_buffer): Likewise.
144         * c-pretty-print.h: (pp_c_string_literal): Declare.
145         (pp_c_real_literal): Likewise.
146         (pp_c_integer_literal): Likewise.
147         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
148         pp_identifier.
149         (pp_c_character_literal): Tidy.
150         (pp_c_string_literal): Make public.
151         (pp_c_bool_literal): Likewise.
152         (pp_c_integer_literal): Likewise.
153         (pp_c_real_literal): Likewise.
154
155         * Makefile.in (C_PRETTY_PRINT_H): New variable.
156         (c-pretty-print.o): Update dependence.
157
158 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
159
160         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
161         ".set nomacro" state.
162         (fix_truncsfsi2_macro): Likewise.
163
164 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
165
166         * tree.h (DID_INLINE_FUNC): Remove macro.
167         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
168         add tree check for FUNCTION_DECL.
169         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
170         (struct tree_decl): Rename inlined_function_flag to
171         declared_inline_flag.
172         * c-common.h (c_lang_decl): Remove.
173         (DECL_ESTIMATED_INSNS): Remove.
174         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
175         (DECL_DECLARED_INLINE_P): Remove.
176         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
177         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
178         (finish_function): Make uninlinable a bool.  Fixup call to
179         tree_inlinable_function_p() and fix some code style issues.
180         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
181         * cgraph.c (dump_cgraph): Likewise.
182         * cgraphunit.c (cgraph_decide_inlining): Likewise
183         (cgraph_finalize_compilation_unit): Likewise.
184         Also update call to tree_inlinable_function_p().
185         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
186         look at DECL_DECLARED_INLINE and reverse logic.
187         * print-tree.c (print_node): Likewise.
188         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
189         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
190         prototype.
191         * tree-inline.c (inlinable_function_p): Split up in this function to
192         check for basic inlining inhibiting conditions, and new
193         limits_allow_inlining() function.  Warn if inlining is impossible
194         because the inline candidate calls alloca or uses sjlj exceptions.
195         (limits_allow_inlining): this new function to check if the inlining
196         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
197         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
198         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
199         Update prototypes.
200         (tree_inlinable_function_p): Make a bool.  Update call to
201         inlinable_function_p
202         (expand_call_inline): Use limits_allow_inlining() when not in
203         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
204         instead see if the function was declared `inline'.
205
206 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
207
208         * gcse.c (try_replace_reg): Fix updating of note.
209
210 2003-08-04  Roger Sayle  <roger@eyesopen.com>
211
212         PR middle-end/11771
213         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
214         logic in negate_expr, i.e. we don't invert (A-B) for floating
215         point types unless flag_unsafe_math_optimizations.
216
217 2003-08-04  Roger Sayle  <roger@eyesopen.com>
218
219         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
220         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
221         for floating point expressions with -ffast-math.
222         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
223         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
224
225 2003-08-04  Roger Sayle  <roger@eyesopen.com>
226
227         * c-common.c (flag_noniso_default_format_attributes): Delete.
228         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
229         (c_attrs_initialized): Delete.
230         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
231         always call c_init_attributes.
232         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
233         set c_attrs_initialized when done.
234         (c_common_insert_default_attributes): Delete.
235         * c-common.h (flag_noniso_default_format_attributes): Delete.
236         (c_coomon_insert_default_attributes): Delete prototype.
237         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
238         flag_noniso_default_format_attributes.
239
240         * c-decl.c (c_insert_default_attributes): Delete.
241         * c-tree.h (c_insert_default_attributes): Delete prototype.
242
243         * attribs.c (decl_attributes): Don't call insert_default_attributes
244         langhook.  Update function description comment.
245         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
246         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
247         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
248         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
249
250         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
251         define.
252
253 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
254
255         * config/mips/mips.c (override_options): Disable -G on targets that
256         have no .section support.
257         (mips_select_section): Use default_select_section for such targets.
258
259 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
260
261         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
262         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
263         * fixinc/fixincl.x: Rebuild.
264         * fixinc/tests/base/regexp.h: New test.
265
266 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
267
268         * c-ppoutput.c (cb_line_change): Don't skip line changing while
269         parsing macro arguments in the top-level context.
270
271 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
272
273         * config.in: Remove HAVE_LSTAT.
274         * configure, configure.in: Don't test for lstat.
275
276 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
277
278         * opts.c (decode_options): Do language-specific initialization for
279         the global diagnostic context.
280         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
281         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
282         (LANG_HOOKS_INITIALIZER): Adjust.
283         * langhooks.h (struct lang_hooks): Add new field
284         initialize_diagnostics.
285         * langhooks.c (lhd_initialize_diagnostics): Define.
286
287 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
288
289         * pretty-print.h:   Adjust macro definitions.
290         * pretty-print.c (pp_newline): Rename to pp_base_newline.
291         (pp_character): Rename to pp_base_character.
292         (pp_string): Rename to pp_base_string.
293         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
294         (pp_newline):  Likewise.  Adjust.
295         (pp_c_char): Adjust.
296
297 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
298
299         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
300         BUILT_IN_LLABS): Move to miscellaneous section.
301
302 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
303
304         PR preprocessor/11534
305         * cppexp.c (parse_defined): Warn only if -pedantic.
306
307 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
308
309         * cppfiles.c (stack_file): Use file path.
310
311 2003-08-02  Roger Sayle  <roger@eyesopen.com>
312
313         * builtin-types.def (BT_SSIZE): New primitive type.
314         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
315         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
316         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
317         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
318         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
319         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
320         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
321         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
322         few functions that define default attributes using it.
323         * c-common.c (c_common_insert_default_attributes): Do nothing.
324
325         * doc/extend.texi: Document these "new" builtins.
326
327 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
328
329         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
330         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
331         when -mieee-fp set and -shared not set.
332         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
333
334 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
335
336         * cppfiles.c (struct _cpp_file): Rename once_only_next to
337         next_file.  Remove import and pragma_once, add once_only.
338         (find_file): Add new file structures to the all_files list.
339         (should_stack_file): Mark #import-ed files once-only, and
340         don't stack them if the file has already been stacked.
341         (_cp_mark_file_once_only): Simplify.
342         * cpphash.h (struct cpp_reader): Rename once_only_files
343         to all_files.  Rename saw_pragma_once to seen_once_only.
344         (_cpp_mark_file_once_only): Update prototype.
345         * cpplib.c (do_pragma_once): Update.
346
347 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
348
349         * cppfiles.c (ENOTDIR): Remove.
350         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
351         other than ENOENT here.
352         (once_only_file_p): Rename should_stack_file.
353         (find_file, open_file_failed, read_file_guts): Report errors
354         with full path name.
355         (read_file): Move pch handling to should_stack_file.
356         (should_stack_file): Handle PCH and once-only issues, and
357         reading the file.
358         (stack_file): Don't do file reads.
359
360 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
361
362         * libgcov.c (gcov_exit): Cleanup and fix.
363         * profile.c (compute_value_histograms): Don't try to read profiles
364         that are not present.
365
366 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
367
368         * builtins.def: Categorize.
369
370         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
371         Mind fp rounding.
372         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
373
374 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
375
376         * config.gcc: Enable posix threads by default on darwin.
377
378 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
379
380         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
381         even if nehedges1 is 0.
382
383 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
384
385         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
386         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
387         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
388         and defintions.
389
390         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
391         * fixinc/fixincl.x: Regenerate.
392         * fixinc/tests/base/math.h: Regenerate to match test_text change.
393
394 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
395
396         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
397
398 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
399
400         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
401         for accesses to exc_ptr.
402
403 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
404
405         * doc/sourcebuild.texi (Front End Directory): Don't make references
406         to libsubdir, it's not part of the interface to frontends.
407         * doc/install.texi (Configuration): Help users read faster by saying
408         that GCC's configure options are the standard autoconf ones.
409         Mention --libdir.  Update the default rules for finding the
410         assembler.  Don't use libsubdir since we haven't said what it means.
411         (Specific): In the Solaris 7 notes, update the place to put the
412         assembler.
413         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
414         * doc/cpp.texi (Search Path): Actually, the search path
415         depends on libdir, which can relocate with cpp.
416         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
417         now a private interface between the Makefile and the driver.
418
419 2003-08-01  Richard Henderson  <rth@redhat.com>
420
421         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
422
423         * varasm.c (lookup_constant_def): New function.
424         * rtl.h (lookup_constant_def): Declare it.
425         * dwarf2out.c (loc_descriptor_from_tree): Use it.
426         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
427
428 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
429
430         * c-decl.c (gettags, pushdecl_function_level): Delete.
431         (last_function_parm_vars): Rename last_function_parm_others.
432         (current_function_parm_vars): Rename current_function_parm_others.
433         (struct c_scope): Rewrite comment explaining this data structure.
434         Add names_last, blocks_last, parms_last fields.  Rename
435         incomplete_list to incomplete.
436         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
437         (poplevel): Ignore second argument.  No need to nreverse
438         anything.  Restructure such that each list is processed
439         exactly once.  Use 'const location_t *locus' syntactic sugar
440         variable where useful.  Issue unused variable warnings
441         ourselves, do not rely on function.c.
442         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
443         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
444         (implicitly_declare): decl cannot be error_mark_node.
445         (undeclared_variable): Manipulate scope structure directly.
446         (c_make_fname_decl): Likewise.
447         (getdecls, c_init_decl_processing): Fix comment.
448         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
449         for 'last' variable.
450         (grokparms): No need to nreverse parms list.
451         (store_parm_decls_newstyle): Set up the parms_last and
452         names_last fields of the new scope too.
453         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
454         on parms to begin with; check this under ENABLE_CHECKING.  Set
455         up parms_last.
456         (check_for_loop_decls): Refer directly to current_scope->tags.
457         Use consistent quote style in diagnostics.
458         (c_write_global_declarations): The names list is not backward.
459
460         * c-common.h: Don't prototype gettags.
461         * c-parse.in: Call poplevel with second argument 0 always.
462
463 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
464
465         * builtins.def: Resort builtins.
466
467 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
468
469         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
470         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
471         Prepend "__builtin_" onto NAME with string concatenation.  Remove
472         explicit "__builtin_" from each macro call.
473
474         Reformat entire file.
475
476 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
477
478         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
479         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
480
481 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
482
483         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
484         CCL1, or CCL2 modes with floating point operations.
485
486         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
487         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
488         "*subdf3_cconly"): New insns.
489         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
490
491 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
492
493         * Makefile.in: Refine dependencies.
494         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
495         * c.opt: Update help for -Wimport.
496         * cppfiles.c: Include hashtab.h.  Update comments.
497         (stack_file): Read the file before updating dependencies.
498         (once_only_file_p): Be smarter about marking once-only files.
499         (_cpp_mark_file_once_only): Correct the check for existence on
500         the list.
501         (open_file_failed): Use name not path, which is NULL.
502         * cpphash.h: Don't include hashtab.h.
503         (struct _cpp_file): Remove.
504         (struct cpp_reader): Update.
505         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
506         * cpplib.h (struct cpp_options): Remove warn_import.
507         (cpp_simplify_path): Remove.
508
509 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
510
511         PR c++/11295
512         * doc/extend.texi (Statement Expressions): Document C++ semantics.
513
514 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
515
516         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
517
518 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
519
520         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
521         throughout.
522         * builtins.def: Likewise.
523
524 2003-07-31  Jason Merrill  <jason@redhat.com>
525
526         * Makefile.in (bubblestrap): Don't require a previous full
527         bootstrap.
528
529         * expr.c (mostly_zeros_p): No longer static.
530         * tree.h: Declare it.
531         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
532         unless we need to do substitutions.
533
534 2003-07-31  Roger Sayle  <roger@eyesopen.com>
535
536         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
537         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
538         as pow(x,2.0) when the latter will be expanded back into x*x.
539         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
540         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
541         pow can never set errno when used with an integer exponent.
542         Always use expand_powi when exponent is -1, 0, 1 or 2.
543         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
544         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
545         the pow forms of these expressions.
546
547 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
548
549         * Makefile.in (libexecdir): New.
550         (libsubdir): Use gcc instead of gcc-lib.
551         (libexecsubdir): New.
552         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
553         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
554         gcc-lib.
555         (installdirs): Make libexecsubdir.
556         (install-common): Put executables in libexecsubdir.
557         (itoolsdir): Use libexecsubdir.
558         (itoolsdatadir): New.
559         (install-mkheaders): Separate data files and executables.
560         (install-collect2): Put executables in libexecsubdir.
561         (uninstall): Remove libexecsubdir.
562         * mkheaders.in: Update for new arrangement of files.
563         (libexecdir): New.
564         (libexecsubdir): New.
565         (itoolsdir): Use libexecsubdir.
566         (itoolsdatadir): New.
567         * gcc.c (gcc_libexec_prefix): New.
568         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
569         (standard_exec_prefix_1): Use libexec.
570         (standard_exec_prefix_2): New.
571         (standard_libexec_prefix): New.
572         (process_command): Update for new arrangement of files.  Compute
573         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
574
575 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
576
577         * inclhack.def (stdio_va_list): Avoid bogus replacement which
578         triggers on Interix.
579         * fixincl.x: Regenerate.
580
581 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
582
583         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
584         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
585
586 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
587
588         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
589
590 2003-07-31  Per Bothner  <pbothner@apple.com>
591
592         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
593         (add_input_filename):  New function.
594         (handle_options):  Call add_input_filename directly instead of
595         with a lang hook.
596         * opts.h (in_fnames, num_in_fnames):  Moved here.
597         (add_input_filename):  Declare.
598         * c-decl.c:  Need to #include opts.h.
599         * Makefile.in (c-decl.o):  Also depends on opts.h.
600         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
601         (c_common_handle_filename):  Replaced by add_input_filename.
602         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
603         Remove.
604         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
605         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
606         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
607         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
608
609 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
610
611         * combine.c (try_combine): Set JUMP_LABEL for newly created
612         unconditional jump.
613
614 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
615
616         * fold-const.c (fold): Fold some comparisons of bit operations.
617
618 Thu Jul 31 19:49:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
619
620         * cgraph.c (create_edge): Fix typo.
621         * i386.c (pic_symbolic_operand): Reorder tests.
622
623 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
624
625         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
626         more fully.
627         (Gcov Data Files): Update.
628
629 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
630
631         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
632         default.
633
634         * gthr-posix.c: New file.
635         * gthr-posix.h: Define _REENTRANT if missing.
636         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
637
638         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
639         by gthr-posix.o.
640         * config/alpha/t-osf-pthread: New file.
641
642         * fixinc/inclhack.def (alpha_pthread): New fix.
643         * fixinc/fixincl.x: Regenerate.
644         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
645
646         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
647         warning.
648         Fixes PR bootstrap/9330.
649
650 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
651
652         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
653         without GNU ld.
654         Update comment.
655         * configure: Regenerate.
656
657 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
658
659         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
660         setter.
661
662 2003-07-30  Roger Sayle  <roger@eyesopen.com>
663
664         * builtins.def: Alphabetize.
665
666 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
667
668         * doc/c-tree.texi: Normalize spellings of "lowercase" and
669         "uppercase".
670         * doc/cpp.texi: Likewise.
671         * doc/md.texi: Likewise.
672         * doc/rtl.texi: Likewise.
673         * doc/tm.texi: Likewise.
674
675 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
676
677         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
678         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
679         of cc1obj.
680
681 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
682
683         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
684         macros before defining them.
685
686 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
687
688         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
689         UNSPECV_BLOCKAGE): New constants.
690         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
691         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
692         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
693         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
694
695         (all insns and expanders): Write output control string as brace block
696         where appropriate.  Remove \-escapes for doublequote characters.
697
698 Thu Jul 31 01:04:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
699
700         * gcse.c (insert_store): Fix typo in previous patch.
701
702 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
703
704         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
705
706 2003-07-30  Andi Kleen  <ak@muc.de>
707
708         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
709
710 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
711
712         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
713         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
714         GCOV_N_VALUE_COUNTERS): New.
715         * profile.c (compute_value_histograms): New static function.
716         (branch_prob): Read back the value histograms.
717         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
718         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
719         * value-prof.c: Add comment on reading the profile.
720         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
721         * doc/invoke.texi (-fprofile-values): Document behavior with
722         -fbranch-probabilities.
723
724 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
725
726         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
727
728 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
729
730         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
731         symbolically.
732
733 Wed Jul 30 19:12:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
734
735         * gcse.c (insert_store): Ignore fake edges.
736
737         * c-common.c (flag_vtable_gc): Kill.
738         * c-common.g (flag_vtable_gc): Kill.
739         * c-opts (c_common_handle_option): Kill.
740         * c.opt (fvtable-gc): Kill.
741         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
742         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
743         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
744
745         * invoke.texi (-ftable-gc): Kill documentation.
746
747         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
748         just because function body is missing.
749
750         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
751
752 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
753
754         * unwind-sjlj.c: Fix typo in file description.
755
756 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
757
758         * calls.c (load_register_parameters): When shifting reg sized values
759         to the msb, move the value to a reg first.
760
761 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
762
763         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
764         * line-map.h (linemap_add): Update comments.
765         * line-map.c (linemap_add): Update comments, interpret zero-length
766         filename as "<stdin>".
767
768 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
769
770         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
771
772 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
773
774         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
775         New static variables.
776         (struct c_scope): Add parms and warned_forward_parm_decls
777         fields; remove parm_order.
778         (storedecls, storetags): Delete.
779         (poplevel): Also clear bindings on the parms chain.
780         (pushdecl): Handle forward declarations of parameters, and
781         chain PARM_DECLs on the parms list, not the names list.
782         (lookup_name_current_level): Check for PARM_DECLs on the parms
783         list too.
784         (push_parm_decl): Don't update parm_order.
785         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
786         warning, only once per parameter list, and set TREE_ASM_WRITTEN
787         on the decls here.  Then move the forward decls to the names list.
788         (grokparms): Set last_function_parm_vars.
789         (get_parm_info): Don't use gettags or getdecls.  No need to
790         extract non-parms from the parms list, or reorganize the parms
791         list.  Feed nonparms back in the TREE_TYPE of the list node
792         returned.  Issue only one error per parameter list for "void"
793         appearing more than once in said parameter list.  Collapse
794         parmlist_tags_warning into this function to avoid double scan
795         of tags list.
796         (start_function): Set current_function_parm_vars.
797         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
798         directly.  Get non-parms from current_function_parm_vars; no
799         need to extract them from the parms chain.  Properly bind tags
800         in the new scope.
801         (store_parm_decls_oldstyle): No need to extract non-parameters
802         from the parms chain, nor to store them back afterward.  Move
803         declaration to top of function, restructure code reordering
804         DECL_ARGUMENTS.
805         (store_parm_decls): No need to save and restore warn_shadow.
806         * c-parse.in: Don't call parmlist_tags_warning nor
807         clear_parm_order.  Call mark_forward_parm_decls when forward
808         parm decls are encountered.
809         * c-tree.h: Prototype mark_forward_parm_decls; not
810         clear_parm_order or parmlist_tags_warning.
811
812 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
813
814         * c-common.c (allow_pch): Remove.
815         * c-common.h (allow_pch): Remove.
816         (c_common_no_more_pch): Declare.
817         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
818         * c-pch.c: Include hosthooks.h.
819         (c_common_valid_pch): Don't check allow_pch.
820         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
821         (c_common_no_more_pch): New.
822         * ggc-common.c: Include hosthooks.h.
823         (gt_pch_save): Call gt_pch_get_address.
824         (gt_pch_restore): Call gt_pch_use_address.
825         * hooks.c (hook_voidp_size_t_null): New.
826         (hook_bool_voidp_size_t_false): New.
827         * hooks.h (hook_voidp_size_t_null): New.
828         (hook_bool_voidp_size_t_false): New.
829         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
830         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
831         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
832         HOST_HOOKS_GT_PCH_USE_ADDRESS.
833         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
834         gt_pch_use_address.
835         * doc/hostconfig.texi (Host Common): Document
836         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
837         * Makefile.in (c-pch.o): Depend on hosthooks.h.
838         (ggc-common.o): Likewise.
839
840         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
841         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
842         (pch_address_space): New.
843         (darwin_rs6000_gt_pch_get_address): New.
844         (darwin_rs6000_gt_pch_use_address): New.
845
846 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
847
848         PR preprocessor/11569
849         PR preprocessor/11649
850         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
851         * cppfiles.c: Completely rewritten.
852         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
853         struct cpp_path is now struct cpp_dir.
854         (remove_duplicates): Don't simplify path names.
855         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
856         cpp_stack_file.
857         * cpphash.h: Include hashtab.h.
858         (_cpp_file): Declare.
859         (struct cpp_buffer): struct include_file is now struct _cpp_file,
860         and struct cpp_path is now struct cpp_dir.  Rename members.
861         (struct cpp_reader): Similarly.  New members once_only_files,
862         file_hash, file_hash_entries, quote_ignores_source_dir,
863         no_search_path, saw_pragma_once.  Remove all_include_files and
864         max_include_len.  Make some members bool.
865         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
866         (_cpp_stack_file): Renamed from _cpp_read_file.
867         (_cpp_stack_include): Renamed from _cpp_execute_include.
868         (_cpp_init_files): Renamed from _cpp_init_includes.
869         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
870         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
871         (cpp_read_next_file): Rename and move to cppfiles.c.
872         (cpp_read_main_file): Update.
873         * cpplib.c (run_directive): Update for renamed members.
874         (do_include_common, _cpp_pop_buffer): Update.
875         (do_import): Undeprecate #import.
876         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
877         * cpplib.h: Remove file_name_map_list.
878         (cpp_options): Remove map_list.
879         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
880         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
881
882 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
883
884         * Makefile.in:  Make stamp-objdir safe for parallel builds.
885
886 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
887
888         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
889         (info):  Depend on stmp-docobjdir.
890
891 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
892
893         * configure: Regenerate.
894
895 Tue Jul 29 19:24:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
896
897         PR C++/11131
898         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
899         in !unit-at-a-time mode.
900
901 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
902
903         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
904         main function.
905
906 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
907
908         PR c++/11667
909         * c-common.c (shorten_compare): Take into account differences
910         between C and C++ representation for enumeration types.
911         * tree.h (set_min_and_max_values_for_integral_type): Declare.
912         * stor-layout.c (set_min_and_max_values_for_integral_type): New
913         function, broken out from ...
914         (fixup_signed_type): ... here and ...
915         (fixup_unsigned_type): ... here.
916
917 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
918
919         * c-decl.c: Update commentary, adjust blank lines throughout.
920         (struct c_scope): Fix indentation.  Reorder members so
921         outer-context pointers come first, booleans last.
922         (duplicate_decls, define_label): Use a 'locus' variable for
923         diagnostic locations in a few more places.
924         (warn_if_shadowing): Un-split a conditional that fits on one line.
925         (c_init_decl_processing): No need to clear current_scope and
926         current_function_scope.
927         (start_decl): Merge if/else if statements with same action.
928         (push_parm_decl): Rename old_immediate_size_expand to use
929         save_foo convention; save/restore around entire function.
930         (grokdeclarator): Remove unnecessary braces.
931
932 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
933             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
934
935         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
936         when warn_declaration_after_statement.  Call pedwarn_c90, not
937         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
938         * c-common.c (warn_declaration_after_statement): Define.
939         * c-common.h (warn_declaration_after_statement): Declare.
940         * c.opt (Wdeclaration-after-statement): New.
941         * c-errors.c (pedwarn_c90): New function.
942         * c-opts.c (c_common_handle_option) <case
943         OPT_Wdeclaration_after_statement>: New.
944         * c-tree.h (pedwarn_c90): Declare.
945         * doc/invoke.texi (Option Summary): Document
946         -Wdeclaration-after-statement.
947         (Warning Options): Ditto.
948
949 Mon Jul 28 20:13:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
950
951         * i386.md (memory attribute) Avoid accessing uninitialized memory
952         for ishift1 type instructions.
953
954 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
955
956         * configure.in (--enable-checking): Add fold category.
957         (ENABLE_FOLD_CHECKING): Define if requested.
958         * configure: Rebuilt.
959         * config.in: Rebuilt.
960         * doc/install.texi: Document it.
961         * fold-const.c: Include md5.h.
962         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
963         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
964         print_fold_checksum): New functions.
965
966         * fold-const.c (fold): Never modify argument passed to fold, instead
967         change a copy and return it.
968         * convert.c (convert_to_integer): Likewise.
969
970 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
971
972         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
973         cleanup of junk after #else and #endif directives.  Collapse repeated
974         clauses into for statment.
975
976         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
977
978 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
979
980         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
981         (keep_next_if_subblocks): Rename next_is_function_body.
982         (pushlevel): Adjust commentary.  Always set ->keep on the
983         outermost level of a function.  Don't set ->keep_if_subblocks.
984         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
985         (store_parm_decls): Adjust to match.
986         (finish_function): Adjust to match.
987         Call poplevel with all three arguments zero.
988
989         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
990         New functions split out of store_parm_decls.
991         Avoid unnecessary work. Use local variables consistently.
992         (store_parm_decls): Likewise.
993
994         (finish_function): No need to set functionbody flag on call to
995         poplevel.
996         (struct language_function): Remove scope field.
997         (c_push_function_context, c_pop_function_context): No need to
998         save and restore current_scope.
999
1000 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
1001
1002         * doc/extend.texi (Deprecated Features): Implicit typename is
1003         gone. Default args on types is going.
1004
1005 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
1006
1007         * Makefile.in (ifcvt.o): Depend on target.h
1008         * ifcvt.c (target.h): Include.
1009         (if_convert): Don't call mark_loop_exit_edges if we can't
1010         modify jumps.
1011
1012 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1013
1014         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
1015
1016 2003-07-26  Richard Henderson  <rth@redhat.com>
1017
1018         PR inline-asm/11676
1019         * cse.c (count_reg_usage): Handle asm_operands properly.
1020
1021 2003-07-26  Roger Sayle  <roger@eyesopen.com>
1022
1023         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
1024         (DEF_EXT_FALLBACK_BUILTIN): Delete.
1025         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
1026         the regular DEF_EXT_LIB_BUILTIN macro.
1027         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
1028         the regular DEF_LIB_BUILTIN macro.
1029         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
1030         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
1031         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
1032         DEF_EXT_LIB_BUILTIN macro.
1033
1034         * c-decl.c (duplicate_decls): Remove code to handle builtin
1035         functions prototyped without an argument list.
1036
1037 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
1038
1039         * config/i386/winnt.c: Revert 2003-07-08 change.
1040         (i386_pe_section_type_flags): Remove error_with_decl here too.
1041
1042 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1043
1044         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
1045         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
1046         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
1047         (v850_handle_data_area_attribute): Likewise.
1048
1049 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
1050
1051         * varasm.c (output_constant_def_contents): Use
1052         ASM_DECLARE_CONSTANT_NAME if defined.
1053         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
1054         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
1055         objects get at least one byte to prevent assembler problems.
1056         (ASM_DECLARE_CONSTANT_NAME): New.
1057
1058         * Makefile.in (libbackend.o): Remove options_.h.
1059         (mostlyclean): Likewise.
1060
1061         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
1062         insert a label at the end of an function under Mach-O.
1063
1064         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
1065
1066 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
1067
1068         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
1069         equality.
1070         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
1071
1072         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
1073
1074 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1075
1076         * doc/passes.texi (Passes): Mention pretty-printing and
1077         diagnostic files.
1078
1079 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
1080
1081         * doc/extend.texi (Function Attributes): GNU C++ does now allow
1082         unused parameter decls.
1083         (Attribute Syntax): GNU C++ does not allow label attributes to be
1084         after the ':'.
1085
1086 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1087
1088         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
1089         (objc_declare_class): Likewise.
1090         (error_with_ivar): Likewise.
1091         (start_class): Likewise.
1092         (warn_with_method): Likewise.
1093
1094 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1095
1096         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
1097         from GCC.
1098         * calls.c (try_to_integrate): Don't use xxx_with_decl.
1099         (expand_call): Likewise.
1100         * dwarfout.c (output_reg_number): Likewise.
1101         * expr.c (expand_expr): Likewise.
1102         * function.c (assign_temp): Likewise.
1103         (uninitialized_vars_warning): Likewise.
1104         (setjmp_args_warning): Likewise.
1105         (expand_function_end): Likewise.
1106         * stmt.c (fixup_gotos): Likewise.
1107         (warn_about_unused_variables): Likewise.
1108         (expand_end_bindings): Likewise.
1109         * stor-layout.c (layout_decl): Likewise.
1110         (place_field): Likewise.
1111         * toplev.c (check_global_declarations): Likewise.
1112         (rest_of_handle_inlining): Likewise.
1113         (default_tree_printer): New function.
1114         (general_init): Initialize diagnostic machinery before routing
1115         signals to the ICE machinery.  Set default tree printer.
1116         * toplev.h (pedwarn_with_decl): Remove declaration.
1117         (warning_with_decl): Likewise.
1118         (error_with_decl): Likewise.
1119         (pedwarn): Remove attribute for the time being.
1120         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
1121         * varasm.c (named_section): Likewise.
1122         (make_decl_rtl): Likewise.
1123         (assemble_variable): Likewise.
1124         (merge_weak): Likewise.
1125         (declare_weak): Likewise.
1126
1127         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
1128         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
1129         (format_with_decl): Remove.
1130         (diagnostic_for_decl): Likewise.
1131         (pedwarn_with_decl): Likewise.
1132         (warning_with_decl): Likewise.
1133         (error_with_decl): Likewise.
1134         (diagnostic_initialize): Adjust.
1135         (diagnostic_count_diagnostic): Likewise.
1136         (announce_function): Likewise.
1137         (lhd_print_error_function): Likewise.
1138         (diagnostic_report_current_module): Likewise.
1139         (default_diagnostic_starter): Likewise.
1140         (diagnostic_report_diagnostic): Likewise.
1141         (default_diagnostic_finalizer): Likewise.
1142         (verbatim): Likewise.
1143         (error): Likewise.
1144         (warning): Likewise.
1145         * opts.c (common_handle_option): Likewise.
1146         * pretty-print.c: New file.
1147         * c-pretty-print.h (pp_base): Override.
1148         * c-pretty-print.c: Adjust use of macros throughout.
1149         (pp_buffer): New macro.
1150         (pp_newline): Likewise.
1151         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
1152         * Makefile.in (DIAGNOSTIC_H): New variable.
1153         (c-errors.o): Use it.
1154         (c-objc-common.o): Likewise.
1155         (c-common.o): Likewise.
1156         (c-opts.o): Likewise.
1157         (c-format.o): Likewise.
1158         (diagnostic.o): Likewise.
1159         (opts.o): Likewise.
1160         (toplev.o): Likewise.
1161         (rtl-error.o): Likewise.
1162         (dwarf2out.o): Likewise.
1163         (jump.o): Likewise.
1164         (pretty-print.o): New rule.
1165
1166 2003-07-24  Roger Sayle  <roger@eyesopen.com>
1167
1168         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
1169         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
1170         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
1171         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
1172         (DEF_FRONT_END_LIB_BUILTIN): Delete.
1173         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
1174         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
1175
1176         * builtins.c (build_string_literal): New function to construct
1177         a char* pointer to a string literal.
1178         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
1179         "rtx target" to be consistent with other expand_builtin_* functions.
1180         Change 3rd argument from "int unlocked" to "bool unlocked".
1181         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
1182         c-common.c to avoid front-end dependencies.  Optimize printf("")
1183         as a no-op when the result isn't required.  Handle embedded NULs
1184         in format string.
1185         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
1186         from c-common.c to avoid front-end dependencies.  Likewise, optimize
1187         fprintf(fp,"") as a no-op when the result isn't required, evaluating
1188         fp for side-effects.  Handle embedded NULs in format string.
1189         (expand_builtin_sprintf): Fix typo.
1190         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
1191         optimizing.  Adjust calls of expand_builtin_fputs to match the API
1192         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
1193         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
1194         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
1195
1196         * c-common.c (is_valid_printf_arglist): Delete.
1197         (c_expand_builtin): Delete.
1198         (c_expand_builtin_printf): Moved to builtins.c. Delete.
1199         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
1200         (c_expand_expr): No longer treat CALL_EXPRs specially.
1201         (CALLED_AS_BUILT_IN): Delete.
1202
1203 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1204
1205         PR optimization/11631
1206         * gcse.c (store_motion): Connect infinite loops to exit.
1207
1208 2003-07-24  Jason Merrill  <jason@redhat.com>
1209
1210         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
1211         (boolean_true_node, boolean_false_node): Likewise.
1212         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
1213         * tree.c (build_common_tree_nodes): Init boolean_type_node.
1214         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
1215         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
1216         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
1217         (truthvalue_true_node): Renamed from boolean_true_node.
1218         (truthvalue_false_node): Renamed from boolean_false_node.
1219         * c-decl.c: Just set truthvalue_* to integer_*.
1220         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
1221
1222 2003-07-24  Roger Sayle  <roger@eyesopen.com>
1223
1224         * c-decl.c (match_builtin_function_types): New subroutine of
1225         duplicate_decls to test whether a redeclaration of a builtin
1226         function is suitably close, i.e. the return type and all of
1227         the argument types have the same modes as the builtin expects.
1228         (duplicate_decls): Fuzzy type matching for builtin functions
1229         moved to match_builtin_function_types.
1230
1231 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1232
1233         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
1234         flag correctly.
1235
1236 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
1237
1238         * c-decl.c: Search-and-replace change 'binding level' to
1239         'scope' in commentary.
1240         (struct binding_level): Now struct c_scope.
1241         (current_binding_level): Now current_scope.
1242         (free_binding_level): Now scope_freelist.
1243         (current_function_level): Now current_function_scope.
1244         (global_binding_level): Now global_scope.
1245         (make_binding_level): Now make_scope.
1246         (pop_binding_level): Now pop_scope.
1247
1248 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1249
1250         * configure.in (libgcc_visibility): Add missing whitespace.
1251
1252 2003-07-24  Richard Henderson  <rth@redhat.com>
1253
1254         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
1255         __gcc_personality_v0.
1256
1257 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1258
1259         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
1260
1261 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
1262
1263         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
1264         documentation missed from my 2003-07-09 patch.
1265
1266 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1267
1268         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
1269         it's not provided.
1270         * configure: Rebuild.
1271
1272 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
1273
1274         PR c/10602
1275         * c-typeck.c (type_lists_compatible_p): Do not compare
1276         arguments if one of them is an error_mark_node
1277
1278 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
1279
1280         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
1281         if current_function_calls_eh_return.
1282
1283 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
1284
1285         * doc/c-tree.texi (OFFSET_TYPE): Update description.
1286
1287 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
1288
1289         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
1290         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
1291         __umodsi3, __modsi3): Increase frame size to 32.
1292
1293 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
1294
1295         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
1296         prototype.
1297
1298 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
1299
1300         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
1301
1302         PR optimization/10679
1303         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
1304
1305 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1306
1307         PR target/11607 and PR target/11516
1308         * pa.md (extzv, extv, insv): Revert latter half of last patch.
1309
1310 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
1311
1312         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
1313         * varasam.c (output_constant): Likewise.
1314
1315 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
1316
1317         * alias.c: Fix comment formatting.
1318         * c-common.c: Likewise.
1319         * c-decl.c: Likewise.
1320         * c-opts.c: Likewise.
1321         * combine.c: Likewise.
1322         * cpplib.c: Likewise.
1323         * diagnostic.c: Likewise.
1324         * dojump.c: Likewise.
1325         * final.c: Likewise.
1326         * fold-const.c: Likewise.
1327         * gcc.c: Likewise.
1328         * gcse.c: Likewise.
1329         * ggc-page.c: Likewise.
1330         * jump.c: Likewise.
1331         * loop.c: Likewise.
1332         * mips-tfile.c: Likewise.
1333         * recog.c: Likewise.
1334         * regclass.c: Likewise.
1335         * regmove.c: Likewise.
1336         * tree.c: Likewise.
1337         * tree.h: Likewise.
1338
1339 2003-07-22  Per Bothner  <pbothner@apple.com>
1340
1341         * line-map.c (add_line_map):  Handle invalid LEAVE request.
1342         Fixes PR preprocessor/11361.
1343
1344 2003-07-22  Per Bothner  <pbothner@apple.com>
1345
1346         * diagnostic.c.(diagnostic_report_current_module):  Update to match
1347         2003-06-05 changes to push_srcloc and pop_srcloc.
1348
1349 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
1350
1351         * doc/trouble.texi: Better document two-stage name lookup.
1352
1353 2003-07-22  Eric Christopher <echristo@redhat.com>
1354
1355         * config/s390.c (s390_valid_pointer_mode): New.
1356         (TARGET_VALID_POINTER_MODE): Use.
1357         (s390_emit_prologue): Add tpf profiling hooks.
1358         (s390_emit_epilogue): Ditto.
1359         * config/s390.h (MASK_TPF): New.
1360         (TARGET_TPF): Use.
1361         (POINTERS_EXTEND_UNSIGNED): Define.
1362         * config/s390.md (ptr_extend): New pattern.
1363
1364 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
1365
1366         * hashtable.c (approx_sqrt): Make static.
1367         * hashtable.h: Don't prototype approx_sqrt.
1368         * line-map.c (init_line_maps): Rename linemap_init.
1369         (free_line_maps): Rename linemap_free.
1370         (add_line_map): Rename linemap_add.
1371         (lookup_line): Rename linemap_lookup.
1372         (print_containing_files): Rename linemap_print_containing_files.
1373         * linemap.h: Update to match.
1374
1375         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
1376         linemap routines to use new names.
1377
1378 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
1379
1380         * c-common.c (handle_packed_attribute): Don't pack a struct via a
1381         typedef. Propagate packedness from a main variant.
1382
1383 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
1384
1385         * Makefile.in (install-common): Add dependency on installdirs.
1386
1387 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
1388
1389         * c-common.c (c_common_type_for_mode): Return integer types for
1390         pointer modes.
1391
1392 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
1393
1394         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
1395         (finish_decl): Call maybe_apply_pragma_weak here.
1396         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
1397         TREE_PUBLIC and TREE_STATIC are decided.
1398         (start_function): Move call to maybe_apply_pragma_weak.  Check that
1399         DECL_ASSEMBLER_NAME isn't set too early.
1400
1401         * cpplex.c (_cpp_process_line_notes): Mention option name in
1402         trigraphs warning.
1403
1404 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
1405
1406         * combine.c (if_then_else_cond): Simplify the comparison of
1407         rtx against -1, 0, and 1.
1408         * loop.c (check_dbra_loop): Likewise.
1409         * optabs.c (emit_conditional_move): Likewise.
1410         (emit_conditional_add): Likewise.
1411         * config/i386/i386.md (*movsi_or): Likewise.
1412         (*movdi_or_rex6): Likewise.
1413
1414 Tue Jul 22 00:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
1415
1416         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
1417
1418 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
1419
1420         * cppfiles.c (open_file_pch): Don't put unused entries in the
1421         splay tree.  Remove dead code.
1422
1423 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
1424
1425         * c-common.h (num_in_fnames): Declare.
1426         (c_static_assembler_name): Move from here...
1427         * c-tree.h (c_static_assembler_name): ... to here.
1428         * c-opts.c: Don't include langhooks-def.h.
1429         (c_static_assembler_name): Move to c-decl.c.
1430         (num_in_fnames): Make externally visible.
1431         * c-decl.c: Include langhooks-def.h.
1432         (c_static_assembler_name): Move from c-opts.c.
1433         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
1434         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
1435
1436         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
1437         when it's not needed.
1438
1439 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
1440
1441         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
1442         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
1443         (rs6000_emit_prologue): Save FPRs inline if set.
1444
1445 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
1446
1447         * config/ia64/ia64.md (prefetch): Support predicate.
1448
1449 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
1450
1451         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
1452         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
1453         table.
1454
1455 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
1456
1457         PR optimization/11536
1458         * unroll.c (loop_iterations): Do not replace a register holding
1459         the final value by its equivalent before the loop if it is not
1460         invariant.
1461
1462 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
1463
1464         * doc/extend.texi: Fixes to spelling, grammar, and diction.
1465
1466 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
1467
1468         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
1469         (V850 Options): Spelling fixes.
1470
1471 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
1472
1473         * doc/invoke.texi: Fixes to style, grammar and diction.
1474
1475 2003-07-20  Roger Sayle  <roger@eyesopen.com>
1476
1477         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
1478         * system.h (SMALL_STACK): Poison obsolete target macro.
1479         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
1480
1481 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
1482
1483         * configure.in:  Cache the results of testing for cmp's capabilities.
1484         * configure:  Regenerate.
1485
1486 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
1487
1488         PR debug/11279
1489         * dwarf2out.c (gen_enumeration_type_die): Remember that
1490         enumerators can be unsigned.
1491
1492 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
1493
1494         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
1495         (push_label_level, pop_label_level): Kill.
1496         (struct binding_level): Rename level_chain to outer.
1497         Add outer_function field.  Change parm_flag, function_body,
1498         keep, keep_if_subblocks to 1-bit bitfields of type bool.
1499         (current_function_level): New variable.
1500         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
1501         (keep_next_level, declare_parm_level, warn_if_shadowing):
1502         Update to match.
1503         (struct language_function): Kill named_labels, shadowed_labels fields.
1504         (c_init_decl_processing, start_function, c_push__function_context)
1505         (c_pop_function_context): No need to muck with named_labels nor
1506         shadowed_labels.
1507
1508         (make_binding_level): No need to clear the structure here.
1509         (pop_binding_level): Always operate on current_binding_level.
1510         Update current_function_level if necessary.
1511         (pushlevel): Don't clear named_labels.  Update current_function_level
1512         if necessary.  Use "true" and "false" where appropriate.
1513         (poplevel): Diagnose labels defined but not used, or vice
1514         versa, and clear out label-meanings leaving scope, while
1515         walking down the decls list, for all binding levels.
1516         Handle LABEL_DECLs appearing in the shadowed list.
1517         pop_binding_level takes no arguments.
1518         (pushdecl_function_level): Use current_function_level.
1519
1520         (make_label, bind_label): New static functions.
1521         (declare_label): New exported function.
1522         (lookup_label, define_label): Rewritten for new data structure.
1523         (shadow_label): Kill.
1524
1525         * c-tree.h: Prototype declare_label; don't prototype
1526         push_label_level, pop_label_level, nor shadow_label.
1527         * c-parse.in: Remove all calls to push_label_level and
1528         pop_label_level.  Use declare_label for __label__ decls.
1529
1530         * doc/extend.texi: Clarify that __label__ can be used to
1531         declare labels with local scope in any nested block, not
1532         just statement expressions.  Cross-reference nested functions
1533         section from local labels section.
1534
1535 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1536
1537         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
1538
1539 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
1540
1541         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
1542
1543 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1544
1545         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
1546         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
1547
1548 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
1549
1550         * config/s390/s390.c (legitimize_pic_address): Access local symbols
1551         relative to the GOT instead of relative to the literal pool base.
1552         (s390_output_symbolic_const): Handle new GOT-relative accesses.
1553         * config/s390/s390.md ("call"): Access local functions and PLT stubs
1554         relative to the GOT instead of relative to the literal pool base.
1555         ("call_value"): Likewise.
1556         ("call_value_tls"): Likewise.
1557
1558         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
1559         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
1560         (s390_chunkify_finish): Likewise.
1561         (s390_chunkify_cancel): Likewise.
1562         (s390_reorg): Adapt caller.
1563         (find_base_register_in_addr,
1564         find_base_register_ref, replace_base_register_ref): Delete.
1565         (find_ltrel_base, replace_ltrel_base): New functions.
1566         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
1567         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
1568         base vs. index register usage.
1569         (struct constant_pool): Remove 'anchor'.
1570         (s390_add_anchor): Delete.
1571         (s390_dump_pool): Remove anchor handling.
1572         * config/s390/s390.md ("reload_anchor"): Remove.
1573
1574         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
1575         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
1576         (s390_emit_prologue): Use it.
1577         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
1578         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
1579         hard-code register 14.
1580         * config/s390/s390-protos.h (s390_load_got): Declare.
1581
1582         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
1583         Support TImode constants.
1584         * config/s390/s390.md ("consttable_ti"): New.
1585         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
1586
1587         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
1588         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
1589         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
1590         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
1591         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
1592         New symbolic constants.
1593         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
1594         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
1595         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
1596         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
1597         symbolic UNSPEC values.
1598         * config/s390/s390.c (larl_operand, s390_short_displacement,
1599         bras_sym_operand, s390_cannot_force_const_mem,
1600         s390_delegitimize_address, s390_decompose_address,
1601         legitimize_pic_address, s390_output_symbolic_const,
1602         s390_function_profiler): Use symbolic UNSPEC values.
1603
1604 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1605
1606         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
1607         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
1608         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
1609         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
1610         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
1611         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
1612         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
1613         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
1614         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
1615         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
1616         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
1617         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
1618         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
1619         postreload.c prefix.c print-tree.c protoize.c ra-build.c
1620         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
1621         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
1622         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
1623         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
1624         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
1625         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
1626         casts.
1627
1628 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1629
1630         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
1631         * toplev.h (warning): Remove attribute.
1632
1633 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1634
1635         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
1636         (pop_label_level): Likewise.
1637         (duplicate_decls): Likewise.
1638         (implicitly_declare): Likewise.
1639         (shadow_label): Likewise.
1640         (start_decl): Likewise.
1641         (finish_decl): Likewise.
1642         (grokdeclarator): Likewise.
1643         (get_parm_info): Likewise.
1644         (detect_field_duplicates): Likewise.
1645         (finish_struct): Likewise.
1646         (start_function): Likewise.
1647         (store_parm_decls): Likewise.
1648         (finish_function): Likewise.
1649         (c_expand_body_1): Likewise.
1650         (check_for_loop_decls): Likewise.
1651         (merge_translation_unit_decls): Likewise.
1652
1653 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
1654
1655         * common.opt:  Document --param.
1656         * opts.c (columns, undocumented_msg): New.
1657         (print_help): Get number of columns from environment.  Print
1658         --param help.  Tweak newline handling.
1659         (print_param_help): New.
1660         (print_filtered_help): Better handling of duplicates.  Complain
1661         about undocumented switches.
1662         (print_switch): New.
1663         (wrap_help): Improve wrapping, use COLUMNS.
1664         * opts.sh: Ignore comments in records.
1665         * params.def: Fix typos and remove trailing periods.
1666         * toplev.c (display_help): Don't dump --param help.
1667         * doc/sourcebuild.texi: Update.
1668
1669 2003-07-18  Richard Henderson  <rth@redhat.com>
1670
1671         PR target/11556
1672         * optabs.c (prepare_operand): Fail gracefully instead of abort
1673         if the predicate doesn't satisfy.
1674         (gen_cond_trap): Allow prepare_operand to fail.
1675
1676 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1677
1678         * c-common.c: Don't undefine GCC_DIAG_STYLE.
1679         (fname_decl): Don't use xxx_with_decl.
1680         (c_add_case_label): Likewise.
1681         (handle_section_attribute): Likewise.
1682         (handle_alias_attribute): Likewise.
1683         (handle_no_instrument_function_attribute): Likewise.
1684         (handle_no_limit_stack_attribute): Likewise.
1685         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
1686         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
1687
1688 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1689
1690         * Makefile.in (ifcvt.o): Add cfgloop.h.
1691         * basic-block.h (EDGE_LOOP_EXIT): New flag.
1692         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
1693         * ifcvt.c: Include cfgloop.h.
1694         (mark_loop_exit_edges): New static function.
1695         (if_convert): Call it.
1696         (find_if_header): Ignore branches out of loops.
1697
1698 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
1699
1700         * combine.c (simplify_comparison): Don't share rtx when converting
1701         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
1702
1703 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
1704
1705         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
1706         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
1707         (MUST_PASS_IN_STACK): Define.
1708         (BLOCK_REG_PADDING): Define.
1709
1710 2003-07-18  Richard Henderson  <rth@redhat.com>
1711
1712         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
1713         to skip the addr_vec.
1714
1715 Fri Jul 18 15:22:28 2003  Alexandre Oliva  <aoliva@redhat.com>
1716
1717         * combine.c (combinable_i3pat): Don't forbid occurrences of
1718         i2dest or i1dest in inner_dest if inner_dest is a mem.
1719
1720 Fri Jul 18 17:05:57 CEST 2003  Jan Hubicka  <jh@suse.cz>
1721
1722         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
1723
1724 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
1725
1726         PR target/11087
1727         * loop.c (basic_induction_var): Check if convert_modes emitted any
1728         instructions. Remove them and return 0 if so.
1729
1730 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1731
1732         PR optimization/11083
1733         * toplev.c (rest_of_handle_addresof): Rename into
1734         rest_of_handle_addressof.  Delete unreachable blocks
1735         if dead edges were purged after the addressof pass.
1736
1737 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
1738
1739         * Makefile.in, configure, configure.in: Remove handling of
1740         lang-options.h and options_.h.
1741         * toplev.c (struct lang_opt, documented_lang_options): Remove.
1742         (display_help): Don't use documented_lang_options.
1743
1744 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
1745
1746         * c-decl.c (pushdecl_function_level): Make static, return nothing.
1747         (kept_level_p): Fold into poplevel.
1748         (undeclared_variable): Moved here from c-typeck.c.  Export.
1749         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
1750         (undeclared_variable): Prototype here.  Don't prototype
1751         kept_level_p nor pushdecl_function_level.
1752         * c-parse.in: Change first argument to poplevel from
1753         "kept_level_p()" to "KEEP_MAYBE".
1754         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
1755
1756 2003-07-17  Roger Sayle  <roger@eyesopen.com>
1757
1758         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
1759         commutative operands instead of modifying the RTL in-place.
1760
1761 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
1762
1763         PR optimization/11557
1764         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
1765         unless we know which function is being called.
1766
1767 2003-07-17  Roger Sayle  <roger@eyesopen.com>
1768
1769         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
1770         whether to reorder the operands of a commutative binary operator.
1771
1772 2003-07-17  Roger Sayle  <roger@eyesopen.com>
1773
1774         * fold-const.c (const_binop): Avoid performing the FP operation at
1775         compile-time, if either operand is NaN and we honor signaling NaNs,
1776         or if we're dividing by zero and either flag_trapping_math is set
1777         or the desired mode doesn't support infinities.
1778         (fold_initializer): New function to fold an expression ignoring any
1779         potential run-time exceptions or traps.
1780         * tree.h (fold_initializer): Prototype here.
1781         * c-typeck.c (build_binary_op): Move to the end of the file so
1782         that intializer_stack is in scope.  If constructing an initializer,
1783         i.e. when initializer_stack is not NULL, use fold_initializer to
1784         fold expressions.
1785         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
1786         performing FP operations at compile-time, if they would raise an
1787         exception at run-time.
1788
1789 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
1790
1791         PR 11498
1792         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
1793         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
1794         (GTFILES): Add langhooks.c.
1795         (gt-langhooks.h): New.
1796         * c-common.h (c_static_assembler_name): Prototype.
1797         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
1798         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
1799         * c-opts.c: Include langhooks-def.h.
1800         (c_static_assembler_name): New.
1801         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
1802         (var_labelno): New.
1803         (lhd_set_decl_assembler_name): Give static objects with context
1804         unique names.
1805         * varasm.c (var_labelno): Delete.
1806         (make_decl_rtl): Don't change the assembler name once it's set.
1807
1808         * c-opts.c (this_input_filename): New.
1809         (finish_options): Take new parameter, name of file being compiled.
1810         Update callers.  Set this_input_filename.
1811         (push_command_line_include): Use this_input_filename not
1812         main_input_filename.
1813
1814 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
1815
1816         * Makefile.in: Depend .pot generation on options.c.
1817         * po/exgettext: Add an extra_files variable containing additional
1818         files to scan.
1819
1820 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
1821
1822         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
1823         c_write_global_declarations.
1824
1825         * c-decl.c: Fix typos in several comments.  Remove all
1826         #if 0 blocks; reindent as needed.  Remove unused argument
1827         to declare_parm_level; all callers changed.
1828         * c-parse.in: Update calls to declare_parm_level.  Avoid
1829         issuing a double warning in some circumstances.
1830         * c-typeck.c: Update calls to declare_parm_level.
1831         * c-tree.h: Update prototype of declare_parm_level.
1832
1833         * c-pragma.c (apply_pragma_weak): Don't complain about a
1834         redundant #pragma weak.
1835
1836         * objc/objc-act.c (forward_declare_categories,
1837         build_selector_reference_decl, build_class_reference_decl,
1838         build_objc_string_decl, synth_forward_declarations,
1839         build_protocol_reference): Set TREE_PUBLIC on synthetic
1840         forward decl to 0, consistent with eventual definition.
1841         Correct comments to match.
1842
1843         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
1844         in regexp that don't form a range expression.
1845         * fixinc/fixincl.def: Regenerate.
1846
1847 2003-07-17  Richard Henderson  <rth@redhat.com>
1848
1849         PR target/10907
1850         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
1851         even with !TARGET_CONST_GP.
1852         (ia64_function_ok_for_sibcall): Reject non-local functions.
1853
1854 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
1855
1856         * c-common.c (c_estimate_num_insns_1): Don't handle
1857         METHOD_CALL_EXPR.
1858         * expr.c (safe_from_p): Likewise.
1859         * gengtype.c (adjust_field_tree_exp): Likewise.
1860         * stmt.c (warn_if_unused_value): Likewise
1861         * tree.c (first_rtl_op): Likewise.
1862         * tree.def: Don't define METHOD_CALL_EXPR.
1863         * java/lang.c (java_estimate_num_insns_1): Don't handle
1864         METHOD_CALL_EXPR.
1865
1866 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
1867
1868         PR other/11466
1869         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
1870         and its restrictions for the SPARC64 port.
1871         Move the entry of "-mimpure-text" before that of "-mv8".
1872
1873 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
1874             Phil Edwards <phil@jaj.com>
1875
1876         * doc/install.texi (*-*-solaris2*): Document the step-by-step
1877         procedure to bootstrap and install.
1878         Document the preference for the legacy Sun tools in /usr/bin
1879         over the POSIX tools in /usr/xpg4/bin for the build process.
1880
1881 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
1882
1883         * c.opt: Document Uncodumented; use it.  Document ObjC options.
1884         * opts.c (print_filtered_help): Skip undocumented switches.
1885         * opts.h (CL_UNDOCUMENTED): New.
1886         * opts.sh: Handle Undocumented.
1887         * toplev.c (documented_lang_options): Prevent its becoming empty.
1888 objc:
1889         * lang-options.h: Remove.
1890
1891 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
1892
1893         * loop.c (check_ext_dependent_givs): Pass const struct loop *
1894         instead of struct loop_info * as argument.  Accept BIVs with
1895         increment +/- 1 provided there is a friendly exit test against
1896         a loop-invariant value.
1897         (strength_reduce): Adapt call to check_ext_dependent_givs.
1898
1899 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
1900             Con Bradley <con.bradley@superh.com>
1901
1902         * sh-protos.h (sh_get_pr_initial_val): Declare.
1903         * sh.c (regno_reg_class): Make its elements type enum reg_class.
1904         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
1905         and live_regs_mask arguments.  Changed all callers.
1906         (save_schedule_s): New structure.
1907         (save_schedule): New typedef.
1908         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
1909         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
1910         In interrupts handlers, also save registers that are usually
1911         partially saved, and make sure there is at least one general purpose
1912         register saved if a target register needs saving.
1913         Add casts in comparisons to avoid warnings.
1914         (sh_media_register_for_return): return -1 for interrupt handlers.
1915         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
1916         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
1917         registers used are available.
1918         Set RTX_FRAME_RELATED_P where appropriate.
1919         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
1920         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
1921         (initial_elimination_offset): Likewise.
1922         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
1923         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
1924         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
1925         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
1926         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
1927         and for target registers.
1928         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
1929         (regno_reg_class): Make its elements type enum reg_class.
1930         (CONSTRAINT_LEN): Don't use isdigit.
1931         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
1932         (FUNCTION_ARG): Add parentheses to avoid warnings.
1933         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
1934         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
1935         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
1936         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
1937         * sh.md (xordi3+1): Remove unused variable regno.
1938         (return_media): Check that tr0 is available before using it.
1939
1940 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
1941
1942         * c.opt: Document more options.
1943
1944 2003-07-16  Roger Sayle  <roger@eyesopen.com>
1945
1946         * combine.c (subst): Also handle (subreg (const_double ...)) case
1947         if created by a substitution, by using the original inner mode.
1948
1949 2003-07-16  Roger Sayle  <roger@eyesopen.com>
1950
1951         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
1952         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
1953         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
1954
1955 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
1956
1957         * doc/install.texi (--without-headers): New.
1958
1959         Partial Fix PR/10129
1960         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
1961         (machopic_output_function_base_name): New; print the true pic label.
1962         (machopic_classify_ident): Pic Base is always a defined data.
1963         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
1964         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
1965
1966         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
1967         if they are not floating point registers.
1968
1969         PR c/10962
1970         * ggc.h: Add header guards.
1971         * c-decl.c (finish_struct): Sort fields if
1972         number greater than 15 and there are no
1973         anonymous structs/unions.
1974         * c-common.h: Include ggc.h.
1975         (sorted_fields_type): New struct.
1976         (field_decl_cmp): New prototype.
1977         (resort_sorted_fields): New prototype.
1978         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
1979         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
1980         as s, removing other fields.
1981         * c-typeck.c (lookup_field): Use s in lang_type.
1982         These were mostly moved from cp/class.c:
1983         * c-common.c (field_decl_cmp): New static function.
1984         (field_decl_cmp): New function.
1985         (resort_sorted_fields): New function.
1986
1987 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
1988
1989         * config/darwin.c (machopic_select_section): Use decl_readonly_section
1990         to do most of the work.
1991
1992 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
1993
1994         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
1995         * config/mmix/mmix.c: Convert functions to ISO C90.
1996         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
1997         formatting.
1998         (mmix_get_hard_reg_initial_val): Tweak section head comment.
1999
2000 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
2001
2002         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
2003
2004 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
2005
2006         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
2007         (uw_update_context_1): Use it.
2008         * config/rs6000/rs6000.c (insn_after_throw): Remove.
2009         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
2010         in parent frame if _Unwind_* called directly instead of through
2011         .plt.
2012         (rs6000_emit_eh_toc_restore): Remove.
2013         (rs6000_emit_prologue): Update stack pointer before doing any saving
2014         if current_function_calls_eh_return.  Generate unwind info for $r2.
2015         (rs6000_emit_epilogue): Restore stack pointer after doing all
2016         restoring if current_function_calls_eh_return.  Restore $r2.
2017         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
2018         * config/rs6000/rs6000.md (eh_return): Remove call to
2019         rs6000_emit_eh_toc_restore.
2020         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
2021         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
2022
2023 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
2024
2025         * expr.c (emit_block_move): Don't move anything if size is const 0.
2026         (clear_storage): Test against const0_rtx instead of comparing INTVAL
2027         against 0.
2028
2029 2003-07-15  David S. Miller  <davem@redhat.com>
2030
2031         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
2032         emit nop if the last real insn is CALL_INSN.
2033
2034 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
2035
2036         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
2037         as "nul".
2038         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
2039
2040 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
2041
2042         * config/i386/winnt.c (associated_type): Artificial methods are not
2043         affected by the import/export status of their class unless they are
2044         COMDAT.
2045         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
2046
2047         * config/i386/winnt.c: Fix GCC copyright comment.
2048
2049 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
2050
2051         PR c++/11531
2052         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
2053         not recursing on hard error.
2054         (diagnostic_for_decl): Likewise.
2055         * diagnostic.def: Rearrange.
2056
2057 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
2058
2059         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
2060         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
2061
2062 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
2063             Richard Henderson  <rth@redhat.com>
2064
2065         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
2066         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
2067         (_Unwind_SetGR): Likewise.
2068         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
2069         (Unwind_SpTmp): New typedef.
2070         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
2071         (uw_update_context): Use _Unwind_GetPtr.
2072         (init_dwarf_reg_size_table): Move above uw_init_context_1.
2073         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
2074         Use _Unwind_SetSpColumn.
2075         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
2076         Use _Unwind_GetPtr.
2077
2078 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
2079
2080         * c.opt: Document more options.
2081         * toplev.c (documented_lang_options): Remove all local help strings.
2082
2083 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
2084
2085         PR debug/11473
2086         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
2087         base classes.
2088
2089 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
2090
2091         PR target/10795
2092         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
2093         swap comparison operands if doing so would generate an
2094         unrecognizable insn.
2095
2096 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
2097
2098         PR optimization/11320
2099         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
2100         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
2101         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
2102         current_sched_info->compute_jump_reg_dependencies. Record which
2103         registers are used and which registers are set by the jump.
2104         Clear deps->reg_conditional_sets after a barrier.
2105         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
2106         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
2107         (init_deps): Initialize reg_conditional_sets.
2108         (free_deps): Clear reg_conditional_sets.
2109         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
2110         Mark registers live on entry of the fallthrough block and conditionally
2111         set as set by the jump. Mark registers live on entry of non-fallthrough
2112         blocks as used by the jump.
2113         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
2114         Mark new parameters as unused.
2115
2116 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
2117
2118         * doc/invoke.texi: Resync MIPS -march documentation.
2119
2120 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
2121
2122         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
2123         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
2124         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
2125         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
2126         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
2127         (mips_issue_rate): Handle PROCESSOR_R9000.
2128         (mips_use_dfa_pipeline_interface): Likewise.
2129         * config/mips/9000.md: New file.
2130         * config/mips/mips.md: Include it.
2131         (define_attr cpu): Add r9000.
2132         (mulsi3_mult3): Use "mul" for rm9000 code.
2133
2134 2003-07-15  Stan Cox  <scox@redhat.com>
2135
2136         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
2137         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
2138         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
2139         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
2140         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
2141         (mips_issue_rate): Handle PROCESSOR_R7000.
2142         (mips_use_dfa_pipeline_interface): Likewise.
2143         * config/mips/7000.md: New file.
2144         * config/mips/mips.md: Include it.
2145         (define_attr cpu): Add r7000.
2146         (mulsi3_mult3): Use "mul" for rm7000 code.
2147
2148 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
2149
2150         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
2151         the conditional move patterns.
2152         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
2153         Check for condmove type.
2154         (ir_vr54_arith): Add move type.
2155         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
2156         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
2157
2158 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
2159
2160         * c-opts.c (print_help): Remove.
2161         (c_common_handle_option): Don't handle --help.
2162         * c.opt: Document some options.
2163         (--help): Remove.
2164         * opts.c (print_filtered_help): New.
2165         (print_help): Use it.
2166
2167 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
2168
2169         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
2170         * tree.c: (build_common_tree_nodes_2): Likewise.
2171         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
2172         (V4DF_type_node): New.
2173
2174         * c-opts.c (push_command_line_include): Don't free deferred_opts,
2175         we'll need it.
2176         (finish_options): Reset init_cursor.
2177
2178 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
2179
2180         * expr.c (expand_assignment): Remove an unused argument
2181         SUGGEST_REG.
2182         * expr.h: Update the prototype.
2183         * function.c: Update the callers.
2184         * stmt.c: Likewise.
2185
2186 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
2187
2188         PR debug/11098
2189         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
2190         as DECL_ABSTRACT.
2191
2192 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2193
2194         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
2195         with __cplusplus, not "we must use the C++ compiler's type"
2196         * fixinc/inclhack.def (void_null): Note that Interix needs this.
2197         * fixinc/fixincl.x: Regenerate.
2198
2199 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
2200
2201         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
2202         and unseen_objects from the global data before calling
2203         __deregister_frame_info_bases.
2204         (examine_objects): Insert objects into the seen_objects list,
2205         not unseen_objects.
2206         (_Unwind_Find_FDE): Always unlock the global object lists, even if
2207         we couldn't allocate a data structure to put in it.
2208
2209         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
2210         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
2211         (SET_TYPE_PROTOCOL_LIST): New.
2212         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
2213         (get_object_reference): Likewise.
2214
2215 Mon Jul 14 23:14:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
2216
2217         * cfglayout.c (locator_file): Break out from ....
2218         (insn_file): ... here.
2219         (locator_line): Break out from ....
2220         (insn_line): ... here.
2221         * rtl.h (locator_file, locator_line): Declare.
2222         (final_start_function): Set proper line/file info.
2223
2224 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2225
2226         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
2227         handled by pp_c_cast_expression.
2228
2229 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
2230
2231         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
2232         allocate 32768 bytes of stack.  Use addition rather than subtraction
2233         when a single insn is enough.
2234         * config/mips/mips.md: Remove insns and splitters for subtracting
2235         constants.
2236         (subsi3): Only accept register operands.
2237         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
2238         (subdi3_internal_3, subsi3_internal_2): Likewise.
2239         (casesi): Use expand_binop to subtract the lower bound.
2240
2241 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
2242
2243         * config/mips/mips.c (mips_in_small_data_p): Don't handle
2244         TARGET_MIPS16 specially.
2245
2246 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
2247
2248         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
2249         mips_output_aligned_bss.
2250         * config/mips/linux.h: Likewise.
2251         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
2252         * config/mips/mips.c (mips_output_aligned_bss): New function.
2253
2254         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
2255         * config/mips/elf64.h: Likewise.
2256
2257         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
2258         mips_declare_object_name.
2259         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
2260         * config/mips/elf64.h: As for elf.h.
2261         * config/mips/iris6.h: Likewise.
2262         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
2263         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
2264         do...while (0) block.
2265         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
2266         (mips_finish_declare_object): Declare.
2267         * config/mips/mips.c (mips_declare_object_name): New function.
2268         (mips_finish_declare_object): New function.
2269
2270         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
2271         * config/mips/linux.h: Likewise.
2272
2273         * config/mips/mips.c (inside_function): Delete.
2274         (file_in_function_warning, ignore_line_number): Delete.
2275         (mips_output_filename): Don't warn about changing filenames within
2276         a function.
2277         (mips_output_lineno): Update accordingly.
2278         (mips_output_function_prologue): Don't reset the deleted variables.
2279         * config/mips/mips.h (inside_function): Delete.
2280         (file_in_function_warning, ignore_line_number): Delete.
2281
2282         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
2283         * config/mips/elf64.h: Likewise.
2284         * config/mips/openbsd.h: Likewise.
2285         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
2286         * config/mips/linux.h: Likewise.
2287         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
2288         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
2289
2290         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
2291         to the list of include files when using gas.
2292         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
2293         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
2294         * config/mips/elf64.h: Likewise.
2295         * config/mips/iris5.h: Likewise.
2296         * config/mips/linux.h: Likewise.
2297         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
2298         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
2299         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
2300         * config/mips/sdb.h: ...this new file.
2301
2302 2003-07-14  Douglas Rupp  <rupp@gnat.com>
2303
2304         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
2305         argument to getcwd; use fixed buffer instead.
2306
2307 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2308
2309         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
2310         * fixinc/fixinc.wrap: Delete.
2311
2312 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
2313
2314         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
2315         don't have 2.
2316
2317 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
2318
2319         * ggc-page.c (struct globals): Add new fields to keep track of the
2320         total allocated memory and overhead.
2321         (ggc_print_statistics): Print them.
2322         (ggc_alloc): Keep track of the total allocated memory and the
2323         overhead.
2324
2325         * tree.c (dump_tree_statistics): Increase spacing.
2326         (enum tree_node_kind): Move to ...
2327         * tree.h (enum tree_node_kind): ... here.
2328         (tree_node_counts, tree_node_sizes): Declare.
2329
2330 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
2331
2332         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
2333
2334 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2335
2336         PR optimization/11440
2337         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
2338         SIGN_EXTRACT SETs.
2339
2340 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
2341
2342         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
2343         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
2344         (emit_group_load, emit_group_store): Adjust declarations.
2345         Remove most occurrences of #ifdef TREE_CODE.
2346         * expr.c (emit_group_load): Add "type" param, and use
2347         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
2348         aligned accesses if !SLOW_UNALIGNED_ACCESS.
2349         (emit_group_store): Likewise.
2350         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
2351         emit_group_load and emit_group_store calls.
2352         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
2353         BLOCK_REG_PADDING to determine whether we need endian_correction.
2354         (load_register_parameters): Localize vars.  Handle shifting of
2355         small values to the correct end of regs.  Adjust emit_group_load
2356         call.
2357         (expand_call, emit_library_call_value_1): Adjust emit_group_load
2358         and emit_group_store calls.
2359         * function.c (assign_parms): Set mem alignment for stack slots.
2360         Adjust emit_group_store call.  Store values at the "wrong" end
2361         of regs to the stack.  Use BLOCK_REG_PADDING.
2362         (locate_and_pad_parm): Save where_pad.
2363         (expand_function_end): Adjust emit_group_load call.
2364         * stmt.c (expand_value_return): Adjust emit_group_load call.
2365         * Makefile.in (calls.o): Depend on $(OPTABS_H).
2366         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
2367         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
2368         (MUST_PASS_IN_STACK): Define.
2369         (BLOCK_REG_PADDING): Define.
2370         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
2371         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
2372         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
2373         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
2374         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
2375
2376 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
2377
2378         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
2379
2380 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2381
2382         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
2383         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
2384
2385 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2386
2387         PR other/11123
2388         * toplev.c: Don't cut off option names.
2389
2390 2003-07-13  Andreas Jaeger  <aj@suse.de>
2391
2392         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
2393         to integer of different size.
2394
2395 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
2396
2397         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
2398         to (eq (and X 1) 0).
2399
2400 2003-07-13  Andreas Jaeger  <aj@suse.de>
2401
2402         * config.gcc: Add pmmintrin.h for x86_64-*-*.
2403
2404 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
2405
2406         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
2407         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
2408         list.  Move these all together down by cpplib.
2409
2410         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
2411         definition of CPPCHAR_SIGNED_T.
2412
2413         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
2414         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
2415         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
2416
2417         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
2418         * cppinit.c (cpp_create_reader): Likewise.
2419
2420         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
2421         * cpptrad.c: Likewise.  All callers changed.
2422         * cpplib.c: All callers changed.
2423         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
2424         * hashtable.h: Define GTY(x) to nothing here too.
2425
2426 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2427
2428         * stor-layout.c (compute_record_mode): Remove very obsolete test
2429         that forces BLKmode for records with fields crossing word boundary.
2430
2431 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
2432
2433         * Makefile.in: Remove orphan reference to acconfig.h.
2434
2435 2003-07-13  Andreas Jaeger  <aj@suse.de>
2436
2437         * cgraphunit.c: Convert prototypes to ISO C90.
2438
2439 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2440
2441         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
2442         (for OpenBSD).
2443         * fixinc/fixincl.x: Rebuild.
2444
2445 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
2446
2447         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
2448         i?86-*-*.  Use correct name of cache variable.
2449         * configure: Regenerate.
2450
2451 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
2452
2453         * config/alpha/alpha.c: Fix comment typos.
2454         * config/alpha/alpha.md: Likewise.
2455         * config/arm/arm.c: Likewise.
2456         * config/arm/arm.md: Likewise.
2457         * config/arm/lib1funcs.asm: Likewise.
2458         * config/avr/avr.md: Likewise.
2459         * config/arm/README-interworking: Fix typos.
2460
2461 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
2462
2463         * c-format.c: Fix comment formatting.
2464         * c-typeck.c: Likewise.
2465         * coverage.c: Likewise.
2466         * cppcharset.c: Likewise.
2467         * cpplib.c: Likewise.
2468         * dbxout.c: Likewise.
2469         * gcov-io.h: Likewise.
2470         * toplev.c: Likewise.
2471
2472 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2473
2474         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
2475         fix.
2476
2477 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
2478
2479         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
2480         uses three-argument AC_DEFINE so no acconfig.h entries are
2481         needed.
2482         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
2483         which contains the GAS version number as a scaled integer.
2484         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
2485         ability to check for ELF assembler.
2486         (gcc_GAS_CHECK_FEATURE): New macro.
2487         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
2488         assembler feature checks using gcc_GAS_CHECK_FEATURE.
2489         Use three-argument AC_DEFINE everywhere.
2490         * acconfig.h: Deleted.
2491         * config.in, configure: Regenerate.
2492
2493 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2494
2495         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
2496         (on OpenBSD).
2497         * fixinc/fixincl.x: Regenerate.
2498
2499         * fixinc/inclhack.def (gnu_types): Improve comment.
2500
2501 2003-07-12  Andreas Jaeger  <aj@suse.de>
2502
2503         * fp-test.c (main): Use ISO C90 prototype.
2504
2505         * version.c: Remove unneded include of ansidecl.h.
2506
2507         * cgraph.h: Convert prototypes to ISO C90.
2508         * cgraph.c: Likewise.
2509         * fix-header.c: Likewise.
2510         * ra.h: Likewise.
2511         * protoize.c: Likewise.
2512
2513 Sat Jul 12 06:09:38 CEST 2003  Jan Hubicka  <jh@suse.cz>
2514
2515         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
2516         warning.
2517
2518 Sat Jul 12 03:06:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
2519                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2520
2521         * cgraph.c (cgraph_max_uid): New global variable.
2522         (cgraph_node): Set uid field.
2523         (create_edge): Keep inline flags consistent.
2524         (dump_cgraph): Dump more info.
2525         * cgraph.h (struct cgraph_local_info): Remove inline_many and
2526         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
2527         (struct cgraph_global_info): Add insns, calls, cloned_times,
2528         will_be_output.
2529         (struct cgraph_node): Add uid.
2530         (struct cgraph_edge): Add inline_call.
2531         (cgraph_max_uid, cgraph_inline_p): Declare.
2532         * cgraph.c: Include params.h and fibheap.h
2533         (cgraph_mark_functions_to_inline_once): Kill.
2534         (INSNS_PER_CALL): New constant.
2535         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
2536         static variables.
2537         (cgraph_finalize_function): Do not analyze inlining.
2538         (cgraph_finalize_compilation_unit): Set inlining attributes.
2539         (cgraph_mark_functions_to_output): More consistency checks.
2540         (cgraph_optimize_function): Set current_function_decl to NULL.
2541         (cgraph_expand_function): Use new inline flags.
2542         (cgraph_postorder): Expand from cgraph_expand_functions.
2543         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
2544         (cgraph_inlined_into, cgraph_inlined_callees,
2545         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
2546         cgraph_mark_inline, cgraph_check_inline_limits,
2547         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
2548         cgraph_decide_inlining, cgraph_inline_p): New functions.
2549         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
2550         PARAM_INLINE_UNIT_GROWTH): New parameters.
2551         * tree-inline.c (struct inline_data): New field current_decl.
2552         (expand_call_inline): Avoid forward declarations; use
2553         inlinable_function_p.
2554         (optimize_inline_calls): Set id.current_decl.
2555
2556 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
2557
2558         * configure.in: Remove wrongly added definition of
2559         local_prefix.
2560         * configure: Regenerate.
2561
2562 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
2563
2564         * rtl.def (NOTE): Do not use padding.
2565
2566 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
2567
2568         * doc/install.tex: Update required binutils for i?86-*-linux*
2569
2570 2003-07-11  Richard Henderson  <rth@redhat.com>
2571
2572         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
2573
2574 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
2575
2576         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
2577         TRANSLATION_UNIT_DECL as top_level.
2578
2579 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
2580
2581         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
2582         then fall back to cmpstrM.
2583         * builtins.c (expand_builtin_memcmp): Likewise.
2584         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
2585         (s390_expand_cmpmem): ... this.
2586         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
2587         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
2588         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
2589         to s390_expand_cmpmem.
2590         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
2591         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
2592         to cmpmem*.
2593         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
2594         cmpstr* patterns.
2595         * doc/md.texi (cmpstrM): Describe as String compare insn, not
2596         Block compare insn.
2597         (cmpmemM): Add.
2598
2599 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
2600
2601         * config/i386/freebsd.h (SET_ASM_OP): Remove.
2602         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
2603         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
2604          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
2605
2606 2003-07-11  Richard Henderson  <rth@redhat.com>
2607
2608         * function.c (assign_parms): Don't recombine complex args if
2609         fnargs is unchanged from orig_fnargs.
2610         (split_complex_args): Return args without complex before copying.
2611         Re-layout the modified parameters.
2612
2613 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
2614
2615         * regclass.c (choose_hard_reg_mode): Add third argument.
2616         Changed all callers.
2617         * rtl.h (choose_hard_reg_mode): Update declaration.
2618         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
2619         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
2620
2621 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
2622
2623         * c-decl.c (finish_decl): Handle 'used' here...
2624         * cgraphunit.c (cgraph_finalize_function): ... and here ...
2625         * c-common.c: (handle_used_attribute): ... not here.
2626
2627         * configure.in (onstep): Support --enable-intermodule.
2628         * Makefile.in (OBJS-common): New.
2629         (OBJS-md): New.
2630         (OBJS-archive): New.
2631         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
2632         (OBJS-onestep): New.
2633         (libbackend.a): Support @onestep@.
2634         (libbackend.o): New.
2635         * configure: Regenerate.
2636
2637         * c-common.h (c_reset_state): New prototype.
2638         (c_parse_file): New prototype.
2639         (finish_file): Move prototype from c-tree.h.
2640         * c-decl.c: Include <hashtab.h>.
2641         (builtin_decls): New.
2642         (current_file_decl): New.
2643         (duplicate_decls): Add extra parameter. Change all callers.  Don't
2644         output duplicate common symbols.
2645         (link_hash_hash): New.
2646         (link_hash_eq): New.
2647         (poplevel): Handle popping of the top level.
2648         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
2649         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
2650         (pushdecl_top_level): Likewise.
2651         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
2652         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
2653         (finish_decl): Handle TRANSLATION_UNIT_DECL.
2654         (merge_translation_unit_decls): New.
2655         (c_write_global_declarations): New.
2656         (c_reset_state): New.
2657         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
2658         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
2659         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
2660         TRANSLATION_UNIT_DECL.
2661         (c_objc_common_finish_file): Call merge_translation_unit_decls.
2662         * c-opts.c (in_fnames): Rename from in_fname.
2663         (c_common_decode_option): Handle multiple input filenames.
2664         (c_common_post_options): Likewise.
2665         (c_common_parse_file): Likewise; also, call c_parse_file rather than
2666         yyparse.
2667         * c-parse.in: Move cleanup code to c_parse_file.
2668         (free_parser_stacks): Move contents to c_parse_file.
2669         (c_parse_file): New.
2670         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
2671         for integer types.
2672         (C_DECL_FILE_SCOPE): New.
2673         (finish_file): Move prototype to c-common.h.
2674         (merge_translation_unit_decls): New prototype.
2675         (comptypes): Add extra parameter to prototype.
2676         (c_write_global_declarations): New prototype.
2677         * c-typeck.c (tagged_types_tu_compatible_p): New.
2678         (function_types_compatible_p): Add extra parameter, change all callers.
2679         (type_lists_compatible_p): Likewise.
2680         (comptypes): Likewise.
2681         (struct tagged_tu_seen): New.
2682         (tagged_tu_seen_base): New.
2683         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
2684         (c_mark_addressable): Remove #if 0 code.
2685         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
2686         comment explaining why it shouldn't have to.
2687         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
2688         options.
2689         * cppinit.c (cpp_read_next_file): New.
2690         (cpp_read_main_file): Use it.
2691         * cpplib.c (undefine_macros): New.
2692         (cpp_undef_all): New.
2693         * cpplib.h (cpp_read_next_file): Prototype.
2694         (cpp_undef_all): Prototype.
2695         * langhooks-def.h (write_global_declarations): Remove prototype.
2696         * toplev.h (write_global_declarations): Add prototype.
2697         * tree.c (decl_type_context): Use switch statement, handle
2698         TRANSLATION_UNIT_DECL.
2699         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
2700         (TRANSLATION_UNIT_DECL): New kind of tree.
2701         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
2702         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
2703         * doc/invoke.texi: Make attempt to document new functionality.
2704
2705         2003-05-19  Per Bothner <bothner@apple.com>
2706
2707         * gcc.c (combine_inputs): New.
2708         (process_command): Set combine_inputs.
2709         (do_spec_1): Handle combine_inputs.
2710         (main): Likewise.
2711
2712 2003-07-10  James E Wilson  <wilson@tuliptree.org>
2713
2714         PR optimization/9745
2715         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
2716         loop_insn_emit_before.
2717         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
2718
2719 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
2720
2721         * cppcharset.c: Fix comment.
2722         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
2723         (EILSEQ): #define to EINVAL if not already defined.
2724         (convert_using_iconv): #if out when !HAVE_ICONV.
2725         (init_iconv_desc): Handle !HAVE_ICONV here...
2726         (cpp_init_iconv): ...not here.
2727
2728 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
2729
2730         * common.opt: More --help messages.
2731         * opts.c (print_help): Use puts().
2732         * toplev.c (f_options): Remove help text.
2733         (display_help): Don't dump f_options.
2734
2735 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
2736
2737         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
2738         Move i?86-*-interix* to the don't-fix list.
2739         * fixinc/fixinc.interix: Delete with extreme prejudice.
2740
2741 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
2742
2743         PR bootstrap/10758
2744         * doc/install.texi: Document requirements for ia64-*-hpux* target.
2745
2746 2003-07-10  Roger Sayle  <roger@eyesopen.com>
2747
2748         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
2749
2750 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
2751
2752         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
2753         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
2754         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
2755         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
2756         convert_no_conversion, convert_using_iconv): New functions.
2757         (APPLY_CONVERSION): New macro.
2758         (struct conversion, conversion_tab): New data structure.
2759         (init_iconv_desc): Check conversion_tab for a custom conversion
2760         primitive before trying to use iconv.
2761         (convert_cset): Deleted.
2762         (cpp_init_iconv): Use UTF- terminology, not UCS-.
2763         (_cpp_destroy_iconv): Update to match.
2764         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
2765         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
2766         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
2767         (_cpp_interpret_string_notranslate): New function, moved here
2768         from cpplib.c.
2769
2770         * cpphash.h (convert_f, struct cset_converter): New types.
2771         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
2772         are now struct cset_converter, not bare iconv_t.
2773         Update prototypes.
2774         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
2775         all callers changed.
2776
2777 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
2778
2779         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
2780         to opts.sh command line.
2781         * opts.sh: Write to temporary files with a move-if-change at the end.
2782
2783 2003-07-10  Denis Chertykov  <denisc@overta.ru>
2784             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2785
2786         * combine.c (gen_binary): Handle the CLOBBER rtx and
2787         don't build a binary operation with it.
2788
2789 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2790
2791         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
2792         store_killed_after, store_killed_before): Keep track of the correct
2793         dependency function to use.
2794
2795 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
2796         * toplev.c (do_compile): Don't try to open dump files before
2797         lang_dependent_init initializes dump_base_name.
2798
2799 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2800
2801         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
2802         Use ARRAY_SIZE.
2803         * config/frv/frv.c (frv_expand_builtin): Likewise.
2804         * config/sh/sh.c (sh_media_init_builtins): Likewise.
2805
2806 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
2807
2808         PR c++/10032
2809         * doc/invoke.texi (C++ Dialect Options): Change documentation of
2810         -fpermissive.
2811
2812 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
2813
2814         * tm.texi (RETURN_ADDR_OFFSET): Document.
2815
2816 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
2817
2818         * gcov-io.h: Update documentation.
2819         (GCOV_UNSIGNED2STRING): New.
2820         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
2821         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
2822         GCOV_TAG_SUMMARY_LENGTH): Adjust.
2823         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
2824         GCOV_TAG_COUNTER_NUM): New.
2825         (GCOV_BLOCK_SIZE): Number of words.
2826         (gcov_var): Adjust buffer type.
2827         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
2828         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
2829         count, not byte count.
2830         (gcov_open): Adjust overread init.
2831         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
2832         gcov_write_string, gcov_write_tag, gcov_write_length,
2833         gcov_write_tag_length): Adjust.
2834         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
2835         (gcov_sync, gcov_seek): Adjust.
2836         * gcov-dump.c (print_usage): Show gcc version only.
2837         (dump_file): Use GCOV_UNSIGNED2STRING.
2838         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
2839         * gcov.c (print_version): Show gcc version only.
2840         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
2841         GCOV_TAG_*_NUM macros.
2842         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
2843         GCOV_TAG_COUNTER_LENGTH.
2844         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
2845         Use GCOV_TAG_COUNTER_NUM.
2846         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
2847         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
2848
2849 2003-07-10  Andreas Schwab  <schwab@suse.de>
2850
2851         * gcov-dump.c (dump_file): Fix missing address operator.
2852
2853 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
2854
2855         PR c/11449
2856         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
2857         of HOST_WIDE_INT.
2858         (fold_single_bit_test): If sign_bit_p() fails, assume that the
2859         bit being tested is not a sign bit.
2860
2861 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
2862
2863         * config/h8300/h8300.md (a peephole2): New.
2864
2865 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
2866
2867         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
2868         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
2869         from ld-linux.so.2 to ld.so.1.
2870         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
2871         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
2872         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
2873         nor -Wl,-rpath-link.
2874         (LIB_SPEC): Add -rpath-link if !static.
2875         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
2876         * config/mn10300/mn10300.c (mn10300_protect_label): New
2877         variable.
2878         * config/mn10300/linux.h (PRINT_OPERAND,
2879         PRINT_OPERAND_ADDRESS): Set it during their execution.
2880         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
2881         mn10300_protect_label is set.
2882         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
2883         -Wl,-rpath-link.
2884         (LIB_SPEC, STARTFILE_SPEC): Define.
2885         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
2886         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
2887         FLOAT_BIT_ORDER_MISMATCH.
2888         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
2889         * config.gcc (am33_2.0-*-linux*): Added.
2890         * config/mn10300/linux.h: New.
2891         * config/mn10300/t-linux: New.
2892
2893 2003-07-10  Andreas Jaeger  <aj@suse.de>
2894
2895         * fold-const.c: Properly wrap prototypes.
2896
2897 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2898
2899         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
2900         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
2901         Moved from...
2902         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
2903         * config/mn10300/mn10300.h: GTY-declare it.
2904         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
2905         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
2906         prototype.  Use incoming RTL argument.
2907         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
2908         * config/mn10300/mn10300.md (int_label): Move C statements...
2909         (GOTaddr2picreg): ... here.
2910         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
2911         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
2912         * config/mn10300/mn10300.c (mn10300_encode_section_info):
2913         ... here.  New function.
2914         (TARGET_ENCODE_SECTION_INFO): Define to it.
2915         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
2916         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
2917         pattern name.
2918         (mn10300_loadPC): Define as insn splittable after reload.
2919         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
2920         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
2921         be defined in .rodata even in PIC, now that the assembler
2922         supports that.
2923         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
2924         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
2925         symbol take an underscore prefix.
2926         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
2927         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
2928         legitimize_pic_address): Declare.
2929         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
2930         the PIC register as fixed.
2931         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
2932         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
2933         PIC.
2934         (LEGITIMATE_PIC_OPERAND_P): Define.
2935         (PIC_OFFSET_TABLE_REGNUM): Define.
2936         (GOT_SYMBOL_NAME): Define.
2937         (SYMBOLIC_CONST_P): Define.
2938         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
2939         symbols.
2940         (MN10300_GLOBAL_P): Test it.
2941         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
2942         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
2943         * config/mn10300/mn10300.c (print_operand): Handle unspec.
2944         (expand_prologue): Set PIC register.
2945         (call_address_operand): Don't match SYMBOL_REFs in PIC.
2946         (legitimize_address): Call legitimize_pic_address.
2947         (legitimize_pic_address): New fn.
2948         (legitimate_pic_operand_p): New fn.
2949         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
2950         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
2951         UNSPEC_PLT): New constants.
2952         (pop_pic_reg): New insn.
2953         (movsi): Adjust non-PIC addresses.
2954         (builtin_setjmp_receiver): Restore the PIC register.
2955         (casesi): New insn.
2956         (call): Adjust non-PIC addresses.
2957         (int_label, GOTaddr2picreg): New expands.
2958         (am33_loadPC): New insn.
2959         (mn10300_loadPC): New expand.
2960         (call_next_insn): New insn.
2961         (add_GOT_to_pic_reg): New expand.
2962         (symGOT2reg, symGOT2reg_i): New expands.
2963         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
2964         (sym2PIC, sym2PLT): New expands.
2965
2966 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2967
2968         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
2969         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
2970         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
2971         to flag_unsafe_math_optimizations.
2972         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
2973         * config/mn10300/mn10300.c (expand_prologue): Mark
2974         FP-register-saving insns as frame-related.
2975         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
2976         * config/mn10300/mn10300.c
2977         (mn10300_get_live_callee_saved_regs): Don't search past
2978         LAST_EXTENDED_REGNUM.
2979         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
2980         * config/mn10300/mn10300.md: Remove excessive line breaks from
2981         `@' output patterns that were accounted as additional
2982         alternatives.
2983         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
2984         Re-introduce changes accidentally removed in Richard Sandiford's
2985         2000-12-05's patch.
2986         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
2987         Re-instate am33-2 lost in merge from net GCC.
2988         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
2989         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
2990         floating-point registers.
2991         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
2992         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
2993         pessimizations that had gone in on 2000-05-08.
2994         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
2995         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
2996         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
2997         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
2998         operand 0.
2999         * (movhi): Likewise.
3000         * (movsi): Likewise.
3001         * (movsf): Likewise.
3002         * (movdi): Likewise.
3003         * (movdf): Likewise.
3004         Wed May 24 13:16:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
3005         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
3006         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
3007         (expand_prologue, expand_epilogue): Save and restore FP regs.
3008         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
3009         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
3010         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
3011         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
3012         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
3013         Do not clobber cc0.
3014         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
3015         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
3016         Discourage the two-argument, longer opcodes.
3017         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
3018         ones.
3019         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
3020         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
3021         * config/mn10300/mn10300.md (cmpsf): New pattern.
3022         (branch): Test mdep.fpCC and output fbCC.
3023         * config/mn10300/mn10300.c (print_operand): Output conditions.
3024         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
3025         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
3026         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
3027         mulsf3, divsf3): Use the `F' constraint for FP values.
3028         * config/mn10300/mn10300.c (const_1f_operand): New function.
3029         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
3030         * config/mn10300/mn10300.md (sqrtsf2): New expand.
3031         (rsqrtsf2): New insn.
3032         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
3033         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
3034         previous check-in.
3035         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
3036         * config/mn10300/mn10300.md (abssf2, negdf2): On
3037         TARGET_AM33_2, expand to...
3038         (abssf2_am33_2, negdf2_am33_2): New insns.
3039         (addsf3, subsf3, mulsf3, divsf3): Likewise.
3040         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
3041         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
3042         movdi, movdf): Added FP regs.
3043         * invoke.texi (-mam33-2, -mno-am33-2): Document.
3044         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
3045         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
3046         New macros.
3047         (REGNO_AM33_2_FP_P): Renamed to...
3048         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
3049         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
3050         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
3051         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
3052         regs from GENERAL_REGS.
3053         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
3054         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
3055         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
3056         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
3057         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
3058         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
3059         as FP_REGS.
3060         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
3061         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
3062         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
3063         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
3064         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
3065         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
3066         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
3067         AM33/2.0 floating-point registers.
3068         (CONDITIONAL_REGISTER_USAGE): Adjust.
3069         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
3070         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
3071         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
3072         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
3073         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
3074         (MULTILIB_DIRNAMES): Likewise.
3075         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
3076         `__AM33_2__' when `-mam33-2' is given.
3077         (TARGET_AM33_2): Define.
3078         (TARGET_SWITCHES): Adjust.
3079         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
3080         when appropriate.
3081
3082 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
3083
3084         * doc/install.texi: Add missing @.
3085
3086 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
3087
3088         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
3089
3090 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
3091
3092         PR/11144
3093         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
3094
3095 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
3096
3097         PR bootstrap/11043
3098         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
3099         "x-crtfini.o" with "crtinit.o", "crtfini.o".
3100
3101         * fixinc/inclhack.def (limits_ifndefs): Add select test.
3102         * fixinc/fixincl.x: Rebuild.
3103
3104         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
3105         * fixinc/fixincl.x: Rebuild.
3106
3107 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
3108
3109         * doc/install.texi (Configuration): Document the valgrind option
3110         to --enable-checking.
3111
3112 Wed Jul  9 16:16:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
3113
3114         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
3115
3116 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3117
3118         * c-lex.c (cb_ident): Cast cstr.text to const char *.
3119
3120 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
3121
3122         * gcov-io.h: Update documentation.
3123         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
3124         GCOV_NOTE_MAGIC.
3125         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
3126         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
3127         (struct gcov_var): Change buffer's type. Add endian flag.
3128         (gcov_open): Remove mode in libgcov.
3129         (gcov_magic): Prototype.
3130         * gcov-io.c (from_file): New.
3131         (gcov_open): Clear endian flag.
3132         (gcov_magic): New.
3133         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
3134         pointers.
3135         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
3136         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
3137         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
3138         * gcov-iov.c (main): Correct cast.
3139         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
3140         conversion.
3141         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
3142         (coverage_init): Use GCOV_NOTE_SUFFIX.
3143         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
3144         Rename to gcov_version, and return flag.
3145         (gcov_exit): Use gcov_version.
3146         (__gcov_init): Use gcov_version.
3147         * Makefile.in (coverageexts): Update.
3148         * gcov.c (print_version): Remove endianness conversion.
3149         (create_file_names): Use GCOV_NOTE_SUFFIX.
3150         (read_graph_file): Use gcov_magic.
3151         (read_count_file): Likewise.
3152         * gcov-dump.c (dump_file): Remove endianness conversion, use
3153         gcov_magic.
3154
3155 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
3156
3157         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
3158         coverage is on.
3159         * configure: Regenerated.
3160         * Makefile.in (ALL_CFLAGS): Correct its comment.
3161
3162 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
3163
3164         * fold-const.c (make_range): Do not access operand 1 for a
3165         zero-operand operator.
3166
3167 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
3168
3169         * toplev.c (warn_dummy, W_options): Die.
3170         (display_help): Don't print W_options.
3171         * common.opt: Add W_options help from toplev.c.
3172
3173 2003-07-09  Andreas Jaeger  <aj@suse.de>
3174
3175         * opts.c (wrap_help): Only pass int arguments as arguments to
3176         printf's '*' modifier.  Change argument of function.
3177
3178 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
3179
3180         * doc/invoke.texi: Fix misspelling of "@item".
3181
3182 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
3183
3184         * config/i386/i386.md: Remove an old comment about
3185         NOTICE_UPDATE_CC.
3186
3187 Wed Jul  9 03:00:10 CEST 2003  Jan Hubicka  <jh@suse.cz>
3188
3189         * cgraph.c (cgraph_node_name): New function.
3190         (dump_cgraph): Use it.
3191         * cgraph.h (cgraph_dump_file): Declare.
3192         (cgraph_node_name): Declare.
3193         * cgraphunit.c: Include timevar.h
3194         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
3195         (cgraph_optimize_function): Use TV_INTEGRATION.
3196         (cgraph_mark_local_functions): reorganize dumps.
3197         (cgraph_mark_functions_to_inline_once): Likewise.
3198         (cgraph_optimize): Likewise; use timevar.
3199         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
3200         * toplev.c (dump_file_index): Add DFI_cgraph.
3201         (dump_file_info): Likewise.
3202         (cgraph_dump_file): New global variable.
3203         (do_compile): Open and close cgraph dump.
3204         * invoke.texi (-d): Document new flag; renumber.
3205
3206 2003-07-08  Roger Sayle  <roger@eyesopen.com>
3207
3208         PR c/11370
3209         * calls.c (emit_call_1): Don't bother popping the arguments off of
3210         the stack after a noreturn function call;  The adjustment is dead.
3211         (expand_call): Likewise.
3212
3213 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
3214
3215         * expr.c (MOVE_MAX_PIECES): Move from here...
3216         * defaults.h (MOVE_MAX_PIECES): ... to here.
3217
3218 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
3219
3220         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
3221
3222 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3223
3224         * genattr.c (internal_dfa_insn_code): Don't prototype.
3225         * genattrtab.c (attr_desc): Add `static_p' field.
3226         (expand_units): Make blockage range and ready cost functions
3227         static.
3228         (write_attr_get): Don't add extern prototypes in C file.  Mark
3229         static functions as appropriate.
3230         (find_attr, make_internal_attr): Initialize static_p.
3231         * genattrtab.h (ATTR_STATIC): New macro.
3232         * genautomata.c (output_internal_reset_func): Mark output function
3233         as inline.
3234         (make_internal_dfa_insn_code_attr): Mark output function as static.
3235
3236 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3237
3238         * genattrtab.h: Add new macros for attr `special' flags.
3239         * genattrtab.c (attr_desc): Reorder/resize fields better.
3240         Use attr `special' macros in all calls to make_internal_attr.
3241         * genautomata.c: Likewise.
3242
3243 Wed Jul  9 02:25:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
3244
3245         * c-common.c (c_estimate_num_insns_1): New static function.
3246         (c_estimate_num_insns): New global function.
3247         * c-common.h (DECL_NUM_STMTS): Rename to...
3248         (DECL_ESTIMATED_INSNS): ... this.
3249         (c_estimate_num_insns): Declare.
3250         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
3251         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
3252         * c-semantics.c (add_stmt): Do not account statements.
3253         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
3254         New.
3255         * langhooks.h (lang_hooks_for_tree_inlining): Add
3256         estimate_num_insns
3257         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
3258         to 100.
3259         (max-inline-insns): set to 300.
3260         (min-inline-insns): set to 10.
3261         * tree-inline.c (struct inline_data): Rename inlined_stmts to
3262         inlined-insns.
3263         (INSNS_PER_STMT): Kill.
3264         (inlinable_function_p): Compute and store body size.
3265         (expand_call_inline): Likewise.
3266         (optimize_inline_calls): Likewise.
3267
3268 2003-07-08  James E Wilson  <wilson@tuliptree.org>
3269
3270         PR target/10021
3271         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
3272         loop over new variable t2 instead of t.
3273
3274 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
3275
3276         PR bootstrap/11455
3277         * config/i386/winnt.c: Replace use of error(), warning() with
3278         error_with_decl(), warning_with_decl(),  throughout.
3279
3280 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
3281
3282         * opts.c (wrap_help): Use unsigned int, not size_t.
3283
3284 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
3285
3286         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
3287         as .file/.loc directives are incompatible with linker relaxation.
3288
3289 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
3290
3291         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
3292         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
3293         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
3294         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
3295         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
3296         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
3297         Escape { and } characters which are not part of range expressions.
3298         * fixinc/fixincl.x: Regenerate.
3299         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
3300
3301 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
3302
3303         PR c/1687
3304         * tree-inline.c (find_alloca_call): Use
3305         walk_tree_without_duplicates, instead of walk_tree.
3306         (find_builtin_longjmp_call): Likewise.
3307         * c-objc-common.c (c_cannot_inline_fn): Likewise.
3308         * c-semantics.c (find_reachable_label): Likewise.
3309
3310 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
3311
3312         PR c/11420
3313         * config/i386/i386.c (ix86_check_movabs): New function.
3314         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
3315         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
3316         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
3317
3318 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
3319
3320         * Makefile.in (install-po): Cope with empty CATALOGS.
3321
3322 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
3323
3324         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
3325         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
3326         (SECTION_FUNCTION_TEMPLATE): Delete.
3327         * config/mips/elf.h: As for elf64.h.
3328         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
3329         * config/mips/linux.h: As for elf.h
3330         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
3331         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
3332         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
3333         of in_sdata from current_section_name and current_section_flags.
3334         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
3335         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
3336         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
3337         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
3338         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
3339         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
3340         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
3341         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
3342         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
3343         (override_options): Remove setting of MASK_GPOPT.
3344         (mips_output_external): Use mips_in_small_data_p to check whether a
3345         symbol needs an .extern directive.  Don't emit such directives for
3346         TARGET_EXPLICIT_RELOCS.
3347         (mips_declare_object): Update accordingly.
3348         (mips_select_rtx_section): Call named_section rather than
3349         SMALL_DATA_SECTION.
3350         (mips_select_section): Use default_elf_section_section for everything
3351         except .text string constants.
3352         (mips_in_small_data_p): New function.
3353         (mips_encode_section_info): Remove small data handling.
3354         (mips_unique_section): Delete.
3355         (iris6_section_type_flags): New function.
3356         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
3357
3358 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3359
3360         PR Target/11453
3361         * pa.md: Disparage all mtsar constraints.
3362         (extzv, extv, insv): Don't fail on length of {32|64}.
3363
3364 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
3365
3366         * system.h: Poison MAP_CHARACTER.
3367         * config/i370/i370-protos.h (mvs_map_char): Delete.
3368         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
3369         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
3370         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
3371
3372 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
3373
3374         * toplev.c (randomize): Correct call to time().
3375
3376 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
3377
3378         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
3379         REG_EQUIV notes as well.
3380
3381 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
3382
3383         * doc/md.texi: Fix the description of addmodecc.
3384
3385 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
3386
3387         * Makefile.in (top_builddir): Set to "..", not ".".
3388         (INTLLIBS, INTLDEPS): Delete.
3389         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
3390         (LIBDEPS): Add $(LIBICONV_DEP).
3391         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
3392         (INCLUDES): Replace -I../intl with @INCINTL@.
3393         ($(top_builddir)/intl/libintl.a): Delete rule.
3394         (stage2-start, stage3-start, stage4-start, stageprofile-start,
3395         stagefeedback-start): Use $$ for variable to be evaluated by
3396         shell, not make.
3397         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
3398         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
3399         * aclocal.m4: sinclude ../config/progtest.m4.  Add
3400         contents of lcmessage.m4 from gettext distro.
3401         * configure.in: Check for wchar.h and setlocale.  Set
3402         LIBICONV_DEP to the empty string and substitute it.
3403         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
3404         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
3405         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
3406         in $LIBINTL, to avoid linking it twice.
3407         * configure, config.in: Regenerate.
3408
3409 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3410
3411         * fixinc/mkfixinc.sh: Remove winnt support.
3412         * fixinc/fixinc.winnt: Delete with extreme prejudice.
3413
3414 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
3415
3416         * Makefile.in: Update.
3417         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
3418         * c.opt: Update documentation.
3419         * common.opt: Add some help text.
3420         * opts.c: Include intl.h.
3421         (wrap_help, print_help): New.
3422         (find_opt, handle_option, common_handle_option): opt_text now
3423         contains the '-'.  Use print_help to output help.
3424         * opts.h (struct cl_option): New member "help".
3425         * opts.sh: Update to handle help text output and to prepend
3426         options with '-'.
3427         * toplev.c (display_help): Remove some help text.
3428
3429 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
3430             Fariborz Jahanian  <fjahanian@apple.com>
3431
3432         * configure.in: Test for PowerPC mfcr field support in assembler.
3433         * config.in, configure: Regenderated.
3434
3435         * config/rs6000/power4.md: Add mfcrf reservation.
3436         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
3437         * config/rs6000/rs6000.c (mfcr_operation): Define.
3438         (print_operand): Add 'Q' case for mfcrf.
3439         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
3440         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
3441         (movcc_internal1): Emit optional field operand for mfcr and set
3442         "type" attribute appropriately.
3443         (mfcr SCC): Likewise.
3444         (movesi_from_cr_one): New.
3445
3446 2003-07-07  Roger Sayle  <roger@eyesopen.com>
3447
3448         * config/i386/i386.md: Correct check-in of incorrect version.
3449
3450 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3451
3452         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
3453         adjacent stdio calls.
3454         * c-decl.c (c_print_identifier): Likewise.
3455         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
3456         * print-rtl.c (print_rtx): Likewise.
3457         * print-tree.c (print_node_brief, print_node): Likewise.
3458         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
3459
3460         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
3461         * config.in, configure: Regenerated.
3462
3463 2003-07-07  Roger Sayle  <roger@eyesopen.com>
3464
3465         PR target/10979
3466         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
3467         Changed to define_expand patterns that copy operand[1] to prevent
3468         it from being clobbered before emitting an atan2?f3_1 insn.
3469         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
3470         patterns that actually specify the behaviour of x87's FPATAN.
3471
3472 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
3473
3474         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
3475         clearing of SYMBOL_FLAG_LOCAL bit.
3476         If vcall_offset fits into signed 16-bit immediate, use
3477         one instruction for both addition and load.
3478
3479 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
3480
3481         * opts.c (common_handle_option): Correct handling of the
3482         -falign- switches that do and don't take an argument.
3483
3484 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
3485
3486         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
3487         today.
3488         (pushhi1_h8300hs): Likewise.
3489
3490 2003-07-07  Andreas Jaeger  <aj@suse.de>
3491
3492         * genextract.c: Convert remaining prototypes to ISO C90.
3493
3494         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
3495         * fold-const.c (fold_single_bit_test): Likewise.
3496         * diagnostic.c (default_diagnostic_finalizer): Likewise.
3497         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
3498
3499         * gengtype.c (write_array): Generate ISO C90 prototypes.
3500
3501         * genflags.c (gen_proto): Generate ISO C90 prototypes.
3502
3503 2003-07-07  Roger Sayle  <roger@eyesopen.com>
3504
3505         PR optimization/11059
3506         * expr.c (can_store_by_pieces): Return true if length is zero.
3507         (store_by_pieces): If length is zero and endp is two, abort,
3508         othwerise, if length is zero and endp is not two, return "to".
3509         (clear_by_pieces): Do nothing if length is zero.
3510         (clear_storage): Do nothing if length is zero.
3511         (store_constructor): Simplify code when size is zero, or the
3512         target has already been cleared.  This avoids emitting a
3513         blockage instruction when initializing empty structures.
3514
3515 2003-07-07  Andreas Jaeger  <aj@suse.de>
3516
3517         * mips-tfile.c: Convert prototypes to ISO C90.
3518         * mips-tdump.c: Convert prototypes to ISO C90.
3519
3520 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
3521
3522         * rtl.h (emit_line_note): Take a location_t.
3523         (emit_line_note_force): Remove.
3524         (set_file_and_line_for_statement): Take a location_t.
3525         * tree.g (emit_line_note): Take a location_t.
3526         * emit-rtl.c (emit_line_note): Take a location_t.
3527         (emit_line_note_force): Remove.
3528         * function.c (init_function_start): Adjust emit_line_note call.
3529         (expand_function_end): Use force_next_line_note, not
3530         emit_line_note_force.
3531         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
3532         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
3533         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
3534         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
3535         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
3536         genrtl_continue_stmt, genrtl_switch_stmt,
3537         genrtl_asm_stmt): Likewise.
3538         * expr.c (expand_expr): Likewise.
3539         * integrate.c (expand_inline_function): Likewise.
3540         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
3541         (expand_decl_init): Adjust emit_line_note call.
3542
3543 2003-07-07  Dale Johannesen  <dalej@apple.com>
3544
3545         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
3546
3547 2003-07-07  Andreas Jaeger  <aj@suse.de>
3548
3549         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
3550         * config/i386/i386.c: Likewise.
3551
3552 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
3553
3554         * config/h8300/h8300.md: Use gen_int_mode instead of
3555         GEN_INT (trunc_int_for_mode (...)).
3556
3557 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
3558
3559         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
3560         2 bytes and then subtract 2 from the stack pointer.
3561         (pushhi1_h8300hs): Likewise.
3562
3563 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
3564
3565         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
3566         -frandom-seed.
3567         * configure: Regenerated.
3568         * Makefile.in: Remove extraneous comment.
3569         * toplev.c (randomize): Protect against potential multiple calls.
3570         * doc/invoke.texi (-frandom-seed): Document use for in coverage
3571         files.
3572
3573 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3574             Eric Botcazou  <ebotcazou@libertysurf.fr>
3575
3576         PR optimization/11198
3577         * alias.c (objects_must_conflict_p): Return 1 if the types have
3578         the same alias set, not if the alias sets only conflict.
3579
3580 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
3581
3582         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
3583         (convert_cset): Change inbuf to type ICONV_CONST char.
3584         * Makefile.in (LIBS): Add LIBICONV.
3585
3586         * doc/invoke.texi (-falign-functions): Document that
3587         when n is zero then a machine-dependent default is used.
3588         (-falign-labels): Document that when n is zero then a
3589         machine-dependent default is used and that -falign-labels =1
3590         is equivalent to -fno-align-labels.
3591         (-falign-loops): Likewise.
3592         (-falign-jumps): Likewise.
3593
3594 2003-07-06  Art Haas  <ahaas@airmail.net>
3595
3596         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
3597         initializer syntax.
3598
3599 2003-07-06  James E Wilson  <wilson@tuliptree.org>
3600
3601         PR optimization/9812
3602         * rtl.h (mem_for_const_double): Delete prototype.
3603         * varasm.c (mem_for_const_double): Delete function.
3604         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
3605         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
3606         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
3607         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
3608         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
3609         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
3610         comment about confused support for XFmode constants.
3611
3612 Mon Jul  7 02:03:56 CEST 2003  Jan Hubicka  <jh@suse.cz>
3613
3614         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
3615
3616 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
3617
3618         * config/h8300/h8300.c: Fix comment typos.
3619         * config/h8300/h8300.md: Likewise.
3620         * config/i386/athlon.md: Likewise.
3621         * config/i386/i386.c: Likewise.
3622         * config/i386/pentium.md: Likewise.
3623         * config/ia64/ia64.c: Likewise.
3624         * config/ia64/itanium1.md: Likewise.
3625         * config/ia64/itanium2.md: Likewise.
3626         * config/m32r/m32r.md: Likewise.
3627         * config/m68hc11/m68hc11.c: Likewise.
3628         * config/mcore/mcore.c: Likewise.
3629         * config/mips/sr71k.md: Likewise.
3630         * config/mips/t-iris5-as: Likewise.
3631         * config/mmix/mmix.h: Likewise.
3632         * config/ns32k/ns32k.h: Likewise.
3633         * config/ns32k/NOTES: Fix a typo.
3634
3635 2003-07-06  Andreas Jaeger  <aj@suse.de>
3636
3637         * stmt.c: Convert remaining prototypes to ISO C90.
3638         * cfglayout.c: Likewise.
3639         * dbxout.c: Likewise.
3640         * gcc.c: Likewise.
3641         * genemit.c: Likewise.
3642
3643         * basic-block.h: Convert prototypes to ISO C90.
3644         * c-parse.in: Likewise.
3645         * c-pragma.h: Likewise.
3646         * c-typeck.c: Likewise.
3647         * cfghooks.h: Likewise.
3648         * cfgloopanal.c: Likewise.
3649         * dbxout.h: Likewise.
3650         * debug.h: Likewise.
3651         * dwarf2asm.h: Likewise.
3652         * gcov.c: Likewise.
3653         * gengtype-lex.l: Likewise.
3654         * sched-int.h: Likewise.
3655         * timevar.c: Likewise.
3656
3657 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
3658
3659         * c-common.h (c_comon_handle_filename,
3660         c_common_missing_arguement): New.
3661         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
3662         LANG_HOOKS_MISSING_ARGUMENT): New.
3663         * c-opts.c (missing_arg): Rename c_common_missing_argument,
3664         update to be an appropriate langhook.
3665         (c_common_handle_option): Don't handle filenames.
3666         (c_common_handle_filename): New.
3667         * hooks.c (hook_void_constcharptr,
3668         hook_bool_constcharptr_size_t_false): New.
3669         * hooks.h (hook_void_constcharptr,
3670         hook_bool_constcharptr_size_t_false): New.
3671         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
3672         LANG_HOOKS_MISSING_ARGUMENT): New.
3673         (LANG_HOOKS_INITIALIZER): Update.
3674         * langhooks.h (struct lang_hooks): Add handle_filename and
3675         missing_argument.
3676         * opts.c (handle_option): Don't handle filenames here, but ...
3677         (handle_options): ... here.
3678         (common_handle_option): Don't handle missing arguments here.
3679         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
3680         LANG_HOOKS_MISSING_ARGUMENT): New.
3681
3682 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
3683
3684         * Makfile.in: Remove traces of mbchar.
3685         * c-parse.in (MULTIBYTE_CHARS): Remove.
3686         * config.in (MULTIBYTE_CHARS): Remove.
3687         * configure: Remove --enable-mbchar.
3688         * configure.in: Remove --enable-mbchar.
3689         * mbchar.c, mbchar.h: Remove.
3690         * system.h: Poison MULTIBYTE_CHARS.
3691         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
3692         * config/linux.h (MULTIBYTE_CHARS): Remove.
3693         * config/svr4.h (MULTIBYTE_CHARS): Remove.
3694         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
3695
3696 2003-07-06  Andreas Jaeger  <aj@suse.de>
3697
3698         * varray.c (varray_check_failed): Fix typo.
3699
3700         * unroll.c: Convert prototypes to ISO C90.
3701         * varasm.c: Likewise.
3702         * varray.c: Likewise.
3703         * varray.h: Likewise.
3704         * vmsdbgout.c: Likewise.
3705         * xcoffout.c: Likewise.
3706         * xcoffout.h: Likewise.
3707
3708 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
3709
3710         * gcov-io.h: Add a local time stamp.
3711         (struct gcov_info): Add stamp field.
3712         (gcov_truncate): New.
3713         * coverage.c (read_counts_file): Skip the stamp.
3714         (coverage_begin_output): Write the stamp.
3715         (build_gcov_info): Declare and init the stamp.
3716         (coverage_finish): Only unlink data file, if stamp is zero.
3717         * gcov-dump.c (dump_file): Dump the stamp.
3718         * gcov.c (bbg_stamp): New.
3719         (release_structures): Clear bbg_stamp.
3720         (read_graph_file): Read stamp.
3721         (read_count_file): Check stamp.
3722         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
3723
3724 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
3725
3726         * tree.h (default_flag_random_seed): Remove.
3727         * toplev.h (local_tick): Declare.
3728         * tree.c (flag_random_seed, default_flag_random_seed): Move to
3729         toplev.c.
3730         (append_random_chars): Don't call default_flag_random_seed.
3731         * toplev.c (flag_random_seed): Define here. Set local_tick.
3732         (local_tick): Define.
3733         (randomize): New, moved from tree.c.
3734         (print_switch_values): Adjust.
3735         (toplev_main): Call randomize.
3736
3737 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
3738
3739         * tree.h (crc32_string): Declare.
3740         * tree.c (append_random_chars): Remove.
3741         (crc32_string): New.
3742         (get_file_function_name_long): Use crc32_string here.
3743
3744 2003-07-06  Andreas Jaeger  <aj@suse.de>
3745
3746         * gcc.c: Convert prototypes to ISO C90.
3747         * gcc.h: Likewise.
3748         * gcov-dump.c: Likewise.
3749         * gcov-iov.c: Likewise.
3750         * gcse.c: Likewise.
3751         * genattrtab.h: Likewise.
3752         * ggc.h: Likewise.
3753         * global.c: Likewise.
3754         * graph.c: Likewise.
3755         * graph.h: Likewise.
3756         * hosthooks.h: Likewise.
3757         * hooks.h: Likewise.
3758         * hooks.c: Likewise.
3759         * hashtable.h: Likewise.
3760         * hashtable.c: Likewise.
3761         * haifa-sched.c: Likewise.
3762         * integrate.h: Likewise.
3763         * integrate.c: Likewise.
3764         * input.h: Likewise.
3765         * ifcvt.c: Likewise.
3766         * jump.c: Likewise.
3767         * langhooks-def.h: Likewise.  Add extern to prototypes.
3768         * langhooks.c: Likewise.
3769         * langhooks.h: Likewise.
3770         * lcm.c: Likewise.
3771         * local-alloc.c: Likewise.
3772         * loop-init.c: Likewise.
3773         * loop-unroll.c: Likewise.
3774         * loop-unswitch.c: Likewise.
3775         * loop.c: Likewise.
3776         * loop.h: Likewise. Add extern to prototypes.
3777         * machmode.h: Likewise.
3778         * main.c: Likewise.
3779         * mbchar.c: Likewise.
3780         * mbchar.h: Likewise.
3781         * mkdeps.c: Likewise.
3782         * mkdeps.h: Likewise.
3783         * optabs.c: Likewise.
3784         * optabs.h: Likewise.
3785         * output.h: Likewise.
3786         * gccspec.c: Likwise.
3787         * postreload.c: Likewise.
3788         * prefix.c: Likewise.
3789         * prefix.h: Likewise.
3790         * print-rtl.c: Likewise.
3791         * print-tree.c: Likewise.
3792         * profile.c: Likewise.
3793         * read-rtl.c: Likewise.
3794         * real.c: Likewise.
3795         * real.h: Likewise.
3796         * recog.c: Likewise.
3797         * recog.h: Likewise.
3798         * reg-stack.c: Likewise.
3799         * regclass.c: Likewise.
3800         * regmove.c: Likewise.
3801         * regrename.c: Likewise.
3802         * regs.h: Likewise.
3803         * reload.c: Likewise.
3804         * reload.h: Likewise.
3805         * reload1.c: Likewise.
3806         * reorg.c: Likewise.
3807         * resource.c: Likewise.
3808         * resource.h: Likewise.
3809         * rtl-error.c: Likewise.
3810         * rtl.c: Likewise.
3811         * rtl.h: Likewise.
3812         * rtlanal.c: Likewise.
3813         * sbitmap.c: Likewise.
3814         * sbitmap.h: Likewise.
3815         * scan-decls.c: Likewise.
3816         * scan.c: Likewise.
3817         * sched-deps.c: Likewise.
3818         * sched-ebb.c: Likewise.
3819         * sched-int.h: Likewise.
3820         * sched-rgn.c: Likewise.
3821         * sched-vis.c: Likewise.
3822         * sibcall.c: Likewise.
3823         * simplify-rtx.c: Likewise.
3824         * sreal.c: Likewise.
3825         * sreal.h: Likewise.
3826         * ssa-ccp.c: Likewise.
3827         * ssa-dce.c: Likewise.
3828         * ssa.c: Likewise.
3829         * ssa.h: Likewise.
3830         * stack.h: Likewise.
3831         * stmt.c: Likewise.
3832         * stor-layout.c: Likewise.
3833         * stringpool.c: Likewise.
3834         * target.h: Likewise.
3835         * timevar.c: Likewise.
3836         * timevar.h: Likewise.
3837         * tlink.c: Likewise.
3838         * tracer.c: Likewise.
3839         * tree-inline.c: Likewise.
3840         * tree-inline.h: Likewise.
3841         * tree.c: Likewise.
3842         * tree.h: Likewise.
3843
3844 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3845
3846         * combine.c (nonzero_bits1): Fix a warning.
3847
3848 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3849
3850         * config/h8300/h8300.c (compute_mov_length): Correct the
3851         length of loading CONST0_RTX (SFmode).
3852
3853 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
3854
3855         * toplev.c (output_clean_symbol_name): Remove.
3856         * toplev.h (output_clean_symbol_name): Remove.
3857         * config/alpha/alpha.c (unicosmk_output_module_name): Use
3858         lbasename & clean_symbol_name.
3859
3860 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3861
3862         * ggc.h: Follow spelling conventions.
3863         * config/i386/i386.c: Likewise.
3864         * config/i386/winnt.c: Likewise.
3865         * config/rs6000/rs6000.c: Likewise.
3866
3867 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
3868
3869         * bt-load.c: Fix comment typos.
3870         * c-incpath.c: Likewise.
3871         * cfg.c: Likewise.
3872         * cfgcleanup.c: Likewise.
3873         * cfgloop.h: Likewise.
3874         * cfgloopmanip.c: Likewise.
3875         * cfgrtl.c: Likewise.
3876         * diagnostic.h: Likewise.
3877         * dwarfout.c: Likewise.
3878         * emit-rtl.c: Likewise.
3879         * et-forest.c: Likewise.
3880         * et-forest.h: Likewise.
3881         * expr.c: Likewise.
3882         * gcse.c: Likewise.
3883         * genattr.c: Likewise.
3884         * jump.c: Likewise.
3885         * langhooks.h: Likewise.
3886         * local-alloc.c: Likewise.
3887         * loop-unroll.c: Likewise.
3888         * loop-unswitch.c: Likewise.
3889         * ra-build.c: Likewise.
3890         * regclass.c: Likewise.
3891         * regmove.c: Likewise.
3892         * rtl.def: Likewise.
3893         * rtlanal.c: Likewise.
3894         * sched-ebb.c: Likewise.
3895         * sched-rgn.c: Likewise.
3896         * simplify-rtx.c: Likewise.
3897         * ssa.c: Likewise.
3898         * tracer.c: Likewise.
3899         * tree.c: Likewise.
3900
3901 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
3902
3903         * cppcharset.c: Use the correct return type for the fallback iconv
3904         macro.
3905
3906 Sat Jul  5 16:18:53 CEST 2003  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3907
3908         Blame to Jan Hubicka  <jh@suse.cz>
3909         * cfglayout.c (record_effective_endpoints): Split insns before
3910         first basic block correctly.
3911
3912 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3913
3914         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
3915         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
3916         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
3917
3918 2003-07-05  Andreas Jaeger  <aj@suse.de>
3919
3920         * genattrtab.c (write_attr_get): Revert part of last patch to
3921         always write out a prototype.
3922
3923         * genemit.c (gen_split): Readd lost unused attributes in last
3924         patch.
3925
3926 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3927
3928         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
3929         different from header.
3930
3931 2003-07-05  Andreas Schwab  <schwab@suse.de>
3932
3933         * config/m68k/m68k.c: Remove code protected by CRDS.
3934         * config/m68k/m68k.md: Likewise.
3935
3936 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
3937
3938         PR driver/11417
3939         * c-opts.c (permit_fortran_options): New.
3940         (c_common_init_options): Accept fortran front end options if
3941         it looks like we might be preprocessing Fortran.
3942         (c_common_handle_option): Don't reject switch if permit_fotran_options.
3943
3944 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3945
3946         * genattr.c (internal_dfa_insn_code): Output prototype.
3947         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
3948         * genautomata.c: Likewise.
3949         * genconditions.c: Likewise.
3950         * genemit.c: Likewise.
3951         * genextract.c: Likewise.
3952         * gengenrtl.c: Likewise.
3953         * gengtype.c: Likewise.
3954         * genopinit.c: Likewise.
3955         * genoutput.c: Likewise.
3956         * genpeep.c: Likewise.
3957         * genrecog.c: Likewise.
3958
3959 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
3960
3961         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
3962         (struct cpp_options): Add narrow_charset, wide_charset,
3963         bytes_big_endian fields.  Remove EBCDIC field.
3964         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
3965
3966         * cpphash.h: Include <iconv.h> if we have it, otherwise
3967         provide a dummy definition of iconv_t.
3968         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
3969         (_cpp_valid_ucn): Update prototype.
3970         (_cpp_destroy_iconv): New prototype.
3971
3972         * doc/cpp.texi: Document character set handling.
3973         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
3974         * doc/extend.texi: Delete entire section on multiline strings.
3975         Rewrite section on __FUNCTION__ etc now that these are
3976         variables in C.
3977
3978         * cppucnid.tab, cppucnid.pl: New files.
3979         * cppucnid.h: New generated file.
3980         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
3981         (iconv_open, iconv, iconv_close): Provide dummy definitions
3982         if !HAVE_ICONV.
3983         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
3984         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
3985         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
3986         cpp_interpret_string, narrow_str_to_charconst,
3987         wide_str_to_charconst): New.
3988         (ucn_valid_in_identifier): Use a binary search through the
3989         ucnranges table defined in cppucnid.h, not a long chain of if
3990         statements.
3991         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
3992         character names are only valid in C++ and C99" to a warning.
3993         Issue the "meaning of \[uU] is different in traditional C"
3994         warning here.  Take care not to let iconv see an invalid UCS
3995         value if we get a malformed UCN.  Issue an error if we don't
3996         have iconv.
3997         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
3998         cpp_interpret_string to do the heavy lifting.
3999
4000         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
4001         narrow_charset, wide_charset fields of options structure.
4002         (cpp_destroy): Call _cpp_destroy_iconv.
4003         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
4004         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
4005         (cpp_interpret_charconst): Moved to cppcharset.c.
4006         * cpplib.c (dequote_string): Delete.
4007         (interpret_string_notranslate): New.
4008         (do_line, do_linemarker): Use interpret_string_notranslate.
4009
4010         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
4011
4012         * c-common.c (fname_string, combine_strings): Delete.
4013         * c-common.h (fname_string, combine_strings): Delete prototypes.
4014         * c-lex.c (ignore_escape_flag): Delete.
4015         (cb_ident): Use cpp_interpret_string, not lex_string.
4016         (get_nonpadding_token): New function.
4017         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
4018         Adjust calls to lex_string.  Don't write *value twice.
4019         (lex_string): Now handles string constant concatenation.
4020         Most of the work handed off to cpp_interpret_string.
4021         Call fix_string_type here.
4022         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
4023         FUNC_NAME, throughout.
4024         (OBJC_STRING): New token type.
4025         (primary:STRING): No need to call fix_string_type here.
4026         (primary:objc_string): Make that OBJC_STRING.
4027         (objc_string nonterminal): Delete.
4028         (yylexname): Delete code to handle fake string constants.
4029         (yylexstring): Delete entirely.
4030         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
4031         to handle CPP_ATSIGN.
4032
4033         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
4034         * c-opts.c (missing_arg, c_common_handle_option): Handle
4035         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
4036         (c_common_init): Set cpp_opts->bytes_big_endian, not
4037         cpp_opts->EBCDIC.  Call cpp_init_iconv.
4038         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
4039         (TARGET_EBCDIC): Delete default definition.
4040
4041         * objc/objc-act.c (build_objc_string_object): No need to
4042         handle string constant concatenation.
4043
4044 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
4045
4046         * doc/install.texi: Fix typos.
4047         * doc/invoke.texi: Likewise.
4048         * doc/tm.texi: Likewise.
4049
4050 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
4051
4052         * config/pa/fptr.c: Fix comment typos.
4053         * config/pa/pa-64.h: Likewise.
4054         * config/pa/pa.c: Likewise.
4055         * config/pa/pa.h: Likewise.
4056         * config/rs6000/603.md: Likewise.
4057         * config/rs6000/7xx.md: Likewise.
4058         * config/rs6000/darwin.h: Likewise.
4059         * config/rs6000/freebsd.h: Likewise.
4060         * config/rs6000/rs6000.c: Likewise.
4061         * config/rs6000/rs6000.md: Likewise.
4062         * config/rs6000/spe.h: Likewise.
4063
4064 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
4065
4066         * config/s390/2064.md: Change GNU CC to GCC.
4067         * config/s390/2084.md: Likewise.
4068         * config/s390/fixdfdi.h: Likewise.
4069         * config/s390/linux.h: Likewise.
4070         * config/s390/s390-modes.def: Likewise.
4071         * config/s390/s390-protos.h: Likewise.
4072         * config/s390/s390.c: Likewise.
4073         * config/s390/s390.h: Likewise.
4074         * config/s390/s390.md: Likewise.
4075         * config/s390/s390x.h: Likewise.
4076
4077 2003-07-04  Jeff Law  <law@redhat.com>
4078
4079         PR c/11428
4080         * expr.c (do_store_flag): Pass in the correct result type
4081         when calling fold_single_bit_test.
4082         * fold-const.c (fold_single_bit_test): Use result_type for the
4083         result when folding a sign bit test.
4084
4085 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
4086
4087         * opts.c (common_handle_options): Negate sense of -falign- switches.
4088
4089 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
4090
4091         * Makefile.in: Replace PWD with PWD_COMMAND.
4092
4093 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4094
4095         * cfgloopanal.c (count_strange_loop_iterations): New static function.
4096         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
4097         Handle strange loops.
4098
4099 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
4100
4101         * install.texi: Even the g77 manpage is derived from
4102         the full g77 manual.
4103
4104 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
4105
4106         * ABOUT-NLS: Delete.
4107         * intl: Delete entire directory.
4108         * aclocal.m4: Include ../config/gettext.m4.  Delete
4109         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
4110         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
4111         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
4112         Remove intl/Makefile from all_outputs.
4113         * configure, config.in: Regenerate.
4114         * Makefile.in: Expunge all references to intl subdirectory.
4115         Add -I../intl to INCLUDES.
4116         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
4117
4118 2003-07-04  Roger Sayle  <roger@eyesopen.com>
4119
4120         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
4121         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
4122
4123 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
4124
4125         PR c++/5287, PR c++/7910, PR c++/11021
4126         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
4127         dllimport attribute if function is defined at declaration, but
4128         report error instead. Likewise for dllimport'd variable
4129         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
4130         declared within functions, Report error if dllimport or dllexport
4131         symbol is not global.
4132         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
4133         if defined after declaration or if inlined. Don't allow definition
4134         of static data members of C++ classes. Don't dllimport virtual
4135         methods.
4136         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
4137         (i386_pe_mark_dllimport): Remove unnecessary checks.
4138         (i386_pe_encode_section_info): Warn if the dllimport attribute
4139         and symbol prefix have been instantiated and then overridden.
4140
4141         * doc/extend.texi: Document dllimport and dllexport attributes.
4142
4143         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
4144
4145 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
4146
4147         * config/kaos.h (CPP_PREDEFINES): Delete.
4148         (TARGET_OS_CPP_BUILTINS): New.
4149
4150 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4151
4152         * c-aux-info.c: Include toplev.h after c-tree.h.
4153         * c-common.c: Likewise.
4154         (GCC_DIAG_STYLE): Undef.
4155         * c-semantics.c (GCC_DIAG_STYLE): Define.
4156         * c-tree.h (GCC_DIAG_STYLE): Likewise.
4157         * diagnostic.h (inform): Move prototype to toplev.h.
4158         * jump.c: Include diagnostic.h before toplev.h.
4159         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
4160         (warning, error, fatal_error, pedwarn, sorry, inform,
4161         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
4162
4163 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4164
4165         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
4166         at all if edge is not specified.
4167         (can_copy_bbs_p, copy_bbs): New.
4168         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
4169         * cfgloop.c (get_loop_body): Comment more precisely.
4170         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
4171         (scale_bbs_frequencies): Fix comment typo.
4172         (can_duplicate_loop_p): Use can_copy_bbs_p.
4173         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
4174
4175 2003-07-03  Devang Patel <dpatel@apple.com>
4176
4177         * c-opts.c (c_common_parse_file): Remove extra
4178         debug_hooks->start_source_file call.
4179
4180 2003-07-03  Roger Sayle  <roger@eyesopen.com>
4181
4182         * real.c (real_trunc, real_floor, real_ceil): New functions
4183         to implement trunc, floor and ceil respectively.
4184         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
4185         * builtins.c (integer_valued_real_p): New function to test if
4186         a floating point expression has an integer valued result.
4187         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
4188         foo(x) where foo is an integer rounding function.  Similarly,
4189         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
4190         (double)(int)x when both foo and bar are integer rounding
4191         functions and we don't need to honor errno.
4192         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
4193         New functions to fold trunc, floor and ceil.
4194         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
4195         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
4196         to fold BUILT_IN_CEIL*.
4197         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
4198         the remaining integer rounding functions.
4199
4200 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
4201
4202         * config/sparc/sparc.c (function_arg_partial_nregs): Use
4203         SPARC_INT_ARG_MAX to determine where to split unnamed
4204         complex FP arguments.
4205
4206 Thu Jul  3 20:36:47 CEST 2003  Jan Hubicka  <jh@suse.cz>
4207
4208         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
4209         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
4210         (merge_blocks_move_predecessor_nojumps,
4211          merge_blocks_move_successor_nojumps): Use merge_blocks.
4212         (try_optimize_cfg): Use merge_blocks_move.
4213         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
4214         (merge_blocks_nomove): Rename to rtl_merge_blocks.
4215         (cfg_layout_create_basic_block): New.
4216         (rtl_can_merge_blocks): New.
4217         (cfg_layout_split_block): Do not alloc aux by hand.
4218         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
4219         merge_blocks.
4220         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
4221         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
4222         * cfgloopmanip.c (loop_split_edge_with): Likewise.
4223         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
4224
4225         * basic-block.h (basic_block_def): Add field 'rbi'.
4226         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
4227         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
4228         * cfg.c (entry_exit_blocks): Add new field.
4229         * cfglayout.c: Include alloc-pool.h;
4230         (cfg_layout_pool): New.
4231         (record_effective_endpoints, fixup_reorder_chain,
4232         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
4233         of rbi.
4234         (cfg_layout_initialize_rbi): New function.
4235         (cfg_layout_initialize): Use it.
4236         (cfg_layout_finalize): Clear rbi fields.
4237         * cfglayout.h (RBI): Kill.
4238         (cfg_layout_initialize_rbi): Declare.
4239         * cfgloopmanip.c (copy_bbs): Use rbi.
4240         (record_exit_edges): Likewise.
4241         (duplicate_loop_to_header_edge): Likewise.
4242         * cfgrtl.c (cfg_layout_create_basic_block): Use
4243         cfg_layout_initialize_rbi.
4244         (cfg_layout_split_block): Use rbi.
4245         (cfg_layout_delete_block): Likewise.
4246         * loop-init.c (loop_optimizer_finalize): Likewise.
4247         * loop-unswitch.c (unswitch_loop): Likewise.
4248         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
4249
4250         * cfgrtl.c: Update comments.
4251         (try_redirect_by_replacing_jump): New argument.
4252         (redirect_branch_edge): Break out from ...
4253         (rtl_redirect_edge_and_branch): ... this one.
4254         (update_cfg_after_block_merging): Break out from ...
4255         (rtl_merge_blocks): ... this one.
4256         (cfg_layout_split_edge): New.
4257         (cfg_layout_merge_blocks): New.
4258         (cfg_layout_can_merge_blocks_p): New.
4259         (cfg_layout_redirect_edge_and_branch): Reorganize.
4260         (cfg_layout_rtl_cfg_hooks): Fill in.
4261         (cfg_layout_delete_block): Kill barriers.
4262         * cfganal.c (can_fallthru): Deal with exit blocks
4263         * cfglayout.c (cfg_layout_function_header): New function
4264         (record_effective_endpoints): Record function header.
4265         (fixup_reorder_chain): Fixup dead jumptables; place header
4266
4267         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
4268         * bb-reorder.c (cfg_layout_initialize): Update call.
4269         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
4270         edges in cfglayout mode.
4271         * cfglayout.c (cleanup_unconditional_jumps): Kill.
4272         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
4273         * cfglayout.h (cfg_layout_initialize): Update prototype.
4274         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
4275         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
4276         * flow.c (propagate_block): Do not crash when basic block ends
4277         by first insn in the chain.
4278         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
4279         do loop discovery.
4280         * tracer.c (tracer): Update call of cfg_layout_initialize.
4281
4282 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4283
4284         * Makefile.in: Use dependency variables in lieu of explicit
4285         files throughout.
4286
4287 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
4288
4289         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
4290         * tree.h: ...to here.
4291
4292 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
4293
4294         * config/s390/2064.md: Fix comment typos.
4295         * config/s390/2084.md: Likewise.
4296         * config/s390/s390.c: Likewise.
4297         * config/s390/s390.md: Likewise.
4298         * config/sh/sh.c: Likewise.
4299         * config/sh/sh.h: Likewise.
4300         * config/sh/sh.md: Likewise.
4301         * config/sparc/sparc.c: Likewise.
4302         * config/sparc/sparc.h: Likewise.
4303         * config/sparc/sparc.md: Likewise.
4304         * config/stormy16/stormy16.c: Likewise.
4305         * config/stormy16/stormy16.h: Likewise.
4306         * config/stormy16/stormy-abi: Fix a typo.
4307
4308 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
4309
4310         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
4311
4312 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4313
4314         * config/mips/mips.h (save_argv): Delete.
4315
4316 2003-07-03  Roger Sayle  <roger@eyesopen.com>
4317
4318         PR target/10700
4319         * fold-const.c (extract_muldiv_1): There's nothing that can be done
4320         if the expression is a SAVE_EXPR.
4321
4322 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
4323
4324         * config/m32r/m32r.c: Fix comment typos.
4325         * config/m68hc11/m68hc11.c: Likewise.
4326         * config/m68hc11/m68hc11.h: Likewise.
4327         * config/m68k/m68k.c: Likewise.
4328         * config/mcore/mcore.c: Likewise.
4329         * config/mcore/mcore.h: Likewise.
4330         * config/mcore/mcore.md: Likewise.
4331         * config/mips/mips.c: Likewise.
4332         * config/mips/mips.h: Likewise.
4333         * config/mips/mips.md: Likewise.
4334         * config/mips/netbsd.h: Likewise.
4335         * config/mn10300/mn10300.c: Likewise.
4336
4337 2003-07-03  Andreas Schwab  <schwab@suse.de>
4338
4339         * dbxout.c (pending_bincls): Move decl down inside
4340         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
4341
4342 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
4343
4344         * rtl.h (NOTE_DATA): Refer to whole union.
4345         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
4346
4347 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
4348
4349         PR optimization/11381
4350         * simplify-rtx.c (simplify_relational_operation): Check that
4351         two equal operands have no side-effects before simplifying
4352         the comparison.
4353
4354 2003-07-02  Jeff Law  <law@redhat.com>
4355
4356         * expr.c (do_store_flag): Remove special case folding for
4357         single bit tests.  Instead call back into the commonized folder
4358         routine.
4359         * fold-const.c (fold_single_bit_test): New function, mostly
4360         extracted from do_store_flag, with an additional case extracted
4361         from fold.
4362         (fold): Call fold_single_bit_test appropriately.
4363         * tree.h (fold_single_bit_test): Prototype.
4364
4365 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
4366
4367         * system.h: Include filenames.h.
4368         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
4369         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
4370         define based on HAVE_DOS_BASED_FILE_SYSTEM.
4371         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
4372         * config/i386/xm-mingw32.h: Don't define
4373         HAVE_DOS_BASED_FILE_SYSTEM,
4374         DIR_SEPARATOR, or DIR_SEPARATOR_2.
4375         * doc/hostconfig.texi: Update to match.
4376
4377         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
4378         config/i386/cygwin.h:
4379         Use IS_ABSOLUTE_PATH throughout.
4380         * gcc.c (DIR_UP): Delete, unused.
4381         * protoize.c (IS_SAME_PATH): Define in terms of
4382         FILENAME_CMP.
4383         (is_abspath): Delete.
4384
4385 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
4386
4387         * config/i386/emmintrin.h: Fix comment typos.
4388         * config/i386/i386.c: Likewise.
4389         * config/i386/i386.h: Likewise.
4390         * config/i386/sco5.h: Likewise.
4391         * config/ia64/ia64.c: Likewise.
4392         * config/ia64/itanium2.md: Likewise.
4393
4394 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
4395
4396         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
4397         DBX_USE_BINCL.
4398         (emit_bincl_stab): Same.
4399         (emit_pending_bincls): Same.
4400
4401 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
4402
4403         * config/h8300/h8300.c (compute_mov_length): Fix the length of
4404         loading CONST0_RTX (SFmode).
4405         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
4406         'G' to CONST0_RTX (SFmode).
4407         * config/h8300/h8300.md (movsf_h8300): Change the first
4408         constraint to 'G'.
4409         (movsf_h8300h): Likewise.
4410
4411 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
4412
4413         * c-common.h (c_common_init_options): New prototype.
4414         * c-opts.c (deferred_size): Remove.
4415         (defer_opt): Array is now pre-allocated.
4416         (c_common_init_options): Pre-allocate deferred_opts.  Make
4417         lang_flags unsigned.
4418         (push_command_line_options): Free deferred_opts.
4419         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
4420         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
4421         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
4422         * langhooks.h (struct lang_hooks): New prototype for init_options.
4423         * main.c (main): Cast argv.
4424         * opts.c (handle_option, handle_options): Update prototypes.
4425         (decode_options): save_argc, save_argv are not global.  Constify.
4426         * opts.h (decode_options): New prototype.
4427         * toplev.c (general_init): New protoype.
4428         (save_argv): Make static.
4429         (save_argc): Remove.
4430         (print_switch_values, general_init): Constify.
4431         (toplev_main): Save argv.
4432         * toplev.h (toplev_main): Update prototype.
4433         (save_argc, save_argv): Remove.
4434
4435 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
4436
4437         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
4438         (emit_bincl_stab): Same.
4439         (emit_pending_bincls): Same.
4440
4441 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
4442
4443         PR c++/11072
4444         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
4445
4446 2003-07-02  Andreas Schwab  <schwab@suse.de>
4447
4448         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
4449
4450 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
4451
4452         PR optimization/11210
4453         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
4454         about the behaviour with regard to bitfields.
4455         * fold-const (decode_field_reference): Record outermost type in
4456         case the expression is a NOP. Strip all NOPs. Set the signedness
4457         to that of the outermost type (if any) when the bitsize is equal
4458         to the size of the type.
4459
4460 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
4461
4462         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
4463         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
4464         (adddi3_internal_3, addsi3_internal_2): Likewise.
4465
4466 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
4467
4468         * config/mips/mips.c (machine_function): Add new fields:
4469         ignore_hazard_length_p and all_noreorder_p.
4470         (mips_flag_delayed_branch): New variable.
4471         (override_options): Treat '/' as an operand punctuation character.
4472         Set up mips_flag_delayed_branch.
4473         (print_operand): Handle '/'.
4474         (mips_output_function_prologue): Put the whole function in
4475         .set noreorder and .set nomacro if all_noreorder_p is true.
4476         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
4477         (mips16_optimize_gp): Remove "first insn" parameter.
4478         (mips16_lay_out_constants): New function, split out from mips_reorg.
4479         (mips_avoid_hazard, mips_avoid_hazards): New functions.
4480         (mips_reorg): For mips16 code, call mips16_lay_out_constant
4481         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
4482         do delayed-branch scheduling followed by hazard detection.
4483         (mips_adjust_insn_length): Only account for hazards if
4484         !ignore_hazard_length_p.
4485         (mips_output_load_label): Add a nop to the o32 sequence if
4486         the target suffers from load delays.
4487         (mips_output_conditional_branch): Add %/ to the end of branches.
4488         (mips_output_division): Fill the branch delay slot with %#.
4489         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
4490         instructions.  End all other %* branches with %/.
4491         (ffssi2, ffsdi2): Fix lengths.
4492         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
4493         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
4494         (fix_truncsfsi2_macro): Likewise.
4495         (mov_lwl): Set hazard to "none".
4496         (ashldi3_internal): Fill the branch delay slot with %#.
4497         (ashrdi3_internal, lshrdi3_internal): Likewise.
4498         (exception_receiver): Explicitly set $28.
4499         (hazard_nop): New pattern.
4500
4501 Wed Jul  2 08:12:36 CEST 2003  Jan Hubicka  <jh@suse.cz>
4502
4503         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
4504         before calling tree_inlinable_function_p.
4505
4506 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4507
4508         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
4509         <internal/stdio_core.h> too.
4510         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
4511         <internal/wchar_core.h> too.
4512         Substitute va_list uses in inline definition.
4513         * fixinc/fixincl.x: Regenerate.
4514
4515 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4516
4517         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
4518         Undef before redefinition.
4519         (LABEL_AFTER_LOC): Likewise.
4520         (DEFAULT_SIGNED_CHAR): Likewise.
4521         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
4522         Fix IRIX spelling.
4523
4524         * config/mips/iris3.h: Remove, unused.
4525         * config/mips/iris4.h: Likewise.
4526
4527         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
4528
4529         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
4530         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
4531         target_cpu_default.
4532
4533         * config/mips/iris5.h: Move explicit includes ...
4534         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
4535
4536         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
4537         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
4538         tm_defines.
4539
4540         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
4541         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
4542         target_cpu_default.
4543
4544         * config/mips/iris6.h: Fix IRIX spelling.
4545         (MULTILIB_DEFAULTS): Undef before redefinition.
4546
4547         * config/mips/iris6.h: Move explicit includes ...
4548         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
4549
4550 Wed Jul  2 02:16:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
4551
4552         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
4553         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
4554         Use next_needed field instead of aux to maintain the queue.
4555         * cgraph.h (cgraph_node): Add next_needed.
4556         (cgraph_varpool_node): Add next_needed; remove aux.
4557         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
4558
4559 Wed Jul  2 02:12:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
4560
4561         * cgraphunit.c (cgraph_finalize_function): Set finalized.
4562         (cgraph_finalize_function): Do not examine inlinablility.
4563         (cgraph_finalize_compilation_unit): Do it here.
4564         * cgraph.h (cgraph_local_info): Add finalized field.
4565
4566 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4567
4568         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
4569         (gt_pch_restore): Likewise.
4570
4571 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
4572
4573         * config/alpha/alpha.c: Fix comment typos.
4574         * config/alpha/elf.h: Likewise.
4575         * config/arm/arm.c: Likewise.
4576         * config/arm/arm.h: Likewise.
4577         * config/arm/arm.md: Likewise.
4578         * config/arm/t-arm-coff: Likewise.
4579         * config/arm/t-strongarm-pe: Likewise.
4580         * config/arm/xscale-elf.h: Likewise.
4581         * config/avr/avr.h: Likewise.
4582
4583 2003-07-01  Jeff Law  <law@redhat.com>
4584
4585         * stmt.c (any_pending_cleanups): Remove another redundant test.
4586
4587 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
4588             J"orn Rennecke <joern.rennecke@superh.com>
4589
4590         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
4591         for MEM case.
4592
4593 2003-07-01  Devang Patel  <dpatel@apple.com>
4594
4595         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
4596         (binclstatus): New.
4597         (struct dbx_file): New members - bincl_status, pending_bincl_name and
4598         prev.
4599         (pending_bincls): New.
4600         (dbxout_init): Initialize new dbx_file members.
4601         (dbxout_start_source_file): Same.
4602         (emit_bincl_stab): New function.
4603         (emit_pending_bincls): Same.
4604         (emit_pending_bincls_if_required): Same.
4605         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
4606         processed.
4607         (dbxout_begin_block): Emit pending BINCL stabs.
4608         (dbxout_end_block): Same.
4609         (dbxout_function_decl): Same.
4610         (dbxout_continue): Same.
4611         (dbxout_type): Same.
4612         (dbxout_class_name_qualifiers): Same.
4613         (dbxout_symbol): Same.
4614         (dbxout_symbol_location): Same.
4615         (dbxout_parms): Same.
4616
4617 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4618
4619         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
4620         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
4621
4622 2003-07-01  Andreas Jaeger  <aj@suse.de>
4623
4624         * fold-const.c: Convert prototypes to ISO C90.
4625         * function.c: Likewise.
4626         * function.h: Likewise.
4627
4628 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
4629
4630         * doc/contrib.texi: Fix typos.
4631         * doc/invoke.texi: Likewise.
4632         * doc/passes.texi: Likewise.
4633         * doc/sourcebuild.texi: Likewise.
4634         * doc/tm.texi: Likewise.
4635
4636 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
4637
4638         * basic-block.h: Fix comment typos.
4639         * bb-reorder.c: Likewise.
4640         * c-format.c: Likewise.
4641         * cfgcleanup.c: Likewise.
4642         * cfghooks.h: Likewise.
4643         * cfgloop.c: Likewise.
4644         * cfgloopmanip.c: Likewise.
4645         * cfgrtl.c: Likewise.
4646         * cgraph.h: Likewise.
4647         * cgraphunit.c: Likewise.
4648         * combine.c: Likewise.
4649         * convert.c: Likewise.
4650         * dbxout.c: Likewise.
4651         * df.c: Likewise.
4652         * df.h: Likewise.
4653         * diagnostic.c: Likewise.
4654         * dwarf2out.c: Likewise.
4655         * et-forest.h: Likewise.
4656         * flow.c: Likewise.
4657         * fold-const.c: Likewise.
4658         * function.h: Likewise.
4659         * gcov-io.h: Likewise.
4660         * gcov.c: Likewise.
4661         * gcse.c: Likewise.
4662         * genautomata.c: Likewise.
4663         * ggc-common.c: Likewise.
4664         * ggc-page.c: Likewise.
4665         * loop-unroll.c: Likewise.
4666         * loop-unswitch.c: Likewise.
4667         * loop.c: Likewise.
4668         * mips-tfile.c: Likewise.
4669         * optabs.c: Likewise.
4670         * ra-build.c: Likewise.
4671         * ra-colorize.c: Likewise.
4672         * ra-rewrite.c: Likewise.
4673         * ra.h: Likewise.
4674         * regmove.c: Likewise.
4675         * reload.c: Likewise.
4676         * rtlanal.c: Likewise.
4677         * sched-ebb.c: Likewise.
4678         * sched-int.h: Likewise.
4679         * sched-vis.c: Likewise.
4680         * sreal.c: Likewise.
4681         * ssa-ccp.c: Likewise.
4682         * ssa.c: Likewise.
4683         * toplev.c: Likewise.
4684         * tree-inline.c: Likewise.
4685         * value-prof.c: Likewise.
4686         * value-prof.h: Likewise.
4687
4688 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
4689
4690         * rtl.h (emit_line_note_after): Remove.
4691         (emit_note_copy_after, emit_note_copy): New.
4692         * emit-rtl.c (reorder_insns_with_line_notes): Replace
4693         emit_line_note_after with emit_note_copy_after.
4694         (emit_insn_after_with_line_notes): Likewise.
4695         (emit_line_note_after): Kill.
4696         (emit_note_copy_after): New.
4697         (emit_note_copy): New.
4698         * function.c (emit_return_into_block): Use emit_note_copy_after.
4699         (thread_prologue_and_epilogue_insns): Likewise.
4700         * integrate.c (expand_inline_function): Use emit_note_copy.
4701         (copy_insn_list): Likewise.
4702         * unroll.c (copy_loop_body): Likewise.
4703         * cfglayout.c (duplicate_insn_chain): Likewise.
4704
4705 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
4706
4707         * c-tree.h (define_label): Replace filename and lineno arguments
4708         with a location_t.
4709         * c-decl.c (poplevel): Adjust define_label call.
4710         (pop_label_level): Likewise.
4711         (define_label): Replace filename and lineno arguments with a
4712         location_t.
4713         (store_parm_decls): Use DECL_SOURCE_LOCATION.
4714         * c-parse.in (label): Adjust define_label call.
4715
4716 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
4717
4718         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
4719         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
4720         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
4721         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
4722         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
4723
4724 2003-07-01  Andreas Jaeger  <aj@suse.de>
4725
4726         * final.c: Convert prototypes to ISO C90.
4727         * flow.c: Likewise.
4728         * flags.h: Likewise.
4729         * gcov-io.c: Likewise.
4730         * gcov-io.h: Likewise.
4731
4732 See ChangeLog.9 for earlier changes.