Commit Graph

51334 Commits

Author SHA1 Message Date
Zdenek Dvorak
72d4a2ad78 cfgloopanal.c (count_strange_loop_iterations): New static function.
* cfgloopanal.c (count_strange_loop_iterations): New static function.
	(constant_iterations, count_loop_iterations, simple_loop_exit_p):
	Handle strange loops.

From-SVN: r68930
2003-07-04 18:53:41 +00:00
Toon Moene
8e9a4a4525 install.texi: Even the g77 manpage is derived from the full g77 manual.
2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>

	* install.texi: Even the g77 manpage is derived from
	the full g77 manual.

From-SVN: r68929
2003-07-04 18:47:09 +00:00
Zack Weinberg
6eb95e99e7 intl: New directory; see intl/ChangeLog for details.
top:
	* intl: New directory; see intl/ChangeLog for details.
	* ABOUT-NLS, config.rpath: Import from gettext 0.12.1.
	* Makefile.tpl: all-gcc depends on maybe-all-intl.
	* Makefile.in: Regenerate.
config:
	* gettext.m4: New file - copy of gettext.m4 from binutils
	CVS, with added AC_ISC_POSIX macro from gcc/aclocal.m4.
gcc:
	* 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.
intl:
	* Makefile.in: Remove unnecessary capabilities for
	installation, build of shared libraries, generation of
	distribution tarballs, etc.  Fix all the places that rely on
	the parent directory.  Don't generate libgnuintl.h from
	anything; do generate $(objdir)/libintl.h from libgnuintl.h if
	necessary.  Adjust DEFS for use of config.h.
	* libgnuintl.h.in: Rename libgnuintl.h.
	* README: New file.
	* config.charset, ref-add.sin, ref-del.sin: Delete (unused).
	* COPYING.LIB-2.0, COPYING.LIB-2.1: Delete (redundant).
	* aclocal.m4: New; generated per instructions in gettext manual.
	* configure.in: New; written from scratch for this configuration.
	* configure, config.h.in: Generated.
contrib:
	* gcc_update: Remove gcc/intl/plural.c from list.
	Add new generated files intl/plural.c, intl/configure,
	intl/config.h.in.

From-SVN: r68928
2003-07-04 18:18:54 +00:00
Paolo Carlini
2f8058688a valarray_array.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/valarray_array.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/vector.tcc: Likewise.

From-SVN: r68927
2003-07-04 18:14:27 +00:00
Benjamin Kosnik
a30335e9c4 Makefile.am: Update target_ to host_.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Update target_ to host_.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.

	* config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.

From-SVN: r68926
2003-07-04 18:10:10 +00:00
Benjamin Kosnik
d8d81f62c1 acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug-flags.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
	--enable-libstdcxx-debug-flags.
	(GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
	(GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
	* aclocal.m4: Regenerate.
	* configure: Same.
	* docs/html/configopts.html: Update.

From-SVN: r68925
2003-07-04 17:36:38 +00:00
Gerald Pfeifer
6124d3bda0 gcc_release: Execute gcc.gnu.org-only operations which are related to diff generation only if...
* gcc_release: Execute gcc.gnu.org-only operations which are
	related to diff generation only if diffs have been requested.
	(build_sources): Improve tracing and an error message related
	to tagging.

From-SVN: r68924
2003-07-04 17:25:31 +00:00
Kazu Hirata
ae81000a69 * gcc.dg/compat/fnptr-by-value-1_x.c: Add a prototype for testva.
From-SVN: r68923
2003-07-04 16:44:37 +00:00
Paolo Carlini
10ef4e2e3f 2003-07-04 Paolo Carlini <pcarlini@unitus.it>
Revert the fix for libstdc++/11378.

From-SVN: r68922
2003-07-04 16:36:26 +00:00
Paolo Carlini
ac2c48d70f re PR libstdc++/11378 (Unbuffered sputn is slow)
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11378
	* include/std/std_fstream.h (xsputn): In the unbuffered case,
	provided always_noconv(), issue directly _M_file.xsputn.
	* testsuite/performance/filebuf_unbuf_sputn.cc: New.

From-SVN: r68921
2003-07-04 16:15:15 +00:00
Roger Sayle
bcd5d841fe aix51.h (TARGET_C99_FUNCTIONS): Define.
* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
	* config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.

From-SVN: r68920
2003-07-04 12:42:01 +00:00
Paolo Carlini
9dd90ac6b2 stl_list.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_list.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_raw_storage_iter.h: Likewise.
	* include/bits/stl_tempbuf.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/ext/rope: Change includes order.

From-SVN: r68919
2003-07-04 12:10:13 +00:00
Benjamin Kosnik
1b33b6b2f0 configure.host (fpos_include_dir): Fix.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.host (fpos_include_dir): Fix.

From-SVN: r68918
2003-07-04 09:10:48 +00:00
Danny Smith
1cf0dce8a8 PR c++/5287, PR c++/7910, PR c++/11021
PR c++/5287, PR c++/7910,  PR c++/11021
	* testsuite/g++.dg/ext/dllimport1.C: Add mingw32 as target. Add
	tests for warnings.
	* testsuite/g++.dg/ext/dllimport2.C: Add tests for warnings.
	* testsuite/g++.dg/ext/dllimport3.C: Likewise.
	* testsuite/g++.dg/ext/dllimport4.C: New file.
	* testsuite/g++.dg/ext/dllimport5.C: New file.
	* testsuite/g++.dg/ext/dllimport6.C: New file.
	* testsuite/g++.dg/ext/dllimport7.C: New file.
	* testsuite/g++.dg/ext/dllimport8.C: New file.
	* testsuite/g++.dg/ext/dllimport9.C: New file.
	* testsuite/g++.dg/ext/dllimport10.C: New file.
	* testsuite/g++.dg/ext/dllexport1.C: New file.

From-SVN: r68917
2003-07-04 07:52:38 +00:00
Danny Smith
6b6cb52e94 PR c++/5287, PR c++/7910, PR c++/11021
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.

From-SVN: r68916
2003-07-04 07:42:11 +00:00
Paolo Carlini
369b78b0e4 stl_heap.h: Fully qualify standard functions with std::, thus avoiding Koenig lookup.
2003-07-04  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_heap.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/stl_iterator_base_funcs.h: Likewise.

	* include/bits/stl_algo.h: Qualify __iterator_category too.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.

	* include/bits/stl_algo.h: Don't qualify the pair type.

From-SVN: r68915
2003-07-04 07:22:19 +00:00
Benjamin Kosnik
68e1f6219c Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

From-SVN: r68914
2003-07-04 07:15:30 +00:00
Benjamin Kosnik
cc5112c92d Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
	    Petur Runolfsson  <peturr02@ru.is>

	* include/std/std_streambuf.h: Remove _M_pos.
	* config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
	* config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
	use fread/fwrite instead of read/write.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
	before reading again.
	* testsuite/27_io/objects/char/6.cc: Tweak.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68913
2003-07-04 07:14:54 +00:00
Uwe Stieber
cc2f5d34f3 Patch from Uwe Stieber.
* config/kaos.h (CPP_PREDEFINES): Delete.
(TARGET_OS_CPP_BUILTINS): New.

From-SVN: r68912
2003-07-03 23:01:50 -07:00
Mark Mitchell
d6b4ea8592 call.c (build_addr_func): Handle bound pointers-to-members.
* call.c (build_addr_func): Handle bound pointers-to-members.
	(build_method_call): Do not call resolve_offset_ref.
	(implicit_conversion): Likewise.
	(resolve_scoped_fn_name): Use finish_non_static_data_member, not
	resolve_offset_ref.
	(resolve_args): Do not call resolve_offset_ref.
	(build_conditional_expr): Likewise.
	(build_new_method_call): Likewise.
	* cp-tree.def (OFFSET_REF): Update documentation.
	(cp_convert_to_pointer): Update handling of conversions from
	pointers to members to pointers.
	(ocp_convert): Do not call resolve_offset_ref.
	(convert_to_void): Likewise.
	(build_expr_type_conversion): Likewise.
	(delete_sanity): Likewise.
	(resolve_offset_ref): Simplify greatly.
	(build_vec_delete): Do not call resolve_offset_ref.
	* parser.c (cp_parser_postfix_expression): Call resolve_offset_ref
	if appropriate.
	(cp_parser_unary_expression): Use
	cp_parser_simple_cast_expression.
	(cp_parser_delete_expression): Likewise.
	(cp_parser_cast_expression): Likewise.
	(cp_parser_pm_expression): Use cp_parser_binary_op.
	(cp_parser_simple_cast_expression): New function.
	* rtti.c (build_dynamic_cast_1): Do not call resolve_offset_ref.
	* semantics.c (finish_increment_expr): Likewise.
	(finish_typeof): Likewise.
	* tree.c (lvalue_p_1): Do not handle OFFSET_REF.
	* typeck.c (require_complete_type): Do not handle OFFSET_REFs.
	(decay_conversion): Do not call resolve_offset_ref.
	(finish_class_member_access_expr): Likewise.
	(convert_arguments): Likewise.
	(build_x_binary_op): Handle DOTSTAR_EXPR.
	(condition_conversion): Do not call resolve_offset_ref.
	(unary_complex_lvalue): Likewise.
	(build_static_cast): Likewise.
	(build_reinterpret_cast): Likewise.
	(build_const_cast): Likewise.
	(build_c_cast): Likewise.
	(build_modify_expr): Likewise.
	(convert_for_assignment): Likewise.
	(convert_for_initialization): Likewise.
	* typeck2.c (build_x_arrow): Likewise.
	(build_m_component_ref): Simplify.

	* g++.old-deja/g++.jason/typeid1.C: Add dg-error marker.
	* g++.old-deja/g++.mike/net36.C: Tweak error messages.

From-SVN: r68911
2003-07-04 05:05:19 +00:00
Kaveh R. Ghazi
5f1989e65d c-aux-info.c: Include toplev.h after c-tree.h.
gcc:
	* 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.

cp:
	* cp-tree.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_CXXDIAG): Define.
	(cp_error_at, cp_warning_at, cp_pedwarn_at): Mark with
	ATTRIBUTE_GCC_CXXDIAG.

From-SVN: r68910
2003-07-04 01:55:50 +00:00
GCC Administrator
54c378f043 Daily bump.
From-SVN: r68908
2003-07-04 00:16:06 +00:00
Zdenek Dvorak
8d28e87da7 cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies at all if edge is not specified.
* 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.

From-SVN: r68906
2003-07-03 23:50:05 +00:00
Devang Patel
694abeb6a7 2003-7-03 Devang Patel <dpatel@apple.com>
* c-opts.c (c_common_parse_file): Remove extra
        debug_hooks->start_source_file call.

From-SVN: r68905
2003-07-03 16:17:53 -07:00
Matt Kraai
9c2862135e misc.c (gnat_argv): Revert last change.
* misc.c (gnat_argv): Revert last change.
	(gnat_handle_option, gnat_init_options): Copy arguments.

From-SVN: r68904
2003-07-03 21:49:54 +00:00
Roger Sayle
0a9530a9d7 real.c (real_trunc, [...]): New functions to implement trunc, floor and ceil respectively.
* 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.

	* gcc.dg/builtins-25.c: New testcase.
	* gcc.dg/builtins-26.c: New testcase.

From-SVN: r68903
2003-07-03 21:38:55 +00:00
Janis Johnson
7516d73631 vector-defs.h: New file.
* gcc.dg/compat/vector-defs.h: New file.
	* gcc.dg/compat/vector-setup.h: New file.
	* gcc.dg/compat/vector-check.h: New file.
	* gcc.dg/compat/vector-1_main.c: New file.
	* gcc.dg/compat/vector-1_x.c: New file.
	* gcc.dg/compat/vector-1_y.c: New file.
	* gcc.dg/compat/vector-2_main.c: New file.
	* gcc.dg/compat/vector-2_x.c: New file.
	* gcc.dg/compat/vector-2_y.c: New file.

From-SVN: r68902
2003-07-03 20:37:42 +00:00
Janis Johnson
0964c98c4c fnptr-by-value-1_main.c: New file.
* gcc.dg/compat/fnptr-by-value-1_main.c: New file.
	* gcc.dg/compat/fnptr-by-value-1_x.c: New file.
	* gcc.dg/compat/fnptr-by-value-1_y.c: New file.
	* gcc.dg/compat/struct-align-1.h: New file.
	* gcc.dg/compat/struct-align-1_main.c: New file.
	* gcc.dg/compat/struct-align-1_x.c: New file.
	* gcc.dg/compat/struct-align-1_y.c: New file.
	* gcc.dg/compat/struct-align-2.h: New file.
	* gcc.dg/compat/struct-align-2_main.c: New file.
	* gcc.dg/compat/struct-align-2_x.c: New file.
	* gcc.dg/compat/struct-align-2_y.c: New file.

From-SVN: r68901
2003-07-03 20:15:48 +00:00
Eric Botcazou
c3427c7d9d sparc.c (function_arg_partial_nregs): Use SPARC_INT_ARG_MAX to determine where to split unnamed complex FP arguments.
* config/sparc/sparc.c (function_arg_partial_nregs): Use
	SPARC_INT_ARG_MAX to determine where to split unnamed
	complex FP arguments.

From-SVN: r68900
2003-07-03 18:49:50 +00:00
Jan Hubicka
bc35512f09 basic-block.h (create_basic_block, [...]): Kill.
* 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.

From-SVN: r68899
2003-07-03 18:40:29 +00:00
Janis Johnson
9b269fc7bc compat-common.h (DEBUG_FINI): New.
* gcc.dg/compat/compat-common.h (DEBUG_FINI): New.
	* gcc.dg/compat/scalar-by-value-1_x.c: Use it.
	* gcc.dg/compat/scalar-by-value-2_x.c: Ditto.
	* gcc.dg/compat/scalar-by-value-3_x.c: Ditto.
	* gcc.dg/compat/scalar-by-value-4_x.c: Ditto.
	* gcc.dg/compat/scalar-return-1_x.c: Ditto.
	* gcc.dg/compat/scalar-return-2_x.c: Ditto.
	* gcc.dg/compat/scalar-return-3_x.c: Ditto.
	* gcc.dg/compat/scalar-return-4_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-10_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-11_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-12_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-13_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-14_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-15_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-16_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-17_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-18_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-2_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-3_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-4_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-5_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-6_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-7_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-8_x.c: Ditto.
	* gcc.dg/compat/struct-by-value-9_x.c: Ditto.
	* gcc.dg/compat/struct-return-10_x.c: Ditto.
	* gcc.dg/compat/struct-return-2_x.c: Ditto.
	* gcc.dg/compat/struct-return-3_x.c: Ditto.

From-SVN: r68898
2003-07-03 18:31:59 +00:00
Kaveh R. Ghazi
dd220c49a6 Makefile.in: Use dependency variables in lieu of explicit files throughout.
* Makefile.in: Use dependency variables in lieu of explicit
	files throughout.

From-SVN: r68896
2003-07-03 18:22:27 +00:00
Mark Mitchell
8d245821a2 call.c (build_scoped_method_call): Use convert_to_void.
* call.c (build_scoped_method_call): Use convert_to_void.
	(build_method_call): Likewise.
	* class.c (check_field_decls): Remove dead code.
	* cvt.c (convert_from_reference): Remove OFFSET_TYPE handling.
	* decl2.c (grok_array_decl): Remove dead code.
	(arg_assoc_type): Avoid relying on POINTER_TYPE over OFFSET_TYPE
	as pointer-to-member representation.
	* init.c (build_offset_ref): Tidy.
	(build_vec_delete_1): Use convert_to_void.
	* mangle.c (write_type): Avoid relying on POINTER_TYPE over OFFSET_TYPE
	as pointer-to-member representation.

From-SVN: r68895
2003-07-03 18:13:44 +00:00
Eric Botcazou
ee41cff421 * gcc.dg/i386-call-1.c: New test.
From-SVN: r68892
2003-07-03 17:57:45 +00:00
Steven Bosscher
fa5b060f90 rtl.h (ECF_*, [...]): Move from here...
2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>

	* rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
	* tree.h: ...to here.

From-SVN: r68890
2003-07-03 17:03:21 +00:00
Kazu Hirata
fae778eb67 2064.md: Fix comment typos.
* 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.

From-SVN: r68887
2003-07-03 16:25:52 +00:00
Nathan Sidwell
8db1028eba re PR c++/9162 ([New parser] Problem with default argument in a friend function)
cp:
	PR c++/9162
	* decl.c (grokdeclarator): Return friend decls, not
	void_type_node.
	* decl2.c (grokfield): Alter friend decl check.
	* parser.c (struct cp_parser): Document default_arg chain on
	unparsed_functions_queue.
	(cp_parser_save_default_args): New.
	(cp_parser_init_declarator, cp_parser_function_definition,
	cp_parser_member_declaration): Call it.
	(cp_parser_class_specifier): Remove unused variable. Alter
	processing of unparsed_functions_queue.
testsuite:
	PR c++/9162
	* g++.dg/parse/defarg4.C: New.

From-SVN: r68886
2003-07-03 16:10:52 +00:00
Kelley Cook
58eabcb1e9 Makefile.in (ifcvt.o): Depend on OPTABS_H.
2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>

        * Makefile.in (ifcvt.o): Depend on OPTABS_H.

From-SVN: r68885
2003-07-03 11:11:05 -04:00
David Edelsohn
304d79dc0a 7.cc: Guard with _GLIBCPP_USE_WCHAR_T.
* testsuite/22_locale/num_put/put/char/7.cc: Guard with
        _GLIBCPP_USE_WCHAR_T.

From-SVN: r68883
2003-07-03 10:20:29 -04:00
Kaveh R. Ghazi
af2619030a * config/mips/mips.h (save_argv): Delete.
From-SVN: r68882
2003-07-03 13:24:04 +00:00
Kaveh R. Ghazi
04d6ccbd2d class.c (add_method, [...]): Fix format specifier.
* class.c (add_method, check_field_decl): Fix format specifier.
	* decl.c (duplicate_decls, pushdecl, check_goto,
	fixup_anonymous_aggr, maybe_commonize_var, grokdeclarator,
	start_enum): Likewise.
	* decl2.c (ambiguous_decl): Likewise.
	* pt.c (redeclare_class_template): Likewise.

From-SVN: r68878
2003-07-03 13:16:01 +00:00
Roger Sayle
a11c61d20b re PR target/10700 (ICE in copy_to_mode_reg on 64-bit targets)
PR target/10700
	* fold-const.c (extract_muldiv_1): There's nothing that can be done
	if the expression is a SAVE_EXPR.

	* gcc.c-torture/compile/20030703-1.c: New test case.

From-SVN: r68877
2003-07-03 13:08:10 +00:00
Kazu Hirata
dab66575b4 m32r.c: Fix comment typos.
* 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.

From-SVN: r68876
2003-07-03 12:34:09 +00:00
Andreas Schwab
8837d828e7 dbxout.c (pending_bincls): Move decl down inside DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
* dbxout.c (pending_bincls): Move decl down inside
	DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.

From-SVN: r68875
2003-07-03 10:18:18 +00:00
Nathan Sidwell
dd107e6641 rtl.h (NOTE_DATA): Refer to whole union.
* rtl.h (NOTE_DATA): Refer to whole union.
	* emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.

From-SVN: r68874
2003-07-03 09:52:26 +00:00
Mark Mitchell
06114438c0 * g++.dg/template/local3.C: Remove extra semicolon.
From-SVN: r68872
2003-07-03 08:10:54 +00:00
Eric Botcazou
8821d0914c re PR rtl-optimization/11381 (volatile memory access optimized away)
PR optimization/11381
	* simplify-rtx.c (simplify_relational_operation): Check that
	two equal operands have no side-effects before simplifying
	the comparison.

From-SVN: r68869
2003-07-03 07:30:03 +00:00
Jeff Law
7960bf2230 expr.c (do_store_flag): Remove special case folding for single bit tests.
* 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.

From-SVN: r68867
2003-07-02 23:42:57 -06:00
Neil Booth
b9add4494a * misc.c (save_argv): Make const.
From-SVN: r68866
2003-07-03 05:37:36 +00:00
Matt Kraai
0e8a66de6d gcse.c: Fix misspelling.
* gcse.c: Fix misspelling.
	* line-map.c: Likewise.
	* config/dsp16xx/dsp16xx.h: Likewise.

From-SVN: r68865
2003-07-03 05:26:31 +00:00