1 2003-08-08 Andreas Schwab <schwab@suse.de>
3 * configure.in: (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
4 and insert missing empty argument.
5 * configure: Regenerate.
7 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
10 (attr_length_millicode_call): Likewise.
11 (attr_length_call): Likewise. Revise some maximum insn lengths.
12 (attr_length_indirect_call): Likewise.
13 (output_call): Fix thinko that added extra nop.
14 * pa.h (IN_NAMED_SECTION_P): Define.
17 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
18 __STDC_EXT__ when using C++ dialect.
20 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
22 * sh.c (calc_live_regs): If the return address pointer is live,
24 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
26 (sh_expand_epilogue): If sh_media_register_for_return returns a
27 register number, flag the instructions that restores PR_MEDIA_REG
29 Remove dead update of offset.
30 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
31 we can use the result of get_hard_reg_initial_val.
32 * sh.md (UNSPEC_RA): New constant.
33 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
34 (load_ra). Handle UNSPEC_RA.
35 (sibcall_media): Use PR_MEDIA_REG.
37 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
38 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
39 needs saving on SHmedia.
41 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
43 * config/s390/s390.md: Replace all occurrences of \\t with \t.
45 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
47 * local-alloc.c (combine_regs): Fix comment typo.
49 2003-08-06 Zack Weinberg <zack@codesourcery.com>
51 * c-decl.c (builtin_decls): Replace with first_builtin_decl
52 and last_builtin_decl.
53 (c_init_decl_processing): Initialize both.
54 (c_reset_state): Iterate from first_builtin_decl to
55 last_builtin_decl inclusive to reintroduce builtins.
57 2003-08-06 David Mosberger <davidm@hpl.hp.com>
59 * doc/extend.texi (Function Attributes): Document the IA-64 version
60 of the "model" attribute.
62 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
63 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
64 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
66 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
67 (ia64_encode_section_info): Likewise.
68 (ia64_attribute_table): Add "model" attribute.
69 (TARGET_ENCODE_SECTION_INFO): Define.
70 (small_addr_symbolic_operand): New function.
71 (got_symbolic_operand): Return 0 for a symbolref to an object
72 in the small address area.
73 (enum ia64_addr_area): New type.
74 (small_ident1): New variable.
75 (small_ident2): Likewise.
76 (init_idents): New function.
77 (ia64_get_addr_area): Likewise.
78 (ia64_encode_addr_area): Likewise.
79 (ia64_encode_section_info): Likewise.
80 (ia64_expand_load_address): For symbolic references to objects in
81 the small-address-area, load the address via gen_rtx_SET() (which,
82 eventually, will expand into "addl").
84 2003-08-06 Per Bothner <pbothner@apple.com>
86 * line-map.h (fileline): New typedef.
87 (struct line_map, linemap_add, linemap_lookup): Use it.
88 * input.h (struct location_s): Comment notes that long-term we want
89 to replace it by fileline.
91 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
93 Fix SHcompact exception handling:
94 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
95 by the prologue, return a MEM with return_address_pointer_rtx
97 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
98 (RETURN_ADDR_OFFSET): Don't define.
99 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
100 registers that are visible in compact mode. Show that SHmedia
101 registers still exist in compact mode, even if there are not
103 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
104 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
105 and DW_EH_PE_pcrel for pic data.
106 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
107 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
108 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
109 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
110 * sh.md (movsi_media-1): New splitter.
112 2003-08-06 Graeme Peterson <gp@qnx.com>
114 * config/i386/nto.h: New.
115 * config/i386/t-nto: New.
116 * config.gcc (i[34567]86-*-nto-qnx*): New.
118 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
120 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
122 2003-08-06 Alan Modra <amodra@bigpond.net.au>
124 * calls.c (load_register_parameters): Arrange for call_fusage to
125 report the whole register as used when shifting to the msb.
127 2003-08-05 Roger Sayle <roger@eyesopen.com>
129 * builtins.c (expand_builtin): When not optimizing, call the library
130 function for all builtins that have library functions (except alloca).
132 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
134 * c.opt: Introduce -fworking-directory.
135 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
136 * c-common.h (flag_working_directory): Declare.
137 * c-common.c (flag_working_directory): Define.
138 * c-opts.c (c_common_handle_options): Set it.
139 (sanitize_cpp_opts): Set...
140 * cpplib.h (struct cpp_options): ... working_directory option.
141 (struct cpp_callbacks): Add dir_change.
142 * cppinit.c (read_original_filename): Call...
143 (read_original_directory): New. Look for # 1 "directory//"
145 (cpp_read_main_file): Call dir_change callback if working_directory
147 * gcc.c (cpp_unique_options): Pass -g*.
148 * c-lex.c (cb_dir_change): New.
149 (init_c_lex): Set dir_change callback.
150 * toplev.c (src_pwd): New static variable.
151 (set_src_pwd, get_src_pwd): New functions.
152 * toplev.h (get_src_pwd, set_src_pwd): Declare.
153 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
154 * dwarf2out.c (gen_compile_unit_die): Likewise.
155 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
157 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
159 * pretty-print.h (pp_set_line_maximum_length): Make macro.
160 (pp_set_prefix): Likewise.
161 (pp_destroy_prefix): Likewise.
162 (pp_remaining_character_count_for_line): Likewise.
163 (pp_clear_output_area): Likewise.
164 (pp_formatted_text): Likewise.
165 (pp_last_position_in_text): Likewise.
166 (pp_emit_prefix): Likewise.
167 (pp_append_text): Likewise.
168 (pp_flush): Likewise.
169 (pp_format_text): Likewise.
170 (pp_format_verbatim): Likewise.
171 (pp_tree_identifier): Tidy.
172 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
173 (pp_base_format_verbatim): Rename from pp_format_verbatim.
174 (pp_base_flush): Rename from pp_flush.
175 (pp_base_set_line_maximum_length): Rename from
176 pp_set_line_maximum_length.
177 (pp_base_clear_output_area): Rename from pp_clear_output_area.
178 (pp_base_set_prefix): Rename from pp_set_prefix.
179 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
180 (pp_base_emit_prefix): Rename from pp_emit_prefix.
181 (pp_base_append_text): Rename from pp_append_text.
182 (pp_base_formatted_text): Rename from pp_formatted_text.
183 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
184 (pp_base_remaining_character_count_for_line): Rename from
185 pp_remaining_character_count_for_line.
186 * diagnostic.h (diagnostic_format_decoder): Tidy.
187 (diagnostic_flush_buffer): Likewise.
188 * c-pretty-print.h: (pp_c_string_literal): Declare.
189 (pp_c_real_literal): Likewise.
190 (pp_c_integer_literal): Likewise.
191 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
193 (pp_c_character_literal): Tidy.
194 (pp_c_string_literal): Make public.
195 (pp_c_bool_literal): Likewise.
196 (pp_c_integer_literal): Likewise.
197 (pp_c_real_literal): Likewise.
199 * Makefile.in (C_PRETTY_PRINT_H): New variable.
200 (c-pretty-print.o): Update dependence.
202 2003-08-05 Chris Demetriou <cgd@broadcom.com>
204 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
205 ".set nomacro" state.
206 (fix_truncsfsi2_macro): Likewise.
208 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
210 * tree.h (DID_INLINE_FUNC): Remove macro.
211 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
212 add tree check for FUNCTION_DECL.
213 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
214 (struct tree_decl): Rename inlined_function_flag to
215 declared_inline_flag.
216 * c-common.h (c_lang_decl): Remove.
217 (DECL_ESTIMATED_INSNS): Remove.
218 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
219 (DECL_DECLARED_INLINE_P): Remove.
220 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
221 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
222 (finish_function): Make uninlinable a bool. Fixup call to
223 tree_inlinable_function_p() and fix some code style issues.
224 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
225 * cgraph.c (dump_cgraph): Likewise.
226 * cgraphunit.c (cgraph_decide_inlining): Likewise
227 (cgraph_finalize_compilation_unit): Likewise.
228 Also update call to tree_inlinable_function_p().
229 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
230 look at DECL_DECLARED_INLINE and reverse logic.
231 * print-tree.c (print_node): Likewise.
232 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
233 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
235 * tree-inline.c (inlinable_function_p): Split up in this function to
236 check for basic inlining inhibiting conditions, and new
237 limits_allow_inlining() function. Warn if inlining is impossible
238 because the inline candidate calls alloca or uses sjlj exceptions.
239 (limits_allow_inlining): this new function to check if the inlining
240 limits are satisfied. Throttle from currfn_max_inline_insns, not from
241 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
242 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
244 (tree_inlinable_function_p): Make a bool. Update call to
246 (expand_call_inline): Use limits_allow_inlining() when not in
247 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
248 instead see if the function was declared `inline'.
250 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
252 * gcse.c (try_replace_reg): Fix updating of note.
254 2003-08-04 Roger Sayle <roger@eyesopen.com>
257 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
258 logic in negate_expr, i.e. we don't invert (A-B) for floating
259 point types unless flag_unsafe_math_optimizations.
261 2003-08-04 Roger Sayle <roger@eyesopen.com>
263 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
264 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
265 for floating point expressions with -ffast-math.
266 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
267 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
269 2003-08-04 Roger Sayle <roger@eyesopen.com>
271 * c-common.c (flag_noniso_default_format_attributes): Delete.
272 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
273 (c_attrs_initialized): Delete.
274 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
275 always call c_init_attributes.
276 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
277 set c_attrs_initialized when done.
278 (c_common_insert_default_attributes): Delete.
279 * c-common.h (flag_noniso_default_format_attributes): Delete.
280 (c_coomon_insert_default_attributes): Delete prototype.
281 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
282 flag_noniso_default_format_attributes.
284 * c-decl.c (c_insert_default_attributes): Delete.
285 * c-tree.h (c_insert_default_attributes): Delete prototype.
287 * attribs.c (decl_attributes): Don't call insert_default_attributes
288 langhook. Update function description comment.
289 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
290 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
291 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
292 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
294 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
297 2003-08-04 Richard Sandiford <rsandif@redhat.com>
299 * config/mips/mips.c (override_options): Disable -G on targets that
300 have no .section support.
301 (mips_select_section): Use default_select_section for such targets.
303 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
305 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
306 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
307 * fixinc/fixincl.x: Rebuild.
308 * fixinc/tests/base/regexp.h: New test.
310 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
312 * c-ppoutput.c (cb_line_change): Don't skip line changing while
313 parsing macro arguments in the top-level context.
315 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
317 * config.in: Remove HAVE_LSTAT.
318 * configure, configure.in: Don't test for lstat.
320 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
322 * opts.c (decode_options): Do language-specific initialization for
323 the global diagnostic context.
324 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
325 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
326 (LANG_HOOKS_INITIALIZER): Adjust.
327 * langhooks.h (struct lang_hooks): Add new field
328 initialize_diagnostics.
329 * langhooks.c (lhd_initialize_diagnostics): Define.
331 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
333 * pretty-print.h: Adjust macro definitions.
334 * pretty-print.c (pp_newline): Rename to pp_base_newline.
335 (pp_character): Rename to pp_base_character.
336 (pp_string): Rename to pp_base_string.
337 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
338 (pp_newline): Likewise. Adjust.
341 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
343 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
344 BUILT_IN_LLABS): Move to miscellaneous section.
346 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
348 PR preprocessor/11534
349 * cppexp.c (parse_defined): Warn only if -pedantic.
351 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
353 * cppfiles.c (stack_file): Use file path.
355 2003-08-02 Roger Sayle <roger@eyesopen.com>
357 * builtin-types.def (BT_SSIZE): New primitive type.
358 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
359 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
360 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
361 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
362 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
363 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
364 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
365 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
366 few functions that define default attributes using it.
367 * c-common.c (c_common_insert_default_attributes): Do nothing.
369 * doc/extend.texi: Document these "new" builtins.
371 2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
373 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
374 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
375 when -mieee-fp set and -shared not set.
376 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
378 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
380 * cppfiles.c (struct _cpp_file): Rename once_only_next to
381 next_file. Remove import and pragma_once, add once_only.
382 (find_file): Add new file structures to the all_files list.
383 (should_stack_file): Mark #import-ed files once-only, and
384 don't stack them if the file has already been stacked.
385 (_cp_mark_file_once_only): Simplify.
386 * cpphash.h (struct cpp_reader): Rename once_only_files
387 to all_files. Rename saw_pragma_once to seen_once_only.
388 (_cpp_mark_file_once_only): Update prototype.
389 * cpplib.c (do_pragma_once): Update.
391 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
393 * cppfiles.c (ENOTDIR): Remove.
394 (open_file_in_dir): Rename find_file_in_dir. Handle errors
395 other than ENOENT here.
396 (once_only_file_p): Rename should_stack_file.
397 (find_file, open_file_failed, read_file_guts): Report errors
399 (read_file): Move pch handling to should_stack_file.
400 (should_stack_file): Handle PCH and once-only issues, and
402 (stack_file): Don't do file reads.
404 2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
406 * libgcov.c (gcov_exit): Cleanup and fix.
407 * profile.c (compute_value_histograms): Don't try to read profiles
408 that are not present.
410 2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
412 * builtins.def: Categorize.
414 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
416 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
418 2003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
420 * config.gcc: Enable posix threads by default on darwin.
422 2003-08-01 Jakub Jelinek <jakub@redhat.com>
424 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
425 even if nehedges1 is 0.
427 2003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
429 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
430 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
431 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
434 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
435 * fixinc/fixincl.x: Regenerate.
436 * fixinc/tests/base/math.h: Regenerate to match test_text change.
438 2003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
440 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
442 2003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
444 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
445 for accesses to exc_ptr.
447 2003-08-01 Geoffrey Keating <geoffk@apple.com>
449 * doc/sourcebuild.texi (Front End Directory): Don't make references
450 to libsubdir, it's not part of the interface to frontends.
451 * doc/install.texi (Configuration): Help users read faster by saying
452 that GCC's configure options are the standard autoconf ones.
453 Mention --libdir. Update the default rules for finding the
454 assembler. Don't use libsubdir since we haven't said what it means.
455 (Specific): In the Solaris 7 notes, update the place to put the
457 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
458 * doc/cpp.texi (Search Path): Actually, the search path
459 depends on libdir, which can relocate with cpp.
460 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
461 now a private interface between the Makefile and the driver.
463 2003-08-01 Richard Henderson <rth@redhat.com>
465 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
467 * varasm.c (lookup_constant_def): New function.
468 * rtl.h (lookup_constant_def): Declare it.
469 * dwarf2out.c (loc_descriptor_from_tree): Use it.
470 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
472 2003-08-01 Zack Weinberg <zack@codesourcery.com>
474 * c-decl.c (gettags, pushdecl_function_level): Delete.
475 (last_function_parm_vars): Rename last_function_parm_others.
476 (current_function_parm_vars): Rename current_function_parm_others.
477 (struct c_scope): Rewrite comment explaining this data structure.
478 Add names_last, blocks_last, parms_last fields. Rename
479 incomplete_list to incomplete.
480 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
481 (poplevel): Ignore second argument. No need to nreverse
482 anything. Restructure such that each list is processed
483 exactly once. Use 'const location_t *locus' syntactic sugar
484 variable where useful. Issue unused variable warnings
485 ourselves, do not rely on function.c.
486 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
487 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
488 (implicitly_declare): decl cannot be error_mark_node.
489 (undeclared_variable): Manipulate scope structure directly.
490 (c_make_fname_decl): Likewise.
491 (getdecls, c_init_decl_processing): Fix comment.
492 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
494 (grokparms): No need to nreverse parms list.
495 (store_parm_decls_newstyle): Set up the parms_last and
496 names_last fields of the new scope too.
497 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
498 on parms to begin with; check this under ENABLE_CHECKING. Set
500 (check_for_loop_decls): Refer directly to current_scope->tags.
501 Use consistent quote style in diagnostics.
502 (c_write_global_declarations): The names list is not backward.
504 * c-common.h: Don't prototype gettags.
505 * c-parse.in: Call poplevel with second argument 0 always.
507 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
509 * builtins.def: Resort builtins.
511 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
513 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
514 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
515 Prepend "__builtin_" onto NAME with string concatenation. Remove
516 explicit "__builtin_" from each macro call.
518 Reformat entire file.
520 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
522 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
523 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
525 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
527 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
528 CCL1, or CCL2 modes with floating point operations.
530 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
531 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
532 "*subdf3_cconly"): New insns.
533 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
535 2003-08-01 Neil Booth <neil@daikokuya.co.uk>
537 * Makefile.in: Refine dependencies.
538 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
539 * c.opt: Update help for -Wimport.
540 * cppfiles.c: Include hashtab.h. Update comments.
541 (stack_file): Read the file before updating dependencies.
542 (once_only_file_p): Be smarter about marking once-only files.
543 (_cpp_mark_file_once_only): Correct the check for existence on
545 (open_file_failed): Use name not path, which is NULL.
546 * cpphash.h: Don't include hashtab.h.
547 (struct _cpp_file): Remove.
548 (struct cpp_reader): Update.
549 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
550 * cpplib.h (struct cpp_options): Remove warn_import.
551 (cpp_simplify_path): Remove.
553 2003-08-01 Nathan Sidwell <nathan@codesourcery.com>
556 * doc/extend.texi (Statement Expressions): Document C++ semantics.
558 2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
560 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
562 2003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
564 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
566 * builtins.def: Likewise.
568 2003-07-31 Jason Merrill <jason@redhat.com>
570 * Makefile.in (bubblestrap): Don't require a previous full
573 * expr.c (mostly_zeros_p): No longer static.
574 * tree.h: Declare it.
575 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
576 unless we need to do substitutions.
578 2003-07-31 Roger Sayle <roger@eyesopen.com>
580 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
581 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
582 as pow(x,2.0) when the latter will be expanded back into x*x.
583 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
584 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
585 pow can never set errno when used with an integer exponent.
586 Always use expand_powi when exponent is -1, 0, 1 or 2.
587 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
588 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
589 the pow forms of these expressions.
591 2003-07-31 Geoffrey Keating <geoffk@apple.com>
593 * Makefile.in (libexecdir): New.
594 (libsubdir): Use gcc instead of gcc-lib.
595 (libexecsubdir): New.
596 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
597 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
599 (installdirs): Make libexecsubdir.
600 (install-common): Put executables in libexecsubdir.
601 (itoolsdir): Use libexecsubdir.
602 (itoolsdatadir): New.
603 (install-mkheaders): Separate data files and executables.
604 (install-collect2): Put executables in libexecsubdir.
605 (uninstall): Remove libexecsubdir.
606 * mkheaders.in: Update for new arrangement of files.
608 (libexecsubdir): New.
609 (itoolsdir): Use libexecsubdir.
610 (itoolsdatadir): New.
611 * gcc.c (gcc_libexec_prefix): New.
612 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
613 (standard_exec_prefix_1): Use libexec.
614 (standard_exec_prefix_2): New.
615 (standard_libexec_prefix): New.
616 (process_command): Update for new arrangement of files. Compute
617 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
619 2003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
621 * inclhack.def (stdio_va_list): Avoid bogus replacement which
623 * fixincl.x: Regenerate.
625 2003-07-31 Jakub Jelinek <jakub@redhat.com>
627 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
628 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
630 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
632 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
634 2003-07-31 Per Bothner <pbothner@apple.com>
636 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
637 (add_input_filename): New function.
638 (handle_options): Call add_input_filename directly instead of
640 * opts.h (in_fnames, num_in_fnames): Moved here.
641 (add_input_filename): Declare.
642 * c-decl.c: Need to #include opts.h.
643 * Makefile.in (c-decl.o): Also depends on opts.h.
644 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
645 (c_common_handle_filename): Replaced by add_input_filename.
646 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
648 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
649 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
650 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
651 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
653 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
655 * combine.c (try_combine): Set JUMP_LABEL for newly created
658 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
660 * fold-const.c (fold): Fold some comparisons of bit operations.
662 Thu Jul 31 19:49:53 CEST 2003 Jan Hubicka <jh@suse.cz>
664 * cgraph.c (create_edge): Fix typo.
665 * i386.c (pic_symbolic_operand): Reorder tests.
667 2003-07-31 Nathan Sidwell <nathan@codesourcery.com>
669 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
671 (Gcov Data Files): Update.
673 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
675 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
678 * gthr-posix.c: New file.
679 * gthr-posix.h: Define _REENTRANT if missing.
680 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
682 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
684 * config/alpha/t-osf-pthread: New file.
686 * fixinc/inclhack.def (alpha_pthread): New fix.
687 * fixinc/fixincl.x: Regenerate.
688 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
690 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
692 Fixes PR bootstrap/9330.
694 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
696 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
699 * configure: Regenerate.
701 2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
703 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
706 2003-07-30 Roger Sayle <roger@eyesopen.com>
708 * builtins.def: Alphabetize.
710 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
712 * doc/c-tree.texi: Normalize spellings of "lowercase" and
714 * doc/cpp.texi: Likewise.
715 * doc/md.texi: Likewise.
716 * doc/rtl.texi: Likewise.
717 * doc/tm.texi: Likewise.
719 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
721 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
722 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
725 2003-07-30 Chris Demetriou <cgd@broadcom.com>
727 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
728 macros before defining them.
730 2003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
732 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
733 UNSPECV_BLOCKAGE): New constants.
734 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
735 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
736 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
737 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
739 (all insns and expanders): Write output control string as brace block
740 where appropriate. Remove \-escapes for doublequote characters.
742 Thu Jul 31 01:04:19 CEST 2003 Jan Hubicka <jh@suse.cz>
744 * gcse.c (insert_store): Fix typo in previous patch.
746 2003-07-30 Neil Booth <neil@daikokuya.co.uk>
748 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
750 2003-07-30 Andi Kleen <ak@muc.de>
752 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
754 2003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
756 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
757 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
758 GCOV_N_VALUE_COUNTERS): New.
759 * profile.c (compute_value_histograms): New static function.
760 (branch_prob): Read back the value histograms.
761 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
762 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
763 * value-prof.c: Add comment on reading the profile.
764 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
765 * doc/invoke.texi (-fprofile-values): Document behavior with
766 -fbranch-probabilities.
768 2003-07-30 David Edelsohn <edelsohn@gnu.org>
770 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
772 2003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
774 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
777 Wed Jul 30 19:12:10 CEST 2003 Jan Hubicka <jh@suse.cz>
779 * gcse.c (insert_store): Ignore fake edges.
781 * c-common.c (flag_vtable_gc): Kill.
782 * c-common.g (flag_vtable_gc): Kill.
783 * c-opts (c_common_handle_option): Kill.
784 * c.opt (fvtable-gc): Kill.
785 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
786 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
787 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
789 * invoke.texi (-ftable-gc): Kill documentation.
791 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
792 just because function body is missing.
794 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
796 2003-07-30 Ranjit Mathew <rmathew@hotmail.com>
798 * unwind-sjlj.c: Fix typo in file description.
800 2003-07-30 Alan Modra <amodra@bigpond.net.au>
802 * calls.c (load_register_parameters): When shifting reg sized values
803 to the msb, move the value to a reg first.
805 2003-07-29 Geoffrey Keating <geoffk@apple.com>
807 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
808 * line-map.h (linemap_add): Update comments.
809 * line-map.c (linemap_add): Update comments, interpret zero-length
810 filename as "<stdin>".
812 2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
814 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
816 2003-07-29 Zack Weinberg <zack@codesourcery.com>
818 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
819 New static variables.
820 (struct c_scope): Add parms and warned_forward_parm_decls
821 fields; remove parm_order.
822 (storedecls, storetags): Delete.
823 (poplevel): Also clear bindings on the parms chain.
824 (pushdecl): Handle forward declarations of parameters, and
825 chain PARM_DECLs on the parms list, not the names list.
826 (lookup_name_current_level): Check for PARM_DECLs on the parms
828 (push_parm_decl): Don't update parm_order.
829 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
830 warning, only once per parameter list, and set TREE_ASM_WRITTEN
831 on the decls here. Then move the forward decls to the names list.
832 (grokparms): Set last_function_parm_vars.
833 (get_parm_info): Don't use gettags or getdecls. No need to
834 extract non-parms from the parms list, or reorganize the parms
835 list. Feed nonparms back in the TREE_TYPE of the list node
836 returned. Issue only one error per parameter list for "void"
837 appearing more than once in said parameter list. Collapse
838 parmlist_tags_warning into this function to avoid double scan
840 (start_function): Set current_function_parm_vars.
841 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
842 directly. Get non-parms from current_function_parm_vars; no
843 need to extract them from the parms chain. Properly bind tags
845 (store_parm_decls_oldstyle): No need to extract non-parameters
846 from the parms chain, nor to store them back afterward. Move
847 declaration to top of function, restructure code reordering
849 (store_parm_decls): No need to save and restore warn_shadow.
850 * c-parse.in: Don't call parmlist_tags_warning nor
851 clear_parm_order. Call mark_forward_parm_decls when forward
852 parm decls are encountered.
853 * c-tree.h: Prototype mark_forward_parm_decls; not
854 clear_parm_order or parmlist_tags_warning.
856 2003-07-29 Geoffrey Keating <geoffk@apple.com>
858 * c-common.c (allow_pch): Remove.
859 * c-common.h (allow_pch): Remove.
860 (c_common_no_more_pch): Declare.
861 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
862 * c-pch.c: Include hosthooks.h.
863 (c_common_valid_pch): Don't check allow_pch.
864 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
865 (c_common_no_more_pch): New.
866 * ggc-common.c: Include hosthooks.h.
867 (gt_pch_save): Call gt_pch_get_address.
868 (gt_pch_restore): Call gt_pch_use_address.
869 * hooks.c (hook_voidp_size_t_null): New.
870 (hook_bool_voidp_size_t_false): New.
871 * hooks.h (hook_voidp_size_t_null): New.
872 (hook_bool_voidp_size_t_false): New.
873 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
874 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
875 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
876 HOST_HOOKS_GT_PCH_USE_ADDRESS.
877 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
879 * doc/hostconfig.texi (Host Common): Document
880 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
881 * Makefile.in (c-pch.o): Depend on hosthooks.h.
882 (ggc-common.o): Likewise.
884 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
885 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
886 (pch_address_space): New.
887 (darwin_rs6000_gt_pch_get_address): New.
888 (darwin_rs6000_gt_pch_use_address): New.
890 2003-07-29 Neil Booth <neil@daikokuya.co.uk>
892 PR preprocessor/11569
893 PR preprocessor/11649
894 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
895 * cppfiles.c: Completely rewritten.
896 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
897 struct cpp_path is now struct cpp_dir.
898 (remove_duplicates): Don't simplify path names.
899 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
901 * cpphash.h: Include hashtab.h.
902 (_cpp_file): Declare.
903 (struct cpp_buffer): struct include_file is now struct _cpp_file,
904 and struct cpp_path is now struct cpp_dir. Rename members.
905 (struct cpp_reader): Similarly. New members once_only_files,
906 file_hash, file_hash_entries, quote_ignores_source_dir,
907 no_search_path, saw_pragma_once. Remove all_include_files and
908 max_include_len. Make some members bool.
909 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
910 (_cpp_stack_file): Renamed from _cpp_read_file.
911 (_cpp_stack_include): Renamed from _cpp_execute_include.
912 (_cpp_init_files): Renamed from _cpp_init_includes.
913 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
914 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
915 (cpp_read_next_file): Rename and move to cppfiles.c.
916 (cpp_read_main_file): Update.
917 * cpplib.c (run_directive): Update for renamed members.
918 (do_include_common, _cpp_pop_buffer): Update.
919 (do_import): Undeprecate #import.
920 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
921 * cpplib.h: Remove file_name_map_list.
922 (cpp_options): Remove map_list.
923 (cpp_dir): Rename from cpp_path. New datatype for name_map.
924 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
926 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
928 * Makefile.in: Make stamp-objdir safe for parallel builds.
930 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
932 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
933 (info): Depend on stmp-docobjdir.
935 2003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
937 * configure: Regenerate.
939 Tue Jul 29 19:24:49 CEST 2003 Jan Hubicka <jh@suse.cz>
942 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
943 in !unit-at-a-time mode.
945 2003-07-28 Geoffrey Keating <geoffk@apple.com>
947 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
950 2003-07-28 Mark Mitchell <mark@codesourcery.com>
953 * c-common.c (shorten_compare): Take into account differences
954 between C and C++ representation for enumeration types.
955 * tree.h (set_min_and_max_values_for_integral_type): Declare.
956 * stor-layout.c (set_min_and_max_values_for_integral_type): New
957 function, broken out from ...
958 (fixup_signed_type): ... here and ...
959 (fixup_unsigned_type): ... here.
961 2003-07-28 Zack Weinberg <zack@codesourcery.com>
963 * c-decl.c: Update commentary, adjust blank lines throughout.
964 (struct c_scope): Fix indentation. Reorder members so
965 outer-context pointers come first, booleans last.
966 (duplicate_decls, define_label): Use a 'locus' variable for
967 diagnostic locations in a few more places.
968 (warn_if_shadowing): Un-split a conditional that fits on one line.
969 (c_init_decl_processing): No need to clear current_scope and
970 current_function_scope.
971 (start_decl): Merge if/else if statements with same action.
972 (push_parm_decl): Rename old_immediate_size_expand to use
973 save_foo convention; save/restore around entire function.
974 (grokdeclarator): Remove unnecessary braces.
976 2003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
977 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
979 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
980 when warn_declaration_after_statement. Call pedwarn_c90, not
981 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
982 * c-common.c (warn_declaration_after_statement): Define.
983 * c-common.h (warn_declaration_after_statement): Declare.
984 * c.opt (Wdeclaration-after-statement): New.
985 * c-errors.c (pedwarn_c90): New function.
986 * c-opts.c (c_common_handle_option) <case
987 OPT_Wdeclaration_after_statement>: New.
988 * c-tree.h (pedwarn_c90): Declare.
989 * doc/invoke.texi (Option Summary): Document
990 -Wdeclaration-after-statement.
991 (Warning Options): Ditto.
993 Mon Jul 28 20:13:06 CEST 2003 Jan Hubicka <jh@suse.cz>
995 * i386.md (memory attribute) Avoid accessing uninitialized memory
996 for ishift1 type instructions.
998 2003-07-28 Jakub Jelinek <jakub@redhat.com>
1000 * configure.in (--enable-checking): Add fold category.
1001 (ENABLE_FOLD_CHECKING): Define if requested.
1002 * configure: Rebuilt.
1003 * config.in: Rebuilt.
1004 * doc/install.texi: Document it.
1005 * fold-const.c: Include md5.h.
1006 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
1007 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
1008 print_fold_checksum): New functions.
1010 * fold-const.c (fold): Never modify argument passed to fold, instead
1011 change a copy and return it.
1012 * convert.c (convert_to_integer): Likewise.
1014 2003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
1016 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
1017 cleanup of junk after #else and #endif directives. Collapse repeated
1018 clauses into for statment.
1020 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
1022 2003-07-27 Zack Weinberg <zack@codesourcery.com>
1024 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
1025 (keep_next_if_subblocks): Rename next_is_function_body.
1026 (pushlevel): Adjust commentary. Always set ->keep on the
1027 outermost level of a function. Don't set ->keep_if_subblocks.
1028 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
1029 (store_parm_decls): Adjust to match.
1030 (finish_function): Adjust to match.
1031 Call poplevel with all three arguments zero.
1033 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
1034 New functions split out of store_parm_decls.
1035 Avoid unnecessary work. Use local variables consistently.
1036 (store_parm_decls): Likewise.
1038 (finish_function): No need to set functionbody flag on call to
1040 (struct language_function): Remove scope field.
1041 (c_push_function_context, c_pop_function_context): No need to
1042 save and restore current_scope.
1044 2003-07-27 Nathan Sidwell <nathan@codesourcery.com>
1046 * doc/extend.texi (Deprecated Features): Implicit typename is
1047 gone. Default args on types is going.
1049 2003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
1051 * Makefile.in (ifcvt.o): Depend on target.h
1052 * ifcvt.c (target.h): Include.
1053 (if_convert): Don't call mark_loop_exit_edges if we can't
1056 2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1058 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
1060 2003-07-26 Richard Henderson <rth@redhat.com>
1063 * cse.c (count_reg_usage): Handle asm_operands properly.
1065 2003-07-26 Roger Sayle <roger@eyesopen.com>
1067 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
1068 (DEF_EXT_FALLBACK_BUILTIN): Delete.
1069 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
1070 the regular DEF_EXT_LIB_BUILTIN macro.
1071 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
1072 the regular DEF_LIB_BUILTIN macro.
1073 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
1074 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
1075 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
1076 DEF_EXT_LIB_BUILTIN macro.
1078 * c-decl.c (duplicate_decls): Remove code to handle builtin
1079 functions prototyped without an argument list.
1081 2003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
1083 * config/i386/winnt.c: Revert 2003-07-08 change.
1084 (i386_pe_section_type_flags): Remove error_with_decl here too.
1086 2003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
1088 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
1089 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
1090 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
1091 (v850_handle_data_area_attribute): Likewise.
1093 2003-07-26 Geoffrey Keating <geoffk@apple.com>
1095 * varasm.c (output_constant_def_contents): Use
1096 ASM_DECLARE_CONSTANT_NAME if defined.
1097 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
1098 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
1099 objects get at least one byte to prevent assembler problems.
1100 (ASM_DECLARE_CONSTANT_NAME): New.
1102 * Makefile.in (libbackend.o): Remove options_.h.
1103 (mostlyclean): Likewise.
1105 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
1106 insert a label at the end of an function under Mach-O.
1108 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
1110 2003-07-25 Aldy Hernandez <aldyh@redhat.com>
1112 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
1114 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
1116 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
1118 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1120 * doc/passes.texi (Passes): Mention pretty-printing and
1123 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
1125 * doc/extend.texi (Function Attributes): GNU C++ does now allow
1126 unused parameter decls.
1127 (Attribute Syntax): GNU C++ does not allow label attributes to be
1130 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1132 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
1133 (objc_declare_class): Likewise.
1134 (error_with_ivar): Likewise.
1135 (start_class): Likewise.
1136 (warn_with_method): Likewise.
1138 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1140 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
1142 * calls.c (try_to_integrate): Don't use xxx_with_decl.
1143 (expand_call): Likewise.
1144 * dwarfout.c (output_reg_number): Likewise.
1145 * expr.c (expand_expr): Likewise.
1146 * function.c (assign_temp): Likewise.
1147 (uninitialized_vars_warning): Likewise.
1148 (setjmp_args_warning): Likewise.
1149 (expand_function_end): Likewise.
1150 * stmt.c (fixup_gotos): Likewise.
1151 (warn_about_unused_variables): Likewise.
1152 (expand_end_bindings): Likewise.
1153 * stor-layout.c (layout_decl): Likewise.
1154 (place_field): Likewise.
1155 * toplev.c (check_global_declarations): Likewise.
1156 (rest_of_handle_inlining): Likewise.
1157 (default_tree_printer): New function.
1158 (general_init): Initialize diagnostic machinery before routing
1159 signals to the ICE machinery. Set default tree printer.
1160 * toplev.h (pedwarn_with_decl): Remove declaration.
1161 (warning_with_decl): Likewise.
1162 (error_with_decl): Likewise.
1163 (pedwarn): Remove attribute for the time being.
1164 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
1165 * varasm.c (named_section): Likewise.
1166 (make_decl_rtl): Likewise.
1167 (assemble_variable): Likewise.
1168 (merge_weak): Likewise.
1169 (declare_weak): Likewise.
1171 * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
1172 * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
1173 (format_with_decl): Remove.
1174 (diagnostic_for_decl): Likewise.
1175 (pedwarn_with_decl): Likewise.
1176 (warning_with_decl): Likewise.
1177 (error_with_decl): Likewise.
1178 (diagnostic_initialize): Adjust.
1179 (diagnostic_count_diagnostic): Likewise.
1180 (announce_function): Likewise.
1181 (lhd_print_error_function): Likewise.
1182 (diagnostic_report_current_module): Likewise.
1183 (default_diagnostic_starter): Likewise.
1184 (diagnostic_report_diagnostic): Likewise.
1185 (default_diagnostic_finalizer): Likewise.
1186 (verbatim): Likewise.
1188 (warning): Likewise.
1189 * opts.c (common_handle_option): Likewise.
1190 * pretty-print.c: New file.
1191 * c-pretty-print.h (pp_base): Override.
1192 * c-pretty-print.c: Adjust use of macros throughout.
1193 (pp_buffer): New macro.
1194 (pp_newline): Likewise.
1195 * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
1196 * Makefile.in (DIAGNOSTIC_H): New variable.
1197 (c-errors.o): Use it.
1198 (c-objc-common.o): Likewise.
1199 (c-common.o): Likewise.
1200 (c-opts.o): Likewise.
1201 (c-format.o): Likewise.
1202 (diagnostic.o): Likewise.
1204 (toplev.o): Likewise.
1205 (rtl-error.o): Likewise.
1206 (dwarf2out.o): Likewise.
1208 (pretty-print.o): New rule.
1210 2003-07-24 Roger Sayle <roger@eyesopen.com>
1212 * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
1213 front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
1214 (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
1215 from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
1216 (DEF_FRONT_END_LIB_BUILTIN): Delete.
1217 (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
1218 (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
1220 * builtins.c (build_string_literal): New function to construct
1221 a char* pointer to a string literal.
1222 (expand_builtin_fputs): Change 2nd argument from "int ignore" to
1223 "rtx target" to be consistent with other expand_builtin_* functions.
1224 Change 3rd argument from "int unlocked" to "bool unlocked".
1225 (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
1226 c-common.c to avoid front-end dependencies. Optimize printf("")
1227 as a no-op when the result isn't required. Handle embedded NULs
1229 (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
1230 from c-common.c to avoid front-end dependencies. Likewise, optimize
1231 fprintf(fp,"") as a no-op when the result isn't required, evaluating
1232 fp for side-effects. Handle embedded NULs in format string.
1233 (expand_builtin_sprintf): Fix typo.
1234 (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
1235 optimizing. Adjust calls of expand_builtin_fputs to match the API
1236 change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
1237 expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
1238 and BUILT_IN_FPRINTF using expand_builtin_fprintf.
1240 * c-common.c (is_valid_printf_arglist): Delete.
1241 (c_expand_builtin): Delete.
1242 (c_expand_builtin_printf): Moved to builtins.c. Delete.
1243 (c_expand_builtin_fprintf): Moved to builtins.c. Delete.
1244 (c_expand_expr): No longer treat CALL_EXPRs specially.
1245 (CALLED_AS_BUILT_IN): Delete.
1247 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1249 PR optimization/11631
1250 * gcse.c (store_motion): Connect infinite loops to exit.
1252 2003-07-24 Jason Merrill <jason@redhat.com>
1254 * tree.h (boolean_type_node): Move from C/C++/Java frontends.
1255 (boolean_true_node, boolean_false_node): Likewise.
1256 (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
1257 * tree.c (build_common_tree_nodes): Init boolean_type_node.
1258 (build_common_tree_nodes_2): Init boolean_{true,false}_node.
1259 * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
1260 * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
1261 (truthvalue_true_node): Renamed from boolean_true_node.
1262 (truthvalue_false_node): Renamed from boolean_false_node.
1263 * c-decl.c: Just set truthvalue_* to integer_*.
1264 * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/.
1266 2003-07-24 Roger Sayle <roger@eyesopen.com>
1268 * c-decl.c (match_builtin_function_types): New subroutine of
1269 duplicate_decls to test whether a redeclaration of a builtin
1270 function is suitably close, i.e. the return type and all of
1271 the argument types have the same modes as the builtin expects.
1272 (duplicate_decls): Fuzzy type matching for builtin functions
1273 moved to match_builtin_function_types.
1275 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1277 * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
1280 2003-07-24 Zack Weinberg <zack@codesourcery.com>
1282 * c-decl.c: Search-and-replace change 'binding level' to
1283 'scope' in commentary.
1284 (struct binding_level): Now struct c_scope.
1285 (current_binding_level): Now current_scope.
1286 (free_binding_level): Now scope_freelist.
1287 (current_function_level): Now current_function_scope.
1288 (global_binding_level): Now global_scope.
1289 (make_binding_level): Now make_scope.
1290 (pop_binding_level): Now pop_scope.
1292 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1294 * configure.in (libgcc_visibility): Add missing whitespace.
1296 2003-07-24 Richard Henderson <rth@redhat.com>
1298 * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
1299 __gcc_personality_v0.
1301 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1303 * Makefile.in: Replace pwd by ${PWD_COMMAND}.
1305 2003-07-24 Nathan Sidwell <nathan@codesourcery.com>
1307 * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
1308 documentation missed from my 2003-07-09 patch.
1310 2003-07-24 Nathanael Nerode <neroden@gcc.gnu.org>
1312 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
1314 * configure: Rebuild.
1316 2003-07-24 Steven Bosscher <steven@gcc.gnu.org>
1319 * c-typeck.c (type_lists_compatible_p): Do not compare
1320 arguments if one of them is an error_mark_node
1322 2003-07-24 Alan Modra <amodra@bigpond.net.au>
1324 * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
1325 if current_function_calls_eh_return.
1327 2003-07-23 Mark Mitchell <mark@codesourcery.com>
1329 * doc/c-tree.texi (OFFSET_TYPE): Update description.
1331 2003-07-23 Bob Wilson <bob.wilson@acm.org>
1333 * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
1334 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
1335 __umodsi3, __modsi3): Increase frame size to 32.
1337 2003-07-23 Geoffrey Keating <geoffk@apple.com>
1339 * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
1342 2003-07-23 Mark Mitchell <mark@codesourcery.com>
1344 * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
1346 PR optimization/10679
1347 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
1349 2003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1351 PR target/11607 and PR target/11516
1352 * pa.md (extzv, extv, insv): Revert latter half of last patch.
1354 2003-07-22 Mark Mitchell <mark@codesourcery.com>
1356 * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
1357 * varasam.c (output_constant): Likewise.
1359 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
1361 * alias.c: Fix comment formatting.
1362 * c-common.c: Likewise.
1363 * c-decl.c: Likewise.
1364 * c-opts.c: Likewise.
1365 * combine.c: Likewise.
1366 * cpplib.c: Likewise.
1367 * diagnostic.c: Likewise.
1368 * dojump.c: Likewise.
1369 * final.c: Likewise.
1370 * fold-const.c: Likewise.
1373 * ggc-page.c: Likewise.
1376 * mips-tfile.c: Likewise.
1377 * recog.c: Likewise.
1378 * regclass.c: Likewise.
1379 * regmove.c: Likewise.
1383 2003-07-22 Per Bothner <pbothner@apple.com>
1385 * line-map.c (add_line_map): Handle invalid LEAVE request.
1386 Fixes PR preprocessor/11361.
1388 2003-07-22 Per Bothner <pbothner@apple.com>
1390 * diagnostic.c.(diagnostic_report_current_module): Update to match
1391 2003-06-05 changes to push_srcloc and pop_srcloc.
1393 2003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
1395 * doc/trouble.texi: Better document two-stage name lookup.
1397 2003-07-22 Eric Christopher <echristo@redhat.com>
1399 * config/s390.c (s390_valid_pointer_mode): New.
1400 (TARGET_VALID_POINTER_MODE): Use.
1401 (s390_emit_prologue): Add tpf profiling hooks.
1402 (s390_emit_epilogue): Ditto.
1403 * config/s390.h (MASK_TPF): New.
1405 (POINTERS_EXTEND_UNSIGNED): Define.
1406 * config/s390.md (ptr_extend): New pattern.
1408 2003-07-22 Zack Weinberg <zack@codesourcery.com>
1410 * hashtable.c (approx_sqrt): Make static.
1411 * hashtable.h: Don't prototype approx_sqrt.
1412 * line-map.c (init_line_maps): Rename linemap_init.
1413 (free_line_maps): Rename linemap_free.
1414 (add_line_map): Rename linemap_add.
1415 (lookup_line): Rename linemap_lookup.
1416 (print_containing_files): Rename linemap_print_containing_files.
1417 * linemap.h: Update to match.
1419 * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
1420 linemap routines to use new names.
1422 2003-07-16 Nathan Sidwell <nathan@codesourcery.com>
1424 * c-common.c (handle_packed_attribute): Don't pack a struct via a
1425 typedef. Propagate packedness from a main variant.
1427 2003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
1429 * Makefile.in (install-common): Add dependency on installdirs.
1431 2003-07-21 Alexandre Oliva <aoliva@redhat.com>
1433 * c-common.c (c_common_type_for_mode): Return integer types for
1436 2003-07-22 Geoffrey Keating <geoffk@apple.com>
1438 * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
1439 (finish_decl): Call maybe_apply_pragma_weak here.
1440 (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
1441 TREE_PUBLIC and TREE_STATIC are decided.
1442 (start_function): Move call to maybe_apply_pragma_weak. Check that
1443 DECL_ASSEMBLER_NAME isn't set too early.
1445 * cpplex.c (_cpp_process_line_notes): Mention option name in
1448 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
1450 * combine.c (if_then_else_cond): Simplify the comparison of
1451 rtx against -1, 0, and 1.
1452 * loop.c (check_dbra_loop): Likewise.
1453 * optabs.c (emit_conditional_move): Likewise.
1454 (emit_conditional_add): Likewise.
1455 * config/i386/i386.md (*movsi_or): Likewise.
1456 (*movdi_or_rex6): Likewise.
1458 Tue Jul 22 00:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
1460 * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
1462 2003-07-21 Neil Booth <neil@daikokuya.co.uk>
1464 * cppfiles.c (open_file_pch): Don't put unused entries in the
1465 splay tree. Remove dead code.
1467 2003-07-21 Geoffrey Keating <geoffk@apple.com>
1469 * c-common.h (num_in_fnames): Declare.
1470 (c_static_assembler_name): Move from here...
1471 * c-tree.h (c_static_assembler_name): ... to here.
1472 * c-opts.c: Don't include langhooks-def.h.
1473 (c_static_assembler_name): Move to c-decl.c.
1474 (num_in_fnames): Make externally visible.
1475 * c-decl.c: Include langhooks-def.h.
1476 (c_static_assembler_name): Move from c-opts.c.
1477 * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
1478 (c-opts.o): Remove $(LANGHOOKS_DEF_H).
1480 * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
1481 when it's not needed.
1483 2003-07-21 Jakub Jelinek <jakub@redhat.com>
1485 * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
1486 * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
1487 (rs6000_emit_prologue): Save FPRs inline if set.
1489 2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
1491 * config/ia64/ia64.md (prefetch): Support predicate.
1493 2003-07-21 Josef Zlomek <zlomekj@suse.cz>
1495 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
1496 * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
1499 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1501 PR optimization/11536
1502 * unroll.c (loop_iterations): Do not replace a register holding
1503 the final value by its equivalent before the loop if it is not
1506 2003-07-21 Dave Fluri <dave.fluri@onlink.net>
1508 * doc/extend.texi: Fixes to spelling, grammar, and diction.
1510 2003-07-21 Ben Elliston <bje@wasabisystems.com>
1512 * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
1513 (V850 Options): Spelling fixes.
1515 2003-07-20 Lisa M. Goldstein <opus@gnu.org>
1517 * doc/invoke.texi: Fixes to style, grammar and diction.
1519 2003-07-20 Roger Sayle <roger@eyesopen.com>
1521 * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
1522 * system.h (SMALL_STACK): Poison obsolete target macro.
1523 * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
1525 2003-07-20 Phil Edwards <pme@gcc.gnu.org>
1527 * configure.in: Cache the results of testing for cmp's capabilities.
1528 * configure: Regenerate.
1530 2003-07-20 Mark Mitchell <mark@codesourcery.com>
1533 * dwarf2out.c (gen_enumeration_type_die): Remember that
1534 enumerators can be unsigned.
1536 2003-07-19 Zack Weinberg <zack@codesourcery.com>
1538 * c-decl.c (named_labels, shadowed_labels, label_level_chain)
1539 (push_label_level, pop_label_level): Kill.
1540 (struct binding_level): Rename level_chain to outer.
1541 Add outer_function field. Change parm_flag, function_body,
1542 keep, keep_if_subblocks to 1-bit bitfields of type bool.
1543 (current_function_level): New variable.
1544 (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
1545 (keep_next_level, declare_parm_level, warn_if_shadowing):
1547 (struct language_function): Kill named_labels, shadowed_labels fields.
1548 (c_init_decl_processing, start_function, c_push__function_context)
1549 (c_pop_function_context): No need to muck with named_labels nor
1552 (make_binding_level): No need to clear the structure here.
1553 (pop_binding_level): Always operate on current_binding_level.
1554 Update current_function_level if necessary.
1555 (pushlevel): Don't clear named_labels. Update current_function_level
1556 if necessary. Use "true" and "false" where appropriate.
1557 (poplevel): Diagnose labels defined but not used, or vice
1558 versa, and clear out label-meanings leaving scope, while
1559 walking down the decls list, for all binding levels.
1560 Handle LABEL_DECLs appearing in the shadowed list.
1561 pop_binding_level takes no arguments.
1562 (pushdecl_function_level): Use current_function_level.
1564 (make_label, bind_label): New static functions.
1565 (declare_label): New exported function.
1566 (lookup_label, define_label): Rewritten for new data structure.
1567 (shadow_label): Kill.
1569 * c-tree.h: Prototype declare_label; don't prototype
1570 push_label_level, pop_label_level, nor shadow_label.
1571 * c-parse.in: Remove all calls to push_label_level and
1572 pop_label_level. Use declare_label for __label__ decls.
1574 * doc/extend.texi: Clarify that __label__ can be used to
1575 declare labels with local scope in any nested block, not
1576 just statement expressions. Cross-reference nested functions
1577 section from local labels section.
1579 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1581 * sched-rgn.c (find_rgns): Initialize current_edge correctly.
1583 2003-07-19 Phil Edwards <pme@gcc.gnu.org>
1585 * doc/makefile.texi (restrap, profiledbootstrap): Document targets.
1587 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1589 * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
1590 fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
1592 2003-07-19 Ulrich Weigand <uweigand@de.ibm.com>
1594 * config/s390/s390.c (legitimize_pic_address): Access local symbols
1595 relative to the GOT instead of relative to the literal pool base.
1596 (s390_output_symbolic_const): Handle new GOT-relative accesses.
1597 * config/s390/s390.md ("call"): Access local functions and PLT stubs
1598 relative to the GOT instead of relative to the literal pool base.
1599 ("call_value"): Likewise.
1600 ("call_value_tls"): Likewise.
1602 * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
1603 reloading. Support LTREL_BASE / LTREL_OFFSET construct.
1604 (s390_chunkify_finish): Likewise.
1605 (s390_chunkify_cancel): Likewise.
1606 (s390_reorg): Adapt caller.
1607 (find_base_register_in_addr,
1608 find_base_register_ref, replace_base_register_ref): Delete.
1609 (find_ltrel_base, replace_ltrel_base): New functions.
1610 (find_constant_pool_ref): Handle LTREL_BASE unspecs.
1611 (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
1612 base vs. index register usage.
1613 (struct constant_pool): Remove 'anchor'.
1614 (s390_add_anchor): Delete.
1615 (s390_dump_pool): Remove anchor handling.
1616 * config/s390/s390.md ("reload_anchor"): Remove.
1618 * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
1619 (s390_load_got): New function. Use LTREL_BASE/OFFSET.
1620 (s390_emit_prologue): Use it.
1621 * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
1622 "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
1623 hard-code register 14.
1624 * config/s390/s390-protos.h (s390_load_got): Declare.
1626 * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
1627 Support TImode constants.
1628 * config/s390/s390.md ("consttable_ti"): New.
1629 ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
1631 * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
1632 UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
1633 UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
1634 UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
1635 UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
1636 New symbolic constants.
1637 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
1638 "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
1639 "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
1640 "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
1641 symbolic UNSPEC values.
1642 * config/s390/s390.c (larl_operand, s390_short_displacement,
1643 bras_sym_operand, s390_cannot_force_const_mem,
1644 s390_delegitimize_address, s390_decompose_address,
1645 legitimize_pic_address, s390_output_symbolic_const,
1646 s390_function_profiler): Use symbolic UNSPEC values.
1648 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1650 * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
1651 c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
1652 c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
1653 collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
1654 cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
1655 cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
1656 dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
1657 fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
1658 gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
1659 genemit.c genextract.c genoutput.c genrecog.c gensupport.c
1660 ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
1661 integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
1662 loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
1663 postreload.c prefix.c print-tree.c protoize.c ra-build.c
1664 ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
1665 regmove.c regrename.c reload.c reload1.c reorg.c resource.c
1666 sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
1667 simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
1668 tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
1669 varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
1672 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
1674 * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
1675 * toplev.h (warning): Remove attribute.
1677 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
1679 * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
1680 (pop_label_level): Likewise.
1681 (duplicate_decls): Likewise.
1682 (implicitly_declare): Likewise.
1683 (shadow_label): Likewise.
1684 (start_decl): Likewise.
1685 (finish_decl): Likewise.
1686 (grokdeclarator): Likewise.
1687 (get_parm_info): Likewise.
1688 (detect_field_duplicates): Likewise.
1689 (finish_struct): Likewise.
1690 (start_function): Likewise.
1691 (store_parm_decls): Likewise.
1692 (finish_function): Likewise.
1693 (c_expand_body_1): Likewise.
1694 (check_for_loop_decls): Likewise.
1695 (merge_translation_unit_decls): Likewise.
1697 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
1699 * common.opt: Document --param.
1700 * opts.c (columns, undocumented_msg): New.
1701 (print_help): Get number of columns from environment. Print
1702 --param help. Tweak newline handling.
1703 (print_param_help): New.
1704 (print_filtered_help): Better handling of duplicates. Complain
1705 about undocumented switches.
1706 (print_switch): New.
1707 (wrap_help): Improve wrapping, use COLUMNS.
1708 * opts.sh: Ignore comments in records.
1709 * params.def: Fix typos and remove trailing periods.
1710 * toplev.c (display_help): Don't dump --param help.
1711 * doc/sourcebuild.texi: Update.
1713 2003-07-18 Richard Henderson <rth@redhat.com>
1716 * optabs.c (prepare_operand): Fail gracefully instead of abort
1717 if the predicate doesn't satisfy.
1718 (gen_cond_trap): Allow prepare_operand to fail.
1720 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
1722 * c-common.c: Don't undefine GCC_DIAG_STYLE.
1723 (fname_decl): Don't use xxx_with_decl.
1724 (c_add_case_label): Likewise.
1725 (handle_section_attribute): Likewise.
1726 (handle_alias_attribute): Likewise.
1727 (handle_no_instrument_function_attribute): Likewise.
1728 (handle_no_limit_stack_attribute): Likewise.
1729 * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
1730 * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
1732 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1734 * Makefile.in (ifcvt.o): Add cfgloop.h.
1735 * basic-block.h (EDGE_LOOP_EXIT): New flag.
1736 * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
1737 * ifcvt.c: Include cfgloop.h.
1738 (mark_loop_exit_edges): New static function.
1739 (if_convert): Call it.
1740 (find_if_header): Ignore branches out of loops.
1742 2003-07-18 Kazu Hirata <kazu@cs.umass.edu>
1744 * combine.c (simplify_comparison): Don't share rtx when converting
1745 (ne (and (not X) 1) 0) to (eq (and X 1) 0).
1747 2003-07-18 David Edelsohn <edelsohn@gnu.org>
1749 * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
1750 (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
1751 (MUST_PASS_IN_STACK): Define.
1752 (BLOCK_REG_PADDING): Define.
1754 2003-07-18 Richard Henderson <rth@redhat.com>
1756 * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
1757 to skip the addr_vec.
1759 Fri Jul 18 15:22:28 2003 Alexandre Oliva <aoliva@redhat.com>
1761 * combine.c (combinable_i3pat): Don't forbid occurrences of
1762 i2dest or i1dest in inner_dest if inner_dest is a mem.
1764 Fri Jul 18 17:05:57 CEST 2003 Jan Hubicka <jh@suse.cz>
1766 * cgraph.c (cgraph_remove_node): Clear the hash table slot.
1768 2003-07-17 Jakub Jelinek <jakub@redhat.com>
1771 * loop.c (basic_induction_var): Check if convert_modes emitted any
1772 instructions. Remove them and return 0 if so.
1774 2003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1776 PR optimization/11083
1777 * toplev.c (rest_of_handle_addresof): Rename into
1778 rest_of_handle_addressof. Delete unreachable blocks
1779 if dead edges were purged after the addressof pass.
1781 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
1783 * Makefile.in, configure, configure.in: Remove handling of
1784 lang-options.h and options_.h.
1785 * toplev.c (struct lang_opt, documented_lang_options): Remove.
1786 (display_help): Don't use documented_lang_options.
1788 2003-07-17 Zack Weinberg <zack@codesourcery.com>
1790 * c-decl.c (pushdecl_function_level): Make static, return nothing.
1791 (kept_level_p): Fold into poplevel.
1792 (undeclared_variable): Moved here from c-typeck.c. Export.
1793 * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
1794 (undeclared_variable): Prototype here. Don't prototype
1795 kept_level_p nor pushdecl_function_level.
1796 * c-parse.in: Change first argument to poplevel from
1797 "kept_level_p()" to "KEEP_MAYBE".
1798 * c-typeck.c (undeclared_variable): Moved to c-decl.c.
1800 2003-07-17 Roger Sayle <roger@eyesopen.com>
1802 * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
1803 commutative operands instead of modifying the RTL in-place.
1805 2003-07-17 Mark Mitchell <mark@codesourcery.com>
1807 PR optimization/11557
1808 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
1809 unless we know which function is being called.
1811 2003-07-17 Roger Sayle <roger@eyesopen.com>
1813 * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
1814 whether to reorder the operands of a commutative binary operator.
1816 2003-07-17 Roger Sayle <roger@eyesopen.com>
1818 * fold-const.c (const_binop): Avoid performing the FP operation at
1819 compile-time, if either operand is NaN and we honor signaling NaNs,
1820 or if we're dividing by zero and either flag_trapping_math is set
1821 or the desired mode doesn't support infinities.
1822 (fold_initializer): New function to fold an expression ignoring any
1823 potential run-time exceptions or traps.
1824 * tree.h (fold_initializer): Prototype here.
1825 * c-typeck.c (build_binary_op): Move to the end of the file so
1826 that intializer_stack is in scope. If constructing an initializer,
1827 i.e. when initializer_stack is not NULL, use fold_initializer to
1829 * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
1830 performing FP operations at compile-time, if they would raise an
1831 exception at run-time.
1833 2003-07-17 Geoffrey Keating <geoffk@apple.com>
1836 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
1837 (langhooks.o): Add $(GGC_H), gt-langhooks.h.
1838 (GTFILES): Add langhooks.c.
1839 (gt-langhooks.h): New.
1840 * c-common.h (c_static_assembler_name): Prototype.
1841 * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
1842 * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
1843 * c-opts.c: Include langhooks-def.h.
1844 (c_static_assembler_name): New.
1845 * langhooks.c: Include ggc.h. Include gt-langhooks.h.
1847 (lhd_set_decl_assembler_name): Give static objects with context
1849 * varasm.c (var_labelno): Delete.
1850 (make_decl_rtl): Don't change the assembler name once it's set.
1852 * c-opts.c (this_input_filename): New.
1853 (finish_options): Take new parameter, name of file being compiled.
1854 Update callers. Set this_input_filename.
1855 (push_command_line_include): Use this_input_filename not
1856 main_input_filename.
1858 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
1860 * Makefile.in: Depend .pot generation on options.c.
1861 * po/exgettext: Add an extra_files variable containing additional
1864 2003-07-17 Zack Weinberg <zack@codesourcery.com>
1866 * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
1867 c_write_global_declarations.
1869 * c-decl.c: Fix typos in several comments. Remove all
1870 #if 0 blocks; reindent as needed. Remove unused argument
1871 to declare_parm_level; all callers changed.
1872 * c-parse.in: Update calls to declare_parm_level. Avoid
1873 issuing a double warning in some circumstances.
1874 * c-typeck.c: Update calls to declare_parm_level.
1875 * c-tree.h: Update prototype of declare_parm_level.
1877 * c-pragma.c (apply_pragma_weak): Don't complain about a
1878 redundant #pragma weak.
1880 * objc/objc-act.c (forward_declare_categories,
1881 build_selector_reference_decl, build_class_reference_decl,
1882 build_objc_string_decl, synth_forward_declarations,
1883 build_protocol_reference): Set TREE_PUBLIC on synthetic
1884 forward decl to 0, consistent with eventual definition.
1885 Correct comments to match.
1887 * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
1888 in regexp that don't form a range expression.
1889 * fixinc/fixincl.def: Regenerate.
1891 2003-07-17 Richard Henderson <rth@redhat.com>
1894 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
1895 even with !TARGET_CONST_GP.
1896 (ia64_function_ok_for_sibcall): Reject non-local functions.
1898 2003-07-17 Steven Bosscher <steven@gcc.gnu.org>
1900 * c-common.c (c_estimate_num_insns_1): Don't handle
1902 * expr.c (safe_from_p): Likewise.
1903 * gengtype.c (adjust_field_tree_exp): Likewise.
1904 * stmt.c (warn_if_unused_value): Likewise
1905 * tree.c (first_rtl_op): Likewise.
1906 * tree.def: Don't define METHOD_CALL_EXPR.
1907 * java/lang.c (java_estimate_num_insns_1): Don't handle
1910 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1913 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
1914 and its restrictions for the SPARC64 port.
1915 Move the entry of "-mimpure-text" before that of "-mv8".
1917 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
1918 Phil Edwards <phil@jaj.com>
1920 * doc/install.texi (*-*-solaris2*): Document the step-by-step
1921 procedure to bootstrap and install.
1922 Document the preference for the legacy Sun tools in /usr/bin
1923 over the POSIX tools in /usr/xpg4/bin for the build process.
1925 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
1927 * c.opt: Document Uncodumented; use it. Document ObjC options.
1928 * opts.c (print_filtered_help): Skip undocumented switches.
1929 * opts.h (CL_UNDOCUMENTED): New.
1930 * opts.sh: Handle Undocumented.
1931 * toplev.c (documented_lang_options): Prevent its becoming empty.
1933 * lang-options.h: Remove.
1935 2003-07-16 Ulrich Weigand <uweigand@de.ibm.com>
1937 * loop.c (check_ext_dependent_givs): Pass const struct loop *
1938 instead of struct loop_info * as argument. Accept BIVs with
1939 increment +/- 1 provided there is a friendly exit test against
1940 a loop-invariant value.
1941 (strength_reduce): Adapt call to check_ext_dependent_givs.
1943 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
1944 Con Bradley <con.bradley@superh.com>
1946 * sh-protos.h (sh_get_pr_initial_val): Declare.
1947 * sh.c (regno_reg_class): Make its elements type enum reg_class.
1948 (output_stack_adjust): Remove emit_fn argument. Add epilogue_p
1949 and live_regs_mask arguments. Changed all callers.
1950 (save_schedule_s): New structure.
1951 (save_schedule): New typedef.
1952 (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
1953 (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
1954 In interrupts handlers, also save registers that are usually
1955 partially saved, and make sure there is at least one general purpose
1956 register saved if a target register needs saving.
1957 Add casts in comparisons to avoid warnings.
1958 (sh_media_register_for_return): return -1 for interrupt handlers.
1959 (MAX_SAVED_REGS, MAX_TEMPS): New defines.
1960 (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
1961 registers used are available.
1962 Set RTX_FRAME_RELATED_P where appropriate.
1963 Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
1964 (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
1965 (initial_elimination_offset): Likewise.
1966 * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
1967 (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
1968 (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
1969 (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
1970 (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
1971 and for target registers.
1972 (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
1973 (regno_reg_class): Make its elements type enum reg_class.
1974 (CONSTRAINT_LEN): Don't use isdigit.
1975 (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
1976 (FUNCTION_ARG): Add parentheses to avoid warnings.
1977 (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
1978 (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
1979 (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
1980 (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
1981 * sh.md (xordi3+1): Remove unused variable regno.
1982 (return_media): Check that tr0 is available before using it.
1984 2003-07-16 Neil Booth <neil@daikokuya.co.uk>
1986 * c.opt: Document more options.
1988 2003-07-16 Roger Sayle <roger@eyesopen.com>
1990 * combine.c (subst): Also handle (subreg (const_double ...)) case
1991 if created by a substitution, by using the original inner mode.
1993 2003-07-16 Roger Sayle <roger@eyesopen.com>
1995 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
1996 to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
1997 (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X.
1999 2003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
2001 * doc/install.texi (--without-headers): New.
2003 Partial Fix PR/10129
2004 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
2005 (machopic_output_function_base_name): New; print the true pic label.
2006 (machopic_classify_ident): Pic Base is always a defined data.
2007 * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
2008 * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
2010 * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
2011 if they are not floating point registers.
2014 * ggc.h: Add header guards.
2015 * c-decl.c (finish_struct): Sort fields if
2016 number greater than 15 and there are no
2017 anonymous structs/unions.
2018 * c-common.h: Include ggc.h.
2019 (sorted_fields_type): New struct.
2020 (field_decl_cmp): New prototype.
2021 (resort_sorted_fields): New prototype.
2022 (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
2023 * c-tree.h: (lang_type): Use pointer to sorted_fields_type
2024 as s, removing other fields.
2025 * c-typeck.c (lookup_field): Use s in lang_type.
2026 These were mostly moved from cp/class.c:
2027 * c-common.c (field_decl_cmp): New static function.
2028 (field_decl_cmp): New function.
2029 (resort_sorted_fields): New function.
2031 2003-07-16 Geoffrey Keating <geoffk@apple.com>
2033 * config/darwin.c (machopic_select_section): Use decl_readonly_section
2034 to do most of the work.
2036 2003-07-16 Hans-Peter Nilsson <hp@bitrange.com>
2038 * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
2039 * config/mmix/mmix.c: Convert functions to ISO C90.
2040 (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
2042 (mmix_get_hard_reg_initial_val): Tweak section head comment.
2044 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
2046 * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
2048 2003-07-16 Jakub Jelinek <jakub@redhat.com>
2050 * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
2051 (uw_update_context_1): Use it.
2052 * config/rs6000/rs6000.c (insn_after_throw): Remove.
2053 (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
2054 in parent frame if _Unwind_* called directly instead of through
2056 (rs6000_emit_eh_toc_restore): Remove.
2057 (rs6000_emit_prologue): Update stack pointer before doing any saving
2058 if current_function_calls_eh_return. Generate unwind info for $r2.
2059 (rs6000_emit_epilogue): Restore stack pointer after doing all
2060 restoring if current_function_calls_eh_return. Restore $r2.
2061 * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
2062 * config/rs6000/rs6000.md (eh_return): Remove call to
2063 rs6000_emit_eh_toc_restore.
2064 * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
2065 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
2067 2003-07-15 Jakub Jelinek <jakub@redhat.com>
2069 * expr.c (emit_block_move): Don't move anything if size is const 0.
2070 (clear_storage): Test against const0_rtx instead of comparing INTVAL
2073 2003-07-15 David S. Miller <davem@redhat.com>
2075 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
2076 emit nop if the last real insn is CALL_INSN.
2078 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
2080 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
2082 * config/i386/xm-mingw32.h: Change GNU CC to GCC.
2084 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
2086 * config/i386/winnt.c (associated_type): Artificial methods are not
2087 affected by the import/export status of their class unless they are
2089 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
2091 * config/i386/winnt.c: Fix GCC copyright comment.
2093 2003-07-16 Gabriel Dos Reis <gcc@integrable-solutions.net>
2096 * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
2097 not recursing on hard error.
2098 (diagnostic_for_decl): Likewise.
2099 * diagnostic.def: Rearrange.
2101 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
2103 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
2104 If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
2106 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
2107 Richard Henderson <rth@redhat.com>
2109 * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
2110 to decide if to access a _Unwind_Ptr or a _Unwind_Word.
2111 (_Unwind_SetGR): Likewise.
2112 (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
2113 (Unwind_SpTmp): New typedef.
2114 (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
2115 (uw_update_context): Use _Unwind_GetPtr.
2116 (init_dwarf_reg_size_table): Move above uw_init_context_1.
2117 (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
2118 Use _Unwind_SetSpColumn.
2119 (uw_install_context_1): Don't initialize dwarf_reg_size_table.
2122 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
2124 * c.opt: Document more options.
2125 * toplev.c (documented_lang_options): Remove all local help strings.
2127 2003-07-15 Mark Mitchell <mark@codesourcery.com>
2130 * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
2133 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
2136 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
2137 swap comparison operands if doing so would generate an
2138 unrecognizable insn.
2140 2003-07-15 Eric Botcazou <ebotcazou@libertysurf.fr>
2142 PR optimization/11320
2143 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
2144 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
2145 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
2146 current_sched_info->compute_jump_reg_dependencies. Record which
2147 registers are used and which registers are set by the jump.
2148 Clear deps->reg_conditional_sets after a barrier.
2149 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
2150 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
2151 (init_deps): Initialize reg_conditional_sets.
2152 (free_deps): Clear reg_conditional_sets.
2153 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
2154 Mark registers live on entry of the fallthrough block and conditionally
2155 set as set by the jump. Mark registers live on entry of non-fallthrough
2156 blocks as used by the jump.
2157 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
2158 Mark new parameters as unused.
2160 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
2162 * doc/invoke.texi: Resync MIPS -march documentation.
2164 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
2166 * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
2167 (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
2168 (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
2169 * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
2170 (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
2171 (mips_issue_rate): Handle PROCESSOR_R9000.
2172 (mips_use_dfa_pipeline_interface): Likewise.
2173 * config/mips/9000.md: New file.
2174 * config/mips/mips.md: Include it.
2175 (define_attr cpu): Add r9000.
2176 (mulsi3_mult3): Use "mul" for rm9000 code.
2178 2003-07-15 Stan Cox <scox@redhat.com>
2180 * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
2181 (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
2182 (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
2183 * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
2184 (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
2185 (mips_issue_rate): Handle PROCESSOR_R7000.
2186 (mips_use_dfa_pipeline_interface): Likewise.
2187 * config/mips/7000.md: New file.
2188 * config/mips/mips.md: Include it.
2189 (define_attr cpu): Add r7000.
2190 (mulsi3_mult3): Use "mul" for rm7000 code.
2192 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
2194 * config/mips/mips.md (define_attr type): Add condmove. Use it for
2195 the conditional move patterns.
2196 * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
2197 Check for condmove type.
2198 (ir_vr54_arith): Add move type.
2199 * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
2200 * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
2202 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
2204 * c-opts.c (print_help): Remove.
2205 (c_common_handle_option): Don't handle --help.
2206 * c.opt: Document some options.
2208 * opts.c (print_filtered_help): New.
2209 (print_help): Use it.
2211 2003-07-14 Geoffrey Keating <geoffk@apple.com>
2213 * c-common.c (c_common_type_for_mode): Handle V4DFmode.
2214 * tree.c: (build_common_tree_nodes_2): Likewise.
2215 * tree.h (enum tree_index): Add TI_V4DF_TYPE.
2216 (V4DF_type_node): New.
2218 * c-opts.c (push_command_line_include): Don't free deferred_opts,
2220 (finish_options): Reset init_cursor.
2222 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
2224 * expr.c (expand_assignment): Remove an unused argument
2226 * expr.h: Update the prototype.
2227 * function.c: Update the callers.
2230 2003-07-14 Mark Mitchell <mark@codesourcery.com>
2233 * integrate.c (copy_decl_for_inlining): Do not mark copied decls
2236 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
2238 * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
2239 with __cplusplus, not "we must use the C++ compiler's type"
2240 * fixinc/inclhack.def (void_null): Note that Interix needs this.
2241 * fixinc/fixincl.x: Regenerate.
2243 2003-07-14 Geoffrey Keating <geoffk@apple.com>
2245 * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
2246 and unseen_objects from the global data before calling
2247 __deregister_frame_info_bases.
2248 (examine_objects): Insert objects into the seen_objects list,
2250 (_Unwind_Find_FDE): Always unlock the global object lists, even if
2251 we couldn't allocate a data structure to put in it.
2253 * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
2254 (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
2255 (SET_TYPE_PROTOCOL_LIST): New.
2256 * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
2257 (get_object_reference): Likewise.
2259 Mon Jul 14 23:14:28 CEST 2003 Jan Hubicka <jh@suse.cz>
2261 * cfglayout.c (locator_file): Break out from ....
2262 (insn_file): ... here.
2263 (locator_line): Break out from ....
2264 (insn_line): ... here.
2265 * rtl.h (locator_file, locator_line): Declare.
2266 (final_start_function): Set proper line/file info.
2268 2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
2270 * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
2271 handled by pp_c_cast_expression.
2273 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
2275 * config/mips/mips.c (mips_expand_prologue): Use a single insn to
2276 allocate 32768 bytes of stack. Use addition rather than subtraction
2277 when a single insn is enough.
2278 * config/mips/mips.md: Remove insns and splitters for subtracting
2280 (subsi3): Only accept register operands.
2281 (subsi3_internal): Likewise. Use for TARGET_MIPS16 as well.
2282 (subdi3_internal_3, subsi3_internal_2): Likewise.
2283 (casesi): Use expand_binop to subtract the lower bound.
2285 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
2287 * config/mips/mips.c (mips_in_small_data_p): Don't handle
2288 TARGET_MIPS16 specially.
2290 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
2292 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
2293 mips_output_aligned_bss.
2294 * config/mips/linux.h: Likewise.
2295 * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
2296 * config/mips/mips.c (mips_output_aligned_bss): New function.
2298 * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
2299 * config/mips/elf64.h: Likewise.
2301 * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
2302 mips_declare_object_name.
2303 (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
2304 * config/mips/elf64.h: As for elf.h.
2305 * config/mips/iris6.h: Likewise.
2306 * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
2307 * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
2308 do...while (0) block.
2309 * config/mips/mips-protos.h (mips_declare_object_name): Declare.
2310 (mips_finish_declare_object): Declare.
2311 * config/mips/mips.c (mips_declare_object_name): New function.
2312 (mips_finish_declare_object): New function.
2314 * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
2315 * config/mips/linux.h: Likewise.
2317 * config/mips/mips.c (inside_function): Delete.
2318 (file_in_function_warning, ignore_line_number): Delete.
2319 (mips_output_filename): Don't warn about changing filenames within
2321 (mips_output_lineno): Update accordingly.
2322 (mips_output_function_prologue): Don't reset the deleted variables.
2323 * config/mips/mips.h (inside_function): Delete.
2324 (file_in_function_warning, ignore_line_number): Delete.
2326 * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
2327 * config/mips/elf64.h: Likewise.
2328 * config/mips/openbsd.h: Likewise.
2329 * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
2330 * config/mips/linux.h: Likewise.
2331 * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
2332 (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
2334 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
2335 to the list of include files when using gas.
2336 (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
2337 * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
2338 * config/mips/elf64.h: Likewise.
2339 * config/mips/iris5.h: Likewise.
2340 * config/mips/linux.h: Likewise.
2341 * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
2342 * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
2343 (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
2344 * config/mips/sdb.h: ...this new file.
2346 2003-07-14 Douglas Rupp <rupp@gnat.com>
2348 * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
2349 argument to getcwd; use fixed buffer instead.
2351 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
2353 * fixinc/mkfixinc.sh: Treat OpenBSD normally.
2354 * fixinc/fixinc.wrap: Delete.
2356 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
2358 * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
2361 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
2363 * ggc-page.c (struct globals): Add new fields to keep track of the
2364 total allocated memory and overhead.
2365 (ggc_print_statistics): Print them.
2366 (ggc_alloc): Keep track of the total allocated memory and the
2369 * tree.c (dump_tree_statistics): Increase spacing.
2370 (enum tree_node_kind): Move to ...
2371 * tree.h (enum tree_node_kind): ... here.
2372 (tree_node_counts, tree_node_sizes): Declare.
2374 2003-07-14 James A. Morrison <ja2morri@student.math.uwaterloo.ca>
2376 * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
2378 2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2380 PR optimization/11440
2381 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
2384 2003-07-14 Alan Modra <amodra@bigpond.net.au>
2386 * doc/tm.texi (BLOCK_REG_PADDING): Describe.
2387 * expr.h (struct locate_and_pad_arg_data): Add where_pad.
2388 (emit_group_load, emit_group_store): Adjust declarations.
2389 Remove most occurrences of #ifdef TREE_CODE.
2390 * expr.c (emit_group_load): Add "type" param, and use
2391 BLOCK_REG_PADDING to determine need for a shift. Optimize non-
2392 aligned accesses if !SLOW_UNALIGNED_ACCESS.
2393 (emit_group_store): Likewise.
2394 (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
2395 emit_group_load and emit_group_store calls.
2396 * calls.c (store_unaligned_arguments_into_pseudos): Tidy. Use
2397 BLOCK_REG_PADDING to determine whether we need endian_correction.
2398 (load_register_parameters): Localize vars. Handle shifting of
2399 small values to the correct end of regs. Adjust emit_group_load
2401 (expand_call, emit_library_call_value_1): Adjust emit_group_load
2402 and emit_group_store calls.
2403 * function.c (assign_parms): Set mem alignment for stack slots.
2404 Adjust emit_group_store call. Store values at the "wrong" end
2405 of regs to the stack. Use BLOCK_REG_PADDING.
2406 (locate_and_pad_parm): Save where_pad.
2407 (expand_function_end): Adjust emit_group_load call.
2408 * stmt.c (expand_value_return): Adjust emit_group_load call.
2409 * Makefile.in (calls.o): Depend on $(OPTABS_H).
2410 * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
2411 (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
2412 (MUST_PASS_IN_STACK): Define.
2413 (BLOCK_REG_PADDING): Define.
2414 * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
2415 (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
2416 * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
2417 (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
2418 Act on AGGREGATES_PAD_UPWARD_ALWAYS.
2420 2003-07-13 Aaron W. LaFramboise <awlaframboise@aol.com>
2422 * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
2424 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2426 * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
2427 both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
2429 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
2432 * toplev.c: Don't cut off option names.
2434 2003-07-13 Andreas Jaeger <aj@suse.de>
2436 * c-decl.c (link_hash_hash): Avoid warning about casting pointer
2437 to integer of different size.
2439 2003-07-13 Kazu Hirata <kazu@cs.umass.edu>
2441 * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
2442 to (eq (and X 1) 0).
2444 2003-07-13 Andreas Jaeger <aj@suse.de>
2446 * config.gcc: Add pmmintrin.h for x86_64-*-*.
2448 2003-07-13 Zack Weinberg <zack@codesourcery.com>
2450 * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
2451 (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
2452 list. Move these all together down by cpplib.
2454 * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
2455 definition of CPPCHAR_SIGNED_T.
2457 * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
2458 * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
2459 * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
2461 * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
2462 * cppinit.c (cpp_create_reader): Likewise.
2464 * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
2465 * cpptrad.c: Likewise. All callers changed.
2466 * cpplib.c: All callers changed.
2467 * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
2468 * hashtable.h: Define GTY(x) to nothing here too.
2470 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2472 * stor-layout.c (compute_record_mode): Remove very obsolete test
2473 that forces BLKmode for records with fields crossing word boundary.
2475 2003-07-13 Zack Weinberg <zack@codesourcery.com>
2477 * Makefile.in: Remove orphan reference to acconfig.h.
2479 2003-07-13 Andreas Jaeger <aj@suse.de>
2481 * cgraphunit.c: Convert prototypes to ISO C90.
2483 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
2485 * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
2487 * fixinc/fixincl.x: Rebuild.
2489 2003-07-12 Zack Weinberg <zack@codesourcery.com>
2491 * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
2492 i?86-*-*. Use correct name of cache variable.
2493 * configure: Regenerate.
2495 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
2497 * config/alpha/alpha.c: Fix comment typos.
2498 * config/alpha/alpha.md: Likewise.
2499 * config/arm/arm.c: Likewise.
2500 * config/arm/arm.md: Likewise.
2501 * config/arm/lib1funcs.asm: Likewise.
2502 * config/avr/avr.md: Likewise.
2503 * config/arm/README-interworking: Fix typos.
2505 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
2507 * c-format.c: Fix comment formatting.
2508 * c-typeck.c: Likewise.
2509 * coverage.c: Likewise.
2510 * cppcharset.c: Likewise.
2511 * cpplib.c: Likewise.
2512 * dbxout.c: Likewise.
2513 * gcov-io.h: Likewise.
2514 * toplev.c: Likewise.
2516 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
2518 * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
2521 2003-07-12 Zack Weinberg <zack@codesourcery.com>
2523 * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
2524 uses three-argument AC_DEFINE so no acconfig.h entries are
2526 (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
2527 which contains the GAS version number as a scaled integer.
2528 (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers. Add
2529 ability to check for ELF assembler.
2530 (gcc_GAS_CHECK_FEATURE): New macro.
2531 * configure.in: Use gcc_AC_CHECK_TYPE. Rewrite all
2532 assembler feature checks using gcc_GAS_CHECK_FEATURE.
2533 Use three-argument AC_DEFINE everywhere.
2534 * acconfig.h: Deleted.
2535 * config.in, configure: Regenerate.
2537 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
2539 * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
2541 * fixinc/fixincl.x: Regenerate.
2543 * fixinc/inclhack.def (gnu_types): Improve comment.
2545 2003-07-12 Andreas Jaeger <aj@suse.de>
2547 * fp-test.c (main): Use ISO C90 prototype.
2549 * version.c: Remove unneded include of ansidecl.h.
2551 * cgraph.h: Convert prototypes to ISO C90.
2552 * cgraph.c: Likewise.
2553 * fix-header.c: Likewise.
2555 * protoize.c: Likewise.
2557 Sat Jul 12 06:09:38 CEST 2003 Jan Hubicka <jh@suse.cz>
2559 * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
2562 Sat Jul 12 03:06:01 CEST 2003 Jan Hubicka <jh@suse.cz>
2563 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2565 * cgraph.c (cgraph_max_uid): New global variable.
2566 (cgraph_node): Set uid field.
2567 (create_edge): Keep inline flags consistent.
2568 (dump_cgraph): Dump more info.
2569 * cgraph.h (struct cgraph_local_info): Remove inline_many and
2570 can_inline_once; add inlinable, disgread_inline_limits, and self_insn
2571 (struct cgraph_global_info): Add insns, calls, cloned_times,
2573 (struct cgraph_node): Add uid.
2574 (struct cgraph_edge): Add inline_call.
2575 (cgraph_max_uid, cgraph_inline_p): Declare.
2576 * cgraph.c: Include params.h and fibheap.h
2577 (cgraph_mark_functions_to_inline_once): Kill.
2578 (INSNS_PER_CALL): New constant.
2579 (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
2581 (cgraph_finalize_function): Do not analyze inlining.
2582 (cgraph_finalize_compilation_unit): Set inlining attributes.
2583 (cgraph_mark_functions_to_output): More consistency checks.
2584 (cgraph_optimize_function): Set current_function_decl to NULL.
2585 (cgraph_expand_function): Use new inline flags.
2586 (cgraph_postorder): Expand from cgraph_expand_functions.
2587 (INLINED_TIMES, SET_INLINED_TIMES): New macros.
2588 (cgraph_inlined_into, cgraph_inlined_callees,
2589 cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
2590 cgraph_mark_inline, cgraph_check_inline_limits,
2591 cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
2592 cgraph_decide_inlining, cgraph_inline_p): New functions.
2593 * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
2594 PARAM_INLINE_UNIT_GROWTH): New parameters.
2595 * tree-inline.c (struct inline_data): New field current_decl.
2596 (expand_call_inline): Avoid forward declarations; use
2597 inlinable_function_p.
2598 (optimize_inline_calls): Set id.current_decl.
2600 2003-07-11 Andrew Pinski <pinskia@physics.uc.edu>
2602 * configure.in: Remove wrongly added definition of
2604 * configure: Regenerate.
2606 2003-07-11 Dan Nicolaescu <dann@ics.uci.edu>
2608 * rtl.def (NOTE): Do not use padding.
2610 2003-07-11 Dara Hazeghi <dhazeghi@yahoo.com>
2612 * doc/install.tex: Update required binutils for i?86-*-linux*
2614 2003-07-11 Richard Henderson <rth@redhat.com>
2616 * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
2618 2003-07-11 Mark Mitchell <mark@codesourcery.com>
2620 * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
2621 TRANSLATION_UNIT_DECL as top_level.
2623 2003-07-11 Jakub Jelinek <jakub@redhat.com>
2625 * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
2626 then fall back to cmpstrM.
2627 * builtins.c (expand_builtin_memcmp): Likewise.
2628 * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
2629 (s390_expand_cmpmem): ... this.
2630 * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
2631 cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
2632 from cmpstr* patterns. Rename call to s390_expand_cmpstr
2633 to s390_expand_cmpmem.
2634 * config/s390/s390.c (s390_expand_cmpstr): Rename to...
2635 (s390_expand_cmpstr): ... this. Rename cmpstr* instructions
2637 * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
2639 * doc/md.texi (cmpstrM): Describe as String compare insn, not
2643 2003-07-11 Loren James Rittle <ljrittle@acm.org>
2645 * config/i386/freebsd.h (SET_ASM_OP): Remove.
2646 (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
2647 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
2648 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
2650 2003-07-11 Richard Henderson <rth@redhat.com>
2652 * function.c (assign_parms): Don't recombine complex args if
2653 fnargs is unchanged from orig_fnargs.
2654 (split_complex_args): Return args without complex before copying.
2655 Re-layout the modified parameters.
2657 2003-07-11 J"orn Rennecke <joern.rennecke@superh.com>
2659 * regclass.c (choose_hard_reg_mode): Add third argument.
2660 Changed all callers.
2661 * rtl.h (choose_hard_reg_mode): Update declaration.
2662 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
2663 Take HARD_REGNO_CALL_PART_CLOBBERED into account.
2665 2003-07-11 Geoffrey Keating <geoffk@apple.com>
2667 * c-decl.c (finish_decl): Handle 'used' here...
2668 * cgraphunit.c (cgraph_finalize_function): ... and here ...
2669 * c-common.c: (handle_used_attribute): ... not here.
2671 * configure.in (onstep): Support --enable-intermodule.
2672 * Makefile.in (OBJS-common): New.
2674 (OBJS-archive): New.
2675 (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
2676 (OBJS-onestep): New.
2677 (libbackend.a): Support @onestep@.
2678 (libbackend.o): New.
2679 * configure: Regenerate.
2681 * c-common.h (c_reset_state): New prototype.
2682 (c_parse_file): New prototype.
2683 (finish_file): Move prototype from c-tree.h.
2684 * c-decl.c: Include <hashtab.h>.
2685 (builtin_decls): New.
2686 (current_file_decl): New.
2687 (duplicate_decls): Add extra parameter. Change all callers. Don't
2688 output duplicate common symbols.
2689 (link_hash_hash): New.
2690 (link_hash_eq): New.
2691 (poplevel): Handle popping of the top level.
2692 (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
2693 (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
2694 (pushdecl_top_level): Likewise.
2695 (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
2696 (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
2697 (finish_decl): Handle TRANSLATION_UNIT_DECL.
2698 (merge_translation_unit_decls): New.
2699 (c_write_global_declarations): New.
2700 (c_reset_state): New.
2701 (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
2702 * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
2703 * c-objc-common.c (c_cannot_inline_tree_fn): Handle
2704 TRANSLATION_UNIT_DECL.
2705 (c_objc_common_finish_file): Call merge_translation_unit_decls.
2706 * c-opts.c (in_fnames): Rename from in_fname.
2707 (c_common_decode_option): Handle multiple input filenames.
2708 (c_common_post_options): Likewise.
2709 (c_common_parse_file): Likewise; also, call c_parse_file rather than
2711 * c-parse.in: Move cleanup code to c_parse_file.
2712 (free_parser_stacks): Move contents to c_parse_file.
2713 (c_parse_file): New.
2714 * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
2716 (C_DECL_FILE_SCOPE): New.
2717 (finish_file): Move prototype to c-common.h.
2718 (merge_translation_unit_decls): New prototype.
2719 (comptypes): Add extra parameter to prototype.
2720 (c_write_global_declarations): New prototype.
2721 * c-typeck.c (tagged_types_tu_compatible_p): New.
2722 (function_types_compatible_p): Add extra parameter, change all callers.
2723 (type_lists_compatible_p): Likewise.
2724 (comptypes): Likewise.
2725 (struct tagged_tu_seen): New.
2726 (tagged_tu_seen_base): New.
2727 (build_unary_op): Handle TRANSLATION_UNIT_DECL.
2728 (c_mark_addressable): Remove #if 0 code.
2729 * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
2730 comment explaining why it shouldn't have to.
2731 * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
2733 * cppinit.c (cpp_read_next_file): New.
2734 (cpp_read_main_file): Use it.
2735 * cpplib.c (undefine_macros): New.
2736 (cpp_undef_all): New.
2737 * cpplib.h (cpp_read_next_file): Prototype.
2738 (cpp_undef_all): Prototype.
2739 * langhooks-def.h (write_global_declarations): Remove prototype.
2740 * toplev.h (write_global_declarations): Add prototype.
2741 * tree.c (decl_type_context): Use switch statement, handle
2742 TRANSLATION_UNIT_DECL.
2743 * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
2744 (TRANSLATION_UNIT_DECL): New kind of tree.
2745 * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
2746 * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
2747 * doc/invoke.texi: Make attempt to document new functionality.
2749 2003-05-19 Per Bothner <bothner@apple.com>
2751 * gcc.c (combine_inputs): New.
2752 (process_command): Set combine_inputs.
2753 (do_spec_1): Handle combine_inputs.
2756 2003-07-10 James E Wilson <wilson@tuliptree.org>
2758 PR optimization/9745
2759 * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
2760 loop_insn_emit_before.
2761 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
2763 2003-07-10 Zack Weinberg <zack@codesourcery.com>
2765 * cppcharset.c: Fix comment.
2766 (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
2767 (EILSEQ): #define to EINVAL if not already defined.
2768 (convert_using_iconv): #if out when !HAVE_ICONV.
2769 (init_iconv_desc): Handle !HAVE_ICONV here...
2770 (cpp_init_iconv): ...not here.
2772 2003-07-11 Neil Booth <neil@daikokuya.co.uk>
2774 * common.opt: More --help messages.
2775 * opts.c (print_help): Use puts().
2776 * toplev.c (f_options): Remove help text.
2777 (display_help): Don't dump f_options.
2779 2003-07-11 Nathanael Nerode <neroden@gcc.gnu.org>
2781 * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
2782 Move i?86-*-interix* to the don't-fix list.
2783 * fixinc/fixinc.interix: Delete with extreme prejudice.
2785 2003-07-10 Dara Hazeghi <dhazeghi@yahoo.com>
2788 * doc/install.texi: Document requirements for ia64-*-hpux* target.
2790 2003-07-10 Roger Sayle <roger@eyesopen.com>
2792 * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
2794 2003-07-10 Zack Weinberg <zack@codesourcery.com>
2796 * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
2797 one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
2798 one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
2799 convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
2800 convert_no_conversion, convert_using_iconv): New functions.
2801 (APPLY_CONVERSION): New macro.
2802 (struct conversion, conversion_tab): New data structure.
2803 (init_iconv_desc): Check conversion_tab for a custom conversion
2804 primitive before trying to use iconv.
2805 (convert_cset): Deleted.
2806 (cpp_init_iconv): Use UTF- terminology, not UCS-.
2807 (_cpp_destroy_iconv): Update to match.
2808 (_cpp_valid_ucn): We don't need iconv to implement UCNs.
2809 (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
2810 (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
2811 (_cpp_interpret_string_notranslate): New function, moved here
2814 * cpphash.h (convert_f, struct cset_converter): New types.
2815 (struct cpp_reader): narrow_cset_desc and wide_cset_desc
2816 are now struct cset_converter, not bare iconv_t.
2818 * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
2819 all callers changed.
2821 2003-07-10 Kelley Cook <kelleycook@wideopenwest.com>
2823 * Makefile.in (options.h): Depend on Makefile. Add move-if-change
2824 to opts.sh command line.
2825 * opts.sh: Write to temporary files with a move-if-change at the end.
2827 2003-07-10 Denis Chertykov <denisc@overta.ru>
2828 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2830 * combine.c (gen_binary): Handle the CLOBBER rtx and
2831 don't build a binary operation with it.
2833 2003-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2835 * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
2836 store_killed_after, store_killed_before): Keep track of the correct
2837 dependency function to use.
2839 2003-07-10 Steven Bosscher <steven@gcc.gnu.org>
2840 * toplev.c (do_compile): Don't try to open dump files before
2841 lang_dependent_init initializes dump_base_name.
2843 2003-07-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2845 * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
2847 * config/frv/frv.c (frv_expand_builtin): Likewise.
2848 * config/sh/sh.c (sh_media_init_builtins): Likewise.
2850 2003-07-09 Mark Mitchell <mark@codesourcery.com>
2853 * doc/invoke.texi (C++ Dialect Options): Change documentation of
2856 2003-07-10 J"orn Rennecke <joern.rennecke@superh.com>
2858 * tm.texi (RETURN_ADDR_OFFSET): Document.
2860 2003-07-10 Nathan Sidwell <nathan@codesourcery.com>
2862 * gcov-io.h: Update documentation.
2863 (GCOV_UNSIGNED2STRING): New.
2864 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
2865 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
2866 GCOV_TAG_SUMMARY_LENGTH): Adjust.
2867 (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
2868 GCOV_TAG_COUNTER_NUM): New.
2869 (GCOV_BLOCK_SIZE): Number of words.
2870 (gcov_var): Adjust buffer type.
2871 * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
2872 (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
2873 count, not byte count.
2874 (gcov_open): Adjust overread init.
2875 (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
2876 gcov_write_string, gcov_write_tag, gcov_write_length,
2877 gcov_write_tag_length): Adjust.
2878 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
2879 (gcov_sync, gcov_seek): Adjust.
2880 * gcov-dump.c (print_usage): Show gcc version only.
2881 (dump_file): Use GCOV_UNSIGNED2STRING.
2882 (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
2883 * gcov.c (print_version): Show gcc version only.
2884 (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
2885 GCOV_TAG_*_NUM macros.
2886 (read_count_file): Use GCOV_UNSIGNED2STRING. Use
2887 GCOV_TAG_COUNTER_LENGTH.
2888 * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
2889 Use GCOV_TAG_COUNTER_NUM.
2890 * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
2891 (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
2893 2003-07-10 Andreas Schwab <schwab@suse.de>
2895 * gcov-dump.c (dump_file): Fix missing address operator.
2897 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
2900 * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
2902 (fold_single_bit_test): If sign_bit_p() fails, assume that the
2903 bit being tested is not a sign bit.
2905 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
2907 * config/h8300/h8300.md (a peephole2): New.
2909 2003-07-10 Alexandre Oliva <aoliva@redhat.com>
2911 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
2912 * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
2913 from ld-linux.so.2 to ld.so.1.
2914 2001-11-18 Alexandre Oliva <aoliva@redhat.com>
2915 * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
2916 * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
2917 nor -Wl,-rpath-link.
2918 (LIB_SPEC): Add -rpath-link if !static.
2919 2001-08-22 Alexandre Oliva <aoliva@redhat.com>
2920 * config/mn10300/mn10300.c (mn10300_protect_label): New
2922 * config/mn10300/linux.h (PRINT_OPERAND,
2923 PRINT_OPERAND_ADDRESS): Set it during their execution.
2924 (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
2925 mn10300_protect_label is set.
2926 * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
2928 (LIB_SPEC, STARTFILE_SPEC): Define.
2929 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
2930 * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
2931 FLOAT_BIT_ORDER_MISMATCH.
2932 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
2933 * config.gcc (am33_2.0-*-linux*): Added.
2934 * config/mn10300/linux.h: New.
2935 * config/mn10300/t-linux: New.
2937 2003-07-10 Andreas Jaeger <aj@suse.de>
2939 * fold-const.c: Properly wrap prototypes.
2941 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
2943 2003-06-16 Alexandre Oliva <aoliva@redhat.com>
2944 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
2946 * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
2947 * config/mn10300/mn10300.h: GTY-declare it.
2948 2003-06-11 Alexandre Oliva <aoliva@redhat.com>
2949 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
2950 prototype. Use incoming RTL argument.
2951 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
2952 * config/mn10300/mn10300.md (int_label): Move C statements...
2953 (GOTaddr2picreg): ... here.
2954 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
2955 * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
2956 * config/mn10300/mn10300.c (mn10300_encode_section_info):
2957 ... here. New function.
2958 (TARGET_ENCODE_SECTION_INFO): Define to it.
2959 2001-11-04 Alexandre Oliva <aoliva@redhat.com>
2960 * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
2962 (mn10300_loadPC): Define as insn splittable after reload.
2963 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
2964 * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
2965 be defined in .rodata even in PIC, now that the assembler
2967 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
2968 * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
2969 symbol take an underscore prefix.
2970 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
2971 * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
2972 legitimize_pic_address): Declare.
2973 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
2974 the PIC register as fixed.
2975 (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
2976 (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
2978 (LEGITIMATE_PIC_OPERAND_P): Define.
2979 (PIC_OFFSET_TABLE_REGNUM): Define.
2980 (GOT_SYMBOL_NAME): Define.
2981 (SYMBOLIC_CONST_P): Define.
2982 (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
2984 (MN10300_GLOBAL_P): Test it.
2985 (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
2986 (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
2987 * config/mn10300/mn10300.c (print_operand): Handle unspec.
2988 (expand_prologue): Set PIC register.
2989 (call_address_operand): Don't match SYMBOL_REFs in PIC.
2990 (legitimize_address): Call legitimize_pic_address.
2991 (legitimize_pic_address): New fn.
2992 (legitimate_pic_operand_p): New fn.
2993 * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
2994 (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
2995 UNSPEC_PLT): New constants.
2996 (pop_pic_reg): New insn.
2997 (movsi): Adjust non-PIC addresses.
2998 (builtin_setjmp_receiver): Restore the PIC register.
3000 (call): Adjust non-PIC addresses.
3001 (int_label, GOTaddr2picreg): New expands.
3002 (am33_loadPC): New insn.
3003 (mn10300_loadPC): New expand.
3004 (call_next_insn): New insn.
3005 (add_GOT_to_pic_reg): New expand.
3006 (symGOT2reg, symGOT2reg_i): New expands.
3007 (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
3008 (sym2PIC, sym2PLT): New expands.
3010 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
3012 * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
3013 2001-05-01 Alexandre Oliva <aoliva@redhat.com>
3014 * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
3015 to flag_unsafe_math_optimizations.
3016 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
3017 * config/mn10300/mn10300.c (expand_prologue): Mark
3018 FP-register-saving insns as frame-related.
3019 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
3020 * config/mn10300/mn10300.c
3021 (mn10300_get_live_callee_saved_regs): Don't search past
3022 LAST_EXTENDED_REGNUM.
3023 (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
3024 * config/mn10300/mn10300.md: Remove excessive line breaks from
3025 `@' output patterns that were accounted as additional
3027 * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
3028 Re-introduce changes accidentally removed in Richard Sandiford's
3030 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
3031 Re-instate am33-2 lost in merge from net GCC.
3032 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
3033 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
3034 floating-point registers.
3035 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
3036 * config/mn10300/mn10300.md (movdf): Revert some am33-specific
3037 pessimizations that had gone in on 2000-05-08.
3038 2000-06-28 Graham Stott <grahams@cygnus.co.uk>
3039 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
3040 2000-06-22 Graham Stott <grahams@cygnus.co.uk>
3041 * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
3043 * (movhi): Likewise.
3044 * (movsi): Likewise.
3045 * (movsf): Likewise.
3046 * (movdi): Likewise.
3047 * (movdf): Likewise.
3048 Wed May 24 13:16:09 2000 Alexandre Oliva <aoliva@cygnus.com>
3049 * config/mn10300/mn10300.c (fp_regs_to_save): New function.
3050 (can_use_return_insn, initial_offset): Add fp_regs_to_save.
3051 (expand_prologue, expand_epilogue): Save and restore FP regs.
3052 2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
3053 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
3054 2000-05-13 Alexandre Oliva <aoliva@cygnus.com>
3055 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
3056 subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
3058 2000-05-12 Alexandre Oliva <aoliva@cygnus.com>
3059 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
3060 Discourage the two-argument, longer opcodes.
3061 (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
3063 * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
3064 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
3065 * config/mn10300/mn10300.md (cmpsf): New pattern.
3066 (branch): Test mdep.fpCC and output fbCC.
3067 * config/mn10300/mn10300.c (print_operand): Output conditions.
3068 (notice_cc_update): Recognize fcmp and set mdep.fpCC.
3069 2000-05-10 Alexandre Oliva <aoliva@cygnus.com>
3070 * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
3071 mulsf3, divsf3): Use the `F' constraint for FP values.
3072 * config/mn10300/mn10300.c (const_1f_operand): New function.
3073 * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
3074 * config/mn10300/mn10300.md (sqrtsf2): New expand.
3075 (rsqrtsf2): New insn.
3076 2000-05-09 Alexandre Oliva <aoliva@cygnus.com>
3077 * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
3079 2000-05-08 Alexandre Oliva <aoliva@cygnus.com>
3080 * config/mn10300/mn10300.md (abssf2, negdf2): On
3081 TARGET_AM33_2, expand to...
3082 (abssf2_am33_2, negdf2_am33_2): New insns.
3083 (addsf3, subsf3, mulsf3, divsf3): Likewise.
3084 (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
3085 * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
3086 movdi, movdf): Added FP regs.
3087 * invoke.texi (-mam33-2, -mno-am33-2): Document.
3088 2000-04-29 Alexandre Oliva <aoliva@cygnus.com>
3089 * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
3091 (REGNO_AM33_2_FP_P): Renamed to...
3092 (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
3093 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
3094 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
3095 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
3096 regs from GENERAL_REGS.
3097 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
3098 * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
3099 * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
3100 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
3101 2000-04-23 Alexandre Oliva <aoliva@cygnus.com>
3102 * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
3104 2000-04-21 Alexandre Oliva <aoliva@cygnus.com>
3105 * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
3106 (EXTRA_CONSTRAINT): Added OK_FOR_Q.
3107 * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
3108 * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
3109 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
3110 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
3111 AM33/2.0 floating-point registers.
3112 (CONDITIONAL_REGISTER_USAGE): Adjust.
3113 (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
3114 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
3115 (REG_CLASS_FROM_LETTER): Added `f' and `A'.
3116 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
3117 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
3118 (MULTILIB_DIRNAMES): Likewise.
3119 * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
3120 `__AM33_2__' when `-mam33-2' is given.
3121 (TARGET_AM33_2): Define.
3122 (TARGET_SWITCHES): Adjust.
3123 * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
3126 2003-07-09 Matt Kraai <kraai@alumni.cmu.edu>
3128 * doc/install.texi: Add missing @.
3130 2003-07-09 Bob Wilson <bob.wilson@acm.org>
3132 * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
3134 2003-07-09 Aldy Hernandez <aldyh@redhat.com>
3137 * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
3139 2003-07-09 Nathanael Nerode <neroden@gcc.gnu.org>
3142 * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
3143 "x-crtfini.o" with "crtinit.o", "crtfini.o".
3145 * fixinc/inclhack.def (limits_ifndefs): Add select test.
3146 * fixinc/fixincl.x: Rebuild.
3148 * fixinc/inclhack.def (math_exception): Improve bypass and comment.
3149 * fixinc/fixincl.x: Rebuild.
3151 2003-07-09 Hans-Peter Nilsson <hp@bitrange.com>
3153 * doc/install.texi (Configuration): Document the valgrind option
3154 to --enable-checking.
3156 Wed Jul 9 16:16:30 CEST 2003 Jan Hubicka <jh@suse.cz>
3158 * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
3160 2003-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3162 * c-lex.c (cb_ident): Cast cstr.text to const char *.
3164 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
3166 * gcov-io.h: Update documentation.
3167 (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
3169 (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
3170 (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
3171 (struct gcov_var): Change buffer's type. Add endian flag.
3172 (gcov_open): Remove mode in libgcov.
3173 (gcov_magic): Prototype.
3174 * gcov-io.c (from_file): New.
3175 (gcov_open): Clear endian flag.
3177 (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
3179 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
3180 gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
3181 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
3182 * gcov-iov.c (main): Correct cast.
3183 * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
3185 (gcov_begin_output): Use GCOV_NOTE_MAGIC.
3186 (coverage_init): Use GCOV_NOTE_SUFFIX.
3187 * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
3188 Rename to gcov_version, and return flag.
3189 (gcov_exit): Use gcov_version.
3190 (__gcov_init): Use gcov_version.
3191 * Makefile.in (coverageexts): Update.
3192 * gcov.c (print_version): Remove endianness conversion.
3193 (create_file_names): Use GCOV_NOTE_SUFFIX.
3194 (read_graph_file): Use gcov_magic.
3195 (read_count_file): Likewise.
3196 * gcov-dump.c (dump_file): Remove endianness conversion, use
3199 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
3201 * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
3203 * configure: Regenerated.
3204 * Makefile.in (ALL_CFLAGS): Correct its comment.
3206 2003-07-08 Mark Mitchell <mark@codesourcery.com>
3208 * fold-const.c (make_range): Do not access operand 1 for a
3209 zero-operand operator.
3211 2003-07-09 Neil Booth <neil@daikokuya.co.uk>
3213 * toplev.c (warn_dummy, W_options): Die.
3214 (display_help): Don't print W_options.
3215 * common.opt: Add W_options help from toplev.c.
3217 2003-07-09 Andreas Jaeger <aj@suse.de>
3219 * opts.c (wrap_help): Only pass int arguments as arguments to
3220 printf's '*' modifier. Change argument of function.
3222 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
3224 * doc/invoke.texi: Fix misspelling of "@item".
3226 2003-07-08 Kazu Hirata <kazu@cs.umass.edu>
3228 * config/i386/i386.md: Remove an old comment about
3231 Wed Jul 9 03:00:10 CEST 2003 Jan Hubicka <jh@suse.cz>
3233 * cgraph.c (cgraph_node_name): New function.
3234 (dump_cgraph): Use it.
3235 * cgraph.h (cgraph_dump_file): Declare.
3236 (cgraph_node_name): Declare.
3237 * cgraphunit.c: Include timevar.h
3238 (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
3239 (cgraph_optimize_function): Use TV_INTEGRATION.
3240 (cgraph_mark_local_functions): reorganize dumps.
3241 (cgraph_mark_functions_to_inline_once): Likewise.
3242 (cgraph_optimize): Likewise; use timevar.
3243 * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
3244 * toplev.c (dump_file_index): Add DFI_cgraph.
3245 (dump_file_info): Likewise.
3246 (cgraph_dump_file): New global variable.
3247 (do_compile): Open and close cgraph dump.
3248 * invoke.texi (-d): Document new flag; renumber.
3250 2003-07-08 Roger Sayle <roger@eyesopen.com>
3253 * calls.c (emit_call_1): Don't bother popping the arguments off of
3254 the stack after a noreturn function call; The adjustment is dead.
3255 (expand_call): Likewise.
3257 2003-07-08 Geoffrey Keating <geoffk@apple.com>
3259 * expr.c (MOVE_MAX_PIECES): Move from here...
3260 * defaults.h (MOVE_MAX_PIECES): ... to here.
3262 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
3264 * Makefile.in (stage1-start): Handle an empty SUBDIRS.
3266 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3268 * genattr.c (internal_dfa_insn_code): Don't prototype.
3269 * genattrtab.c (attr_desc): Add `static_p' field.
3270 (expand_units): Make blockage range and ready cost functions
3272 (write_attr_get): Don't add extern prototypes in C file. Mark
3273 static functions as appropriate.
3274 (find_attr, make_internal_attr): Initialize static_p.
3275 * genattrtab.h (ATTR_STATIC): New macro.
3276 * genautomata.c (output_internal_reset_func): Mark output function
3278 (make_internal_dfa_insn_code_attr): Mark output function as static.
3280 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3282 * genattrtab.h: Add new macros for attr `special' flags.
3283 * genattrtab.c (attr_desc): Reorder/resize fields better.
3284 Use attr `special' macros in all calls to make_internal_attr.
3285 * genautomata.c: Likewise.
3287 Wed Jul 9 02:25:39 CEST 2003 Jan Hubicka <jh@suse.cz>
3289 * c-common.c (c_estimate_num_insns_1): New static function.
3290 (c_estimate_num_insns): New global function.
3291 * c-common.h (DECL_NUM_STMTS): Rename to...
3292 (DECL_ESTIMATED_INSNS): ... this.
3293 (c_estimate_num_insns): Declare.
3294 * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
3295 * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
3296 * c-semantics.c (add_stmt): Do not account statements.
3297 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
3299 * langhooks.h (lang_hooks_for_tree_inlining): Add
3301 * params.def (max-inline-insns-auto, max-inline-insns-auto): set
3303 (max-inline-insns): set to 300.
3304 (min-inline-insns): set to 10.
3305 * tree-inline.c (struct inline_data): Rename inlined_stmts to
3307 (INSNS_PER_STMT): Kill.
3308 (inlinable_function_p): Compute and store body size.
3309 (expand_call_inline): Likewise.
3310 (optimize_inline_calls): Likewise.
3312 2003-07-08 James E Wilson <wilson@tuliptree.org>
3315 * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
3316 loop over new variable t2 instead of t.
3318 2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
3321 * config/i386/winnt.c: Replace use of error(), warning() with
3322 error_with_decl(), warning_with_decl(), throughout.
3324 2003-07-08 Neil Booth <neil@daikokuya.co.uk>
3326 * opts.c (wrap_help): Use unsigned int, not size_t.
3328 2003-07-08 Stephane Carrez <stcarrez@nerim.fr>
3330 * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
3331 as .file/.loc directives are incompatible with linker relaxation.
3333 2003-07-08 Zack Weinberg <zack@codesourcery.com>
3335 * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
3336 * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
3337 * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
3338 * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
3339 * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
3340 * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
3341 Escape { and } characters which are not part of range expressions.
3342 * fixinc/fixincl.x: Regenerate.
3343 * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
3345 2003-07-08 Steven Bosscher <steven@gcc.gnu.org>
3348 * tree-inline.c (find_alloca_call): Use
3349 walk_tree_without_duplicates, instead of walk_tree.
3350 (find_builtin_longjmp_call): Likewise.
3351 * c-objc-common.c (c_cannot_inline_fn): Likewise.
3352 * c-semantics.c (find_reachable_label): Likewise.
3354 2003-07-08 Jakub Jelinek <jakub@redhat.com>
3357 * config/i386/i386.c (ix86_check_movabs): New function.
3358 * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
3359 * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
3360 (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
3362 2003-07-08 Chris Demetriou <cgd@broadcom.com>
3364 * Makefile.in (install-po): Cope with empty CATALOGS.
3366 2003-07-08 Richard Sandiford <rsandifo@redhat.com>
3368 * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
3369 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
3370 (SECTION_FUNCTION_TEMPLATE): Delete.
3371 * config/mips/elf.h: As for elf64.h.
3372 (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
3373 * config/mips/linux.h: As for elf.h
3374 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
3375 * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
3376 (EXTRA_SECTION_FUNCTIONS): Remove sdata_section. Remove the handling
3377 of in_sdata from current_section_name and current_section_flags.
3378 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
3379 * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
3380 (MASK_GP_OPT, TARGET_GP_OPT): Delete.
3381 (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
3382 (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
3383 (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
3384 * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
3385 (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
3386 (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
3387 (override_options): Remove setting of MASK_GPOPT.
3388 (mips_output_external): Use mips_in_small_data_p to check whether a
3389 symbol needs an .extern directive. Don't emit such directives for
3390 TARGET_EXPLICIT_RELOCS.
3391 (mips_declare_object): Update accordingly.
3392 (mips_select_rtx_section): Call named_section rather than
3394 (mips_select_section): Use default_elf_section_section for everything
3395 except .text string constants.
3396 (mips_in_small_data_p): New function.
3397 (mips_encode_section_info): Remove small data handling.
3398 (mips_unique_section): Delete.
3399 (iris6_section_type_flags): New function.
3400 * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
3402 2003-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3405 * pa.md: Disparage all mtsar constraints.
3406 (extzv, extv, insv): Don't fail on length of {32|64}.
3408 2003-07-08 Zack Weinberg <zack@codesourcery.com>
3410 * system.h: Poison MAP_CHARACTER.
3411 * config/i370/i370-protos.h (mvs_map_char): Delete.
3412 * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.