]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 12:53:35 +0000 (12:53 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* sem_res.adb (Resolve_Entry_Call): reset
Is_Overloaded flag after resolving calls to overloaded protected
operations.
* exp_spark.adb (Expand_SPARK): call
Qualify_Entity_Names for tasking nodes, i.e. protected types,
task types and entries.
* exp_ch4.adb (Expand_N_If_Expression): Refine previous change
in case of an unconstrained type.

2016-04-18  Yannick Moy  <moy@adacore.com>

* sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
comment to document usage of subprogram in GNATprove.

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

9 years ago2016-04-18 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 18 Apr 2016 12:48:42 +0000 (12:48 +0000)] 
2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
message for wrong placement of aspect Test_Case.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* einfo.ads: Update the documentation of attribute Renamed_Object.
* exp_spark.adb (Expand_Potential_Renaming): Reimplemented.

2016-04-18  Gary Dismukes  <dismukes@adacore.com>

* exp_ch4.adb (Optimize_Length_Comparison): Return immediately
in the case of AAMP (same as for use of the -gnatd.P switch) to
suppress this optimization, which avoids creating a dependence
on the 64-bit arithmetic package.

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

9 years agoMinor editing.
charlet [Mon, 18 Apr 2016 12:47:22 +0000 (12:47 +0000)] 
Minor editing.

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

9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 12:47:02 +0000 (12:47 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* exp_ch4.adb: Update comment.

2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch6.adb (Expand_Call): Make sure instantiations are
registered only once as pending here.

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

9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 12:44:01 +0000 (12:44 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
(Minimize_Expression_With_Actions): New flag.
(Adjust_Global_Switches): Set Minimize_Expression_With_Actions
when generating C.
(Resolve_Short_Circuit): Redo previous change
using Minimize_Expression_With_Actions.
(Expand_N_If_Expression,
Expand_Short_Circuit_Operator): Restore old code to avoid
Expression_With_Actions when Minimize_Expression_With_Actions
is set.

2016-04-18  Vincent Celier  <celier@adacore.com>

* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
Stderr_File): Close local file descriptors when no longer needed.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
mode check that the type of the cursor in an iteration over
a formal container is not volatile. The proper check on the
element type is done elsewhere.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Process_Formals): Do not set a delay freeze on
a subprogram that returns a class-wide type, if the subprogram
is a compilation unit, because otherwise gigi will treat the
subprogram as external, leading to link errors.

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

9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 12:41:08 +0000 (12:41 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* sem_res.adb (Resolve_Short_Circuit): Do not use
expression-with-actions when generating C.

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

9 years ago2016-04-18 Yannick Moy <moy@adacore.com>
charlet [Mon, 18 Apr 2016 12:39:36 +0000 (12:39 +0000)] 
2016-04-18  Yannick Moy  <moy@adacore.com>

* sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
raise node in GNATprove mode.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* s-fileio.adb: Minor reformatting.
* sem_prag.adb (Analyze_Input_Item): Add local
variable Input_OK. Do not consider mappings of generic formal
parameters to actuals.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
type, the cursor is declared in the scope of the parent type.
(Analyze_Parameter_Specification): A qualified expression with an
iterator type indicates an iteration over a container (explicit
or implicit).

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

9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 12:33:46 +0000 (12:33 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
* gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
* debug.adb: Reserve -gnatd.4 to force generation of C files.

2016-04-18  Yannick Moy  <moy@adacore.com>

* sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
division by zero, instead possibly issue a warning.
* sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
static division by zero, instead add check flag on original
expression.
* sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
Only issue error when both SPARK_Mode is On and Warn is False.

2016-04-18  Yannick Moy  <moy@adacore.com>

* checks.adb (Apply_Scalar_Range_Check): Force
warning instead of error when SPARK_Mode is On, on index out of
bounds, and set check flag for GNATprove.

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

9 years ago2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 18 Apr 2016 12:30:55 +0000 (12:30 +0000)] 
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
Update the comment on usage.  Reimplemented.
(Check_Input_States.Check_Constituent_Usage): Update the comment
on usage. A Proof_In constituent can now refine an Input state
as long as there is at least one Input constituent present.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
body id as the sloc of the entity in the generated subprogram
declaration, to avoid spurious conformance errors when style
checks are enabled.

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

9 years ago2016-04-18 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 18 Apr 2016 12:29:53 +0000 (12:29 +0000)] 
2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
Refine check on illegal calls to entities within a task body,
when the entity is declared in an object of the same type. In
a generic context there might be no explicit dereference but if
the prefix includes an access type the construct is legal.

2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
RE_Default_Priority.

2016-04-18  Bob Duff  <duff@adacore.com>

* sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
if the pragma came from an aspect specification.

2016-04-18  Gary Dismukes  <dismukes@adacore.com>

* gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
superfluous conformance check on an inlined body with a previous
spec, use the fact that the generated declaration does not come
from source. We must treat the entity as coming from source to
enable some back-end inlining when pragma appears after the body.

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

9 years ago2016-04-18 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 18 Apr 2016 12:27:10 +0000 (12:27 +0000)] 
2016-04-18  Gary Dismukes  <dismukes@adacore.com>

* lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
exp_intr.adb: Minor reformatting and typo corrections.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: Code cleanup.

2016-04-18  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb: Minor reformatting and error message tweaking
(remove extraneous spaces).

2016-04-18  Johannes Kanig  <kanig@adacore.com>

* gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.

2016-04-18  Bob Duff  <duff@adacore.com>

* s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
exists, and it's a fifo, we use "w" as the open string instead of
"r+". This is necessary to make a write to the fifo block until
a reader is ready.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_attr.adb (Denote_Same_Function): Account
for a special case where a primitive of a tagged type inherits
a class-wide postcondition from a parent type.

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

9 years ago2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 18 Apr 2016 12:18:16 +0000 (12:18 +0000)] 
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
(P_Pragma): Signal Scan_Pragma_Argument_Association when the use
of reserved words is OK.
(Scan_Pragma_Argument_Association):
Add new formal Reserved_Words_OK and update the comment on
usage. Code cleanup. Parse an expression or a reserved word in
identifier form for pragmas Restriction_Warnings and Restrictions
No_Use_Of_Attribute.
* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
Reimplemented. (Check_Restriction_No_Use_Of_Pragma): Code cleanup.
(Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
flag for an aspect.
(Set_Restriction_No_Use_Of_Attribute): Properly set the warning
flag for an attribute. (Set_Restriction_No_Use_Of_Entity):
Update the parameter profile.
(Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
a pragma.
* restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
the comment on usage.
(Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
* sem_attr.adb (Analyze_Attribute): Check restriction
No_Use_Of_Attribute.
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
restriction No_Use_Of_Attribute before any rewritings have
taken place.
* sem_prag.adb (Analyze_Pragma): Check restriction
No_Use_Of_Pragma before any rewritings have taken place.

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

9 years ago PR target/70711
mwahab [Mon, 18 Apr 2016 12:11:03 +0000 (12:11 +0000)] 
PR target/70711
* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
armv8.1-a and armv8.1-a+crc.

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

9 years ago2016-04-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Apr 2016 11:39:04 +0000 (11:39 +0000)] 
2016-04-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70701
* tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
references after translating through a memcpy.

* gcc.dg/tree-ssa/ssa-fre-53.c: New testcase.

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

9 years ago2016-04-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Apr 2016 11:38:05 +0000 (11:38 +0000)] 
2016-04-18  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (postorder, postorder_num): Make locals ...
(compute_antic): ... here.  For partial antic use regular
postorder and scrap iteration.
(compute_partial_antic_aux): Remove unused return value.
(init_pre): Do not allocate postorder.
(fini_pre): Do not free postorder.

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

9 years ago2016-04-18 Bob Duff <duff@adacore.com>
charlet [Mon, 18 Apr 2016 10:53:32 +0000 (10:53 +0000)] 
2016-04-18  Bob Duff  <duff@adacore.com>

* sem_ch6.adb (Is_Inline_Pragma): The pragma
argument can be a selected component, which has no Chars field,
so we need to deal with that case (use the Selector_Name).
(Check_Inline_Pragma): We need to test Is_List_Member before
calling In_Same_List, because in case of a library unit, they're
not in lists, so In_Same_List fails an assertion.

2016-04-18  Bob Duff  <duff@adacore.com>

* namet.ads, namet.adb: Add an Append that appends a
Bounded_String onto a Bounded_String. Probably a little more
efficient than "Append(X, +Y);". Also minor cleanup.
(Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
Append_Unqualified_Decoded): Make sure these work with non-empty
buffers.
* casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
parameter, defaulting to Global_Name_Buffer.
* errout.ads, errout.adb (Adjust_Name_Case): Pass a
Bounded_String parameter, no default.
* exp_ch11.adb (Expand_N_Raise_Statement): Use local
Bounded_String instead of Global_Name_Buffer.
* exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
to Append_Entity_Name, and pass a Bounded_String parameter,
instead of using globals.
(Add_Source_Info): Pass a Bounded_String parameter, instead of
using globals.
(Expand_Source_Info): Use local instead of globals.
* stringt.ads, stringt.adb (Append): Add an Append procedure
for appending a String_Id onto a Bounded_String.
(String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
terms of Append.
* sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
Adjust_Name_Case parameter.
* erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
Set_Casing; that's the default.
* lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
protected subprograms are entry calls; otherwise it is not possible to
distinguish them from regular subprogram calls.

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

9 years ago2016-04-18 Gary Dismukes <dismukes@adacore.com>
charlet [Mon, 18 Apr 2016 10:52:05 +0000 (10:52 +0000)] 
2016-04-18  Gary Dismukes  <dismukes@adacore.com>

* sem_ch13.adb (Has_Good_Profile): Improvement
of error message. Now indicates subtype_mark of formal parameter
rather than the formal's name, plus minor rewording.

2016-04-18  Pascal Obry  <obry@adacore.com>

* adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.

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

9 years ago2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 18 Apr 2016 10:50:37 +0000 (10:50 +0000)] 
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* stringt.adb, exp_ch6.adb, sem_ch13.adb: Minor reformatting.

2016-04-18  Gary Dismukes  <dismukes@adacore.com>

* par-ch4.adb, sem_prag.adb: Minor reformatting.

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

9 years ago2016-04-18 Bob Duff <duff@adacore.com>
charlet [Mon, 18 Apr 2016 10:48:33 +0000 (10:48 +0000)] 
2016-04-18  Bob Duff  <duff@adacore.com>

* sinput.ads, sinput.adb (Build_Location_String): Take a
parameter instead of using a global variable.  The function
version no longer destroys the Name_Buffer.
* stringt.ads, stringt.adb (String_From_Name_Buffer): Take a
parameter, which defaults to the Global_Name_Buffer, so some
calls can avoid the global.
* exp_ch11.adb, exp_intr.adb: Use new interfaces above
to avoid using globals. All but one call to Build_Location_String
avoids the global. Only one call to String_From_Name_Buffer
avoids it.

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

9 years agoMinor code cleanups.
charlet [Mon, 18 Apr 2016 10:47:29 +0000 (10:47 +0000)] 
Minor code cleanups.

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

9 years ago2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 18 Apr 2016 10:46:40 +0000 (10:46 +0000)] 
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* namet.adb, namet.ads, exp_unst.adb: Minor reformatting.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_eval.adb (Choice_Matches): Check the expression
against the predicate values when the choice denotes a
subtype with a static predicate.
(Eval_Membership_Op): Code cleanup. Remove the suspicious guard which
tests for predicates.
(Is_OK_Static_Subtype): A subtype with a dynamic predicate
is not static. (Is_Static_Subtype): A subtype with a dynamic
predicate is not static.
* sem_eval.ads (Is_OK_Static_Subtype): Update the comment on usage.
(Is_Static_Subtype): Update the comment on usage.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Input_Item): Allow
generic formals to appear as initialization items.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Stream_TSS_Definition,
Has_Good_Profile): Additional error message to indicate that
the second parameter of the subprogram must be a first subtype.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper, Is_Inline_Pragma):
Use the pragma lookahead that determines whether a subprogram
is to be inlined, when some level of backend optimization is
required.
* sem_ch12.ads, sem_ch12.adb (Add_Pending_Instantiation): Factorize
code used to create an instance body when needed for inlining.
* exp_ch6.adb (Expand_Call): When a call is to be inlined, and the
call appears within an instantiation that is not a compilation
unit, add a pending instantiation for the enclosing instance,
so the backend can inline in turn the calls contained in the
inlined body.

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

9 years ago2016-04-18 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 18 Apr 2016 10:44:09 +0000 (10:44 +0000)] 
2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Build_Pragma_Check_Equivalent): The mapping
that relates operations of the parent type to the operations of
the derived type has three distinct sources:
a) explicit operations of the derived type carry an
Overridden_Operation that designates the operation in the
ancestor.
b) Implicit operations that are inherited by the derived type
carry an alias that may be an explicit subprogram (in which case
it may have an Overridden_ Operation indicator) or may also be
inherited and carry its own alias.
c) If the parent type is an interface, the operation of the
derived type does not override, but the interface operation
indicates the operation that implements it.
* sem_prag.adb: Minor reformatting.
* sem_prag.adb (Check_External_Property): Update
the comment on usage. Reimplement.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Assignment_Statement): In restricted
profiles such as ZFP, ceiling priority is not available.

2016-04-18  Bob Duff  <duff@adacore.com>

* namet-sp.ads: Minor typo fix, ironically in 'Spelling_Checker'.

2016-04-18  Bob Duff  <duff@adacore.com>

* sem_elab.adb (Output_Calls): Use
Get_Name_String, to clearly indicate that the global Name_Buffer
is being used. The previous code used Is_Internal_Name, which
returns a Boolean, but also has a side effect of setting the
Name_Buffer. Then it called the other Is_Internal_Name, which uses
the Name_Buffer for its input. And then it called Error_Msg_N,
again using the Name_Buffer. We haven't eliminated the global
usage here, but we've made it a bit clearer.
This also allows us to have a side-effect-free version of
Is_Internal_Name.
* namet.ads, namet.adb: Provide a type Bounded_String, along with
routines that can be used without using global variables. Provide
Global_Name_Buffer so existing code can continue to use the
global. Mark the routines that use globals as obsolete.  New code
shouldn't call the obsolete ones, and we should clean up existing
code from time to time.
Name_Find_Str is renamed as Name_Find.
* namet.h: Changed as necessary to interface to the new version
of Namet.
* bindgen.adb, exp_unst.adb: Name_Find_Str is renamed as
Name_Find.

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

9 years ago2016-04-18 Yannick Moy <moy@adacore.com>
charlet [Mon, 18 Apr 2016 10:41:18 +0000 (10:41 +0000)] 
2016-04-18  Yannick Moy  <moy@adacore.com>

* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization): used
outside of GNATprove, hence it should not be removed.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Refinement_Clause):
The refinement of an external abstract state can now mention
non-external constituents.
(Check_External_Property): Update all SPARK RM references.

2016-04-18  Bob Duff  <duff@adacore.com>

* exp_intr.adb: Remove some duplicated code.

2016-04-18  Yannick Moy  <moy@adacore.com>

* a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads: Mark
package spec and body out of SPARK.

2016-04-18  Johannes Kanig  <kanig@adacore.com>

* spark_xrefs.ads: Minor comment update.

2016-04-18  Johannes Kanig  <kanig@adacore.com>

* gnat1drv.adb (Gnat1drv): Force loading of System
unit for SPARK.

2016-04-18  Bob Duff  <duff@adacore.com>

* a-cuprqu.adb: Correction to previous change. If a new node
is inserted at the front of the queue (because it is higher
priority than the previous front node), we need to update
Header.Next_Unequal -- not just in the case where the queue was
previously empty.

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

9 years ago2016-04-18 Bob Duff <duff@adacore.com>
charlet [Mon, 18 Apr 2016 10:37:47 +0000 (10:37 +0000)] 
2016-04-18  Bob Duff  <duff@adacore.com>

* a-cuprqu.ads: Change the representation of List_Type from a
singly-linked list to a doubly-linked list. In addition, add a
pointer Next_Unequal, which points past a possibly-long chain
of equal-priority items. This increases efficiency, especially
in the case of many equal-priority items.
* a-cuprqu.adb (Dequeue, Enqueue): Rewrite algorithms to take
advantage of new data structure.
(Finalize): Rewrite in terms of Dequeue, for simplicity.

2016-04-18  Yannick Moy  <moy@adacore.com>

* contracts.adb (Analyze_Object_Contract,
Analyze_Protected_Contract): Remove tests performed in GNATprove.
* sem_util.adb, sem_util.ads (Has_Full_Default_Initialization):
Remove query for tests performed in GNATprove.

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

9 years ago2016-04-18 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 18 Apr 2016 10:35:36 +0000 (10:35 +0000)] 
2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate): If
Warn_On_Redundant_Constructs is enabled, report a redundant box
association that does not cover any components, as it done for
redundant others associations in case statements.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions):
Analyze the generated Check pragma for an inherited condition so
that it does not freeze the dispatching type of the primitive
operation, because it is pre-analyzed at the point of the
subprogram declaration (and not in the subprogram body, as is
done during regular expansion).

2016-04-18  Vincent Celier  <celier@adacore.com>

* ali.ads: Increase the range of all _Id types to 100 millions.

2016-04-18  Gary Dismukes  <dismukes@adacore.com>

* sem_warn.adb (Check_References): Change warning to suggest
using pragma Export rather than saying "volatile has no effect".

2016-04-18  Bob Duff  <duff@adacore.com>

* g-souinf.ads (Compilation_ISO_Date): New function to return
the current date in ISO form.
* exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand
a call to Compilation_ISO_Date into a string literal containing
the current date in ISO form.
* exp_intr.ads (Add_Source_Info): Improve documentation.
* sem_intr.adb (Check_Intrinsic_Subprogram): Recognize
Compilation_ISO_Date.
* snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.

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

9 years ago2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
charlet [Mon, 18 Apr 2016 10:30:27 +0000 (10:30 +0000)] 
2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* layout.adb (Set_Elem_Alignment): Extend setting of alignment
to subtypes that are not first subtypes.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.ads (Collect_Inherited_Class_Wide_Conditions):
Simplify interface.
* sem_prag.adb (Collect_Inherited_Class_Wide_Conditions): Insert
generated pragmas after subprogram declaration, rather than in
the corresponding subprogram body.
* sem_ch6.adb (New_Overloaded_Entity): In GNATProve
mode, if the operation is overridding, call
Collect_Inherited_Class_Wide_Conditions to generate the
corresponding pragmas immediately after the corresponding
subprogram declaration.

2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* spark_xrefs.ads (Xref_Index, Scope_Index, File_Index): restrict
type to natural numbers.
(Stype): document code characters for concurrent entities.

2016-04-18  Olivier Hainque  <hainque@adacore.com>

* targparm.ads: Update the Frontend_Exceptions default internal
value.
(Frontend_Exceptions_On_Target): Change default value to True.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): Refine error
detection when a selected component in the body of a synchronized
type is a reference to an object of the same type declared
elsewhere. The construct is legal if the prefix of the selected
component includes an explicit dereference at any point.

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

9 years ago2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 18 Apr 2016 10:27:19 +0000 (10:27 +0000)] 
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Do not consider
internally generated expressions when trying to determine whether
a formal parameter of a tagged type subject to Extensions_Visible
False is used to initialize an object.
* sem_ch4.adb (Analyze_Type_Conversion): Do not consider
internally generated expressions when trying to determine whether
a formal parameter of a tagged type subject to Extensions_Visible
False is used in a type conversion.

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

9 years ago2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 18 Apr 2016 10:24:03 +0000 (10:24 +0000)] 
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Is_Protected_Operation_Call):
Add guards to account for a non-decorated selected component.

2016-04-18  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Improve
implementation of Body_Has_SPARK_Mode_On.
* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_From_Annotation):
New function replacing previous Get_SPARK_Mode_From_Pragma, that
deals also with aspects.
(Get_SPARK_Mode_Type): Make function internal again.
* inline.adb, sem_ch7.adb, sem_util.adb: Use new
Get_SPARK_Mode_From_Annotation.

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

9 years ago2016-04-18 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Mon, 18 Apr 2016 10:22:13 +0000 (10:22 +0000)] 
2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* contracts.adb (Analyze_Object_Contract): Update references to
SPARK RM.
* freeze.adb (Freeze_Entity): Update references to SPARK RM.
* ghost.adb Add with and use clauses for Sem_Disp.
(Check_Ghost_Derivation): Removed.
(Check_Ghost_Overriding):
Reimplemented. (Check_Ghost_Policy): Update references to SPARK RM.
(Check_Ghost_Primitive): New routine.
(Check_Ghost_Refinement): New routine. (Is_OK_Ghost_Context):
Update references to SPARK RM. (Is_OK_Pragma): Update references
to SPARK RM. Predicates are now a valid context for references
to Ghost entities.
* ghost.ads (Check_Ghost_Derivation): Removed.
(Check_Ghost_Overriding): Update the comment on usage.
(Check_Ghost_Primitive): New routine.
(Check_Ghost_Refinement): New routine.
(Remove_Ignored_Ghost_Code): Update references to SPARK RM.
* sem_ch3.adb (Process_Full_View): Remove the now obsolete check
related to Ghost derivations
* sem_ch6.adb (Check_Conformance): Remove now obsolete check
related to the convention-like behavior of pragma Ghost.
(Check_For_Primitive_Subprogram): Verify that the Ghost policy
of a tagged type and its primitive agree.
* sem_prag.adb (Analyze_Pragma): Update references to SPARK
RM. Move the verification of pragma Assertion_Policy Ghost
to the proper place. Remove the now obsolete check related
to Ghost derivations.
(Collect_Constituent): Add a call to Check_Ghost_Refinement.
* sem_res.adb (Resolve_Actuals): Update references to SPARK RM.

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

9 years ago2016-04-18 Eric Botcazou <ebotcazou@adacore.com>
charlet [Mon, 18 Apr 2016 10:19:26 +0000 (10:19 +0000)] 
2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* layout.adb: Fix more minor typos in comments.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calend.ads, sem_prag.adb, sem_ch6.adb: Minor reformatting.

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

9 years ago2016-04-18 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 18 Apr 2016 10:17:17 +0000 (10:17 +0000)] 
2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): In GNATprove
mode, collect inherited class-wide conditions to generate the
corresponding pragmas.
* sem_prag.ads (Build_Pragma_Check_Equivalent): Moved from contracts
* contracts.adb (Collect_Inherited_Class_Wide_Conditions): New
procedure for overriding subprograms, used to generate the pragmas
corresponding to an inherited class- wide pre- or postcondition.
* sem_prag.adb (Build_Pragma_Check_Equivalent): moved here
from contracts.adb (Replace_Condition_Entities): Subsidiary
Build_Pragma_Check_Equivalent, to implement the proper semantics
of inherited class-wide conditions, as given in AI12-0113.
(Process_Class_Wide_Condition): Removed.
(Collect_Inherited_Class_Wide_Conditions): Iterate over pragmas
in contract of subprogram, to collect inherited class-wide
conditions.
(Build_Pragma_Check_Equivalent): Moved to sem_prag.adb

2016-04-18  Yannick Moy  <moy@adacore.com>

* a-calend.adb (Ada.Calendar): Mark package body as SPARK_Mode Off.
* a-calend.ads (Ada.Calendar): Mark package spec as
SPARK_Mode and add synchronous external abstract state Clock_Time.

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

9 years ago2016-04-18 Yannick Moy <moy@adacore.com>
charlet [Mon, 18 Apr 2016 10:02:58 +0000 (10:02 +0000)] 
2016-04-18  Yannick Moy  <moy@adacore.com>

* sem_res.adb (Resolve_Call): Prevent inlining of
calls inside expression functions.  Factor previous code issuing
errors to call Cannot_Inline instead, which does appropriate
processing of message for GNATprove.

2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* einfo.ads, sem_ch3.adb, sem_ch8.adb, osint-l.adb, rtsfind.adb,
osint-b.adb: Cleanups.

2016-04-18  Yannick Moy  <moy@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Only create
body to inline in GNATprove mode when SPARK_Mode On applies to
subprogram body.
* sem_prag.adb, sem_prag.ads (Get_SPARK_Mode_Type): Make function
public.

2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* layout.adb: Fix minor typo in comment.
* inline.adb: Fix minor pasto.
* sem_ch12.ads: Fix minor typos in comments.

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

9 years ago2016-04-18 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 18 Apr 2016 09:57:49 +0000 (09:57 +0000)] 
2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Dispatching_Call): Major rewriting to
handle some complex cases of tag indeterminate calls that are
actuals in other dispatching calls that are themselves tag
indeterminate.
(Check_Dispatching_Context): Add parameter to support recursive
check for an enclosing construct that may provide a tag for a
tag-indeterminate call.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Depends_In_Decl_Part):
Add global variables Task_Input_Seen and Task_Output_Seen.
(Analyze_Global_Item): Detect an illegal use of the current
instance of a single protected/task type in a global annotation.
(Analyze_Input_Output): Inputs and output related to the current
instance of a task unit are now tracked.
(Check_Usage): Require
the presence of the current instance of a task unit only when
one input/output is available. (Current_Task_Instance_Seen):
New routine.
(Is_CCT_Instance): New parameter profile. Update
the comment on usage. The routine now properly recognizes several
cases related to single protected/task types.

2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Entity): Use New_Freeze_Node
to create a brand new freeze node. This handles a case where an
ignored Ghost context is freezing something which is not ignored
Ghost and whose freeze node should not be removed from the tree.
(New_Freeze_Node): New routine.

2016-04-18  Jerome Lambourg  <lambourg@adacore.com>

* sigtramp.h (__gnat_set_is_vxsim) New function to
tell sigtramp-vxworks to handle vxsim signal contexts. *
sigtramp-vxworks.c (__gnat_sigtramp) Take into account the
differences in the sigcontext structure between the expected
regular x86 or x86_64 ones and the ones received in case of
exexution on the vxworks simulator.
* init.c: also compute is_vxsim in case of x86_64-vx7 target. Provide
this information to sigtramp-vxworks.c. Remove the old mechanism for
vxsim.
* init-vxsim.c, sigtramp-vxworks-vxsim.c: remove, now obsolete.

2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch3.adb (Inline_Init_Proc): New function returning
whether the initialization procedure of a type should be
inlined.  Return again True for controlled type themselves.
(Build_Array_Init_Proc): Call it to set Set_Is_Inlined on Init_Proc.
(Build_Record_Init_Proc): Likewise.

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

9 years ago * gnatvsn.ads (Library_Version): Bump to 7.
charlet [Mon, 18 Apr 2016 09:54:17 +0000 (09:54 +0000)] 
    * gnatvsn.ads (Library_Version): Bump to 7.

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

9 years ago2016-04-18 Ed Schonberg <schonberg@adacore.com>
charlet [Mon, 18 Apr 2016 09:52:22 +0000 (09:52 +0000)] 
2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Set Inlined flag
on the entity of a subprogram declaration that is completed by
an expression function.

2016-04-18  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Is_Current_Instance): A entity given by a subtype
declaration can appear in an aspect specification for a dynamic
predicate, and a pragma for aspect Predicate_Failure.
* exp_util.adb (Replace_Subtype_References): Replace current
occurrences of the subtype to which a dynamic predicate applies,
byt the expression that triggers a predicate check. Needed to
implement new aspect Predicate_Failure.

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

9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 09:48:31 +0000 (09:48 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* a-intsig.ads, a-intsig.adb: Removed, no longer used.
* Makefile.rtl: update accordingly.

2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* sem_type.adb (Disambiguate): Call Covers only when necessary
for standard operators.

2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* atree.ads (Num_Extension_Nodes): Add couple of figures
to comment.
* atree.adb: Add GNAT.Heap_Sort_G dependency.
(Print_Statistics): New exported procedure to print statistics.

2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* exp_ch3.adb (Build_Record_Init_Proc): Do not mark the procedure
as to be inlined if the type needs finalization.

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

9 years ago * gcc-interface/decl.c: Rename Descendent -> Descendant
charlet [Mon, 18 Apr 2016 09:28:16 +0000 (09:28 +0000)] 
    * gcc-interface/decl.c: Rename Descendent -> Descendant

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

9 years ago2016-04-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Apr 2016 09:25:46 +0000 (09:25 +0000)] 
2016-04-18  Richard Biener  <rguenther@suse.de>

        PR middle-end/37870
* expmed.c (extract_bit_field_1): Remove broken case
using a wider MODE_INT mode.

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

9 years ago2016-04-18 Jerome Lambourg <lambourg@adacore.com>
charlet [Mon, 18 Apr 2016 09:24:08 +0000 (09:24 +0000)] 
2016-04-18  Jerome Lambourg  <lambourg@adacore.com>

* sigtramp-vxworks-target.inc: sigtramp-vxworks: force the stack
alignment for x86_64.
* init.c: Better fix for guard page reset on x86_64-vx7.
Do not try to retrieve the page that actually raised
the signal as the probing mechanism used on x86_64 do not allow
such retrieval. We thus just test if the guard page is active,
and re-activate it if not.

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

9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 09:22:50 +0000 (09:22 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* a-sytaco.adb (Suspension_Object): Aspect Default_Initial_Condition
added.

2016-04-18  Jerome Lambourg  <lambourg@adacore.com>

* affinity.c: Use the proper type for task id.
* init.c (__gnat_inum_to_ivec): ivec is a pointer.

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

9 years ago2016-04-18 Arnaud Charlet <charlet@adacore.com>
charlet [Mon, 18 Apr 2016 09:20:56 +0000 (09:20 +0000)] 
2016-04-18  Arnaud Charlet  <charlet@adacore.com>

* sem_prag.adb (Process_Convention): Relax rule on exporting
Intrinsic types if Relaxed_RM_Semantics is True.

2016-04-18  Vincent Celier  <celier@adacore.com>

* sem_ch3.adb, lib.ads, sinfo.ads, sem_ch10.adb, einfo.adb, einfo.ads,
checks.ads, sem_ch12.adb, sem.adb, sem_util.adb, sem_util.ads,
sem_res.adb, sem_attr.adb, par.adb, exp_ch4.adb, errout.ads,
sem_ch4.adb, atree.adb, atree.ads, sem_warn.adb, treepr.adb,
exp_ch3.ads, exp_unst.adb: Change "descendent" to
"descendant" in comments, error messages and identifiers.

2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>

* sem_type.adb (Operator_Matches_Spec): Call First_Formal on
New_S only once at the beginning of the function.

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

9 years agohsa: Fix bootstrap with older host compilers
segher [Mon, 18 Apr 2016 08:57:01 +0000 (08:57 +0000)] 
hsa: Fix bootstrap with older host compilers

We didn't have __builtin_swap16 on all targets before GCC 4.8; hsa-brig
tries to use it if the host GCC is 4.6 or up though, breaking bootstrap.
This trivial patch fixes it.

Noticed on gcc22.

* has-brig.c (lendian16): Don't try to use __builtin_bswap16
unless compiling with at least GCC-4.8.

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

9 years agoAdd dot-file scans to pr70161.c
vries [Mon, 18 Apr 2016 08:53:41 +0000 (08:53 +0000)] 
Add dot-file scans to pr70161.c

2016-04-18  Tom de Vries  <tom@codesourcery.com>

PR testsuite/70699
* gcc.dg/pr70161.c: Add dot-file scans.
* lib/scandump.exp (dump-suffix): Return suffix after first dot char,
instead of after last dot char.

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

9 years agoTrivial comment misspelling.
emsr [Mon, 18 Apr 2016 02:32:50 +0000 (02:32 +0000)] 
Trivial comment misspelling.

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

9 years agoObvious typo in comment.
emsr [Mon, 18 Apr 2016 02:30:31 +0000 (02:30 +0000)] 
Obvious typo in comment.

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

9 years agoDaily bump.
gccadmin [Mon, 18 Apr 2016 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago PR bootstrap/70706
hubicka [Sun, 17 Apr 2016 18:30:21 +0000 (18:30 +0000)] 
PR bootstrap/70706
* predict.h (tree_estimate_probability): Update prototype.

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

9 years ago PR bootstrap/70706
hubicka [Sun, 17 Apr 2016 18:04:51 +0000 (18:04 +0000)] 
PR bootstrap/70706
* graphite.c (graphite_finalize): Update call to
tree_estimate_probability.

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

9 years ago * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
ebotcazou [Sun, 17 Apr 2016 17:38:28 +0000 (17:38 +0000)] 
* c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
(dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
to incomplete types.
(dump_nested_type): Remove redundant tests and tidy up.
(print_ada_declaration): Also set TREE_VISITED on the declaration of
a type which is the typedef of an original type.

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

9 years ago * analyze_brprob: Update comment.
hubicka [Sun, 17 Apr 2016 16:13:52 +0000 (16:13 +0000)] 
* analyze_brprob: Update comment.

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

9 years ago * predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
hubicka [Sun, 17 Apr 2016 16:08:27 +0000 (16:08 +0000)] 
* predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
(tree_estimate_probability): Likewise.
(pass_profile::execute): Update.
(report_predictor_hitrates): New function.
* profile.c (compute_branch_probabilities): Use it.
* predict.h (report_predictor_hitrates): Declare.

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

9 years ago PR ipa/70018
hubicka [Sun, 17 Apr 2016 16:04:05 +0000 (16:04 +0000)] 
PR ipa/70018
* cgraph.h (cgraph_node::set_const_flag,
cgraph_node::set_pure_flag): Update prototype to return bool;
update comment.
* cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
of interposable symbol are interposable, too.
(cgraph_set_const_flag_1): Rename to ...
(set_const_flag_1): ... this one; change to self recursive function
instead of call_for_symbol_thunks_and_aliases. Handle correctly
clearnig the flag in all variants and also virtual thunks of const
functions are pure; track if any change was done.
(cgraph_node::set_const_flag): Update.
(struct set_pure_flag_info): New struct.
(cgraph_set_pure_flag_1): Rename to ...
(set_pure_flag_1): ... this one; take set_pure_flag_info parameter
rather than pointer encoded flags; track if any changes was done;
handle correctly clearning flag and setting flag of aliases already
declared const.
(cgraph_node::set_pure_flag): Update.
(cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.

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

9 years agoHandle backslash in pp_write_text_as_dot_label_to_stream
vries [Sun, 17 Apr 2016 05:23:15 +0000 (05:23 +0000)] 
Handle backslash in pp_write_text_as_dot_label_to_stream

2016-04-17  Tom de Vries  <tom@codesourcery.com>

PR other/70433
* pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
backslash in label.

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

9 years agoFix record-shape escapes in pp_write_text_as_dot_label_to_stream
vries [Sun, 17 Apr 2016 05:23:03 +0000 (05:23 +0000)] 
Fix record-shape escapes in pp_write_text_as_dot_label_to_stream

2016-04-17  Tom de Vries  <tom@codesourcery.com>

* pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
'{}<> ' as escape-for-record.

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

9 years agoSimplify loop in pp_write_text_as_dot_label_to_stream
vries [Sun, 17 Apr 2016 05:22:45 +0000 (05:22 +0000)] 
Simplify loop in pp_write_text_as_dot_label_to_stream

2016-04-17  Tom de Vries  <tom@codesourcery.com>

* pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
structure.

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

9 years agoOnly finalize dot files that have been initialized
vries [Sun, 17 Apr 2016 05:22:33 +0000 (05:22 +0000)] 
Only finalize dot files that have been initialized

2016-04-17  Tom de Vries  <tom@codesourcery.com>

PR other/70185
* tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
* dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
* dumpfile.c (dump_files): Initialize graph_dump_initialized field.
* passes.c (finish_optimization_passes): Only call
finish_graph_dump_file if dfi->graph_dump_initialized.
(execute_function_dump, pass_init_dump_file): Use
dfi->graph_dump_initialized instead of pass->graph_dump_initialized.

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

9 years agoAdd debug_varinfo and debug_varmap
vries [Sun, 17 Apr 2016 05:22:19 +0000 (05:22 +0000)] 
Add debug_varinfo and debug_varmap

2016-04-17  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/70256
* tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
(debug_varmap): New function.

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

9 years agoPropagate dump flags in pass_manager::register_pass
vries [Sun, 17 Apr 2016 05:22:04 +0000 (05:22 +0000)] 
Propagate dump flags in pass_manager::register_pass

2016-04-17  Tom de Vries  <tom@codesourcery.com>

PR other/70183
* passes.c (pass_manager::register_pass): Propagate pflags.

* gcc.target/i386/vzeroupper-dump-flags.c: New test.

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

9 years agoAdd pass parameter to TERMINATE_PASS_LIST
vries [Sun, 17 Apr 2016 05:21:50 +0000 (05:21 +0000)] 
Add pass parameter to TERMINATE_PASS_LIST

2016-04-17  Tom de Vries  <tom@codesourcery.com>

PR other/68875
* pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
* passes.c (pass_manager::pass_manager): Declare and init p_start in
INSERT_PASSES_AFTER.  Add pass parameter to TERMINATE_PASS_LIST, and
check if it's equal to p_start.
* passes.def: Add arguments to TERMINATE_PASS_LISTs.

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

9 years agoDaily bump.
gccadmin [Sun, 17 Apr 2016 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago2016-04-16 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sat, 16 Apr 2016 23:22:52 +0000 (23:22 +0000)] 
2016-04-16  Sandra Loosemore  <sandra@codesourcery.com>

PR target/1078

gcc/cp/
* tree.c (cxx_attribute_table): Remove "com_interface" entry.
(handle_com_interface_attribute): Delete.

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

9 years ago PR ipa/70018
hubicka [Sat, 16 Apr 2016 18:54:49 +0000 (18:54 +0000)] 
PR ipa/70018
* cgraph.c (cgraph_set_const_flag_1): Only set as pure if
function does not bind to current def.
* ipa-pure-const.c (worse_state): Add FROM and TO parameters;
handle conservatively calls to functions that does not need to bind
to current def.
(check_call): Update call of worse_state.
(ignore_edge_for_nothrow): Update.
(ignore_edge_for_pure_const): Likewise.
(propagate_pure_const): Update calls to worse_state.
(skip_function_for_local_pure_const): Reformat comments.

* g++.dg/ipa/pure-const-1.C: New testcase.
* g++.dg/ipa/pure-const-2.C: New testcase.
* g++.dg/ipa/pure-const-3.C: New testcase.

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

9 years ago PR ipa/70018
hubicka [Sat, 16 Apr 2016 16:30:48 +0000 (16:30 +0000)] 
PR ipa/70018
* cgraph.c (cgraph_node::get_availability): Add REF parameter.
(cgraph_node::function_symbol): Likewise.
(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
* cgraph.h (symtab_node::get_availabbility): Add REF parameter.
(symtab_node::ultimate_alias_target): Add REF parameter.
(symtab_node::binds_to_current_def_p): Declare.
(symtab_node;:ultimate_alias_target_1): Add REF parameter.
(cgraph_node::function_symbol): Likewise.
(cgraph_node::function_or_virtual_thunk_symbol): Likewise.
(cgraph_node::get_availability): Likewise.
(cgraph_edge::binds_to_current_def_p): New inline function.
(varpool_node::get_availability): Add REF parameter.
(varpool_node::ultimate_alias_target): Likewise.
* symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
(symtab_node::binds_to_current_def_p): Likewise.
* varpool.c (varpool_node::get_availability): Likewise.

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

9 years agoDaily bump.
gccadmin [Sat, 16 Apr 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago PR c++/70685
jason [Fri, 15 Apr 2016 19:47:19 +0000 (19:47 +0000)] 
PR c++/70685
* constexpr.c (get_fundef_copy): Handle null *slot.

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

9 years ago PR c++/70505
jason [Fri, 15 Apr 2016 16:32:22 +0000 (16:32 +0000)] 
PR c++/70505

* pt.c (tsubst_baselink): Give the new TEMPLATE_ID_EXPR
unknown_type_node, too.

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

9 years ago * crontab: Enable snapshots from gcc-6-branch.
jakub [Fri, 15 Apr 2016 15:33:15 +0000 (15:33 +0000)] 
* crontab: Enable snapshots from gcc-6-branch.

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

9 years agoAVX-512. Fix mode size check.
kyukhin [Fri, 15 Apr 2016 15:17:31 +0000 (15:17 +0000)] 
AVX-512. Fix mode size check.

PR target/70662
gcc/
       * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
Fix mode size check.

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

9 years ago * BASE-VER: Set to 7.0.0.
jakub [Fri, 15 Apr 2016 14:55:57 +0000 (14:55 +0000)] 
* BASE-VER: Set to 7.0.0.

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

9 years ago PR c++/70594
jakub [Fri, 15 Apr 2016 14:51:06 +0000 (14:51 +0000)] 
PR c++/70594
* constexpr.c (constexpr_call_table): Preserve in GC.
(struct fundef_copy, struct fundef_copies_table_t): Delete.
(fundef_copies_table): Preserve in GC. Change to pointer to
tree->tree hash.
(maybe_initialize_fundef_copies_table): Adjust.
(get_fundef_copy): Return a TREE_LIST.  Use non-inserting search.
(save_fundef_copy): Adjust for a TREE_LIST.
(cxx_eval_call_expression): Adjust for a fundef_copy TREE_LIST.
(fini_constexpr): New.
* cp-tree.h (fini_constexpr): Declare.
* decl2.c (c_parse_final_cleanups): Call fini_constexpr.

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

9 years ago PR c/70671
mpolacek [Fri, 15 Apr 2016 14:46:06 +0000 (14:46 +0000)] 
PR c/70671
* c-typeck.c (build_unary_op): Pass location down to error and
warning call.

* gcc.dg/bitfld-22.c: New test.

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

9 years agoconfig/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
amonakov [Fri, 15 Apr 2016 14:26:40 +0000 (14:26 +0000)] 
config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.

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

9 years ago[ARM][doc] Document deprecation of pre-ARMv4T architecture revisions
ktkachov [Fri, 15 Apr 2016 13:42:16 +0000 (13:42 +0000)] 
[ARM][doc] Document deprecation of pre-ARMv4T architecture revisions

* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
architecture revisions.

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

9 years agoi386: Don't convert stack operations to pushes if using a redzone.
bernds [Fri, 15 Apr 2016 13:35:12 +0000 (13:35 +0000)] 
i386: Don't convert stack operations to pushes if using a redzone.

* config/i386/i386-protos.h (ix86_using_red_zone): Declare.
* config/i386/i386.c (ix86_using_red_zone): No longer static.
* config/i386/i386.md (stack decrement to push peepholes): Guard
with !x86_using_red_zone ().

testsuite/
* gcc.target/i386/pr46470.c: Add -mno-red-zone to dg-options for
x86_64.

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

9 years ago PR c/70651
mpolacek [Fri, 15 Apr 2016 13:15:23 +0000 (13:15 +0000)] 
PR c/70651
* c-common.c (build_va_arg): Change two asserts into errors and return
error_mark_node.

* c-c++-common/pr70651.c: New test.

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

9 years ago PR c++/70675
jakub [Fri, 15 Apr 2016 13:07:43 +0000 (13:07 +0000)] 
PR c++/70675
* tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
to dump_generic_node.
(NIY): Pass also flags to do_niy.

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

9 years ago[testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and pr10474...
ktkachov [Fri, 15 Apr 2016 12:45:20 +0000 (12:45 +0000)] 
[testsuite] PR rtl-optimization/70681: XFAIL ira-shrinkwrap-prep-2.c and pr10474.c tests on arm, powerpc

PR rtl-optimization/70681
* gcc.dg/ira-shrinkwrap-prep-2.c: XFAIL shrinkwrapping
dump scan on arm and powerpc.
* gcc.dg/pr10474.c: Likewise.

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

9 years ago PR c++/69517
jakub [Fri, 15 Apr 2016 12:29:32 +0000 (12:29 +0000)] 
PR c++/69517
PR c++/70019
PR c++/70588
* g++.dg/cpp1y/vla11.C: Revert for real.

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

9 years ago PR c/70436
jakub [Fri, 15 Apr 2016 12:24:18 +0000 (12:24 +0000)] 
PR c/70436
c/
* c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
where needed.
(c_parser_external_declaration, c_parser_struct_or_union_specifier,
c_parser_parameter_declaration, c_parser_compound_statement_nostart,
c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
Adjust c_parser_pragma callers.
(c_parser_statement_after_labels): Likewise.  Adjust c_parser_cilk_for
caller.
(c_parser_omp_structured_block): Add IF_P argument, pass it down to
c_parser_statement.
(c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
c_parser_oacc_kernels_parallel, c_parser_omp_critical,
c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
down where needed.
(c_parser_omp_for_loop): Likewise.  Clear IF_P if nbraces.
(c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
calls.
cp/
* parser.c (cp_parser_pragma): Add IF_P argument, pass it down
where needed.
(cp_parser_declaration_seq_opt, cp_parser_member_specification_opt,
cp_parser_objc_interstitial_code, cp_parser_omp_declare_simd,
cp_parser_oacc_routine): Adjust cp_parser_pragma callers.
(cp_parser_statement): Likewise.  Adjust cp_parser_cilk_for caller.
(cp_parser_omp_structured_block): Add IF_P argument, pass it down to
cp_parser_statement.
(cp_parser_oacc_data, cp_parser_oacc_host_data, cp_parser_oacc_loop,
cp_parser_oacc_kernels_parallel, cp_parser_omp_critical,
cp_parser_omp_simd, cp_parser_omp_for, cp_parser_omp_master,
cp_parser_omp_ordered, cp_parser_omp_parallel, cp_parser_omp_single,
cp_parser_omp_task, cp_parser_omp_taskgroup, cp_parser_omp_distribute,
cp_parser_omp_teams, cp_parser_omp_target_data, cp_parser_omp_target,
cp_parser_omp_taskloop, cp_parser_omp_construct,
cp_parser_cilk_grainsize, cp_parser_cilk_simd, cp_parser_cilk_for):
Add IF_P argument, pass it down where needed.
(cp_parser_omp_for_loop): Likewise.  Clear IF_P if nbraces.
(cp_parser_omp_sections_scope): Adjust cp_parser_omp_structured_block
calls.
testsuite/
* c-c++-common/Wparentheses-1.c: New test.
* c-c++-common/gomp/Wparentheses-1.c: New test.
* c-c++-common/gomp/Wparentheses-2.c: New test.
* c-c++-common/gomp/Wparentheses-3.c: New test.
* c-c++-common/gomp/Wparentheses-4.c: New test.
* c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test.
* c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test.
* c-c++-common/goacc/Wparentheses-1.c: New test.

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

9 years agoSplit out OMP constructs' SIMD clone supporting code
tschwinge [Fri, 15 Apr 2016 11:49:39 +0000 (11:49 +0000)] 
Split out OMP constructs' SIMD clone supporting code

gcc/
* omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
(simd_clone_vector_of_formal_parm_types)
(simd_clone_clauses_extract, simd_clone_compute_base_data_type)
(simd_clone_mangle, simd_clone_create)
(simd_clone_adjust_return_type, create_tmp_simd_array)
(simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
(struct modify_stmt_info, ipa_simd_modify_stmt_ops)
(ipa_simd_modify_function_body, simd_clone_linear_addend)
(simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
(pass_data_omp_simd_clone, class pass_omp_simd_clone)
(pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move
into...
* omp-simd-clone.c: ... this new file.
(simd_clone_vector_of_formal_parm_types): Make it static.
* Makefile.in (OBJS): Add omp-simd-clone.o.

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

9 years agoAVX-512. Fix mem operand modifier for Intel syntax.
kyukhin [Fri, 15 Apr 2016 08:25:49 +0000 (08:25 +0000)] 
AVX-512. Fix mem operand modifier for Intel syntax.

PR target/70662
gcc/
* config/i386/sse.md: Use proper memory operand
modifiers.
testsuite/gcc/
* gcc.target/i386/pr70662.c: New test.

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

9 years ago2016-04-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Apr 2016 07:28:44 +0000 (07:28 +0000)] 
2016-04-15  Richard Biener  <rguenther@suse.de>
Alan Modra  <amodra@gmail.com>

PR tree-optimization/70130
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
when alignment stays not the same and no not use the realign
scheme then.

* gcc.dg/vect/O3-pr70130.c: New testcase.

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

9 years ago PR c++/70494
jason [Fri, 15 Apr 2016 04:02:49 +0000 (04:02 +0000)] 
PR c++/70494

* decl.c (cxx_maybe_build_cleanup): Handle non-decls.
* typeck2.c (split_nonconstant_init_1): Use it.

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

9 years ago PR c++/70528
jason [Fri, 15 Apr 2016 02:23:05 +0000 (02:23 +0000)] 
PR c++/70528

* class.c (type_has_constexpr_default_constructor): Return true
for an implicitly declared constructor.

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

9 years agoDaily bump.
gccadmin [Fri, 15 Apr 2016 00:16:16 +0000 (00:16 +0000)] 
Daily bump.

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

9 years ago[gcc]
meissner [Thu, 14 Apr 2016 23:21:30 +0000 (23:21 +0000)] 
[gcc]
2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70669
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
direct move handlers for KFmode. Change TFmode handlers test from
FLOAT128_IEEE_P to FLOAT128_VECTOR_P.

[gcc/testsuite]
2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70669
* gcc.target/powerpc/pr70669.c: New test.

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

9 years ago libgomp/
cesar [Thu, 14 Apr 2016 21:24:03 +0000 (21:24 +0000)] 
libgomp/
* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
pass parameter variables to subroutines.

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

9 years ago PR c++/70622
jason [Thu, 14 Apr 2016 20:14:49 +0000 (20:14 +0000)] 
PR c++/70622

* parser.c (cp_parser_init_declarator): Add auto_result parm.
(cp_parser_simple_declaration): Pass it.
(strip_declarator_types): New.

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

9 years ago PR c++/70543
jason [Thu, 14 Apr 2016 20:14:44 +0000 (20:14 +0000)] 
PR c++/70543

* pt.c (value_dependent_expression_p) [VAR_DECL]: A type-dependent
initializer also makes the variable value-dependent.

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

9 years ago PR c++/70648
jason [Thu, 14 Apr 2016 20:14:38 +0000 (20:14 +0000)] 
PR c++/70648

* constexpr.c (cxx_eval_store_expression): Also copy
CONSTRUCTOR_NO_IMPLICIT_ZERO.

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

9 years ago2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Thu, 14 Apr 2016 20:05:58 +0000 (20:05 +0000)] 
2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70640
* gcc.target/powerpc/pr70640.c: Fix test so it correctly works on
a power7 system that does not have an assembler that supports
power8.

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

9 years ago PR c++/70594
jakub [Thu, 14 Apr 2016 19:21:31 +0000 (19:21 +0000)] 
PR c++/70594
* ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
* ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
(inlined_polymorphic_ctor_dtor_block_p): Use it.
* tree-ssa-live.c (remove_unused_scope_block_p): When
in_ctor_dtor_block, avoid discarding not just BLOCKs with
BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
block_ultimate_origin is FUNCTION_DECL.
(remove_unused_locals): If current_function_decl is
polymorphic_ctor_dtor_p, pass initial true to
remove_unused_scope_block_p' is_ctor_dtor_block.

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

9 years agoPR c++/70652 - [6 Regression] r234966 causes bootstrap to fail
msebor [Thu, 14 Apr 2016 17:35:23 +0000 (17:35 +0000)] 
PR c++/70652 - [6 Regression] r234966 causes bootstrap to fail
  Revert patch for c++/69517, c++/70019, and c++/70588.

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

9 years ago PR c++/70029
mpolacek [Thu, 14 Apr 2016 16:51:16 +0000 (16:51 +0000)] 
PR c++/70029
* tree.c (verify_type): Disable the canonical type of main variant
check.

* g++.dg/torture/pr70029.C: New test.

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

9 years agoRevert empty class parameter passing ABI changes.
jason [Thu, 14 Apr 2016 16:23:06 +0000 (16:23 +0000)] 
Revert empty class parameter passing ABI changes.

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

9 years agog++.dg/cpp1y/vla11.C: Avoid using attribute aligned to increase type
msebor [Thu, 14 Apr 2016 15:25:40 +0000 (15:25 +0000)] 
g++.dg/cpp1y/vla11.C: Avoid using attribute aligned to increase type
  size to prevent failures on targets with very low maximum alignment.

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

9 years ago PR middle-end/70643
cesar [Thu, 14 Apr 2016 13:44:17 +0000 (13:44 +0000)] 
PR middle-end/70643

gcc/
* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
when building a mem ref for the incoming reduction variable.

libgomp/
* testsuite/libgomp.oacc-fortran/pr70643.f90: New test.

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

9 years ago2016-04-14 Richard Biener <rguenther@suse.de>
rguenth [Thu, 14 Apr 2016 13:21:40 +0000 (13:21 +0000)] 
2016-04-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70614
* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
loop if the evolution dropped to chrec_dont_know.
(interpret_condition_phi): Likewise.

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

9 years ago2016-04-14 Richard Biener <rguenther@suse.de>
rguenth [Thu, 14 Apr 2016 07:30:53 +0000 (07:30 +0000)] 
2016-04-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/70623
* tree-ssa-pre.c (changed_blocks): Make global ...
(compute_antic): ... local here.  Move and fix worklist
handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
(compute_antic_aux): Add dumping for MAX assumed succs.  Remove
worklist handling, dump when ANTIC_IN changed.
(compute_partial_antic_aux): Remove worklist handling.
(init_pre): Do not compute post dominators.  Add a comment about
the CFG order chosen.
(fini_pre): Do not free post dominators.

* gcc.dg/torture/pr70623.c: New testcase.
* gcc.dg/torture/pr70623-2.c: Likewise.

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

9 years agoDaily bump.
gccadmin [Thu, 14 Apr 2016 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

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