Tamar Christina [Mon, 4 Mar 2019 16:31:00 +0000 (16:31 +0000)]
Add missing gcc/testsuite/ChangeLog changelog entry.
From-SVN: r269367
Tamar Christina [Mon, 4 Mar 2019 15:48:49 +0000 (15:48 +0000)]
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
Jonathan Wakely [Mon, 4 Mar 2019 13:18:47 +0000 (13:18 +0000)]
Remove redundant dg-do directive from test
* testsuite/26_numerics/bit/bitops.rot/rotl.cc: Remove bogus dg-do
directive.
From-SVN: r269365
Wilco Dijkstra [Mon, 4 Mar 2019 12:36:04 +0000 (12:36 +0000)]
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
Richard Biener [Mon, 4 Mar 2019 12:23:17 +0000 (12:23 +0000)]
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
Jonathan Wakely [Mon, 4 Mar 2019 12:21:06 +0000 (12:21 +0000)]
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
Bin Cheng [Mon, 4 Mar 2019 01:38:25 +0000 (01:38 +0000)]
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
GCC Administrator [Mon, 4 Mar 2019 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r269360
Jonathan Wakely [Sun, 3 Mar 2019 22:23:33 +0000 (22:23 +0000)]
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
Harald Anlauf [Sun, 3 Mar 2019 20:24:53 +0000 (20:24 +0000)]
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
Thomas Koenig [Sun, 3 Mar 2019 13:16:40 +0000 (13:16 +0000)]
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
GCC Administrator [Sun, 3 Mar 2019 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r269347
Johannes Pfau [Sat, 2 Mar 2019 19:14:54 +0000 (19:14 +0000)]
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
Harald Anlauf [Sat, 2 Mar 2019 15:29:27 +0000 (15:29 +0000)]
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
Jakub Jelinek [Sat, 2 Mar 2019 08:06:57 +0000 (09:06 +0100)]
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
Jakub Jelinek [Sat, 2 Mar 2019 08:05:10 +0000 (09:05 +0100)]
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
Ian Lance Taylor [Sat, 2 Mar 2019 00:50:30 +0000 (00:50 +0000)]
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
Kito Cheng [Sat, 2 Mar 2019 00:36:22 +0000 (00:36 +0000)]
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
GCC Administrator [Sat, 2 Mar 2019 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r269336
Ian Lance Taylor [Fri, 1 Mar 2019 22:22:18 +0000 (22:22 +0000)]
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
Jakub Jelinek [Fri, 1 Mar 2019 19:06:36 +0000 (20:06 +0100)]
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
Segher Boessenkool [Fri, 1 Mar 2019 18:04:31 +0000 (19:04 +0100)]
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
Segher Boessenkool [Fri, 1 Mar 2019 17:44:15 +0000 (18:44 +0100)]
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
Alexander Monakov [Fri, 1 Mar 2019 16:18:04 +0000 (19:18 +0300)]
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
Marek Polacek [Fri, 1 Mar 2019 15:57:46 +0000 (15:57 +0000)]
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
Marek Polacek [Fri, 1 Mar 2019 15:55:56 +0000 (15:55 +0000)]
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
Ian Lance Taylor [Fri, 1 Mar 2019 14:21:24 +0000 (14:21 +0000)]
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
Jakub Jelinek [Fri, 1 Mar 2019 14:20:03 +0000 (15:20 +0100)]
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
Jonathan Wakely [Fri, 1 Mar 2019 13:50:41 +0000 (13:50 +0000)]
Fix test memory_resource to work without sized deallocation
The checking memory_resource in the testsuite assumes sized deallocation
is supported, which might not be true for other compilers.
* testsuite/util/testsuite_allocator.h (__gnu_test::memory_resource)
[!__cpp_sized_deallocation]: Do not pass size to operator delete.
From-SVN: r269312
Jonathan Wakely [Fri, 1 Mar 2019 13:50:36 +0000 (13:50 +0000)]
C++2a Utility functions to implement uses-allocator construction (P0591R4)
* include/std/memory (uses_allocator_construction_args): New set of
overloaded functions.
(make_obj_using_allocator, uninitialized_construct_using_allocator):
New functions.
* include/std/memory_resource (polymorphic_allocator::construct)
[__cplusplus > 201703l]: Replace all overloads with a single function
using uses_allocator_construction_args.
* testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: New
test.
* testsuite/20_util/uses_allocator/make_obj.cc: New test.
From-SVN: r269311
Tamar Christina [Fri, 1 Mar 2019 13:34:14 +0000 (13:34 +0000)]
AArch64: Make every option in options.def one line
Due to config.gcc all the options need to be on one line because of the grep
lines which would select only the first line of the option.
This causes it not to select the right bits on options that are spread over
multiple lines when the --with-arch configure option is used. The issue happens
silently and you just get a compiler with an incorrect set of default flags.
This solution just collapses everything back to one line as they were in GCC7.
Unfortunately this does make some lines quite long.
I do have an alternate patch which used the pre-processors to first flatten the
file in config.gcc. I will send that one out for GCC 10.
gcc/ChangeLog:
PR target/89517
* config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, fp16,
rdma, dotprod, sha2, sha3, sm4, fp16fml, sve): Collapse line.
From-SVN: r269309
Richard Sandiford [Fri, 1 Mar 2019 13:05:40 +0000 (13:05 +0000)]
Fix mask type choice in vectorizable_call (PR 89535)
This is another case in which we were failing to pass the expected
mask vector type to vect_get_vec_def_for_operand.
2019-02-28 Richard Sandiford <richard.sandiford@arm.com>
gcc/
PR tree-optimization/89535
* tree-vect-stmts.c (vectorizable_call): Record the vector types
for each operand. Calculate the fallback choice for mask operands
and pass it to vect_get_vec_def_for_operand.
gcc/testsuite/
PR tree-optimization/89535
* gfortran.dg/vect/pr89535.f90: New test.
From-SVN: r269308
Richard Biener [Fri, 1 Mar 2019 12:52:19 +0000 (12:52 +0000)]
re PR tree-optimization/89541 (ICE in VN_INFO(tree_node*))
2019-03-01 Richard Biener <rguenther@suse.de>
PR middle-end/89541
* tree-ssa-operands.c (add_stmt_operand): CONST_DECL may
get virtual operands.
(get_expr_operands): Handle CONST_DECL like other decls.
* gfortran.dg/pr89451.f90: New testcase.
From-SVN: r269307
Iain Buclaw [Fri, 1 Mar 2019 10:21:54 +0000 (10:21 +0000)]
d/dmd: Merge dmd upstream
ed71446aa
Backports support for extern(C++, "namespace"), which makes the
core.stdcpp package compilable.
Added predefined condition for CppRuntime_Gcc unconditionally, as it is
unlikely that D code will be linking to anything other than libstdc++
when extern(C++) is used.
Reviewed-on: https://github.com/dlang/dmd/pull/9371
gcc/d/ChangeLog:
2019-03-01 Iain Buclaw <ibuclaw@gdcproject.org>
* d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
version condition.
From-SVN: r269304
Jakub Jelinek [Fri, 1 Mar 2019 09:26:40 +0000 (10:26 +0100)]
re PR middle-end/89503 (Checking ICE in 'gcc.dg/warn-strlen-no-nul.c')
PR middle-end/89503
* fold-const.c (fold_checksum_tree): Ignore TREE_NO_WARNING bit
on DECL_P and EXPR_P.
From-SVN: r269303
Richard Biener [Fri, 1 Mar 2019 09:21:30 +0000 (09:21 +0000)]
re PR middle-end/89497 (ICE caused by Segmentation Fault when compiling cups 2.2.10 with LTO flags enabled)
2019-03-01 Richard Biener <rguenther@suse.de>
PR middle-end/89497
* tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
argument, defaulted to zero.
* passes.c (execute_function_todo): Pass down SSA update flags
to cleanup_tree_cfg.
* tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
(cleanup_tree_cfg_noloop): After cleanup_control_flow_pre update SSA
form if requested.
(cleanup_tree_cfg): Get and pass down SSA update flags.
* gcc.dg/tree-ssa/reassoc-43.c: Avoid false match in regex.
* g++.dg/tree-prof/devirt.C: Scan tracer dump for foldings
that happen now earlier.
From-SVN: r269302
Jakub Jelinek [Fri, 1 Mar 2019 08:10:19 +0000 (09:10 +0100)]
re PR bootstrap/89539 (gcc fails to build/bootstrap on MACOSX)
PR bootstrap/89539
* dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to
early_lto_debug argument.
From-SVN: r269301
Ian Lance Taylor [Fri, 1 Mar 2019 05:25:36 +0000 (05:25 +0000)]
re PR go/89406 (Go testing leaves many temporary directories in /tmp around)
PR go/89406
* Makefile.am (GOTOOLS_TEST_TIMEOUT): Double.
* Makefile.in: Regenerate.
From-SVN: r269300
Ian Lance Taylor [Fri, 1 Mar 2019 01:23:09 +0000 (01:23 +0000)]
cmd/go: add -O2 to invocation of gccgo
When using the go tool with gccgo, this changes the default
compilation to use -O2. The -gccgoflags option can be used to
override this default. I think this change better corresponds to what
people expect when using the go tool.
Reviewed-on: https://go-review.googlesource.com/c/164378
From-SVN: r269299
Ian Lance Taylor [Fri, 1 Mar 2019 01:03:54 +0000 (01:03 +0000)]
commit
66ac9466852d11e968f8fd2ad6ffc7386cee49e1
gotest: avoid using echo inside $()
The handling of newlines is not portable between bash and ksh.
Reviewed-on: https://go-review.googlesource.com/c/164597
From-SVN: r269298
GCC Administrator [Fri, 1 Mar 2019 00:16:34 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r269297
Jason Merrill [Fri, 1 Mar 2019 00:10:28 +0000 (19:10 -0500)]
* g++.dg/cpp1z/fold-lambda3.C: Add test for 88183.
From-SVN: r269294
Jason Merrill [Fri, 1 Mar 2019 00:08:58 +0000 (19:08 -0500)]
PR c++/88183 - ICE with .* fold-expression.
build_m_component_ref can't handle type-dependent operands, so let's use the
default case; tsubst_copy_and_build also uses build_x_binary_op for
substituting a DOTSTAR_EXPR.
* pt.c (fold_expression) [DOTSTAR_EXPR]: Remove special handling.
From-SVN: r269293
Jason Merrill [Fri, 1 Mar 2019 00:08:21 +0000 (19:08 -0500)]
PR c++/86969 - ICE with constexpr if and recursive generic lambdas.
* class.c, lambda.c, pt.c: Revert earlier change.
* lambda.c (add_capture): Don't special-case capture of dependent
VLA.
From-SVN: r269292
Jason Merrill [Fri, 1 Mar 2019 00:07:29 +0000 (19:07 -0500)]
* name-lookup.c (print_binding_level): Print this_entity.
From-SVN: r269291
Eric Botcazou [Thu, 28 Feb 2019 23:03:01 +0000 (23:03 +0000)]
re PR tree-optimization/89536 (wrong code at -Os and above on x86_64-linux-gnu)
PR tree-optimization/89536
* tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test
only whether bit #0 of the value is 0 instead of the entire value.
From-SVN: r269289
Marek Polacek [Thu, 28 Feb 2019 22:29:42 +0000 (22:29 +0000)]
PR c++/87068 - missing diagnostic with fallthrough statement.
* gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found
at the end of a seq, save its location to walk_stmt_info.
(expand_FALLTHROUGH): Warn if IFN_FALLTHROUGH is at the end of
a switch.
* c-c++-common/Wimplicit-fallthrough-37.c: New test.
From-SVN: r269288
Thomas Schwinge [Thu, 28 Feb 2019 20:31:36 +0000 (21:31 +0100)]
[PR72741, PR89433] Repeated use of the Fortran OpenACC 'routine' directive
gcc/fortran/
PR fortran/72741
PR fortran/89433
* openmp.c (gfc_match_oacc_routine): Handle repeated use of the
Fortran OpenACC 'routine' directive.
gcc/testsuite/
PR fortran/72741
PR fortran/89433
* gfortran.dg/goacc/routine-multiple-directives-1.f90: New file.
* gfortran.dg/goacc/routine-multiple-directives-2.f90: Likewise.
Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r269287
Thomas Schwinge [Thu, 28 Feb 2019 20:31:23 +0000 (21:31 +0100)]
[PR72741] For all Fortran OpenACC 'routine' directive variants check for multiple clauses specifying the level of parallelism
gcc/fortran/
PR fortran/72741
* gfortran.h (enum oacc_routine_lop): Add OACC_ROUTINE_LOP_ERROR.
* openmp.c (gfc_oacc_routine_lop, gfc_match_oacc_routine): Use it.
* trans-decl.c (add_attributes_to_decl): Likewise.
gcc/testsuite/
PR fortran/72741
* gfortran.dg/goacc/routine-multiple-lop-clauses-1.f90: New file.
Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r269286
Thomas Schwinge [Thu, 28 Feb 2019 20:31:01 +0000 (21:31 +0100)]
[PR72741, PR89433] Accept intrinsic symbols in Fortran OpenACC 'routine' directives
gcc/fortran/
PR fortran/72741
PR fortran/89433
* openmp.c (gfc_match_oacc_routine): Accept intrinsic symbols.
gcc/testsuite/
PR fortran/72741
PR fortran/89433
* gfortran.dg/goacc/routine-6.f90: Update
* gfortran.dg/goacc/routine-intrinsic-1.f: New file.
* gfortran.dg/goacc/routine-intrinsic-2.f: Likewise.
Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
From-SVN: r269285
Jason Merrill [Thu, 28 Feb 2019 17:29:48 +0000 (12:29 -0500)]
PR c++/88049 - ICE with undefined destructor and anon namespace.
A type in an anonymous namespace can never be merged with one from
another translation unit, so a member of such a type is always its own
prevailing decl.
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Return early
for a type in an anonymous namespace.
From-SVN: r269283
Jan Hubicka [Thu, 28 Feb 2019 16:45:44 +0000 (17:45 +0100)]
re PR lto/88585 (ICE in fld_incomplete_type_of, at tree.c:5295)
PR lto/88585
* tree.c (find_atomic_core_type): Move ahead in file.
(check_base_type): Correctly compare alignments of atomic types.
From-SVN: r269282
H.J. Lu [Thu, 28 Feb 2019 14:24:52 +0000 (14:24 +0000)]
i386: Identify Westmere from PCLMUL
Since AES has been removed from Westmere in GCC 9, we should identify
Westmere from PCLMUL, instead of AES.
PR target/89455
* config/i386/i386.c (get_builtin_code_for_version): Identify
Westmere from PCLMUL, instead of AES.
From-SVN: r269281
Jakub Jelinek [Thu, 28 Feb 2019 13:49:38 +0000 (14:49 +0100)]
re PR c/89521 (ICE in expand_builtin_int_roundingfn, at builtins.c:2697)
PR c/89521
* gcc.dg/pr89521-1.c: New test.
* gcc.dg/pr89521-2.c: New test.
From-SVN: r269280
John David Anglin [Thu, 28 Feb 2019 13:17:09 +0000 (13:17 +0000)]
Fix test-case visibility (PR testsuite/89441).
2019-02-28 John David Anglin <danglin@gcc.gnu.org>
PR testsuite/89441
* g++.dg/ipa/pr89009.C: Update symbol visibility.
From-SVN: r269278
Jakub Jelinek [Thu, 28 Feb 2019 13:13:33 +0000 (14:13 +0100)]
re PR target/89434 (wrong code with -Og and __builtin_mul_overflow())
PR target/89434
* config/arm/arm.md (*subsi3_carryin_compare_const): Use
trunc_int_for_mode (-INTVAL (...), SImode), just instead of
-UINTVAL (...).
From-SVN: r269277
Tamar Christina [Thu, 28 Feb 2019 10:43:41 +0000 (10:43 +0000)]
AArch64: Have empty HWCAPs string ignored during native feature detection
This patch makes the feature detection code for AArch64 GCC not add features
automatically when the feature had no hwcaps string to match against.
This means that -mcpu=native no longer adds feature flags such as +profile.
The behavior wasn't noticed before because at the time +profile was added a bug
was preventing any feature bits from being added by native detections.
The loop has also been changed as Jakub specified in order to avoid a memory
leak that was present in the existing code and to be slightly more efficient.
gcc/ChangeLog:
PR target/88530
* config/aarch64/aarch64-option-extensions.def: Document it.
* config/aarch64/driver-aarch64.c (host_detect_local_cpu): Skip feature
if empty hwcaps.
gcc/testsuite/ChangeLog:
PR target/88530
* gcc.target/aarch64/options_set_10.c: New test.
From-SVN: r269276
Paolo Carlini [Thu, 28 Feb 2019 10:27:03 +0000 (10:27 +0000)]
re PR c++/89522 (ICE: trying to capture 'f' in instantiation of generic lambda)
2019-02-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/89522
* g++.dg/cpp1y/lambda-generic-ice10.C: New.
From-SVN: r269275
Jakub Jelinek [Thu, 28 Feb 2019 07:17:49 +0000 (08:17 +0100)]
re PR c/89525 (inform messages from -Wbuiltin-declaration-mismatch even with -w)
PR c/89525
* c-typeck.c (convert_arguments): Call inform_declaration only if
the previous warning_at call returned true.
* gcc.dg/pr89525.c: New test.
From-SVN: r269274
Jakub Jelinek [Thu, 28 Feb 2019 07:16:38 +0000 (08:16 +0100)]
re PR c/89520 (ICE tree check: accessed operand 4 of call_expr with 3 operands in convert_to_integer_1, at convert.c:668)
PR c/89520
* convert.c (convert_to_real_1, convert_to_integer_1): Punt for
builtins if they don't have a single scalar floating point argument.
Formatting fixes.
* gcc.dg/pr89520-1.c: New test.
* gcc.dg/pr89520-2.c: New test.
From-SVN: r269273
Ian Lance Taylor [Thu, 28 Feb 2019 01:01:46 +0000 (01:01 +0000)]
libgo: fix go_export extraction on Darwin
On Darwin, the section name is prefixed with the segment name, __GNU_GO.
Reviewed-on: https://go-review.googlesource.com/c/151097
From-SVN: r269271
GCC Administrator [Thu, 28 Feb 2019 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r269270
Marek Polacek [Thu, 28 Feb 2019 00:07:06 +0000 (00:07 +0000)]
PR c++/88857 - ICE with value-initialization of argument in template.
* call.c (convert_like_real): Don't call build_value_init in template.
* g++.dg/cpp0x/initlist-value4.C: New test.
From-SVN: r269267
Ian Lance Taylor [Wed, 27 Feb 2019 22:35:10 +0000 (22:35 +0000)]
re PR go/89172 (FAIL: runtime/pprof)
PR go/89172
internal/cpu, runtime, runtime/pprof: handle function descriptors
When using PPC64 ELF ABI v1 a function address is not a PC, but is the
address of a function descriptor. The first field in the function
descriptor is the actual PC (see
http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES).
The libbacktrace library knows about this, and libgo uses actual PC
values consistently except for the helper function funcPC that appears
in both runtime and runtime/pprof.
This patch fixes funcPC by recording, in the internal/cpu package,
whether function descriptors are being used. We have to check for
function descriptors using a C compiler check, because GCC can be
configured using --with-abi to select the ELF ABI to use.
Fixes https://gcc.gnu.org/PR89172
Reviewed-on: https://go-review.googlesource.com/c/162978
From-SVN: r269266
Jason Merrill [Wed, 27 Feb 2019 21:54:25 +0000 (16:54 -0500)]
PR c++/86969 - ICE with constexpr if and recursive generic lambdas.
Here, the problem was that extract_local_specs wasn't seeing that we use
'self' inside the lambda in the else of the inner constexpr if, because we
don't walk into lambda bodies and we didn't capture it in the lambda because
'self' is still dependent. Marek recently changed process_outer_var_ref to
do more implicit capture in templates; this example shows that we should
always capture non-packs, so that we can continue to not walk into lambda
bodies. We do walk into lambda bodies for pack expansions, so we can delay
deciding whether we're capturing a single element or the entire pack.
Immediately capturing a VLA means we need to create a dependent VLA capture
type, and not in the context of the lambda op(), since trying to look up the
instantiation of the op() while we're substituting into the capture list
would crash. So I force TYPE_CONTEXT and the binding level out to the
enclosing function before pushtag, avoid adding a TAG_DEFN, and instead
force the type to be complete in tsubst_lambda_expr.
* semantics.c (process_outer_var_ref): Do capture dependent vars.
* class.c (finish_struct): Only add TAG_DEFN if T is in
current_function_decl.
* lambda.c (vla_capture_type): Force the capture type out into the
lambda's enclosing function.
(add_capture): Pass in the lambda.
* pt.c (tsubst_lambda_expr): complete_type a VLA capture type.
From-SVN: r269265
Bernd Edlinger [Wed, 27 Feb 2019 20:14:55 +0000 (20:14 +0000)]
re PR rtl-optimization/89490 (char array constant put in string merge section)
2019-02-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/89490
* varasm.c (get_block_for_section): Bail out for mergeable sections.
(default_use_anchors_for_symbol_p, output_object_block): Assert the
block section is not mergeable.
From-SVN: r269264
Marek Polacek [Wed, 27 Feb 2019 19:07:18 +0000 (19:07 +0000)]
PR c++/89511 - ICE with using-declaration and unscoped enumerator.
* parser.c (cp_parser_using_declaration): For an unscoped enum
only use its context if it's not a function declaration.
* g++.dg/cpp0x/using-enum-3.C: New test.
From-SVN: r269262
Jakub Jelinek [Wed, 27 Feb 2019 18:11:26 +0000 (19:11 +0100)]
re PR target/70341 (cost model for addresses is incorrect, slsr is using reg + reg + CST for arm)
PR target/70341
* config/aarch64/aarch64.md (casesi): Create the casesi_dispatch
MEM manually here, set MEM_READONLY_P and MEM_NOTRAP_P on it.
From-SVN: r269260
Ian Lance Taylor [Wed, 27 Feb 2019 15:51:49 +0000 (15:51 +0000)]
runtime: align first persistentalloc chunk as requested
Backport of upstream https://golang.org/cl/163859.
This fixes various failures on 32-bit SPARC.
Patch from Eric Boctazou.
Reviewed-on: https://go-review.googlesource.com/c/163860
From-SVN: r269258
Jakub Jelinek [Wed, 27 Feb 2019 15:22:16 +0000 (16:22 +0100)]
re PR tree-optimization/89280 (ICE: Segmentation fault (in is_gimple_reg_type))
PR tree-optimization/89280
* gcc.dg/torture/pr57147-2.c (SetNaClSwitchExpectations): Add static
keyword.
From-SVN: r269256
Jakub Jelinek [Wed, 27 Feb 2019 14:50:35 +0000 (15:50 +0100)]
re PR target/70341 (cost model for addresses is incorrect, slsr is using reg + reg + CST for arm)
PR target/70341
* config/arm/arm.md (arm_casesi_internal): New define_expand. Rename
old define_insn to ...
(*arm_casesi_internal): ... this. Add mode to LABEL_REFs.
* config/arm/thumb2.md (thumb2_casesi_internal): New define_expand.
Rename old define_insn to ...
(*thumb2_casesi_internal): ... this. Add mode to LABEL_REFs.
(thumb2_casesi_internal_pic): New define_expand. Rename old
define_insn to ...
(*thumb2_casesi_internal_pic): ... this. Add mode to LABEL_REFs.
From-SVN: r269255
Richard Biener [Wed, 27 Feb 2019 14:04:18 +0000 (14:04 +0000)]
re PR debug/88878 (.debug_pubnames/types empty with -flto)
2019-02-27 Richard Biener <rguenther@suse.de>
PR debug/88878
* dwarf2out.c (use_debug_types): Disable when in_lto_p.
From-SVN: r269253
Richard Biener [Wed, 27 Feb 2019 13:24:40 +0000 (13:24 +0000)]
passes.c (should_skip_pass_p): Do not skip cgraph-edge building.
2019-02-27 Richard Biener <rguenther@suse.de>
* passes.c (should_skip_pass_p): Do not skip cgraph-edge
building.
* gcc.dg/gimplefe-36.c: New testcase.
From-SVN: r269252
Richard Biener [Wed, 27 Feb 2019 12:51:43 +0000 (12:51 +0000)]
re PR debug/88878 (.debug_pubnames/types empty with -flto)
2019-02-27 Richard Biener <rguenther@suse.de>
PR debug/88878
* dwarf2out.c (output_comdat_type_unit): Add early_lto_debug
parameter, prefix section name with .gnu.debuglto_ if true.
(dwarf2out_finish): Pass false to output_comdat_type_unit.
(dwarf2out_early_finish): Pass true to output_comdat_type_unit.
From-SVN: r269251
Richard Biener [Wed, 27 Feb 2019 11:59:07 +0000 (11:59 +0000)]
re PR lto/89514 (-g -fdebug-types-section -flto gives 'Dwarf Error: bad length' in gdb)
2019-02-27 Richard Biener <rguenther@suse.de>
PR debug/89514
* dwarf2out.c (size_of_die): Key on AT_ref (a)->comdat_type_p
rather than on use_debug_types, doing what output_die does.
(value_format): Likewise.
From-SVN: r269250
Jonathan Wakely [Wed, 27 Feb 2019 11:25:44 +0000 (11:25 +0000)]
PR libstdc++/89466 avoid slow xsltproc command in configure
Certain broken versions of xsltproc ignore the --nonet option and will
attempt to fetch the docbook stylesheet from the WWW when it isn't in
the local XML catalog.
This patch checks for the local stylesheet directory first, and doesn't
use xsltproc if no local stylesheets are found. Checking for the local
directory is done using xmlcatalog if available, only checking the
hardcoded list of directories if xmlcatalog fails. The right directory
for Suse is added to the hardcoded list.
This should avoid doing an xsltproc check that would need to download
the stylesheet, so no network connection is made even if a broken
xsltproc is present.
PR libstdc++/89466
* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
stylesheet directories before check for xsltproc. Try to use
xmlcatalog to find local stylesheet directory before trying hardcoded
paths. Add path used by suse to hardcoded paths. Adjust xsltproc
check to look for the same stylesheet as doc/Makefile.am uses. Don't
use xsltproc if xmlcatalog fails to find a local stylesheet.
* configure.ac: Check for xmlcatalog.
* Makefile.in: Regenerate.
* configure: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/c++11/Makefile.in: Likewise.
* src/c++17/Makefile.in: Likewise.
* src/c++98/Makefile.in: Likewise.
* src/filesystem/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r269249
Alejandro Martinez [Wed, 27 Feb 2019 10:38:25 +0000 (10:38 +0000)]
Replaced spaces with tab in Changelog, committed as obvious
From-SVN: r269248
Alejandro Martinez [Wed, 27 Feb 2019 10:23:54 +0000 (10:23 +0000)]
Add myself to write after approval.
From-SVN: r269247
Martin Jambor [Wed, 27 Feb 2019 10:07:01 +0000 (11:07 +0100)]
[doc] Reword description of -Wno-absolute-value
2019-02-27 Martin Jambor <mjambor@suse.cz>
Martin Sebor <msebor@redhat.com>
* doc/invoke.texi (Warning Options): Reword description of
-Wno-absolute-value.
Co-Authored-By: Martin Sebor <msebor@redhat.com>
From-SVN: r269246
Paolo Carlini [Wed, 27 Feb 2019 10:02:23 +0000 (10:02 +0000)]
re PR c++/89488 (ICE in merge_exception_specifiers, at cp/typeck2.c:2395)
/cp
2019-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/89488
* method.c (process_subob_fn): When maybe_instantiate_noexcept
returns false don't call merge_exception_specifiers.
/testsuite
2019-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/89488
* g++.dg/cpp0x/nsdmi15.C: New.
/cp
2019-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/88987
* parser.c (cp_parser_noexcept_specification_opt): Return NULL_TREE
for a non-constant parsed expression.
/testsuite
2019-02-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/88987
* g++.dg/cpp0x/pr88987.C: New.
From-SVN: r269245
Jakub Jelinek [Wed, 27 Feb 2019 08:41:01 +0000 (09:41 +0100)]
re PR tree-optimization/89280 (ICE: Segmentation fault (in is_gimple_reg_type))
PR tree-optimization/89280
* tree-cfgcleanup.c (maybe_dead_abnormal_edge_p,
builtin_setjmp_setup_bb): New functions.
(cleanup_control_flow_pre): Ignore maybe_dead_abnormal_edge_p edges.
When visiting __builtin_setjmp_setup block, queue in special
setjmp_vec vector edges from .ABNORMAL_DISPATCHER to corresponding
__builtin_setjmp_receiver. Remove .ABNORMAL_DISPATCHER basic blocks
from visited after the loop if they don't have any visited successor
blocks.
* gcc.c-torture/compile/pr89280.c: New test.
* gcc.dg/torture/pr57147-2.c: Don't expect a setjmp after noreturn
function. Skip the test for -O0.
From-SVN: r269243
Ian Lance Taylor [Wed, 27 Feb 2019 04:56:12 +0000 (04:56 +0000)]
compiler: check duplicate numeric keys in map literals
Updates golang/go#28104
Reviewed-on: https://go-review.googlesource.com/c/162882
From-SVN: r269242
Ian Lance Taylor [Wed, 27 Feb 2019 01:41:25 +0000 (01:41 +0000)]
compiler: check recursive inherited interface aliases
Fixes golang/go#25302.
Reviewed-on: https://go-review.googlesource.com/c/163298
From-SVN: r269241
Ian Lance Taylor [Wed, 27 Feb 2019 01:11:20 +0000 (01:11 +0000)]
cmd/go: preserve CC for TestScript child processes
Reviewed-on: https://go-review.googlesource.com/c/158838
From-SVN: r269240
GCC Administrator [Wed, 27 Feb 2019 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r269239
Steve Ellcey [Wed, 27 Feb 2019 00:02:53 +0000 (00:02 +0000)]
simd-builtins-1.f90: Update for aarch64*-*-*.
2018-02-26 Steve Ellcey <sellcey@marvell.com>
* gfortran.dg/simd-builtins-1.f90: Update for aarch64*-*-*.
* gfortran.dg/simd-builtins-2.f90: Ditto.
* gfortran.dg/simd-builtins-6.f90: Ditto.
* gfortran.dg/simd-builtins-8.f90: New test.
* gfortran.dg/simd-builtins-8.h: New header file.
From-SVN: r269236
Steve Ellcey [Wed, 27 Feb 2019 00:00:56 +0000 (00:00 +0000)]
aarch64.c (aarch64_get_multilib_abi_name): New function.
2018-02-26 Steve Ellcey <sellcey@marvell.com>
* config/aarch64/aarch64.c (aarch64_get_multilib_abi_name):
New function.
(TARGET_GET_MULTILIB_ABI_NAME): New macro.
From-SVN: r269235
Jonathan Wakely [Tue, 26 Feb 2019 23:12:44 +0000 (23:12 +0000)]
PR libstdc++/89477 constrain deduction guides for maps and sets
The Compare, Hash, and Pred template parameters should be constrained in
the C++17 deduction guides for associative and unordered containers.
The deduction guides for stack, queue and priority_queue are already
constrained, but this patch makes them use the _RequireNotAllocator
helper instead of reproducing the logic each time.
PR libstdc++/89477
* include/bits/alloc_traits.h (_RequireNotAllocator): New helper for
container deduction guides.
* include/bits/hashtable.h (_RequireNotAllocatorOrIntegral): Likewise.
* include/bits/stl_map.h (map): Use _RequireNotAllocator to constrain
parameters in deduction guides.
* include/bits/stl_multimap.h (multimap): Likewise.
* include/bits/stl_multiset.h (multiset): Likewise.
* include/bits/stl_queue.h (queue, priority_queue): Likewise.
* include/bits/stl_set.h (set): Likewise.
* include/bits/stl_stack.h (stack): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
use _RequireNotAllocator and _RequireNotAllocatorOrIntegral to
constrain parameters in deduction guides.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
* testsuite/23_containers/map/cons/deduction.cc: Test additional
deduction cases.
* testsuite/23_containers/multiset/cons/deduction.cc: Likewise.
* testsuite/23_containers/set/cons/deduction.cc: Likewise.
* testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise.
* testsuite/23_containers/unordered_multimap/cons/deduction.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/cons/deduction.cc:
Likewise.
* testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise.
From-SVN: r269234
Jakub Jelinek [Tue, 26 Feb 2019 21:27:33 +0000 (22:27 +0100)]
re PR c++/89507 (bogus "size of array exceeds maximum object size")
PR c++/89507
* tree.c (valid_constant_size_p): Deal with size INTEGER_CSTs
with types other than sizetype/ssizetype.
* g++.dg/other/new2.C: New test.
From-SVN: r269233
Eric Botcazou [Tue, 26 Feb 2019 21:08:22 +0000 (21:08 +0000)]
sparc-opts.h (enum processor_type): Rename to...
* config/sparc/sparc-opts.h (enum processor_type): Rename to...
(enum sparc_processor_type): ...this.
(enum sparc_code_model_type): New enumeration type.
(enum sparc_memory_model_type): Tweak comments.
* config/sparc/sparc.opt (mcpu): Adjust to above renaming.
(mtune): Likewise.
(mcmodel): Use sparc_code_model enumeration and variable.
(sparc_code_model): New enumeration.
(mdebug): Add Undocumented marker.
* config/sparc/sparc.h (enum cmodel): Delete.
(sparc_cmodel): Likewise.
(TARGET_CM_MEDLOW): Adjust to above renaming.
(TARGET_CM_MEDMID): Likewise.
(TARGET_CM_MEDANY): Likewise.
(TARGET_CM_EMBMEDANY): Likewise.
* config/sparc/sparc.c (sparc_cmodel): Delete.
(sparc_option_override): Remove string/value mapping support for the
code model. Move code and memory model support to after the handling
of target flags. Do private machine setup last.
(sparc_emit_set_symbolic_const64): Use sparc_code_model.
(sparc_legitimize_reload_address): Likewise.
(sparc_output_mi_thunk): Likewise.
* config/sparc/sparc.md (cpu): Adjust comment to above renaming.
From-SVN: r269232
Jakub Jelinek [Tue, 26 Feb 2019 20:36:29 +0000 (21:36 +0100)]
re PR tree-optimization/89500 (ICE: tree check: expected integer_cst, have ssa_name in get_len, at tree.h:5653)
PR tree-optimization/89500
* tree-ssa-strlen.c (stridx_strlenloc): Adjust comment.
(handle_builtin_strlen): Remove noncst_bound variable. Always
optimize strnlen (x, 0) to 0. Optimize strnlen (x, cst) to
cst if the first cst bytes starting at x are known to be non-zero,
even if the string is not zero terminated. Don't try to modify
*si for strnlen. Update strlen_to_stridx only for strlen or if
we can prove strnlen returns the same value as strlen would.
* gcc.dg/pr89500.c: New test.
* gcc.dg/Wstringop-overflow-10.c: New test.
* gcc.dg/strlenopt-60.c: New test.
From-SVN: r269230
Jonathan Wakely [Tue, 26 Feb 2019 20:34:46 +0000 (20:34 +0000)]
PR libstdc++/89416 fix alloc insertable trait for clang (again)
PR libstdc++/89416
* include/bits/alloc_traits.h (__is_alloc_insertable_impl): Change
to class template and partial specialization using void_t.
(__is_copy_insertable, __is_move_insertable): Adjust base class.
From-SVN: r269229
Harald Anlauf [Tue, 26 Feb 2019 20:03:08 +0000 (20:03 +0000)]
re PR fortran/89492 (Endless compilation of an invalid TRANSFER after r269177)
2019-02-26 Harald Anlauf <anlauf@gmx.de>
PR fortran/89492
* check.c (gfc_calculate_transfer_sizes): Handle cases where
storage size of elements of MOLD is 0.
PR fortran/89492
* gfortran.dg/pr89492.f90: New test.
From-SVN: r269227
Thomas Koenig [Tue, 26 Feb 2019 19:10:00 +0000 (19:10 +0000)]
re PR fortran/89496 (gcc/fortran/trans-types.c:3015:9: runtime error: member access within null pointer of type 'struct gfc_formal_arglist')
2019-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/89496
* trans-types.c (get_formal_from_actual_arglist): If
the actual arglist has no expression, the corresponding
formal arglist is an alternate return.
2019-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/89496
* gfortran.dg/altreturn_9_0.f90: New file.
* gfortran.dg/altreturn_9_1.f90: New file.
From-SVN: r269226
Uros Bizjak [Tue, 26 Feb 2019 18:41:53 +0000 (19:41 +0100)]
transfer.c (transfer_array_inner): Do not cast charlen to index_type.
* io/transfer.c (transfer_array_inner): Do not
cast charlen to index_type.
From-SVN: r269224
Martin Liska [Tue, 26 Feb 2019 17:27:52 +0000 (18:27 +0100)]
Improve memory statistics report readability.
2019-02-26 Martin Liska <mliska@suse.cz>
* alloc-pool.h (struct pool_usage): Remove extra
print_dash_line.
* bitmap.h (struct bitmap_usage): Likewise.
* ggc-common.c (struct ggc_usage): Likewise.
* mem-stats.h (struct mem_usage): Likewise.
(mem_alloc_description::dump): Print dash lines
here and repeat header at the end of a table report.
It's then more readable.
* tree-phinodes.c (phinodes_print_statistics): Make
horizontal alignment.
* tree-ssanames.c (ssanames_print_statistics): Likewise.
* vec.c (struct vec_usage): Remove extra print_dash_line.
* vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT.
2019-02-26 Martin Liska <mliska@suse.cz>
* symtab.c (ht_dump_statistics): Make
horizontal alignment for statistics.
From-SVN: r269221
Martin Liska [Tue, 26 Feb 2019 17:27:36 +0000 (18:27 +0100)]
Remove a legacy lto-symtab.c file.
2019-02-26 Martin Liska <mliska@suse.cz>
* lto-symtab.c: Remove.
From-SVN: r269220
Uros Bizjak [Tue, 26 Feb 2019 17:21:43 +0000 (18:21 +0100)]
extend.texi (__builtin_object_size): Use @pxref instead of @xref inside parenthesis.
* doc/extend.texi (__builtin_object_size):
Use @pxref instead of @xref inside parenthesis.
(__builtin_has_attribute): Add missing comma after @xref.
(__builtin_object_size): Ditto.
* doc/md.texi (cond_*{mode}): Use @samp instead of @var around op1[i].
* fortran/invoke.texi (-ffpe-trap): Use @var for every item
in the list.
From-SVN: r269219
Jeff Law [Tue, 26 Feb 2019 17:08:06 +0000 (10:08 -0700)]
re PR rtl-optimization/87761 ([MIPS] New FAIL: gcc.target/mips/fix-r4000-10.c -O1 start with r265398)
PR rtl-optimization/87761
* regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to
detect obviously dead insns and delete them.
From-SVN: r269218
Tom de Vries [Tue, 26 Feb 2019 16:09:40 +0000 (16:09 +0000)]
[libbacktrace] Fix btest-lto for older gcc
With gcc 4.8.5, btest_lto ends up with a privatized name for the variable with
name 'global':
...
$ nm btest_lto | grep ' d ' | grep global
0000000000617150 d global.2530
...
which makes test5 fail:
...
test5: unexpected syminfo name got global.2530 expected global
...
Fix this failure by accepting this type of name as a valid name in btest_lto.
2019-02-26 Tom de Vries <tdevries@suse.de>
* btest.c (test5): Allow global.* as minimal symbol name for global.
From-SVN: r269217