Commit Graph

159746 Commits

Author SHA1 Message Date
Jakub Jelinek
228868f532 tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for *DIV_EXPR and *MOD_EXPR.
* tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for
	*DIV_EXPR and *MOD_EXPR.

From-SVN: r257450
2018-02-07 13:53:31 +01:00
Tom de Vries
a0486b6514 [testsuite] Require alloca in gcc.dg/pr83844.c
2018-02-07  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/pr83844.c: Require effective target alloca.

From-SVN: r257447
2018-02-07 11:35:30 +00:00
Tom de Vries
45224bd082 [testsuite] Require global_constructor in gcc.dg/torture/pr83055.c
2018-02-07  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/torture/pr83055.c: Require effective target global_constructor.

From-SVN: r257446
2018-02-07 11:35:18 +00:00
H.J. Lu
81b58bfd0b Use -fcf-protection=return in cet-intrin-4.c
Since -fcf-protection requires both -mshstk and -mibt, use
-fcf-protection=return with -mshstk in cet-intrin-4.c.

	PR target/84243
	* gcc.target/i386/cet-intrin-4.c (dg-options): Use
	-fcf-protection=return.

From-SVN: r257445
2018-02-07 02:49:53 -08:00
H.J. Lu
6ad05bcc3e i386: Mask out the CF_SET bit for -fcf-protection check
Since ix86_option_override_internal sets the CF_SET bit in
flag_cf_protection and it can be called more than once via pragma,
we need to mask out the CF_SET bit when checking flag_cf_protection.

	PR target/84248
	* config/i386/i386.c (ix86_option_override_internal): Mask out
	the CF_SET bit when checking -fcf-protection.

From-SVN: r257444
2018-02-07 02:48:39 -08:00
Tom de Vries
c31bc4ac37 [openacc] Fix diff_type in expand_oacc_collapse_init
2018-02-07  Tom de Vries  <tom@codesourcery.com>

	PR libgomp/84217
	* omp-expand.c (expand_oacc_collapse_init): Ensure diff_type is large
	enough.

	* c-c++-common/goacc/pr84217.c: New test.
	* gfortran.dg/goacc/pr84217.f90: New test.

	* testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.

From-SVN: r257443
2018-02-07 10:37:55 +00:00
Jan Hubicka
26a823f03b * lto.c (register_resolution): Remove forgotten sanity check.
From-SVN: r257442
2018-02-07 10:20:03 +00:00
Richard Biener
e4c7306692 re PR tree-optimization/84204 ([graphite] ICE in set_codegen_error, at graphite-isl-ast-to-gimple.c:206)
2018-02-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84204
	* tree-chrec.c (chrec_fold_plus_1): Remove size limiting in
	this place.

	* gcc.dg/graphite/pr84204.c: New testcase.

	PR tree-optimization/84205
	* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Also
	special-case isl_ast_op_zdiv_r.

	* gcc.dg/graphite/pr84205.c: New testcase.

	PR tree-optimization/84223
	* graphite-scop-detection.c (gather_bbs::before_dom_children):
	Only add conditions from within the region.
	(gather_bbs::after_dom_children): Adjust.

	* gfortran.dg/graphite/pr84223.f90: New testcase.

From-SVN: r257441
2018-02-07 10:14:25 +00:00
Georg-Johann Lay
3924c9be0b re PR target/84209 ([avr] Don't split SP in split2)
PR target/84209
	* config/avr/avr.h (GENERAL_REGNO_P, GENERAL_REG_P): New macros.
	* config/avr/avr.md: Only post-reload split REG-REG moves if
	either register is REGERAL_REG_P.

From-SVN: r257440
2018-02-07 12:59:52 +03:00
Paolo Carlini
07a6816e61 re PR c++/71662 ([DR 1485] ICE on invalid C++11 code with unqualified name look up: in tsubst_copy, at cp/pt.c:14010)
2018-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/71662
	* g++.dg/cpp0x/scoped_enum7.C: New.

From-SVN: r257439
2018-02-07 09:35:10 +00:00
Christophe Lyon
f8e54f6426 [testsuite] Fix gcc.dg/cse_recip.c for AArch64 after r257181.
2018-02-07  Christophe Lyon <christophe.lyon@linaro.org>

	PR tree-optimization/83008
	* gcc.dg/cse_recip.c: Add -fno-tree-slp-vectorize.

From-SVN: r257438
2018-02-07 10:12:48 +01:00
Jakub Jelinek
40ff1a2d1d re PR tree-optimization/84235 (Miscompilation of floating point code by dom2)
PR tree-optimization/84235
	* tree-ssa-scopedtables.c
	(avail_exprs_stack::simplify_binary_operation): Fir MINUS_EXPR, punt
	if the subtraction is performed in floating point type where NaNs are
	honored.  For *DIV_EXPR, punt for ALL_FRACT_MODE_Ps where we can't
	build 1.  Formatting fix.

	* gcc.c-torture/execute/ieee/pr84235.c: New test.

From-SVN: r257437
2018-02-07 09:29:58 +01:00
Ian Lance Taylor
84c71bb8ec compiler: make single Btype for methods table of identical interface type
Normally we ensure to build a single Btype for identical types.
    We did not do this for methods table of identical interface
    types, however. If there are two identical interface type I, I2,
    they have the same Btype BI, but different Btypes for their
    methods tables, BM and BM2. From the backend's point of view
    only one of them is linked to BI. This can cause inconsitency
    in the backend's type system, like unresolved placeholder. This
    CL ensures we create a single Btype for methods table of
    identical interface type.
    
    Reviewed-on: https://go-review.googlesource.com/92436

From-SVN: r257436
2018-02-07 01:52:48 +00:00
GCC Administrator
95b88fd400 Daily bump.
From-SVN: r257435
2018-02-07 00:16:28 +00:00
Rainer Orth
216c32f93f Don't pass x86-only options on non-x86 targets in c-c++-common/fcf-protection-[67].c (PR testsuite/84243)
PR testsuite/84243
	* c-c++-common/fcf-protection-6.c: Only pass -mshstk on x86
	targets.
	* c-c++-common/fcf-protection-7.c: Likewise for -mibt.

From-SVN: r257432
2018-02-06 23:31:09 +00:00
Jakub Jelinek
486a2b66f0 re PR target/84146 (ICE with -mcet in dwarf2out_var_location, involving sigsetjmp)
PR target/84146
	* config/i386/i386.c (rest_of_insert_endbranch): Only skip
	NOTE_INSN_CALL_ARG_LOCATION after a call, not anything else,
	and skip it regardless of bb boundaries.  Use CALL_P macro,
	don't test INSN_P (insn) together with CALL_P or JUMP_P check
	unnecessarily, formatting fix.

	* gcc.target/i386/pr84146.c: New test.

From-SVN: r257431
2018-02-06 21:32:45 +01:00
Michael Collison
86f697aaa6 2018-02-06 Michael Collison <michael.collison@arm.com>
* config/arm/thumb2.md:
	(*thumb2_mov_negscc): Split only if TARGET_THUMB2 && !arm_restrict_it.
	(*thumb_mov_notscc): Ditto.
	* gcc.target/arm/pr7676.c: New testcase.

From-SVN: r257430
2018-02-06 20:27:08 +00:00
Michael Meissner
478a853e03 re PR target/84154 (PowerPC GCC 7 and 8 have regression in converting fp to short/char and returning it)
2018-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/84154
	* config/rs6000/rs6000.md (su code attribute): Use "u" for
	unsigned_fix, not "s".

From-SVN: r257429
2018-02-06 20:15:40 +00:00
Rainer Orth
a836f1425c Fix HAVE_GAS_CFI_DIRECTIVE for x86_64-pc-solaris2.*
* configure.ac (gcc_fn_eh_frame_ro): New function.
	(gcc_cv_as_cfi_directive): Check both 32 and 64-bit assembler for
	correct .eh_frame permissions.
	* configure: Regenerate.

From-SVN: r257424
2018-02-06 18:33:19 +00:00
Andrew Jenner
78be97b8d6 invoke.texi: Add section for the PowerPC SPE backend.
* doc/invoke.texi: Add section for the PowerPC SPE backend. Remove irrelevant options.

From-SVN: r257422
2018-02-06 17:37:46 +00:00
Aldy Hernandez
2b82c92563 re PR tree-optimization/84225 (ICE in operation_no_trapping_overflow, at tree.c:7206)
PR tree-optimization/84225
Add test for previous commit for PR84225.

From-SVN: r257420
2018-02-06 17:11:01 +00:00
Bill Schmidt
97770004f3 rs6000.c (rs6000_option_override_internal): Display warning message for -mno-speculate-indirect-jumps.
[gcc]

2018-02-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_option_override_internal):
	Display warning message for -mno-speculate-indirect-jumps.

[gcc/testsuite]

2018-02-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/safe-indirect-jump-1.c: Detect deprecation
	warning for -mno-speculate-indirect-jumps.
	* gcc.target/powerpc/safe-indirect-jump-2.c: Likewise.
	* gcc.target/powerpc/safe-indirect-jump-3.c: Likewise.
	* gcc.target/powerpc/safe-indirect-jump-4.c: Likewise.
	* gcc.target/powerpc/safe-indirect-jump-5.c: Likewise.
	* gcc.target/powerpc/safe-indirect-jump-6.c: Likewise.
	* gcc.target/powerpc/safe-indirect-jump-7.c: Likewise.

From-SVN: r257419
2018-02-06 16:55:01 +00:00
Andrew Jenner
95b7eb7913 powerpcspe.opt: (msimple-fpu, mfpu) Add Undocumented.
* config/powerpcspe/powerpcspe.opt: (msimple-fpu, mfpu) Add
       Undocumented.
       * config/powerpcspe/sysv4.opt (mbit-align): Likewise.

From-SVN: r257417
2018-02-06 16:10:43 +00:00
Aldy Hernandez
c068b2a514 re PR tree-optimization/84225 (ICE in operation_no_trapping_overflow, at tree.c:7206)
PR tree-optimization/84225
	* tree-eh.c (find_trapping_overflow): Only call
	operation_no_trapping_overflow when ANY_INTEGRAL_TYPE_P.

From-SVN: r257416
2018-02-06 15:44:51 +00:00
Ian Lance Taylor
3e12b42be9 compiler: avoid negative zero in float constants
Check for negative numbers with very small magnitudes that will round
    to negative zero, and force them to positive zero instead.
    
    This implements the spec clarification in https://golang.org/cl/14727.
    The test is in https://golang.org/cl/91895.
    
    Fixes golang/go#12621
    
    Reviewed-on: https://go-review.googlesource.com/92175

From-SVN: r257415
2018-02-06 15:30:06 +00:00
Igor Tsimbalist
3ca8e91f0e Fix checking -mibt and -mshstk options for control flow protection
PR target/84145
	* config/i386/i386.c: Reimplement the check of possible options
	-mibt/-mshstk conbination. Change error messages.
	* doc/invoke.texi: Fix a typo: remove extra '='.
	* c-c++-common/fcf-protection-1.c: Change a compared message.
	* c-c++-common/fcf-protection-2.c: Likewise.
	* c-c++-common/fcf-protection-3.c: Likewise.
	* c-c++-common/fcf-protection-5.c: Likewise.
	* c-c++-common/fcf-protection-6.c: New test.
	* c-c++-common/fcf-protection-7.c: Likewise.

From-SVN: r257414
2018-02-06 16:25:31 +01:00
Ian Lance Taylor
c88893a0da runtime: correct runtime structfield type to match reflect
The offset field in structfield has changed to offsetAnon, and now
    requires a shift to get the actual offset value.
    
    Fixes golang/go#23391
    
    Reviewed-on: https://go-review.googlesource.com/92275

From-SVN: r257413
2018-02-06 15:18:50 +00:00
Jan Hubicka
43fbc2e9c4 re PR lto/81004 (linking failed with -flto and static libboost_program_options)
PR lto/81004
	* lto.c: Include builtins.h
	(register_resolution): Merge resolutions in case trees was
	merged across units.
	(lto_maybe_register_decl): Break out from ...
	(lto_read_decls): ... here.
	(unify_scc): Also register decls here.
	(read_cgraph_and_symbols): Sanity check that all resolutions was
	read.

From-SVN: r257412
2018-02-06 13:27:04 +00:00
Marek Polacek
b25e5572f1 re PR tree-optimization/84228 (Bogus -Wstringop-truncation warning with -g)
PR tree-optimization/84228
	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Skip debug statements.

	* c-c++-common/Wstringop-truncation-3.c: New test.

From-SVN: r257411
2018-02-06 13:25:54 +00:00
Tamar Christina
d10ac88059 re PR target/82641 (Unable to enable crc32 for a certain function with target attribute on ARM (aarch32))
2018-02-06  Tamar Christina  <tamar.christina@arm.com>

	PR target/82641
	* config/arm/arm.c (arm_print_asm_arch_directives): Record already
	emitted arch directives.
	* config/arm/arm-c.c (arm_cpu_builtins): Undefine __ARM_ARCH and
	__ARM_FEATURE_COPROC before changing architectures.

gcc/testsuite
2018-02-06  Tamar Christina  <tamar.christina@arm.com>

	PR target/82641
	* gcc.target/arm/pragma_arch_switch_2.c: New.

From-SVN: r257410
2018-02-06 11:20:55 +00:00
Rainer Orth
40fdc3ec7a Avoid cc1 SEGV in gcc.dg/rtl/x86_64/final.c (PR target/79975)
PR target/79975
	* gcc.dg/rtl/x86_64/final.c: Add -fdwarf2-cfi-asm to dg-options.

From-SVN: r257408
2018-02-06 10:28:47 +00:00
Richard Biener
0e60956587 i386.c (print_reg): Fix typo.
2018-02-06  Richard Biener  <rguenther@suse.de>

	* config/i386/i386.c (print_reg): Fix typo.
	(ix86_loop_unroll_adjust): Do not unroll beyond the original nunroll.

From-SVN: r257407
2018-02-06 09:26:48 +00:00
Eric Botcazou
9718199a17 gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Remove -q option passed to grep.
config/
	* gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Remove -q option passed to grep.
gcc/
	* configure: Regenerate.

From-SVN: r257406
2018-02-06 08:30:53 +00:00
Rainer Orth
9dfc6e8394 Add upstream svn rev for PR sanitizer/82825.
From-SVN: r257405
2018-02-06 08:16:22 +00:00
GCC Administrator
9b2f9dcf37 Daily bump.
From-SVN: r257404
2018-02-06 00:16:13 +00:00
Joseph Myers
813ba11abe * sv.po: Update.
From-SVN: r257401
2018-02-05 23:47:14 +00:00
Martin Sebor
48fe6bbb71 PR tree-optimization/83369 - Missing diagnostics during inlining
gcc/ChangeLog:

	PR tree-optimization/83369
	* tree-ssa-ccp.c (pass_post_ipa_warn::execute): Use %G to print
	inlining context.

gcc/testsuite/ChangeLog:

	PR tree-optimization/83369
	gcc.dg/Wnonnull.c: New test.

From-SVN: r257400
2018-02-05 15:45:04 -07:00
Richard Sandiford
d66f032937 Make lto.exp work with Tcl 8.4
"dict" was added in Tcl 8.5, but until a couple of weeks ago the
testsuite had worked with 8.4.

This patch uses arrays instead, like we do for the caching in
target-supports.exp.  It is a bit uglier than using dicts was,
but hopefully not too bad...

2018-02-05  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/testsuite/
	* lib/lto.exp (lto_handle_diagnostics): Remove messages_by_file
	argument and use dg-messages-by-file instead.  Expect it to be
	an array rather than a dict.
	(lto-link-and-maybe-run): Remove messages_by_file argument and
	use an upvar for dg-messages-by-file.  Update call to
	lto_handle_diagnostics.
	(lt-get-options): Treat dg-messages-by-file as an array
	rather than a dict.
	(lto-get-options-main): Likewise.  Set the entry rather than appending.
	(lto-execute): Treat dg-messages-by-file as an array rather than
	a dict.  Update call to lto-link-and-maybe-run.

From-SVN: r257397
2018-02-05 21:34:46 +00:00
Ian Lance Taylor
60d25b800a compiler: rollback "avoid negative zero in float constants"
It uses functions that are not available in MPFR 2.4.2, which is the
    current version supported by GCC.
    
    Original change description:
    
        compiler: avoid negative zero in float constants
    
        Check for negative numbers with very small magnitudes that will round
        to negative zero, and force them to positive zero instead.
    
        This implements the spec clarification in https://golang.org/cl/14727.
        The test is in https://golang.org/cl/91895.
    
        Fixes golang/go#12621
    
    Updates golang/go#12621
    
    Reviewed-on: https://go-review.googlesource.com/92055

From-SVN: r257393
2018-02-05 19:26:29 +00:00
Ian Lance Taylor
354bbdb6ba compiler: avoid negative zero in float constants
Check for negative numbers with very small magnitudes that will round
    to negative zero, and force them to positive zero instead.
    
    This implements the spec clarification in https://golang.org/cl/14727.
    The test is in https://golang.org/cl/91895.
    
    Fixes golang/go#12621
    
    Reviewed-on: https://go-review.googlesource.com/91915

From-SVN: r257390
2018-02-05 15:28:59 +00:00
Marek Polacek
5f25b464a8 class.c: Remove unused global variables.
* class.c: Remove unused global variables.
       	(build_primary_vtable): Don't gather statistics.
	(print_class_statistics): Remove.
	* cp-tree.h (print_class_statistics): Remove.
	* tree.c (cxx_print_statistics): Don't call print_class_statistics.

From-SVN: r257389
2018-02-05 11:47:48 +00:00
Paolo Carlini
865166c80e re PR c++/82782 (ICE: nested template alias and specialized template with auto template parameter)
2018-02-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/82782
	* g++.dg/cpp1z/inline-var4.C: New.

From-SVN: r257388
2018-02-05 11:15:55 +00:00
Martin Liska
4c4f3c3fef Cherry-pick libsanitizer pointer-pair tristate option.
2018-02-05  Martin Liska  <mliska@suse.cz>

	* doc/invoke.texi: Cherry-pick upstream r323995.
2018-02-05  Martin Liska  <mliska@suse.cz>

	* c-c++-common/asan/pointer-compare-1.c: Adjust ASAN_OPTIONS
	options.
	* c-c++-common/asan/pointer-compare-2.c: Likewise.
	* c-c++-common/asan/pointer-subtract-1.c: Likewise.
	* c-c++-common/asan/pointer-subtract-2.c: Likewise.
	* c-c++-common/asan/pointer-subtract-3.c: Likewise.
	* c-c++-common/asan/pointer-subtract-4.c: Likewise.
	* c-c++-common/asan/pointer-compare-3.c: New test.
2018-02-05  Martin Liska  <mliska@suse.cz>

	* asan/asan_flags.inc: Cherry-pick upstream r323995.
	* asan/asan_report.cc (CheckForInvalidPointerPair):
	Cherry-pick upstream r323995.

From-SVN: r257387
2018-02-05 11:01:50 +00:00
Richard Sandiford
ba26157992 [AArch64] Remove SVE XFAILs
These tests started passing after r257293, which had the side-effect
of renumbering the SSA names and leaving the COND_EXPRs in their
natural order.

This does show a deeper underlying issue that code generation is too
sensitive to internal things like SSA_NAME versions, but it no longer
affects these particular tests (for now).

2018-02-05  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/testsuite/
	* gcc.target/aarch64/sve/vcond_4.c: Remove XFAILs.
	* gcc.target/aarch64/sve/vcond_5.c: Likewise.

From-SVN: r257386
2018-02-05 10:48:49 +00:00
Richard Sandiford
87e176dfd4 Adjust ira_init_register_move_cost comment
2018-02-05  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* ira.c (ira_init_register_move_cost): Adjust comment.

From-SVN: r257385
2018-02-05 10:47:56 +00:00
Martin Liska
b95852cc00 Fix GCOV documentation (PR gcov-profile/84137).
2018-02-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/84137
	* doc/gcov.texi: Fix typo in documentation.

From-SVN: r257384
2018-02-05 09:59:16 +00:00
Martin Liska
239dc1a3b7 Document --dynamic-list-data option for --coverage usage.
2018-02-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/83879
	* doc/gcov.texi: Document necessity of --dynamic-list-data when
	using dlopen functionality.

From-SVN: r257383
2018-02-05 09:19:18 +00:00
Olga Makhotina
55f956ff7c Add missing mask[z]_range[_round]_s[d,s] intrinsics
gcc/
	* config/i386/avx512dqintrin.h (_mm_mask_range_sd, _mm_maskz_range_sd,
	_mm_mask_range_round_sd, _mm_maskz_range_round_sd, _mm_mask_range_ss,
	_mm_maskz_range_ss, _mm_mask_range_round_ss,
	_mm_maskz_range_round_ss): New intrinsics.
	(__builtin_ia32_rangesd128_round)
	(__builtin_ia32_rangess128_round): Remove.
	(__builtin_ia32_rangesd128_mask_round,
	__builtin_ia32_rangess128_mask_round): New builtins.
	* config/i386/i386-builtin.def (__builtin_ia32_rangesd128_round,
	__builtin_ia32_rangess128_round): Remove.
	(__builtin_ia32_rangesd128_mask_round,
	__builtin_ia32_rangess128_mask_round): New builtins.
	* config/i386/sse.md (ranges<mode><round_saeonly_name>): Renamed to ...
	(ranges<mode><mask_scalar_name><round_saeonly_scalar_name>): ... this.
	((match_operand:VF_128 2 "<round_saeonly_nimm_predicate>"
	"<round_saeonly_constraint>")): Changed to ...
	((match_operand:VF_128 2 "<round_saeonly_scalar_nimm_predicate>"
	"<round_saeonly_scalar_constraint>")): ... this.
	("vrange<ssescalarmodesuffix>\t{%3, <round_saeonly_op4>%2, %1, %0|
	%0, %1, %2<round_saeonly_op4>, %3}"): Changed to ...
	("vrange<ssescalarmodesuffix>\t{%3, <round_saeonly_scalar_mask_op4>%2,
	%1, %0<mask_scalar_operand4>|%0<mask_scalar_operand4>, %1,
	%2<round_saeonly_scalar_mask_op4>, %3}"): ... this.
gcc/testsuite
	* gcc.target/i386/avx512dq-vrangesd-1.c (_mm_mask_range_sd,
	_mm_maskz_range_sd, _mm_mask_range_round_sd,
	_mm_maskz_range_round_sd): Test new intrinsics.
	* gcc.target/i386/avx512dq-vrangesd-2.c (_mm_range_sd,
	_mm_mask_range_sd, _mm_maskz_range_sd, _mm_range_round_sd,
	_mm_mask_range_round_sd, _mm_maskz_range_round_sd): Test new intrinsics.
	* gcc.target/i386/avx512dq-vrangess-1.c (_mm_mask_range_ss,
	_mm_maskz_range_ss, _mm_mask_range_round_ss,
	_mm_maskz_range_round_ss): Test new intrinsics.
	* gcc.target/i386/avx512dq-vrangess-2.c (_mm_range_ss,
	_mm_mask_range_ss, _mm_maskz_range_ss, _mm_range_round_ss,
	_mm_mask_range_round_ss, _mm_maskz_range_round_ss): Test new intrinsics.
	* gcc.target/i386/avx-1.c (__builtin_ia32_rangesd128_round,
	__builtin_ia32_rangess128_round): Remove builtins.
	(__builtin_ia32_rangesd128_mask_round,
	__builtin_ia32_rangess128_mask_round): Test new builtins.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r257382
2018-02-05 07:08:24 +00:00
Ian Lance Taylor
5dfb4d0f33 compiler: update iota handling, fix using iota in array length
CL 71750 changed the definition of how iota works.  This patch updates
    gccgo for the new definition.
    
    We've been mishandling iota appearing in a type that appears in a
    const expression, as in `c = len([iota]int{})`.  Correct that by copying
    type expressions when we copy an expression.  For simplicity only copy
    when it can change the size of a type, as that is the only case where
    iota in a type can affect the value of a constant (I think).  This is
    still a bunch of changes, but almost all boilerplate.
    
    Fixes golang/go#22341
    
    Reviewed-on: https://go-review.googlesource.com/91475

From-SVN: r257379
2018-02-05 01:57:42 +00:00
Ian Lance Taylor
33cdac3baa compiler: permit empty statements after fallthrough
The language spec permits empty statements after a fallthrough
    statement, so implement that.  Also give a better error message when a
    fallthrough statement is in the wrong place.  The test case for this
    is in the master repository, test/fixedbugs/issue14540.go, just not
    yet in the gccgo repository.
    
    Fixes golang/go#14538
    
    Reviewed-on: https://go-review.googlesource.com/91855

From-SVN: r257378
2018-02-05 01:53:23 +00:00