OSDN Git Service

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