OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years agoDon't lower blocks twice.
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

12 years ago2011-08-29 Janus Weil <janus@gcc.gnu.org>
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

12 years agoChange default for -msave-toc-indirect
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

12 years agoChange default for -msave-toc-indirect
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

12 years ago * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
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

12 years ago * gthr-posix.h (__gthread_active_p): Do not use preprocessor
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

12 years ago * configure: Regenerated.
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

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
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

12 years ago2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
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

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
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

12 years ago2011-08-29 Johannes Kanig <kanig@adacore.com>
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

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
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

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
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

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
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

12 years ago2011-08-29 Matthew Heaney <heaney@adacore.com>
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

12 years ago2011-08-29 Ed Schonberg <schonberg@adacore.com>
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

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
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

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
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

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
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

12 years ago2011-08-29 Ed Schonberg <schonberg@adacore.com>
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

12 years ago2011-08-29 Pascal Obry <obry@adacore.com>
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

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
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

12 years ago2011-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 29 Aug 2011 13:50:26 +0000 (13:50 +0000)]
2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak last ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178234 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Vincent Celier <celier@adacore.com>
charlet [Mon, 29 Aug 2011 13:48:36 +0000 (13:48 +0000)]
2011-08-29  Vincent Celier  <celier@adacore.com>

* make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
Binder or Linker of the main project file.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
unit.

2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_ch9.adb: Partial revert of previous change for Alfa mode

2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_ch11.adb: Minor expansion of comment.

2011-08-29  Yannick Moy  <moy@adacore.com>

* lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
interpretation, set the type before resolving the operands, because
legality checks on an exponention operand need to know the type of the
context.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
cleanups on a master if the instance is within a generic unit.
Complement to the corresponding fix to inline.adb for K520-030.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
occurrence.
* exp_intr.adb: Minor comment fix.

2011-08-29  Bob Duff  <duff@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
Delay_Required was used as an uninitialized variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178233 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 13:42:00 +0000 (13:42 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178232 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 29 Aug 2011 13:40:33 +0000 (13:40 +0000)]
2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/50118
* include/bits/stl_list.h (_List_base<>::
_List_base(const allocator_type&)): Remove.
(_List_base<>::_List_base(const _Node_alloc_type&)): Add.
(list<>:list(const allocator_type&), list(size_type, const
value_type&, const allocator_type&),
list(initializer_list<, const allocator_type&),
list(_InputIterator, _InputIterator, const allocator_type&),
insert(iterator, size_type, const value_type&),
insert(iterator, _InputIterator, _InputIterator)): Adjust.
* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&,
const allocator_type&)): Fix.
* include/bits/stl_map.h (map<>::map(const _Compare&,
  const allocator_type&), map(initializer_list<>,
const _Compare&, const allocator_type&), map(_InputIterator,
_InputIterator, const _Compare&, const allocator_type&),
get_allocator): Adjust.
* include/bits/stl_set.h (set<>::set(const _Compare&,
  const allocator_type&), set(initializer_list<>,
const _Compare&, const allocator_type&), set(_InputIterator,
_InputIterator, const _Compare&, const allocator_type&),
get_allocator): Likewise.
* include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&,
  const allocator_type&), multimap(initializer_list<>,
const _Compare&, const allocator_type&), multimap(_InputIterator,
_InputIterator, const _Compare&, const allocator_type&),
get_allocator): Likewise.
* include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&,
  const allocator_type&), multiset(initializer_list<>,
const _Compare&, const allocator_type&), multiset(_InputIterator,
_InputIterator, const _Compare&, const allocator_type&),
get_allocator): Likewise.
* include/bits/forward_list.h (_Fwd_list_base<>::
_Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&,
const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
Remove.
(_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&),
_Fwd_list_base(const _Fwd_list_base&,
const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&,
const _Node_alloc_type&)): Add.
(forward_list<>::forward_list(const _Alloc&),
forward_list(const forward_list&, const _Alloc&),
forward_list(forward_list&&, const _Alloc&),
forward_list(size_type, const _Tp&, const _Alloc&),
forward_list(_InputIterator, _InputIterator, const _Alloc&),
forward_list(std::initializer_list<>, const _Alloc&),
get_allocator): Adjust.
* include/bits/forward_list.tcc
* testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/5.cc: New.
* testsuite/23_containers/multimap/requirements/
explicit_instantiation/5.cc: Likewise.
* testsuite/23_containers/multimap/requirements/
explicit_instantiation/5_c++0x.cc: Likewise.
* testsuite/23_containers/set/requirements/explicit_instantiation/
5.cc: Likewise.
* testsuite/23_containers/set/requirements/explicit_instantiation/
5_c++0x.cc: Likewise.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/5.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/
explicit_instantiation/5.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/5.cc: Likewise.
testsuite/23_containers/multiset/requirements/explicit_instantiation/
5.cc: Likewise.
* testsuite/23_containers/multiset/requirements/
explicit_instantiation/5_c++0x.cc: Likewise.
* testsuite/23_containers/list/requirements/explicit_instantiation/
5_c++0x.cc: Likewise.
* testsuite/23_containers/list/requirements/explicit_instantiation/
5.cc: Likewise.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/5.cc: Likewise.
* testsuite/23_containers/map/requirements/explicit_instantiation/
5.cc: Likewise.
* testsuite/23_containers/map/requirements/explicit_instantiation/
5_c++0x.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Adjust dg-error line number.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178230 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 13:40:26 +0000 (13:40 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
Remove unused variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178229 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 29 Aug 2011 13:38:55 +0000 (13:38 +0000)]
2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: Remove Build_Explicit_Dereference.
* sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
from sem_res.adb, used in analysis of additional constructs.
(Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
expansion of iterators.
(Is_Object_Reference): Recognize variables rewritten as explicit
dereferences in Ada2012.
* snames.ads-tmpl: Add Has_Element, Forward_Iterator,
Reversible_Iterator names, for expansion of Ada2012 iterators.
* aspects.ads, aspects.adb (Find_Aspect): Utility.
* a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
linked list container.
* a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
* a-coorse.ads, a-coorse.adb: Ditto for ordered sets.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
containers.

2011-08-29  Vincent Celier  <celier@adacore.com>

* make.adb (Gnatmake): Get the maximum number of simultaneous
compilation processes after the Builder switches has been scanned, as
there may include -jnn.

2011-08-29  Matthew Heaney  <heaney@adacore.com>

* a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
GNAT_DRIVER_COMMAND_LINE to 255.

2011-08-29  Pascal Obry  <obry@adacore.com>

* freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
reformatting and style fix (class attribute casing).

2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_ch11.adb: Yet another case where expansion should be common
between CodePeer and Alfa.

2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_ch9.adb: Partial revert of previous change for Alfa mode.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Matches_Limited_With_View): The limited views of an
incomplete type and its completion match.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178228 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
charlet [Mon, 29 Aug 2011 13:33:32 +0000 (13:33 +0000)]
2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_ch13.adb: Adjust previous change.

2011-08-29  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
exp_ch4.adb, sem_ch8.adb: Minor code reorganization
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178226 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Emmanuel Briot <briot@adacore.com>
charlet [Mon, 29 Aug 2011 13:31:02 +0000 (13:31 +0000)]
2011-08-29  Emmanuel Briot  <briot@adacore.com>

* make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
initialize aggregated projects.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
depth of candidates to resolve a potentially spurious ambiguity between
two visible subprograms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178225 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
charlet [Mon, 29 Aug 2011 13:27:37 +0000 (13:27 +0000)]
2011-08-29  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
Requires/Ensures.
* sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
Requires/Ensures.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
Add comment.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* sem_res.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178224 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Johannes Kanig <kanig@adacore.com>
charlet [Mon, 29 Aug 2011 13:26:02 +0000 (13:26 +0000)]
2011-08-29  Johannes Kanig  <kanig@adacore.com>

* exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
mode.
* gnat1drv.adb (Adjust_Global_Switches): Set
Use_Expressions_With_Actions to False in ALFA mode.
* sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
ALFA mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178223 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
charlet [Mon, 29 Aug 2011 13:21:45 +0000 (13:21 +0000)]
2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
* exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
* gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
tagged types and dispatching calls in Alfa mode.

2011-08-29  Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
we do not report an error on an Empty node.

2011-08-29  Geert Bosch  <bosch@adacore.com>

* Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
a-nlrear.o and a-nurear.o.

2011-08-29  Robert Dewar  <dewar@adacore.com>

* freeze.adb: Minor code reorganization.
Minor reformatting.
* sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
sem_ch6.adb: Minor reformatting

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* s-except.ads, s-except.adb: Provide dummy body.

2011-08-29  Yannick Moy  <moy@adacore.com>

* sem_warn.adb (Within_Postcondition): Take into account the case of
an Ensures component in a Test_Case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178222 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 13:13:26 +0000 (13:13 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
* rtsfind.ads (RTU_Id): Replaces System_Exceptions by
System_Exceptions_Debug
(RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
* a-except.adb: With and use System.Exceptions_Debug instead of
System.Exceptions.
* a-except-2005.adb: Likewise.
* s-assert.adb: Likewise.
* s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
* Makefile.rtl: Add s-excdeb.  Adjust compilation rule.
* gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
s-excdeb. Update dependencies.
(GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
as these no longer need external libraries.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Op_Expon): Additional check to reject an
exponentiation operator on universal values in a context that requires
a fixed-point type.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* raise-gcc.c (personnality_routine): Fix thinko.  Set Ada occurrence
before calling notify_handled_exception.
* a-exextr.adb: Fix comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178221 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 29 Aug 2011 13:07:49 +0000 (13:07 +0000)]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
Finalize_Address of the access type's finalization master.
(Expand_N_Allocator): Add code to set attribute Finalize_Address of the
access type's finalization master. Add a guard to prevent
Associated_Storage_Pool from being set on .NET/JVM.
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
attribute Finalize_Address of the access type's finalization master.
* exp_ch7.adb (Make_Finalize_Address_Call): New routine.
* exp_ch7.ads (Make_Finalize_Address_Call): New routine.
* rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
RE_Unit_Table.
* s-finmas.adb: Add with clause for System.Address_Image. Add with and
use clause for System.IO
(Detach): Relax the assertion, to be reinstated later.
(Finalize): Rewrite the iteration loop to avoid pointer comparison.
Relax the assertion on Finalize_Address, to be reinstated later.
(Is_Empty_List): New routine.
(pm): New debug routine.
(Set_Finalize_Address): New routine.
* s-finmas.ads (pm): New debug routine.
(Set_Finalize_Address): New routine.
* s-stposu.adb (Allocate_Any_Controlled): Code reformatting.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
Remove convention C.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
(Initialize_TCB): Remove Exc_Stack_Ptr initialization.
(Finalize_TCB): Remove its finalization.
(Initialize): Remove assignment of GET_Exc_Stack_Addr
* s-soflin.adb (NT_Exc_Stack): Remove
(Get_Exc_Stack_Addr_NT): Likewise.
(Get_Exc_Stack_Addr_Soft): Likewise.
* s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
(Get_Exc_Stack_Addr): Likewise.
(Get_Exc_Stack_Addr_Soft): Likewise
* s-taspri-vms.ads (Exc_Stack_T): Remove.
(Exc_Stack_Ptr_T): Likewise.
(Private_Data): Remove Exc_Stack_Ptr component.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* raise-gcc.c (get_ip_from_context): New function. Factorize code.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* gnat_ugn.texi: Fix aix and x86-solaris info for run-time.

2011-08-29  Geert Bosch  <bosch@adacore.com>

* s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
L2_Norm, Swap_Column): New generic subprograms
* s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
L2_Norm, Swap_Column): Implement new subprograms in order to
eliminate dependency on BLAS and LAPACK libraries in
Ada.Numerics.Generic_Real_Arrays and eventually also the complex
version. Forward_Eliminate/Back_Substitute can be used to put a
matrix in row echelon or reduced row echelon form using partial
pivoting.
* a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
Swap_Column): Instantiate from System.Generic_Array_Operations.
("*", "abs"): Implement by instantiation from Generic_Array_Operations.
(Sqrt): Local function for simple computation of square root without
adding dependencies on Generic_Elementary_Functions.
(Swap): New subprogram to exchange floating point numbers.
(Inverse): Reimplement using Jordan-Gauss elimination.
(Jacobi): New procedure implementing Jacobi's method for computation
of eigensystems, based on Rutishauser's implementation.
(L2_Norm): Implement directly using the inner product.
(Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
decreasing eigenvalue as required by the Ada RM.
(Swap_Column): New helper procedure for Sort_Eigensystem.
Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
Sort_Eigensystems.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* put_scos.adb (Put_SCOs): Do not emit a newline for an empty
statements line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178220 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 29 Aug 2011 13:01:34 +0000 (13:01 +0000)]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* s-finmas.adb (Finalize): Check Finalize_Address of the master rather
than the current node.
* s-finmas.ads: Move field Finalize_Address from type FM_Node to
Finalization_Master. The list headers have two fields instead of three.
This should fix alignment issue but subpool allocations are now
unusable. Alphabetize subprograms.
* s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
the size of the header when converting the beginning of the object to
a FM_Node. Set the master's Finalize_Address attribute if not already
set.
(Deallocate_Any_Controlled): Use the offset rather than the size of the
header when converting the beginning of the object to a FM_Node.

2011-08-29  Gary Dismukes  <dismukes@adacore.com>

* exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
reraise when compiling for CodePeer.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
now needed by a-convec.adb. Fix warning.

2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
processing of TSS routine Finalize_Address when compiling in
CodePeer_Mode.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
sem_warn.adb: Minor reformatting.

2011-08-29  Emmanuel Briot  <briot@adacore.com>

* prj-conf.adb (Get_Config_Switches): Also collect the list of
languages from aggregated projects.

2011-08-29  Yannick Moy  <moy@adacore.com>

* lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
Traverse_Package_Declaration, Traverse_Subprogram_Body,
Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
for stubs are traversed too when parameter is set
(Traverse_All_Compilation_Units): Traverse without going inside stubs
(Traverse_Declarations_Or_Statements): Do the special traversing for
stubs when required.
* sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
return subprogram or package body from stub.
(Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
stubs without prior subprogram decl.

2011-08-29  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178219 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 29 Aug 2011 12:56:22 +0000 (12:56 +0000)]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
which accounts for size vs alignment issues and calculates the size of
the list header.
(Deallocate_Any_Controlled): Ditto.
(Nearest_Multiple_Rounded_Up): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178218 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoHandle different versions of Solaris 8 <iso/math_iso.h>, <iso/stdlib_iso.h>
ro [Mon, 29 Aug 2011 12:54:55 +0000 (12:54 +0000)]
Handle different versions of Solaris 8 <iso/math_iso.h>, <iso/stdlib_iso.h>

* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO)
(GLIBCXX_CHECK_STDLIB_PROTO): New tests.
* configure.ac (GLIBCXX_CHECK_MATH_PROTO)
(GLIBCXX_CHECK_STDLIB_PROTO): Call them.
* configure: Regenerate.
* config.h.in: Regenerate.
* config/os/solaris/solaris2.8/os_defines.h
(__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define.
* config/os/solaris/solaris2.9: Remove.
* configure.host (solaris2.8): Merge with ...
(solaris2.9, solaris2.1[0-9]): ... this.
Always use os/solaris/solaris2.8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178217 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 12:52:57 +0000 (12:52 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
* a-exexda.adb (Set_Exception_C_Msg): Ditto.
(Set_Exception_Msg): Ditto.
* a-exexpr-gcc.adb (Setup_Current_Excep): Ditto.  Do not set
Private_Data.
* a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
Use Save_Occurrence instead of Save_Occurrence_No_Private.
(Raise_With_Msg): Remove Cleanup_Flag.
* a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
Clean_Flag and Private_Data components.

2011-08-29  Yannick Moy  <moy@adacore.com>

* freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
in CodePeer mode.
* sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
of an explicitly declared type, so that the base types of the original
type and this generated type are the same, and a "type" (not a subtype
like previously).
* errout.adb (Special_Msg_Delete): Do not issue messages "Size too
small" in Alfa mode, like in CodePeer mode.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
clauses in Alfa mode.

2011-08-29  Javier Miranda  <miranda@adacore.com>

* exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
function to the package spec.
* sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
internally generated bodies of null procedures locate the internally
generated spec enforcing mode conformance.
(Is_Interface_Conformant): Ensure that the controlling formal of the
primitives match.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
reject the pragma if it appears to apply to a formal subprogram.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
inner expression, to prevent double evaluation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178216 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 12:48:33 +0000 (12:48 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr.adb (Propagate_Exception): Remove all the parameters as
they were unused.
* a-exexpr-gcc.adb (Propagate_Exception): Ditto.
* a-except-2005.adb (Propagate_Exception): Adjust spec.
(Raise_Current_Excep): Adjust call.
(Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* exp_disp.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178215 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 12:41:02 +0000 (12:41 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr.adb (Setup_Exception): Removed.
* a-exexpr-gcc.adb (Setup_Exception): Removed.
* a-except.adb (Exception_Propagation): Removed.
* a-except-2005.adb (Setup_Exception): Removed.
(Reraise): Remove call to Setup_Exception.
(Reraise_Occurrence): Ditto.
(Reraise_Occurrence_Always): Ditto.
(Reraise_Occurrence_No_Defer): Ditto.
(Transfer_Occurrence): Ditto.
* a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
(Set_Exception_Msg): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178214 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 12:38:27 +0000 (12:38 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* a-convec.adb, exp_disp.adb: Minor reformatting.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178213 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 29 Aug 2011 12:36:42 +0000 (12:36 +0000)]
2011-08-29  Gary Dismukes  <dismukes@adacore.com>

* exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
Exception_Handlers to No_List instead of Empty_List in the case where
there are no handlers.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* gcc-interface/gigi.h (enum standard_datatypes): Add
ADT_reraise_zcx_decl
(reraise_zcx_decl): New macro.
* gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
(gigi): Set reraise_zcx_decl.
(Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
(gnat_to_gnu): Handle N_Raise_Statement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178212 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 12:21:49 +0000 (12:21 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
a-undesu.adb: Minor reformatting.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* exp_disp.adb (Check_Premature_Freezing): When building a dispatch
table, accept an unfrozen untagged component if it is an actual for a
formal incomplete type.
* a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
provide new iterator forms over vectors.
Introduce type Iterator in package body to implement operations of
Reversible_Iterator interface.
* a-iteint.ads: Make package pure so it is usable with new container
packages, that are categorized Remote_Types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178211 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago20011-08-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
rguenth [Mon, 29 Aug 2011 11:55:45 +0000 (11:55 +0000)]
20011-08-29  Artjoms Sinkarovs  <artyom.shinkaroff@gmail.com>
Richard Guenther  <rguenther@suse.de>

* tree.h (constant_boolean_node): Adjust prototype.
* fold-const.c (fold_convert_loc): Move aggregate conversion
leeway down.
(constant_boolean_node): Make value parameter boolean, add
vector type handling.
(fold_unary_loc): Use constant_boolean_node.
(fold_binary_loc): Preserve types properly when folding
COMPLEX_EXPR <__real x, __imag x>.
* gimplify.c (gimplify_expr): Handle vector comparison.
* tree.def (EQ_EXPR, ...): Document behavior on vector typed
comparison.
* tree-cfg.c (verify_gimple_comparison): Verify vector typed
comparisons.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178209 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/48722
jakub [Mon, 29 Aug 2011 11:52:22 +0000 (11:52 +0000)]
PR middle-end/48722
* emit-rtl.c (unshare_all_rtl_again): For CALL_INSNs,
reset_used_flags also in CALL_INSN_FUNCTION_USAGE.
(verify_rtl_sharing): Likewise and verify_rtx_sharing
in there too.
(unshare_all_rtl_in_chain): For CALL_INSNs
copy_rtx_if_shared also CALL_INSN_FUNCTION_USAGE.

* gcc.target/i386/pr48722.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178208 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCode clean up.
charlet [Mon, 29 Aug 2011 11:12:58 +0000 (11:12 +0000)]
Code clean up.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178206 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 11:12:17 +0000 (11:12 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.

2011-08-29  Bob Duff  <duff@adacore.com>

* sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
of <>, because this is the routine that checks for dimensionality
errors (for example, for a two-dimensional array, (others => <>) should
be (others => (others => <>)).

2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* impunit.adb: Add new run-time units.
* freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
s-stposu.ads, s-stposu.adb: Code clean up.
Handle protected class-wide or task class-wide types
Handle C/C++/CIL/Java types.
* s-spsufi.adb, s-spsufi.ads: New files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178205 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
charlet [Mon, 29 Aug 2011 11:06:09 +0000 (11:06 +0000)]
2011-08-29  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
library-level subprogram.
* sem_prag.adb (Check_Test_Case): Stricter rules for test-case
placement.
(Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
component.
* snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
component.
* gnat_rm.texi: Update doc for Test_Case pragma.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
convention C.
(GCC_Exception_Access): New type.
(Unwind_DeleteException): New imported procedure
(Foreign_Exception): Import it.
(GNAT_GCC_Exception): Simply have the occurrence inside.
(To_GCC_Exception): New function.
(To_GNAT_GCC_Exception): New function.
(GNAT_GCC_Exception_Cleanup): New procedure..
(Propagate_GCC_Exception): New procedure.
(Reraise_GCC_Exception): New procedure.
(Setup_Current_Excep): New procedure.
(CleanupUnwind_Handler): Change type of UW_Exception parameter.
(Unwind_RaiseException): Ditto.
(Unwind_ForcedUnwind): Ditto.
(Remove): Removed.
(Begin_Handler): Change type of parameter.
(End_Handler): Ditto. Now delete the exception if still present.
(Setup_Key): Removed.
(Is_Setup_And_Not_Propagated): Removed.
(Set_Setup_And_Not_Propagated): Ditto.
(Clear_Setup_And_Not_Propagated): Ditto.
(Save_Occurrence_And_Private): Ditto.
(EID_For): Add 'not null' constraint on parameter.
(Setup_Exception): Does nothing.
(Propagate_Exception): Simplified.
* exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
re-raise is not expanded anymore.
* s-except.ads (Foreign_Exception): New exception - placeholder for
non Ada exceptions.
* raise-gcc.c (__gnat_setup_current_excep): Declare
(CXX_EXCEPTION_CLASS): Define (not yet used)
(GNAT_EXCEPTION_CLASS): Define.
(is_handled_by): Handle foreign exceptions.
(PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

* a-synbar.adb (Synchronous_Barrier): Some additional clarification.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178204 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 11:04:03 +0000 (11:04 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* a-synbar-posix.adb: Minor reformatting.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

* a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
a-exetim-default.ads (Interrupt_Clocks_Supported,
Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
definitions to be compliant with AI-0171. The target systems do not
support separate account for the execution time of interrupt handlers.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

* a-synbar.adb (Wait): Change the order of evaluation of the conditions
in the barrier to put first the easiest to evaluate (and the one which
will be True more often). More efficient.

2011-08-29  Eric Botcazou  <ebotcazou@adacore.com>

* s-atocou-x86.adb: Fix constraint in machine code insertion.

2011-08-29  Bob Duff  <duff@adacore.com>

* aspects.ads, aspects.adb: Add new aspects for various pragmas and
attributes that are now aspects, as specified by AI05-0229-1.
* sem_ch13.adb (Analyze_Aspect_Specifications,
Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
pragmas or attribute references, as appropriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178203 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 11:01:53 +0000 (11:01 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
a-synbar-posix.ads: Minor reformatting.

2011-08-29  Yannick Moy  <moy@adacore.com>

* snames.ads-tmpl: Add name Force.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178202 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Pascal Obry <obry@adacore.com>
charlet [Mon, 29 Aug 2011 11:00:17 +0000 (11:00 +0000)]
2011-08-29  Pascal Obry  <obry@adacore.com>

* prj-nmsc.adb: Minor reformatting.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

* a-exetim.ads (Interrupt_Clocks_Supported,
Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
definitions to be compliant with AI-0171.

2011-08-29  Robert Dewar  <dewar@adacore.com>

* a-ngelfu.adb: Add comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178201 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 10:58:32 +0000 (10:58 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* s-interr-hwint.adb: Revert previous patch (defer aborts in ZCX case).

2011-08-29  Geert Bosch  <bosch@adacore.com>

* a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
the closest machine number to Pi / 2.0.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

* impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
package Ada.Synchronous_Barriers.
* a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
Add new specs and bodies for Ada.Synchronous_Barriers. There is a
default implementation using protected objects and another one
a-synbar-posix using POSIX barriers as the underlying support.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
* Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178200 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 10:46:57 +0000 (10:46 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
exp_dist.adb: Minor code reorganization.
Minor reformatting.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
primitive operation must support external streaming if it is not a
controlling access result.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178199 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 10:44:14 +0000 (10:44 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* sinfo.ads, sem_ch7.adb: Minor reformatting.

2011-08-29  Bob Duff  <duff@adacore.com>

* sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
restriction on allocators, as required by AI05-0013-1.
* restrict.ads: Minor comment fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178198 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 10:42:45 +0000 (10:42 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
(To_Jmpbuf_Address): Ditto
(builtin_longjmp): Ditto

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* sem_res.adb: Minor reformatting.

2011-08-29  Vincent Celier  <celier@adacore.com>

* make.adb (Gnatmake): Move special processing for VM targets after the
call to Get_Target_Parameters.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* sem_ch12.adb, par-ch12.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178197 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 29 Aug 2011 10:40:08 +0000 (10:40 +0000)]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
where an anonymous access discriminant of a limited designated type
appears in a non-immutably limited discriminated type and issue an
error message. Add local variable Desig_T and replace all occurrences
of Designated_Type.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

* a-rttiev.adb (Set_Handler): Update comment to indicate that our
implementation is compliant to RM D.15(15/2) after the modification
imposed by AI05-0094-1 (binding interpretation).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178196 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 10:36:46 +0000 (10:36 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* par-endh.adb (Check_End): For an END where it is mandatory to repeat
the scope name, do not report a missing label as a style violation (it
will be diagnosed as an illegality).
* exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
variant records: Get_Enum_Lit_From_Pos already returns a usage
occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
on Expr in Integer_Literal case so that it can be used by
Build_To_Any_Call.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178195 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 10:34:32 +0000 (10:34 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
Adjust comment.
* exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
(Build_Abort_Block_Handler): New function to build an Abort_Signal
exception handler.
* exp_ch9.adb (Expand_N_Asynchronous_Select): Call
Build_Abort_Block_Handler to build the exception handler. Do not
undefer aborts for the Abort_Signal exception handler if back-end
exception mechanism.
* exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
back_end exceptions for all others and abort_signal.
* s-except.ads (ZCX_By_Default): New constant.
* a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
(Raise_Exception_Always): Ditto.
(Raise_From_Signal_Handler): Ditto.
(Raise_With_Location_And_Msg): Ditto.
(Raise_With_Msg): Ditto.
(Reraise): Ditto.
(Reraise_Occurence): Ditto.
(Reraise_Occurrence_Always): Ditto.
* s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
* s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
* s-interr-hwint.adb (Interrupt_Manager): Defer abort if ZCX.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178194 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agogcc/fortran/
burnus [Mon, 29 Aug 2011 10:33:09 +0000 (10:33 +0000)]
gcc/fortran/
2011-08-29  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c (generate_coarray_sym_init): Use
        GFC_CAF_COARRAY_STATIC for static coarrays.

libgfortan/
2011-08-29  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (_gfortran_caf_deregister): Update prototype.
        * caf/mpi.c (_gfortran_caf_deregister): Modify prototype,
        actually free memory and add error diagnostic.
        (_gfortran_caf_finalize): Add additional free calls.
        * caf/single.c (_gfortran_caf_deregister): Modify prototype,
        actually free memory and add error diagnostic.
        (_gfortran_caf_finalize): Add additional free calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178193 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 10:32:18 +0000 (10:32 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* snames.adb-tmpl, sem_ch13.adb: Minor reformatting
Minor code reorganization.

2011-08-29  Bob Duff  <duff@adacore.com>

* usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
2012, not just Ada 2005.

2011-08-29  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
with a project file or with gprbuid, if -gnatep= is specified, the
builder may need to be invoked with -x.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb: Minor comment fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178192 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 10:29:09 +0000 (10:29 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb: Minor reformatting.

2011-08-29  Bob Duff  <duff@adacore.com>

* par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
* par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
treating "some" as unreserved in earlier Ada versions. This is now
handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
rather than Name_Some, since Tok_Some is now recognized as reserved.
* scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
reserved word.
* scans.ads: Minor comment fixes.
* snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
for other language versions.
* scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
treating "some" as unreserved in earlier Ada versions. This is now
handled in Snames.Is_Keyword_Name.
* par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
Ada 2012.
(P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
unreserved in earlier Ada versions. This is now handled in
Snames.Is_Keyword_Name.
* snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
words as for other language versions.
* gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
Ada 2012, not just Ada 2005.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178191 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 29 Aug 2011 10:25:10 +0000 (10:25 +0000)]
2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb: Additional semantic checks for aspects involved in
iterators.

2011-08-29  Matthew Heaney  <heaney@adacore.com>

* a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
Container parameter.
(Ancestor_Find): ditto.

2011-08-29  Robert Dewar  <dewar@adacore.com>

* par-endh.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178190 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 10:22:44 +0000 (10:22 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* par-endh.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178189 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Tristan Gingold <gingold@adacore.com>
charlet [Mon, 29 Aug 2011 10:20:48 +0000 (10:20 +0000)]
2011-08-29  Tristan Gingold  <gingold@adacore.com>

* a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
(GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
(Adjust_N_CLeanups_For): Remove.
(CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
stack is reached.
(Propgate_Exception): Adjust.
* raise-gcc.c: Add a few static/const.
(Adjust_N_Cleanups_For): Remove declaration.
(PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb: Use type of function return when rewriting as object
declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178188 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 29 Aug 2011 10:19:00 +0000 (10:19 +0000)]
2011-08-29  Gary Dismukes  <dismukes@adacore.com>

* sem_type.adb: Minor reformatting.

2011-08-29  Robert Dewar  <dewar@adacore.com>

* makeutl.adb: Minor reformatting.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
function call of a limited type, the expansion of the renaming is
complicated by the presence of various temporaries and subtypes that
capture constraints of the renamed object.
Rewrite node as an object declaration, whose expansion is simpler.
Given that the object is limited there is no copy involved and no
performance hit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178187 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 10:14:45 +0000 (10:14 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
system-linux-hppa.ads, system-linux-s390.ads,
system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
system-solaris-sparc.ads, system-lynxos-x86.ads,
system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
system-solaris-x86_64.ads, system-mingw-x86_64.ads,
system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
system-vxworks-x86.ads: Remove GCC_ZCX_Support
* s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
* opt.ads: Adjust comment.
* targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
* gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
* system.ads: Move GCC_ZCX_Support to obsolete entries.

2011-08-29  Emmanuel Briot  <briot@adacore.com>

* makeutl.adb (Do_Complete): Resolve symbolic links when a relative
file name is specified on the gnatmake or gprbuild command line, and
before we search for that file in the project.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_type.adb (Within_Instance): New predicate in Collect_Interps,
used to determine whether a possible interpretation for an overloadable
entity is declared within the current instantiation and should be
included in the candidate set.

2011-08-29  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_rm.texi, gnat_ugn.texi: Clean ups.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178186 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 29 Aug 2011 10:06:16 +0000 (10:06 +0000)]
2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Actuals): Use base type to determine whether an
access subtype is access_to_subprogram, when applying checks for
RM 3.10.2 (27).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178185 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Matthew Heaney <heaney@adacore.com>
charlet [Mon, 29 Aug 2011 10:02:08 +0000 (10:02 +0000)]
2011-08-29  Matthew Heaney  <heaney@adacore.com>

* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
for sibling when common parent.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
"pragma_".

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
for the return type when in ASIS mode.

2011-08-29  Vincent Celier  <celier@adacore.com>

* make.adb (Gnatmake): Get the default search dirs, then the target
parameters after getting the Builder switches, as the Builder switches
may include --RTS= and that could change the default search dirs.

2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
Make_Final_Call. Move the processing for class-wide types before the
processing for derivations from [Limited_]Controlled.
(Make_Final_Call): Move the processing for class-wide types before the
processing for derivations from [Limited_]Controlled.
* s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
Add code to account for alignments larger than the list header. Add a
comment illustrating the structure of the allocated object + padding +
header.
(Deallocate_Any_Controlled): Add code to account for alignments larger
than the list header.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads, sinfo.adb: New node kind
N_Formal_Incomplete_Type_Definition, related flags.
par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
Parse formal incomplete types.
* sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
sem_ch12.
* sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
Formal incomplete types do not need completion.
* sem_ch12.adb (Analyze_Formal_Incomplete_Type,
Validate_Incomplete_Type_Instance): New procedures to handle formal
incomplete types.
* freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
that corresponds to a formal incomplete type.
* sprint.adb: Handle formal incomplete type declarations.
* exp_util.adb (Insert_Actions): An incomplete_type_definition is not
an insertion point.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178184 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 29 Aug 2011 09:52:57 +0000 (09:52 +0000)]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* a-fihema.ads, a-fihema.adb: Unit removed.
* a-undesu.ads, a-undesu.adb: New unit implementing
Ada.Unchecked_Deallocate_Subpool.
* einfo.adb: Remove Associated_Collection from the node usage.
Add Finalization_Master to the node usage.
(Associated_Collection): Removed.
(Finalization_Master): New routine.
(Set_Associated_Collection): Removed.
(Set_Finalization_Master): New routine.
(Write_Field23_Name): Remove Associated_Collection from the output. Add
Finalization_Master to the output.
* einfo.ads: Remove attribute Associated_Collection and its uses in
entities.
Add new attribute Finalization_Master along with its uses in entitites.
(Associated_Collection): Removed along with its pragma import.
(Finalization_Master): New routine along with a pragma import.
(Set_Associated_Collection): Removed along with its pragma import.
(Set_Finalization_Master): New routine along with a pragma import.
* exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
Build_Finalization_Collection with Build_Finalization_Master.
(Expand_Freeze_Record_Type): Move the generation of Finalize_Address
before the bodies of the predefined routines. Add comment explaining
this. Replace call to Build_Finalization_Collection with
Build_Finalization_Master.
(Freeze_Type): Replace call to Build_Finalization_Collection with
Build_Finalization_Master.
(Make_Finalize_Address_Body): Comment reformatting.
(Make_Predefined_Primitive_Specs): Code reformatting.
(Stream_Operation_OK): Update comment mentioning finalization
collections. Replace RE_Finalization_Collection with
RE_Finalization_Master.
* exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
Associated_Collection with Finalization_Master. Replace call to
Build_Finalization_Collection with Build_Finalization_Master.
(Expand_Allocator_Expression): Replace call to Associated_Collection
with Finalization_Master. Replace call to Set_Associated_Collection with
Set_Finalization_Master. Remove the generation of
Set_Finalize_Address_Ptr.
(Expand_N_Allocator): Replace call to Associated_Collection with
Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
* exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
comment on usage. Replace call to Needs_BIP_Collection with
Needs_BIP_Finalization_Master Remplace BIP_Collection with
BIP_Finalization_Master. Update all comments which mention finalization
collections. Replace Associated_Collection with
Finalization_Master. Replace Build_Finalization_Collection with
Build_Finalization_Master.
(BIP_Formal_Suffix): Update BIP_Collection's case.
(Build_Heap_Allocator): Update the related comment. Rename local
variable Collect to Fin_Mas_Id and update its occurrences. Update
comments which mention finalization collections. Replace
Set_Associated_Collection with Set_Finalization_Master.
(Expand_Call): Update the code which detects a special piece of library
code for .NET/JVM.
(Make_Build_In_Place_Call_In_Allocator): Replace the call to
Add_Collection_Actual_To_Build_In_Place_Call with
Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
which generates a call to Make_Set_Finalize_Address_Ptr_Call.
(Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
Add_Collection_Actual_To_Build_In_Place_Call with
Add_Finalization_Master_Actual_To_Build_In_Place_Call.
(Make_Build_In_Place_Call_In_Assignment): Replace call to
Add_Collection_Actual_To_Build_In_Place_Call with
Add_Finalization_Master_Actual_To_Build_In_Place_Call.
(Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
* exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
(Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
Rename local variable Collect to Fin_Mas_Id and update its occurrences.
Replace call to Set_Associated_Collection with Set_Finalization_Master.
(Build_Finalization_Collection): Renamed to Build_Finalization_Master.
Replace the call to Associated_Collection with Finalization_Master.
Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
Update the way finalization master names are generated. Update the
retrieval of the correct access type which will carry the pool and
master attributes.
(Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
(Make_Finalize_Address_Body): Abstract types do not need
Finalize_Address. Code reformatting.
(Make_Finalize_Address_Stmts): Update comment on usage.
(Make_Set_Finalize_Address_Ptr_Call): Removed.
(Process_Declarations): Update comments.
* exp_ch7.ads (Build_Finalization_Collection): Renamed to
Build_Finalization_Master. Update associated comment.
(Make_Set_Finalize_Address_Ptr_Call): Removed.
* exp_ch13.adb: Update comments which mention finalization collections.
(Expand_N_Free_Statement): Replace the call to Associated_Collection
with Finalization_Master.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
create calls to routines Allocate_Any_Controlled and
Deallocate_Any_Controlled.
(Find_Finalize_Address): New routine.
(Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
comparison.
(Requires_Cleanup_Actions): Update the comment on freeze node
inspection.
* exp_util.ads: Remove comment on generated code for
Build_Allocate_Deallocate_Proc. The code is now quite complex and it
is better to simply look in the body.
* freeze.adb (Freeze_All): Update the comment of finalization
collections. Replace the call to Associated_Collection with
Finalization_Master. Replace the call to Build_Finalization_Collection
with Build_Finalization_Master.
* impunit.adb: Add a-undesu and s-stposu to the list of units.
* Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
a-fihema.
* rtsfind.adb (Get_Unit_Name): Remove the processing for children of
Ada.Finalization. Add processing for children of System.Storage_Pools.
* rtsfind.ads: Remove the naming of second level children of
Ada.Finalization.
Remove Ada_Finalization_Heap_Management from the list of units.
Remove subtype Ada_Finalization_Child.
Remove the following subprogram entities:

   RE_Allocate
   RE_Deallocate
   RE_Finalization_Collection
   RE_Finalization_Collection_Ptr
   RE_Set_Finalize_Address_Ptr

Add the naming of second level children of System.Storage_Pools.
Add System_Finalization_Masters and System_Storage_Pools_Subpools to
the list of units.
Add subtype System_Storage_Pools_Child.
Add the following subprogram entities to System.Finalization_Masters:

   RE_Finalization_Master
   RE_Finalization_Master_Ptr

Add the following subprogram entities to System.Storage_Pools.Subpools:

   RE_Allocate_Any_Controlled
   RE_Deallocate_Any_Controlled
   RE_Root_Storage_Pool_With_Subpools
   RE_Root_Subpool
   RE_Subpool_Handle

Move the following subprogram entities from
Ada.Finalization.Heap_Management to System.Finalization_Masters:

   RE_Add_Offset_To_Address
   RE_Attach
   RE_Base_Pool
   RE_Detach

* sem_ch3.adb (Access_Type_Declaration): Replace the call to
Set_Associated_Collection with Set_Finalization_Master.
* sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
BIP_Finalization_Master is created.
* s-finmas.adb: New unit System.Finalization_Masters.
* s-finmas.ads: New unit System.Finalization_Masters.
* s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
* s-stposu.ads, s-stposu.adb: New unit implementing
System.Storage_Pools.Subpools.

2011-08-29  Bob Duff  <duff@adacore.com>

* tbuild.adb: Add assertion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178183 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 09:41:15 +0000 (09:41 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* s-pooglo.adb: Minor reformatting.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
an indexed component of a packed array whose element type is a record
with a representation clause different from that of the right-hand
side, generate a temporary to minimuze the number of bit-field
operations generated.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* exp_util.adb (Insert_Actions): Use clauses can be part of lists of
declarations, and thus are likely insertion points for actions.

2011-08-29  Bob Duff  <duff@adacore.com>

* einfo.ads: Minor comment fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178182 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 09:38:56 +0000 (09:38 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* frontend.adb, gnat1drv.adb: Minor reformatting.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
* a-fihema.adb (Allocate, Deallocate): Ditto.  Possibly add padding
space in front of the header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178181 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Johannes Kanig <kanig@adacore.com>
charlet [Mon, 29 Aug 2011 09:36:59 +0000 (09:36 +0000)]
2011-08-29  Johannes Kanig  <kanig@adacore.com>

* frontend.adb (Frontend): Exit after creating Standard package when
-gnatd.H is present.
* gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
present.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178180 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 09:34:19 +0000 (09:34 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
snames.ads-tmpl: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178179 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Philippe Gil <gil@adacore.com>
charlet [Mon, 29 Aug 2011 09:30:33 +0000 (09:30 +0000)]
2011-08-29  Philippe Gil  <gil@adacore.com>

* prj.adb (Reset_Units_In_Table): New procedure.
Reset units to avoid access to freed memory.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178178 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 09:28:10 +0000 (09:28 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* get_scos.adb: When reading a P statement SCO without a pragma name
(from an older ALI file), ensure that the Pragma_Name component is set
to Unknown_Pragma (not left uninitialized).

2011-08-29  Vincent Celier  <celier@adacore.com>

* makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
modified to compute correctly the object path of a SAL project that is
extending another library project.
(Write_Path_File): New procedure.
* makeutl.ads (Directories): New table moved from Buildgpr
(Get_Directories): New procedure moved from Buildgpr
(Write_Path_File): New procedure
* mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
paths before binding SALs, instead of Set_Ada_Paths.
* prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
Prj.
* prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
(Current_Source_Path_File_Of): New function
(Set_Current_Object_Path_File_Of): New procedure
(Current_Source_Object_File_Of): New function
(Set_Current_Object_Path_File_Of): New procedure
* prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
(Current_Source_Path_File_Of): New function
(Set_Current_Object_Path_File_Of): New procedure
(Current_Source_Object_File_Of): New function
(Set_Current_Object_Path_File_Of): New procedure

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
packed entity, use a bit-field assignment only if there is no change of
representation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178177 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 09:24:55 +0000 (09:24 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
Is_RTU instead of using Chars comparisons.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
temporary object if the actual is constrained, and the discriminants
read from the stream don't match.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* sem_attr.adb, exp_attr.adb: Add handling of
Attribute_System_Allocator_Alignment
* snames.ads-tmpl: Add Name_System_Allocator_Alignment and
Attribute_System_Allocator_Alignment.
* ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
* gcc-interface/targtyps.c, gcc-interface/utils2.c,
gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
get_target_system_allocator_alignment.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178176 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 29 Aug 2011 09:05:11 +0000 (09:05 +0000)]
2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/50192
* intrinsics/string_intrinsics.c (memcmp_char4):  New function.
* intrinsics/string_intrinsics_inc.c:  New macro MEMCMP, either
set to memcmp or memcmp_char4.
(compare_string):  Use MEMCMP, with correct size for it.
* libgfortran.h:  Add prototype for memcmp_char4.

2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR libfortran/50192
* gfortran.dg/widechar_compare_1.f90:  New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178173 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 29 Aug 2011 09:03:41 +0000 (09:03 +0000)]
2011-08-29  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location
on the built ADDR_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178172 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 29 Aug 2011 09:00:59 +0000 (09:00 +0000)]
2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* exp_ch3.adb (In_Runtime): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178171 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Bob Duff <duff@adacore.com>
charlet [Mon, 29 Aug 2011 08:59:28 +0000 (08:59 +0000)]
2011-08-29  Bob Duff  <duff@adacore.com>

* sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
and a separate tag assignment is generated, ensure that the tag
assignment is analyzed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178170 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 29 Aug 2011 08:56:40 +0000 (08:56 +0000)]
2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* atree.ads, atree.adb (Copy_Separate_List): New function that applies
Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
of statement lists that may contain local declarations.
(Expand_N_Timed_Entry_Call): Use Copy_Separate_List to duplicate the
triggering statements needed for the expansion of this construct, when
the trigger is a dispatching call to a synchronized primitive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178169 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 29 Aug 2011 08:55:18 +0000 (08:55 +0000)]
2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* gnat_rm.texi: Add doc for 'Elab_Subp_Body.
* bindgen.adb: Add comments.
* snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
in CodePeer mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178168 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/50215
jakub [Mon, 29 Aug 2011 08:55:02 +0000 (08:55 +0000)]
PR debug/50215
* var-tracking.c (create_entry_value): Call cselib_lookup_from_insn
before adding ENTRY_VALUE to val->locs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178167 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 08:54:00 +0000 (08:54 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb: Minor reformatting.
Minor code reorganization and commenting.
* par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178166 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 08:52:00 +0000 (08:52 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* get_scos.adb: Ignore chaining indicators not currently supported
by Ada.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* system.ads: Minor editing.

2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
CodePeer mode.
* sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
Attribute_Elab_Subp_Body.
* snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
* sem_util.adb: Update comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178165 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Thomas Quinot <quinot@adacore.com>
charlet [Mon, 29 Aug 2011 08:49:48 +0000 (08:49 +0000)]
2011-08-29  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
pragma name for each SCO statement corresponding to a pragma.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178164 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 29 Aug 2011 08:46:47 +0000 (08:46 +0000)]
2011-08-29  Arnaud Charlet  <charlet@adacore.com>

* opt.ads: Minor editing.

2011-08-29  Yannick Moy  <moy@adacore.com>

* gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
that only made sense for CodePeer mode.

2011-08-29  Jose Ruiz  <ruiz@adacore.com>

* targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
which is no longer used.
* targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
handling of the 64-bit division check.
* exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
division available.
* system*.ads (Support_64_Bit_Divides): Remove this flag which is no
longer used.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* get_scos.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178163 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 29 Aug 2011 08:40:53 +0000 (08:40 +0000)]
2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
statement list is wrapped in a block, the block is explicitly analyzed
in order to properly redecorate the entities and create a servicing
finalizer.

2011-08-29  Tristan Gingold  <gingold@adacore.com>

* sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
(Set_Zero_Cost_Handling): Remove.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178162 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Geert Bosch <bosch@adacore.com>
charlet [Mon, 29 Aug 2011 08:36:28 +0000 (08:36 +0000)]
2011-08-29  Geert Bosch  <bosch@adacore.com>

* s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
instruction, as the latter may produce -0.0, which is not a valid VAX
F float number.
(Neg_G): Likewise for VAX F float.

2011-08-29  Robert Dewar  <dewar@adacore.com>

* exp_util.adb: Minor reformatting.

2011-08-29  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb: Minor comment update.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
the operand type.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
current statement sequence on a generic instantiation or a subprogram
declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178161 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Robert Dewar <dewar@adacore.com>
charlet [Mon, 29 Aug 2011 08:32:46 +0000 (08:32 +0000)]
2011-08-29  Robert Dewar  <dewar@adacore.com>

* sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
Minor reformatting.

2011-08-29  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
Correct the check which involves the freeze node of a controlled or
access-to-controlled type.

2011-08-29  Geert Bosch  <bosch@adacore.com>

* sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
statements.
* s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
Asm statements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178160 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
charlet [Mon, 29 Aug 2011 08:30:02 +0000 (08:30 +0000)]
2011-08-29  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
for every index type and component type that is not a subtype_mark.
(Process_Subtype): Set Etype of subtype.

2011-08-29  Robert Dewar  <dewar@adacore.com>

* a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
reorganization.  Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178159 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Steve Baird <baird@adacore.com>
charlet [Mon, 29 Aug 2011 08:26:40 +0000 (08:26 +0000)]
2011-08-29  Steve Baird  <baird@adacore.com>

* exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
for CodePeer and ALFA modes.

2011-08-29  Ed Schonberg  <schonberg@adacore.com>

* sem_type.adb (Collect_Interps): Within an instance, collect a homonym
that comes from an enclosing scope if it is not the renaming of an
actual, to handle properly a spurious ambiguity in an instance.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178158 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Eric Botcazou <ebotcazou@adacore.com>
charlet [Mon, 29 Aug 2011 08:24:15 +0000 (08:24 +0000)]
2011-08-29  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
(Alignment_Check_For_Size_Change): ...this.  Add SIZE parameter and
use it instead of the Esize of the first parameter.
(Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
above change.
<Size>: Likewise.  Call it for composite types on the RM size.

2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
* sem_util.adb (Unique_Name): Correct behaviour for names of
compilation units.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178157 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-29 Yannick Moy <moy@adacore.com>
charlet [Mon, 29 Aug 2011 08:21:24 +0000 (08:21 +0000)]
2011-08-29  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Check_Precondition_Postcondition): In formal
verification mode, analyze pragma expression for correctness, for
pre/post on library-level subprogram, as it is not expanded later.

2011-08-29  Yannick Moy  <moy@adacore.com>

* exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
in formal verification.

2011-08-29  Thomas Quinot  <quinot@adacore.com>

* sem_util.adb: Minor reformatting.
* freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
there's no pragma.
* par_sco.ads, par_sco.adb: Update comments.

2011-08-29  Yannick Moy  <moy@adacore.com>

* einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
associated getter/setter.
* sem_ch6.adb: Remove reference to Is_Postcondition_Proc.

2011-08-29  Vincent Celier  <celier@adacore.com>

* prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
* prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
with declarations for Language_Kind and Dependency_Kind for Ada.
* prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
(Process_Compiler): Take into account the new attributes Dependency_Kind
and Language_Kind.
(Check_Configuration): Check if language kind is unit based, not if the
language name is Ada.
(Process_Exceptions_Unit_Based): Ditto
(Add_Language): Remove default additions of language and dependency kind
* prj.ads: Minor comment change
* snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind

2011-08-29  Johannes Kanig  <kanig@adacore.com>

* debug.adb: Update comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178156 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Mon, 29 Aug 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178152 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-08-28 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 28 Aug 2011 21:05:48 +0000 (21:05 +0000)]
2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
workaround for c++/49045.
* include/bits/algorithmfwd.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178147 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix the use of linemap_add and remove unnecessary kludge
dodji [Sun, 28 Aug 2011 20:14:46 +0000 (20:14 +0000)]
Fix the use of linemap_add and remove unnecessary kludge

libcpp/

* line-map.c (linemap_add): Assert that reason must not be
LC_RENAME when called for the first time on a "main input file".

c-family/

* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as it's
the first time it's being called on this main TU.

gcc/lto/

* lto-lang.c (lto_init): Likewise.  Also, avoid calling
linemap_add twice.

gcc/fortran/

* scanner.c (load_file): Don't abuse LC_RENAME reason while
(indirectly) calling linemap_add.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178146 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago Core DR 342
jason [Sun, 28 Aug 2011 15:38:29 +0000 (15:38 +0000)]
Core DR 342
PR c++/48582
* pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
is valid in C++11.
(convert_nontype_argument): Likewise.  Implicitly convert nullptr
and do constant folding.
* mangle.c (write_template_arg_literal): Mangle null member
pointer values as 0.
* call.c (null_member_pointer_value_p): New.
* cp-tree.h: Declare it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178144 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * ja.po: Update.
jsm28 [Sun, 28 Aug 2011 12:38:57 +0000 (12:38 +0000)]
* ja.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178142 138bc75d-0d04-0410-961f-82ee72b054a4