gcc.git
10 years agogcc.dg/vect/vect-singleton_1.c: Remove duplicate of test body.
Alan Lawrence [Fri, 13 Jun 2014 11:49:27 +0000 (11:49 +0000)]
gcc.dg/vect/vect-singleton_1.c: Remove duplicate of test body.

From-SVN: r211635

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:31:26 +0000 (12:31 +0200)]
[multiple changes]

2014-06-13  Yannick Moy  <moy@adacore.com>

* exp_attr.adb Typo in comment.
* gnat1drv.adb (Adjust_Global_Switches): Force float overflow
checking in GNATprove_Mode.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* a-coinho-shared.adb, a-coinho-shared.ads: Update shared version.

From-SVN: r211629

10 years agosem_ch3.adb, [...]: Minor reformatting.
Robert Dewar [Fri, 13 Jun 2014 10:26:34 +0000 (10:26 +0000)]
sem_ch3.adb, [...]: Minor reformatting.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, sem_ch9.adb, a-coinho.adb, a-coinho.ads: Minor
reformatting.

From-SVN: r211628

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:25:19 +0000 (12:25 +0200)]
[multiple changes]

2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Add local
variable Missing_Parentheses. Emit an error when a state
declaration with options appears without parentheses. Add a
guard to prevent a bogus error when a state declaration may be
interpreted as an option if a previous declaration with options
was not parenthesized.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* checks.adb: Validate_Alignment_Check_Warnings: New procedure
(Apply_Address_Clause_Check): Make Aligment_Warnings table entry.
* checks.ads (Alignment_Warnings_Record): New type.
(Alignment_Warnings): New table
(Validate_Alignment_Check_Warnings): New procedure.
* errout.adb (Delete_Warning_And_Continuations): New procedure
(Error_Msg_Internal): Set Warning_Msg (Delete_Warning): Handle
Warnings_Treated_As_Errors (Finalize): Minor reformatting
* errout.ads (Warning_Msg): New variable
(Delete_Warning_And_Continuations): New procedure
* erroutc.adb (Delete_Msg): Handle Warnings_Treated_As_Errors count.
* gnat1drv.adb (Post_Compilation_Validation_Checks): New procedure.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* a-coinho.adb, a-coinho.ads: Add Reference machinery.

From-SVN: r211627

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:23:05 +0000 (12:23 +0200)]
[multiple changes]

2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

* errout.adb (SPARK_Msg_N): New routine.
(SPARK_Msg_NE): New routine.
* errout.ads Add a section on SPARK-related error routines.
(SPARK_Msg_N): New routine.
(SPARK_Msg_NE): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications): Ensure that
pragma Abstract_State is always inserted after SPARK_Mode.
(Insert_After_SPARK_Mode): New routine.
* sem_prag.adb (Analyze_Abstract_State,
Analyze_Constituent, Analyze_External_Property,
Analyze_External_Property_In_Decl_Part, Analyze_Global_Item,
Analyze_Global_List, Analyze_Initialization_Item,
Analyze_Initialization_Item_With_Inputs, Analyze_Input_Item,
Analyze_Input_List, Analyze_Input_Output, Analyze_Part_Of,
Analyze_Pragma, Analyze_Refined_Depends_In_Decl_Part,
Analyze_Refined_Global_In_Decl_Part,
Analyze_Refined_State_In_Decl_Part, Analyze_Refinement_Clause,
Check_Aspect_Specification_Order, Check_Constituent_Usage,
Check_Declaration_Order, Check_Dependency_Clause,
Check_Duplicate_Mode, Check_Duplicate_Option,
Check_Duplicate_Property, Check_External_Properties,
Check_External_Property, Check_Function_Return,
Check_Matching_Constituent, Check_Matching_State,
Check_Mode_Restriction_In_Enclosing_Context,
Check_Mode_Restriction_In_Function, Check_Refined_Global_Item,
Check_State_And_Constituent_Use, Create_Or_Modify_Clause,
Has_Extra_Parentheses, Inconsistent_Mode_Error,
Match_Error, Propagate_Part_Of, Report_Extra_Clauses,
Report_Extra_Constituents_In_List, Report_Extra_Inputs,
Report_Unrefined_States, Report_Unused_Constituents,
Report_Unused_States, Role_Error, Usage_Error):
Convert Error_Msg_XXX calls to SPARK_Msg_XXX calls
to report semantic errors only when SPARK_Mode is on.
(Analyze_Depends_In_Decl_Part): Do not check the syntax of
pragma Depends explicitly, this is now done by the analysis.
(Analyze_Global_In_Decl_List): Do not check the syntax of
pragma Global explicitly, this is now done by the analysis.
(Analyze_Initializes_In_Decl_Part): Do not check the syntax of
pragma Initializes explicitly, this is now done by the analysis.
(Analyze_Part_Of): Do not check the syntax of the encapsulating
state, this is now done by the analysis.
(Analyze_Pragma): Do
not check the syntax of a state declaration, this is now done
by the analysis.
(Analyze_Refined_Depends_In_Decl_Part): Do not
check the syntax of pragma Refined_Depends explicitly, this is now
done by the analysis.
(Analyze_Refined_Global_In_Decl_Part): Do
not check the syntax of pragma Refined_Global explicitly, this is
now done by the analysis.
(Analyze_Refined_State_In_Decl_Part):
Do not check the syntax of pragma Refined_State explicitly, this
is now done by the analysis.
(Check_Dependence_List_Syntax): Removed.
(Check_Global_List_Syntax): Removed.
(Check_Initialization_List_Syntax): Removed.
(Check_Item_Syntax): Removed.
(Check_Missing_Part_Of): Do not consider items from an instance.
(Check_Refinement_List_Syntax): Removed.
(Check_State_Declaration_Syntax): Removed.
(Collect_Global_List): Do not raise Program_Error when the input is
malformed.
(Process_Global_List): Do not raise Program_Error when the input
is malformed.
* sem_ch13.adb: Minor reformatting.
2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Find_Type_Name): Diagnose a private type completion
that is an interface definition with an interface list.
(Process_Full_View): Move error message on missmatched interfaces
between views to the declaration of full view, for clarity.
* sem_ch9.adb (Check_Interfaces): Move error message to full view,
for clarity.

From-SVN: r211626

10 years agotree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Rewrite to propagate...
Richard Biener [Fri, 13 Jun 2014 10:21:40 +0000 (10:21 +0000)]
tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Rewrite to propagate the VN result into all uses where possible and to remove...

2014-06-13  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Rewrite to propagate the VN result into all uses where
possible and to remove stmts becoming dead because of that.
(eliminate): Generalize stmt removal handling, remove in
reverse dominator order to support proper debug stmt
generation.  Update stmts before removing stmts.
* tree-ssa-propagate.c (propagate_tree_value): Remove
bogus assert.

* c-c++-common/pr46562-2.c: Adjust.
* g++.dg/tree-ssa/pr8781.C: Likewise.
* gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-39.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-16.c: Likewise.

From-SVN: r211625

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:20:53 +0000 (12:20 +0200)]
[multiple changes]

2014-06-13  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case Pred/Succ): Change
reason to Overflow.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* makeutl.adb: Minor reformatting.

2014-06-13  Gail Schenker  <schenker@adacore.com>

* debug.adb, sem_eval.adb (Why_Not_Static): Remove temporary code and
associated flag (d.z), no longer needed.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications): For Import and
Export aspects, do not check whether a corresponding Convention
aspect has been specified. Convention is optional in Ada2012,
and defaults to Convention_Ada.

From-SVN: r211624

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:18:11 +0000 (12:18 +0200)]
[multiple changes]

2014-06-13  Eric Botcazou  <ebotcazou@adacore.com>

* checks.adb (Apply_Address_Clause_Check): Only issue the new
warning if the propagation warning is issued.

2014-06-13  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb: Minor reformatting.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
Handle float range check case (Expand_N_Attribute_Reference,
case Succ): Handle float range check case.
* sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float
range check case.

2014-06-13  Vincent Celier  <celier@adacore.com>

* makeutl.ads (Compute_Builder_Switches): Change name of
parameter Root_Environment to Env.
* prj-conf.adb (Check_Switches): Call Locate_Runtime with the
Env parameter of procedure Get_Or_Create_Configuration_File.
(Locate_Runtime): Call Find_Rts_In_Path with the Project_Path
of new parameter Env.
* prj-conf.ads (Locate_Runtime): New parameter Env of type
Prj.Tree.Environment.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Minor comment clarification for Check_Float_Overflow.

From-SVN: r211623

10 years agoexp_attr.adb, [...]: Minor reformatting.
Robert Dewar [Fri, 13 Jun 2014 10:11:54 +0000 (10:11 +0000)]
exp_attr.adb, [...]: Minor reformatting.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb, exp_ch9.adb, lib-writ.adb, g-comlin.adb: Minor
reformatting.
* sem_attr.adb: Minor code reformatting and simplification.
* checks.adb: Fix minor typo.

From-SVN: r211622

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:08:18 +0000 (12:08 +0200)]
[multiple changes]

2014-06-13  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb (Get_Argument): fix expansion
of command line arguments (e.g. "*.adb") when using a custom
parser. The parser was not passed to the recursive call, and
thus we were trying to do the expansion on the default command
line parser.

2014-06-13  Thomas Quinot  <quinot@adacore.com>

* exp_ch9.adb: Minor reformatting.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference, case 'Old):
To determine whether the attribute should be expanded, examine
whether the enclosing postcondition pragma is to be checked,
rather than using the internal flag Assertions_Enabled.

From-SVN: r211621

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:06:13 +0000 (12:06 +0200)]
[multiple changes]

2014-06-13  Ben Brosgol  <brosgol@adacore.com>

* gnat_rm.texi: Minor fixes.
* gnat_ugn.texi: Added a missing "@itemize".

2014-06-13  Robert Dewar  <dewar@adacore.com>

* debug.adb: Remove -gnatd.1 flag documentation.
* layout.adb (Layout_Type): Remove special handling of size
for anonymous access type.
* sem_ch3.adb (Replace_Type): Remove special handling of size
for anonymous access type.

From-SVN: r211620

10 years agodebug.adb: Document debug flag -gnatd.1.
Robert Dewar [Fri, 13 Jun 2014 10:04:27 +0000 (10:04 +0000)]
debug.adb: Document debug flag -gnatd.1.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* debug.adb: Document debug flag -gnatd.1.
* layout.adb (Layout_Type): Size change for anonymous access
types under -gnatd.1.
* sem_ch3.adb (Replace_Type): Size change for anonymous access
types under -gnatd.1.

From-SVN: r211619

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 10:03:43 +0000 (12:03 +0200)]
[multiple changes]

2014-06-13  Robert Dewar  <dewar@adacore.com>

* layout.adb (Layout_Type): Anonymous access types designating
unconstrained arrays are always thin pointers.
* sem_ch3.adb (Replace_Type): Anonymous access types designating
unconstrained arrays are always thin pointers.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Analyze_Attribute): Use Check_Parameterless_Call
to resolve the prefix of an attribute that is an entity name
and may be a parameterless call.  Minor code reorganization.

From-SVN: r211618

10 years agolib.ads, [...] (Is_Compiler_Unit): Removed.
Robert Dewar [Fri, 13 Jun 2014 10:02:31 +0000 (10:02 +0000)]
lib.ads, [...] (Is_Compiler_Unit): Removed.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit):
Removed.
* opt.ads (Compiler_Unit): New flag.
* par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit
for null statement sequence (not allowed in compiler unit).
* par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during
parsing.
* restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new
calling sequence.
* sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for
Check_Compiler_Unit.
* sem_ch6.adb (Analyze_Extended_Return_Statement): Call
Check_Compiler_Unit (this construct is not allowed in compiler
units).
* sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]):
Set Opt.Compiler_Unit.

From-SVN: r211617

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 09:59:42 +0000 (11:59 +0200)]
[multiple changes]

2014-06-13  Geert Bosch  <bosch@adacore.com>

* gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi,
s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads,
s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting.

From-SVN: r211616

10 years agofreeze.adb (Freeze_Entity): Remove the check concerning volatile types in SPARK as...
Hristian Kirtchev [Fri, 13 Jun 2014 09:51:30 +0000 (09:51 +0000)]
freeze.adb (Freeze_Entity): Remove the check concerning volatile types in SPARK as it is poorly placed and...

2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Entity): Remove the check concerning volatile
types in SPARK as it is poorly placed and poorly formulated. The
check was flagging ALL volatile entities as illegal in SPARK.
* sem_prag.adb (Process_Atomic_Shared_Volatile): Flag volatile
types as illegal in SPARK.

From-SVN: r211615

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 09:47:16 +0000 (11:47 +0200)]
[multiple changes]

2014-06-13  Robert Dewar  <dewar@adacore.com>

* sem_cat.adb: Minor reformatting.

2014-06-13  Yannick Moy  <moy@adacore.com>

* sem_prag.adb (Analyze_Pragma/Post_Class): Fix typo.

2014-06-13  Arnaud Charlet  <charlet@adacore.com>

* gnat_rm.texi: Add detail on SPARK_05 restriction.

2014-06-13  Bob Duff  <duff@adacore.com>

* s-solita.adb (Get_Sec_Stack_Addr, Init_Tasking_Soft_Links):
Add assertions requiring the secondary stack to be initialized.
* s-solita.ads (Init_Tasking_Soft_Links): Comment.
* s-taprob.adb, s-tarest.adb, s-tasini.adb (elab code): Make sure the
secondary stack is initialized before calling Init_Tasking_Soft_Links,
by adding pragmas Elaborate_Body.

2014-06-13  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb (Analyze_Stream_TSS_Definition): Remove temporary
kludge disabling new legality check.

From-SVN: r211614

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 09:44:48 +0000 (11:44 +0200)]
[multiple changes]

2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Record_Type): Remove checks related to SPARK
volatile types.
(Freeze_Type): Volatile types are now illegal in SPARK.

2014-06-13  Robert Dewar  <dewar@adacore.com>

* aspects.ads, aspects.adb: Add aspect Thread_Local_Storage.
* gnat_rm.texi: Document aspect Thread_Local_Storage.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* sem_cat.adb (Validate_Static_Object_Name): A constant whose
value is a temporary that renames an aggregate is legal in a
preelaborated unit. Illegalities, if any will be detected in
the aggregate components.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads: Minor reformatting an comment expansion.

From-SVN: r211613

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 09:43:03 +0000 (11:43 +0200)]
[multiple changes]

2014-06-13  Robert Dewar  <dewar@adacore.com>

* back_end.ads, back_end.adb: Make_Id, Make_SC, Set_RND are moved to
Tbuild.
* tbuild.ads, tbuild.adb: Make_Id, Make_SC, Set_RND are moved here from
Back_End.
* gnat1drv.adb: Make_Id, Make_SC, Set_RND are moved to Tbuild
* sem_warn.adb: Minor reformatting.

2014-06-13  Doug Rupp  <rupp@adacore.com>

* adaint.c (__gnat_open_new_temp) [VMS]: Open binary
files with rfm=udf.

From-SVN: r211612

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 09:40:19 +0000 (11:40 +0200)]
[multiple changes]

2014-06-13  Yannick Moy  <moy@adacore.com>

* sem_warn.adb (Check_Unset_References): Take
case of Refined_Post into account in Within_Postcondition check.

2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

* freeze.adb (Freeze_Record_Type): Volatile types are not allowed in
SPARK.

2014-06-13  Yannick Moy  <moy@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Import,
Aspect_Export): Consider that variables may be set outside the program.

From-SVN: r211611

10 years ago[multiple changes]
Arnaud Charlet [Fri, 13 Jun 2014 09:38:29 +0000 (11:38 +0200)]
[multiple changes]

2014-06-13  Robert Dewar  <dewar@adacore.com>

* back_end.adb (Make_Id): New function.
(Make_SC): New function.
(Set_RND): New procedure.
* back_end.ads (Make_Id): New function.
(Make_SC): New function.
(Set_RND): New procedure.
* einfo.ads: Minor comment updates.
* frontend.adb: Move Atree.Initialize call to Gnat1drv.
* gnat1drv.adb (Gnat1drv): New calling sequence for
Get_Target_Parameters.
(Gnat1drv): Move Atree.Initialize here from Frontend.
* targparm.adb (Get_Target_Parameters): New calling
sequence (Get_Target_Parameters): Handle pragma Restriction
(No_Dependence,..)
* targparm.ads (Get_Target_Parameters): New calling sequence.

2014-06-13  Gary Dismukes  <dismukes@adacore.com>

* sem_prag.adb (Process_Import_Or_Interface): Exit the homonym
loop if the pragma does not come from source, so that an implicit
pragma Import only applies to the first declaration, avoiding
possible conflicts with earlier explicit and implicit declarations
due to multiple Provide_Shift_Operators pragmas.
(Set_Imported): Remove previous fix that bypassed pragma duplication
error.
* gnat_rm.texi: Change 'equivalent' to 'similar' in description
of Provide_Shift_Operators.

From-SVN: r211610

10 years agore PR tree-optimization/61375 (ICE in int_cst_value at -O3 in tree-ssa pass when...
Thomas Preud'homme [Fri, 13 Jun 2014 03:17:02 +0000 (03:17 +0000)]
re PR tree-optimization/61375 (ICE in int_cst_value at -O3 in tree-ssa pass when compiling a reference to an __int128 value)

2014-06-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/61375
    * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
    symbolic number cannot be represented in an uint64_t.
    (find_bswap_or_nop_1): Likewise.

    gcc/testsuite/
    PR tree-optimization/61375
    * gcc.c-torture/execute/pr61375-1.c: New test.

From-SVN: r211604

10 years agoDaily bump.
GCC Administrator [Fri, 13 Jun 2014 00:17:21 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r211603

10 years agosymtab.c (symtab_node::reset_section): New method.
Jan Hubicka [Thu, 12 Jun 2014 22:23:55 +0000 (00:23 +0200)]
symtab.c (symtab_node::reset_section): New method.

* symtab.c (symtab_node::reset_section): New method.
* cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
for localization.
* cgraph.h (reset_section): Declare.
* ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
do not consider comdat locals.
* cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
for new symbol.
* ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
(update_visibility_by_resolution_info): Consider UNDEF; fix checking;
reset sections of symbols dragged out of the comdats.
(function_and_variable_visibility): Reset sections of localized symbols.

From-SVN: r211600

10 years agotree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg to use symtab and decl_b...
Jan Hubicka [Thu, 12 Jun 2014 22:16:25 +0000 (00:16 +0200)]
tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg to use symtab and decl_binds_to_current_def_p

* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
to use symtab and decl_binds_to_current_def_p
* tree-vectorizer.c (increase_alignment): Increase alignment
of alias target, too.

From-SVN: r211599

10 years agore PR middle-end/61486 (ICE with #pragma omp teams)
Jakub Jelinek [Thu, 12 Jun 2014 21:10:11 +0000 (23:10 +0200)]
re PR middle-end/61486 (ICE with #pragma omp teams)

PR middle-end/61486
* gimplify.c (struct gimplify_omp_ctx): Add distribute field.
(gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
if outer combined construct is distribute.
(gimplify_omp_for): For OMP_DISTRIBUTE set
gimplify_omp_ctxp->distribute.
* omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
mapping into decl map.
c-family/
* c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
#pragma omp target teams or
#pragma omp {,target }teams distribute simd.
testsuite/
* c-c++-common/gomp/pr61486-1.c: New test.
* c-c++-common/gomp/pr61486-2.c: New test.

From-SVN: r211596

10 years agoSupport -Wabi warning about backward compatibility.
Jason Merrill [Thu, 12 Jun 2014 20:47:21 +0000 (16:47 -0400)]
Support -Wabi warning about backward compatibility.

gcc/c-family/
* c.opt (Wabi=, fabi-compat-version): New.
* c-opts.c (c_common_handle_option): Handle -Wabi=.
(c_common_post_options): Handle flag_abi_compat_version default.
Disallow -fabi-compat-version=1.
* c-common.h (abi_version_crosses): New.
gcc/cp/
* call.c (convert_arg_to_ellipsis): Use abi_version_crosses.
* cvt.c (type_promotes_to): Likewise.
* mangle.c (write_type, write_expression): Likewise.
(write_name, write_template_arg): Likewise.
(mangle_decl): Make alias based on flag_abi_compat_version.
Emit -Wabi warning here.
(finish_mangling_internal): Not here.  Drop warn parm.
(finish_mangling_get_identifier, finish_mangling): Adjust.
(mangle_type_string, mangle_special_for_type): Adjust.
(mangle_ctor_vtbl_for_type, mangle_thunk): Adjust.
(mangle_guard_variable, mangle_tls_init_fn): Adjust.
(mangle_tls_wrapper_fn, mangle_ref_init_variable): Adjust.

From-SVN: r211594

10 years ago* common.opt (fabi-version): Change default to 0.
Jason Merrill [Thu, 12 Jun 2014 20:47:14 +0000 (16:47 -0400)]
* common.opt (fabi-version): Change default to 0.

From-SVN: r211593

10 years agotoplev.c (process_options): Reject -fabi-version=1.
Jason Merrill [Thu, 12 Jun 2014 20:47:08 +0000 (16:47 -0400)]
toplev.c (process_options): Reject -fabi-version=1.

gcc/
* toplev.c (process_options): Reject -fabi-version=1.
gcc/cp/
* call.c (build_operator_new_call): Remove -fabi-version=1 support.
* class.c (walk_subobject_offsets, include_empty_classes): Likewise.
(layout_nonempty_base_or_field, end_of_class): Likewise.
(layout_empty_base, build_base_field, layout_class_type): Likewise.
(is_empty_class, add_vcall_offset_vtbl_entries_1): Likewise.
(layout_virtual_bases): Likewise.
* decl.c (compute_array_index_type): Likewise.
* mangle.c (write_mangled_name, write_prefix): Likewise.
(write_template_prefix, write_integer_cst, write_expression): Likewise.
(write_template_arg, write_array_type): Likewise.
* method.c (lazily_declare_fn): Likewise.
* rtti.c (get_pseudo_ti_index): Likewise.
* typeck.c (comp_array_types): Likewise.

From-SVN: r211592

10 years agogfortran.h (gfc_copy_formal_args_intr): Update prototype.
Tobias Burnus [Thu, 12 Jun 2014 18:35:00 +0000 (20:35 +0200)]
gfortran.h (gfc_copy_formal_args_intr): Update prototype.

2014-06-12  Tobias Burnus  <burnus@net-b.de>

        * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
        * symbol.c (gfc_copy_formal_args_intr): Handle the case
        that absent optional arguments should be ignored.
        * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
        (gfc_conv_intrinsic_funcall,
        conv_generic_with_optional_char_arg): Update call.
        * resolve.c (gfc_resolve_intrinsic): Ditto.

From-SVN: r211587

10 years agore PR tree-optimization/61009 (Incorrect jump threading in dom)
Jeff Law [Thu, 12 Jun 2014 17:12:18 +0000 (11:12 -0600)]
re PR tree-optimization/61009 (Incorrect jump threading in dom)

        PR tree-optimization/61009
* tree-ssa-threadedge.c (thread_through_normal_block): Correct return
value when we stop processing a block due to problematic PHIs.

From-SVN: r211586

10 years agocrontab: Remove 4.7 snapshot entry.
Richard Biener [Thu, 12 Jun 2014 11:57:33 +0000 (11:57 +0000)]
crontab: Remove 4.7 snapshot entry.

2014-06-12  Richard Biener  <rguenther@suse.de>

        * crontab: Remove 4.7 snapshot entry.
        * update_version_svn: Update IGNORE_BRANCHES.

From-SVN: r211522

10 years ago[AArch64] Remove from arm_neon.h functions not in the spec
Alan Lawrence [Thu, 12 Jun 2014 10:28:49 +0000 (10:28 +0000)]
[AArch64] Remove from arm_neon.h functions not in the spec

   * config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they are
not in the spec.

From-SVN: r211503

10 years agoPR/59843 Fix ICE on singleton vector of float on AArch64.
Alan Lawrence [Thu, 12 Jun 2014 10:13:11 +0000 (10:13 +0000)]
PR/59843 Fix ICE on singleton vector of float on AArch64.

gcc/ChangeLog:

* config/aarch64/aarch64-modes.def: Add V1DFmode.
* config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
Support V1DFmode.

gcc/testsuite/ChangeLog:

* gcc.dg/vect/vect-singleton_1.c: New file.

From-SVN: r211502

10 years agoutils.c (process_attributes): Pass string pointer directly to set_decl_section_name.
Jan Hubicka [Thu, 12 Jun 2014 09:52:26 +0000 (11:52 +0200)]
utils.c (process_attributes): Pass string pointer directly to set_decl_section_name.

* gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Pass
string pointer directly to set_decl_section_name.

From-SVN: r211501

10 years ago* tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
Eric Botcazou [Thu, 12 Jun 2014 09:40:29 +0000 (09:40 +0000)]
* tree-core.h (DECL_NONALIASED): Use proper spelling in comment.

From-SVN: r211499

10 years agore PR target/61443 ([avr] ICE when varargs argument is indirect addr-space access)
Georg-Johann Lay [Thu, 12 Jun 2014 08:20:35 +0000 (08:20 +0000)]
re PR target/61443 ([avr] ICE when varargs argument is indirect addr-space access)

gcc/
PR target/61443
* config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
loading from address spaces.
gcc/testsuite/
PR target/61443
* gcc.target/avr/torture/pr61443.c: New test.

From-SVN: r211491

10 years agore PR ipa/61462 (ICE in ipa-prop.c:2562 caused by missing edge gimple call stmt)
Martin Liska [Thu, 12 Jun 2014 07:48:23 +0000 (09:48 +0200)]
re PR ipa/61462 (ICE in ipa-prop.c:2562 caused by missing edge gimple call stmt)

PR ipa/61462
* ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
statement is reachable.

From-SVN: r211490

10 years agosymtab.c (section_hash): New hash.
Jan Hubicka [Thu, 12 Jun 2014 04:03:49 +0000 (06:03 +0200)]
symtab.c (section_hash): New hash.

* symtab.c (section_hash): New hash.
(symtab_unregister_node): Clear section before freeing.
(hash_section_hash_entry): New haser.
(eq_sections): New function.
(symtab_node::set_section_for_node): New method.
(set_section_1): Update.
(symtab_node::set_section): Take string instead of tree as parameter.
(symtab_resolve_alias): Update.
* cgraph.h (section_hash_entry_d): New structure.
(section_hash_entry): New typedef.
(cgraph_node): Change comdat_group_ to x_comdat_group,
change section_ to x_section and turn into section_hash_entry;
update accestors; put set_section_for_node offline.
* tree.c (decl_section_name): Turn into string.
(set_decl_section_name): Change parameter to be string.
* tree.h (decl_section_name, set_decl_section_name): Update prototypes.
* sdbout.c (sdbout_one_type): Update.
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
* varasm.c (IN_NAMED_SECTION, get_named_section, resolve_unique_section,
hot_function_section, get_named_text_section, USE_SELECT_SECTION_FOR_FUNCTIONS,
default_function_rodata_section, make_decl_rtl, default_unique_section):
Update.
* config/c6x/c6x.c (c6x_in_small_data_p): Update.
(c6x_elf_unique_section): Update.
* config/nios2/nios2.c (nios2_in_small_data_p): Update.
* config/pa/pa.c (pa_function_section): Update.
* config/pa/pa.h (IN_NAMED_SECTION_P): Update.
* config/ia64/ia64.c (ia64_in_small_data_p): Update.
* config/arc/arc.c (arc_in_small_data_p): Update.
* config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
* config/mcore/mcore.c (mcore_unique_section): Update.
* config/mips/mips.c (mips16_build_function_stub): Update.
(mips16_build_call_stub): Update.
(mips_function_rodata_section): Update.
(mips_in_small_data_p): Update.
* config/score/score.c (score_in_small_data_p): Update.
* config/rx/rx.c (rx_in_small_data): Update.
* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
(rs6000_xcoff_asm_named_section): Update.
(rs6000_xcoff_unique_section): Update.
* config/frv/frv.c (frv_string_begins_with): Update.
(frv_in_small_data_p): Update.
* config/v850/v850.c (v850_encode_data_area): Update.
* config/bfin/bfin.c (DECL_SECTION_NAME): Update.
(bfin_handle_l1_data_attribute): Update.
(bfin_handle_l2_attribute): Update.
* config/mep/mep.c (mep_unique_section): Update.
* config/microblaze/microblaze.c (microblaze_elf_in_small_data_p): Update.
* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
(h8300_handle_tiny_data_attribute): Update.
* config/m32r/m32r.c (m32r_in_small_data_p): Update.
(m32r_in_small_data_p): Update.
* config/alpha/alpha.c (alpha_in_small_data_p): Update.
* config/i386/i386.c (ix86_in_large_data_p): Update.
* config/i386/winnt.c (i386_pe_unique_section): Update.
* config/darwin.c (darwin_function_section): Update.
* config/lm32/lm32.c (lm32_in_small_data_p): Update.
* tree-emutls.c (get_emutls_init_templ_addr): Update.
(new_emutls_decl): Update.
* lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
input_varpool_node): Update.
(ead_string_cst): Turn to ...
(read_string): ... this one.
* dwarf2out.c (secname_for_decl): Update.
* asan.c (asan_protect_global): Update.

* c-family/c-common.c (handle_section_attribute): Update handling for
section names that are no longer trees.

* java/class.c (build_utf8_ref): Update handling for section names
that are no longer trees.
(emit_register_classes_in_jcr_section): Update.

* vtable-class-hierarchy.c: Update handling for section names
that are no longer trees.
* decl.c (duplicate_decls): Likewise.

* gcc-interface/utils.c:  Update handling for section names
that are no longer trees.

From-SVN: r211489

10 years agore PR c++/19200 (Friend declaration misinterpreted as constructor)
Paolo Carlini [Thu, 12 Jun 2014 01:29:42 +0000 (01:29 +0000)]
re PR c++/19200 (Friend declaration misinterpreted as constructor)

/cp
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/19200
* parser.c (cp_parser_init_declarator): Actually pass friend_p
to cp_parser_declarator.

/testsuite
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/19200
* g++.dg/parse/friend11.C: New.

From-SVN: r211488

10 years agoDaily bump.
GCC Administrator [Thu, 12 Jun 2014 00:17:18 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r211487

10 years agorx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte cache lines.
DJ Delorie [Wed, 11 Jun 2014 21:06:31 +0000 (17:06 -0400)]
rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte cache lines.

* config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
cache lines.
* config/rx/rx.c (rx_option_override): Likewise.
(rx_align_for_label): Likewise.

From-SVN: r211481

10 years ago* config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
DJ Delorie [Wed, 11 Jun 2014 19:31:11 +0000 (15:31 -0400)]
* config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.

From-SVN: r211480

10 years agore PR c++/60265 ([C++11] using-declaration of enumerator fails if fully qualified)
Paolo Carlini [Wed, 11 Jun 2014 17:28:14 +0000 (17:28 +0000)]
re PR c++/60265 ([C++11] using-declaration of enumerator fails if fully qualified)

/cp
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60265
* parser.c (cp_parser_using_declaration): Handle unscoped enums.
* name-lookup.c (validate_nonmember_using_decl): Adjust error
message.

/testsuite
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60265
* g++.dg/cpp0x/using-enum-1.C: New.
* g++.dg/cpp0x/using-enum-2.C: Likewise.

From-SVN: r211479

10 years agommix-protos.h (mmix_asm_output_source_line): Remove prototype.
Maciej W. Rozycki [Wed, 11 Jun 2014 17:20:48 +0000 (17:20 +0000)]
mmix-protos.h (mmix_asm_output_source_line): Remove prototype.

* config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
prototype.

From-SVN: r211478

10 years agocommon.md: New file.
Richard Sandiford [Wed, 11 Jun 2014 16:59:17 +0000 (16:59 +0000)]
common.md: New file.

gcc/
* common.md: New file.
* doc/md.texi: Update description of generic, machine-independent
constraints.
* config/s390/constraints.md (e): Delete.
* Makefile.in (md_file): Include common.md.
* config/m32c/t-m32c (md_file): Likewise.
* genpreds.c (general_mem): New array.
(generic_constraint_letters): Remove constraints now defined by
common.md.
(add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
Allow the first character to be '<' or '>' as well.
* genoutput.c (general_mem): New array.
(indep_constraints): Remove constraints now defined by common.md.
(note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
Remove special handling of 'm'.
* ira-costs.c (record_reg_classes): Remove special handling of
constraints now defined by common.md.
* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
* ira-lives.c (single_reg_class): Likewise.
(ira_implicitly_set_insn_hard_regs): Likewise.
* lra-constraints.c (reg_class_from_constraints): Likewise.
(process_alt_operands, process_address, curr_insn_transform): Likewise.
* postreload.c (reload_cse_simplify_operands): Likewise.
* reload.c (push_secondary_reload, scratch_reload_class)
(find_reloads, alternative_allows_const_pool_ref): Likewise.
* reload1.c (maybe_fix_stack_asms): Likewise.
* targhooks.c (default_secondary_reload): Likewise.
* stmt.c (parse_output_constraint): Likewise.
* recog.c (preprocess_constraints): Likewise.
(constrain_operands, peep2_find_free_register): Likewise.
(asm_operand_ok): Likewise, but add a comment saying why 'o'
must be handled specially.

From-SVN: r211475

10 years agosystem.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
Richard Sandiford [Wed, 11 Jun 2014 16:59:01 +0000 (16:59 +0000)]
system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.

gcc/
* system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
* genpreds.c (have_const_dbl_constraints): Delete.
(add_constraint): Don't set it.
(write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
* ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
constraints using the lookup_constraint logic.
* ira-lives.c (single_reg_class): Likewise.
* ira.c (ira_setup_alts): Likewise.
* lra-constraints.c (process_alt_operands): Likewise.
* recog.c (asm_operand_ok, constrain_operands): Likewise.
* reload.c (find_reloads): Likewise.

From-SVN: r211474

10 years agogenpreds.c (const_int_start, [...]): New variables.
Richard Sandiford [Wed, 11 Jun 2014 16:58:51 +0000 (16:58 +0000)]
genpreds.c (const_int_start, [...]): New variables.

gcc/
* genpreds.c (const_int_start, const_int_end): New variables.
(choose_enum_order): Output CONST_INT constraints before memory
constraints.
(write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
Add CT_CONST_INT.
* ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
* ira.c (ira_setup_alts): Likewise.
* lra-constraints.c (process_alt_operands): Likewise.
* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
* reload.c (find_reloads): Likewise.

From-SVN: r211473

10 years agorecog.h (operand_alternative): Remove offmem_ok, nonffmem_ok, decmem_ok and incmem_ok.
Richard Sandiford [Wed, 11 Jun 2014 16:58:43 +0000 (16:58 +0000)]
recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok, decmem_ok and incmem_ok.

gcc/
* recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
decmem_ok and incmem_ok.  Reformat other bitfields for consistency.
* recog.c (preprocess_constraints): Update accordingly.

From-SVN: r211472

10 years agosystem.h (REG_CLASS_FROM_CONSTRAINT): Poison.
Richard Sandiford [Wed, 11 Jun 2014 16:58:35 +0000 (16:58 +0000)]
system.h (REG_CLASS_FROM_CONSTRAINT): Poison.

gcc/
* system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
(REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
* genpreds.c (print_type_tree): New function.
(write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
Write out enum constraint_type and get_constraint_type.
* lra-constraints.c (satisfies_memory_constraint_p): Take a
constraint_num rather than a constraint string.
(satisfies_address_constraint_p): Likewise.
(reg_class_from_constraints): Avoid old constraint macros.
(process_alt_operands, process_address_1): Likewise.
(curr_insn_transform): Likewise.
* ira-costs.c (record_reg_classes): Likewise.
(record_operand_costs): Likewise.
* ira-lives.c (single_reg_class): Likewise.
(ira_implicitly_set_insn_hard_regs): Likewise.
* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
* postreload.c (reload_cse_simplify_operands): Likewise.
* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
(constrain_operands, peep2_find_free_register): Likewise.
* reload.c (push_secondary_reload, scratch_reload_class): Likewise.
(find_reloads, alternative_allows_const_pool_ref): Likewise.
* reload1.c (maybe_fix_stack_asms): Likewise.
* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
* targhooks.c (default_secondary_reload): Likewise.
* config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
to EXTRA_CONSTRAINT_STR.
* config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.

From-SVN: r211471

10 years agogenpreds.c (write_constraint_satisfied_p_1): Replace with...
Richard Sandiford [Wed, 11 Jun 2014 16:58:25 +0000 (16:58 +0000)]
genpreds.c (write_constraint_satisfied_p_1): Replace with...

gcc/
* genpreds.c (write_constraint_satisfied_p_1): Replace with...
(write_constraint_satisfied_p_array): ...this new function.
(write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
an array.
(write_insn_preds_c): Update accordingly.

From-SVN: r211470

10 years agogenpreds.c (write_lookup_constraint): Rename to...
Richard Sandiford [Wed, 11 Jun 2014 16:58:17 +0000 (16:58 +0000)]
genpreds.c (write_lookup_constraint): Rename to...

gcc/
* genpreds.c (write_lookup_constraint): Rename to...
(write_lookup_constraint_1): ...this.
(write_lookup_constraint_array): New function.
(write_tm_preds_h): Define lookup_constraint as an inline function
that uses write_lookup_constraint_array where possible.
(write_insn_preds_c): Update for the changes above.

From-SVN: r211469

10 years agomd.texi (regclass_for_constraint): Rename to...
Richard Sandiford [Wed, 11 Jun 2014 16:58:09 +0000 (16:58 +0000)]
md.texi (regclass_for_constraint): Rename to...

gcc/
* doc/md.texi (regclass_for_constraint): Rename to...
(reg_class_for_constraint): ...this.
* genpreds.c (num_constraints, enum_order, register_start)
(register_end, satisfied_start, memory_start, memory_end)
(address_start, address_end): New variables.
(add_constraint): Count the number of constraints.
(choose_enum_order): New function.
(write_enum_constraint_num): Iterate over enum_order.
(write_regclass_for_constraint): Rename to...
(write_reg_class_for_constraint_1): ...this and update output
accordingly.
(write_constraint_satisfied_p): Rename to...
(write_constraint_satisfied_p_1): ...this and update output
accordingly.  Do nothing if all extra constraints are register
constraints.
(write_insn_extra_memory_constraint): Delete.
(write_insn_extra_address_constraint): Delete.
(write_range_function): New function.
(write_tm_preds_h): Define constraint_satisfied_p and
reg_class_for_constraint as inline functions that do a range check
before calling the out-of-line function.  Use write_range_function
to implement insn_extra_{register,memory,address}_constraint,
the first of which is new.
(write_insn_preds_c): Update after above changes to write_* functions.
(main): Call choose_enum_order.

From-SVN: r211468

10 years agore PR c++/19200 (Friend declaration misinterpreted as constructor)
Paolo Carlini [Wed, 11 Jun 2014 15:16:45 +0000 (15:16 +0000)]
re PR c++/19200 (Friend declaration misinterpreted as constructor)

/cp
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/19200
* parser.c (cp_parser_declarator): Add bool parameter.
(cp_parser_direct_declarator): Likewise, use it.
(cp_parser_member_declaration): Pass friend_p to cp_parser_declarator.
(cp_parser_condition, cp_parser_explicit_instantiation,
cp_parser_init_declarator, cp_parser_type_id_1,
cp_parser_parameter_declaration, cp_parser_exception_declaration,
cp_parser_cache_defarg, cp_parser_objc_class_ivars,
cp_parser_objc_struct_declaration, cp_parser_omp_for_loop_init):
Adjust.
* decl.c (grokdeclarator): Fix handling of friend declared in
namespace scope (g++.dg/parse/friend10.C).

/testsuite
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/19200
* g++.dg/parse/friend9.C: New.
* g++.dg/parse/friend10.C: Likewise.
* g++.dg/parse/friend7.C: Adjust.

From-SVN: r211467

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 12:55:03 +0000 (14:55 +0200)]
[multiple changes]

2014-06-11  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb: Minor reformatting.

2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Check_Clause_Syntax): Add new
local variable Outputs. Account for the case where multiple
output items appear as an aggregate.

2014-06-11  Robert Dewar  <dewar@adacore.com>

* sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning
with ?j? not ??.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads: Minor reformatting.

2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

* a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add
new variable First_Node. Update the position after all insertions have
taken place to First_Node.

2014-06-11  Robert Dewar  <dewar@adacore.com>

* debug.adb: Remove debug flag -gnatd.1, no longer needed.
* layout.adb (Layout_Type): Remove test of -gnatd.1.

From-SVN: r211465

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 12:50:22 +0000 (14:50 +0200)]
[multiple changes]

2014-06-11  Thomas Quinot  <quinot@adacore.com>

* freeze.ads: Minor reformatting.
* checks.adb (Determine_Range): Do not attempt to determine
the range of a deferred constant whose full view has not been
seen yet.
* sem_res.adb (Resolve): Remove undesirable guard against
resolving expressions from expression functions.

2014-06-11  Robert Dewar  <dewar@adacore.com>

* debug.adb (Debug_Flag_Dot_1): Set to enable fix for anonymous
access types.
* layout.adb (Layout_Type): Make anonymous access types for
subprogram formal types and return types always thin. For now
only enabled if -gnatd.1 set.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
rule for stream attributes of interface types (RM 13.13.2 (38/3)):
subprogram must be a null procedure.

From-SVN: r211464

10 years agoMinor reformatting.
Arnaud Charlet [Wed, 11 Jun 2014 12:48:08 +0000 (14:48 +0200)]
Minor reformatting.

From-SVN: r211463

10 years agoCode clean up.
Arnaud Charlet [Wed, 11 Jun 2014 12:47:45 +0000 (14:47 +0200)]
Code clean up.

From-SVN: r211462

10 years agoCode clean ups.
Arnaud Charlet [Wed, 11 Jun 2014 12:47:10 +0000 (14:47 +0200)]
Code clean ups.

From-SVN: r211461

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 12:42:28 +0000 (14:42 +0200)]
[multiple changes]

2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Input_Item): Allow formal
parameters to appear as input_items in an initialization_list
of pragma Initializes. Encapsulation now applies to states and
variables only (as it should). Add RM references to key errors.
* sem_prag.adb (Set_Imported): Suppress errors
about preceding Imports when the pragma does not come from source,
which can happen through use of pragma Provide_Shift_Operators.

2014-06-11  Thomas Quinot  <quinot@adacore.com>

* sem_ch3.adb: Minor reformatting.
* einfo.ads (Full_View): Minor comment update.

From-SVN: r211460

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 12:37:07 +0000 (14:37 +0200)]
[multiple changes]

2014-06-11  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi, switch-c.adb, sem_prag.adb, a-tgdico.ads, par-prag.adb,
opt.ads, a-finali.ads, snames.ads-tmpl: Remove all traces of
pragma/aspects Pure_05 Pure_12 Preelaborate_05.
* errout.adb (Output_Messages): Avoid duplicate output for
library level instance.
* sem_elab.adb (Is_Call_Of_Generic_Formal): Moved to outer level
(Check_Elab_Call): Add call to Is_Call_Of_Generic_Formal
* exp_ch4.adb (Expand_N_Op_Expon): New interface for Exp_Modular.
* s-expmod.ads, s-expmod.adb (Exp_Modular): Change interface to
accomodate largest modulus value.
* gnat_ugn.texi: Minor updates.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Instantiate_Package_Body): Do not attempt to
load body of generic package or its parent, if body is optional
and the unit does not require a body.

From-SVN: r211459

10 years agognat_rm.texi: Document System.Unsigned_Types.
Robert Dewar [Wed, 11 Jun 2014 12:34:08 +0000 (12:34 +0000)]
gnat_rm.texi: Document System.Unsigned_Types.

2014-06-11  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Document System.Unsigned_Types.
* impunit.adb: System.Unsigned_Types (s-unstyp.ads) is user accessible.
* s-unstyp.ads: Update comments (this is now user available unit).

From-SVN: r211458

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 12:31:56 +0000 (14:31 +0200)]
[multiple changes]

2014-06-11  Robert Dewar  <dewar@adacore.com>

* make.adb, sem_res.adb: Minor reformatting.

2014-06-11  Thomas Quinot  <quinot@adacore.com>

* a-astaco.ads, a-tags.ads, s-excdeb.ads, a-tgdico.ads, a-stmaco.ads,
a-except-2005.ads, s-except.ads, a-taside.ads, a-dynpri.ads,
a-chahan.ads, a-sytaco.ads, s-stalib.ads, a-strmap.ads: Change pragmas
Preelaborate_05 to just Preelaborate in runtime units, and similarly
change Pure_05 to just Pure.

From-SVN: r211457

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 12:29:22 +0000 (14:29 +0200)]
[multiple changes]

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not attempt
analysis if error has been posted on subprogram body.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
rule given in RM 13.1 (8/1) for operational attributes to stream
attributes: the attribute must apply to a first subtype. Fixes
missing errors in ACATS test bdd2004.

2014-06-11  Robert Dewar  <dewar@adacore.com>

* exp_ch3.adb (Build_Record_Init_Proc): Don't build for variant
record type if restriction No_Implicit_Conditionals is active.
(Expand_N_Object_Declaration): Don't allow default initialization
for variant record type if restriction No_Implicit_Condition is active.
(Build_Variant_Record_Equality): Don't build for variant
record type if restriction No_Implicit_Conditionals is active.
* exp_ch4.adb (Expand_N_Op_Eq): Error if variant records with
No_Implicit_Conditionals.
* sem_aux.ads, sem_aux.adb (Has_Variant_Part): New function.

2014-06-11  Ramon Fernandez  <fernandez@adacore.com>

* i-cstrin.ads: Update comments.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Selected_Component): Handle properly a
selected component whose prefix is overloaded, when none of the
interpretations matches the expected type.

2014-06-11  Bob Duff  <duff@adacore.com>

* make.adb (Wait_For_Available_Slot): Give a more
informative error message; if the ALI file is not found, print
the full path of what it's looking for.

From-SVN: r211456

10 years ago2014-06-11 Sergey Rybin <rybin@adacore.com frybin>
Arnaud Charlet [Wed, 11 Jun 2014 12:25:22 +0000 (14:25 +0200)]
2014-06-11  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi, vms_data.ads: add description of gnatstub -W<par>
option to specify the result file encoding.

2014-06-11  Robert Dewar  <dewar@adacore.com>

* errout.ads, sem_ch12.adb: Minor reformatting.
* debug.adb, erroutc.adb: Remove -gnatd.q debug switch.
* lib-xref.adb: Minor reformatting.
* restrict.adb: Minor code reorganization (put routines in
alpha order).

From-SVN: r211455

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 12:22:57 +0000 (14:22 +0200)]
[multiple changes]

2014-06-11  Yannick Moy  <moy@adacore.com>

* einfo.ads: Minor typo in comment

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* sinfo.ads, sinfo.adb: New attribute Uninitialized_Variable, for
formal private types and private type extensions, to indicate
variable in a generic unit whose uninitialized use suggest that
actual type should be fully initialized.
Needs_Initialized_Actual:  removed, functionaity replaced by
the above.
* lib-xref.adb (Generate_Reference): Generate a reference for
variables of a formal type when the unit is not the main unit,
to enable appropriate warnings in an instance.
* sem_ch12.adb (Check_Ininialized_Type): Improve warning on use
of variable in a generic unit that suggests that actual type
should be full initialized.
* sem_warn.adb; (May_Need_Initialized_Actual): Make into procedure
and do not emot warning, which now only appears in an instance.

2014-06-11  Eric Botcazou  <ebotcazou@adacore.com>

* gnat_ugn.texi: Fix minor typo.

2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb Add with and use clause for Sem_Ch10.
(Analyze_Declarations): Code reformatting. Analyze the contract
of a subprogram body stub at the end of the declarative region.
* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Spec_Id is
now a variable. Do not process the body if its contract is not
available. Account for subprogram body stubs when extracting
the corresponding spec.
* sem_ch6.ads (Analyze_Subprogram_Contract): Update the comment
on usage.
* sem_ch10.ads, sem_ch10.adb (Analyze_Subprogram_Body_Stub_Contract):
New routine.
* sem_prag.adb (Analyze_Depends_In_Decl_Part):
Account for subprogram body stubs when extracting the
corresponding spec.
(Analyze_Global_In_Decl_List):
Account for subprogram body stubs when extracting the
corresponding spec.
(Analyze_Refined_Depends_In_Decl_Part):
Use Find_Related_Subprogram_Or_Body to retrieve the declaration
of the related body. Spec_Is now a variable. Account for
subprogram body stubs when extracting the corresponding spec.
(Analyze_Refined_Global_In_Decl_Part): Use
Find_Related_Subprogram_Or_Body to retrieve the declaration
of the related body. Spec_Is now a variable. Account for
subprogram body stubs when extracting the corresponding spec.
(Collect_Subprogram_Inputs_Output): Account for subprogram body
stubs when extracting the corresponding spec.

2014-06-11  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb (Process_Link): Do not invoke gnatlink with
-lgnarl or -lgnat.

From-SVN: r211454

10 years agoasan_linux.cc: Cherry pick upstream r210012.
Richard Biener [Wed, 11 Jun 2014 11:35:48 +0000 (11:35 +0000)]
asan_linux.cc: Cherry pick upstream r210012.

2014-06-11  Richard Biener  <rguenther@suse.de>

* asan/asan_linux.cc: Cherry pick upstream r210012.

From-SVN: r211453

10 years agore PR tree-optimization/61452 (hang at -O1 and -Os on x86_64-linux-gnu)
Richard Biener [Wed, 11 Jun 2014 11:17:21 +0000 (11:17 +0000)]
re PR tree-optimization/61452 (hang at -O1 and -Os on x86_64-linux-gnu)

2014-06-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61452
* tree-ssa-sccvn.c (visit_phi): Remove pointless setting of
expr and has_constants in case we found a leader.
(simplify_binary_expression): Always valueize operands first.
(simplify_unary_expression): Likewise.

* gcc.dg/torture/pr61452.c: New testcase.

From-SVN: r211450

10 years agoDelete temporary string within demangler even in failure cases.
Andrew Burgess [Wed, 11 Jun 2014 10:57:27 +0000 (10:57 +0000)]
Delete temporary string within demangler even in failure cases.

A call to demangle_template might allocate storage within a temporary
string even if the call to demangle_template eventually returns
failure.

This will never cause the demangler to crash, but does leak memory, as
a result I've not added any tests for this.

Calling string_delete is safe, even if nothing is allocated into the
string, the string is initialised with string_init, so we know the
internal pointers are NULL.

libiberty/ChangeLog

* cplus-dem.c (do_type): Call string_delete even if the call to
demangle_template fails.

From-SVN: r211449

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 10:55:15 +0000 (12:55 +0200)]
[multiple changes]

2014-06-11  Robert Dewar  <dewar@adacore.com>

* debug.adb: Add debug flag -gnatd.q.
* erroutc.adb (Prescan_Message): Bomb if untagged warning with
-gnatd.q set.
* styleg.adb (Check_Xtra_Parens): Message should be a style
message.
* sem_aggr.adb, sem_ch3.adb, exp_ch9.adb, checks.adb, sem_prag.adb,
par-endh.adb, eval_fat.adb, freeze.adb, sem_util.adb, sem_attr.adb,
sem_elab.adb, sem_ch6.adb, sem_warn.adb, sem_cat.adb,
sem_ch13.adb, lib-xref.adb: Add remaining warning tags.

2014-06-11  Ben Brosgol  <brosgol@adacore.com>

* gnat_rm.texi: Revised chapter on Implementation Defined
Characteristics.

From-SVN: r211448

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 10:52:35 +0000 (12:52 +0200)]
[multiple changes]

2014-06-11  Geert Bosch  <bosch@adacore.com>

* s-exctab.adb: avoid race conditions in exception registration.

2014-06-11  Robert Dewar  <dewar@adacore.com>

* errout.adb (Warn_Insertion): New function.
(Error_Msg): Use Warn_Insertion and Prescan_Message.
(Error_Msg_Internal): Set Info field of error object.
(Error_Msg_NEL): Use Prescan_Message.
(Set_Msg_Text): Don't store info: at start of message.
(Skip_Msg_Insertion_Warning): New name for Set_Msg_Insertion_Warning.
(Skip_Msg_Insertion_Warning): Now just skips warning insertion.
* errout.ads: Document new ?$? and >$> insertion sequences
Document use of "(style)" and "info: "
* erroutc.adb (dmsg): Print several missing fields
(Get_Warning_Tag): Handle -gnatel case (?$?)  (Output_Msg_Text):
Deal with new tagging of info messages
* erroutc.ads: Is_Info_Msg: New global (Error_Msg_Object):
Add field Info (Prescan_Message): New procedure, this procedure
replaces the old Test_Style_Warning_Serious_Unconditional_Msg
* errutil.adb, exp_util.adb, par-ch7.adb, sem_ch13.adb, sem_ch7.adb,
sem_elab.adb: Follow new rules for info message (info belongs
only at the start of a message, and only in the first message,
not in any of the continuations).
* gnat_ugn.texi: Document full set of warning tags.

From-SVN: r211447

10 years ago[multiple changes]
Arnaud Charlet [Wed, 11 Jun 2014 10:49:33 +0000 (12:49 +0200)]
[multiple changes]

2014-06-11  Gary Dismukes  <dismukes@adacore.com>

* sem_util.adb: Minor typo fix.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

* sem_warn.adb (Check_References): Do not emit spurious warnings
on uninitialzed variable of a formal private type if variable
is not read.

From-SVN: r211446

10 years agore PR c++/34049 (Parentheses-enclosed expression.)
Paolo Carlini [Wed, 11 Jun 2014 10:24:55 +0000 (10:24 +0000)]
re PR c++/34049 (Parentheses-enclosed expression.)

2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/34049
* g++.dg/parse/pr34049.C: New.

From-SVN: r211445

10 years agore PR tree-optimization/61306 (wrong code at -Os and above on x86_64-linux-gnu)
Thomas Preud'homme [Wed, 11 Jun 2014 10:04:33 +0000 (10:04 +0000)]
re PR tree-optimization/61306 (wrong code at -Os and above on x86_64-linux-gnu)

2014-06-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/61306
    * tree-ssa-math-opts.c (struct symbolic_number): Store type of
    expression instead of its size.
    (do_shift_rotate): Adapt to change in struct symbolic_number. Return
    false to prevent optimization when the result is unpredictable due to
    arithmetic right shift of signed type with highest byte is set.
    (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
    (init_symbolic_number): Likewise.
    (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
    when the result is unpredictable due to sign extension.

    gcc/testsuite/
    * gcc.c-torture/execute/pr61306-1.c: New test.
    * gcc.c-torture/execute/pr61306-2.c: Likewise.
    * gcc.c-torture/execute/pr61306-3.c: Likewise.

From-SVN: r211444

10 years agoarm.md (*thumb1_adddi3): Move into new file thumb1.md.
Terry Guo [Wed, 11 Jun 2014 09:47:35 +0000 (09:47 +0000)]
arm.md (*thumb1_adddi3): Move into new file thumb1.md.

2014-06-11  Terry Guo  <terry.guo@arm.com>

* config/arm/arm.md (*thumb1_adddi3): Move into new file thumb1.md.
(*thumb1_addsi3): Ditto.
(*thumb_subdi3): Ditto.
(thumb1_subsi3_insn): Ditto.
(*thumb_mulsi3): Ditto.
(*thumb_mulsi3_v6): Ditto.
(*thumb1_andsi3_insn): Ditto.
(thumb1_bicsi3): Ditto.
(*thumb1_iorsi3_insn): Ditto.
(*thumb1_xorsi3_insn): Ditto.
(*thumb1_ashlsi3): Ditto.
(*thumb1_ashrsi3): Ditto.
(*thumb1_lshrsi3): Ditto.
(*thumb1_rotrsi3): Ditto.
(*thumb1_negdi2): Ditto.
(*thumb1_negsi2): Ditto.
(*thumb1_abssi2): Ditto.
(*thumb1_neg_abssi2): Ditto.
(*thumb1_one_cmplsi2): Ditto.
(*thumb1_zero_extendhisi2): Ditto.
(*thumb1_zero_extendqisi2): Ditto.
(*thumb1_zero_extendqisi2_v6): Ditto.
(thumb1_extendhisi2): Ditto.
(thumb1_extendqisi2): Ditto.
(*thumb1_movdi_insn): Ditto.
(*thumb1_movsi_insn): Ditto.
(*thumb1_movhi_insn): Ditto.
(thumb_movhi_clobber): Ditto.
(*thumb1_movqi_insn): Ditto.
(*thumb1_movhf): Ditto.
(*thumb1_movsf_insn): Ditto.
(*thumb_movdf_insn): Ditto.
(movmem12b): Ditto.
(movmem8b): Ditto.
(cbranchqi4): Ditto.
(cbranchsi4_insn): Ditto.
(cbranchsi4_scratch): Ditto.
(*negated_cbranchsi4): Ditto.
(*tbit_cbranch): Ditto.
(*tlobits_cbranch): Ditto.
(*tstsi3_cbranch): Ditto.
(*cbranchne_decr1): Ditto.
(*addsi3_cbranch): Ditto.
(*addsi3_cbranch_scratch): Ditto.
(*thumb_cmpdi_zero): Ditto.
(cstoresi_eq0_thumb1): Ditto.
(cstoresi_ne0_thumb1): Ditto.
(*cstoresi_eq0_thumb1_insn): Ditto.
(*cstoresi_ne0_thumb1_insn): Ditto.
(cstoresi_nltu_thumb1): Ditto.
(cstoresi_ltu_thumb1): Ditto.
(thumb1_addsi3_addgeu): Ditto.
(*thumb_jump): Ditto.
(*call_reg_thumb1_v5): Ditto.
(*call_reg_thumb1): Ditto.
(*call_value_reg_thumb1_v5): Ditto.
(*call_value_reg_thumb1): Ditto.
(*call_insn): Ditto.
(*call_value_insn): Ditto.
(thumb1_casesi_internal_pic): Ditto.
(thumb1_casesi_dispatch): Ditto.
(*thumb1_indirect_jump): Ditto.
(prologue_thumb1_interwork): Ditto.
(*epilogue_insns): Ditto.
(consttable_1): Ditto.
(consttable_2): Ditto.
(tablejump): Ditto.
(*thumb1_tablejump): Ditto.
(thumb_eh_return): Ditto.
(define_peephole2): Two of them are thumb1 only and got moved into
new file thumb1.md.
(define_split): Six of them are thumb1 only and got moved into new
file thumb1.md.
* config/arm/thumb1.md: New file comprised of above thumb1 only
patterns.

From-SVN: r211443

10 years ago[AArch64] Add CRC32 ACLE intrinsics testsuite.
Kyrylo Tkachov [Wed, 11 Jun 2014 09:19:14 +0000 (09:19 +0000)]
[AArch64] Add CRC32 ACLE intrinsics testsuite.

* gcc.target/aarch64/acle/acle.exp: New.
* gcc.target/aarch64/acle/crc32b.c: New test.
* gcc.target/aarch64/acle/crc32cb.c: Likewise.
* gcc.target/aarch64/acle/crc32cd.c: Likewise.
* gcc.target/aarch64/acle/crc32ch.c: Likewise.
* gcc.target/aarch64/acle/crc32cw.c: Likewise.
* gcc.target/aarch64/acle/crc32d.c: Likewise.
* gcc.target/aarch64/acle/crc32h.c: Likewise.
* gcc.target/aarch64/acle/crc32w.c: Likewise.
--This line,gand those below, will be ignored--

A    gcc/testsuite/gcc.target/aarch64/acle
A    gcc/testsuite/gcc.target/aarch64/acle/acle.exp
A    gcc/testsuite/gcc.target/aarch64/acle/crc32b.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32d.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32cb.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32cd.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32w.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32h.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32cw.c
A    gcc/testsuite/gcc.target/aarch64/acle/crc32ch.c
M    gcc/testsuite/ChangeLog

From-SVN: r211441

10 years ago[AArch64] Implement CRC32 ACLE intrinsics.
Kyrylo Tkachov [Wed, 11 Jun 2014 09:17:18 +0000 (09:17 +0000)]
[AArch64] Implement CRC32 ACLE intrinsics.

* config.gcc (aarch64*-*-*): Add arm_acle.h to extra headers.
* Makefile.in (TEXI_GCC_FILES): Add aarch64-acle-intrinsics.texi to
dependencies.
* config/aarch64/aarch64-builtins.c (AARCH64_CRC32_BUILTINS): Define.
(aarch64_crc_builtin_datum): New struct.
(aarch64_crc_builtin_data): New.
(aarch64_init_crc32_builtins): New function.
(aarch64_init_builtins): Initialise CRC32 builtins when appropriate.
(aarch64_crc32_expand_builtin): New.
(aarch64_expand_builtin): Add CRC32 builtin expansion case.
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
__ARM_FEATURE_CRC32 when appropriate.
(TARGET_CRC32): Define.
* config/aarch64/aarch64.md (UNSPEC_CRC32B, UNSPEC_CRC32H,
UNSPEC_CRC32W, UNSPEC_CRC32X, UNSPEC_CRC32CB, UNSPEC_CRC32CH,
UNSPEC_CRC32CW, UNSPEC_CRC32CX): New unspec values.
(aarch64_<crc_variant>): New pattern.
* config/aarch64/arm_acle.h: New file.
* config/aarch64/iterators.md (CRC): New int iterator.
(crc_variant, crc_mode): New int attributes.
* doc/aarch64-acle-intrinsics.texi: New file.
* doc/extend.texi (aarch64): Document aarch64 ACLE intrinsics.
Include aarch64-acle-intrinsics.texi.

From-SVN: r211440

10 years agore PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to...
Evgeny Stupachenko [Wed, 11 Jun 2014 08:37:53 +0000 (08:37 +0000)]
re PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to 3 times))

gcc/
* tree-vect-data-refs.c (vect_grouped_store_supported): New
check for stores group of length 3.
(vect_permute_store_chain): New permutations for stores group of
length 3.
* tree-vect-stmts.c (vect_model_store_cost): Change cost
of vec_perm_shuffle for the new permutations.

gcc/testsuite/
PR tree-optimization/52252
* gcc.dg/vect/pr52252-st.c: Test on stores group of size 3.

From-SVN: r211439

10 years agoipa-visibility.c (function_and_variable_visibility): Disable virtual table rewriting...
Jan Hubicka [Wed, 11 Jun 2014 08:15:34 +0000 (10:15 +0200)]
ipa-visibility.c (function_and_variable_visibility): Disable virtual table rewriting temporarily on targets not supporting ONE_ONLY.

* ipa-visibility.c (function_and_variable_visibility): Disable
virtual table rewriting temporarily on targets not supporting
ONE_ONLY.

From-SVN: r211437

10 years agore PR tree-optimization/61437 (wrong code on x86_64-linux-gnu when compile separately)
Richard Biener [Wed, 11 Jun 2014 07:35:36 +0000 (07:35 +0000)]
re PR tree-optimization/61437 (wrong code on x86_64-linux-gnu when compile separately)

2014-06-11  Richard Biener  <rguenther@suse.de>

PR middle-end/61437
Revert
2014-06-04  Richard Biener  <rguenther@suse.de>

* tree.h (may_be_aliased): Trust TREE_ADDRESSABLE from
TREE_PUBLIC and DECL_EXTERNAL decls.

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

From-SVN: r211436

10 years agovarasm.c (set_implicit_section): New function.
Jan Hubicka [Wed, 11 Jun 2014 05:51:23 +0000 (07:51 +0200)]
varasm.c (set_implicit_section): New function.

* varasm.c (set_implicit_section): New function.
(resolve_unique_section): Use it to set implicit section
for aliases, too.
(get_named_text_section): Use symtab_get_node (decl)->implicit_section
(default_function_section): Likewise.
(decl_binds_to_current_def_p): Constify argument.
* varasm.h (decl_binds_to_current_def_p): Update prototype.
* asan.c (asan_protect_global): Use symtab_get_node (decl)->implicit_section.
* symtab.c (dump_symtab_base): Dump implicit sections.
(verify_symtab_base): Verify sanity of sectoins and comdats.
(symtab_resolve_alias): Alias share the section of its target.
(set_section_1): New function.
(symtab_node::set_section): Move here, recurse to aliases.
(verify_symtab): Check for duplicated symtab lists.
* tree-core.h (implicit_section_name_p): Remove.
* tree-vect-data-refs.c: Include varasm.h.
(vect_can_force_dr_alignment_p): Fix conditional on when
decl bints to current definition; use
symtab_get_node (decl)->implicit_section.
* cgraph.c (cgraph_make_node_local_1): Fix section set.
* cgraph.h (struct symtab_node): Add implicit_section.
(set_section): Rename to ...
(set_section_for_node): ... this one.
(set_section): Declare.
* tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): Remove.
* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
input_overwrite_node, input_varpool_node): Stream implicit_section.
* ipa.c (symtab_remove_unreachable_nodes): Do not check symtab before
removal; it will fail in LTO.

* vtable-class-hierarchy.c: Use symtab_get_node (var_decl)->implicit_section.
* optimize.c (cdtor_comdat_group): Fix handling of aliases.
(maybe_clone_body): Move symbol across comdat groups.
* method.c (use_thunk): Copy implicit section flag.

* go/go-gcc.cc (Gcc_backend::global_variable_set_init): Use
symtab_get_node(var_decl)->implicit_section.

* lto.c (read_cgraph_and_symbols): Remove unreachable symbols.
(do_whole_program_analysis): Use verify_symtab.

From-SVN: r211434

10 years ago4402.cc (test02): Use `wcout' rather than `cout'.
Maciej W. Rozycki [Wed, 11 Jun 2014 00:20:45 +0000 (00:20 +0000)]
4402.cc (test02): Use `wcout' rather than `cout'.

* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
(test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.

From-SVN: r211433

10 years agoDaily bump.
GCC Administrator [Wed, 11 Jun 2014 00:17:08 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r211432

10 years agobid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.
Uros Bizjak [Tue, 10 Jun 2014 18:27:02 +0000 (20:27 +0200)]
bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.

* bid128_div.c (BID128_FUNCTION_ARG2): Remove unused variable 'Ql'.
Call __mul_128x128_high instead of __mul_128x128_full.
(TYPE0_FUNCTION_ARGTYPE1_ARGTYPE2): Ditto.
(BID128_FUNCTION_ARGTYPE1_ARG128): Ditto.
(BID128_FUNCTION_ARG128_ARGTYPE2): Ditto.
* bid64_div.c (TYPE0_FUNCTION_ARGTYPE1_ARG128): Ditto.
(TYPE0_FUNCTION_ARG128_ARGTYPE2): Ditto.
(TYPE0_FUNCTION_ARG128_ARG128): Ditto.

From-SVN: r211424

10 years agore PR libstdc++/61390 (error in nested template parameter in ext/pb_ds header file)
Jonathan Wakely [Tue, 10 Jun 2014 18:09:18 +0000 (19:09 +0100)]
re PR libstdc++/61390 (error in nested template parameter in ext/pb_ds header file)

PR libstdc++/61390
* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
(bin_search_tree_traits): Do not redeclare template-parameters.
* testsuite/util/testsuite_iterators.h (test_container): Likewise.

From-SVN: r211421

10 years ago[AArch64] Fix some reg-to-reg move scheduler types.
Kyrylo Tkachov [Tue, 10 Jun 2014 16:05:17 +0000 (16:05 +0000)]
[AArch64] Fix some reg-to-reg move scheduler types.

* config/aarch64/aarch64-simd.md (move_lo_quad_<mode>):
Change second alternative type to f_mcr.
* config/aarch64/aarch64.md (*movsi_aarch64): Change 11th
and 12th alternatives' types to f_mcr and f_mrc.
(*movdi_aarch64): Same for 12th and 13th alternatives.
(*movsf_aarch64): Change 9th alternatives' type to mov_reg.
(aarch64_movtilow_tilow): Change type to fmov.

From-SVN: r211418

10 years agoAdd myself to MAINTAINERS.
Matthew Fortune [Tue, 10 Jun 2014 15:44:06 +0000 (15:44 +0000)]
Add myself to MAINTAINERS.

2014-06-10  Matthew Fortune  <matthew.fortune@imgtec.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r211417

10 years ago[AArch64] Fix layout of frame layout code.
Jiong Wang [Tue, 10 Jun 2014 14:38:15 +0000 (14:38 +0000)]
[AArch64] Fix layout of frame layout code.

From-SVN: r211416

10 years ago[AArch64] Add a big-endian lane flip at expand-time in saturating math patterns.
Kyrylo Tkachov [Tue, 10 Jun 2014 14:26:20 +0000 (14:26 +0000)]
[AArch64] Add a big-endian lane flip at expand-time in saturating math patterns.

* config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
New expander.
(aarch64_sqrdmulh_lane<mode>): Likewise.
(aarch64_sq<r>dmulh_lane<mode>): Rename to...
(aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
(aarch64_sqdmulh_laneq<mode>): New expander.
(aarch64_sqrdmulh_laneq<mode>): Likewise.
(aarch64_sq<r>dmulh_laneq<mode>): Rename to...
(aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
(aarch64_sqdmulh_lane<mode>): New expander.
(aarch64_sqrdmulh_lane<mode>): Likewise.
(aarch64_sq<r>dmulh_lane<mode>): Rename to...
(aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
(aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
(aarch64_sqdmlal_laneq<mode>): Likewise.
(aarch64_sqdmlsl_lane<mode>): Likewise.
(aarch64_sqdmlsl_laneq<mode>): Likewise.
(aarch64_sqdmlal2_lane<mode>): Likewise.
(aarch64_sqdmlal2_laneq<mode>): Likewise.
(aarch64_sqdmlsl2_lane<mode>): Likewise.
(aarch64_sqdmlsl2_laneq<mode>): Likewise.
(aarch64_sqdmull_lane<mode>): Likewise.
(aarch64_sqdmull_laneq<mode>): Likewise.
(aarch64_sqdmull2_lane<mode>): Likewise.
(aarch64_sqdmull2_laneq<mode>): Likewise.

From-SVN: r211414

10 years agore PR tree-optimization/61438 (ICE on valid code at -O3 on x86_64-linux-gnu in in...
Richard Biener [Tue, 10 Jun 2014 14:18:50 +0000 (14:18 +0000)]
re PR tree-optimization/61438 (ICE on valid code at -O3 on x86_64-linux-gnu in in loop_preheader_edge, at cfgloop.c:1668)

2014-06-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61438
* tree-ssa-pre.c (eliminate_dom_walker): Add do_pre member.
(eliminate_dom_walker::before_dom_children): Only try to inhibit
insertion of IVs if running PRE.
(eliminate): Adjust.
(pass_pre::execute): Likewise.
(pass_fre::execute): Likewise.

* gcc.dg/torture/pr61438.c: New testcase.

From-SVN: r211413

10 years agore PR middle-end/61456 (Bogus "may be used uninitialized" warning)
Richard Biener [Tue, 10 Jun 2014 14:10:57 +0000 (14:10 +0000)]
re PR middle-end/61456 (Bogus "may be used uninitialized" warning)

2014-06-10  Richard Biener  <rguenther@suse.de>

PR middle-end/61456
* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
Do not use the main variant for the type comparison.
(ncr_compar): Likewise.
(nonoverlapping_component_refs_p): Likewise.

* g++.dg/opt/pr61456.C: New testcase.

From-SVN: r211411

10 years agoReverting previous commit.
Marcus Shawcroft [Tue, 10 Jun 2014 14:02:56 +0000 (14:02 +0000)]
Reverting previous commit.

From-SVN: r211410

10 years ago[AArch64] Fix layout of frame layout code.
Jiong Wang [Tue, 10 Jun 2014 13:29:12 +0000 (13:29 +0000)]
[AArch64] Fix layout of frame layout code.

From-SVN: r211409

10 years ago[AArch64] Fix REG_CFA_RESTORE mode.
Marcus Shawcroft [Tue, 10 Jun 2014 13:10:10 +0000 (13:10 +0000)]
[AArch64] Fix REG_CFA_RESTORE mode.

From-SVN: r211408

10 years agoi386.c (expand_vec_perm_pblendv): New.
Evgeny Stupachenko [Tue, 10 Jun 2014 12:40:16 +0000 (12:40 +0000)]
i386.c (expand_vec_perm_pblendv): New.

gcc/
        * config/i386/i386.c (expand_vec_perm_pblendv): New.
        * config/i386/i386.c (ix86_expand_vec_perm_const_1): Use
        expand_vec_perm_pblendv.

From-SVN: r211407

10 years agore PR fortran/41936 (Memory leakage with allocatables and user-defined operators)
Dominique d'Humieres [Tue, 10 Jun 2014 11:42:38 +0000 (13:42 +0200)]
re PR fortran/41936 (Memory leakage with allocatables and user-defined operators)

2014-06-10  Dominique d'Humieres <dominiq@lps.ens.fr>
    Mikael Morin <mikael@gcc.gnu.org>

PR fortran/41936
gcc/fortran/
* trans-expr.c (gfc_conv_expr_reference): Deallocate array
components.

gcc/testsuite/
* gfortran.dg/class_array_15.f03: Check memory leaks.

Co-Authored-By: Mikael Morin <mikael@gcc.gnu.org>
From-SVN: r211405

10 years agore PR tree-optimization/57186 (implement load sinking in loops)
Richard Biener [Tue, 10 Jun 2014 10:29:44 +0000 (10:29 +0000)]
re PR tree-optimization/57186 (implement load sinking in loops)

2014-06-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57186
PR tree-optimization/59299
* gcc.dg/tree-ssa/ssa-sink-11.c: New testcase.
* gcc.dg/tree-ssa/ssa-sink-12.c: Likewise.

From-SVN: r211404

10 years ago[ARM][doc] Improve description of AArch32 CRC32 intrinsics.
Kyrylo Tkachov [Tue, 10 Jun 2014 09:50:22 +0000 (09:50 +0000)]
[ARM][doc] Improve description of AArch32 CRC32 intrinsics.

     * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
     available.
     Simplify description of __crc32d and __crc32cd intrinsics.
     * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
     availability.

From-SVN: r211402

10 years ago[PR lto/61334] Declare prototype for strnlen, if needed.
Thomas Schwinge [Tue, 10 Jun 2014 09:45:00 +0000 (11:45 +0200)]
[PR lto/61334] Declare prototype for strnlen, if needed.

include/
* libiberty.h [defined (HAVE_DECL_STRNLEN) &&
!HAVE_DECL_STRNLEN] (strnlen): New prototype.
gcc/
* configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen
prototype.
* config.in: Regenerate.
* configure: Likewise.

From-SVN: r211401

10 years agoipa-reference.c (is_proper_for_analysis): Exclude addressable and public vars.
Jan Hubicka [Tue, 10 Jun 2014 06:30:50 +0000 (08:30 +0200)]
ipa-reference.c (is_proper_for_analysis): Exclude addressable and public vars.

* ipa-reference.c (is_proper_for_analysis): Exclude addressable and public
vars.
(intersect_static_var_sets): Remove.
(propagate): Do not prune local statics.

From-SVN: r211398