Commit Graph

71941 Commits

Author SHA1 Message Date
Thomas Quinot 5e61ef090a decl.c: Factor common code to build a storage type for an unconstrained object from a...
2005-11-14  Thomas Quinot  <quinot@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	* decl.c:
	Factor common code to build a storage type for an unconstrained object
	from a fat or thin pointer type and a constrained object type.
	(annotate_value): Handle BIT_AND_EXPR.
	(annotate_rep): Don't restrict the back annotation of inherited
	components to the type_annotate_only case.
	(gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
	we are not defining the type.
	<E_Record_Type>: Likewise.
	(gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
	to get advantage of the new maybe_stabilize_reference interface, to
	ensure that what we reference is indeed stabilized instead of relying
	on assumptions on what the stabilizer does.
	(gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
	type imported through a limited_with clause, use its non-limited view.
	(Has_Stdcall_Convention): New macro, to centralize the Windows vs others
	differentiation.
	(gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
	of #if sections + explicit comparisons of convention identifiers.
	(gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
	before early-returning for certain types when code generation is
	disabled.
	(gnat_to_gnu_entity) <object>: Adjust comment attached to the
	nullification of gnu_expr we do for objects with address clause and
	that we are not defining.
	(elaborate_expression_1): Do not create constants when creating
	variables needed by the debug info: the dwarf2 writer considers that
	CONST_DECLs is used only to represent enumeration constants, and emits
	nothing for them.
	(gnat_to_gnu_entity) <object>: When turning a non-definition of an
	object with an address clause into an indirect reference, drop the
	initializing expression.
	Include "expr.h".
	(STACK_CHECK_BUILTIN): Delete.
	(STACK_CHECK_PROBE_INTERVAL): Likewise.
	(STACK_CHECK_MAX_FRAME_SIZE): Likewise.
	(STACK_CHECK_MAX_VAR_SIZE): Likewise.
	(gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
	corresponding to the renamed object as ignored for debugging purposes.

	* trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
	related): For a prefix that is a dereference of a fat or thin pointer,
	if there is an actual subtype provided by the front-end, use that
	subtype to build an actual type with bounds template.
	(tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
	is provided by the front-end, use that subtype to compute the size of
	the deallocated object.
	(gnat_to_gnu): When adding a statement into an elaboration procedure,
	check for a potential violation of a No_Elaboration_Code restriction.
	(maybe_stabilize_reference): New function, like gnat_stabilize_reference
	with extra arguments to control whether to recurse through non-values
	and to let the caller know if the stabilization has succeeded.
	(gnat_stabilize_reference): Now a simple wrapper around
	maybe_stabilize, for common uses without restriction on lvalues and
	without need to check for the success indication.
	(gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
	pass false instead of 0 as the FORCE argument which is a bool.
	(Identifier_to_gnu): Remove checks ensuring that an renamed object
	attached to a renaming pointer has been properly stabilized, as no such
	object is attached otherwise.
	(call_to_gnu): Invoke create_var_decl to create the temporary when the
	function uses the "target pointer" return mechanism.
	Reinstate conversion of the actual to the type of the formal
	parameter before any other specific treatment based on the passing
	mechanism. This turns out to be necessary in order for PLACEHOLDER
	substitution to work properly when the latter type is unconstrained.

	* gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
	common pattern.
	(maybe_stabilize_reference): New function, like gnat_stabilize_reference
	with extra arguments to control whether to recurse through non-values
	and to let the caller know if the stabilization has succeeded.

	* utils2.c (gnat_build_constructor): Only sort the fields for possible
	static output of record constructor if all the components are constant.
	(gnat_build_constructor): For a record type, sort the list of field
	initializers in increasing bit position order.
	Factor common code to build a storage type for an unconstrained object
	from a fat or thin pointer type and a constrained object type.
	(build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
	types variants, and process special cases of VIEW_CONVERT expressions
	as their NOP_EXPR counterpart to ensure we get to the
	CORRESPONDING_VARs associated with CONST_DECls.
	(build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
	on the right-hand side.

	* utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
	a common pattern.
	(convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
	are converting back to its original type.
	(convert) <JM input>: Fallthrough regular conversion code instead of
	extracting the object if converting to a type variant.
	(create_var_decl): When a variable has an initializer requiring code
	generation and we are at the top level, check for a potential violation
	of a No_Elaboration_Code restriction.
	(create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
	SIZE and SIZE_UNIT which we need for later back-annotations.
	* utils.c: (convert) <STRING_CST>: Remove obsolete code.
	<VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
	is an unchecked union.
	(pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
	(convert) <VIEW_CONVERT_EXPR>: When the types have the same
	main variant, just replace the VIEW_CONVERT_EXPR.
	<UNION_TYPE>: Revert 2005-03-02 change.

	* repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.

	* repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.

From-SVN: r106961
2005-11-15 14:53:22 +01:00
Jose Ruiz fda5d6d4ff s-tassta.adb (Create_Task): Move the code in charge of resetting the deferral level...
2005-11-14  Jose Ruiz  <ruiz@adacore.com>

	* s-tassta.adb (Create_Task): Move the code in charge of resetting the
	deferral level, when abort is not allowed, to a later stage (the
	Task_Wrapper).
	(Task_Wrapper): If Abort is not allowed, reset the deferral level since
	it will not get changed by the generated code. It was previously done
	in Create_Task.

From-SVN: r106960
2005-11-15 14:53:05 +01:00
Arnaud Charlet 982f26e474 a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
* a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
	(builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
	related code to a-exexpr.adb
	(Save_Occurrence_And_Private): Move GCC EH related code to
	a-exexpr-gcc.adb
	(Raise_Current_Excep): Add new variable Id with pragma
        volatile, to ensure that the variable lives on stack.

	* a-exexpr-gcc.adb, raise-gcc.c: New file.

	* a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
	from a-except.adb.
	Move GCC EH related code to a-exexpr-gcc.adb

	* Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
	64-bit Solaris
	Split the Linux version of g-soccon into separate variants for 32 and 64
	bit platforms.
	(gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
	vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
	install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
	of host variable $(RANLIB_FLAGS).
	(alpha64-dec-*vms*): Fix translations for 64 bit compiler.
	Code clean up: remove unused/obsolete targets.
	(EH_MECHANISM): New variable introduced to differenciate between the
	two EH mechanisms statically.
	(gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
	(LIBGNAT_OBJS): Add raise-gcc.o
	(LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
	s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
	supports VxWorks 6 RTPs.
	(EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
	i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.

	* raise.c: Move all GCC EH-related routines to raise-gcc.c

From-SVN: r106959
2005-11-15 14:52:55 +01:00
Pascal Obry c01b085ff7 gnatdll.adb (Parse_Command_Line): Remove redundant use of GNAT.Command_Line.
2005-11-14  Pascal Obry  <obry@adacore.com>
	    Vincent Celier  <celier@adacore.com>

	* gnatdll.adb (Parse_Command_Line): Remove redundant use of
	GNAT.Command_Line.

	* memroot.adb: Remove redundant with/use clause on
	System.Storage_Elements.

From-SVN: r106958
2005-11-15 14:52:43 +01:00
Arnaud Charlet 514c9ddc9c adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
* adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
	(Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
	(convert_address): Update comments and list of platforms using this.

	* s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
	no longer used.

From-SVN: r106957
2005-11-15 14:52:31 +01:00
Jose Ruiz a7e4a88171 s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before raising the exception so the memory used is freed.
2005-11-14  Jose Ruiz  <ruiz@adacore.com>

	* s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
	raising the exception so the memory used is freed.

From-SVN: r106956
2005-11-15 14:52:20 +01:00
Arnaud Charlet ec09262ef1 s-traces-default.adb, [...]: Fix compilation errors.
2005-11-14  Arnaud Charlet  <charlet@adacore.com>

	* s-traces-default.adb, s-trafor-default.ads,
	s-tratas-default.adb: Fix compilation errors.

From-SVN: r106955
2005-11-15 14:52:10 +01:00
Doug Rupp 2b6659ab10 system-vms.ads, [...]: ADA$GNAT: New exported object in private part.
2005-11-14  Doug Rupp  <rupp@adacore.com>

	* system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
	private part.

From-SVN: r106954
2005-11-15 14:52:00 +01:00
Vincent Celier 6c6db94e93 mlib-tgt-tru64.adb, [...] (DLL_Prefix): New function
2005-11-14  Vincent Celier  <celier@adacore.com>

	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
	mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
	mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
	mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
	mlib-tgt-lynxos.adb (DLL_Prefix): New function

From-SVN: r106953
2005-11-15 14:51:50 +01:00
Matthew Gingell 9ea6535410 system-lynxos-ppc.ads, [...]: Increase default priority on Lynx from 15 to 17...
2005-11-14  Matthew Gingell  <gingell@adacore.com>

	* system-lynxos-ppc.ads, system-lynxos-x86.ads: 
	Increase default priority on Lynx from 15 to 17, and meet the Ada
	requirement that Default_Priority be ((Priority'First +
	Priority'Last) / 2) by increasing the range of Interrupt_Priority.

From-SVN: r106952
2005-11-15 14:51:38 +01:00
Robert Dewar 0d268911a4 exp_vfpt.adb: Handle /= case
2005-11-14  Robert Dewar  <dewar@adacore.com>

	* exp_vfpt.adb: Handle /= case
	(Expand_Vax_Conversion): Properly recognize Conversion_OK flag
	so that we do not get duplicate scaling for fixed point conversions.

	* s-vaflop.ads, s-vaflop.adb: (Ne_F): New function

From-SVN: r106951
2005-11-15 14:51:27 +01:00
Robert Dewar f02b8bb877 re PR ada/18434 (Ada: cannot build gnattools on Tru64 UNIX V5.1B)
2005-11-14  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	PR ada/18434

	* types.ads: Include All_Checks in Suppress_Array

	* checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
	not(a=b), since we no longer do this rewriting, and hence it is not
	needed.
	(Elaboration_Checks_Suppressed): Add special casing to
	deal with different cases of static and dynamic elaboration checks (all
	checks does not count in the first case, but does in the second).
	(Expr_Known_Valid): Do not assume that the result of any arbitrary
	function call is valid, since this is not the case.
	(Ensure_Valid): Do not apply validity check to a real literal
	in a universal or fixed context

	* exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
	elementary types using the operator in standard. It is cleaner not to
	modify the programmers intent, especially in the case of floating-point.
	(Rewrite_Comparison): Fix handling of /= (this was always wrong, but
	it did not matter because we always rewrote a/=b to not(a=b).
	(Expand_Allocator_Expression): For an allocator expression whose nominal
	subtype is an unconstrained packed type, convert the expression to its
	actual constrained subtype.
	Implement warning for <= or >= where < or > not possible
	Fix to Vax_Float tests (too early in many routines, causing premature
	Vax_Float expansions.

	* sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
	to be used with packages and generic packages as well as with
	subprograms.
	(Suppress): Set All_Checks, but not Elaboration_Check, for case
	of pragma Suppress (All_Checks)
	(Analyze_Pragma, case Warnings): Implement first argument allowed to be
	a string literal for precise control over warnings.
	Avoid raise of pragma in case of unrecognized pragma and just return
	instead.

	* sem_prag.ads: Minor reformatting

	* switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
	with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
	Switch. Do not handle any exception.
	Include -gnatwx as part of -gnatg (warn on redundant parens)
	Allow optional = after -gnatm
	(Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
	longer sets Elaboration_Checks.
	Code to set warning mode moved to Sem_Warn
	so that it can be shared by pragma processing.

	* s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
	statement.

	* s-taprop-solaris.adb: 
	Change some <= to =, to avoid new warning

	* a-exexda.adb, prj-proc.adb: 
	Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
	Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)

From-SVN: r106950
2005-11-15 14:51:09 +01:00
Thomas Quinot 3e1fd98f3d g-soccon.ads: Minor reformatting.
2005-11-14  Thomas Quinot  <quinot@adacore.com>

	* g-soccon.ads: Minor reformatting. Update comments.

	* gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
	gain visibility on the declaration of struct timeval.

	* g-soccon-freebsd.ads,
	g-soccon-darwin.ads,
	g-soccon-tru64.ads,
	g-soccon-aix.ads,
	g-soccon-irix.ads,
	g-soccon-hpux.ads,
	g-soccon-solaris.ads,
	g-soccon-vms.ads,
	g-soccon-mingw.ads,
	g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.

	* g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
	g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
	g-soccon-linux-x86.ads: New files.

	* g-socthi-mingw.adb: 
	(Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants

	* g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
	(time_t, suseconds_t): New types constructed to match the tv_sec
	and tv_usec fields of C struct timeval.
	(Timeval): Construct structure in terms of the new types.
	(Host_Errno): New function (imported from socket.c), returns last hosts
	database error.

	* g-socthi-vxworks.adb:  Add error handling circuitry.

	* g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
	components of struct timeval.
	(Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
	(Check_Selector): In error conditions, clear internal socket sets to
	avoid a memory leak.
	(Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
	Send_Timeout, Receive_Timeout.

	* g-socthi.ads (time_t, suseconds_t): New types constructed to match
	the tv_sec and tv_usec fields of C struct timeval.
	(Timeval): Construct structure in terms of the new types.
	(Host_Errno): New function (imported from socket.c), returns last hosts
	database error.

	* socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
	hosts database last error code.

	* gen-soccon.c: Complete value expansion should not be performed on
	TARGET, as it has the form of a math expression, and some components
	may be platform-defined macros.
	For VxWorks, generate the OK and ERROR values.
	New constants giving the sizes of the components of C struct timeval.

From-SVN: r106949
2005-11-15 14:50:37 +01:00
Jan Hubicka b4f32d07aa invoke.texi (large-unit-insns): Document.
* invoke.texi (large-unit-insns): Document.
	* ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
	* params.def (large-unit-insns): New param.
	* gcc.dg/winline-5.c: Add large-unit-insns limit.

From-SVN: r106948
2005-11-15 12:27:33 +00:00
Hans-Peter Nilsson 4a60d778fa re PR target/24869 (testsuite failure: gfortran.dg/func_derived_1.f90 -O3 unroll-loops)
PR target/24869
	* config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
	special register for operand 3.  Reindent constraints to align
	them vertically.

From-SVN: r106946
2005-11-15 10:52:06 +00:00
David Edelsohn 9719f3b792 invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf, -mpopcntb, -mfprnd.
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
        -mpopcntb, -mfprnd. Add -mcpu=power5+.
        * configure.ac: Add test for FP rounding instructions.
        * configure: Regenerate.
        * config.in: Regenerate.
        * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
        _ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
        features enabled.
        * config/rs6000/rs6000.opt (mfprnd): New.
        * config/rs6000/rs6000.c (processor_target_table): Add power5+.
        (POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
        * config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
        (TARGET_FPRND): New.
        * config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
        UNSPEC_FRIZ): New.
        (btrunc<mode>2): New.
        (ceil<mode>2): New.
        (floor<mode>2): New.
        (round<mode>2): New.

From-SVN: r106938
2005-11-15 00:00:40 -05:00
Geoffrey Keating f47bddec0c acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for shared libgcc for darwin exports.
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
	shared libgcc for darwin exports.
	* configure: Regenerate.

From-SVN: r106936
2005-11-15 04:56:34 +00:00
Geoffrey Keating 563092615a gcc.c (version_compare_spec_function): Use fatal() rather than abort().
* gcc.c (version_compare_spec_function): Use fatal() rather than
	abort().

	* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
	(SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
	* config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
	as empty.
	* config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
	link in crt2.o.
	
	* config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
	on -mmacosx-version-min setting.

From-SVN: r106935
2005-11-15 04:55:12 +00:00
David Edelsohn 9193863e4e * g++.dg/eh/simd-2.C: XFAIL on AIX and SPE.
From-SVN: r106933
2005-11-14 23:42:30 -05:00
Diego Novillo 8c5285e1cb re PR tree-optimization/24840 (ICE process_assert_insertions_for, at tree-vrp.c:2807)
PR 24840
	* tree-vrp.c (infer_value_range): Return false if STMT is a
	block terminator and its basic block has no successors.

testsuite/

	PR 24840
	* gcc.dg/tree-ssa/pr24840.c: New test.

From-SVN: r106930
2005-11-14 21:59:03 -05:00
Mike Stump 1f4c2c57da i386.c (override_options): -masm=intel isn't supported on darwin.
* config/i386/i386.c (override_options): -masm=intel isn't
	supported on darwin.
	* doc/invoke.texi (i386 and x86-64 Options): Likewise.

From-SVN: r106927
2005-11-15 01:44:36 +00:00
Joseph Myers 3bea02d1f4 crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and vfork after including auto-host.h.
* crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
	vfork after including auto-host.h.

From-SVN: r106924
2005-11-15 01:21:29 +00:00
Janis Johnson f2025db263 re PR testsuite/24841 (dg-require compilation-test trigged on test with additional-sources barfs)
PR testsuite/24841
	* gcc.dg/attr-weakref-1.c: Rearrange test directives.

From-SVN: r106923
2005-11-15 01:18:45 +00:00
Alan Modra 46de9b3caf re PR rtl-optimization/22002 (internal consistency failure with -funroll-loops)
PR rtl-optimization/22002
	* combine.c (distribute_notes): Detect cases where a reg dies
	two or more times in a bb, including on the insn we are combining,
	and place the death note on the correct range.

From-SVN: r106921
2005-11-15 11:29:21 +10:30
Dale Johannesen 12431170a7 20051113-1.c: New.
2005-11-14  Dale Johannesen  <dalej@apple.com>

        * gcc.c-torture/execute/20051113-1.c:  New.

From-SVN: r106920
2005-11-15 00:47:17 +00:00
Dale Johannesen 69498c64a3 expmed.c (store_bit_field): Add offset unconditionally for memory targets.
2005-11-14  Dale Johannesen  <dalej@apple.com>

        * expmed.c (store_bit_field):  Add offset unconditionally for
        memory targets.
        (extract_bit_field):  Don't force extzv or extv operand into
        a register if field is too big.

From-SVN: r106919
2005-11-15 00:45:55 +00:00
GCC Administrator 53acd3845f Daily bump.
From-SVN: r106914
2005-11-15 00:17:08 +00:00
Mark Mitchell 2f1b1731e6 re PR c++/24687 (ICE after error)
PR c++/24687
	* pt.c (check_explicit_specialization): Don't check for C linkage.
	(push_template_decl_real): Likewise.
	* parser.c (cp_parser_explicit_specialization): Check here.
	(cp_parser_template_declaration_after_export): And here.
	PR c++/24687
	* g++.dg/template/crash43.C: New test.

From-SVN: r106909
2005-11-15 00:15:09 +00:00
Mark Mitchell 37edf0a6c4 parser.c (cp_lexer_get_preprocessor_token): Initialize keyword field.
* parser.c (cp_lexer_get_preprocessor_token): Initialize keyword
	field.

From-SVN: r106907
2005-11-15 00:04:43 +00:00
Jason Merrill 63752e29bb re PR c++/24580 (virtual base class cause exception not to be caught)
PR c++/24580
        * method.c (locate_ctor): Skip all artificial parms, not just
        'this'.

From-SVN: r106901
2005-11-14 15:07:45 -05:00
Janne Blomqvist 8520690170 re PR libfortran/21468 (vectorizing libfortran)
2005-11-14  Janne Blomqvist  <jb@gcc.gnu.org>

        PR fortran/21468
        * Makefile.am: Add -ftree-vectorize for compiling matmul.
        * m4/matmul.m4: Add const and restrict to type declarations as
        appropriate.
        * m4/matmull.m4: Likewise.
        * Makefile.in: Regenerated.
        * generated/matmul_*.c: Likewise.

From-SVN: r106898
2005-11-14 21:48:31 +02:00
Mohan Embar d0568f737a natVMNetworkInterfaceWin32.cc: Include java/net/VMNetworkInterface.h.
* java/net/natVMNetworkInterfaceWin32.cc: Include
	java/net/VMNetworkInterface.h.

From-SVN: r106895
2005-11-14 17:19:11 +00:00
Mohan Embar 99b8b611f5 natPlainSocketImplWin32.cc: Updated copyright.
* gnu/java/net/natPlainSocketImplWin32.cc: Updated copyright.
	(read): Handle count == 0 case.

Co-Authored-By: David Daney <ddaney@avtrex.com>

From-SVN: r106894
2005-11-14 17:15:18 +00:00
Daniel Jacobowitz f16fe45f32 arm.c (pic_labelno): New.
* config/arm/arm.c (pic_labelno): New.
	(arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
	LABEL_REF.  Pass only the labelno to PIC insns.
	(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
	(arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
	* arm.md (UNSPEC_PIC_LABEL): New constant.
	(pic_add_dot_plus_four, pic_add_dot_plus_eight)
	(tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
	Use the correct label prefix.

From-SVN: r106893
2005-11-14 17:07:42 +00:00
Daniel Jacobowitz e66e1c6806 arm.c (legitimize_tls_address): Use correct rtx for REQ_EQUIV note.
* config/arm/arm.c (legitimize_tls_address): Use correct rtx for
	REQ_EQUIV note.

From-SVN: r106892
2005-11-14 16:32:49 +00:00
Gerald Pfeifer ba0966205a cpplib.h (struct cpp_callbacks): Annotate error with ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).
* include/cpplib.h (struct cpp_callbacks): Annotate error with
	ATTRIBUTE_FPTR_PRINTF(3,0) instead of ATTRIBUTE_PRINTF(3,0).

Co-Authored-By: Ian Lance Taylor <ian@airs.com>

From-SVN: r106891
2005-11-14 16:28:55 +00:00
Daniel Jacobowitz b967586450 * gcc.c-torture/unsorted/unsorted.exp: Sort tests before running them.
From-SVN: r106890
2005-11-14 16:28:48 +00:00
Mark Mitchell e2d281617f * parser.c (eof_token): Add initializer for ambiguous_p.
From-SVN: r106889
2005-11-14 15:29:03 +00:00
Richard Earnshaw a112ad758a loop-invariant.c: Include tm_p.h.
* loop-invariant.c: Include tm_p.h.
	* Makefile.in: Updated.

From-SVN: r106888
2005-11-14 15:03:06 +00:00
Richard Earnshaw 3912d29147 loop-invariant.c: Include tm_p.h.
* loop-invariant.c: Include tm_p.h.
	* Makefile.in: Updated.

From-SVN: r106887
2005-11-14 14:52:15 +00:00
Robert Dewar e0ac6309e2 re PR ada/18434 (Ada: cannot build gnattools on Tru64 UNIX V5.1B)
2005-11-14  Robert Dewar  <dewar@adacore.com>

	PR ada/18434
	* osint-m.adb: Add pragma Elaborate_All for Osint

From-SVN: r106886
2005-11-14 14:05:58 +01:00
Mark Mitchell e1f0e7a6a7 re PR c++/24817 (g++ accepts multiple function template declarations even if exception-specification doesn't match.)
PR c++/24817
	* decl.c (check_redeclaration_exception_specification): New
	function.
	(duplicate_decls): Use it.
	* error.c (fndecl_to_string): Print the template parameter list.
	PR c++/24817
	* g++.dg/eh/spec8.C: New test.

From-SVN: r106884
2005-11-14 05:45:45 +00:00
Hans-Peter Nilsson c748a2c7c5 * gcc.dg/pack-test-1.c: Gate on ! default_packed.
From-SVN: r106883
2005-11-14 04:23:39 +00:00
Mark Mitchell 91b1ca65f3 re PR c++/20293 (Wrong diagnostic for ambiguous access)
PR c++/20293
	* cxx-pretty-print.c (pp_cxx_statement): Print qualifying scopes
	for namespaces.
	(pp_cxx_original_namespace_definition): Likewise.
	* name-lookup.c (ambiguous_decl): Don't issue error messages;
	instead return lists of ambiguous candidates.
	(select_decl): Handle ambiguous namespace lookups.
	* parser.c (cp_token): Add ambiguous_p.
	(cp_lexer_get_preprocessor_token): Set it.
	(cp_parser_diagnose_invalid_type_name): Avoid duplicate messages
	when a qualified name uses an invalid scope. 
	(cp_parser_primary_expression): Print ambiguous candidates.
	(cp_parser_type_parameter): Adjust comment to reflect new
	parameter name for cp_parser_lookup_name.
	(cp_parser_template_argument): Likewise.
	(cp_parser_elaborated_type_specifier): Likewise.
	(cp_parser_namespace_name): Likewise.
	(cp_parser_class_name): Print ambiguous candidates.
	(cp_parser_lookup_name): Rename ambiguous_p parameter to
	ambiguous_decls.  Use it to return a list of ambiguous candiates
	when a lookup is ambiguous.
	(cp_parser_lookup_name_simple): Adjust comment to reflect new
	parameter name for cp_parser_lookup_name.
	
	PR c++/20293
	* g++.dg/parse/ambig4.C: New test.
	* g++.dg/tc1/dr101.C: Adjust error markers.
	* g++.dg/lookup/strong-using-2.C: Likewise.
	* g++.dg/lookup/ambig5.C: Likewise.
	* g++.dg/lookup/ambig4.C: Likewise.
	* g++.dg/parse/crash22.C: Likewise.

From-SVN: r106879
2005-11-14 01:45:19 +00:00
Hans-Peter Nilsson 43258b67a9 * gcc.dg/pr19340.c: Skip for mmix-*-* and cris-*-*.
From-SVN: r106877
2005-11-14 01:04:09 +00:00
GCC Administrator a334b64ca5 Daily bump.
From-SVN: r106874
2005-11-14 00:17:15 +00:00
John David Anglin 5dcc96058c pa.c (store_reg): Revise generation of frame notes in large frames.
* pa.c (store_reg): Revise generation of frame notes in large frames.
	(set_reg_plus_d): Likewise.

From-SVN: r106867
2005-11-13 18:06:55 +00:00
Andrew MacLeod e84d806450 re PR tree-optimization/24709 (4.1.0 HEAD crashes with enable-checking on huge switch statement)
PR tree-optimization/24709
	* tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
	loop check.

From-SVN: r106865
2005-11-13 16:09:14 +00:00
Paolo Carlini 81daf4baea [multiple changes]
2005-11-13  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/tr1/boost_shared_ptr.h (get_deleter):
	Declare before shared_ptr.
	(shared_ptr<>): Declare get_deleter as friend.
	(shared_ptr<>:_M_get_deleter): Private.

2005-11-13  Douglas Gregor  <doug.gregor@gmail.com>

	PR libstdc++/24818
        * include/tr1/ref_wrap_iterate.h
        (reference_wrapper::operator()()): Don't dereferene the result of
        get() before calling it; it's already a reference.
        * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
        Test nullary calls to reference_wrappers.

From-SVN: r106863
2005-11-13 12:14:51 +00:00
Paolo Carlini 3270a66b55 [multiple changes]
2005-11-13  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/tr1/boost_shared_ptr.h (get_deleter):
	Declare before shared_ptr.
	(shared_ptr<>): Declare get_deleter as friend.
	(shared_ptr<>:_M_get_deleter): Private.

2005-11-13  Douglas Gregor  <doug.gregor@gmail.com>

	PR libstdc++/24818
        * include/tr1/ref_wrap_iterate.h
        (reference_wrapper::operator()()): Don't dereferene the result of
        get() before calling it; it's already a reference.
        * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
        Test nullary calls to reference_wrappers.

From-SVN: r106862
2005-11-13 12:14:15 +00:00