Commit Graph

146846 Commits

Author SHA1 Message Date
Trevor Saunders 914b155ca9 remove m32-rtems support
libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove m32r-rtems support.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.gcc: Remove m32r-rtems support.
	* config/m32r/rtems.h: Remove.

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config-list.mk: Stop testing m32r-rtems.

From-SVN: r237664
2016-06-21 21:57:37 +00:00
Trevor Saunders 5ebf89bde6 remove h8300-rtems support
contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config-list.mk: Remove h8300-rtems support.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove h8300-rtems support.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.gcc: Remove h8300-rtems support.
	* config/h8300/rtems.h: Remove.
	* config/h8300/t-rtems: Remove.

From-SVN: r237663
2016-06-21 21:57:34 +00:00
Trevor Saunders 8466af0668 remove knetbsd support
gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.gcc: Remove support for knetbsd.
	* configure.ac: Likewise.
	* config/i386/knetbsd-gnu.h: Remove.  * config/i386/knetbsd-gnu64.h: Remove.
	* config/knetbsd-gnu.h: Remove.
	* configure: Regenerate.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for knetbsd.

libstdc++-v3/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* configure: Regenerate.
	* configure.host: Remove support for knetbsd.
	* crossconfig.m4: Likewise.

contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config-list.mk: stop testing knetbsd.

From-SVN: r237662
2016-06-21 21:57:30 +00:00
Trevor Saunders d980e73865 remove support for targeting openbsd 2 or 3
contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config-list.mk: Stop testing openbsd3.0.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for openbsd 2 and 3.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.gcc: Remove support for openbsd 2 and 3.
	* config/openbsd-oldgas.h: Remove.

From-SVN: r237661
2016-06-21 21:57:25 +00:00
Trevor Saunders ee2499b4d4 remove support for the interix target
contrib/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config-list.mk: Remove interix target.

libgcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove interix support.
	* config/i386/t-interix: Remove.

config/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* elf.m4: Remove interix support.
	* picflag.m4: Likewise.

fixincludes/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* mkfixinc.sh: Remove interix support.

gcc/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.gcc: Remove interix support.
	* config/i386/i386-interix.h: Remove.
	* config/i386/interix.opt: Remove.
	* config/i386/t-interix: Remove.
	* configure: Regenerate.
	* configure.ac: Remove interix support.
	* doc/install.texi: Remove interix documentation.

gcc/testsuite/ChangeLog:

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* gcc.dg/attr-ms_struct-1.c: Stop testing interix.
	* gcc.dg/attr-ms_struct-2.c: Likewise.
	* gcc.dg/attr-ms_struct-packed1.c: Likewise.
	* gcc.dg/bf-ms-attrib.c: Likewise.
	* gcc.dg/bf-ms-layout-2.c: Likewise.
	* gcc.dg/bf-ms-layout-3.c: Likewise.
	* gcc.dg/bf-ms-layout.c: Likewise.
	* gcc.dg/bf-no-ms-layout.c: Likewise.
	* gcc.target/i386/bitfield1.c: Likewise.
	* gcc.target/i386/bitfield2.c: Likewise.
	* gcc.target/i386/bitfield3.c: Likewise.

From-SVN: r237660
2016-06-21 21:57:20 +00:00
Kelvin Nilsen caea59ff66 rs6000.h: Add conditional preprocessing directives to disable Power9-specific compiler...
gcc/ChangeLog:

2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* config/rs6000/rs6000.h: Add conditional preprocessing directives
	to disable Power9-specific compiler features if HAVE_AS_POWER9 is
	not defined.

gcc/testsuite/ChangeLog:

2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/darn-0.c: Add dejagnu directives to disable
	test if effective-target is not powerpc_p9vector_ok, or if a -mcpu
	override other than -mcpu=power9 command-line option is specified,
	or if the target operating system is aix.
	* gcc.target/powerpc/darn-1.c: Likewise.
	* gcc.target/powerpc/darn-2.c: Likewise.
	* gcc.target/powerpc/vslv-0.c: Add dejagnu directives to disable
	test if effective-target is not powerpc_p9vector_ok or if the
	target operating system is not defined.
	* gcc.target/powerpc/vslv-1.c: Likewise.
	* gcc.target/powerpc/vsrv-0.c: Likewise.
	* gcc.target/powerpc/vsrv-1.c: Likewise.

From-SVN: r237659
2016-06-21 21:39:49 +00:00
Eric Botcazou d42b755992 tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if they are both PLACEHOLDER_EXPRs.
* tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if
	they are both PLACEHOLDER_EXPRs.
ada/
	* gcc-interface/decl.c (set_nonaliased_component_on_array_type): New
	function.
	(set_reverse_storage_order_on_array_type): Likewise.
	(gnat_to_gnu_entity) <E_Array_Type>: Call them to set the flags.
	<E_Array_Subtype>: Likewise.
	<E_String_Literal_Subtype>: Likewise.
	(substitute_in_type) <ARRAY_TYPE>: Likewise.
	* gcc-interface/utils.c (gnat_pushdecl): Always create a variant for
	the DECL_ORIGINAL_TYPE of a type.

From-SVN: r237658
2016-06-21 21:34:12 +00:00
Michael Meissner 5cd0a74a91 stor-layout.c (layout_type): Move setting complex MODE to layout_type...
[gcc]
2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* stor-layout.c (layout_type): Move setting complex MODE to
	layout_type, instead of setting it ahead of time by the caller.
	* tree.c (build_complex_type): Likewise.

[gcc/fortran]
2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* trans-types.c (gfc_build_complex_type): Move setting complex
	MODE to layout_type, instead of setting it ahead of time by the
	caller.

From-SVN: r237657
2016-06-21 20:57:20 +00:00
Tobias Burnus 63617e3015 re PR fortran/71068 (ICE in check_data_variable(): Bad expression)
2016-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/71068
        * resolve.c (resolve_function): Don't resolve caf_get/caf_send.
        (check_data_variable): Strip-off caf_get before checking.

        PR fortran/71068
        * gfortran.dg/coarray/data_1.f90: New.

From-SVN: r237656
2016-06-21 20:36:25 +02:00
Jason Merrill 2befd3f722 Fix constraint satisfaction in uninstantiated template.
* constraint.cc (constraints_satisfied_p): Keep as many levels of
	args as our template has levels of parms.

From-SVN: r237655
2016-06-21 14:19:13 -04:00
Jason Merrill e547455bd6 Fix type_dependent_expression_p of member templates.
* pt.c (template_parm_outer_level, uses_outer_template_parms): New.
	(type_dependent_expression_p): Use uses_outer_template_parms.

From-SVN: r237654
2016-06-21 14:17:01 -04:00
Wilco Dijkstra 89192c3c53 The recently added gcc.target/aarch64/advsimd-intrinsics/vrnd*.c tests cause...
The recently added gcc.target/aarch64/advsimd-intrinsics/vrnd*.c tests cause
failures due to accidentally running on non-ARMv8 hardware - the target check
arm_v8_neon_ok is correct for compilation tests but should be arm_v8_neon_hw
for execution tests.  Fix this and also change arm_v8_neon_hw to return
true for AArch64 so these tests are run on AArch64 too.

    gcc/testsuite/
	* gcc.target/aarch64/advsimd-intrinsics/vrnd.c
	(dg-require-effective-target): Use arm_v8_neon_hw.
	* gcc.target/aarch64/advsimd-intrinsics/vrnda.c
	(dg-require-effective-target): Likewise.
	* gcc.target/aarch64/advsimd-intrinsics/vrndm.c
	(dg-require-effective-target): Likewise.
	* gcc.target/aarch64/advsimd-intrinsics/vrndn.c
	(dg-require-effective-target): Likewise.
	* gcc.target/aarch64/advsimd-intrinsics/vrndp.c
	(dg-require-effective-target): Likewise.
	* gcc.target/aarch64/advsimd-intrinsics/vrndx.c
	(dg-require-effective-target): Likewise.
	* lib/target-supports.exp (check_runtime arm_v8_neon_hw_available):
	Add AArch64 check.

From-SVN: r237653
2016-06-21 16:35:44 +00:00
Wilco Dijkstra 64ac50e29b Fix tree-ssa/attr-hotcold-2.c failures now that the test runs.
GCC dumps the blocks 3 times so update count 3 and the test passes.
 
    gcc/testsuite/
	* gcc.dg/tree-ssa/attr-hotcold-2.c (scan-tree-dump-times):
	Set to 3 so test passes.

From-SVN: r237652
2016-06-21 16:31:09 +00:00
Martin Liska 2c40d56347 s/imposisble/impossible in predict.c
* predict.c (force_edge_cold): Replace imposisble with
	impossible.

From-SVN: r237651
2016-06-21 16:10:29 +00:00
Wilco Dijkstra 6252b5db4a Due to recent improvements to the vectorizer...
Due to recent improvements to the vectorizer, the number of vectorized
loops needs to be increased to 21 in gfortran.dg/vect/vect-8.f90.

    gcc/testsuite/

        * gfortran.dg/vect/vect-8.f90 (vectorized loops): Set to 21.

From-SVN: r237650
2016-06-21 14:52:34 +00:00
Ilya Verbin 3b9bc511ee [AVX-512ER] vrsqrt28ps auto generation
gcc/
	* config/i386/i386.c (ix86_emit_swsqrtsf): Emit vrsqrt28ps.
	* config/i386/sse.md (define_expand "rsqrtv16sf2"): New.
gcc/testsuite/
	* gcc.target/i386/avx512er-vrsqrt28ps-3.c: New test.
	* gcc.target/i386/avx512er-vrsqrt28ps-4.c: New test.
	* gcc.target/i386/avx512er-vrsqrt28ps-5.c: New test.
	* gcc.target/i386/avx512er-vrsqrt28ps-6.c: New test.

From-SVN: r237649
2016-06-21 14:38:02 +00:00
Ilya Verbin 21db1c7867 [AVX-512ER] vrcp28ps auto generation
gcc/
	* config/i386/i386.c (ix86_emit_swdivsf): Emit vrcp28ps.
gcc/testsuite/
	* gcc.target/i386/avx512er-vrcp28ps-3.c: New test.
	* gcc.target/i386/avx512er-vrcp28ps-4.c: New test.

From-SVN: r237648
2016-06-21 14:32:38 +00:00
H.J. Lu 9d30e86f96 Convert V1TImode register to TImode in debug insn
TImode register referenced in debug insn can be converted to V1TImode
by scalar to vector optimization.  After converting a TImode register
to V1TImode, we need to check all debug insns on its use chain to
convert the V1TImode register to SUBREG TImode.

gcc/

2016-06-21  H.J. Lu  <hongjiu.lu@intel.com>
	    Ilya Enkovich  <ilya.enkovich@intel.com>

	PR target/71549
	* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses):
	New member function to convert V1TImode register to SUBREG
	TImode in debug insn.
	(timode_scalar_chain::convert_insn): Call fix_debug_reg_uses
	after changing register mode to V1TImode.

gcc/testsuite/

2016-06-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/71549
	* gcc.target/i386/pr71549.c: New test.

Co-Authored-By: Ilya Enkovich <ilya.enkovich@intel.com>

From-SVN: r237647
2016-06-21 07:24:31 -07:00
Kelvin Nilsen 448a7c69f2 vadsdu-0.c: Replace dg-require-effective-target directive to allow test to run on more...
gcc/testsuite/ChangeLog:

2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/vadsdu-0.c: Replace
	dg-require-effective-target directive to allow test to run on more
	platforms, and add dg-skip-if directive to disable test on aix
	platforms because of known incompatibilities.
	* gcc.target/powerpc/vadsdu-1.c: Likewise.
	* gcc.target/powerpc/vadsdu-2.c: Likewise.
	* gcc.target/powerpc/vadsdu-3.c: Likewise.
	* gcc.target/powerpc/vadsdu-4.c: Likewise.
	* gcc.target/powerpc/vadsdu-5.c: Likewise.
	* gcc.target/powerpc/vadsdub-1.c: Likewise.
	* gcc.target/powerpc/vadsdub-2.c: Replace
	dg-require-effective-target directive to allow test to run on more
	platforms, and add dg-skip-if directive to disable test on aix
	platforms because of known incompatibilities.
	(doAbsoluteDifferenceUnsigned): Replace __builtin_vec_vadub call
	with vec_absdb call to differentiate this test from vadsdub-1.c.
	* gcc.target/powerpc/vadsduh-1.c: Replace
	dg-require-effective-target directive to allow test to run on more
	platforms, and add dg-skip-if directive to disable test on aix
	platforms because of known incompatibilities.
	* gcc.target/powerpc/vadsduh-2.c: Likewise.
	* gcc.target/powerpc/vadsduw-1.c: Likewise.
	* gcc.target/powerpc/vadsduw-2.c: Likewise.

From-SVN: r237646
2016-06-21 14:09:12 +00:00
Virendra Pathak 717b373c0b [PATCH/AARCH64] Accept vulcan as a cpu name for the AArch64 port of GCC
gcc/ChangeLog

	* config/aarch64/aarch64-cores.def (vulcan): New core.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* doc/invoke.texi: Document vulcan as an available option.

From-SVN: r237645
2016-06-21 13:43:29 +00:00
David Edelsohn 316ded5382 config-list.mk: Remove rs6000-ibm-aix4.3, rs6000-ibm-aix5.1, rs6000-ibm-aix5.2.
* config-list.mk: Remove rs6000-ibm-aix4.3, rs6000-ibm-aix5.1,
        rs6000-ibm-aix5.2.
        Rename rs6000-ibm-aix6.0 as rs6000-ibm-aix6.1.
        Add rs6000-ibm-aix7.1.

From-SVN: r237644
2016-06-21 09:21:02 -04:00
Eric Botcazou 6380a82ebe cse.c (canon_asm_operands): New function extracted from...
* cse.c (canon_asm_operands): New function extracted from...
	(canonicalize_insn): ...here.  Call it to canonicalize an ASM_OPERANDS
	either standalone or member of a PARALLEL.

From-SVN: r237642
2016-06-21 10:52:57 +00:00
Georg-Johann Lay e9305990d9 re PR target/30417 (Section .data cannot be moved with -mmcu=atmega88)
PR target/30417
	* config/avr/gen-avr-mmcu-specs.c (print_mcu):
	[*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
	[*link_text_start]: Wrap -Ttext into %{!Ttext:...}.

From-SVN: r237639
2016-06-21 10:36:13 +00:00
Georg-Johann Lay 4e1eac56b4 re PR target/71103 (avr-gcc crashes with unrecognizable insn error)
PR target/71103
	* config/avr/avr.md (movqi): Only handle loading subreg:qi of
	constant addresses if can_create_pseudo_p.

From-SVN: r237635
2016-06-21 10:10:46 +00:00
Jakub Jelinek 0ad84f34fc re PR tree-optimization/71588 (ICE on valid code at -O2 and -O3 on x86_64-linux-gnu: in execute_todo, at passes.c:2009)
PR tree-optimization/71588
	* tree-ssa-strlen.c (valid_builtin_call): New function.
	(adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
	it.

	* gcc.dg/pr71558.c: New test.

From-SVN: r237628
2016-06-21 08:59:33 +02:00
Senthil Kumar Selvaraj e71e8d944f Mark some more tests as UNSUPPORTED for avr
* c-c++-common/pr68657-1.c: Require ptr32plus support.
	* c-c++-common/pr68657-2.c: Likewise.
	* c-c++-common/pr68657-3.c: Likewise.
	* gcc.dg/torture/pr69714.c: Require int32plus support.
	* gcc.dg/torture/pr70025.c: Likewise.
	* gcc.dg/torture/pr70083.c: Likewise.
	* gcc.dg/torture/pr70542.c: Likewise.
	* gcc.dg/torture/pr70935.c: Require ptr32plus support.

From-SVN: r237627
2016-06-21 04:35:47 +00:00
GCC Administrator 486540e28b Daily bump.
From-SVN: r237626
2016-06-21 00:16:19 +00:00
Joseph Myers 5a5786714d Fix ICE on conditional expression between DFP and non-DFP float (PR c/71601).
A conditional expression between DFP and non-DFP floating-point
produces an ICE.  This patch fixes this by making
build_conditional_expr return early when c_common_type produces an
error.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

	PR c/71601
gcc/c:
	* c-typeck.c (build_conditional_expr): Return error_mark_node if
	c_common_type returns error_mark_node.

gcc/testsuite:
	* gcc.dg/dfp/usual-arith-conv-bad-3.c: New test.

From-SVN: r237622
2016-06-20 23:58:20 +01:00
Jakub Jelinek 50aa64d58f re PR middle-end/71581 (ICE on valid code on x86_64-linux-gnu with -Wuninitialized (Segmentation fault))
PR middle-end/71581
	* tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
	see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
	for conversion of scalar user var to complex type and use the
	underlying SSA_NAME_VAR in that case.  If EXPR is still NULL,
	punt.

	* gcc.dg/pr71581.c: New test.

From-SVN: r237621
2016-06-20 23:41:20 +02:00
Jakub Jelinek 7a9df68ec6 re PR rtl-optimization/71591 (SIGSEGV in test_uncond_jump (rtl-tests.c:90) with -E -fself-test)
PR rtl-optimization/71591
	* toplev.c (toplev::run_self_tests): If no_backend, complain and
	don't run any tests.

	* gcc.dg/cpp/pr71591.c: New test.

From-SVN: r237620
2016-06-20 23:40:02 +02:00
Hans-Peter Nilsson ab2e14f686 Clear executable property mistakenly added to pr71571.C.
From-SVN: r237618
2016-06-20 20:18:57 +00:00
François Dumont 29dbb034cb re PR libstdc++/71181 (Reserving in unordered_map doesn't reserve enough)
2016-06-20  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/71181
	* include/tr1/hashtable_policy.h
	(_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
	dereferenceable to avoid check on lower_bound result.
	(_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
	(_Prime_rehash_policy::_M_need_rehash): Likewise.
	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
	Always return a value greater than input value. Set _M_next_resize to
	max value when reaching highest prime number.
	* src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
	being now useless.
	* testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
	* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
	(test02): New.
	* testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
	Fix indentation.

From-SVN: r237617
2016-06-20 20:04:25 +00:00
David B. Robins 3947cf1919 re PR target/71571 ([CRIS] Multiple inheritance non-virtual PIC thunk causes crash)
PR target/71571
	* g++.dg/torture/pr71571.C: New test.

From-SVN: r237616
2016-06-20 20:02:03 +00:00
Hans-Peter Nilsson b2b4e462a8 re PR target/71571 ([CRIS] Multiple inheritance non-virtual PIC thunk causes crash)
PR target/71571
	* config/cris/cris.c (cris_asm_output_mi_thunk): Add missing "ba"
	delay-slot "nop" for PIC with CRIS v32.  Also add missing leading
	space for PIC with non-v32 and the common non-PIC "jump".

From-SVN: r237615
2016-06-20 20:01:20 +00:00
Jakub Jelinek c4ff221ea8 re PR target/71559 (ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512))
PR target/71559
	* config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up
	returned values and add UN*/LTGT/*ORDERED cases with values matching
	D operand modifier on vcmp for AVX.

	* gcc.target/i386/sse2-pr71559.c: New test.
	* gcc.target/i386/avx-pr71559.c: New test.
	* gcc.target/i386/avx512f-pr71559.c: New test.

From-SVN: r237614
2016-06-20 21:17:12 +02:00
Tobias Burnus f1b5abfbbb re PR fortran/71194 (ICE on compilation with fcheck=all ; -fcheck=bounds)
2016-06-20  Tobias Burnus  <burnus@net-b.de>

        fortran/71194
        * trans-expr.c (gfc_trans_pointer_assignment): Correctly handle
        RHS pointer functions.

2016-06-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/71194
        * gfortran.dg/pointer_remapping_10.f90: New.

From-SVN: r237612
2016-06-20 20:46:43 +02:00
David Malcolm 842107e43d C++ FE: Show both locations in string literal concatenation error
gcc/cp/ChangeLog:
	* parser.c (cp_parser_string_literal): Convert non-standard
	concatenation error to directly use a rich_location, and
	use that to add the location of the first literal to the
	diagnostic.

gcc/testsuite/ChangeLog:
	* g++.dg/diagnostic/string-literal-concat.C: New test case.

From-SVN: r237608
2016-06-20 16:37:28 +00:00
Wilco Dijkstra 9ee6540a77 This patch cleans up the -mpc-relative-loads option processing.
This patch cleans up the -mpc-relative-loads option processing.  Rename to avoid
the confusing nopcrelative_literal_loads names.  Fix the option processing code
to correctly support -mno-pc-relative-loads rather than ignore it. 

    gcc/
	* config/aarch64/aarch64.opt
	(mpc-relative-literal-loads): Rename internal option name.
	* config/aarch64/aarch64.c
	(aarch64_nopcrelative_literal_loads): Rename to 
	aarch64_pcrelative_literal_loads.
	(aarch64_expand_mov_immediate): Likewise.
	(aarch64_secondary_reload): Likewise.
	(aarch64_can_use_per_function_literal_pools_p): Likewise.
	(aarch64_override_options_after_change_1): Rename and simplify logic.
	(aarch64_classify_symbol): Merge large model checks into switch,
	remove pc-relative load check.

From-SVN: r237607
2016-06-20 16:20:31 +00:00
Martin Sebor d9e8bdfd90 PR c/69507 - bogus warning: ISO C does not allow __alignof__ (expression)
gcc/testsuite/ChangeLog:
	* gnu89-const-expr-1.c: Avoid diagnosing __alignof__ as not conforming.
	* gnu90-const-expr-1.c: Same.
	* gnu99-const-expr-1.c: Same.
	* gnu99-static-1.c: Same.

From-SVN: r237606
2016-06-20 09:46:09 -06:00
Renlin Li 6778547918 [PATCH]Fix scan-tree-dump-times syntax errors in gcc.dg/tree-ssa/attr-hotcold-2.c
gcc/testsuite/

2016-06-20  Renlin Li  <renlin.li@arm.com>

	* gcc.dg/tree-ssa/attr-hotcold-2.c: Fix syntax errors.

From-SVN: r237605
2016-06-20 14:27:16 +00:00
James Greenhalgh f6dbc402e1 [AArch64] Give some new costs for Cortex-A53 floating-point operations
gcc/

	* config/arm/aarch-cost-tables.h (cortexa53_extra_costs): Make FP
	costs relative to the cost of a register move.

From-SVN: r237604
2016-06-20 14:01:04 +00:00
James Greenhalgh 636929b8d6 [Patch AArch64] Add some more missing intrinsics
gcc/ChangeLog

2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/arm_neon.h (vcvt_n_f64_s64): New.
	(vcvt_n_f64_u64): Likewise.
	(vcvt_n_s64_f64): Likewise.
	(vcvt_n_u64_f64): Likewise.
	(vcvt_f64_s64): Likewise.
	(vrecpe_f64): Likewise.
	(vcvt_f64_u64): Likewise.
	(vrecps_f64): Likewise.

gcc/testsuite/ChangeLog

2016-06-20  James Greenhalgh  <james.greenhalgh@arm.com>

	* gcc.target/aarch64/vcvt_f64_1.c: New.
	* gcc.target/aarch64/vcvt_n_f64_1.c: New.
	* gcc.target/aarch64/vrecp_f64_1.c: New.

From-SVN: r237603
2016-06-20 13:42:30 +00:00
James Greenhalgh 1f0e9e34f5 [Patch AArch64] Fixup to fcvt patterns added in r237200
gcc/

	* config/aarch64/aarch64.md
	(<FCVT_F2FIXED:fcvt_fixed_insn><GPF:mode>3): Add attributes to
	iterators.
	(<FCVT_FIXED2F:fcvt_fixed_insn><GPI:mode>3): Likewise.  Correct
	attributes.
	* config/aarch64/aarch64-builtins.c
	(aarch64_types_binop_uss_qualifiers): Delete.
	(TYPES_BINOP_USS): Likewise.
	(aarch64_types_binop_sus_qualifiers): Likewise.
	(TYPES_BINOP_SUS): Likewise.
	(aarch64_types_fcvt_from_unsigned_qualifiers): New.
	(TYPES_FCVTIMM_SUS): Likewise.
	* config/aarch64/aarch64-simd-builtins.def (scvtf): Use SHIFTIMM
	rather than BINOP.
	(ucvtf): Use FCVTIMM_SUS rather than BINOP_SUS.
	(fcvtzs): Use SHIFTIMM rather than BINOP.
	(fcvtzu): Use SHIFTIMM_USS rather than BINOP_USS.

From-SVN: r237602
2016-06-20 13:40:07 +00:00
James Greenhalgh b2fb6b750b [AArch64] Give some new costs for Cortex-A57 floating-point operations
gcc/

	* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
	costs relative to the cost of a register move.

From-SVN: r237601
2016-06-20 13:32:01 +00:00
Arnaud Charlet 20250fb87c [multiple changes]
2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* make.adb, gnatbind.adb, g-socket.adb, sem_ch13.adb: Minor
	reformatting.
	* lib.ads, sem_util.adb: Minor typo in comment.

2016-06-20  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb, sem_prag.ads (Build_Pragma_Check_Equivalent):
	Add parameter Keep_Pragma_Id to optionally keep
	the identifier of the pragma instead of converting
	to pragma Check. Also set type of new function call
	appropriately.	(Collect_Inherited_Class_Wide_Conditions):
	Call Build_Pragma_Check_Equivalent with the new parameter
	Keep_Pragma_Id set to True to keep the identifier of the copied
	pragma.
	* sinfo.ads: Add comment.

2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Invariant_Procedure_Body):
	Always install the scope of the invariant procedure
	in order to produce better error messages. Do not
	insert the body when the context is a generic unit.
	(Build_Invariant_Procedure_Declaration): Perform minimal
	decoration of the invariant procedure and its formal parameter
	in case they are not analyzed.	Do not insert the declaration
	when the context is a generic unit.

From-SVN: r237600
2016-06-20 14:31:47 +02:00
Ed Schonberg 9e3be36e46 sem_ch13.adb (Visible_Component): New procedure...
2016-06-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Visible_Component): New procedure, subsidiary
	of Replace_Type_References_ Generic, to determine whether an
	identifier in a predicate or invariant expression is a visible
	component of the type to which the predicate or invariant
	applies. Implements the visibility rule stated in RM 13.1.1
	(12/3).

From-SVN: r237599
2016-06-20 14:27:05 +02:00
Arnaud Charlet 2f8d7dfe21 [multiple changes]
2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-regpat.adb, sem_prag.adb, pprint.adb, sem_ch13.adb: Minor
	reformatting.

2016-06-20  Tristan Gingold  <gingold@adacore.com>

	* make.adb (Check_Standard_Library): Consider system.ads
	if s-stalib.adb is not available.
	* gnatbind.adb (Add_Artificial_ALI_File): New procedure extracted from
	gnatbind.

2016-06-20  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb (Is_IP_Address): A string consisting in digits only is
	not a dotted quad.

2016-06-20  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch7.adb (Build_Invariant_Procedure_Body):
	decorate invariant procedure body with typical properties of
	procedure entityes.

2016-06-20  Arnaud Charlet  <charlet@adacore.com>

	* a-exetim-darwin.adb: New file.

From-SVN: r237598
2016-06-20 14:25:44 +02:00
Wilco Dijkstra 61f17a5c5a Improve modes_tieable by returning true in more cases...
Improve modes_tieable by returning true in more cases: allow scalar access
within vectors without requiring an extra move.  Removing these moves helps
the register allocator in deciding whether to use integer or FP registers on
operations that can be done on both.  This saves about 100 instructions in the
gcc.target/aarch64 tests.

A typical example:

	orr     v1.8b, v0.8b, v1.8b
	fmov    x0, d0
	fmov    x1, d1
	add     x0, x1, x0
	ins     v0.d[0], x0
	orr     v0.8b, v1.8b, v0.8b

after:

	orr     v1.8b, v0.8b, v1.8b
	add     d0, d1, d0
	orr     v0.8b, v1.8b, v0.8b

    gcc/
	* config/aarch64/aarch64.c (aarch64_modes_tieable_p):
	Allow scalar/single vector modes to be tieable.

From-SVN: r237597
2016-06-20 12:24:48 +00:00
Arnaud Charlet 3ddfabe34f [multiple changes]
2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* atree.ads, atree.adb (Elist29): New routine.
	(Set_Elist29): New routine.
	* atree.h New definition for Elist29.
	* einfo.adb Subprograms_For_Type is now an Elist rather than
	a node. Has_Invariants is now a synthesized attribute
	and does not require a flag. Has_Own_Invariants
	is now Flag232. Has_Inherited_Invariants is
	Flag291. Is_Partial_Invariant_Procedure is Flag292.
	(Default_Init_Cond_Procedure): Reimplemented.
	(Has_Inherited_Invariants): New routine.
	(Has_Invariants): Reimplemented.
	(Has_Own_Invariants): New routine.
	(Invariant_Procedure): Reimplemented.
	(Is_Partial_Invariant_Procedure): New routine.
	(Partial_Invariant_Procedure): Reimplemented.
	(Predicate_Function): Reimplemented.
	(Predicate_Function_M): Reimplemented.
	(Set_Default_Init_Cond_Procedure): Reimplemented.
	(Set_Has_Inherited_Invariants): New routine.
	(Set_Has_Invariants): Removed.
	(Set_Has_Own_Invariants): New routine.
	(Set_Invariant_Procedure): Reimplemented.
	(Set_Is_Partial_Invariant_Procedure): New routine.
	(Set_Partial_Invariant_Procedure): Reimplemented.
	(Set_Predicate_Function): Reimplemented.
	(Set_Predicate_Function_M): Reimplemented.
	(Set_Subprograms_For_Type): Reimplemented.
	(Subprograms_For_Type): Reimplemented.
	(Write_Entity_Flags): Output Flag232 and Flag291.
	* einfo.ads Add new attributes Has_Inherited_Invariants
	Has_Own_Invariants Is_Partial_Invariant_Procedure
	Partial_Invariant_Procedure Change the documentation
	of attributes Has_Inheritable_Invariants Has_Invariants
	Invariant_Procedure Is_Invariant_Procedure Subprograms_For_Type
	(Has_Inherited_Invariants): New routine along with pragma Inline.
	(Has_Own_Invariants): New routine along with pragma Inline.
	(Is_Partial_Invariant_Procedure): New routine along with pragma Inline.
	(Partial_Invariant_Procedure): New routine.
	(Set_Has_Inherited_Invariants): New routine along with pragma Inline.
	(Set_Has_Invariants): Removed along with pragma Inline.
	(Set_Has_Own_Invariants): New routine along with pragma Inline.
	(Set_Is_Partial_Invariant_Procedure): New routine
	along with pragma Inline.
	(Set_Partial_Invariant_Procedure): New routine.
	(Set_Subprograms_For_Type): Update the signature.
	(Subprograms_For_Type): Update the signature.
	* exp_ch3.adb Remove with and use clauses for Sem_Ch13.
	(Build_Array_Invariant_Proc): Removed.
	(Build_Record_Invariant_Proc): Removed.
	(Freeze_Type): Build the body of the invariant procedure.
	(Insert_Component_Invariant_Checks): Removed.
	* exp_ch7.adb Add with and use clauses for Sem_Ch6, Sem_Ch13,
	and Stringt.
	(Build_Invariant_Procedure_Body): New routine.
	(Build_Invariant_Procedure_Declaration): New routine.
	* exp_ch7.ads (Build_Invariant_Procedure_Body): New routine.
	(Build_Invariant_Procedure_Declaration): New routine.
	* exp_ch9.adb (Build_Corresponding_Record): Do not propagate
	attributes related to invariants to the corresponding record
	when building the corresponding record. This is done by
	Build_Invariant_Procedure_Declaration.
	* exp_util.adb (Make_Invariant_Call): Reimplemented.
	* freeze.adb (Freeze_Array_Type): An array type requires an
	invariant procedure when its component type has invariants.
	(Freeze_Record_Type): A record type requires an invariant
	procedure when at least one of its components has an invariant.
	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Inherit
	invariant-related attributes.
	(Analyze_Subtype_Declaration):
	Inherit invariant-related attributes.
	(Build_Derived_Record_Type): Inherit invariant-related attributes.
	(Check_Duplicate_Aspects): Reimplemented.
	(Get_Partial_View_Aspect): New routine.
	(Process_Full_View): Inherit invariant-related attributes. Reimplement
	the check on hidden inheritance of class-wide invariants.
	(Remove_Default_Init_Cond_Procedure): Reimplemented.
	* sem_ch6.adb (Analyze_Subprogram_Specification): Do not modify
	the controlling type for an invariant procedure declaration
	or body.
	(Is_Invariant_Procedure_Or_Body): New routine.
	* sem_ch7.adb (Analyze_Package_Specification): Build the partial
	invariant body in order to preanalyze and resolve all invariants
	of a private type at the end of the visible declarations. Build
	the full invariant body in order to preanalyze and resolve
	all invariants of a private type's full view at the end of
	the private declarations.
	(Preserve_Full_Attributes): Inherit invariant-related attributes.
	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Ensure that
	aspects are analyzed with the proper view when the protected type
	is a completion of a private type. Inherit invariant-related attributes.
	(Analyze_Task_Type_Declaration): Ensure that
	aspects are analyzed with the proper view when the task type
	is a completion of a private type. Inherit invariant-related
	attributes.
	* sem_ch13.adb Remove with and use clauses for Stringt.
	(Build_Invariant_Procedure_Declaration): Removed.
	(Build_Invariant_Procedure): Removed.
	(Freeze_Entity_Checks): Do not build the body of the invariant
	procedure here.
	The body is built when the type is frozen in Freeze_Type.
	(Inherit_Aspects_At_Freeze_Point): Do not inherit any attributes
	related to invariants here because this leads to erroneous
	inheritance.
	(Replace_Node): Rename to Replace_Type_Ref.
	* sem_ch13.ads (Build_Invariant_Procedure_Declaration): Removed.
	(Build_Invariant_Procedure): Removed.
	* sem_prag.adb Add with and use clauses for Exp_Ch7.
	(Analyze_Pragma): Reimplement the analysis of pragma Invariant.
	* sem_res.adb (Resolve_Actuals): Emit a specialized error when
	the context is an invariant.
	* sem_util.adb (Get_Views): New routine.
	(Incomplete_Or_Partial_View): Consider generic packages when
	examining declarations.
	(Inspect_Decls): Consider full type
	declarations because they may denote a derivation from a
	private type.
	(Propagate_Invariant_Attributes): New routine.
	* sem_util.ads (Get_Views): New routine.
	(Propagate_Invariant_Attributes): New routine.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

	* pprint.adb (Expression_Image): Add better handling of UCs,
	we don't want to strip them all for clarity.

From-SVN: r237596
2016-06-20 14:22:09 +02:00
Wilco Dijkstra 1db6c46d4d The Cortex-A57 scheduler is missing fcsel, so add it.
gcc/
	* config/arm/cortex-a57.md (cortex_a57_fp_cpys): Add fcsel.

From-SVN: r237595
2016-06-20 12:15:19 +00:00