rsandifo [Wed, 31 Aug 2011 21:08:51 +0000 (21:08 +0000)]
gcc/
* config/i386/i386.md: Use (match_test ...) for attribute tests.
* config/i386/mmx.md: Likewise.
* config/i386/sse.md: Likewise.
* config/i386/predicates.md (call_insn_operand): Use
(not (match_test "...")) instead of (match_test "!...")
* config/i386/constraints.md (w): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178389
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 31 Aug 2011 21:06:59 +0000 (21:06 +0000)]
gcc/
* doc/md.texi: Describe the use of match_tests in attribute tests.
* rtl.def (MATCH_TEST): Update commentary.
* genattrtab.c (attr_copy_rtx, check_attr_test, clear_struct_flag)
(write_test_expr, walk_attr_value): Handle MATCH_TEST.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178388
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 31 Aug 2011 21:06:29 +0000 (21:06 +0000)]
gcc/
* genattrtab.c (attr_rtx_1): Hash SYMBOL_REFs.
(attr_string): Use copy_md_ptr_loc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178387
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Wed, 31 Aug 2011 17:17:19 +0000 (17:17 +0000)]
2011-08-31 Martin Jambor <mjambor@suse.cz>
PR middle-end/49886
* ipa-inline-analysis.c (compute_inline_parameters): Set
can_change_signature of noes with typde attributes.
* ipa-split.c (split_function): Do not skip any arguments if
can_change_signature is set.
* testsuite/gcc.c-torture/execute/pr49886.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178386
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Wed, 31 Aug 2011 16:32:47 +0000 (16:32 +0000)]
2011-08-31 Martin Jambor <mjambor@suse.cz>
* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Alias
check removed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178384
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 31 Aug 2011 16:15:26 +0000 (16:15 +0000)]
Remove svn:mergeinfo property.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178383
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 31 Aug 2011 11:39:20 +0000 (11:39 +0000)]
2011-08-31 Richard Guenther <rguenther@suse.de>
* fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
special-casing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178377
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 31 Aug 2011 10:29:31 +0000 (10:29 +0000)]
2011-08-31 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/chrono (operator*(const _Rep1&, const duration<>&)):
Fix order of template parameters per LWG 2004.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178374
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:42:50 +0000 (09:42 +0000)]
2011-08-31 Pascal Obry <obry@adacore.com>
* a-direct.adb: Do not try to create an UNC path on Windows.
(Create_Path): Skip leading computer name in UNC path if any.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
version-dependent generation of the return statement. The Ada 2005 tree
is now the default.
2011-08-31 Thomas Quinot <quinot@adacore.com>
* rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
types Stream_Element_Offset and Storage_Offset have a different native
type depending on whether the platform is 32 or 64 bits. When
exchanging them, always convert to 64 bits.
2011-08-31 Yannick Moy <moy@adacore.com>
* debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
--force-alfa to gnat2why.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Save_References): If the node has aspects, save
references within the corresponding expressions in a separate step,
because the aspects are not directly in the tree for the declaration
to which they belong.
2011-08-31 Arnaud Charlet <charlet@adacore.com>
* freeze.adb (Freeze_Record_Type): Omit test on variable size component
in CodePeer mode, since representation clauses are partially ignored.
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178373
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:37:54 +0000 (09:37 +0000)]
2011-08-31 Jose Ruiz <ruiz@adacore.com>
* s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
to any dispatching domain.
2011-08-31 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Minor reformatting.
2011-08-31 Bob Duff <duff@adacore.com>
* sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
on nodes for which it is not defined.
(Is_Non_Overriding_Operation): Exit the loop when we find a generic
parent type.
2011-08-31 Bob Duff <duff@adacore.com>
* sem_ch3.adb (Process_Full_View): Disable legality check if
In_Instance, to avoid spurious errors.
* sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
if In_Instance, to avoid spurious errors.
2011-08-31 Pascal Obry <obry@adacore.com>
* a-direct.adb: Use Dir_Seps everywhere to properly handle all
directory speparators.
(Compose): Use Dir_Seps to handle both forms.
(Create_Path): Use Dir_Seps instead of explicit check, no semantic
changes.
(Extension): Use Dir_Seps to handle both forms.
2011-08-31 Pascal Obry <obry@adacore.com>
* prj-conf.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178372
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:33:35 +0000 (09:33 +0000)]
2011-08-31 Jose Ruiz <ruiz@adacore.com>
* aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
dispatching domain aspect.
* aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
aspect.
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
Dispatching_Domain aspect in a similar way as we do for the Priority
aspect.
* exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
Dispatching_Domain component if a Dispatching_Domain pragma or aspect
is present.
(Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
* par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
* sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
Dispatching_Domain and add it to the task definition.
(Sig_Flags): Add Pragma_Dispatching_Domain.
* rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
support to find the types Dispatching_Domain and
Dispatching_Domain_Access.
* sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
query the availability of a pragma Dispatching_Domain.
* snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
the expander to pass the Dispatching_Domain when creating a task.
(Name_Dispatching_Domain): Add this new name for a pragma.
(Pragma_Id): Add the new Pragma_Dispatching_Domain.
* s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
task has been allocated at creation time.
* s-tarest.adb (Create_Restricted_Task): The dispatching domain using
Ravenscar is always null.
* s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
the task has been allocated at creation time.
* s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
a specific dispatching domain.
* s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
and CPU are specified for the task, and the CPU value is not contained
within the range of processors for the domain.
2011-08-31 Vincent Celier <celier@adacore.com>
* make.adb (Original_Gcc) : New constant String_Access.
(Gnatmake): For VM targets, do not use VM version of the compiler if
--GCC= has been specified.
2011-08-31 Thomas Quinot <quinot@adacore.com>
* sem_ch5.adb: Minor reformatting.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
not reanalyze it.
2011-08-31 Bob Duff <duff@adacore.com>
* exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
the access type is private; we don't care about privacy in expansion.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
subcomponents tnat may be limited, because they originate in view
conflicts. If the original aggregate is legal and the actuals are
legal, the aggregate itself is legal.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178371
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:27:37 +0000 (09:27 +0000)]
2011-08-31 Matthew Heaney <heaney@adacore.com>
* a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
status.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Set kind of loop parameter properly, to preserve all
errors in B tests.
2011-08-31 Jose Ruiz <ruiz@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
Interrupt_Priority aspects, force the analysis of the aspect expression
(when building the equivalent pragma). Otherwise, its analysis is done
too late, after the task or protected object has been created.
* sem_ch9.adb (Analyze_Single_Protected_Declaration,
Analyze_Single_Task_Declaration): Remove the code to move the aspects
to the object declaration because they are needed in the type
declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178370
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 31 Aug 2011 09:26:48 +0000 (09:26 +0000)]
2011-08-31 Marc Glisse <marc.glisse@inria.fr>
* doc/generic.texi (Types for C++): CP_TYPE_QUALS -> cp_type_quals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178369
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:24:32 +0000 (09:24 +0000)]
2011-08-31 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
reformatting.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Find_Protection_Type): Do not look for fields _object
if the corresponding type is malformed due to restriction violations.
2011-08-31 Robert Dewar <dewar@adacore.com>
* s-ransee.ads, s-ransee.adb: Minor reformatting.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
would cause the generation of Set_Finalize_Address if the target is a
VM and the designated type is not derived from [Limited_]Controlled.
2011-08-31 Arnaud Charlet <charlet@adacore.com>
* comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
subprogram.
(Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
case of a compilation error.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* init.c (__gnat_error_handler): Standardize the stack overflow or
erroneous memory access message.
* seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
or erroneous memory access message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178368
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:18:57 +0000 (09:18 +0000)]
2011-08-31 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb: Minor reformatting.
* sem_ch6.adb: Minor code reorganization (use Ekind_In).
2011-08-31 Thomas Quinot <quinot@adacore.com>
* scos.ads: Minor documentation clarification.
* put_scos.adb: Do not generate SCO unit header line for a unit that
has no SCO lines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178367
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:17:20 +0000 (09:17 +0000)]
2011-08-31 Robert Dewar <dewar@adacore.com>
* a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178366
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:14:10 +0000 (09:14 +0000)]
2011-08-31 Tristan Gingold <gingold@adacore.com>
* exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
hold variables between these following subprograms.
(Build_Exception_Handler, Build_Object_Declarations,
Build_Raise_Statement): Use the above type as parameter.
Make the above adjustments.
* exp_intr.adb (Expand_Unc_Deallocation): Adjust.
2011-08-31 Pascal Obry <obry@adacore.com>
* projects.texi: Minor reformatting.
2011-08-31 Tristan Gingold <gingold@adacore.com>
* s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
* s-rannum.adb (Reset): Use Get_Seed from s-ransee.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb: Minor code cleanup.
* sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
prevent cascaded errors.
(Analyze_Loop_Statement): In semantics-only mode, introduce loop
variable of an iterator specification in current scope.
* sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
postconditions on the stack, as they contain no return statements.
2011-08-31 Yannick Moy <moy@adacore.com>
* exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
call Qualify_Entity_Names.
(Expand_Alfa): call Qualify_Entity_Names in more cases
* lib-xref-alfa.adb: Take into account system package.
* sem_prag.adb Take into account restrictions in Alfa mode, contrary to
CodePeer mode in which we are interested in finding bugs even if
compiler cannot compile source.
* sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
deferred constant.
2011-08-31 Gary Dismukes <dismukes@adacore.com>
* sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
denoted by the subtype mark to ensure getting the concurrent type in
the case where the subtype mark denotes a private subtype of a
concurrent type (needed when using -gnatc).
(Process_Subtype): For the processing specific to type kinds, case on
the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
subtype denotes a private subtype whose base type is nonprivate (needed
for subtypes of private fulfilled by task types when compiling with
-gnatc).
2011-08-31 Gary Dismukes <dismukes@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
late primitives that override interface operations when the full
expander is not active, to avoid blowups in Register_Primitive when
types don't have associated secondary dispatch tables.
2011-08-31 Yannick Moy <moy@adacore.com>
* alfa_test.adb: Code clean up.
2011-08-31 Marc Sango <sango@adacore.com>
* restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
by Comes_From_Source (Original_Node (N)) in order to treat also the
nodes which have been rewritten.
* sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
explicit dereference and slice violation in spark mode on the nodes
coming only from the source code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178365
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:07:20 +0000 (09:07 +0000)]
2011-08-31 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
lib-xref-alfa.adb: Minor reformatting.
2011-08-31 Matthew Heaney <heaney@adacore.com>
* a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
2011-08-31 Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
only for class-wide subprograms conflicting with entities of concurrent
tagged types.
2011-08-31 Matthew Heaney <heaney@adacore.com>
* a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
node to null value.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
general description of the routine.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
doubly-linked lists.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178363
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 09:02:37 +0000 (09:02 +0000)]
2011-08-31 Gary Dismukes <dismukes@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
check is needed for a left-hand side that is a dereference, and the
base type is private without discriminants (whereas the full type does
have discriminants), an extra retrieval of the underlying type may be
needed in the case where the subtype is a record subtype whose base
type is private. Update comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178362
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 08:59:01 +0000 (08:59 +0000)]
2011-08-31 Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
found check if there is a class-wide subprogram covering the primitive.
2011-08-31 Yannick Moy <moy@adacore.com>
* sem_res.adb: Further cases where full expansion test is needed,
rather than expansion test.
2011-08-31 Pascal Obry <obry@adacore.com>
* prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb: Handle iterators over derived container types.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
(Has_Anonymous_Master): New routine.
(Set_Has_Anonymous_Master): New routine.
(Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
* exp_ch4.adb: Add with and use clause for Sem_Ch8.
(Current_Anonymous_Master): New routine.
(Current_Unit_First_Declaration): Removed.
(Current_Unit_Scope): Removed.
(Expand_N_Allocator): Anonymous access-to-controlled types now chain
their objects on a per-unit heterogeneous finalization master.
2011-08-31 Matthew Heaney <heaney@adacore.com>
* a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
array.
2011-08-31 Jose Ruiz <ruiz@adacore.com>
* s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
when not needed.
2011-08-31 Gary Dismukes <dismukes@adacore.com>
* sem_disp.adb (Propagate_Tag): Return without propagating in the case
where the actual is an unexpanded call to 'Input.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178361
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 08:52:34 +0000 (08:52 +0000)]
2011-08-31 Yannick Moy <moy@adacore.com>
* sem_ch4.adb: Code clean up.
2011-08-31 Yannick Moy <moy@adacore.com>
* exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
and TSS primitive Finalize_Address if finalization is suppressed.
(Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
primitive Finalize_Address if finalization is suppressed.
2011-08-31 Jose Ruiz <ruiz@adacore.com>
* s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
sure that the underlying task has already been created before trying
to change its affinity.
(Set_CPU): Use the term processor instead of CPU, as we do in
Assign_Task.
2011-08-31 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New Compiler attribute Source_File_Switches.
* prj-nmsc.adb (Process_Compiler): Process attribute
Source_File_Switches.
* prj.ads (Language_Config): New name list component
Name_Source_File_Switches.
* snames.ads-tmpl (Name_Source_File_Switches): New standard name.
2011-08-31 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
discriminated component of an actual, expand at once to prevent
ouf-of-order references with generated subtypes.
2011-08-31 Yannick Moy <moy@adacore.com>
* lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
reference to operator in Alfa xrefs.
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
where the parent instance was frozen before the current instance due to
the presence of a source body. Update calls to Insert_After_Last_Decl.
(Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
Update the comment which illustrates the purpose of the routine.
Package instances are now frozen by source bodies which appear after
the instance. This ensures that entities coming from within the
instance are available for use in the said bodies.
(Install_Body): Add code to handle the case where the parent instance
was frozen before the current instance due to the presence of a source
body. Update calls to Insert_After_Last_Decl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178360
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 08:47:22 +0000 (08:47 +0000)]
Complete log of previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178359
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 08:43:42 +0000 (08:43 +0000)]
2011-08-31 Jose Ruiz <ruiz@adacore.com>
* s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
access types.
* affinity.c (__gnat_set_affinity_mask): Declare index variable.
2011-08-31 Yannick Moy <moy@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
full-expander test.
Minor reformatting, renaming ALFA in Alfa (we dropped acronym)
* einfo.adb (Primitive_Operations): Correctly return list of primitive
operations in a case where it returned previously No_Elist.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178358
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 08:40:22 +0000 (08:40 +0000)]
2011-08-31 Robert Dewar <dewar@adacore.com>
* s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178357
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Wed, 31 Aug 2011 08:37:37 +0000 (08:37 +0000)]
2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch12 (Check_Private_View): Revert previous change.
* sem_res.adb (Conversion_Check): Do not emit the error message if the
conversion is in a generic instance.
2011-08-31 Matthew Heaney <heaney@adacore.com>
* a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
* a-chtgbo.adb (Free): Allow 0 as index value.
2011-08-31 Matthew Heaney <heaney@adacore.com>
* a-cborma.adb (Insert): Add comment to explain why no element
assignment.
2011-08-31 Gary Dismukes <dismukes@adacore.com>
* sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
spec discriminant is already a concurrent type, in which case just use
it, otherwise fetch the Corresponding_Concurrent_Type as before.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178356
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 31 Aug 2011 07:05:59 +0000 (07:05 +0000)]
2011-08-31 Tom de Vries <tom@codesourcery.com>
PR middle-end/43513
* gcc.dg/pr43513.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178354
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Wed, 31 Aug 2011 07:04:25 +0000 (07:04 +0000)]
2011-08-31 Tom de Vries <tom@codesourcery.com>
PR middle-end/43513
* Makefile.in (tree-ssa-ccp.o): Add $(PARAMS_H) to rule.
* tree-ssa-ccp.c (params.h): Include.
(fold_builtin_alloca_for_var): New function.
(ccp_fold_stmt): Use fold_builtin_alloca_for_var.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178353
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 31 Aug 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178351
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Tue, 30 Aug 2011 22:09:49 +0000 (22:09 +0000)]
2011-08-30 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* trans-common.c (build_common_decl): Warn if named common
block's size is not everywhere the same.
2011-08-30 Tobias Burnus <burnus@net-b.de>
PR fortran/45044
* gfortran.dg/common_14.f90: New.
* gfortran.dg/common_resize_1.f: Add two dg-warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178344
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 21:27:36 +0000 (21:27 +0000)]
PR c++/50084
* cp-tree.h (cp_decl_specifier_seq): Rename user_defined_type_p
to type_definition_p.
* parser.c (cp_parser_set_decl_spec_type): Likewise.
* decl.c (grokdeclarator): Check it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178340
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 21:27:27 +0000 (21:27 +0000)]
PR c++/50089
* semantics.c (finish_id_expression): Use
current_nonlambda_class_type for qualified-ids.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178339
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 21:27:18 +0000 (21:27 +0000)]
PR c++/50114
* decl.c (poplevel): Disable for scope compatibility hack
in C++11 mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178338
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 30 Aug 2011 17:52:29 +0000 (17:52 +0000)]
* config/i386/i386.c (ix86_valid_target_attribute_inner_p):
Handle FMA option.
testsuite/ChangeLog:
* gcc.target/i386/fma-compile.c: Escape [ and ] in scan strings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178337
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Aug 2011 16:49:06 +0000 (16:49 +0000)]
* system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
system-linux-mips.ads, system-linux-mipsel.ads,
system-linux-mips64el.ads, system-linux-ppc64.ads,
system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178336
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Aug 2011 16:46:12 +0000 (16:46 +0000)]
* gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
* gcc-interface/utils2.c (build_binary_op): Tighten condition.
(build_unary_op): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178335
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Aug 2011 16:35:54 +0000 (16:35 +0000)]
* raise-gcc.c: Do not include coretypes.h and tm.h.
(setup_to_install): Remove test for compiler macro.
* targext.c: Document use for the library.
* gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178333
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 30 Aug 2011 16:15:49 +0000 (16:15 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
the expression to the nominal type if the latter is a record type with
a variant part and the type of the former is a record type without one.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178331
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 30 Aug 2011 15:34:50 +0000 (15:34 +0000)]
2011-08-30 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_iterator.h (make_move_iterator): Implement DR2061.
* testsuite/24_iterators/move_iterator/dr2061.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line numbers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178330
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Tue, 30 Aug 2011 15:34:01 +0000 (15:34 +0000)]
2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/45170
* trans-stmt.c (gfc_trans_allocate): Evaluate the substring.
2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/45170
* gfortran.dg/allocate_with_source_2.f90: New test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178329
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 15:28:40 +0000 (15:28 +0000)]
PR c++/50220
* semantics.c (add_capture): Call complete_type for copy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178326
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 15:28:30 +0000 (15:28 +0000)]
PR c++/50234
* semantics.c (cxx_eval_component_reference): Handle
value-initialization for omitted initializers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178325
138bc75d-0d04-0410-961f-
82ee72b054a4
ams [Tue, 30 Aug 2011 15:02:26 +0000 (15:02 +0000)]
2011-08-30 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.c (optimal_immediate_sequence_1): Make b1, b2,
b3 and b4 unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178324
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 15:01:43 +0000 (15:01 +0000)]
Switch to GPLv3
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178323
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:58:35 +0000 (14:58 +0000)]
Update dependencies
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178322
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:56:45 +0000 (14:56 +0000)]
2011-08-30 Jose Ruiz <ruiz@adacore.com>
* s-taskin.ads (Common_ATCB): Add field domain which contains the
dispatching domain to which the task belongs.
* s-taskin.adb (Initialize): Create the default system dispatching
domain and make the environment task part of it.
* s-mudido.ads: Add this new spec for standard Ada 2012 package
Ada.Multiprocessors.Dispatching_Domains.
* s-mudido.adb: Add this new body for targets not supporting
dispatching domains.
* s-mudido-affinity.adb: Add this new body for targets supporting
dispatching domains setting the affinity to a CPU set.
* bindgen.adb (Dispatching_Domain_Used, Check_Dispatching_Domains_Used,
Gen_Adainit): When package System.Multiprocessors.Dispatching_Domains
is used we call the procedure to signal that when we are about to call
the main subprogram no new dispatching domain can be created.
(Check_File_In_Partition): Factor out the common functionality used by
Check_System_Restrictions_Used and Check_Dispatching_Domains_Used.
* s-tassta.adb (Create_Task): Tasks inherit the dispatching domain of
their activators.
* s-taprop.ads (Set_Task_Affinity): Add this new procedure to set task
affinities.
* s-taprop-dummy.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
s-taprop-posix.adb, s-taprop-tru64.adb, s-taprop-vms.adb
(Set_Task_Affinity): Dummy null body for these targets not supporting
task affinities.
s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-solaris.adb,
s-taprop-vxworks.adb (Create_Task, Enter_Task, Initialize): Handle
dispatching domains and set the affinity of the environment task.
(Set_Task_Affinity): Procedure that uses the underlying CPU set
functionality to handle dispatching domains, pragma CPU and Task_Info.
s-winext.ads (SetThreadAffinityMask): Import this function needed to
set CPU masks.
* s-osinte-solaris.ads (psetit_t, pset_create, pset_assign, pset_bind):
Import the functionality to handle CPU set affinities.
* affinity.c: New file.
* s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.ads,
s-vxwext-rtp.ads (taskMaskAffinitySet): Add this new spec for setting
affinity masks.
* s-vxwext.adb, s-vxwext-kernel.adb, s-vxwext-rtp.adb
(taskMaskAffinitySet): Body returning an error indicating that task
affinities are not supported.
Makefile.rtl: Indicate that s-mudido is part of libgnarl.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for VxWorks SMP,
Solaris, Windows, and {x86,PowerPC, ia64,x86_64} Linux): Use the
s-mudido-affinity.adb body which supports task affinities.
2011-08-30 Thomas quinot <quinot@adacore.com>
* sem_ch13.adb: Minor reformatting.
2011-08-30 Vincent Celier <celier@adacore.com>
* vms_conv.adb (Process_Argument): When the qualifier
/UNCHECKED_SHARED_LIB_IMPORTS is for GNAT COMPILE, do not put the
corresponding switch --unchecked-shared-lib-imports after -cargs, as it
is for gnatmake, not for the compiler.
2011-08-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Quantified_Expression): Analyze iterator
specification and condition only in Semantics_Only mode. Otherwise the
analysis is done after expression has been rewritten as loop.
* sem_ch5.adb (Analyze_Iterator_Specification): Always generate a
temporary for the iterator name (the domain of iteration) because it
may need finalization actions and these must be generated outside of
the loop.
* sem_res.adb (Resolve_Quantified_Expression): Resolve only in
Semantic_Only mode.
* exp_ch4.adb (Expand_Quantified_Expression): Analyze and resolve once
rewritten as loop.
* exp_ch5.adb (Expand_Iterator_Loop): Code clean-up, now that the
iterator is always an expression.
2011-08-30 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Unparen_Cond_Case_Quant_Expression): New function
(P_Expression_If_OK): New spec checks parens
(P_Expression_Or_Range_Attribute_If_OK): New spec checks parens
* par.adb (P_Expression_If_OK): New spec checks parens
(P_Expression_Or_Range_Attribute_If_OK): New spec checks parens
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178321
138bc75d-0d04-0410-961f-
82ee72b054a4
ams [Tue, 30 Aug 2011 14:28:17 +0000 (14:28 +0000)]
2011-08-30 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.c (arm_gen_constant): Set can_negate correctly
when code is SET.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178319
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:23:30 +0000 (14:23 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178318
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:20:11 +0000 (14:20 +0000)]
2011-08-30 Yannick Moy <moy@adacore.com>
* exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
expansion in Alfa mode.
* exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
* exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
Alfa mode.
* gnat1drv.adb (Adjust_Global_Switches): Update Comment.
* sem_res.adb: Ditto.
2011-08-30 Thomas Quinot <quinot@adacore.com>
* g-socket.ads: Minor documentation adjustment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178317
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:16:43 +0000 (14:16 +0000)]
2011-08-30 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
2011-08-30 Yannick Moy <moy@adacore.com>
* exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
Revert change which introduced files for "light"
expansion, to be replaced by a single file for Alfa expansion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178316
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:13:06 +0000 (14:13 +0000)]
Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178315
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:12:00 +0000 (14:12 +0000)]
2011-08-30 Robert Dewar <dewar@adacore.com>
* opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
Minor code reorg/reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178314
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:06:25 +0000 (14:06 +0000)]
2011-08-30 Yannick Moy <moy@adacore.com>
* opt.adb, opt.ads (Full_Expander_Active): New function defines a
common shorthand for (Expander_Active and not ALFA_Mode) that can be
used for testing full expansion, that is active expansion not in the
reduced mode for Alfa
* exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
of the verbose (Expander_Active and not ALFA_Mode)
2011-08-30 Tristan Gingold <gingold@adacore.com>
* s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
s-secsta.ads, s-parame.ads, s-parame-vxworks.ads: Renames Ratio to
Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178313
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 30 Aug 2011 14:06:00 +0000 (14:06 +0000)]
2011-08-30 Richard Guenther <rguenther@suse.de>
PR middle-end/48571
* gimple.h (maybe_fold_offset_to_address): Remove.
(maybe_fold_offset_to_reference): Likewise.
(maybe_fold_stmt_addition): Likewise.
(may_propagate_address_into_dereference): Likewise.
* tree-inline.c (remap_gimple_op_r): Do not reconstruct
array references.
* gimple-fold.c (canonicalize_constructor_val): Likewise.
Canonicalize invariant POINTER_PLUS_EXPRs to invariant MEM_REF
addresses instead.
(may_propagate_address_into_dereference): Remove.
(maybe_fold_offset_to_array_ref): Likewise.
(maybe_fold_offset_to_reference): Likewise.
(maybe_fold_offset_to_address): Likewise.
(maybe_fold_stmt_addition): Likewise.
(fold_gimple_assign): Do not reconstruct array references but
instead canonicalize invariant POINTER_PLUS_EXPRs to invariant
MEM_REF addresses.
(gimple_fold_stmt_to_constant_1): Likewise.
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
* gimplify.c (gimplify_conversion): Likewise.
(gimplify_expr): Likewise.
* gcc.c-torture/execute/pr48571-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ccp-25.c: Remove.
* gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
* gcc.dg/pr36902.c: XFAIL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178312
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Aug 2011 14:02:53 +0000 (14:02 +0000)]
Add FMA intrinsics and testcases.
gcc/
2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
* config/i386/fmaintrin.h: New.
* config.gcc: Add fmaintrin.h.
* config/i386/i386.c
(enum ix86_builtins) <IX86_BUILTIN_VFMADDSS3>: New.
<IX86_BUILTIN_VFMADDSD3>: Likewise.
* config/i386/sse.md (fmai_vmfmadd_<mode>): New.
(*fmai_fmadd_<mode>): Likewise.
(*fmai_fmsub_<mode>): Likewise.
(*fmai_fnmadd_<mode>): Likewise.
(*fmai_fnmsub_<mode>): Likewise.
* config/i386/immintrin.h: Add fmaintrin.h.
gcc/testsuite/
2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
* gcc.target/i386/fma-check.h: New.
* gcc.target/i386/fma-256-fmaddXX.c: New testcase.
* gcc.target/i386/fma-256-fmaddsubXX.c: Likewise.
* gcc.target/i386/fma-256-fmsubXX.c: Likewise.
* gcc.target/i386/fma-256-fmsubaddXX.c: Likewise.
* gcc.target/i386/fma-256-fnmaddXX.c: Likewise.
* gcc.target/i386/fma-256-fnmsubXX.c: Likewise.
* gcc.target/i386/fma-fmaddXX.c: Likewise.
* gcc.target/i386/fma-fmaddsubXX.c: Likewise.
* gcc.target/i386/fma-fmsubXX.c: Likewise.
* gcc.target/i386/fma-fmsubaddXX.c: Likewise.
* gcc.target/i386/fma-fnmaddXX.c: Likewise.
* gcc.target/i386/fma-fnmsubXX.c: Likewise.
* gcc.target/i386/fma-compile.c: Likewise.
* gcc.target/i386/i386.exp (check_effective_target_fma): New.
* gcc.target/i386/sse-12.c: Add -mfma.
* gcc.target/i386/sse-13.c: Likewise.
* gcc.target/i386/sse-14.c: Likewise.
* gcc.target/i386/sse-22.c: Likewise.
* gcc.target/i386/sse-23.c: Likewise.
* g++.dg/other/i386-2.C: Likewise.
* g++.dg/other/i386-3.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178311
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 14:01:42 +0000 (14:01 +0000)]
2011-08-30 Gary Dismukes <dismukes@adacore.com>
* sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
access conversions to check that the conversion is a rewritten node,
rather than just having Comes_From_Source set to False, which wasn't
sufficient.
2011-08-30 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
g-socket.ads: Minor reformatting.
2011-08-30 Thomas Quinot <quinot@adacore.com>
* sem_util.adb: Minor reformatting.
2011-08-30 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
to be compliant with the ABI.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178310
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:57:09 +0000 (13:57 +0000)]
2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch12.adb (Check_Private_View): Exchange the private and full view
of a designated type when the related access type is an actual in an
instance. This ensures that the full view of designated type is
available when inside the body of the instance.
2011-08-30 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
in a position to be modified, a slice is treated like an indexed
component.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178308
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:53:38 +0000 (13:53 +0000)]
2011-08-30 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
field tv_sec in struct timeval.
2011-08-30 Yannick Moy <moy@adacore.com>
* exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
blocks of code doing full expansion, previously only guarded by
Expander_Active, by anding the test that ALFA_Mode is not set
2011-08-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
add the function to the list of private dependents, for subsequent
legality check on Taft amendment types.
* sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
Private_Dependents, as for other incomplete types.
* sem_util.adb (Wrong_Type): Avoid cascaded errors when a
Taft-amendment type is used as the return type of a function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178307
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:50:19 +0000 (13:50 +0000)]
2011-08-30 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
which emits an error by a call to a new routine which report the error.
* exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
entity does not cover an existing interface.
* errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
code.
* sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
protected procedures or entries whose mode is not conformant.
(Check_Synchronized_Overriding): Code cleanup: replace code which emits
an error by a call to a new routine which report the error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178306
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:44:27 +0000 (13:44 +0000)]
2011-08-30 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor change.
* exp_attr_light.adb: Minor reformatting.
2011-08-30 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Patch inheritance of aspects in
Complete_Private_Subtype, to avoid infinite loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178305
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:41:24 +0000 (13:41 +0000)]
2011-08-30 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
been reported and a subprogram covering an interface primitive is not
found then skip generating the internal entity. Done to avoid crashing
the frontend.
(Check_Abstract_Overriding): Change text of error of wrong formal of
protected subprogram or entry. Done for consistency to emit exactly the
same error reported by Check_Synchronized_Overriding. In addition, the
error is restricted to protected types (bug found working on AI05-0090)
2011-08-30 Yannick Moy <moy@adacore.com>
* exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
expansion in Alfa mode.
* exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
* exp_light.adb, exp_light.ads: New package defining light expansion.
* expander.adb (Expand): Call light expansion in Alfa mode
* exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
constructs.
* exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
constructs.
* exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
* gnat1drv.adb (Adjust_Global_Switches): Comment
2011-08-30 Yannick Moy <moy@adacore.com>
* lib-xref-alfa.adb: Minor refactoring.
2011-08-30 Yannick Moy <moy@adacore.com>
* exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
mode.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
expansion in Alfa mode.
* sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
mode.
2011-08-30 Robert Dewar <dewar@adacore.com>
* debug_a.adb: Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178304
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:31:38 +0000 (13:31 +0000)]
2011-08-30 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
exp_ch4.adb, exp_ch6.adb, s-bbthre.adb, lib-xref-alfa.adb,
sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
2011-08-30 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
volatile.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178303
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Tue, 30 Aug 2011 13:28:21 +0000 (13:28 +0000)]
Rename avx2-vmovmskb-2.c to avx2-vpmovmskb-2.c.
2011-08-30 Kirill Yukhin <kirill.yukhin@intel.com>
PR testsuite/50185
* gcc.target/i386/avx2-vmovmskb-2.c: Rename to ...
* gcc.target/i386/avx2-vpmovmskb-2.c: ... this. Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178302
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:28:16 +0000 (13:28 +0000)]
2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
Build_Finalization_Master by supplying an insertion node and enclosing
scope. In its old version, the call did not generate a finalization
master.
(Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
recognize anonymous access-to-controlled components. Rewrite the
machinery which creates finalization masters to service anonymous
access-to-controlled components of a record type. In its current state,
only one heterogeneous master is necessary to handle multiple anonymous
components.
(Freeze_Type): Comment reformatting.
* rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
RE_Unit_Table.
* s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
associates TSS primitive Finalize_Address with either the master itself
or with the internal hash table depending on the mode of operation of
the master.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178301
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:23:33 +0000 (13:23 +0000)]
2011-08-30 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
interface type then do not generate code to compare this component.
Required since they have no components and their equality operator is
abstract.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178300
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:22:13 +0000 (13:22 +0000)]
2011-08-30 Steve Baird <baird@adacore.com>
* sem_util.ads (Deepest_Type_Access_Level): New function; for the type
of a saooaaat (i.e, a stand-alone object of an anonymous access type),
returns the (static) accessibility level of the object. Otherwise, the
same as Type_Access_Level.
(Dynamic_Accessibility_Level): New function; given an expression which
could occur as the rhs of an assignment to a saooaaat (i.e., an
expression of an access-to-object type), return the new value for the
saooaaat's associated Extra_Accessibility object.
(Effective_Extra_Accessibility): New function; same as
Einfo.Extra_Accessibility except that object renames are looked through.
* sem_util.adb
(Deepest_Type_Access_Level): New function; see sem_util.ads description.
(Dynamic_Accessibility_Level): New function; see sem_util.ads
description.
(Effective_Extra_Accessibility): New function; see sem_util.ads
description.
* einfo.ads (Is_Local_Anonymous_Access): Update comments.
(Extra_Accessibility): Update comments.
(Init_Object_Size_Align): New procedure; same as Init_Size_Align
except RM_Size field (which is only for types) is unaffected.
* einfo.adb
(Extra_Accessibility): Expand domain to allow objects, not just formals.
(Set_Extra_Accessibility): Expand domain to allow objects, not just
formals.
(Init_Size): Add assertion that we are not trashing the
Extra_Accessibility attribute of an object.
(Init_Size_Align): Add assertion that we are not trashing the
Extra_Accessibility attribute of an object.
(Init_Object_Size_Align): New procedure; see einfo.ads description.
* sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
differently for the type of a (non-library-level) saooaaat depending
whether Ada_Version < Ada_2012. This is the only point where Ada_Version
is queried in this set of changes - everything else (in particular,
setting of the Extra_Accessibility attribute in exp_ch3.adb) is
driven off of the setting of the Is_Local_Anonymous_Access attribute.
The special treatment of library-level saooaaats is an optimization,
not required for correctnesss. This is based on the observation that the
Ada2012 rules (static and dynamic) for saooaaats turn out to be
equivalent to the Ada2005 rules in the case of a library-level saooaaat.
* exp_ch3.adb
(Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
false for the type of a saooaaat, declare and initialize its
accessibility level object and set the Extra_Accessibility attribute
of the saooaaat to refer to this object.
* checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
* exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
calls to Effective_Extra_Accessibility in order to support
renames of saooaaats.
(Expand_N_Type_Conversion): Add new local function,
Has_Extra_Accessibility, and call it when determining whether an
accessibility check is needed.
It returns True iff Present (Effective_Extra_Accessibility (Id)) would
evaluate to True (without raising an exception).
* exp_ch5.adb
(Expand_N_Assignment_Statement): When assigning to an Ada2012
saooaaat, update its associated Extra_Accessibility object (if
it has one). This includes an accessibility check.
* exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
a saooaaat, update its Extra_Accessibility object too (if it
has one).
(Expand_Call): Replace a couple of calls to Type_Access_Level
with calls to Dynamic_Access_Level to handle cases where
passing a literal (any literal) is incorrect.
* sem_attr.adb (Resolve_Attribute): Handle the static accessibility
checks associated with "Saooaat := Some_Object'Access;"; this must
be rejected if Some_Object is declared in a more nested scope
than Saooaat.
* sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
assignment to a saooaaat even if Is_Local_Anonymous_Access
returns False for its type (indicating a 2012-style saooaaat).
* sem_ch8.adb
(Analyze_Object_Renaming): Replace a call to Init_Size_Align
(which is only appropriate for objects, not types) with a call
of Init_Object_Size_Align in order to avoid trashing the
Extra_Accessibility attribute of a rename (the two attributes
share storage).
* sem_res.adb
(Valid_Conversion) Replace six calls to Type_Access_Level with
calls to Deepest_Type_Access_Level. This is a bit tricky. For an
Ada2012 non-library-level saooaaat, the former returns library level
while the latter returns the (static) accessibility level of the
saooaaat. A type conversion to the anonymous type of a saooaaat
can only occur as part of an assignment to the saooaaat, so we
know that such a conversion must be in a lhs context, so Deepest
yields the result that we need. If such a conversion could occur,
say, as the operand of an equality operator, then this might not
be right. Also add a test so that static accessibilty checks are
performed for converting to a saooaaat's type even if
Is_Local_Anonymous_Access yields False for the type.
2011-08-30 Javier Miranda <miranda@adacore.com>
* sem_disp.adb (Check_Dispatching_Operation): Complete condition that
controls generation of a warning associated with late declaration of
dispatching functions. Required to avoid generating spurious
warnings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178299
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 30 Aug 2011 13:17:40 +0000 (13:17 +0000)]
* bb-reorder.c (insert_section_boundary_note): Only do it if
we reordered the blocks; i.e. not if !optimize_function_for_speed_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178298
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 30 Aug 2011 13:16:44 +0000 (13:16 +0000)]
* config/i386/i386.c (get_pc_thunk_name): Change prefix to
"__x86.get_pc_thunk".
his line, and those below, will be ignored--
M ChangeLog
M config/i386/i386.c
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178297
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:16:22 +0000 (13:16 +0000)]
2011-08-30 Gary Dismukes <dismukes@adacore.com>
* sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
return object has an anonymous access type and the function's type is
a named access type.
* sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
conversions on implicit conversions, since such conversions can occur
for anonymous access cases due to expansion. Issue error for attempt
to rename an anonymous expression as an object of a named access type.
* sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
to indicate whether this function should report errors on invalid
conversions.
* sem_res.adb (Resolve): For Ada 2012, in the case where the type of
the expression is of an anonymous access type and the expected type is
a named general access type, rewrite the expression as a type
conversion, unless this is an expression of a membership test.
(Valid_Conversion.Error_Msg_N): New procedure that conditions the
calling of Error_Msg_N on new formal Report_Errs.
(Valid_Conversion.Error_Msg_NE): New procedure that conditions the
calling of Error_Msg_NE on new formal Report_Errs.
(Valid_Conversion): Move declaration of this function to the package
spec, to allow calls from membership test processing. For Ada 2012,
enforce legality restrictions on implicit conversions of anonymous
access values to general access types, disallowing such conversions in
cases where the expression has a dynamic accessibility level (access
parameters, stand-alone anonymous access objects, or a component of a
dereference of one of the first two cases).
* sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
in the context of a named general access expected type.
* exp_ch4.adb Add with and use of Exp_Ch2.
(Expand_N_In): Add processing for membership tests applied to
expressions of an anonymous access type. First, Valid_Conversion is
called to check whether the test is statically False, and then the
conversion is expanded to test that the expression's accessibility
level is no deeper than that of the tested type. In the case of
anonymous access-to-tagged types, a tagged membership test is applied
as well.
(Tagged_Membership): Extend to handle access type cases, applying the
test to the designated types.
* exp_ch6.adb (Expand_Call): When creating an extra actual for an
accessibility level, and the actual is a 'Access applied to a current
instance, pass the accessibility level of the type of the current
instance rather than applying Object_Access_Level to the prefix. Add a
??? comment, since this level isn't quite right either (will eventually
need to pass an implicit level parameter to init procs).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178296
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 30 Aug 2011 13:15:38 +0000 (13:15 +0000)]
* genautomata.c (NO_COMB_OPTION): New macro.
(no_comb_flag): New static variable.
(gen_automata_option): Handle NO_COMB_OPTION.
(comb_vect_p): False if no_comb_flag.
(add_vect): Move computation of min/max values. Return early if
no_comb_flag.
* doc/md.texi (automata_option): Document no-comb-vect.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178295
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 30 Aug 2011 13:12:16 +0000 (13:12 +0000)]
2011-08-30 Bob Duff <duff@adacore.com>
* s-taskin.ads: Minor comment fix.
2011-08-30 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Check_Parameterless_Call): If the node is a selected
component and the selector is a dispatching operation, check if it is
a prefixed call before rewriting as a parameterless function call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178294
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Tue, 30 Aug 2011 11:18:49 +0000 (11:18 +0000)]
fix -fbranch-probabilities and adjust testsuite
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178289
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 30 Aug 2011 08:57:52 +0000 (08:57 +0000)]
2011-08-30 Paolo Carlini <paolo.carlini@oracle.com>
* config/os/mingw32/error_constants.h: Fix commas.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178286
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 04:30:58 +0000 (04:30 +0000)]
PR c++/50224
* semantics.c (finish_id_expression): Mark captured variables used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178277
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 04:30:42 +0000 (04:30 +0000)]
PR c++/50207
* class.c (finish_struct_1): Complain if the first field is
artificial.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178276
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 30 Aug 2011 04:30:27 +0000 (04:30 +0000)]
PR c++/50209
Core DR 994
* parser.c (cp_parser_default_argument): Use
cp_parser_initializer_clause.
(cp_parser_late_parsing_default_args): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178275
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 30 Aug 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178269
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 29 Aug 2011 23:25:17 +0000 (23:25 +0000)]
2011-08-29 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/duration/arithmetic/constexpr.cc: Add.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178265
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 29 Aug 2011 22:06:19 +0000 (22:06 +0000)]
Lower calls to bound method expressions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178264
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 29 Aug 2011 22:02:01 +0000 (22:02 +0000)]
Don't lower blocks twice.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178263
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Mon, 29 Aug 2011 21:55:10 +0000 (21:55 +0000)]
2011-08-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/50225
* trans-decl.c (gfc_generate_function_code): Nullify polymorphic
allocatable function results.
2011-08-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/50225
* gfortran.dg/class_result_1.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178262
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 29 Aug 2011 21:29:23 +0000 (21:29 +0000)]
Change default for -msave-toc-indirect
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178261
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 29 Aug 2011 21:29:01 +0000 (21:29 +0000)]
Change default for -msave-toc-indirect
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178260
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 29 Aug 2011 21:01:42 +0000 (21:01 +0000)]
* gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
tsystem.h into $(RTSDIR) instead of rts.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178259
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 29 Aug 2011 21:00:39 +0000 (21:00 +0000)]
* gthr-posix.h (__gthread_active_p): Do not use preprocessor
conditionals and comments inside macro arguments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178258
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 29 Aug 2011 19:57:24 +0000 (19:57 +0000)]
* configure: Regenerated.
* config.h.in: Regenerated.
* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR) Add
checks for ECHILD, ENOSPC, EPERM, ETIMEDOUT, and
EWOULDBLOCK.
* config/os/mingw32/error_constants.h (errc): Add
enumerator values no_child_process, no_space_on_device,
not_supported, operation_not_permitted, operation_would_block,
timed_out, and value_too_large,
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178257
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:40:11 +0000 (14:40 +0000)]
2011-08-29 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2011-08-29 Yannick Moy <moy@adacore.com>
* alfa.ads (Name_Of_Heap_Variable): New constant name.
* lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
table to hold dereferences.
(Add_ALFA_Xrefs): Take into account dereferences as special
reads/writes to the variable "HEAP".
(Enclosing_Subprogram_Or_Package): Move subprogram here.
(Generate_Dereference): New procedure to store a read/write dereferencew
in the table Drefs.
* put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
the special "HEAP" var.
* sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
in ALFA mode.
* sem_util.adb (Note_Possible_Modification): Store write dereference
in ALFA mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178252
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:33:59 +0000 (14:33 +0000)]
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Freeze_Type): Generate an accessibility check which
ensures that the level of the subpool access type is not deeper than
that of the pool object.
* sem_util.adb (Object_Access_Level): Expand to handle defining
identifiers.
* sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
subpool handle name of a rewritten allocator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178250
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:32:43 +0000 (14:32 +0000)]
2011-08-29 Robert Dewar <dewar@adacore.com>
* impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
values, we generate multiple triples of parameters in the TypeCode.
Bump Choice_Index for each such triple so that a subsequent default
choice is associated with the correct index in the typecode.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* a-cdlili.adb (Iterate): Initialize properly an iterator over a null
container.
(First, Last): Handle properly an iterator over a null container.
2011-08-29 Bob Duff <duff@adacore.com>
* sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
processing if we run across a node with no Scope. This can happen if
we're with-ing an library-level instance, and that instance got errors
that caused "instantiation abandoned".
* sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
an exception instead of using Assert, so it won't go into an infinite
loop, even when assertions are turned off.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* a-coorse.adb: Proper handling of empty ordered sets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178249
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:29:25 +0000 (14:29 +0000)]
2011-08-29 Johannes Kanig <kanig@adacore.com>
* debug.adb: Add comments.
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* impunit.adb, s-stposu.adb, s-stposu.ads, exp_ch4.adb,
s-finmas.adb, s-finmas.ads: Redo previous change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178247
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:26:53 +0000 (14:26 +0000)]
2011-08-29 Thomas Quinot <quinot@adacore.com>
* a-except.adb, a-except-2005.adb: Minor comment rewording and
reformatting.
2011-08-29 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Array_Type_Declaration): Remove insertion of
declaration for Itypes in Alfa mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178246
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:25:19 +0000 (14:25 +0000)]
2011-08-29 Robert Dewar <dewar@adacore.com>
* a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
reformatting.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
package spec.
* exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
* a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
while raising PE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178245
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:23:16 +0000 (14:23 +0000)]
2011-08-29 Robert Dewar <dewar@adacore.com>
* a-cbhama.adb, a-cbhama.ads: Minor reformatting.
2011-08-29 Javier Miranda <miranda@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
renamings of formal subprograms when the actual for a formal type is
class-wide.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178244
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:21:27 +0000 (14:21 +0000)]
2011-08-29 Matthew Heaney <heaney@adacore.com>
* a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
to Target.
2011-08-29 Matthew Heaney <heaney@adacore.com>
* a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
components of record type.
* a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
to Target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178243
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:19:32 +0000 (14:19 +0000)]
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
container packages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178242
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:17:49 +0000 (14:17 +0000)]
2011-08-29 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
reformatting.
2011-08-29 Matthew Heaney <heaney@adacore.com>
* a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
components of record type.
2011-08-29 Bob Duff <duff@adacore.com>
* s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
by the termination handler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178241
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:15:28 +0000 (14:15 +0000)]
2011-08-29 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
created in Alfa mode, instead of inserting artificial declarations of
non-Itypes in the tree.
* sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
know if an Itype has a corresponding declaration, as defined in
itypes.ads.
2011-08-29 Yannick Moy <moy@adacore.com>
* gnat1drv.adb: Minor rewrite.
2011-08-29 Bob Duff <duff@adacore.com>
* s-tasuti.adb (Make_Passive): Work around race condition in
Make_Independent, which can cause Wait_Count to be zero. So instead of
asserting that Wait_Count > 0, and then decrementing it, decrement it
only if Wait_Count > 0.
* s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
should be nonnegative, so declare them Natural instead of Integer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178240
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:12:57 +0000 (14:12 +0000)]
2011-08-29 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
2011-08-29 Vadim Godunko <godunko@adacore.com>
* s-parint.ads: Minor comment clarification.
2011-08-29 Vincent Celier <celier@adacore.com>
* prj.adb (Initialize): Make sure that new reserved words after Ada 95
may be used as identifiers.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* a-coinho.ads: Minor reformating.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178239
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:07:24 +0000 (14:07 +0000)]
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
container of a derived type.
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* impunit.adb, s-stposu.adb, s-stposu.ads, exp_ch4.adb, s-finmas.adb,
s-finmas.ads: Revert previous change.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178237
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 14:02:26 +0000 (14:02 +0000)]
2011-08-29 Pascal Obry <obry@adacore.com>
* exp_disp.adb: Minor comment fix.
(Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
to avoid warnings when compiling with -Wall.
(Make_Disp_Conditional_Select_Body): Likewise.
(Make_Disp_Timed_Select_Body): Likewise.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
an entity name, generate reference for it.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
iterator form.
* sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
the class-wide type.
* sem_ch5.adb: Move some rewriting to the expander, where it belongs.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Check_Constrained_Object): Do not create an actual
subtype for an object whose type is an unconstrained union.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
is allowed in a component definition, by AI95-406.
2011-08-29 Matthew Heaney <heaney@adacore.com>
* a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* a-except-2005.adb: Alphabetize all routines.
(Triggered_By_Abort): New routine.
* a-except-2005.ads (Triggered_By_Abort): New routine.
* a-except.adb Alphabetize all routines.
(Triggered_By_Abort): New routine.
* a-except.ads (Triggered_By_Abort): New routine.
* exp_ch7.adb: Update all comments involving the detection of aborts in
finalization code.
(Build_Object_Declarations): Do not generate code to detect the
presence of an abort at the start of finalization code, use a runtime
routine istead.
* rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
RE_Unit_Table.
* sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
allocate a task on a subpool.
* s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
The flag disables all actions related to the maintenance of
Finalize_Address_Table when subpools are not in use.
(Allocate_Any_Controlled): Signal the machinery that subpools are in
use.
(Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
performs costly task locking when subpools are not in use.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178236
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Mon, 29 Aug 2011 13:54:30 +0000 (13:54 +0000)]
2011-08-29 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
types and dispatching calls in Alfa mode.
* lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
correspondance between body and spec scopes, to reuse utility functions
(Traverse_Declarations_Or_Statements): Protect access to body for stub
by testing the presence of the library unit for the body
* sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
mode the expansion of accept statements is skipped
* sem_util.adb, sem_util.ads (Unique_Entity): New function returning
the unique entity corresponding to the one returned by
Unique_Defining_Entity applied to the enclosing declaration of the
argument.
2011-08-29 Bob Duff <duff@adacore.com>
* treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
gdb when x is not a node (it can be a node list, name_id, etc). pp is
an alias for pn. ppp is an alias for pt.
2011-08-29 Javier Miranda <miranda@adacore.com>
* exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
aggregate to take a consistent decision on the need to convert into
assignments aggregates that initialize constant objects.
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): Add a call to
Build_Allocate_Deallocate_Proc in order to handle allocation of
non-controlled objects on subpools.
* impunit.adb: Remove s-finmas and s-spsufi since they were never meant
to be end-user visible.
* s-finmas.adb: Add with and use clause for System.HTable.
Add an instantiation of Simple_HTable which provides a mapping between
the address of a controlled object and the corresponding
Finalize_Address used to clean up the object. The table is used when a
master is operating in heterogeneous mode.
(Attach): Explain why the input node is not verified on being already
attached.
(Delete_Finalize_Address): New routine.
(Detach): Add pragma Assert which ensures that a node is already
attached.
(Finalize): Add local variable Cleanup. Rewrite the iteration scheme
since nodes are no longer removed on traversal. Explain why node
detachment is undesirable in this case.
(Get_Finalize_Address): New routine.
(Hash): New routine.
(Is_Empty_List): Removed.
(pm): Renamed to Print_Master. Add output for discriminant
Is_Homogeneous.
Comment reformatting.
(Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
* s-finmas.ads: Various comments additions / improvements.
Type Finalization_Master has a discriminant which determines the mode of
operation.
(Delete_Finalize_Address): New routine.
(Get_Finalize_Address): New routine.
(pm): Renamed to Print_Master.
(Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
* s-stposu.adb: Add with clause for System.Address_Image; Add with and
use clause for System.IO.
(Allocate_Any_Controlled): Add machinery to set TSS primitive
Finalize_Address depending on the mode of allocation and the mode of
the master.
(Deallocate_Any_Controlled): Remove the relation pair object -
Finalize_Address regardless of the master mode. Add comment explaining
the reason.
(Detach): Ensure that fields Prev and Next are null after detachment.
(Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
scheme to check whether the list of subpools is empty. There is no
longer need to store the next subpool or advance the current pointer.
(Is_Empty_List): New routine.
(Print_Pool): New routine.
(Print_Subpool): New routine.
* s-stposu.ads: Various comments additions / improvements.
Field Master of type Root_Subpool is now a heterogeneous collection.
(Print_Pool): New routine.
(Print_Subpool): New routine.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
forms, using aspects of container types.
* sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
Has_Implicit_Dereference flags, that may be set on the partial view.
* sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
container type with an indexing aspect.
(Analyze_Quantified_Expression): Analyze construct with expansion
disabled, because it will be rewritten as a loop during expansion.
(Try_Container_Indexing): The prefix itself may be a container type
with an indexing aspect, as with a vector of vectors.
* sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
the original doamin of iteration, for name capture.
(Analyze_Iterator_Specification): If the domain is an expression that
needs finalization, create a separate declaration for it.
For an iterator with "of" retrieve default iterator info from aspect of
container type. For "in" iterator, retrieve type of Iterate function.
* sem_ch13.adb (Check_Iterator_Function): Fix typo.
(Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
analysis, to prevent spurious errors about late attributes.
* sprint.adb: Handle quantified expression with either loop or iterator
specification.
* a-convec.ads, a-convec.adb: Iterate function returns a reversible
iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178235
138bc75d-0d04-0410-961f-
82ee72b054a4