Commit Graph

64328 Commits

Author SHA1 Message Date
Richard Sandiford
4f1da2e923 simplify-rtx.c (simplify_subreg): In the CONCAT case...
* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
	the request subreg is entirely contained in the requested component.
	(simplify_gen_subreg): Return null for CONCATs that are rejected
	by simplify_subreg.
	* expmed.c (store_bit_field): Create a temporary when changing the
	value to an integer mode.

From-SVN: r91965
2004-12-09 20:28:14 +00:00
David Edelsohn
36cea87023 * real.c (ibm_extended): Correct comment.
From-SVN: r91964
2004-12-09 15:21:45 -05:00
Stan Shebs
dc4d6ffa26 darwin-asm.h: New file, 32/64-bit assembly macros formerly in darwin-tramp.asm.
* config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
        formerly in darwin-tramp.asm.
        * config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
        * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
        * config/rs6000/t-darwin: Add dependencies.

From-SVN: r91960
2004-12-09 18:25:15 +00:00
Paolo Carlini
366e6bd173 type_traits: Implement remove_extent and remove_all_extents.
2004-12-09  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement remove_extent and
	remove_all_extents.
	* testsuite/tr1/4_metaprogramming/array_modifications/
	remove_all_extents.cc: New.
	* testsuite/tr1/4_metaprogramming/array_modifications/
	remove_extent.cc: Likewise.

From-SVN: r91958
2004-12-09 17:54:27 +00:00
Richard Henderson
88d6095610 re PR target/17025 (attribute regparm code-generation bug)
PR target/17025
        * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
        (test_qi_1, andqi_2): Do not promote to simode.

From-SVN: r91956
2004-12-09 09:33:42 -08:00
David Edelsohn
ad87ad6788 re PR bootstrap/18895 (libgfortran AM_MAKEFLAGS arg list + environment too large)
PR bootstrap/18895
        Revert 2004-12-07 change.
        * Makefile.am (AM_MAKEFLAGS): Delete.
        * Makefile.in: Regenerate.

From-SVN: r91955
2004-12-09 11:31:19 -05:00
Andrew Pinski
25a2fe8569 re PR tree-optimization/18904 (4.0-20041205 regression ICE with -O3)
2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18904
        * g++.dg/opt/ptrmem5.C: New test.

2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18904
        * tree-chrec.c (chrec_convert): Use fold_convert
        instead of convert.

From-SVN: r91954
2004-12-09 08:17:07 -08:00
Matt Rice
8748c00f94 re PR preprocessor/18102 (darwin framework header search depends on order of options)
2004-12-09  Matt Rice  <ratmice@yahoo.com>

        PR preprocessor/18102
        * c-incpath.c (remove_duplicates): Check for construct
        equality.

From-SVN: r91953
2004-12-09 07:54:15 -08:00
Alexandre Oliva
354e22e18a re PR c++/18757 (ICE (on invalid) in get_innermost_template_args)
gcc/cp/ChangeLog:
PR c++/18757
* parser.c (cp_parser_template_id): Don't create a CPP_TEMPLATE_ID
if parsing failed.
gcc/testsuite/ChangeLog:
* g++.dg/parse/typename5.C: Adjust for new error.
* g++.dg/parse/typename7.C: New.

From-SVN: r91935
2004-12-09 12:33:09 +00:00
Dorit Naishlos
d16b59fa0c genopinit.c (vec_realign_store_optab): Initialization removed.
2004-12-09  Dorit Naishlos  <dorit@il.ibm.com>

        * genopinit.c (vec_realign_store_optab): Initialization removed.
        * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
        * optabs.h (optab_index): OTI_vec_realign_store Removed.
        (vec_realign_store_optab): Removed.
        * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
        * target.h (builtin_mask_for_store): Removed.
        * tree.def (REALIGN_STORE_EXPR): Removed.
        * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
        (altivec_builtin_mask_for_store): Removed.
        (altivec_init_builtins): Removed initialization of
        altivec_builtin_mask_for_store.

        * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
        (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.

From-SVN: r91932
2004-12-09 11:06:20 +00:00
Nathan Sidwell
08f2586c92 tree.def (SET_TYPE): Remove.
* tree.def (SET_TYPE): Remove.
	(CONSTRUCTOR): Update description.
	* builtins.c (type_to_class) Remove SET_TYPE case.
	* dbxout.c (dbxout_type): Likewise.
	* dwarf2out.c (is_base_type): Likewise.
	(gen_set_type_die): Remove.
	(gen_type_die): Remove SET_TYPE case.
	* expr.c (count_type_elements): Likewise.
	(mostly_zeroes_p): Likewise.
	(store_constructor): Likewise.
	* print_tree.c (print_node): Likewise.
	* stor-layout.c (layout_type): Likewise.
	* tree-browser.c (browse_tree): Likewise.
	* tree-inline.c (remap_type): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree.c (type_contains_plaeholder_1, type_hash_eq,
	variably_modified_type_p, initializer_zerop): Likewise.
	* tree.h (SET_OR_ARRAY_CHECK): Remove.
	(AGGREGATE_TYPE_P): Remove SET_TYPE check.
	(TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
	* typeclass.h (enum type_class): Remove set_type_class.
	* varasm.c (const_hash_1): Remove SET_TYPE case.
	(compare_constant, copy_constant, output_constant): Likewise.
	* config/i386/i386.c (classify_argument): Likewise.
	* config/ia64/ia64.c (hfa_element_mode): Likewise.
	* config/sparc/sparc.c (sparc_type_code): Likewise.

	* ada/decl.c (gnat_substitute_in_type): Remove SET_TYPE case.

From-SVN: r91931
2004-12-09 10:54:50 +00:00
Nathan Sidwell
61fcaeec1e re PR c++/16681 (array initialization in struct construct is a memory hog)
PR c++/16681
	* tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.

From-SVN: r91930
2004-12-09 10:43:54 +00:00
Volker Reichelt
257d5f32ce re PR c++/18073 (mmintrin.h rejected by C++ frontend)
PR c++/18073
	* typeck.c (build_reinterpret_cast_1): Allow cast from vector type.

	* g++.dg/other/mmintrin.C: New test.

From-SVN: r91929
2004-12-09 10:34:21 +00:00
Nathan Sidwell
9476364759 re PR c++/16681 (array initialization in struct construct is a memory hog)
cp:
	PR c++/16681
	* init.c (build_zero_init): Build a RANGE_EXPR for an array
	initializer.
testsuite:
	PR c++/16681
	* g++.dg/init/array15.C: New.
	* g++.dg/init/array16.C: New.

From-SVN: r91928
2004-12-09 09:37:37 +00:00
Richard Henderson
42fabf21b2 * config/i386/i386.md: Use FLAGS_REG everywhere.
From-SVN: r91927
2004-12-08 23:21:19 -08:00
Kelley Cook
901713f134 Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am: Add ../config to ACLOCAL_AMFLAGS.
	* aclocal.m4, Makefile.in, testsuite/Makefile.in: Regenerate.

From-SVN: r91926
2004-12-09 01:27:29 +00:00
Eric Christopher
dec20d7404 mips.c (mips_scalar_mode_supported_p): Rewrite to avoid call to default function.
2004-12-08  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
	to avoid call to default function.

From-SVN: r91925
2004-12-09 01:04:40 +00:00
GCC Administrator
1e6b30d091 Daily bump.
From-SVN: r91923
2004-12-09 00:16:17 +00:00
Kelley Cook
8a21aa30d8 typeck.c: Remove DOS line endings.
2004-12-08  Kelley Cook  <kcook@gcc.gnu.org>

	* typeck.c: Remove DOS line endings.

From-SVN: r91919
2004-12-08 23:47:20 +00:00
Richard Henderson
323c74dacc intrinsic.c (gfc_convert_type_warn): Propagate the input shape to the output expression.
* intrinsic.c (gfc_convert_type_warn): Propagate the input shape
        to the output expression.
        * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
        warning conversion.
        (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
        to index kind.

From-SVN: r91917
2004-12-08 13:17:18 -08:00
David Edelsohn
1b227ee01a Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
* Makefile.def (flags_to_pass): Add PICFLAG_FOR_TARGET.
	* Makefile.tpl (EXTRA_HOST_FLAGS): Add PICFLAG.
	(EXTRA_TARGET_FLAGS): Add PICFLAG.
	* Makefile.in: Regenerate.

From-SVN: r91916
2004-12-08 15:25:58 -05:00
Zack Weinberg
857e7259c4 re PR middle-end/17982 (stop calling assemble_external before final assembly output time)
PR 17982
	* varasm.c (pending_assemble_externals): New static.
	(assemble_external_real): Meat of assemble_external split out
	to this new function.
	(process_pending_assemble_externals): New function.
	(assemble_external): Use gcc_assert.  If flag_unit_at_a_time
	is true and the basic test passes, merely cons the decl onto
	the pending list to be handled later.
	* tree.h: Declare process_pending_assemble_externals.
	* cgraphunit.c (cgraph_optimize): Call it.

	* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.

From-SVN: r91914
2004-12-08 19:13:35 +00:00
Kazu Hirata
b057216dba cfgloopmanip.c (create_preheader): Speed up by "unrolling" and simplifying FOR_EACH_EDGE.
* cfgloopmanip.c (create_preheader): Speed up by "unrolling"
	and simplifying FOR_EACH_EDGE.

From-SVN: r91913
2004-12-08 18:52:48 +00:00
Paolo Carlini
d63a0e228c type_traits: Implement is_same, add_reference and remove_reference.
2004-12-08  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_same, add_reference and
	remove_reference.
	* testsuite/testsuite_tr1.h (test_relationship): New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	add_reference.cc: New.
	* testsuite/tr1/4_metaprogramming/reference_modifications/
	remove_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/is_same.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/relationships_between_types/
	is_same/typedefs.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/type_properties/is_const/
	is_const.cc: Minor tweaks.
	* testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
	is_volatile.cc: Likewise.

From-SVN: r91907
2004-12-08 16:33:51 +00:00
Christopher Faylor
ce5e944cb4 * MAINTAINERS: Update my email address.
From-SVN: r91906
2004-12-08 15:57:14 +00:00
David Edelsohn
7994d50cfa Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and PICFLAG.
* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
	PICFLAG.
	* Makefile.in: Regenerated.

From-SVN: r91905
2004-12-08 10:48:53 -05:00
David Edelsohn
ea24508ff4 clarify previous entry.
From-SVN: r91904
2004-12-08 10:43:17 -05:00
David Edelsohn
83ba5345fd Makefile.am (LIBCFLAGS): Remove duplicate.
* Makefile.am (LIBCFLAGS): Remove duplicate.
	(PICFLAG): Remove duplicate.
	* Makefile.in: Regenerated.

From-SVN: r91903
2004-12-08 10:41:41 -05:00
Tobias Schlüter
baa8edda03 Add missing PR numbers for previous commit:
fortran/
PR fortran/18826
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.

testsuite/
PR fortran/18826
* gfortran.dg/assign_1.f90: New test.

From-SVN: r91902
2004-12-08 15:38:24 +01:00
Andrew Haley
9e6a1ba9af re PR java/18811 (rhug build problem, regression?)
2004-12-07  Andrew Haley  <aph@redhat.com>

	PR java/18811:
	* jcf-parse.c (load_class): Remove sanity test for missing inner
	class file.

From-SVN: r91901
2004-12-08 14:08:22 +00:00
Andrew Haley
477c6c35b5 jcf-parse.c (load_class): Remove sanity test for missing inner class file.
2004-12-07  Andrew Haley  <aph@redhat.com>

	* jcf-parse.c (load_class): Remove sanity test for missing inner
	class file.

From-SVN: r91900
2004-12-08 14:01:50 +00:00
Tobias Schlüter
59ce85b543 * decl.c (gfc_match_end): Use locus of END when eos is an error.
From-SVN: r91899
2004-12-08 13:29:44 +01:00
Tobias Schlüter
40f2165e2d resolve.c (resolve_code): Impose correct restrictions on assigned variable.
fortran/
* resolve.c (resolve_code): Impose correct restrictions on
assigned variable.

testsuite/
* gfortran.dg/assign_1.f90: New test.

From-SVN: r91898
2004-12-08 13:27:54 +01:00
Arnaud Charlet
180684ebb2 Resync.
From-SVN: r91897
2004-12-08 12:53:25 +01:00
Arnaud Charlet
a5b62485c3 g-socket.ads (Get_Host_By_Address, [...]): Clarify documentation of the behaviour of these functions when...
* g-socket.ads (Get_Host_By_Address, Get_Host_By_Name): Clarify
	documentation of the behaviour of these functions when passed an IP
	address that has no record in the system hosts database and no reverse
	record in the DNS.

	* cstand.adb, a-tags.ads: Fix typos in comment.

	* exp_ch2.adb, exp_ch3.adb, exp_ch5.adb, exp_ch8.adb,
	exp_ch9.adb, exp_pakd.adb, interfac.ads, sem_ch6.adb,
	sem_ch7.adb, sem_ch10.adb, sem_ch13.adb, sem_ch3.adb,
	s-poosiz.ads: Minor reformatting

	* make.adb: Minor reformatting
	Add some ??? comments asking for more comments

	* s-poosiz.adb: Minor reformatting
	Add comments on alignment requirement

	* sinfo.ads: Remove obsolete comment and fix typo.

	* gnat_ugn.texi: Update the section "The GNAT Driver and Project
	Files" with the new tool and package names.
	Reformatting to suppress most of the warnings for line too long
	Document the new section "Project Search Path:" in the output of
	gnatls -v.
	Add gnatmetric section

	* vms_data.ads: Correct GNAT METRIC qualifiers: -I-, -Idir and
	-gnatec= are not direct switches of gnatmetric. Changed -eis to -eps
	and -eit to -ept. Added qualifier
	/ELEMENT_METRICS=CONSTRUCT_NESTING_MAX for new switch -ec.

From-SVN: r91896
2004-12-08 12:49:44 +01:00
Arnaud Charlet
4e8c0836b4 * vxaddr2line.adb: Add support for x86 vxworks
From-SVN: r91895
2004-12-08 12:49:07 +01:00
Arnaud Charlet
bc41faa231 sem_ch8.adb (Find_Type): If node is a reference to 'Base and the prefix is not a scalar type...
* sem_ch8.adb (Find_Type): If node is a reference to 'Base and the
	prefix is not a scalar type, place error message on prefix, not on
	type entity.

From-SVN: r91894
2004-12-08 12:48:53 +01:00
Arnaud Charlet
e2d6a9e577 sem_ch5.adb (One_Bound): Remove call to Resolve...
* sem_ch5.adb (One_Bound): Remove call to Resolve, as the bound needs
	to be resolved later as part of Analyze_Iteration_Scheme's call to
	Make_Index.

From-SVN: r91893
2004-12-08 12:48:38 +01:00
Arnaud Charlet
6e73e3ab00 sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram used to record an implicit dereference as a read operation on...
* sem_ch4.adb (Process_Implicit_Dereference_Prefix): New subprogram
	used to record an implicit dereference as a read operation on its
	prefix when operating under -gnatc. Necessary to avoid spurious
	'variable assigned but never read' warnings in that mode.
	(Process_Indexed_Component, Analyze_Selected_Component): When the prefix
	is a non-overloaded implicit dereference, call the above subprogram to
	ensure proper recording of references.

From-SVN: r91892
2004-12-08 12:48:22 +01:00
Arnaud Charlet
07233820c3 nlists.adb (Prepend_Debug): Remove parameters and nest within Prepend.
* nlists.adb (Prepend_Debug): Remove parameters and nest within
	Prepend.
	(Remove_Next_Debug): Same fix

	* nlists.ads: Correct bad comments for Prev and Prev_Non_Pragma (we do
	maintain back pointers now, though we did not used to, and comments
	were out of date).
	(Prepend): Remove pragma Inline.
	(Remove_Next): Same cleanup

From-SVN: r91891
2004-12-08 12:48:04 +01:00
Arnaud Charlet
6a2b39bdda misc.c (gnat_types_compatible_p, [...]): Remove.
* misc.c (gnat_types_compatible_p, LANG_HOOKS_TYPES_COMPATIBLE_P):
	Remove.
	(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): New.

	* adaint.h: (__gnat_dup, __gnat_dup2): Add missing decls.

	* trans.c (Exception_Handler_to_gnu_sjlj): Also handle renamed
	exception.
	(call_to_gnu): Convert to actual DECL_ARG_TYPE, not variant of it.

From-SVN: r91890
2004-12-08 12:47:46 +01:00
Arnaud Charlet
bd94e912ff * Makefile.in: Add support for foreign threads on VMS.
From-SVN: r91889
2004-12-08 12:47:34 +01:00
Arnaud Charlet
1a1035e41b lib-xref.adb (Generate_Reference): Handle properly a reference to an entry formal...
* lib-xref.adb (Generate_Reference): Handle properly a reference to an
	entry formal, when an accept statement has a pragma Unreferenced for it.

	* sem_ch9.adb (Analyze_Accept_Statement): Reset the Is_Referenced flag
	and the Has_Pragma_Unreferenced flag for each formal before analyzing
	the body, to ensure that warnings are properly emitted for each accept
	statement of a given task entry.

From-SVN: r91888
2004-12-08 12:47:21 +01:00
Arnaud Charlet
4722c5d693 * g-regpat.adb: (Match): Change a misuse of or to or else
From-SVN: r91887
2004-12-08 12:46:58 +01:00
Arnaud Charlet
2fb9c1bbd4 g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a compile-time warning.
* g-os_lib.adb (Spawn): Explicitly initialize Saved_Error to avoid a
	compile-time warning.

From-SVN: r91886
2004-12-08 12:46:45 +01:00
Arnaud Charlet
5f8abbd98b gnatmem.adb, [...]: Output the copyright message on a separate line from the version message.
* gnatmem.adb, gnatname.adb, gnatsym.adb, gprcmd.adb, vms_conv.adb:
	Output the copyright message on a separate line from the version
	message.

From-SVN: r91885
2004-12-08 12:46:30 +01:00
Arnaud Charlet
bd7f7a653f exp_dist.adb (Specific_Build_General_Calling_Stubs, [...]): New subprograms.
* exp_dist.adb (Specific_Build_General_Calling_Stubs,
	Specific_Build_Stub_Target): New subprograms.
	(Build_Subprogram_Calling_Stubs): Make this procedure independent from
	the PCS implementation used, using the above PCS-customized subprograms.
	Minor reformatting.
	(PolyORB_Support.Helpers): New subunit containing supporting subprograms
	for generation of DSA code targeted to the PolyORB PCS.
	(Add_Stub_Type): Rewrite to isolate the parts that are specific to one
	implementation of the partition communication subsystem in ancillary
	subprograms.
	(Specific_Build_Stub_Type, GARLIC_Support.Build_Stub_Type,
	PolyORB_Support.Build_Stub_Type): New subrograms containing the
	PCS-specific part of Add_Stub_Type.
	(Insert_Partition_Check): Use runtime library function to perform
	E.4(19) check.

        * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
        (RE_Same_Partition): New entity, from s-parint.

        * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.

From-SVN: r91884
2004-12-08 12:46:11 +01:00
Arnaud Charlet
1453276224 exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of construct is rewritten...
* exp_ch7.adb (Expand_Cleanup_Actions): If statement sequence of
	construct is rewritten, preserve end label to permit source navigation.

From-SVN: r91883
2004-12-08 12:45:51 +01:00
Arnaud Charlet
98f01d532a exp_ch6.adb (Expand_Call): Add comment on handling of back end intrinsic
* exp_ch6.adb (Expand_Call): Add comment on handling of back end
	intrinsic

	* exp_intr.adb (Expand_Intrinsic_Call): Ignore unrecognized intrinsic,
	leaving call unchanged.
	This deals with the case where the pragma Import specified
	an external name, to be handled by the back end.

	* sem_prag.adb (Process_Import_Or_Interface): Do not check validity of
	subprogram which is Imported with convention Intrinsic if an
	External_Name argument is specified.
	(Process_Import_Or_Interface): Properly diagnose link name argument.
	(Inlining_Not_Possible): New name for Cannot_Inline, to avoid confusion
	with Sem_Ch6.Cannot_Inline.
	(Process_Inline): Provide separate warning for inapplicable inline
	pragma.
	(Cannot_Inline): Reject subprograms that have an at_end handler, so that
	treatment is uniform on different targets.

From-SVN: r91882
2004-12-08 12:27:00 +01:00
Arnaud Charlet
2717634daa exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component with an implicit dereference as its prefix...
* exp_ch4.adb (Expand_N_Indexed_Component): For an indexed component
	with an implicit dereference as its prefix, use
	Insert_Explicit_Dereference instead of merely rewriting the prefix into
	an explicit dereference. This ensures that a reference to the original
	prefix is generated, if appropriate.

	* sem_util.adb (Insert_Explicit_Dereference): When an implicit
	dereference is rewritten to an explicit one, generate a reference to
	the entity denoted by its prefix using the original prefix node, so
	the dereference can be properly recorded as a read of the denoted
	access value, if appropriate.

	* sem_warn.adb (Output_Unreferenced_Messages): Do not abstain from
	emitting 'assigned but never read' warning on a variable on the basis
	that it has an access type.
	(Check_References): Emit unreferenced warning when the scope is a
	subprogram body.

From-SVN: r91881
2004-12-08 12:26:46 +01:00