charlet [Tue, 29 Jul 2014 14:02:19 +0000 (14:02 +0000)]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): If the target type
is a null-excluding access type, do not generate a constraint
check if Suppress_Assignment_Checks is set on assignment node.
* exp_ch9.adb (Build_Simple_Entry_Call): If actual is an out
parameter of a null-excluding access type, there is access check
on entry, so set Suppress_Assignment_Checks on generated statement
that assigns actual to parameter block.
* sinfo.ads: Document additional use of Suppress_Assignment_Checks.
2014-07-29 Javier Miranda <miranda@adacore.com>
* types.ads (Kind): Renamed as Rkind to avoid crashing ASIS.
* exp_ch11.adb, tbuild.adb Update references to Types.Kind
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* par-ch3.adb (P_Type_Declaration): Create end label for
limited record declaration, previously omitted.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Complete list of implementation pragmas Add
dummy sections for impl pragmas needing documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213195
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 14:00:06 +0000 (14:00 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Change theta to @ in documentation of aspect
Dimension_System.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Uneval_Old_Msg): Flags Uneval_Old_Accept/Warn
are now on pragma.
* sem_ch13.adb (Analyze_Aspect_Specifications): Remove setting
of Uneval_Old_*
* sem_prag.adb (Analyze_Pragma): Set Uneval_Old_* flags
* sinfo.ads, sinfo.adb: Move Uneval_Old_Accept/Warn to N_Pragma node.
2014-07-29 Javier Miranda <miranda@adacore.com>
* types.ads Update documentation on how to add new reason codes
for exceptions.
(RT_Exception_Code): Keep values ordered by their
reason code. Required by the .NET backend.
(RT_CE_Exceptions): Subtype declaration removed.
(RT_PE_Exceptions): Subtype declaration removed.
(RT_SE_Exceptions): Subtype declaration removed.
(Kind): New mapping table of RT_Exception_Codes.
* exp_ch11.adb (Get_RT_Exception_Entity): Updated to use the
new mapping table.
* tbuild.adb (Make_Raise_Storage_Error): Updated to use the new
mapping table. (Make_Raise_Program_Error): Updated to use the
new mapping table.
(Make_Raise_Storage_Error): Updated to use the new mapping table.
* a-except.adb Keep Rcheck_CE_xxx entities ordered according to
their reason code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213194
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:58:21 +0000 (13:58 +0000)]
2014-07-29 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi: Document internal attributes used for PolyORB/DSA
distributed stubs generation.
* exp_ch3.adb: Minor reformatting.
2014-07-29 Yannick Moy <moy@adacore.com>
* sinfo.ads: Document constraint between frontend and GNATprove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213193
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:56:59 +0000 (13:56 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* a-except.adb: Minor comment clarification.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Complete list of implementation attributes.
* snames.ads-tmpl: Clean up list of impl-defined attributes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213192
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:54:42 +0000 (13:54 +0000)]
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Record_Type): Perform various
volatility-related checks.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_eval.adb: Minor reformatting.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb: sem_attr.adb (Access_Attribute): Handle properly
the case where the attribute reference appears in a nested scope
from that of the subprogram prefix.
* sem_attr.adb: Minor reformatting.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Clarify documentation of Initialize_Scalar
initialization options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213191
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:52:53 +0000 (13:52 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Minor comment addition.
2014-07-29 Bob Duff <duff@adacore.com>
* sem_eval.adb, sem_ch13.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213190
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:51:03 +0000 (13:51 +0000)]
2014-07-29 Doug Rupp <rupp@adacore.com>
* init.c: Complete previous change.
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_If_Expression): Deal with unconstrained
array case.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Access_Attribute): If the prefix is a subprogram
and the completion will appear in the same declarative part,
create elaboration flag.
* exp_util.adb (Set_Elaboration_Flag): If the subprogram body
is a completion of a declaration in the same declarative part,
and the subprogram has had its address taken, add elaboration
check inside the subprogram body, to detect elaboration errors
that may occur through indirect calls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213189
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Tue, 29 Jul 2014 13:48:38 +0000 (13:48 +0000)]
libgcc/
* libgcov.h: Move renaming of entry points to lib gcov specific
portion.
(gcov_do_dump): New rename.
(gcov_rewrite): Remove inline, make HIDDEN.
* libgcov-driver.c (gcov_clear, gcov_exit): Remove declarations.
(gcov_exit_compute_summary): Rename to ...
(compute_summary): ... here. Add LIST argument.
(gcov_exit_merge_gcda): Rename to ...
(merge_one_data): ... here.
(gcov_exit_write_gcda): Rename to ...
(write_one_data): ... here.
(gcov_exit_merge_summary): Rename to ...
(merge_summary): Add RUN_COUNTED argument.
(gcov_exit_dump_gcov): Rename to ...
(dump_one_gcov): Add RUN_COUNTED argument.
(gcov_do_dump): New function, broken out of ...
(gcov_exit): ... here. Call it.
gcc/
* gcov-io.c (gcov_var): Make hidden.
* gcov-tool.c (gcov_list, gcov_exit): Remove declarations.
(gcov_do_dump): Declare.
(gcov_output_files): Call gcov_do_dump, not gcov_exit).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213188
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:48:13 +0000 (13:48 +0000)]
2014-07-29 Doug Rupp <rupp@adacore.com>
* sigtramp-armvxw.c: Enhance to handle RTP trampolining.
* init.c: Remove guard on sigtramp for ARM VxWorks RTP.
2014-07-29 Vincent Celier <celier@adacore.com>
* switch-c.adb (Scan_Front_End_Switches): Do not fail when two
runtime directorie specified with two switches --RTS= designate
the same directory, even when there are no literarily the same.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor documentation clarification.
* switch-c.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213187
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:43:43 +0000 (13:43 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Allow_Integer_Address):
Fix incorrect RTE call which caused bomb if pragma was in
configuration pragma file.
2014-07-29 Jerome Lambourg <lambourg@adacore.com>
* expect.c (__gnat_expect_poll): Fix typo in previous change.
* g-expect.adb: Update comments.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* s-parame-hpux.ads, s-parame-vms-ia64.ads, s-parame.ads
(Default_Attribute_Count): Bump to 16 on native platforms.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb: Add guard to front-end inlining for SPARK.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213185
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:41:27 +0000 (13:41 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch10.adb, debug.adb, sem_prag.adb, sem_res.adb, sem_ch6.adb:
Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213183
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:40:27 +0000 (13:40 +0000)]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Build body to
inline in GNATprove mode when subprogran is marked Inline_Always.
* sem_res.adb (Resolve_Call): Expand call in place in GNATProve
mode if body to inline is available.
* sem_prag.adb (Analyze_Pragma, case Inline_Always): Make pragma
effective in GNATprove mode.
* sem_ch10.adb (Analyze_Compilation_Unit): Call
Check_Package_Body_For_Inlining in GNATprove mode, so that body
containing subprograms with Inline_Always can be available before
calls to them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213182
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:39:22 +0000 (13:39 +0000)]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* inline.ads, inline.adb, sem_ch10.adb: Rename Check_Body_For_Inlining
to Check_Package_Body_For_Inlining, to prevent confusion with other
inlining subprograms.
2014-07-29 Robert Dewar <dewar@adacore.com>
* opt.ads: Minor comment update.
* sem_attr.adb (Uneval_Old_Msg): Deal with case of aspect, where
we want setting of Uneval_Old at time of encountering the aspect.
* sem_ch13.adb (Analyze_Aspect_Specifications): Capture setting
of Opt.Uneval_Old.
* sinfo.adb (Uneval_Old_Accept): New function (Uneval_Old_Warn):
New function (Set_Uneval_Old_Accept): New procedure.
(Set_Uneval_Old_Warn): New procedure.
* sinfo.ads: Uneval_Old_Accept: New flag Uneval_Old_Warn: New flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213181
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:37:03 +0000 (13:37 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sinfo.ads, inline.adb, inline.ads, sem_ch6.adb: Minor reformatting.
* snames.ads-tmpl: Minor reformatting.
* xsnamest.adb (XSnamesT): Remove special casing of Name_Error
to give <Error>. Not clear why this was there, but the compiler
sources do not reference Name_Error, and this interfered with
the circuits for pragma Unevaluated_Use_Of_Old.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Process_Atomic_Shared_Volatile): Allow volatile
types in SPARK 2014 (again).
* sem_res.adb (Is_OK_Volatile_Context): New routine.
(Resolve_Entity_Name): Ensure that a volatile object with
enabled properties Async_Writers or Effectire_Reads appears in
a non-interfering context.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213180
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:35:32 +0000 (13:35 +0000)]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Move Build_Body_To_Inline,
Check_And_Buid_Body_To_Inline, and Cannot_Inline to package Inline.
* exp_ch6.adb: Mode Expand_Inlined_Body to package Inline.
* inline.ads, inline.adb: Package now contains subprograms that
implement front-end inlining. No functional changes, no test
needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213179
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:34:35 +0000 (13:34 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_dbug.adb, g-expect.adb, sem_elab.adb: Minor typo fix.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Return_Type): Reject a return type that
is a limited view when the context is a package body, because
there is no subsequent place at which the non-limited view may
become visible.
(Process_Formals): Ditto.
* sinfo.ads, par-ch3.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213178
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:32:08 +0000 (13:32 +0000)]
2014-07-29 Jerome Lambourg <lambourg@adacore.com>
* expect.c (__gnat_expect_poll): New parameter dead_process
used to return the dead process among the array of file
descriptors. The Windows, VMS and HPUX implementations now
properly report the dead process via this parameter. Other unixes
don't need it.
* g-expect.adb (Poll): Adapt to the C profile.
(Expect_Internal): Use the new parameter to properly close the
File Descriptor. This then can be properly reported by the
function First_Dead_Process as is expected.
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor clarification of -gnatQ switch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213177
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:30:02 +0000 (13:30 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* einfo.adb (Derived_Type_Link): New function
(Set_Derived_Type_Link): New procedure.
(Write_Field31_Name): Output Derived_Type_Link.
* einfo.ads: New field Derived_Type_Link.
* exp_ch6.adb (Expand_Call): Warn if change of representation
needed on call.
* sem_ch13.adb: Minor addition of ??? comment.
(Rep_Item_Too_Late): Warn on case that is legal but could cause an
expensive implicit conversion.
* sem_ch3.adb (Build_Derived_Type): Set Derived_Type_Link if needed.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Renamed Local_DF_Id
to DF_Id. Add new local variable DF_Call. Do not perform any
elaboration-related checks on the call to the partial finalization
routine within an init proc to avoid generating bogus elaboration
warnings on expansion-related code.
* sem_elab.adb (Check_A_Call): Move constant Access_Case to
the top level of the routine. Ensure that Output_Calls takes
into account flags -gnatel and -gnatwl when emitting warnings
or info messages.
(Check_Internal_Call_Continue): Update the call to Output_Calls.
(Elab_Warning): Moved to the top level of routine Check_A_Call.
(Emit): New routines.
(Output_Calls): Add new formal parameter Check_Elab_Flag along with a
comment on usage. Output all warnings or info messages only when the
caller context demands it and the proper elaboration flag is set.
2014-07-29 Yannick Moy <moy@adacore.com>
* sem_attr.adb (Analyze_Attribute/Attribute_Old):
Check rule about Old appearing in potentially unevaluated
expression everywhere, not only in Post.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb: Update comment.
* a-except.adb, a-except-2005.adb: Minor editing.
2014-07-29 Pierre-Marie Derodat <derodat@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration):
Do not create renaming entities for renamings of non-packed
objects and for exceptions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213175
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:27:42 +0000 (13:27 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sinfo.ads, types.ads, sem_prag.adb, a-except-2005.adb,
sem_ch6.adb, par-ch3.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213174
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:26:20 +0000 (13:26 +0000)]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Check_Return_Subtype_Indication): Reject a return
subtype indication in an extended return statement when the
return value is an ancestor of the return type of the function,
and that return type is a null record extension.
2014-07-29 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Rep_Item_Too_Late): Specialize/clarify error
message produced for the case of a type-related representation
item that is made illegal by 13.10(1).
* gnat_rm.texi (Scalar_Storage_Order): Minor change in
documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213173
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:24:47 +0000 (13:24 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add section on Wide_Wide_Character encodings.
* erroutc.adb (Output_Error_Msgs): Take wide characters into
account in computing position of error flags.
* sinput.adb (Get_Column_Number): Take wide characters into
account.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* par-ch3.adb (P_Access_Type_Definition): The subtype indication
in an access type definition can carry a null_exclusion indicator.
* sem_ch3.adb (Access_Type_Declaration): If the subtype indication
carries a null_exclusion indicator, verify that the subtype
indication denotes an access type, and create a null-excluding
subtype for it.
* sinfo.ads, sinfo.adb: New attribute Null_Excluding_Subtype,
defined on N_Access_To_Object_Definition to indicate that the
subtype indication carries a null_exclusion indicator.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch6.adb (Add_Extra_Actual): Do not construct
the extra actual by name, generate a reference instead.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Analyze_Pragma): Do not crash analyzing
Allow_Integer_Address if already set.
* a-except-2005.adb (Rcheck_PE_Stream_Operation_Not_Allowed):
Fix order, for consistency with Rmsg_xx declarations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213172
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:22:51 +0000 (13:22 +0000)]
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Complete_Object_Operation): If the type of the
candidate subprogram is a limited view, use non-limited view
when available.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor change in RM reference.
* sem_mech.ads: Minor reformatting.
* einfo.ads: Minor comment fix.
* types.ads: Minor correction to range given for Mechanism_Type.
* exp_ch6.adb (Add_Invariant_And_Predicate_Checks): Do not
check predicate on way out for OUT or IN OUT parameters.
* par-ch3.adb (P_Constraint_Opt): Handle missing RANGE keyword
better (P_Range_Constraint): Corresponding fix.
* checks.ads: Minor comment clarification.
2014-07-29 Gary Dismukes <dismukes@adacore.com>
* sem_ch8.adb (Analyze_Object_Renaming): Set the Is_Volatile
and Treat_As_Volatile flags based on whether the renamed object
is a volatile object.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213170
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:20:26 +0000 (13:20 +0000)]
2014-07-29 Olivier Hainque <hainque@adacore.com>
* g-debpoo.adb
(Default_Alignment): Rename as Storage_Alignment. This is not
a "default" that can be overriden. Augment comment to clarify
intent and document why we need to manage alignment padding.
(Header_Offset): Set to Header'Object_Size instead of 'Size
rounded up to Storage_Alignment. Storage_Alignment on the
allocation header is not required by our internals so was
overkill. 'Object_Size is enough to ensure proper alignment
of the header address when substracted from a storage address
aligned on Storage_Alignment.
(Minimum_Allocation): Rename as Extra_Allocation, conveying that
this is always added on top of the incoming allocation requests.
(Align): New function, to perform alignment rounding operations.
(Allocate): Add comments on the Storage_Address computation
scheme and adjust so that the alignment padding applies to that
(Storage_Address) only.
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Default_Initialize_Object): Remove incorrect
pragma Unreferenced.
* cstand.adb (Create_Standard): Use E_Array_Type for standard
string types. Make sure index of Any_String/Any_Array is in a list.
* errout.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213169
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:17:53 +0000 (13:17 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Clean up and correct documentation of warnings.
* usage.adb: Minor corrections to make sure warnings are properly
documented.
* warnsw.adb (Set_Warning_Switch): Remove redundant return statement.
(WA_Warnings): Add Warn_On_Suspicious_Modulus_Value.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): The dummy block
created to match internal sequence numbers between compilations
with/without abort must have its type properly set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213168
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:16:09 +0000 (13:16 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* ali.adb (Initialize_ALI): Initialize SSO_Default_Specified
(Scan_ALI): Set SSO_Default in ALIs_Record (Scan_ALI): Set
SSO_Default_Specified.
* ali.ads (ALIs_Record): Add field SSO_Default
(SSO_Default_Specified): New global switch.
* bcheck.adb (Check_Consistent_SSO_Default): New procedure
(Check_Configuration_Consistency): Call this procedure
* einfo.adb (SSO_Set_High_By_Default): New
function (SSO_Set_Low_By_Default): New function
(Set_SSO_Set_High_By_Default): New procedure
(Set_SSO_Set_Low_By_Default): New procedure (Write_Entity_Flags):
List new flags
* einfo.ads (SSO_Set_Low_By_Default): New flag
(SSO_Set_High_By_Default): New flag
* freeze.adb (Set_SSO_From_Default): New procedure
(Freeze_Array_Type): Call Set_SSO_From_Default
(Freeze_Record_Type): Call Set_SSO_From_Default
* gnat_rm.texi: Document pragma Default_Scalar_Storage_Order
* lib-writ.adb (Write_ALI): Set OL/OH in P line as needed
* lib-writ.ads: Add OL/OH parameters to P line
* opt.adb: Set Default_SSO, Default_SSO_Config as appropriate
* opt.ads (Default_SSO): New global switch (Default_SSO_Config):
New global switch
* repinfo.adb (List_Scalar_Storage_Order): List SSO when it is
set by default using pragma Default_Scalar_Storage_Order.
* sem.ads (Scope_Stack_Entry): Add component Save_Default_SSO
* sem_ch13.adb (Inherit_Delayed_Rep_Aspects):
Clear SSO defaults when explicit SSO is inherited.
(Analyze_Attribute_Definition_Clause): Clear SSO defaults when
explicit SSO is specified.
(Inherit_Aspects_At_Freeze_Point):
Clear SSO default when inheriting SSO.
* sem_ch3.adb (Set_Default_SSO): New procedure
(Analyze_Private_Extension_Declaration): Set defualt SSO
(Array_Type_Declaration): ditto (Build_Derived_Array_Type): ditto
(Build_Derived_Private_Type): ditto (Build_Derived_Record_Type):
ditto (Build_Derived_Type): ditto (Make_Class_Wide_Type): ditto
(Record_Type_Declaration): ditto
* sem_ch8.adb (Pop_Scope): Restore Default_SSO (Push_Scope):
Save Default_SSO
* sem_prag.adb (Analyze_Pragma, case
Default_Scalar_Storage_Order): Set Default_SSO
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Valid_Operator_Definition): Verify that
all parameter have mode IN. This check must be done here for
subprogram instantiations that have operator names, because their
analysis does not follow the same path as that for subprogram
declarations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213167
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:11:55 +0000 (13:11 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity, Concurrent_Type case): Add a guard
to make sure that the Etype of a component of the corresponding
record type is present before trying to freeze it.
* sem_ch5.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213165
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:10:48 +0000 (13:10 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, types.ads, types.h, exp_ch11.adb, a-except.adb,
a-except-2005.adb: Add new reason code PE_Stream_Operation_Not_Allowed,
and then use it when a stream operation is used from a library generic
when the restriction (No_Streams) is active.
2014-07-29 Thomas Quinot <quinot@adacore.com>
* projects.texi: Fix minor typo.
2014-07-29 Yannick Moy <moy@adacore.com>
* sem_attr.adb (Analyze_Attribute): Fix generation of warning.
2014-07-29 Arnaud Charlet <charlet@adacore.com>
* sem_ch5.adb (Check_Unreachable_Code): Do not remove code in
CodePeer mode.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Find_Last_Init): Add local variable
Deep_Init_Found. Check the statement immediately following the
declaration if [Deep_]Initialization was not found.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Is_Aliased): It appears that
'reference-d and renamed objects still play some role in Boolean
expression with actions and cannot be finalized immediately.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_dbug.adb (Qualify_Needed): For debugging purposes,
Loop names are not part of the full qualification of entity names.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213164
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:08:12 +0000 (13:08 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* einfo.adb (Has_Protected): Test base type.
* sem_ch4.adb (Analyze_Allocator): Reorganize code to make sure
that we always properly check No_Protected_Type_Allocators.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads, sem_util.adb (Defining_Entity): Now applies to
loop declarations as well.
* exp_ch5.adb (Expand_Loop_Statement): Apply Qualify_Entity_Names
to an iterator loop, because it may contain local renaming
declarations that require debugging information.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_util.ads, exp_util.adb, sem_attr.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213163
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:03:49 +0000 (13:03 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb (Static_Real_Or_String_Predicate): New function
(Set_Static_Real_Or_String_Predicate): New procedure
* sem_ch13.adb (Build_Predicate_Functions): Accomodate static
string predicates (Is_Predicate_Static): Handle static string
predicates.
* sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
New procedure (Check_Expression_Against_Static_Predicate):
Deal with static string predicates, now fully implemented
(Eval_Relational_Op): Allow string equality/inequality as static
if not comes from source.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213162
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:02:06 +0000 (13:02 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb, exp_ch5.adb, sem_ch5.adb, exp_util.adb, einfo.adb,
einfo.ads, sem_util.adb, sem_attr.adb, sem_case.adb, sem_eval.adb,
sem_eval.ads, sem_ch13.adb: General cleanup of static predicate
handling. Change name of Discrete_Predicate to
Discrete_Static_Predicate, and replace testing of the presence of this
field by testing the flag Has_Static_Expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213161
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 13:00:08 +0000 (13:00 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old.
* opt.adb: Handle Uneval_Old.
* opt.ads (Uneval_Old, Uneval_Old_Config): New variables.
* par-prag.adb: Add dummy entry for pragma Unevaluated_Use_Of_Old.
* sem.ads (Save_Uneval_Old): New field in Scope_Stack_Entry.
* sem_attr.adb (Uneval_Old_Msg): New procedure.
* sem_ch8.adb (Push_Scope): Save Uneval_Old.
(Pop_Scope): Restore Uneval_Old.
* sem_prag.adb (Analyze_Pragma, case Unevaluated_Use_Of_Old):
Implemented.
* snames.ads-tmpl: Add entries for pragma Unevaluated_Use_Of_Old
Add entries for Name_Warn, Name_Allow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213160
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 12:56:31 +0000 (12:56 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Change Is_Static_Range
to Is_OK_Static_Range.
* sem_attr.adb (Eval_Attribute): Make sure we properly flag
static attributes (Eval_Attribute, case Size): Handle size of
zero properly (Eval_Attribute, case Value_Size): Handle size of
zero properly.
* sem_ch13.adb: Minor reformatting.
* sem_ch3.adb (Process_Range_Expr_In_Decl): Change
Is_Static_Range to Is_OK_Static_Range.
* sem_eval.adb (Eval_Case_Expression): Total rewrite, was
wrong in several ways (Is_Static_Range): Moved here from spec
(Is_Static_Subtype): Moved here from spec Change some incorrect
Is_Static_Subtype calls to Is_OK_Static_Subtype.
* sem_eval.ads: Add comments to section on
Is_Static_Expression/Raises_Constraint_Error (Is_OK_Static_Range):
Add clarifying comments (Is_Static_Range): Moved to body
(Is_Statically_Unevaluated): New function.
* sem_util.ads, sem_util.adb (Is_Preelaborable_Expression): Change
Is_Static_Range to Is_OK_Static_Range.
* sinfo.ads: Additional commments for Is_Static_Expression noting
that clients should almost always use Is_OK_Static_Expression
instead. Many other changes throughout front end units to obey
this rule.
* tbuild.ads, tbuild.adb (New_Occurrence_Of): Set Is_Static_Expression
for enumeration literal.
* exp_ch5.adb, sem_intr.adb, sem_ch5.adb, exp_attr.adb, exp_ch9.adb,
lib-writ.adb, sem_ch9.adb, einfo.ads, checks.adb, checks.ads,
sem_prag.adb, sem_ch12.adb, freeze.adb, sem_res.adb, exp_ch4.adb,
exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, exp_aggr.adb, sem_cat.adb:
Replace all occurrences of Is_Static_Expression by
Is_OK_Static_Expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213159
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 12:51:47 +0000 (12:51 +0000)]
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Process_Transient_Object): Remove constant
In_Cond_Expr, use its initialization expression in place.
* exp_ch7.adb (Process_Declarations): There is no need to check
that a transient object being hooked is controlled as it would
not have been hooked in the first place.
* exp_util.adb (Is_Aliased): 'Reference-d or renamed transient
objects are not considered aliased when the related context is
a Boolean expression_with_actions.
(Requires_Cleanup_Actions): There is no need to check that a transient
object being hooked is controlled as it would not have been hooked in
the first place.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213158
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 12:50:18 +0000 (12:50 +0000)]
2014-07-29 Robert Dewar <dewar@adacore.com>
* errout.adb: Minor reformatting.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Default_Initialize_Object): Add new variables
Abrt_Blk and Dummy. Generate a dummy temporary when aborts are
not allowed to ensure the symmetrical generation of symbols.
* exp_ch7.adb (Build_Object_Declarations): Remove variables A_Expr
and E_Decl. Add new variables Decl and Dummy. Generate a dummy
temporary when aborts are not allowed to ensure symmertrical
generation of symbols.
* exp_intr.adb (Expand_Unc_Deallocation): Add new variable
Dummy. Generate a dummy temporary when aborts are not allowed
to ensure symmertrical generation of symbols.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* exp_dbug.adb (Debug_Renaming_Declaration): For an object
renaming, indicate that the renamed entity itself needs debug
information. This is necessary if that entity is a temporary,
e.g. part of the expansion of an explicit dereference in an
iterator.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213157
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 12:44:34 +0000 (12:44 +0000)]
2014-07-29 Thomas Quinot <quinot@adacore.com>
* errout.adb (Set_Error_Posted): When propagating flag to
an enclosing named association, also propagate to the parent
of that node, so that named and positional associations are
treated consistently.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'Update): Set
Do_Range_Check properly on array component expressions that
have a scalar type. In GNATprove mode, only checks on scalar
components must be marked by the front-end.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): If the type of the
expression is a limited view, use the non-limited view when
available.
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Case_Expression): Mark the generated
case statement as coming from a conditional expression.
(Expand_N_If_Expression): Mark the generated if statement as
coming from a conditional expression.
* exp_ch5.adb (Expand_N_Case_Statement): Do not process controlled
objects found in case statement alternatives when the case
statement is actually a case expression.
(Expand_N_If_Statement):
Do not process controlled objects found in an if statement when
the if statement is actually an if expression.
* sinfo.adb (From_Conditional_Expression): New routine.
(Set_From_Conditional_Expression): New routine.
* sinfo.ads Add new semantic flag From_Conditional_Expression and
update related nodes.
(From_Conditional_Expression): New routine along with pragma Inline.
(Set_From_Conditional_Expression): New routine along with pragma Inline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213156
138bc75d-0d04-0410-961f-
82ee72b054a4
charlet [Tue, 29 Jul 2014 12:40:42 +0000 (12:40 +0000)]
2014-07-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove
formal parameter Obj_Id and update the comment on usage. Renamed
Obj_Typ to Func_Typ and update all occurrences.
(Find_Last_Init): Remove formal parameter Decl and update the comment
on usage.
Remove local constants Obj_Id and Obj_Typ. Remove local variables
Init_Typ and Is_Conc. Remove the extraction of the initialization type.
(Find_Last_Init_In_Block): Remove formal parameter
Init_Typ and update the comment on usage.
(Is_Init_Call): Remove formal parameter Init_Typ and update the comment
on usage. Check whether the procedure call is an initialization
procedure of either the object type or the initialization type.
(Is_Init_Proc_Of): New routine.
(Process_Object_Declaration): Obj_Id and Obj_Typ are now global to this
routine. Add new variable Init_Typ. Add circuitry to extract the object
type as well as the initialization type.
2014-07-29 Robert Dewar <dewar@adacore.com>
* sem_case.adb: Minor reformatting.
* sem_aux.ads: Minor reformatting.
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sinfo.adb (Set_Else_Actions, Set_Then_Actions): Set parent
pointer on these fields, even though they are semantic, because
subsequent analysis and expansion of action nades may require
exploring the tree, for example to locate a node to be wrapped
when a function with controlled result is called.
2014-07-29 Claire Dross <dross@adacore.com>
* sem_aux.adb (Get_Binary_Nkind): Use case on
Name_Id instead of an intermediate string.
(Get_Unary_Nkind): Use case on Name_Id instead of an intermediate
string.
2014-07-29 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi (gnatelim, gnatstub, gnatmetric): Add note
about processing sources with preprocessor directives.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213155
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Tue, 29 Jul 2014 11:40:47 +0000 (11:40 +0000)]
2014-07-29 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (sra_modify_constructor_assign): Change type of stmt
parameter to gimple.
(sra_modify_assign): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213154
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 29 Jul 2014 11:10:49 +0000 (11:10 +0000)]
2014-07-29 Richard Biener <rguenther@suse.de>
PR middle-end/52478
* expr.c (expand_expr_real_2): Revert last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213153
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 29 Jul 2014 09:39:06 +0000 (09:39 +0000)]
* cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
* cgraph.h (cgraph_indirect_call_info): Add speculative data.
* gimple-fold.c (fold_gimple_assign): Fix check for virtual
call.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update
(contains_type_p): Forward declare.
(polymorphic_call_target_hasher::hash): Hash speculative info.
(polymorphic_call_target_hasher::equal): Compare speculative info.
(get_class_context): Handle speuclation.
(contains_type_p): Update.
(get_polymorphic_call_info_for_decl): Update.
(walk_ssa_copies): Break out from ...
(get_polymorphic_call_info): ... here; set speculative context
before giving up.
* ipa-prop.c (ipa_write_indirect_edge_info, ipa_read_indirect_edge_info):
Stream speculative context.
* ipa-utils.h (ipa_polymorphic_call_context): Add speculative info
(SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE,
SPECULATIVE_MAYBE_DERIVED_TYPE).
(possible_polymorphic_call_targets overriders): Update.
(dump_possible_polymorphic_call_targets overriders): Update.
(dump_possible_polymorphic_call_target_p overriders): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213152
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 29 Jul 2014 09:36:36 +0000 (09:36 +0000)]
* gimple-fold.c (fold_gimple_assign): Fix condition guarding
ipa-devirt path; fix thinko there.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213150
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 29 Jul 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213145
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Mon, 28 Jul 2014 21:42:21 +0000 (21:42 +0000)]
2014-07-28 Trevor Saunders <tsaunders@mozilla.com>
* config/i386/i386.c (ix86_return_in_memory): replace one
ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213142
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 28 Jul 2014 18:30:09 +0000 (18:30 +0000)]
* doc/invoke.texi (-Wno-odr): Fix @item entry. Tweak wording.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213136
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Mon, 28 Jul 2014 17:53:25 +0000 (17:53 +0000)]
Import config.sub from upstream. No changes to config.guess.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213134
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Mon, 28 Jul 2014 14:27:26 +0000 (14:27 +0000)]
Fix typo in ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213126
138bc75d-0d04-0410-961f-
82ee72b054a4
bergner [Mon, 28 Jul 2014 13:48:13 +0000 (13:48 +0000)]
* config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
* config/rs6000/sysv4.h (CC!_SPEC): Undefine it before defining it.
* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define.
(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
(USE_LD_AS_NEEDED): Likewise.
(ASM_APP_ON): Likewise.
(ASM_APP_OFF): Likewise.
(TARGET_POSIX_IO): Likewise.
* config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise.
(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
(USE_LD_AS_NEEDED): Likewise.
(ASM_APP_ON): Likewise.
(ASM_APP_OFF): Likewise.
(TARGET_POSIX_IO): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213125
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Jul 2014 09:02:39 +0000 (09:02 +0000)]
2014-07-28 Richard Biener <rguenther@suse.de>
PR rtl-optimization/61801
* gcc.target/i386/pr61801.c: Fix testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213121
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 28 Jul 2014 08:55:17 +0000 (08:55 +0000)]
PR middle-end/61734
* fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for
operators other than the equality operators.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213118
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Jul 2014 08:47:38 +0000 (08:47 +0000)]
2014-07-28 Richard Biener <rguenther@suse.de>
PR middle-end/52478
* optabs.c (gen_int_libfunc): For -ftrapv libfuncs make
sure to register SImode ones, not only >= word_mode ones.
* expr.c (expand_expr_real_2): When expanding -ftrapv
binops do not use OPTAB_LIB_WIDEN.
* gcc.dg/torture/ftrapv-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213117
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 28 Jul 2014 08:41:34 +0000 (08:41 +0000)]
gcc/
PR middle-end/61919
* tree-outof-ssa.c (insert_partition_copy_on_edge)
(insert_value_copy_on_edge, insert_rtx_to_part_on_edge)
(insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before
inserting them in the insn stream.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213116
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 28 Jul 2014 08:33:33 +0000 (08:33 +0000)]
PR middle-end/61913
* common.opt (Wodr): Add Var.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213115
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Jul 2014 08:25:34 +0000 (08:25 +0000)]
2014-07-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/61921
* tree-ssa-structalias.c (create_variable_info_for_1): Check
if there is a varpool node before dereferencing it.
* gfortran.dg/pr61921.f90: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213114
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Jul 2014 07:54:08 +0000 (07:54 +0000)]
2014-07-28 Richard Biener <rguenther@suse.de>
PR rtl-optimization/61801
* gcc.target/i386/pr61801.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213111
138bc75d-0d04-0410-961f-
82ee72b054a4
romangareev [Mon, 28 Jul 2014 06:01:24 +0000 (06:01 +0000)]
[gcc/]
* graphite-sese-to-poly.c:
(new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
id of the pbb), which contains pointer to the pbb1.
[gcc/testsuite]
* gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213110
138bc75d-0d04-0410-961f-
82ee72b054a4
romangareev [Mon, 28 Jul 2014 05:49:05 +0000 (05:49 +0000)]
[gcc/]
* graphite-isl-ast-to-gimple.c:
(graphite_create_new_guard): New function.
(translate_isl_ast_node_if): New function.
(translate_isl_ast): Add calling of translate_isl_ast_node_if.
[gcc/testsuite]
* gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213109
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Mon, 28 Jul 2014 04:36:29 +0000 (04:36 +0000)]
Add missing change from moxiebox patch posted earlier today.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213108
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 28 Jul 2014 00:17:32 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213107
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 27 Jul 2014 18:05:39 +0000 (18:05 +0000)]
* MAINTAINERS: Remove my MIPS maintainer entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213103
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Sun, 27 Jul 2014 17:09:38 +0000 (17:09 +0000)]
PR c/61861
* macro.c (builtin_macro): Add location parameter. Set
location of builtin macro to the expansion point.
(enter_macro_context): Pass location to builtin_macro.
* gcc.dg/pr61861.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213102
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Sun, 27 Jul 2014 13:17:38 +0000 (13:17 +0000)]
Add moxiebox target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213098
138bc75d-0d04-0410-961f-
82ee72b054a4
doko [Sun, 27 Jul 2014 13:15:17 +0000 (13:15 +0000)]
2014-07-27 Alan Modra <amodra@gmail.com>
Matthias Klose <doko@ubuntu.com>
PR libobjc/61920
* encoding.c: Define rs6000_special_adjust_field_align_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213097
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Sun, 27 Jul 2014 12:38:02 +0000 (12:38 +0000)]
gcc/testsuite/
* gcc.target/i386/avx512f-vbroadcastf64x4-2.c: Fix the uninitialized
variable problem.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213096
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 27 Jul 2014 09:50:56 +0000 (09:50 +0000)]
gcc/testsuite/
PR rtl-optimization/61926
* gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c:
Reverse argument order.
* gcc.target/mips/const-anchor-3.c, gcc.target/mips/const-anchor-4.c:
New XFAILed tests that match the original order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213093
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Sun, 27 Jul 2014 07:22:47 +0000 (07:22 +0000)]
* libgcov-driver.c (struct gcov_filename_aux): Rename ...
(struct gcov_filename): ... here. Include buffer and max length
fields.
(gcov_max_filename): Remove.
(gi_filename): Remove.
(gcov_exit_compute_summary): Compute max filename here.
(gcov_exit_merge_gcda): Add filename parm, adjust.
(gcov_exit_merge_summary): Likewise.
(gcov_exit_dump_gcov): Adjust for struct gcov_filename changes.
(gcov_exit): Likewise.
(__gcov_init): Don't calculate max length here.
* libgcov_util.c (max_filename_len): Remove.
(read_gcda_file): Don't calculate max length here.
(gcov_read_profile_dir): Don't propagate here.
* libgcov-driver-system.c (alloc_filename_struct): Adjust for
struct gcov_filename changes.
(gcov_exit_open_gcda_file): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213092
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Sun, 27 Jul 2014 02:13:58 +0000 (02:13 +0000)]
2014-07-26 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove +
from the read only register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213090
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 27 Jul 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213089
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 26 Jul 2014 17:56:39 +0000 (17:56 +0000)]
Follow up to r213079.
2014-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/61881
PR fortran/61888
PR fortran/57305
* intrinsic.texi (SIZEOF): Document changed behavior
for polymorphic arrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213085
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Sat, 26 Jul 2014 16:33:19 +0000 (16:33 +0000)]
PR c/61077
* gcc.dg/pr61077.c: Use \[^\n\]* instead of .* in the regexp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213084
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 26 Jul 2014 15:11:14 +0000 (15:11 +0000)]
PR target/47230
* configure.ac (alpha*-*-linux*): Use mh-alpha-linux.
* configure: Regenerate.
config/ChangeLog:
PR target/47230
* mh-alpha-linux: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213081
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 26 Jul 2014 10:16:49 +0000 (10:16 +0000)]
Minor tweaks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213080
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 26 Jul 2014 09:49:00 +0000 (09:49 +0000)]
2014-07-26 Tobias Burnus <burnus@net-b.de>
* check.c (gfc_check_sizeof): Permit for assumed type if and
only if it has an array descriptor.
* intrinsic.c (do_ts29113_check): Permit SIZEOF.
(add_functions): SIZEOF is an Inquiry function.
* intrinsic.texi (SIZEOF): Add note that only contiguous
arrays are permitted.
* trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
rank.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
assumed type + array descriptor, CLASS and assumed rank.
(gfc_conv_intrinsic_storage_size): Handle class arrays.
2014-07-26 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/sizeof_2.f90: Change dg-error.
* gfortran.dg/sizeof_4.f90: New.
* gfortran.dg/storage_size_1.f08: Correct expected
value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213079
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 26 Jul 2014 09:48:24 +0000 (09:48 +0000)]
gcc/
* ira-costs.c (find_costs_and_classes): For -O0, use the best class
as the allocation class if it isn't likely to be spilled.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213078
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 26 Jul 2014 09:47:33 +0000 (09:47 +0000)]
gcc/
* rtl.h (tls_referenced_p): Declare.
* rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions.
* config/mips/mips.c (mips_tls_symbol_ref_1): Delete.
(mips_cannot_force_const_mem): Use tls_referenced_p.
* config/pa/pa-protos.h (pa_tls_referenced_p): Delete.
* config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p
instead of pa_tls_referenced_p.
* config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem)
(pa_emit_move_sequence, pa_emit_move_sequence): Likewise.
(pa_legitimate_constant_p): Likewise.
(pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete.
* config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete.
(rs6000_cannot_force_const_mem, rs6000_emit_move)
(rs6000_address_for_altivec): Use tls_referenced_p instead of
rs6000_tls_referenced_p.
(rs6000_tls_symbol_ref_1): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213077
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Sat, 26 Jul 2014 09:00:31 +0000 (09:00 +0000)]
2014-07-26 Marc Glisse <marc.glisse@inria.fr>
PR target/44551
gcc/
* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
Optimize inverse of a VEC_CONCAT.
gcc/testsuite/
* gcc.target/i386/pr44551-1.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213076
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 26 Jul 2014 00:17:02 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213071
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Sat, 26 Jul 2014 00:06:56 +0000 (00:06 +0000)]
Make FDO more tolerant to source changes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213068
138bc75d-0d04-0410-961f-
82ee72b054a4
emsr [Fri, 25 Jul 2014 22:35:24 +0000 (22:35 +0000)]
cp/
2014-07-25 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement N4051 - Allow typename in a template template parameter
* parser.c (cp_parser_type_parameter_key): New funtion;
(cp_parser_token_is_type_parameter_key): Ditto;
(cp_parser_type_parameter): Look for type-parameter-key for all versions
but pedwarn for less than cxx1z.
testsuite/
2014-07-25 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement N4051 - Allow typename in a template template parameter
* lib/target-supports.exp (check_effective_target_c++1y): Now
means C++1y and up.
(check_effective_target_c++1y_down): New.
(check_effective_target_c++1z_only): New.
(check_effective_target_c++1z): New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213065
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Fri, 25 Jul 2014 19:09:56 +0000 (19:09 +0000)]
2014-07-25 Tobias Burnus <burnus@net-b.de>
* simplify.c (gfc_simplify_storage_size): Use proper
integer kind for the returned value.
2014-07-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/storage_size_5.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213060
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 25 Jul 2014 16:58:21 +0000 (16:58 +0000)]
* lto-streamer-out.c (struct sccs): Turn to ...
(class DFS): ... this one; refactor the DFS walk so it can
be re-done on per-SCC basis.
(DFS::DFS): New constructor.
(DFS::~DFS): New destructor.
(hash_tree): Add new MAP argument holding in-SCC hash values;
remove POINTER_TYPE hashing hack.
(scc_entry_compare): Rename to ...
(DFS::scc_entry_compare): ... this one.
(hash_scc): Rename to ...
(DFS::hash_scc): ... this one; pass output_block instead
of streamer_cache; work harder to get unique and stable SCC
hashes.
(DFS_write_tree): Rename to ...
(DFS::DFS_write_tree): ... this one; add SINGLE_P parameter.
(lto_output_tree): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213059
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Fri, 25 Jul 2014 15:02:17 +0000 (15:02 +0000)]
* libgcov-driver.c (set_gcov_dump_complete,
reset_gcov_dump_complete, get_gcov_dump_complete): Remove global
functions polluting user's namespace.
(gcov_exit): Set variable directly.
(gcov_clear): Reset variable directly.
* libgcov-interface.c (get_gcov_dymp_complete,
reset_gov_dump_complete): Remove declarations.
(__gcov_reset, __gcov_dump): Don't call them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213058
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Fri, 25 Jul 2014 13:39:49 +0000 (13:39 +0000)]
Convert lto streamer out hashing to inchash
No substantial changes, although the hash values will be slightly
different.
v2: add_flag moved to inchash. Some minor changes.
gcc/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto-streamer-out.c (hash_tree): Convert to inchash.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213057
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Fri, 25 Jul 2014 13:39:36 +0000 (13:39 +0000)]
Convert the tree.c type hashing over to inchash
v2: Use commutative interface. Be much nearer to the old
code.
gcc/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* tree.c (build_type_attribute_qual_variant): Use inchash.
(type_hash_list): Dito.
(attribute_hash_list): Dito
(iterative_hstate_expr): Dito.
(iterative_hash_expr): Dito.
(build_range_type_1): Dito.
(build_array_type_1): Dito.
(build_function_type): Dito.
(build_method_type_directly): Dito.
(build_offset_type): Dito.
(build_complex_type): Dito.
(make_vector_type): Dito.
* tree.h (iterative_hash_expr): Add compat wrapper.
(iterative_hstate_expr): Add.
gcc/lto/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto.c (hash_canonical_type): Call iterative_hstate_expr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213056
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Fri, 25 Jul 2014 13:39:24 +0000 (13:39 +0000)]
Convert LTO type hashing to the new inchash interface
Should not really change any behavior, it's just a more abstract
interface, but uses the same underlying hash functions.
gcc/lto/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto.c (hash_canonical_type): Convert to inchash.
(iterative_hash_canonical_type): Dito.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213055
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Fri, 25 Jul 2014 13:39:05 +0000 (13:39 +0000)]
Add an abstract incremental hash data type
Some files in gcc, like lto or tree, do large scale incremential hashing.
The current jhash implementation of this could be likely improved
by using an incremential hash that does not do a full rehashing
for every new value added.
This patch adds a new "inchash" class that abstracts the internal
state of the hash. This makes it easier to plug in new hashes
and also cleans up the code a bit.
Right now it is just implemented in the same way as the old
iterative hash in tree.c. The previous iterative hash code
from tree.c moved into a new separate file. Also I fixed up all
users to include the new header.
It should not really significantly change any hashing by itself,
it's mostly a cleanup at this point.
v2: Remove begin. Add commutative interface.
Add merge hash interface. Add add_flag.
gcc/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* Makefile.in (OBJS): Add inchash.o.
(PLUGIN_HEADERS): Add inchash.h.
* ipa-devirt.c: Include inchash.h.
* lto-streamer-out.c: Dito.
* tree-ssa-dom.c: Dito.
* tree-ssa-pre.c: Dito.
* tree-ssa-sccvn.c: Dito.
* tree-ssa-tail-merge.c: Dito.
* asan.c: Dito.
* tree.c (iterative_hash_hashval_t): Move to ...
(iterative_hash_host_wide_int): Move to ...
* inchash.c: Here. New file.
* tree.h (iterative_hash_hashval_t): Move to ...
(iterative_hash_host_wide_int): Move to ...
* inchash.h: Here. New file.
gcc/lto/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto.c: Include inchash.h
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213054
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 25 Jul 2014 09:01:45 +0000 (09:01 +0000)]
* src/alpha/ffi.c: Do not include stdlib.h.
(ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213049
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 25 Jul 2014 07:44:57 +0000 (07:44 +0000)]
2014-07-25 Richard Biener <rguenther@suse.de>
PR middle-end/61762
PR middle-end/61894
* fold-const.c (native_encode_int): Add and handle offset
parameter to do partial encodings of expr.
(native_encode_fixed): Likewise.
(native_encode_real): Likewise.
(native_encode_complex): Likewise.
(native_encode_vector): Likewise.
(native_encode_string): Likewise.
(native_encode_expr): Likewise.
* fold-const.c (native_encode_expr): Add offset parameter
defaulting to -1.
* gimple-fold.c (fold_string_cst_ctor_reference): Remove.
(fold_ctor_reference): Handle all reads from tcc_constant
ctors.
* gcc.dg/pr61762.c: New testcase.
* gcc.dg/fold-cstring.c: Likewise.
* gcc.dg/fold-cvect.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213045
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 25 Jul 2014 07:28:32 +0000 (07:28 +0000)]
2014-07-25 Richard Biener <rguenther@suse.de>
* tree-inline.c (estimate_move_cost): Mark speed_p argument
as possibly unused.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213043
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 25 Jul 2014 06:47:47 +0000 (06:47 +0000)]
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213040
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Fri, 25 Jul 2014 06:23:42 +0000 (06:23 +0000)]
ChangeLog entry moved from config/ChangeLog to gcc/ChangeLog.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213039
138bc75d-0d04-0410-961f-
82ee72b054a4
emsr [Fri, 25 Jul 2014 03:47:46 +0000 (03:47 +0000)]
2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
* include/experimental/string_view: Make the literal operators
constexpr like the ctors they call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213037
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 25 Jul 2014 02:58:06 +0000 (02:58 +0000)]
libitm: Improve aarch64 _ITM_beginTransaction
* config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
addressing mode in epilogue.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213035
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 25 Jul 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213034
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Thu, 24 Jul 2014 18:41:03 +0000 (18:41 +0000)]
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Add __AVR_DEVICE_NAME__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213031
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 24 Jul 2014 18:28:36 +0000 (18:28 +0000)]
AArch64: emit .note.GNU-stack
2014-07-24 Kyle McMartin <kyle@redhat.com>
* config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213028
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 24 Jul 2014 18:15:53 +0000 (18:15 +0000)]
* intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
correct menu position to match sectioning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213027
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 24 Jul 2014 17:58:45 +0000 (17:58 +0000)]
* go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
symtab_get_node to symtab_node::get.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213026
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 24 Jul 2014 17:15:12 +0000 (17:15 +0000)]
gcc/
* config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
Add prototype.
* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
function.
* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
gcc/testsuite/
* gcc.target/powerpc/ppc64-abi-warn-3.c: New test.
* gcc.c-torture/execute/
20050316-1.x: Add -Wno-psabi.
* gcc.c-torture/execute/
20050604-1.x: Add -Wno-psabi.
* gcc.c-torture/execute/
20050316-3.x: New file. Add -Wno-psabi.
* gcc.c-torture/execute/pr23135.x: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213017
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 24 Jul 2014 17:12:45 +0000 (17:12 +0000)]
gcc/
* config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX
and ELFv2 ABI, do not use the "mode == BLKmode" check to test for
aggregate types. Instead, *all* aggregate types, except for single-
element or homogeneous float/vector aggregates, are quadword-aligned
if required by their type alignment. Issue -Wpsabi note when a type
is now treated differently than before.
gcc/testsuite/
* gcc.target/powerpc/ppc64-abi-warn-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213016
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 24 Jul 2014 17:11:02 +0000 (17:11 +0000)]
gcc/
* config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
does not fit fully into floating-point registers, and there is still
space in the register parameter area, use GPRs to pass those parts
of the argument. Issue -Wpsabi note if any parameter is now treated
differently than before.
(rs6000_arg_partial_bytes): Update.
gcc/testsuite/
* gcc.target/powerpc/ppc64-abi-warn-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213015
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Thu, 24 Jul 2014 17:09:10 +0000 (17:09 +0000)]
gcc/testsuite/
* g++.dg/compat/struct-layout-1.exp: Load g++-dg.exp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213014
138bc75d-0d04-0410-961f-
82ee72b054a4