Commit Graph

43155 Commits

Author SHA1 Message Date
Phil Edwards
8ea08b7d7b Makefile.am (noinst_LIBRARIES): New target.
2002-05-28  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am (noinst_LIBRARIES):  New target.  Pull in
	CXX/INCLUDES.
	* testsuite/Makefile.in:  Regenerate.
	* testsuite/testsuite_hooks.h (gnu_copy_tracker):  Move from
	list_modifiers.cc and rename from 'T'.  Move code bodies...
	* testsuite/testsuite_hooks.cc:  ...to here.  New file.
	* testsuite/23_containers/list_modifiers.cc:  Move 'T' class out.
	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
	Add libv3test.a to link options.

From-SVN: r53977
2002-05-28 23:15:18 +00:00
David Edelsohn
64de6c0a5f optabs.c (expand_binop): Fix nwords sign warnings.
* optabs.c (expand_binop): Fix nwords sign warnings.
        generate pseudo for add_optab.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r53976
2002-05-28 17:03:21 -06:00
Toshiyasu Morita
62526ec32f * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
From-SVN: r53975
2002-05-28 23:43:31 +01:00
J"orn Rennecke
f1a58d928b config/sh reorganization to factor out endianness and coff:
* config/sh/little.h: New file.
        * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
        defined, define to 0 to select big-endian.
	(SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
        (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
        * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
        * config/sh/t-be: New file.
        * config/sh/t-le: New file.

	* sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
	(SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
	(TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
	(USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
	(ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
	(CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
	(SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
	(EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
	CPP_DEFAULT_CPU_SPEC.  Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
	SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
	(LINK_SPEC): Define to SH_LINK_SPEC.
	(TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
	(LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
	(CPP_SPEC): Reduce to %(subtarget_cpp_spec).
	(TARGET_ENDIAN_DEFAULT): Define if not already defined.
	* config/sh/coff.h: New file.
	(TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
	(TARGET_OBJFMT_CPP_BUILTINS): Define.
	* config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
	(ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
	(DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
	(ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
	(PTRDIFF_TYPE): Likewise.
	("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
	(CPP_PREDEFINES): Don't define.
	(TARGET_OBJFMT_CPP_BUILTINS): Define.
	(LINK_SPEC): Define to SH_LINK_SPEC.
	(LINK_EMUL_PREFIX): Redefine.
	* config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
	(SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
	(CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
	(CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
	(TARGET_OS_CPP_BUILTINS): Define.
	(TARGET_DEFAULT): Redefine.
	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
	(LINK_SPEC): Don't redefine.
	(LINK_DEFAULT_CPU_EMUL): Redefine.
	(TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
	* sh.c (sh_asm_named_section): Don't declare / define.
	* t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
	* config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
	(sh64-*-elf* tm_file): Likewise.
	(sh-*-rtemself* tm_file): Likewise.
	(sh-*-linux* tm_file): Likewise.  Add sh/little.h.
	(sh-*-linux* tmake_file): Add sh/t-le.
	(sh-*-rtems* tm_file): Add sh/coff.h
	(sh-*-* tm_file): Likewise.


	* sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
	CONSTANT_POOL_ADDRESS_P.

	* coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.

Co-Authored-By: Jason R. Thorpe <thorpej@wasabisystems.com>

From-SVN: r53974
2002-05-28 23:26:43 +01:00
David Edelsohn
33a3dfc4f0 sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
* sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
        * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r53973
2002-05-28 16:03:06 -06:00
Marc Espie
972957badc openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove, inherited from gas.h.
* config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN):  Remove,
	inherited from gas.h.
	(ASM_QUAD):  Undef.  OpenBSD does not support it.

From-SVN: r53971
2002-05-28 21:24:48 +00:00
Danny Smith
cc92b8abf4 install.texi (binaries): Change mingw binaries link to www.mingw.org.
* doc/install.texi (binaries): Change mingw binaries
	link to www.mingw.org.

From-SVN: r53968
2002-05-28 21:11:45 +00:00
Zdenek Dvorak
f8088d5581 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
From-SVN: r53967
2002-05-28 20:44:09 +00:00
Richard Henderson
0b7ae56590 i386.c (ix86_compute_frame_layout): Do not add bottom alignment for leaf functions.
* config/i386/i386.c (ix86_compute_frame_layout): Do not add
        bottom alignment for leaf functions.

From-SVN: r53965
2002-05-28 13:27:45 -07:00
Zack Weinberg
16069d69ac milli32.S, [...]: Delete unused files.
* config/pa/milli32.S, config/pa/lib1funcs.asm,
	config/sparc/sol2-g1.asm: Delete unused files.

From-SVN: r53964
2002-05-28 20:19:15 +00:00
Richard Henderson
923c7cdfa7 varasm.c (default_binds_local_p): Check TREE_PUBLIC before DECL_EXTERNAL.
* varasm.c (default_binds_local_p): Check TREE_PUBLIC before
        DECL_EXTERNAL.

From-SVN: r53963
2002-05-28 13:08:29 -07:00
Richard Henderson
f3ea5f6ac3 flow.c (calculate_global_regs_live): Rename call_used to invalidated_by_call.
* flow.c (calculate_global_regs_live): Rename call_used to
        invalidated_by_call.  Initialize from regs_invalidated_by_call
        instead of call_used_regs.

From-SVN: r53962
2002-05-28 13:01:29 -07:00
Richard Henderson
04653686e7 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
From-SVN: r53961
2002-05-28 12:58:15 -07:00
Marek Michalkiewicz
6ff14f32f3 configure.in (noconfigdirs): Don't compile libiberty, libstdcxx and libgcj for AVR.
* configure.in (noconfigdirs): Don't compile libiberty, libstdcxx
	and libgcj for AVR.

From-SVN: r53960
2002-05-28 18:56:52 +00:00
Zack Weinberg
11ad4784f3 tree.h: Forward-declare struct realvaluetype.
* tree.h: Forward-declare struct realvaluetype.
	(struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
	contain it.
	(TREE_REAL_CST_PTR): New accessor.
	(TREE_REAL_CST): Update.
	* real.h: Include machmode.h.
	(realvaluetype): Make it struct realvaluetype, not a typedef.
	(build_real): Prototype here.

	* tree.c: Include real.h.
	(build_real): Allocate the REAL_VALUE_TYPE as a separate
	object in GC memory, set TREE_REAL_CST_PTR to point to it.
	(build_real_from_int_cst): Use build_real.
	* ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
	REAL_CST.

	* builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
	fold-const.c, print-tree.c, real.c, cp/mangle.c, cp/tree.c,
	f/bld.c, f/com.c, f/expr.c, f/target.c, java/decl.c,
	java/jcf-parse.c, java/parse.y, java/typeck.c: Include real.h.
	* Makefile.in, cp/Make-lang.in, f/Make-lang.in,
	java/Make-lang.in: Update dependency lists.

From-SVN: r53959
2002-05-28 17:33:14 +00:00
Zdenek Dvorak
bf77398cef basic-block.h (last_basic_block): Declare.
* basic-block.h (last_basic_block): Declare.
	(expunge_block_nocompact): Declaration removed.
	(compact_blocks): Declare.
	* cfg.c (last_basic_block): New variable.
	(expunge_block_nocompact): Removed.
	(expunge_block): Do not compact basic blocks.
	(compact_blocks): New.
	* cfganal.c (flow_call_edges_add): Use the fact that bb indices no
	longer change.
	* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
	last_basic_block.
	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
	real positions of blocks.
	(delete_unreachable_blocks): Simplified -- quadratic behavior now
	cannot occur.
	(cleanup_cfg): Compact blocks.
	* cfgrtl.c (create_basic_block): Insert basic blocks to the end of
	basic_block_info varray.
	(flow_delete_block): Comment update.
	(back_edge_of_syntactic_loop_p): Modify position check code.
	(verify_flow_info): Update checking.
	* flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
	* ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
	(find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
	indices no longer change.
	* lcm.c (optimize_mode_switching): Replace n_basic_blocks with
	last_basic_block.
	* predict.c (estimate_bb_frequencies): Remove unneccessary code.
	* profile.c (branch_prob): Compact blocks.
	* sched-rgn.c (find_rgns): Replace n_basic_blocks with
	last_basic_block.

From-SVN: r53957
2002-05-28 12:53:47 +00:00
Kazu Hirata
ae12a094d6 * config/h8300/h8300.md (two anonymous patterns): New.
From-SVN: r53955
2002-05-28 12:36:03 +00:00
David S. Miller
c6172f1455 sparc.md (cpu): Tidy.
2002-05-28  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.md (cpu): Tidy.
	(type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
	'trap'.
	(in_call_delay): Delete reference to 'return' type.
	(eligible_for_return_delay, in_return_delay, define_delay
	referencing those): Delete.
	(rest of file): Use new type attributes as appropriate.
	* config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
	* config/sparc/sparc.c (eligible_for_return_delay): Likewise.
	* config/sparc/ultra1_2.md (us1_single): New reservation.
	(us1_ialuX): Likewise.
	* config/sparc/ultra3.md (us3_single): Likewise.
	(us3_ialuX): Likewise.
	(us3_imul, us3_idiv): Tweak.

From-SVN: r53953
2002-05-28 02:17:46 -07:00
Richard Henderson
34a6c2ec13 alpha.c (alpha_in_small_data_p): Return false for STRING_CST.
* config/alpha/alpha.c (alpha_in_small_data_p): Return false for
        STRING_CST.

From-SVN: r53952
2002-05-28 01:42:20 -07:00
GCC Administrator
62b1429209 Daily bump.
From-SVN: r53951
2002-05-28 07:21:59 +00:00
Bo Thorsen
4075db8f84 Fix last commit. Sorry about that.
From-SVN: r53946
2002-05-28 09:11:42 +02:00
Richard Henderson
9c07557009 * config.gcc: Obsolete mn10200.
From-SVN: r53944
2002-05-28 00:02:44 -07:00
Neil Booth
359b0bece1 cppexp.c (interpret_number): Optimize for single-digit and less-than-half-precision cases.
* cppexp.c (interpret_number): Optimize for single-digit
	and less-than-half-precision cases.
	(num_trim, num_positive, num_div_op): Cast constants.

From-SVN: r53943
2002-05-28 05:44:06 +00:00
Roger Sayle
ee4586c531 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
From-SVN: r53942
2002-05-28 02:02:46 +00:00
Roger Sayle
39f2f3c85a c-common.c: Add support for __attribute__((nothrow)) to specify that a function cannot...
* c-common.c: Add support for __attribute__((nothrow)) to specify
	that a function cannot throw an exception (using TREE_NOTHROW).
	(handle_nothrow_attribute): New function to process this attribute.

	* doc/extend.texi: Document the new nothrow function attribute.

2002-05-27  Richard Henderson  <rth@redhat.com>

	* g++.dg/ext/attrib6.C: New test case.

From-SVN: r53940
2002-05-27 21:09:38 +00:00
H.J. Lu
d51b0053f5 cppexp.c (num_trim): Use 1UL instead of 1 for long int.
2002-05-27  H.J. Lu  (hjl@gnu.org)

	* cppexp.c (num_trim): Use 1UL instead of 1 for long int.
	(num_positive): Likewise.
	(num_div_op): Likewise.

From-SVN: r53939
2002-05-27 13:54:50 -07:00
Neil Booth
2530d6aa59 * testsuite/gcc.dg/cpp/arith-3.c: Need -std=c99.
From-SVN: r53938
2002-05-27 20:23:13 +00:00
Kaveh R. Ghazi
ef72b1d319 * gcc.c-torture/execute/pure-1.c: New test.
From-SVN: r53937
2002-05-27 20:19:53 +00:00
Neil Booth
630363b435 c-common.c (c_common_init): Always use intmax_t.
* c-common.c (c_common_init): Always use intmax_t.
testsuite:
	* gcc.dg/cpp/arith-2.c: Remove.
	* gcc.dg/cpp/arith-3.c: Don't set std=c99.

From-SVN: r53936
2002-05-27 18:04:58 +00:00
Neil Booth
d94cde01ca * c-common.c (c_common_init): Use intmax_t for now.
From-SVN: r53935
2002-05-27 17:19:44 +00:00
Benjamin Kosnik
248a9163e1 misc-inst.cc: Define unnecessary algorithm instantiations.
c
2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	* src/misc-inst.cc: Define unnecessary algorithm
	instantiations. Break apart instantiations into groupings below.
	* src/fstream-inst.cc: New.
	* src/io-inst.cc: New.
	* src/istream-inst.cc: New.
	* src/ostream-inst.cc: New.
	* src/streambuf-inst.cc: New.
	* src/sstream-inst.cc: New.
	* src/Makefile.am (sources): Add files.
	* src/Makefile.in: Regenerate.

	* acinclude.m4: Work around automake 1.4-p5 bug, change
	AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT.

From-SVN: r53930
2002-05-27 14:55:57 +00:00
Andrew Haley
57f851a378 fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c if T is a boolean type.
2002-05-24  Andrew Haley  <aph@redhat.com>

        * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
        if T is a boolean type.

From-SVN: r53929
2002-05-27 14:40:38 +00:00
Bo Thorsen
1802ffac65 Add this file from last commit
From-SVN: r53928
2002-05-27 16:03:09 +02:00
Bo Thorsen
96842bcde6 libgcc-x86_64-glibc.ver: Copy this file from the 3.1 branch.
2002-05-23  Bo Thorsen  <bo@suse.de>

        * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
	3.1 branch. The file was made by Jakub Jelinek.
	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
	support so multilib doesn't break. And don't define this at all
	when -Dinhibit_libc is used.
	(MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
	* config/i386/t-linux64: Implement full multilib support. Patch
	originally done by Andreas Jaeger and Jakub Jelinek.

From-SVN: r53927
2002-05-27 16:01:40 +02:00
Bo Thorsen
b86aa7b048 ffi.c (ffi_prep_args): Remove unused variable and fix formatting.
2002-05-27  Bo Thorsen  <bo@suse.de>

	* src/x86/ffi.c (ffi_prep_args): Remove unused variable and
	fix formatting.

From-SVN: r53926
2002-05-27 15:54:44 +02:00
Zdenek Dvorak
d55bc08175 basic-block.h (last_basic_block): Defined as synonym for n_basic_blocks.
* basic-block.h (last_basic_block): Defined as synonym for
	n_basic_blocks.
	* cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
	flow_depth_first_order_compute, flow_preorder_transversal_compute,
	flow_dfs_compute_reverse_init): Replaced relevant occurences of
	n_basic_blocks with last_basic_block.
	* cfgbuild.c (make_edges): Likewise.
	* cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
	* cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
	* combine.c (combine_instructions): Likewise.
	* df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
	iterative_dataflow_bitmap): Likewise.
	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
	calc_idoms, idoms_to_doms): Likewise.
	* flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
	Likewise.
	* gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
	compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
	one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
	one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
	delete_null_pointer_checks, compute_code_hoist_vbeinout,
	hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
	compute_store_table, build_store_vectors): Likewise.
	* haifa-sched.c (sched_init): Likewise.
	* ifcvt.c (if_convert): Likewise.
	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
	pre_edge_lcm, compute_available, compute_nearerout,
	compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
	Likewise.
	* predict.c (estimate_probability, process_note_prediction,
	note_prediction_to_br_prob): Likewise.
	* profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
	* recog.c (split_all_insns, peephole2_optimize): Likewise.
	* regrename.c (copyprop_hardreg_forward): Likewise.
	* resource.c (init_resource_info): Likewise.
	* sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
	init_regions, schedule_insns): Likewise.
	* ssa-ccp.c (ssa_const_prop): Likewise.
	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
	* ssa.c (compute_dominance_frontiers,
	compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.

	* df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
	* gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
	sizes consistently.

From-SVN: r53924
2002-05-27 13:45:44 +00:00
Jan Hubicka
71d2c5bd9b basic-block.h (can_hoist_p, [...]): new.
* basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
	new.
	* rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
	hoist_insn_after, hoist_insn_to_edge): New.

From-SVN: r53923
2002-05-27 12:30:16 +00:00
Benjamin Kosnik
bed1bd8c51 re PR libstdc++/6795 (stringbuf failure)
2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/6795.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h
	(classic_table): Fix.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.

2002-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/ctype_is_wchar_t.cc: Guard with
	_GLIBCPP_USE_WCHAR_T.
	* testsuite/22_locale/ctype_narrow_wchar_t.cc: Same.
	* testsuite/22_locale/ctype_to_wchar_t.cc: Same.
	* testsuite/22_locale/ctype_widen_wchar_t.cc: Same.

From-SVN: r53921
2002-05-27 11:42:59 +00:00
Jan Hubicka
5149f0701c basic-block.h (PEOP_SCAN_DEAD_STORES): New.
* basic-block.h (PEOP_SCAN_DEAD_STORES): New.
	(PROP_FINAL): Include.
	* flow.c (life_analysis, update_life_info,
	init_propagate_block_info, mark_set_1, mark_used_rgs):
	Support SCAN_DEAD_STORE.

From-SVN: r53920
2002-05-27 10:15:57 +00:00
Joseph Myers
c9715013ff update_version (textstring_FILES): Change gcc/ada/gnatvsn.ads to gcc/gcc/ada/gnatvsn.ads.
* update_version (textstring_FILES): Change gcc/ada/gnatvsn.ads to
	gcc/gcc/ada/gnatvsn.ads.

From-SVN: r53918
2002-05-27 08:33:05 +01:00
GCC Administrator
f34d240e3d Daily bump.
From-SVN: r53917
2002-05-27 07:18:02 +00:00
Neil Booth
ded419a70c * testsuite/gcc.dg/cpp/if-3.c: Forgot to remove.
From-SVN: r53912
2002-05-27 05:55:29 +00:00
Neil Booth
c9220e3a83 c-common.c (c_common_init): Set CPP arithmetic precision.
* c-common.c (c_common_init): Set CPP arithmetic precision.
	* cppexp.c (cpp_num_part): Move typedef ...
	* cpphash.h: ...here; make unsigned HOST_WIDE_INT.
	* cppinit.c (cpp_create_reader): Default to host long arithmetic.
	(sanity_checks): Update.
testsuite:
	* gcc.dg/cpp/arith-2.c, gcc.dg/cpp/arith-3.c: New tests.
	* gcc.dg/cpp/if-3.c: Remove.

From-SVN: r53911
2002-05-27 05:51:14 +00:00
Bryce McKinlay
1457a0b52a re PR java/6820 (miscompilation of (a,++a) as arguments to final method)
* libjava.lang/PR6820.java: New file.
	* libjava.lang/PR6820.out: New file.

From-SVN: r53908
2002-05-27 06:47:40 +01:00
Geoffrey Keating
e34a3d3120 Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
2002-05-26  Geoffrey Keating  <geoffk@redhat.com>

	* Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
	(mkheaders): New rule.
	(install-mkheaders): New rule.
	* configure.in (all_outputs): Add mkheaders.
	* configure: Regenerate.
	* mkheaders.in: New file.

Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.880
diff -p -u -p -r1.880 Makefile.in
--- gcc/Makefile.in	25 May 2002 22:01:40 -0000	1.880
+++ gcc/Makefile.in	27 May 2002 04:14:19 -0000
@@ -434,7 +434,7 @@ FLOAT_H=@float_h_file@
 LIBCONVERT =

 # Control whether header files are installed.
-INSTALL_HEADERS=install-headers
+INSTALL_HEADERS=install-headers install-mkheaders

 # Control whether Info documentation is built and installed.
 BUILD_INFO = @BUILD_INFO@
@@ -878,6 +878,9 @@ gccbug:	$(srcdir)/gccbug.in
 mklibgcc: $(srcdir)/mklibgcc.in
 	CONFIG_FILES=mklibgcc CONFIG_HEADERS= ./config.status

+mkheaders: $(srcdir)/mkheaders.in
+	CONFIG_FILES=mkheaders CONFIG_HEADERS= ./config.status
+
 # cstamp-h.in controls rebuilding of config.in.
 # It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't
 # delete it.  A stamp file is needed as autoheader won't update the file if
@@ -2839,6 +2842,47 @@ install-headers-cpio: stmp-int-hdrs $(ST
 # Install the include directory using cp.
 install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
 	cp -p -r include $(libsubdir)
+
+itoolsdir = $(libsubdir)/install-tools
+# Don't install the headers.  Instead, install appropriate scripts
+# and supporting files for fixincludes to be run later.
+install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
+    mkheaders xlimits.h
+	-rm -rf $(itoolsdir)
+	$(SHELL) $(srcdir)/mkinstalldirs $(itoolsdir)/include
+	for file in $(USER_H); do \
+	  realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+	  $(INSTALL_DATA) $$file \
+	    $(itoolsdir)/include/$$realfile ; \
+	done
+	if [ x$(FLOAT_H) != xMakefile.in ]; then \
+	  $(INSTALL_DATA) $(srcdir)/config/$(FLOAT_H) \
+	     $(itoolsdir)/include/float.h ; \
+	else :; fi
+	$(INSTALL_DATA) xlimits.h $(itoolsdir)/include/limits.h
+	if [ x$(STMP_FIXINC) != x ] ; then \
+	  $(INSTALL_DATA) $(srcdir)/README-fixinc \
+	    $(itoolsdir)/include/README ; \
+	  $(INSTALL_PROGRAM) fixinc.sh $(itoolsdir)/fixinc.sh ; \
+	  $(INSTALL_PROGRAM) fixinc/fixincl $(itoolsdir)/fixincl ; \
+	  $(INSTALL_DATA) $(srcdir)/gsyslimits.h $(itoolsdir)/gsyslimits.h ; \
+	else :; fi
+	if [ x$(STMP_FIXPROTO) != x ] ; then \
+	  $(INSTALL_PROGRAM) $(srcdir)/mkinstalldirs \
+		$(itoolsdir)/mkinstalldirs ; \
+	  $(INSTALL_PROGRAM) $(srcdir)/fixproto $(itoolsdir)/fixproto ; \
+	  $(INSTALL_PROGRAM) fix-header$(build_exeext) \
+		$(itoolsdir)/fix-header$(build_exeext) ; \
+	else :; fi
+	$(INSTALL_PROGRAM) mkheaders $(itoolsdir)/mkheaders
+	echo 'SYSTEM_HEADER_DIR="$(SYSTEM_HEADER_DIR)"' \
+		> $(itoolsdir)/mkheaders.conf
+	echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
+		>> $(itoolsdir)/mkheaders.conf
+	echo 'FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"' \
+		>> $(itoolsdir)/mkheaders.conf
+	echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' >> $(itoolsdir)/mkheaders.conf
+	echo 'STMP_FIXINC="$(STMP_FIXINC)"' >> $(itoolsdir)/mkheaders.conf

 # Use this target to install the program `collect2' under the name `collect2'.
 install-collect2: collect2 installdirs
Index: gcc/configure
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure,v
retrieving revision 1.606
diff -p -u -p -r1.606 configure
--- gcc/configure	25 May 2002 19:51:40 -0000	1.606
+++ gcc/configure	27 May 2002 04:14:21 -0000
@@ -8065,7 +8065,7 @@ all_languages=
 all_boot_languages=
 all_compilers=
 all_stagestuff=
-all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc'
+all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc mkheaders'
 # List of language makefile fragments.
 all_lang_makefiles=

Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.593
diff -p -u -p -r1.593 configure.in
--- gcc/configure.in	25 May 2002 19:51:41 -0000	1.593
+++ gcc/configure.in	27 May 2002 04:14:21 -0000
@@ -2312,7 +2312,7 @@ all_languages=
 all_boot_languages=
 all_compilers=
 all_stagestuff=
-all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc'
+all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc mkheaders'
 # List of language makefile fragments.
 all_lang_makefiles=

Index: gcc/mkheaders.in
===================================================================
RCS file: gcc/mkheaders.in
diff -N gcc/mkheaders.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gcc/mkheaders.in	27 May 2002 04:14:21 -0000
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Copyright (C) 2002 Free Software Foundation, Inc.
+
+#This file is part of GCC.
+
+#GCC is free software; you can redistribute it and/or modify it under
+#the terms of the GNU General Public License as published by the Free
+#Software Foundation; either version 2, or (at your option) any later
+#version.
+
+#GCC is distributed in the hope that it will be useful, but WITHOUT
+#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#for more details.
+
+#You should have received a copy of the GNU General Public License
+#along with GCC; see the file COPYING.  If not, write to the Free
+#Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+#02111-1307, USA.
+
+# Basic information
+target=@target@
+target_alias=@target_alias@
+version=@gcc_version@
+
+VERBOSE=0
+while [ x$1 = x-v ] ; do
+    shift
+    VERBOSE=`expr $VERBOSE + 1`
+done
+export VERBOSE
+
+if [ x$1 = x--help ] ; then
+    echo "Usage: mkheaders [options] [prefix]"
+    echo "Options:"
+    echo "  -v        Print more output (may be repeated for even more output)"
+    echo "  --help    This help"
+    echo "  --version Print version information"
+    exit 0
+fi
+
+if [ x$1 = x--version ] ; then
+    echo "mkheaders (GCC) version $version"
+    echo "Copyright 2002 Free Software Foundation, Inc."
+    echo "This program is free software; you may redistribute it under the"
+    echo "terms of the GNU General Public License.  This program has"
+    echo "absolutely no warranty."
+    exit 0
+fi
+
+# Common prefix for installation directories.
+if [ x$1 != x ] ; then
+  prefix=$1
+else
+  prefix=@prefix@
+fi
+# Directory in which to put localized header files. On the systems with
+# gcc as the native cc, `local_prefix' may not be `prefix' which is
+# `/usr'.
+# NOTE: local_prefix *should not* default from prefix.
+local_prefix=@local_prefix@
+# Directory in which to put host dependent programs and libraries
+exec_prefix=@exec_prefix@
+# Directory in which to put the directories used by the compiler.
+libdir=@libdir@
+# Directory in which the compiler finds executables, libraries, etc.
+libsubdir=${libdir}/gcc-lib/${target_alias}/${version}
+# Since gcc_tooldir does not exist at build-time, use -B${build_tooldir}/bin/
+build_tooldir=${exec_prefix}/${target_alias}
+# Directory to search for site-specific includes.
+local_includedir=${local_prefix}/include
+includedir=${prefix}/include
+
+itoolsdir=${libsubdir}/install-tools
+incdir=${libsubdir}/include
+
+. ${itoolsdir}/mkheaders.conf
+
+cd ${itoolsdir}
+rm -rf ${incdir}/*
+
+if [ x${STMP_FIXINC} != x ] ; then
+	TARGET_MACHINE="${target}" target_canonical="${target}" \
+	    ${SHELL} ./fixinc.sh ${incdir} \
+	    ${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
+	rm -f ${incdir}/syslimits.h
+	if [ -f ${incdir}/limits.h ]; then
+	  mv ${incdir}/limits.h ${incdir}/syslimits.h
+	else
+	  cp gsyslimits.h ${incdir}/syslimits.h
+	fi
+fi
+
+cp include/* ${incdir}
+
+if [ x${STMP_FIXPROTO} != x ] ; then
+  mkinstalldirs="${SHELL} ${itoolsdir}/mkinstalldirs"
+  export FIXPROTO_DEFINES mkinstalldirs
+  ${SHELL} fixproto ${incdir} ${incdir} ${SYSTEM_HEADER_DIR} || exit 1
+fi

From-SVN: r53907
2002-05-27 04:24:54 +00:00
Marek Michalkiewicz
331ca3501d avr-protos.h (avr_out_sbxx_branch): Declare.
* config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
	* config/avr/avr.c (jump_over_one_insn_p): Take length of the
	branch insn into account, do not assume 1.
	(avr_out_sbxx_branch): New function.  Optimize cases of skipping
	over single word insn.  Handle upper half of I/O space too.
	* config/avr/avr.md (*sbrx_branch): Use it.
	(*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
	(*sbix_branch, *sbix_branch_bit7): Likewise.
	(*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
	Use RTL peepholes to optimize register operand sign tests.

From-SVN: r53906
2002-05-26 20:19:32 +00:00
Jakub Jelinek
9059e33cbb cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
* cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.

	* g++.dg/opt/cse2.C: New test.

From-SVN: r53905
2002-05-26 21:59:45 +02:00
Richard Henderson
2960ccbf96 Fix typo last change.
From-SVN: r53902
2002-05-26 12:06:11 -07:00
Andreas Jaeger
291cc0febc * cfg.c (dump_flow_info): Remove extra argument to fprintf.
From-SVN: r53901
2002-05-26 21:05:53 +02:00
Neil Booth
913189081f cppexp.c (possible_sum_sign, [...]): Remove.
* cppexp.c (possible_sum_sign, integer_overflow, left_shift,
	right_shift): Remove.
	(cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
	HIGH_PART): New.
	(struct op): Use cpp_num.
	(num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
	num_part_mul, num_unary_op, num_binary_op, num_negate,
	num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
	num_div_op, num_lshift, num_rshift, append_digit): New.
	(interpret_number, parse_defined, eval_token, reduce): Update
	for two-integer arithmetic.
	(binary_handler): New typedef.
	(optab): Update.
	(COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
	(_cpp_parse_expr, reduce): Update to handle two-integers.
	* cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
testsuite:
	* gcc.dg/cpp/arith-1.c: New semantic tests.
	* gcc.dg/cpp/if-1.c: Update.

From-SVN: r53900
2002-05-26 18:42:21 +00:00