]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
7 years agoRemove a TODO from verify_type_variant
jamborm [Mon, 7 Nov 2016 18:30:26 +0000 (18:30 +0000)] 
Remove a TODO from verify_type_variant

2016-11-07  Martin Jambor  <mjambor@suse.cz>

* tree.c (verify_type_variant): Use pointer comparison to check that
TYPE_SIZE_UNIT match.

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

7 years ago PR target/77834
jakub [Mon, 7 Nov 2016 17:35:16 +0000 (17:35 +0000)] 
PR target/77834
* dse.c (dse_step5): Call scan_reads even if just
insn_info->frame_read.  Improve and fix dump file messages.

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

7 years ago PR target/78227
jakub [Mon, 7 Nov 2016 17:33:27 +0000 (17:33 +0000)] 
PR target/78227
* config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.

* gcc.target/i386/pr78227-1.c: New test.
* gcc.target/i386/pr78227-2.c: New test.

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

7 years ago2016-11-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Mon, 7 Nov 2016 17:32:17 +0000 (17:32 +0000)] 
2016-11-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

PR middle-end/35691
* match.pd: Add following two patterns:
(x == 0 & y == 0) -> (x | typeof(x)(y)) == 0.
(x != 0 | y != 0) -> (x | typeof(x)(y)) != 0.

testsuite/
* gcc.dg/pr35691-1.c: New test-case.
* gcc.dg/pr35691-4.c: Likewise.

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

7 years ago * emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
bernds [Mon, 7 Nov 2016 17:03:55 +0000 (17:03 +0000)] 
* emit-rtl.c (emit_copy_of_insn_after): Duplicate notes in order.
* sel-sched-ir.c (create_copy_of_insn_rtx): Likewise.
* rtl.h (duplicate_reg_notes): Declare.
* rtlanal.c (duplicate_reg_note): New function.

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

7 years ago PR rtl-optimization/77309
bernds [Mon, 7 Nov 2016 16:59:11 +0000 (16:59 +0000)] 
PR rtl-optimization/77309
* combine.c (make_compound_operation): Allow EQ for IN_CODE, and
don't assume an equality comparison for plain COMPARE.
(simplify_comparison): Pass a more accurate code to
make_compound_operation.

testsuite/
PR rtl-optimization/77309
* gcc.dg/torture/pr77309.c: New test.

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

7 years ago * target.def (compute_pressure_classes): New target hook.
pthaugen [Mon, 7 Nov 2016 15:37:51 +0000 (15:37 +0000)] 
* target.def (compute_pressure_classes): New target hook.
* doc/tm.texi.in: Document it.
* doc/tm.texi: Regenerate.
* ira.c (setup_pressure_classes): Call target hook if defined.

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

7 years agoFixed PR in ChangeLog entry.
tkoenig [Mon, 7 Nov 2016 15:29:20 +0000 (15:29 +0000)] 
Fixed PR in ChangeLog entry.

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

7 years ago2016-11-07 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Mon, 7 Nov 2016 15:25:21 +0000 (15:25 +0000)] 
2016-11-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/78826
* match.c (gfc_match_select_type):  Add where for expr1.
* resolve.c (resolev_select_type): Add where for expr1 of new
statement.

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

7 years agortx_writer: avoid printing trailing default values
dmalcolm [Mon, 7 Nov 2016 15:19:17 +0000 (15:19 +0000)] 
rtx_writer: avoid printing trailing default values

gcc/ChangeLog:
* print-rtl.c (rtx_writer::operand_has_default_value_p): New
method.
(rtx_writer::print_rtx): In compact mode, omit trailing operands
that have the default values.
* print-rtl.h (rtx_writer::operand_has_default_value_p): New
method.
* rtl-tests.c (selftest::test_dumping_insns): Remove empty
label string from expected dump.
(seltest::test_uncond_jump): Remove trailing "(nil)" for REG_NOTES
from expected dump.

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

7 years ago Fix native windows build by adding signal.h back into the include list.
tnfchris [Mon, 7 Nov 2016 14:14:13 +0000 (14:14 +0000)] 
 Fix native windows build by adding signal.h back into the include list.

  * gcc/ada/adaint.c: Added signal.h for Windows.

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

7 years ago PR target/77834
jakub [Mon, 7 Nov 2016 13:33:37 +0000 (13:33 +0000)] 
PR target/77834
* alias.c (nonoverlapping_memrefs_p): If one decl is
FUNCTION_DECL or LABEL_DECL and the other is not, return 1.

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

7 years ago PR middle-end/71529
jakub [Mon, 7 Nov 2016 13:07:32 +0000 (13:07 +0000)] 
PR middle-end/71529
* gcc.target/i386/pr71529.C: Moved to ...
* g++.dg/opt/pr71529.C: ... here.  New test.  Guard for i?86/x86_64.

PR target/64411
* gcc.target/i386/pr64411.C: Moved to ...
* g++.dg/opt/pr64411.C: ... here.  New test.  Guard for i?86/x86_64
lp64.

PR target/65105
* gcc.target/i386/pr65105-4.C: Moved to ...
* g++.dg/opt/pr65105-4.C: ... here.  New test.  Guard for i?86/x86_64.
Run into compile test rather than execute test.

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

7 years ago2016-11-07 Richard Biener <rguenther@suse.de>
rguenth [Mon, 7 Nov 2016 12:26:48 +0000 (12:26 +0000)] 
2016-11-07  Richard Biener  <rguenther@suse.de>

PR target/78229
* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
EH info.

* g++.dg/pr78229.C: New testcase.

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

7 years ago2016-11-07 Richard Biener <rguenther@suse.de>
rguenth [Mon, 7 Nov 2016 12:26:00 +0000 (12:26 +0000)] 
2016-11-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/78218
* gimple-ssa-store-merging.c
(pass_store_merging::terminate_all_aliasing_chains):
Drop unused argument, fix alias check to also consider uses.
(pass_store_merging::execute): Adjust.

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

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

7 years ago2016-11-07 Richard Biener <rguenther@suse.de>
rguenth [Mon, 7 Nov 2016 12:25:09 +0000 (12:25 +0000)] 
2016-11-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/78228
* tree-ssa-phiopt.c (abs_replacement): Avoid introducing
undefined behavior.

* gcc.dg/tree-ssa/phi-opt-15.c: New testcase.

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

7 years ago[AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns
ktkachov [Mon, 7 Nov 2016 11:43:57 +0000 (11:43 +0000)] 
[AArch64] Fix PR target/77822: Use tighter predicates for zero_extract patterns

PR target/77822
* config/aarch64/aarch64.md (*tb<optab><mode>1): Use
aarch64_simd_shift_imm_<mode> predicate for operand 1.
(<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
to restrict them to an appropriate range and add FAIL check if the
region they specify is out of range.  Delete useless constraint
strings.
(*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
2 and 3 to restrict their range and add pattern predicate.

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

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

7 years agoIntroduce tests for -fsanitize-address-use-after-scope
marxin [Mon, 7 Nov 2016 10:25:18 +0000 (10:25 +0000)] 
Introduce tests for -fsanitize-address-use-after-scope

* c-c++-common/asan/force-inline-opt0-1.c: Disable
-f-sanitize-address-use-after-scope.
* c-c++-common/asan/inc.c: Change number of expected ASAN_CHECK
internal fn calls.
* g++.dg/asan/use-after-scope-1.C: New test.
* g++.dg/asan/use-after-scope-2.C: Likewise.
* g++.dg/asan/use-after-scope-3.C: Likewise.
* g++.dg/asan/use-after-scope-types-1.C: Likewise.
* g++.dg/asan/use-after-scope-types-2.C: Likewise.
* g++.dg/asan/use-after-scope-types-3.C: Likewise.
* g++.dg/asan/use-after-scope-types-4.C: Likewise.
* g++.dg/asan/use-after-scope-types-5.C: Likewise.
* g++.dg/asan/use-after-scope-types.h: Likewise.
* gcc.dg/asan/use-after-scope-1.c: Likewise.
* gcc.dg/asan/use-after-scope-2.c: Likewise.
* gcc.dg/asan/use-after-scope-3.c: Likewise.
* gcc.dg/asan/use-after-scope-4.c: Likewise.
* gcc.dg/asan/use-after-scope-5.c: Likewise.
* gcc.dg/asan/use-after-scope-6.c: Likewise.
* gcc.dg/asan/use-after-scope-7.c: Likewise.
* gcc.dg/asan/use-after-scope-8.c: Likewise.
* gcc.dg/asan/use-after-scope-9.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-1.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-2.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-3.c: Likewise.
* gcc.dg/asan/use-after-scope-goto-1.c: Likewise.
* gcc.dg/asan/use-after-scope-goto-2.c: Likewise.

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

7 years agoIntroduce -fsanitize-address-use-after-scope
marxin [Mon, 7 Nov 2016 10:23:38 +0000 (10:23 +0000)] 
Introduce -fsanitize-address-use-after-scope

* c-warn.c (warn_for_unused_label): Save all labels used
in goto or in &label.
* asan.c (enum asan_check_flags): Move the enum to header file.
(asan_init_shadow_ptr_types): Make type creation more generic.
(shadow_mem_size): New function.
(asan_emit_stack_protection): Use newly added ASAN_SHADOW_GRANULARITY.
Rewritten stack unpoisoning code.
(build_shadow_mem_access): Add new argument return_address.
(instrument_derefs): Instrument local variables if use after scope
sanitization is enabled.
(asan_store_shadow_bytes): New function.
(asan_expand_mark_ifn): Likewise.
(asan_sanitize_stack_p): Moved from asan_sanitize_stack_p.
* asan.h (enum asan_mark_flags): Moved here from asan.c
(asan_protect_stack_decl): Protect all declaration that need
to live in memory.
(asan_sanitize_use_after_scope): New function.
(asan_no_sanitize_address_p): Likewise.
* cfgexpand.c (partition_stack_vars): Consider
asan_sanitize_use_after_scope in condition.
(expand_stack_vars): Likewise.
* common.opt (-fsanitize-address-use-after-scope): New option.
* doc/invoke.texi (use-after-scope-direct-emission-threshold):
Explain the parameter.
* flag-types.h (enum sanitize_code): Define SANITIZE_USE_AFTER_SCOPE.
* gimplify.c (build_asan_poison_call_expr): New function.
(asan_poison_variable): Likewise.
(gimplify_bind_expr): Generate poisoning/unpoisoning for local
variables that have address taken.
(gimplify_decl_expr): Likewise.
(gimplify_target_expr): Likewise for C++ temporaries.
(sort_by_decl_uid): New function.
(gimplify_expr): Unpoison all variables for a label we can jump
from outside of a scope.
(gimplify_switch_expr): Unpoison variables defined in the switch
context.
(gimplify_function_tree): Clear asan_poisoned_variables.
(asan_poison_variables): New function.
(warn_switch_unreachable_r): Handle IFN_ASAN_MARK.
* internal-fn.c (expand_ASAN_MARK): New function.
* internal-fn.def (ASAN_MARK): Declare.
* opts.c (finish_options): Handle -fstack-reuse if
-fsanitize-address-use-after-scope is enabled.
(common_handle_option): Enable address sanitization if
-fsanitize-address-use-after-scope is enabled.
* params.def (PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD):
New parameter.
* params.h: Likewise.
* sancov.c (pass_sanopt::execute): Handle IFN_ASAN_MARK.
* sanitizer.def: Define __asan_poison_stack_memory and
__asan_unpoison_stack_memory functions.
* asan.c (asan_mark_poison_p): New function.
(transform_statements): Handle asan_mark_poison_p calls.
* gimple.c (nonfreeing_call_p): Handle IFN_ASAN_MARK.

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

7 years ago Fix the Windows native x86-64 build.
tnfchris [Mon, 7 Nov 2016 09:17:55 +0000 (09:17 +0000)] 
 Fix the Windows native x86-64 build.

PR driver/78196
* Makefile.in (SELFTEST_FLAGS): Added -o /dev/null.

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

7 years agotime_profiler: Set proper type to time_profiler_counter_ptr.
marxin [Mon, 7 Nov 2016 08:57:44 +0000 (08:57 +0000)] 
time_profiler: Set proper type to time_profiler_counter_ptr.

* tree-profile.c (gimple_gen_time_profiler): Set proper type
to time_profiler_counter_ptr.

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

7 years ago2016-11-07 Richard Biener <rguenther@suse.de>
rguenth [Mon, 7 Nov 2016 08:06:08 +0000 (08:06 +0000)] 
2016-11-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/37150
* tree-vectorizer.h (vect_transform_slp_perm_load): Add n_perms
parameter.
* tree-vect-slp.c (vect_supported_load_permutation_p): Adjust.
(vect_analyze_slp_cost_1): Account for the real number of
permutations emitted and for dead loads.
(vect_transform_slp_perm_load): Add n_perms parameter counting
the number of emitted permutations.
* tree-vect-stmts.c (vectorizable_load): Adjust.

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

7 years ago2016-11-07 Richard Biener <rguenther@suse.de>
rguenth [Mon, 7 Nov 2016 08:05:08 +0000 (08:05 +0000)] 
2016-11-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/78189
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
alignment computation.

* g++.dg/torture/pr78189.C: New testcase.

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

7 years agoDaily bump.
gccadmin [Mon, 7 Nov 2016 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

7 years ago * gcc.dg/Wtrampolines.c: XFAIL AIX.
dje [Sun, 6 Nov 2016 22:29:38 +0000 (22:29 +0000)] 
    * gcc.dg/Wtrampolines.c: XFAIL AIX.

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

7 years ago2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 6 Nov 2016 21:27:32 +0000 (21:27 +0000)] 
2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/78226
resolve.c (build_loc_call): Add location to return value.

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

7 years agogcc/testsuite/ChangeLog:
vehre [Sun, 6 Nov 2016 16:10:22 +0000 (16:10 +0000)] 
gcc/testsuite/ChangeLog:

2016-11-06  Andre Vehreschild  <vehre@gcc.gnu.org>

* gfortran.dg/allocate_with_source_14.f03: Fixed number mallocs
occuring.

gcc/fortran/ChangeLog:

2016-11-06  Andre Vehreschild  <vehre@gcc.gnu.org>

* expr.c (is_non_empty_structure_constructor): New function to detect
non-empty structure constructor.
(gfc_has_default_initializer): Analyse initializers.
* resolve.c (cond_init): Removed.
(resolve_allocate_expr): Removed dead code.  Moved invariant code out
of the loop over all objects to allocate.
(resolve_allocate_deallocate): Added the invariant code remove from
resolve_allocate_expr.
* trans-array.c (gfc_array_allocate): Removed nullify of structure
components in favour of doing this in gfc_trans_allocate for both
scalars and arrays in the same place.
* trans-expr.c (gfc_trans_init_assign): Always using _vptr->copy for
class objects.
* trans-stmt.c (allocate_get_initializer): Get the initializer
expression for object allocated.
(gfc_trans_allocate): Nullify a derived type only, when no SOURCE=
or MOLD= is present preventing duplicate work.  Moved the creation
of the init-expression here to prevent code for conditions that
can not occur on freshly allocated object, like checking for the need
to free allocatable components.

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

7 years ago2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 6 Nov 2016 12:27:51 +0000 (12:27 +0000)] 
2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/78221
        * arith.c (gfc_complex2real):  Change gfc_warning_now to
        gfc_warning.

2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/78221
        * gfortran.dg/warn_conversion_9.f90:  New test.

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

7 years ago2016-11-06 Kugan Vivekanandarajah <kuganv@linaro.org>
kugan [Sun, 6 Nov 2016 08:25:36 +0000 (08:25 +0000)] 
2016-11-06  Kugan Vivekanandarajah  <kuganv@linaro.org>

* ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code.

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

7 years agoDaily bump.
gccadmin [Sun, 6 Nov 2016 00:16:15 +0000 (00:16 +0000)] 
Daily bump.

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

7 years agogcc/ChangeLog:
msebor [Sat, 5 Nov 2016 19:54:17 +0000 (19:54 +0000)] 
gcc/ChangeLog:
* doc/invoke.texi (Warning Options): Correct typos in -Walloca
documentation.

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

7 years ago * es.po: Update.
jsm28 [Sat, 5 Nov 2016 19:34:21 +0000 (19:34 +0000)] 
* es.po: Update.

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

7 years ago2016-11-05 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 5 Nov 2016 14:25:25 +0000 (14:25 +0000)] 
2016-11-05  Paul Thomas  <pault@gcc.gnu.org>

* check.c (gfc_check_move_alloc): Introduce error to prevent
aliasing between to and from arguments.

2016-11-05  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/move_alloc_17.f03: New test.

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

7 years ago2016-11-05 Richard Biener <rguenther@suse.de>
dje [Sat, 5 Nov 2016 13:06:08 +0000 (13:06 +0000)] 
2016-11-05  Richard Biener  <rguenther@suse.de>

        PR bootstrap/78188
        * g++.dg/ipa/pr78188.C: New test.

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

7 years ago2016-11-05 Janus Weil <janus@gcc.gnu.org>
janus [Sat, 5 Nov 2016 10:35:23 +0000 (10:35 +0000)] 
2016-11-05  Janus Weil  <janus@gcc.gnu.org>
    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR fortran/69495
* invoke.texi: Mention -Wpedantic as an alias of -pedantic.
* check.c (gfc_check_transfer): Mention responsible flag in warning
message.
* frontend-passes.c (do_warn_function_elimination): Ditto.
* resolve.c (resolve_elemental_actual): Ditto.
(resolve_operator): Ditto.
(warn_unused_fortran_label): Ditto.
* trans-common.c (translate_common): Ditto.

2016-11-05  Janus Weil  <janus@gcc.gnu.org>
    Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/69495
* gfortran.dg/elemental_optional_args_6.f90: Use -Wpedantic flag.

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

7 years ago2016-11-05 Paul Thomas <pault@gcc.gnu.org>
pault [Sat, 5 Nov 2016 07:11:24 +0000 (07:11 +0000)] 
2016-11-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67564
* trans-expr.c (gfc_conv_class_to_class): Return _len component
of unlimited polymorphic entities.

2016-11-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67564
* gfortran.dg/select_type_39.f03: New test.

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

7 years ago PR go/78172.
ian [Sat, 5 Nov 2016 00:21:33 +0000 (00:21 +0000)] 
PR go/78172.
    libgo: avoid confusion in upcase_fields in mksysinfo.sh

    The mksysinfo.sh script could get confused when there were multiple
    types starting with the same name.  I believe this is the underlying
    cause of GCC PR 78172.

    Also redirect a grep to /dev/null to avoid extraneous messages during
    the build.

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

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

7 years agoDaily bump.
gccadmin [Sat, 5 Nov 2016 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

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

7 years agolibiberty: Fix -Wimplicit-fallthrough warnings.
mark [Fri, 4 Nov 2016 23:55:01 +0000 (23:55 +0000)] 
libiberty: Fix -Wimplicit-fallthrough warnings.

Adjust some comments, add some explicit fall through comments or explicit
returns where necessary to not get implicit-fallthrough warnings.

All fall throughs were deliberate. In one case I added an explicit return
false for clarity instead of falling through a default case (that also
would return false).

libiberty/ChangeLog:

       * cplus-dem.c (demangle_signature): Move fall through comment.
       (demangle_fund_type): Add fall through comment between 'G' and 'I'.
       * hashtab.c (iterative_hash): Add fall through comments.
       * regex.c (regex_compile): Add Fall through comment after '+'/'?'.
       (byte_re_match_2_internal): Add Fall through comment after jump_n.
       Change "Note fall through" to "Fall through".
       (common_op_match_null_string_p): Return false after set_number_at
       instead of fall through.

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

7 years agoPR bootstrap/78188
dje [Fri, 4 Nov 2016 23:20:50 +0000 (23:20 +0000)] 
PR bootstrap/78188
PR c++/71848
* ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.

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

7 years ago2016-04-19 Paul Thomas <pault@gcc.gnu.org>
pault [Fri, 4 Nov 2016 19:23:44 +0000 (19:23 +0000)] 
2016-04-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64933
* primary.c (gfc_match_varspec): If selector expression is
unambiguously an array, make sure that the associate name
is an array and has an array spec. Modify the original
condition for doing this to exclude character types.

2016-04-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/64933
* gfortran.dg/associate_23.f90: New test.

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

7 years ago PR target/77834
jakub [Fri, 4 Nov 2016 19:14:07 +0000 (19:14 +0000)] 
PR target/77834
* alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry
doesn't have rtl set.

* gcc.dg/pr77834.c: New test.

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

7 years ago/cp
paolo [Fri, 4 Nov 2016 18:58:53 +0000 (18:58 +0000)] 
/cp
2016-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67980
* pt.c (tsubst_expr, case IF_STMT): Use fold_non_dependent_expr
to suppress unwanted warnings.

/testsuite
2016-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67980
* g++.dg/cpp1y/pr67980.C: New.

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

7 years ago[gcc]
wschmidt [Fri, 4 Nov 2016 18:15:30 +0000 (18:15 +0000)] 
[gcc]

2016-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (gimple-ssa.h): New #include.
(TARGET_GIMPLE_FOLD_BUILTIN): Define as
rs6000_gimple_fold_builtin.
(rs6000_gimple_fold_builtin): New function.  Add handling for
early expansion of vector addition builtins.

[gcc/testsuite]

2016-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/fold-vec-add-1.c: New.
* gcc.target/powerpc/fold-vec-add-2.c: New.
* gcc.target/powerpc/fold-vec-add-3.c: New.
* gcc.target/powerpc/fold-vec-add-4.c: New.
* gcc.target/powerpc/fold-vec-add-5.c: New.
* gcc.target/powerpc/fold-vec-add-6.c: New.
* gcc.target/powerpc/fold-vec-add-7.c: New.

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

7 years ago * expr.h (copy_blkmode_from_reg): Delete.
ebotcazou [Fri, 4 Nov 2016 17:44:48 +0000 (17:44 +0000)] 
* expr.h (copy_blkmode_from_reg): Delete.
* expr.c (copy_blkmode_from_reg): Make static.

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

7 years ago * defaults.h (LOAD_EXTEND_OP): Define if not already defined.
ebotcazou [Fri, 4 Nov 2016 17:42:32 +0000 (17:42 +0000)] 
* defaults.h (LOAD_EXTEND_OP): Define if not already defined.
* combine.c (LOAD_EXTEND_OP): Delete.
(simplify_comparison): Fix comment about LOAD_EXTEND_OP.
* cse.c (LOAD_EXTEND_OP): Delete.
* fold-const.c (LOAD_EXTEND_OP): Likewise.
* fwprop.c (free_load_extend): Remove #ifdef LOAD_EXTEND_OP/#endif.
* postreload.c (LOAD_EXTEND_OP): Delete.
* reload.c (push_reload): Remove #ifdef LOAD_EXTEND_OP/#endif.
Convert conditional compilation based on WORD_REGISTER_OPERATIONS.
(find_reloads): Likewise.
* reload1.c (eliminate_regs_1): Likewise.
* rtlanal.c (nonzero_bits1): Remove #ifdef LOAD_EXTEND_OP/#endif.
(num_sign_bit_copies1): Likewise.

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

7 years agoCorrect typo in changelog author
mpf [Fri, 4 Nov 2016 17:11:31 +0000 (17:11 +0000)] 
Correct typo in changelog author

gcc/testsuite/ChangeLog
* Update toma.tobacu to toma.tabacu

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

7 years agoStart adding target-specific selftests
dmalcolm [Fri, 4 Nov 2016 17:05:38 +0000 (17:05 +0000)] 
Start adding target-specific selftests

gcc/ChangeLog:
* config/i386/i386.c: Include "selftest.h" and "selftest-rtl.h".
(selftest::ix86_test_dumping_hard_regs): New function.
(selftest::ix86_run_selftests): New function.
(TARGET_RUN_TARGET_SELFTESTS): When CHECKING_P, wire this up to
selftest::ix86_run_selftests.
* doc/tm.texi.in (TARGET_RUN_TARGET_SELFTESTS): New.
* doc/tm.texi: Regenerate
* selftest-rtl.h: New file.
* rtl-tests.c: Include "selftest-rtl.h".
(selftest::assert_rtl_dump_eq): Make non-static.
(ASSERT_RTL_DUMP_EQ): Move to selftest-rtl.h.
(selftest::test_dumping_regs): Update comment.
* selftest-run-tests.c: Include "target.h".
(selftest::run_tests): If non-NULL, call
targetm.run_target_selftests.
* target.def (run_target_selftests): New hook.

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

7 years agoMIPS: Handle -mbranch-likely in testsuite options
mpf [Fri, 4 Nov 2016 16:47:32 +0000 (16:47 +0000)] 
MIPS: Handle -mbranch-likely in testsuite options

gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Downgrade to R5
for -mbranch-likely, infer -mno-branch-likely for R6.

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

7 years agoAdd support for ARM Cortex-M33 processor
thopre01 [Fri, 4 Nov 2016 16:46:44 +0000 (16:46 +0000)] 
Add support for ARM Cortex-M33 processor

2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as
    representative core for this architecture.
    * config/arm/arm-cores.def (cortex-m33): Define new processor.
    * config/arm/arm-tables.opt: Regenerate.
    * config/arm/arm-tune.md: Likewise.
    * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of
    valid -mcpu options.
    * doc/invoke.texi (ARM Options): Document new Cortex-M33 processor.

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

7 years agoAdd support for ARM Cortex-M23 processor
thopre01 [Fri, 4 Nov 2016 16:46:33 +0000 (16:46 +0000)] 
Add support for ARM Cortex-M23 processor

2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-arches.def (armv8-m.base): Set Cortex-M23 as
    representative core for this architecture.
    * config/arm/arm-cores.def (cortex-m23): Define new processor.
    * config/arm/arm-tables.opt: Regenerate.
    * config/arm/arm-tune.md: Likewise.
    * config/arm/arm.c (arm_v6m_tune): Add Cortex-M23 to the list of cores
    this tuning parameters apply to in the comment.
    * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M23 to the list of
    valid -mcpu options.
    * doc/invoke.texi (ARM Options): Document new Cortex-M23 processor.

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

7 years ago * fold-const.c (fold_cond_expr_with_comparison): Remove call
amker [Fri, 4 Nov 2016 15:51:38 +0000 (15:51 +0000)] 
* fold-const.c (fold_cond_expr_with_comparison): Remove call
to pedantic_non_lvalue_loc.  Remove useless code for lvalue
where cond_expr can't be a lvalue.

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

7 years ago2016-11-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Fri, 4 Nov 2016 15:30:52 +0000 (15:30 +0000)] 
2016-11-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/71973
        * g++.dg/cpp1y/lambda-generic-udt.C: Fix builtin function declaration.
        * g++.dg/init/new15.C: Likewise.
        * g++.dg/ipa/inline-1.C: Likewise.
        * g++.dg/ipa/inline-2.C: Likewise.
        * g++.dg/lto/20080908-1_0.C: Likewise.
        * g++.dg/tc1/dr20.C: Likewise.
        * g++.dg/tree-ssa/inline-1.C: Likewise.
        * g++.dg/tree-ssa/inline-2.C: Likewise.
        * g++.old-deja/g++.law/except1.C: Likewise.
        * g++.old-deja/g++.other/vbase5.C: Likewise.
        * obj-c++.dg/lto/trivial-1_0.mm: Likewise.

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

7 years ago2016-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 4 Nov 2016 15:21:38 +0000 (15:21 +0000)] 
2016-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/78210
* gcc.dg/tree-ssa/slsr-8.c: Fix slsr scan to include the
possibility of widening multiplies.

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

7 years ago PR c++/78198 - inherited template ctor with default arg
jason [Fri, 4 Nov 2016 12:47:01 +0000 (12:47 +0000)] 
PR c++/78198 - inherited template ctor with default arg

* call.c (convert_default_arg): Look through inheriting ctors.

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

7 years ago[ARC] Various small miscellaneous fixes.
claziss [Fri, 4 Nov 2016 12:13:43 +0000 (12:13 +0000)] 
[ARC] Various small miscellaneous fixes.

gcc/
2016-11-04  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_process_double_reg_moves): Use
gen_dexcl_2op call.
* config/arc/arc.md (movsi_insn): Disable unsupported move
instructions for ARCv2 cores.
(movdi): Use prepare_move_operands.
(movsf, movdf): Use move_dest_operand predicate.
* config/arc/constraints.md (Chs): Enable when barrel shifter is
present.
* config/arc/fpu.md (divsf3): Change to divsf3_fpu.
* config/arc/fpx.md (dexcl_3op_peep2_insn): Dx data register is
also a destination.
(dexcl_3op_peep2_insn_nores): Likewise.
* config/arc/arc.h (SHIFT_COUNT_TRUNCATED): Define to one.
(LINK_COMMAND_SPEC): Remove.

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

7 years ago2016-11-04 Richard Biener <rguenther@suse.de>
rguenth [Fri, 4 Nov 2016 08:54:42 +0000 (08:54 +0000)] 
2016-11-04  Richard Biener  <rguenther@suse.de>

PR middle-end/78185
* loop-invariant.c (find_exits): Record entering inner
loops as possibly exiting to handle infinite sub-loops.
* tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h.
(fill_always_executed_in_1): Honor infinite child loops.

* gcc.dg/pr78185.c: New testcase.

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

7 years agoFix wrong patch committed
meissner [Fri, 4 Nov 2016 04:37:07 +0000 (04:37 +0000)] 
Fix wrong patch committed

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

7 years ago * g++.dg/debug/dwarf2/ref-3.C: XFAIL AIX.
dje [Fri, 4 Nov 2016 01:52:05 +0000 (01:52 +0000)] 
    * g++.dg/debug/dwarf2/ref-3.C: XFAIL AIX.
        * g++.dg/debug/dwarf2/ref-4.C: XFAIL AIX.

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

7 years agoDaily bump.
gccadmin [Fri, 4 Nov 2016 00:16:14 +0000 (00:16 +0000)] 
Daily bump.

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

7 years ago2016-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Thu, 3 Nov 2016 23:32:07 +0000 (23:32 +0000)] 
2016-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/78192
* config/rs6000/vsx.md (vsx_extract_<mode>_di): The element number
has already been adjusted for endianness, so don't adjust it any
further.

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

7 years ago2016-11-03 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Thu, 3 Nov 2016 21:25:12 +0000 (21:25 +0000)] 
2016-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/77993
* config/rs6000/rs6000.h (FLOAT128_IBM_P): Do not allow IFmode or
ICmode unless we have standard PowerPC floating point.
* config/rs6000/rs6000.md (FP iterator): Likewise.
(FMOVE128 iterator): Likewise.

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

7 years ago PR debug/28767
jakub [Thu, 3 Nov 2016 21:18:49 +0000 (21:18 +0000)] 
PR debug/28767
PR debug/56974
* langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute
langhook.
* langhooks.c (lhd_type_dwarf_attribute): New function.
* langhooks-def.h (lhd_type_dwarf_attribute): Declare.
(LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add
LANG_HOOKS_TYPE_DWARF_ATTRIBUTE.
(check_qualified_type, check_aligned_type): Call it.
* dwarf2out.c (modified_type_die): Don't use type_main_variant
for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
check_base_type and check_lang_type.
(gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL,
return early.  For pointer-to-data-member add DW_AT_use_location
attribute.
(gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute
if needed.
(gen_type_die_with_usage): Don't use type_main_variant
for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
check_base_type and check_lang_type.  Formatting fixes. Call
get_debug_type langhook.
cp/
* tree.c (cp_check_qualified_type): Use check_base_type and
TYPE_QUALS comparison instead of check_qualified_type.
(cxx_type_hash_eq): Return false if type_memfn_rqual don't match.
* cp-objcp-common.c (cp_get_debug_type): New function.
(cp_decl_dwarf_attribute): Don't handle types here.
(cp_type_dwarf_attribute): New function.
* cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute):
Declare.
(LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE):
Define.
testsuite/
* g++.dg/debug/dwarf2/ptrdmem-1.C: New test.
* g++.dg/debug/dwarf2/ref-3.C: New test.
* g++.dg/debug/dwarf2/ref-4.C: New test.
* g++.dg/debug/dwarf2/refqual-1.C: New test.
* g++.dg/debug/dwarf2/refqual-2.C: New test.

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

7 years ago Use type_hash_eq langhook in check_qualified_type.
jason [Thu, 3 Nov 2016 19:52:58 +0000 (19:52 +0000)] 
Use type_hash_eq langhook in check_qualified_type.

gcc/
* tree.c (check_lang_type): New.
(check_qualified_type): Use it.
(check_aligned_type): Use it.
* tree.h: Declare it.
gcc/cp/
* tree.c (cp_check_qualified_type): Call check_base_type instead
of check_qualified_type.
(cxx_type_hash_eq): Check ref-qualifiers.
* typeck.c (apply_memfn_quals): No need to mess with TYPE_CANONICAL.

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

7 years ago * c-cppbuiltin.c (c_cpp_builtins): Correct __cpp_inheriting_constructors.
jason [Thu, 3 Nov 2016 19:52:19 +0000 (19:52 +0000)] 
 * c-cppbuiltin.c (c_cpp_builtins): Correct __cpp_inheriting_constructors.

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

7 years agoAdd missing hunk from previous commit.
rearnsha [Thu, 3 Nov 2016 19:12:40 +0000 (19:12 +0000)] 
Add missing hunk from previous commit.

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

7 years agoDefault missing exponents to 0 with -fdec.
foreese [Thu, 3 Nov 2016 18:09:44 +0000 (18:09 +0000)] 
Default missing exponents to 0 with -fdec.

gcc/fortran/
* gfortran.texi: Document.
* gfortran.h (gfc_dt): New field default_exp.
* primary.c (match_real_constant): Default exponent with -fdec.
* io.c (match_io): Set dt.default_exp with -fdec.
* ioparm.def (IOPARM_dt_default_exp): New.
* trans-io.c (build_dt): Set IOPARM_dt_default_exp with -fdec.

libgfortran/io/
* io.h (IOPARM_DT_DEFAULT_EXP): New flag bit.
* list_read.c (parse_real, read_real): Allow omission of exponent with
IOPARM_DT_DEFAULT_EXP.
* read.c (read_f): Ditto.

gcc/testsuite/gfortran.dg/
* dec_exp_1.f90, dec_exp_2.f90, dec_exp_3.f90: New testcases.

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

7 years ago[arm] Eliminate SUBTARGET_CPU_DEFAULT
rearnsha [Thu, 3 Nov 2016 18:08:19 +0000 (18:08 +0000)] 
[arm] Eliminate SUBTARGET_CPU_DEFAULT

* config.gcc (arm-wrs-vxworks): Set target_cpu_cname.
(arm*-freebsd*): Likewise.
(arm*-*-netbsdelf*): Likewise.
(arm*-*-linux*): Likewise.
(arm*-*-uclinux*eabi*): Likewise.
(arm*-*-phoenix*): Likewise.
(arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*): Likewise.
(arm*-*-*): Don't clobber target_cpu_cname when --with-cpu is not
specified.  Default to arm6 if target_cpu_cname is not set.
* arm/arm.c (arm_option_override): Simplify logic.  Assert that the
default cpu has been correctly configured.
* arm/arm.h (TARGET_CPU_DEFAULT): Delete.
(target_cpus): Delete TARGET_CPU_generic, add TARGET_CPU_num_cores.
* arm/freebsd.h (SUBTARGET_CPU_DEFAULT): Delete.
* arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Delete.
* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
* arm/symbian.h (SUBTARGET_CPU_DEFAULT): Delete.
* arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Delete.

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

7 years ago[DWARF] Enable DW_CFA_VAL_EXPRESSION support
jiwang [Thu, 3 Nov 2016 17:32:03 +0000 (17:32 +0000)] 
[DWARF] Enable DW_CFA_VAL_EXPRESSION support

gcc/
* reg-notes.def (CFA_VAL_EXPRESSION): New entry.
* dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function.
(dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION.
(output_cfa_loc): Support DW_CFA_val_expression.
(output_cfa_loc_raw): Likewise.
(output_cfi): Likewise.
(output_cfi_directive): Likewise.
* dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression.
(dw_cfi_oprnd2_desc): Likewise.
(mem_loc_descriptor): Recognize new pattern generated for value
expression.

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

7 years agocombine lhs zero_extract fix (PR78186)
segher [Thu, 3 Nov 2016 16:04:22 +0000 (16:04 +0000)] 
combine lhs zero_extract fix (PR78186)

PR rtl-optimization/78186
* combine.c (change_zero_ext): Mask the RHS of a zero_extract as
well, when converting to IOR.

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

7 years agoSupport legacy PARAMETER statements with -std=legacy.
foreese [Thu, 3 Nov 2016 16:00:58 +0000 (16:00 +0000)] 
Support legacy PARAMETER statements with -std=legacy.

gcc/fortran/
* decl.c (gfc_match_parameter): Allow omitted '()' with -std=legacy.
* parse.c (decode_statement): Match "parameter" before assignments.
* gfortran.texi: Document.

gcc/testsuite/gfortran.dg/
* dec_parameter_1.f: New test.
* dec_parameter_2.f90: Likewise.
* dec_parameter_3.f90: Likewise.
* dec_parameter_4.f90: Likewise.

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

7 years ago * config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
ebotcazou [Thu, 3 Nov 2016 16:00:55 +0000 (16:00 +0000)] 
* config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
(vec_interleave_highv8qi): Likewise.

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

7 years agoMake direct emission of time profiler counter
marxin [Thu, 3 Nov 2016 15:24:22 +0000 (15:24 +0000)] 
Make direct emission of time profiler counter

* libgcov-profiler.c (__gcov_time_profiler): Remove.
(__gcov_time_profiler_atomic): Likewise.
* profile.c (instrument_values): Fix coding style.
(branch_prob): Use renamed function.
* tree-profile.c (init_ic_make_global_vars): Likewise.
(gimple_init_edge_profiler): Rename to
gimple_init_gcov_profiler.
tree_time_profiler_counter variable declaration.
(gimple_gen_time_profiler): Rewrite to do a direct gimple code
emission.
* value-prof.h: Remove an argument.
* gcc.dg/no_profile_instrument_function-attr-1.c: Update scanned
output.
* gcc.dg/tree-prof/time-profiler-3.c: New test.

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

7 years ago2016-11-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Thu, 3 Nov 2016 12:52:19 +0000 (12:52 +0000)] 
2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR libgcc/78067
        * libgcc2.c (__floatdisf, __floatdidf): Avoid undefined results from
        count_leading_zeros.

testsuite:
2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR libgcc/78067
        * gcc.dg/torture/fp-int-convert.h: Add more conversion tests.

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

7 years ago2016-11-03 Richard Biener <rguenther@suse.de>
dje [Thu, 3 Nov 2016 12:31:10 +0000 (12:31 +0000)] 
2016-11-03  Richard Biener  <rguenther@suse.de>

        * config/rs6000/rs6000.c (rs6000_xcoff_declare_object_name): Use
        symtab_node::get_create.

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

7 years ago[rtlanal] Fix WORD_REGISTER_OPERATIONS condition in nonzero_bits
ktkachov [Thu, 3 Nov 2016 12:08:26 +0000 (12:08 +0000)] 
[rtlanal] Fix WORD_REGISTER_OPERATIONS condition in nonzero_bits

* rtlanal.c (nonzero_bits1): Fix WORD_REGISTER_OPERATIONS condition.
Move comments into more natural position.

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

7 years ago[ARC] Define SIZE_TYPE and PTRDIFF_TYPE correctly.
claziss [Thu, 3 Nov 2016 10:52:52 +0000 (10:52 +0000)] 
[ARC] Define SIZE_TYPE and PTRDIFF_TYPE correctly.

This silences tons of -Wformat= warnings when building ARC Linux kernel
with gcc 6.x (and restores the ARC gcc 4.8.x behaviour) which had
similar fix.

gcc/
2016-11-03  Vineet Gupta  <vgupta@synopsys.com>

* config/arc/arc.h (SIZE_TYPE): Define as unsigned int.
(PTRDIFF_TYPE): Define as int.

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

7 years agomake targetm.gen_ccmp{first,next} take rtx_insn **
tbsaunde [Thu, 3 Nov 2016 09:27:55 +0000 (09:27 +0000)] 
make targetm.gen_ccmp{first,next} take rtx_insn **

gcc/ChangeLog:

2016-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ccmp.c (expand_ccmp_expr_1): Adjust.
(expand_ccmp_expr): Likewise.
(expand_ccmp_next): Likewise.
* config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise.
(aarch64_gen_ccmp_first): Likewise.
* doc/tm.texi: Regenerate.
* target.def (gen_ccmp_first): Change argument types to rtx_insn *.
(gen_ccmp_next): Likewise.

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

7 years ago * tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
amker [Thu, 3 Nov 2016 09:15:45 +0000 (09:15 +0000)] 
* tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
(vect_is_simple_reduction): Swap cond_reduction by inversion.

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

7 years agoFix bougs PR 78170 failure for avr
saaadhu [Thu, 3 Nov 2016 08:04:40 +0000 (08:04 +0000)] 
Fix bougs PR 78170 failure for avr

The test defines int bitfields that are more than 16 bits wide, and this
fails for the avr with its 16 bit integer size. Therefore, require
effective target int32plus.

gcc/testsuite/

2016-11-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.c-torture/execute/pr78170.c: Require int32plus.

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

7 years agoDaily bump.
gccadmin [Thu, 3 Nov 2016 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

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

7 years ago * config/i386/i386.c (ix86_init_libfuncs): New. Call
uros [Wed, 2 Nov 2016 22:25:44 +0000 (22:25 +0000)] 
* config/i386/i386.c (ix86_init_libfuncs): New.  Call
darwin_rename_builtins here.
(ix86_expand_divmod_libfunc): New.
(TARGET_INIT_LIBFUNCS): Unconditionally define to ix86_init_libfuncs.
(TARGET_EXPAND_DIVMOD_LIBFUNC): Define.

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

7 years ago * Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4.
uros [Wed, 2 Nov 2016 22:23:13 +0000 (22:23 +0000)] 
* Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4.
* libgcc2.c (__divmoddi4): New function.
* libgcc2.h (__divmoddi4): Declare.
* libgcc-std.ver.in (GCC_7.0.0): New. Add __PFX_divmoddi4
and __PFX_divmodti4.

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

7 years ago gcc/
cesar [Wed, 2 Nov 2016 22:10:02 +0000 (22:10 +0000)] 
gcc/
* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero.

libgomp/
* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
to determine default geometry.
* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
dimension.

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

7 years agoxtensa: don't xfail gcc.c-torture/compile/20001226-1.c
jcmvbkbc [Wed, 2 Nov 2016 18:36:52 +0000 (18:36 +0000)] 
xtensa: don't xfail gcc.c-torture/compile/20001226-1.c

With jump trampolines implemented in binutils since 2.25 and enabled by
default this test no longer fails on xtensa.

2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
gcc/testsuite/
* gcc.c-torture/compile/20001226-1.c: Don't xfail on xtensa.

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

7 years agoxtensa: fix ICE on pr59037.c test
jcmvbkbc [Wed, 2 Nov 2016 18:34:43 +0000 (18:34 +0000)] 
xtensa: fix ICE on pr59037.c test

xtensa gcc gets ICE on pr59037.c test because its xtensa_output_literal
function cannot handle integer literals of sizes other than 4 and 8,
whereas the test uses 16-byte int vector.
Split integer literal formatting into the recursive function
xtensa_output_integer_literal_parts capable of handling literals of any
power of 2 size not less than 4.

2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.c (xtensa_output_integer_literal_parts):
New function.
(xtensa_output_literal): Use xtensa_output_integer_literal_parts
to format MODE_INT and MODE_PARTIAL_INT literals.

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

7 years agors6000: Disable shrink-wrap-separate for abi=spe (PR78168)
segher [Wed, 2 Nov 2016 17:06:04 +0000 (17:06 +0000)] 
rs6000: Disable shrink-wrap-separate for abi=spe (PR78168)

With the SPE ABI, if we wrap GPRs we need to handle the upper half of the
extended 64-bit registers as well, which we cannot easily do.  So, this
patch disables separate shrink-wrapping for the SPE ABI.

PR target/78168
* config/r6000/rs6000.c (rs6000_get_separate_components): Return
NULL if TARGET_SPE_ABI.

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

7 years agoFix for big-endian gcc.c-torture/execute/pr55750.c
ktkachov [Wed, 2 Nov 2016 16:03:13 +0000 (16:03 +0000)] 
Fix for big-endian gcc.c-torture/execute/pr55750.c

* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
clear padding bits even when they're less than a byte.

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

7 years ago Fix failing vminnm/vmaxnm test on ARM.
tnfchris [Wed, 2 Nov 2016 15:57:11 +0000 (15:57 +0000)] 
 Fix failing vminnm/vmaxnm test on ARM.

* gcc.target/arm/simd/vmaxnm_f32_1.c (dg-require-effective-target):
Check for arm_v8_neon_hw.
* gcc.target/arm/simd/vmaxnmq_f32_1.c (dg-require-effective-target):
Likewise.
* gcc.target/arm/simd/vminnm_f32_1.c (dg-require-effective-target):
Likewise.
* gcc.target/arm/simd/vminnmq_f32_1.c(dg-require-effective-target):
Likewise.

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

7 years ago2016-11-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Nov 2016 15:00:48 +0000 (15:00 +0000)] 
2016-11-02  Richard Biener  <rguenther@suse.de>

* gimple-ssa-store-merging.c: Include gimplify-me.h.
(imm_store_chain_info::output_merged_stores): Force base_addr
to be proper GIMPLE for a MEM_REF address.
(pass_store_merging::execute): Restrict negative bitpos
handling to non-MEM_REF bases.  Remove TREE_THIS_VOLATILE
check.  Take into account non-NULL_TREE offset if the base
is already addressable.

* gcc.dg/store_merging_8.c: New testcase.

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

7 years agoNew warning -Wargument-mismatch for function argument mismatches.
foreese [Wed, 2 Nov 2016 14:56:41 +0000 (14:56 +0000)] 
New warning -Wargument-mismatch for function argument mismatches.

gcc/fortran/
* lang.opt, invoke.texi: New argument -Wargument-mismatch.
* interface.c (compare_parameter, compare_actual_formal,
gfc_check_typebound_override, argument_rank_mismatch): Control argument
mismatch warnings with -Wargument-mismatch.
* resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto.

gcc/testsuite/gfortran.dg/
* warn_argument_mismatch_1.f90: New test.

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

7 years agoAllow warning flags to associate through gfc_error.
foreese [Wed, 2 Nov 2016 14:46:33 +0000 (14:46 +0000)] 
Allow warning flags to associate through gfc_error.

gcc/fortran/
* gfortran.h (gfc_error): New declaration for gfc_error with 'opt'.
* error.c (gfc_error): Add optional 'opt' argument.
* error.c (gfc_notify_std): Call fully-qualified gfc_error.

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

7 years agoAdd LE/BE SHA1H patterns with a V2SI input. This avoids unnecessary
wilco [Wed, 2 Nov 2016 14:00:22 +0000 (14:00 +0000)] 
Add LE/BE SHA1H patterns with a V2SI input.  This avoids unnecessary
DUPs when using intrinsics like vsha1h_u32 (vgetq_lane_u32 (x, 0)).

    gcc/
        * config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si):
        New pattern.
        (aarch64_be_crypto_sha1hv4si): New pattern.

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

7 years agoThe add expander still contains some expansion code that was required for the
wilco [Wed, 2 Nov 2016 13:56:07 +0000 (13:56 +0000)] 
The add expander still contains some expansion code that was required for the
previous prolog/epilog code, but which is no longer needed.  I also noticed
that the current version splits off immediates from frame addressing
instructions, which doesn't seem a good idea.  Avoiding this resulted in small
codesize improvements.

    gcc/
        * config/aarch64/aarch64.md (add<mode>3): Remove
        redundant code.  Don't split frame based additions.

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

7 years ago2016-11-02 Richard Biener <rguenther@suse.de>
rguenth [Wed, 2 Nov 2016 13:05:07 +0000 (13:05 +0000)] 
2016-11-02  Richard Biener  <rguenther@suse.de>

* gimple-ssa-store-merging.c (struct store_immediate_info): Remove
redundant val and dest members.
(store_immediate_info::store_immediate_info): Adjust.
(merged_store_group::merged_store_group): Adjust.
(merged_store_group::apply_stores): Likewise.
(struct imm_store_chain_info): Add base_addr field.
(imm_store_chain_info::imm_store_chain_info): New constructor.
(imm_store_chain_info::terminate_and_process_chain): Do not pass base.
(imm_store_chain_info::output_merged_store): Likewise.  Use
addr_base which is already the address.
(imm_store_chain_info::output_merged_stores): Likewise.
(pass_tree_store_merging::terminate_all_aliasing_chains): Take
imm_store_chain_info instead of base.  Fix alias check.
(pass_tree_store_merging::terminate_and_release_chain): Likewise.
(imm_store_chain_info::coalesce_immediate_stores): Adjust.
(pass_store_merging::execute): Refuse to operate on TARGET_MEM_REF.
use the address of the base and adjust for other changes.

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

7 years ago * gcc.dg/debug/dwarf2/prod-options.c: XFAIL AIX.
dje [Wed, 2 Nov 2016 12:42:19 +0000 (12:42 +0000)] 
    * gcc.dg/debug/dwarf2/prod-options.c: XFAIL AIX.
        * gcc.dg/debug/dwarf2/pr71855.c: XFAIL AIX.
        * gcc.dg/addr_equal_1.c: XFAIL AIX.
        * gcc.dg/pr65779.c: XFAIL AIX.
        * gcc.dg/pr70405.c: XFAIL AIX.

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

7 years ago * g++.dg/debug/dwarf2/inline-var-1.C: XFAIL AIX.
dje [Wed, 2 Nov 2016 12:39:06 +0000 (12:39 +0000)] 
    * g++.dg/debug/dwarf2/inline-var-1.C: XFAIL AIX.
        * g++.dg/debug/dwarf2/ref-2.C: XFAIL AIX.
        * g++.dg/debug/dwarf2/constexpr-var-1.C: XFAIL AIX.

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

7 years agoFix linker detection in check_gc_sections_available
ro [Wed, 2 Nov 2016 10:27:23 +0000 (10:27 +0000)] 
Fix linker detection in check_gc_sections_available

* lib/target-supports.exp (check_gc_sections_available): Use
-print-prog-name=ld to determine linker used.

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

7 years agoFix host_size_t_cst_p predicat
marxin [Wed, 2 Nov 2016 09:56:04 +0000 (09:56 +0000)] 
Fix host_size_t_cst_p predicat

* fold-const-call.c (host_size_t_cst_p): Test whether
t is convertible to size_t.
* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c (main): Add
test case.

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

7 years agoPR tree-optimization/78170: Truncate sign-extended padding when encoding bitfields
ktkachov [Wed, 2 Nov 2016 09:28:35 +0000 (09:28 +0000)] 
PR tree-optimization/78170: Truncate sign-extended padding when encoding bitfields

PR tree-optimization/78170
* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Truncate padding
introduced by native_encode_expr on little-endian as well.

* gcc.c-torture/execute/pr78170.c: New test.

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