- 12 Dec, 2019 5 commits
-
-
PR 92846: ARC gcc generates FDCMP instructions which raises Invalid operation for signaling NaN only. This causes glibc iseqsig() primitives to fail (in the current ongoing glibc port to ARC) So break up the hard float compares into tw categories and for unordered compares generate the FDCMPF instructions which raised exception for either NaNs. With this fix testsuite/gcc.dg/torture/pr52451.c passes for ARC. Also no regressions for the glibc math testsuite, only 6 additional passes for test*iseqsig gcc/ xxxx-xx-xx Vineet Gupta <vgupta@synopsys.com> * config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which helps codegen generate exceptions even for quiet NaN. * config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode. (get_arc_condition_code): Likewise. (arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode. * config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode. * config/arc/predicates.md (proper_comparison_operator): Likewise. * config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE. (cmpdf_fpu_trap): Likewise. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> From-SVN: r279274
Vineet Gupta committed -
Allow the compiler to use the double-precision compare instructions. xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE. (cstoredi4): Use TARGET_HARD_FLOAT. From-SVN: r279273
Claudiu Zissulescu committed -
* include/tr1/cctype: Add _GLIBCXX_BEGIN_VERSION_NAMESPACE and _GLIBCXX_END_VERSION_NAMESPACE. * include/tr1/cfenv: Likewise. * include/tr1/cinttypes: Likewise. * include/tr1/cstdint: Likewise. * include/tr1/cstdio: Likewise. * include/tr1/cstdlib: Likewise. * include/tr1/cwchar: Likewise. * include/tr1/cwctype: Likewise. From-SVN: r279272
François Dumont committed -
* src/c++11/random.cc: Include <cctype>. (random_devise::_M_init_pretr1): Qualify isdigit call. From-SVN: r279271
François Dumont committed -
From-SVN: r279270
GCC Administrator committed
-
- 11 Dec, 2019 35 commits
-
-
opts.c (default_options_table): Move -ftree-loop-distribute-patterns entry from -O3 or later section to -O2 or... * opts.c (default_options_table): Move -ftree-loop-distribute-patterns entry from -O3 or later section to -O2 or later section. * doc/invoke.texi (-ftree-loop-distribute-patterns): Mention the option is enabled by default at -O2+ rather than just at -O3. From-SVN: r279267
Jakub Jelinek committed -
PR fortran/92899 * trans-openmp.c (gfc_trans_omp_atomic): For GFC_OMP_ATOMIC_SWAP, do look through conversion on expr2 if any. * testsuite/libgomp.fortran/atomic1.f90: New test. From-SVN: r279266
Jakub Jelinek committed -
PR target/92723 * tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not vect_internal_def, use oprnd1 as is, without trying to cast it. Formatting fix. * gcc.dg/vect/pr92723.c: New test. From-SVN: r279265
Jakub Jelinek committed -
2019-12-11 Matthias Klose <doko@ubuntu.com> * configure.ac: Factor out common cases for compare_exclusions. * configure: Regenerate. From-SVN: r279250
Matthias Klose committed -
gcc/ChangeLog: * builtins.c (compute_objsize): Add an argument and set it to offset into destination. * builtins.h (compute_objsize): Add an argument. * tree-object-size.c (addr_object_size): Add an argument and set it to offset into destination. (compute_builtin_object_size): Same. * tree-object-size.h (compute_builtin_object_size): Add an argument. * tree-ssa-strlen.c (get_addr_stridx): Add an argument and set it to offset into destination. (maybe_warn_overflow): New function. (handle_store): Call maybe_warn_overflow to issue warnings. gcc/testsuite/ChangeLog: * c-c++-common/Wstringop-overflow-2.c: Adjust text of expected messages. * g++.dg/warn/Wstringop-overflow-3.C: Same. * gcc.dg/Wstringop-overflow-17.c: Same. From-SVN: r279248
Martin Sebor committed -
2019-12-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/92897 * array.c (gfc_set_array_spec): Remove invalid assert() triggered by invalid Fortran code. 2019-12-11 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/92897 * gfortran.dg/pr92897.f90: New test. From-SVN: r279247
Steven G. Kargl committed -
ChangeLog: 2019-12-11 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config-ml.in (msp430-*-*): Support --disable-no-exceptions configure flag. gcc/ChangeLog: 2019-12-11 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config/msp430/msp430.h (STARTFILE_SPEC) [!fexceptions]: Use crtbegin_no_eh.o if building for the C language. [fno-exceptions]: Use crtbegin_no_eh.o if building for any language except C. (ENDFILE_SPEC) [!fexceptions]: Use crtend_no_eh.o if building for the C language. [fno-exceptions]: Use crtend_no_eh.o if building for any language except C. * config/msp430/t-msp430: Add -fno-exceptions multilib. * doc/install.texi: Document --disable-no-exceptions multilib configure option. * doc/sourcebuild.texi: Document exceptions_enabled effective target. gcc/testsuite/ChangeLog: 2019-12-11 Jozef Lawrynowicz <jozef.l@mittosystems.com> * lib/gcc-dg.exp: Add dg-prune messages for when exception handling is disabled. * lib/target-supports.exp (check_effective_target_exceptions_enabled): New. libgcc/ChangeLog: 2019-12-11 Jozef Lawrynowicz <jozef.l@mittosystems.com> * config.host: Add crt{begin,end}_no_eh.o to "extra_parts". * config.host (msp430*-*-elf): Add crt{begin,end}_no_eh.o to "extra_parts". From-SVN: r279246
Jozef Lawrynowicz committed -
This patch provides a way to clone a pretty_printer. This is needed so that we can capture text in a label_text and make layout decisions based on it, using the policy of global_dc's printer, whilst within a call to diagnostic_show_locus. We can't print with the pretty_printer itself within a call to diagnostic_show_locus since it has partly-buffered content. gcc/c-family/ChangeLog: * c-pretty-print.c (c_pretty_printer::clone): New vfunc implementation. * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl. gcc/cp/ChangeLog: * cxx-pretty-print.c (cxx_pretty_printer::clone): New vfunc implementation. * cxx-pretty-print.h (cxx_pretty_printer::clone): New vfunc decl. * error.c (cxx_format_postprocessor::clone): New vfunc. gcc/ChangeLog: * pretty-print.c (pretty_printer::pretty_printer): New copy-ctor. (pretty_printer::clone): New vfunc implementation. * pretty-print.h (format_postprocessor::clone): New pure vfunc decl. (pretty_printer::pretty_printer): New copy-ctor decl. (pretty_printer::clone): New vfunc decl. From-SVN: r279244
David Malcolm committed -
2019-12-11 Jozef Lawrynowicz <jozef.l@mittosystems.com> * crtstuff.c: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is true. From-SVN: r279243
Jozef Lawrynowicz committed -
This is used by new selftests in the analyzer patch kit. gcc/ChangeLog: * function-tests.c (selftest::make_fndecl): Make non-static. * selftest.h (selftest::make_fndecl): New decl. From-SVN: r279242
David Malcolm committed -
re PR c++/92869 (C++17 wrongly reports aggregate type as not-aggregate (when explicitly defaulted ctors are added)) PR c++/92869 * class.c (finish_struct): For C++17 and earlier, check type_has_user_provided_or_explicit_constructor rather than TYPE_HAS_USER_CONSTRUCTOR whether to set CLASSTYPE_NON_AGGREGATE. * g++.dg/cpp0x/aggr3.C: New test. From-SVN: r279241
Jakub Jelinek committed -
Ville pointed out that our paren init of aggregates doesn't work for auto a = new A(1, 2, 3); and I think it should: A new-expression that creates an object of type T initializes that object as follows: ... -- Otherwise, the new-initializer is interpreted according to the initialization rules of [dcl.init] for direct-initialization. so I think it follows that we should perform dcl.init#17.6.2.2. This doesn't work with new[]; we have: error ("parenthesized initializer in array new"); * init.c (build_new_1): Handle parenthesized initialization of aggregates in new-expression. * g++.dg/cpp2a/paren-init20.C: New test. From-SVN: r279240
Marek Polacek committed -
From-SVN: r279239
Jason Merrill committed -
The primary change here is to do the CPP_DECLTYPE replacement even when we get an error, so we don't keep trying and giving the same parse error each time. We also commit to the tentative firewall parse more often, leading to better diagnostics. * parser.c (cp_parser_decltype_expr): Don't tentative_firewall here. (cp_parser_decltype): Do it here. Remember a non-tentative error. From-SVN: r279237
Jason Merrill committed -
build_new_1 already passes tf_no_cleanup to build_value_init, but in this testcase we end up calling build_value_init by way of build_special_member_call, so we need to pass it to that function as well. * init.c (build_new_1): Also pass tf_no_cleanup to build_special_member_call. From-SVN: r279236
Jason Merrill committed -
Missing error-recovery code. While I was poking at this I also figured we don't need to iterate over the members of a union. * method.c (comp_info::~comp_info): Factor out of... (build_comparison_op): Here. Handle error return from build_new_op. From-SVN: r279235
Jason Merrill committed -
libgomp/ PR libgomp/92843 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic reference counting for structured 'REFCOUNT_INFINITY'. Add some assertions. (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly. * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file. * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC. * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise. From-SVN: r279234
Thomas Schwinge committed -
libgomp/ * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move... * oacc-mem.c: ... here. (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'. * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Remove. * libgomp_g.h: Update. From-SVN: r279233
Thomas Schwinge committed -
libgomp/ * oacc-parallel.c (GOACC_wait, goacc_wait): Move... * oacc-async.c: ... here. * oacc-int.h (goacc_wait): Declare. * libgomp_g.h: Update From-SVN: r279232
Thomas Schwinge committed -
[PR92854] Add 'libgomp.oacc-c-c++-common/acc_map_data-device_already-*.c', 'libgomp.oacc-c-c++-common/acc_map_data-host_already-*.c' ... to document the status quo. libgomp/ PR libgomp/92854 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: New file. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: Likewise. From-SVN: r279231
Thomas Schwinge committed -
Cases missed in r261813 "Update OpenACC data clause semantics to the 2.5 behavior". libgomp/ * target.c (gomp_load_image_to_device, omp_target_associate_ptr): Initialize 'dynamic_refcount' whenever we initialize 'refcount'. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r279230
Thomas Schwinge committed -
We also need unlowered_expr_type when considering associated types for ADL. * name-lookup.c: Use unlowered_expr_type. From-SVN: r279229
Jason Merrill committed -
Another place we need to look through the VIEW_CONVERT_EXPR we add to make a use of a class NTTP have const type. * pt.c (deducible_expression): Look through VIEW_CONVERT_EXPR. From-SVN: r279228
Jason Merrill committed -
gcc/testsuite/ChangeLog: * gcc.dg/Wstringop-overflow-26.c: New test. From-SVN: r279227
Martin Sebor committed -
2019-12-11 Lewis Hyatt <lhyatt@gmail.com> PR 91853 * pretty-print.c (pp_quoted_string): Avoid hex-escaping valid multibyte input. Fix off-by-one-bug printing the last byte before a hex-escaped output. (pp_character): Don't apply line wrapping in the middle of multibyte characters. (test_utf8): New test. (pretty_print_c_tests): Call the new test. From-SVN: r279226
Lewis Hyatt committed -
gcc/testsuite/ChangeLog: 2019-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com> * gcc.dg/vect/vect-epilogues.c: Remove xfail for arm. From-SVN: r279225
Andre Vieira committed -
From-SVN: r279220
Jonathan Wakely committed -
When a CPU such as cortex-a55 is used with the soft-float ABI variant, the compiler is incorrectly issuing a warning about a mismatch between the architecture (generated internally) and the CPU. This is not expected or intended. The problem stems from the fact that we generate (correctly) an architecture for a soft-float compilation, but then try to compare it against the one recorded for the CPU. Normally we strip out the floating point information before doing that comparison, but we currently only do that for the features that can be affected by the -mfpu option. For a soft-float environment we also need to strip out any bits that depend on having floating-point present. So this patch implements that and does a bit of housekeeping at the same time: - in arm-cpus.in it is not necessary for a CPU to specify both +dotprod and +simd in its architecture specification, since +dotprod implies +simd. - I've refactored the ALL_SIMD fgroup in arm-cpus.in to create a new subgroup ALL_SIMD_EXTERNAL and containing the bits that were previously added directly to ALL_SIMD. Similarly, I've added an ALL_FPU_EXTERNAL subgroup. - in arm.c rename fpu_bitlist and all_fpubits to fpu_bitlist_internal and all_fpubits_internal for consistency with the fgroup bits which they contain. * config/arm/arm-cpus.in (ALL_SIMD_EXTERNAL): New fgroup. (ALL_SIMD): Use it. (ALL_FPU_EXTERNAL): New fgroup. (ALL_FP): Use it. (cortex-a55, cortex-a75, cortex-a76, cortex-a76ae): Remove redundant +simd from architecture specification. (cortex-a77, neoverse-n1, cortex-a75.cortex-a55): Likewise. * config/arm/arm.c (isa_all_fpubits, fpu_bitlist): Rename to ... (isa_all_fpubits_internal, fpu_bitlist_internal): ... these. (isa_all_fpbits): New bitmap. (arm_option_override): Initialize it. (arm_configure_build_target): If the target isa does not have any FP enabled, do not warn about mismatches in FP-related feature bits. From-SVN: r279219
Richard Earnshaw committed -
* omp_lib.h.in: Fix spelling of function declaration omp_get_cancell(l)ation. * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all): Fix typos. * env.c: Fix comment typos. * oacc-host.c: Likewise. * ordered.c: Likewise. * task.c: Likewise. * team.c: Likewise. * config/gcn/task.c: Likewise. * config/gcn/team.c: Likewise. * config/nvptx/task.c: Likewise. * config/nvptx/team.c: Likewise. * plugin/plugin-gcn.c: Likewise. * testsuite/libgomp.fortran/jacobi.f: Likewise. * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise. From-SVN: r279218
Tobias Burnus committed -
* testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'. * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove unnecessary 'dg-additional-options "-w"'. From-SVN: r279217
Tobias Burnus committed -
2019-12-11 Stam Markianos-Wright <stam.markianos-wright@arm.com> * real.c (struct arm_bfloat_half_format, encode_arm_bfloat_half, decode_arm_bfloat_half): New. * real.h (arm_bfloat_half_format): New. From-SVN: r279216
Stam Markianos-Wright committed -
The columns of the clause locations that are reported for C and C++ are different and hence we need separate test expectations for both languages. 2019-12-11 Frederik Harwath <frederik@codesourcery.com> PR other/92901 /gcc/testsuite/ * c-c++-common/clause-locations.c: Adjust test expectation for C++. From-SVN: r279215
Frederik Harwath committed -
gcc/ PR target/92865 * config/i386/i386-expand.c (ix86_valid_mask_cmp_mode): Enable integer mask cmov when available even with TARGET_XOP. gcc/testsuite * gcc.target/i386/pr92865-1.c: New test. From-SVN: r279214
Hongtao Liu committed -
* include/pstl/glue_numeric_defs.h: Restore enable_if lost during original import of pstl. * include/pstl/glue_numeric_impl.h: Likewise. From-SVN: r279212
Thomas Rodgers committed -
From-SVN: r279210
GCC Administrator committed
-