Arnaud Charlet [Mon, 29 Aug 2011 11:12:58 +0000 (13:12 +0200)]
Code clean up.
From-SVN: r178206
Arnaud Charlet [Mon, 29 Aug 2011 11:12:17 +0000 (13:12 +0200)]
[multiple changes]
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.
From-SVN: r178205
Arnaud Charlet [Mon, 29 Aug 2011 11:06:09 +0000 (13:06 +0200)]
[multiple changes]
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.
From-SVN: r178204
Arnaud Charlet [Mon, 29 Aug 2011 11:04:03 +0000 (13:04 +0200)]
[multiple changes]
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.
From-SVN: r178203
Arnaud Charlet [Mon, 29 Aug 2011 11:01:53 +0000 (13:01 +0200)]
[multiple changes]
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.
From-SVN: r178202
Arnaud Charlet [Mon, 29 Aug 2011 11:00:17 +0000 (13:00 +0200)]
[multiple changes]
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.
From-SVN: r178201
Arnaud Charlet [Mon, 29 Aug 2011 10:58:32 +0000 (12:58 +0200)]
[multiple changes]
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
From-SVN: r178200
Arnaud Charlet [Mon, 29 Aug 2011 10:46:57 +0000 (12:46 +0200)]
[multiple changes]
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.
From-SVN: r178199
Arnaud Charlet [Mon, 29 Aug 2011 10:44:14 +0000 (12:44 +0200)]
[multiple changes]
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.
From-SVN: r178198
Arnaud Charlet [Mon, 29 Aug 2011 10:42:45 +0000 (12:42 +0200)]
[multiple changes]
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.
From-SVN: r178197
Arnaud Charlet [Mon, 29 Aug 2011 10:40:08 +0000 (12:40 +0200)]
[multiple changes]
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).
From-SVN: r178196
Arnaud Charlet [Mon, 29 Aug 2011 10:36:46 +0000 (12:36 +0200)]
[multiple changes]
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.
From-SVN: r178195
Arnaud Charlet [Mon, 29 Aug 2011 10:34:32 +0000 (12:34 +0200)]
[multiple changes]
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.
From-SVN: r178194
Tobias Burnus [Mon, 29 Aug 2011 10:33:09 +0000 (12:33 +0200)]
trans-decl.c (generate_coarray_sym_init): Use GFC_CAF_COARRAY_STATIC for static coarrays.
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.
From-SVN: r178193
Arnaud Charlet [Mon, 29 Aug 2011 10:32:18 +0000 (12:32 +0200)]
[multiple changes]
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.
From-SVN: r178192
Arnaud Charlet [Mon, 29 Aug 2011 10:29:09 +0000 (12:29 +0200)]
[multiple changes]
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.
From-SVN: r178191
Arnaud Charlet [Mon, 29 Aug 2011 10:25:10 +0000 (12:25 +0200)]
[multiple changes]
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.
From-SVN: r178190
Thomas Quinot [Mon, 29 Aug 2011 10:22:44 +0000 (10:22 +0000)]
par-endh.adb: Minor reformatting.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* par-endh.adb: Minor reformatting.
From-SVN: r178189
Arnaud Charlet [Mon, 29 Aug 2011 10:20:48 +0000 (12:20 +0200)]
[multiple changes]
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.
From-SVN: r178188
Arnaud Charlet [Mon, 29 Aug 2011 10:19:00 +0000 (12:19 +0200)]
[multiple changes]
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.
From-SVN: r178187
Arnaud Charlet [Mon, 29 Aug 2011 10:14:45 +0000 (12:14 +0200)]
[multiple changes]
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.
From-SVN: r178186
Ed Schonberg [Mon, 29 Aug 2011 10:06:16 +0000 (10:06 +0000)]
sem_res.adb (Resolve_Actuals): Use base type to determine whether an access subtype is access_to_subprogram...
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).
From-SVN: r178185
Arnaud Charlet [Mon, 29 Aug 2011 10:02:08 +0000 (12:02 +0200)]
[multiple changes]
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.
From-SVN: r178184
Arnaud Charlet [Mon, 29 Aug 2011 09:52:57 +0000 (11:52 +0200)]
[multiple changes]
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.
From-SVN: r178183
Arnaud Charlet [Mon, 29 Aug 2011 09:41:15 +0000 (11:41 +0200)]
[multiple changes]
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.
From-SVN: r178182
Arnaud Charlet [Mon, 29 Aug 2011 09:38:56 +0000 (11:38 +0200)]
[multiple changes]
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.
From-SVN: r178181
Johannes Kanig [Mon, 29 Aug 2011 09:36:59 +0000 (09:36 +0000)]
frontend.adb (Frontend): Exit after creating Standard package when -gnatd.H is present.
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.
From-SVN: r178180
Robert Dewar [Mon, 29 Aug 2011 09:34:19 +0000 (09:34 +0000)]
exp_ch9.adb, [...]: Minor reformatting.
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.
From-SVN: r178179
Philippe Gil [Mon, 29 Aug 2011 09:30:33 +0000 (09:30 +0000)]
prj.adb (Reset_Units_In_Table): New procedure.
2011-08-29 Philippe Gil <gil@adacore.com>
* prj.adb (Reset_Units_In_Table): New procedure.
Reset units to avoid access to freed memory.
From-SVN: r178178
Arnaud Charlet [Mon, 29 Aug 2011 09:28:10 +0000 (11:28 +0200)]
[multiple changes]
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.
From-SVN: r178177
Arnaud Charlet [Mon, 29 Aug 2011 09:24:55 +0000 (11:24 +0200)]
[multiple changes]
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.
From-SVN: r178176
Thomas Koenig [Mon, 29 Aug 2011 09:05:11 +0000 (09:05 +0000)]
re PR libfortran/50192 (Wrong character comparision with wide strings)
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.
From-SVN: r178173
Richard Guenther [Mon, 29 Aug 2011 09:03:41 +0000 (09:03 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location on the built ADDR_EXPR.
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.
From-SVN: r178172
Arnaud Charlet [Mon, 29 Aug 2011 09:00:59 +0000 (09:00 +0000)]
exp_ch3.adb (In_Runtime): Fix typo.
2011-08-29 Arnaud Charlet <charlet@adacore.com>
* exp_ch3.adb (In_Runtime): Fix typo.
From-SVN: r178171
Arnaud Charlet [Mon, 29 Aug 2011 08:59:28 +0000 (10:59 +0200)]
[multiple changes]
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.
From-SVN: r178170
Ed Schonberg [Mon, 29 Aug 2011 08:56:40 +0000 (08:56 +0000)]
atree.ads, atree.adb (Copy_Separate_List): New function that applies Copy_Separate_Tree to a list of nodes.
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.
From-SVN: r178169
Arnaud Charlet [Mon, 29 Aug 2011 08:55:18 +0000 (08:55 +0000)]
gnat_rm.texi: Add doc for 'Elab_Subp_Body.
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.
From-SVN: r178168
Jakub Jelinek [Mon, 29 Aug 2011 08:55:02 +0000 (10:55 +0200)]
re PR debug/50215 (FAIL: gcc.dg/guality/pr45882.c)
PR debug/50215
* var-tracking.c (create_entry_value): Call cselib_lookup_from_insn
before adding ENTRY_VALUE to val->locs.
From-SVN: r178167
Robert Dewar [Mon, 29 Aug 2011 08:54:00 +0000 (08:54 +0000)]
exp_attr.adb: Minor reformatting.
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.
From-SVN: r178166
Arnaud Charlet [Mon, 29 Aug 2011 08:52:00 +0000 (10:52 +0200)]
[multiple changes]
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.
From-SVN: r178165
Thomas Quinot [Mon, 29 Aug 2011 08:49:48 +0000 (08:49 +0000)]
par_sco.adb, [...]: Record pragma name for each SCO statement corresponding to a pragma.
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.
From-SVN: r178164
Arnaud Charlet [Mon, 29 Aug 2011 08:46:47 +0000 (10:46 +0200)]
[multiple changes]
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.
From-SVN: r178163
Arnaud Charlet [Mon, 29 Aug 2011 08:40:53 +0000 (10:40 +0200)]
[multiple changes]
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
From-SVN: r178162
Arnaud Charlet [Mon, 29 Aug 2011 08:36:28 +0000 (10:36 +0200)]
[multiple changes]
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.
From-SVN: r178161
Arnaud Charlet [Mon, 29 Aug 2011 08:32:46 +0000 (10:32 +0200)]
[multiple changes]
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.
From-SVN: r178160
Arnaud Charlet [Mon, 29 Aug 2011 08:30:02 +0000 (10:30 +0200)]
[multiple changes]
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.
From-SVN: r178159
Arnaud Charlet [Mon, 29 Aug 2011 08:26:40 +0000 (10:26 +0200)]
[multiple changes]
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.
From-SVN: r178158
Arnaud Charlet [Mon, 29 Aug 2011 08:24:15 +0000 (10:24 +0200)]
[multiple changes]
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.
From-SVN: r178157
Arnaud Charlet [Mon, 29 Aug 2011 08:21:24 +0000 (10:21 +0200)]
[multiple changes]
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.
From-SVN: r178156
GCC Administrator [Mon, 29 Aug 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r178152
Paolo Carlini [Sun, 28 Aug 2011 21:05:48 +0000 (21:05 +0000)]
move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045.
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.
From-SVN: r178147
Dodji Seketeli [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.
From-SVN: r178146
Jason Merrill [Sun, 28 Aug 2011 15:38:29 +0000 (11:38 -0400)]
Core DR 342 PR c++/48582
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.
From-SVN: r178144
Joseph Myers [Sun, 28 Aug 2011 12:38:57 +0000 (13:38 +0100)]
* ja.po: Update.
From-SVN: r178142
Mikael Pettersson [Sun, 28 Aug 2011 12:08:41 +0000 (14:08 +0200)]
re PR bootstrap/50218 (tree-ssa-loop-ivopts.c triggers -Werror=maybe-uninitialized breaking i686-linux bootstrap)
2011-08-28 Mikael Pettersson <mikpe@it.uu.se>
PR bootstrap/50218
* tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
comp.
From-SVN: r178141
Thomas Koenig [Sun, 28 Aug 2011 10:08:50 +0000 (10:08 +0000)]
re PR fortran/48066 (Segfault with SUM of zero-sized array)
2011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40866
* generated/iall_i1.c: Regenerated.
* generated/iall_i16.c: Regenerated.
* generated/iall_i2.c: Regenerated.
* generated/iall_i4.c: Regenerated.
* generated/iall_i8.c: Regenerated.
* generated/iany_i1.c: Regenerated.
* generated/iany_i16.c: Regenerated.
* generated/iany_i2.c: Regenerated.
* generated/iany_i4.c: Regenerated.
* generated/iany_i8.c: Regenerated.
* generated/iparity_i1.c: Regenerated.
* generated/iparity_i16.c: Regenerated.
* generated/iparity_i2.c: Regenerated.
* generated/iparity_i4.c: Regenerated.
* generated/iparity_i8.c: Regenerated.
* generated/norm2_r10.c: Regenerated.
* generated/norm2_r16.c: Regenerated.
* generated/norm2_r4.c: Regenerated.
* generated/norm2_r8.c: Regenerated.
* generated/parity_l1.c: Regenerated.
* generated/parity_l16.c: Regenerated.
* generated/parity_l2.c: Regenerated.
* generated/parity_l4.c: Regenerated.
* generated/parity_l8.c: Regenerated.
* generated/misc_specifics.F90: Regenerated (comment change).
* generated/_abs_c10.F90: Regenerated (comment change).
* generated/_abs_c16.F90: Regenerated (comment change).
* generated/_abs_c4.F90: Regenerated (comment change).
* generated/_abs_c8.F90: Regenerated (comment change).
* generated/_abs_i16.F90: Regenerated (comment change).
* generated/_abs_i4.F90: Regenerated (comment change).
* generated/_abs_i8.F90: Regenerated (comment change).
* generated/_abs_r10.F90: Regenerated (comment change).
* generated/_abs_r16.F90: Regenerated (comment change).
* generated/_abs_r4.F90: Regenerated (comment change).
* generated/_abs_r8.F90: Regenerated (comment change).
* generated/_acosh_r10.F90: Regenerated (comment change).
* generated/_acosh_r16.F90: Regenerated (comment change).
* generated/_acosh_r4.F90: Regenerated (comment change).
* generated/_acosh_r8.F90: Regenerated (comment change).
* generated/_acos_r10.F90: Regenerated (comment change).
* generated/_acos_r16.F90: Regenerated (comment change).
* generated/_acos_r4.F90: Regenerated (comment change).
* generated/_acos_r8.F90: Regenerated (comment change).
* generated/_aimag_c10.F90: Regenerated (comment change).
* generated/_aimag_c16.F90: Regenerated (comment change).
* generated/_aimag_c4.F90: Regenerated (comment change).
* generated/_aimag_c8.F90: Regenerated (comment change).
* generated/_aint_r10.F90: Regenerated (comment change).
* generated/_aint_r16.F90: Regenerated (comment change).
* generated/_aint_r4.F90: Regenerated (comment change).
* generated/_aint_r8.F90: Regenerated (comment change).
* generated/_anint_r10.F90: Regenerated (comment change).
* generated/_anint_r16.F90: Regenerated (comment change).
* generated/_anint_r4.F90: Regenerated (comment change).
* generated/_anint_r8.F90: Regenerated (comment change).
* generated/_asinh_r10.F90: Regenerated (comment change).
* generated/_asinh_r16.F90: Regenerated (comment change).
* generated/_asinh_r4.F90: Regenerated (comment change).
* generated/_asinh_r8.F90: Regenerated (comment change).
* generated/_asin_r10.F90: Regenerated (comment change).
* generated/_asin_r16.F90: Regenerated (comment change).
* generated/_asin_r4.F90: Regenerated (comment change).
* generated/_asin_r8.F90: Regenerated (comment change).
* generated/_atan2_r10.F90: Regenerated (comment change).
* generated/_atan2_r16.F90: Regenerated (comment change).
* generated/_atan2_r4.F90: Regenerated (comment change).
* generated/_atan2_r8.F90: Regenerated (comment change).
* generated/_atanh_r10.F90: Regenerated (comment change).
* generated/_atanh_r16.F90: Regenerated (comment change).
* generated/_atanh_r4.F90: Regenerated (comment change).
* generated/_atanh_r8.F90: Regenerated (comment change).
* generated/_atan_r10.F90: Regenerated (comment change).
* generated/_atan_r16.F90: Regenerated (comment change).
* generated/_atan_r4.F90: Regenerated (comment change).
* generated/_atan_r8.F90: Regenerated (comment change).
* generated/_conjg_c10.F90: Regenerated (comment change).
* generated/_conjg_c16.F90: Regenerated (comment change).
* generated/_conjg_c4.F90: Regenerated (comment change).
* generated/_conjg_c8.F90: Regenerated (comment change).
* generated/_cosh_r10.F90: Regenerated (comment change).
* generated/_cosh_r16.F90: Regenerated (comment change).
* generated/_cosh_r4.F90: Regenerated (comment change).
* generated/_cosh_r8.F90: Regenerated (comment change).
* generated/_cos_c10.F90: Regenerated (comment change).
* generated/_cos_c16.F90: Regenerated (comment change).
* generated/_cos_c4.F90: Regenerated (comment change).
* generated/_cos_c8.F90: Regenerated (comment change).
* generated/_cos_r10.F90: Regenerated (comment change).
* generated/_cos_r16.F90: Regenerated (comment change).
* generated/_cos_r4.F90: Regenerated (comment change).
* generated/_cos_r8.F90: Regenerated (comment change).
* generated/_dim_i16.F90: Regenerated (comment change).
* generated/_dim_i4.F90: Regenerated (comment change).
* generated/_dim_i8.F90: Regenerated (comment change).
* generated/_dim_r10.F90: Regenerated (comment change).
* generated/_dim_r16.F90: Regenerated (comment change).
* generated/_dim_r4.F90: Regenerated (comment change).
* generated/_dim_r8.F90: Regenerated (comment change).
* generated/_exp_c10.F90: Regenerated (comment change).
* generated/_exp_c16.F90: Regenerated (comment change).
* generated/_exp_c4.F90: Regenerated (comment change).
* generated/_exp_c8.F90: Regenerated (comment change).
* generated/_exp_r10.F90: Regenerated (comment change).
* generated/_exp_r16.F90: Regenerated (comment change).
* generated/_exp_r4.F90: Regenerated (comment change).
* generated/_exp_r8.F90: Regenerated (comment change).
* generated/_log10_r10.F90: Regenerated (comment change).
* generated/_log10_r16.F90: Regenerated (comment change).
* generated/_log10_r4.F90: Regenerated (comment change).
* generated/_log10_r8.F90: Regenerated (comment change).
* generated/_log_c10.F90: Regenerated (comment change).
* generated/_log_c16.F90: Regenerated (comment change).
* generated/_log_c4.F90: Regenerated (comment change).
* generated/_log_c8.F90: Regenerated (comment change).
* generated/_log_r10.F90: Regenerated (comment change).
* generated/_log_r16.F90: Regenerated (comment change).
* generated/_log_r4.F90: Regenerated (comment change).
* generated/_log_r8.F90: Regenerated (comment change).
* generated/_mod_i16.F90: Regenerated (comment change).
* generated/_mod_i4.F90: Regenerated (comment change).
* generated/_mod_i8.F90: Regenerated (comment change).
* generated/_mod_r10.F90: Regenerated (comment change).
* generated/_mod_r16.F90: Regenerated (comment change).
* generated/_mod_r4.F90: Regenerated (comment change).
* generated/_mod_r8.F90: Regenerated (comment change).
* generated/_sign_i16.F90: Regenerated (comment change).
* generated/_sign_i4.F90: Regenerated (comment change).
* generated/_sign_i8.F90: Regenerated (comment change).
* generated/_sign_r10.F90: Regenerated (comment change).
* generated/_sign_r16.F90: Regenerated (comment change).
* generated/_sign_r4.F90: Regenerated (comment change).
* generated/_sign_r8.F90: Regenerated (comment change).
* generated/_sinh_r10.F90: Regenerated (comment change).
* generated/_sinh_r16.F90: Regenerated (comment change).
* generated/_sinh_r4.F90: Regenerated (comment change).
* generated/_sinh_r8.F90: Regenerated (comment change).
* generated/_sin_c10.F90: Regenerated (comment change).
* generated/_sin_c16.F90: Regenerated (comment change).
* generated/_sin_c4.F90: Regenerated (comment change).
* generated/_sin_c8.F90: Regenerated (comment change).
* generated/_sin_r10.F90: Regenerated (comment change).
* generated/_sin_r16.F90: Regenerated (comment change).
* generated/_sin_r4.F90: Regenerated (comment change).
* generated/_sin_r8.F90: Regenerated (comment change).
* generated/_sqrt_c10.F90: Regenerated (comment change).
* generated/_sqrt_c16.F90: Regenerated (comment change).
* generated/_sqrt_c4.F90: Regenerated (comment change).
* generated/_sqrt_c8.F90: Regenerated (comment change).
* generated/_sqrt_r10.F90: Regenerated (comment change).
* generated/_sqrt_r16.F90: Regenerated (comment change).
* generated/_sqrt_r4.F90: Regenerated (comment change).
* generated/_sqrt_r8.F90: Regenerated (comment change).
* generated/_tanh_r10.F90: Regenerated (comment change).
* generated/_tanh_r16.F90: Regenerated (comment change).
* generated/_tanh_r4.F90: Regenerated (comment change).
* generated/_tanh_r8.F90: Regenerated (comment change).
* generated/_tan_r10.F90: Regenerated (comment change).
* generated/_tan_r16.F90: Regenerated (comment change).
* generated/_tan_r4.F90: Regenerated (comment change).
* generated/_tan_r8.F90: Regenerated (comment change).
From-SVN: r178140
GCC Administrator [Sun, 28 Aug 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r178139
Bernd Schmidt [Sat, 27 Aug 2011 17:38:58 +0000 (17:38 +0000)]
rtl.texi (simple_return): Document.
* doc/rtl.texi (simple_return): Document.
(parallel, PATTERN): Here too.
* doc/md.texi (return): Mention it's allowed to expand to simple_return
in some cases.
(simple_return): Document standard pattern.
* gengenrtl.c (special_rtx): SIMPLE_RETURN is special.
* final.c (final_scan_insn): Use ANY_RETURN_P on body.
* reorg.c (function_return_label, function_simple_return_label):
New static variables, replacing...
(end_of_function_label): ... this.
(simplejump_or_return_p): New static function.
(optimize_skip, steal_delay_list_from_fallthrough,
fill_slots_from_thread): Use it.
(relax_delay_slots): Likewise. Use ANY_RETURN_P on body.
(rare_destination, follow_jumps): Use ANY_RETURN_P on body.
(find_end_label): Take a new arg which is one of the two return
rtxs. Depending on which, set either function_return_label or
function_simple_return_label. All callers changed.
(make_return_insns): Make both kinds.
(dbr_schedule): Adjust for two kinds of end labels.
* function.c (emit_return_into_block): Set JUMP_LABEL properly.
* genemit.c (gen_exp): Handle SIMPLE_RETURN.
(gen_expand, gen_split): Use ANY_RETURN_P.
* df-scan.c (df_uses_record): Handle SIMPLE_RETURN.
* rtl.def (SIMPLE_RETURN): New code.
* ifcvt.c (find_if_case_1): Be more careful about
redirecting jumps to the EXIT_BLOCK.
* jump.c (condjump_p, condjump_in_parallel_p, any_condjump_p,
returnjump_p_1): Handle SIMPLE_RETURNs.
* print-rtl.c (print_rtx): Likewise.
* rtl.c (copy_rtx): Likewise.
* bt-load.c (compute_defs_uses_and_gen): Use ANY_RETURN_P.
* combine.c (simplify_set): Likewise.
* resource.c (find_dead_or_set_registers, mark_set_resources):
Likewise.
* emit-rtl.c (verify_rtx_sharing, classify_insn, copy_insn_1,
copy_rtx_if_shared_1, mark_used_flags): Handle SIMPLE_RETURNs.
(init_emit_regs): Initialize simple_return_rtx.
* cfglayout.c (fixup_reorder_chain): Pass a JUMP_LABEL to
force_nonfallthru_and_redirect.
* rtl.h (ANY_RETURN_P): Allow SIMPLE_RETURN.
(GR_SIMPLE_RETURN): New enum value.
(simple_return_rtx): New macro.
* basic-block.h (force_nonfallthru_and_redirect): Adjust
declaration.
* cfgrtl.c (force_nonfallthru_and_redirect): Take a new jump_label
argument. All callers changed. Be careful about what kinds of
returnjumps to generate.
* config/i386/3i86.c (ix86_pad_returns, ix86_count_insn_bb,
ix86_pad_short_function): Likewise.
* config/arm/arm.c (arm_final_prescan_insn): Handle both kinds
of return.
* config/mips/mips.md (any_return): New code_iterator.
(optab): Add cases for return and simple_return.
(return): Expand to a simple_return.
(simple_return): New pattern.
(*<optab>, *<optab>_internal for any_return): New patterns.
(return_internal): Remove.
* config/mips/mips.c (mips_expand_epilogue): Make the last insn
a simple_return_internal.
From-SVN: r178135
Uros Bizjak [Sat, 27 Aug 2011 10:44:00 +0000 (12:44 +0200)]
sse.md (*absneg<mode>2): Fix split condition.
* config/i386/sse.md (*absneg<mode>2): Fix split condition.
(vec_extract_lo_<mode>): Prevent both operands in memory.
(vec_extract_lo_v16hi): Ditto.
(*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
* config/i386/sse.md (mulv16qi3): Attach REG_EQUAL note.
(*sse2_mulv4si3): Ditto.
(mulv2di3): Ditto.
* config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
notes to REG_EQUAL.
From-SVN: r178132
Uros Bizjak [Sat, 27 Aug 2011 07:46:35 +0000 (09:46 +0200)]
re PR target/50202 (ICE: in final_scan_insn, at final.c:2709 (could not split insn) with __builtin_ia32_pcmpistri128)
PR target/50202
* config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
when all outputs are unused.
(sse4_2_pcmpestr): Ditto.
testsuite/ChangeLog:
PR target/50202
* gcc.target/i386/pr50202.c: New test.
From-SVN: r178130
GCC Administrator [Sat, 27 Aug 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r178129
Uros Bizjak [Fri, 26 Aug 2011 20:53:38 +0000 (22:53 +0200)]
i386.c (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.
* config/i386/i386.c (ix86_build_const_vector): Rewrite using loop
with RTVEC_ELT accessor.
From-SVN: r178124
Uros Bizjak [Fri, 26 Aug 2011 19:42:30 +0000 (21:42 +0200)]
i386.md (round<mode>2): New expander.
* config/i386/i386.md (round<mode>2): New expander.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_ROUND{PS,PD}_AZ{,256}.
(struct builtin_description): Add __builtin_ia32_round{ps,pd}_az{,256}
descriptions.
(ix86_builtin_vectorized_function): Handle BUILT_IN_ROUND{,F} builtins.
testsuite/ChangeLog:
* gcc.target/i386/sse_4_1-round-vec.c: New test.
* gcc.target/i386/sse_4_1-roundf-vec.c: New test.
* gcc.target/i386/avx-round-vec.c: New test.
* gcc.target/i386/avx-roundf-vec.c: New test.
From-SVN: r178123
Uros Bizjak [Fri, 26 Aug 2011 16:10:45 +0000 (18:10 +0200)]
re PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris)
PR middle-end/50083
* convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
only when TARGET_C99_FUNCTIONS.
<BUILT_IN_NEARBYINT{,F,L}>: Ditto.
<BUILT_IN_RINT{,F,L}>: Ditto.
From-SVN: r178119
Michael Matz [Fri, 26 Aug 2011 16:02:17 +0000 (16:02 +0000)]
re PR lto/50165 (Huge build time regression (Firefox lto build))
PR lto/50165
* lto-streamer-in.c (canon_file_name): Initialize new_slot->len;
don't call strlen twice, use memcpy.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r178118
H.J. Lu [Fri, 26 Aug 2011 15:45:32 +0000 (15:45 +0000)]
Add <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h> to <immintrin.h>.
2011-08-26 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/bmi2intrin.h: Allow in <immintrin.h>.
* config/i386/bmiintrin.h: Likewise.
* config/i386/lzcntintrin.h: Likewise.
* config/i386/immintrin.h: Include <lzcntintrin.h>,
<bmiintrin.h> and <bmi2intrin.h>.
From-SVN: r178117
Rainer Orth [Fri, 26 Aug 2011 15:17:42 +0000 (15:17 +0000)]
Disable .init_array/.fini_array support on Solaris (PR target/50166)
PR target/50166
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check count in main.
* configure: Regenerate.
From-SVN: r178116
Jakub Jelinek [Fri, 26 Aug 2011 14:55:05 +0000 (16:55 +0200)]
trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL if threadprivate.
* trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
if threadprivate.
* symbol.c (check_conflict): Allow threadprivate attribute with
FL_PROCEDURE if proc_pointer.
* testsuite/libgomp.fortran/threadprivate4.f90: New test.
From-SVN: r178114
Jakub Jelinek [Fri, 26 Aug 2011 14:52:54 +0000 (16:52 +0200)]
cmpxchg16b-1.c: Match also space after the instruction.
* gcc.target/i386/cmpxchg16b-1.c: Match also space after the
instruction.
From-SVN: r178113
Jakub Jelinek [Fri, 26 Aug 2011 14:37:22 +0000 (16:37 +0200)]
re PR c/50179 (wrong "set but not used" warning)
PR c/50179
* c-typeck.c (c_process_expr_stmt): Skip over nops and
call mark_exp_read even if exprv is ADDR_EXPR.
* c-c++-common/Wunused-var-14.c: New test.
From-SVN: r178110
Richard Sandiford [Fri, 26 Aug 2011 14:21:19 +0000 (14:21 +0000)]
df-problems.c (df_note_bb_compute): Pass uses rather than defs to df_set_dead_notes_for_mw.
gcc/
* df-problems.c (df_note_bb_compute): Pass uses rather than defs
to df_set_dead_notes_for_mw.
From-SVN: r178109
Richard Guenther [Fri, 26 Aug 2011 14:02:28 +0000 (14:02 +0000)]
varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
2011-08-26 Richard Guenther <rguenther@suse.de>
* varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
From-SVN: r178107
Tom de Vries [Fri, 26 Aug 2011 13:38:22 +0000 (13:38 +0000)]
ivopts-lt.c: New test.
2011-08-26 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/ivopts-lt.c: New test.
From-SVN: r178105
Zdenek Dvorak [Fri, 26 Aug 2011 13:36:28 +0000 (15:36 +0200)]
tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
2011-08-26 Zdenek Dvorak <ook@ucw.cz>
Tom de Vries <tom@codesourcery.com>
* tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
(struct ivopts_data): Add loop_single_exit_p field.
(niter_for_exit): Change parameter desc_p into return value. Return
desc if desc->may_be_zero. Free desc if unused.
(niter_for_single_dom_exit): Change return type.
(find_induction_variables): Handle changed return type of
niter_for_single_dom_exit. Dump may_be_zero.
(add_candidate_1): Keep original base and step type for IP_ORIGINAL.
(set_use_iv_cost): Add and handle comp parameter.
(determine_use_iv_cost_generic, determine_use_iv_cost_address): Add
comp argument to set_use_iv_cost.
(strip_wrap_conserving_type_conversions, expr_equal_p)
(difference_cannot_overflow_p, iv_elimination_compare_lt): New function.
(may_eliminate_iv): Add comp parameter. Handle new return type of
niter_for_exit. Use loop_single_exit_p. Use iv_elimination_compare_lt.
(determine_use_iv_cost_condition): Add comp argument to set_use_iv_cost
and may_eliminate_iv.
(rewrite_use_compare): Move call to iv_elimination_compare to ...
(may_eliminate_iv): Here.
(tree_ssa_iv_optimize_loop): Initialize loop_single_exit_p.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r178104
Tom de Vries [Fri, 26 Aug 2011 13:03:58 +0000 (13:03 +0000)]
tree-pretty-print (dump_generic_node): Test for NULL_TREE before accessing TREE_TYPE.
2011-08-26 Tom de Vries <tom@codesourcery.com>
* tree-pretty-print (dump_generic_node): Test for NULL_TREE before
accessing TREE_TYPE.
From-SVN: r178103
Jiangning Liu [Fri, 26 Aug 2011 12:50:19 +0000 (12:50 +0000)]
Commit for Jiangning.
Add conditional compare support for Thumb2.
From-SVN: r178102
Jakub Jelinek [Fri, 26 Aug 2011 12:15:25 +0000 (14:15 +0200)]
* rtlanal.c (nonzero_bits1): Handle CLRSB.
From-SVN: r178101
Richard Guenther [Fri, 26 Aug 2011 11:23:37 +0000 (11:23 +0000)]
expr.c (string_constant): Handle &MEM_REF.
2011-08-26 Richard Guenther <rguenther@suse.de>
* expr.c (string_constant): Handle &MEM_REF.
From-SVN: r178100
Andrew Stubbs [Fri, 26 Aug 2011 09:53:06 +0000 (09:53 +0000)]
arm.c (struct four_ints): New type.
2011-08-26 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm.c (struct four_ints): New type.
(count_insns_for_constant): Delete function.
(find_best_start): Delete function.
(optimal_immediate_sequence): New function.
(optimal_immediate_sequence_1): New function.
(arm_gen_constant): Move constant splitting code to
optimal_immediate_sequence.
Rewrite constant negation/invertion code.
gcc/testsuite/
* gcc.target/arm/thumb2-replicated-constant1.c: New file.
* gcc.target/arm/thumb2-replicated-constant2.c: New file.
* gcc.target/arm/thumb2-replicated-constant3.c: New file.
* gcc.target/arm/thumb2-replicated-constant4.c: New file.
2011-08-26 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm-protos.h (const_ok_for_op): Add prototype.
* config/arm/arm.c (const_ok_for_op): Add support for addw/subw.
Remove prototype. Remove static function type.
* config/arm/arm.md (*arm_addsi3): Add addw/subw support.
Add arch attribute.
* config/arm/constraints.md (Pj, PJ): New constraints.
From-SVN: r178099
Ramana Radhakrishnan [Fri, 26 Aug 2011 08:44:21 +0000 (08:44 +0000)]
Fix scheduling descriptions for smull, smmul and friends on Cortex-A9.
From-SVN: r178098
GCC Administrator [Fri, 26 Aug 2011 00:18:33 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r178095
Ian Lance Taylor [Thu, 25 Aug 2011 23:14:20 +0000 (23:14 +0000)]
Change Bound_method_expression to refer to a constant method.
From-SVN: r178091
Uros Bizjak [Thu, 25 Aug 2011 19:38:57 +0000 (21:38 +0200)]
* config/i386/i386.md: Do not explicitly set default isa attribute.
From-SVN: r178088
Mikael Morin [Thu, 25 Aug 2011 19:10:06 +0000 (19:10 +0000)]
re PR fortran/50050 (Internal compiler error free_expr0 at expr.c:3709 via gfc_done_2)
2011-08-25 Mikael Morin <mikael.morin@gcc.gnu.org>
PR fortran/50050
* expr.c (gfc_free_shape): Do nothing if shape is NULL.
(free_expr0): Remove redundant NULL shape check.
* resolve.c (check_host_association): Ditto.
* trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
non-NULL.
* trans-io.c (transfer_array_component): Ditto.
2011-08-25 Mikael Morin <mikael.morin@gcc.gnu.org>
PR fortran/50050
* gfortran.dg/pointer_comp_init_1.f90: New test.
From-SVN: r178086
Richard Henderson [Thu, 25 Aug 2011 18:57:48 +0000 (11:57 -0700)]
re PR debug/50132 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2234 with -fno-asynchronous-unwind-tables and long double)
PR 50132
PR 49864
* cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for
non-constant stack adjutment.
* expr.c (find_args_size_adjust): Break out from ...
(fixup_args_size_notes): ... here.
* rtl.h (find_args_size_adjust): Declare.
From-SVN: r178084
Jason Merrill [Thu, 25 Aug 2011 18:22:54 +0000 (14:22 -0400)]
* call.c (convert_like_real): Remove redundant complain checks.
From-SVN: r178082
Jason Merrill [Thu, 25 Aug 2011 18:22:46 +0000 (14:22 -0400)]
re PR c++/50157 ([C++0x] Non-silent SFINAE in new expression with explicit conversion)
PR c++/50157
* call.c (convert_like_real): Exit early if bad and !tf_error.
From-SVN: r178081
Uros Bizjak [Thu, 25 Aug 2011 17:05:34 +0000 (19:05 +0200)]
i386.md (isa): Add sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
* config/i386/i386.md (isa): Add sse2, sse2_noavx, sse3,
sse4 and sse4_noavx.
(enabled): Handle sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
(*pushdf_rex64): Change Y2 register constraint to x.
(*movdf_internal_rex64): Ditto.
(*zero_extendsidi2_rex64): Ditto.
(*movdi_internal): Change Y2 register constraint to x
and update "isa" attribute.
(*pushdf): Ditto.
(*movdf internal): Ditto.
(zero_extendsidi2_1): Ditto.
(*truncdfdf_mixed): Ditto.
(*truncxfdf2_mixed): Ditto.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Change Y2
register constraint to x.
(*movv2sf_internal_rex64): Ditto.
(*mov<mode>_internal): Change Y2 register constraint to x
and add "isa" attribute.
(*movv2sf_internal): Ditto.
(*vec_extractv2si_1): Ditto.
* config/i386/sse.md ("vec_set<mode>_0): Change Y2 and Y4 register
constraints to x and update "isa" attribute.
(*vec_interleave_highv2df): Change Y3 registerconstraint
to x and update "isa" attribute.
(*vec_interleave_lowv2df): Ditto.
(*vec_concatv2df): Change Y2 register constraint to x and
update "isa" attribute.
(sse2_loadld): Ditto.
(*vec_extractv2di_1): Ditto.
(*vec_dupv4si): Ditto.
(*vec_dupv2di): Ditto.
(*vec_concatv4si): Ditto.
(vec_concatv2di): Ditto.
* config/i386/constraints.md (Y2): Remove.
(Y3): Ditto.
(Y4): Ditto.
From-SVN: r178073
Tobias Burnus [Thu, 25 Aug 2011 16:27:39 +0000 (18:27 +0200)]
trans-array.c (gfc_conv_descriptor_token): Add assert.
2011-08-25 Tobias Burnus <burnus@net-b.de>
* trans-array.c (gfc_conv_descriptor_token): Add assert.
* trans-decl.c (gfc_build_qualified_array,
create_function_arglist): Handle assumed-shape arrays.
* trans-expr.c (gfc_conv_procedure_call): Ditto.
* trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
add "caf_token" to assumed-shape descriptors, new akind argument.
(gfc_get_array_type_bounds): Pass akind.
* trans.h (lang_decl): New elements caf_offset and token.
(GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.
2011-08-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_lib_token_4.f90: New.
From-SVN: r178069
Tobias Burnus [Thu, 25 Aug 2011 15:59:40 +0000 (17:59 +0200)]
trans-array.c (structure_alloc_comps): Fix for allocatable scalar coarray components.
2011-08-25 Tobias Burnus <burnus@net-b.de>
* trans-array.c (structure_alloc_comps): Fix for allocatable
scalar coarray components.
* trans-expr.c (gfc_conv_component_ref): Ditto.
* trans-type.c (gfc_get_derived_type): Ditto.
2011-08-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray/alloc_comp_1.f90: New.
From-SVN: r178068
Georg-Johann Lay [Thu, 25 Aug 2011 14:36:01 +0000 (14:36 +0000)]
* config/avr/avr.c (byte_immediate_operand): Remove Function.
From-SVN: r178067
Tom Tromey [Thu, 25 Aug 2011 14:29:47 +0000 (14:29 +0000)]
simple.cc: New file.
* testsuite/libstdc++-prettyprinters/simple.cc: New file.
* testsuite/lib/gdb-test.exp: New file.
* testsuite/libstdc++-prettyprinters/prettyprinters.exp: New
file.
From-SVN: r178066
Bernd Schmidt [Thu, 25 Aug 2011 14:23:47 +0000 (14:23 +0000)]
regrename.c (scan_rtx_reg, [...]): Don't declare.
* regrename.c (scan_rtx_reg, scan_rtx_address, build_def_use,
dump_def_use_chain): Don't declare.
(mark_conflict, create_new_chain): Move before users.
(regrename_optimize): Move to near end of file.
From-SVN: r178065
Georg-Johann Lay [Thu, 25 Aug 2011 13:51:38 +0000 (13:51 +0000)]
avr-protos.h (byte_immediate_operand): Remove Prototype.
* config/avr-protos.h (byte_immediate_operand): Remove Prototype.
(secondary_input_reload_class): Remove Prototype.
* config/avr/avr.c (byte_immediate_operand): Remove Function.
* config/avr/avr.md (setmemhi): Use u8_operand.
(strlenhi): Use const0_rtx for comparison.
* config/avr/avr.h (avr_reg_order): Remove Declaration.
From-SVN: r178064
Georg-Johann Lay [Thu, 25 Aug 2011 13:50:30 +0000 (13:50 +0000)]
avr.c (reg_class_tab): Make local to avr_regno_reg_class.
* config/avr/avr.c (reg_class_tab): Make local to
avr_regno_reg_class. Return smallest register class available.
From-SVN: r178063
Georg-Johann Lay [Thu, 25 Aug 2011 13:46:35 +0000 (13:46 +0000)]
avr.c (STR_PREFIX_P): New Define.
* config/avr/avr.c (STR_PREFIX_P): New Define.
(avr_asm_declare_function_name): Use it.
(avr_asm_named_section): Use it.
(avr_section_type_flags): Use it.
From-SVN: r178062
Richard Guenther [Thu, 25 Aug 2011 13:24:34 +0000 (13:24 +0000)]
Wshadow-3.c: Restore original content destroyed by r148442.
2011-08-25 Richard Guenther <rguenther@suse.de>
* gcc.dg/Wshadow-3.c: Restore original content destroyed by r148442.
From-SVN: r178061
Andrew Haley [Thu, 25 Aug 2011 10:37:36 +0000 (10:37 +0000)]
ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly instructions.
2011-08-25 Andrew Haley <aph@redhat.com>
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
instructions.
* src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
From-SVN: r178060
Bernd Schmidt [Thu, 25 Aug 2011 10:30:13 +0000 (10:30 +0000)]
md.texi (automata_option): Document collapse-ndfa.
* doc/md.texi (automata_option): Document collapse-ndfa.
* genautomata.c (COLLAPSE_OPTION): New macro.
(collapse_flag): New static variable.
(struct description): New member normal_decls_num.
(struct automaton): New members advance_ainsn and collapse_ainsn.
(gen_automata_option): Check for COLLAPSE_OPTION.
(collapse_ndfa_insn_decl): New static variable.
(add_collapse_ndfa_insn_decl, special_decl_p): New functions.
(find_arc): If insn is the collapse-ndfa insn, accept any arc we
find.
(transform_insn_regexps): Call add_collapse_ndfa_insn_decl if
necessary. Use normal_decls_num rather than decls_num, remove
test for special decls.
(create_alt_states, form_ainsn_with_same_reservs): Use
special_decl_p.
(make_automaton); Likewise. Use the new advance_cycle_insn member
of struct automaton.
(create_composed_state): Disallow advance-cycle arcs if collapse_flag
is set.
(NDFA_to_DFA): Don't create composed states for the collapse-ndfa
transition. Create the necessary transitions for it.
(create_ainsns): Return void. Take an automaton_t argument, and
update its ainsn_list, advance_ainsn and collapse_ainsn members. All
callers changed.
(COLLAPSE_NDFA_VALUE_NAME): New macro.
(output_tables): Output code to define it.
(output_internal_insn_code_evaluation): Output code to accept
const0_rtx as collapse-ndfa transition.
(output_default_latencies, output_print_reservation_func,
output_print_description): Reorganize loops to use normal_decls_num
as loop bound; remove special case for advance_cycle_insn_decl.
(initiate_automaton_gen): Handle COLLAPSE_OPTION.
(check_automata_insn_issues): Check for collapse_ainsn.
(expand_automate): Allocate sufficient space. Initialize
normal_decls_num.
From-SVN: r178059
Georg-Johann Lay [Thu, 25 Aug 2011 10:27:18 +0000 (10:27 +0000)]
avr.md: Fix indentation from r177991.
* config/avr/avr.md: Fix indentation from r177991.
From-SVN: r178058