+2003-07-06 Andreas Jaeger <aj@suse.de>
+
+ * basic-block.h: Convert prototypes to ISO C90.
+ * c-parse.in: Likewise.
+ * c-pragma.h: Likewise.
+ * c-typeck.c: Likewise.
+ * cfghooks.h: Likewise.
+ * cfgloopanal.c: Likewise.
+ * dbxout.h: Likewise.
+ * debug.h: Likewise.
+ * dwarf2asm.h: Likewise.
+ * gcov.c: Likewise.
+ * gengtype-lex.l: Likewise.
+ * sched-int.h: Likewise.
+ * timevar.c: Likewise.
+
+2003-07-06 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-common.h (c_comon_handle_filename,
+ c_common_missing_arguement): New.
+ * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
+ LANG_HOOKS_MISSING_ARGUMENT): New.
+ * c-opts.c (missing_arg): Rename c_common_missing_argument,
+ update to be an appropriate langhook.
+ (c_common_handle_option): Don't handle filenames.
+ (c_common_handle_filename): New.
+ * hooks.c (hook_void_constcharptr,
+ hook_bool_constcharptr_size_t_false): New.
+ * hooks.h (hook_void_constcharptr,
+ hook_bool_constcharptr_size_t_false): New.
+ * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
+ LANG_HOOKS_MISSING_ARGUMENT): New.
+ (LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.h (struct lang_hooks): Add handle_filename and
+ missing_argument.
+ * opts.c (handle_option): Don't handle filenames here, but ...
+ (handle_options): ... here.
+ (common_handle_option): Don't handle missing arguments here.
+ * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
+ LANG_HOOKS_MISSING_ARGUMENT): New.
+
+2003-07-06 Neil Booth <neil@daikokuya.co.uk>
+
+ * Makfile.in: Remove traces of mbchar.
+ * c-parse.in (MULTIBYTE_CHARS): Remove.
+ * config.in (MULTIBYTE_CHARS): Remove.
+ * configure: Remove --enable-mbchar.
+ * configure.in: Remove --enable-mbchar.
+ * mbchar.c, mbchar.h: Remove.
+ * system.h: Poison MULTIBYTE_CHARS.
+ * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
+ * config/linux.h (MULTIBYTE_CHARS): Remove.
+ * config/svr4.h (MULTIBYTE_CHARS): Remove.
+ * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
+
+2003-07-06 Andreas Jaeger <aj@suse.de>
+
+ * varray.c (varray_check_failed): Fix typo.
+
+ * unroll.c: Convert prototypes to ISO C90.
+ * varasm.c: Likewise.
+ * varray.c: Likewise.
+ * varray.h: Likewise.
+ * vmsdbgout.c: Likewise.
+ * xcoffout.c: Likewise.
+ * xcoffout.h: Likewise.
+
+2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcov-io.h: Add a local time stamp.
+ (struct gcov_info): Add stamp field.
+ (gcov_truncate): New.
+ * coverage.c (read_counts_file): Skip the stamp.
+ (coverage_begin_output): Write the stamp.
+ (build_gcov_info): Declare and init the stamp.
+ (coverage_finish): Only unlink data file, if stamp is zero.
+ * gcov-dump.c (dump_file): Dump the stamp.
+ * gcov.c (bbg_stamp): New.
+ (release_structures): Clear bbg_stamp.
+ (read_graph_file): Read stamp.
+ (read_count_file): Check stamp.
+ * libgcov.c (gcov_exit): Check stamp and truncate if needed.
+
+2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.h (default_flag_random_seed): Remove.
+ * toplev.h (local_tick): Declare.
+ * tree.c (flag_random_seed, default_flag_random_seed): Move to
+ toplev.c.
+ (append_random_chars): Don't call default_flag_random_seed.
+ * toplev.c (flag_random_seed): Define here. Set local_tick.
+ (local_tick): Define.
+ (randomize): New, moved from tree.c.
+ (print_switch_values): Adjust.
+ (toplev_main): Call randomize.
+
+2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.h (crc32_string): Declare.
+ * tree.c (append_random_chars): Remove.
+ (crc32_string): New.
+ (get_file_function_name_long): Use crc32_string here.
+
+2003-07-06 Andreas Jaeger <aj@suse.de>
+
+ * gcc.c: Convert prototypes to ISO C90.
+ * gcc.h: Likewise.
+ * gcov-dump.c: Likewise.
+ * gcov-iov.c: Likewise.
+ * gcse.c: Likewise.
+ * genattrtab.h: Likewise.
+ * ggc.h: Likewise.
+ * global.c: Likewise.
+ * graph.c: Likewise.
+ * graph.h: Likewise.
+ * hosthooks.h: Likewise.
+ * hooks.h: Likewise.
+ * hooks.c: Likewise.
+ * hashtable.h: Likewise.
+ * hashtable.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * integrate.h: Likewise.
+ * integrate.c: Likewise.
+ * input.h: Likewise.
+ * ifcvt.c: Likewise.
+ * jump.c: Likewise.
+ * langhooks-def.h: Likewise. Add extern to prototypes.
+ * langhooks.c: Likewise.
+ * langhooks.h: Likewise.
+ * lcm.c: Likewise.
+ * local-alloc.c: Likewise.
+ * loop-init.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * loop-unswitch.c: Likewise.
+ * loop.c: Likewise.
+ * loop.h: Likewise. Add extern to prototypes.
+ * machmode.h: Likewise.
+ * main.c: Likewise.
+ * mbchar.c: Likewise.
+ * mbchar.h: Likewise.
+ * mkdeps.c: Likewise.
+ * mkdeps.h: Likewise.
+ * optabs.c: Likewise.
+ * optabs.h: Likewise.
+ * output.h: Likewise.
+ * gccspec.c: Likwise.
+ * postreload.c: Likewise.
+ * prefix.c: Likewise.
+ * prefix.h: Likewise.
+ * print-rtl.c: Likewise.
+ * print-tree.c: Likewise.
+ * profile.c: Likewise.
+ * read-rtl.c: Likewise.
+ * real.c: Likewise.
+ * real.h: Likewise.
+ * recog.c: Likewise.
+ * recog.h: Likewise.
+ * reg-stack.c: Likewise.
+ * regclass.c: Likewise.
+ * regmove.c: Likewise.
+ * regrename.c: Likewise.
+ * regs.h: Likewise.
+ * reload.c: Likewise.
+ * reload.h: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * resource.h: Likewise.
+ * rtl-error.c: Likewise.
+ * rtl.c: Likewise.
+ * rtl.h: Likewise.
+ * rtlanal.c: Likewise.
+ * sbitmap.c: Likewise.
+ * sbitmap.h: Likewise.
+ * scan-decls.c: Likewise.
+ * scan.c: Likewise.
+ * sched-deps.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-int.h: Likewise.
+ * sched-rgn.c: Likewise.
+ * sched-vis.c: Likewise.
+ * sibcall.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * sreal.c: Likewise.
+ * sreal.h: Likewise.
+ * ssa-ccp.c: Likewise.
+ * ssa-dce.c: Likewise.
+ * ssa.c: Likewise.
+ * ssa.h: Likewise.
+ * stack.h: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * stringpool.c: Likewise.
+ * target.h: Likewise.
+ * timevar.c: Likewise.
+ * timevar.h: Likewise.
+ * tlink.c: Likewise.
+ * tracer.c: Likewise.
+ * tree-inline.c: Likewise.
+ * tree-inline.h: Likewise.
+ * tree.c: Likewise.
+ * tree.h: Likewise.
+
+2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * combine.c (nonzero_bits1): Fix a warning.
+
+2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (compute_mov_length): Correct the
+ length of loading CONST0_RTX (SFmode).
+
+2003-07-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * toplev.c (output_clean_symbol_name): Remove.
+ * toplev.h (output_clean_symbol_name): Remove.
+ * config/alpha/alpha.c (unicosmk_output_module_name): Use
+ lbasename & clean_symbol_name.
+
+2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ggc.h: Follow spelling conventions.
+ * config/i386/i386.c: Likewise.
+ * config/i386/winnt.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+
+2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * bt-load.c: Fix comment typos.
+ * c-incpath.c: Likewise.
+ * cfg.c: Likewise.
+ * cfgcleanup.c: Likewise.
+ * cfgloop.h: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cfgrtl.c: Likewise.
+ * diagnostic.h: Likewise.
+ * dwarfout.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * et-forest.c: Likewise.
+ * et-forest.h: Likewise.
+ * expr.c: Likewise.
+ * gcse.c: Likewise.
+ * genattr.c: Likewise.
+ * jump.c: Likewise.
+ * langhooks.h: Likewise.
+ * local-alloc.c: Likewise.
+ * loop-unroll.c: Likewise.
+ * loop-unswitch.c: Likewise.
+ * ra-build.c: Likewise.
+ * regclass.c: Likewise.
+ * regmove.c: Likewise.
+ * rtl.def: Likewise.
+ * rtlanal.c: Likewise.
+ * sched-ebb.c: Likewise.
+ * sched-rgn.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * ssa.c: Likewise.
+ * tracer.c: Likewise.
+ * tree.c: Likewise.
+
+2003-07-05 Zack Weinberg <zack@codesourcery.com>
+
+ * cppcharset.c: Use the correct return type for the fallback iconv
+ macro.
+
+Sat Jul 5 16:18:53 CEST 2003 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ Blame to Jan Hubicka <jh@suse.cz>
+ * cfglayout.c (record_effective_endpoints): Split insns before
+ first basic block correctly.
+
+2003-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
+ bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
+ if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
+
+2003-07-05 Andreas Jaeger <aj@suse.de>
+
+ * genattrtab.c (write_attr_get): Revert part of last patch to
+ always write out a prototype.
+
+ * genemit.c (gen_split): Readd lost unused attributes in last
+ patch.
+
+2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfgloopmanip.c (force_single_succ_latches): Force latch to be
+ different from header.
+
+2003-07-05 Andreas Schwab <schwab@suse.de>
+
+ * config/m68k/m68k.c: Remove code protected by CRDS.
+ * config/m68k/m68k.md: Likewise.
+
+2003-07-05 Neil Booth <neil@daikokuya.co.uk>
+
+ PR driver/11417
+ * c-opts.c (permit_fortran_options): New.
+ (c_common_init_options): Accept fortran front end options if
+ it looks like we might be preprocessing Fortran.
+ (c_common_handle_option): Don't reject switch if permit_fotran_options.
+
+2003-07-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * genattr.c (internal_dfa_insn_code): Output prototype.
+ * genattrtab.c: Don't output unnecessary decls, output in ISO C.
+ * genautomata.c: Likewise.
+ * genconditions.c: Likewise.
+ * genemit.c: Likewise.
+ * genextract.c: Likewise.
+ * gengenrtl.c: Likewise.
+ * gengtype.c: Likewise.
+ * genopinit.c: Likewise.
+ * genoutput.c: Likewise.
+ * genpeep.c: Likewise.
+ * genrecog.c: Likewise.
+
+2003-07-04 Zack Weinberg <zack@codesourcery.com>
+
+ * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
+ (struct cpp_options): Add narrow_charset, wide_charset,
+ bytes_big_endian fields. Remove EBCDIC field.
+ (cpp_init_iconv, cpp_interpret_string): New external interfaces.
+
+ * cpphash.h: Include <iconv.h> if we have it, otherwise
+ provide a dummy definition of iconv_t.
+ (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
+ (_cpp_valid_ucn): Update prototype.
+ (_cpp_destroy_iconv): New prototype.
+
+ * doc/cpp.texi: Document character set handling.
+ * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
+ * doc/extend.texi: Delete entire section on multiline strings.
+ Rewrite section on __FUNCTION__ etc now that these are
+ variables in C.
+
+ * cppucnid.tab, cppucnid.pl: New files.
+ * cppucnid.h: New generated file.
+ * cppcharset.c: Include cppucnid.h. Lots of commentary added.
+ (iconv_open, iconv, iconv_close): Provide dummy definitions
+ if !HAVE_ICONV.
+ (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
+ _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
+ emit_numeric_escape, convert_hex, convert_oct, convert_escape,
+ cpp_interpret_string, narrow_str_to_charconst,
+ wide_str_to_charconst): New.
+ (ucn_valid_in_identifier): Use a binary search through the
+ ucnranges table defined in cppucnid.h, not a long chain of if
+ statements.
+ (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal
+ character names are only valid in C++ and C99" to a warning.
+ Issue the "meaning of \[uU] is different in traditional C"
+ warning here. Take care not to let iconv see an invalid UCS
+ value if we get a malformed UCN. Issue an error if we don't
+ have iconv.
+ (cpp_interpret_charconst): Moved here from cpplex.c. Use
+ cpp_interpret_string to do the heavy lifting.
+
+ * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
+ narrow_charset, wide_charset fields of options structure.
+ (cpp_destroy): Call _cpp_destroy_iconv.
+ * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
+ (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
+ (cpp_interpret_charconst): Moved to cppcharset.c.
+ * cpplib.c (dequote_string): Delete.
+ (interpret_string_notranslate): New.
+ (do_line, do_linemarker): Use interpret_string_notranslate.
+
+ * Makefile.in (cppcharset.o): Depend on cppucnid.h.
+
+ * c-common.c (fname_string, combine_strings): Delete.
+ * c-common.h (fname_string, combine_strings): Delete prototypes.
+ * c-lex.c (ignore_escape_flag): Delete.
+ (cb_ident): Use cpp_interpret_string, not lex_string.
+ (get_nonpadding_token): New function.
+ (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
+ Adjust calls to lex_string. Don't write *value twice.
+ (lex_string): Now handles string constant concatenation.
+ Most of the work handed off to cpp_interpret_string.
+ Call fix_string_type here.
+ * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
+ FUNC_NAME, throughout.
+ (OBJC_STRING): New token type.
+ (primary:STRING): No need to call fix_string_type here.
+ (primary:objc_string): Make that OBJC_STRING.
+ (objc_string nonterminal): Delete.
+ (yylexname): Delete code to handle fake string constants.
+ (yylexstring): Delete entirely.
+ (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need
+ to handle CPP_ATSIGN.
+
+ * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
+ * c-opts.c (missing_arg, c_common_handle_option): Handle
+ OPT_fexec_charset_ and OPT_fwide_exec_charset_.
+ (c_common_init): Set cpp_opts->bytes_big_endian, not
+ cpp_opts->EBCDIC. Call cpp_init_iconv.
+ (print_help): Document -fexec-charset= and -fexec-wide-charset=.
+ (TARGET_EBCDIC): Delete default definition.
+
+ * objc/objc-act.c (build_objc_string_object): No need to
+ handle string constant concatenation.
+
+2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/install.texi: Fix typos.
+ * doc/invoke.texi: Likewise.
+ * doc/tm.texi: Likewise.
+
+2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/pa/fptr.c: Fix comment typos.
+ * config/pa/pa-64.h: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pa/pa.h: Likewise.
+ * config/rs6000/603.md: Likewise.
+ * config/rs6000/7xx.md: Likewise.
+ * config/rs6000/darwin.h: Likewise.
+ * config/rs6000/freebsd.h: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rs6000/rs6000.md: Likewise.
+ * config/rs6000/spe.h: Likewise.
+
+2003-07-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/2064.md: Change GNU CC to GCC.
+ * config/s390/2084.md: Likewise.
+ * config/s390/fixdfdi.h: Likewise.
+ * config/s390/linux.h: Likewise.
+ * config/s390/s390-modes.def: Likewise.
+ * config/s390/s390-protos.h: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/s390/s390.h: Likewise.
+ * config/s390/s390.md: Likewise.
+ * config/s390/s390x.h: Likewise.
+
+2003-07-04 Jeff Law <law@redhat.com>
+
+ PR c/11428
+ * expr.c (do_store_flag): Pass in the correct result type
+ when calling fold_single_bit_test.
+ * fold-const.c (fold_single_bit_test): Use result_type for the
+ result when folding a sign bit test.
+
+2003-07-04 Neil Booth <neil@daikokuya.co.uk>
+
+ * opts.c (common_handle_options): Negate sense of -falign- switches.
+
+2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.in: Replace PWD with PWD_COMMAND.
+
+2003-07-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfgloopanal.c (count_strange_loop_iterations): New static function.
+ (constant_iterations, count_loop_iterations, simple_loop_exit_p):
+ Handle strange loops.
+
+2003-07-04 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * install.texi: Even the g77 manpage is derived from
+ the full g77 manual.
+
+2003-07-04 Zack Weinberg <zack@codesourcery.com>
+
+ * ABOUT-NLS: Delete.
+ * intl: Delete entire directory.
+ * aclocal.m4: Include ../config/gettext.m4. Delete
+ AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
+ AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
+ * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
+ Remove intl/Makefile from all_outputs.
+ * configure, config.in: Regenerate.
+ * Makefile.in: Expunge all references to intl subdirectory.
+ Add -I../intl to INCLUDES.
+ * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
+
+2003-07-04 Roger Sayle <roger@eyesopen.com>
+
+ * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
+ * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
+
+2003-07-04 Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR c++/5287, PR c++/7910, PR c++/11021
+ * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
+ dllimport attribute if function is defined at declaration, but
+ report error instead. Likewise for dllimport'd variable
+ definitions. Set implicit TREE_PUBLIC for dllimport'd variables
+ declared within functions, Report error if dllimport or dllexport
+ symbol is not global.
+ (i386_pe_dllimport_p): Ignore dllimport attribute of functions
+ if defined after declaration or if inlined. Don't allow definition
+ of static data members of C++ classes. Don't dllimport virtual
+ methods.
+ (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
+ (i386_pe_mark_dllimport): Remove unnecessary checks.
+ (i386_pe_encode_section_info): Warn if the dllimport attribute
+ and symbol prefix have been instantiated and then overridden.
+
+ * doc/extend.texi: Document dllimport and dllexport attributes.
+
+ * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
+
+2003-07-03 Uwe Stieber <uwe@kaos-group.de>
+
+ * config/kaos.h (CPP_PREDEFINES): Delete.
+ (TARGET_OS_CPP_BUILTINS): New.
+
+2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-aux-info.c: Include toplev.h after c-tree.h.
+ * c-common.c: Likewise.
+ (GCC_DIAG_STYLE): Undef.
+ * c-semantics.c (GCC_DIAG_STYLE): Define.
+ * c-tree.h (GCC_DIAG_STYLE): Likewise.
+ * diagnostic.h (inform): Move prototype to toplev.h.
+ * jump.c: Include diagnostic.h before toplev.h.
+ * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
+ (warning, error, fatal_error, pedwarn, sorry, inform,
+ error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
+
+2003-07-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
+ at all if edge is not specified.
+ (can_copy_bbs_p, copy_bbs): New.
+ * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
+ * cfgloop.c (get_loop_body): Comment more precisely.
+ * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
+ (scale_bbs_frequencies): Fix comment typo.
+ (can_duplicate_loop_p): Use can_copy_bbs_p.
+ (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
+
+2003-07-03 Devang Patel <dpatel@apple.com>
+
+ * c-opts.c (c_common_parse_file): Remove extra
+ debug_hooks->start_source_file call.
+
+2003-07-03 Roger Sayle <roger@eyesopen.com>
+
+ * real.c (real_trunc, real_floor, real_ceil): New functions
+ to implement trunc, floor and ceil respectively.
+ * real.h (real_trunc, real_floor, real_ceil): Prototype here.
+ * builtins.c (integer_valued_real_p): New function to test if
+ a floating point expression has an integer valued result.
+ (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
+ foo(x) where foo is an integer rounding function. Similarly,
+ optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
+ (double)(int)x when both foo and bar are integer rounding
+ functions and we don't need to honor errno.
+ (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
+ New functions to fold trunc, floor and ceil.
+ (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
+ fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
+ to fold BUILT_IN_CEIL*.
+ * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
+ the remaining integer rounding functions.
+
+2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (function_arg_partial_nregs): Use
+ SPARC_INT_ARG_MAX to determine where to split unnamed
+ complex FP arguments.
+
+Thu Jul 3 20:36:47 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
+ * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
+ (merge_blocks_move_predecessor_nojumps,
+ merge_blocks_move_successor_nojumps): Use merge_blocks.
+ (try_optimize_cfg): Use merge_blocks_move.
+ * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
+ (merge_blocks_nomove): Rename to rtl_merge_blocks.
+ (cfg_layout_create_basic_block): New.
+ (rtl_can_merge_blocks): New.
+ (cfg_layout_split_block): Do not alloc aux by hand.
+ * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
+ merge_blocks.
+ (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
+ * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
+ * cfgloopmanip.c (loop_split_edge_with): Likewise.
+ * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
+
+ * basic-block.h (basic_block_def): Add field 'rbi'.
+ * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
+ find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
+ * cfg.c (entry_exit_blocks): Add new field.
+ * cfglayout.c: Include alloc-pool.h;
+ (cfg_layout_pool): New.
+ (record_effective_endpoints, fixup_reorder_chain,
+ fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
+ of rbi.
+ (cfg_layout_initialize_rbi): New function.
+ (cfg_layout_initialize): Use it.
+ (cfg_layout_finalize): Clear rbi fields.
+ * cfglayout.h (RBI): Kill.
+ (cfg_layout_initialize_rbi): Declare.
+ * cfgloopmanip.c (copy_bbs): Use rbi.
+ (record_exit_edges): Likewise.
+ (duplicate_loop_to_header_edge): Likewise.
+ * cfgrtl.c (cfg_layout_create_basic_block): Use
+ cfg_layout_initialize_rbi.
+ (cfg_layout_split_block): Use rbi.
+ (cfg_layout_delete_block): Likewise.
+ * loop-init.c (loop_optimizer_finalize): Likewise.
+ * loop-unswitch.c (unswitch_loop): Likewise.
+ * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
+
+ * cfgrtl.c: Update comments.
+ (try_redirect_by_replacing_jump): New argument.
+ (redirect_branch_edge): Break out from ...
+ (rtl_redirect_edge_and_branch): ... this one.
+ (update_cfg_after_block_merging): Break out from ...
+ (rtl_merge_blocks): ... this one.
+ (cfg_layout_split_edge): New.
+ (cfg_layout_merge_blocks): New.
+ (cfg_layout_can_merge_blocks_p): New.
+ (cfg_layout_redirect_edge_and_branch): Reorganize.
+ (cfg_layout_rtl_cfg_hooks): Fill in.
+ (cfg_layout_delete_block): Kill barriers.
+ * cfganal.c (can_fallthru): Deal with exit blocks
+ * cfglayout.c (cfg_layout_function_header): New function
+ (record_effective_endpoints): Record function header.
+ (fixup_reorder_chain): Fixup dead jumptables; place header
+
+ * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
+ * bb-reorder.c (cfg_layout_initialize): Update call.
+ * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
+ edges in cfglayout mode.
+ * cfglayout.c (cleanup_unconditional_jumps): Kill.
+ (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
+ * cfglayout.h (cfg_layout_initialize): Update prototype.
+ * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
+ * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
+ * flow.c (propagate_block): Do not crash when basic block ends
+ by first insn in the chain.
+ * loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
+ do loop discovery.
+ * tracer.c (tracer): Update call of cfg_layout_initialize.
+
+2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in: Use dependency variables in lieu of explicit
+ files throughout.
+
+2003-07-03 Steven Bosscher <steven@gcc.gnu.org>
+
+ * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
+ * tree.h: ...to here.
+
+2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/s390/2064.md: Fix comment typos.
+ * config/s390/2084.md: Likewise.
+ * config/s390/s390.c: Likewise.
+ * config/s390/s390.md: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sh/sh.h: Likewise.
+ * config/sh/sh.md: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/sparc/sparc.h: Likewise.
+ * config/sparc/sparc.md: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/stormy16/stormy16.h: Likewise.
+ * config/stormy16/stormy-abi: Fix a typo.
+
+2003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
+
+ * Makefile.in (ifcvt.o): Depend on OPTABS_H.
+
+2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * config/mips/mips.h (save_argv): Delete.
+
+2003-07-03 Roger Sayle <roger@eyesopen.com>
+
+ PR target/10700
+ * fold-const.c (extract_muldiv_1): There's nothing that can be done
+ if the expression is a SAVE_EXPR.
+
+2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/m32r/m32r.c: Fix comment typos.
+ * config/m68hc11/m68hc11.c: Likewise.
+ * config/m68hc11/m68hc11.h: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mcore/mcore.h: Likewise.
+ * config/mcore/mcore.md: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/mips/mips.h: Likewise.
+ * config/mips/mips.md: Likewise.
+ * config/mips/netbsd.h: Likewise.
+ * config/mn10300/mn10300.c: Likewise.
+
+2003-07-03 Andreas Schwab <schwab@suse.de>
+
+ * dbxout.c (pending_bincls): Move decl down inside
+ DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
+
+2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
+
+ * rtl.h (NOTE_DATA): Refer to whole union.
+ * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
+
+2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11381
+ * simplify-rtx.c (simplify_relational_operation): Check that
+ two equal operands have no side-effects before simplifying
+ the comparison.
+
+2003-07-02 Jeff Law <law@redhat.com>
+
+ * expr.c (do_store_flag): Remove special case folding for
+ single bit tests. Instead call back into the commonized folder
+ routine.
+ * fold-const.c (fold_single_bit_test): New function, mostly
+ extracted from do_store_flag, with an additional case extracted
+ from fold.
+ (fold): Call fold_single_bit_test appropriately.
+ * tree.h (fold_single_bit_test): Prototype.
+
+2003-07-02 Zack Weinberg <zack@codesourcery.com>
+
+ * system.h: Include filenames.h.
+ (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
+ (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
+ define based on HAVE_DOS_BASED_FILE_SYSTEM.
+ * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
+ * config/i386/xm-mingw32.h: Don't define
+ HAVE_DOS_BASED_FILE_SYSTEM,
+ DIR_SEPARATOR, or DIR_SEPARATOR_2.
+ * doc/hostconfig.texi: Update to match.
+
+ * cppfiles.c, gcc.c, gensupport.c, protoize.c,
+ config/i386/cygwin.h:
+ Use IS_ABSOLUTE_PATH throughout.
+ * gcc.c (DIR_UP): Delete, unused.
+ * protoize.c (IS_SAME_PATH): Define in terms of
+ FILENAME_CMP.
+ (is_abspath): Delete.
+
+2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/i386/emmintrin.h: Fix comment typos.
+ * config/i386/i386.c: Likewise.
+ * config/i386/i386.h: Likewise.
+ * config/i386/sco5.h: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/ia64/itanium2.md: Likewise.
+
+2003-07-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
+ DBX_USE_BINCL.
+ (emit_bincl_stab): Same.
+ (emit_pending_bincls): Same.
+
+2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (compute_mov_length): Fix the length of
+ loading CONST0_RTX (SFmode).
+ * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
+ 'G' to CONST0_RTX (SFmode).
+ * config/h8300/h8300.md (movsf_h8300): Change the first
+ constraint to 'G'.
+ (movsf_h8300h): Likewise.
+
+2003-07-02 Neil Booth <neil@daikokuya.co.uk>
+
+ * c-common.h (c_common_init_options): New prototype.
+ * c-opts.c (deferred_size): Remove.
+ (defer_opt): Array is now pre-allocated.
+ (c_common_init_options): Pre-allocate deferred_opts. Make
+ lang_flags unsigned.
+ (push_command_line_options): Free deferred_opts.
+ * hooks.c (hook_uint_uint_constcharptrptr_0): New.
+ * hooks.h (hook_uint_uint_constcharptrptr_0): New.
+ * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
+ * langhooks.h (struct lang_hooks): New prototype for init_options.
+ * main.c (main): Cast argv.
+ * opts.c (handle_option, handle_options): Update prototypes.
+ (decode_options): save_argc, save_argv are not global. Constify.
+ * opts.h (decode_options): New prototype.
+ * toplev.c (general_init): New protoype.
+ (save_argv): Make static.
+ (save_argc): Remove.
+ (print_switch_values, general_init): Constify.
+ (toplev_main): Save argv.
+ * toplev.h (toplev_main): Update prototype.
+ (save_argc, save_argv): Remove.
+
+2003-07-02 David Edelsohn <edelsohn@gnu.org>
+
+ * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
+ (emit_bincl_stab): Same.
+ (emit_pending_bincls): Same.
+
+2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/11072
+ * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
+
+2003-07-02 Andreas Schwab <schwab@suse.de>
+
+ * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
+
+2003-07-02 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11210
+ * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
+ about the behaviour with regard to bitfields.
+ * fold-const (decode_field_reference): Record outermost type in
+ case the expression is a NOP. Strip all NOPs. Set the signedness
+ to that of the outermost type (if any) when the bitsize is equal
+ to the size of the type.
+
+2003-07-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
+ (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
+ (adddi3_internal_3, addsi3_internal_2): Likewise.
+
+2003-07-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (machine_function): Add new fields:
+ ignore_hazard_length_p and all_noreorder_p.
+ (mips_flag_delayed_branch): New variable.
+ (override_options): Treat '/' as an operand punctuation character.
+ Set up mips_flag_delayed_branch.
+ (print_operand): Handle '/'.
+ (mips_output_function_prologue): Put the whole function in
+ .set noreorder and .set nomacro if all_noreorder_p is true.
+ (mips_output_function_epilogue): End the noreorder/nomacro sequence.
+ (mips16_optimize_gp): Remove "first insn" parameter.
+ (mips16_lay_out_constants): New function, split out from mips_reorg.
+ (mips_avoid_hazard, mips_avoid_hazards): New functions.
+ (mips_reorg): For mips16 code, call mips16_lay_out_constant
+ and (optionally) mips16_optimize. If TARGET_EXPLICIT_RELOCS,
+ do delayed-branch scheduling followed by hazard detection.
+ (mips_adjust_insn_length): Only account for hazards if
+ !ignore_hazard_length_p.
+ (mips_output_load_label): Add a nop to the o32 sequence if
+ the target suffers from load delays.
+ (mips_output_conditional_branch): Add %/ to the end of branches.
+ (mips_output_division): Fill the branch delay slot with %#.
+ * config/mips/mips.md: Remove redundant '%*' from mips16 branch
+ instructions. End all other %* branches with %/.
+ (ffssi2, ffsdi2): Fix lengths.
+ (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
+ (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
+ (fix_truncsfsi2_macro): Likewise.
+ (mov_lwl): Set hazard to "none".
+ (ashldi3_internal): Fill the branch delay slot with %#.
+ (ashrdi3_internal, lshrdi3_internal): Likewise.
+ (exception_receiver): Explicitly set $28.
+ (hazard_nop): New pattern.
+
+Wed Jul 2 08:12:36 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
+ before calling tree_inlinable_function_p.
+
+2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
+ <internal/stdio_core.h> too.
+ (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
+ <internal/wchar_core.h> too.
+ Substitute va_list uses in inline definition.
+ * fixinc/fixincl.x: Regenerate.
+
+2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
+ Undef before redefinition.
+ (LABEL_AFTER_LOC): Likewise.
+ (DEFAULT_SIGNED_CHAR): Likewise.
+ (ASM_OUTPUT_ASCII): Moved here from iris4.h.
+ Fix IRIX spelling.
+
+ * config/mips/iris3.h: Remove, unused.
+ * config/mips/iris4.h: Likewise.
+
+ * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
+
+ * config/mips/iris5.h (TARGET_DEFAULT): Move ...
+ * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
+ target_cpu_default.
+
+ * config/mips/iris5.h: Move explicit includes ...
+ * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
+
+ * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
+ * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
+ tm_defines.
+
+ * config/mips/iris6.h (TARGET_DEFAULT): Move ...
+ * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
+ target_cpu_default.
+
+ * config/mips/iris6.h: Fix IRIX spelling.
+ (MULTILIB_DEFAULTS): Undef before redefinition.
+
+ * config/mips/iris6.h: Move explicit includes ...
+ * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
+
+Wed Jul 2 02:16:48 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
+ cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
+ Use next_needed field instead of aux to maintain the queue.
+ * cgraph.h (cgraph_node): Add next_needed.
+ (cgraph_varpool_node): Add next_needed; remove aux.
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
+
+Wed Jul 2 02:12:51 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_finalize_function): Set finalized.
+ (cgraph_finalize_function): Do not examine inlinablility.
+ (cgraph_finalize_compilation_unit): Do it here.
+ * cgraph.h (cgraph_local_info): Add finalized field.
+
2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
* dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
(binclstatus): New.
- (struct dbx_file): New members - bincl_status, pending_bincl_name and
+ (struct dbx_file): New members - bincl_status, pending_bincl_name and
prev.
(pending_bincls): New.
(dbxout_init): Initialize new dbx_file members.
(emit_bincl_stab): New function.
(emit_pending_bincls): Same.
(emit_pending_bincls_if_required): Same.
- (dbxout_end_source_file): Emit EINCL stab only if BINCL is already
+ (dbxout_end_source_file): Emit EINCL stab only if BINCL is already
processed.
(dbxout_begin_block): Emit pending BINCL stabs.
(dbxout_end_block): Same.
(dbxout_symbol): Same.
(dbxout_symbol_location): Same.
(dbxout_parms): Same.
-
+
2003-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* c-semantics.c (genrtl_case_label): Fix format specifier bug.
displacements.
2003-06-30 Hartmut Penner <hpenner@de.ibm.com>
- Ulrich Weigand <uweigand@de.ibm.com>
+ Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/2084.md: New file.
* config/s390/s390.md: Include it.
2003-06-30 Hartmut Penner <hpenner@de.ibm.com>
- * config/rs6000/rs6000.c (rs6000_split_altivec_in_gprs): New function.
- (altivec_in_gprs_p): New function.
+ * config/rs6000/rs6000.c (rs6000_split_altivec_in_gprs): New function.
+ (altivec_in_gprs_p): New function.
* config/rs6000/rs6000-protos (rs6000_split_altivec_in_gprs): New
prototype.
2003-06-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
- * pa.c (update_total_code_bytes): New function.
+ * pa.c (update_total_code_bytes): New function.
(last_address): Number of bytes output for a function and its
associated thunks.
(compute_frame_size): Use BITS_PER_UNIT.
2003-05-18 Neil Booth <neil@daikokuya.co.uk>
* config/sparc/sparc.h: Define sparc for now.
+
2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
* config.gcc: Clear xm_file, md_file at the beginning of each pass.