- Apr 25, 2018
-
-
Jakub Jelinek authored
From-SVN: r259637
-
Jakub Jelinek authored
From-SVN: r259635
-
Jakub Jelinek authored
PR c++/85437 PR c++/49171 * cp-tree.h (REINTERPRET_CAST_P): New. * constexpr.c (cxx_eval_constant_expression) <case NOP_EXPR>: Reject REINTERPET_CAST_P conversions. Use cplus_expand_constant for non-trivial PTRMEM_CST cases. * typeck.c (build_nop_reinterpret): New. (build_reinterpret_cast_1): Use it. Set REINTERPRET_CAST_P on NOP_EXPRs returned by cp_convert. * g++.dg/cpp0x/addressof1.C: Make reinterpret cases runtime checks. * g++.dg/cpp0x/constexpr-cast.C: Remove xfails * g++.dg/cpp0x/constexpr-nullptr-2.C: Likewise. * g++.dg/cpp0x/constexpr-pmf1.C: Check when optimized. * g++.dg/cpp0x/pr85437-1.C: New. * g++.dg/cpp0x/pr85437-2.C: New. * g++.dg/cpp0x/pr85437-3.C: New. * g++.dg/cpp0x/pr85437-4.C: New. From-SVN: r259629
-
GCC Administrator authored
From-SVN: r259628
-
- Apr 24, 2018
-
-
Steven G. Kargl authored
2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85520 * decl.c (gfc_match_char_spec): Check for negative length and set to 0. 2018-04-24 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/85520 * gfortran.dg/pr85520.f90: New test. From-SVN: r259623
-
Segher Boessenkool authored
Both of these libfuncs had a "tkf" misspelling, which caused gcc.target/powerpc/pr85456.c to fail (there is no test for __abskf2). * config/rs6000/rs6000.c (init_float128_ieee): Fix spelling mistakes in __abskf2 and __powikf2. From-SVN: r259622
-
H.J. Lu authored
__CET__ has been changed by revision 259522: commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0 Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Apr 20 13:30:13 2018 +0000 Define __CET__ for -fcf-protection and remove -mibt to (__CET__ & 1) != 0: -fcf-protection=branch or -fcf-protection=full (__CET__ & 2) != 0: -fcf-protection=return or -fcf-protection=full We should check (__CET__ & 2) != 0 for shadow stack. libgcc/ * config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check when including "config/i386/shadow-stack-unwind.h". libitm/ * config/x86/sjlj.S (_ITM_beginTransaction): Add (__CET__ & 2) != 0 check for shadow stack. (GTM_longjmp): Likewise. From-SVN: r259621
-
H.J. Lu authored
Since profiledbootstrap uses STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use add STAGE4_CFLAGS += -fcf-protection -mcet to bootstrap-cet.mk to support profiledbootstrap with CET. PR bootstrap/85490 * bootstrap-cet.mk (STAGE4_CFLAGS): New. From-SVN: r259620
-
Kyrylo Tkachov authored
In this testcase it is possible to generate an invalid SISD shift of zero: Error: immediate value out of range 1 to 64 at operand 3 -- `sshr v9.2s,v0.2s,0' The SSHR and USHR instructions require a shift from 1 up to the element size. However our constraints on the scalar shifts that generate these patterns allow a shift amount of zero as well. The pure GP-reg ASR and LSR instructions allow a shift amount of zero. It is unlikely that a shift of zero will survive till the end of compilation, but it's not impossible, as this PR shows. The patch tightens up the constraints in the offending patterns by adding two new constraints that allow shift amounts [1,32] and [1,64] and using them in *aarch64_ashr_sisd_or_int_<mode>3 and *aarch64_lshr_sisd_or_int_<mode>3. The left-shift SISD instructions SHL and USHL allow a shift amount of zero so don't need adjustment The vector shift patterns that map down to SSHR and USHR already enforce the correct immediate range. PR target/85512 * config/aarch64/constraints.md (Usg, Usj): New constraints. * config/aarch64/iterators.md (cmode_simd): New mode attribute. * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3): Use the above on operand 2. Reindent. (*aarch64_lshr_sisd_or_int_<mode>3): Likewise. * gcc.dg/pr85512.c: New test. From-SVN: r259614
-
H.J. Lu authored
With revision 259496: commit b1384095a7c1d06a44b70853372ebe037b2f7867 Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Apr 19 15:15:04 2018 +0000 x86: Enable -fcf-protection with multi-byte NOPs -fcf-protection no longer depens on -mcet and with revision 259522: commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0 Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Apr 20 13:30:13 2018 +0000 Define __CET__ for -fcf-protection and remove -mibt -mcet becomes an alias for -mshstk. Since all usages of -mcet and -mno-cet have either been removed or replaced, we can remove the -mcet command-lint option. PR target/85485 * common/config/i386/i386-common.c (ix86_handle_option): Don't handle OPT_mcet. * config/i386/i386.opt (mcet): Removed. * doc/install.texi: Remove -mcet documentation. * doc/invoke.texi: Likewise. From-SVN: r259613
-
H.J. Lu authored
With revision 259496: commit b1384095a7c1d06a44b70853372ebe037b2f7867 Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Apr 19 15:15:04 2018 +0000 x86: Enable -fcf-protection with multi-byte NOPs -fcf-protection no longer depens on -mcet and with revision 259522: commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0 Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Apr 20 13:30:13 2018 +0000 Define __CET__ for -fcf-protection and remove -mibt -mcet becomes an alias for -mshstk. We can remove -mcet/-mno-cet where they are unused and replace -mcet with -mshstk where -mcet is used as an alias for -mshstk. PR target/85485 * g++.dg/cet-notrack-1.C (dg-options): Remove -mcet. * g++.dg/torture/pr85334.C (dg-additional-options): Likwise. * gcc.dg/pr85388-1.c (dg-options): Likwise. * gcc.dg/pr85388-2.c (dg-options): Likwise. * gcc.dg/pr85388-3.c (dg-options): Likwise. * gcc.dg/pr85388-4.c (dg-options): Likwise. * gcc.dg/pr85388-5.c (dg-options): Likwise. * gcc.dg/pr85388-6.c (dg-options): Likwise. * gcc.dg/torture/pr85397-1.c (dg-additional-options): Likwise. * gcc.target/i386/attr-nocf-check-1a.c (dg-options): Likwise. * gcc.target/i386/attr-nocf-check-3a.c (dg-options): Likwise. * gcc.target/i386/cet-label.c (dg-options): Likwise. * gcc.target/i386/cet-label-2.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-1b.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-2a.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-2b.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-3.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-4b.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-5a.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-5b.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-6a.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-6b.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-7.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-icf-2.c (dg-options): Likwise. * gcc.target/i386/cet-notrack-icf-4.c (dg-options): Likwise. * gcc.target/i386/cet-property-1.c (dg-options): Likwise. * gcc.target/i386/cet-property-2.c (dg-options): Likwise. * gcc.target/i386/cet-sjlj-1.c (dg-options): Likwise. * gcc.target/i386/cet-sjlj-2.c (dg-options): Likwise. * gcc.target/i386/cet-sjlj-3.c (dg-options): Likwise. * gcc.target/i386/cet-sjlj-4.c (dg-options): Likwise. * gcc.target/i386/cet-sjlj-5.c (dg-options): Likwise. * gcc.target/i386/cet-sjlj-6a.c (dg-options): Likwise. * gcc.target/i386/cet-sjlj-6b.c (dg-options): Likwise. * gcc.target/i386/cet-switch-1.c (dg-options): Likwise. * gcc.target/i386/cet-switch-2.c (dg-options): Likwise. * gcc.target/i386/cet-switch-3.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-11.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-12.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-attr-12.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-attr-13.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-attr-14.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-attr-15.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-attr-16.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-extern-8.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-extern-9.c (dg-options): Likwise. * gcc.target/i386/indirect-thunk-extern-10.c (dg-options): Likwise. * gcc.target/i386/pr82659-1.c (dg-options): Likwise. * gcc.target/i386/pr82659-2.c (dg-options): Likwise. * gcc.target/i386/pr82659-3.c (dg-options): Likwise. * gcc.target/i386/pr82659-4.c (dg-options): Likwise. * gcc.target/i386/pr82659-5.c (dg-options): Likwise. * gcc.target/i386/pr82659-6.c (dg-options): Likwise. * gcc.target/i386/pr84146.c (dg-options): Likwise. * gcc.target/i386/pr85403.c (dg-options): Likwise. * gcc.target/i386/pr85404.c (dg-options): Likwise. * gcc.target/i386/cet-intrin-3.c (dg-options): Replace -mcet with -mshstk. * gcc.target/i386/cet-intrin-5.c (dg-options): Likwise. * gcc.target/i386/cet-intrin-6.c (dg-options): Likwise. * gcc.target/i386/cet-intrin-7.c (dg-options): Likwise. * gcc.target/i386/cet-intrin-8.c (dg-options): Likwise. * gcc.target/i386/cet-intrin-9.c (dg-options): Likwise. * gcc.target/i386/cet-intrin-10.c (dg-options): Likwise. * gcc.target/i386/cet-rdssp-1.c (dg-options): Likwise. * (dg-options): Likwise. * gcc.target/i386/cet-notrack-1a.c (dg-options): Remove -mno-cet. * gcc.target/i386/cet-notrack-4a.c (dg-options): Likwise. * gcc.target/i386/cet-label-3.c: Removed. * gcc.target/i386/cet-property-3.c: Likwise. * gcc.target/i386/cet-sjlj-7.c: Likwise. From-SVN: r259612
-
H.J. Lu authored
With revision 259496: commit b1384095a7c1d06a44b70853372ebe037b2f7867 Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu Apr 19 15:15:04 2018 +0000 x86: Enable -fcf-protection with multi-byte NOPs -fcf-protection no longer requires -mcet. config/ PR target/85485 * bootstrap-cet.mk (STAGE2_CFLAGS): Remove -mcet. (STAGE3_CFLAGS): Likewise. gcc/ PR target/85485 * doc/install.texi: Remove -mcet from bootstrap-cet. From-SVN: r259611
-
H.J. Lu authored
* configure: Regenerated. From-SVN: r259610
-
Jakub Jelinek authored
re PR target/85511 ([X86] Using __builtin_ia32_writeeflags_u32 in 64-bit mode causes internal compiler error) PR target/85511 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Don't define __builtin_ia32_readeflags_u32 and __builtin_ia32_writeeflags_u32 if TARGET_64BIT. * gcc.target/i386/pr85511.c: New test. From-SVN: r259609
-
H.J. Lu authored
With revision 259522: commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0 Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Apr 20 13:30:13 2018 +0000 Define __CET__ for -fcf-protection and remove -mibt -mcet becomes an alias for -mshstk. PR target/85485 * cet.m4 (GCC_CET_FLAGS): Replace -mcet with -mshstk. From-SVN: r259608
-
Jakub Jelinek authored
re PR target/85503 (ICE in replace_swapped_load_constant, at config/rs6000/rs6000-p8swap.c:1853 on powerpc64le-linux-gnu) PR target/85503 * config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Punt if const_vector is not CONST_VECTOR or SYMBOL_REF for a constant pool containing a CONST_VECTOR. * g++.dg/ext/pr85503.C: New test. From-SVN: r259607
-
Jason Merrill authored
gcc/testsuite: * c-c++-common/attr-aligned-1.c: Use __alignof__ in C++11. * g++.dg/cpp0x/alignas4.C: Expect 4-byte alignment on x86. From-SVN: r259606
-
Cesar Philippidis authored
gcc/ * doc/install.texi: Update newlib dependency for nvptx. From-SVN: r259596
-
Jakub Jelinek authored
PR target/85508 * config/i386/i386.c (ix86_expand_vector_init_one_var): Use UINTVAL instead of INTVAL when shifting x left. * gcc.target/i386/pr85508.c: New test. From-SVN: r259594
-
Andreas Krebbel authored
Fix PR85478 gcc/ChangeLog: 2018-04-24 Andreas Krebbel <krebbel@linux.ibm.com> PR tree-optimization/85478 * tree-vect-loop.c (vect_analyze_loop_2): Do not call vect_grouped_store_supported for single element vectors. gcc/testsuite/ChangeLog: 2018-04-24 Andreas Krebbel <krebbel@linux.ibm.com> PR tree-optimization/85478 * g++.dg/pr85478.C: New test. From-SVN: r259593
-
Richard Biener authored
2018-04-24 Richard Biener <rguenther@suse.de> PR target/85491 * config/i386/i386.c (ix86_add_stmt_cost): Restrict strided load cost increase to the case of non-constant step. From-SVN: r259592
-
Jakub Jelinek authored
PR target/84828 * reg-stack.c (move_for_stack_reg): Don't fail assertion about dead destination if any_malformed_asm. From-SVN: r259591
-
GCC Administrator authored
From-SVN: r259589
-
- Apr 23, 2018
-
-
Jason Merrill authored
CWG 1879 - Inadequate definition of alignment requirement. * cp-tree.h (ALIGNOF_EXPR_STD_P): New. * typeck.c (cxx_sizeof_or_alignof_type): Add std_alignof parm. (cxx_sizeof_expr, cxx_sizeof_nowarn, cxx_alignas_expr) (cxx_alignof_expr): Pass it. * parser.c (cp_parser_unary_expression): Pass it. * pt.c (tsubst_copy): Copy it. (tsubst_copy_and_build): Pass it. * decl.c (fold_sizeof_expr): Pass it. From-SVN: r259578
-
Joseph Myers authored
gcc/po: * gcc.pot: Regenerate. libcpp/po: * cpplib.pot: Regenerate. From-SVN: r259575
-
Eric Botcazou authored
PR middle-end/85496 * expr.c (store_field): In the bitfield case, if the value comes from a function call and is returned in registers by means of a PARALLEL, do not change the mode of the temporary unless BLKmode and VOIDmode. From-SVN: r259574
-
Jakub Jelinek authored
* decl.c (check_initializer): Check DECL_INITIALIZED_IN_CLASS_P. * typeck2.c (store_init_value): Likewise. Co-Authored-By:
Jason Merrill <jason@redhat.com> From-SVN: r259571
-
Paul Clarke authored
* MAINTAINERS (write after approval): Add myself. From-SVN: r259570
-
Andrey Belevantsev authored
PR rtl-optimization/85423 * sel-sched-ir.c (has_dependence_note_mem_dep): Only discard dependencies to debug insns when the previous insn is non-debug. * gcc.dg/pr85423.c: New test. From-SVN: r259563
-
H.J. Lu authored
Use unsigned integer to unwind shadow stack by replacing jle with jbe and jg with ja. PR target/85489 * config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja. From-SVN: r259559
-
Claudiu Zissulescu authored
Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md ("vunspec"): Delete it, unify all the unspec enums into a single definition. (fls): Fix predicates and printing. (seti): Likewise. From-SVN: r259558
-
Claudiu Zissulescu authored
gcc/ 2018-04-23 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (check_if_valid_sleep_operand): Remove. * config/arc/arc.c (arc_expand_builtin): Sleep accepts registers and short u6 immediate. (check_if_valid_sleep_operand): Remove. * config/arc/arc.md (Sleep): Accepts registers and u6 immediates. changelog From-SVN: r259557
-
GCC Administrator authored
From-SVN: r259556
-
- Apr 22, 2018
-
-
Chung-Ju Wu authored
gcc/ * config/nds32/nds32.c (nds32_compute_stack_frame): Consider flag_always_save_lp condition. * config/nds32/nds32.opt (malways-save-lp): New option. From-SVN: r259553
-
Shiva Chen authored
[NDS32] Implment USE_LOAD_POST_INCREMENT, USE_LOAD_POST_DECREMENT, USE_STORE_POST_DECREMENT and USE_STORE_POST_INCREMENT. gcc/ * config/nds32/nds32-protos.h (nds32_use_load_post_increment): Declare. * config/nds32/nds32.c (nds32_use_load_post_increment): New. * config/nds32/nds32.h (USE_LOAD_POST_INCREMENT, USE_LOAD_POST_DECREMENT): Define. (USE_STORE_POST_INCREMENT, USE_STORE_POST_DECREMENT): Define. From-SVN: r259552
-
Shiva Chen authored
gcc/ * config/nds32/nds32-protos.h (nds32_ls_333_p): Remove. * config/nds32/nds32.c (nds32_ls_333_p): Remove. From-SVN: r259551
-
Shiva Chen authored
gcc/ * config/nds32/nds32-protos.h (nds32_case_vector_shorten_mode): Declare. * config/nds32/nds32.c (nds32_case_vector_shorten_mode): New function. * config/nds32/nds32.h (CASE_VECTOR_SHORTEN_MODE): Modify. Co-Authored-By:
Chung-Ju Wu <jasonwucj@gmail.com> From-SVN: r259550
-
Chung-Ju Wu authored
gcc/ * config/nds32/nds32.c (nds32_compute_stack_frame): Fix wrong value. From-SVN: r259549
-
Chung-Ju Wu authored
gcc/ * config/nds32/nds32-protos.h (nds32_data_alignment, nds32_local_alignment): Declare. * config/nds32/nds32.c (nds32_data_alignment, nds32_constant_alignment, nds32_local_alignment): New functions. (TARGET_CONSTANT_ALIGNMENT): Define. * config/nds32/nds32.h (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define. From-SVN: r259548
-
Chung-Ju Wu authored
gcc/ * config/nds32/nds32.c (TARGET_HARD_REGNO_MODE_OK): Move to the bottom of file. (TARGET_MODES_TIEABLE_P): Likewise. From-SVN: r259547
-