Commit Graph

86517 Commits

Author SHA1 Message Date
Ed Schonberg
76a696635d sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on operations that have an interface parameter.
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on
	operations that have an interface parameter.
	(Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag
	Don't treat No_Return call as raise.

	* sem_disp.adb (Check_Dispatching_Operations): apply check for
	non-primitive interface primitives to access parameters, not to all
	parameters of an access type.

From-SVN: r133577
2008-03-26 08:42:14 +01:00
Robert Dewar
d9f86c0c6c sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ
	* sinfo.ads, sinfo.adb (From_At_End): New flag

From-SVN: r133576
2008-03-26 08:42:03 +01:00
Ed Schonberg
9b91e15091 sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is a generic subprogram that is imported...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is
	a generic subprogram that is imported, do not attempt to compile
	non-existent body.

	* sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is
	imported, do not generate a raise_program_error for the non-existent
	body.
	(Pre_Analyze_Actuals): If an error is detected during pre-analysis,
	perform minimal name resolution on the generic to avoid spurious
	warnings.
	(Find_Actual_Type): the designated type of the actual in a child unit
	may be declared in a parent unit without being an actual.

From-SVN: r133575
2008-03-26 08:41:53 +01:00
Robert Dewar
d767bc3ac4 scn.adb (Initialize_Scanner): Format messages belong on standard error
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* scn.adb (Initialize_Scanner): Format messages belong on standard error

From-SVN: r133574
2008-03-26 08:41:37 +01:00
Vincent Celier
1a5d715a60 prj-dect.adb (Parse_Package_Declaration): When a package name is not known...
2008-03-26  Vincent Celier  <celier@adacore.com>

	* prj-dect.adb (Parse_Package_Declaration): When a package name is not
	known, check if it may be a missspelling of a known package name. In
	not verbose, not mode, issue warnings only if the package name is a
	possible misspelling.
	In verbose mode, always issue a warning for a not known package name,
	plus a warning if the name is a misspelling of a known package name.

	* prj-part.adb (Post_Parse_Context_Clause): Modify so that only non
	limited withs or limited withs are parse during one call.
	(Parse_Single_Project): Post parse context clause in two passes: non
	limited withs before current project and limited withs after current
	project.

	* prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended
	project with the name With_Name, even if it is only extended indirectly.
	(Recursive_Process): Process projects in order: first single withs, then
	current project, then limited withs.

	* prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended
	project with the name With_Name, even if it is only extended indirectly.

From-SVN: r133573
2008-03-26 08:41:16 +01:00
Thomas Quinot
2b2b679811 sem_cat.adb (Validate_RACW_Primitives): Do not rely on Comes_From_Source to exclude primitives from being checked.
2008-03-26  Thomas Quinot  <quinot@adacore.com>

	* sem_cat.adb (Validate_RACW_Primitives): Do not rely on
	Comes_From_Source to exclude primitives from being checked. We want to
	exclude predefined primitives only, so use the appropriate specific
	predicate. Also, flag a formal parameter of an anonymous
	access-to-subprogram type as illegal for a primitive operation of a
	remote access to class-wide type.

From-SVN: r133572
2008-03-26 08:41:04 +01:00
Vincent Celier
e96db982d2 osint-c.adb (Set_Library_Info_Name): Use canonical case file names to check if the specified object file is correct.
2008-03-26  Vincent Celier  <celier@adacore.com>

	* osint-c.adb (Set_Library_Info_Name): Use canonical case file names
	to check if the specified object file is correct.

From-SVN: r133571
2008-03-26 08:40:35 +01:00
Robert Dewar
0503c53a3f itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind

	* sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for
	unchecked conversion for different conventions only for subprogram
	pointers or on VMS.

From-SVN: r133570
2008-03-26 08:40:27 +01:00
Pascal Obry
f88ecba0bc Makefile.in: Add proper GNAT.Serial_Communications implementation on supported platforms.
2008-03-26  Pascal Obry  <obry@adacore.com>

	* Makefile.in: Add proper GNAT.Serial_Communications implementation on
	supported platforms.
	
	* Makefile.rtl: Add g-sercom.o.
	
	* impunit.adb: Add g-sercom.adb.
	
	* s-crtl.ads (open): New routine.
	(close): Likewise.
	(write): Likewise.
	
	* s-osinte-mingw.ads (BYTE): New type.
	(CHAR): Likewise.
	(OVERLAPPED): Likewise.
	(GENERIC_READ): New constant.
	(GENERIC_WRITE): Likewise.
	(OPEN_EXISTING): Likewise.
	(PSECURITY_ATTRIBUTES): Removed this type, use anonymous access
	type instead.
	(CreateFile): New routine.
	(WriteFile): Likewise.
	(ReadFile): Likewise.
	(CloseHandle): Move next to the other file oriented routines.

	* g-sercom.ads: New unit.

	* g-sercom.adb: Default implementation, calls to this unit will raise
	a program error exception.
	
	* g-sercom-mingw.adb, g-sercom-linux.adb: Windows and
	GNU/Linux implementations.

From-SVN: r133569
2008-03-26 08:40:18 +01:00
Robert Dewar
4e9f48a126 g-pehage.adb, [...]: Replace Raise_Exception by "raise with" construct.
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb,
	s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace
	Raise_Exception by "raise with" construct.

From-SVN: r133568
2008-03-26 08:40:04 +01:00
Vincent Celier
944f7f28cd gnatcmd.adb: Add processing for GNAT SYNC
2008-03-26  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb: Add processing for GNAT SYNC

	* vms_conv.ads: (Command_Type): Add command Sync

	* vms_conv.adb (Initialize): Add Command_List data for new command Sync

	* vms_data.ads: Add entries for -gnatw.w
	Add qualifier for gnatstub --header-file option
	Add switches for GNAT SYNC

	* prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC
	(Add_Package_Name): New procedure
	(Package_Name_List): New function
	(Initialize): Add known package names to the list
	(Register_New_Package): Add the new package name to the list

From-SVN: r133567
2008-03-26 08:39:50 +01:00
Ed Schonberg
26658d3a35 exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component assignment is within the initialization procedure for a packed...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component
	assignment is within the initialization procedure for a packed array,
	and Initialize_Scalars is enabled, compile right-hand side with checks
	off, because the value is purposely out of range.

From-SVN: r133566
2008-03-26 08:39:39 +01:00
Javier Miranda
c364d9be81 exp_ch7.adb (Make_Clean): Code cleanup using the new centralized subprogram Corresponding_Runtime_Package...
2008-03-26  Javier Miranda  <miranda@adacore.com>

	* exp_ch7.adb (Make_Clean): Code cleanup using the new centralized
	subprogram Corresponding_Runtime_Package to know the runtime package
	that will provide support to a given protected type.

	* exp_ch9.adb (Add_Private_Declarations,
	Build_Protected_Subprogram_Call,
	Build_Protected_Entry, Build_Simple_Entry_Call,
	Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
	Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code
	cleanup using the new centralized subprogram Corresponding_Runtime
	Package to know the runtime package that provides support to
	a given protected type.

From-SVN: r133565
2008-03-26 08:39:28 +01:00
Javier Miranda
1923d2d671 exp_disp.adb (Make_DT, [...]): Set attribute Is_Static_Dispatch_Table
2008-03-26  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute
	Is_Static_Dispatch_Table
	(Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls
	to Exchange_Declarations to exchange the private and full-view. Bug
	found working in this issue.
	(Expand_Dispatching_Call): Propagate the convention of the subprogram
	to the subprogram pointer type.
	(Make_Secondary_DT): Replace generation of Prim'Address by
	Address (Prim'Unrestricted_Access)
	(Make_DT): Replace generation of Prim'Address by
	Address (Prim'Unrestricted_Access)
	(Make_Disp_*_Bodies): When compiling for a restricted profile, use
	simple call form for single entry.
	(Make_DT): Handle new contents of Access_Disp_Table (access to dispatch
	tables of predefined primitives).
	(Make_Secondary_DT): Add support to handle access to dispatch tables of
	predefined primitives.
	(Make_Tags): Add entities to Access_Dispatch_Table associated with
	access to dispatch tables containing predefined primitives.

	* exp_ch6.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (..  instead, adjustments throughout to accomodate
	this change.
	(Register_Predefined_DT_Entry): Updated to handle the new contents
	of attribute Access_Disp_Table (pointers to dispatch tables containing
	predefined primitives).

	* exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New
	subprogram.
	(Find_Interface_ADT): Updated to skip the new contents of attribute
	Access_Dispatch_Table (pointers to dispatch tables containing predefined
	primitives).

	* sem_util.adb (Has_Abstract_Interfaces): Add missing support for
	concurrent types.
	(Set_Convention): Use new function Is_Access_Subprogram_Type
	(Collect_Interfaces_Info): Updated to skip the new contents of attribute
	Access_Dispatch_Table (pointers to dispatch tables containing predefined
	primitives).

	* exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve
	expanded code avoiding calls to Build_Predef_Prims.
	(Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding
	call to Build_Get_Predefined_Prim_Op_Address.

From-SVN: r133564
2008-03-26 08:39:17 +01:00
Gary Dismukes
50cff36721 exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation of a heap allocator for a limited unconstrained function...
2008-03-26  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation
	of a heap allocator for a limited unconstrained function return when
	resstriction No_Allocators is active.
	(Analyze_Allocator): The restriction No_Allocators is now only checked
	on allocators that have Comes_From_Source set, as per RM-H.4(7).

	* sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation
	of a heap allocator for a limited unconstrained function return when
	resstriction No_Allocators is active.
	(Analyze_Allocator): The restriction No_Allocators is now only checked
	on allocators that have Comes_From_Source set, as per RM-H.4(7).
	(Has_Fixed_Op):  If the name in a function call is Standard."*" and the
	operands are fixed-point types, the universal_fixed predefined operation
	is used, regardless of whether the operand type (s) have a primitive
	operation of the same name.

From-SVN: r133563
2008-03-26 08:39:04 +01:00
Robert Dewar
59ae6391bd exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for No_Run_Time_Mode
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for
	No_Run_Time_Mode

From-SVN: r133562
2008-03-26 08:38:51 +01:00
Ed Schonberg
df89ab66c7 sem_ch3.adb (Access_Definition): If the access type is the return result of a protected function...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Definition): If the access type is the return
	result of a protected function, create an itype reference for it
	because usage will be in an inner scope from the point of declaration.
	(Build_Derived_Record_Type): Inherit Reverse_Bit_Order and
	OK_To_Reorder_Components.
	(Make_Index): If an overloaded range includes a universal integer
	interpretation, resolve to Standard.Integer.
	(Analyze_Subtype_Indication): Copy Convention to subtype
	(Check_Abstract_Interfaces): Complete semantic checks on the legality of
	limited an synchronized progenitors in type declaration and private
	extension declarations.

	* exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a
	protected subprogram body, determine proper scope from subprogram
	declaration.

From-SVN: r133561
2008-03-26 08:38:40 +01:00
Robert Dewar
06eab6a7fa exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise stmt.
2008-03-26  Robert Dewar  <dewar@adacore.com>
	    Arnaud Charlet  <charlet@adacore.com>

	* exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise
	stmt.
	(No_Exception_Propagation_Active): New function.
	(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
	Update comments, and review all uses of No_Exception_Propagation, which
	are now correct and in sync with what gigi expects.

	* restrict.ads, restrict.adb (No_Exception_Propagation_Active): New
	function.
	(Expand_Exception_Handlers): Use No_Exception_Propagation_Active.
	Update comments, and review all uses of No_Exception_Propagation, which
	are now correct and in sync with what gigi expects.

From-SVN: r133560
2008-03-26 08:38:28 +01:00
Javier Miranda
e10dab7f8d exp_attr.adb (N_Pragma): Chars field removed.
2008-03-26  Javier Miranda  <miranda@adacore.com>
	    Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (N_Pragma): Chars field removed.
	(Expand_N_Attribute_Reference): If the designated type associated with
	attribute 'Unrestricted_Access is a subprogram entity then replace it
	by an E_Subprogram_Type itype.
	Implement attribute Old

	* sem_attr.ads (Attribute_Class_Array): Move to snames.ads

	* sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation.
	Replace call to
	New_Internal_Entity by call to Create_Itype to centralize calls
	building itypes, ad propagate the convention of the designated
	subprogram. In addition, disable the machinery cleaning constant
	indications from all entities in current scope when 'Unrestricted_Access
	corresponds with a node initializing a dispatch table slot.
	(Analyze_Attribute): Parameterless attributes returning a string or a
	type will not be called with improper arguments, so we can remove junk
	code that was dealing with this case.
	Implement attribute Old

	* snames.ads, snames.h, snames.adb: Add entries for attribute Old
	Add entry for pragma Optimize_Alignment
	New standard names Sync and Synchronize

From-SVN: r133559
2008-03-26 08:38:16 +01:00
Ed Schonberg
acf63f8c06 exp_aggr.adb (Replace_Type): When checking for self-reference...
2008-03-26  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Replace_Type): When checking for self-reference, verify
	that the prefix of an attribute is the type of the aggregate being
	expanded.

From-SVN: r133558
2008-03-26 08:38:00 +01:00
Robert Dewar
3b8d33ef1d par.adb (Check_No_Right_Paren): Removed no longer used
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* par.adb (Check_No_Right_Paren): Removed no longer used

	* par-ch10.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (..  instead.

	* par-ch10.adb (P_Subunit): Improvement in error recovery and message

	* par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb,
	par-ch4.adb: Minor improvements in error recovery and messages.

	* erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as
	non-serious

	* par-ch9.adb: Minor improvements in error recovery and messages
	(P_Protected): Better error recovery for "protected type x;"

	* par-util.adb: Minor improvements in error recovery and messages
	(Check_No_Right_Paren): Removed no longer used

From-SVN: r133557
2008-03-26 08:37:49 +01:00
Robert Dewar
14f1ec15bd errout.ads: Document new !! insertion sequence
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* errout.ads: Document new !! insertion sequence

	* errout.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (..  instead.
	Replace use of Warnings_Off by Has_Warnings_Off
	(Error_Msg_Internal): Don't delete warning ending in !!

From-SVN: r133556
2008-03-26 08:37:35 +01:00
Robert Dewar
0f282086c1 einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars (Pragma_Identifier (..
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (.. instead.
	(OK_To_Reorder_Components): New flag
	(Has_Entries): Code cleanup.
	(Warnings_Off_Used): New flag
	(Warnings_Off_Used_Unmodified): New flag
	(Warnings_Off_Used_Unreferenced): New flag
	(Has_Warnings_Off): New function
	(Has_Unmodified): New function
	(Has_Unreferenced): New function
	(Is_Trivial_Subprogram): New flag
	(Is_Static_Dispatch_Table_Entity): New attribute.
	Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind
	(more consistent with other similar names)
	(Access_Subprogram_Type): New classification function

From-SVN: r133555
2008-03-26 08:37:24 +01:00
Robert Dewar
454a86dc55 stand.ads: Deal with reordering of package standard declarations
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* stand.ads: Deal with reordering of package standard declarations

	* cstand.adb: Put package Standard declarations in proper order

From-SVN: r133554
2008-03-26 08:37:12 +01:00
Robert Dewar
1c3340e65d checks.adb (Ensure_Valid): Capture valid status if possible (eliminate checks)
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Ensure_Valid): Capture valid status if possible
	(eliminate checks)

From-SVN: r133553
2008-03-26 08:37:00 +01:00
Robert Dewar
1e990f1366 a-ztexio.adb, [...]: Fix problem with Current_Output (introduce Self).
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem
	with Current_Output (introduce Self).

From-SVN: r133552
2008-03-26 08:36:48 +01:00
Robert Dewar
162c52f323 a-teioed.ads: Correct value of Default_Fill
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* a-teioed.ads: Correct value of Default_Fill

	* a-teioed.adb (Image): Use Fill_Character instead of '*' to fill

From-SVN: r133551
2008-03-26 08:36:36 +01:00
Vincent Celier
cfd712162f a-szuzti.adb, [...] (functions Get_Line): Improve memory usage to avoid use of stack.
2008-03-26  Vincent Celier  <celier@adacore.com>

	* a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line):
	Improve memory usage to avoid use of stack.

From-SVN: r133550
2008-03-26 08:36:23 +01:00
Robert Dewar
1b24ada5ab ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record

	* bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure

	* debug.adb: Add debug flags d.r and d.v
	Add debug flag .T (Optimize_Alignment (Time))
	Add debug flag .S (Optimize_Alignment (Space))

	* freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
	depending on setting of relevant debug flags.
	Replace use of Warnings_Off by Has_Warnings_Off
	(Freeze_Entity): In circuit for warning on suspicious convention
	actuals, do not give warning if subprogram has same entity as formal
	type, or if subprogram does not come from source.
	(Freeze_Entity): Don't reset Is_Packed for fully rep speced record
	if Optimize_Alignment set to Space.

	* frontend.adb: Add call to Sem_Warn.Initialize
	Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
	Reset Optimize_Alignment mode from debug switches .S and .T

	* layout.adb (Layout_Composite_Object): Rewritten for
	Optimize_Aligment pragma.

	* lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
	mode.

	* opt.ads, opt.adb: (Optimize_Alignment): New global switch

	* par-prag.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (..  instead, adjustments throughout to accomodate
	this change. Add entry for pragma Optimize_Alignment

	* sem_prag.adb (N_Pragma): Chars field removed, use Chars
	(Pragma_Identifier (..
	instead, adjustments throughout to accomodate this change.
	(Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
	(Favor_Top_Level): Use new function Is_Access_Subprogram_Type
	Add implementation of pragma Optimize_Alignment

From-SVN: r133549
2008-03-26 08:36:02 +01:00
Arnaud Charlet
9fbecd1a76 gnatvsn.ads (Library_Version): Bump to 4.4.
2008-03-26  Arnaud Charlet  <charlet@adacore.com>

	* gnatvsn.ads (Library_Version): Bump to 4.4.
	(Current_Year): Bump to 2008.

From-SVN: r133548
2008-03-26 08:35:45 +01:00
Arnaud Charlet
dc97c7a83c s-taprop-irix.adb, [...] (Create_Task): Do not attempt to set task priority or task info if the thread could not be created.
2008-03-26  Arnaud Charlet  <charlet@adacore.com>

	* s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb, 
	s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, 
	s-taprop-posix.adb (Create_Task): Do not attempt to set task priority
	or task info if the thread could not be created.

From-SVN: r133547
2008-03-26 08:35:35 +01:00
Robert Dewar
366b8af7e4 a-taster.adb, [...]: Minor reformatting.
2008-03-26  Robert Dewar  <dewar@adacore.com>

	* a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb,
	a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
	a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads,
	a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads,
	a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads,
	a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads,
	s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads,
	s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads,
	a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads,
	s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads,
	s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads,
	s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads,
	s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb,
	s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads,
	s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
	s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads,
	s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads,
	s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb,
	s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
	s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb,
	a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads,
	a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads,
	s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads,
	s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads,
	s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads,
	s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb,
	s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb,
	a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb,
	a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb,
	s-tasloc.adb: Minor reformatting.
	Update comments.
	Remove "used for" sections from comments.

From-SVN: r133546
2008-03-26 08:35:19 +01:00
Thomas Quinot
4e0ede3df7 re PR ada/33688 (Ada package Gnat.Sockets missing constant for IP_PKTINFO (patch))
2008-03-26  Thomas Quinot  <quinot@adacore.com>

PR ada/33688

	* g-socket.ads, g-socket.adb (Options, Set_Socket_Option,
	Get_Socket_Option): Add support for Receive_Packet_Info.

	* g-soccon.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-freebsd.ads,
	g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads,
	g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add
	new constants SO_REUSEPORT and IP_PKTINFO

From-SVN: r133545
2008-03-26 08:34:57 +01:00
Benjamin Kosnik
939759fcc9 run_doxygen: Remove html_output_dir.
2008-03-25  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Remove html_output_dir. Downgrade to
	Doxygen 1.5.1.
	* doc/doxygen/style.css: Delete.
	* doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
	(INPUT): Update.
	(PREDEFINED): Update.
	(HTML_OUTPUT): Remove html_output_dir, use html.
	(HTML_STYLESHEET): Remove style.css.
	* doc/doxygen/tables.html: Remove style.css use.
	* doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
	* doc/doxygen/doxygroups.cc: Namespace edits.
	* doc/doxygen/Intro.3: Correct typo.

	* doc/xml/api.xml: Add gcc-4.3 links.
	* doc/html/api.html: Regenerate.	
	
	* include/debug/debug.h: Document namepaces here.
	* include/parallel/base.h: Same.
	* include/ext/typelist.h: Same.
	* include/ext/pb_ds/tag_and_trait.hpp: Same.
	
	* include/tr1_impl/random: Adjust line break.
	* include/tr1_impl/unordered_map: Correct and or add markup.
	* include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
	* include/tr1_impl/functional_hash.h: Same.
	* include/tr1_impl/cmath: Same.
	* include/tr1_impl/functional: Same.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/complex: Same.
	* include/tr1_impl/type_traits: Same.
	* include/tr1_impl/regex: Same.
	* include/tr1_impl/array: Same.
	* include/std/tuple: Same.
	* include/std/date_time: Same.
	* include/std/system_error: Same.
	* include/std/type_traits: Same.
	* include/ext/enc_filebuf.h: Same.
	* include/ext/throw_allocator.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/concurrence.h: Same.
	* include/ext/codecvt_specializations.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/allocator.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/tr1/poly_laguerre.tcc: Same.
	* include/tr1/riemann_zeta.tcc: Same.
	* include/tr1/beta_function.tcc: Same.
	* include/tr1/tuple: Same.
	* include/tr1/exp_integral.tcc: Same.
	* include/tr1/gamma.tcc: Same.
	* include/tr1/hypergeometric.tcc: Same.
	* include/tr1/modified_bessel_func.tcc: Same.
	* include/tr1/legendre_function.tcc: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/special_function_util.h: Same.
	* include/tr1/bessel_function.tcc: Same.
	* include/tr1/cmath: Same.
	* include/tr1/poly_hermite.tcc: Same.
	* include/tr1/ell_integral.tcc: Same.
	* config/abi/compatibility.h: Adjust file name.

	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
	line numbers.	
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.

From-SVN: r133544
2008-03-26 06:27:35 +00:00
Douglas Gregor
a0a5f30f8e pt.c (coerce_template_template_parm): Moved the body of the loop of coerce_template_template_parms here...
2008-03-26  Douglas Gregor  <doug.gregor@gmail.com>

       * pt.c (coerce_template_template_parm): Moved the body of the loop
       of coerce_template_template_parms here, to make iteration over a
       template argument pack simpler.
       Also, allow matching of a template parameter pack in the template
       template parameter to a template parameter in the template
       template argument.
       (coerce_template_template_parms): Deal with variadic template
       template parameters. Use coerce_template_template_parm.
       (unify): Make sure we coerce the template template argument's
       template arguments to the template template parameter's template
       parameters, not the other way around.

2008-03-26  Douglas Gregor  <doug.gregor@gmail.com>

       * g++.dg/cpp0x/variadic84.C: Update to reflect the change in
       variadic template template parameter binding semantics.
       * g++.dg/cpp0x/variadic85.C: Ditto.
       * g++.dg/cpp0x/variadic88.C: New.
       * g++.dg/cpp0x/variadic89.C: New.
       * g++.dg/cpp0x/variadic90.C: New.
       * g++.dg/cpp0x/variadic-ex14.C: Update to reflect the change in
       variadic template template parameter binding semantics.
       * g++.dg/cpp0x/variadic-lambda.C: New.

From-SVN: r133543
2008-03-26 04:17:57 +00:00
Andrew Pinski
22ec849c3b re PR target/31558 (ICE with __builtin_vec_splat)
2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/31558
        * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
        error_mark_node's.

2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/31558
        * g++.dg/ext/altivec-15.C: New testcase.

From-SVN: r133542
2008-03-25 20:35:02 -07:00
Andrew Pinski
fd88fd0992 re PR fortran/31588 (gfortran should be able to output Makefile dependencies with -M* options)
2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/31588
        * config/rs6000/rs6000-c.c (rs6000_builtin_type_compatible): Handle
        error_mark_node's.

2008-03-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR target/31588
        * g++.dg/ext/altivec-15.C: New testcase.

From-SVN: r133541
2008-03-25 20:32:13 -07:00
Andrew Pinski
9c349a39eb re PR objc/29197 (ICE after error with array type with undefined variable)
2008-03-25  Andrew Pinski  <pinskia@gmail.com>

        PR objc/29197
        * objc-act.c (encode_type): Handle when type is error_mark_node.
        (objc_push_parm): Handle when the type of parm is error_mark_node.

2008-03-25  Andrew Pinski  <pinskia@gmail.com>

        PR objc/29197
        * objc.dg/method-20.m: New testcase.

From-SVN: r133540
2008-03-25 20:19:58 -07:00
GCC Administrator
0f9c821f73 Daily bump.
From-SVN: r133538
2008-03-26 00:17:35 +00:00
Tom Tromey
e1f447a838 Make-lang.in (obj-c++_OBJS): Rename from objcp_OBJS.
* Make-lang.in (obj-c++_OBJS): Rename from objcp_OBJS.
	(objcp/objcp-act.o): Restore target.

From-SVN: r133532
2008-03-25 20:52:41 +00:00
Richard Sandiford
fb959f7254 re PR rtl-optimization/35232 (ICE in fp-int-convert-double.c at -O2)
gcc/
	PR rtl-optimization/35232
	* reload1.c (reg_reloaded_call_part_clobbered): Clarify comment.
	(forget_old_reloads_1, forget_marked_reloads): Don't clear
	reg_reloaded_call_part_clobbered here.
	(reload_regs_reach_end_p): New function.
	(reload_reg_rtx_for_input): New variable.
	(reload_reg_rtx_for_output): Likewise.
	(emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx
	when reassigning a pseudo register.  Load reloadreg from 
	reload_reg_rtx_for_input, moving the mode and register
	calculation to...
	(do_input_reload): ...here.  Use the mode-adjusted reg_rtx
	instead of the original when deciding whether an input reload
	would be a no-op or whether an output reload can be deleted.
	(emit_output_reload_insns): Use the mode-adjusted reg_rtx
	when setting up new_spill_reg_store.  Load it from
	reload_reg_rtx_for_output, moving the mode and register
	calculation to...
	(do_output_reload): ...here.  Use the mode-adjusted reg_rtx
	instead of the original when deciding whether an output reload
	would be a no-op.  Do the same when modifying insn notes.
	Use rtx_equal_p instead of == to compare the registers.
	(inherit_piecemeal_p): Take a mode and two register numbers
	as argument.
	(emit_reload_insns): Clear new_spill_reg_store for every hard
	register in the reload register.  Remove spill registers
	from reg_reloaded_valid before considering whether to record
	inheritance information for them.  Use reload_reg_rtx_for_output
	instead of reg_rtx when recording output reloads.  Use
	reload_reg_rtx_for_input instead of reg_rtx when recording
	input reloads.  Set or clear reg_reloaded_call_part_clobbered
	at the same time as setting reg_reloaded_valid.
	(delete_output_reload): Add a new_reload_reg parameter and use it
	instead of rld[j].reg_rtx.
	(emit_input_reload_insns, do_input_reload, do_output_reload): Adjust
	calls accordingly.

gcc/testsuite/
	PR rtl-optimization/35232
	* gcc.target/mips/pr35232.c: New test.

From-SVN: r133531
2008-03-25 20:43:06 +00:00
Tom Tromey
a8c86f3f81 Makefile.in (build/gensupport.o): Depend on insn-modes.h.
* Makefile.in (build/gensupport.o): Depend on insn-modes.h.
	(build/genattr.o): Likewise.
	(build/genattrtab.o): Likewise.
	(build/gencodes.o): Likewise.
	(build/genconfig.o): Likewise.
	(build/genconstants.o): Likewise.
	(build/genemit.o): Likewise.
	(build/genextract.o): Likewise.
	(build/genflags.o): Likewise.

From-SVN: r133527
2008-03-25 18:53:41 +00:00
Eric Botcazou
3a9634be2d revert: re PR ada/35186 (implicit assumption about alignment of DImode)
Revert
        2008-03-05  Eric Botcazou  <ebotcazou@adacore.com>
        PR ada/35186
        * decl.c (maybe_pad_type): Avoid padding an integral type when
        bumping its alignment is sufficient.

From-SVN: r133526
2008-03-25 17:58:54 +00:00
Bob Wilson
f4d3e7fd81 xtensa.c (xtensa_va_start): Use build_int_cst instead of size_int for integer types.
* config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst
	instead of size_int for integer types.
	(xtensa_gimplify_va_arg_expr): Likewise.  Convert index to sizetype
	to match type of MINUS_EXPR.

From-SVN: r133525
2008-03-25 17:56:31 +00:00
Tom Tromey
55d059d348 configure: Rebuilt.
* configure: Rebuilt.
	* configure.ac (BUILD_DEPMODE): Extract CCDEPMODE from temporary
	Makefile.

From-SVN: r133524
2008-03-25 17:29:02 +00:00
Tom Tromey
2fe3178b69 x-solaris (host-solaris.o): Update.
gcc
	* config/x-solaris (host-solaris.o): Update.
	* config/x-linux (host-linux.o): Update.
	* config/x-hpux (host-hpux.o): Update.
	* config/x-darwin (host-darwin.o): Update.
	* config/v850/t-v850e (v850-c.o): Update.
	* config/v850/t-v850 (v850-c.o): Update.
	* config/t-vxworks (vxworks.o): Update.
	* config/t-sol2 (sol2-c.o, sol2.o): Update.
	* config/t-darwin (darwin.o, darwin-c.o, darwin-driver.o):
	Update.
	* config/spu/t-spu-elf (spu-c.o): Update.
	(spu.o): Remove.
	* config/sh/t-symbian (sh-c.o): Update.
	(symbian.o): Update.
	* config/sh/t-sh (sh-c.o): Update.
	* config/score/t-score-elf (score7.o, score3.o): Update.
	* config/rs6000/x-rs6000 (driver-rs6000.o): Update.
	* config/rs6000/x-darwin64 (host-ppc64-darwin.o): Update.
	* config/rs6000/x-darwin (host-ppc-darwin.o): Update.
	* config/rs6000/t-rs6000 (rs6000-c.o): Update.
	(rs6000.o): Remove.
	* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
	* config/m32c/t-m32c (m32c-pragma.o): Update.
	* config/ia64/t-ia64 (ia64-c.o): Update.
	* config/i386/x-mingw32 (host-mingw32.o): Update.
	* config/i386/x-i386 (driver-i386.o): Update.
	* config/i386/x-darwin (host-i386-darwin.o): Update.
	* config/i386/x-cygwin (host-cygwin.o): Update.
	* config/i386/t-nwld (nwld.o): Update.
	* config/i386/t-netware (netware.o): Update.
	* config/i386/t-interix (winnt.o): Update.
	* config/i386/t-cygwin (cygwin1.o, cygwin2.o): Update.
	* config/i386/t-cygming (winnt.o, winnt-cxx.o, winnt-stubs.o,
	msformat-c.o): Update.
	* config/bfin/t-bfin-linux (generated_files): Add
	linux-sysroot-suffix.h.
	* config/arm/t-wince-pe (pe.o): Update.
	* config/arm/t-strongarm-pe (pe.o): Update.
	* config/arm/t-pe (pe.o): Update.
	* config/arm/t-arm (arm-c.o): Update.
	* doc/install.texi (Prerequisites): Require make 3.80.
	* Makefile.in: Remove .o targets.
	(CCDEPMODE, DEPDIR, depcomp, BUILD_DEPMODE): New variables.
	(OBSTACK_H, FIBHEAP_H, PARTITION_H, MD5_H, BCONFIG_H): Remove.
	(simple_generated_h, simple_generated_c): Move earlier.
	(generated_files): New variable.
	(TARGET_H, MACHMODE_H, HOOKS_H, HOSTHOOKS_DEF_H, LANGHOOKS_DEF_H,
	TARGET_DEF_H, RTL_BASE_H, RTL_H, PARAMS_H, BUILTINS_DEF, TREE_H,
	BASIC_BLOCK_H, GCOV_IO_H, COVERAGE_H, DEMANGLE_H, RECOG_H,
	ALIAS_H, EMIT_RTL_H, FLAGS_H, FUNCTION_H, EXPR_H, OPTABS_H,
	REGS_H, RA_H, RESOURCE_H, SCHED_INT_H, INTEGRATE_H, CFGLAYOUT_H,
	CFGLOOP_H, IPA_UTILS_H, IPA_REFERENCE_H, IPA_TYPE_ESCAPE_H,
	CGRAPH_H, DF_H, RESOURCE_H, DDG_H, GCC_H, GGC_H, TIMEVAR_H,
	INSN_ATTR_H, C_COMMON_H, C_PRAGMA_H, C_TREE_H, SYSTEM_H,
	PREDICT_H, DECNUM_H, MKDEPS_H, SYMTAB_H, TREE_DUMP_H,
	TREE_GIMPLE_H, TREE_FLOW_H, TREE_SSA_LIVE_H, PRETTY_PRINT_H,
	DIAGNOSTIC_H, C_PRETTY_PRINT_H, SCEV_H, LAMBDA_H, TREE_DATA_REF_H,
	VARRAY_H, TREE_INLINE_H, REAL_H, DBGCNT_H, EBIMAP_H): Remove.
	(.c.o): Remove.
	(COMPILE.base, COMPILE): New variables.
	(%.o): New pattern rule.
	(ALL_HOST_OBJS): New variable.
	(xgcc$(exeext), cpp$(exeext)): Remove extra version.o.
	(dummy-checksum.o, cc1-checksum.o): Remove.
	(DRIVER_SHLIB): New variable.
	(DRIVER_DEFINES): Use it.
	(gencondmd.c): Move out of build/.
	(s-conditions): Update.
	(BUILDCOMPILE.base, BUILDCOMPILE): New variables.
	(ALL_BUILD_OBJS): Likewise.
	(build/%.o): Use BUILDCOMPILE.
	(build/ggc-none.o, build/ggc-none.o, build/min-insn-modes.o,
	build/print-rtl.o, build/read-rtl.o, build/rtl.o, build/vec.o,
	build/gencondmd.o, build/genattrtab.o, build/genautomata.o,
	build/gencheck.o, build/gencodes.o, build/genconditions.o,
	build/genconfig.o, build/genconstants.o, build/genemit.o,
	build/genextract.o, build/genflags.o, build/genmddeps.o,
	build/genopinit.o, build/genoutput.o, build/genpeep.o,
	build/genpreds.o, build/genrecog.o, build/gcov-iov.o,
	build/gen-protos.o, build/scan.o, build/fix-header.o,
	build/scan-decls.o): Simplify.
	(collect2.o, c-opts.o, gcc.o, gccspec.o, gcc-options.o,
	cppdefault.o, protoize.o, unprotoize.o, intl.o, version.o,
	prefix.o, toplev.o): Reduce to variable setting.
	(libbackend.o): Use COMPILE.  Remove most dependencies.  Move
	later.
	($(out_object_file), gcc-options.o): New targets.
	($(ALL_HOST_OBJS)): New target.
	Include dependency files.
	* configure: Rebuilt.
	* configure.ac: Call ZW_CREATE_DEPDIR,
	ZW_PROG_COMPILER_DEPENDENCIES.
	* doc/sourcebuild.texi (Front End Directory): Document new
	variable.
gcc/java
	* Make-lang.in: Removed most explicit .o targets.
	(java/jvspec.o): Reduce to variable setting.  Moved to java/.
	($(GCJ)$(exeext)): Update.
	(JAVA_OBJS): New variable.
	(JCFDUMP_OBJS): Reformat.
	(java_OBJS): New variable.
	(java/jvspec.o-warn): Update.
	(java/parse.o-warn): Remove.
	(JAVA_TREE_H): Remove.
	(java/jcf-io.o): Reduce to variable setting.
	(ALL_CPPFLAGS): Likewise.
gcc/objc
	* Make-lang.in (objc_OBJS): New variable.
	(cc1obj-checksum.o, objc/objc-lang.o, objc/objc-act.o): Remove.
gcc/objcp
	* Make-lang.in (objcp_OBJS): New variable.
	(cc1objplus-checksum.o, objcp/objcp-lang.o, objcp/objcp-decl.o,
	objcp/objcp-act.o): Remove.
gcc/cp
	* Make-lang.in: Remove .o targets.
	(cp/g++spec.o): Moved to cp/.  Reduce to variable setting.
	(GXX_OBJS): Update.
	(c++_OBJS): New variable.
	(CXX_TREE_H, CXX_PRETTY_PRINT_H): Remove.
gcc/fortran
	* Make-lang.in: Remove .o targets.
	(fortran_OBJS): New variable.
	(fortran/gfortranspec.o): Move to fortran/.  Reduce to variable
	setting.
	(GFORTRAN_D_OBJS): Update.
	(GFORTRAN_TRANS_DEPS): Remove.

From-SVN: r133523
2008-03-25 16:56:50 +00:00
Douglas Gregor
5ade1ed2c0 typeck.c (composite_pointer_type_r): Add SFINAE support.
2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>

       * typeck.c (composite_pointer_type_r): Add SFINAE support.
       (composite_pointer_type): Ditto.
       (common_type): Fix call to composite_pointer_type.
       (cxx_sizeof_nowarn): New; used to be a macro.
       (cxx_sizeof_expr): Add SFINAE support.
       (cxx_alignof_expr): Ditto.
       (decay_conversion): Fix calls for SFINAE support.
       (rationalize_conditional_expr): Add SFINAE support.
       (build_class_member_access_expr): Ditto.
       (finish_class_member_access_expr): Ditto.
       (build_x_indirect_ref): Ditto.
       (build_indirect_ref): Original version renamed to
       cp_build_indirect_ref; new version provides a bridge from
       c-common.
       (cp_build_indirect_ref): Was build_indirect_ref; added SFINAE
       support.
       (get_member_function_from_ptrfunc): Fix calls for SFINAE support.
       (build_function_call): Original version renamed to
       cp_build_function_call; new version provides a bridge from
       c-common.
       (cp_build_function_call): Was build_function_call; added SFINAE
       support.
       (convert_arguments): Add SFINAE support.
       (build_x_binary_op): Ditto.
       (build_binary_op): Original version renamed to cp_build_binary_op;
       new version provides a bridge from c-common.
       (cp_build_binary_op): Was build_binary_op; added SFINAE support.
       (pointer_diff): Fix calls for SFINAE.
       (build_x_unary_op): Add SFINAE support.
       (condition_conversion): Fix calls for SFINAE.
       (build_unary_op): Original version renamed to cp_build_unary_op;
       new version provides a bridge from c-common.
       (cp_build_unary_op): Was build_unary_op; added SFINAE support.
       (unary_complex_lvalue): Fix calls for SFINAE.
       (build_x_conditional_expr): Add SFINAE support.
       (build_x_compound_expr_from_list): Fix calls for SFINAE.
       (build_x_compound_expr): Add SFINAE support.
       (convert_ptrmem): Fix calls for SFINAE.
       (build_static_cast_1): Add SFINAE support.
       (build_static_cast): Ditto.
       (build_reinterpret_cast_1): Ditto.
       (build_reinterpret_cast): Ditto.
       (build_const_cast_1): Ditto.
       (build_const_cast): Ditto.
       (build_c_cast): Ditto.
       (build_modify_expr): Original version renamed to
       cp_build_modify_expr; new version provides a bridge from c-common.
       (cp_build_modify_expr): Was build_modify_expr; added SFINAE
       support.
       (build_x_modify_expr): Add SFINAE support.
       (build_ptrmemfunc): Fix calls for SFINAE.
       (convert_for_assignment): Add SFINAE support.
       (convert_for_initialization): Ditto.
       (check_return_expr): Fix calls for SFINAE.
       (lvalue_or_else): Add SFINAE support.
       * init.c (perform_member_init): Fix calls for SFINAE.
       (emit_mem_initializers): Ditto.
       (expand_virtual_init): Ditto.
       (expand_cleanup_for_base): Ditto.
       (build_aggr_init): Add SFINAE support.
       (expand_default_init): Ditto.
       (expand_aggr_init_1): Fix calls for SFINAE.
       (build_offset_ref): Ditto.
       (build_new_1): Add SFINAE support.
       (build_new): Ditto.
       (build_vec_delete_1): Fix calls for SFINAE.
       (get_temp_regvar): Ditto.
       (build_vec_init): Add SFINAE support.
       (build_dtor_call): Fix calls for SFINAE.
       (build_delete): Ditto.
       (push_base_cleanups): Ditto.
       (build_vec_delete_1): Ditto.
       * class.c (build_base_path): Fix calls for SFINAE.
       (build_simple_base_path): Ditto.
       (convert_to_base_statically): Ditto.
       (build_vfn_ref): Ditto.
       (resolve_address_of_overloaded_function): Ditto.
       * decl.c (check_initializer): Fix calls for SFINAE.
       (register_dtor_fn): Ditto.
       (compute_array_index_type): Ditto.
       (finish_enum): Ditto.
       (start_preparsed_function): Ditto.
       (cxx_maybe_build_cleanup): Ditto.
       * call.c (convert_like): Add COMPLAIN argument.
       (convert_like_with_context): Ditto.
       (build_this): Fix calls for SFINAE.
       (build_user_type_conversion): Ditto.
       (resolve_args): Ditto.
       (build_new_function_call): Add SFINAE support.
       (build_operator_new_call): Fix calls for SFINAE.
       (build_object_call): Add SFINAE support.
       (build_conditional_expr): Ditto.
       (build_new_op): Ditto.
       (build_op_delete_call): Fix calls for SFINAE.
       (build_temp): Ditto.
       (convert_like_real): Add SFINAE support.
       (build_x_va_arg): Fix calls for SFINAE.
       (convert_default_arg): Ditto.
       (build_over_call): Add SFINAE support.
       (build_java_interface_fn_ref): Fix calls for SFINAE.
       (build_special_member_call): Add SFINAE support.
       (build_new_method_call): Ditto.
       (perform_implicit_conversion): Ditto.
       (perform_direct_initialization_if_possible): Ditto.
       (initialize_reference): Fix calls for SFINAE.
       * method.c (do_build_assign_ref): Fix calls for SFINAE.
       * rtti.c (build_headof): Fix calls for SFINAE.
       (get_tinfo_decl_dynamic): Ditto.
       (get_typeid): Ditto.
       (build_dynamic_cast_1): Add SFINAE support.
       (build_dynamic_cast): Ditto.
       (tinfo_base_init): Fix calls for SFINAE.
       * except.c (do_get_exception_ptr): Fix calls for SFINAE.
       (do_end_catch): Ditto.
       (initialize_handler_parm): Ditto.
       (expand_start_catch_block): Ditto.
       (do_allocate_exception): Ditto.
       (do_free_exception): Ditto.
       (build_throw): Ditto.
       * cvt.c (build_up_reference): Fix calls for SFINAE.
       (convert_to_reference): Ditto.
       (ocp_convert): Ditto.
       (convert_to_void): Add SFINAE support.
       * tree.c (build_dummy_object): Fix calls for SFINAE.
       (stabilize_expr): Ditto.
       * cp-tree.h (build_conditional_expr): Add tsubst_flags_t
       parameter.
       (build_new_method_call): Ditto.
       (build_special_member_call): Ditto.
       (build_new_op): Ditto.
       (perform_implicit_conversion): Ditto.
       (perform_direct_initialization_if_possible): Ditto.
       (convert_to_void): Ditto.
       (build_aggr_init): Ditto.
       (build_new): Ditto.
       (build_vec_init): Ditto.
       (build_dynamic_cast): Ditto.
       (finish_call_expr): Ditto
       (cxx_sizeof_or_alignof_expr): Add COMPLAIN parameter.
       (cxx_sizeof_nowarn): Remove macro; add function declaration.
       (build_class_member_access_expr): Add tsubst_flags_t parameter.
       (finish_class_member_access_expr): Ditto.
       (build_x_indirect_ref): Ditto.
       (cp_build_indirect_ref): New.
       (cp_build_function_call): Add tsubst_flags_t parameter.
       (build_x_unary_op): Ditto.
       (cp_build_unary_op): New.
       (build_x_conditional_expr): Add tsubst_flags_t parameter.
       (build_x_compound_expr): Ditto.
       (build_compound_expr): Ditto.
       (build_static_cast): Ditto.
       (build_reinterpret_cast): Ditto.
       (build_const_cast): Ditto.
       (build_c_cast): Ditto.
       (build_x_modify_expr): Ditto.
       (cp_build_modify_expr): New.
       (convert_for_initialization): Add tsubst_flags_t parameter.
       (cp_build_binary_op): Remove macro; add function declaration.
       (invalid_nonstatic_memfn_p): Add tsubst_flags_t parameter.
       (lvalue_or_else): Ditto.
       (build_functional_cast): Ditto.
       * typeck2.c (digest_init): Fix calls for SFINAE.
       (process_init_constructor_array): Ditto.
       (process_init_constructor_record): Ditto.
       (build_x_arrow): Ditto.
       (build_m_component_ref): Ditto.
       (build_functional_cast): Add SFINAE support.
       * pt.c (tsubst_copy_and_build): Add (more) SFINAE support.
       * semantics.c (simplify_loop_decl_cond): Fix calls for SFINAE.
       (finish_expr_stmt): Ditto.
       (finish_for_expr): Ditto.
       (finish_asm_stmt): Ditto.
       (finish_non_static_data_member): Ditto.
       (finish_qualified_id_expr): Ditto.
       (finish_call_expr): Add SFINAE support.
       (finish_increment_expr): Fix calls for SFINAE.
       (finish_unary_op_expr): Ditto.
       (simplify_aggr_init_expr): Ditto.
       (finish_omp_clauses): Ditto.
       (finish_omp_for): Ditto.
       (finish_omp_barrier): Ditto.
       (finish_omo_flush): Ditto.
       * decl2.c (grok_array_decl): Fix calls or SFINAE.
       (build_anon_union_vars): Ditto.
       (get_guard_cond): Ditto.
       (set_guard): Ditto.
       (one_static_initialization_or_destruction): Ditto.
       (do_static_initialization_or_destruction): Ditto.
       (generate_ctor_or_dtor_function): Ditto.
       (build_offset_ref_call_from_tree): Ditto.
       * parser.c (cp_parser_postfix_expression): Fix calls for SFINAE.
       (cp_parser_postfix_dot_deref_expression): Ditto.
       (cp_parser_unary_expression): Ditto.
       (cp_parser_new_expression): Ditto.
       (cp_parser_cast_expression): Ditto.
       (cp_parser_binary_expression): Ditto.
       (cp_parser_question_colon_clause): Ditto.
       (cp_parser_assignment_expression): Ditto.
       (cp_parser_expression): Ditto.
       (cp_parser_builtin_offsetof): Ditto.
       (cp_parser_template_argument): Ditto.
       (cp_parser_functional_cast): Ditto.

2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>

       * c-common.c (c_sizeof_or_alignof_type): If we're not allowed to
       complain when we hit an error, return ERROR_MARK_NODE.

2008-03-25  Douglas Gregor  <doug.gregor@gmail.com>

       * g++.dg/template/sfinae4.C: New.
       * g++.dg/template/sfinae5.C: New.
       * g++.dg/template/sfinae6.C: New.
       * g++.dg/template/sfinae6_neg.C: New.
       * g++.dg/template/sfinae7.C: New.
       * g++.dg/template/sfinae8.C: New.
       * g++.dg/template/sfinae9.C: New.
       * g++.dg/template/sfinae10.C: New.
       * g++.dg/template/sfinae11.C: New.
       * g++.dg/template/sfinae12.C: New.
       * g++.dg/template/sfinae13.C: New.
       * g++.dg/template/sfinae14C: New.

From-SVN: r133519
2008-03-25 13:53:58 +00:00
Naveen.H.S
de6adfa2f4 constraints.md (Pso, Psz): New constraints.
* config/sh/constraints.md (Pso, Psz): New constraints.
	* config/sh/sh.c (print_operand): Add %V and %W operand codes.
	* config/sh/sh.md (*andsi3_bclr, *iorsi3_bset): New insns.

	* gcc.target/sh/sh2a-bclr.c: New test.
	* gcc.target/sh/sh2a-bset.c: New test.

From-SVN: r133518
2008-03-25 13:44:00 +00:00
Naveen.H.S
f326a6cbc0 sh.c (sh_expand_t_scc): Emit movrt for SH2A if possible.
* config/sh/sh.c (sh_expand_t_scc): Emit movrt for SH2A if
	possible.
	* config/sh/sh.md (xorsi3_movrt, movrt): New insns.

	* gcc.target/sh/sh2a-movrt.c: New test.

From-SVN: r133517
2008-03-25 13:41:23 +00:00
Naveen.H.S
b4b0018b30 sh.md (prefetch): Add condition for SH2A target.
* config/sh/sh.md (prefetch): Add condition for SH2A target.
	(prefetch_sh2a): New.	

	* gcc.target/sh/sh2a-prefetch.c: New test.

From-SVN: r133516
2008-03-25 13:38:45 +00:00