- 17 Apr, 2019 19 commits
-
-
The string literal is optional in C++17 and all these are empty so add no value. * testsuite/20_util/variant/compile.cc: Remove empty string literals from static_assert declarations. From-SVN: r270424
Jonathan Wakely committed -
* testsuite/20_util/variant/compile.cc (MoveCtorOnly): Fix type to actually match its name. (MoveCtorAndSwapOnly): Define new type that adds swap to MoveCtorOnly. (test_swap()): Fix result for MoveCtorOnly and check MoveCtorAndSwapOnly. From-SVN: r270423
Jonathan Wakely committed -
PR c++/89325 * g++.dg/ext/attrib58.C: New test. * g++.dg/ext/attrib59.C: New test. * g++.dg/ext/attrib60.C: New test. From-SVN: r270422
Jakub Jelinek committed -
PR target/90125 * config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3. PR target/90125 * gcc.target/i386/avx512f-vfmsubXXXss-2.c (avx512f_test): Adjust constants to ensure precise result even when not using fma. * gcc.target/i386/avx512f-vfnmaddXXXss-2.c (avx512f_test): Likewise. * gcc.target/i386/avx512f-vfmaddXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfmaddXXXss-3.c: New test. * gcc.target/i386/avx512f-vfmsubXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfmsubXXXss-3.c: New test. * gcc.target/i386/avx512f-vfnmaddXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfnmaddXXXss-3.c: New test. * gcc.target/i386/avx512f-vfnmsubXXXsd-3.c: New test. * gcc.target/i386/avx512f-vfnmsubXXXss-3.c: New test. From-SVN: r270421
Jakub Jelinek committed -
ira-conflicts.c (print_allocno_conflicts): Always print something, even for allocno's with no conflicts. gcc/ * ira-conflicts.c (print_allocno_conflicts): Always print something, even for allocno's with no conflicts. (print_conflicts): Print an extra newline. From-SVN: r270420
Peter Bergner committed -
When auto-inc-dec creates a new mem to compute the cost of doing some transform, it forgets to copy over the alignment of the original mem. This gives wrong costs, for example, for rs6000 a floating point load or store is hugely expensive if unaligned. This patch fixes it. * auto-inc-dec.c (attempt_change): Set the alignment of the temporary memory to that of the original. From-SVN: r270419
Segher Boessenkool committed -
* typeck.c (build_class_member_access_expr): Check cp_unevaluated_operand. * g++.dg/cpp0x/decltype70.C: New test. From-SVN: r270418
Marek Polacek committed -
targhooks.c (default_print_patchable_function_entry): Emit __patchable_function_entries section with writable flags to allow... * targhooks.c (default_print_patchable_function_entry): Emit __patchable_function_entries section with writable flags to allow relocation resolution. From-SVN: r270417
Joao Moreira committed -
From-SVN: r270416
Jonny Grant committed -
* dg-extract-results.sh: Only handle WARNING: program timed out lines specially in "$MODE" == "sum". Restore previous behavior for "$MODE" != "sum". Clear has_timeout and timeout_cnt if in a different variant or curfile is empty. * dg-extract-results.py: Fix a typo. From-SVN: r270415
Jakub Jelinek committed -
PR middle-end/90095 * internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P on lowpart SUBREGs. * gcc.dg/pr90095-1.c: New test. * gcc.dg/pr90095-2.c: New test. From-SVN: r270410
Jakub Jelinek committed -
In C++1z drafts up to N4606 the constexpr keyword was missing from the detailed description of this function, despite being shown in the class synopsis. That was fixed editorially for N4618, but our implementation was not corrected to match. * include/std/optional (optional::value_or(U&&) &&): Add missing constexpr specifier. * testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or for disengaged optionals and rvalue optionals. * testsuite/20_util/optional/observers/4.cc: Likewise. From-SVN: r270409
Jonathan Wakely committed -
Apply upper/dot rule on diagnostic messages. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_init): Format diagnostic string. (arc_override_options): Likewise. (check_if_valid_regno_const): Likewise. (arc_reorg): Likewise. From-SVN: r270408
Claudiu Zissulescu committed -
Many of these patterns only worked in 32-bit mode, and some only worked in 64-bit mode. This patch makes these use Pmode, fixing the PR. On the other hand, the stack updates have to use the same mode for the stack pointer as for the value stored, so let's simplify that a bit. Many of these patterns pass the wrong mode to avoiding_indexed_address_p (it should be the mode of the datum accessed, not the mode of the pointer). Finally, I merge some patterns into one (using iterators). PR target/17108 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern name. (rs6000_emit_allocate_stack_1): Simplify condition. Adjust pattern name. * config/rs6000/rs6000.md (bits): Add entries for SF and DF. (*movdi_update1): Use Pmode. (movdi_<mode>_update): Fix argument to avoiding_indexed_address_p. (movdi_<mode>_update_stack): Rename to ... (movdi_update_stack): ... this. Fix comment. Change condition. Don't use Pmode. (*movsi_update1): Use Pmode. (*movsi_update2): Use Pmode. (movsi_update): Rename to ... (movsi_<mode>_update): ... this. Use Pmode. (movsi_update_stack): Fix condition. (*movhi_update1): Use Pmode. Fix argument to avoiding_indexed_address_p. (*movhi_update2): Ditto. (*movhi_update3): Ditto. (*movhi_update4): Ditto. (*movqi_update1): Ditto. (*movqi_update2): Ditto. (*movqi_update3): Ditto. (*movsf_update1, *movdf_update1): Merge, rename to... (*mov<mode>_update1): This. Use Pmode. Fix argument to avoiding_indexed_address_p. Add "size" attribute. (*movsf_update2, *movdf_update2): Merge, rename to... (*mov<mode>_update2): This. Ditto. (*movsf_update3): Use Pmode. Fix argument to avoiding_indexed_address_p. (*movsf_update4): Ditto. (allocate_stack): Simplify condition. Adjust pattern names. From-SVN: r270407
Segher Boessenkool committed -
[PR90048] Fortran OpenACC 'private' clause rejected for predetermined private loop iteration variable gcc/fortran/ PR fortran/90048 * openmp.c (gfc_resolve_do_iterator): Handle sharing_clauses for OpenACC, too. (gfc_resolve_oacc_blocks): Populate sharing_clauses with private clauses. gcc/testsuite/ PR fortran/90048 * gfortran.dg/goacc/private-explicit-kernels-1.f95: New file. * gfortran.dg/goacc/private-explicit-parallel-1.f95: Likewise. * gfortran.dg/goacc/private-explicit-routine-1.f95: Likewise. From-SVN: r270406
Thomas Schwinge committed -
gcc/testsuite/ PR fortran/90067 PR fortran/90114 * gfortran.dg/goacc/private-1.f95: Remove file. * gfortran.dg/goacc/private-2.f95: Likewise. * gfortran.dg/goacc/private-predetermined-kernels-1.f95: New file. * gfortran.dg/goacc/private-predetermined-parallel-1.f95: Likewise. * gfortran.dg/goacc/private-predetermined-routine-1.f95: Likewise. From-SVN: r270405
Thomas Schwinge committed -
PR target/89093 * config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip whitespace at the start of target attribute string. * gcc.target/arm/pr89093-2.c: New test. From-SVN: r270404
Jakub Jelinek committed -
gcc/d/ChangeLog: 2019-04-17 Iain Buclaw <ibuclaw@gdcproject.org> * d-system.h (POSIX): Define unix as POSIX. (INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide fallback definitions. From-SVN: r270403
Iain Buclaw committed -
From-SVN: r270401
GCC Administrator committed
-
- 16 Apr, 2019 19 commits
-
-
Updated build and invocation of idgen and impcnvgen, ensuring that they are removed when cleaning the build directory. Added BUILD_LIBDEPS on the link command for the generator programs as well, which is necessary when the system installed compiler is not GCC. gcc/d/ChangeLog: 2019-04-16 Iain Buclaw <ibuclaw@gdcproject.org> * Make-lang.in (d.mostyclean): Clean idgen and impcnvgen. (d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS. (d/impcnvgen): Rename to d/impcnvgen$(build_exeext), add BUILD_LIBDEPS. (d/id.c): Call idgen$(build_exeext). (d/impcnvtab.c): Call impcnvgen$(build_exeext). From-SVN: r270397
Iain Buclaw committed -
re PR c++/86953 (compiler crashes with constexpr operator== and specific struct (cxx_eval_bit_field_ref, at cp/constexpr.c:2704)) PR c++/86953 * g++.dg/cpp0x/constexpr-86953.C: New test. From-SVN: r270396
Jakub Jelinek committed -
PR target/84369 * config/rs6000/power9.md: Add store forwarding bypass. From-SVN: r270394
Pat Haugen committed -
2019-04-16 Martin Liska <mliska@suse.cz> * bootstrap-lto-lean.mk: Filter out -flto in STAGEtrain_CFLAGS. From-SVN: r270393
Martin Liska committed -
2019-04-16 Dominique d'Humieres <dominiq@gcc.gnu.org> * g++.dg/lto/pr89358_0.C: Replace dg-* with dg-lto-*. From-SVN: r270390
Dominique d'Humieres committed -
When we remove an RTL call, we wouldn't clean up references to the return value of the call in debug insns. Make it so that we do. for gcc/ChangeLog PR debug/89528 * valtrack.c (dead_debug_insert_temp): Reset debug references to the return value of a call being removed. for gcc/testsuite/ChangeLog PR debug/89528 * gcc.dg/guality/pr89528.c: New. From-SVN: r270389
Alexandre Oliva committed -
The test fell back to long long and long when __int128 is not available, but it assumed sizeof(long) < sizeof(long long) because of a shift count that would be out of range for a long long if their widths are the same. Fixed by splitting it up into two shifts. for gcc/testsuite/ChangeLog PR rtl-optimization/86438 * gcc.dg/torture/pr86438.c: Split up too-wide shift. From-SVN: r270388
Alexandre Oliva committed -
xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (arc_register_move_cost): Remove. * config/arc/arc.c (arc_register_move_cost): Re-purpose it to implement target hook. (arc_memory_move_cost): New function. (TARGET_REGISTER_MOVE_COST): Define. (TARGET_MEMORY_MOVE_COST): Likewise. * config/arc/arc.h (REGISTER_MOVE_COST): Remove. (MEMORY_MOVE_COST): Likewise. fix From-SVN: r270387
Claudiu Zissulescu committed -
New LRA algorithms require the all the register constraints to be defined using define_register_constraint keyword. However, Rs5 constraint was not LRA proof. Remove it and replace it by equivalent Rcd constraint. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (sibcall_insn): Use Rcd constraint. (sibcall_value_insn): Likewise. * config/arc/constraints.md (Rs5): Remove. From-SVN: r270386
Claudiu Zissulescu committed -
gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_hard_regno_modes): Add two missing modes for last two fake registers. (arc_conditional_register_usage): Make sure fake frame and arg pointer regs are in general regs class. (FRAME_POINTER_MASK): Remove. (RETURN_ADDR_MASK): Remove. (arc_must_save_register): Use hard frame regnum. (frame_restore_reg): Use hard_frame_pointer_rtx. (arc_save_callee_saves): Likewise. (arc_restore_callee_saves): Likewise. (arc_save_callee_enter): Likewise. (arc_restore_callee_leave): Likewise. (arc_save_callee_milli): Likewise. (arc_eh_return_address_location): Likewise. (arc_check_multi): Use hard frame regnum. (arc_can_eliminate): Likewise. * config/arc/arc.h (FIXED_REGISTERS): Make FP register available for register allocator. (REG_CLASS_CONTENTS): Update GENERAL_REGS. (REGNO_OK_FOR_BASE_P): Consider FRAME_POINTER_REGNUM. (FRAME_POINTER_REGNUM): Change it to a fake register. (HARD_FRAME_POINTER_REGNUM): Defined. (ARG_POINTER_REGNUM): Change it to a new fake register. (ELIMINABLE_REGS): Update. (REGISTER_NAMES): Update names. * config/arc/arc.md (LP_START): Remove. (LP_END): Likewise. (shift_si3_loop): Update pattern. From-SVN: r270385
Claudiu Zissulescu committed -
1.The delay slot scheduler can reschedule some of the frame related instructions resulting in having incorect CFI information. This patch introduces a schedule blockage to avoid this problem. 2.There are cases when an interrupt may happen and not all the current function stack operations are done, which may result in stack corruption. Such an example is accessing an returning a local structure members, which members are allocated on stack. The stack adjustment and the accessing of the struct member can be reorder as they may not use both the SP register for the access. 3.Also, do not save/restore SP when in interrupt. The SP is switch by the core IRQ machinery. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_expand_prologue): Emit blockage regardless to avoid delay slot scheduling. (arc_must_save_register): Don't save SP. * config/arc/arc.md (stack_tie): Remove. (UNSPEC_ARC_STKTIE): Likewise. From-SVN: r270384
Claudiu Zissulescu committed -
gcc/ * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Fix wrong code gen with large shift amount. Co-Authored-By: Shiva Chen <shiva0217@gmail.com> From-SVN: r270383
Kito Cheng committed -
gcc/ * config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle subreg. From-SVN: r270382
Chung-Ju Wu committed -
PR target/90096 * config/i386/i386.c (ix86_target_string): Add ADD_ABI_P argument, only print -m64/-mx32/-m32 if it is true. (ix86_debug_options, ix86_function_specific_print): Pass true as ADD_ABI_P to ix86_target_string. (ix86_expand_builtin): Adjust ix86_target_string caller, pass true as ADD_ABI_P only if OPTION_MASK_ISA_64BIT is set in bisa and in that case or into it OPTION_MASK_ISA_ABI_64 or OPTION_MASK_ISA_ABI_X32. * gcc.target/i386/pr90096.c: New test. * gcc.target/i386/pr69255-1.c: Adjust expected diagnostics. * gcc.target/i386/pr69255-2.c: Likewise. * gcc.target/i386/pr69255-3.c: Likewise. From-SVN: r270381
Jakub Jelinek committed -
PR rtl-optimization/90082 * dce.c (can_delete_call): New function. (deletable_insn_p, mark_insn): Use it. * gcc.dg/pr90082.c: New test. From-SVN: r270380
Jakub Jelinek committed -
PR tree-optimization/90090 * tree-ssa-math-opts.c (is_division_by): Ignore divisions that can throw internally. (is_division_by_square): Likewise. Formatting fix. * g++.dg/opt/pr90090.C: New test. From-SVN: r270379
Jakub Jelinek committed -
2019-04-16 Richard Biener <rguenther@suse.de> PR tree-optimization/56049 * tree-ssa-loop-im.c (mem_ref_hasher::equal): Elide alias-set equality check if alias-set zero will prevail. * gfortran.dg/pr56049.f90: New testcase. From-SVN: r270378
Richard Biener committed -
libphobos/ChangeLog: 2019-04-16 Iain Buclaw <ibuclaw@gdcproject.org> * config.h.in: Regenerate. * configure: Regenerate. * m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_BACKTRACE): Set CPPFLAGS correctly for backtrace support test. From-SVN: r270377
Iain Buclaw committed -
From-SVN: r270376
GCC Administrator committed
-
- 15 Apr, 2019 2 commits
-
-
* config/microblaze/microblaze.c (microblaze_expand_block_move): Treat size and alignment as unsigned. From-SVN: r270373
Jeff Law committed -
PR d/90059 PR d/90060 PR d/90062 libphobos: Merge upstream druntime 70b9fea6 Backports fixes in the extern(C) bindings for the Solaris/SPARC port. Initial patch by Rainer Orth. Reviewed-on: https://github.com/dlang/druntime/pull/2555 From-SVN: r270372
Iain Buclaw committed
-