* inline.adb:
(Cleanup_Scopes): For a protected operation, transfer finalization list
to protected body subprogram, to force cleanup actions when needed.
From-SVN: r135900
2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
Create the statements which map a string name to protected or task
entry indix.
* exp_ch9.adb: Add with and use clause for Stringt.
Minor code reformatting.
(Build_Entry_Names): New routine.
(Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
for flag Build_Entry_Names which controls the allocation of the data
structure for the string names of entries.
* exp_ch9.ads (Build_Entry_Names): New subprogram.
* exp_util.adb (Entry_Names_OK): New function.
* exp_util.ads (Entry_Names_OK): New function.
* rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
enumerations RE_Id and RE_Unit_Table.
* s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
(Free_Entry_Names_Array): New routine.
* s-taskin.ads: Comment reformatting.
Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
Add component Entry_Names to record Ada_Task_Control_Block.
(Free_Entry_Names_Array): New routine.
* s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
dynamically allocate an array
of string pointers. This structure holds string entry names.
(Free_Entry_Names): New routine.
(Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
(Set_Entry_Names): New routine.
* s-tassta.ads:
(Create_Task): Add formal Build_Entry_Names. The flag is used to
control the allocation of the data structure which stores entry names.
(Set_Entry_Name): New routine.
* s-tpoben.adb:
Add with and use clause for Ada.Unchecked_Conversion.
(Finalize): Deallocate the entry names array.
(Free_Entry_Names): New routine.
(Initialize_Protection_Entries): When flag Build_Entry_Names is set,
create an array of string pointers to hold the entry names.
(Set_Entry_Name): New routine.
* s-tpoben.ads:
Add field Entry_Names to record Protection_Entries.
(Initialize_Protection_Entries): Add formal Build_Entry_Names.
(Set_Entry_Name): New routine.
From-SVN: r135896
2008-05-26 Dominique Dhumieres <dominiq@lps.ens.fr>
* config/darwin-c.c: Include "incpath.h" instead of "c-incpath.h".
* config/t-darwin: Use "incpath.h" instead of "c-incpath.h".
From-SVN: r135891
* tree-nested.c (convert_tramp_reference) <ADDR_EXPR>: Do not
build a trampoline if we don't want one.
* varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Do not
return zero for nested functions if we don't want a trampoline.
ada/
* trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
instead of TREE_STATIC on the ADDR_EXPR.
From-SVN: r135884
2008-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/complex: Trivial stylistic changes, define inline
members inline, consistently with the rest of the library.
(pow(const _Tp&, const complex<>&)): Minor tweak.
From-SVN: r135872
* trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
(Sloc_to_locus): Do not overwrite known GCC locations when translating
GNAT standard locations.
From-SVN: r135847
2008-05-24 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (refs_may_alias_p): Re-instantiate case that
a scalar variable can be only accessed through a pointer
or a union.
From-SVN: r135846
* config/m32c/m32c.c (m32c_return_addr_rtx): Change pointer type
for A24 to PSImode.
(m32c_address_cost): Detail costs for indirect offsets.
From-SVN: r135842
2008-05-23 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple: Replace int -> size_t throughout per DR 775.
* include/tr1_impl/array: Likewise.
* include/tr1_impl/utility: Likewise.
* doc/xml/manual/intro.xml: Add an entry for DR 775.
From-SVN: r135834
2008-05-23 Rafael Espindola <espindola@google.com>
* see.c (see_get_extension_data): Don't use SUBREG_REG to test
if a node is a SUBREG.
(see_analyze_one_def): Don't use SUBREG_REG to test if a node
is a SUBREG.
2008-05-23 Rafael Espindola <espindola@google.com>
* gcc/testsuite/gcc.c-torture/compile/20080522-1.c: Move to gcc.dg.
* gcc/testsuite/gcc.dg/20080522-1.c: Moved from gcc.c-torture.
From-SVN: r135833
* gigi.h (mark_visited): Declare.
* decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
only the topmost node of expressions.
(elaborate_expression_1): Look deeper for read-only variable.
* trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
(mark_visited): Move logic to mark_visited_r. Invoke walk_tree.
(mark_visited_r): New function.
From-SVN: r135819
* config/rs6000/darwin-ldouble.c (fmsub): Eliminate the full
PACK/UNPACK between FP_SUB_Q and FD_TRUNC so that the result
is only rounded once.
From-SVN: r135815
2008-05-23 Olivier Hainque <hainque@adacore.com>
* gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
convention also allows access to named compiler built-in subprograms
such as the GCC __builtin family.
From-SVN: r135812
2008-05-23 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
slice, convert it to an indexed component, which is equivalent, more
efficient, and usable even if the slice itself is not addressable.
From-SVN: r135811