Javier Miranda [Thu, 11 Apr 2013 13:01:09 +0000 (13:01 +0000)]
exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do not add cleanup actions in thunks associated with interface types.
2013-04-11 Javier Miranda <miranda@adacore.com>
* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
not add cleanup actions in thunks associated with interface types.
* exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
the package spec.
* exp_ch4.adb (Tagged_Conversion): Update call to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed.
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
assertion to ensure that interface thunks are never handled by
this routine.
(Expand_N_Simple_Function_Return): Do not rewrite this statement
as an extended return statement in interface thunks, and do not
perform copy in the secondary stack if the return statement is
located in a thunk.
* exp_disp.adb (Expand_Dispatching_Call): No longer displace
the pointer to the returned object in functions returning interface
types.
(Expand_Interface_Thunk): For functions returning interface types
displace the pointer to the returned object.
(Expand_Interface_Conversion): Remove formal
Is_Static since this subprogram can now evaluate it locally.
* sem_ch3.adb (Add_Internal_Interface_Entities): For functions
propagate the type returned by the covered interface primitive to
the internal interface entity. Needed by the thunk to generate
the code which displaces "this" to reference the corresponding
secondary dispatch table.
* sem_disp.adb (Propagate_Tag): Update call to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed.
* sem_res.adb (Resolve_Type_Conversion): Update calls to
Expand_Interface_Conversion since the parameter Is_Static is no
longer needed plus code cleanup.
From-SVN: r197786
Arnaud Charlet [Thu, 11 Apr 2013 12:58:54 +0000 (14:58 +0200)]
[multiple changes]
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
* init.c (RETURN_ADDR_OFFSET): Delete as unused.
2013-04-11 Robert Dewar <dewar@adacore.com>
* a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.
2013-04-11 Yannick Moy <moy@adacore.com>
* exp_ch4.adb (Expand_N_Selected_Component): Do not expand
discriminant check for Unchecked_Union.
* sem_res.adb (Resolve_Selected_Component): Set flag
Do_Discriminant_Check even when expansion is not performed.
* sinfo.ads (Do_Discriminant_Check): Update documentation for the case
of Unchecked_Union.
2013-04-11 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Same_Representation): Two types with different scalar
storage order never have the same representation.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* xgnatugn.adb (Push_Conditional): Simplify handling,
no longer need to keep track of "excluding" sections.
(Currently_Excluding): Removed.
(Process_Source_File):
Set unw/vms flag so that texinfo can do the whole handling of
@ifset/@ifclear sections. Fix handling of nested @ifset/@ifclear
sections.
* gnat_ugn.texi: Add a section on performing unassisted install
on Windows.
From-SVN: r197785
Arnaud Charlet [Thu, 11 Apr 2013 12:53:52 +0000 (14:53 +0200)]
[multiple changes]
2013-04-11 Johannes Kanig <kanig@adacore.com>
* debug.adb: Document usage of -gnatd.Q switch.
2013-04-11 Matthew Heaney <heaney@adacore.com>
* a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks
before element comparisons.
(Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
Ditto.
* a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before
element comparisons.
* a-rbtgso.adb (Difference, Intersection): Adjust locks
before element comparisons.
(Is_Subset, Overlap): Ditto
(Symmetric_Difference, Union): Ditto
* a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks
before element comparisons.
(Set_Subset, Set_Overlap): Ditto
(Set_Symmetric_Difference, Set_Union): Ditto
* a-coorse.adb, a-ciorse.adb, a-cborse.adb
(Update_Element_Preserving_Key): Adjust locks before element
comparisons (Replace_Element): Ditto
2013-04-11 Pascal Obry <obry@adacore.com>
* prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves
attribute.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of
Expand_N_Object_Declaration, used to construct an aggregate
with static components whenever possible, so that objects of a
discriminated type can be initialized without calling the init.
proc for the type.
2013-04-11 Vincent Celier <celier@adacore.com>
* prj-makr.adb (Process_Directory): On VMS, always delete,
then recreate the temporary file with Create_Output_Text_File,
otherwise the output redirection does not work properly.
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
* urealp.ads: Fix minor typo.
2013-04-11 Fabien Chouteau <chouteau@adacore.com>
* cio.c (mktemp): Don't use tmpnam function from the
system on VxWorks in kernel mode.
From-SVN: r197784
Vincent Celier [Thu, 11 Apr 2013 12:49:21 +0000 (12:49 +0000)]
make.adb (Compile): Clarify the error message reported when gnatmake refuses to compile a runtime...
2013-04-11 Vincent Celier <celier@adacore.com>
* make.adb (Compile): Clarify the error message reported
when gnatmake refuses to compile a runtime source.
(Start_Compile_If_Possible): Ditto.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation about -gnatc and gnatmake.
From-SVN: r197783
Vincent Celier [Thu, 11 Apr 2013 12:48:23 +0000 (12:48 +0000)]
switch-c.adb: Document internal switches.
2013-04-11 Vincent Celier <celier@adacore.com>
* switch-c.adb: Document internal switches.
* usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
-gnatez and -gnateO.
From-SVN: r197782
Arnaud Charlet [Thu, 11 Apr 2013 12:46:16 +0000 (14:46 +0200)]
[multiple changes]
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
subprogram stubs.
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
pre/post pragmas at once before analyzing the proper body.
* sem_prag.adb (Chain_PPC): Handle pragma that comes from an
aspect on a subprogram stub.
* aspects.adb: Aspect specifications can appear on a
subprogram_Body_Stub.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnatname.adb: Minor comment fix.
2013-04-11 Vincent Celier <celier@adacore.com>
* prj-makr.adb (Process_Directory): Create a new temporary
file for each invocation of the compiler, in directory pointed
by environment variable TMPDIR if it exists.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Minor editing/clean ups.
From-SVN: r197781
Paolo Carlini [Thu, 11 Apr 2013 12:46:10 +0000 (12:46 +0000)]
re PR c++/56913 ([C++11] SFINAE for ill-formed pointer-to-member operators with incompatible ref-qualifiers)
/cp
2013-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56913
* typeck2.c (build_m_component_ref): Protect error calls with
(complain & tf_error).
/testsuite
2013-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56913
* g++.dg/cpp0x/sfinae44.C: New.
From-SVN: r197780
Ed Schonberg [Thu, 11 Apr 2013 12:43:28 +0000 (12:43 +0000)]
sem_ch6.adb (Analyze_Null_Procedure): New subprogram...
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
extracted from Analyze_Subprogram_Declaration, to handle null
procedure declarations that in ada 2012 can be completions of
previous declarations.
From-SVN: r197779
Arnaud Charlet [Thu, 11 Apr 2013 12:42:28 +0000 (14:42 +0200)]
[multiple changes]
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Entity_Of): Moved to Exp_Util.
* exp_util.ads, exp_util.adb (Entity_Of): New routine.
2013-04-11 Robert Dewar <dewar@adacore.com>
* g-spipat.ads: Minor comment fix.
From-SVN: r197778
Arnaud Charlet [Thu, 11 Apr 2013 12:40:12 +0000 (14:40 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
reformatting.
2013-04-11 Thomas Quinot <quinot@adacore.com>
* exp_util.ads (Fully_Qualified_Name_String): Document that the
constructed literal is the entity name in all upper case.
From-SVN: r197777
Arnaud Charlet [Thu, 11 Apr 2013 12:38:20 +0000 (14:38 +0200)]
[multiple changes]
2013-04-11 Thomas Quinot <quinot@adacore.com>
* sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
check for implementation defined identifiers.
2013-04-11 Yannick Moy <moy@adacore.com>
* checks.adb (Apply_Type_Conversion_Checks): Add an explanation
of why range check and length are put on different nodes.
* exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
when doing their expansion.
From-SVN: r197776
Arnaud Charlet [Thu, 11 Apr 2013 12:36:44 +0000 (14:36 +0200)]
[multiple changes]
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
New function to implement the notion introduced in RM 7.3.1
(5.2/3): in a child unit, a derived type is within the derivation
class of an ancestor declared in a parent unit, even if there
is an intermediate derivation that does not see the full view
of that ancestor.
* sem_res.adb (Valid_Conversion): if all else fails, examine if an
incomplete view of an ancestor makes a numeric conversion legal.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: in
Ada2012 operators can only have in
parameters.
2013-04-11 Vincent Celier <celier@adacore.com>
* makeutl.adb (Create_Binder_Mapping_File): Do not put into
the mapping file ALI files of sources that have been replaced.
2013-04-11 Vincent Celier <celier@adacore.com>
* projects.texi: Add subsection Duplicate Sources in Projects.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* init.c (__gnat_install_handler): Only set up an alternate
stack when installing a signal handler for SIGSEGV.
2013-04-11 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (Connect_Socket, timeout version): Call
underlying connect operation directly, not through the 2-argument
Connect_Socket thick binding, in order to avoid raising a junk
exception for the EINPROGRESS return.
From-SVN: r197775
Arnaud Charlet [Thu, 11 Apr 2013 12:33:22 +0000 (14:33 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* a-cdlili.adb: Minor addition of pragma Warnings (Off).
2013-04-11 Robert Dewar <dewar@adacore.com>
* hostparm.ads: Minor reformatting.
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
tables.
* elists.ads, elists.adb (Contains): New routine.
* par-prag.adb: Pragma Depends does not need any special treatment
by the parser.
* sem_ch13.adb (Analyze_Aspect_Specifications):
Transform aspect Depends into a corresponding pragma.
(Check_Aspect_At_Freeze_Point): Aspect Depends does not need
inspection at its freeze point.
* sem_prag.adb (Analyze_Pragma): Perform analysis and
normalization of pragma Depends. Remove the use of function
Is_Duplicate_Item. Use End_Scope to uninstalle the formal
parameters of a subprogram. Add a value for pragma Depends in
table Sig_Flags.
(Is_Duplicate_Item): Removed.
* snames.ads-tmpl: Add predefined name for Depends as well as
a pragma identifier.
From-SVN: r197774
Arnaud Charlet [Thu, 11 Apr 2013 12:25:16 +0000 (14:25 +0200)]
[multiple changes]
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb: Minor code clean up.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
Ignore enumeration rep clauses by default in CodePeer mode, unless
-gnatd.I is specified.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Safe_To_Capture_Value): If the node belongs to
an expression that has been attached to the else_actions of an
if-expression, the capture is not safe.
2013-04-11 Yannick Moy <moy@adacore.com>
* checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
conversion for arrays.
2013-04-11 Robert Dewar <dewar@adacore.com>
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
2013-04-11 Johannes Kanig <kanig@adacore.com>
* adabkend.adb: Minor comment addition.
From-SVN: r197773
Arnaud Charlet [Thu, 11 Apr 2013 12:21:18 +0000 (12:21 +0000)]
run_all.sh: Remove special handling of -gnat95 switch.
* ada/acats/run_all.sh: Remove special handling of -gnat95 switch.
* ada/acats/ada95.lst: Remove special handling of -gnat95 switch.
From-SVN: r197772
Arnaud Charlet [Thu, 11 Apr 2013 12:13:49 +0000 (14:13 +0200)]
[multiple changes]
2013-04-11 Matthew Heaney <heaney@adacore.com>
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
lock counts before entering loop.
(Find): Ditto.
(Is_Sorted, Merge, Sort): Ditto.
(Reverse_Find): Ditto.
(Splice_Internal): Internal operation to refactor splicing logic.
(Splice): Some logic moved into Splice_Internal.
2013-04-11 Johannes Kanig <kanig@adacore.com>
* adabkend.adb (Scan_Compiler_Arguments): Do not call
Set_Output_Object_File_Name in Alfa_Mode
* gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
* opt.ads: Fix documentation.
From-SVN: r197771
Yvan Roux [Thu, 11 Apr 2013 12:06:04 +0000 (14:06 +0200)]
gcconfig.h (AARCH64): New macro (defined only if __aarch64__).
2013-03-16 Yvan Roux <yvan.roux@linaro.org>
* include/private/gcconfig.h (AARCH64): New macro (defined only if
__aarch64__).
* include/private/gcconfig.h (mach_type_known):
Update comment adding ARM AArch64 target.
* include/private/gcconfig.h (NOSYS, mach_type_known,CPP_WORDSZ,
MACH_TYPE, ALIGNMENT, HBLKSIZE, OS_TYPE, LINUX_STACKBOTTOM,
USE_GENERIC_PUSH_REGS, DYNAMIC_LOADING, DATASTART, DATAEND,
STACKBOTTOM): Define for AArch64.
From-SVN: r197770
Richard Biener [Thu, 11 Apr 2013 11:21:18 +0000 (11:21 +0000)]
re PR tree-optimization/56878 (Issue with candidate choice in vect_gen_niters_for_prolog_loop.)
2013-04-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/56878
* tree-flow.h (outermost_invariant_loop_for_expr): Declare.
* tree-ssa-loop-ivopts.c (outermost_invariant_loop_for_expr):
New function.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Prefer to align the DR with the most invariant base address.
From-SVN: r197769
Robert Dewar [Thu, 11 Apr 2013 10:52:33 +0000 (10:52 +0000)]
sem_res.adb: Minor code reorganization and comment fixes.
2013-04-11 Robert Dewar <dewar@adacore.com>
* sem_res.adb: Minor code reorganization and comment fixes.
* sem_type.adb: Minor reformatting.
From-SVN: r197768
Arnaud Charlet [Thu, 11 Apr 2013 10:49:20 +0000 (12:49 +0200)]
[multiple changes]
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Process_Transient_Object): Add new
local variable Fin_Call. Remove and explain ??? comment. Use the
Actions of logical operators "and then" and "or else" to insert
the generated finalization call.
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
* gnat_rm.texi: Fix typo.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb: Minor reformatting.
From-SVN: r197767
Arnaud Charlet [Thu, 11 Apr 2013 10:45:11 +0000 (12:45 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* atree.h: Add declarations for Flag255-Flag289 Fix declaration
of Field30 (was wrong, but no effect, since not yet referenced by
back end) Add declarations for Field31-Field35 Add declarations
for Node31-Node35.
* einfo.ads, einfo.adb (Has_Invariants): No longer applies to
procedures.
(Has_Predicates): No longer applies to functions.
(Is_Predicate_Function): New flag.
(Is_Predicate_Function_M): New flag.
(Is_Invariant_Procedure): New flag.
(Predicate_Function_M): New function.
(Set_Predicate_Function_M): New procedure.
* exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
case of appearing in predicate used for membership test.
* exp_ch3.adb (Insert_Component_Invariant_Checks): Set
Is_Invariant_Procedure flag.
* exp_ch4.adb (Expand_Op_In): Call special predicate function
that takes care of raise_expression nodes in the predicate.
* exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
membership case.
* sem_ch13.adb (Build_Predicate_Functions): New name for
Build_Predicate_Function. Major rewrite to take care of raise
expression in predicate for membership tests.
* sem_res.adb (Resolve_Actuals): Include both predicate functions
in defense against infinite predicate function loops.
* sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
2013-04-11 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor reformatting.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb: Generate reference for component of anonymous
access type.
From-SVN: r197766
Arnaud Charlet [Thu, 11 Apr 2013 10:41:49 +0000 (12:41 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* stand.ads: Minor reformatting.
2013-04-11 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
counts before entering loop.
(Find, Find_Index): Ditto.
(Is_Sorted, Merge, Sort): Ditto.
(Reverse_Find, Reverse_Find_Index): Ditto.
From-SVN: r197765
Robert Dewar [Thu, 11 Apr 2013 10:39:15 +0000 (10:39 +0000)]
exp_ch11.ads, [...] (Expand_N_Raise_Expression): New procedure.
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
* exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
* expander.adb: Add call to Expand_N_Raise_Expression.
* par-ch11.adb (P_Raise_Expression): New procedure.
* par-ch4.adb (P_Relation): Handle Raise_Expression.
* par.adb (P_Raise_Expression): New procedure.
* sem.adb: Add handling for N_Raise_Expression.
* sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
* sem_res.adb (Resolve): Add handling for N_Raise_Expression.
* sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
* sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
* stand.ads (Any_Type): Document use with N_Raise_Expression.
From-SVN: r197764
Arnaud Charlet [Thu, 11 Apr 2013 10:37:21 +0000 (12:37 +0200)]
[multiple changes]
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove section "The Development Environments"
now that all predefined attributes are documented, including
those in package IDE.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Preserve parent link in copy of expression.
From-SVN: r197763
Arnaud Charlet [Thu, 11 Apr 2013 10:36:09 +0000 (12:36 +0200)]
[multiple changes]
2013-04-11 Vincent Celier <celier@adacore.com>
* projects.texi: Complete rewrite of the subsection Attributes
in section "Project file Reference".
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor reformatting.
From-SVN: r197762
Robert Dewar [Thu, 11 Apr 2013 10:23:56 +0000 (10:23 +0000)]
exp_ch4.adb (Expand_Concatenate): Remove wrapping in expression-with-actions node.
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_Concatenate): Remove wrapping in
expression-with-actions node. No longer needed given fix to
sem_prag and caused loss of some useful warnings.
* sem.ads: Minor reformatting.
* sem_prag.adb (Check_Disabled): Removed, to be replaced by not
Check_Enabled. These two routines were curiously incompatible
causing confusion.
(Analyze_Pragma, case Check): Make sure we do
not expand the string argument if the check is disabled. Avoid
use of Check_Disabled, which resulted in missing analysis in
some cases.
* sem_prag.ads (Check_Disabled): Removed, to be replaced by not
Check_Enabled. These two routines were curiously incompatible
causing confusion.
From-SVN: r197761
Arnaud Charlet [Thu, 11 Apr 2013 10:22:08 +0000 (12:22 +0200)]
[multiple changes]
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Process_Transient_Object): Use
an unchecked conversion when associating a transient controlled
object with its "hook".
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case
Preelaborable_Initialization): The pragma is legal if it comes
from an aspect on the private view of the type, even though its
analysis point takes place later at the freeze point.
From-SVN: r197760
Arnaud Charlet [Thu, 11 Apr 2013 10:20:34 +0000 (12:20 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb: Minor reformatting.
2013-04-11 Yannick Moy <moy@adacore.com>
* ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
read ALI files with No_Object=True in Alfa mode.
* gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
this is during frame condition generation of translation to Why.
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor code reorganization
* types.ads: Minor reformatting.
From-SVN: r197759
Arnaud Charlet [Thu, 11 Apr 2013 10:18:47 +0000 (12:18 +0200)]
[multiple changes]
2013-04-11 Johannes Kanig <kanig@adacore.com>
* opt.ads New global boolean Frame_Condition_Mode to avoid
referring to command line switch.
* gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
is present, and disable Code generation in that case. Disable
ALI file generation when switch is *not* present.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): Perform the
pre-analysis on a copy of the expression, to prevent downstream
visbility issues involving operators and instantiations.
From-SVN: r197758
Johannes Kanig [Thu, 11 Apr 2013 10:17:18 +0000 (10:17 +0000)]
debug.adb: Reservation and documentation for -gnatd.G switch.
2013-04-11 Johannes Kanig <kanig@adacore.com>
* debug.adb: Reservation and documentation for -gnatd.G switch.
* gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
switch, and set ALI file generation accordingly.
From-SVN: r197757
Robert Dewar [Thu, 11 Apr 2013 10:13:47 +0000 (10:13 +0000)]
exp_ch4.adb, [...]: Minor reformatting.
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb, exp_dist.adb: Minor reformatting.
* gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
check names introduced with pragma Check_Name are suppressed by -gnatp.
From-SVN: r197756
Vincent Celier [Thu, 11 Apr 2013 10:11:57 +0000 (10:11 +0000)]
gnat_ugn.texi, [...]: Move chapter "Tools Supporting Project Files" from projects.texi to gnat_ugn.texi.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
Files" from projects.texi to gnat_ugn.texi.
From-SVN: r197755
Arnaud Charlet [Thu, 11 Apr 2013 09:53:54 +0000 (09:53 +0000)]
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r197754
Arnaud Charlet [Thu, 11 Apr 2013 09:51:54 +0000 (11:51 +0200)]
[multiple changes]
2013-04-11 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
mode.
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): Detect the
allocation of an anonymous controlled object where the type of
the context is named. Use the pool and finalization master of
the named access type to allocate the object.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove most mentions of gprbuild.
* projects.texi: Remove all mentions of asociative array
attributes.
From-SVN: r197753
Arnaud Charlet [Thu, 11 Apr 2013 09:49:40 +0000 (11:49 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
opt.ads, sem_ch13.adb: Minor reformatting.
* debug.adb: Minor comment fix (remove junk .I doc).
2013-04-11 Thomas Quinot <quinot@adacore.com>
* rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
PolyORB): Bump to 6.
(Exp_Dist.PolyORB_Support): Replace TC_Build with
Build_Complex_TC.
From-SVN: r197752
Arnaud Charlet [Thu, 11 Apr 2013 09:46:54 +0000 (11:46 +0200)]
[multiple changes]
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
Enable this flag in CodePeer mode, and also via -gnatd.M.
Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Check_Constrained_Object): If a subtype is created
from the renamed object in an object renaming declaration with
an unconstrained nominal subtype, freeze the created subtype at
once, to prevent order of elaboration issues in the backend.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
in particular in CodePeer mode.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation for backup copies of project
files for gnatname.
From-SVN: r197751
Arnaud Charlet [Thu, 11 Apr 2013 09:41:26 +0000 (11:41 +0200)]
[multiple changes]
2013-04-11 Tristan Gingold <gingold@adacore.com>
* gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
pragma list.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnatname.adb (Scan_Args): Recognize new switch --no-backup
(Usage): Add line for --no-backup.
* opt.ads (No_Nackup): New Boolean variable, initialized to False.
* prj-makr.adb (Initialize): Create a backup for an existing
project file if gnatname is not invoked with --no-backup.
From-SVN: r197750
Arnaud Charlet [Thu, 11 Apr 2013 09:40:08 +0000 (11:40 +0200)]
[multiple changes]
2013-04-11 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Minor code improvement: replace various calls to
Make_If_Statement in expansion with Make_Implicit_If_Statement.
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
* ali.adb: Fix minor typo.
From-SVN: r197749
Arnaud Charlet [Thu, 11 Apr 2013 09:39:15 +0000 (11:39 +0200)]
[multiple changes]
2013-04-11 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Find_Enclosing_Context): Add missing case of
N_Procedure_Call_Statement.
2013-04-11 Robert Dewar <dewar@adacore.com>
* debug.adb: Minor comment fix.
From-SVN: r197748
Arnaud Charlet [Thu, 11 Apr 2013 09:38:07 +0000 (11:38 +0200)]
[multiple changes]
2013-04-11 Johannes Kanig <kanig@adacore.com>
* debug.adb: Remove comment for -gnatd.G.
2013-04-11 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
Remove recursive routine, replace with...
(Expand_Record_Equality.Element_To_Compare): New subroutine,
implement iterative search for next element to compare.
Add explanatory comment in the tagged case.
From-SVN: r197747
Ed Schonberg [Thu, 11 Apr 2013 09:35:46 +0000 (09:35 +0000)]
sem_ch5.adb: remove spurious warning from non-empty loop.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: remove spurious warning from non-empty loop.
* sem_ch8.adb (Enclosing_Instance): Make public to other routines
in the package, in order to suppress redundant semantic checks
on subprogram renamings in nested instantiations.
From-SVN: r197746
Arnaud Charlet [Thu, 11 Apr 2013 09:34:38 +0000 (11:34 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* errout.ads: Minor reformatting.
* sem_eval.adb (Why_Not_Static): Now issues continuation messages
(Why_Not_Static): Test for aggregates behind string literals.
* sem_eval.ads (Why_Not_Static): Now issues continuation messages.
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_Concatenation): Wrap expansion in
Expressions_With_Actions.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Base_Types_Match): For an actual type in an
instance, the base type may itself be a subtype, so find true
base type to determine compatibility.
From-SVN: r197745
Arnaud Charlet [Thu, 11 Apr 2013 09:31:53 +0000 (11:31 +0200)]
[multiple changes]
2013-04-11 Robert Dewar <dewar@adacore.com>
* s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
makeutl.adb, sem_ch8.adb: Minor reformatting.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Minor fixes for VMS.
* ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
2013-04-11 Robert Dewar <dewar@adacore.com>
* usage.adb (Usage): Minor edit to -gnatW message
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
others for string literal case. Also add big ??? comment about
this new code, which should be redundant, but is not.
* sem_eval.adb (Eval_Concatenation): Handle non-static case
properly (Eval_String_Literal): Handle non-static literal properly
From-SVN: r197744
Senthil Kumar Selvaraj [Thu, 11 Apr 2013 09:07:44 +0000 (09:07 +0000)]
opts.c (common_handle_option): Fix formatting and add FALLTHRU comment.
* opts.c (common_handle_option): Fix formatting and add FALLTHRU
comment.
From-SVN: r197743
Paolo Carlini [Thu, 11 Apr 2013 09:01:24 +0000 (09:01 +0000)]
re PR c++/54216 (Missing diagnostic for ill-formed anonymous enum declarations)
/cp
2013-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54216
* parser.c (cp_parser_enum_specifier): Check for empty
anonymous enums and anonymous scoped enums.
/testsuite
2013-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54216
* g++.dg/cpp0x/enum26.C: New.
* g++.old-deja/g++.pt/mangle1.C: Adjust.
From-SVN: r197742
James Greenhalgh [Thu, 11 Apr 2013 08:58:34 +0000 (08:58 +0000)]
[PATCH, AARCH64] Fix unrecognizable insn issue with vcond against 0.0f
gcc/
* config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
floating-point vector comparisons against 0.
gcc/testsuite/
* gcc.target/aarch64/vect-fcm.x: Add check for zero forms of
inverse operands.
* gcc.target/aarch64/vect-fcm-eq-d.c: Check that new zero form
loop is vectorized.
* gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-d.c: Check that new zero form
loop is vectorized and that the correct instruction is generated.
* gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
From-SVN: r197741
Jakub Jelinek [Thu, 11 Apr 2013 07:30:20 +0000 (09:30 +0200)]
re PR tree-optimization/56899 (Wrong constant folding)
PR tree-optimization/56899
* fold-const.c (extract_muldiv_1): Apply distributive law
only if TYPE_OVERFLOW_WRAPS (ctype).
* gcc.c-torture/execute/pr56899.c: New test.
From-SVN: r197692
Bin Cheng [Thu, 11 Apr 2013 03:55:14 +0000 (03:55 +0000)]
re PR rtl-optimization/56124 (Redundant reload for loading from memory)
PR target/56124
* ira-costs.c (scan_one_insn): Check whether the source rtx of
loading has side effect.
From-SVN: r197691
GCC Administrator [Thu, 11 Apr 2013 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r197687
Janne Blomqvist [Wed, 10 Apr 2013 21:36:58 +0000 (00:36 +0300)]
Replace enum gfc_try with bool type.
2013-04-11 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.h: Remove enum gfc_try, replace gfc_try with bool type.
* arith.c: Replace gfc_try with bool type.
* array.c: Likewise.
* check.c: Likewise.
* class.c: Likewise.
* cpp.c: Likewise.
* cpp.h: Likewise.
* data.c: Likewise.
* data.h: Likewise.
* decl.c: Likewise.
* error.c: Likewise.
* expr.c: Likewise.
* f95-lang.c: Likewise.
* interface.c: Likewise.
* intrinsic.c: Likewise.
* intrinsic.h: Likewise.
* io.c: Likewise.
* match.c: Likewise.
* match.h: Likewise.
* module.c: Likewise.
* openmp.c: Likewise.
* parse.c: Likewise.
* parse.h: Likewise.
* primary.c: Likewise.
* resolve.c: Likewise.
* scanner.c: Likewise.
* simplify.c: Likewise.
* symbol.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-openmp.c: Likewise.
* trans-stmt.c: Likewise.
* trans-types.c: Likewise.
From-SVN: r197682
Steven Bosscher [Wed, 10 Apr 2013 21:03:44 +0000 (21:03 +0000)]
sparc.c: Include tree-pass.h.
* config/sparc/sparc.c: Include tree-pass.h.
(TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
(sparc_reorg): Rename to sparc_do_work_around_errata. Move to
head of file. Change return type. Split off gate function.
(sparc_gate_work_around_errata): New function.
(pass_work_around_errata): New pass definition.
(insert_pass_work_around_errata) New pass insert definition to
insert pass_work_around_errata just after delayed-branch scheduling.
(sparc_option_override): Insert the pass.
* config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.
From-SVN: r197681
David S. Miller [Wed, 10 Apr 2013 19:54:22 +0000 (19:54 +0000)]
Fix sparc assembler specs for supersparc and hypersparc.
gcc/
* config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
or -mcpu=hypersparc.
From-SVN: r197680
David S. Miller [Wed, 10 Apr 2013 19:41:57 +0000 (19:41 +0000)]
Improve cstore code generation on 64-bit sparc.
One major suboptimal area of the sparc back end is cstore generation
on 64-bit.
Due to the way arguments and return values of functions must be
promoted, the ideal mode for cstore's result would be DImode.
But this hasn't been done because of a fundamental limitation
of the cstore patterns. They require a fixed mode be used for
the boolean result value.
I've decided to work around this by building a target hook which
specifies the type to use for conditional store results, and then I
use a special predicate for operans 0 in the cstore expanders so
that they still match even when we use DImode.
The default version of the target hook just does what it does now,
so no other target should be impacted by this at all.
Regstrapped on 32-bit sparc-linux-gnu and I've run the testsuite
with "-m64" to validate the 64-bit side.
gcc/
* target.def (cstore_mode): New hook.
* target.h: Include insn-codes.h
* targhooks.c: Likewise.
(default_cstore_mode): New function.
* targhooks.h: Declare it.
* doc/tm.texi.in: New hook slot for TARGET_CSTORE_MODE.
* doc/tm.texi: Rebuild.
* expmed.c (emit_cstore): Obtain cstore boolean result mode using
target hook, rather than inspecting the insn_data.
* config/sparc/sparc.c (sparc_cstore_mode): New function.
(TARGET_CSTORE_MODE): Redefine.
(emit_scc_insn): When TARGET_ARCH64, emit new 64-bit boolean
result patterns.
* config/sparc/predicates.md (cstore_result_operand): New special
predicate.
* config/sparc/sparc.md (cstoresi4, cstoredi4, cstore<F:mode>4):
Use it for operand 0.
(*seqsi_special): Rewrite using 'P' mode iterator on operand 0.
(*snesi_special): Likewise.
(*snesi_zero): Likewise.
(*seqsi_zero): Likewise.
(*sltu_insn): Likewise.
(*sgeu_insn): Likewise.
(*seqdi_special): Make operand 0 and comparison operation be of
DImode.
(*snedi_special): Likewise.
(*snedi_special_vis3): Likewise.
(*neg_snesi_zero): Rename to *neg_snesisi_zero.
(*neg_snesi_sign_extend): Rename to *neg_snesidi_zero.
(*snesi_zero_extend): Delete, covered by 'P' mode iterator.
(*neg_seqsi_zero): Rename to *neg_seqsisi_zero.
(*neg_seqsi_sign_extend): Rename to *neg_seqsidi_zero.
(*seqsi_zero_extend): Delete, covered by 'P' mode iterator.
(*sltu_extend_sp64): Likewise.
(*neg_sltu_insn): Rename to *neg_sltusi_insn.
(*neg_sltu_extend_sp64): Rename to *neg_sltudi_insn.
(*sgeu_extend_sp64): Delete, covered by 'P' mode iterator.
(*neg_sgeu_insn): Rename to *neg_sgeusi_insn.
(*neg_sgeu_extend_sp64): Rename to *neg_sgeudi_insn.
gcc/testsuite/
* gcc.target/sparc/setcc-4.c: New test.
* gcc.target/sparc/setcc-5.c: New test.
From-SVN: r197679
Yufeng Zhang [Wed, 10 Apr 2013 17:22:02 +0000 (17:22 +0000)]
aarch64.c (aarch64_print_extension): New function.
* config/aarch64/aarch64.c (aarch64_print_extension): New function.
(aarch64_start_file): Use the new function.
From-SVN: r197677
Senthil Kumar Selvaraj [Wed, 10 Apr 2013 14:47:55 +0000 (14:47 +0000)]
common.opt: Add -gdwarf.
* common.opt: Add -gdwarf.
* opts.c (common_handle_option): Handle it.
* gcc.c (ASM_DEBUG_SPEC): Don't expect "-2" for DWARF.
Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r197675
Richard Biener [Wed, 10 Apr 2013 11:33:31 +0000 (11:33 +0000)]
passes.c (execute_todo): Do not call ggc_collect conditional here.
2013-04-10 Richard Biener <rguenther@suse.de>
* passes.c (execute_todo): Do not call ggc_collect conditional here.
(execute_one_ipa_transform_pass): But unconditionally here.
(execute_one_pass): And here.
(init_optimization_passes): Remove reload pass.
* tree-pass.h (TODO_ggc_collect): Remove.
(pass_reload): Likewise.
* ira.c (do_reload): Merge into ...
(ira): ... this.
(rest_of_handle_reload): Remove.
(pass_reload): Likewise.
* config/i386/i386.c (ix86_option_override): Refer to ira instead
of reload for vzeroupper pass placement.
* <everywhere>: Remove TODO_ggc_collect from todo_flags_start
and todo_flags_finish of all passes.
* g++.dg/pr55604.C: Use -fdump-rtl-ira.
From-SVN: r197671
Richard Biener [Wed, 10 Apr 2013 10:40:33 +0000 (10:40 +0000)]
tree-vectorizer.h (struct _slp_oprnd_info): Remove first_const_oprnd field, rename first_def_type to first_op_type.
2013-04-10 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (struct _slp_oprnd_info): Remove
first_const_oprnd field, rename first_def_type to first_op_type.
* tree-vect-slp.c (vect_create_oprnd_info): Adjust.
(vect_get_and_check_slp_defs): Always use the type of the
operand. Allow mixed vect_external_def, vect_constant_def types.
(vect_get_constant_vectors): Handle mixed vect_external_def,
vect_constant_def types.
* gcc.dg/vect/slp-39.c: New testcase.
From-SVN: r197669
Joern Rennecke [Wed, 10 Apr 2013 09:54:25 +0000 (09:54 +0000)]
re PR tree-optimization/55524 (If fnma exists but not fms, convert_mult_to_fma should prefer to former over the latter.)
gcc:
2013-04-10 Joern Rennecke <joern.rennecke@embecosm.com>
PR tree-optimization/55524
* tree-ssa-math-opts.c
(convert_mult_to_fma): Don't use an fms construct
when we don't have an fms operation, but fnma, and it looks
likely that we'll be able to use the latter.
gcc/testsuite:
2013-04-10 Joern Rennecke <joern.rennecke@embecosm.com>
PR tree-optimization/55524
* gcc.target/epiphany/fnma-1.c: New test.
From-SVN: r197668
Zhouyi Zhou [Wed, 10 Apr 2013 09:22:04 +0000 (09:22 +0000)]
cif-code.def (OVERWRITABLE): Correct the comment for overwritable function.
2013-04-10 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
* cif-code.def (OVERWRITABLE): Correct the comment for overwritable
function.
* ipa-inline.c (can_inline_edge_p): Let dump mechanism report the
inline fail caused by overwritable functions.
* gcc.dg/tree-ssa/inline-11.c: New test
From-SVN: r197667
Chung-Ju Wu [Wed, 10 Apr 2013 09:12:30 +0000 (09:12 +0000)]
combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out unnecessary bits in the constant power of two case.
2013-04-10 Chung-Ju Wu <jasonwucj@gmail.com>
* combine.c (simplify_compare_const): Use GET_MODE_MASK to filter out
unnecessary bits in the constant power of two case.
From-SVN: r197666
Richard Biener [Wed, 10 Apr 2013 08:20:07 +0000 (08:20 +0000)]
tree-vect-slp.c (vect_get_and_check_slp_defs): Remove broken code swapping operands.
2013-04-10 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove
broken code swapping operands.
(vect_build_slp_tree): Do not compute load permutations here.
(vect_analyze_slp_instance): Compute load permutations here,
after building the SLP tree.
From-SVN: r197665
Christian Bruel [Wed, 10 Apr 2013 07:52:00 +0000 (09:52 +0200)]
sh.md (barrier_align): Use next/prev_active_insn instead of next/prev_real_insn.
* config/sh/sh.md (barrier_align): Use next/prev_active_insn instead
of next/prev_real_insn.
From-SVN: r197664
Chung-Ju Wu [Wed, 10 Apr 2013 07:02:32 +0000 (07:02 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2013-04-10 Chung-Ju Wu <jasonwucj@gmail.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r197663
Jakub Jelinek [Wed, 10 Apr 2013 06:33:26 +0000 (08:33 +0200)]
re PR c++/56895 (ICE: unexpected expression of kind arrow_expr)
PR c++/56895
* typeck.c (cp_build_binary_op): Call fold_non_dependent_expr_sfinae
first before calling maybe_constant_value for warn_for_div_by_zero
or invalid shift count warning purposes.
* g++.dg/template/arrow3.C: New test.
From-SVN: r197660
GCC Administrator [Wed, 10 Apr 2013 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197658
Jan Hubicka [Tue, 9 Apr 2013 22:45:38 +0000 (00:45 +0200)]
ipa.c (cgraph_externally_visible_p, [...]): Drop aliased parameter.
* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p): Drop
aliased parameter.
(function_and_variable_visibility): Do not handle alias pairs.
* cgraph.c (varpool_externally_visible_p): Update prototype.
* varpool.c (varpool_add_new_variable): Update.
From-SVN: r197652
Tom Tromey [Tue, 9 Apr 2013 20:55:17 +0000 (20:55 +0000)]
configure, [...]: Rebuild.
* configure, config.h.in: Rebuild.
* configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
sys/sdt.h.
* acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
From-SVN: r197649
Uros Bizjak [Tue, 9 Apr 2013 20:38:21 +0000 (22:38 +0200)]
baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r197647
Jason Merrill [Tue, 9 Apr 2013 18:11:38 +0000 (14:11 -0400)]
re PR c++/25466 (typeid expression fails to throw bad_typeid according to 5.2.8p2)
PR c++/25466
* rtti.c (build_typeid): Check the address of the argument
rather than looking for an INDIRECT_REF.
From-SVN: r197644
Kyrylo Tkachov [Tue, 9 Apr 2013 16:08:47 +0000 (16:08 +0000)]
arm.md (minmax_arithsi_non_canon): New pattern.
2013-04-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (minmax_arithsi_non_canon): New pattern.
* gcc.target/arm/minmax_minus.c: New test.
From-SVN: r197642
Steven Bosscher [Tue, 9 Apr 2013 15:02:41 +0000 (15:02 +0000)]
sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.
* sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.
From-SVN: r197640
Steven Bosscher [Tue, 9 Apr 2013 15:01:45 +0000 (15:01 +0000)]
sparc.md: Use define_c_enum for "unspec" and "unspecv".
* config/sparc/sparc.md: Use define_c_enum for "unspec" and "unspecv".
From-SVN: r197639
Marek Polacek [Tue, 9 Apr 2013 14:56:59 +0000 (14:56 +0000)]
re PR tree-optimization/48762 (valgrind: Invalid read/write of size 8 in cse_main with -O --param max-cse-path-length=0 on basic code)
PR tree-optimization/48762
* params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
value to 1.
From-SVN: r197637
Richard Biener [Tue, 9 Apr 2013 14:12:34 +0000 (14:12 +0000)]
tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code dealing with cost.
2013-04-09 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code
dealing with cost.
(vect_build_slp_tree): Likewise.
(vect_analyze_slp_cost_1, vect_analyze_slp_cost): New functions
calculating the cost of a SLP instance.
(vect_analyze_slp_instance): Use it from here, after building
the SLP tree.
From-SVN: r197635
Jakub Jelinek [Tue, 9 Apr 2013 13:25:58 +0000 (15:25 +0200)]
re PR middle-end/56883 (error openmp parallel for order)
PR middle-end/56883
* omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_for_static_chunk): Use simple_p = true in
force_gimple_operand_gsi calls when assigning to addressable decls.
* c-c++-common/gomp/pr56883.c: New test.
From-SVN: r197633
Jeff Law [Tue, 9 Apr 2013 13:05:08 +0000 (07:05 -0600)]
tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean when the boolean was created by converting a wider...
* tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean
when the boolean was created by converting a wider object which
had a boolean range.
* gcc.dg/tree-ssa/vrp87.c: New test
From-SVN: r197631
Andi Kleen [Tue, 9 Apr 2013 12:41:09 +0000 (12:41 +0000)]
Add missing ChangeLog entry
From-SVN: r197630
Richard Biener [Tue, 9 Apr 2013 12:39:22 +0000 (12:39 +0000)]
tree-vectorizer.h (slp_void_p): Remove.
2013-04-09 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (slp_void_p): Remove.
(slp_tree): Typedef before _slp_tree declaration.
(struct _slp_tree): Use a vector of slp_tree as children.
(vect_get_place_in_interleaving_chain): Remove.
* tree-vect-data-refs.c (vect_get_place_in_interleaving_chain):
Move ...
* tree-vect-slp.c (vect_get_place_in_interleaving_chain): ... here
and make static.
(vect_free_slp_tree, vect_print_slp_tree, vect_mark_slp_stmts,
vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
vect_schedule_slp_instance, vect_remove_slp_scalar_calls):
Use slp_node instead of slp_void_p and adjust.
From-SVN: r197629
Richard Biener [Tue, 9 Apr 2013 10:48:59 +0000 (10:48 +0000)]
expr.c (build_java_binop): Pass a type to build_int_cst.
2013-04-09 Richard Biener <rguenther@suse.de>
java/
* expr.c (build_java_binop): Pass a type to build_int_cst.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid
work that is not necessary.
From-SVN: r197626
Jakub Jelinek [Tue, 9 Apr 2013 10:04:24 +0000 (12:04 +0200)]
re PR tree-optimization/56854 (error: non-decl/MEM_REF LHS in clobber statement)
PR tree-optimization/56854
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't
forward into clobber stmts if it would change MEM_REF lhs into
non-MEM_REF.
* g++.dg/torture/pr56854.C: New test.
From-SVN: r197625
Tobias Burnus [Tue, 9 Apr 2013 10:02:35 +0000 (12:02 +0200)]
gfortran.texi (KIND Type Parameters, [...]): Add crossrefs.
2013-04-09 Tobias Burnus <burnus@net-b.de>
* gfortran.texi (KIND Type Parameters,
Internal representation of LOGICAL variables): Add crossrefs.
(Intrinsic Types): Mention issues with _Bool interop.
(Naming and argument-passing conventions): New section.
From-SVN: r197624
Maxim Kuvyrkov [Tue, 9 Apr 2013 09:47:33 +0000 (09:47 +0000)]
tree.c (type_hash_lookup, [...]): Make static.
* tree.c (type_hash_lookup, type_hash_add): Make static.
* tree.h (type_hash_lookup, type_hash_add): Remove global declarations.
From-SVN: r197623
Richard Biener [Tue, 9 Apr 2013 08:26:45 +0000 (08:26 +0000)]
tree.h (unsave_expr_now): Remove.
2013-04-09 Richard Biener <rguenther@suse.de>
* tree.h (unsave_expr_now): Remove.
* tree-inline.c (mark_local_for_remap_r): Remove.
(unsave_expr_1): Likewise.
(unsave_r): Likewise.
(unsave_expr_now): Likewise.
* tree-ssa-copy.c (replace_exp_1): Use unshare_expr.
(propagate_tree_value): Likewise.
From-SVN: r197620
Jakub Jelinek [Tue, 9 Apr 2013 07:29:32 +0000 (09:29 +0200)]
Fix non-ASCII characters in names.
From-SVN: r197618
GCC Administrator [Tue, 9 Apr 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r197617
Jason Merrill [Mon, 8 Apr 2013 21:16:09 +0000 (17:16 -0400)]
re PR c++/56838 (GCC svn doesn't compile libreoffice 4.0.1.2)
PR c++/56838
PR c++/17232
* typeck2.c (abstract_virtuals_error_sfinae): Disable
complete_type again.
From-SVN: r197613
Steven Bosscher [Mon, 8 Apr 2013 19:59:57 +0000 (19:59 +0000)]
rtl.texi (sequence): Rewrite documentation to match the current use of SEQUENCE rtl objects.
* doc/rtl.texi (sequence): Rewrite documentation to match the
current use of SEQUENCE rtl objects.
* rtl.def (SEQUENCE): Likewise.
* doc/rtl.texi (NOTE_INSN_EH_REGION_BEG, NOTE_INSN_EH_REGION_END):
Update documentation.
(NOTE_INSN_LOOP_BEG, NOTE_INSN_LOOP_END, NOTE_INSN_LOOP_CONT,
NOTE_INSN_LOOP_VTOP): Remove documentation for non-existing notes.
* reg-notes.def (REG_EH_CONTEXT): Remove unused note.
From-SVN: r197611
Thomas Koenig [Mon, 8 Apr 2013 19:36:43 +0000 (19:36 +0000)]
re PR fortran/56872 (Incorrect SUM evaluation, involving implied-do loop, with -ffrontend-optimize)
2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56782
* frontend-passes.c (callback_reduction): Dont't do
any simplification if there is only a single element
which has an iterator.
2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/56782
* gfortran.dg/array_constructor_44.f90: New test.
From-SVN: r197610
Paolo Carlini [Mon, 8 Apr 2013 18:09:35 +0000 (18:09 +0000)]
re PR c++/56871 ([c++11] Specialization of constexpr Templated Function)
/cp
2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56871
* decl.c (validate_constexpr_redeclaration): Allow an explicit
specialization to be different wrt the constexpr specifier.
/testsuite
2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56871
* g++.dg/cpp0x/constexpr-specialization.C: New.
From-SVN: r197597
Teresa Johnson [Mon, 8 Apr 2013 17:39:10 +0000 (17:39 +0000)]
First phase of unifying the computation of profile scale factors/probabilities and the actual scaling to use rounding divides...
First phase of unifying the computation of profile scale factors/probabilities
and the actual scaling to use rounding divides:
- Add new macro GCOV_COMPUTE_SCALE to basic-block.h to compute the scale
factor/probability via a rounding divide.
- Change all locations that already perform rounding divides (inline or via RDIV)
to use the appropriate helper: GCOV_COMPUTE_SCALE, apply_probability or
combine_probabilities.
- Change ipa-cp.c truncating divides to use rounding divides.
- Add comments to all other locations (currently using truncating divides) to
switch them to one of the helpers so they use a rounding divide.
Next phase will be to replace the locations using truncating divides, marked
with a comment here, into rounding divides via the helper methods.
2013-04-08 Teresa Johnson <tejohnson@google.com>
* basic-block.h (GCOV_COMPUTE_SCALE): Define.
* ipa-inline-analysis.c (param_change_prob): Use helper rounding divide
methods.
(estimate_edge_size_and_time): Add comment to suggest using rounding
methods.
(estimate_node_size_and_time): Ditto.
(remap_edge_change_prob): Use helper rounding divide methods.
* value-prof.c (gimple_divmod_fixed_value_transform): Ditto.
(gimple_mod_pow2_value_transform): Ditto.
(gimple_mod_subtract_transform): Ditto.
(gimple_ic_transform): Ditto.
(gimple_stringops_transform): Ditto.
* stmt.c (conditional_probability): Ditto.
(emit_case_dispatch_table): Ditto.
* lto-cgraph.c (merge_profile_summaries): Ditto.
* tree-optimize.c (execute_fixup_cfg): Ditto.
* cfgcleanup.c (try_forward_edges): Ditto.
* cfgloopmanip.c (scale_loop_profile): Ditto.
(loopify): Ditto.
(duplicate_loop_to_header_edge): Ditto.
(lv_adjust_loop_entry_edge): Ditto.
* tree-vect-loop.c (vect_transform_loop): Ditto.
* profile.c (compute_branch_probabilities): Ditto.
* cfgbuild.c (compute_outgoing_frequencies): Ditto.
* lto-streamer-in.c (input_cfg): Ditto.
* gimple-streamer-in.c (input_bb): Ditto.
* ipa-cp.c (update_profiling_info): Ditto.
(update_specialized_profile): Ditto.
* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Ditto.
* cfg.c (update_bb_profile_for_threading): Add comment to suggest using
rounding methods.
* sched-rgn.c (compute_dom_prob_ps): Ditto.
(compute_trg_info): Ditto.
* cfgrtl.c (force_nonfallthru_and_redirect): Ditto.
(purge_dead_edges): Ditto.
* loop-unswitch.c (unswitch_loop): Ditto.
* cgraphclones.c (cgraph_clone_edge): Ditto.
(cgraph_clone_node): Ditto.
* tree-inline.c (copy_bb): Ditto.
(copy_edges_for_bb): Ditto.
(initialize_cfun): Ditto.
(copy_cfg_body): Ditto.
(expand_call_inline): Ditto.
From-SVN: r197595
Paolo Carlini [Mon, 8 Apr 2013 16:47:02 +0000 (16:47 +0000)]
cxx11.cc: Include <memory>.
2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
From-SVN: r197594
Kai Tietz [Mon, 8 Apr 2013 16:11:21 +0000 (18:11 +0200)]
cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced TARGET_CYGWIN64 by TARGET_64BIT.
* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced
TARGET_CYGWIN64 by TARGET_64BIT.
From-SVN: r197593
Joern Rennecke [Mon, 8 Apr 2013 16:03:05 +0000 (16:03 +0000)]
epiphany.md (<insn_opname>v2si3): Use gen_addsi3_i / gen_subsi3_i.
* config/epiphany/epiphany.md (<insn_opname>v2si3):
Use gen_addsi3_i / gen_subsi3_i.
From-SVN: r197592
Joern Rennecke [Mon, 8 Apr 2013 16:00:26 +0000 (17:00 +0100)]
ChangeLog typo fix.
From-SVN: r197591
Joern Rennecke [Mon, 8 Apr 2013 15:59:41 +0000 (15:59 +0000)]
epiphany.md (mov_f+2): New peephole2 pattern.
* config/epiphany/epiphany.md (mov_f+2): New peephole2 pattern.
(cstoresi4): Also allow re-use of zero result when doing a NE
comparison to a non-zero operand.
Use (clobber (sratch)) for first insn if the gpr output is not needed.
From-SVN: r197590
Joern Rennecke [Mon, 8 Apr 2013 15:57:20 +0000 (15:57 +0000)]
epiphany.md (logical_op): New code iterator.
* config/epiphany/epiphany.md (logical_op): New code iterator.
(op_mnc): New code attribute.
(<op_mnc>_f, mov_f, cstoresi4): New patterns.
(mov_f+1, mov_f+2): New peephole2 patterns.
From-SVN: r197589
Joern Rennecke [Mon, 8 Apr 2013 15:52:44 +0000 (15:52 +0000)]
constraints.md (CnL): New constraint.
* config/epiphany/constraints.md (CnL): New constraint.
* config/epiphany/epiphany.md (addsi3_i): Add r/r/CnL alternative.
* config/epiphany/predicates.md (add_operand): Allow 1024.
From-SVN: r197588
Joern Rennecke [Mon, 8 Apr 2013 15:46:24 +0000 (15:46 +0000)]
epiphany.c (epiphany_select_cc_mode): Don't use CC_FPmode for ORDERED / UNORDERED.
* config/epiphany/epiphany.c (epiphany_select_cc_mode):
Don't use CC_FPmode for ORDERED / UNORDERED.
* config/epiphany/epiphany.md (cmpsf_ord): Make pattern
unconditional.
From-SVN: r197587
Joern Rennecke [Mon, 8 Apr 2013 15:42:10 +0000 (15:42 +0000)]
epiphany.md (GPR_1): New constant.
* config/epiphany/epiphany.md (GPR_1): New constant.
(define_expand "mov<mode>cc): FAIL if gen_compare_reg returned 0.
* config/epiphany/epiphany.c (gen_compare_reg):
For flag_finite_math_only, avoid swapping operands when r0 and/or r1
is already in place.
Use GPR_0 / GPR_1 instead of 0/1 for r0/r1 register numbers.
Don't require being called during rtl expansion; If y operlaps r0,
return 0.
(epiphany_compute_frame_size, epiphany_expand_prologue): Use GPR_1.
(epiphany_expand_epilogue): Likewise.
From-SVN: r197586
Jakub Jelinek [Mon, 8 Apr 2013 13:46:48 +0000 (15:46 +0200)]
* gcc.c-torture/execute/pr56837.c: New test.
From-SVN: r197582