Commit Graph

85022 Commits

Author SHA1 Message Date
Arnaud Charlet
303b4d58d7 exp_ch4.adb (Expand_N_Attribute_Reference, [...]): Take into account VM_Target
* exp_ch4.adb (Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
	Expand_Allocator_Expression): Take into account VM_Target

	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Do not use
	secondary stack when VM_Target /= No_VM

From-SVN: r130831
2007-12-13 11:25:14 +01:00
Hristian Kirtchev
4ce9a2d8c3 exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of predefined primitive _Disp_Requeue.
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Predefined_Primitive_Bodies): Generate the body of
	predefined primitive _Disp_Requeue.
	(Make_Predefined_Primitive_Specs): Create the spec for predefined
	primitive _Disp_Requeue.
	(Make_Predefined_Primitive_Specs/Predefined_Primitive_Bodies): Set the
	type of formal Renamed_Eq to Entity_Id (instead of Node_Id).
	(Make_Predefined_Primitive_Specs): Spec of "=" needed if the parent is
	an interface type. In case of limited interfaces we now declare all the
	predefined primitives associated with synchronized interfaces as
	abstract.
	(Predef_Spec_Or_Body): For interface types generate abstract subprogram
	declarations.
	(Predefined_Primitive_Bodies): Add body of "=" if the parent of the
	tagged type is an interface type and there is no user-defined equality
	function.
	Add also bodies of predefined primitives associated with synchronized
	interfaces.
	(Freeze_Record_Type): Do not build bodies of predefined primitives of
	interface types because they are now defined abstract.
	Add missing documentation.
	(Expand_Record_Controller): Update occurrence of Related_Interface
	to Related_Type.
	(Build_Offset_To_Top_Functions): Do nothing in case of VM.
	(Expand_N_Object_Declaration): Take into account VM_Target when handling
	class wide interface object declaration.
	(Expand_Previous_Access_Type): Do not create a duplicate master entity
	if the access type already has one.
	(Expand_N_Object_Declaration): Defend against attempt to validity check
	generic types. Noticed for -gnatVcf specified with previous errors.

From-SVN: r130830
2007-12-13 11:24:53 +01:00
Ed Schonberg
e9a7121ec2 expander.adb: Take into account N_Subprogram_Renaming_Declaration
2007-12-06  Ed Schonberg  <schonberg@adacore.com>

	* expander.adb: Take into account N_Subprogram_Renaming_Declaration

From-SVN: r130829
2007-12-13 11:24:44 +01:00
Ed Schonberg
3b9fa2df57 exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a limited ancestor part...
2007-12-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Build_Record_Aggr_Code): If there is an aggregate for a
	limited ancestor part, initialize controllers of enclosing record
	before expanding ancestor aggregate.
	(Gen_Assign): If a component of the aggregate is box-initialized, add
	code to call Initialize if the component is controlled, and explicit
	assignment of null if the component is an access type.

	Handle properly aggregates for limited types that appear in object
	declarations when the aggregate contains controlled values such as
	protected types.
	When expanding limited aggregates into individual components, do not
	call Adjust on controlled components that are limited.

From-SVN: r130828
2007-12-13 11:24:30 +01:00
Geert Bosch
1937a0c4c8 eval_fat.adb (Decompose_Int): Handle argument of zero.
2007-12-06  Geert Bosch  <bosch@adacore.com>

	* eval_fat.adb (Decompose_Int): Handle argument of zero.
	(Compose): Remove special casing of zero.
	(Exponent): Likewise.
	(Fraction): Likewise.
	(Machine): Likewise.
	(Decompose): Update comment.

From-SVN: r130827
2007-12-13 11:24:08 +01:00
Vincent Celier
987c5cecd0 errout.adb (Output_Source_Line): Do not keep a trailing space after the source line number if...
2007-12-06  Vincent Celier  <celier@adacore.com>

	* errout.adb (Output_Source_Line): Do not keep a trailing space after
	the source line number if the source line is empty.

From-SVN: r130826
2007-12-13 11:23:55 +01:00
Hristian Kirtchev
ce0bead308 einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
2007-12-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.ads, einfo.adb: Flag 232 is now Implemented_By_Entry.
	(Implemented_By_Entry, Set_Implemented_By_Entry): New routines.
	(Write_Entry_Flags): Add an entry for Implemented_By_Entry.
	(Renamed_In_Spec): New flag
	(Has_Pragma_Inline_Always): New flag
	Add missing doc for pragma Obsolescent_Warning
	Add missing doc for 17 additional unused flags (230-247)
	(Is_Derived_Type): Remove condition "not Is_Generic_Type".
	Alphabetize with clauses.
	Separate Is_Thunk and Has_Thunks flags
	(Write_Entity_Flags): Add forgotten entry for Has_Thunks
	(Related_Interface): Renamed to Related_Type.
	(Has_Thunks/Set_Has_Thunks): Subprograms of new attribute.
	(Set_Is_Flag): Restrict the assertion.

From-SVN: r130825
2007-12-13 11:23:40 +01:00
Bob Duff
6a1cb33a40 clean.adb (Usage): Add line for -aP
2007-12-06  Bob Duff  <duff@adacore.com>

	* clean.adb (Usage): Add line for -aP
	(Check_Version_And_Help): Change Check_Version_And_Help to be generic,
	with a parameter "procedure Usage", instead of passing a pointer to a
	procedure. This is to eliminate trampolines (since the Usage procedure
	is often nested in a main procedure, and it would be inconvenient to
	unnest it).

	* g-comlin.adb (For_Each_Simple_Switch): Change For_Each_Simple_Switch
	to be generic, with a parameter "procedure Callback (...)", instead of
	passing a pointer to a procedure. This is to eliminate trampolines
	(since the Callback procedure is usually nested).

	* gnatfind.adb, switch.adb, switch.ads, gnatlink.adb, gnatls.adb, 
	gnatname.adb, gnatxref.adb, gnatchop.adb, gprep.adb, gnatbind.adb
	(Check_Version_And_Help): Change Check_Version_And_Help to be generic.

	* g-pehage.adb (Compute_Edges_And_Vertices, Build_Identical_Key_Sets):
	Use the generic Heap_Sort_G instead of Heap_Sort_A.

From-SVN: r130824
2007-12-13 11:23:29 +01:00
Robert Dewar
16a55e63a9 checks.adb: Fix optimization problem with short-circuited form
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* checks.adb: Fix optimization problem with short-circuited form

From-SVN: r130823
2007-12-13 11:23:01 +01:00
Robert Dewar
31897c04da back_end.adb: Recognize -fno-inline
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* back_end.adb: Recognize -fno-inline

From-SVN: r130822
2007-12-13 11:22:45 +01:00
Vincent Celier
395b508026 opt.ads: Indicate what flags are used by the Project Manager, gprbuild and gprclean.
2007-12-06  Vincent Celier  <celier@adacore.com>

	* opt.ads: Indicate what flags are used by the Project Manager,
	gprbuild and gprclean.
	(Opt.Follow_Links_For_Dirs): New flag
	(Warn_On_Assertion_Failure): New flag
	(Wide_Character_Encoding_Method_Specified): New flag
	(Suppress_All_Inlining): New switch set by -fno-inline
	(Real_VMS_Target): New flag
	New pragma Fast_Math

From-SVN: r130821
2007-12-13 11:22:25 +01:00
Robert Dewar
ac4d640744 atree.adb (Flag231..Flag247): New functions
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* atree.adb (Flag231..Flag247): New functions
	(Set_Flag231..Set_Flag247): New procedures
	(Basic_Set_Convention): Rename Set_Convention to be
	Basic_Set_Convention
	(Nkind_In): New functions
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* exp_ch6.adb (Expand_Call): Use new flag Has_Pragma_Inline_Always
	instead
	 of obsolete function Is_Always_Inlined
	(Register_Predefined_DT_Entry): Initialize slots of the second
	secondary dispatch table.
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
	(Expand_N_Function_Call): Remove special provision for stack checking.

	* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
	Include _Disp_Requeue in the list of predefined operations.
	(Find_Interface_ADT): Modified to fulfill the new specification.
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* par-ch4.adb, nlists.ads, nlists.adb: 
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* sinfo.ads, sinfo.adb: (Nkind_In): New functions
	Fix location of flag for unrecognized pragma message

	* sem_ch7.adb: Use Nkind_In

From-SVN: r130820
2007-12-13 11:22:06 +01:00
Geert Bosch
f8755021cc 2007-12-06 Geert Bosch <bosch@adacore.com>
* a-tifiio.adb
	(Put_Int64): Use Put_Digit to advance Pos. This fixes a case where
	the second or later Scaled_Divide would omit leading zeroes,
	resulting in too few digits produced and a Layout_Error as result.
	(Put): Initialize Pos.

From-SVN: r130819
2007-12-13 11:21:51 +01:00
Robert Dewar
470cd9e998 a-ngcoty.adb: New pragma Fast_Math
2007-12-06  Robert Dewar  <dewar@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* a-ngcoty.adb: New pragma Fast_Math

	* opt.adb: New pragma Fast_Math

	* par-prag.adb: 
	Add Implemented_By_Entry to the list of pragmas which do not require any
	special processing.
	(Favor_Top_Level): New pragma.
	New pragma Fast_Math

	* exp_attr.adb: Move Wide_[Wide_]Image routines to Exp_Imgv
	(Expand_N_Attribute_Reference, Displace_Allocator_Pointer,
	Expand_Allocator_Expression): Take into account VM_Target
	(Expand_Attribute, case 'Identity):  Handle properly the case where
	the prefix is a task interface.
	New pragma Fast_Math

	* par.adb (Next_Token_Is): New function
	(P_Pragma): Add Skipping parameter
	(U_Left_Paren): New procedure
	(U_Right_Paren): New procedure
	New pragma Fast_Math

	* par-ch10.adb (P_Subunit): Unconditional msg for missing ) after
	subunit
	New pragma Fast_Math

	* sem_prag.adb: Add significance value to table Sig_Flag for pragma
	Implemented_By_Entry.
	(Analyze_Pragma): Add case for Ada 2005 pragma Implemented_By_Entry.
	(Set_Inline_Flags): Do not try to link pragma Inline onto chain of rep
	items, since it can apply to more than one overloadable entity. Set
	new flag Has_Pragma_Inline_Always for Inline_Always case.
	(Analyze_Pragma, case Complex_Representation): Improve error message.
	(Analyze_Pragma, case Assert): When assertions are disabled build the
	rewritten code with Sloc of expression rather than pragma, so new
	warning about failing is not deleted.
	(Analyze_Pragma): Allow pragma Preelaborable_Initialization to apply to
	protected types and update error message to reflect that. Test whether
	the protected type is allowed for the pragma (an error is issued if the
	type has any entries, or components that do not have preelaborable
	initialization).
	New pragma Fast_Math
	(Analyze_Pragma, case No_Return): Handle generic instance

	* snames.h, snames.ads, snames.adb: 
	Add new predefined name for interface primitive _Disp_Requeue.
	New pragma Fast_Math

	* a-tags.ads, a-tags.adb: New calling sequence for
	String_To_Wide_[Wide_]String
	(Secondary_Tag): New subprogram.

	* exp_imgv.ads, exp_imgv.adb: Move Wide_[Wide_]Image routines here
	from Exp_Attr
	New calling sequence for String_To_Wide_[Wide_]String
	(Expand_Image_Attribute): Major rewrite. New calling sequence avoids
	the use of the secondary stack for image routines.

	* a-except-2005.adb, s-wchstw.ads, s-wchstw.adb, s-wwdenu.adb: New
	calling sequence for String_To_Wide_[Wide_]String

	* par-ch3.adb (P_Declarative_Items): Recognize use of Overriding in
	Ada 95 mode
	(P_Unknown_Discriminant_Part_Opt): Handle missing parens gracefully
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List

	* par-ch6.adb (P_Subprogram): Recognize use of Overriding in Ada 95 mode
	(P_Formal_Part): Use Skipping parameter in P_Pragma call
	to improve error recovery

	* par-util.adb (Next_Token_Is): New function
	(Signal_Bad_Attribute): Use new Namet.Is_Bad_Spelling_Of function

	* par-ch2.adb (Skip_Pragma_Semicolon): Do not resynchronize to
	semicolon if missing
	(P_Pragma): Implement new Skipping parameter
	Remove Atree.Delete_Tree/Delete_Node and Nlist.Delete_List
	Fix location of flag for unrecognized pragma message

	* par-tchk.adb (U_Left_Paren): New procedure
	(U_Right_Paren): New procedure

From-SVN: r130818
2007-12-13 11:21:30 +01:00
Robert Dewar
b917101e1c a-textio.adb, [...]: Extensive changes to private part for wide character encoding
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* a-textio.adb, a-textio.ads: 
	Extensive changes to private part for wide character encoding

	* a-witeio.ads, a-witeio.adb, a-ztexio.ads, a-ztexio.adb
	(Look_Ahead): Fix mishandling of encoded sequences
	Move declaration of Wch_Con to private part (should not be visible)

	* ali.adb (Scan_ALI): Set default encoding method to brackets instead of
	UTF-8. Probably this is never used, but if it is, brackets is
	clearly correct.

	* bindgen.adb (Get_WC_Encoding): New procedure to properly handle
	setting wide character encoding for no main program case and when
	encoding is specified using -W?
	Initialize stack limit of environment task if stack limit method of
	stack checking is enabled.
	(Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
	(Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
	(Get_Main_Unit_Name): New function.
	(Gen_Adainit_Ada): Add call to main program for .NET when needed.
	(Gen_Output_File): Set Bind_Main_Program to True for .NET

	* bindusg.adb: Add line for -Wx switch

	* s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
	Add comments
	Add new useful constant WC_Longest_Sequences

	* switch-b.adb: Clean up handling of -Wx switch
	For -gnatWx, set Wide_Character_Encoding_Method_Specified

	* switch-c.adb: -gnatg activates warning on assertion errors
	For -gnatWx, set Wide_Character_Encoding_Method_Specified

	* s-wchcon.adb: (Is_Start_Of_Encoding): New function

From-SVN: r130817
2007-12-13 11:20:52 +01:00
Jose Ruiz
a6e8413cd7 adaint.h: (__gnat_plist_init): Not defined for RTX.
2007-12-06  Jose Ruiz  <ruiz@adacore.com>

	* adaint.h: (__gnat_plist_init): Not defined for RTX.

	* initialize.c (__gnat_initialize): Do not call __gnat_plist_init for
	RTX systems.

	* Makefile.in: Add new files s-tasinf-linux.ads and s-tasinf-linux.adb.
	(LIBGNAT_TARGET_PAIRS, MISCLIB, THREADSLIB,
	EXTRA_GNATRTL_NONTASKING_OBJS, EXTRA_GNATRTL_TASKING_OBJS,
	GNATLIB_SHARED for RTX run time): Use the versions required by RTX.

	* mingw32.h: 
	Do not define GNAT_UNICODE_SUPPORT for RTX since it is not supported.

	* sysdep.c (winflush_function for RTX): Procedure that does nothing
	since we only have problems with Windows 95/98, which are not
	supported by RTX.
	(__gnat_ttyname): Return the empty string on Nucleus, just as
	done on vxworks.

From-SVN: r130816
2007-12-13 11:19:55 +01:00
Robert Dewar
561b584987 sem_ch5.adb, [...]: Update handling of assigned value/unreferenced warnings
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb, s-taskin.adb, a-ciorma.adb, a-coorma.adb, a-cohama.adb, 
	a-cihama.adb, g-awk.adb, 
	s-inmaop-posix.adb: Update handling of assigned value/unreferenced
	warnings

	* exp_smem.adb: Update handling of assigned value/unreferenced warnings

	* sem.adb: Update handling of assigned value/unreferenced warnings

	* a-exexpr-gcc.adb: Add a pragma warnings off for boolean return

	* lib-xref.ads: Improve documentation for k xref type

	* lib-xref.adb: 
	Update handling of assigned value/unreferenced warnings
	(Generate_Reference): Warning for reference to entity for which a
	pragma Unreferenced has been given should be unconditional.
	If the entity is a discriminal, mark the original
	discriminant as referenced.

	* sem_warn.ads, sem_warn.adb
	(Check_One_Unit): Test Renamed_In_Spec to control giving warning for
	no entities referenced in package
	(Check_One_Unit): Don't give message about no entities referenced in
	a package if a pragma Unreferenced has appeared.
	Handle new warning flag -gnatw.a/-gnatw.A
	Update handling of assigned value/unreferenced warnings

	* atree.h: Add flags up to Flag247
	(Flag231): New macro.

From-SVN: r130815
2007-12-13 11:19:43 +01:00
Eric Botcazou
0312b36424 system-linux-ia64.ads, [...] (Stack_Check_Limits): New target parameter.
2007-12-06  Eric Botcazou  <ebotcazou@adacore.com>
	    Bob Duff  <duff@adacore.com>
	    Tristan Gingold  <gingold@adacore.com>

	* system-linux-ia64.ads, system-freebsd-x86.ads, system-lynxos-ppc.ads, 
	system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads, 
	system-aix.ads, system-vxworks-sparcv9.ads, system-solaris-x86.ads, 
	system-irix-o32.ads, system-irix-n32.ads, system-hpux.ads, 
	system-vxworks-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads, 
	system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-vms.ads, 
	system-mingw.ads, system-vms-zcx.ads, system-vxworks-ppc.ads, 
	system-vxworks-arm.ads, system-darwin-x86.ads, system.ads,
	system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads, 
	system-linux-ppc.ads, system-linux-hppa.ads, system-hpux-ia64.ads,
	system-vms-ia64.ads (Stack_Check_Limits): New target parameter.
	(Always_Compatible_Rep): New flag to control trampolines globally.
	(Dynamic_Trampolines_Used): New flag for implementing the
	No_Implicit_Dynamic_Code restriction more correctly (not yet used,
	and not yet set correctly for some targets).

	* s-taprop-vxworks.adb: Use stack limit method of stack checking.
	Simply indirectly call s-stchop when a task is created.

	* ali.ads: 
	New flag added: Stack_Check_Switch_Set which is set when '-fstack-check'
	appears as an argument (entries A) in an ALI file.

	* fe.h (Stack_Check_Limits): Declare new target parameter.
	(Check_Implicit_Dynamic_Code_Allowed): New procedure.

	* init.c: Declare __gnat_set_stack_limit_hook for VxWorks kernel RTS.
	This variable is declared in C to be sure not subject to elaboration
	code.
	(__gnat_map_signal, VxWorks): In kernel mode, map SIGILL to
	Storage_Error.

	* targparm.ads, targparm.adb (Stack_Check_Limits): New parameter.
	(Always_Compatible_Rep, Dynamic_Trampolines_Used): New parameters.

	* s-stchop.ads: Add comments.

	* s-stchop-vxworks.adb: Package almost fully rewritten to use stack
	limit method of stack checking.

	* s-stchop-limit.ads: New file.

From-SVN: r130814
2007-12-13 11:19:19 +01:00
Robert Dewar
def46b5433 s-osinte-lynxos-3.ads, [...]: Add missing pragma Convention C for subprogram pointers.
2007-12-06  Robert Dewar  <dewar@adacore.com>

	* s-osinte-lynxos-3.ads, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, 
	s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-osinte-tru64.ads, 
	s-osinte-mingw.ads, s-osinte-aix.ads, s-osinte-hpux-dce.ads, 
	s-osinte-irix.ads, s-osinte-solaris.ads, s-intman-vms.adb,
	s-osinte-vms.ads, s-osinte-vxworks6.ads, s-osinte-vxworks.ads,
	s-auxdec.ads, s-auxdec-vms_64.ads, s-osinte-darwin.ads, 
	s-taprop-vms.adb, s-interr-sigaction.adb, s-osinte-linux-hppa.ads, 
	i-vxwork-x86.ads, s-tpopde-vms.ads: Add missing pragma Convention C
	for subprogram pointers.

	* g-ctrl_c.adb: New file.

	* g-ctrl_c.ads (Install_Handler): New body.

	* freeze.adb (Freeze_Subprogram): Use new flag Has_Pragma_Inline_Always
	instead of obsolete function Is_Always_Inlined.
	(Freeze_Entity): check for tagged type in imported C subprogram
	(Freeze_Entity): check for 8-bit boolean in imported C subprogram
	(Freeze_Entity): check for convention Ada subprogram pointer in
	imported C subprogram.
	(Freeze_Fixed_Point_Type): In the case of a base type where the low
	bound would be chopped off and go from negative to zero, force
	Loval_Excl_EP to be the same as Loval_Incl_EP (the included lower
	bound) so that the size computation for the base type will take
	negative values into account.

From-SVN: r130813
2007-12-13 11:19:04 +01:00
Pascal Obry
b41ab48056 adaint.c (__gnat_pthread_setaffinity_np): New routine.
2007-12-06  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_pthread_setaffinity_np): New routine. A dummy
	 version is provided for older GNU/Linux distribution not
	 supporting thread affinity sets.
	
	* s-osinte-linux.ads (SC_NPROCESSORS_ONLN): New constant for sysconf
	call.
	(bit_field): New packed boolean type used by cpu_set_t.
	(cpu_set_t): New type corresponding to the C type with
	the same name. Note that on the Ada side we use a bit
	field array for the affinity mask. There is not need
	for the C macro for setting individual bit.
	(pthread_setaffinity_np): New imported routine.
	
	* s-taprop-linux.adb (Enter_Task): Check that the CPU affinity mask is
	no null.
	(Create_Task): Set the processor affinity mask if information
	is present.
	
	* s-tasinf-linux.ads, s-tasinf-linux.adb: New files.

From-SVN: r130812
2007-12-13 11:18:44 +01:00
Richard Sandiford
aa4095c911 Makefile.tpl (CFLAGS_FOR_TARGET): Add -g.
* Makefile.tpl (CFLAGS_FOR_TARGET): Add -g.
	(CXXFLAGS_FOR_TARGET): Add -O2 -g.
	* Makefile.in: Regenerate.

From-SVN: r130811
2007-12-13 09:30:49 +00:00
Torbjorn Granlund
e3dafdf4d0 i386.c (ix86_rtx_costs): Check op0 for ZERO_EXTEND when computing costs for widening multiplication.
* config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
        ZERO_EXTEND when computing costs for widening multiplication.

From-SVN: r130809
2007-12-13 10:19:11 +01:00
Richard Earnshaw
fe9e534218 re PR target/30192 ([arm] Wrong sp value on exit after calling __floatdidf or __floatundidf)
2007-12-13  Richard Earnshaw  <rearnsha@arm.com>

	PR target/30192
	* config/arm/ieee754-df.S (floatundidf): Fix for wrong sp value on
	exit when using hard FPA.
	* config/arm/ieee754-df.S (floatdidf): Likewise.

From-SVN: r130800
2007-12-13 01:03:53 +00:00
GCC Administrator
dce3aa5078 Daily bump.
From-SVN: r130798
2007-12-13 00:17:30 +00:00
Jakub Jelinek
fa69208410 re PR bootstrap/30589 (C99 extern inline patch broke bootstrap on i386-pc-mingw32)
PR bootstrap/30589
	* doc/install.texi: Document that for MinGW only runtime 3.12 and
	later is supported.

From-SVN: r130794
2007-12-12 21:54:10 +01:00
Tobias Burnus
96ee3a4acd re PR fortran/34254 ("character(kind=c_char) function" fails if c_char is not host associated)
2007-12-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34254
        * decl.c (match_char_kind): Support use-associated/imported
        kind parameters.
        (gfc_match_kind_spec): Support als BT_CHARACTER, when
        re-scanning kind spec.

2007-12-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34254
        * gfortran.dg/function_kinds_3.f90: New.

From-SVN: r130793
2007-12-12 19:54:26 +01:00
David Edelsohn
1de59bbd61 * config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
From-SVN: r130791
2007-12-12 12:49:29 -05:00
Aldy Hernandez
4caa08daa3 gimplify.c (gimplify_modify_expr_rhs): Handle the case when we are assigning from a constant constructor.
* gimplify.c (gimplify_modify_expr_rhs): Handle the case when we
        are assigning from a constant constructor.
        Fix wrapping in function comment.

From-SVN: r130788
2007-12-12 11:12:39 +00:00
Andreas Krebbel
ee3f344964 s390.c (s390_O_constraint_str): Limit the range for 'On' to -4G+1..-1.
2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (s390_O_constraint_str): Limit the range
	for 'On' to -4G+1..-1.
	* config/s390/constraints.md: Adjust comment accordingly.

2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.target/s390/20071212-1.c: New testcase.

From-SVN: r130787
2007-12-12 09:15:03 +00:00
DJ Delorie
675575f57a charset.c (convert_using_iconv): Close out any shift states, returning to the initial state.
* charset.c (convert_using_iconv): Close out any shift states,
returning to the initial state.

From-SVN: r130785
2007-12-11 20:38:10 -05:00
GCC Administrator
a2b677873b Daily bump.
From-SVN: r130783
2007-12-12 00:17:43 +00:00
Benjamin Kosnik
6e49161abe re PR libstdc++/34015 (warning in backward_warning.h is illegible)
2007-12-11  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/34015
	* include/backward/backward_warning.h: Adjust warning message.

From-SVN: r130778
2007-12-11 21:48:16 +00:00
Paolo Carlini
c62df8fddb stl_bvector.h (vector<bool>::reserve): Move out of line...
2007-12-11  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h (vector<bool>::reserve): Move out of
	line...
	* include/bits/vector.tcc: ... here.

From-SVN: r130777
2007-12-11 19:08:26 +00:00
Aldy Hernandez
fcd5a1131a * decl.c (add_global_entry): Make type unsigned.
From-SVN: r130775
2007-12-11 12:48:28 +00:00
Nathan Sidwell
30895f307b rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx for SPE saves.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx
	for SPE saves.

From-SVN: r130774
2007-12-11 12:28:55 +00:00
Kai Tietz
b3cb08bd27 config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
target same as 32-bit.

From-SVN: r130773
2007-12-11 10:46:57 +01:00
Bernhard Fischer
7389bce6b9 decl.c (match_prefix): Make seen_type a boolean.
2007-12-11  Bernhard Fischer  <aldot@gcc.gnu.org>

	* decl.c (match_prefix): Make seen_type a boolean.
	(add_global_entry): Cache type distinction.
	* trans-decl.c: Whitespace cleanup.

From-SVN: r130772
2007-12-11 09:36:13 +01:00
Jakub Jelinek
5b767b9d0c re PR c++/34238 ("static data member used, but not defined" error on member definition)
PR c++/34238
	* decl2.c (cp_write_global_declarations): Revert 2007-11-22 change.

	* g++.dg/ext/visibility/anon7.C: Add xfail.
	* g++.dg/ext/visibility/anon9.C: New test.
	* g++.dg/ext/visibility/anon10.C: New test.

From-SVN: r130771
2007-12-11 09:22:10 +01:00
Jakub Jelinek
61a861e686 re PR c++/34364 (class& is not known as as a class-type anymore after dynamic_cast)
PR c++/34364
	* rtti.c (build_dynamic_cast): Call convert_from_reference even for
	dynamic_cast in a template.

	* g++.dg/rtti/dyncast2.C: New test.

From-SVN: r130770
2007-12-11 09:20:15 +01:00
Uros Bizjak
67689d1ad6 re PR tree-optimization/34407 (verify_stmts failed)
PR tree-optimization/34407
	* gcc.dg/vect/pr34407.c: New test.

From-SVN: r130769
2007-12-11 09:08:12 +01:00
Jerry DeLisle
424cc6dcf4 re PR fortran/34411 (hang-up during read of non-expected input)
2007-12-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/34411
	* gfortran.dg/error_recovery_5.f90: New.
	* gfortran.dg/optional_dim_2.f90: Fix test, not related to this PR.

From-SVN: r130768
2007-12-11 03:56:05 +00:00
Jerry DeLisle
5f026f90f0 re PR fortran/34411 (hang-up during read of non-expected input)
2007-12-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34411
	* io/read.c (convert_real, read_l, read_decimal, read_radix, read_f):
	Call next_record after bad read or overflow error.

From-SVN: r130767
2007-12-11 03:49:52 +00:00
GCC Administrator
36b46907d2 Daily bump.
From-SVN: r130764
2007-12-11 00:17:54 +00:00
Eric Botcazou
e74a122eae ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.
* ada-tree.h (TYPE_RETURNS_BY_TARGET_PTR_P): Move around.

From-SVN: r130757
2007-12-10 23:15:17 +00:00
Jakub Jelinek
4f1f33aa82 re PR tree-optimization/34371 (verify_stmts failed (incorrect sharing of tree nodes))
PR tree-optimization/34371
	* tree-vectorizer.h (struct _loop_vec_info): Add num_iters_unchanged
	field.
	(LOOP_VINFO_NITERS_UNCHANGED): Define to num_iters_unchanged field.
	* tree-vectorizer.c (set_prologue_iterations,
	slpeel_tree_peel_loop_to_edge): Call unshare_expr on
	LOOP_VINFO_NITERS_UNCHANGED before using it.

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

From-SVN: r130755
2007-12-10 23:49:43 +01:00
Simon Martin
0197270c6e re PR c++/34059 (ICE with invalid base type for class member)
gcc/cp/

2007-12-10  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/34059
	* typeck.c (build_class_member_access_expr): Compute MEMBER_SCOPE from
	MEMBER's BASELINK_ACCESS_BINFO instead of its BASELINK_BINFO.

gcc/testsuite/

2007-12-10  Simon Martin  <simartin@users.sourceforge.net>

	PR c++/34059
	* g++.dg/parse/crash40.C: New test.

From-SVN: r130754
2007-12-10 22:39:27 +00:00
Eric Botcazou
1b22c72e3b re PR target/34403 (wrong frequency of block)
PR target/34403
	* config/i386/i386.c (ix86_expand_movmem): Punt if the count is large.
	(ix86_expand_setmem): Likewise.

From-SVN: r130753
2007-12-10 22:30:02 +00:00
Tobias Burnus
da9ad92397 re PR fortran/34425 (bogus warning)
2007-12-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34425
        * interface.c (get_expr_storage_size): Use signed integer when
        obtaining the bounds.

2007-12-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34425
        * gfortran.dg/argument_checking_10.f90: New.

From-SVN: r130752
2007-12-10 22:42:56 +01:00
Kenneth Zadeck
c8305c9851 [multiple changes]
2007-12-10  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR rtl-optimization/34302
	* auto-inc-dec.c (attempt_change): Change place where move is
	inserted.

2007-12-10  Jakub Jelinek  <jakub@redhat.com>

	PR rtl-optimization/34302
	* gcc.c-torture/execute/20071210-1.c: New test.

From-SVN: r130751
2007-12-10 21:31:59 +00:00
Mark Heffernan
030e2013b1 MAINTAINERS (Write After Approval): Add myself and alphabetize two misplaced entries.
* MAINTAINERS (Write After Approval): Add myself and alphabetize two
	misplaced entries.

From-SVN: r130750
2007-12-10 21:04:19 +00:00