Commit Graph

160912 Commits

Author SHA1 Message Date
Jakub Jelinek
7d75ea04cf re PR c++/85437 (member pointer static upcast rejected in a constexpr context)
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
2018-04-25 09:10:16 +02:00
GCC Administrator
908553397a Daily bump.
From-SVN: r259628
2018-04-25 00:16:37 +00:00
Steven G. Kargl
58da192e7a re PR fortran/85520 (Out of memory when declaring a character with len << 0)
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
2018-04-24 23:17:29 +00:00
Segher Boessenkool
08417efa3a rs6000: Fix __powikf2 and __abskf2 spelling
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
2018-04-25 00:49:41 +02:00
H.J. Lu
ffc2fc06e3 x86: Update __CET__ check
__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
2018-04-24 15:15:51 -07:00
H.J. Lu
e59133c36c x86/CET: Add -fcf-protection to STAGE4_CFLAGS
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
2018-04-24 15:12:46 -07:00
Kyrylo Tkachov
0603375cbc [AArch64] PR target/85512: Tighten SIMD right shift immediate constraints
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
2018-04-24 16:58:49 +00:00
H.J. Lu
231baae28e x86/CET: Remove the -mcet command-lint option
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
2018-04-24 09:56:04 -07:00
H.J. Lu
d16d033bf9 x86/CET tests: Remove -mcet/-mno-cet or replace -mcet with -mshstk
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
2018-04-24 09:54:35 -07:00
H.J. Lu
48f64e053e Don't bootstrap GCC with -mcet
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
2018-04-24 09:47:24 -07:00
H.J. Lu
7b47ecf2f7 Regenerate configure of target libraries
* configure: Regenerated.

From-SVN: r259610
2018-04-24 09:45:26 -07:00
Jakub Jelinek
e8ac3359dc 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
2018-04-24 18:42:59 +02:00
H.J. Lu
8624f8685d x86/CET: Build target libraries with -mshstk
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
2018-04-24 09:41:01 -07:00
Jakub Jelinek
c61199f2df 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
2018-04-24 18:05:19 +02:00
Jason Merrill
7f3c03bfc1 Testsuite fixes for C++11 alignof change.
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
2018-04-24 11:54:56 -04:00
Cesar Philippidis
8ff02f9647 [nvptx] Update newlib dependency.
gcc/
	* doc/install.texi: Update newlib dependency for nvptx.

From-SVN: r259596
2018-04-24 07:36:15 -07:00
Jakub Jelinek
1704194ae7 re PR target/85508 (runtime error in config/i386/i386.c)
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
2018-04-24 15:20:20 +02:00
Andreas Krebbel
062c0a7b2f re PR tree-optimization/85478 (ICE with single element vector)
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
2018-04-24 12:18:26 +00:00
Richard Biener
4149dd37d9 re PR target/85491 (nbench LU Decomposition test 15% slower than GCC 7, 30% slower than peak)
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
2018-04-24 08:46:55 +00:00
Jakub Jelinek
b72139eac2 re PR target/84828 (ICE in verify_flow_info at gcc/cfghooks.c:265)
PR target/84828
	* reg-stack.c (move_for_stack_reg): Don't fail assertion about dead
	destination if any_malformed_asm.

From-SVN: r259591
2018-04-24 09:40:04 +02:00
GCC Administrator
950ec7e90a Daily bump.
From-SVN: r259589
2018-04-24 00:16:27 +00:00
Jason Merrill
aa2b105511 PR c++/69560 - wrong alignof(double) on x86.
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
2018-04-23 16:49:38 -04:00
Joseph Myers
71fbbf65fa Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r259575
2018-04-23 21:27:02 +01:00
Eric Botcazou
a689171e50 re PR middle-end/85496 (internal compiler error: in emit_move_insn, at expr.c:3722)
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
2018-04-23 20:19:39 +00:00
Jakub Jelinek
53de8a7e13 PR c++/85470 - wrong error with static data member.
* 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
2018-04-23 15:11:22 -04:00
Paul Clarke
ae9fb56f6c Add myself to MAINTAINERS.
* MAINTAINERS (write after approval): Add myself.

From-SVN: r259570
2018-04-23 18:53:34 +00:00
Andrey Belevantsev
99219dba37 re PR rtl-optimization/85423 (ICE in code_motion_process_successors, at sel-sched.c:6403)
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
2018-04-23 18:19:06 +03:00
H.J. Lu
0ef9f21d3c x86/cet: Use unsigned integer to unwind shadow stack
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
2018-04-23 05:29:00 -07:00
Claudiu Zissulescu
9ba5e5fcee [ARC] Fix FLS, SETI patterns.
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
2018-04-23 11:55:14 +02:00
Claudiu Zissulescu
31d2e01ad4 [ARC] Update sleep builtin.
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
2018-04-23 11:54:59 +02:00
GCC Administrator
6dfcb0c474 Daily bump.
From-SVN: r259556
2018-04-23 00:16:27 +00:00
Chung-Ju Wu
1311665187 [NDS32] Add new option -malways-save-lp.
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
2018-04-22 10:10:00 +00:00
Shiva Chen
c411e9aa4f [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
2018-04-22 09:05:10 +00:00
Shiva Chen
029db20edd [NDS32] Remove unused function: nds32_ls_333_p().
gcc/
	* config/nds32/nds32-protos.h (nds32_ls_333_p): Remove.
	* config/nds32/nds32.c (nds32_ls_333_p): Remove.

From-SVN: r259551
2018-04-22 08:51:26 +00:00
Shiva Chen
2f1bb3ca91 [NDS32] Refine CASE_VECTOR_SHORTEN_MODE to function.
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
2018-04-22 08:42:18 +00:00
Chung-Ju Wu
361292be13 [NDS32] Fix wrong input value of parameter from stack for variable-length function.
gcc/
	* config/nds32/nds32.c (nds32_compute_stack_frame): Fix wrong value.

From-SVN: r259549
2018-04-22 08:25:47 +00:00
Chung-Ju Wu
79498ad8ba [NDS32] Implement DATA_ALIGNMENT, LOCAL_ALIGNMENT and TARGET_CONSTANT_ALIGNMENT.
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
2018-04-22 08:19:38 +00:00
Chung-Ju Wu
50256c75f4 [NDS32] Move some target hooks to the bottom of nds32.c file.
gcc/
	* config/nds32/nds32.c
	(TARGET_HARD_REGNO_MODE_OK): Move to the bottom of file.
	(TARGET_MODES_TIEABLE_P): Likewise.

From-SVN: r259547
2018-04-22 08:07:08 +00:00
Chung-Ju Wu
10c8bd03e3 [NDS32] Consider -Ofast and -Og in nds32_asm_file_start function.
gcc/
	* config/nds32/nds32.c (nds32_asm_file_start): Display optimization
	level Ofast and Og.

From-SVN: r259546
2018-04-22 07:57:06 +00:00
Monk Chiang
bc8a88100d [NDS32] Add unaligned access support.
gcc/
	* config/nds32/constants.md (unspec_volatile_element): Add enum values
	for unaligned access.
	* config/nds32/nds32-intrinsic.c: Implementation of expanding
	unaligned access.
	* config/nds32/nds32-intrinsic.md: Likewise.
	* config/nds32/nds32_intrinsic.h: Likewise.
	* config/nds32/nds32.h (nds32_builtins): Likewise.
	* config/nds32/nds32.opt (munaligned-access): New option.
	* config/nds32/nds32.c (nds32_asm_file_start): Display
	flag_unaligned_access status.

Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>

From-SVN: r259545
2018-04-22 07:46:39 +00:00
GCC Administrator
020c350c3c Daily bump.
From-SVN: r259544
2018-04-22 00:16:24 +00:00
Kito Cheng
559fb136c9 RISC-V: Pass --no-relax to linker if -mno-relax is present.
gcc/
	2018-04-20  Kito Cheng  <kito.cheng@gmail.com>
	* config/riscv/elf.h (LINK_SPEC): Pass --no-relax if
	-mno-relax is present.
	* config/riscv/linux.h (LINK_SPEC): Ditto.

From-SVN: r259540
2018-04-20 18:03:30 -07:00
GCC Administrator
f046f4b07c Daily bump.
From-SVN: r259539
2018-04-21 00:16:14 +00:00
Martin Sebor
8cd95cec0f PR c/85365 - -Wrestrict false positives with -fsanitize=undefined
gcc/ChangeLog:

	PR c/85365
	* gimple-fold.c (gimple_fold_builtin_strcpy): Suppress -Wrestrict
	for null pointers.
	(gimple_fold_builtin_stxcpy_chk): Same.
	* gimple-ssa-warn-restrict.c (check_bounds_or_overlap): Same.

gcc/testsuite/ChangeLog:

	PR c/85365
	* gcc.dg/Wrestrict-15.c: New test.

From-SVN: r259535
2018-04-20 17:43:51 -06:00
Michael Meissner
661eb8f9e5 re PR target/85456 (PowerPC: Using -mabi=ieeelongdouble calls wrong function for __builtin_powi.)
[libgcc]
2018-04-20  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85456
	* config/rs6000/_powikf2.c: New file.  Add support for the
	__builtin_powil function when long double is IEEE 128-bit floating
	point.
	* config/rs6000/float128-ifunc.c (__powikf2_resolve): Add
	__powikf2 support.
	(__powikf2): Likewise.
	* config/rs6000/quad-float128.h (__powikf2_sw): Likewise.
	(__powikf2_hw): Likewise.
	(__powikf2): Likewise.
	* config/rs6000/t-float128 (fp128_ppc_funcs): Likewise.
	* config/rs6000/t-float128-hw (fp128_hw_func): Likewise.
	(_powikf2-hw.c): Likewise.

[gcc]
2018-04-20  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85456
	* config/rs6000/rs6000.c (init_float128_ieee): Add support to call
	__powikf2 when long double is IEEE 128-bit.

[gcc/testsuite]
2018-04-20  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85456
	* gcc.target/powerpc/pr85456.c: New test.

From-SVN: r259533
2018-04-20 21:27:08 +00:00
Bill Schmidt
8833e667be undef-bool-1.C: Require lp64.
[gcc/testsuite]

2018-04-20  Bill Schmidt  <wschmidt@linux.ibm.com>

	* g++.dg/ext/undef-bool-1.C: Require lp64.
	* gcc.target/powerpc/undef-bool-2.c: Likewise.

From-SVN: r259532
2018-04-20 21:00:41 +00:00
Ian Lance Taylor
447638d2c4 gotest: only use [TD] on big-endian PPC64 non-AIX systems
Reviewed-on: https://go-review.googlesource.com/108457

From-SVN: r259531
2018-04-20 20:40:27 +00:00
Kito Cheng
9b922d6aaf RISC-V: Make sure stack is always aligned during adjusting stack.
gcc/
	2018-04-20  Kito Cheng  <kito.cheng@gmail.com>
	* config/riscv/riscv.c (riscv_first_stack_step): Round up min
	step to make sure stack always aligned.

From-SVN: r259530
2018-04-20 12:03:19 -07:00
Jeff Law
b593a195f9 stack-check-5.c: Improve dg-skip-if selector for the stack protector.
* gcc.dg/stack-check-5.c: Improve dg-skip-if selector for the
        stack protector.
        * gcc.dg/stack-check-6.c: Likewise.
        * gcc.dg/stack-check-6a.c: Likewise.
        * gcc.target/i386/stack-check-17.c: Add dg-skip-if selector.
        * gcc.target/i386/stack-check-18.c: Likewise.
        * gcc.target/i386/stack-check-19.c: Likewise.

From-SVN: r259528
2018-04-20 11:20:46 -06:00
Kyrylo Tkachov
f04fb28eda Fix missing hunk from previous commit
From-SVN: r259527
2018-04-20 16:33:53 +00:00