Commit Graph

64389 Commits

Author SHA1 Message Date
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
Arnaud Charlet e913f03bad * eval_fat.adb: Revert previous change.
From-SVN: r91880
2004-12-08 12:26:32 +01:00
Arnaud Charlet 0da07eae29 decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if...
* decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for
	TYPE_SIZE_UNIT of result type if SIZE is not specified.
	(make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation
	of a bitfield, which we know is useless and causes trouble because of
	alignment implications.

	* utils.c (create_var_decl): Set DECL_COMMON again on targets without
	BSS sections.
	(process_attributes): Clear DECL_COMMON again when a section attribute
	is present.
	(finish_record_type): Independently track if RECORD_TYPE has SIZE and/or
	SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT.
	(create_field_decl): Special case ADDRESSABLE negative to mean
	"no bitfield creation", to be used by make_aligning_type. Don't
	restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode
	fields claimed addressable still have to be bitfields. Use
	value_factor_p instead of a raw binop construction to check for the
	position's alignment.

From-SVN: r91879
2004-12-08 12:26:20 +01:00
Arnaud Charlet a4c1cd8065 debug.adb: Document that -gnatdA automatically sets -gnatR3m
* debug.adb: Document that -gnatdA automatically sets -gnatR3m

	* gnat1drv.adb (Gnat1drv): If debug flag A set, then automatically
	set -gnatR3m mode.

	* repinfo.adb (List_Rep_Info): Remove special handling of -gnatdA
	flag. No longer needed now that we handle this in gnat1drv.adb.

	* repinfo.ads: Minor reformatting

From-SVN: r91878
2004-12-08 12:26:04 +01:00
Arnaud Charlet 44e1918abd make.adb (Check_Mains, [...]): Adapt to name changes in package Prj (Current_Spec_Suffix => Ada_Spec_Suffix...
* make.adb (Check_Mains, Switches_Of): Adapt to name changes in
	package Prj (Current_Spec_Suffix => Ada_Spec_Suffix,
	Current_Body_Suffix => Ada_Body_Suffix).
	Take into account Externally_Built attribute.

	* clean.adb (In_Extension_Chain): Always return False when one of the
	parameter is No_Project.
	(Clean_Project): Adapt to changes in package Prj (Lang_Ada =>
	Ada_Language_Index).
	(Gnatclean): Adapt to change in package Prj.Pars (no parameter
	Process_Languages for procedure Parse).

	* gnatcmd.adb (Carg_Switches): New table.
	(GNATCmd): Put all switches following -cargs in the Carg_Switches table.
	Adapt to name changes in package Prj (Current_Spec_Suffix =>
	Ada_Spec_Suffix, Current_Body_Suffix => Ada_Body_Suffix).

	* mlib-prj.adb: Adapt to changes in packages Prj and Prj.Com: type
	Header_Num and function Hash are now declared in package Prj,
	not Prj.Com.

	* prj.adb (Suffix_Of): New function.
	(Set (Suffix)): New procedure.
	(Hash): One function moved from Prj.Com
	(Is_Present, Language_Processing_Data_Of): New functions
	(Set): Two new procedures
	(Add_Language_Name, Display_Language_Name): New procedures

	* prj.ads: (Suffix_Of): New function
	(Set (Suffix)): New procedure
	Add several types and tables for multi-language support.
	(Header_Num): Type moved from Prj.Com
	(Hash): Two functions moved from Prj.Com
	(Is_Present, Language_Processing_Data_Of): New functions
	(Set): Two new procedures
	(Add_Language_Name, Display_Language_Name): New procedures
	(Naming): Component name changes:
	Current_Spec_Suffix => Ada_Spec_Suffix,
	Current_Body_Suffix => Ada_Body_Suffix. Add new components:
	Impl_Suffixes, Supp_Suffixes.
	(Project_Data): New components: Externally_Built, Supp_Languages,
	First_Language_Processing, Supp_Language_Processing, Default_Linker,
	Default_Linker_Path.

	* prj-attr.adb: Add new attributes Ada_Roots and Externally_Built and
	new package Language_Processing with its attributes (Compiler_Driver,
	Compiler_Kind, Dependency_Option, Compute_Dependency, Include_Option,
	Binder_Driver, Default_Linker).

	* prj-com.ads, prj-com.adb (Hash): Function moved to package Prj.
	(Header_Num): Type moved to package Prj

	* prj-env.adb: Adapt to name changes in package Prj
	(Current_Spec_Suffix => Ada_Spec_Suffix,
	Current_Body_Suffix => Ada_Body_Suffix).

	* prj-ext.adb: Add the default project dir (<prefix>/log/gnat) by
	default to the project path, except the "-" is one of the directories
	in env var ADA_PROJECT_PATH.
	(Current_Project_Path): Global variable, replacing Project_Path
	that was in the body of Prj.Part.
	(Project_Path): New function
	(Set_Project_Path): New procedure
	Initialize Current_Project_Path during elaboration of the package
	Remove dependency on Prj.Com, no longer needed

	* prj-ext.ads (Project_Path): New function
	(Set_Project_Path): New procedure

	* prj-nmsc.adb (Body_Suffix_Of): New function. Returns .<lang> when no
	suffix is defined for language <lang>.
	(Find_Sources, Record_Other_Sources): Use Body_Suffix_Of, instead of
	accessing directly the components of Naming.
	(Look_For_Sources): Use Set (Suffix) to set the suffix of a language.
	Reorganise of this package.
	Break procedure Check in several procedures.

	* prj-nmsc.ads: Replace all procedures (Ada_Check,
	Other_Languages_Check and Language_Independent_Check) with a single
	procedure Check.

	* prj-pars.ads, prj-pars.adb (Parse): Remove parameter
	Process_Languages, no longer needed.

	* prj-part.adb (Project_Path): Move to the body of Prj.Ext as
	Current_Project_Path.
	Remove elaboration code, moved to the body of Prj.Ext
	Use new function Prj.Ext.Project_Path instead of old variable
	Project_Path.
	(Post_Parse_Context_Clause): Get Resolved_Path as a case-sensitive path.
	When comparing with project paths on the stack, first put the resolved
	path in canonical case.
	(Parse_Single_Project): Set the path name of the project file in the
	tree to the normalized path.

	* prj-proc.ads, prj-proc.adb (Check, Recursive_Check, Process): Remove
	parameter Process_Languages, no longer needed.
	(Recursive_Check): Call Prj.Nmsc.Check, instead of Ada_Check and
	Other_Languages_Check.

	* prj-tree.ads (Project_Name_And_Node): New component Canonical_Path
	to store the resolved canonical path of the project file.
	Remove dependency to Prj.Com, no longer needed

	* prj-util.adb: Adapt to name changes in package Prj
	(Current_Spec_Suffix => Ada_Spec_Suffix, Current_Body_Suffix =>
	Ada_Body_Suffix).

	* snames.ads, snames.adb: New standard names: Ada_Roots, Binder_Driver,
	Compiler_Driver, Compiler_Kind, Compute_Dependency, Default_Linker,
	Externally_Built, Include_Option, Language_Processing.

	* makegpr.adb: Numerous changes due to changes in packages
	Prj and Prj.Nmsc.

	* gnatls.adb: Add the default project dir (<prefix>/log/gnat) by
	default to the project path, except whe "-" is one of the directories
	in env var ADA_PROJECT_PATH.
	(Gnatls): In verbose mode, add the new section "Project Search Path:"

From-SVN: r91877
2004-12-08 12:25:51 +01:00
Arnaud Charlet a7e5b6df8d back_end.adb (Scan_Back_End_Switches): Accept --param.
* back_end.adb (Scan_Back_End_Switches): Accept --param.

	* lang-specs.h: Accept --param.

From-SVN: r91876
2004-12-08 12:25:14 +01:00
Arnaud Charlet dcdf1790ad atree.adb (Visit_Itype): Create a new name for the generated itype...
* atree.adb (Visit_Itype): Create a new name for the generated itype,
	because the back-end may otherwise treat it as a redefinition of the
	old symbol.

From-SVN: r91875
2004-12-08 12:25:03 +01:00
Arnaud Charlet 87f07a97ad a-exexpr.adb (Others_Value, [...]): Change initial values from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last...
* a-exexpr.adb (Others_Value, All_Others_Value): Change initial values
	from 16#BEEF# to 16#7FFF# to avoid exceeding Integer'Last on 16-bit
	targets (such as AAMP).

From-SVN: r91874
2004-12-08 12:24:50 +01:00
Arnaud Charlet 8cd9e2ac30 s-intman-vxworks.adb (Notify_Exception): removed useless check for current task being suspended.
* s-intman-vxworks.adb (Notify_Exception): removed useless check for
	current task being suspended.

	* init.c (__gnat_clear_exception): added to reset VxWorks exception
	count.
	(__gnat_map_signal): removed test for current task being suspended.

From-SVN: r91873
2004-12-08 12:24:38 +01:00
Nick Clifton de40e4dd33 Add new tests for xstormy16
From-SVN: r91870
2004-12-08 11:15:24 +00:00
Richard Sandiford 75d0ac8d5a frv.c (frv_sort_insn_group): Always initialize packet_group->nop.
* config/frv/frv.c (frv_sort_insn_group): Always initialize
	packet_group->nop.

From-SVN: r91867
2004-12-08 10:25:39 +00:00
Kriang Lerdsuwanakij 4104f0f400 re PR c++/18100 (template member with same name as class not rejected)
PR c++/18100
	* decl.c (lookup_and_check_tag): Diagnose nested class with
	the same name as enclosing class.

	* g++.dg/lookup/name-clash4.C: New test.

From-SVN: r91866
2004-12-08 10:25:22 +00:00
Nathan Sidwell 0710ccffc3 re PR c++/18672 (Segfault with simple template code)
.:	PR c++/18672
	* gimplify.c (canonicalize_addr_expr): Cope with array of
	incomplete type.
	(gimplify_conversion): Remove redundant checks.
testsuite:
	PR c++/18672
	* g++.dg/opt/array1.C: New.

From-SVN: r91865
2004-12-08 08:47:59 +00:00
Nathan Sidwell e6aef96964 * doc/trouble.texi (Non-bugs): Clarify empty loop removal.
From-SVN: r91864
2004-12-08 08:42:15 +00:00
Nathan Sidwell db24eb1f4f re PR c++/18803 (rejects access to operator() in template)
cp:
	PR c++/18803
	* cp-tree.h (REFERENCE_REF_P): New.
	(CPTI_TYPE_INFO_TYPE): Rename to ...
	(CPTI_CONST_TYPE_INFO_TYPE): ... here.
	(CPTI_TYPE_INFO_REF_TYPE): Remove.
	(type_info_type_node): Rename to ...
	(const_type_info_type_node): ... here.
	(type_info_ref_type): Remove.
	* call.c (build_user_type_conversion): Reformat.
	(resolve_args): Do not convert_from_reference.
	(build_object_call): Call convert_from_reference.
	(prep_operand): Do not convert_from_reference.
	(build_new_method_call): Likewise.
	* class.c (build_vfield_ref): Likewise.
	* cvt.c (convert_to_reference): Likewise.
	(convert_from_reference): Build INDIRECT_REF here, not with
	build_indirect_ref.
	(convert_force): Do not convert_from_reference.
	(build_expr_type_conversion): Likewise.
	* decl.c (grok_reference_init): Likewise.
	* decl2.c (delete_sanity): Likewise.
	* except.c (initialize_handler_parm): Use POINTER_TYPE_P.
	* init.c (build_dtor_call): Do not convert_from_reference.
	* parser.c (cp_parser_template_argument): Unwrap indirected
	reference. Allow TEMPLATE_PARM_INDEX as an object parm.
	* pt.c (tsubst_copy_and_build) <case INDIRECT_REF>: Use
	convert_from_reference, if indicated.
	<case CALL_EXPR>: Do not convert_from_reference.
	<case PARM_DECL, VAR_DECL>: Convert_from_reference if needed.
	(tsubst_initializer_list): Do not convert_from_reference.
	* rtti.c (init_rtti_processing): Adjust node creation.
	(throw_bad_typeid): Use const_type_info_type_node.
	Do not convert_from_reference.
	(typeid_ok_p): Use const_type_info_type_node.
	(build_typeid, get_typeid): Always return type_info typed node.
	(build_dynamic_cast_1): Dont convert_from_reference. Refactor.
	* semantics.c (finish_stmt_expr_expr): Do not
	convert_from_reference.
	(finish_id_expression): Convert_from_reference as appropriate.
	* typeck.c (decay_conversion): Do not convert_from_reference.
	(finish_class_member_access_expr): Likewise.
	(build_indirect_ref): Use POINTER_TYPE_P.
	(convert_arguments): Do not convert_from_reference.
	(build_modify_expr): Likewise.
	(convert_for_initialization): Likewise.
	* typeck2.c (build_x_arrow): Likewise.
testsuite:
	PR c++/18803
	* g++.dg/template/operator5.C: New.

From-SVN: r91863
2004-12-08 08:36:09 +00:00
Uros Bizjak 89b1749804 i386.c (output_387_binary_op, [...]): Fix is_sse condition.
* config/i386/i386.c (output_387_binary_op,
	ix86_prepare_fp_compare_args): Fix is_sse condition.

From-SVN: r91862
2004-12-08 08:54:43 +01:00
Hans-Peter Nilsson 371f495ae6 re PR c/18867 (ICE on invalid switch quantity)
PR c/18867
	* gcc.dg/noncompile/20041207.c: Fix typo in dg directive.

From-SVN: r91861
2004-12-08 07:41:32 +00:00
Matt Kraai 893f1e8768 Makefile.tpl: Generate normal dependencies if the LHS module is not bootstrapped.
* Makefile.tpl: Generate normal dependencies if the LHS module is
	not bootstrapped.
	* Makefile.in: Regenerate.

From-SVN: r91857
2004-12-08 07:22:47 +00:00
Uros Bizjak 7c82106ff9 i386-protos.h (ix86_split_fp_branch): New rtx argument.
* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
        argument.

        * config/i386/i386.c (output_fp_compare): Fix is_sse condition.
        Use EFLAGS_P only when fcomi insn should be used. Fix handling
        of eflags_p variable. Change alt table accordingly. For non-fcomi
        compare insn always use trailing fnstsw insn. Fix intmode
        calculation for ficom insn.
        (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
        ix86_free_from_memory when "pushed" is specified.
        (ix86_expand_branch): Change call to ix86_split_fp_branch.

        * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
        Change eflags_p parameter in call to output_fp_compare.
        (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
        (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
        *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf.  Change eflags_p
        parameter in call to output_fp_compare.
        (*cmpfp_2_u): Remove.
        (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
        in call to output_fp_compare.
        (*ficom_1): Remove insn definition and corresponding define_split.
        (*cmpfp_si): New insn definition.
        (*fp_jcc_8): New insn definition. Add new splitters for
        "memory_operand" and "register_operand".
        (define_split): Add new parameter in call to ix86_split_fp_branch.

        config/i386/predicates.md (float_operator): New predicate.

From-SVN: r91856
2004-12-08 07:50:58 +01:00
Kazu Hirata ac1b13f457 c-common.c (verify_tree): Don't check code length if we know we are handling tcc_unary.
* c-common.c (verify_tree): Don't check code length if we know
	we are handling tcc_unary.
	* print_tree.c (print_node): Remove code to handle RTL
	appearing as a part of a tree node.
	* tree-gimple.c (recalculate_side_effects): Rename fro as len.
	* tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
	(PROCESS_ARG): Don't refer to fro.
	(build2_stat, build3_stat, build4_stat): Don't compute fro.

From-SVN: r91855
2004-12-08 06:39:00 +00:00
Ranjit Mathew 7fd64ba372 IdentityHashMap.java (put): Replace mistaken use of "<<" by "*".
* java/util/IdentityHashMap.java (put): Replace mistaken use of
	"<<" by "*".

From-SVN: r91852
2004-12-08 02:18:32 +00:00
Roger Sayle 58b42e19f7 re PR middle-end/18293 (Redundant copy operation introduced by expand)
PR middle-end/18293
	* expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
	(expand_mult): Special case powers of two to avoid synth_mult.
	* loop.c (product_cheap_p): Handle case where expand_mult does
	require/generate any instructions (i.e. multiplication by zero).

From-SVN: r91851
2004-12-08 02:15:36 +00:00
Richard Henderson b16bcb178a tree-pretty-print.c (dump_array_domain): Split out from dump_generic_node; fix off-by-one error on zero-based array bounds.
* tree-pretty-print.c (dump_array_domain): Split out from
        dump_generic_node; fix off-by-one error on zero-based array bounds.
        (dump_generic_node): Use it.
        (print_declaration): Likewise.

From-SVN: r91850
2004-12-07 18:04:57 -08:00
Richard Guenther 74515a0a1a invoke.texi: Adjust default values for large-function-growth and inline-unit-growth to match...
* doc/invoke.texi: Adjust default values for
	large-function-growth and inline-unit-growth to match
	params.def.  Clarify used algorithm.

From-SVN: r91845
2004-12-08 01:20:34 +00:00
Steve Ellcey 7dd42019e7 Makefile.am (AM_MAKEFLAGS): New.
* libgfortran/Makefile.am (AM_MAKEFLAGS): New.
	* libgfortran/Makefile.in: Regenerate

From-SVN: r91844
2004-12-08 00:43:34 +00:00
Steve Ellcey 6ecf6dcbb8 io.h (open_external): Change prototype.
* io/io.h (open_external): Change prototype.
	* io/unix.c (regular_file): Change prototype and set flags->action if
	needed.
	(open_external): Ditto.
	* io/open.c (new_unit): Let open_external set flags->action.

From-SVN: r91843
2004-12-08 00:32:39 +00:00
David Mosberger 1b79dc38dd re PR target/18443 (#pragma pack(1) breaks function pointer initialization)
PR target/18443
        * config/ia64/ia64.c (ia64_assemble_integer): Add support for
        emitting unaligned pointer-sized integers.

From-SVN: r91842
2004-12-07 16:20:49 -08:00
GCC Administrator 9492747a48 Daily bump.
From-SVN: r91840
2004-12-08 00:16:21 +00:00
Steven Bosscher 02fbae8342 re PR c/18867 (ICE on invalid switch quantity)
PR c/18867
        * c-typeck.c (c_start_case): Set orig_type to error_mark_node
        when the type of the controlling expression is not a valid type.

testsuite/
        * gcc.dg/noncompile/20041207.c: New test.

From-SVN: r91837
2004-12-08 00:12:03 +00:00
Steven Bosscher 665fcad835 re PR middle-end/17340 (Internal error compiling with -O3)
PR tree-optimization/17340
        * tree-ssa-pre.c (compute_antic): Fix comment.
        (compute_avail): Do not recurse, instead do a DFS using a stack
        and a loop.
        (execute_pre): Adjust.

From-SVN: r91835
2004-12-08 00:09:30 +00:00
Ziemowit Laski c7baa14599 c-tree.h (struct lang_type): Rename 'objc_protocols' field to 'objc_info'.
[gcc/ChangeLog]
2004-12-07  Ziemowit Laski  <zlaski@apple.com>

        * c-tree.h (struct lang_type): Rename 'objc_protocols' field
        to 'objc_info'.

[gcc/cp/ChangeLog]
2004-12-07  Ziemowit Laski  <zlaski@apple.com>

        * cp-tree.h (struct lang_type_class): Rename 'objc_protocols'
        field to 'objc_info'.

From-SVN: r91833
2004-12-07 23:46:11 +00:00
Eric Botcazou 6e4d9244f7 configure.ac: Check for ieeefp.h.
* configure.ac: Check for ieeefp.h.  Check for fabsf in libm.
	* configure: Regenerate.
	* config.h.in: Likewise.
	* c99_protos.h: New file.
	* libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
	* intrinsics/c99_functions.c (fabsf): New function.

From-SVN: r91832
2004-12-07 23:43:40 +00:00
Eric Christopher c08f800e9a re PR target/16317 (MIPS-netbsd does not define NO_IMPLICIT_EXTERN_C)
2004-12-07  Eric Christopher  <echristo@redhat.com>

	PR target/16317
	* config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.

From-SVN: r91831
2004-12-07 22:47:41 +00:00
Eric Christopher 20c076a853 mips-protos.h (mips_valid_pointer_mode): Move prototype...
2004-12-07  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips-protos.h (mips_valid_pointer_mode): Move
	prototype...
	* config/mips/mips.c: ... here. Make static.

From-SVN: r91830
2004-12-07 22:40:40 +00:00
Eric Christopher a122d1f1d3 re PR target/18442 (Rejects attribute((mode(SI))) when using -mint64)
2004-12-07  Eric Christopher  <echristo@redhat.com>

	PR target/18442
	* config/mips/mips.c (mips_vector_mode_supported_p): New function.
	(TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.

From-SVN: r91820
2004-12-07 22:17:21 +00:00
Kazu Hirata 54e4aedb7e c-common.c, [...]: Replace uses of first_rtl_op with TREE_CODE_LENGTH.
gcc/
	* c-common.c, expr.c, fold-const.c, print-tree.c,
	tree-gimple.c, tree-inline.c, tree-pretty-print.c,
	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
	first_rtl_op with TREE_CODE_LENGTH.
	* tree.c (first_rtl_op): Remove.
	Replace uses of first_rtl_op with TREE_CODE_LENGTH.
	* tree.h: Remove the prototype for first_rtl_op.

gcc/cp/
	* pt.c: Replace a use of first_rtl_op with TREE_CODE_LENGTH.

From-SVN: r91818
2004-12-07 21:23:10 +00:00
DJ Delorie b180d5fb7b splay-tree.c (splay_tree_delete_helper): Redesign the logic so that recursion (and thus large stack space) is not needed.
* splay-tree.c (splay_tree_delete_helper): Redesign the logic so
that recursion (and thus large stack space) is not needed.

From-SVN: r91815
2004-12-07 15:01:17 -05:00
David Edelsohn 354e49c1d9 t-aix43, t-aix52 (SHLIB_LINK): Revert 2004-12-01 change.
* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
        Revert 2004-12-01 change.

From-SVN: r91812
2004-12-07 13:44:31 -05:00
Paolo Carlini 0f910b4f4f type_traits: Implement is_const and is_volatile.
2004-12-07  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_const and is_volatile.
	* testsuite/testsuite_tr1.h (test_property): New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_const/is_const.c: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_const/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_volatile/is_volatile.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_volatile/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
	from testsuite_tr1.h.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_fundamental/is_fundamental.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_array/is_array.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_floating_point/is_floating_point.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_integral/is_integral.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_reference/is_reference.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_void/is_void.cc: Likewise.

From-SVN: r91808
2004-12-07 16:40:46 +00:00
Roger Sayle 5423d7ebe1 name-lookup.c (leave_scope): We only need to update class_binding_level when leaving a class scope.
* name-lookup.c (leave_scope): We only need to update
	class_binding_level when leaving a class scope.

From-SVN: r91807
2004-12-07 14:41:12 +00:00