Commit Graph

160715 Commits

Author SHA1 Message Date
Peter Bergner
c321708801 re PR testsuite/80546 (FAIL: gcc.target/powerpc/bool3-p[78].c scan-assembler-not)
PR target/80546
	* config/rs6000/vsx.md (??r): New mode attribute.
	(*vsx_mov<mode>_64bit): Use it.
	(*vsx_mov<mode>_32bit): Likewise.

From-SVN: r258987
2018-03-30 19:52:01 -05:00
GCC Administrator
815b2fc444 Daily bump.
From-SVN: r258986
2018-03-31 00:16:14 +00:00
Martin Sebor
457442eb8a PR tree-optimization/84818 - integer_onep must not be used for i18n
gcc/ChangeLog:

	PR tree-optimization/84818
	* builtins.c (check_access): Use warning_n.

From-SVN: r258983
2018-03-30 15:04:06 -06:00
Jason Merrill
6d92f13104 Fix designated initializer for anonymous union.
* typeck2.c (process_init_constructor_record): Use
	init_list_type_node for the CONSTRUCTOR around an anonymous union
	designated initializer.

From-SVN: r258982
2018-03-30 16:08:51 -04:00
Jakub Jelinek
9d620422f5 re PR c++/84791 (ICE with broken OpenMP reduction clause)
PR c++/84791
	* semantics.c (finish_omp_reduction_clause): If
	OMP_CLAUSE_REDUCTION_PLACEHOLDER is error_mark_node, return true
	even if processing_template_decl.

	* g++.dg/gomp/pr84791.C: New test.

From-SVN: r258981
2018-03-30 20:38:36 +02:00
Bill Schmidt
85d367756d MAINTAINERS: Update my email address and disambiguate myself a bit from Will Schmidt.
2018-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>

	* MAINTAINERS: Update my email address and disambiguate myself
	a bit from Will Schmidt.

From-SVN: r258980
2018-03-30 16:17:24 +00:00
Paul Thomas
0ada0dc0c6 re PR fortran/84931 (Expansion of array constructor with constant implied-do-object goes sideways)
2018-03-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84931
	* simplify.c (gfc_convert_constant): Handle case of array
	constructors within an array that has no iterator and improve
	the conciseness of this section of code.

2018-03-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84931
	* gfortran.dg/array_constructor_53.f90: New test.

From-SVN: r258977
2018-03-30 12:33:49 +00:00
Thomas Koenig
13b5a6bf00 re PR fortran/85130 (Substrings out of range are not rejected)
2018-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85130
	* gfortran.dg/substr_6.f90: Remove illegal test for
	out-of-bounds substring.

From-SVN: r258976
2018-03-30 12:18:30 +00:00
Aaron Sawdey
37ca383f91 re PR target/83822 (trunk/gcc/config/rs6000/rs6000-string.c:970]: (style) Redundant condition)
2018-03-30  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/83822
	* config/rs6000/rs6000-string.c (expand_compare_loop): Fix redundant
	condition.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Fix redundant
	condition.

From-SVN: r258975
2018-03-30 07:17:31 -05:00
Thomas Koenig
cd6094bf7c re PR fortran/85111 (ICE in min_max_choose, at fortran/simplify.c:4884 (and others))
2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85111
	* array.c (gfc_resolve_character_array_constructor): Early
	exit for zero-size arrays.
	* simplify.c (simplify_transformation_to_array): Exit early
	if the result size is zero.
	(simplify_minmaxloc_to_array): Likewise.

2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85111
	* gfortran.dg/zero_sized_10.f90: New test.

Add ChangeLog entries for r258973.

From-SVN: r258974
2018-03-30 09:58:35 +00:00
Thomas Koenig
1832cbf890 re PR fortran/85111 (ICE in min_max_choose, at fortran/simplify.c:4884 (and others))
2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85111
	* array.c (gfc_resolve_character_array_constructor): Early
	exit for zero-size arrays.
	* simplify.c (simplify_transformation_to_array): Exit early
	if the result size is zero.
	(simplify_minmaxloc_to_array): Likewise.

2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85111
	* gfortran.dg/zero_sized_10.f90: New test.

From-SVN: r258973
2018-03-30 09:56:46 +00:00
Julia Koval
06be18e782 Enable tuning options for skylake-avx512.
gcc/
	PR target/84413
	* x86-tune.def (movx, partial_reg_dependency): Enable for
	m_SKYLAKE_AVX512.

From-SVN: r258972
2018-03-30 09:04:55 +02:00
GCC Administrator
9cffc5a73a Daily bump.
From-SVN: r258970
2018-03-30 00:16:24 +00:00
Joseph Myers
26b455d9dd * gcc.pot: Regenerate.
From-SVN: r258967
2018-03-30 00:06:47 +01:00
David Malcolm
62e98ef1a2 More #include suggestions (PR c++/84269)
PR c++/84269 reports a number of names in the C and C++ standard
libraries for which we don't yet offer #include fix-it hints.

This patch adds them (up to comment #9).

gcc/c-family/ChangeLog:
	PR c++/84269
	* known-headers.cc (get_stdlib_header_for_name): Add various names
	from <assert.h>, <string.h>, and <memory.h>; add more names from
	<stdio.h>.

gcc/cp/ChangeLog:
	PR c++/84269
	* name-lookup.c (get_std_name_hint): Add names from <memory>,
	<tuple>, and <utility>.

gcc/testsuite/ChangeLog:
	PR c++/84269
	* g++.dg/lookup/missing-std-include-6.C: New test.
	* g++.dg/lookup/missing-std-include.C: Add std::pair and
	std::tuple tests.
	* g++.dg/spellcheck-reswords.C: Expect a hint about <cstring>.
	* g++.dg/spellcheck-stdlib.C: Add tests for names in <cstdio>,
	<cstring>, <cassert>, and <cstdlib>.

From-SVN: r258966
2018-03-29 20:43:48 +00:00
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