Commit Graph

160500 Commits

Author SHA1 Message Date
Jason Merrill
1e2b90c4ac PR c++/85093 - too many template args with pack expansion.
* pt.c (coerce_template_parms): Keep pack expansion args that will
	need to be empty.

From-SVN: r258964
2018-03-29 15:38:41 -04:00
Jason Merrill
8de4a6749d * pt.c (build_non_dependent_expr): Propagate expr location.
From-SVN: r258963
2018-03-29 15:38:35 -04:00
Jason Merrill
e597f6822c PR c++/85060 - wrong-code with call to base member in template.
* search.c (any_dependent_bases_p): Check uses_template_parms
	rather than processing_template_decl.

From-SVN: r258962
2018-03-29 15:38:29 -04:00
Vladimir Makarov
28ed14605e re PR inline-asm/84985 (ICE in match_reload, at lra-constraints.c:1068)
2018-03-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR inline-asm/84985
	* lra-constraints.c (process_alt_operands): Move setting
	this_alternative_matches below.

2018-03-29  Vladimir Makarov  <vmakarov@redhat.com>

	PR inline-asm/84985
	* gcc.target/i386/pr84985.c: New.

From-SVN: r258961
2018-03-29 18:29:12 +00:00
David Malcolm
9fa1b6610b More underlining of bad arguments (PR c++/85110)
As of r256448, the C++ frontend underlines many bad arguments in its
diagnostics; those where perform_overload_resolution returns a
non-NULL candidate, but there's a failure in convert_like_real.

However, for the case where perform_overload_resolution fails, but
there's a single non-viable candidate, the error is diagnosed by
cp_build_function_call_vec, and that currently doesn't underline
the bad argument:

$ cat test.cc
void callee (int one, const char **two, int three);

void
caller (const char *fmt)
{
  callee (1, fmt, 3);
}

We emit:

$ g++ test.cc
test.cc: In function 'void caller(const char*)':
test.cc:6:20: error: cannot convert 'const char*' to 'const char**' for argument '2' to 'void callee(int, const char**, int)'
   callee (1, fmt, 3);
                    ^

It's going through convert_for_assignment, and
implicitly using input_location.

This patch updates convert_for_assignment for this case, using
an EXPR_LOCATION if there is one, or falling back to input_location
otherwise, underlining the argument in question:

test.cc: In function 'void caller(const char*)':
test.cc:6:14: error: cannot convert 'const char*' to 'const char**' for argument '2' to 'void callee(int, const char**, int)'
   callee (1, fmt, 3);
              ^~~

gcc/cp/ChangeLog:
	PR c++/85110
	* typeck.c (convert_for_assignment): When complaining due to
	conversions for an argument, attempt to use the location of the
	argument.

gcc/testsuite/ChangeLog:
	PR c++/85110
	* g++.dg/diagnostic/param-type-mismatch-2.C: New test.

From-SVN: r258957
2018-03-29 14:43:01 +00:00
H.J. Lu
059cc8aca7 i386: Enable AVX/AVX512 features only if supported by OSXSAVE
Enable AVX and AVX512 features only if their states are supported by
OSXSAVE.

	PR target/85100
	* config/i386/cpuinfo.c (XCR_XFEATURE_ENABLED_MASK): New.
	(XSTATE_FP): Likewise.
	(XSTATE_SSE): Likewise.
	(XSTATE_YMM): Likewise.
	(XSTATE_OPMASK): Likewise.
	(XSTATE_ZMM): Likewise.
	(XSTATE_HI_ZMM): Likewise.
	(XCR_AVX_ENABLED_MASK): Likewise.
	(XCR_AVX512F_ENABLED_MASK): Likewise.
	(get_available_features): Enable AVX and AVX512 features only
	if their states are supported by OSXSAVE.

From-SVN: r258954
2018-03-29 06:14:06 -07:00
Martin Liska
c7cb6c1788 Documentation tweaks.
2018-03-29  Martin Liska  <mliska@suse.cz>

        PR lto/84995.
        * doc/invoke.texi: Document how LTO works with debug info.
        Describe auto-load support of binutils.  Mention 'x86-64'
        as valid option value of -march option.

From-SVN: r258953
2018-03-29 13:02:23 +00:00
Jakub Jelinek
036c9eb5d9 re PR c++/85108 (Incorrect warning for constexpr lambda with -Wunused-but-set-variable)
PR c++/85108
	* g++.dg/warn/Wunused-var-31.C: New test.

From-SVN: r258952
2018-03-29 13:18:04 +02:00
Jakub Jelinek
972e1985d4 * config/i386/sse.md (<avx512>_blendm<mode>): Use <sseintprefix>.
From-SVN: r258951
2018-03-29 12:38:51 +02:00
Jakub Jelinek
063700a6d2 re PR c/85094 (-g with any optimization suppresses -Wduplicated-branches)
PR c/85094
	* fold-const.c (operand_equal_p): Handle DEBUG_BEGIN_STMT.
	For STATEMENT_LIST, pass down OEP_LEXICOGRAPHIC and maybe
	OEP_NO_HASH_CHECK for recursive call, to avoid exponential
	checking.

	* c-c++-common/Wduplicated-branches-14.c: New test.

From-SVN: r258950
2018-03-29 12:37:58 +02:00
Paolo Carlini
52df8bd933 re PR c++/84606 (internal compiler error: Segmentation fault (enclosing_instantiation_of()))
2018-03-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84606
	* g++.dg/cpp0x/pr84606.C: New.

From-SVN: r258947
2018-03-29 08:43:43 +00:00
GCC Administrator
dd3851999b Daily bump.
From-SVN: r258946
2018-03-29 00:16:22 +00:00
Peter Bergner
eb581af430 re PR target/84912 (__builtin_divde* produce Internal Compiler Error when compiled -m32)
PR target/84912
	* config/rs6000/rs6000.h (RS6000_BTM_POWERPC64): New define.
	(RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64.
	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add support
	for RS6000_BTM_POWERPC64.
	(rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64
	(rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64.
	* config/rs6000/rs6000-builtin.def (BU_P7_POWERPC64_MISC_2): New macro
	definition.
	(DIVDE): Use it.
	(DIVDEU): Likewise.

From-SVN: r258943
2018-03-28 19:06:31 -05:00
Carl Love
604e36ed96 revert: rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
gcc/ChangeLog:

2018-03-20 Carl Love  <cel@us.ibm.com>

	Revert
	2017-09-27  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro.
	(FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins.
	* config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the
	fctiw instruction.

gcc/testsuite/ChangeLog:

2018-03-20  Carl Love  <cel@us.ibm.com>

	Revert
	2017-09-27  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/builtin-fctid-fctiw-runnable.c: New test file
	for the __builtin_fctid and __builtin_fctiw.

From-SVN: r258942
2018-03-28 23:08:16 +00:00
Bill Schmidt
69c94135fc xmmintrin.h (_mm_max_pi16): Use __vector __bool instead of __vector bool.
2018-03-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/xmmintrin.h (_mm_max_pi16): Use __vector __bool
	instead of __vector bool.
	(_mm_max_pu8): Likewise.
	(_mm_min_pi16): Likewise.

From-SVN: r258936
2018-03-28 20:40:36 +00:00
Mikael Morin
9b0588e936 re PR fortran/69497 (ICE in gfc_free_namespace, at fortran/symbol.c:3701)
PR fortran/69497
	* symbol.c (gfc_symbol_done_2): Start freeing namespaces
	from the root.
	(gfc_free_namespace): Restore assert (revert r258839).

From-SVN: r258935
2018-03-28 20:12:55 +00:00
Peter Bergner
e8b8462de6 Fix typo in last ChangeLog entry
From-SVN: r258934
2018-03-28 15:10:18 -05:00
Peter Bergner
1429da42b8 re PR target/84912 (__builtin_divde* produce Internal Compiler Error when compiled -m32)
gcc/
	PR target/84912
	* config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion.
	(DIVWEUO): Likewise.
	(DIVDEO): Likewise.
	(DIVDEUO): Likewise.
	* config/rs6000/rs6000.c (builtin_function_type): Remove support for
	DIVWEUO and DIVDEUO.
	* config/rs6000/rs6000.md (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs.
	(UNSPEC_DIV_EXTEND): Remove deleted unspecs.
	(div_extend): Likewise.
	* doc/extend.texi (__builtin_divweo): Remove documention for deleted
	builtin function.
	(__builtin_divweuo): Likewise.
	(__builtin_divdeo): Likewise.
	(__builtin_divdeuo): Likewise.

gcc/testsuite/
	PR target/84912
	* gcc.target/powerpc/extend-divide-1.c (div_weo): Remove test for
	deleted builtin function.
	(div_weuo): Likewise.
	* gcc.target/powerpc/extend-divide-2.c (div_deo): Likewise.
	(div_deuo): Likewise.

From-SVN: r258933
2018-03-28 15:09:02 -05:00
Paolo Carlini
427d369ce1 re PR c++/85028 (ICE on invalid C++ code: in tsubst_default_argument, at cp/pt.c:12340)
/cp
2018-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/85028
	* pt.c (tsubst_default_argument): Early return if the type of the
	parameter is erroneous.

/testsuite
2018-03-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/85028
	* g++.dg/other/default13.C: New.

From-SVN: r258932
2018-03-28 19:21:41 +00:00
Jakub Jelinek
0a5c6d78b7 re PR target/85095 (worse code generated)
PR target/85095
	* config/i386/i386.md (*add<mode>3_carry_0, *addsi3_carry_zext_0,
	*sub<mode>3_carry_0, *subsi3_carry_zext_0): New patterns.

	* gcc.target/i386/pr85095-1.c: New test.
	* gcc.target/i386/pr85095-2.c: New test.
	* gcc.c-torture/execute/pr85095.c: New test.

From-SVN: r258931
2018-03-28 21:16:50 +02:00
Jakub Jelinek
30a2c10eb6 re PR middle-end/82004 (SPEC CPU2017 628.pop2_s miscompare)
PR tree-optimization/82004
	* gimple-match-head.c (optimize_pow_to_exp): New function.
	* match.pd (pow(C,x) -> exp(log(C)*x)): Wrap with #if GIMPLE.
	Don't fold to exp if optimize_pow_to_exp is false.

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

From-SVN: r258930
2018-03-28 21:15:39 +02:00
Martin Liska
cefc09063e Fix typos (PR other/84819).
2018-03-28  Martin Liska  <mliska@suse.cz>

	PR other/84819
	* calls.c (initialize_argument_information): Fix trailing space.
	* common.opt: Fix typo and provide better explanation for
	-fsanitize-coverage option.
	* config/i386/i386.opt: Fix typo.

From-SVN: r258925
2018-03-28 14:51:09 +00:00
Jakub Jelinek
d838c2d5a8 Fix wrong use-after-scope sanitization for omp variable (PR sanitizer/85081).
2018-03-28  Jakub Jelinek  <jakub@redhat.com>
	    Martin Liska  <mliska@suse.cz>

	PR sanitizer/85081
	* gimplify.c (asan_poison_variable): Don't do the check for
	gimplify_omp_ctxp here.
	(gimplify_decl_expr): Do it here.
	(gimplify_target_expr): Likewise.
2018-03-28  Jakub Jelinek  <jakub@redhat.com>
	    Martin Liska  <mliska@suse.cz>

	PR sanitizer/85081
	* g++.dg/asan/pr85081.C: New test.

Co-Authored-By: Martin Liska <mliska@suse.cz>

From-SVN: r258924
2018-03-28 14:45:21 +00:00
Martin Liska
a48b4234dd Do not call chkp_type_bounds_count if MPX is not enabled (PR target/84988).
2018-03-28  Martin Liska  <mliska@suse.cz>

	PR target/84988
	* config/i386/i386.c (ix86_function_arg_advance): Do not call
	chkp_type_bounds_count if MPX is not enabled.

From-SVN: r258923
2018-03-28 14:22:27 +00:00
Chung-Ju Wu
15c193e2f5 [NDS32] Adjust BRANCH_COST to prevent too much jump when compile with -Os.
gcc/
	* config/nds32/nds32.h (BRANCH_COST): Adjust cost.

From-SVN: r258921
2018-03-28 13:26:42 +00:00
Jakub Jelinek
7ee4f6f3ec gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
* gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
	* ioparm.def (IOPARM_dt_default_exp): Rename to ...
	(IOPARM_dt_dec_ext): ... this.
	* trans-io.c (build_dt): Adjust for default_exp renaming to
	dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
	* io.c (match_io): Likewise.

	* io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ...
	(IOPARM_DT_DEC_EXT): ... this.
	* io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP
	renaming to IOPARM_DT_DEC_EXT.
	(read_real): Likewise.
	* io/read.c (read_f): Likewise.

From-SVN: r258920
2018-03-28 13:59:06 +02:00
Alexandre Oliva
5b1a758d26 [PR c++/84789] adjust testcase for -fconcepts
When compiling with -fconcepts,
cp_parser_template_declaration_after_export calls
cp_parser_template_introduction and that preparses qualified-ids not
preceded by typename in such a way that, when we get to
cp_parser_parse_and_diagnose_invalid_type_name and then
cp_parser_diagnose_invalid_type_name, the nested name specifier no
longer carries the previous template-dependent context, so we don't
stand a chance to suggest the use of 'typename' any more.  Thus,
tolerate in the testcase the poorer error messages we get.

for  gcc/testsuite/ChangeLog

	PR c++/84789
	* g++.dg/template/pr84789.C: Adjust for testing with
	-fconcepts too.

From-SVN: r258915
2018-03-28 05:05:30 +00:00
Alexandre Oliva
977bc3ee11 [PR c++/84973] don't defer output of uninstantiated templates
When an anon struct gets a name through a typedef, we reset its
linkage and that of its members.  Member functions may get vague
linkage, which schedules them for deferred output, but we don't want
to add them to the queue if they're uninstantiated templates,
e.g. because the enclosing function is a template.  They will be added
as needed when the enclosing template is instantiated.


for  gcc/cp/ChangeLog

	PR c++/84973
	* decl2.c (note_vague_linkage_fn): Don't defer uninstantiated
	templates.

for  gcc/testsuite/ChangeLog

	PR c++/84973
	* g++.dg/template/pr84973.C: New.
	* g++.dg/template/pr84973-2.C: New.
	* g++.dg/template/pr84973-3.C: New.

From-SVN: r258914
2018-03-28 05:05:14 +00:00
Alexandre Oliva
04acc378eb [PR c++/84968] reject stmt-exprs in noexcept constexprs
We reject extended statement-expressions in template parameters, so we
might as well reject them in constant expressions used in noexcept
specifications.

for  gcc/cp/ChangeLog

	PR c++/84968
	* tree.c (strip_typedefs_expr): Reject STATEMENT_LISTs.

for  gcc/testsuite/ChangeLog

	PR c++/84968
	* g++.dg/eh/pr84968.C: New.

From-SVN: r258913
2018-03-28 05:04:59 +00:00
GCC Administrator
d80bb039e6 Daily bump.
From-SVN: r258912
2018-03-28 00:16:22 +00:00
Michael Meissner
566a2fa7e8 re PR target/84914 (PowerPC complex multiply/divide calls the wrong function when -mabi=ieeelongdouble)
[gcc]
2018-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/84914
	* config/rs6000/rs6000.c (create_complex_muldiv): New helper
	function to create the function decl for complex long double
	multiply and divide for -mabi=ieeelongdouble.
	(init_float128_ieee): Call it.

[gcc/testsuite]
2018-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/84914
	* gcc.target/powerpc/mulkc-2.c: New tests to make sure complex
	long double multiply/divide uses the correct function.
	* gcc.target/powerpc/mulkc-3.c: Likewise.
	* gcc.target/powerpc/divkc-2.c: Likewise.
	* gcc.target/powerpc/divkc-3.c: Likewise.

From-SVN: r258908
2018-03-27 23:14:22 +00:00
Joseph Myers
fc5dbf7c54 * es.po: Update.
From-SVN: r258906
2018-03-27 23:31:08 +01:00
Paolo Carlini
f7d9ed11b2 re PR c++/85067 (ICE with volatile parameter in defaulted copy-constructor)
/cp
2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/85067
	* method.c (defaulted_late_check): Partially revert r253321 changes,
	do not early return upon error.

/testsuite
2018-03-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/85067
	* g++.dg/cpp0x/defaulted51.C: New.
	* g++.dg/cpp0x/constexpr-68754.C: Adjust.

From-SVN: r258904
2018-03-27 21:19:25 +00:00
Jakub Jelinek
153dba6cbb re PR c++/85077 (V[248][SD]F abs not optimized to)
PR c++/85077
	* cp-gimplify.c (cp_fold) <case CONSTRUCTOR>: For ctors with vector
	type call fold to generate VECTOR_CSTs when possible.

	* g++.dg/ext/vector35.C: New test.

From-SVN: r258903
2018-03-27 22:00:56 +02:00
Jakub Jelinek
a7dea61705 re PR c++/85061 (ICE with __builtin_offsetof applied to static member)
PR c++/85061
	* c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
	get_base_address of the second operand is a VAR_P, rather than the
	operand itself, and use gcc_checking_assert instead of gcc_assert.

	* g++.dg/ext/builtin-offsetof3.C: New test.

From-SVN: r258902
2018-03-27 21:59:30 +02:00
Jakub Jelinek
dc442cef60 re PR c++/85076 (ICE with invalid template used as lambda argument)
PR c++/85076
	* tree.c (cp_build_reference_type): If to_type is error_mark_node,
	return it right away.

	* g++.dg/cpp1y/pr85076.C: New test.

From-SVN: r258901
2018-03-27 21:58:30 +02:00
Thomas Koenig
ef22816c3b re PR fortran/85084 (ICE: out of memory allocating 18446744073709551600 bytes ...)
2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85084
	* frontend-passes.c (gfc_run_passes): Do not run front-end
	optimizations if a previous error occurred.

2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85084
	* gfortran.dg/matmul_rank_1.f90: New test.

From-SVN: r258900
2018-03-27 18:42:02 +00:00
Thomas Koenig
13a7688fb9 re PR fortran/85083 (ICE in gfc_convert_to_structure_constructor, at fortran/primary.c:2915)
2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Harald Anlauf  <anlauf@gmx.de>

	PR fortran/85083
	* primary.c (gfc_convert_to_structure_constructor): Check
	conformance of argument types in structure constructor.

2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Harald Anlauf  <anlauf@gmx.de>

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


Co-Authored-By: Harald Anlauf <anlauf@gmx.de>

From-SVN: r258899
2018-03-27 17:28:35 +00:00
Volker Reichelt
d555040fc4 search.c (check_final_overrider): Use inform instead of error for the diagnostics of the overridden functions.
2018-03-27  Volker Reichelt  <v.reichelt@netcologne.de>

        * search.c (check_final_overrider): Use inform instead of error
        for the diagnostics of the overridden functions.  Tweak wording.

        * g++.dg/cpp0x/defaulted2.C: Use dg-message instead of dg-error
        for the diagnostics of overridden functions.  Adjust for new wording.
        * g++.dg/cpp0x/implicit1.C: Likewise.
        * g++.dg/cpp0x/override1.C: Likewise.
        * g++.dg/cpp1y/auto-fn18.C: Likewise.
        * g++.dg/eh/shadow1.C: Likewise.
        * g++.dg/inherit/covariant12.C: Likewise.
        * g++.dg/inherit/covariant14.C: Likewise.
        * g++.dg/inherit/covariant15.C: Likewise.
        * g++.dg/inherit/covariant16.C: Likewise.
        * g++.dg/inherit/covariant22.C: Likewise.
        * g++.dg/inherit/crash3.C: Likewise.
        * g++.dg/inherit/error2.C: Likewise.
        * g++.dg/template/crash100.C: Likewise.
        * g++.old-deja/g++.eh/spec6.C: Likewise.
        * g++.old-deja/g++.mike/p811.C: Likewise.
        * g++.old-deja/g++.other/virtual11.C: Likewise.
        * g++.old-deja/g++.other/virtual4.C: Likewise.

From-SVN: r258898
2018-03-27 17:21:20 +00:00
H.J. Lu
6514899f31 i386: Insert ENDBR to trampoline for -fcf-protection=branch -mibt
When -fcf-protection=branch -mibt are used, we need to insert ENDBR
to trampoline.  TRAMPOLINE_SIZE is creased by 4 bytes to accommodate
4-byte ENDBR instruction.

gcc/

	PR target/85044
	* config/i386/i386.c (ix86_trampoline_init): Insert ENDBR for
	-fcf-protection=branch -mibt.
	* config/i386/i386.h (TRAMPOLINE_SIZE): Increased by 4 bytes.

gcc/testsuite/

	PR target/85044
	* gcc.target/i386/pr85044.c: New test.

From-SVN: r258897
2018-03-27 10:18:51 -07:00
Martin Sebor
ae0c28bb27 PR testsuite/83462 - c-c++-common/Warray-bounds-3.c fails on arm-none-eabi
gcc/testsuite/ChangeLog:
	* c-c++-common/Warray-bounds-4.c: Disable assertion for targets
	other than x86.

From-SVN: r258896
2018-03-27 11:08:41 -06:00
Kyrylo Tkachov
f84b3c0bb8 [AArch64] XFAIL gcc.target/aarch64/store_v2vec_lanes.c for ILP32
The test in question fails for ilp32. The initial analysis I did in the PR for it
is that for ILP32 we generate somewhat different address forms that we'd need to adjust aarch64_classify_address to catch.
Given the optimisation this test checks for was added for GCC 8 it is not a regression, and improving the codegen on ILP32
would be an enhancement rather than a fix. So Richi has asked for it to be marked as XFAIL on ILP32, which is what this
patch does.
Checked that the test still passes on LP64 and appears as XFAIL on -mabi=ilp32.

	PR target/83009
	* gcc.target/aarch64/store_v2vec_lanes.c: XFAIL for ilp32.

From-SVN: r258894
2018-03-27 16:52:10 +00:00
Ramana Radhakrishnan
974e8240c0 [Patch ARM] Fix PR target/81863
This has been in my patch stack for quite some time. The problem here
was that we weren't handling arm_word_relocations in
arm_valid_symbolic_address and is the surest fix for this
for GCC8 and GCC7.

Regression tested on arm-none-linux-gnueabihf . Applying to
trunk and backporting to GCC-7 in a day or so.

regards
Ramana

2018-03-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/81863
	* config/arm/arm.c (arm_valid_symbolic_address): Handle arm_word_relocations


2018-03-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/81863
	* gcc.target/arm/pr81863.c: New test.

From-SVN: r258886
2018-03-27 14:06:20 +00:00
Cesar Philippidis
59d2d23834 re PR target/85056 ([nvptx] wrong declaration of external arrays)
PR target/85056

	gcc/
	* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to
	extern array declarations.

	gcc/testsuite/
	* testsuite/gcc.target/nvptx/pr85056.c: New test.
	* testsuite/gcc.target/nvptx/pr85056a.c: New test.

From-SVN: r258885
2018-03-27 06:54:03 -07:00
Richard Biener
b36306e9bc re PR testsuite/82847 (gcc.dg/vect/slp-perm-9.c fail)
2018-03-27  Richard Biener  <rguenther@suse.de>

	PR testsuite/82847
	* lib/target-supports.exp (check_ssse3_available): New function.
	(check_effective_target_vect_perm_short): Enable for x86 if
	check_ssse3_available.

From-SVN: r258882
2018-03-27 13:26:04 +00:00
Richard Biener
c1bbe5b394 re PR middle-end/84067 (gcc.dg/wmul-1.c regression on aarch64 after r257077)
2018-03-27  Richard Biener  <rguenther@suse.de>

	PR middle-ed/84067
	* match.pd ((A * C) +- (B * C) -> (A+-B) * C): Guard with
	explicit single_use checks.

From-SVN: r258881
2018-03-27 13:23:15 +00:00
Richard Biener
18f5009ec8 re PR tree-optimization/85082 (ICE with -Ofast in vn_reference_insert_pieces, at tree-ssa-sccvn.c:2624)
2018-03-27  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/85082
	* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_for_pieces):
	Valueize the VUSE.

	* gfortran.dg/pr85082.f90: New testcase.

From-SVN: r258877
2018-03-27 12:13:55 +00:00
Chenghua Xu
7198b3c4fb umips-stroe16-2.c: Change "length = 2" to "l=2" in dg-final.
2018-03-27  Chenghua Xu  <paul.hua.gm@gmail.com>

    * gcc.target/mips/umips-stroe16-2.c: Change "length = 2"
    to "l=2" in dg-final.

From-SVN: r258876
2018-03-27 11:43:43 +00:00
Chenghua Xu
0d4ed3ebee fix-r4000-1.c: Delete "[^\n]+" in dg-final.
2018-03-27  Chenghua Xu  <paul.hua.gm@gmail.com>

    * gcc.target/mips/fix-r4000-1.c: Delete "[^\n]+" in dg-final.
    * gcc.target/mips/fix-r4000-2.c: Likewise.
    * gcc.target/mips/fix-r4000-3.c: Likewise.
    * gcc.target/mips/fix-r4000-4.c: Likewise.
    * gcc.target/mips/fix-r4000-5.c: Likewise.
    * gcc.target/mips/fix-r4000-6.c: Likewise.
    * gcc.target/mips/fix-r4000-7.c: Likewise.
    * gcc.target/mips/fix-r4000-8.c: Likewise.
    * gcc.target/mips/fix-r4000-9.c: Likewise.
    * gcc.target/mips/fix-r4000-10.c: Likewise.
    * gcc.target/mips/fix-r4000-7.c: Change dg-final
    "mulditi3_r4000" instead of "mulditi3".
    * gcc.target/mips/fix-r4000-8.c: Change dg-final
    "umulditi3_r4000" instead of "umulditi3".

From-SVN: r258875
2018-03-27 11:35:07 +00:00
Jakub Jelinek
8a5a37c031 re PR c++/85068 (ICE with invalid covariant return type hierarchy)
PR c++/85068
	* class.c (update_vtable_entry_for_fn): Don't ICE if base_binfo
	is NULL.  Assert if thunk_binfo is NULL then errorcount is non-zero.

	* g++.dg/inherit/covariant22.C: New test.

From-SVN: r258873
2018-03-27 13:02:08 +02:00