Vincent Celier [Thu, 16 Jun 2005 08:34:41 +0000 (10:34 +0200)]
clean.adb (Clean_Project): Correctly delete executable specified as absolute path names.
2005-06-14 Vincent Celier <celier@adacore.com>
* clean.adb (Clean_Project): Correctly delete executable specified as
absolute path names.
* make.adb (Gnatmake): Allow relative executable path names with
directory information even when project files are used.
(Change_To_Object_Directory): Fail gracefully when unable to change
current working directory to object directory of a project.
(Gnatmake): Remove exception handler that could no longer be exercized
(Compile_Sources.Compile): Use deep copies of arguments, as some of them
may be deallocated by Normalize_Arguments.
(Collect_Arguments): Eliminate empty arguments
* gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
(Check_Project): Return False when Project is No_Project. Return True
when All_Projects is True.
(GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
All_Projects to True.
Minor reformatting
From-SVN: r101028
Ed Schonberg [Thu, 16 Jun 2005 08:34:11 +0000 (10:34 +0200)]
checks.adb (Install_Null_Excluding_Check): Do not generate checks for an attribute reference that returns an access type.
2005-06-14 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Install_Null_Excluding_Check): Do not generate checks
for an attribute reference that returns an access type.
(Apply_Discriminant_Check): No need for check if (designated) type has
constrained partial view.
(Apply_Float_Conversion_Check): Generate a short-circuit expression for
both bound checks, rather than a conjunction.
(Insert_Valid_Check): If the expression is an actual that is an indexed
component of a bit-packed array, force expansion of the packed element
reference, because it is specifically inhibited elsewhere.
From-SVN: r101027
Robert Dewar [Thu, 16 Jun 2005 08:33:46 +0000 (10:33 +0200)]
atree.adb: (Elist*): Protect against uninitialized field
2005-06-14 Robert Dewar <dewar@adacore.com>
* atree.adb: (Elist*): Protect against uninitialized field
From-SVN: r101026
Robert Dewar [Thu, 16 Jun 2005 08:33:07 +0000 (10:33 +0200)]
a-textio.adb (Set_Col): Fix two errors noticed recently...
2005-06-14 Robert Dewar <dewar@adacore.com>
* a-textio.adb (Set_Col): Fix two errors noticed recently, having to
do with treatment of Set_Col when positioned at end of line character.
From-SVN: r101025
Gary Dismukes [Thu, 16 Jun 2005 08:32:47 +0000 (10:32 +0200)]
exp_ch4.adb (Expand_Allocator_Expression): When an initialized allocator's designated type is a class-wide type...
2005-06-14 Gary Dismukes <dismukes@adacore.com>
Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): When an initialized
allocator's designated type is a class-wide type, and compiling for
Ada 2005, emit a run-time check that the accessibility level of the
type given in the allocator's expression is not deeper than the level
of the allocator's access type.
(Tagged_Membership): Modified to gives support to abstract interface
types.
* a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
Access_Level.
(Descendant_Tag): New predefined function
(Is_Descendant_At_Same_Level): New predefined function
(Get_Access_Level): New private function
(Set_Access_Level): New private procedure
(IW_Membership): New function. Given the tag of an object and the tag
associated with an interface, evaluate if the object implements the
interface.
(Register_Interface_Tag): New procedure used to initialize the table of
interfaces used by the IW_Membership function.
(Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
of the dispatch table.
(Inherit_TSD): Modified to copy the table of ancestor tags plus the
table of interfaces of the parent.
(Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
(External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
(Parent_Tag): Return No_Tag in the case of a root-level tagged type,
and raise Tag_Error if the passed tag equalis No_Tag, to conform with
Ada 2005 semantics for the new predefined function.
* exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
call to Descendant_Tag rather than Internal_Tag.
(Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
the accessibility level of the attribute's Item parameter is not deeper
than the level of the attribute's prefix type. Tag_Error is raised if
the check fails. The check is only emitted for Ada_05.
(Find_Stream_Subprogram): If a TSS exists on the type itself for the
requested stream attribute, use it.
(Expand_N_Attribute_Reference): If the designated type is an interface
then rewrite the referenced object as a conversion to force the
displacement of the pointer to the secondary dispatch table.
(Expand_N_Attribute_Reference, case 'Constrained): Return false if this
is a dereference of an object with a constrained partial view.
* exp_ch5.adb (Expand_N_Return_Statement): When a function's result
type is a class-wide type, emit a run-time check that the accessibility
level of the returned object is not deeper than the level of the
function's master (only when compiling for Ada 2005).
* exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
Action_Nb_Arg): Add entries for new Get_Access_Level and
Set_Access_Level routines in these tables.
(Make_DT): Generate a call to set the accessibility level of the
tagged type in its TSD.
(Make_DT): Code cleanup. The functionality of generating all the
secondary dispatch tables has been moved to freeze_record_type.
(Make_Abstract_Interface_DT): Minor code cleanup.
(Set_All_DT_Position): Code cleanup. As part of the code cleanup
this subprogram implements a new algorithm that provides the
same functionality and it is more clear in case of primitives
associated with abstract interfaces.
(Set_All_Interfaces_DTC_Entity): Removed. As part of the code
clean up, the functionality of this subprogram is now provided
by Set_All_DT_Position.
(Write_DT): New subprogram: a debugging procedure designed to be called
within gdb to display the dispatch tables associated with a tagged
type.
(Collect_All_Interfaces): New subprogram that collects the whole list
of interfaces that are directly or indirectly implemented by a tagged
type.
(Default_Prim_Op_Position): New subprogram that returns the fixed
position in the dispatch table of the default primitive operations.
(Expand_Interface_Actuals): New subprogram to generate code that
displaces all the actuals corresponding to class-wide interfaces to
reference the interface tag of the actual object.
(Expand_Interface_Conversion): New subprogram. Reference the base of
the object to give access to the interface tag associated with the
secondary dispatch table.
(Expand_Interface_Thunk): New subprogram that generates the code of the
thunk. This is required for compatibility with the C+ ABI.
(Make_Abstract_Interface_DT): New subprogram that generate the
declarations for the secondary dispatch tables associated with an
abstract interface.
(Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
attribute for each primitive operation covering interface subprograms
(Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
These subprograms were upgraded to give support to abstract interfaces
* rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
RE_Set_Access_Level.
(RE_Unit_Table): Add entries for new Ada.Tags operations.
Add support to call the followig new run-time subprograms:
IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
* sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
match its full declaration when both have an access definition with
statically matching designated subtypes.
(Analyze_Component_Declaration): Delete commented out code that was
incorrectly setting the scope of an anonymous access component's type.
(Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
an access discriminant when the containing type is nonlimited.
(Make_Incomplete_Type_Declaration): Create an incomplete type
declaration for a record type that includes self-referential access
components.
(Check_Anonymous_Access_Types): Before full analysis of a record type
declaration, create anonymous access types for each self-referential
access component.
(Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
an access component in this context is a Local_Anonymous_Access, for
proper accessibility checks.
(Access_Definition): Set properly the scope of the anonymous access type
created for a stand-alone access object.
(Find_Type_Of_Object): An object declaration may be given with an access
definition.
(Complete_Subprograms_Derivation): New subprogram used to complete
type derivation of private tagged types implementing interfaces.
In this case some interface primitives may have been overriden
with the partial-view and, instead of re-calculating them, they
are included in the list of primitive operations of the full-view.
(Build_Derived_Record_Type): Modified to give support to private
types implemening interfaces.
(Access_Definition): Reject ALL on anonymous access types.
(Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
type derivation to occur at a deeper accessibility level than the
parent type.
For the case of derivation within a generic body however, disallow the
derivation if the derived type has an ancestor that is a formal type
declared in the formal part of an enclosing generic.
(Analyze_Object_Declaration): For protected objects, remove the check
that they cannot contain interrupt handlers if not declared at library
level.
(Add_Interface_Tag_Components): New subprogram to add the tag components
corresponding to all the abstract interface types implemented by a
record type or a derived record type.
(Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
Process_Full_View, Record_Type_Declaration): Modified to give
support to abstract interface types
(Collect_Interfaces): New subprogram that collects the list of
interfaces that are not already implemented by the ancestors
(Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
when partial view has no discriminants and full view has defaults.
(Constrain_Access): Reject a constraint on a general access type
if the discriminants of the designated type have defaults.
(Access_Subprogram_Declaration): Associate the Itype node with the inner
full-type declaration or subprogram spec. This is required to handle
nested anonymous declarations.
(Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
Process_Full_View, Record_Type_Declaration): Modified to give
support to abstract interface types
(Derive_Subprograms): Addition of a new formal to indicate if
we are in the case of an abstact-interface derivation
(Find_Type_Of_Subtype_Indic): Moved from the body of the package
to the specification because it is requied to analyze all the
identifiers found in a list of interfaces
* debug.adb: Complete documentation of flag "-gnatdZ"
* exp_ch3.adb: Implement config version of persistent_bss pragma
(Check_Stream_Attributes): Use Stream_Attribute_Available instead of
testing for TSS presence to properly enforce visibility rules.
(Freeze_Record_Type): Code cleanup. Modified to call the subprogram
Make_Abstract_Interfaces_DT to generate the secondary tables
associated with abstract interfaces.
(Build_Init_Procedure): Modified to initialize all the tags
corresponding.
(Component_Needs_Simple_Initialization): Similar to other tags,
interface tags do not need initialization.
(Freeze_Record_Type): Modified to give support to abstract interface
types.
(Expand_N_Object_Declaration): Do not generate an initialization for
a scalar temporary marked as internal.
* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
in-out parameter that is a component in an initialization procedure,
whose constraint might depend on discriminants, and that may be
misaligned because of packing or representation clauses.
(Is_Legal_Copy): New predicate to determine whether a possibly
misaligned in-out actual can actually be passed by copy/return. This
is an error in case the type is by_reference, and a warning if this is
the consequence of a DEC import pragma on the subprogram.
(Expand_Call, Freeze_Subprogram): Modified to give support to abstract
interface types
(Expand_Inlined_Call): Mark temporary generated for the return value as
internal, so that no useless scalar normalization is generated for it.
(Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
null procedure can always be inlined.
(Expand_N_Subprogram_Declaration): If this is the declaration of a null
procedure, generate an explicit empty body for it.
* exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
Given a type implementing an interface, returns the corresponding
access_disp_table value.
(Find_Interface_Tag): New subprogram. Given a type implementing an
interface, returns the record component containing the tag of the
interface.
(Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
previous ones that return the corresponding tag and access_disp_table
entities.
(Is_Predefined_Dispatching_Operation): Determines if a subprogram
is a predefined primitive operation.
(Expand_Subtype_From_Expr): If the expression is a selected component
within an initialization procedure, compute its actual subtype, because
the component may depend on the discriminants of the enclosing record.
* i-cpp.ads, i-cpp.adb:
This package has been left available for compatibility with previous
versions of the frontend. As part of the new layout this is now a
dummy package that uses declarations available at a-tags.ads
* par-ch3.adb (P_Identifier_Declarations): Give an error for use of
"constant access" and "aliased [constant] access" when not compiling
with -gnat05.
Suppress Ada 2005 keyword warning if -gnatwY used
(P_Identifier_Declarations): Add support for object declarations with
access definitions.
(Private_Extension_Declaration): Complete the documentation
(P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
attribute in case of private extension declaration
(P_Type_Declaration): Mark as "abstract" the type declarations
corresponding with protected, synchronized and task interfaces
(P_Declarative_Items): "not" and "overriding" are overriding indicators
for a subprogram or instance declaration.
* sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
instantiation that is a dispatching operation has controlling access
parameters that are null excluding.
Save and restore Ada_Version_Explicit, for implementation of AI-362
(Validate_Derived_Type_Instance): Add check for abstract interface
types.
(Analyze_Formal_Package): Establish Instantiation source for the copy of
the generic that is created to represent the formal package.
(Analyze_Package_Instantiation): Instantiate body immediately if the
package is a predefined unit that contains inlined subprograms, and
we are compiling for a Configurable_Run_Time.
(Instantiate_Formal_Subprogram): Indicate that null default subprogram
If the program has a null default, generate an empty body for it.
* sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
error message condition, null procedures are correctly detected now.
(New_Overloaded_Entity): Bypass trivial overriding indicator check
for subprograms in the context of protected types. Instead, the
indicator is examined in Sem_Ch9 while analysing the subprogram
declaration.
(Check_Overriding_Indicator): Check consistency of overriding indicator
on subprogram stubs as well.
(Analyze_Subprogram_Declaration): Diagnose null procedures declared at
the library level.
(Analize_Subprogram_Specification): When analyzing a subprogram in which
the type of the first formal is a concurrent type, replace this type
by the corresponding record type.
(Analyze_Subprogram_Body): Undo the previous work.
(Analyze_Procedure_Call): If the call has the form Object.Op, the
analysis of the prefix ends up analyzing the call itself, after which
we are done.
(Has_Interface_Formals): New subprogram subsidiary to analyze
subprogram_specification that returns true if some non
class-wide interface subprogram is found
(New_Overloaded_Entity): Modified to give support to abstract
interface types
(Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
access to subprograms must be recursive.
(Is_Unchecked_Conversion): Improve the test that recognizes
instantiations of Unchecked_Conversion, and allows them in bodies that
are to be inlined by the front-end. When the body comes from an
instantiation, a reference to Unchecked_Conversion will be an
Expanded_Name, even though the body has not been analyzed yet.
Replace Is_Overriding and Not_Overriding in subprogram_indication with
Must_Override and Must_Not_Override, to better express intent of AI.
(Analyze_Subprogram_Body): If an overriding indicator is given, check
that it is consistent with the overrinding status of the subprogram
at this point.
(Analyze_Subprogram_Declaration): Indicate that a null procedure is
always inlined.
If the subprogram is a null procedure, indicate that it does not need
a completion.
* sem_disp.adb (Check_Controlling_Type): Give support to entities
available through limited-with clauses.
(Check_Dispatching_Operation): A stub acts like a body, and therefore is
allowed as the last primitive of a tagged type if it has no previous
spec.
(Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
to give support to abstract interface types
* sem_res.adb (Valid_Conversion): Perform an accessibility level check
in the case where the target type is an anonymous access type of an
object or component (that is, when Is_Local_Anonymous_Access is true).
Prevent the special checks for conversions of access discriminants in
the case where the discriminant belongs to a nonlimited type, since
such discriminants have their accessibility level defined in the same
way as a normal component of an anonymous access type.
(Resolve_Allocator): When an allocator's designated type is a class-wide
type, check that the accessibility level of type given in the
allocator's expression or subtype indication is not statically deeper
than the level of the allocator's access type.
(Check_Discriminant_Use): Diagnose discriminant given by an expanded
name in a discriminant constraint of a record component.
(Resolve_Explicit_Dereference): Do not check whether the type is
incomplete when the dereference is a use of an access discriminant in
an initialization procedure.
(Resolve_Type_Conversion): Handle conversions to abstract interface
types.
(Valid_Tagged_Conversion): The conversion of a tagged type to an
abstract interface type is always valid.
(Valid_Conversion): Modified to give support to abstract interface types
(Resolve_Actuals): Enable full error reporting on view conversions
between unrelated by_reference array types.
The rule for view conversions of arrays with aliased components is
weakened in Ada 2005.
Call to obsolescent subprogram is now considered to be a violation of
pragma Restrictions (No_Obsolescent_Features).
(Check_Direct_Boolean_Operator): If the boolean operation has been
constant-folded, there is nothing to check.
(Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
check on possible violation of restriction No_Direct_Boolean_Operators
until after expansion of operands, to prevent spurious errors when
operation is constant-folded.
* sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
Has_Compatible_Type): Modified to give support to abstract interface
types.
(Interface_Present_In_Ancestor): New function to theck if some ancestor
of a given type implements a given interface
* sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
prefix is a parameterless function that returns an access_to_procedure.
(Transform_Object_Operation): Handle properly function calls of the
form Obj.Op (X), which prior to analysis appear as indexed components.
(Analyze_One_Call): Complete the error notification to help new Ada
2005 users.
(Analyze_Allocator): For an allocator without an initial value, where
the designated type has a constrained partial view, a discriminant
constraint is illegal.
From-SVN: r101024
Pascal Obry [Thu, 16 Jun 2005 08:31:41 +0000 (10:31 +0200)]
a-stzunb.adb, [...] (Realloc_For_Chunk): New implementation which is slightly more efficient.
2005-06-14 Pascal Obry <obry@adacore.com>
* a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
implementation which is slightly more efficient.
From-SVN: r101023
Robert Dewar [Thu, 16 Jun 2005 08:30:54 +0000 (10:30 +0200)]
ali-util.adb, [...]: Remove references to Force_RM_Elaboration_Order.
2005-06-14 Robert Dewar <dewar@adacore.com>
* ali-util.adb, gnatbind.adb: Remove references to
Force_RM_Elaboration_Order.
* switch-b.adb: Remove recognition of -f switch
From-SVN: r101022
Robert Dewar [Thu, 16 Jun 2005 08:30:34 +0000 (10:30 +0200)]
a-except.adb (Exception_Identity): return Null_Id for null occurrence instead of raising CE (AI-241) Add warnings...
2005-06-14 Robert Dewar <dewar@adacore.com>
* a-except.adb (Exception_Identity): return Null_Id for null occurrence
instead of raising CE (AI-241)
Add warnings off to allow categorization violations for AI-362
From-SVN: r101021
Doug Rupp [Thu, 16 Jun 2005 08:30:18 +0000 (10:30 +0200)]
adaint.c (__gnat_to_canonical_file_spec): Check for error returns in call to decc$translate_vms.
2005-06-14 Doug Rupp <rupp@adacore.com>
Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
call to decc$translate_vms.
(__gnat_locate_regular_file): Check if the path_val contains quotes. We
need to remove those quotes before catenating the filename.
(__gnat_locate_exec_on_path): improvements to the Win32 section:
* avoid allocating the memory twice for better efficiency;
* allocate 32K buffer for environment expansion as suggested by MSDN;
* prepend ".;" to the path so that current directory is searched too.
From-SVN: r101020
Pascal Obry [Thu, 16 Jun 2005 08:30:00 +0000 (10:30 +0200)]
mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous implementation.
2005-06-14 Pascal Obry <obry@adacore.com>
* mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
implementation. This new version generates the proper DllMain routine
to initialize the SAL. The DllMain is generated in Ada and compiled
before being added as option to the library build command.
From-SVN: r101019
Vincent Celier [Thu, 16 Jun 2005 08:29:44 +0000 (10:29 +0200)]
gnatsym.adb: Adapt to modification of package Symbols...
2005-06-14 Vincent Celier <celier@adacore.com>
* gnatsym.adb: Adapt to modification of package Symbols: procedure
Process is now in package Processing.
* symbols.ads, symbols.adb:
(Processing): New package, containing procedure Process
* symbols-vms-alpha.adb:
Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
* symbols-vms.adb, symbols-processing-vms-alpha.adb,
symbols-processing-vms-ia64.adb: New files.
From-SVN: r101018
Doug Rupp [Thu, 16 Jun 2005 08:29:27 +0000 (10:29 +0200)]
s-parame-vms.ads, [...]: Default_Exception_Msg_Max_Length: new parameter.
2005-06-14 Doug Rupp <rupp@adacore.com>
* s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
Default_Exception_Msg_Max_Length: new parameter.
* a-except.ads: (Exception_Msg_Max_Length): Set to
System.Parameters.Default_Exception_Msg_Max_Length
Add pragma Preelaborate_05 for AI-362
Add warnings off to allow categorization violations for AI-362
From-SVN: r101017
Robert Dewar [Thu, 16 Jun 2005 08:28:59 +0000 (10:28 +0200)]
system-unixware.ads, [...]: Minor comment update for AI-362 (unit is Pure).
2005-06-14 Robert Dewar <dewar@adacore.com>
* system-unixware.ads, 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-vxworks-xscale.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-vxworks-mips.ads,
system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
system-linux-hppa.ads, system-vms_64.ads,
system-vxworks-alpha.ads: Minor comment update for
AI-362 (unit is Pure).
* a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
Add pragma Pure_05 for AI-362
Make remaining conversion functions obsolescent in Ada 95
* impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
Add entries for a-wichun and a-zchuni
Add a-widcha a-zchara for AI-395
Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
* Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
Add entries for a-wichun.o and a-zchuni.o
Entries for a-widcha.o and a-zchara.o
Add entry for a-chacon.o
* a-ztenau.adb: Add with of Ada.Characters.Conversions
* a-chacon.ads, a-chacon.adb: New files.
* a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
categorization violations.
* a-strmap.ads: Add pragma Pure_05 for AI-362
* a-strmap.ads: Add note on implicit categorization for AI-362
* a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
* par-prag.adb: Dummy entry for pragma Persistent_BSS
Set Ada_Version_Explicit, for implementation of AI-362
Add processing for pragma Pure_05 and Preelaborate_05
Add entry for Assertion_Policy pragma
* sem.adb: Make sure predefined units are compiled with GNAT_Mode true
when needed for proper processing of categorization stuff
* sem_cat.adb:
For several cases, make errors in preealborate units warnings,
instead of errors, if GNAT_Mode is set. For AI-362.
* sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
preelaborate unit is now warning if in GNAT mode
* s-stoele.ads: Document AI-362 for pragma preelaborate
From-SVN: r101016
Jose Ruiz [Thu, 16 Jun 2005 08:28:24 +0000 (10:28 +0200)]
a-sytaco.ads, [...] (Suspension_Object): These objects are no longer protected objects.
2005-06-14 Jose Ruiz <ruiz@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
longer protected objects. They have been replaced by lower-level
suspension objects made up by a mutex and a condition variable (or
their equivalent given a particular OS) plus some internal data to
reflect the state of the suspension object.
(Initialize, Finalize): Add this initialization procedure for
Suspension_Object, which is a controlled type.
(Finalize): Add the finalization procedure for Suspension_Object,
which is a controlled type.
* a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
Ada.Synchronous_Task_Control because there is no longer a need for a
VxWorks specific version of this package. Target dependencies
has been moved to System.Task_Primitives.Operations.
* s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
longer needed.
(InitializeCriticalSection, EnterCriticalSection,
LeaveCriticalSection, DeleteCriticalSection): Replace the type
pCriticalSection by an anonymous access type so that we avoid problems
of accessibility to local objects.
* s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
set the environment task mask here.
(Current_State): Add this function that returns the state of the
suspension object.
(Set_False): Add this procedure that sets the state of the suspension
object to False.
(Set_True): Add this procedure that sets the state of the suspension
object to True, releasing the task that was suspended, if any.
(Suspend_Until_True): Add this procedure that blocks the calling task
until the state of the object is True. Program_Error is raised if
another task is already waiting on that suspension object.
(Initialize): Add this procedure for initializing the suspension
object. It initializes the mutex and the condition variable which are
used for synchronization and queuing, and it sets the internal state
to False.
(Finalize): Add this procedure for finalizing the suspension object,
destroying the mutex and the condition variable.
* s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
which provides a low-level abstraction (using operating system
primitives) for Ada.Synchronous_Task_Control.
This object is made up by a mutex (for ensuring mutual exclusion), a
condition variable (for queuing threads until the condition is
signaled), a Boolean (State) indicating whether the object is open,
and a Boolean (Waiting) reflecting whether there is a task already
suspended on this object.
* s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
s-intman-vms.ads, s-intman-mingw.adb,
(Initialize_Interrupts): Removed, no longer used.
* s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
(Setup_Interrupt_Mask): New procedure.
* s-intman-vxworks.ads, s-intman-vxworks.adb: Update comments.
* s-inmaop.ads (Setup_Interrupt_Mask): New procedure
* s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
this is no longer done in the body of s-taprop
(Server_Task): Explicitely test for Pending_Action in case
System.Parameters.No_Abort is True.
* s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
is no longer done in the body of s-taprop
From-SVN: r101015
Pascal Obry [Thu, 16 Jun 2005 08:26:28 +0000 (10:26 +0200)]
a-strhas.ads, [...]: Fix header style (spaces in package name).
2005-06-14 Pascal Obry <obry@adacore.com>
* a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
package name).
* a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads,
s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasini.adb,
s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads,
s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb,
s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
s-tpoben.adb, s-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
"GNU Ada" to GNAT, use proper casing for RUN-TIME.
From-SVN: r101014
Doug Rupp [Thu, 16 Jun 2005 08:22:47 +0000 (10:22 +0200)]
g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
2005-06-14 Doug Rupp <rupp@adacore.com>
* g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
* g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
From-SVN: r101013
Olivier Hainque [Thu, 16 Jun 2005 08:21:46 +0000 (10:21 +0200)]
s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to exc_unwind...
2005-06-14 Olivier Hainque <hainque@adacore.com>
Eric Botcazou <ebotcazou@adacore.com>
* s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
exc_unwind, now that we are generating proper .debug_frame output for
that target.
* tracebak.c: Remove the mips-irix section, as we are now using the
s-mastop based unwinder again.
Under SPARC/Solaris, take into account the stack bias to compute the
frame offset. The stack bias is 0 for the V8 ABI and 2047 for the V9
ABI.
From-SVN: r101012
Nathan Sidwell [Thu, 16 Jun 2005 08:21:00 +0000 (08:21 +0000)]
rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it might change.
cp:
* rtti.c (get_tinfo_decl): Avoid caching tinfo_descs when it might
change.
(create_pseudo_type_info): First parameter is an int.
testsuite:
* g++.dg/rtti/crash2.C: New.
From-SVN: r101011
Kelley Cook [Thu, 16 Jun 2005 01:02:24 +0000 (01:02 +0000)]
configure.ac (USING_ECOS_PLATFORM): Remove and merge into...
2005-06-15 Kelley Cook <kcook@gcc.gnu.org>
* configure.ac (USING_ECOS_PLATFORM): Remove and merge into...
(USING_POSIX_PLATFORM): ... here.
* Makefile.am: Delete USING_ECOS_PLATFORM.
* configure, Makefile.in, include/Makefile.in, testsuite/Makefile.in,
external/Makefile.in, external/sax/Makefile.in,
external/w3c_dom/Makefile.in, gcj/Makefile.in: Regenerate.
From-SVN: r101005
GCC Administrator [Thu, 16 Jun 2005 00:16:19 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r101002.2
Jan Hubicka [Wed, 15 Jun 2005 23:05:23 +0000 (01:05 +0200)]
Makefile.in (cfg.o): Add new dependencies.
* Makefile.in (cfg.o): Add new dependencies.
* basic-block.h (reorder_block_def): Kill
original/copy/duplicated/copy_number fields.
(BB_DUPLICATED): New flag.
(initialize_original_copy_tables, free_original_copy_tables,
set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New.
* cfg.c: Include hashtab.h and alloc-pool.h
(bb_original, bb_copy, original_copy_bb_pool): New static vars.
(htab_bb_copy_original_entry): New struct.
(bb_copy_original_hash, bb_copy_original_eq): New static functions.
(initialize_original_copy_tables, free_original_copy_tables,
set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New
global functions.
* cfghooks.c (duplicate_block): Update original/copy handling.
* cfglayout.c (fixup_reorder_chain): Likewise.
(cfg_layout_initialize): Initialize orignal_copy tables.
(cfg_layout_finalize): FInalize original_copy tables.
(can_copy_bbs_p): Use BB_DUPLICATED flag.
(copy_bbs): Likewise.
* cfgloopmanip.c (update-single_exits_after_duplication): Likewise.
(duplicate_loop_to_header_edge): Likewise; update handling of
copy_number.
(loop_version): Likewise.
* dominance.c (get_dominated_by_region): Use BB_DUPLICATED_FLAG.
* except.c (expand_resx_expr): Check that reg->resume is not set.
* loop-unroll.c (unroll_loop_constant_iterations,
unroll_loop_runtime_iterations, apply_opt_in_copies): Update
copy/original handling.
* loop-unwitch.c (unswitch_loop): Likewise.
* tree-cfg.c (create_bb): Do not initialize RBI.
(disband_implicit_edges): Do not kill RBI.
(add_phi_args_after_copy_bb): Use new original/copy mapping.
(add_phi_args_after_copy): Use BB_DUPLICATED flag.
(tree_duplicate_sese_region): Update original/copy handling.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
* tree-ssa-loop-manip.c (copy_phi_node_args): Likewise.
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
From-SVN: r101000
Tom Tromey [Wed, 15 Jun 2005 22:36:01 +0000 (22:36 +0000)]
re PR libgcj/17536 (wrong ClassLoader for int[])
PR libgcj/17536:
* testsuite/libjava.lang/pr17536.java: New file.
* testsuite/libjava.lang/pr17536.out: New file.
From-SVN: r100999
James A. Morrison [Wed, 15 Jun 2005 21:39:36 +0000 (21:39 +0000)]
parse.y (function_invocation): Reverse parameter list.
2005-06-15 James A. Morrison <phython@gcc.gnu.org>
* parse.y (function_invocation): Reverse parameter list.
* treetree.c (tree_code_get_expression): Don't reverse parameter list.
From-SVN: r100998
Andreas Tobler [Wed, 15 Jun 2005 21:25:54 +0000 (23:25 +0200)]
os_dep.c: Add FreeBSD/PowerPC bits.
2005-06-15 Andreas Tobler <a.tobler@schweiz.ch>
* os_dep.c: Add FreeBSD/PowerPC bits.
(GC_SysVGetDataStart): Likewise.
* include/private/gcconfig.h: Likewise.
From-SVN: r100997
Andrew Pinski [Wed, 15 Jun 2005 20:13:11 +0000 (20:13 +0000)]
re PR tree-optimization/21923 (Ada compiler fails to build on gcc 4.1)
2005-06-15 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/21923
* tree-ssa.c (tree_ssa_useless_type_conversion_1): Conversions between
integer types whos ranges are different are not useless.
From-SVN: r100996
Goffredo Baroncelli [Wed, 15 Jun 2005 20:08:27 +0000 (22:08 +0200)]
re PR libgcj/21074 (Trivial bug in the method getHeaderFieldKey() in the file java/net/protocol/http/HTTPURLConnection.java)
2005-06-15 Goffredo Baroncelli <kreijack@inwind.it>
PR libgcj/21074:
* gnu/java/net/protocol/http/HTTPURLConnection.java
(getHeaderFieldKey): Check index.
From-SVN: r100994
Andrew Pinski [Wed, 15 Jun 2005 20:02:35 +0000 (20:02 +0000)]
re PR tree-optimization/22024 (ACATS ICE cxa5a07 cxa5a08 cxg2016 SEGV in get_rank tree-ssa-reassoc.c:292)
2005-06-15 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/22024
* tree-ssa-reassoc.c (init_reassoc): Also give chain decl a distint
rank.
From-SVN: r100993
Tom Tromey [Wed, 15 Jun 2005 19:11:43 +0000 (19:11 +0000)]
re PR libgcj/21906 (hang when invoking abstract method)
gcc/java/:
PR libgcj/21906:
* class.c (make_method_value): Use soft_abstractmethod_node for
abstract method.
* java-tree.h (soft_abstractmethod_node): New define.
(JTI_SOFT_ABSTRACTMETHOD_NODE): New enum constant.
* decl.c (java_init_decl_processing): Initialize
soft_abstractmethod_node.
libjava/:
PR libgcj/21906:
* defineclass.cc (handleMethodsEnd): Set ncode for abstract
methods.
* include/jvm.h (_Jv_ThrowAbstractMethodError): Declare.
* link.cc (_Jv_ThrowAbstractMethodError): Renamed. No longer
static.
(append_partial_itable): Use it.
(set_vtable_entries): Likewise.
From-SVN: r100992
Tom Tromey [Wed, 15 Jun 2005 19:05:43 +0000 (19:05 +0000)]
SystemClassLoader.java (init): Clear last_was_sep in loop.
* gnu/gcj/runtime/SystemClassLoader.java (init): Clear
last_was_sep in loop.
From-SVN: r100991
Paolo Carlini [Wed, 15 Jun 2005 17:48:00 +0000 (17:48 +0000)]
hashtable: Trivial formatting fixes.
2005-06-15 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable: Trivial formatting fixes.
* include/tr1/unordered_map: Likewise.
* include/tr1/unordered_set: Likewise.
From-SVN: r100988
Diego Novillo [Wed, 15 Jun 2005 17:37:45 +0000 (17:37 +0000)]
tree-ssa-structalias.c (dump_solution_for_var): Reformat output.
* tree-ssa-structalias.c (dump_solution_for_var): Reformat
output.
(dump_sa_points_to_info): Make extern.
(debug_sa_points_to_info): New.
* tree-ssa-structalias.h (TREE_SSA_STRUCTALIAS_H): Rename from
TREE_ALIAS_COMMON.
(dump_sa_points_to_info): Declare.
(debug_sa_points_to_info): Declare.
From-SVN: r100987
Frank Ch. Eigler [Wed, 15 Jun 2005 16:15:40 +0000 (16:15 +0000)]
Fix for uncaching bug reported by Herman ten Brugge.
2005-06-15 Frank Ch. Eigler <fche@redhat.com>
Fix for uncaching bug reported by Herman ten Brugge.
* mf-runtime.c (__mf_uncache_object): Search whole cache.
* testsuite/libmudflap.c/fail40-frag.c: New test.
From-SVN: r100985
Joseph Myers [Wed, 15 Jun 2005 15:55:47 +0000 (16:55 +0100)]
c-tree.h (default_function_array_conversion): Declare.
* c-tree.h (default_function_array_conversion): Declare.
* c-typeck.c (default_function_array_conversion): Export. Correct
comment.
(default_conversion): Do not call
default_function_array_conversion. Do not allow FUNCTION_TYPE.
(build_function_call): Call default_function_array_conversion on
the function.
(convert_arguments): Do not call it on the function arguments.
(build_unary_op): Do not allow ARRAY_TYPE or FUNCTION_TYPE for
TRUTH_NOT_EXPR. Call default_function_array_conversion for taking
address of ARRAY_REF.
(build_compound_expr): Do not call
default_function_array_conversion.
(build_c_cast): Do not call default_function_array_conversion.
(convert_for_assignment): Do not call default_conversion.
(digest_init): Call default_function_array_conversion to convert
string constants and compound literals to pointers, but not
otherwise.
(output_init_element): Likewise.
(build_asm_expr): Do not call default_function_array_conversion.
(c_process_expr_stmt): Likewise.
(c_objc_common_truthvalue_conversion): Likewise. Do not allow
FUNCTION_TYPE.
* c-parser.c (c_parser_expression_conv): New.
(c_parser_asm_operands, c_parser_expr_list): Add convert_p
argument. All callers changed. Call
default_function_array_conversion if convert_p.
(c_parser_initializer, c_parser_initval): Call
default_function_array_conversion except for string constants and
compound literals.
(c_parser_initelt): Call default_function_array_conversion for
ObjC expression received.
(c_parser_statement_after_labels): Call c_parser_expression_conv
for return and expression statements.
(c_parser_paren_condition, c_parser_for_statement,
c_parser_conditional_expression): Call c_parser_expression_conv.
(c_parser_expr_no_commas, c_parser_conditional_expression,
c_parser_binary_expression, c_parser_cast_expression,
c_parser_unary_expression): Call
default_function_array_conversion.
objc:
* objc-act.c (my_build_string_pointer): New.
(objc_get_class_reference, get_super_receiver): Call
my_build_string_pointer instead of my_build_string when building
function arguments.
testsuite:
* gcc.dg/noncompile/
20040203-3.c: Update expected message.
From-SVN: r100984
Diego Novillo [Wed, 15 Jun 2005 15:19:51 +0000 (15:19 +0000)]
tree-vrp.c (vrp_int_const_binop): Do not handle MAX_EXPR when the result overflows.
* tree-vrp.c (vrp_int_const_binop): Do not handle MAX_EXPR
when the result overflows.
From-SVN: r100983
David Ung [Wed, 15 Jun 2005 13:21:54 +0000 (13:21 +0000)]
mips.c (mips_rtx_cost_data): Add cost for 4kc, 4kp, 24k and 24kx.
* config/mips/mips.c (mips_rtx_cost_data): Add cost for 4kc, 4kp,
24k and 24kx.
From-SVN: r100982
Richard Sandiford [Wed, 15 Jun 2005 12:53:41 +0000 (12:53 +0000)]
* doc/invoke.texi (-mips16): Fix typo.
From-SVN: r100981
David Ung [Wed, 15 Jun 2005 12:40:26 +0000 (12:40 +0000)]
mips16e-extends.c: New test for testing the generation of MIPS16e zeb/zeh, seb/seh instructions.
* gcc.target/mips/mips16e-extends.c: New test for testing the
generation of MIPS16e zeb/zeh, seb/seh instructions.
From-SVN: r100980
David Ung [Wed, 15 Jun 2005 12:17:08 +0000 (12:17 +0000)]
mips.h (GENERATE_MIPS16E): New definition.
* config/mips/mips.h (GENERATE_MIPS16E): New definition.
* config/mips/mips.md (zero_extend<SHORT:mode><GPR:mode>2):
Changed expand condition to exclude generating of "and" if
GENERATE_MIPS16E is true.
(*zero_extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for
matching mips16e zeb/zeh.
(*extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for matching
mips16e seb/seh.
(*extend<SHORT:mode><GPR:mode>2): Disable this pattern for
GENERATE_MIPS16E.
* doc/invoke.texi (MIPS Options): Add comment to -mips16
indicating MIPS16e ASE is used if targetting for MIPS32 or MIPS64.
From-SVN: r100979
Diego Novillo [Wed, 15 Jun 2005 11:33:13 +0000 (11:33 +0000)]
re PR tree-optimization/22018 (VRP miscompiles multiply)
PR 22018
* tree-vrp.c (vrp_int_const_binop): New.
(extract_range_from_binary_expr): Call it.
Unify handling division and multiplication.
testsuite/ChangeLog:
PR 22018
* gcc.dg/tree-ssa/vrp13.c: Add multiplication tests.
* gcc.dg/tree-ssa/pr22018.c: New test.
From-SVN: r100978
Aldy Hernandez [Wed, 15 Jun 2005 10:35:19 +0000 (10:35 +0000)]
typeck.c (build_binary_op): Same.
* typeck.c (build_binary_op): Same.
* testsuite/g++.dg/conversion/simd3.C: New.
From-SVN: r100977
Aldy Hernandez [Wed, 15 Jun 2005 10:33:51 +0000 (10:33 +0000)]
c-common.h (same_scalar_type_ignoring_signedness): Protoize.
* c-common.h (same_scalar_type_ignoring_signedness): Protoize.
* c-common.c (same_scalar_type_ignoring_signedness): New.
* c-typeck.c (build_binary_op): Check compatability of vector
types. Move error report after switch.
Do not clobber code[01] on *_DIV_EXPR case.
* testsuite/gcc.dg/simd-1.c: Update error messages.
* testsuite/gcc.dg/simd-1b.c: Re-enable tests. Update error
messages.
* testsuite/gcc.dg/simd-2.c: Update error messages.
* testsuite/gcc.dg/simd-4.c: New.
From-SVN: r100976
Bernd Schmidt [Wed, 15 Jun 2005 09:35:15 +0000 (09:35 +0000)]
Makefile.in (local-alloc.o): Depend on $(GGC_H) and reload.h.
* Makefile.in (local-alloc.o): Depend on $(GGC_H) and reload.h.
* local-alloc.c: Include "ggc.h" and "reload.h".
(struct equivalence): New member is_arg_equivalence.
(local_alloc): Always call update_equiv_regs.
(update_equiv_regs): Allocate reg_equiv_init; set reg_equiv_init_size.
Detect equivalences made by stores to memory in a second pass.
Return early if not optimizing.
Initialize reg_equiv_init for all equivalences; treat equivalences for
REG_EQUIV notes existing before this pass specially.
(no_equiv): Don't clear reg_equiv_init or remove notes if the
is_arg_equivalence field is set.
* reload.h (reg_equiv_init, reg_equiv_init_size): Declare.
* reload1.c (reg_equiv_init): No longer static.
(reg_equiv_init_size): New variable.
(reload): Don't allocate reg_equiv_init; don't free it when done but
clear it.
Restructure equivalence set up code not to set reg_equiv_init, but to
clear it when we can't use an equivalence.
Undo change disabling equivalences for MEM_READONLY_P memrefs.
Dump equivalencing insns to dump_file.
From-SVN: r100975
François-Xavier Coudert [Wed, 15 Jun 2005 08:40:35 +0000 (08:40 +0000)]
re PR libfortran/21950 (All gfortran execution tests fail on Tru64 UNIX V4.0F: scalbn unresolved)
PR libfortran/21950
* intrinsics/c99_functions.c (scalbn): Provide fallback
implementation for scalbn.
* c99_protos.h: Prototype for scalbn.
* configure.ac: Add check for scalbn.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r100974
Nathan Sidwell [Wed, 15 Jun 2005 08:23:01 +0000 (08:23 +0000)]
re PR c++/20678 (Make process stopped)
cp:
PR c++/20678
* error.c (dump_expr) <COMPONENT_REF case>: Check DECL_NAME is not
null.
testsuite:
PR c++/20678
* g++.dg/other/crash-4.C: New.
From-SVN: r100972
Nathan Sidwell [Wed, 15 Jun 2005 08:18:01 +0000 (08:18 +0000)]
Make-lang.in: Reformat some long lines.
* Make-lang.in: Reformat some long lines.
(gt-cp-rtti.h): New target.
(cp/rtti.o): Add dependency.
* config-lang.in (gtfiles): Add cp/rtti.c.
* cp-tree.h (CPTI_TI_DESC_TYPE, CPTI_BLTN_DESC_TYPE,
CPTI_PTR_DESC_TYPE, CPTI_ARY_DESC_TYPE, CPTI_FUNC_DESC_TYPE,
CPTI_ENUM_DESC_TYPE, CPTI_CLASS_DESC_TYPE,
CPTI_SI_CLASS_DESC_TYPE, CPTI_VMI_CLASS_DESC_TYPE,
CPTI_PTM_DESC_TYPE, CPTI_BASE_DESC_TYPE): Remove.
(ti_desc_type_node, bltn_desc_type_node, ptr_desc_type_node,
ary_desc_type_node, func_desc_type_node, enum_desc_type_node,
class_desc_type_node, si_class_desc_type_node,
vmi_class_desc_type_node, ptm_desc_type_node,
base_desc_type_node): Remove.
* decl.c: Adjust documentation of global trees.
* rtti.c (TINFO_PSEUDO_TYPE, TINFO_VTABLE_DECL,
TINFO_REAL_NAME): Remove.
(struct tinfo_s): New.
(enum tinfo_kind): New.
(tinfo_descs): New.
(get_tinfo_decl): Adjust use of tinfo descriptor.
(tinfo_base_init, generic_initializer, ptr_initializer,
ptm_initializer, class_initializer): Likewise.
(get_pseudo_ti_init): Take descriptor index. Adjust.
(create_pseudo_type_info): Likewise.
(get_pseudo_ti_desc): Return descriptor index. Adjust.
(create_tinfo_types): Adjust use of create_pseudo_type_info.
(emit_tinfo_decl): Adjust use of tinfo descriptor.
From-SVN: r100971
Keith Seitz [Wed, 15 Jun 2005 03:10:31 +0000 (03:10 +0000)]
JdwpIdFactory.java: New file.
* gnu/classpath/jdwp/id/JdwpIdFactory.java: New file.
* gnu/classpath/jdwp/processor/PacketProcessor.java: New file.
From-SVN: r100970
Keith Seitz [Wed, 15 Jun 2005 03:07:49 +0000 (03:07 +0000)]
ArrayId.java: New file.
* gnu/classpath/jdwp/id/ArrayId.java: New file.
* gnu/classpath/jdwp/id/ArrayReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/ClassLoaderId.java: New file.
* gnu/classpath/jdwp/id/ClassObjectId.java: New file.
* gnu/classpath/jdwp/id/ClassReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/JdwpId.java: New file.
* gnu/classpath/jdwp/id/ObjectId.java: New file.
* gnu/classpath/jdwp/id/ReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/StringId.java: New file.
* gnu/classpath/jdwp/id/ThreadGroupId.java: New file.
* gnu/classpath/jdwp/id/ThreadId.java: New file.
From-SVN: r100969
Mike Stump [Wed, 15 Jun 2005 00:41:35 +0000 (00:41 +0000)]
Canonicalize whitespace.
From-SVN: r100965
GCC Administrator [Wed, 15 Jun 2005 00:16:14 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r100963.2
Rainer Orth [Wed, 15 Jun 2005 00:10:05 +0000 (00:10 +0000)]
re PR libffi/21943 (O32 libffi.so fails to link on IRIX 6)
PR libgcj/21943
* src/mips/n32.S: Enforce PIC code.
* src/mips/o32.S: Likewise.
From-SVN: r100961
Rainer Orth [Tue, 14 Jun 2005 23:59:48 +0000 (23:59 +0000)]
re PR target/15266 (libgfortran doesn't compile on IRIX 5.3)
PR libfortran/15266
* inclhack.def (broken_cabs): Mention IRIX 5/6 problem.
Use double quotes in select so \t matches tabs.
Add IRIX testcase.
* fixincl.x: Regenerate.
* tests/base/math.h [BROKEN_CABS_CHECK]: Adapt for new testcase.
From-SVN: r100960
Rainer Orth [Tue, 14 Jun 2005 23:37:05 +0000 (23:37 +0000)]
configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
* configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
* configure: Regenerate.
From-SVN: r100959
Rainer Orth [Tue, 14 Jun 2005 23:33:08 +0000 (23:33 +0000)]
* configure.host: Handle Solaris 10/x86.
From-SVN: r100958
Joseph Myers [Tue, 14 Jun 2005 23:15:03 +0000 (00:15 +0100)]
* fr.po, sv.po: Update.
From-SVN: r100957
Richard Sandiford [Tue, 14 Jun 2005 22:29:03 +0000 (22:29 +0000)]
mips.c (machine_function): Add varargs_size field.
* config/mips/mips.c (machine_function): Add varargs_size field.
(mips_setup_incoming_varargs): Store the amount of extra stack space
there rather than in *pretend_size. When saving registers, always
expect virtual_incoming_args_rtx to point to the start of the
pretend arguments.
(mips_va_start): Remove alignment hack. Handle all
!EABI_FLOAT_VARARGS_P cases in the same way.
(compute_frame_size): Handle varargs_size. Remove the redundant
!TARGET_OLDABI condition in the handling of pretend_args_size.
(mips_initial_elimination_offset): Remove the now-redundant check
of TARGET_NEWABI.
From-SVN: r100956
Jeff Law [Tue, 14 Jun 2005 21:26:33 +0000 (15:26 -0600)]
tree-vrp.c (local_fold): Remove.
* tree-vrp.c (local_fold): Remove.
(simplify_using_ranges): Use fold_convert, not local_fold. Tweak
DIV/MOD case slightly for readability.
From-SVN: r100955
Thomas Koenig [Tue, 14 Jun 2005 20:45:21 +0000 (20:45 +0000)]
eoshift0.c: Removed prototype for eoshift0.
2005-06-14 Thomas Koenig <Thomas.Koenig@online.de>
* intrinsics/eoshift0.c: Removed prototype for eoshift0.
* intrinsics/eoshift2.c: Removed prototype for eoshift2.
From-SVN: r100954
Tom Tromey [Tue, 14 Jun 2005 20:05:59 +0000 (20:05 +0000)]
re PR libgcj/19877 (sometimes reconfiguring leads to incorrect config.h)
config/:
PR libgcj/19877:
* no-executables.m4: Call real AC_FUNC_MMAP when cache variable
is set but not 'no'.
libstdc++-v3/:
PR libgcj/19877:
* configure, aclocal.m4: Rebuilt.
* Makefile.in, include/Makefile.in, libmath/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
testsuite/Makefile.in: Likewise.
libjava/:
PR libgcj/19877:
* configure, aclocal.m4, Makefile.in: Rebuilt.
libgfortran/:
PR libgcj/19877:
* configure, aclocal.m4, Makefile.in: Rebuilt.
zlib/:
PR libgcj/19877:
* configure, aclocal.m4, Makefile.in: Rebuilt.
From-SVN: r100953
Mike Stump [Tue, 14 Jun 2005 20:01:59 +0000 (20:01 +0000)]
Remove extra white spacing at end of lines.
From-SVN: r100952
Alfred M. Szmidt [Tue, 14 Jun 2005 19:18:16 +0000 (19:18 +0000)]
re PR libmudflap/21724 (libmudflap/Makefile.am, refusing to install mf-runtime.h in includedir)
2005-05-23 Alfred M. Szmidt <ams@gnu.org>
PR libmudflap/21724
* Makefile.am (AM_MAKEFLAGS): Pass includedir.
* Makefile.in: Amend.
From-SVN: r100951
Frank Ch. Eigler [Tue, 14 Jun 2005 19:12:24 +0000 (19:12 +0000)]
re PR libmudflap/21023 (mudflap reports errors for external array variable with no size specified)
2005-06-14 Frank Ch. Eigler <fche@redhat.com>
PR mudflap/21023
* tree-mudflap.c (mudflap_finish_file): Exclude non-public
rather than static objects (!) from libmudflap registration.
* testsuite/libmudflap.c/externs.exp, externs-{1,2}.c: New test files.
* testsuite/libmudflap.c/cfrags.exp: Bypass new sources.
From-SVN: r100950
Tom Tromey [Tue, 14 Jun 2005 18:51:54 +0000 (18:51 +0000)]
Class.java (getClasses): New method.
* java/lang/Class.java (getClasses): New method.
(internalGetClasses): Likewise.
(getClassLoader): Updated documentation.
(getDeclaredClasses): New overload; old overload no longer
native.
(_getConstructors): Removed.
(resourcePath): Updated.
* java/lang/natClass.cc (getClasses): Removed.
* java/lang/Class.h (getDeclaredClasses, getDeclaredConstructors):
Updated.
(_getConstructors): Removed.
From-SVN: r100948
Devang Patel [Tue, 14 Jun 2005 18:47:36 +0000 (11:47 -0700)]
Remove vect-ifcvt-1.c
From-SVN: r100947
Frank Ch. Eigler [Tue, 14 Jun 2005 18:37:20 +0000 (18:37 +0000)]
re PR testsuite/21094 (libmudflap C++ tests run even when C++ not configured)
2005-06-14 Frank Ch. Eigler <fche@redhat.com>
PR libmudflap/21094
* testsuite/libmudflap.c++/*.exp: Assert build tree g++.
From-SVN: r100946
Frank Ch. Eigler [Tue, 14 Jun 2005 18:36:50 +0000 (18:36 +0000)]
re PR libmudflap/22064 (libmudflap contains possible alias violations)
2005-06-14 Frank Ch. Eigler <fche@redhat.com>
PR mudflap/22064
* mf-impl.h (mudflap_mode, violation_mode): Make these ordinary
unsigned vars with #defines instead of enums.
From-SVN: r100945
Nathan Sidwell [Tue, 14 Jun 2005 16:04:30 +0000 (16:04 +0000)]
re PR c++/21929 (ICE on invalid template parameter)
PR c++/21929
* g++.dg/parse/crash11.C: Update
From-SVN: r100939
Arnaud Charlet [Tue, 14 Jun 2005 15:07:26 +0000 (17:07 +0200)]
Removed, no longer compatible with latest Ada 2005 issues.
From-SVN: r100938
Richard Sandiford [Tue, 14 Jun 2005 14:37:49 +0000 (14:37 +0000)]
opt-functions.awk (global_state_p, [...]): New.
* opt-functions.awk (global_state_p, needs_state_p, static_var): New.
(var_ref): Take the option's flags as a second parameter. Check
static_var.
* optc-gen.awk: Declare local state variables. Pass flags to var_ref.
From-SVN: r100937
Roger Sayle [Tue, 14 Jun 2005 13:31:26 +0000 (13:31 +0000)]
* decl.c (grokdeclarator): Only check TREE_OVERFLOW on INTEGER_CST.
From-SVN: r100936
Eric Botcazou [Tue, 14 Jun 2005 13:07:42 +0000 (15:07 +0200)]
re PR target/20301 (Assembler labels have a leading "-")
PR target/20301
* config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit
unsigned index numbers.
From-SVN: r100933
Eric Botcazou [Tue, 14 Jun 2005 13:04:03 +0000 (13:04 +0000)]
Revert hunk accidentally commited.
From-SVN: r100932
Geoffrey Keating [Tue, 14 Jun 2005 09:03:46 +0000 (09:03 +0000)]
Index: ChangeLog
2005-06-13 Geoffrey Keating <geoffk@apple.com>
* Makefile.in (install-man): Doesn't really depend on installdirs.
(various rules for installing manpages): Do depend on installdirs.
Index: cp/ChangeLog
2005-06-13 Geoffrey Keating <geoffk@apple.com>
* Make-lang.in (c++.install-man): Doesn't really depend on installdirs.
(rule for installing g++.1 manpage): Does depend on installdirs.
Index: fortran/ChangeLog
2005-06-13 Geoffrey Keating <geoffk@apple.com>
* Make-lang.in (fortran.install-man): Doesn't depend on installdirs.
(rule for installing f95.1 manpage): Does depend on installdirs.
Index: java/ChangeLog
2005-06-13 Geoffrey Keating <geoffk@apple.com>
* Make-lang.in (rule for installing gcj.1): Depends on installdirs.
From-SVN: r100928
Nathan Sidwell [Tue, 14 Jun 2005 08:25:18 +0000 (08:25 +0000)]
unwind-dw2-fde-darwin.c (examine_objects): Fix aliasing in read_encoded_value_with_base call.
* unwind-dw2-fde-darwin.c (examine_objects): Fix aliasing in
read_encoded_value_with_base call.
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
* unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
* unwind-dw2.c (extract_cie_info): Fix aliasing in
read_encoded_value call.
(execute_cfa_program, uw_frame_state_for): Likewise.
From-SVN: r100927
Roger Sayle [Tue, 14 Jun 2005 05:57:26 +0000 (05:57 +0000)]
re PR rtl-optimization/22053 (ACATS ICE cxg2002 cxg2008 cxg2019 cxg2020 cxg2021 compensate_edge, at reg-stack.c:2671)
PR rtl-optimization/22053
* reg-stack.c (compensate_edge): Correct mistake in the assertion
checking of EDGE_ABNORMAL_CALL edges; complex return values can
result in the top two stack slots, st(0) and st(1), being live.
From-SVN: r100926
Keith Seitz [Tue, 14 Jun 2005 00:28:08 +0000 (00:28 +0000)]
ArrayId.java: New file.
* gnu/classpath/jdwp/id/ArrayId.java: New file.
* gnu/classpath/jdwp/id/ArrayReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/ClassLoaderId.java: New file.
* gnu/classpath/jdwp/id/ClassObjectId.java: New file.
* gnu/classpath/jdwp/id/ClassReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/JdwpId.java: New file.
* gnu/classpath/jdwp/id/ObjectId.java: New file.
* gnu/classpath/jdwp/id/ReferenceTypeId.java: New file.
* gnu/classpath/jdwp/id/StringId.java: New file.
* gnu/classpath/jdwp/id/ThreadGroupId.java: New file.
* gnu/classpath/jdwp/id/ThreadId.java: New file.
From-SVN: r100913
GCC Administrator [Tue, 14 Jun 2005 00:16:17 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r100911.2
Jeff Law [Mon, 13 Jun 2005 23:24:47 +0000 (17:24 -0600)]
tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): No longer simplify DIV, MOD or ABS expressions using VRP information.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): No longer
simplify DIV, MOD or ABS expressions using VRP information.
Remove WALK_DATA parameter. Prototype and all callers updated.
(eliminate_redundant_computations): Remove WALK_DATA parameter.
Prototype and all callers updated.
(optimize_stmt): WALK_DATA parameter is now unused.
* tree-vrp.c (local_fold): New function. Like fold, but
strips useless type conversions in the result.
(simplify_using_ranges): New function, largely cribbed from
tree-ssa-dom.c::simplify_rhs_and_lookup_avail_expr.
(vrp_finalize): Call simplify_using_ranges.
* gcc.dg/tree-ssa/
20030807-10.c: VRP is now expected to
perform the desired transformations.
* gcc.dg/tree-ssa/
20030806-6.c: Similarly.
* gcc.dg/tree-ssa/
20040514-2.c: Similarly.
From-SVN: r100909
Thomas Koenig [Mon, 13 Jun 2005 22:37:39 +0000 (22:37 +0000)]
re PR fortran/21594 ([4.0 only] FAIL: gfortran.dg/eoshift.f90 -O0 execution test)
2005-06-12 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/21594
* intrinsics/eoshift0.c: Add prototype for eoshift0.
* intrinsics/eoshift2.c: Add prototype for eoshift2.
From-SVN: r100907
Mark Mitchell [Mon, 13 Jun 2005 22:32:18 +0000 (22:32 +0000)]
x86-64.h (ASM_SPEC): Explicitly pass --64 to the assembler in 64-bit mode.
* config/i386/x86-64.h (ASM_SPEC): Explicitly pass --64 to the
assembler in 64-bit mode.
From-SVN: r100905
Jim Huang [Mon, 13 Jun 2005 20:23:11 +0000 (20:23 +0000)]
re PR libgcj/22036 (libjava/jni.cc compilation fix in cvs 2005-06-12)
2005-06-13 Jim Huang <jserv@kaffe.org>
PR libgcj/22036:
* jni.cc (_Jv_JNI_NewObjectV): Use chars() method.
(_Jv_JNI_NewObject): Likewise.
From-SVN: r100897
Per Bothner [Mon, 13 Jun 2005 19:30:47 +0000 (12:30 -0700)]
expr.c (int highest_label_pc_this_method, [...]): New globals.
* expr.c (int highest_label_pc_this_method,
start_label_pc_this_method): New globals.
(lookup_label): Add start_label_pc_this_method to pc for label, and
update highest_label_pc_this_method. This prevents conflicts between
labels from different methods.
* java-tree.h: Declare new globals.
* jcf-parse.c (parse_class_file): If needed bump
start_label_pc_this_method and reset highest_label_pc_this_method.
From-SVN: r100896
Tom Tromey [Mon, 13 Jun 2005 19:21:56 +0000 (19:21 +0000)]
re PR java/21844 (miscompilation of LinkedHashMap)
PR java/21844:
* testsuite/libjava.lang/pr21844.java: New file.
* testsuite/libjava.lang/pr21844.out: New file.
From-SVN: r100894
Tom Tromey [Mon, 13 Jun 2005 19:20:22 +0000 (19:20 +0000)]
re PR java/21844 (miscompilation of LinkedHashMap)
PR java/21844:
* parse.y (nested_field_access_p): Handle case where outer field
is inherited by enclosing class.
From-SVN: r100893
Richard Sandiford [Mon, 13 Jun 2005 19:06:49 +0000 (19:06 +0000)]
* MAINTAINERS: Update my email address.
From-SVN: r100891
Tobias Schlüter [Mon, 13 Jun 2005 18:23:46 +0000 (20:23 +0200)]
re PR fortran/22038 (Forall with mask broken)
fortran/
2005-06-13 Jakub Jelinek <jakub@redhat.com>
PR fortran/22038
* trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
in the innermost loop.
testsuite/
2005-06-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/22038
* gfortran.dg/forall_1.f90: Un-XFAIL.
From-SVN: r100887
Nathan Sidwell [Mon, 13 Jun 2005 15:58:10 +0000 (15:58 +0000)]
re PR c++/20789 (ICE with incomplete type in template)
cp:
PR c++/20789
* decl.c (cp_finish_decl): Clear runtime runtime initialization if
in-class decl's initializer is bad.
PR c++/21929
* parser.c (struct cp_parser): Document that scope could be
error_mark.
(cp_parser_diagnose_invalid_type_name): Cope with error_mark for
scope.
(cp_parser_nested_name_specifier): Return NULL_TREE on error.
(cp_parser_postfix_expression): Deal with null or error_mark
scope.
(cp_parser_elaborated_type_specifier): Adjust
cp_parser_nested_name_specifier call.
* parser (cp_parser_skip_to_end_of_block_or_statement): Cleanup.
testsuite:
PR c++/21929
* g++.dg/parse/crash26.C: New.
PR c++/20789
* g++.dg/init/member1.C: New.
From-SVN: r100880
David Edelsohn [Mon, 13 Jun 2005 15:49:51 +0000 (15:49 +0000)]
Revert scc_operand patch.
* config/rs6000/predicates.md (scc_operand): Delete.
* config/rs6000/rs6000.md (scc_operand): Change to scc_eq_operand.
From-SVN: r100879
Jakub Jelinek [Mon, 13 Jun 2005 15:24:54 +0000 (17:24 +0200)]
trans-expr.c (gfc_conv_function_call): Return int instead of void.
* trans-expr.c (gfc_conv_function_call): Return int instead of
void. Use a local variable for has_alternate_specifier and
return it. Avoid modification of function type's return value
in place, since it may be shared.
* trans.h (has_alternate_specifier): Remove.
(gfc_conv_function_call): Change return type.
* trans-stmt.c (has_alternate_specifier): Remove.
(gfc_trans_call): Add a local has_alternate_specifier variable,
set it from gfc_conv_function_call return value.
* gfortran.dg/altreturn_1.f90: New test.
From-SVN: r100878
Zdenek Dvorak [Mon, 13 Jun 2005 14:59:40 +0000 (16:59 +0200)]
re PR middle-end/21985 (miscompiled or wrong code snippet?)
PR middle-end/21985
* fold-const.c (split_address_to_core_and_offset): Always return
the address of the base object.
* gcc.dg/tree-ssa/pr21985.c: New test.
From-SVN: r100877
Rafael Ávila de Espíndola [Mon, 13 Jun 2005 12:45:53 +0000 (12:45 +0000)]
treetree.c (tree_code_get_expression): Call build_function_call_expr to build function calls.
2005-06-12 Rafael ?vila de Esp?ndola <rafael.espindola@gmail.com>
* treetree.c (tree_code_get_expression): Call build_function_call_expr
to build function calls.
From-SVN: r100876
Bernd Schmidt [Mon, 13 Jun 2005 09:40:55 +0000 (09:40 +0000)]
* doc/invoke.texi (Blackfin Options): Document -mlong-calls.
From-SVN: r100875
Zack Weinberg [Mon, 13 Jun 2005 08:26:05 +0000 (08:26 +0000)]
top level:
* depcomp: Update from automake CVS. Add 'ia64hp' stanza.
In 'cpp' stanza, support '#line' as well as '# '.
config:
* depstand.m4, lead-dot.m4: New files.
libcpp:
* configure.ac: Invoke ZW_CREATE_DEPDIR and
ZW_PROG_COMPILER_DEPENDENCIES.
* aclocal.m4, configure: Regenerate.
* Makefile.in (DEPMODE, DEPDIR, depcomp, COMPILE.base, COMPILE):
New variables.
(distclean): Clean up $(DEPDIR) and its contents.
(.c.o): Use $(COMPILE).
Include $(DEPDIR)/*.Po for most object->header dependencies.
From-SVN: r100874
Richard Henderson [Mon, 13 Jun 2005 06:18:15 +0000 (23:18 -0700)]
trans-array.c (gfc_conv_descriptor_data_get): Rename from gfc_conv_descriptor_data.
* trans-array.c (gfc_conv_descriptor_data_get): Rename from
gfc_conv_descriptor_data. Cast the result to the DATAPTR type.
(gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New.
(gfc_trans_allocate_array_storage): Use them.
(gfc_array_allocate, gfc_array_deallocate): Likewise.
(gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise.
(gfc_trans_deferred_array): Likewise.
* trans-expr.c (gfc_conv_function_call): Likewise.
(gfc_trans_subcomponent_assign): Likewise.
(gfc_trans_pointer_assignment): Likewise.
* trans-intrinsic.c (gfc_conv_allocated): Likewise.
* trans-types.c (gfc_array_descriptor_base): New.
(gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE.
(gfc_get_array_descriptor_base): Break out from ...
(gfc_get_array_type_bounds): ... here. Create type variants.
* trans-array.h (gfc_conv_descriptor_data_get): Declare.
(gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare.
From-SVN: r100872
Richard Henderson [Mon, 13 Jun 2005 06:13:39 +0000 (23:13 -0700)]
New test.
From-SVN: r100871
Richard Henderson [Mon, 13 Jun 2005 06:10:49 +0000 (23:10 -0700)]
re PR tree-optimization/21994 (complex throwing functions cause ICE)
PR tree-opt/21994
* tree-complex.c (update_complex_components_on_edge): New.
(update_parameter_components): Use it.
(update_phi_components): Likewise.
(expand_complex_move): Likewise for is_ctrl_altering_stmt.
From-SVN: r100870
James A. Morrison [Mon, 13 Jun 2005 00:18:41 +0000 (00:18 +0000)]
re PR tree-optimization/14796 ([tree-ssa] combine two shifts into one)
2005-06-12 James A. Morrison <phython@gcc.gnu.org>
PR tree-optimization/14796
* fold-const (fold_binary): Transform (X << C) >> C into X & (-1>>C)
for unsigned types.
From-SVN: r100869
GCC Administrator [Mon, 13 Jun 2005 00:16:44 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r100867.2
Roger Sayle [Sun, 12 Jun 2005 23:46:46 +0000 (23:46 +0000)]
re PR c++/21930 (pretty printer confusion)
PR c++/21930
* error.c (dump_expr): UNARY_PLUS_EXPR need not handle void types.
Treat CONVERT_EXPR identically to NOP_EXPR.
* g++.dg/other/error10.C: New test case.
From-SVN: r100865
Steven G. Kargl [Sun, 12 Jun 2005 21:00:57 +0000 (21:00 +0000)]
PR libfortran/PR21797
2005-06-12 Steven G. Kargl <kargls@comcast.net>
Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/PR21797
* m4/cexp.m4 (csqrt`'q): Add type qualifyer to
sqrt and fabs.
* generated/exp_c4.c: Regenerated.
Co-Authored-By: Thomas Koenig <Thomas.Koenig@online.de>
From-SVN: r100864
Thomas Koenig [Sun, 12 Jun 2005 20:27:59 +0000 (20:27 +0000)]
re PR libfortran/21333 ([4.0 only] in_pack / in_unpack alignment issues)
2005-06-12 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/21333
* Changelog: Really update.
From-SVN: r100862