- 14 Jun, 2019 11 commits
-
-
As GCC now provides builtins for doing integer overflow checking, lets use it when checking for overflow in xmallocarray. Regtested on x86_64-pc-linux-gnu. libgfortran/ChangeLog: 2019-06-14 Janne Blomqvist <jb@gcc.gnu.org> * runtime/memory.c (SIZE_MAX):Remove macro definition. (xmallocarray): Use __builtin_mul_overflow. From-SVN: r272295
Janne Blomqvist committed -
Since inline_secondary_memory_needed has /* ??? This is a lie. We do have moves between mmx/general, and for mmx/sse2. But by saying we need secondary memory we discourage the register allocator from using the mmx registers unless needed. */ if (MMX_CLASS_P (class1) != MMX_CLASS_P (class2)) return true; moves between MMX and non-MMX units require secondary memory. There is no need to check moves between MMX and integer units. struct processor_costs has: const int mmxsse_to_integer; /* cost of moving mmxsse register to integer. */ const int ssemmx_to_integer; /* cost of moving integer to mmxsse register. */ This patch also renames mmxsse_to_integer to sse_to_integer and ssemmx_to_integer to integer_to_sse. Tested on Linux/x86-64. PR target/90877 * config/i386/i386-features.c (dimode_scalar_chain::compute_convert_gain): Replace mmxsse_to_integer with sse_to_integer. * config/i386/i386.c (ix86_register_move_cost): Verify that moves between MMX and non-MMX units require secondary memory. Correct costs of moves between SSE and integer units. * config/i386/i386.h (processor_costs): Rename cost of moving SSE register to integer to sse_to_integer. Rename cost of moving integer register to SSE to integer_to_sse. From-SVN: r272294
Hongtao Liu committed -
* class.c (maybe_warn_about_overly_private_class): Guard the call to inform. * g++.dg/warn/ctor-dtor-privacy-4.C: New. * g++.dg/warn/ctor-dtor-privacy-4.h: New. From-SVN: r272291
Marek Polacek committed -
This is a roll-up of a set of changes needed to support the Arm EABI on NetBSD. 2019-06-14 Matt Thomas <matt@3am-software.com> Matthew Green <mrg@eterna.com.au> Nick Hudson <skrll@netbsd.org> Maya Rashish <coypu@sdf.org> Richard Earnshaw <rearnsha@arm.com> gcc: * config.gcc (arm*-*-netbsdelf*) Add support for EABI configuration. * config.host (arm*-*-netbsd*): Use driver-arm.o on native NetBSD. * config/arm/netbsd-eabi.h: New file. * config/arm/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Undefine before redefining. (SUBTARGET_EXTRA_ASM_SPEC): Don't pass -matpcs to the assembler. * config/netbsd-elf.h (NETBSD_LINK_LD_ELF_SO_SPEC): New define. (NETBSD_SUBTARGET_EXTRA_SPECS): New define. (SUBTARGET_EXTRA_SPECS): Define to NETBSD_SUBTARGET_EXTRA_SPECS. libatomic: * configure.tgt (arm*): Handle NetBSD in the same way as FreeBSD. libgcc: * config.host (arm*-*-netbsdelf*): Add support for EABI configurations. * config/arm/t-netbsd (LIB1ASMFUNCS): Add some additional assembler functions to build. * config/arm/t-netbsd-eabi: New file. Co-Authored-By: Matthew Green <mrg@eterna.com.au> Co-Authored-By: Maya Rashish <coypu@sdf.org> Co-Authored-By: Nick Hudson <skrll@netbsd.org> Co-Authored-By: Richard Earnshaw <rearnsha@arm.com> From-SVN: r272290
Matt Thomas committed -
* include/experimental/type_traits (experimental::nonesuch): Use pragma to disable -Wctor-dtor-privacy warnings. * include/std/type_traits (__is_convertible_helper<From, To, false>) (__is_nt_convertible_helper<From, To, false>, __nonesuch): Likewise. From-SVN: r272289
Jonathan Wakely committed -
* include/std/version (__cpp_lib_bind_front): Add missing macro. From-SVN: r272288
Jonathan Wakely committed -
The problem here is that when processing direct-initialization of a data member, we don't need to worry about destruction semantics; that will be handled in the [cd]tor. Conveniently, we already have tf_no_cleanup from a similar fix to new-expressions. * typeck2.c (digest_nsdmi_init): Set tf_no_cleanup for direct-init. From-SVN: r272287
Jason Merrill committed -
tree-loop-distribution.c (classify_partition): Return whether a reduction appeared in all partitions and do not stop builtin... 2019-06-14 Richard Biener <rguenther@suse.de> * tree-loop-distribution.c (classify_partition): Return whether a reduction appeared in all partitions and do not stop builtin detection because of this. (distribute_loop): Sort a non-builtin partition last if there's a reduction in all partitions and make sure the partition prevailing as last is not a builtin. * gcc.dg/tree-ssa/ldist-26.c: Adjust. From-SVN: r272284
Richard Biener committed -
PR ipa/90401 gcc/ChangeLog: * ipa-prop.c (add_to_agg_contents_list): New function. (clobber_by_agg_contents_list_p): Likewise. (extract_mem_content): Likewise. (get_place_in_agg_contents_list): Delete. (determine_known_aggregate_parts): Renamed from determine_locally_known_aggregate_parts. New parameter aa_walk_budget_p. gcc/testsuite/ChangeLog: * gcc.dg/ipa/ipcp-agg-10.c: New test. From-SVN: r272282
Feng Xue committed -
gcc/ChangeLog: PR tree-optimization/90662 * tree-ssa-strlen.c (get_stridx): Convert fold_build2 operands to the same type. gcc/testsuite/ChangeLog: PR tree-optimization/90662 * gcc.dg/pr90866-2.c: New test. * gcc.dg/pr90866.c: Ditto. From-SVN: r272281
Martin Sebor committed -
From-SVN: r272280
GCC Administrator committed
-
- 13 Jun, 2019 27 commits
-
-
re PR bootstrap/90873 (-Wmaybe-uninitialized warning in gcc/tree-ssa-forwprop.c breaks 32-bit bootstrap) PR bootstrap/90873 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Also check that dbase is not TARGET_MEM_REF. From-SVN: r272273
Jan Hubicka committed -
From-SVN: r272272
Uros Bizjak committed -
* config/i386/i386.md (SWIM1248s): Rename from SWIM1248x. Update all uses. (and<mode>3): Use gen_extend_insn instead of indirect functions. Do not generate DImode extends for 32bit targets. (and->zext post-reload splitter): Use gen_extend_insn instead of indirect functions. (anddi->zext pre-reload splitter): New. * config/i386/i386-expand.c (ix86_expand_int_sse_cmp): Use gen_sub3_insn instead of indirect function. (ix86_expand_ashl_const): Use gen_add2_insn instead of indirect function. (ix86_adjust_counter): Ditto. From-SVN: r272270
Uros Bizjak committed -
PR tree-optimization/77820 * tree-ssa-threadedge.c (edge_forwards_cmp_to_conditional_jump_through_empty_bb_p): New function. (thread_across_edge): Add call to edge_forwards_cmp_to_conditional_jump_through_empty_bb_p. PR tree-optimization/77820 * gcc.dg/tree-ssa/phi_on_compare-1.c: New testcase. * gcc.dg/tree-ssa/phi_on_compare-2.c: New testcase. * gcc.dg/tree-ssa/phi_on_compare-3.c: New testcase. * gcc.dg/tree-ssa/phi_on_compare-4.c: New testcase. * gcc.dg/tree-ssa/split-path-6.c: Update testcase. * gcc.target/sh/pr51244-20.c: Update testcase. Co-Authored-By: Lijia He <helijia@linux.ibm.com> From-SVN: r272261
Jiufu Guo committed -
For PR target/63810 some improvements were made in the parsing of the version string at the point it's used to define the built-in __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__. This is fine, but the specs processing also uses the version, and specs version-compare doesn't like leading zeros on components. This means that while we succeed in processing -mmacosx-version-min=010.00002.000099 on compile lines, it fails for any other line that uses the value as part of a spec (in particular, link lines fail). To fix this, we need to apply a bit of clean-up to the version that's presented to the driver, and push that back into the command line opts. The value can come from four places: 1. User-entered on the command line 2. User-entered as MACOSX_DEPLOYMENT_TARGET= environment var. 3. Absent those two 3a For self-hosting systems, look-up from the kernel 3b For cross-compilers, as a default supplied at configure time. We apply the clean-up to all 4 (although it shouldn't really be needed for the cases under 3). We also supply a test-case that adapts to the target-version of the system, so that the link requirements are met by the SDK in use (if you try to link i686-darwin9 on an x86-64-darwin18 SDK, it will fail). gcc/ 2019-06-13 Iain Sandoe <iain@sandoe.co.uk> * config/darwin-driver.c (validate_macosx_version_min): New. (darwin_default_min_version): Cleanup and validate supplied version. (darwin_driver_init): Likewise and push cleaned version into opts. gcc/testsuite/ 2019-06-13 Iain Sandoe <iain@sandoe.co.uk> * gcc.dg/darwin-minversion-link.c: New test. From-SVN: r272260
Iain Sandoe committed -
2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68544 * resolve.c (is_dt_name): New function to compare symbol name against list of derived types. (resolve_actual_arglist): Use it to find wrong code. 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/68544 * gfortran.dg/pr68544.f90: New test. * gfortran.dg/pr85687.f90: Modify test for new error message. From-SVN: r272259
Steven G. Kargl committed -
This test fails for Darwin m32 because it's scanning for absence of an instruction that's validly used in PIC code. Fixed, in this case, by using non-PIC codegen. 2019-06-13 Iain Sandoe <iain@sandoe.co.uk> * g++.dg/pr71694.C: Use non-PIC codegen for Darwin m32. From-SVN: r272257
Iain Sandoe committed -
re PR fortran/89344 (uncaught programmer error: polymorphic variable is INTENT(IN) but assigned to without error) 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/89344 * expr.c (gfc_check_vardef_context): Check for INTENT(IN) variable in SELECT TYPE construct. 2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/89344 * gfortran.dg/pr89344.f90: New test. From-SVN: r272255
Steven G. Kargl committed -
2019-06-13 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88810 * dependency.c (gfc_dep_resolver): Re-arrange code to make the logic a bit more transparent. Fix 2 nearby formatting issues. From-SVN: r272254
Steven G. Kargl committed -
Newer OS versions (10.14+) do not provide some of the CRTs that are used for older ones (e.g. 10.5), and thus link tests that specify targeting such a revision fail. We retain the testing of the correct defined OS version number but switch to compile-only testing for these two tests. 2019-06-13 Iain Sandoe <iain@sandoe.co.uk> * gcc.dg/darwin-minversion-1.c: Use compile rather than link/run. * gcc.dg/darwin-minversion-2.c: Likewise. From-SVN: r272251
Iain Sandoe committed -
2019-06-13 Paolo Carlini <paolo.carlini@oracle.com> PR target/90871 * g++.dg/ext/altivec-15.C: Add dg-error directive. From-SVN: r272250
Paolo Carlini committed -
This test fails on Darwin because it requires alias support, so add the relevant dg-requires. 2019-06-13 Iain Sandoe <iain@sandoe.co.uk> * gcc.dg/pr90760.c: Require alias support. From-SVN: r272248
Iain Sandoe committed -
PR tree-optimize/90869 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Watch for view converts in MEM_REF referencing decl rather than view converts from decl type to MEM_REF type. * g++.dg/tree-ssa/alias-access-path-1.C: New testcase. From-SVN: r272247
Jan Hubicka committed -
re PR tree-optimization/90856 (ICE: verify_gimple failed (error: incompatible types in 'PHI' argument 1)) 2019-06-13 Richard Biener <rguenther@suse.de> PR tree-optimization/90856 * tree-sra.c (build_ref_for_model): Only use build_reconstructed_reference when address-spaces are the same. * gcc.target/i386/pr90856.c: New testcase. From-SVN: r272244
Richard Biener committed -
* config/nvptx/nvptx.c (nvptx_sese_number, nvptx_sese_pseudo): Don't wrap ei variable name in the declaration in ()s. (nvptx_single): Actually use mode_label variable. Formatting fix. From-SVN: r272243
Jakub Jelinek committed -
* g++.dg/tree-ssa/ssa-dse-1.C: Don't match exact number of chars of = {} store. * g++.dg/tree-ssa/pr31146.C: Change -fdump-tree-forwprop to -fdump-tree-forwprop1 in dg-options. Expect <int[5]> in MEM. From-SVN: r272240
Jakub Jelinek committed -
2019-06-13 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (vect_loop_vectorized_call): Declare. * tree-vectorizer.c (vect_loop_vectorized_call): Export and also return the condition stmt. * tree-vect-loop-manip.c (vect_loop_versioning): Compute outermost loop we can version and version that, reusing the loop version created by if-conversion instead of versioning again. * gcc.dg/vect/vect-version-1.c: New testcase. * gcc.dg/vect/vect-version-2.c: Likewise. From-SVN: r272239
Richard Biener committed -
From-SVN: r272238
Aldy Hernandez committed -
gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * doc/extend.texi (ARC Function Attributes): Update info. From-SVN: r272237
Claudiu Zissulescu committed -
/cp 2019-06-13 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Use id_loc in five additional places in the last part of the function. /testsuite 2019-06-13 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/diagnostic/variably-modified-type-1.C: New. * g++.dg/cpp0x/alias-decl-1.C: Test the location too. * g++.dg/other/pr84792-1.C: Likewise. * g++.dg/other/pr84792-2.C: Likewise. * g++.dg/parse/error24.C: Likewise. * g++.dg/parse/error32.C: Likewise. * g++.dg/parse/error33.C: Likewise. * g++.dg/parse/saved1.C: Likewise. * g++.dg/template/operator6.C: Likewise. * g++.dg/template/pr61745.C: Likewise. * g++.dg/template/typedef41.C: Likewise. * g++.old-deja/g++.jason/crash10.C: Likewise. /cp 2019-06-13 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Move further up the declaration of id_loc, use it immediately, update its value after the loop over declarator, use it again in the final part of function; improve locations of error messages about multiple data types and conflicting specifiers. /testsuite 2019-06-13 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/diagnostic/conflicting-specifiers-1.C: New. * g++.dg/diagnostic/two-or-more-data-types-1.C: Likewise. * g++.dg/parse/error10.C: Adjust location. * g++.dg/parse/pragma2.C: Likewise. From-SVN: r272236
Paolo Carlini committed -
2019-06-13 Richard Biener <rguenther@suse.de> PR c++/90801 * typeck2.c (split_nonconstant_init_1): Properly count num_split_elts, optimize single constructor elt removal. From-SVN: r272235
Richard Biener committed -
gcc/ChangeLog: * doc/invoke.texi (-ffinite-loops): Document new option. * common.opt (-ffinite-loops): New option. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark IFN_GOACC_LOOP calls as necessary. * tree-ssa-loop-niter.c (finite_loop_p): Assume loop with an exit is finite. * omp-offload.c (oacc_xform_loop): Skip lowering if return value of IFN_GOACC_LOOP call is not used. * opts.c (default_options_table): Enable -ffinite-loops at -O2+. gcc/testsuite/ChangeLog: * g++.dg/tree-ssa/empty-loop.C: New test. * gcc.dg/tree-ssa/dce-2.c: New test. * gcc.dg/const-1.c: Add -fno-finite-loops option. * gcc.dg/graphite/graphite.exp: Likewise. * gcc.dg/loop-unswitch-1.c: Likewise. * gcc.dg/predict-9.c: Likewise. * gcc.dg/pure-2.c: Likewise. * gcc.dg/tree-ssa/20040211-1.c: Likewise. * gcc.dg/tree-ssa/loop-10.c: Likewise. * gcc.dg/tree-ssa/split-path-6.c: Likewise. * gcc.dg/tree-ssa/ssa-thread-12.c: Likewise. libgomp/ChangeLog: * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test. From-SVN: r272234
Feng Xue committed -
gcc/ChangeLog: 2019-06-13 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> PR target/88838 * tree-vect-loop-manip.c (vect_set_loop_masks_directly): If the compare_type is not with Pmode size, we will create an IV with Pmode size with truncated use (i.e. converted to the correct type). * tree-vect-loop.c (vect_verify_full_masking): Find IV type. (vect_iv_limit_for_full_masking): New. Factored out of vect_set_loop_condition_masked. * tree-vectorizer.h (LOOP_VINFO_MASK_IV_TYPE): New. (vect_iv_limit_for_full_masking): Declare. gcc/testsuite/ChangeLog: 2019-06-13 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> PR target/88838 * gcc.target/aarch64/pr88838.c: New test. * gcc.target/aarch64/sve/while_1.c: Adjust. From-SVN: r272233
Kugan Vivekanandarajah committed -
gcc/ChangeLog: 2019-06-13 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> PR target/88834 * tree-ssa-loop-ivopts.c (get_mem_type_for_internal_fn): Handle IFN_MASK_LOAD_LANES and IFN_MASK_STORE_LANES. (get_alias_ptr_type_for_ptr_address): Likewise. (add_iv_candidate_for_use): Add scaled index candidate if useful. * tree-ssa-address.c (preferred_mem_scale_factor): New. * config/aarch64/aarch64.c (aarch64_classify_address): Relax allow_reg_index_p. gcc/testsuite/ChangeLog: 2019-06-13 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> PR target/88834 * gcc.target/aarch64/pr88834.c: New test. * gcc.target/aarch64/sve/struct_vect_1.c: Adjust. * gcc.target/aarch64/sve/struct_vect_14.c: Likewise. * gcc.target/aarch64/sve/struct_vect_15.c: Likewise. * gcc.target/aarch64/sve/struct_vect_16.c: Likewise. * gcc.target/aarch64/sve/struct_vect_17.c: Likewise. * gcc.target/aarch64/sve/struct_vect_7.c: Likewise. From-SVN: r272232
Kugan Vivekanandarajah committed -
gcc/ChangeLog: 2019-06-13 Kugan Vivekanandarajah <kugan.vivekanandarajah@linaro.org> * config/aarch64/iterators.md (ADDSUB): Fix typo in comment. From-SVN: r272231
Kugan Vivekanandarajah committed -
PR c++/87410 * g++.dg/cpp1y/pr87410.C: New test. From-SVN: r272230
Marek Polacek committed -
From-SVN: r272228
GCC Administrator committed
-
- 12 Jun, 2019 2 commits
-
-
* parser.c (cp_parser_lambda_introducer): Reject `&this'. Use cp_lexer_nth_token_is instead of cp_lexer_peek_nth_token. * g++.dg/cpp0x/lambda/lambda-this21.C: New test. From-SVN: r272223
Marek Polacek committed -
* io.c (check_format): Use G_(...) instead of _(...) for error values, append " in format string at %L" to all strings but unexpected_element, use error as gfc_error formating string instead of "%s in format string at %L". Formatting fixes. From-SVN: r272222
Jakub Jelinek committed
-