gcc.git
8 years ago[multiple changes]
Arnaud Charlet [Mon, 20 Jun 2016 12:22:09 +0000 (14:22 +0200)]
[multiple changes]

2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

* atree.ads, atree.adb (Elist29): New routine.
(Set_Elist29): New routine.
* atree.h New definition for Elist29.
* einfo.adb Subprograms_For_Type is now an Elist rather than
a node. Has_Invariants is now a synthesized attribute
and does not require a flag. Has_Own_Invariants
is now Flag232. Has_Inherited_Invariants is
Flag291. Is_Partial_Invariant_Procedure is Flag292.
(Default_Init_Cond_Procedure): Reimplemented.
(Has_Inherited_Invariants): New routine.
(Has_Invariants): Reimplemented.
(Has_Own_Invariants): New routine.
(Invariant_Procedure): Reimplemented.
(Is_Partial_Invariant_Procedure): New routine.
(Partial_Invariant_Procedure): Reimplemented.
(Predicate_Function): Reimplemented.
(Predicate_Function_M): Reimplemented.
(Set_Default_Init_Cond_Procedure): Reimplemented.
(Set_Has_Inherited_Invariants): New routine.
(Set_Has_Invariants): Removed.
(Set_Has_Own_Invariants): New routine.
(Set_Invariant_Procedure): Reimplemented.
(Set_Is_Partial_Invariant_Procedure): New routine.
(Set_Partial_Invariant_Procedure): Reimplemented.
(Set_Predicate_Function): Reimplemented.
(Set_Predicate_Function_M): Reimplemented.
(Set_Subprograms_For_Type): Reimplemented.
(Subprograms_For_Type): Reimplemented.
(Write_Entity_Flags): Output Flag232 and Flag291.
* einfo.ads Add new attributes Has_Inherited_Invariants
Has_Own_Invariants Is_Partial_Invariant_Procedure
Partial_Invariant_Procedure Change the documentation
of attributes Has_Inheritable_Invariants Has_Invariants
Invariant_Procedure Is_Invariant_Procedure Subprograms_For_Type
(Has_Inherited_Invariants): New routine along with pragma Inline.
(Has_Own_Invariants): New routine along with pragma Inline.
(Is_Partial_Invariant_Procedure): New routine along with pragma Inline.
(Partial_Invariant_Procedure): New routine.
(Set_Has_Inherited_Invariants): New routine along with pragma Inline.
(Set_Has_Invariants): Removed along with pragma Inline.
(Set_Has_Own_Invariants): New routine along with pragma Inline.
(Set_Is_Partial_Invariant_Procedure): New routine
along with pragma Inline.
(Set_Partial_Invariant_Procedure): New routine.
(Set_Subprograms_For_Type): Update the signature.
(Subprograms_For_Type): Update the signature.
* exp_ch3.adb Remove with and use clauses for Sem_Ch13.
(Build_Array_Invariant_Proc): Removed.
(Build_Record_Invariant_Proc): Removed.
(Freeze_Type): Build the body of the invariant procedure.
(Insert_Component_Invariant_Checks): Removed.
* exp_ch7.adb Add with and use clauses for Sem_Ch6, Sem_Ch13,
and Stringt.
(Build_Invariant_Procedure_Body): New routine.
(Build_Invariant_Procedure_Declaration): New routine.
* exp_ch7.ads (Build_Invariant_Procedure_Body): New routine.
(Build_Invariant_Procedure_Declaration): New routine.
* exp_ch9.adb (Build_Corresponding_Record): Do not propagate
attributes related to invariants to the corresponding record
when building the corresponding record. This is done by
Build_Invariant_Procedure_Declaration.
* exp_util.adb (Make_Invariant_Call): Reimplemented.
* freeze.adb (Freeze_Array_Type): An array type requires an
invariant procedure when its component type has invariants.
(Freeze_Record_Type): A record type requires an invariant
procedure when at least one of its components has an invariant.
* sem_ch3.adb (Analyze_Private_Extension_Declaration): Inherit
invariant-related attributes.
(Analyze_Subtype_Declaration):
Inherit invariant-related attributes.
(Build_Derived_Record_Type): Inherit invariant-related attributes.
(Check_Duplicate_Aspects): Reimplemented.
(Get_Partial_View_Aspect): New routine.
(Process_Full_View): Inherit invariant-related attributes. Reimplement
the check on hidden inheritance of class-wide invariants.
(Remove_Default_Init_Cond_Procedure): Reimplemented.
* sem_ch6.adb (Analyze_Subprogram_Specification): Do not modify
the controlling type for an invariant procedure declaration
or body.
(Is_Invariant_Procedure_Or_Body): New routine.
* sem_ch7.adb (Analyze_Package_Specification): Build the partial
invariant body in order to preanalyze and resolve all invariants
of a private type at the end of the visible declarations. Build
the full invariant body in order to preanalyze and resolve
all invariants of a private type's full view at the end of
the private declarations.
(Preserve_Full_Attributes): Inherit invariant-related attributes.
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Ensure that
aspects are analyzed with the proper view when the protected type
is a completion of a private type. Inherit invariant-related attributes.
(Analyze_Task_Type_Declaration): Ensure that
aspects are analyzed with the proper view when the task type
is a completion of a private type. Inherit invariant-related
attributes.
* sem_ch13.adb Remove with and use clauses for Stringt.
(Build_Invariant_Procedure_Declaration): Removed.
(Build_Invariant_Procedure): Removed.
(Freeze_Entity_Checks): Do not build the body of the invariant
procedure here.
The body is built when the type is frozen in Freeze_Type.
(Inherit_Aspects_At_Freeze_Point): Do not inherit any attributes
related to invariants here because this leads to erroneous
inheritance.
(Replace_Node): Rename to Replace_Type_Ref.
* sem_ch13.ads (Build_Invariant_Procedure_Declaration): Removed.
(Build_Invariant_Procedure): Removed.
* sem_prag.adb Add with and use clauses for Exp_Ch7.
(Analyze_Pragma): Reimplement the analysis of pragma Invariant.
* sem_res.adb (Resolve_Actuals): Emit a specialized error when
the context is an invariant.
* sem_util.adb (Get_Views): New routine.
(Incomplete_Or_Partial_View): Consider generic packages when
examining declarations.
(Inspect_Decls): Consider full type
declarations because they may denote a derivation from a
private type.
(Propagate_Invariant_Attributes): New routine.
* sem_util.ads (Get_Views): New routine.
(Propagate_Invariant_Attributes): New routine.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

* pprint.adb (Expression_Image): Add better handling of UCs,
we don't want to strip them all for clarity.

From-SVN: r237596

8 years agoThe Cortex-A57 scheduler is missing fcsel, so add it.
Wilco Dijkstra [Mon, 20 Jun 2016 12:15:19 +0000 (12:15 +0000)]
The Cortex-A57 scheduler is missing fcsel, so add it.

    gcc/
* config/arm/cortex-a57.md (cortex_a57_fp_cpys): Add fcsel.

From-SVN: r237595

8 years ago[typo] alignement -> alignment
Kyrylo Tkachov [Mon, 20 Jun 2016 11:12:07 +0000 (11:12 +0000)]
[typo] alignement -> alignment

2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * params.def (PARAM_ALIGN_LOOP_ITERATIONS): Use "alignment" instead of
    "alignement".
    * tree.h (TYPE_ALIGN): Likewise.

2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * exp_util.adb (Safe_Unchecked_Type_Conversion): Use "alignment"
    instead of "alignement".

2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    * gfortran.dg/common_align_2.f90: Use "alignment" instead of
    "alignement".

From-SVN: r237590

8 years agore PR target/71103 (avr-gcc crashes with unrecognizable insn error)
Georg-Johann Lay [Mon, 20 Jun 2016 11:01:13 +0000 (11:01 +0000)]
re PR target/71103 (avr-gcc crashes with unrecognizable insn error)

gcc/
PR target/71103
* config/avr/avr.md (movqi): Handle loading subreg:qi (const).

gcc/testsuite/
PR target/71103
* gcc.target/avr/torture/pr71103-2.c: New test.

From-SVN: r237589

8 years agoavr.c (avr_print_operand): Fix "format not a string literal" build warnings.
Georg-Johann Lay [Mon, 20 Jun 2016 10:50:53 +0000 (10:50 +0000)]
avr.c (avr_print_operand): Fix "format not a string literal" build warnings.

* config/avr/avr.c (avr_print_operand): Fix "format not a string
literal" build warnings.
(avr_print_operand_address): Dito.

From-SVN: r237588

8 years agore PR target/71375 (Failure on startup on rs6000-ibm-aix{4.3|5.1.0})
David Edelsohn [Mon, 20 Jun 2016 02:25:50 +0000 (22:25 -0400)]
re PR target/71375 (Failure on startup on rs6000-ibm-aix{4.3|5.1.0})

        PR target/71375
        * config/rs6000/aix51.h (TARGET_EXTRA_BUILTINS): Define as 0.
        * config/rs6000/aix43.h (TARGET_EXTRA_BUILTINS): Same.

From-SVN: r237587

8 years agoDaily bump.
GCC Administrator [Mon, 20 Jun 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237586

8 years agoPR c/69507 - bogus warning: ISO C does not allow ‘__alignof__ (expression)’
Martin Sebor [Sun, 19 Jun 2016 16:11:40 +0000 (10:11 -0600)]
PR c/69507 - bogus warning: ISO C does not allow ‘__alignof__ (expression)’

From-SVN: r237582

8 years agoPR c/69507 - bogus warning: ISO C does not allow ‘__alignof__ (expression)’
Martin Sebor [Sun, 19 Jun 2016 16:10:04 +0000 (16:10 +0000)]
PR c/69507 - bogus warning: ISO C does not allow ‘__alignof__ (expression)’

gcc/testsuite/ChangeLog:

PR c/69507
* gcc.dg/alignof.c: New test.

gcc/c/ChangeLog:

PR c/69507
* c-parser.c (c_parser_alignof_expression): Avoid diagnosing
__alignof__ (expression).

From-SVN: r237581

8 years agoUse gfc_add_*_component defines where appropriate
Bernhard Reutner-Fischer [Sun, 19 Jun 2016 10:38:16 +0000 (12:38 +0200)]
Use gfc_add_*_component defines where appropriate

A couple of places used gfc_add_component_ref(expr, "string") instead of
the defines from gfortran.h

From-SVN: r237580

8 years agoDaily bump.
GCC Administrator [Sun, 19 Jun 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237579

8 years agotrans-types.c: Commentary typo fix.
Bernhard Reutner-Fischer [Sat, 18 Jun 2016 20:06:23 +0000 (22:06 +0200)]
trans-types.c: Commentary typo fix.

From-SVN: r237575

8 years agofptr.c (__canonicalize_funcptr_for_compare): Don't set least-significant bit in funct...
John David Anglin [Sat, 18 Jun 2016 17:49:58 +0000 (17:49 +0000)]
fptr.c (__canonicalize_funcptr_for_compare): Don't set least-significant bit in function pointer for fixup.

* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set
least-significant bit in function pointer for fixup.

From-SVN: r237574

8 years agopa.h (TARGET_LONG_PIC_PCREL_CALL): Remove.
John David Anglin [Sat, 18 Jun 2016 17:26:38 +0000 (17:26 +0000)]
pa.h (TARGET_LONG_PIC_PCREL_CALL): Remove.

* config/pa/pa.h (TARGET_LONG_PIC_PCREL_CALL): Remove.

From-SVN: r237573

8 years agoMAINTAINERS (Write After Approval): Add myself.
Senthil Kumar Selvaraj [Sat, 18 Jun 2016 13:26:36 +0000 (13:26 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2016-06-18  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r237572

8 years agore PR bootstrap/71435 (sparc bootstrap failure since r235625)
Eric Botcazou [Sat, 18 Jun 2016 11:10:10 +0000 (11:10 +0000)]
re PR bootstrap/71435 (sparc bootstrap failure since r235625)

PR bootstrap/71435
* reload1.c (reload): Pass 0 to finish_spills when called because
update_eliminables_and_spill returns true and remove did_spill.
(finish_spills): Adjust comment and document GLOBAL parameter.

From-SVN: r237571

8 years agoDaily bump.
GCC Administrator [Sat, 18 Jun 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237570

8 years agore PR target/71338 ([RL78] mulu instruction not used on G10)
DJ Delorie [Fri, 17 Jun 2016 22:24:17 +0000 (18:24 -0400)]
re PR target/71338 ([RL78] mulu instruction not used on G10)

PR target/71338
* config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
* config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
(umulqihi3_virt): Likewise.
* config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
(umulqihi3_real): Likewise.

From-SVN: r237566

8 years agoopenmp.c (match_acc): New generic function to parse OpenACC directives.
Cesar Philippidis [Fri, 17 Jun 2016 20:32:03 +0000 (13:32 -0700)]
openmp.c (match_acc): New generic function to parse OpenACC directives.

gcc/fortran/
* openmp.c (match_acc): New generic function to parse OpenACC
directives.
(gfc_match_oacc_parallel_loop): Use it.
(gfc_match_oacc_parallel): Likewise.
(gfc_match_oacc_kernels_loop): Likewise.
(gfc_match_oacc_kernels): Likewise.
(gfc_match_oacc_data): Likewise.
(gfc_match_oacc_host_data): Likewise.
(gfc_match_oacc_loop): Likewise.
(gfc_match_oacc_enter_data): Likewise.
(gfc_match_oacc_exit_data): Likewise.

From-SVN: r237565

8 years agodecl.c (validate_constexpr_redeclaration): Change pair of errors to error + inform.
Paolo Carlini [Fri, 17 Jun 2016 20:01:46 +0000 (20:01 +0000)]
decl.c (validate_constexpr_redeclaration): Change pair of errors to error + inform.

/cp
2016-06-17  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (validate_constexpr_redeclaration): Change pair of errors
to error + inform.
* error.c (dump_function_decl): Save the constexpr specifier too.

/testsuite
2016-06-17  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/constexpr-specialization.C: Adjust for dg-message
vs dg-error; test constexpr specifier too.

From-SVN: r237564

8 years agotree.c (builtin_valid_in_constant_expr_p): Test for DECL_BUILT_IN_CLASS equal to...
Jakub Jelinek [Fri, 17 Jun 2016 19:49:49 +0000 (21:49 +0200)]
tree.c (builtin_valid_in_constant_expr_p): Test for DECL_BUILT_IN_CLASS equal to BUILT_IN_NORMAL instead of just DECL_BUILT_IN.

* tree.c (builtin_valid_in_constant_expr_p): Test for
DECL_BUILT_IN_CLASS equal to BUILT_IN_NORMAL instead of just
DECL_BUILT_IN.
(bot_manip): Likewise.
* call.c (magic_varargs_p): Likewise.

From-SVN: r237563

8 years agodecl.c (grokfndecl): Change pair of errors to error + inform.
Paolo Carlini [Fri, 17 Jun 2016 19:10:35 +0000 (19:10 +0000)]
decl.c (grokfndecl): Change pair of errors to error + inform.

/cp
2016-06-17  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (grokfndecl): Change pair of errors to error + inform.

/testsuite
2016-06-17  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp0x/defaulted31.C: Adjust for dg-message vs dg-error.

From-SVN: r237562

8 years agolibstdc++/71545 fix debug checks in binary search algorithms
Jonathan Wakely [Fri, 17 Jun 2016 18:28:34 +0000 (19:28 +0100)]
libstdc++/71545 fix debug checks in binary search algorithms

PR libstdc++/71545
* include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
Remove irreflexive checks.
* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
binary_search): Likewise.
* testsuite/25_algorithms/equal_range/partitioned.cc: New test.
* testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
* testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
* testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
* testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
Add constructor from array.

From-SVN: r237560

8 years agoFix memory leak in tree-ssa-reassoc.c
Martin Liska [Fri, 17 Jun 2016 18:05:56 +0000 (20:05 +0200)]
Fix memory leak in tree-ssa-reassoc.c

* tree-ssa-reassoc.c (transform_add_to_multiply): Use auto_vec.

From-SVN: r237559

8 years agoPR c++/71209 - wrong error with dependent base
Jason Merrill [Fri, 17 Jun 2016 16:35:33 +0000 (12:35 -0400)]
PR c++/71209 - wrong error with dependent base

* typeck.c (finish_class_member_access_expr): Avoid "not a base"
warning when there are dependent bases.

From-SVN: r237558

8 years ago[ARM][testsuite] Make arm_neon_fp16 depend on arm_neon_ok
Christophe Lyon [Fri, 17 Jun 2016 14:59:04 +0000 (14:59 +0000)]
[ARM][testsuite] Make arm_neon_fp16 depend on arm_neon_ok

2016-06-17  Christophe Lyon  <christophe.lyon@linaro.org>

* lib/target-supports.exp
(check_effective_target_arm_neon_fp16_ok_nocache): Call
arm_neon_ok and merge flags.  Fix temporary test name.
(check_effective_target_arm_neonv2_ok_nocache): Call arm_neon_ok
and merge flags.

From-SVN: r237557

8 years agoChange PRED_LOOP_EXIT from 92 to 85.
Martin Liska [Fri, 17 Jun 2016 14:28:57 +0000 (16:28 +0200)]
Change PRED_LOOP_EXIT from 92 to 85.

* analyze_brprob.py: Fix columns of script output.
* predict.def: PRED_LOOP_EXIT from 92 to 85.
* gcc.dg/predict-9.c: Fix dump scanning.

From-SVN: r237556

8 years agore PR tree-optimization/71354 (gcc.dg/vect/vect-23.c FAILs)
Bin Cheng [Fri, 17 Jun 2016 13:55:06 +0000 (13:55 +0000)]
re PR tree-optimization/71354 (gcc.dg/vect/vect-23.c FAILs)

PR tree-optimization/71354
* gcc.dg/vect/vect-23.c: Use vect_condition instead of vect_cond.

From-SVN: r237555

8 years agosemantics.c (handle_omp_array_sections_1): Don't ICE when processing_template_decl...
Jakub Jelinek [Fri, 17 Jun 2016 13:35:42 +0000 (15:35 +0200)]
semantics.c (handle_omp_array_sections_1): Don't ICE when processing_template_decl when checking for bitfields and unions.

* semantics.c (handle_omp_array_sections_1): Don't ICE when
processing_template_decl when checking for bitfields and unions.
Look through REFERENCE_REF_P as base of COMPONENT_REF.
(finish_omp_clauses): Look through REFERENCE_REF_P even for
array sections with COMPONENT_REF bases.

* testsuite/libgomp.c++/target-21.C: New test.

From-SVN: r237554

8 years ago[Patch ARM arm_neon.h] s/__FAST_MATH/__FAST_MATH__/g
James Greenhalgh [Fri, 17 Jun 2016 10:28:34 +0000 (10:28 +0000)]
[Patch ARM arm_neon.h] s/__FAST_MATH/__FAST_MATH__/g

gcc/

* config/arm/arm_neon.h (vadd_f32): replace __FAST_MATH with
__FAST_MATH__.
(vaddq_f32): Likewise.
(vmul_f32): Likewise.
(vmulq_f32): Likewise.
(vsub_f32): Likewise.
(vsubq_f32): Likewise.

From-SVN: r237553

8 years agore PR tree-optimization/71347 (Performance drop after r235513 on x86-64 in 32-bit...
Bin Cheng [Fri, 17 Jun 2016 09:26:05 +0000 (09:26 +0000)]
re PR tree-optimization/71347 (Performance drop after r235513 on x86-64 in 32-bit mode.)

PR tree-optimization/71347
* tree-ssa-loop-ivopts.c (determine_group_iv_cost_address): Compute
cost for all uses in group.

PR tree-optimization/71347
* gcc.dg/tree-ssa/pr71347.c: New test.

From-SVN: r237552

8 years agore PR tree-optimization/71354 (gcc.dg/vect/vect-23.c FAILs)
Bin Cheng [Fri, 17 Jun 2016 09:21:12 +0000 (09:21 +0000)]
re PR tree-optimization/71354 (gcc.dg/vect/vect-23.c FAILs)

PR tree-optimization/71354
* gcc.dg/vect/vect-23.c: Add VECT_COND requirement.

From-SVN: r237551

8 years agotree-vect-loop.c (vect_create_epilog_for_reduction): Only insert gimple seq if it...
Bin Cheng [Fri, 17 Jun 2016 09:17:39 +0000 (09:17 +0000)]
tree-vect-loop.c (vect_create_epilog_for_reduction): Only insert gimple seq if it's not empty.

* tree-vect-loop.c (vect_create_epilog_for_reduction): Only
insert gimple seq if it's not empty.

From-SVN: r237550

8 years agotree-vectorizer.h (struct dr_with_seg_len): Remove class member OFFSET.
Bin Cheng [Fri, 17 Jun 2016 09:05:05 +0000 (09:05 +0000)]
tree-vectorizer.h (struct dr_with_seg_len): Remove class member OFFSET.

* tree-vectorizer.h (struct dr_with_seg_len): Remove class
member OFFSET.
* tree-vect-data-refs.c (operator ==): Handle DR_OFFSET directly,
rather than OFFSET.
(comp_dr_with_seg_len_pair): Ditto.
(vect_prune_runtime_alias_test_list): Ditto.  Also Canonicalize
struct dr_with_seg_len_pair against DR_OFFSET.
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Handle
DR_OFFSET directly.

* gcc.dg/vect/vect-alias-check-1.c: New test.

From-SVN: r237549

8 years ago[AArch64] Handle iterator definitions with conditionals in geniterator.sh
Szabolcs Nagy [Fri, 17 Jun 2016 08:27:35 +0000 (08:27 +0000)]
[AArch64] Handle iterator definitions with conditionals in geniterator.sh

gcc/
2016-06-17  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config/aarch64/geniterators.sh: Handle parenthesised conditions.

From-SVN: r237548

8 years agoDaily bump.
GCC Administrator [Fri, 17 Jun 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237547

8 years agopa.c (pa_output_pic_pcrel_sequence): New.
John David Anglin [Thu, 16 Jun 2016 21:44:55 +0000 (21:44 +0000)]
pa.c (pa_output_pic_pcrel_sequence): New.

* config/pa/pa.c (pa_output_pic_pcrel_sequence): New.
(pa_output_lbranch): Use pa_output_pic_pcrel_sequence.
(pa_output_millicode_call): Likewise.
(pa_output_call): Likewise.
(pa_output_indirect_call): Likewise.
(pa_asm_output_mi_thunk): Likewise.

From-SVN: r237543

8 years agoAdd Michael Collison with Write After Approval
Michael Collison [Thu, 16 Jun 2016 20:49:12 +0000 (20:49 +0000)]
Add Michael Collison with Write After Approval

From-SVN: r237542

8 years ago2016-06-16 François Dumont <fdumont@gcc.gnu.org>
François Dumont [Thu, 16 Jun 2016 20:34:08 +0000 (20:34 +0000)]
2016-06-16  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/debug.h
(__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
(__glibcxx_requires_subscript): Move...
* include/debug/assertions.h: ...here and add __builtin_expect.
(_GLIBCXX_DEBUG_ONLY): Remove ; value.
* include/bits/stl_deque.h
(std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
(std::deque<>::front()): Add __glibcxx_requires_nonempty check.
(std::deque<>::back()): Likewise.
(std::deque<>::pop_front()): Likewise.
(std::deque<>::pop_back()): Likewise.
(std::deque<>::swap(deque&)): Add allocator check.
* include/bits/stl_vector.h
(std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
(std::vector<>::front()): Add __glibcxx_requires_nonempty check.
(std::vector<>::back()): Likewise.
(std::vector<>::pop_back()): Likewise.
(std::vector<>::swap(vector&)): Add allocator check.

From-SVN: r237541

8 years agodoc/invoke.texi (x86 Options): Fix -mno-fp-ret-in-387 typo
Bernhard Reutner-Fischer [Thu, 16 Jun 2016 19:50:19 +0000 (21:50 +0200)]
doc/invoke.texi (x86 Options): Fix -mno-fp-ret-in-387 typo

From-SVN: r237540

8 years agoFix finding of a first match predictor
Martin Liska [Thu, 16 Jun 2016 19:25:56 +0000 (21:25 +0200)]
Fix finding of a first match predictor

* predict.c (combine_predictions_for_insn): When we find a first
match predictor, we should consider just predictors with
PRED_FLAG_FIRST_MATCH.  Print either first match (if any) or
DS theory predictor.
(combine_predictions_for_bb): Likewise.

From-SVN: r237539

8 years agogimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs with base of reference...
Jakub Jelinek [Thu, 16 Jun 2016 19:03:05 +0000 (21:03 +0200)]
gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs with base of reference to struct.

* gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs
with base of reference to struct.

* parser.c (cp_parser_omp_var_list_no_open): Call
convert_from_reference before cp_parser_postfix_dot_deref_expression.
* semantics.c (finish_omp_clauses): Don't ICE when
processing_template_decl when checking for bitfields and unions.
Look through REFERENCE_REF_P as base of COMPONENT_REF.

* testsuite/libgomp.c++/target-20.C: New test.

From-SVN: r237538

8 years agoinvoke.texi (x86 Options): Document -m80387 and -mhard-float.
Uros Bizjak [Thu, 16 Jun 2016 17:56:45 +0000 (19:56 +0200)]
invoke.texi (x86 Options): Document -m80387 and -mhard-float.

* doc/invoke.texi (x86 Options): Document -m80387 and -mhard-float.

From-SVN: r237537

8 years agoavr.c (avr_asm_init_sections): Remove setup of progmem_swtable_section.
Senthil Kumar Selvaraj [Thu, 16 Jun 2016 16:50:40 +0000 (16:50 +0000)]
avr.c (avr_asm_init_sections): Remove setup of progmem_swtable_section.

gcc/ChangeLog:
        * config/avr/avr.c (avr_asm_init_sections): Remove setup of
progmem_swtable_section.
        (progmem_swtable_section): Remove.
        (avr_asm_function_rodata_section): Remove.
        (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
        * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION: Define to 1.

gcc/testsuite/ChangeLog:
        * gcc.target/avr/pr71151-1.c: New test.
        * gcc.target/avr/pr71151-2.c: New test.
        * gcc.target/avr/pr71151-3.c: New test.
        * gcc.target/avr/pr71151-4.c: New test.
        * gcc.target/avr/pr71151-5.c: New test.
        * gcc.target/avr/pr71151-6.c: New test.
        * gcc.target/avr/pr71151-7.c: New test.
        * gcc.target/avr/pr71151-8.c: New test.
        * gcc.target/avr/pr71151-common.h: New test.

From-SVN: r237536

8 years agodriver-i386.c (host_detect_local_cpu): Set PROCESSOR_K8 for signature_CENTAUR_ebx...
Jocelyn Mayer [Thu, 16 Jun 2016 16:09:30 +0000 (18:09 +0200)]
driver-i386.c (host_detect_local_cpu): Set PROCESSOR_K8 for signature_CENTAUR_ebx with has_longmode.

* config/i386/driver-i386.c (host_detect_local_cpu): Set
PROCESSOR_K8 for signature_CENTAUR_ebx with has_longmode.
<case PROCESSOR_K8>: Pass nano-3000, nano, eden-x2 or k8 for
signature_CENTAUR_ebx.
* config/i386/i386.c (ix86_option_override_internal): Add
definitions for VIA c7, samuel-2, nehemiah, esther, eden-x2, eden-x4,
nano, nano-1000, nano-2000, nano-3000, nano-x2 and nano-x4.
* doc/invoke.texi: Document new VIA -march entries.

From-SVN: r237534

8 years agoIntroduce fortran loop preheader
Martin Liska [Thu, 16 Jun 2016 16:05:25 +0000 (18:05 +0200)]
Introduce fortran loop preheader

* predict.def: Add fortran loop preheader predictor.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Properly
fold IFN_BUILTIN_EXPECT with a known constant argument.
* trans-stmt.c (gfc_trans_simple_do): Predict the edge.
* gfortran.dg/predict-1.f90: New test.

From-SVN: r237533

8 years agoAdd 'Fortran' to display text of all PRED_FORTRAN_*
Martin Liska [Thu, 16 Jun 2016 16:01:54 +0000 (18:01 +0200)]
Add 'Fortran' to display text of all PRED_FORTRAN_*

* predict.def: Add 'Fortran' to display text of all
PRED_FORTRAN_* predictors.

From-SVN: r237532

8 years agoProvide swappable traits (p0185r1)
Daniel Kruegler [Thu, 16 Jun 2016 15:07:19 +0000 (15:07 +0000)]
Provide swappable traits (p0185r1)

2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>

Provide swappable traits (p0185r1)
* include/std/type_traits (is_swappable, is_nothrow_swappable,
is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
is_nothrow_swappable_v, is_swappable_with_v,
is_nothrow_swappable_with_v): New.
* include/bits/stl_pair.h: Use it as per p0185r1.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/unique_ptr.h: Likewise.
* include/std/tuple: Likewise.
* include/std/array: Likewise. Fix zero-size member swap.
* include/bits/hashtable.h: Use __and_.
* testsuite/20_util/is_nothrow_swappable/requirements/
explicit_instantiation.cc: Change test options to std=gnu++17.
* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
* testsuite/20_util/is_swappable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_swappable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_swappable/requirements/
explicit_instantiation_ext.cc: New.
* testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
New.
* testsuite/20_util/is_nothrow_swappable/value.h: New.
* testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
* testsuite/20_util/is_nothrow_swappable_with/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
New.
* testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
* testsuite/20_util/is_swappable/requirements/
explicit_instantiation_ext.cc: New.
* testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
* testsuite/20_util/is_swappable/value.h: New.
* testsuite/20_util/is_swappable/value_ext.cc: New.
* testsuite/20_util/is_swappable_with/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
* testsuite/20_util/is_swappable_with/value.cc: New.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
dg-error line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Likewise.

From-SVN: r237531

8 years agore PR target/71242 ([ia64] Missing built-in functions for float128 NaNs)
Uros Bizjak [Thu, 16 Jun 2016 14:32:40 +0000 (16:32 +0200)]
re PR target/71242 ([ia64] Missing built-in functions for float128 NaNs)

PR target/71242
* config/ia64/ia64.c (enum ia64_builtins) [IA64_BUILTIN_NANQ]: New.
[IA64_BUILTIN_NANSQ]: Ditto.
(ia64_fold_builtin): New function.
(TARGET_FOLD_BUILTIN): New define.
(ia64_init_builtins) Declare const_string_type node.
Add __builtin_nanq and __builtin_nansq builtin functions.
(ia64_expand_builtin): Handle IA64_BUILTIN_NANQ and IA64_BUILTIN_NANSQ.

testsuite/ChangeLog:

PR target/71242
* testsuite/gcc.dg/torture/float128-nan.c: Also run on ia64-*-*.

From-SVN: r237530

8 years agomsp430-opts.h (msp430_hwmult_types): Add MSP430_HWMULT_ prefix to enum values.
Nick Clifton [Thu, 16 Jun 2016 14:27:59 +0000 (14:27 +0000)]
msp430-opts.h (msp430_hwmult_types): Add MSP430_HWMULT_ prefix to enum values.

* config/msp430/msp430-opts.h (msp430_hwmult_types): Add
MSP430_HWMULT_ prefix to enum values.
(msp430_regions): Add MSP430_REGION_ prefix to enum values.
* config/msp430/msp430.c: Update use of enum values.
* config/msp430/msp430.md: Likewise.
* config/msp430/msp430.opt: Likewise.

From-SVN: r237529

8 years agoRemove trailing whitespace from libstdc++ headers
Jonathan Wakely [Thu, 16 Jun 2016 13:47:35 +0000 (14:47 +0100)]
Remove trailing whitespace from libstdc++ headers

* include/std/array: Remove trailing whitespace.
* include/std/atomic: Likewise.
* include/std/bitset: Likewise.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/std/condition_variable: Likewise.
* include/std/fstream: Likewise.
* include/std/functional: Likewise.
* include/std/future: Likewise.
* include/std/iomanip: Likewise.
* include/std/iosfwd: Likewise.
* include/std/istream: Likewise.
* include/std/limits: Likewise.
* include/std/ratio: Likewise.
* include/std/scoped_allocator: Likewise.
* include/std/sstream: Likewise.
* include/std/stdexcept: Likewise.
* include/std/string: Likewise.
* include/std/system_error: Likewise.
* include/std/thread: Likewise.
* include/std/tuple: Likewise.
* include/std/type_traits: Likewise.
* include/std/utility: Likewise.
* include/std/valarray: Likewise.
* include/std/vector: Likewise.

From-SVN: r237528

8 years agopr36648.cc: Disable cunrolli
Jan Hubicka [Thu, 16 Jun 2016 12:54:31 +0000 (14:54 +0200)]
pr36648.cc: Disable cunrolli

* g++.dg/vect/pr36648.cc: Disable cunrolli
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix estimation
of comparsions in the last iteration.

From-SVN: r237527

8 years agoOptimize inserting value_type into std::vector
Jonathan Wakely [Thu, 16 Jun 2016 12:42:21 +0000 (13:42 +0100)]
Optimize inserting value_type into std::vector

* include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
new overloaded functions.
* include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
to avoid creating a redundant temporary.
* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
test.

From-SVN: r237526

8 years ago[ARC] Use GOTOFFPC relocation for pc-relative accesses.
Claudiu Zissulescu [Thu, 16 Jun 2016 12:29:29 +0000 (14:29 +0200)]
[ARC] Use GOTOFFPC relocation for pc-relative accesses.

gcc/
2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>
    Joern Rennecke  <joern.rennecke@embecosm.com>

* config/arc/arc.c (arc_print_operand_address): Handle pc-relative
addresses.
(arc_needs_pcl_p): Add GOTOFFPC.
(arc_legitimate_pic_addr_p): Likewise.
(arc_output_pic_addr_const): Likewise.
(arc_legitimize_pic_address): Generate a pc-relative address using
GOTOFFPC.
(arc_output_libcall): Use @pcl syntax.
(arc_delegitimize_address_0): Delegitimize ARC_UNSPEC_GOTOFFPC.
* config/arc/arc.md ("unspec"): Add ARC_UNSPEC_GOTOFFPC.
(*movsi_insn): Use @pcl syntax.
(doloop_begin_i): Likewise.

Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>
From-SVN: r237525

8 years agoFix code emission for FAIL_ALLOC predictor
Martin Liska [Thu, 16 Jun 2016 12:21:55 +0000 (14:21 +0200)]
Fix code emission for FAIL_ALLOC predictor

* predict.def: Define a new predictor.
* trans-array.c (gfc_array_allocate): Do not generate expect
stmt.
* trans.c (gfc_allocate_using_malloc): Properly set FAIL_ALLOC
predictor for malloc return value.
(gfc_allocate_allocatable): Use REALLOC predictor instead of
FAIL_ALLOC.
(gfc_deallocate_with_status): Likewise.

From-SVN: r237524

8 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Jun 2016 10:39:14 +0000 (12:39 +0200)]
[multiple changes]

2016-06-16  Gary Dismukes  <dismukes@adacore.com>

* sem_util.adb: Minor typo fix.

2016-06-16  Emmanuel Briot  <briot@adacore.com>

* s-regpat.adb: Further fix for invalid index in GNAT.Regexp.

2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch13.adb (Validate_Address_Clauses): Use the same logic to
issue the warning on the offset for the size as for the alignment
and tweak the wording for the sake of consistency.

2016-06-16  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Check_Class_Wide_COndition): New procedure,
subsidiary of Analyze_Pre_Post_ Condition_In_Decl_Part, to
check legality rules that follow from the revised semantics of
class-wide pre/postconditions described in AI12-0113.
(Build_Pragma_Check_Equivalent): Abstract subprogram declarations
must be included in list of overriding primitives of a derived
type.

From-SVN: r237521

8 years ago[ARC] Fix option text.
Claudiu Zissulescu [Thu, 16 Jun 2016 10:37:37 +0000 (12:37 +0200)]
[ARC] Fix option text.

gcc/
2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.opt (mtp-regno): Update text.

From-SVN: r237519

8 years agoMinor reformatting.
Arnaud Charlet [Thu, 16 Jun 2016 10:29:15 +0000 (12:29 +0200)]
Minor reformatting.

From-SVN: r237518

8 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Jun 2016 10:29:00 +0000 (12:29 +0200)]
[multiple changes]

2016-06-16  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (May_Be_Lvalue): An actual in an unexpanded
attribute reference 'Read is an assignment and must be considered
a modification of the object.

2016-06-16  Gary Dismukes  <dismukes@adacore.com>

* einfo.adb: Minor editorial.

From-SVN: r237517

8 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Jun 2016 10:27:34 +0000 (12:27 +0200)]
[multiple changes]

2016-06-16  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Overridden_Ancestor): Clean up code to use
controlling type of desired primitive rather than its scope,
because the primitive that inherits the classwide condition may
comes from several derivation steps.

2016-06-16  Javier Miranda  <miranda@adacore.com>

* einfo.adb (Set_Default_Init_Cond_Procedure): Allow calls setting
this attribute to Empty (only if the attribute has not been set).
* sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
No action needed if the spec was not built.
(Build_Default_Init_Cond_Procedure_Declaration): The spec is
not built if DIC is set to NULL or no condition was specified.
* exp_ch3.adb (Expand_N_Object_Declaration): Check availability
of the Init_Cond procedure before generating code to call it.

2016-06-16  Emmanuel Briot  <briot@adacore.com>

* s-regpat.adb: Fix invalid index check when matching end-of-line
on substrings.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb: Minor reformatting.

From-SVN: r237516

8 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Jun 2016 10:25:47 +0000 (12:25 +0200)]
[multiple changes]

2016-06-16  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Check_Entry_Contracts): New procedure, subsidiary
of Analyze_Declarations, that performs pre-analysis of
pre/postconditions on entry declarations before full analysis
is performed after entries have been converted into procedures.
Done solely to capture semantic errors.
* sem_attr.adb (Analyze_Attribute, case 'Result): Add guard to
call to Denote_Same_Function.

2016-06-16  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb: Fix minor memory leak in GNAT.Command_Line.

2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Find_Last_Init): Remove obsolete code. The
logic is now performed by Process_Object_Declaration.
(Process_Declarations): Recognize a controlled deferred
constant which is in fact initialized by means of a
build-in-place function call as needing finalization actions.
(Process_Object_Declaration): Insert the counter after the
build-in-place initialization call for a controlled object. This
was previously done in Find_Last_Init.
* exp_util.adb (Requires_Cleanup_Actions): Recognize a controlled
deferred constant which is in fact initialized by means of a
build-in-place function call as needing finalization actions.

2016-06-16  Justin Squirek  <squirek@adacore.com>

* exp_aggr.adb (Expand_Array_Aggregate): Minor comment changes and
additional style fixes.
* exp_ch7.adb: Minor typo fixes and reformatting.

From-SVN: r237515

8 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Jun 2016 10:23:06 +0000 (12:23 +0200)]
[multiple changes]

2016-06-16  Justin Squirek  <squirek@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Add a missing check
for optimized aggregate arrays with qualified expressions.
* exp_aggr.adb (Expand_Array_Aggregate): Fix block and
conditional statement in charge of deciding whether to perform
in-place expansion. Specifically, use Parent_Node to jump over
the qualified expression to the object declaration node. Also,
a check has been inserted to skip the optimization if SPARK 2005
is being used in strict adherence to RM 4.3(5).

2016-06-16  Tristan Gingold  <gingold@adacore.com>

* sem_prag.adb (Analyze_Pragma): Simplify code
for Pragma_Priority.

From-SVN: r237514

8 years agore PR target/71554 (Miscompilation of __builtin_mul_overflow on i686)
Jakub Jelinek [Thu, 16 Jun 2016 10:20:45 +0000 (12:20 +0200)]
re PR target/71554 (Miscompilation of __builtin_mul_overflow on i686)

PR target/71554
* gcc.c-torture/execute/pr71554.c: New test.

From-SVN: r237512

8 years agosem_util.ads (Indexed_Component_Bit_Offset): Declare.
Eric Botcazou [Thu, 16 Jun 2016 10:19:51 +0000 (10:19 +0000)]
sem_util.ads (Indexed_Component_Bit_Offset): Declare.

2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>

* sem_util.ads (Indexed_Component_Bit_Offset): Declare.
* sem_util.adb (Indexed_Component_Bit_Offset): New
function returning the offset of an indexed component.
(Has_Compatible_Alignment_Internal): Call it.
* sem_ch13.adb (Offset_Value): New function returning the offset of an
Address attribute reference from the underlying entity.
(Validate_Address_Clauses): Call it and take the offset into
account for the size warning.

From-SVN: r237511

8 years agobindgen.adb, [...]: Minor reformatting.
Hristian Kirtchev [Thu, 16 Jun 2016 10:12:26 +0000 (10:12 +0000)]
bindgen.adb, [...]: Minor reformatting.

2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

* bindgen.adb, exp_util.adb, sem_ch9.adb, sem_util.adb: Minor
reformatting.

From-SVN: r237510

8 years agosem_ch9.adb, [...]: Minor reformatting and typo fixes.
Gary Dismukes [Thu, 16 Jun 2016 10:11:23 +0000 (10:11 +0000)]
sem_ch9.adb, [...]: Minor reformatting and typo fixes.

2016-06-16  Gary Dismukes  <dismukes@adacore.com>

* sem_ch9.adb, sem_util.ads, sem_res.adb: Minor reformatting and typo
fixes.

From-SVN: r237509

8 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Jun 2016 09:52:17 +0000 (11:52 +0200)]
[multiple changes]

2016-06-16  Javier Miranda  <miranda@adacore.com>

* sem_res.adb (Resolve): Under relaxed RM semantics silently
replace occurrences of null by System.Null_Address.
* sem_ch4.adb (Analyze_One_Call, Operator_Check): Under
relaxed RM semantics silently replace occurrences of null by
System.Null_Address.
* sem_util.ad[sb] (Null_To_Null_Address_Convert_OK): New subprogram.
(Replace_Null_By_Null_Address): New subprogram.

2016-06-16  Bob Duff  <duff@adacore.com>

* exp_util.adb (Is_Controlled_Function_Call):
This was missing the case where the call is in prefix format,
with named notation, as in Obj.Func (Formal => Actual).

From-SVN: r237508

8 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Jun 2016 09:44:04 +0000 (11:44 +0200)]
[multiple changes]

2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_attr.adb, inline.adb, sem_attr.adb, sem_elab.adb: Minor
reformatting.

2016-06-16  Bob Duff  <duff@adacore.com>

* sem_util.adb (Collect): Avoid Empty Full_T. Otherwise Etype
(Full_T) crashes when assertions are on.
* sem_ch12.adb (Matching_Actual): Correctly handle the case where
"others => <>" appears in a generic formal package, other than
by itself.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

* usage.adb: Remove confusing comment in usage line.
* bindgen.adb: Fix binder generated file in codepeer mode wrt
recent additions.

2016-06-16  Javier Miranda  <miranda@adacore.com>

* restrict.adb (Check_Restriction_No_Use_Of_Entity): Avoid
never-ending loop, code cleanup; adding also support for Text_IO.
* sem_ch8.adb (Find_Expanded_Name): Invoke
Check_Restriction_No_Use_Entity.

2016-06-16  Tristan Gingold  <gingold@adacore.com>

* exp_ch9.adb: Minor comment fix.
* einfo.ads (Has_Protected): Clarify comment.
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Do not
consider private protected types declared in the runtime for
the No_Local_Protected_Types restriction.

From-SVN: r237507

8 years ago[PATCH][AARCH64]Fix typo in aarch64_legitimize_address.
Renlin Li [Thu, 16 Jun 2016 09:37:31 +0000 (09:37 +0000)]
[PATCH][AARCH64]Fix typo in aarch64_legitimize_address.

gcc/
2016-06-16  renlin li  <renlin.li@arm.com>

* config/aarch64/aarch64.c (aarch64_legitimize_address): Fix a typo.

From-SVN: r237506

8 years agoi386.md (setcc + movzbl peephole2): Use reg_set_p.
Jakub Jelinek [Thu, 16 Jun 2016 09:27:41 +0000 (11:27 +0200)]
i386.md (setcc + movzbl peephole2): Use reg_set_p.

* config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
(setcc + and peephole2): Likewise.

From-SVN: r237504

8 years agore PR rtl-optimization/71532 (FAIL: gfortran.dg/select_char_1.f90 -O2 execution...
Jakub Jelinek [Thu, 16 Jun 2016 07:11:37 +0000 (09:11 +0200)]
re PR rtl-optimization/71532 (FAIL: gfortran.dg/select_char_1.f90   -O2  execution test)

PR rtl-optimization/71532
* cse.c (cse_insn): For const/pure calls, invalidate argument passing
memory slots.

* gcc.dg/torture/pr71532.c: New test.

From-SVN: r237503

8 years agoDaily bump.
GCC Administrator [Thu, 16 Jun 2016 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237502

8 years ago* MAINTAINERS: Add myself as cygwin/mingw-w64 maintainer.
Jonathan Yong [Wed, 15 Jun 2016 22:54:38 +0000 (22:54 +0000)]
* MAINTAINERS:  Add myself as cygwin/mingw-w64 maintainer.

From-SVN: r237498

8 years agodecl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and "%qF" in warning_...
Paolo Carlini [Wed, 15 Jun 2016 20:13:39 +0000 (20:13 +0000)]
decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and "%qF" in warning_at instead of "%q+F" in warning.

2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and
"%qF" in warning_at instead of "%q+F" in warning.
(check_redeclaration_exception_specification): Likewise in pedwarn
(and error, inform, for consistency).
* call.c (joust): Likewise.

From-SVN: r237496

8 years ago2016-06-15 François Dumont <fdumont@gcc.gnu.org>
François Dumont [Wed, 15 Jun 2016 20:09:56 +0000 (20:09 +0000)]
2016-06-15  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_deque.h
(std::deque<>::operator=): Call _M_assign_aux.
(std::deque<>::assign(initializer_list<>)): Likewise.
(std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
(std::deque<>::insert(const_iterator, initializer_list<>)):
Call _M_range_insert_aux.
(std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
Likewise.
(std::deque<>::_M_fill_assign): Call _M_fill_insert.
(std::deque<>::_M_move_assign2): Call _M_assign_aux.
* include/bits/deque.tcc
(std::deque<>::operator=): Call _M_range_insert_aux.
(std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
Likewise.
* include/bits/stl_vector.h
(std::vector<>::operator=): Call _M_assign_aux.
(std::vector<>::assign(initializer_list<>)): Likewise.
(std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
(std::vector<>::insert(const_iterator, initializer_list<>)):
Call _M_range_insert.
* include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.

From-SVN: r237495

8 years agovsx.md (VSINT_84): Add DImode to enable loading DImode constants with XXSPLTIB in...
Michael Meissner [Wed, 15 Jun 2016 18:17:58 +0000 (18:17 +0000)]
vsx.md (VSINT_84): Add DImode to enable loading DImode constants with XXSPLTIB in vector registers.

[gcc]
2016-06-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (VSINT_84): Add DImode to enable loading
DImode constants with XXSPLTIB in vector registers.
(vsx_extract_<mode>, V2DImode/V2DFmode): Combine both
vsx_extract_<mode>_internal{1,2} into a single insn that handles
direct move (both ISA 2.07 and ISA 3.0 versions), and optimizes
extraction of the element at the top of the register as a scalar
value.
(vsx_extract_<mode>_internal1): Likewise.
(vsx_extract_<mode>_internal2): Likewise.
* config/rs6000/constraints.md (wi constraint): Remove a comment
about DImode not being allowed in Altivec registers.
(wB constraint): New constraint for constants that can be
generated in Altivec registers with VSPLTISW/VUPKHSW.
* config/rs6000/predicates.md (xxspltib_constant_split): Update
comments.
(xxspltib_constant_nosplit): Likewise.
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Add
support for -mupper-regs-di to enable DImode to go into Altivec
registers.
(POWERPC_MASKS): Likewise.
(power7 cpu): Likewise.
* config/rs6000/rs6000.opt (-mupper-regs-di): Likewise.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
for DImode being allowed in Altivec registers.  Update wi/wj
constraints.  Set scalar_in_vmx_p flag.
(rs6000_option_override_internal): Add checks for -mupper-regs-di.
(xxspltib_constant_p): Allow CONST_INT's with VOIDmode.  Don't
return true if we could use VSPLTISW/VUPKHSW instead of XXSPLTIB.
(rs6000_opt_masks): Add -mupper-regs-di.
* config/rs6000/rs6000.md (lfiwax): Update clobbers that don't use
direct move to use wi and not wj.
(lfiwzx): Likewise.
(floatsi<mode>2_lfiwax_mem): Combine alternatives into a single
alternative.
(floatunssi<mode>2_lfiwzx_mem): Likewise.
(fix_trunc<mode>di2_fctidz): Change second alternative to allow
any VSX register, instead of just Altivec registers, to allow
either operand to be an Altivec register or both.
(fixuns_trunc<mode>di2_fctiduz): Likewise.
(movdi_internal32): Add support for -mupper-regs-di.  Add support
to load constants via XXSPLTIB or VSPLTISW.  Add spacing to allow
the alternatives and attributes to be lined up to be easier to
read.
(movdi_internal64): Likewise.
(64-bit DImode splitters): Change predicates to only split loading
up GPR registers.  Add splits for using XXSPLTIB or VSPLTISW to
load constants in ISA 3.0 or ISA 2.07 respectively.
* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mupper-regs-di.  Update -mupper-regs-df and -mupper-regs-sf to
mention -mcpu=power9 sets these options.
* doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
wB constraint.

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

* gcc.target/powerpc/p9-dimode1.c: New test.
* gcc.target/powerpc/p9-dimode2.c: Likewise.

From-SVN: r237490

8 years ago* gcc.c-torture/compile/20160615-1.c: New test.
Jakub Jelinek [Wed, 15 Jun 2016 17:10:44 +0000 (19:10 +0200)]
* gcc.c-torture/compile/20160615-1.c: New test.

From-SVN: r237489

8 years ago* g++.dg/cpp0x/ref-qual17.C: New test.
Jakub Jelinek [Wed, 15 Jun 2016 17:10:02 +0000 (19:10 +0200)]
* g++.dg/cpp0x/ref-qual17.C: New test.

From-SVN: r237488

8 years agoCorrect Changelog entry:
Denis Chertykov [Wed, 15 Jun 2016 16:43:35 +0000 (19:43 +0300)]
Correct Changelog entry:

PR target/67353
* config/avr/avr.c (avr_set_current_function): Warn misspelled
interrupt/ signal handler if -Wmisspelled-isr flag is enabled.
* config/avr/avr.opt (Wmisspelled-isr): New warning flag. Enabled
by default to warn misspelled interrupt/ signal handler.
* doc/invoke.texi (AVR Options): Document it. Update description
for -nodevicelib option.

From-SVN: r237487

8 years agore PR target/67353 ([avr] Option-ize Warning "appears to be a misspelled signal ...
Pitchumani Sivanupandi [Wed, 15 Jun 2016 16:40:07 +0000 (16:40 +0000)]
re PR target/67353 ([avr] Option-ize Warning "appears to be a misspelled signal / interrupt handler")

    PR target/67353
    * config/avr/avr.c (avr_set_current_function): Warn misspelled
    interrupt/ signal handler if -Wmisspelled-isr flag is enabled.

From-SVN: r237486

8 years ago[AArch64][obvious] Clean up parentheses and use GET_MODE_UNIT_BITSIZE in a couple...
Kyrylo Tkachov [Wed, 15 Jun 2016 16:07:34 +0000 (16:07 +0000)]
[AArch64][obvious] Clean up parentheses and use GET_MODE_UNIT_BITSIZE in a couple of patterns

* config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
up parentheses.  Use GET_MODE_UNIT_BITSIZE.
(aarch64_<sur>shll2_n<mode>): Likewise.

From-SVN: r237485

8 years agore PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)
Ilya Enkovich [Wed, 15 Jun 2016 15:49:40 +0000 (15:49 +0000)]
re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)

gcc/

PR middle-end/71529
* ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
DECL_CONTEXT for copied arguments.

gcc/testsuite/

PR middle-end/71529
* gcc.target/i386/pr71529.C: New test.

From-SVN: r237484

8 years agore PR tree-optimization/71483 (g++ ICE at -O3 on valid code on x86_64-linux-gnu with...
Alan Hayward [Wed, 15 Jun 2016 15:45:47 +0000 (15:45 +0000)]
re PR tree-optimization/71483 (g++ ICE at -O3 on valid code on x86_64-linux-gnu with “Floating point exception”)

2016-06-15  Alan Hayward  <alan.hayward@arm.com>

gcc/
PR tree-optimization/71483
* tree-vect-loop.c (vectorizable_live_operation): Pick correct index
for slp

testsuite/
PR tree-optimization/71483
* g++.dg/vect/pr71483.c: New

From-SVN: r237483

8 years agore PR c++/70202 (ICE on invalid code on x86_64-linux-gnu in build_simple_base_path...
Paolo Carlini [Wed, 15 Jun 2016 15:23:40 +0000 (15:23 +0000)]
re PR c++/70202 (ICE on invalid code on x86_64-linux-gnu in build_simple_base_path, at cp/class.c:579)

/cp
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70202
* decl.c (xref_basetypes): Revert r117839 changes; add fix-up
code at the end of the for loop; also revert r159637 changes,
add back the gcc_assert.
* cp-tree.h (xref_basetypes): Adjust declaration.
* parser.c (cp_parser_class_head): Adjust xref_basetypes call.

/testsuite
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70202
* g++.dg/inherit/crash6.C: New.
* g++.dg/inherit/union2.C: Likewise.
* g++.dg/inherit/virtual12.C: Likewise.
* g++.dg/inherit/virtual13.C: Likewise.
* g++.dg/inherit/virtual1.C: Tweak dg-* tests.

From-SVN: r237482

8 years agoFix obvious typo in predict.c
Martin Liska [Wed, 15 Jun 2016 15:05:34 +0000 (17:05 +0200)]
Fix obvious typo in predict.c

* predict.c (tree_predict_by_opcode): Call predict_edge_def
instead of predict_edge w/o a probability.

From-SVN: r237481

8 years agofloat128-nan.c: Include stdint.h to define uint64_t.
Uros Bizjak [Wed, 15 Jun 2016 15:01:01 +0000 (17:01 +0200)]
float128-nan.c: Include stdint.h to define uint64_t.

        * gcc.dg/torture/float128-nan.c: Include stdint.h to define uint64_t.

From-SVN: r237480

8 years agore PR tree-optimization/71439 (wrong code at -O3 in 32-bit and 64-bit mode on x86_64...
Alan Hayward [Wed, 15 Jun 2016 10:53:01 +0000 (10:53 +0000)]
re PR tree-optimization/71439 (wrong code at -O3 in 32-bit and 64-bit mode on x86_64-linux-gnu)

2016-06-15  Alan Hayward  <alan.hayward@arm.com>

gcc/
PR tree-optimization/71439
* tree-vect-loop.c (vect_analyze_loop_operations): Additional check for
live PHIs.

testsuite/
PR tree-optimization/71439
* gcc.dg/vect/pr71439.c: New

From-SVN: r237476

8 years ago[RTL ifcvt] Allow simple register subregs in noce_convert_multiple_sets
Kyrylo Tkachov [Wed, 15 Jun 2016 10:08:24 +0000 (10:08 +0000)]
[RTL ifcvt] Allow simple register subregs in noce_convert_multiple_sets

* ifcvt.c (bb_ok_for_noce_multiple_sets): Allow simple lowpart
register subregs in SET_SRC.

* gcc.target/aarch64/ifcvt_multiple_sets_subreg_1.c: New test.

From-SVN: r237475

8 years agotree-vect-stmts.c (vectorizable_store): Remove strided grouped store restrictions.
Richard Biener [Wed, 15 Jun 2016 09:54:17 +0000 (09:54 +0000)]
tree-vect-stmts.c (vectorizable_store): Remove strided grouped store restrictions.

2016-06-15  Richard Biener  <rguenther@suse.de>

* tree-vect-stmts.c (vectorizable_store): Remove strided grouped
store restrictions.

* gcc.dg/vect/slp-45.c: New testcase.

From-SVN: r237474

8 years agotree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do not consider dependences...
Richard Biener [Wed, 15 Jun 2016 09:53:07 +0000 (09:53 +0000)]
tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do not consider dependences between accesses that belong to the same group.

2016-06-15  Richard Biener  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do
not consider dependences between accesses that belong to the
same group.
(vect_analyze_data_ref_dependences): Do not analyze read-read
or self-dependences.

* gcc.dg/vect/bb-slp-pattern-2.c: Disable loop vectorization.

From-SVN: r237473

8 years agospellcheck.h: add best_match template; implement early-reject
David Malcolm [Wed, 15 Jun 2016 03:29:39 +0000 (03:29 +0000)]
spellcheck.h: add best_match template; implement early-reject

gcc/c/ChangeLog:
* c-typeck.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/cp/ChangeLog:
* search.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/ChangeLog:
* spellcheck-tree.c: Include spellcheck-tree.h rather than
spellcheck.h.
(find_closest_identifier): Reimplement in terms of
best_match<tree,tree>.
* spellcheck-tree.h: New file.
* spellcheck.c (struct edit_distance_traits<const char *>): New
struct.
(find_closest_string): Reimplement in terms of
best_match<const char *, const char *>.
* spellcheck.h (levenshtein_distance): Move prototype of tree-based
overload to spellcheck-tree.h.
(find_closest_identifier): Likewise.
(struct edit_distance_traits<T>): New template.
(class best_match): New class.

From-SVN: r237471

8 years agoDaily bump.
GCC Administrator [Wed, 15 Jun 2016 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r237470

8 years agoAdd more spellcheck selftests
David Malcolm [Wed, 15 Jun 2016 00:12:16 +0000 (00:12 +0000)]
Add more spellcheck selftests

gcc/ChangeLog:
* selftest-run-tests.c (selftest::run_tests): Call
selftest::spellcheck_tree_c_tests.
* selftest.h (selftest::spellcheck_tree_c_tests): New decl.
* spellcheck-tree.c: Include selftest.h and stringpool.h.
(selftest::test_find_closest_identifier): New function.
(selftest::spellcheck_tree_c_tests): New function.
* spellcheck.c (selftest::test_find_closest_string): Verify that
the order of the vec does not affect the results for this case.
(selftest::test_data): New array.
(selftest::test_metric_conditions): New function.
(selftest::spellcheck_c_tests): Add a test of case-comparison.
Call selftest::test_metric_conditions.

From-SVN: r237466

8 years agors6000-builtin.def (commentary): Typo.
Bill Schmidt [Tue, 14 Jun 2016 23:18:11 +0000 (23:18 +0000)]
rs6000-builtin.def (commentary): Typo.

2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000-builtin.def (commentary): Typo.
(BU_P9_MISC_1): Likewise.
(BU_P9_64BIT_MISC_0): Likewise.
(BU_P9_MISC_0): Likewise.

From-SVN: r237465

8 years agovsx-elemrev-2.c: Change effective target requirements, and disable for AIX for now.
Bill Schmidt [Tue, 14 Jun 2016 23:13:27 +0000 (23:13 +0000)]
vsx-elemrev-2.c: Change effective target requirements, and disable for AIX for now.

2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/vsx-elemrev-2.c: Change effective target
requirements, and disable for AIX for now.
* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.

From-SVN: r237464

8 years agoIntroduce gcc_rich_location::add_fixit_misspelled_id
David Malcolm [Tue, 14 Jun 2016 23:08:34 +0000 (23:08 +0000)]
Introduce gcc_rich_location::add_fixit_misspelled_id

gcc/c/ChangeLog:
* c-typeck.c (build_component_ref): Simplify fixit code by
using gcc_rich_location::add_fixit_misspelled_id.
(set_init_label): Likewise.

gcc/cp/ChangeLog:
* typeck.c: Include "gcc-rich-location.h".
(finish_class_member_access_expr): Simplify fixit code by
using gcc_rich_location::add_fixit_misspelled_id.

gcc/ChangeLog:
* gcc-rich-location.c
(gcc_rich_location::add_fixit_misspelled_id): New method.
* gcc-rich-location.h
(gcc_rich_location::add_fixit_misspelled_id): Add decl.

From-SVN: r237463

8 years agoP0145R2: Refining Expression Order for C++.
Jason Merrill [Tue, 14 Jun 2016 20:18:34 +0000 (16:18 -0400)]
P0145R2: Refining Expression Order for C++.

gcc/c-family/
* c.opt (fargs-in-order): New.
* c-opts.c (c_common_post_options): Adjust flag_args_in_order.
gcc/cp/
* cp-tree.h (CALL_EXPR_OPERATOR_SYNTAX, CALL_EXPR_ORDERED_ARGS)
(CALL_EXPR_REVERSE_ARGS): New.
* call.c (build_new_op_1): Set them.
(extract_call_expr, op_is_ordered): New.
(build_over_call): Set CALL_EXPR_ORDERED_ARGS.
* cp-gimplify.c (cp_gimplify_expr) [CALL_EXPR]: Handle new flags.
* pt.c (tsubst_copy_and_build): Copy new flags.
* semantics.c (simplify_aggr_init_expr): Likewise.
* tree.c (build_aggr_init_expr): Likewise.
(build_min_non_dep_op_overload): Likewise.

From-SVN: r237459

8 years agore PR c++/71528 (multiple extern reference declarations produce uninitialized access)
Jakub Jelinek [Tue, 14 Jun 2016 19:55:08 +0000 (21:55 +0200)]
re PR c++/71528 (multiple extern reference declarations produce uninitialized access)

PR c++/71528
* decl.c (duplicate_decls): For DECL_INITIALIZED_P non-external
olddecl vars, preserve their TREE_READONLY bit.

* g++.dg/opt/pr71528.C: New test.

From-SVN: r237458

8 years agofreebsd.h: Only enable unaligned access for armv6 on FreeBSD 11 and above.
Andreas Tobler [Tue, 14 Jun 2016 19:53:01 +0000 (21:53 +0200)]
freebsd.h: Only enable unaligned access for armv6 on FreeBSD 11 and above.

2016-06-14  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/arm/freebsd.h: Only enable unaligned access for armv6 on
    FreeBSD 11 and above.

From-SVN: r237457

8 years ago* MAINTAINERS (Write After Approval): Update e-mail address.
Mikael Morin [Tue, 14 Jun 2016 17:43:39 +0000 (17:43 +0000)]
* MAINTAINERS (Write After Approval): Update e-mail address.

From-SVN: r237454