Commit Graph

167319 Commits

Author SHA1 Message Date
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
GCC Administrator
fe3732876f Daily bump.
From-SVN: r269336
2019-03-02 00:16:20 +00:00
Ian Lance Taylor
8ea1c33cb3 cmd/go: restore passing D to ar
This restores part of https://golang.org/cl/45695 that was
    accidentally lost in https://golang.org/cl/158019 (the update to
    Go1.12beta2).
    
    Reviewed-on: https://go-review.googlesource.com/c/164737

From-SVN: r269333
2019-03-01 22:22:18 +00:00
Jakub Jelinek
6d9fa41bae re PR middle-end/89497 (ICE caused by Segmentation Fault when compiling cups 2.2.10 with LTO flags enabled)
PR middle-end/89497
	* g++.dg/tree-prof/devirt.C: Adjust also the ilp32
	scan-tree-dump-times from dom3 to tracer pass.

From-SVN: r269332
2019-03-01 20:06:36 +01:00
Segher Boessenkool
5234d2e686 rs6000: Adapt testcases for -mdejagnu-cpu=
This is the result of these two oneliners:
perl -ni -e 'print unless /dg-skip-if "do not override -mcpu"/' \
  $(find gcc/testsuite/gcc.target/powerpc/ -type f)
perl -pi -e 's/(dg-options.*)-mcpu=/\1-mdejagnu-cpu=/'  \
  $(find gcc/testsuite/gcc.target/powerpc/ -type f)


gcc/testsuite/
	* gcc.target/powerpc/ throughout: Delete dg-skip-if "do not override
	-mcpu".  Use -mdejagnu-cpu= in dg-options instead of -mcpu=.

From-SVN: r269324
2019-03-01 19:04:31 +01:00
Segher Boessenkool
75e2b35dd0 rs6000: Add -mdejagnu-cpu=
This adds an option -mdejagnu-cpu=.  This option simply overrides what
is given in -mcpu=.  The reason for this is that with older versions
of DejaGnu the value given in the RUNTESTFLAGS will override the value
a testcase wants to have.


	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
	rs6000_dejagnu_cpu_index is set, use that to override rs6000_cpu_index.
	* config/rs6000/rs6000.opt (mdejagnu-cpu=): New option.

From-SVN: r269322
2019-03-01 18:44:15 +01:00
Alexander Monakov
5055060066 haifa-sched: handle fallthru edge to EXIT block (PR 85899)
PR rtl-optimization/85899
	* haifa-sched.c (find_fallthru_edge_from): Relax assert to account for
	fallthru edges leading to the exit block.

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

From-SVN: r269319
2019-03-01 19:18:04 +03:00
Marek Polacek
6fe7ce18d0 PR c++/89537 - missing location for error with non-static member fn.
* call.c (resolve_args): Use EXPR_LOCATION.
	* typeck.c (build_class_member_access_expr): Use input_location.

	* g++.dg/diagnostic/member-fn-1.C: New test.

From-SVN: r269318
2019-03-01 15:57:46 +00:00
Marek Polacek
d724d2aff6 PR c++/89532 - ICE with incomplete type in decltype.
* semantics.c (finish_compound_literal): Return error_mark_node
	if digest_init_flags returns error_mark_node.

	* g++.dg/cpp2a/nontype-class14.C: New test.

From-SVN: r269317
2019-03-01 15:55:56 +00:00
Ian Lance Taylor
337f1caed6 runtime: call execname and getpagesize on Solaris
Interpreting auxv as []uintptr is incorrect on 64-bit big-endian,
    as auxv alternates a 32-bit int with a 64-bit pointer.
    
    Patch from Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/c/164739

From-SVN: r269315
2019-03-01 14:21:24 +00:00
Jakub Jelinek
1259cb6d00 Implement P1002R1, Try-catch blocks in constexpr functions PR c++/89513
Implement P1002R1, Try-catch blocks in constexpr functions
	PR c++/89513
	* parser.c (cp_parser_ctor_initializer_opt_and_function_body):
	Diagnose constexpr ctor or function with function-try-block with
	pedwarn for c++17 and earlier.  Formatting fix.
	(cp_parser_try_block): Use pedwarn instead of error and only for
	c++17 and earlier when try block appears in constexpr function.
	* constexpr.c (build_constexpr_constructor_member_initializers):
	Handle TRY_BLOCK here instead of erroring on it.

	* g++.dg/cpp2a/constexpr-try1.C: New test.
	* g++.dg/cpp2a/constexpr-try2.C: New test.
	* g++.dg/cpp2a/constexpr-try3.C: New test.
	* g++.dg/cpp2a/constexpr-try4.C: New test.
	* g++.dg/cpp2a/constexpr-try5.C: New test.
	* g++.dg/cpp0x/constexpr-ctor10.C: Don't expect error for C++2a.

From-SVN: r269314
2019-03-01 15:20:03 +01:00