gcc.git
7 years agoPR c++/79130 - decomposition and direct-initialization
Jason Merrill [Thu, 19 Jan 2017 14:37:51 +0000 (09:37 -0500)]
PR c++/79130 - decomposition and direct-initialization

* init.c (build_aggr_init): Communicate direct-initialization to
build_vec_init.
(build_vec_init): Check for array copy sooner.
* parser.c (cp_parser_decomposition_declaration): Remove call to
build_x_compound_expr_from_list.

From-SVN: r244635

7 years agoCode cleanup.
Arnaud Charlet [Thu, 19 Jan 2017 13:14:04 +0000 (14:14 +0100)]
Code cleanup.

From-SVN: r244634

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 13:13:19 +0000 (14:13 +0100)]
[multiple changes]

2017-01-19  Javier Miranda  <miranda@adacore.com>

* ghost.adb (Propagate_Ignored_Ghost_Code): Protect access to the
identifier attribute of a block-statement node. Required to avoid
assertion failure when building the new containers library.

2017-01-19  Bob Duff  <duff@adacore.com>

* exp_ch3.adb: Update comment.

2017-01-19  Vincent Celier  <celier@adacore.com>

* gprep.adb (Gnatprep): Parse the definition file without
"replace in comments" even when switch -C is used.

From-SVN: r244633

7 years agoMinor reformatting.
Arnaud Charlet [Thu, 19 Jan 2017 13:11:22 +0000 (14:11 +0100)]
Minor reformatting.

From-SVN: r244632

7 years agoexp_ch9.adb (Is_Pure_Barrier): Create function Is_Count_Attribute to identify an...
Justin Squirek [Thu, 19 Jan 2017 13:10:58 +0000 (13:10 +0000)]
exp_ch9.adb (Is_Pure_Barrier): Create function Is_Count_Attribute to identify an expansion of the 'Count attribute.

2017-01-19  Justin Squirek  <squirek@adacore.com>

* exp_ch9.adb (Is_Pure_Barrier): Create function
Is_Count_Attribute to identify an expansion of the 'Count
attribute.

From-SVN: r244631

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 13:10:09 +0000 (14:10 +0100)]
[multiple changes]

2017-01-19  Pierre-Marie de Rodat  <derodat@adacore.com>

* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
Emit GNAT encodings for object renamings involving record components
whose normalized bit offset is not null.
* uintp.h (UI_No_Uint): Declare.

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Loop_Statement): In GNATprove mode the
statements within an element iterator loop are only analyzed
agter the loop is rewritten. Within a generic the analysis must
be performed in any case to complete name capture.

2017-01-19  Bob Duff  <duff@adacore.com>

* sem_prag.adb (Analyze_Pragma): Check for ignored pragmas first,
before checking for unrecognized pragmas.
Initialize Pname on its declarations; that's always good style.

From-SVN: r244630

7 years agoexp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the body into the tree...
Claire Dross [Thu, 19 Jan 2017 13:08:16 +0000 (13:08 +0000)]
exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the body into the tree for GNATprove by setting its Parent field.

2017-01-19  Claire Dross  <dross@adacore.com>

* exp_ch7.adb (Build_Invariant_Procedure_Body): Semi-insert the
body into the tree for GNATprove by setting its Parent field. The
components invariants of composite types are not checked by
the composite type's invariant procedure in GNATprove mode.
(Build_Invariant_Procedure_Declaration): Semi-insert the
declaration into the tree for GNATprove by setting its Parent
field.
* freeze.adb (Freeze_Arry_Type):In GNATprove mode, do not add
the component invariants to the array type  invariant procedure
so that the procedure can be used to  check the array type
invariants if any.
(Freeze_Record_Type): In GNATprove mode, do
not add the component invariants to the record type  invariant
procedure so that the procedure can be used to check the record
type invariants if any.

From-SVN: r244629

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 13:02:30 +0000 (14:02 +0100)]
[multiple changes]

2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>

* lib-xref-spark_specific.adb: Minor reformatting.
* exp_ch7.adb (Add_Parent_Invariants): Do not process array types.

2017-01-19  Tristan Gingold  <gingold@adacore.com>

* fe.h (Constant_Value): Export.

From-SVN: r244628

7 years agore PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
Jakub Jelinek [Thu, 19 Jan 2017 12:23:00 +0000 (13:23 +0100)]
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)

PR other/79046
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
* mpxrt/Makefile.in: Regenerated.
* mpxwrap/Makefile.in: Regenerated.

From-SVN: r244627

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 12:04:13 +0000 (13:04 +0100)]
[multiple changes]

2017-01-19  Javier Miranda  <miranda@adacore.com>

* exp_aggr.adb (Pass_Aggregate_To_Back_End): Renamed as
Build_Back_End_Aggregate.
(Generate_Aggregate_For_Derived_Type): Code cleanup.
(Prepend_Stored_Values): Code cleanup.

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Check for an
incomplete return type after attempting to freeze it, so that
other freeze actiona are generated in the proper order.

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Aggregate): If the type is a string
type, ie. a type whose component is a character type, and the
aggregate is positional, do not convert into a string literal
if the index type is not an integer type, because the original
type may be required in an enclosing operation.

2017-01-19  Bob Duff  <duff@adacore.com>

* binde.adb, debug.adb: Enable new elaboration order algorithm
by default. -dp switch reverts to the old algorithm.

2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb Add with and use clauses for Exp_Ch7.
(Analyze_Declarations): Create the DIC and Invariant
procedure bodies s after all freezing has taken place.
(Build_Assertion_Bodies): New routine.
* sem_ch7.adb Remove the with and use clauses for Exp_Ch7
and Exp_Util.
(Analyze_Package_Specification): Remove the
generation of the DIC and Invariant procedure bodies. This is
now done by Analyze_Declarations.
* sem_disp.adb (Check_Dispatching_Operation): DIC and Invariant
procedures are never treated as primitives.

2017-01-19  Yannick Moy  <moy@adacore.com>

* frontend.adb: Analyze inlined bodies and check elaboration
rules in GNATprove mode too.
* sem_elab.adb (Delay_Element): Add Boolean component to save
indication that call is in SPARK code. (Check_Elab_Calls):
Check elaboration rules in GNATprove mode, and correctly set
the current value of SPARK_Mode.
* lib-xref-spark_specific.adb
(Add_SPARK_Xrefs): Simplify iteration over dereferences.

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_Concatenate): Do no enable overflow
checks on the expression for the high bound of concatenation
when checks are disabled, to suppress warnings about potential
constraint errors in restricted runtimes.

From-SVN: r244626

7 years agoexp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the representation-to-position...
Hristian Kirtchev [Thu, 19 Jan 2017 12:01:01 +0000 (12:01 +0000)]
exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the representation-to-position function as inlined.

2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_Freeze_Enumeration_Type): Mark the
representation-to-position function as inlined.
* sem_cat.adb (Set_Categorization_From_Scope): Do not modify
the purity of an internally generated entity if it has been
explicitly marked as pure for optimization purposes.
* exp_aggr.adb: Minor reformatting.

From-SVN: r244624

7 years agore PR rtl-optimization/72488 (wrong code (SIGFPE) at -Os and above on x86_64-linux...
Richard Biener [Thu, 19 Jan 2017 12:00:42 +0000 (12:00 +0000)]
re PR rtl-optimization/72488 (wrong code (SIGFPE) at -Os and above on x86_64-linux-gnu (in the 64-bit mode))

2017-01-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/72488
* tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
sure to restore SSA info.
* tree-ssa.c (verify_ssa): Verify SSA info is not shared.

From-SVN: r244623

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 11:55:21 +0000 (12:55 +0100)]
[multiple changes]

2017-01-19  Javier Miranda  <miranda@adacore.com>

* exp_ch6.adb (Expand_Call): Remove side effects on
actuals that are allocators with qualified expression since the
initialization of the object is performed by means of individual
statements (and hence it must be done before the call).

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Declarations): Minor reformatting.
(Build_Derived_Enumeration_Type): If the derived type inherits a
dynamic predicate from its parent, the bounds of the type must
freeze because an explicit constraint is constructed for the
type and the corresponding range is elaborated now.

2017-01-19  Arnaud Charlet  <charlet@adacore.com>

* sem_attr.ads: minor fix of inconsistent casing in comment
* lib-writ.ads: minor align comments in columns
* sem_ch3.adb: Minor reformatting.
* spark_xrefs.ads: minor fix typo in SPARK-related comment
* table.ads: minor style fix in comment
* lib-xref-spark_specific.adb
(Add_SPARK_Xrefs): simplify processing of SPARK cross-references.
* sem_ch12.adb: minor whitespace fix
* freeze.adb: Add comment.
* sem_util.adb (Unique_Name): for instances of
generic subprograms ignore the name of the wrapper package.

2017-01-19  Javier Miranda  <miranda@adacore.com>

* exp_aggr.adb (Resolve_Record_Aggregate):
Factorize code needed for aggregates of limited and unlimited
types in a new routine.
(Pass_Aggregate_To_Back_End): New subprogram.

2017-01-19  Yannick Moy  <moy@adacore.com>

* sinfo.adb (Pragma_Name): Only access up to Last_Pair of Pragma_Map.

From-SVN: r244622

7 years agoMinor reformatting and code cleanup.
Arnaud Charlet [Thu, 19 Jan 2017 11:51:47 +0000 (12:51 +0100)]
Minor reformatting and code cleanup.

From-SVN: r244621

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 11:51:22 +0000 (12:51 +0100)]
[multiple changes]

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.ads, sem_ch4.adb (Try_Object_Operation): Make subprogram
public, for use elsewhere.
* sem_ch6.adb (Analyze_Procedure_Call): In SPARK_Mode and within
an Inlined_body, recognize a call that uses object notation
and has not been rewritten as a regular call because regular
expansion has not taken place.

2017-01-19  Bob Duff  <duff@adacore.com>

* checks.adb (Apply_Type_Conversion_Checks): Disable small optimization
in case of generic formal discrete types, because it causes crashes in
the compiler when built with assertions on.

From-SVN: r244620

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 11:46:14 +0000 (12:46 +0100)]
[multiple changes]

2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>

* lib-xref-spark_specific.adb, sem_util.adb, sem_util.ads,
sem_ch4.adb, sem_ch8.adb, lib-xref.ads: Minor reformatting.

2017-01-19  Bob Duff  <duff@adacore.com>

* bcheck.adb (Check_Consistent_Dynamic_Elaboration_Checking):
Increment Warnings_Detected.  It was decrementing, which is
wrong since we just issued a warning message.
* binderr.ads (Errors_Detected, Warnings_Detected): Declare
these variables to be of subtype Nat instead of Int, because
they should never be negative.

2017-01-19  Javier Miranda  <miranda@adacore.com>

* contracts.adb (Build_Postconditions_Procedure): Replace
Generate_C_Code by Modify_Tree_For_C.
* exp_aggr.adb (Build_Record_Aggr_Code, Expand_Array_Aggregate):
Replace Generate_C_Code by Modify_Tree_For_C.
* exp_attr.adb (Float_Valid, Is_GCC_Target): Replace Generate_C_Code by
Modify_Tree_For_C.
* exp_ch11.adb (Expand_N_Exception_Declaration): Replace
Generate_C_Code by Modify_Tree_For_C.
* exp_ch4.adb (Expand_Allocator_Expression): Replace
Generate_C_Code by Modify_Tree_For_C.
* exp_dbug.adb (Qualify_Entity_Name): Replace Generate_C_Code
by Modify_Tree_For_C.
* exp_util.adb (Remove_Side_Effects, Side_Effect_Free): Replace
Generate_C_Code by Modify_Tree_For_C.
* sem_res.adb (Resolve_Type_Conversion): Replace Generate_C_Code
by Modify_Tree_For_C.
* sinfo.ads (Modify_Tree_For_C): Adding documentation.

From-SVN: r244619

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 11:42:31 +0000 (12:42 +0100)]
[multiple changes]

2017-01-19  Javier Miranda  <miranda@adacore.com>

* sem_util.ads, sem_util.adb (Expression_Of_Expression_Function): New
subprogram.
(Is_Inlinable_Expression_Function): New subprogram.
* exp_ch6.ads, exp_ch6.adb (Expression_Of_Expression_Function): Moved
to Sem_Util.
(Is_Inlinable_Expression_Function): Moved to Sem_Util.

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Diagnose_Call): Improve error message when a
selected component has a prefix that might be interpreted
as a parameterless function call, but none of the candidate
interpretations is parameterless, and there is a hidden homonym
of the prefix that is a package.
* sem_ch8.adb (Find_Selected_Component): If the prefix might be
interpreted as a parameterless function call and its analysis
fails, do not call Analyze_Selected_Component.

From-SVN: r244618

7 years ago[multiple changes]
Arnaud Charlet [Thu, 19 Jan 2017 11:39:55 +0000 (12:39 +0100)]
[multiple changes]

2017-01-19  Steve Baird  <baird@adacore.com>

* sem_util.ads: Add new Use_Full_View Boolean parameter to
Get_Index_Bounds.
* sem_util.adb (Get_Index_Bounds): replace calls to Scalar_Range with
calls to a newly-defined Scalar_Range_Of_Right_View function.

2017-01-19  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb: minor fix of unbalanced parens in comment
* lib-xref.ads (Traverse_Compilation_Unit): declaration moved
to visible part of the package to allow re-use in GNATprove.
* lib-xref-spark_specific.adb (Traverse_Stub): routine refactored
from repeated code of Traverse_Compilation_Unit.
(Traverse_Declaration_Or_Statement): fixed detection of
generic subprograms and packages; also, iteration over case
statement alternatives rewritten to avoid testing if the first
alternative is present (since it must be present due to Ada
syntax restrictions).

From-SVN: r244617

7 years agoexp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as returning by reference not...
Hristian Kirtchev [Thu, 19 Jan 2017 11:37:39 +0000 (11:37 +0000)]
exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as returning by reference not just for subprogram body stubs...

2017-01-19  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch6.adb (Expand_N_Subprogram_Body): Mark the spec as
returning by reference not just for subprogram body stubs,
but for all subprogram cases.
* sem_util.adb: Code reformatting.
(Requires_Transient_Scope): Update the call to Results_Differ.
(Results_Differ): Update the parameter profile and the associated
comment on usage.

From-SVN: r244616

7 years agoMinor reformatting.
Arnaud Charlet [Thu, 19 Jan 2017 11:33:35 +0000 (12:33 +0100)]
Minor reformatting.

From-SVN: r244615

7 years agosem_dim.adb (Analyze_Dimension): Analyze object declaration and identifier nodes...
Ed Schonberg [Thu, 19 Jan 2017 11:33:17 +0000 (11:33 +0000)]
sem_dim.adb (Analyze_Dimension): Analyze object declaration and identifier nodes that do not come from source...

2017-01-19  Ed Schonberg  <schonberg@adacore.com>

* sem_dim.adb (Analyze_Dimension): Analyze object declaration and
identifier nodes that do not come from source, to handle properly
dimensionality check within an inlined body which inclddes both
original operands and rewritten operands. This removes spurious
dimensionality errors in the presence of front-end inlining,
as well as in SPARK mode.

From-SVN: r244614

7 years ago[expand] Fix for PR rtl-optimization/79121 incorrect expansion of extend plus left...
Richard Earnshaw [Thu, 19 Jan 2017 10:35:38 +0000 (10:35 +0000)]
[expand] Fix for PR rtl-optimization/79121 incorrect expansion of extend plus left shift

    When generating a shift from an extended value moving from one to two
    machine registers, the type of the right shift is for the most
    significant word should be determined by the signedness of the inner
    type, not the signedness of the result type.

    gcc:
        PR rtl-optimization/79121
        * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
        of the inner type when shifting an extended value.

    gcc/testsuite:
        * gcc.c-torture/execute/pr79121.c: New test.

From-SVN: r244613

7 years agore PR lto/78407 (LTO breaks separate overriding of symbol aliases)
Jan Hubicka [Thu, 19 Jan 2017 10:00:56 +0000 (11:00 +0100)]
re PR lto/78407 (LTO breaks separate overriding of symbol aliases)

PR lto/78407
* symtab.c (symtab_node::equal_address_to): Fix comparing of
interposable aliases.

From-SVN: r244612

7 years agore PR target/78516 (ICE in lra_assign for e500v2)
Peter Bergner [Thu, 19 Jan 2017 02:23:35 +0000 (20:23 -0600)]
re PR target/78516 (ICE in lra_assign for e500v2)

PR target/78516
* config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints.
Use the evmergelohi instruction.
(mov_si<mode>_e500_subreg4_2_le): Likewise.
(mov_sitf_e500_subreg8_2_be): Likewise.
(mov_sitf_e500_subreg12_2_le): Likewise.
(mov_si<mode>_e500_subreg0_2_le): Fix constraints.
(mov_si<mode>_e500_subreg4_2_be): Likewise.
(mov_sitf_e500_subreg8_2_le): Likewise.
(mov_sitf_e500_subreg12_2_be): Likewise.

From-SVN: r244609

7 years agoDaily bump.
GCC Administrator [Thu, 19 Jan 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244608

7 years agop9-xxbr-1.c: Fix typos in submission.
Michael Meissner [Thu, 19 Jan 2017 00:12:14 +0000 (00:12 +0000)]
p9-xxbr-1.c: Fix typos in submission.

2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-xxbr-1.c: Fix typos in submission.
* gcc.target/powerpc/p9-xxbr-2.c: Likewise.

From-SVN: r244605

7 years agoaltivec.md (altivec_vbpermq): Change "type" attribute from vecsimple to vecperm.
Bill Schmidt [Wed, 18 Jan 2017 22:36:39 +0000 (22:36 +0000)]
altivec.md (altivec_vbpermq): Change "type" attribute from vecsimple to vecperm.

2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (altivec_vbpermq): Change "type"
attribute from vecsimple to vecperm.
(altivec_vbpermq2): Likewise.

From-SVN: r244603

7 years agore PR target/79040 (vec_cntlz redefined)
Bill Schmidt [Wed, 18 Jan 2017 22:29:22 +0000 (22:29 +0000)]
re PR target/79040 (vec_cntlz redefined)

2017-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/79040
* config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.

From-SVN: r244602

7 years agore PR fortran/50069 (FORALL fails on a character array)
Louis Krupp [Wed, 18 Jan 2017 21:41:48 +0000 (21:41 +0000)]
re PR fortran/50069 (FORALL fails on a character array)

2017-01-18  Louis Krupp  <louis.krupp@zoho.com>

PR fortran/50069
PR fortran/55086
* gfortran.dg/pr50069_1.f90: New test.
* gfortran.dg/pr50069_2.f90: New test.
* gfortran.dg/pr55086_1.f90: New test.
* gfortran.dg/pr55086_1_tfat.f90: New test.
* gfortran.dg/pr55086_2.f90: New test.
* gfortran.dg/pr55086_2_tfat.f90: New test.
* gfortran.dg/pr55086_aliasing_dummy_4_tfat.f90: New test.

2017-01-18  Louis Krupp  <louis.krupp@zoho.com>

PR fortran/50069
PR fortran/55086
* trans-expr.c (gfc_conv_variable): Don't treat temporary variables
as function arguments.
* trans-stmt.c (forall_make_variable_temp,
generate_loop_for_temp_to_lhs, gfc_trans_assign_need_temp,
gfc_trans_forall_1): Don't adjust offset of forall temporary
for array sections, make forall temporaries work for substring
expressions, improve test coverage by adding -ftest-forall-temp
option to request usage of temporary array in forall code.
* lang.opt: Add -ftest-forall-temp option.
* invoke.texi: Add -ftest-forall-temp option.

From-SVN: r244601

7 years agoImplement LANG_HOOKS_TYPE_FOR_SIZE for jit
David Malcolm [Wed, 18 Jan 2017 21:09:32 +0000 (21:09 +0000)]
Implement LANG_HOOKS_TYPE_FOR_SIZE for jit

gcc/jit/ChangeLog:
* dummy-frontend.c (jit_langhook_type_for_size): Implement, using
lto's lto_type_for_size.

From-SVN: r244600

7 years agoPR c++/68666 - member variable template-id
Jason Merrill [Wed, 18 Jan 2017 21:05:12 +0000 (16:05 -0500)]
PR c++/68666 - member variable template-id

* typeck.c (finish_class_member_access_expr): Handle variable
template-id.
* pt.c (lookup_and_finish_template_variable): No longer static.
* cp-tree.h: Declare it.

From-SVN: r244599

7 years agors6000-protos.h (expand_strn_compare): Add arg.
Aaron Sawdey [Wed, 18 Jan 2017 20:56:16 +0000 (20:56 +0000)]
rs6000-protos.h (expand_strn_compare): Add arg.

2017-01-18  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
* config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
* config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
strcmp. Fix bug where comparison didn't stop with zero byte. Fix
case where N arg is SIZE_MAX.
* config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
(cmpstrsi): Add pattern.
2017-01-18  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
* gcc.dg/strcmp-1.c: New test.
* gcc.dg/strncmp-1.c: Add test for a bug that escaped.

From-SVN: r244598

7 years agojit.dg: fix issue with compilation of test-threads.c
David Malcolm [Wed, 18 Jan 2017 20:47:12 +0000 (20:47 +0000)]
jit.dg: fix issue with compilation of test-threads.c

DejaGnu's <dejagnu.h> provides decls of various inline functions,
of which the jit testsuite uses "pass", "fail" and "note".

The jit testcase test-threads.c jumps through some hoops to make
these functions threadsafe, using macros to rename the implementation
in dejagnu.h, giving them a "dejagnu_" prefix, then reimplementing
the names with wrappers that use a mutex.

The DejaGnu functions gained a "static" modifier in
ad36659ffa984a0541cfc2bd27f393e0d7d173a7, which appears to be in
DejaGnu 1.5.2 onwards.

Unfortunately, jit.dg/test-threads.c has forward decls of
"dejagnu_pass" etc, and these don't have "static", leading to conflicts
with later versions of DejaGnu for which "pass" etc have "static".

This patch fixes things by removing the forward decls of
"dejagnu_pass", moving the usage of them to a point at which dejagnu.h
has been included, which ought to work with both earlier and later
versions of DejaGnu.

Fixes compilation of test-threads.c in jit testsuite.

gcc/testsuite/ChangeLog:
* jit.dg/test-threads.c (dejagnu_pass): Remove decl.
(dejagnu_fail): Likewise.
(dejagnu_note): Likewise.
(pass): Provide forward decl, moving true decl to after #include
of harness.h.
(fail): Likewise.
(note): Likewise.

From-SVN: r244597

7 years agolibitm: Disable TSX on processors on which it may be broken.
Torvald Riegel [Wed, 18 Jan 2017 20:22:02 +0000 (20:22 +0000)]
libitm: Disable TSX on processors on which it may be broken.

libitm/ChangeLog

* config/x86/target.h (htm_available): Add check for some processors
on which TSX is broken.

From-SVN: r244594

7 years agors6000-c.c (altivec_overloaded_builtins): Add __builtin_vec_revb builtins.
Michael Meissner [Wed, 18 Jan 2017 19:30:38 +0000 (19:30 +0000)]
rs6000-c.c (altivec_overloaded_builtins): Add __builtin_vec_revb builtins.

[gcc]
2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
__builtin_vec_revb builtins.
* config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
built-in functions to support generation of the ISA 3.0 XXBR<x>
vector byte reverse instructions.
(P9V_BUILTIN_XXBRQ_V1TI): Likewise.
(P9V_BUILTIN_XXBRD_V2DI): Likewise.
(P9V_BUILTIN_XXBRD_V2DF): Likewise.
(P9V_BUILTIN_XXBGW_V4SI): Likewise.
(P9V_BUILTIN_XXBGW_V4SF): Likewise.
(P9V_BUILTIN_XXBGH_V8HI): Likewise.
(P9V_BUILTIN_VEC_REVB): Likewise.
* config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
(p9_xxbrq_v16qi): Likewise.
(p9_xxbrd_<mode>, VSX_D iterator): Likewise.
(p9_xxbrw_<mode>, VSX_W iterator): Likewise.
(p9_xxbrh_v8hi): Likewise.
* config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
* doc/extend.texi (RS/6000 Altivec Built-ins): Document the
vec_revb built-in functions.

[gcc/testsuite]
2017-01-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-xxbr-1.c: New test.
* gcc.target/powerpc/p9-xxbr-2.c: Likewise.

From-SVN: r244593

7 years agore PR c++/78488 (P0136R1 ICE when building call to inherited default constructor.)
Nathan Sidwell [Wed, 18 Jan 2017 19:27:52 +0000 (19:27 +0000)]
re PR c++/78488 (P0136R1 ICE when building call to inherited default constructor.)

PR c++/78488
* call.c (build_over_call): When checking ellipsis conversions for
an inherited ctor, make sure there is at least one conversion.

* g++.dg/cpp1z/inh-ctor37.C: New.

From-SVN: r244592

7 years agore PR rtl-optimization/78952 (Combine does not convert 8-bit sign-extract to a zero...
Uros Bizjak [Wed, 18 Jan 2017 19:24:30 +0000 (20:24 +0100)]
re PR rtl-optimization/78952 (Combine does not convert 8-bit sign-extract to a zero-extract for QImode operations)

PR rtl-optimization/78952
* config/i386/i386.md (any_extract): New code iterator.
(*insvqi_2): Use any_extract for source operand.
(*insvqi_3): Use any_shiftrt for source operand.

testsuite/ChangeLog:

PR rtl-optimization/78952
* gcc.target/i386/pr78952-1.c: New test.
* gcc.target/i386/pr78952-2.c: Ditto.

From-SVN: r244591

7 years agocoarray_alloc_with_implicit_sync_2.f90: New test.
Andre Vehreschild [Wed, 18 Jan 2017 19:03:21 +0000 (20:03 +0100)]
coarray_alloc_with_implicit_sync_2.f90: New test.

gcc/testsuite/ChangeLog:

2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.dg/coarray_alloc_with_implicit_sync_2.f90: New test.

Also fixed date in gcc/testsuite/ChangeLog on my previous commit.

gcc/fortran/ChangeLog:

2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>

* primary.c (caf_variable_attr): Improve figuring whether the current
component is the last one refed.
* trans-stmt.c (gfc_trans_allocate): Do not generate sync_all calls
when allocating pointer or allocatable components.

From-SVN: r244590

7 years agogfortran.texi: Add missing parameters to caf-API functions.
Andre Vehreschild [Wed, 18 Jan 2017 18:37:57 +0000 (19:37 +0100)]
gfortran.texi: Add missing parameters to caf-API functions.

gcc/fortran/ChangeLog:

2017-01-18  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.texi: Add missing parameters to caf-API functions.  Correct
typos and clarify some descriptions.

Adjusted date of my previous commit.

From-SVN: r244589

7 years agoPR69301 don't assume atomic<T> can default construct T
Jonathan Wakely [Wed, 18 Jan 2017 18:36:45 +0000 (18:36 +0000)]
PR69301 don't assume atomic<T> can default construct T

PR libstdc++/69301
* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
aligned buffer instead of default-initialized variable.
* testsuite/29_atomics/atomic/69301.cc: New test.
* include/experimental/memory (observer_ptr::release): Use reserved
name.
* include/ext/pointer.h (_Pointer_adapter::operator++(int))
(_Pointer_adapter::operator--(int)): Likewise.

From-SVN: r244588

7 years agore PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)
Andre Vehreschild [Wed, 18 Jan 2017 18:35:41 +0000 (19:35 +0100)]
re PR fortran/70696 ([Coarray] ICE on EVENT POST of host-associated EVENT_TYPE coarray)

gcc/fortran/ChangeLog:

2017-01-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70696
Missed some parts, here they are:
* trans-decl.c (gfc_build_qualified_array): Add static tokens to the
parent function's scope.
* trans-expr.c (gfc_get_tree_for_caf_expr): Shorten code.  Remove
unnecessary assert.

gcc/testsuite/ChangeLog:

2017-01-17  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/70696
* gfortran.dg/coarray_event_1.f08: New test.

From-SVN: r244587

7 years agoSHA1H instructions may be scheduled after a SHA1C instruction that uses the same...
Wilco Dijkstra [Wed, 18 Jan 2017 18:23:34 +0000 (18:23 +0000)]
SHA1H instructions may be scheduled after a SHA1C instruction that uses the same input register.

SHA1H instructions may be scheduled after a SHA1C instruction
that uses the same input register.  However SHA1C updates its input,
so if SHA1H is scheduled after it, it requires an extra move.
Increase the priority of SHA1H to ensure it gets scheduled
earlier, avoiding the move.

    gcc/
* config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
New function.
(TARGET_SCHED_ADJUST_PRIORITY): Define target hook.

From-SVN: r244586

7 years agore PR rtl-optimization/77416 (LRA rematerializing use of CA reg across function call)
Jakub Jelinek [Wed, 18 Jan 2017 17:39:56 +0000 (18:39 +0100)]
re PR rtl-optimization/77416 (LRA rematerializing use of CA reg across function call)

PR target/77416
* gcc.target/powerpc/pr77416.c Guard the test only for ilp32 effective
target.  Use powerpc* instead of powerpc64* in targets.  Remove -m32
from dg-options.
* gcc.target/powerpc/pr64205.c: Remove -m32 from dg-options of ilp32
guarded test.
* gcc.target/powerpc/fusion4.c: Likewise.
* gcc.target/powerpc/pr63491.c: Remove -m64 from dg-options of lp64
guarded test.
* gcc.target/powerpc/pr58673-1.c: Likewise.
* gcc.target/powerpc/pr58673-2.c: Likewise.
* gcc.target/powerpc/pr59054.c: Likewise.

From-SVN: r244585

7 years agoPR68925 don't use thread_local static for stateless object
Jonathan Wakely [Wed, 18 Jan 2017 17:18:47 +0000 (17:18 +0000)]
PR68925 don't use thread_local static for stateless object

PR libstdc++/68925
* include/experimental/random (randint): Use temporary instead of
thread_local static.

From-SVN: r244584

7 years agofix date
Jason Merrill [Wed, 18 Jan 2017 16:45:27 +0000 (11:45 -0500)]
fix date

From-SVN: r244583

7 years agoPR c++/78894 - ICE with class deduction and default arg
Jason Merrill [Wed, 18 Jan 2017 16:44:27 +0000 (11:44 -0500)]
PR c++/78894 - ICE with class deduction and default arg

* pt.c (build_deduction_guide): Set DECL_PRIMARY_TEMPLATE.

From-SVN: r244582

7 years agore PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initializati...
Maxim Ostapenko [Wed, 18 Jan 2017 16:06:31 +0000 (16:06 +0000)]
re PR lto/79061 ([LTO][ASAN] LTO plus ASAN fails with "AddressSanitizer: initialization-order-fiasco")

PR lto/79061
gcc/

* asan.c (get_translation_unit_decl): New function.
(asan_add_global): Extract modules file name from globals
TRANSLATION_UNIT_DECL in lto mode.
* tree.c (build_translation_unit_decl): Add source location for newly
built TRANSLATION_UNIT_DECL.

gcc/lto/

* lto.c (lto_read_decls): accept location cache for
TRANSLATION_UNIT_DECL.

gcc/testsuite/

* gcc.dg/cpp/mi1.c: Adjust testcase.
* gcc.dg/pch/cpp-3.c: Likewise.

From-SVN: r244581

7 years agoPR c++/77489 -- Reorganize abi warning check
Markus Trippelsdorf [Wed, 18 Jan 2017 15:49:15 +0000 (15:49 +0000)]
PR c++/77489 -- Reorganize abi warning check

PR c++/77489
* mangle.c (write_discriminator): Reorganize abi warning check.

From-SVN: r244580

7 years agore PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to be per...
Matthias Klose [Wed, 18 Jan 2017 15:48:54 +0000 (15:48 +0000)]
re PR libobjc/78697 (--with-target-bdw-gc-include shouldn't be required to be per multilib)

2017-01-18  Matthias Klose  <doko@ubuntu.com>

        PR libobjc/78697
        * configure.ac: Allow default for --with-target-bdw-gc-include.
        * configure: Regenerate.

        PR libobjc/78698
        * configure.ac: Use the libgc.la file when available.
        * configure: Regenerate.

2017-01-18  Matthias Klose  <doko@ubuntu.com>

       * doc/install.texi: Allow default for --with-target-bdw-gc-include.

From-SVN: r244579

7 years agoaltivec.h (vec_bperm): Change #define.
Bill Schmidt [Wed, 18 Jan 2017 15:04:50 +0000 (15:04 +0000)]
altivec.h (vec_bperm): Change #define.

[gcc]

2016-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.h (vec_bperm): Change #define.
* config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
(altivec_vbpermq2): New define_insn.
(altivec_vbpermd): Likewise.
* config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
function interface.
(VBPERMD): Likewise.
(VBPERM): New polymorphic function interface.
* config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
Add entries for P9V_BUILTIN_VEC_VBPERM.
* doc/extend.texi: Add interfaces for vec_bperm.

[gcc/testsuite]

2016-01-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/p8vector-builtin-8.c: Add new form for
vec_bperm.
* gcc.target/powerpc/p9-vbpermd.c: New file.

From-SVN: r244578

7 years agoS/390: Downcase first letter of error messages.
Andreas Krebbel [Wed, 18 Jan 2017 15:03:18 +0000 (15:03 +0000)]
S/390: Downcase first letter of error messages.

gcc/testsuite/ChangeLog:

2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/htm-builtins-compile-2.c (must_not_compile1):
(must_not_compile2): Downcase first letter of error messages.
* gcc.target/s390/target-attribute/tattr-13.c (b): Likewise.
* gcc.target/s390/vector/vec-abi-vararg-2.c: Likewise.

gcc/ChangeLog:

2017-01-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
first letter of error messages.
(s390_resolve_overloaded_builtin): Likewise.
* config/s390/s390.c (s390_expand_builtin): Likewise.
(s390_invalid_arg_for_unprototyped_fn): Likewise.
(s390_valid_target_attribute_inner_p): Likewise.
* config/s390/s390.md ("tabort"): Likewise.

From-SVN: r244577

7 years agocp-tree.h: Clarify exception spec node comment.
Nathan Sidwell [Wed, 18 Jan 2017 12:52:24 +0000 (12:52 +0000)]
cp-tree.h: Clarify exception spec node comment.

* cp-tree.h: Clarify exception spec node comment.
* except.c (nothrow_spec_p): Simplify by checking node-equality.

From-SVN: r244576

7 years agore PR c++/79091 (ICE in write_unnamed_type)
Nathan Sidwell [Wed, 18 Jan 2017 12:51:28 +0000 (12:51 +0000)]
re PR c++/79091 (ICE in write_unnamed_type)

PR c++/79091
* mangle.c (write_exception_spec): Check nothrow explicitly.
(write_encoding): Don't increment processing_template_decl around
encoding.

PR c++/79091
* g++.dg/pr79091.C: New.

From-SVN: r244575

7 years agotattr-2.c: Add -fno-ipa-icf to dg-options.
Jakub Jelinek [Wed, 18 Jan 2017 11:51:46 +0000 (12:51 +0100)]
tattr-2.c: Add -fno-ipa-icf to dg-options.

* gcc.target/s390/target-attribute/tattr-2.c: Add -fno-ipa-icf
to dg-options.
(p0): Add missing dg-error.

From-SVN: r244571

7 years agoMIPS: Fix generation of Loongson-specific division and modulo instructions.
Toma Tabacu [Wed, 18 Jan 2017 10:57:17 +0000 (10:57 +0000)]
MIPS: Fix generation of Loongson-specific division and modulo instructions.

gcc

* config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
(ISA_AVOID_DIV_HILO): New macro.
(ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
(ISA_HAS_DDIV): Likewise.

From-SVN: r244570

7 years agoFix number of occurrences.
Markus Trippelsdorf [Wed, 18 Jan 2017 09:58:33 +0000 (09:58 +0000)]
Fix number of occurrences.

From-SVN: r244569

7 years agoSpelling fix
Markus Trippelsdorf [Wed, 18 Jan 2017 08:54:33 +0000 (08:54 +0000)]
Spelling fix

From-SVN: r244568

7 years agoFix PR70182 -- missing "on" in mangling of unresolved operators
Markus Trippelsdorf [Wed, 18 Jan 2017 08:49:11 +0000 (08:49 +0000)]
Fix PR70182 -- missing "on" in mangling of unresolved operators

The ABI says:

<unresolved-name>
   ::= [gs] <base-unresolved-name>
   ::= sr <unresolved-type> <base-unresolved-name>
   ::= srN <unresolved-type> <unresolved-qualifier-level>+ E <base-unresolved-name>
   ::= [gs] sr <unresolved-qualifier-level>+ E <base-unresolved-name>

<base-unresolved-name>
   ::= <simple-id>
   ::= on <operator-name>
   ::= on <operator-name> <template-args>
   ::= dn <destructor-name

libiberty:

PR c++/70182
* cp-demangle.c (d_unqualified_name): Handle "on" for
operator names.
* testsuite/demangle-expected: Add tests.

gcc/cp:

PR c++/70182
* mangle.c (write_template_args): Add "on" for operator names.

gcc:

PR c++/70182
* doc/invoke.texi (fabi-version): Mention mangling fix for
operator names.

From-SVN: r244567

7 years agoFix PR77489 -- mangling of discriminator >= 1
Markus Trippelsdorf [Wed, 18 Jan 2017 08:40:05 +0000 (08:40 +0000)]
Fix PR77489 -- mangling of discriminator >= 1

libiberty:

PR c++/77489
* cp-demangle.c (d_discriminator): Handle discriminator >= 10.
* testsuite/demangle-expected: Add tests for discriminator.

gcc:
PR c++/77489
* doc/invoke.texi (fabi-version): Document discriminator mangling.

gcc/cp:

PR c++/77489
* mangle.c (write_discriminator): Handle discriminator >= 10.

From-SVN: r244566

7 years agot-msp430 (LIB2ADD): Remove mpy.c
Joe Seymour [Wed, 18 Jan 2017 03:56:10 +0000 (03:56 +0000)]
t-msp430 (LIB2ADD): Remove mpy.c

libgcc/
* config/msp430/t-msp430 (LIB2ADD): Remove mpy.c
(mpy.o): New rule.
(libmul_none.a): Add mpy.o

gcc/testsuite/
* gcc.target/msp430/mul_f5_muldef.c: New test.

From-SVN: r244564

7 years agosyscall, golang_org/x/net/lif: fixes for gccgo on Solaris
Ian Lance Taylor [Wed, 18 Jan 2017 03:37:52 +0000 (03:37 +0000)]
syscall, golang_org/x/net/lif: fixes for gccgo on Solaris

    Reviewed-on: https://go-review.googlesource.com/35390

From-SVN: r244563

7 years agoCheck in gcc/testsuite/gcc.target/powerpc/ssp-[12].c (I forgot "svn add"
Segher Boessenkool [Wed, 18 Jan 2017 01:05:50 +0000 (02:05 +0100)]
Check in  gcc/testsuite/gcc.target/powerpc/ssp-[12].c  (I forgot "svn add"
once again).

From-SVN: r244562

7 years agore PR target/79004 (ICE in gcc.dg/torture/fp-int-convert-float128-ieee.c with -mcpu...
Michael Meissner [Wed, 18 Jan 2017 00:35:29 +0000 (00:35 +0000)]
re PR target/79004 (ICE in gcc.dg/torture/fp-int-convert-float128-ieee.c with -mcpu=power9)

2017-01-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/79004
* gcc.target/powerpc/pr79004.c: Add -mfloat128 to the test
options.  Fix up the syntax for using \m and \M.

From-SVN: r244561

7 years agoDaily bump.
GCC Administrator [Wed, 18 Jan 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244560

7 years agocrossconfig.m4: Add fuchsia OS.
Joshua Conner [Tue, 17 Jan 2017 23:36:12 +0000 (23:36 +0000)]
crossconfig.m4: Add fuchsia OS.

2017-01-17  Joshua Conner  <joshconner@google.com>

* crossconfig.m4: Add fuchsia OS.
* configure: Regenerate.

From-SVN: r244557

7 years ago-mstack-protector-guard and friends (PR78875)
Segher Boessenkool [Tue, 17 Jan 2017 22:02:42 +0000 (23:02 +0100)]
-mstack-protector-guard and friends (PR78875)

Currently, on PowerPC, code compiled with -fstack-protector will load
the canary from -0x7010(13) (for -m64) or from -0x7008(2) (for -m32)
if GCC was compiled against GNU libc 2.4 or newer or some other libc
that supports -fstack-protector, and from the global variable
__stack_chk_guard otherwise.

This does not work well for Linux and other OS kernels and similar.
For such non-standard applications, this patch creates a few new
command-line options.  The relevant new use cases are:

-mstack-protector-guard=global
Use the __stack_chk_guard variable, no matter how this GCC was
configured.

-mstack-protector-guard=tls
Use the canary from TLS.  This will error out if this GCC was built
with a C library that does not support it.

-mstack-protector-guard=tls -mstack-protector-register=<reg>
-mstack-protector-offset=<offset>
Load the canary from offset <off> from base register <reg>.

PR target/78875
* config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
the new options.
* config/rs6000/rs6000.md (stack_protect_set): Handle the new more
flexible settings.
(stack_protect_test): Ditto.
* config/rs6000/rs6000.opt (mstack-protector-guard=,
mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
options.
* doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
-mstack-protector-guard-offset=.
(RS/6000 and PowerPC Options): Ditto.

gcc/testsuite/
* gcc.target/powerpc/ssp-1.c: New testcase.
* gcc.target/powerpc/ssp-2.c: New testcase.

From-SVN: r244556

7 years agoi386.h (MASK_CLASS_P): New define.
Uros Bizjak [Tue, 17 Jan 2017 19:44:53 +0000 (20:44 +0100)]
i386.h (MASK_CLASS_P): New define.

* config/i386/i386.h (MASK_CLASS_P): New define.
* config/i386/i386.c (inline_secondary_memory_needed): Ensure that
there are no registers from different register sets also when
mask registers are used.  Update function comment.
* config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
to (*k/*r) and (*k/*km) alternatives.

From-SVN: r244548

7 years agoThis patch simplifies the handling of EH return.
Wilco Dijkstra [Tue, 17 Jan 2017 19:34:26 +0000 (19:34 +0000)]
This patch simplifies the handling of EH return.

This patch simplifies the handling of EH return.  We force the use of the
frame pointer so the return location is always at FP + 8.  This means we
can emit a simple volatile access in EH_RETURN_HANDLER_RTX without needing md
patterns, splitters and frame offset calculations.  The new implementation also
fixes various bugs in aarch64_final_eh_return_addr, which does not work with
-fomit-frame-pointer, alloca or outgoing arguments.

    gcc/
* config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
* config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
(EH_RETURN_HANDLER_RTX): New define.
* config/aarch64/aarch64.c (aarch64_frame_pointer_required):
Force frame pointer in EH return functions.
(aarch64_expand_epilogue): Add barrier for eh_return.
(aarch64_final_eh_return_addr): Remove.
(aarch64_eh_return_handler_rtx): New function.
* config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
Remove.
(aarch64_eh_return_handler_rtx): New prototype.

    testsuite/
* gcc.target/aarch64/eh_return.c: New test.

From-SVN: r244547

7 years agoaltivec.h (vec_rlmi): New #define.
Bill Schmidt [Tue, 17 Jan 2017 19:14:09 +0000 (19:14 +0000)]
altivec.h (vec_rlmi): New #define.

[gcc]

2017-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.h (vec_rlmi): New #define.
(vec_vrlnm): Likewise.
(vec_rlnm): Likewise.
* config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
(UNSPEC_VRLNM): Likewise.
(VIlong): New mode iterator.
(altivec_vrl<VI_char>mi): New define_insn.
(altivec_vrl<VI_char>nm): Likewise.
* config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
function entry.
(VRLDNM): Likewise.
(RLNM): New polymorphic function entry.
(VRLWMI): New monomorphic function entry.
(VRLDMI): Likewise.
(RLMI): New polymorphic function entry.
* config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
* doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
vec_vrlnm.

[gcc/testsuite]

2017-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* vec-rlmi-rlnm.c: New file.

From-SVN: r244546

7 years agore PR debug/78839 (DWARF output different between GCC 5 and 6)
Jakub Jelinek [Tue, 17 Jan 2017 18:32:13 +0000 (19:32 +0100)]
re PR debug/78839 (DWARF output different between GCC 5 and 6)

PR debug/78839
* dwarf2out.c (field_byte_offset): Restore the
PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
and DECL_FIELD_BIT_OFFSET.  Use fold_build2 instead of build2 + fold.
(analyze_variants_discr, gen_variant_part): Use fold_build2 instead
of build2 + fold.

From-SVN: r244545

7 years agore PR c++/61636 (generic lambda: segfault / "cannot call member function without...
Nathan Sidwell [Tue, 17 Jan 2017 18:22:34 +0000 (18:22 +0000)]
re PR c++/61636 (generic lambda: segfault / "cannot call member function without object")

PR c++/61636
* cp-tree.h (maybe_generic_this_capture): Declare.
* lambda.c (resolvable_dummy_lambda): New, broken out of ...
(maybe_resolve_dummy): ... here.  Call it.
(maybe_generic_this_capture): New.
* parser.c (cp_parser_postfix_expression): Speculatively capture
this in generic lambda in unresolved member function call.
* pt.c (tsubst_copy_and_build): Force hard error from failed
member function lookup in generic lambda.

PR c++/61636
* g++.dg/cpp1y/pr61636-1.C: New.
* g++.dg/cpp1y/pr61636-2.C: New.
* g++.dg/cpp1y/pr61636-3.C: New.

From-SVN: r244544

7 years agore PR ada/67205 (eliminate No_Implicit_Dynamic_Code restriction violations)
Eric Botcazou [Tue, 17 Jan 2017 18:02:55 +0000 (18:02 +0000)]
re PR ada/67205 (eliminate No_Implicit_Dynamic_Code restriction violations)

PR ada/67205
* config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define

From-SVN: r244543

7 years agore PR debug/71669 (DW_AT_data_bit_offset is not emitted for dwarf4 and above)
Jakub Jelinek [Tue, 17 Jan 2017 17:42:06 +0000 (18:42 +0100)]
re PR debug/71669 (DW_AT_data_bit_offset is not emitted for dwarf4 and above)

PR debug/71669
* dwarf2out.c (add_data_member_location_attribute): For constant
offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
instead of DW_AT_data_member_location, DW_AT_bit_offset and
DW_AT_byte_size attributes.

From-SVN: r244542

7 years agors6000.c (rs6000_emit_move): Also use a TOC reference after forcing to constant memor...
Eric Botcazou [Tue, 17 Jan 2017 17:33:43 +0000 (17:33 +0000)]
rs6000.c (rs6000_emit_move): Also use a TOC reference after forcing to constant memory when...

* config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
after forcing to constant memory when the code model is medium.

From-SVN: r244541

7 years agore PR target/76731 ([AVX512] _mm512_i32gather_epi32 and other scatter/gather routines...
Julia Koval [Tue, 17 Jan 2017 17:03:00 +0000 (18:03 +0100)]
re PR target/76731 ([AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature)

PR target/76731
* config/i386/avx512fintrin.h
(_mm512_i32gather_ps): Change __addr type to void const*.
(_mm512_mask_i32gather_ps): Ditto.
(_mm512_i32gather_pd): Ditto.
(_mm512_mask_i32gather_pd): Ditto.
(_mm512_i64gather_ps): Ditto.
(_mm512_mask_i64gather_ps): Ditto.
(_mm512_i64gather_pd): Ditto.
(_mm512_mask_i64gather_pd): Ditto.
(_mm512_i32gather_epi32): Ditto.
(_mm512_mask_i32gather_epi32): Ditto.
(_mm512_i32gather_epi64): Ditto.
(_mm512_mask_i32gather_epi64): Ditto.
(_mm512_i64gather_epi32): Ditto.
(_mm512_mask_i64gather_epi32): Ditto.
(_mm512_i64gather_epi64): Ditto.
(_mm512_mask_i64gather_epi64): Ditto.
(_mm512_i32scatter_ps): Change __addr type to void*.
(_mm512_mask_i32scatter_ps): Ditto.
(_mm512_i32scatter_pd): Ditto.
(_mm512_mask_i32scatter_pd): Ditto.
(_mm512_i64scatter_ps): Ditto.
(_mm512_mask_i64scatter_ps): Ditto.
(_mm512_i64scatter_pd): Ditto.
(_mm512_mask_i64scatter_pd): Ditto.
(_mm512_i32scatter_epi32): Ditto.
(_mm512_mask_i32scatter_epi32): Ditto.
(_mm512_i32scatter_epi64): Ditto.
(_mm512_mask_i32scatter_epi64): Ditto.
(_mm512_i64scatter_epi32): Ditto.
(_mm512_mask_i64scatter_epi32): Ditto.
(_mm512_i64scatter_epi64): Ditto.
(_mm512_mask_i64scatter_epi64): Ditto.
* config/i386/avx512pfintrin.h
(_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
(_mm512_mask_prefetch_i32gather_ps): Ditto.
(_mm512_mask_prefetch_i64gather_pd): Ditto.
(_mm512_mask_prefetch_i64gather_ps): Ditto.
(_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
(_mm512_prefetch_i32scatter_ps): Ditto.
(_mm512_mask_prefetch_i32scatter_pd): Ditto.
(_mm512_mask_prefetch_i32scatter_ps): Ditto.
(_mm512_prefetch_i64scatter_pd): Ditto.
(_mm512_prefetch_i64scatter_ps): Ditto.
(_mm512_mask_prefetch_i64scatter_pd): Ditto.
(_mm512_mask_prefetch_i64scatter_ps): Ditto.
* config/i386/avx512vlintrin.h
(_mm256_mmask_i32gather_ps): Change __addr type to void const*.
(_mm_mmask_i32gather_ps): Ditto.
(_mm256_mmask_i32gather_pd): Ditto.
(_mm_mmask_i32gather_pd): Ditto.
(_mm256_mmask_i64gather_ps): Ditto.
(_mm_mmask_i64gather_ps): Ditto.
(_mm256_mmask_i64gather_pd): Ditto.
(_mm_mmask_i64gather_pd): Ditto.
(_mm256_mmask_i32gather_epi32): Ditto.
(_mm_mmask_i32gather_epi32): Ditto.
(_mm256_mmask_i32gather_epi64): Ditto.
(_mm_mmask_i32gather_epi64): Ditto.
(_mm256_mmask_i64gather_epi32): Ditto.
(_mm_mmask_i64gather_epi32): Ditto.
(_mm256_mmask_i64gather_epi64): Ditto.
(_mm_mmask_i64gather_epi64): Ditto.
(_mm256_i32scatter_ps): Change __addr type to void*.
(_mm256_mask_i32scatter_ps): Ditto.
(_mm_i32scatter_ps): Ditto.
(_mm_mask_i32scatter_ps): Ditto.
(_mm256_i32scatter_pd): Ditto.
(_mm256_mask_i32scatter_pd): Ditto.
(_mm_i32scatter_pd): Ditto.
(_mm_mask_i32scatter_pd): Ditto.
(_mm256_i64scatter_ps): Ditto.
(_mm256_mask_i64scatter_ps): Ditto.
(_mm_i64scatter_ps): Ditto.
(_mm_mask_i64scatter_ps): Ditto.
(_mm256_i64scatter_pd): Ditto.
(_mm256_mask_i64scatter_pd): Ditto.
(_mm_i64scatter_pd): Ditto.
(_mm_mask_i64scatter_pd): Ditto.
(_mm256_i32scatter_epi32): Ditto.
(_mm256_mask_i32scatter_epi32): Ditto.
(_mm_i32scatter_epi32): Ditto.
(_mm_mask_i32scatter_epi32): Ditto.
(_mm256_i32scatter_epi64): Ditto.
(_mm256_mask_i32scatter_epi64): Ditto.
(_mm_i32scatter_epi64): Ditto.
(_mm_mask_i32scatter_epi64): Ditto.
(_mm256_i64scatter_epi32): Ditto.
(_mm256_mask_i64scatter_epi32): Ditto.
(_mm_i64scatter_epi32): Ditto.
(_mm_mask_i64scatter_epi32): Ditto.
(_mm256_i64scatter_epi64): Ditto.
(_mm256_mask_i64scatter_epi64): Ditto.
(_mm_i64scatter_epi64): Ditto.
(_mm_mask_i64scatter_epi64): Ditto.
* config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
(V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
(V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
(V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
(V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
(V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
(V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
(V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
(V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
(V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
(V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
(V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
(V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
(VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
(VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
(VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
(VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
(VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
(VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
(VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
(VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
(VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
(VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
(VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
(VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
(VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
(VOID_QI_V8DI_PCINT_INT_INT): Remove.
(V16SF_V16SF_PCVOID_V16SI_HI_INT,  V8DF_V8DF_PCVOID_V8SI_QI_INT)
(V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
(V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
(V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
(VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
(VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
(VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
(VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
(V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
(V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
(V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
(V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
(V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
(V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
(V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
(V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
(VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
(VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
(VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
(VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
(VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
(VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
(VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
(VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
(VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
(VOID_QI_V8DI_PCVOID_INT_INT): Add.
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
definitions accordingly.

From-SVN: r244540

7 years agore PR target/79079 ([6] Wrong code gen for __builtin_mul_overflow when TRULY_NOOP_TRU...
Kito Cheng [Tue, 17 Jan 2017 16:56:30 +0000 (16:56 +0000)]
re PR target/79079 ([6] Wrong code gen for __builtin_mul_overflow when TRULY_NOOP_TRUNCATION (32, 64) == false)

PR target/79079
* internal-fn.c (expand_mul_overflow): Use convert_modes instead of
gen_lowpart.

Co-Authored-By: Kuan-Lin Chen <kuanlinchentw@gmail.com>
From-SVN: r244539

7 years agore PR c++/70565 (ICE at gimplify.c:8832 (cilkplus array extension))
Aldy Hernandez [Tue, 17 Jan 2017 16:54:55 +0000 (16:54 +0000)]
re PR c++/70565 (ICE at gimplify.c:8832 (cilkplus array extension))

PR c++/70565
* cp-array-notation.c (expand_array_notation_exprs): Handle
OMP_PARALLEL.

From-SVN: r244538

7 years agoPR testsuite/79115 - FAIL: gcc.dg/pr78768.c execution test on arm, aarch64
Martin Sebor [Tue, 17 Jan 2017 16:36:55 +0000 (16:36 +0000)]
PR testsuite/79115 - FAIL: gcc.dg/pr78768.c execution test on arm, aarch64

gcc/testsuite/ChangeLog
* gcc.dg/pr78768.c: Make it a link-only test.

From-SVN: r244537

7 years agoFix wording of -Wmisleading-indentation (PR c++/71497)
David Malcolm [Tue, 17 Jan 2017 16:33:44 +0000 (16:33 +0000)]
Fix wording of -Wmisleading-indentation (PR c++/71497)

gcc/c-family/ChangeLog:
PR c++/71497
* c-indentation.c (warn_for_misleading_indentation): Use the past
subjunctive in the note.

gcc/testsuite/ChangeLog:
PR c++/71497
* c-c++-common/Wmisleading-indentation-3.c: Update wording of
expected messages.
* c-c++-common/Wmisleading-indentation.c: Likewise.

From-SVN: r244536

7 years agore PR target/79058 (ARM: internal compiler error: in extract_constrain_insn, at recog...
Vladimir Makarov [Tue, 17 Jan 2017 16:11:55 +0000 (16:11 +0000)]
re PR target/79058 (ARM: internal compiler error: in extract_constrain_insn, at recog.c:2213)

2017-01-17  Vladimir Makarov  <vmakarov@redhat.com>

PR target/79058
* ira-conflicts.c (ira_build_conflicts): Update total conflict
hard regs for inner regno.

2017-01-17  Vladimir Makarov  <vmakarov@redhat.com>

PR target/79058
* gcc.target/arm/pr79058.c: New.

From-SVN: r244535

7 years agore PR tree-optimization/71854 (ICE at -O3 in both 32-bit and 64-bit modes on x86_64...
Jakub Jelinek [Tue, 17 Jan 2017 15:50:24 +0000 (16:50 +0100)]
re PR tree-optimization/71854 (ICE at -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (verify_gimple failed))

PR tree-optimization/71854
* gcc.dg/vect/pr71854.c: New test.

From-SVN: r244534

7 years agore PR c/79116 (ICE on cilkplus array notation with a _Cilk_for)
Aldy Hernandez [Tue, 17 Jan 2017 15:27:18 +0000 (15:27 +0000)]
re PR c/79116 (ICE on cilkplus array notation with a _Cilk_for)

PR c/79116
* array-notation-common.c (cilkplus_extract_an_triplets): Convert
start type to integer_type.

From-SVN: r244533

7 years agoPR69699 document why __GLIBCXX__ macro is useless
Jonathan Wakely [Tue, 17 Jan 2017 15:26:11 +0000 (15:26 +0000)]
PR69699 document why __GLIBCXX__ macro is useless

PR libstdc++/69699
* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
_GLIBCXX__ macro is not useful. Remove redundant date information
and link to the GCC release timeline.
(abi.versioning.active): Move partial sentence into the previous
paragraph.
* doc/html/*: Regenerate.

From-SVN: r244532

7 years agoPR79114 use decayed type in std::throw_with_nested assertion
Jonathan Wakely [Tue, 17 Jan 2017 15:26:06 +0000 (15:26 +0000)]
PR79114 use decayed type in std::throw_with_nested assertion

PR libstdc++/79114
* libsupc++/nested_exception.h (throw_with_nested): Use decay instead
of remove_reference.
* testsuite/18_support/nested_exception/79114.cc: New test.

From-SVN: r244531

7 years agoFix wrong assumption in contains_type_p (PR ipa/71207).
Martin Liska [Tue, 17 Jan 2017 15:11:00 +0000 (16:11 +0100)]
Fix wrong assumption in contains_type_p (PR ipa/71207).

2017-01-17  Martin Liska  <mliska@suse.cz>

PR ipa/71207
* g++.dg/ipa/pr71207.C: New test.
2017-01-17  Martin Liska  <mliska@suse.cz>

PR ipa/71207
* ipa-polymorphic-call.c (contains_type_p): Fix wrong
assumption and add comment.

From-SVN: r244530

7 years agoipa-visibility.c (localize_node): New function, broken out of ...
Nathan Sidwell [Tue, 17 Jan 2017 15:04:50 +0000 (15:04 +0000)]
ipa-visibility.c (localize_node): New function, broken out of ...

* ipa-visibility.c (localize_node): New function, broken out of ...
(function_and_variable_visibility): ... here. Call it.

From-SVN: r244529

7 years agore PR tree-optimization/77445 (Performance drop after r239219 on coremark test)
Jan Hubicka [Tue, 17 Jan 2017 12:49:41 +0000 (13:49 +0100)]
re PR tree-optimization/77445 (Performance drop after r239219 on coremark test)

PR middle-end/77445
* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
correctly set frequency of oudgoing edge.
(duplicate_thread_path): Fix profile updating.
* gcc.dg/tree-ssa/pr77445-2.c: New testcase.
* gcc.dg/tree-ssa/pr77445.c: New testcase.

From-SVN: r244528

7 years agossa-dse-2.C (size_t): Typedef to __SIZE_TYPE__ rather than long unsigned int.
Jakub Jelinek [Tue, 17 Jan 2017 10:14:40 +0000 (11:14 +0100)]
ssa-dse-2.C (size_t): Typedef to __SIZE_TYPE__ rather than long unsigned int.

* g++.dg/tree-ssa/ssa-dse-2.C (size_t): Typedef to __SIZE_TYPE__
rather than long unsigned int.
* g++.dg/tree-ssa/ssa-dom.C: Likewise.

From-SVN: r244527

7 years agohsa.h: Add GCC runtime library exception.
Jakub Jelinek [Tue, 17 Jan 2017 09:45:23 +0000 (10:45 +0100)]
hsa.h: Add GCC runtime library exception.

* plugin/hsa.h: Add GCC runtime library exception.
* plugin/hsa_ext_finalize.h: Likewise.

From-SVN: r244523

7 years agoconfigfrag.ac: For --without-cuda-driver don't initialize CUDA_DRIVER_INCLUDE nor...
Jakub Jelinek [Tue, 17 Jan 2017 09:44:17 +0000 (10:44 +0100)]
configfrag.ac: For --without-cuda-driver don't initialize CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.

* plugin/configfrag.ac: For --without-cuda-driver don't initialize
CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
plugin/include/cuda as include dir and -ldl instead of -lcuda as
library to link ptx plugin against.
* plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
(CUDA_CALLS): Define.
(cuda_lib, cuda_lib_inited): New variables.
(init_cuda_lib): New function.
(CUDA_CALL_PREFIX): Define.
(CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
(CUDA_CALL): Use FN instead of (FN).
(CUDA_CALL_NOCHECK): Define.
(cuda_error, fini_streams_for_device, select_stream_for_async,
nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
CUDA_CALL_NOCHECK.
(nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
CUDA_CALL_NOCHECK.
(nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
Use CUDA_CALL_NOCHECK.
* plugin/cuda/cuda.h: New file.
* config.h.in: Regenerated.
* configure: Regenerated.

From-SVN: r244522

7 years agore PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
Jakub Jelinek [Tue, 17 Jan 2017 09:38:48 +0000 (10:38 +0100)]
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)

PR other/79046
* configure: Regenerated.
config/
* acx.m4 (GCC_BASE_VER): New m4 function.
(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
--with-gcc-major-version-only use just major number from BASE-VER.
gcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
(gcc.o): Depend on $(BASEVER).
* common.opt (dumpfullversion): New option.
* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
* doc/invoke.texi: Document -dumpfullversion.
* doc/install.texi: Document --with-gcc-major-version-only.
* configure: Regenerated.
libatomic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgomp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
libssp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
liboffloadmic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libquadmath/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libmpx/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libada/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
lto-plugin/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libitm/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
fixincludes/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libcilkrts/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libcc1/
* configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
use just major number from BASE-VER.
* configure: Regenerated.
* Makefile.in: Regenerated.
libobjc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libstdc++-v3/
* configure.ac: Add GCC_BASE_VER.
* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* po/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* python/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/filesystem/Makefile.in: Regenerated.
libvtv/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libsanitizer/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* libbacktrace/Makefile.in: Regenerated.
* interception/Makefile.in: Regenerated.
* asan/Makefile.in: Regenerated.
* ubsan/Makefile.in: Regenerated.
* configure: Regenerated.
* sanitizer_common/Makefile.in: Regenerated.
* lsan/Makefile.in: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.
libgfortran/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.

From-SVN: r244521

7 years agore PR tree-optimization/71433 (-Warray-bounds false positive with -O2)
Richard Biener [Tue, 17 Jan 2017 08:38:59 +0000 (08:38 +0000)]
re PR tree-optimization/71433 (-Warray-bounds false positive with -O2)

2017-01-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/71433
* tree-vrp.c (register_new_assert_for): Merge same asserts
on all incoming edges.
(process_assert_insertions_for): Handle insertions at the
beginning of BBs.

* gcc.dg/Warray-bounds-20.c: New testcase.

From-SVN: r244520

7 years agore PR testsuite/52563 (FAIL: gcc.dg/tree-ssa/scev-[3,4].c scan-tree-dump-times optimi...
Richard Biener [Tue, 17 Jan 2017 08:24:26 +0000 (08:24 +0000)]
re PR testsuite/52563 (FAIL: gcc.dg/tree-ssa/scev-[3,4].c scan-tree-dump-times optimized "&a" 1)

2017-01-17  Richard Biener  <rguenther@suse.de>

PR testsuite/52563
PR testsuite/71237
PR testsuite/77737
* gcc.dg/tree-ssa/scev-3.c: Re-write to a GIMPLE testcase for IVOPTs.
* gcc.dg/tree-ssa/scev-4.c: Likewise.
* gcc.dg/tree-ssa/scev-5.c: Likewise.

From-SVN: r244519

7 years agogcc_update: Remove entries related to GCJ and libgcj.
Gerald Pfeifer [Tue, 17 Jan 2017 07:44:45 +0000 (07:44 +0000)]
gcc_update: Remove entries related to GCJ and libgcj.

* gcc_update: Remove entries related to GCJ and libgcj.
Complete copyright years and adjust my e-mail address.

From-SVN: r244518

7 years agocygwin.h (LIBGCJ_SONAME): Remove.
Gerald Pfeifer [Tue, 17 Jan 2017 07:23:40 +0000 (07:23 +0000)]
cygwin.h (LIBGCJ_SONAME): Remove.

* config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
* config/i386/mingw32.h (LIBGCJ_SONAME): Remove.

From-SVN: r244517

7 years agore PR target/78633 ([SH] libgcc/fp-bit.c:944:1: error: invalid rtl sharing found...
Kaz Kojima [Tue, 17 Jan 2017 04:07:51 +0000 (04:07 +0000)]
re PR target/78633 ([SH] libgcc/fp-bit.c:944:1: error: invalid rtl sharing found in the insn)

PR target/78633
* config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
RTL sharing.

From-SVN: r244516

7 years agoPR79066, non-PIC code generated for powerpc glibc with -fpic
Alan Modra [Tue, 17 Jan 2017 02:54:11 +0000 (13:24 +1030)]
PR79066, non-PIC code generated for powerpc glibc with -fpic

PR target/79066
* config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
symbolic stack limit when pic.
testsuite/
* gcc.target/powerpc/pr79066.c: New.

From-SVN: r244515

7 years agoDaily bump.
GCC Administrator [Tue, 17 Jan 2017 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r244514

7 years agoPR tree-optimization/78608 - gimple-ssa-sprintf.c:570:17: runtime error: negation...
Martin Sebor [Tue, 17 Jan 2017 00:14:52 +0000 (00:14 +0000)]
PR tree-optimization/78608 - gimple-ssa-sprintf.c:570:17: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'

gcc/ChangeLog:
* gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.

From-SVN: r244511

7 years agorevert: Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several...
Jeff Law [Mon, 16 Jan 2017 23:51:57 +0000 (16:51 -0700)]
revert: Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include directories that may be relative...

Revert:
2016-12-02  Tadek Kijkowski  <tkijkowski@gmail.com>
        * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
        for several include directories that may be relative to sysroot.
        * config/i386/x-mingw32 (gplus_includedir): Define.
        (gplus_tool_includedir, gplus_backward_include_dir): Likewise.
        (native_system_includedir): Likewise.
        * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
        override if TARGET_SYSTEM_ROOT is defined.
        (NATIVE_SYSTEM_HEADER_DIR): Likewise.

From-SVN: r244510