Commit Graph

149637 Commits

Author SHA1 Message Date
Richard Biener
32894793ff re PR middle-end/78228 (fstrict-overflow breaks code without overflow?)
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.

From-SVN: r241899
2016-11-07 12:25:09 +00:00
Kyrylo Tkachov
e27bfda2fc [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.

From-SVN: r241898
2016-11-07 11:43:57 +00:00
Martin Liska
00d6b7a1a7 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.

From-SVN: r241897
2016-11-07 10:25:18 +00:00
Martin Liska
6dc4a60450 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.

From-SVN: r241896
2016-11-07 10:23:38 +00:00
Tamar Christina
2447ab8593 Fix the Windows native x86-64 build.
PR driver/78196
	* Makefile.in (SELFTEST_FLAGS): Added -o /dev/null.

From-SVN: r241895
2016-11-07 09:17:55 +00:00
Martin Liska
5bcb571cb2 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.

From-SVN: r241894
2016-11-07 08:57:44 +00:00
Richard Biener
29afecdf1b re PR middle-end/37150 (basic-block vectorization misses some unrolled loops)
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.

From-SVN: r241893
2016-11-07 08:06:08 +00:00
Richard Biener
a0d3edf8a5 re PR tree-optimization/78189 (movaps generated for unaligned store in aligned struct, when struct is referenced via unaligned member.)
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.

From-SVN: r241892
2016-11-07 08:05:08 +00:00
GCC Administrator
e34b855ed5 Daily bump.
From-SVN: r241891
2016-11-07 00:16:20 +00:00
David Edelsohn
0db5adfa6d * gcc.dg/Wtrampolines.c: XFAIL AIX.
From-SVN: r241888
2016-11-06 17:29:38 -05:00
Thomas Koenig
eb950bf834 re PR fortran/78226 (Fill out location information everywhere)
2016-11-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

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

From-SVN: r241887
2016-11-06 21:27:32 +00:00
Andre Vehreschild
cc03bf7a7b allocate_with_source_14.f03: Fixed number mallocs occuring.
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.

From-SVN: r241885
2016-11-06 17:10:22 +01:00
Thomas Koenig
18bb8b8a2a re PR fortran/78221 (bogus warning: Non-zero imaginary part discarded in conversion [-Wconversion])
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.

From-SVN: r241884
2016-11-06 12:27:51 +00:00
Kugan Vivekanandarajah
0ddd4af5f4 ipa-cp.c (ipcp_bits_lattice::meet_with): Remove unreachable code.
2016-11-06  Kugan Vivekanandarajah  <kuganv@linaro.org>

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

From-SVN: r241883
2016-11-06 08:25:36 +00:00
GCC Administrator
f471c1e996 Daily bump.
From-SVN: r241882
2016-11-06 00:16:15 +00:00
Martin Sebor
123fa37259 invoke.texi (Warning Options): Correct typos in -Walloca documentation.
gcc/ChangeLog:
	* doc/invoke.texi (Warning Options): Correct typos in -Walloca
	documentation.

From-SVN: r241875
2016-11-05 13:54:17 -06:00
Joseph Myers
8ecedb7092 * es.po: Update.
From-SVN: r241873
2016-11-05 19:34:21 +00:00
Paul Thomas
c7f587bd0f 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>

	* 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.

From-SVN: r241872
2016-11-05 14:25:25 +00:00
Richard Biener
92657eb0f6 re PR ipa/78188 (AIX Bootstrap broken by tree-vrp.c change)
2016-11-05  Richard Biener  <rguenther@suse.de>

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

From-SVN: r241871
2016-11-05 09:06:08 -04:00
Janus Weil
28ce22e6cb re PR fortran/69495 (unused-label warning does not tell which flag triggered it)
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.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r241870
2016-11-05 11:35:23 +01:00
Paul Thomas
d233ee5f50 re PR fortran/67564 (Segfault on sourced allocattion statement with class(*) arrays)
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.

From-SVN: r241869
2016-11-05 07:11:24 +00:00
Ian Lance Taylor
655a835566 re PR go/78172 (gen-sysinfo.go vs AIX cred.h)
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

From-SVN: r241868
2016-11-05 00:21:33 +00:00
GCC Administrator
841d46df8b Daily bump.
From-SVN: r241867
2016-11-05 00:16:20 +00:00
Mark Wielaard
c4ec8585dc 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.

From-SVN: r241864
2016-11-04 23:55:01 +00:00
David Edelsohn
8d48126dc7 re PR ipa/78188 (AIX Bootstrap broken by tree-vrp.c change)
PR bootstrap/78188
PR c++/71848
* ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.

From-SVN: r241863
2016-11-04 19:20:50 -04:00
Paul Thomas
b125dc1e1b re PR fortran/64933 (ASSOCIATE on a character variable does not allow substring expressions)
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.

From-SVN: r241860
2016-11-04 19:23:44 +00:00
Jakub Jelinek
5f4cebba26 re PR target/77834 (ICE: in make_decl_rtl, at varasm.c:1311 with -O -ftree-pre -mstringop-strategy=libcall)
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.

From-SVN: r241859
2016-11-04 20:14:07 +01:00
Paolo Carlini
6e3ae7e6f5 re PR c++/67980 (left shift count is negative [-Wshift-count-negative] generated for unreachable code)
/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.

From-SVN: r241858
2016-11-04 18:58:53 +00:00
Bill Schmidt
fff6ed28b2 rs6000.c (gimple-ssa.h): New #include.
[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.

From-SVN: r241857
2016-11-04 18:15:30 +00:00
Eric Botcazou
b53f8c22f0 expr.h (copy_blkmode_from_reg): Delete.
* expr.h (copy_blkmode_from_reg): Delete.
	* expr.c (copy_blkmode_from_reg): Make static.

From-SVN: r241856
2016-11-04 17:44:48 +00:00
Eric Botcazou
6a4cf4188b defaults.h (LOAD_EXTEND_OP): Define if not already defined.
* 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.

From-SVN: r241855
2016-11-04 17:42:32 +00:00
Matthew Fortune
bef3a8d7a6 Correct typo in changelog author
gcc/testsuite/ChangeLog
	* Update toma.tobacu to toma.tabacu

From-SVN: r241852
2016-11-04 17:11:31 +00:00
David Malcolm
40af589485 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.

From-SVN: r241851
2016-11-04 17:05:38 +00:00
Toma Tabacu
d7d2e7b467 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.

From-SVN: r241850
2016-11-04 16:47:32 +00:00
Thomas Preud'homme
cf16d50fda 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.

From-SVN: r241849
2016-11-04 16:46:44 +00:00
Thomas Preud'homme
f6b2065fb0 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.

From-SVN: r241848
2016-11-04 16:46:33 +00:00
Bin Cheng
26060734c0 fold-const.c (fold_cond_expr_with_comparison): Remove call to pedantic_non_lvalue_loc.
* 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.

From-SVN: r241847
2016-11-04 15:51:38 +00:00
Bernd Edlinger
dac9376aee re PR c++/71973 (c++ handles built-in functions inconsistently)
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.

From-SVN: r241846
2016-11-04 15:30:52 +00:00
Bill Schmidt
b210df469e re PR tree-optimization/78210 (slsr-8.c scan-tree-dump-times optimized fails)
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.

From-SVN: r241845
2016-11-04 15:21:38 +00:00
Jason Merrill
866115cd8a PR c++/78198 - inherited template ctor with default arg
* call.c (convert_default_arg): Look through inheriting ctors.

From-SVN: r241843
2016-11-04 08:47:01 -04:00
Claudiu Zissulescu
491483b026 [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.

From-SVN: r241842
2016-11-04 13:13:43 +01:00
Richard Biener
964ef24cd5 re PR tree-optimization/78185 (Wrong branch optimization with -O1 on x86/x86_64)
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.

From-SVN: r241841
2016-11-04 08:54:42 +00:00
Michael Meissner
b07aafb1ac Fix wrong patch committed
From-SVN: r241840
2016-11-04 04:37:07 +00:00
David Edelsohn
5fb8038782 ref-3.C: XFAIL AIX.
* g++.dg/debug/dwarf2/ref-3.C: XFAIL AIX.
        * g++.dg/debug/dwarf2/ref-4.C: XFAIL AIX.

From-SVN: r241838
2016-11-03 21:52:05 -04:00
GCC Administrator
9d90ccf900 Daily bump.
From-SVN: r241837
2016-11-04 00:16:14 +00:00
Michael Meissner
f2834ebc00 re PR target/78192 (extract from vector registers to int results in wrong data order)
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.

From-SVN: r241834
2016-11-03 23:32:07 +00:00
Michael Meissner
0bc36dec0f re PR bootstrap/77993 (bootstrap failure on PowerPC/Linux)
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.

From-SVN: r241833
2016-11-03 21:25:12 +00:00
Jakub Jelinek
6905c577d1 re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions)
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.

From-SVN: r241832
2016-11-03 22:18:49 +01:00
Jason Merrill
1906d6b4dc 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.

From-SVN: r241831
2016-11-03 15:52:58 -04:00
Jason Merrill
b302001e3a * c-cppbuiltin.c (c_cpp_builtins): Correct __cpp_inheriting_constructors.
From-SVN: r241830
2016-11-03 15:52:19 -04:00