Commit Graph

150795 Commits

Author SHA1 Message Date
Richard Biener
007e18eb1f re PR tree-optimization/78731 (Possible bug with switch when optimization is turned on.)
2016-12-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78731
	* gcc.dg/torture/pr78731.c: New testcase.

From-SVN: r243644
2016-12-14 10:35:11 +00:00
Martin Liska
e19ef86d01 Print 2 digits after decimal delimiter for BB frequencies
* gimple-pretty-print.c (dump_probability): New function.
	(dump_edge_probability): Use the function.
	(dump_gimple_label): Likewise.
	(dump_gimple_bb_header): Likewise.
	* gcc.dg/tree-ssa/20040703-1.c: Update scanned pattern.
	* gcc.dg/tree-ssa/dump-2.c: Likewise.

From-SVN: r243643
2016-12-14 10:33:10 +00:00
Martin Liska
ca3b607159 Enhance analyze_brprob script
* analyze_brprob.py: Add new column to output and new sorting
	option. Fix coding style to not exceed 80 characters.
	* analyze_brprob_spec.py: Add new sorting
	option. Fix coding style to not exceed 80 characters.

From-SVN: r243640
2016-12-14 10:30:24 +00:00
Toma Tabacu
998f4f30ea MIPS: Force assembly output for msa-builtins-err.c.
gcc/testsuite

	* gcc.target/mips/msa-builtins-err.c (dg-options): Add 
	-ffat-lto-objects option.

From-SVN: r243639
2016-12-14 10:19:01 +00:00
Prathamesh Kulkarni
3b1970cb3c tree-ssa-strlen.c (fold_strstr_to_memcmp): New function.
2016-12-14  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
	    Jakub Jelinek  <jakub@redhat.com>

	* tree-ssa-strlen.c (fold_strstr_to_memcmp): New function.
	(strlen_optimize_stmt): Call fold_strstr_to_memcmp.

testsuite/
	* gcc.dg/strlenopt-30.c: New test-case.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r243633
2016-12-14 09:10:31 +00:00
Eric Botcazou
164f063463 lra-constraints.c (process_address_1): Do not attempt to decompose addresses for MEMs that satisfy fixed-form constraints.
* lra-constraints.c (process_address_1): Do not attempt to decompose
	addresses for MEMs that satisfy fixed-form constraints.

From-SVN: r243632
2016-12-14 08:34:15 +00:00
Richard Biener
253c0172bb re PR tree-optimization/78788 (ICE (segfault) on s390x-linux-gnu)
2016-12-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78788
	* tree-vrp.c (set_value_range): Allow [-INF(OVF), +INF(OVF)].
	(set_and_canonicalize_value_range): Do not drop the above to
	VARYING.

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

From-SVN: r243631
2016-12-14 08:33:12 +00:00
GCC Administrator
803312a760 Daily bump.
From-SVN: r243629
2016-12-14 00:16:15 +00:00
Nathan Sidwell
5bfd81e715 re PR c++/69481 (ICE with C++11 alias using with templates)
cp/
	PR c++/69481
	* cp-tree.h (TYPE_TEMPLATE_INFO): Remove alias type checking.
	(TYPE_ALIAS_TEMPLATE_INFO): New.
	(TYPE_TEMPLATE_INFO_MAYBE_ALIAS): New.  Use those macros.
	* error.c (dump_alias_template_specialization): Adjust.
	* pt.c (maybe_process_partial_specialization)
	iterative_has_template_arg, find_parameter_packs_r,
	alias_template_specialization_p, dependent_alias_template_spec_p,
	get_underlying_template, lookup_template_class_1, unify): Adjust
	template using decl access.

	testsuite/
	PR c++/69481
	* g++.dg/cpp0x/pr69481.C: New.
(--This line, and those below, will be ignored--

M    gcc/testsuite/ChangeLog
A    gcc/testsuite/g++.dg/cpp0x/pr69481.C
M    gcc/cp/cp-tree.h
M    gcc/cp/error.c
M    gcc/cp/ChangeLog
M    gcc/cp/pt.c

From-SVN: r243624
2016-12-13 20:43:08 +00:00
Bill Schmidt
2de1796a6b rs600.c (rs6000_builtin_vectorization_cost): Adjust unaligned load cost.
2016-12-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs600.c (rs6000_builtin_vectorization_cost):
	Adjust unaligned load cost.

From-SVN: r243623
2016-12-13 20:05:10 +00:00
Janus Weil
7a28353e36 re PR fortran/78798 ([cleanup] some int-valued functions should be bool)
2016-12-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78798
	* gfortran.h (gfc_is_constant_expr, gfc_is_formal_arg,
	gfc_is_compile_time_shape): Return bool instead of int.
	* array.c (gfc_is_compile_time_shape): Ditto.
	* expr.c (gfc_is_constant_expr): Ditto.
	* resolve.c (gfc_is_formal_arg): Ditto. Make formal_arg_flag bool.

From-SVN: r243621
2016-12-13 19:55:20 +01:00
Ian Lance Taylor
c3c54e0f07 libgo: fixes for Solaris build
Don't put m[0-4] in runtime.inc.
    
    Pass -mclear-hwcap to the linker if supported.
    
    From Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/34331

From-SVN: r243619
2016-12-13 18:03:45 +00:00
Uros Bizjak
80e66af3c8 re PR target/78794 (We noticed ~9% regression in 32-bit mode for 462.libquntum on Avoton after r243202)
PR target/78794
	* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
	Calculate additional gain for andnot for targets without BMI.

testsuite/ChangeLog:

	PR target/78794
	* gcc.target/i386/pr78794.c: New test.

From-SVN: r243615
2016-12-13 18:15:35 +01:00
Andre Vehreschild
6479f45b31 re PR fortran/77785 ([Coarray] ICE in gfc_get_caf_token_offset, at fortran/trans-expr.c:1990)
gcc/fortran/ChangeLog:

2016-12-13  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/77785
	* resolve.c (resolve_symbol): Correct attr lookup to the _data
	component.
	* trans-array.c (gfc_alloc_allocatable_for_assignment): Indirect ref
	pointers and references before retrieving the caf-token.

gcc/testsuite/ChangeLog:

2016-12-13  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/77785
	* gfortran.dg/coarray_38.f90: Added expecting error message.
	* gfortran.dg/coarray_41.f90: New test.
	* gfortran.dg/coarray_class_2.f90: New test.

From-SVN: r243614
2016-12-13 17:47:48 +01:00
Carl Love
b37a5b979a rs6000-c.c: Add built-in support for vector float vec_pack (vector double...
gcc/ChangeLog:

2016-12-13  Carl Love  <cel@us.ibm.com>

   * config/rs6000/rs6000-c.c: Add built-in support for
   vector float vec_pack (vector double, vector double)
   vector double vec_sld (vector double, vector double)
   * config/rs6000/rs6000.c: Add icode check for vsldoi_v2df to allow
   4-bit unsigned literal.
   * config/rs6000/rs6000-builtin.def: Add definition for VSLDOI_2DF
   * doc/extend.texi: Update the built-in documentation file for the
   new powerpc vec_pack and vec_sld built-ins.

gcc/testsuite/ChangeLog:

2016-12-13 Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/builtins-3.c: Add new test of the test suite
	file.
	* gcc.target/powerpc/builtins-3-p8.c: Add new test of the test suite
	file.

From-SVN: r243612
2016-12-13 16:18:36 +00:00
Martin Liska
2f75d6ebf8 Add sanopt for ASAN_MARK poison and unpoison.
* sanopt.c (sanopt_optimize_walker): Set contains_asan_mark.
	(sanopt_optimize): Add new argument.
	(sanitize_asan_mark_unpoison): New function.
	(maybe_contains_asan_check): Likewise.
	(sanitize_asan_mark_poison): Likewise.
	(pass_sanopt::execute): Call the new functions.

From-SVN: r243611
2016-12-13 15:35:14 +00:00
Martin Liska
437df9f9d1 Fill bitregion_{start,end} in store_constructor (PR tree-optimization/78428)
* expr.c (store_constructor_field): Add new arguments to the
	function.
	(store_constructor): Set up bitregion_end and add
	gcc_unreachable to fields that have either non-constant size
	or (and) offset.
	* gcc.dg/tree-ssa/pr78428.c: New test.

From-SVN: r243610
2016-12-13 15:26:14 +00:00
Janus Weil
e4e659b947 re PR fortran/78737 ([OOP] linking error with deferred, undefined user-defined derived-type I/O)
2016-12-13  Janus Weil  <janus@gcc.gnu.org>
	    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/78737
	* gfortran.h (gfc_find_typebound_dtio_proc): New prototype.
	* interface.c (gfc_compare_interfaces): Whitespace fix.
	(gfc_find_typebound_dtio_proc): New function.
	(gfc_find_specific_dtio_proc): Use it. Improve error recovery.
	* trans-io.c (get_dtio_proc): Implement polymorphic calls to DTIO
	procedures.

2016-12-13  Janus Weil  <janus@gcc.gnu.org>
	    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/78737
	* gfortran.dg/dtio_19.f90: New test case.

Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>

From-SVN: r243609
2016-12-13 15:28:17 +01:00
Marek Polacek
68a08b7792 tree-data-ref.c (compute_overlap_steps_for_affine_univar): Change parameters' type from int to HOST_WIDE_INT.
* tree-data-ref.c (compute_overlap_steps_for_affine_univar): Change
	parameters' type from int to HOST_WIDE_INT.
	(compute_overlap_steps_for_affine_1_2): Change parameters' type from
	int to HOST_WIDE_INT.
	(build_classic_dist_vector_1): Likewise.
	(add_multivariate_self_dist): Likewise.

From-SVN: r243607
2016-12-13 14:19:12 +00:00
Michael Matz
9042295c44 Fix pr78725
PR tree-optimization/78725
	* tree-ssa-loop-split.c (split_at_bb_p): Check for overflow and
	at correct use point.

testsuite/
	PR tree-optimization/78725
	* gcc.dg/pr78725.c: New test.
	* gcc.dg/pr78725-2.c: New test.

From-SVN: r243606
2016-12-13 14:14:41 +00:00
Martin Liska
5594a028fe Rename BUILT_IN_ASAN_CLOBBER_N to
* asan.c (asan_expand_mark_ifn): Use renamed
	BUILT_IN_ASAN_{UN}CLOBBER_N to BUILT_IN_ASAN_{UN}POISON_STACK_MEMORY.
	* sanitizer.def: Likewise.

From-SVN: r243605
2016-12-13 13:33:35 +00:00
James Greenhalgh
3ffead7761 [Patch Doc] Update documentation for __fp16 type
gcc/

	* doc/extend.texi (Half-Precision): Update to document current
	compiler behaviour.

From-SVN: r243602
2016-12-13 10:43:02 +00:00
James Greenhalgh
87d5619ead [Patch doc] Document _Float16 availability on ARM/AArch64
gcc/

	* doc/extend.texi (Floating Types): Document availability of
	_Float16 on ARM/AArch64.

From-SVN: r243601
2016-12-13 10:40:32 +00:00
Richard Biener
30fec2f9bf re PR tree-optimization/78699 (ICE (segfault) on powerpc64le-linux-gnu (memory-hog))
2016-12-13  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/78699
	* tree-vect-data-refs.c (vect_analyze_group_access_1): Limit
	group size.

From-SVN: r243599
2016-12-13 09:19:19 +00:00
Richard Biener
6182121c12 re PR tree-optimization/78742 (internal compiler error: in int_cst_value, at tree.c:10782)
2016-12-13  Richard Biener  <rguenther@suse.de>

	PR middle-end/78742
	* tree.c (cst_and_fits_in_hwi): Look if the actual value fits.
	* tree-object-size.c (compute_builtin_object_size): Use
	tree_fits_shwi_p.
	* tree-data-ref.c (initialize_matrix_A): Remove excess assert.

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

From-SVN: r243598
2016-12-13 09:17:42 +00:00
Martin Liska
56b7aede91 Add pretty printer for ASAN_MARK and add a helper fn
* asan.c (asan_mark_poison_p): Remove.
	(asan_mark_p): New function.
	(transform_statements): Use the function.
	(asan_expand_mark_ifn): Do not use masked enum.
	* asan.h (enum asan_mark_flags): Declare it via a macro.
	* gimple-pretty-print.c (dump_gimple_call_args): Dump first
	argument of ASAN_MARK.
	* gimplify.c (build_asan_poison_call_expr): Use new enum values.
	(asan_poison_variable): Likewise.
	* gcc.dg/asan/use-after-scope-goto-1.c: Update first argument of
	scanned pattern ASAN_MARK.
	* gcc.dg/asan/use-after-scope-goto-2.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.

From-SVN: r243597
2016-12-13 09:14:47 +00:00
Jakub Jelinek
cd6d518b29 re PR ipa/77905 (ICE at -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in ipa_comdats, at ipa-comdats.c:352))
PR ipa/77905
	* ipa-pure-const.c (cdtor_p): Return true for
	DECL_STATIC_{CON,DE}STRUCTOR even when it is
	DECL_LOOPING_CONST_OR_PURE_P.

	* g++.dg/ipa/pr77905.C: New test.

From-SVN: r243596
2016-12-13 09:48:45 +01:00
Jakub Jelinek
816f431440 re PR c++/78761 (C++14, compiler generate mangled name that can not be demangled)
PR c++/78761
	* cp-demangle.c (cplus_demangle_type): Demangle Dc as decltype(auto).
	* testsuite/demangle-expected: Add test for decltype(auto).

From-SVN: r243593
2016-12-13 07:16:05 +01:00
GCC Administrator
4de3788411 Daily bump.
From-SVN: r243588
2016-12-13 00:16:23 +00:00
Jakub Jelinek
1697df8c99 re PR tree-optimization/78777 (ICE in mark_reachable_handlers, at tree-eh.c:3823 (aarch64-linux-gnu))
PR tree-optimization/78777
	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge,
	insert_initializers): Use stmt_ends_bb_p instead of is_ctrl_stmt.

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

From-SVN: r243584
2016-12-12 23:02:52 +01:00
Jakub Jelinek
27ec22668f re PR other/78766 (GCC Awk scripts use the non-POSIX /^{/ regex)
PR other/78766
	* opt-functions.awk (opt_args): Use [{] instead of { in regexps.
	Formatting fix.

From-SVN: r243583
2016-12-12 23:01:41 +01:00
Martin Sebor
573aa7d4b7 PR middle-end/78622 - -Wformat-length/-fprintf-return-value incorrect with overflow/wrapping
gcc/ChangeLog:

	PR middle-end/78622
	PR middle-end78606
	* gimple-ssa-sprintf.c (min_bytes_remaining): Use res.knownrange
	rather than res.bounded.
	(get_width_and_precision): Set precision to -1 when negative.
	(adjust_range_for_overflow): New function.
	(format_integer): Correct the handling of the space, plus, and pound
	flags, and the special case of zero precision.
	Always set res.bounded to true unless either precision or width
	is specified and unknown.
	Call adjust_range_for_overflow.
	Avoid use zero as the shortest value when precision is specified
	but unknown.
	(format_directive): Remove vestigial quoting.  Always inform of
	argument value or range when it's available.
	(add_bytes): Correct the computation of boundrange used to
	decide whether a warning is of a "maybe" or "defnitely" kind.

gcc/testsuite/ChangeLog:

	PR middle-end/78622
	PR middle-end78606
	* gcc.c-torture/execute/pr78622.c: New test.
	* gcc.dg/tree-ssa/builtin-sprintf-2.c: Remove "benign" undefined
	behavior inadvertently introduced in a previous commit.  Tighten
	up final checking.
	* gcc.dg/tree-ssa/builtin-sprintf-5.c: Rename macros for clarity.
	Add test cases.
	* gcc.dg/tree-ssa/builtin-sprintf-6.c: Add test cases.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-5.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Remove xfails and
	add a final optimization check.
	* gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases.
	* gcc.dg/tree-ssa/pr78622.c: New test.

From-SVN: r243582
2016-12-12 14:56:22 -07:00
Janus Weil
068b961b6a re PR fortran/78392 (ICE in gfc_trans_auto_array_allocation, at fortran/trans-array.c:5979)
2016-12-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78392
	* expr.c (gfc_is_constant_expr): Specification functions are not
	compile-time constants. Update documentation (add reference to F08
	standard), add a FIXME.
	(external_spec_function): Add reference to F08 standard.
	* resolve.c (resolve_fl_variable): Ditto.

2016-12-12  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78392
	* gfortran.dg/constant_shape.f90: New test case.

From-SVN: r243580
2016-12-12 19:54:54 +01:00
Dominik Vogt
e4d6040625 combine: Handle mode expanding zero_extracts in change_zero_ext.
Example:

  (zero_extract:DI (reg:SI)
                   (const_int 24)
                   (const_int 0))

-->

  (and:DI (subreg:DI (lshiftrt:SI (reg:SI) (const_int 8))
                     0)
          (const_int 16777215))


2016-12-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* combine.c (change_zero_ext): Handle mode expanding zero_extracts.

From-SVN: r243578
2016-12-12 19:23:48 +01:00
Marek Polacek
fe366b8715 re PR c++/78647 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error: tree check: expected tree_list, have error_mark in get_attribute_name, at attribs.c:664))
PR c++/78647
	* c-common.c (attribute_fallthrough_p): Return false for
	error_mark_node.

	* g++.dg/parse/error58.C: New.

From-SVN: r243575
2016-12-12 17:58:00 +00:00
David Malcolm
470a60b2c4 re PR preprocessor/78680 (ICE in get_substring_ranges_for_loc, at input.c:1398)
Fix for PR preprocessor/78680

PR preprocessor/78680 identifies a crash when attempting to issue
a -Wformat warning, where the format string includes a string token
split across multiple physical source lines via backslash-continued
lines.

The issue is that libcpp is generating bogus range information for
such tokens.

For example, in:

void fn1() {
  __builtin_printf("\
     %ld.\n\
        2\n"); };

the range of the string token is printed as:

   __builtin_printf("\
                    ^~

whereas the range ought to be:

  __builtin_printf("\
                   ^~
     %ld.\n\
     ~~~~~~~
        2\n"); };
        ~~~~

The root cause is that the line notes expressing the update
of the buffer in lex.c aren't yet updated when the end-point of
the token is computed

3095	    tok_range.m_finish
3096	      = linemap_position_for_column (pfile->line_table,
3097					     CPP_BUF_COLUMN (buffer, buffer->cur));

so that the physical line is still regarded as that of the start
of the token, and, where CPP_BUF_COLUMN uses (BUF)->line_base,
line_base is still the location of the first physical line in the
and hence the column information is too large (as if it were the
offset in the *logical* line).

(the printed range is somewhat misleading; the actual buggy range
extends beyond the "\ in the line, but within diagnostic-show-locus.c
layout::print_annotation_line only prints up to the xbound set by
layout::print_source_line and so truncates most of the buggy range).

The fix is to ensure that line notes are handled before calculating
the end-point of the token range.

This leads to the range for the string token being correctly
computed, as:

  __builtin_printf("\
                   ^~
     %ld.\n\
     ~~~~~~~
        2\n"); };
        ~~~~

and this leads to get_substring_ranges_for_loc failing gracefully,
rather than crashing.

gcc/testsuite/ChangeLog:
	PR preprocessor/78680
	* gcc.dg/format/pr78680.c: New test case.
	* gcc.dg/plugin/diagnostic-test-expressions-1.c
	(test_multiline_token): New function.
	* gcc.dg/plugin/diagnostic-test-string-literals-1.c
	(test_backslash_continued_logical_lines): New function.

libcpp/ChangeLog:
	PR preprocessor/78680
	* lex.c (_cpp_lex_direct): Ensure line notes are processed before
	computing the end-point of the token.

From-SVN: r243567
2016-12-12 17:37:48 +00:00
Nathan Sidwell
8e09a726e6 re PR other/78252 (C++ demangler crashes with infinite recursion with lambda (auto))
libiberty/
	PR c++/78252
	* cp-demangle.c (struct d_print_info): Add is_lambda_arg field.
	(d_print_init): Initialize it.
	(d_print_comp_inner) <DEMANGLE_COMPONENT_TEMPLATE_PARAM>: Check
	is_lambda_arg for auto.
	<DEMANGLE_COMPONENT_REFERENCE,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE>: Skip smashing check when
	is_lambda_arg.
	<DEMANGLE_COMPONENT_LAMBDA>: Increment is_lambda_arg around arg
	printing.
	* testsuite/demangle-expected: Add lambda auto mangling cases.

	gcc/testsuite/
	PR c++/78252
	* g++.dg/cpp1y/lambda-mangle-1.C: New.

From-SVN: r243566
2016-12-12 17:00:37 +00:00
Uros Bizjak
b8cab8a549 re PR target/78738 (ICE in extract_insn, at recog.c:2311)
PR target/78738
	* config/i386/i386.h (X87_ENABLE_ARITH): Also enable for
	flag_unsafe_math_optimizations.
	(X87_ENABLE_FLOAT): Ditto.

testsuite/ChangeLog:

	PR target/78738
	* gcc.target/i386/pr78738.c: New test.

From-SVN: r243559
2016-12-12 17:02:28 +01:00
Kyrylo Tkachov
39c429372b [libstdc++][testsuite] XFAIL tests relying on long double-to-string conversions on broken newlib
* lib/target-supports.exp
    (check_effective_target_newlib_broken_long_double_io): New check.
    (check_effective_target_frexpl): Likewise.

    * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
    XFAIL run if newlib_broken_long_double_io.
    * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc:
    Likewise.
    * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc:
    Likewise.
    * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
    Likewise.

From-SVN: r243558
2016-12-12 15:47:47 +00:00
Jonathan Wakely
1c43384234 Remove stray character at end of dg-do directive
* testsuite/experimental/filesystem/operations/is_empty.cc:
	Remove stray character at end of dg-do directive.

From-SVN: r243555
2016-12-12 14:32:23 +00:00
Marek Polacek
3071bfa9c3 re PR middle-end/78716 (ICE in gimplify_va_arg_expr, at gimplify.c:12650 (i686-linux-gnu))
PR middle-end/78716
	* gimplify.c (gimplify_va_arg_expr): Don't require ADDR_EXPR for
	Case 1; check POINTER_TYPE_P instead.

	* g++.dg/other/vararg-5.C: New.

From-SVN: r243553
2016-12-12 13:57:32 +00:00
Rainer Orth
66dbcf2d4d Disable hwcaps on libgfortran
libgfortran:
	* configure.ac: Call GCC_CHECK_LINKER_HWCAP.
	* Makefile.am (libgfortran_la_LDFLAGS): Add HWCAP_LDFLAGS.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

	config:
	* hwcaps.m4: New file.

	libitm:
	* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
	* aclocal.m4: Regenerate.
	* configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
	LIBITM_CHECK_LINKER_HWCAP.

From-SVN: r243552
2016-12-12 13:40:21 +00:00
Bernd Schmidt
fba1216545 re PR rtl-optimization/78669 (ICE: in combine_and_move_insns, at ira.c:3665 with -Os -fno-tree-ter -mavx512bw)
PR rtl-optimization/78669
	* ira.c (combine_and_move_insns): When deleting an insn, clear the
	replace flag for all used regs in that insn.

	PR rtl-optimization/78669
	* gcc.target/i386/pr78669.c: New test.

From-SVN: r243551
2016-12-12 13:29:48 +00:00
Jonathan Wakely
8152d6eff6 Remove stray character at end of dg-do directive
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
	Remove stray character at end of dg-do directive.

From-SVN: r243548
2016-12-12 12:44:46 +00:00
George Spelvin
8ae1c2c129 lib1funcs.S (__ashrdi3): Fix typo from r243545.
libgcc/
	* config/avr/lib1funcs.S (__ashrdi3): Fix typo from r243545.

From-SVN: r243546
2016-12-12 11:57:33 +00:00
George Spelvin
a5b947fa66 lib1funcs.S (__ashldi3): Use __tmp_reg__ to restore R16 instead of push + pop.
libgcc/
	2016-12-12  George Spelvin  <linux@sciencehorizons.net>
	* config/avr/lib1funcs.S (__ashldi3): Use __tmp_reg__ to restore
	R16 instead of push + pop.
	(__ashrdi3, __lshrdi3): Same. And use __zero_reg__ for signs.

From-SVN: r243545
2016-12-12 11:25:51 +00:00
Rainer Orth
9e9034937b Fix g++.dg/debug/dwarf2/typedef1.C
* g++.dg/debug/dwarf2/typedef1.C: Adjust pattern for last change.

From-SVN: r243544
2016-12-12 11:12:17 +00:00
Toma Tabacu
4a584d050d MIPS: Upgrade to R2 for -mnan=2008 and -mabs=2008.
gcc/testsuite/

	* gcc.target/mips/mips.exp (mips-dg-options): Upgrade to R2 for
	-mnan=2008 and -mabs=2008.

From-SVN: r243542
2016-12-12 10:12:26 +00:00
Thomas Preud'homme
6e4e50f5cb Define arm_arch_core_flags in a single file
2016-12-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-opts.h: Move struct arm_arch_core_flag and
    arm_arch_core_flags to ...
    * common/config/arm/arm-common.c: There.

From-SVN: r243541
2016-12-12 09:39:51 +00:00
Eric Botcazou
5c2ee2f1fe constraints.md (T): Use special memory constraint.
* config/sparc/constraints.md (T): Use special memory constraint.
	(U): Minor tweak.
	(W): Add TARGET_ARCH64 test.
	* config/sparc/sparc.md (*movdi_insn_sp32): Replace 'W' with 'T'.
	(*movdf_insn_sp32): Likewise.
	(*mov<VM64:mode>_insn_sp32): Likewise.  Replace 'e' with 'f' in
	conjunction with offsettable memory references.

From-SVN: r243540
2016-12-12 07:56:39 +00:00