Commit Graph

167279 Commits

Author SHA1 Message Date
Martin Liska c24847a54a Charry pick libsanitizer r355488 (PR sanitizer/88684).
2019-03-06  Martin Liska  <mliska@suse.cz>

	PR sanitizer/88684
	* sanitizer_common/sanitizer_platform.h (defined): Cherry pick.
	(SANITIZER_NON_UNIQUE_TYPEINFO): Likewise.
	* ubsan/ubsan_type_hash_itanium.cc (isDerivedFromAtOffset):
	Likewise.

From-SVN: r269419
2019-03-06 11:46:15 +00:00
Jonathan Wakely d80f04d61e Constexpr in std::pointer_traits (P1006R1)
* include/bits/ptr_traits.h [C++20] (pointer_traits<T*>::pointer_to):
	Add constexpr.
	* testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: New test.

From-SVN: r269418
2019-03-06 11:32:42 +00:00
Claudiu Zissulescu 9f54ba8f7d [ARC] Fix logic set UNALIGNED_ACCESS
gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on
	unaligned_access variable.
	* config/arc/arc.c (arc_override_options): Set unaligned access
	default on for HS CPUs.
	* config/arc/arc.h (STRICT_ALIGNMENT): Fix logic.

From-SVN: r269417
2019-03-06 11:45:51 +01:00
Richard Biener 3050b35766 re PR middle-end/89551 (Test case gcc.dg/uninit-pred-8_b.c fails after r269302)
2019-03-06  Richard Biener  <rguenther@suse.de>

	PR testsuite/89551
	* gcc.dg/uninit-pred-8_b.c: Force logical-op-non-short-circuit
	the way that makes the testcase PASS.

From-SVN: r269416
2019-03-06 10:13:08 +00:00
Martin Liska bb7c147fc8 Use --coverage instead of -fprofile-arcs -ftest-coverage in documentation (PR gcov-profile/89577).
2019-03-06  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/89577
	* doc/gcov.texi: Prefer to use --coverage.
	* doc/sourcebuild.texi: Likewise.

From-SVN: r269415
2019-03-06 10:01:16 +00:00
Martin Liska 08bc73f09c Ignore a param in check-params-in-docs.py
2019-03-06  Martin Liska  <mliska@suse.cz>

	* check-params-in-docs.py: Ignore a param.

From-SVN: r269414
2019-03-06 10:00:37 +00:00
Ian Lance Taylor 956cb6d397 re PR go/89598 (go frontend fails to build against mpfr 2.4.2)
PR go/89598
    compiler: use GMP_RNDN rather than MPFR_RNDN
    
    Missed one last time around.  This fixes the build with mpfr 2.4.2.
    
    Fixes https://gcc.gnu.org/PR89598
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165420

From-SVN: r269411
2019-03-06 05:02:16 +00:00
GCC Administrator d77e925912 Daily bump.
From-SVN: r269409
2019-03-06 00:16:13 +00:00
Ian Lance Taylor 03ac8302a6 runtime: enable precise GC checks when using stack maps
In the runtime there are bad pointer checks that currently don't
    work with the concervative collector. With stack maps, the GC is
    precise and the checks should work. Enable them.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/153871

From-SVN: r269406
2019-03-05 23:05:38 +00:00
Jakub Jelinek 934e992600 re PR libfortran/89593 (warning "passing argument 3 of ‘_gfortran_caf_{get,send}_by_ref’ from incompatible pointer type" when building libgfortran)
PR libgfortran/89593
	* caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to
	gfc_descriptor_t * to avoid warning.

From-SVN: r269405
2019-03-05 23:41:39 +01:00
Ian Lance Taylor b211cd1b46 cmd/go: pass -X64 to ar on aix/ppc64
On aix/ppc64, ar tool must always have -X64 argument if it aims to
    create 64 bits archives.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165317

From-SVN: r269404
2019-03-05 22:40:21 +00:00
Jason Merrill 507318f109 PR c++/86485 - -Wmaybe-unused with empty class ?:
The problem in this testcase is that the front end expects an rvalue
COND_EXPR to initialize a single temporary from one of the arms.  But
because gimplify_cond_expr used MODIFY_EXPR, instead the arms would each
create their own temporary and then copy that into the common temporary.

So, let's use INIT_EXPR instead.

	* gimplify.c (gimplify_cond_expr): Use INIT_EXPR.

From-SVN: r269403
2019-03-05 17:20:41 -05:00
Jason Merrill dbcd32f889 re PR c++/86485 ("anonymous" maybe-uninitialized false positive with ternary operator)
* class.c (is_really_empty_class): Add ignore_vptr parm.

While looking at PR86485, I noticed that many uses of is_really_empty_class
were overlooking that it returned true for a class with only a vptr;
initialization of such a class is not trivial.  Marek's P1064 patch fixed
one place in constexpr.c to also check for a vtable, but there are several
others that still don't.

This patch requires callers to explicitly choose which behavior they want.
Currently the uses in constexpr.c want to consider the vptr, and other uses
don't.

	* class.c (is_really_empty_class): Add ignore_vptr parm.
	(trivial_default_constructor_is_constexpr): Pass it.
	* call.c (build_over_call): Pass it.
	* constexpr.c (cxx_eval_constant_expression): Pass it instead of
	checking TYPE_POLYMORPHIC_P.
	(cxx_eval_component_reference, potential_constant_expression_1):
	Pass it.
	* cp-gimplify.c (simple_empty_class_p): Pass it.
	* init.c (expand_aggr_init_1): Pass it.

From-SVN: r269402
2019-03-05 17:17:13 -05:00
Ian Lance Taylor 9bf54c938a sysinfo: add Flags to Statfs_t if not already there
If there is no f_flags field in statfs_t then rename one of the
    f_spare fields, as happened in Linux kernel version 2.6.36.  This
    fixes the build on CentOS 5.11.  The CentOS kernel will hopefully not
    fill in the f_spare field, so the resulting flags will be zero.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165417

From-SVN: r269401
2019-03-05 20:49:21 +00:00
Ian Lance Taylor 77fa4c4275 re PR go/89598 (go frontend fails to build against mpfr 2.4.2)
PR go/89598
    compiler: use GMP_RNDN rather than MPFR_RNDN
    
    This fixes the build with mpfr 2.4.2.
    
    Fixes https://gcc.gnu.org/PR89598
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165418

From-SVN: r269399
2019-03-05 19:41:42 +00:00
Jonathan Wakely 243874426d Define midpoint and lerp functions for C++20 (P0811R3)
The implementation of midpoint used for integral types is due to Howard
Hinnant and avoids a branch for int and larger types (but not for chars
and shorts).

The midpoint and lerp functions for floating point types come straight
from the P0811R3 proposal, with no attempt at optimization.

	* include/c_compatibility/math.h [C++20] (lerp): Add using
	declaration.
	* include/c_global/cmath [C++20] (__cpp_lib_interpolate): Define.
	(__lerp): Define function template to implement lerp.
	(lerp(float, float, float), lerp(double, double, double))
	(lerp(long double, long double, long double)): Define for C++20.
	* include/std/numeric [C++20] (__cpp_lib_interpolate): Define.
	(midpoint(T, T), midpoint(T*, T*)): Define.
	* include/std::version [C++20] (__cpp_lib_interpolate): Define.
	* testsuite/26_numerics/lerp.cc: New test.
	* testsuite/26_numerics/midpoint/floating.cc: New test.
	* testsuite/26_numerics/midpoint/integral.cc: New test.
	* testsuite/26_numerics/midpoint/pointer.cc: New test.

From-SVN: r269398
2019-03-05 18:37:24 +00:00
Jakub Jelinek f0c3b1337f re PR target/89587 (gcc's rs6000 configuration unconditionally sets MULTIARCH_DIRNAME, even when multiarch is disabled)
PR target/89587
	* config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only
	if_multiarch.

From-SVN: r269396
2019-03-05 18:25:01 +01:00
Christophe Lyon 0a7b752172 dg-extract-results.py: Handle case where a WARNING happens with the first test of a harness.
2019-03-05  Christophe Lyon  <christophe.lyon@linaro.org>

	contrib/
	* dg-extract-results.py: Handle case where a WARNING happens with
	the first test of a harness.

From-SVN: r269394
2019-03-05 17:29:19 +01:00
Christophe Lyon e8d18fd8f6 dg-extract-results.sh: Fix order of WARNING and following test result.
2019-03-05  Christophe Lyon  <christophe.lyon@linaro.org>

	contrib/
	* dg-extract-results.sh: Fix order of WARNING and following test
	result.

From-SVN: r269393
2019-03-05 17:28:11 +01:00
Jakub Jelinek 9616781de2 re PR middle-end/89590 (ICE in maybe_emit_free_warning)
PR middle-end/89590
	* builtins.c (maybe_emit_free_warning): Punt if free doesn't have
	exactly one argument.

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

From-SVN: r269392
2019-03-05 17:22:16 +01:00
Jakub Jelinek cff1a1225d re PR tree-optimization/89570 (ICE in prepare_cmp_insn, at optabs.c:4001)
PR tree-optimization/89570
	* match.pd (vec_cond into cond_op simplification): Don't use
	get_conditional_internal_fn, use as_internal_fn (cond_op).

Co-Authored-By: Richard Sandiford <richard.sandiford@arm.com>

From-SVN: r269391
2019-03-05 16:05:07 +01:00
Wilco Dijkstra d7c50d679f [ARM] Fix PR89222
The GCC optimizer can generate symbols with non-zero offset from simple
if-statements. Bit zero is used for the Arm/Thumb state bit, so relocations
with offsets fail if it changes bit zero and the relocation forces bit zero
to true.  The fix is to disable offsets on function pointer symbols.  

    gcc/
	PR target/89222
	* config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem
	to decide when to split off a non-zero offset from a symbol.
	* config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets
	in function symbols.

    testsuite/
	PR target/89222
	* gcc.target/arm/pr89222.c: Add new test.

From-SVN: r269390
2019-03-05 15:04:01 +00:00
Richard Biener deeec83de4 re PR tree-optimization/89594 (ICE: Segmentation fault (in gsi_for_stmt(gimple*)))
2019-03-05  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/89594
	* tree-if-conv.c (pass_if_conversion::execute): Handle
	case where .LOOP_VECTORIZED_FUNCTION was removed.

	* gcc.dg/pr89594.c: New testcase.

From-SVN: r269389
2019-03-05 14:57:12 +00:00
Jakub Jelinek 186ae93c7b re PR tree-optimization/89487 (ICE in expand_expr_addr_expr_1, at expr.c:7993)
PR tree-optimization/89487
	* gcc.dg/tree-ssa/pr89487.c: Include ../pr87600.h.
	(caml_interprete): Ifdef the whole body out if REG1 or REG2 macros
	aren't defined.  Use REG1 instead of "%r15" and REG2 instead of
	"%r14".

From-SVN: r269388
2019-03-05 14:38:59 +01:00
Jakub Jelinek 386a83c170 re PR bootstrap/89560 (ICE In function 'rtx_def* gen_vec_extract_lo_v64qi(rtx, rtx)')
PR bootstrap/89560
	* fold-const.c (fold_checksum_tree): Don't use fixed size buffer,
	instead alloca it only when needed with the needed size.

	* g++.dg/other/pr89560.C: New test.

From-SVN: r269386
2019-03-05 10:03:50 +01:00
Jakub Jelinek ea5212b741 re PR tree-optimization/89570 (ICE in prepare_cmp_insn, at optabs.c:4001)
PR tree-optimization/89570
	* match.pd (vec_cond into cond_op simplification): Guard with
	vectorized_internal_fn_supported_p test and #if GIMPLE.

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

From-SVN: r269385
2019-03-05 09:44:21 +01:00
Jakub Jelinek d6f7829a1f re PR tree-optimization/89566 (ICE on compilable C++ code: in gimple_call_arg, at gimple.h:3166)
PR tree-optimization/89566
	* gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call):
	Set info.fncode to BUILT_IN_NONE if gimple_call_builtin_p failed.
	Punt if get_user_idx_format succeeds, but idx_format argument is
	not provided or doesn't have pointer type, or if idx_args is above
	number of provided arguments.

	* c-c++-common/pr89566.c: New test.

From-SVN: r269384
2019-03-05 09:43:16 +01:00
GCC Administrator da7382442e Daily bump.
From-SVN: r269381
2019-03-05 00:16:26 +00:00
Paolo Carlini b65e6a9977 re PR c++/84605 (internal compiler error: in xref_basetypes, at cp/decl.c:13818)
/cp
2019-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84605
	* parser.c (cp_parser_class_head): Reject TYPE_BEING_DEFINED too.

/testsuite
2019-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/84605
	* g++.dg/parse/crash69.C: New.

From-SVN: r269378
2019-03-04 23:49:23 +00:00
Edward Smith-Rowland 94014ee95b PR libstdc++/88996 Implement P0439R0
2019-03-04  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/88996 Implement P0439R0
	Make std::memory_order a scoped enumeration.
	* include/bits/atomic_base.h: For C++20 make memory_order a scoped enum,
	add variables for the old enumerators.  Adjust calls.
	* testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: New test.
	* testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: New test.

From-SVN: r269372
2019-03-04 20:11:14 +00:00
Jakub Jelinek f0103f7bb0 re PR c++/71446 (Incorrect overload resolution when using designated initializers)
PR c++/71446
	* call.c (field_in_pset): New function.
	(build_aggr_conv): Handle CONSTRUCTOR_IS_DESIGNATED_INIT correctly.

	* g++.dg/cpp2a/desig12.C: New test.
	* g++.dg/cpp2a/desig13.C: New test.

From-SVN: r269371
2019-03-04 19:57:13 +01:00
Jason Merrill 209cd3bd47 * g++.dg/lto/pr88049_0.C: Require lto_incremental.
From-SVN: r269368
2019-03-04 12:35:13 -05:00
Tamar Christina 01d88596fd Add missing gcc/testsuite/ChangeLog changelog entry.
From-SVN: r269367
2019-03-04 16:31:00 +00:00
Tamar Christina 664f54041e AArch64: Make test options_set_10.c not run on native.
The test options_set_10.c shouldn't run when cross compiled.
In addition to gating it on linux I'm also gating it on native now.

gcc/testsuite/ChangeLog:

	PR target/88530
	* gcc.target/aarch64/options_set_10.c:

From-SVN: r269366
2019-03-04 15:48:49 +00:00
Jonathan Wakely 7ac40f3d27 Remove redundant dg-do directive from test
* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do
	directive.

From-SVN: r269365
2019-03-04 13:18:47 +00:00
Wilco Dijkstra 5f054b17f8 re PR tree-optimization/89437 (incorrect result for sinl (atanl (x)))
Fix PR89437

Fix PR89437. Fix the sinatan-1.c testcase to not run without
a C99 target system.  Use nextafterl for long double initialization.

Fix an issue with sinl (atanl (sqrtl (LDBL_MAX)) returning 0.0
instead of 1.0 by using x < sqrtl (LDBL_MAX) in match.pd.

    gcc/
	PR tree-optimization/89437
	* match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications.

    testsuite/
	PR tree-optimization/89437
	* gcc.dg/sinatan-1.c: Fix testcase.

From-SVN: r269364
2019-03-04 12:36:04 +00:00
Richard Biener 19d4e4d614 re PR tree-optimization/89572 (ICE in dyn_cast<gcond*, gimple>(gimple*) / get_loop_exit_condition(loop const*))
2019-03-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/89572
	* tree-scalar-evolution.c: (get_loop_exit_condition): Use
	safe_dyn_cast.

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

From-SVN: r269363
2019-03-04 12:23:17 +00:00
Jonathan Wakely 0e31827300 Implement polymorphic_allocator<byte> for C++20 (P0339R6)
* include/std/memory_resource (polymorphic_allocator): Add default
	template argument for C++20.
	(polymorphic_allocator::allocate_bytes)
	(polymorphic_allocator::deallocate_bytes)
	(polymorphic_allocator::allocate_object)
	(polymorphic_allocator::deallocate_object)
	(polymorphic_allocator::new_object)
	(polymorphic_allocator::delete_object): New member functions for
	C++20.
	* testsuite/20_util/polymorphic_allocator/allocate_object.cc: New
	test.

From-SVN: r269362
2019-03-04 12:21:06 +00:00
Bin Cheng c445049114 re PR tree-optimization/89487 (ICE in expand_expr_addr_expr_1, at expr.c:7993)
PR tree-optimization/89487
	* tree-loop-distribution.c (has_nonaddressable_dataref_p): New.
	(create_rdg_vertices): Compute has_nonaddressable_dataref_p.
	(distribute_loop): Don't do runtime alias check if there is non-
	addressable data reference.
	* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL
	is a register variable.

	* gcc/testsuite/gcc.dg/tree-ssa/pr89487.c: New test.

From-SVN: r269361
2019-03-04 01:38:25 +00:00
GCC Administrator 19deb34365 Daily bump.
From-SVN: r269360
2019-03-04 00:16:29 +00:00
Jonathan Wakely 24cbcb003a PR libstdc++/89562 use binary mode for file I/O
PR libstdc++/89562
	* src/filesystem/ops-common.h (do_copy_file): Open files in binary
	mode for mingw.

From-SVN: r269356
2019-03-03 22:23:33 +00:00
Harald Anlauf de06e54d21 re PR fortran/77583 (ICE in pp_quoted_string, at pretty-print.c:966)
2019-03-03  Harald Anlauf  <anlauf@gmx.de>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77583
	* symbol.c (check_conflict): Check for valid procedure name
	passed to error reporting routine.

	PR fortran/77583
	* gfortran.dg/pr77583.f90: New test.


Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r269353
2019-03-03 20:24:53 +00:00
Thomas Koenig b450b08dfb re PR fortran/72714 ([Coarray] ICE in gfc_array_init_size, at fortran/trans-array.c:5235)
2019-03-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/72714
	* resolve.c (resolve_allocate_expr): Add some tests for coarrays.

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

	PR fortran/72714
	* gfortran.dg/coarray_allocate_11.f90: New test.

From-SVN: r269352
2019-03-03 13:16:40 +00:00
GCC Administrator 4a1a6fd764 Daily bump.
From-SVN: r269347
2019-03-03 00:16:22 +00:00
Johannes Pfau b08c40f4ee PR d/89177 - Fix unaligned access in std.digest.murmurhash
libphobos/ChangeLog:

2019-02-24  Johannes Pfau  <johannespfau@gmail.com>

	* src/std/digest/murmurhash.d: PR d/89177: Backport from upstream.
	Fixes unaligned data access (PR d/89177).

From-SVN: r269343
2019-03-02 19:14:54 +00:00
Harald Anlauf 4716603bf8 re PR fortran/89516 (ICE in gfc_calculate_transfer_sizes at gcc/fortran/check.c:5506)
2019-03-02  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/89516
	* check.c (gfc_calculate_transfer_sizes): Correct checks for cases
	where storage size of elements of MOLD is 0.

	PR fortran/89516
	* gfortran.dg/pr89492.f90: Adjust testcase.
	* gfortran.dg/transfer_check_5.f90: New test.

From-SVN: r269341
2019-03-02 15:29:27 +00:00
Jakub Jelinek 574eaf0fda re PR c++/71446 (Incorrect overload resolution when using designated initializers)
PR c++/71446
	* cp-tree.h (CONSTRUCTOR_IS_DESIGNATED_INIT): Define.
	* parser.c (cp_parser_braced_list): Adjust cp_parser_initializer_list
	caller, set CONSTRUCTOR_IS_DESIGNATED_INIT.
	(cp_parser_initializer_list): Add designated parameter, set *designated
	to a bool whether any designators were parsed.
	* decl.c (reshape_init): Copy over CONSTRUCTOR_IS_DESIGNATED_INIT if
	needed.
	* pt.c (tsubst_copy_and_build): Likewise.
	* call.c (implicit_conversion): If CONSTRUCTOR_IS_DESIGNATED_INIT,
	don't call build_list_conv, nor build_complex_conv, nor attempt to
	convert a single element initializer to scalar.

	* g++.dg/cpp2a/desig10.C: New test.
	* g++.dg/cpp2a/desig11.C: New test.
	* g++.dg/ext/desig4.C: Expect 4 new errors.

From-SVN: r269340
2019-03-02 09:06:57 +01:00
Jakub Jelinek 73ba6c7120 re PR target/89506 (ICE: in decompose, at rtl.h:2266 with -Og -g)
PR target/89506
	* config/arm/arm.md (cmpsi2_addneg): Use
	trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...).
	If operands[2] is 0 or INT_MIN, force use of subs.
	(*compare_scc splitter): Use gen_int_mode.
	(*negscc): Likewise.
	* config/arm/thumb2.md (*thumb2_negscc): Likewise.

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

From-SVN: r269339
2019-03-02 09:05:10 +01:00
Ian Lance Taylor 64ef1e96ff re PR go/89406 (Go testing leaves many temporary directories in /tmp around)
PR go/89406
    go/internal/gccgoimporter: remove temporary directories in test
    
    Backport of https://golang.org/cl/164862.
    
    Updates https://gcc.gnu.org/PR89406
    
    Reviewed-on: https://go-review.googlesource.com/c/164863

From-SVN: r269338
2019-03-02 00:50:30 +00:00
Kito Cheng 8e96621085 RISC-V: Generalize -march support, add ELF attribute support.
Kito Cheng  <kito.cheng@gmail.com>
	Monk Chiang  <sh.chiang04@gmail.com>

	gcc/
	* common/config/riscv/riscv-common.c: Include sstream.
	(riscv_subset_list::to_string): New.
	(riscv_arch_str): Likewise.
	* config.gcc (riscv*-*-*): Handle --with-riscv-attribute=
	* config.in: Regen.
	* config/riscv/riscv-protos.h (riscv_arch_str): New.
	* config/riscv/riscv.c (INCLUDE_STRING): Defined.
	(riscv_emit_attribute): New.
	(riscv_file_start): Emit attribute if needed.
	(riscv_option_override): Init riscv_emit_attribute_p.
	* config/riscv/riscv.opt (mriscv-attribute): New option.
	* configure.ac (riscv*-*-*): Check binutils is supporting ELF
	* configure: Regen.
	* doc/install.texi: Document --with-riscv-attribute.
	* doc/invoke.texi: Document -mriscv-attribute.

	* common/config/riscv/riscv-common.c:
	Include config/riscv/riscv-protos.h.
	(INCLUDE_STRING): Defined.
	(RISCV_DONT_CARE_VERSION): Defined.
	(riscv_subset_t): Declare.
	(riscv_subset_t::riscv_subset_t): New.
	(riscv_subset_list): Declare.
	(riscv_subset_list::riscv_subset_list): New.
	(riscv_subset_list::~riscv_subset_list): Likewise.
	(riscv_subset_list::parsing_subset_version): Likewise.
	(riscv_subset_list::parse_std_ext): Likewise.
	(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
	(riscv_subset_list::add): Likewise.
	(riscv_subset_list::lookup): Likewise.
	(riscv_subset_list::xlen): Likewise.
	(riscv_subset_list::parse): Likewise.
	(riscv_supported_std_ext): Likewise.
	(current_subset_list): Likewise.
	(riscv_parse_arch_string): Using riscv_subset_list::parse to
	parse.

	gcc/testsuite/
	* gcc.target/riscv/attribute-1.c: New.
	* gcc.target/riscv/attribute-2.c: Likewise.
	* gcc.target/riscv/attribute-3.c: Likewise.
	* gcc.target/riscv/attribute-4.c: Likewise.
	* gcc.target/riscv/attribute-5.c: Likewise.
	* gcc.target/riscv/attribute-6.c: Likewise.
	* gcc.target/riscv/attribute-7.c: Likewise.
	* gcc.target/riscv/attribute-8.c: Likewise.
	* gcc.target/riscv/attribute-9.c: Likewise.

	* gcc.target/riscv/arch-1.c: New.
	* gcc.target/riscv/arch-2.c: Likewise.
	* gcc.target/riscv/arch-3.c: Likewise.
	* gcc.target/riscv/arch-4.c: Likewise.

Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>

From-SVN: r269337
2019-03-01 16:36:22 -08:00