Robert Dewar [Thu, 13 Dec 2007 10:28:24 +0000 (11:28 +0100)]
inline.adb (Back_End_Cannot_Inline): Use new flag Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
2007-12-06 Robert Dewar <dewar@adacore.com>
* inline.adb (Back_End_Cannot_Inline): Use new flag
Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
* sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Use new flag
Has_Pragma_Inline_Always instead.
of obsolete function Is_Always_Inlined
(Build_Body_To_Inline): Same change
(Cannot_Inline): Same change
Do not give warning on exception raise in No_Return function
* sem_ch13.adb (Analyze_Record_Representation_Clause): If an inherited
component has two inconsistent component clauses in the same record
representation clause, favor the message that complains about
duplication rather than inconsistency.
Update comments.
(Record_Representation_Clause): Do not warn on missing component
clauses for inherited components of a type extension.
(Rep_Item_Too_Late): Do not attempt to link pragma into rep chain for
an overloadable item if it is a pragma that can apply to multiple
overloadable entities (e.g. Inline) because a pragma cannot be on
more than one chain at a time.
(Validate_Unchecked_Conversion): Add code to warn on unchecked
conversion where one of the operands is Ada.Calendar.Time.
(Analyze_Attribute_Definition_Clause): Fix typo in error message.
For now, ignore Component_Size clause on VM targets, as done for
pragma Pack.
From-SVN: r130845
Robert Dewar [Thu, 13 Dec 2007 10:28:10 +0000 (11:28 +0100)]
g-spipat.adb (Break): Fix accessibility error (vsn taking not null access Vstring)
2007-12-06 Robert Dewar <dewar@adacore.com>
* g-spipat.adb (Break): Fix accessibility error (vsn taking not null
access Vstring)
From-SVN: r130844
Robert Dewar [Thu, 13 Dec 2007 10:27:58 +0000 (11:27 +0100)]
g-spchge.ads, [...]: New files.
2007-12-06 Robert Dewar <dewar@adacore.com>
* g-spchge.ads, g-spchge.adb, g-u3spch.adb, g-u3spch.ads,
g-wispch.adb, g-wispch.ads, g-zspche.adb, g-zspche.ads,
namet-sp.adb, namet-sp.ads: New files.
* g-speche.adb: Use generic routine in g-spchge
* s-wchcnv.ads, s-wchcnv.adb:
Minor code cleanup (make formal type consistent with spec)
* namet.adb: Update comments.
* par-endh.adb (Evaluate_End_Entry): Use new
Namet.Sp.Is_Bad_Spelling_Of function
* par-load.adb (Load): Use new Namet.Sp.Is_Bad_Spelling_Of function
* sem_aggr.adb (Resolve_Record_Aggregate): If a component of an
ancestor is an access type initialized with a box, set its type
explicitly, for use in subsequent expansion.
(Check_Misspelled_Component): Use new Namet.Sp.Is_Bad_Spelling_Of
function
From-SVN: r130843
Vasiliy Fofanov [Thu, 13 Dec 2007 10:27:42 +0000 (11:27 +0100)]
g-regist.ads, [...] (Set_Value): new parameter Expand...
2007-12-06 Vasiliy Fofanov <fofanov@adacore.com>
* g-regist.ads, g-regist.adb (Set_Value): new parameter Expand; when
set to True this procedure will create the value of type REG_EXPAND_SZ.
It was only possible to create REG_SZ values before.
From-SVN: r130842
Vincent Celier [Thu, 13 Dec 2007 10:27:32 +0000 (11:27 +0100)]
gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when object directory of main project...
2007-12-06 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): Do not issue -d= switch to gnatmetric when
object directory of main project does not exist.
On VMS, correctly set then environment variable for the source
directories.
From-SVN: r130841
Robert Dewar [Thu, 13 Dec 2007 10:27:21 +0000 (11:27 +0100)]
gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
2007-12-06 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* gnat1drv.adb (Gnat1drv): Properly set new flag Opt.Real_VMS_Target
* layout.adb (Resolve_Attribute, case 'Access): If designated type of
context is a limited view, use non-limited view when available. If the
non-limited view is an unconstrained array, this enforces consistency
requirements in 3.10.2 (27).
(Layout_Type): For an access type whose designated type is a limited
view, examine its declaration to determine if it is an unconstrained
array, and size the access type accordingly.
(Layout_Type): Do not force 32-bits for convention c subprogram
pointers in -gnatdm mode, only if real vms target.
* sem_attr.adb (Analyze_Access_Attribute): Use new flag
Has_Pragma_Inline_Always instead of obsolete function Is_Always_Inlined
(Analyze_Access_Attribute,Attribute_Address): Remove checks for
violations of the No_Implicit_Dynamic_Code restriction.
(Resolve_Attribute, case 'Access): If designated type of context is a
limited view, use non-limited view when available. If the non-limited
view is an unconstrained array, this enforces consistency requirements
in 3.10.2 (27).
(Layout_Type): For an access type whose designated type is a limited
view, examine its declaration to determine if it is an unconstrained
array, and size the access type accordingly.
From-SVN: r130840
Emmanuel Briot [Thu, 13 Dec 2007 10:27:07 +0000 (11:27 +0100)]
g-calend.ads (No_Time): New constant, to represent an uninitialized time value
2007-12-06 Emmanuel Briot <briot@adacore.com>
* g-calend.ads (No_Time): New constant, to represent an uninitialized
time value
* g-catiio.ads, g-catiio.adb (Value): Added support for more date
formats.
(Month_Name_To_Number): New subprogram
* g-dirope.adb (Get_Current_Dir): On windows, normalize the drive
letter to upper-case.
From-SVN: r130839
Robert Dewar [Thu, 13 Dec 2007 10:26:56 +0000 (11:26 +0100)]
exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for assert fail
2007-12-06 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* exp_prag.adb (Expand_Pragma_Assert): Recognize new warning flag for
assert fail
* ug_words: Add entries for -gnatw.a -gnatw.A
* sem_res.adb (Set_String_Literal_Subtype): If the context of the
literal is a subtype with non-static constraints, use the base type of
the context as the base of the string subtype, to prevent type
mismatches in gigi.
(Resolve_Actuals): If the actual is an entity name, generate a
reference before the actual is resolved and expanded, to prevent
spurious warnings on formals of enclosing protected operations.
(Analyze_Overloaded_Selected_Component): If type of prefix if
class-wide, use visible components of base type.
(Resolve_Selected_Component): Ditto.
(Resolve_Short_Circuit): Detect case of pragma Assert argument
evaluating to False, and issue warning message.
* usage.adb: Add lines for -gnatw.a and -gnatw.A
From-SVN: r130838
Javier Miranda [Thu, 13 Dec 2007 10:26:41 +0000 (11:26 +0100)]
exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing support for generic dispatching constructor calls in which we need...
2007-12-06 Javier Miranda <miranda@adacore.com>
* exp_intr.adb (Expand_Dispatching_Constructor_Call): Add missing
support for generic dispatching constructor calls in which we need to
locate the tag of a secondary dispatch table associated with an
interface type to properly dispatch the call.
(Expand_N_Attribute_Reference [case Address],
Expand_Dispatching_Constructor_Call, Expand_Unc_Deallocation): Fix
handling of VM targets.
From-SVN: r130837
Pascal Obry [Thu, 13 Dec 2007 10:26:21 +0000 (11:26 +0100)]
expect.c (__gnat_kill): Implement the SIGINT signal on Windows.
2007-12-06 Pascal Obry <obry@adacore.com>
* expect.c (__gnat_kill) [WIN32]: Implement the SIGINT signal on
Windows. This signal is used by gnatmake to kill child processes for
example.
From-SVN: r130836
Hristian Kirtchev [Thu, 13 Dec 2007 10:26:10 +0000 (11:26 +0100)]
exp_disp.ads, [...] (Default_Prim_Op_Position): Primitive _Disp_Requeue occupies dispatch table slot number 15.
2007-12-06 Hristian Kirtchev <kirtchev@adacore.com>
Javier Miranda <miranda@adacore.com>
* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Primitive
_Disp_Requeue occupies dispatch table slot number 15. Move
_Disp_Timed_Select to slot 16.
(Make_Disp_Requeue_Body, Make_Disp_Requeue_Spec): New routines which
generate the spec and body of _Disp_Reqeueue.
(Make_DT): Build and initialize the second dispatch table.
Handle initialization of RC_Offset when the parent
is a private type with variable size components.
(Make_Secondary_DT): Complete documentation. Add support to
initialize the second dispatch table.
(Make_Tags): Generate the tag of the second dispatch table.
(Register_Primitive): Add support to register primitives in the
second dispatch table.
From-SVN: r130835
Hristian Kirtchev [Thu, 13 Dec 2007 10:26:00 +0000 (11:26 +0100)]
exp_ch9.adb (Expand_N_Asynchronous_Select, [...]): Code and comment reformatting.
2007-12-06 Hristian Kirtchev <kirtchev@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_N_Asynchronous_Select,
Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Code and
comment reformatting.
(Set_Privals): Inherit aliased flag from formal. From code reading.
(Build_Simple_Entry_Call): Out parameters of an access type are passed
by copy and initialized from the actual. This includes entry parameters.
(Expand_N_Requeue_Statement): Reimplement in order to handle both Ada 95
and Ada 2005 models of requeue.
(Null_Statements): Still connsider do-end block null if it contains
Unreferenced and Warnings pragmas.
(Expand_N_Accept_Statement): Do not optimize away null do end if
dispatching policy is other than defaulted.
(Expand_N_Timed_Entry_Call): When the triggering statement is a
dispatching call, manually analyze the delay statement.
(Find_Parameter_Type): Move subprogram to Sem_Util.
From-SVN: r130834
Gary Dismukes [Thu, 13 Dec 2007 10:25:50 +0000 (11:25 +0100)]
exp_ch8.ads, [...] (Expand_N_Subprogram_Renaming_Declaration): In the case where the renamed subprogram is a dereference...
2007-12-06 Gary Dismukes <dismukes@adacore.com>
* exp_ch8.ads, exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration):
In the case where the renamed subprogram is a dereference, call
Force_Evaluation on the prefix.
From-SVN: r130833
Javier Miranda [Thu, 13 Dec 2007 10:25:35 +0000 (11:25 +0100)]
exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute Is_Complation_Unit by Is_Library_Level_Entity...
2007-12-06 Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* exp_ch7.adb (Expand_N_Package_Body): Replace occurrence of attribute
Is_Complation_Unit by Is_Library_Level_Entity in the code
that decides if the static dispatch tables need to be built.
(Wrap_Transient_Declaration): Do not generate a finalization call if
this is a renaming declaration and the renamed object is a component
of a controlled type.
From-SVN: r130832
Arnaud Charlet [Thu, 13 Dec 2007 10:25:14 +0000 (11:25 +0100)]
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
Hristian Kirtchev [Thu, 13 Dec 2007 10:24:53 +0000 (11:24 +0100)]
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
Ed Schonberg [Thu, 13 Dec 2007 10:24:44 +0000 (11:24 +0100)]
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
Ed Schonberg [Thu, 13 Dec 2007 10:24:30 +0000 (11:24 +0100)]
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
Geert Bosch [Thu, 13 Dec 2007 10:24:08 +0000 (11:24 +0100)]
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
Vincent Celier [Thu, 13 Dec 2007 10:23:55 +0000 (11:23 +0100)]
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
Hristian Kirtchev [Thu, 13 Dec 2007 10:23:40 +0000 (11:23 +0100)]
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
Bob Duff [Thu, 13 Dec 2007 10:23:29 +0000 (11:23 +0100)]
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
Robert Dewar [Thu, 13 Dec 2007 10:23:01 +0000 (11:23 +0100)]
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
Robert Dewar [Thu, 13 Dec 2007 10:22:45 +0000 (11:22 +0100)]
back_end.adb: Recognize -fno-inline
2007-12-06 Robert Dewar <dewar@adacore.com>
* back_end.adb: Recognize -fno-inline
From-SVN: r130822
Vincent Celier [Thu, 13 Dec 2007 10:22:25 +0000 (11:22 +0100)]
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
Robert Dewar [Thu, 13 Dec 2007 10:22:06 +0000 (11:22 +0100)]
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
Geert Bosch [Thu, 13 Dec 2007 10:21:51 +0000 (11:21 +0100)]
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
Robert Dewar [Thu, 13 Dec 2007 10:21:30 +0000 (11:21 +0100)]
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
Robert Dewar [Thu, 13 Dec 2007 10:20:52 +0000 (11:20 +0100)]
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
Jose Ruiz [Thu, 13 Dec 2007 10:19:55 +0000 (11:19 +0100)]
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
Robert Dewar [Thu, 13 Dec 2007 10:19:43 +0000 (11:19 +0100)]
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
Eric Botcazou [Thu, 13 Dec 2007 10:19:19 +0000 (11:19 +0100)]
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
Robert Dewar [Thu, 13 Dec 2007 10:19:04 +0000 (11:19 +0100)]
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
Pascal Obry [Thu, 13 Dec 2007 10:18:44 +0000 (11:18 +0100)]
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
Richard Sandiford [Thu, 13 Dec 2007 09:30:49 +0000 (09:30 +0000)]
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
Torbjorn Granlund [Thu, 13 Dec 2007 09:19:11 +0000 (10:19 +0100)]
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
Richard Earnshaw [Thu, 13 Dec 2007 01:03:53 +0000 (01:03 +0000)]
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
GCC Administrator [Thu, 13 Dec 2007 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130798
Jakub Jelinek [Wed, 12 Dec 2007 20:54:10 +0000 (21:54 +0100)]
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
Tobias Burnus [Wed, 12 Dec 2007 18:54:26 +0000 (19:54 +0100)]
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
David Edelsohn [Wed, 12 Dec 2007 17:49:29 +0000 (17:49 +0000)]
* config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
From-SVN: r130791
Aldy Hernandez [Wed, 12 Dec 2007 11:12:39 +0000 (11:12 +0000)]
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
Andreas Krebbel [Wed, 12 Dec 2007 09:15:03 +0000 (09:15 +0000)]
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
DJ Delorie [Wed, 12 Dec 2007 01:38:10 +0000 (20:38 -0500)]
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
GCC Administrator [Wed, 12 Dec 2007 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130783
Benjamin Kosnik [Tue, 11 Dec 2007 21:48:16 +0000 (21:48 +0000)]
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
Paolo Carlini [Tue, 11 Dec 2007 19:08:26 +0000 (19:08 +0000)]
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
Aldy Hernandez [Tue, 11 Dec 2007 12:48:28 +0000 (12:48 +0000)]
* decl.c (add_global_entry): Make type unsigned.
From-SVN: r130775
Nathan Sidwell [Tue, 11 Dec 2007 12:28:55 +0000 (12:28 +0000)]
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
Kai Tietz [Tue, 11 Dec 2007 09:46:57 +0000 (09:46 +0000)]
config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
target same as 32-bit.
From-SVN: r130773
Bernhard Fischer [Tue, 11 Dec 2007 08:36:13 +0000 (09:36 +0100)]
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
Jakub Jelinek [Tue, 11 Dec 2007 08:22:10 +0000 (09:22 +0100)]
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
Jakub Jelinek [Tue, 11 Dec 2007 08:20:15 +0000 (09:20 +0100)]
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
Uros Bizjak [Tue, 11 Dec 2007 08:08:12 +0000 (09:08 +0100)]
re PR tree-optimization/34407 (verify_stmts failed)
PR tree-optimization/34407
* gcc.dg/vect/pr34407.c: New test.
From-SVN: r130769
Jerry DeLisle [Tue, 11 Dec 2007 03:56:05 +0000 (03:56 +0000)]
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
Jerry DeLisle [Tue, 11 Dec 2007 03:49:52 +0000 (03:49 +0000)]
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
GCC Administrator [Tue, 11 Dec 2007 00:17:54 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130764
Eric Botcazou [Mon, 10 Dec 2007 23:15:17 +0000 (23:15 +0000)]
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
Jakub Jelinek [Mon, 10 Dec 2007 22:49:43 +0000 (23:49 +0100)]
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
Simon Martin [Mon, 10 Dec 2007 22:39:27 +0000 (22:39 +0000)]
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
Eric Botcazou [Mon, 10 Dec 2007 22:30:02 +0000 (23:30 +0100)]
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
Tobias Burnus [Mon, 10 Dec 2007 21:42:56 +0000 (22:42 +0100)]
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
Kenneth Zadeck [Mon, 10 Dec 2007 21:31:59 +0000 (21:31 +0000)]
[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
Mark Heffernan [Mon, 10 Dec 2007 21:04:19 +0000 (21:04 +0000)]
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
Jonathan Wakely [Mon, 10 Dec 2007 20:16:04 +0000 (20:16 +0000)]
howto.html: Add links to referenced articles.
2007-12-10 Jonathan Wakely <jwakely.gcc@gmail.com>
* docs/html/21_strings/howto.html: Add links to referenced articles.
From-SVN: r130749
Jonathan Wakely [Mon, 10 Dec 2007 19:58:19 +0000 (19:58 +0000)]
backwards_compatibility.html: Fix markup.
2007-12-10 Jonathan Wakely <jwakely.gcc@gmail.com>
* docs/html/17_intro/backwards_compatibility.html: Fix markup.
* docs/html/17_intro/howto.html: Likewise.
* docs/html/18_support/howto.html: Likewise.
* docs/html/ext/concurrence.html: Likewise.
* docs/html/documentation.html: Likewise.
From-SVN: r130748
Andreas Tobler [Mon, 10 Dec 2007 18:40:05 +0000 (18:40 +0000)]
configure.ac: Enable libjava for x86_64-*-darwin9.
2007-12-10 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Enable libjava for x86_64-*-darwin9.
* configure: Regenerate.
From-SVN: r130747
Paolo Carlini [Mon, 10 Dec 2007 16:55:30 +0000 (16:55 +0000)]
requirements/non_uint_neg.cc: Avoid -Wall warnings.
2007-12-10 Paolo Carlini <pcarlini@suse.de>
* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
requirements/non_uint_neg.cc: Avoid -Wall warnings.
* testsuite/tr1/5_numerical_facilities/special_functions/
01_assoc_laguerre/compile.cc: Likewise.
* testsuite/util/testsuite_api.h: Likewise.
From-SVN: r130746
Jakub Jelinek [Mon, 10 Dec 2007 14:38:05 +0000 (15:38 +0100)]
re PR c++/34395 (Broken diagnostic: 'type_pack_expansion' not supported by dump_type_prefix/suffix)
PR c++/34395
* error.c (dump_type_prefix, dump_type_suffix): Handle
TYPE_PACK_EXPANSION.
* g++.dg/cpp0x/error1.C: New test.
From-SVN: r130745
Jakub Jelinek [Mon, 10 Dec 2007 14:31:30 +0000 (15:31 +0100)]
re PR c++/34394 (Broken diagnostic: 'abs_expr' not supported by dump_expr)
PR c++/34394
* error.c (dump_expr): Handle ABS_EXPR.
* g++.dg/other/error22.C: New test.
From-SVN: r130744
Paolo Carlini [Mon, 10 Dec 2007 13:53:10 +0000 (13:53 +0000)]
[multiple changes]
2007-12-10 Paolo Carlini <pcarlini@suse.de>
* testsuite/25_algorithms/nth_element/2.cc: Avoid -Wall warnings.
* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
* testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
28277-2.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
28277-3.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
28277-4.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/
28277-3.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_character/char/
28277-4.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Likewise.
* testsuite/18_support/headers/cstddef/macros.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/
wchar_t/28277.cc: Likewise.
* testsuite/21_strings/basic_string/inserters_extractors/
char/28277.cc: Likewise.
* testsuite/26_numerics/headers/cmath/25913.cc: Likewise.
* testsuite/ext/pb_ds/example/priority_queue_xref.cc: Likewise.
* testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: Likewise.
* testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
* testsuite/22_locale/collate/compare/char/2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
* testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
* testsuite/22_locale/codecvt/length/char/1.cc: Likewise.
* testsuite/22_locale/codecvt/length/char/2.cc: Likewise.
* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
* testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
* testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/random/uniform_int/
33128.cc: Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/
mutex_weaktoshared.cc: Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/
default_weaktoshared.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/wchar_t/
range.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/assign/char/
range.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
range.cc: Likewise.
* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
range.cc: Likewise.
* testsuite/23_containers/multimap/operations/1.cc: Likewise.
* testsuite/23_containers/set/operations/1.cc: Likewise.
* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/1.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
* testsuite/23_containers/multiset/operations/1.cc: Likewise.
* testsuite/23_containers/map/operations/1.cc: Likewise.
* testsuite/util/testsuite_hooks.cc: Likewise.
* testsuite/util/testsuite_rvalref.h: Likewise.
2007-12-10 Jakub Jelinek <jakub@redhat.com>
* include/ext/throw_allocator.h (print_to_string): Change sprintf
format to %lu and cast ref.second.{first,second} to long.
* include/debug/safe_iterator.tcc (_M_can_advance): Add parens to
avoid warnings.
From-SVN: r130743
Jakub Jelinek [Mon, 10 Dec 2007 13:05:15 +0000 (14:05 +0100)]
dwarf2out.c (gen_array_type_die, [...]): For Fortran multi-dimensional arrays use DW_AT_ordering DW_ORD_col_major.
* dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For
Fortran multi-dimensional arrays use DW_AT_ordering
DW_ORD_col_major.
From-SVN: r130742
Uros Bizjak [Mon, 10 Dec 2007 10:39:20 +0000 (11:39 +0100)]
* ChangeLog: Fix my last ChangeLog entry.
From-SVN: r130739
Paolo Bonzini [Mon, 10 Dec 2007 08:34:37 +0000 (08:34 +0000)]
re PR target/32086 (10% to 20% Performance Regression Between 4.1.3 and 4.3)
2007-12-10 Paolo Bonzini <bonzini@gnu.org>
PR target/32086
* config/i386/i386.c (override_options): Enable -fvect-cost-model.
2007-12-10 Paolo Bonzini <bonzini@gnu.org>
PR target/32086
* gcc.dg/vect/vect.exp (DEFAULT_VECTCFLAGS): Disable cost model.
* g++.dg/vect/vect.exp (DEFAULT_VECTCFLAGS): Disable cost model.
* gfortran.dg/vect/vect.exp (DEFAULT_VECTCFLAGS): Disable cost model.
From-SVN: r130738
Uros Bizjak [Mon, 10 Dec 2007 07:46:12 +0000 (08:46 +0100)]
i386.c (ix86_function_regparm): Ditto.
* config/i386/i386.c (ix86_function_regparm): Ditto. Use REGPARM_MAX
to check that no regparm hard register is taken by a fixed register
variable. Check up to and including DI_REG when adjusting regparm
value due to fixed regs usage.
(rep_prefix_usable): Check fixed_regs array, not global_regs array for
available hard registers.
(ix86_expand_strlen): Ditto.
* config/i386/i386.md (strmov): Ditto.
(cmpstrnsi): Ditto.
From-SVN: r130737
Kaz Kojima [Mon, 10 Dec 2007 05:42:02 +0000 (05:42 +0000)]
genopinit.c: Include tm_p.h in generated file.
* genopinit.c: Include tm_p.h in generated file.
* config/arm/neon.md (vec_set<mode>_internal): Use INTVAL
to extract the integer from operands[2].
(vec_setv2di_internal): Likewise.
* config/arm/arm.c (arm_size_return_regs): Make return type
unsigned.
(arm_init_neon_builtins): Move code after declarations.
From-SVN: r130736
Hans-Peter Nilsson [Mon, 10 Dec 2007 01:09:44 +0000 (01:09 +0000)]
reload.c (find_reloads_address_1): To properly mark as an autoincdec...
* reload.c (find_reloads_address_1): To properly mark as an
autoincdec, pass X for non-NULL OUT in call to push_reload for
autoincdec which can't be trivially used as an address.
From-SVN: r130734
Pranav Bhandarkar [Mon, 10 Dec 2007 01:01:03 +0000 (01:01 +0000)]
caller-save.c (insert_one_insn): If inserting before a call_insn then the registers containing the arguments of...
* caller-save.c (insert_one_insn): If inserting before a call_insn
then the registers containing the arguments of the call are
live_throughout in the new insn.
Co-Authored-By: Hans-Peter Nilsson <hp@axis.com>
From-SVN: r130733
Benjamin Kosnik [Mon, 10 Dec 2007 00:38:36 +0000 (00:38 +0000)]
howto.html: Update.
2007-12-09 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/ext/howto.html: Update.
* docs/html/ext/sgiexts.html: Same.
* docs/html/ext/concurrence.html: New. Document extensions.
* docs/html/17_intro/api.html: Move some bits...
* docs/html/17_intro/backwards_compatibility.html: here. New. Add
compatibility suggestions, move existing ones.
* docs/html/17_intro/howto.html: Update info.
* docs/html/18_support/howto.html: Tweak.
* docs/html/faq/index.html: Update thread info.
* docs/html/documentation.html: Add links.
* docs/html/20_util/allocator.html: Update info.
* include/precompiled/stdc++.h: Add C++0x includes if appropriate.
* testsuite/17_intro/headers/c++200x/all.cc: Same.
From-SVN: r130732
GCC Administrator [Mon, 10 Dec 2007 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130730
Jakub Jelinek [Sun, 9 Dec 2007 21:26:29 +0000 (22:26 +0100)]
re PR c++/34178 (Compilation using -frepo fails)
PR c++/34178
PR c++/34340
* repo.c (repo_emit_p): Return 2 for DECL_INTEGRAL_CONSTANT_VAR_P
in class scope rather than DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
Return 2 also if DECL_EXPLICIT_INSTANTIATION.
* decl2.c (import_export_decl): Don't make VAR_DECLs import_p when
flag_use_repository and repo_emit_p returned 2.
* g++.dg/template/repo6.C: New test.
* g++.dg/template/repo7.C: New test.
* g++.dg/template/repo8.C: New test.
From-SVN: r130727
Jonathan Wakely [Sun, 9 Dec 2007 19:43:49 +0000 (19:43 +0000)]
testsuite_allocator.h, [...]: Remove semi-colons after namespace declarations.
2007-12-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/util/testsuite_allocator.h,
testsuite/util/testsuite_hooks.cc,
testsuite/util/testsuite_character.h,
testsuite/util/testsuite_performance.h,
testsuite/util/testsuite_rvalref.h, testsuite/util/testsuite_io.h,
testsuite/util/testsuite_allocator.cc: Remove semi-colons after
namespace declarations.
From-SVN: r130726
John David Anglin [Sun, 9 Dec 2007 18:02:08 +0000 (18:02 +0000)]
re PR target/32889 (ICE in delete_output_reload, at reload1.c:7926)
PR middle-end/32889
PR target/34091
* pa.md: Consolidate HImode and QImode move patterns into one pattern
each, eliminating floating-point alternatives.
* pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
Declare functions.
* pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
* pa.c (pa_secondary_reload): Use an intermediate general register
for copies to/from floating-point register classes. Simplify code
SHIFT_REGS class. Provide additional comments.
(pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
* pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
(SECONDARY_MEMORY_NEEDED): Delete define.
(INT14_OK_STRICT): Define.
(MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
soft float.
(MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
(GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
SFmode and DFmode.
(LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
Align DImode offsets when generating 64-bit code.
* pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
(CANNOT_CHANGE_MODE_CLASS): Define.
* pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
(CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.
From-SVN: r130725
Jakub Jelinek [Sun, 9 Dec 2007 17:08:06 +0000 (18:08 +0100)]
re PR fortran/22244 (dimension information is lost for multi-dimension array)
PR fortran/22244
* langhooks-def.h (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
* langhooks.h (struct array_descr_info): Forward declaration.
(struct lang_hooks_for_types): Add get_array_descr_info field.
* dwarf2.h (DW_AT_bit_stride, DW_AT_byte_stride): New.
(DW_AT_stride_size, DW_AT_stride): Keep around for Dwarf2
compatibility.
* dwarf2out.h (struct array_descr_info): New type.
* dwarf2out.c (dwarf_attr_name): Rename DW_AT_stride to
DW_AT_byte_stride and DW_AT_stride_size to DW_AT_bit_size.
(descr_info_loc, add_descr_info_field, gen_descr_array_type_die):
New functions.
(gen_type_die_with_usage): Call lang_hooks.types.get_array_descr_info
and gen_descr_array_type_die.
* trans.h (struct array_descr_info): Forward declaration.
(gfc_get_array_descr_info): New prototype.
(enum gfc_array_kind): New type.
(struct lang_type): Add akind field.
(GFC_TYPE_ARRAY_AKIND): Define.
* trans-types.c: Include dwarf2out.h.
(gfc_build_array_type): Add akind argument. Adjust
gfc_get_array_type_bounds call.
(gfc_get_nodesc_array_type): Include proper debug info even for
assumed-size arrays.
(gfc_get_array_type_bounds): Add akind argument, set
GFC_TYPE_ARRAY_AKIND to it.
(gfc_sym_type, gfc_get_derived_type): Adjust gfc_build_array_type
callers.
(gfc_get_array_descr_info): New function.
* trans-array.c (gfc_trans_create_temp_array,
gfc_conv_expr_descriptor): Adjust gfc_get_array_type_bounds
callers.
* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Likewise.
* trans-types.h (gfc_get_array_type_bounds): Adjust prototype.
* Make-lang.in (fortran/trans-types.o): Depend on dwarf2out.h.
* f95-lang.c (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
From-SVN: r130724
Tobias Burnus [Sun, 9 Dec 2007 12:58:25 +0000 (13:58 +0100)]
[multiple changes]
2007-12-09 Tobias Burnus <burnus@net-b.de>
PR fortran/34404
* io/list_read.c (parse_real): Remove superfluous "goto bad;".
2007-12-09 H.J. Lu <hjl@lucon.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/34404
* gfortran.dg/read_2.f90: New.
From-SVN: r130723
Ben Elliston [Sun, 9 Dec 2007 12:27:19 +0000 (23:27 +1100)]
Fix formatting of 2007-12-07 entry.
From-SVN: r130722
Richard Sandiford [Sun, 9 Dec 2007 12:07:51 +0000 (12:07 +0000)]
target-supports.exp (check_effective_target_tls_native): Fix typo.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_tls_native):
Fix typo.
From-SVN: r130721
Samuel Tardieu [Sun, 9 Dec 2007 11:07:54 +0000 (11:07 +0000)]
re PR ada/34366 (Legal program rejected, various anonymous access-to-subprogram types, Ada 2005)
gcc/ada/
PR ada/34366
* sem_ch3.adb (Designates_T): New function.
(Mentions_T): Factor reusable part of the logic into Designates_T.
Consider non-access parameters and access and non-access result.
(Check_Anonymous_Access_Components): Set ekind of anonymous access to
E_Subprogram_Type to E_Anonymous_Access_Subprogram_Type.
* einfo.ads: Update comment for E_Anonymous_Access_Subprogram_Type.
gcc/testsuite/
PR ada/34366
* gnat.dg/enclosing_record_reference.ads,
gnat.dg/enclosing_record_reference.adb: New test.
From-SVN: r130720
Paul Thomas [Sun, 9 Dec 2007 09:17:24 +0000 (09:17 +0000)]
re PR fortran/32129 (ICE: Procedure call with array-section-actual to scalar dummy)
2007-12-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32129
* dump-parse-tree.c (gfc_show_expr_n): New function for
debugging.
* gfortran.h : Add prototype for gfc_show_expr_n.
* expr.c (simplify_constructor): Copy the constructor
expression and try to simplify that. If success, replace the
original. Otherwise discard the copy, keep going through
the structure and return success.
PR fortran/31487
* decl.c (build_struct): Pad out default initializers with
spaces to the component character length.
2007-12-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32129
* gfortran.dg/derived_comp_array_ref_6.f90: New test.
* gfortran.dg/derived_comp_array_ref_7.f90: New test.
PR fortran/31487
* gfortran.dg/char_component_initializer_1.f90: New test.
From-SVN: r130719
GCC Administrator [Sun, 9 Dec 2007 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130716
Tobias Burnus [Sat, 8 Dec 2007 21:46:56 +0000 (22:46 +0100)]
re PR fortran/34342 (BOZ extensions not diagnosed as such with -std=f95)
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34342
PR fortran/34345
PR fortran/18026
PR fortran/29471
* gfortran.texi (BOZ literal constants): Improve documentation
and adapt for BOZ changes.
* Make-lang.ini (resolve.o): Add target-memory.h dependency.
* gfortran.h (gfc_expr): Add is_boz flag.
* expr.c: Include target-memory.h.
(gfc_check_assign): Support transferring BOZ for real/cmlx.
* resolve.c: Include target-memory.h
(resolve_ordinary_assign): Support transferring BOZ for real/cmlx.
* target-memory.c (gfc_convert_boz): New function.
* target-memory.c (gfc_convert_boz): Add prototype.
* primary.c (match_boz_constant): Set is_boz, enable F95 error
also without -pedantic, and allow for Fortran 2003 BOZ.
(match_real_constant): Fix comment.
* simplify.c
* (simplify_cmplx,gfc_simplify_dble,gfc_simplify_float,
gfc_simplify_real): Support Fortran 2003 BOZ.
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34342
PR fortran/34345
PR fortran/18026
PR fortran/29471
* gfortran.dg/boz_8.f90: New.
* gfortran.dg/boz_9.f90: New.
* gfortran.dg/boz_10.f90: New.
* gfortran.dg/boz_7.f90: Update dg-warning.
* gfortran.dg/pr16433.f: Add dg-error.
* gfortan.dg/ibits.f90: Update dg-warning.
* gfortran.dg/unf_io_convert_1.f90: Update/delete dg-warning.
* gfortran.dg/unf_io_convert_2.f90: Ditto.
From-SVN: r130713
Jakub Jelinek [Sat, 8 Dec 2007 21:00:06 +0000 (22:00 +0100)]
re PR fortran/34359 (ICE in December 6 version of gfortran when compiling a file with two routines that contain INCLUDE statements)
PR fortran/34359
* gfortran.h (gfc_file): Remove sibling and down fields.
* scanner.c (file_changes, file_changes_cur, file_changes_count,
file_changes_allocated): New variables.
(add_file_change, report_file_change): New functions.
(change_file): Remove.
(gfc_start_source_files, gfc_end_source_files): Call
report_file_change instead of change_file.
(gfc_advance_line): Call report_file_change instead of change_file,
call it even if lb->file == lb->next->file.
(get_file): Revert last changes.
(preprocessor_line): Call add_file_change when entering or leaving
a file.
(load_file): Likewise. Set file_change[...].lb for all newly added
file changes.
* gfortran.dg/include_1.f90: New test.
* gfortran.dg/include_1.inc: New.
* gfortran.dg/include_2.f90: New test.
From-SVN: r130712
David Daney [Sat, 8 Dec 2007 19:57:40 +0000 (19:57 +0000)]
n32.S (ffi_call_N32): Replace dadd with ADDU...
2007-12-08 David Daney <ddaney@avtrex.com>
* src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
SUBU, add with ADDU and use smaller code sequences.
From-SVN: r130711
Paul de Weerd [Sat, 8 Dec 2007 19:26:33 +0000 (20:26 +0100)]
200x-xx-xx Paul de Weerd <weerd@weirdnet.nl>
gcc/testsuite/
200x-xx-xx Paul de Weerd <weerd@weirdnet.nl>
* gcc.c-torture/compile/
20011130-2.c: Fix typo.
From-SVN: r130710
Andreas Tobler [Sat, 8 Dec 2007 19:23:58 +0000 (19:23 +0000)]
configure.host: Add bits for i?86-*-darwin9 and x86_64-*-darwin9.
2007-12-08 Andreas Tobler <a.tobler@schweiz.org>
* configure.host: Add bits for i?86-*-darwin9 and x86_64-*-darwin9.
* configure.ac: Add darwin-signal.h to x86_64-*-darwin9 and
i?86-*darwin9.
* configure.in: Regenerate.
* darwin.cc: Add definitions for Darwin specific functions for 64-bit.
(darwin_java_register_dyld_add_image_hook): Use this specific
functions.
* Makefile.am (gij_LDFLAGS): Add extra_gij_ldflags for Darwin9.
* Makefile.in: Regenerate.
* include/Makefile.in: Likewise.
* gcj/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* testsuite/lib/libjava.exp (libjava_arguments): Add allow_stack_execute
for *-*-darwin9*.
From-SVN: r130709
Tobias Burnus [Sat, 8 Dec 2007 15:51:52 +0000 (16:51 +0100)]
re PR fortran/34319 (I/O: Support "NaN", "Infinity" and "INF" as input)
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34319
* io/list_read.c (parse_real, read_real): Support NaN/Infinity.
2007-12-08 Tobias Burnus <burnus@net-b.de>
PR fortran/34319
* gfortran.dg/nan_3.f90: New.
From-SVN: r130708
Richard Guenther [Sat, 8 Dec 2007 14:51:59 +0000 (14:51 +0000)]
re PR tree-optimization/34391 (Vectorizer does not fix up alias information correctly)
2007-12-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34391
* tree-vect-transform.c (vect_setup_realignment): Mark new
symbols for renaming.
From-SVN: r130707
Bill Maddox [Sat, 8 Dec 2007 03:02:10 +0000 (03:02 +0000)]
Add myself to MAINTAINERS file.
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r130704
GCC Administrator [Sat, 8 Dec 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r130702
David Daney [Fri, 7 Dec 2007 23:21:04 +0000 (23:21 +0000)]
ffi.c (ffi_prep_cif_machdep): Handle long double return type.
2007-12-07 David Daney <ddaney@avtrex.com>
* src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
type.
From-SVN: r130699