gcc.git
9 years agolinux-atomic.c (__kernel_cmpxchg2): New.
Guy Martin [Sat, 22 Nov 2014 00:18:49 +0000 (01:18 +0100)]
linux-atomic.c (__kernel_cmpxchg2): New.

* config/pa/linux-atomic.c (__kernel_cmpxchg2): New.
(FETCH_AND_OP_2): New.  Use for subword and double word operations.
(OP_AND_FETCH_2): Likewise.
(COMPARE_AND_SWAP_2): Likewise.
(SYNC_LOCK_TEST_AND_SET_2): Likewise.
(SYNC_LOCK_RELEASE_2): Likewise.
(SUBWORD_SYNC_OP): Remove.
(SUBWORD_VAL_CAS): Likewise.
(SUBWORD_BOOL_CAS): Likewise.
(FETCH_AND_OP_WORD): Update.
Consistently use signed types.

Co-Authored-By: John David Anglin <danglin@gcc.gnu.org>
From-SVN: r217956

9 years agoDaily bump.
GCC Administrator [Sat, 22 Nov 2014 00:16:31 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217955

9 years agofutex.h (SYS_futex): Define if not already done.
Steve Ellcey [Fri, 21 Nov 2014 23:25:51 +0000 (23:25 +0000)]
futex.h (SYS_futex): Define if not already done.

2014-11-21  Steve Ellcey  <sellcey@imgtec.com>

* config/linux/mips/futex.h (SYS_futex): Define if not already done.

From-SVN: r217952

9 years agore PR c++/63942 (constexpr conflicts with previous declaration)
Jason Merrill [Fri, 21 Nov 2014 21:35:09 +0000 (16:35 -0500)]
re PR c++/63942 (constexpr conflicts with previous declaration)

PR c++/63942
* name-lookup.c (supplement_binding_1): Override a mangling alias.
* mangle.c (implicit_alias_p, remove_implicit_alias): New.
(mangle_decl): Avoid creating conflicting alias with
-fabi-compat-version=0, too.
* cp-tree.h: Adjust.

From-SVN: r217950

9 years agore PR c++/63849 ([c++11] ICE on variadic alias template with wrappers)
Jason Merrill [Fri, 21 Nov 2014 21:35:00 +0000 (16:35 -0500)]
re PR c++/63849 ([c++11] ICE on variadic alias template with wrappers)

PR c++/63849
* mangle.c (decl_mangling_context): Use template_type_parameter_p.

From-SVN: r217949

9 years agore PR c++/63588 (ICE (segfault) on arm-linux-gnueabihf)
Jason Merrill [Fri, 21 Nov 2014 21:34:54 +0000 (16:34 -0500)]
re PR c++/63588 (ICE (segfault) on arm-linux-gnueabihf)

PR c++/63588
* pt.c (uses_template_parms): Handle null argument.

From-SVN: r217948

9 years agore PR target/63897 (gcc.dg/torture/vector-2.c fails at on x86_64-apple-darwin14)
Vladimir Makarov [Fri, 21 Nov 2014 21:29:54 +0000 (21:29 +0000)]
re PR target/63897 (gcc.dg/torture/vector-2.c fails at on x86_64-apple-darwin14)

2014-11-21  Vladimir Makarov  <vmakarov@redhat.com>

PR target/63897
* lra-lives.c (mark_regno_live, mark_regno_dead): Remove last
argument.
(process_bb_lives): Rename dead_insn_p on remove_p
and global_live_info_p on dead_insn_p.  Calculate local live info
unconditionally.  Remove last argument in calls mark_regno_live and
mark_regno_dead.  Reorganize body of EXECUTE_IF_SET_IN_BITMAP.
(lra_create_live_ranges): Rename to lra_create_live_ranges_1.
Return bool.  Rename global_live_info_p on dead_insn_p.  Return
flag of live info change.
(lra_create_live_ranges): New.

From-SVN: r217947

9 years agore PR target/63848 (FAIL: c-c++-common/torture/builtin-arith-overflow-17.c -O0...
Jakub Jelinek [Fri, 21 Nov 2014 20:42:20 +0000 (21:42 +0100)]
re PR target/63848 (FAIL: c-c++-common/torture/builtin-arith-overflow-17.c   -O0  execution test)

PR target/63848
PR target/63975
* internal-fn.c (expand_arith_overflow_result_store,
expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): Use
do_compare_rtx_and_jump instead of emit_cmp_and_jump_insns everywhere,
adjust arguments to those functions.  Use unsignedp = true for
EQ, NE, GEU, LEU, LTU and GTU comparisons.

From-SVN: r217946

9 years agore PR tree-optimization/64006 (__builtin_mul_overflow fails to signal overflow)
Jakub Jelinek [Fri, 21 Nov 2014 20:41:37 +0000 (21:41 +0100)]
re PR tree-optimization/64006 (__builtin_mul_overflow fails to signal overflow)

PR tree-optimization/64006
* tree-vrp.c (stmt_interesting_for_vrp): Return true
for {ADD,SUB,MUL}_OVERFLOW internal calls.
(vrp_visit_assignment_or_call): For {ADD,SUB,MUL}_OVERFLOW
internal calls, check if any REALPART_EXPR/IMAGPART_EXPR
immediate uses would change their value ranges and return
SSA_PROP_INTERESTING if so, or SSA_PROP_NOT_INTERESTING
if there are some REALPART_EXPR/IMAGPART_EXPR immediate uses
interesting for vrp.

* gcc.c-torture/execute/pr64006.c: New test.

From-SVN: r217945

9 years ago* Makefile.in: Regenerate.
Ilya Verbin [Fri, 21 Nov 2014 19:37:10 +0000 (19:37 +0000)]
* Makefile.in: Regenerate.

From-SVN: r217944

9 years agogo-test.exp (go-set-goarch): Add case for ppc64le goarch value for go testing.
Lynn Boger [Fri, 21 Nov 2014 18:25:14 +0000 (12:25 -0600)]
go-test.exp (go-set-goarch): Add case for ppc64le goarch value for go testing.

* go.test/go-test.exp (go-set-goarch): Add case for ppc64le goarch
value for go testing.

From-SVN: r217942

9 years agoruntime: GOARCH values for ppc64 BE & LE
Ian Lance Taylor [Fri, 21 Nov 2014 18:22:05 +0000 (18:22 +0000)]
runtime: GOARCH values for ppc64 BE & LE

ppc64 for BE
ppc64le for LE
issue 8654

From-SVN: r217941

9 years agore PR target/63965 (ICE: in extract_constrain_insn, at recog.c:2230 on ppc64)
Michael Meissner [Fri, 21 Nov 2014 18:03:09 +0000 (18:03 +0000)]
re PR target/63965 (ICE: in extract_constrain_insn, at recog.c:2230 on ppc64)

2014-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/63965
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Do not set
Altivec & -16 mask if the type is not valid for Altivec registers.
(rs6000_secondary_reload_memory): Add support for ((reg + const) +
reg) that occurs during push_reload processing.

* config/rs6000/altivec.md (altivec_mov<mode>): Add instruction
alternative for moving constant vectors which are easy altivec
constants to GPRs.  Set the length attribute each of the
alternatives.

From-SVN: r217940

9 years agoRefine configure guard for MIPS .module availability
Matthew Fortune [Fri, 21 Nov 2014 16:57:55 +0000 (16:57 +0000)]
Refine configure guard for MIPS .module availability

gcc/

* configure.ac: When checking for MIPS .module support ensure that
o32 FPXX is supported to avoid a second configure check.
* configure: Regenerate.

From-SVN: r217939

9 years ago[AArch64] Add vector pattern for __builtin_ctz
Jiong Wang [Fri, 21 Nov 2014 16:56:21 +0000 (16:56 +0000)]
[AArch64] Add vector pattern for __builtin_ctz

  gcc/
    * config/aarch64/iterators.md (VS): New mode iterator.
    (vsi2qi): New mode attribute.
    (VSI2QI): Likewise.
    * config/aarch64/aarch64-simd-builtins.def: New entry for ctz.
    * config/aarch64/aarch64-simd.md (ctz<mode>2): New pattern for ctz.
    * config/aarch64/aarch64-builtins.c
    (aarch64_builtin_vectorized_function): Support BUILT_IN_CTZ.

  gcc/testsuite/
    * gcc.target/aarch64/vect_ctz_1.c: New testcase.

From-SVN: r217938

9 years agoAlways use PIC option with -shared in libtool
H.J. Lu [Fri, 21 Nov 2014 16:49:17 +0000 (08:49 -0800)]
Always use PIC option with -shared in libtool

Libtool needs to pass PIC option -shared when creating shared object to
link regular object files with slim-lto archive.

PR bootstrap/63784
* libtool.m4: Add $pic_flag with -shared.

boehm-gc/

PR bootstrap/63784
* configure: Regenerated.

gcc/

PR bootstrap/63784
* configure: Regenerated.

libatomic/

PR bootstrap/63784
* configure: Regenerated.

libbacktrace/

PR bootstrap/63784
* configure: Regenerated.

libcc1/

PR bootstrap/63784
* configure: Regenerated.

libcilkrts/

PR bootstrap/63784
* configure: Regenerated.

libffi/

PR bootstrap/63784
* configure: Regenerated.

libgfortran/

PR bootstrap/63784
* configure: Regenerated.

libgomp/

PR bootstrap/63784
* configure: Regenerated.

libitm/

PR bootstrap/63784
* configure: Regenerated.

libjava/

PR bootstrap/63784
* configure: Regenerated.

libjava/classpath/

PR bootstrap/63784
* configure: Regenerated.

libobjc/

PR bootstrap/63784
* configure: Regenerated.

libquadmath/

PR bootstrap/63784
* configure: Regenerated.

libsanitizer/

PR bootstrap/63784
* configure: Regenerated.

libssp/

PR bootstrap/63784
* configure: Regenerated.

libstdc++-v3/

PR bootstrap/63784
* configure: Regenerated.

libvtv/

PR bootstrap/63784
* configure: Regenerated.

lto-plugin/

PR bootstrap/63784
* configure: Regenerated.

From-SVN: r217937

9 years ago[AArch64] Implement vsqrt_f64 intrinsic
Kyrylo Tkachov [Fri, 21 Nov 2014 16:28:29 +0000 (16:28 +0000)]
[AArch64] Implement vsqrt_f64 intrinsic

* config/aarch64/arm_neon.h (vsqrt_f64): New intrinsic.

* gcc.target/aarch64/simd/vsqrt_f64_1.c

From-SVN: r217936

9 years agoAdd x86 pcommit instruction.
Ilya Tocar [Fri, 21 Nov 2014 16:04:20 +0000 (16:04 +0000)]
Add x86 pcommit instruction.

gcc/

* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
OPTION_MASK_ISA_PCOMMIT_SET): New.
(ix86_handle_option): Handle OPT_mpcommit.
* config.gcc: Add pcommitintrin.h
* config/i386/pcommitintrin.h: New file.
* config/i386/cpuid.h (bit_PCOMMIT): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect pcommit.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__PCOMMIT__.
* config/i386/i386.c (ix86_target_string): Add -mpcommit.
(PTA_PCOMMIT): Define.
(ix86_option_override_internal): Handle new option.
(ix86_valid_target_attribute_inner_p): Add pcommit.
(ix86_builtins): Add IX86_BUILTIN_PCOMMIT.
(bdesc_special_args): Add __builtin_ia32_pcommit.
* config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Define.
* config/i386/i386.md (unspecv): Add UNSPECV_PCOMMIT.
(pcommit): New instruction.
* config/i386/i386.opt: Add mpcommit.
* config/i386/x86intrin.h: Include pcommitintrin.h.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mpcommit.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/pcommit-1.c: New test.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r217935

9 years agoPR debug/38757 gcc does not emit DW_LANG_C99.
Mark Wielaard [Fri, 21 Nov 2014 16:00:06 +0000 (16:00 +0000)]
PR debug/38757 gcc does not emit DW_LANG_C99.

For C and C++ add the language standard version in use to lang_hooks.name.
Change users of lang_hook.name to check with new functions lang_GNU_C or
lang_GNU_CXX. In dwarf2out.c output the DW_LANG_C version from the
lang_hooks.name and merge any LTO TRANSLATION_UNIT_LANGUAGE found. Adds
two testcases to dwarf2.exp to check the right DWARF DW_AT_language is set
on the compile_unit depending on the -std=c89 or -std=c99 setting.

gcc/c-family/ChangeLog

PR debug/38757
* c-opts.c (set_std_c89): Set lang_hooks.name.
(set_std_c99): Likewise.
(set_std_c11): Likewise.
(set_std_cxx98): Likewise.
(set_std_cxx11): Likewise.
(set_std_cxx14): Likewise.
(set_std_cxx1z): Likewise.

gcc/ChangeLog

PR debug/38757
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use lang_GNU_C.
* config/darwin.c (darwin_file_end): Use lang_GNU_CXX.
(darwin_override_options): Likewise.
* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
Likewise.
* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
Likewise.
* dbxout.c (get_lang_number): Likewise.
(dbxout_type): Likewise.
(dbxout_symbol_location): Likewise.
* dwarf2out.c (add_prototyped_attribute): Add DW_AT_prototype
also for DW_LANG_{C,C99,ObjC}.
(highest_c_language): New function.
(gen_compile_unit_die): Call highest_c_language to merge LTO
TRANSLATION_UNIT_LANGUAGE. Use strncmp language_string to
determine if DW_LANG_C99 or DW_LANG_C89 should be returned.
* fold-const.c (fold_cond_expr_with_comparison): Use lang_GNU_CXX.
* langhooks.h (struct lang_hooks): Add version comment to name.
(lang_GNU_C): New function declaration.
(lang_GNU_CXX): Likewise.
* langhooks.c (lang_GNU_C): New function.
(lang_GNU_CXX): Likewise.
* vmsdbgout.c (vmsdbgout_init): Use lang_GNU_C and lang_GNU_CXX.

gcc/testsuite/ChangeLog

PR debug/38757
* gcc.dg/debug/dwarf2/lang-c89.c: New test.
* gcc.dg/debug/dwarf2/lang-c99.c: Likewise.

From-SVN: r217934

9 years agoSupport clwb x86 instruction.
Ilya Tocar [Fri, 21 Nov 2014 15:52:49 +0000 (15:52 +0000)]
Support clwb x86 instruction.

gcc/
* common/config/i386/i386-common.c (OPTION_MASK_ISA_CLWB_UNSET,
OPTION_MASK_ISA_CLWB_SET): New.
(ix86_handle_option): Handle OPT_mclwb.
* config.gcc: Add clwbintrin.h.
* config/i386/clwbintrin.h: New file.
* config/i386/cpuid.h (bit_CLWB): Define.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect clwb.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__CLWB__.
* config/i386/i386.c (ix86_target_string): Add -mclwb.
(PTA_CLWB): Define.
(ix86_option_override_internal): Handle new option.
(ix86_valid_target_attribute_inner_p): Add clwb.
(ix86_builtins): Add IX86_BUILTIN_CLWB.
(ix86_init_mmx_sse_builtins): Add __builtin_ia32_clwb.
(ix86_expand_builtin): Handle IX86_BUILTIN_CLWB.
* config/i386/i386.h (TARGET_CLWB, TARGET_CLWB_P): Define.
* config/i386/i386.md (unspecv): Add UNSPECV_CLWB.
(clwb): New instruction.
* config/i386/i386.opt: Add mclwb.
* config/i386/x86intrin.h: Include clwbintrin.h.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mclwb.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/clwb-1.c: New test.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r217933

9 years agoAdd avx512vbmi instructions.
Ilya Tocar [Fri, 21 Nov 2014 15:44:37 +0000 (15:44 +0000)]
Add avx512vbmi instructions.

gcc/

* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET
OPTION_MASK_ISA_AVX512VBMI_UNSET): New.
(ix86_handle_option): Handle OPT_mavx512vbmi.
* config.gcc: Add avx512vbmiintrin.h, avx512vbmivlintrin.h.
* config/i386/avx512vbmiintrin.h: New file.
* config/i386/avx512vbmivlintrin.h: Ditto.
* config/i386/cpuid.h (bit_AVX512VBMI): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vbmi.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__AVX512VBMI__.
* config/i386/i386.c (ix86_target_string): Add -mavx512vbmi.
(PTA_AVX512VBMI): Define.
(ix86_option_override_internal): Handle new options.
(ix86_valid_target_attribute_inner_p): Add avx512vbmi,
(ix86_builtins): Add IX86_BUILTIN_VPMULTISHIFTQB512,
IX86_BUILTIN_VPMULTISHIFTQB256, IX86_BUILTIN_VPMULTISHIFTQB128,
IX86_BUILTIN_VPERMVARQI512_MASK, IX86_BUILTIN_VPERMT2VARQI512,
IX86_BUILTIN_VPERMT2VARQI512_MASKZ, IX86_BUILTIN_VPERMI2VARQI512,
IX86_BUILTIN_VPERMVARQI256_MASK, IX86_BUILTIN_VPERMVARQI128_MASK,
IX86_BUILTIN_VPERMT2VARQI256, IX86_BUILTIN_VPERMT2VARQI256_MASKZ,
IX86_BUILTIN_VPERMT2VARQI128, IX86_BUILTIN_VPERMI2VARQI256,
IX86_BUILTIN_VPERMI2VARQI128.
(bdesc_special_args): Add __builtin_ia32_vpmultishiftqb512_mask,
__builtin_ia32_vpmultishiftqb256_mask,
__builtin_ia32_vpmultishiftqb128_mask,
__builtin_ia32_permvarqi512_mask, __builtin_ia32_vpermt2varqi512_mask,
__builtin_ia32_vpermt2varqi512_maskz,
__builtin_ia32_vpermi2varqi512_mask, __builtin_ia32_permvarqi256_mask,
__builtin_ia32_permvarqi128_mask, __builtin_ia32_vpermt2varqi256_mask,
__builtin_ia32_vpermt2varqi256_maskz,
__builtin_ia32_vpermt2varqi128_mask,
__builtin_ia32_vpermt2varqi128_maskz,
__builtin_ia32_vpermi2varqi256_mask,
__builtin_ia32_vpermi2varqi128_mask.
(ix86_hard_regno_mode_ok): Allow big masks for AVX512VBMI.
* config/i386/i386.h (TARGET_AVX512VBMI, TARGET_AVX512VBMI_P): Define.
* config/i386/i386.opt: Add mavx512vbmi.
* config/i386/immintrin.h: Include avx512vbmiintrin.h,
avx512vbmivlintrin.h.
* config/i386/sse.md (unspec): Add UNSPEC_VPMULTISHIFT.
(VI1_AVX512VL): New iterator.
(<avx512>_permvar<mode><mask_name>): Use it.
(<avx512>_vpermi2var<mode>3_maskz): Ditto.
(<avx512>_vpermi2var<mode>3<sd_maskz_name>): Ditto.
(<avx512>_vpermi2var<mode>3_mask): Ditto.
(<avx512>_vpermt2var<mode>3_maskz): Ditto.
(<avx512>_vpermt2var<mode>3<sd_maskz_name>): Ditto.
(<avx512>_vpermt2var<mode>3_mask): Ditto.
(vpmultishiftqb<mode><mask_name>): Ditto.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mavx512vbmi.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/avx512f-helper.h: Add avx512vbmi-check.h.
* gcc.target/i386/avx512vbmi-check.h: Ditto.
* gcc.target/i386/avx512vbmi-vpermb-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermb-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermi2b-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermi2b-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermt2b-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpermt2b-2.c: Ditto.
* gcc.target/i386/avx512vbmi-vpmultishiftqb-1.c: Ditto.
* gcc.target/i386/avx512vbmi-vpmultishiftqb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermb-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermi2b-2.c: Ditto.
* gcc.target/i386/avx512vl-vpermt2b-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddhuq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmultishiftqb-2.c: Ditto.
* gcc.target/i386/i386.exp (check_effective_target_avx512vbmi): New.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

From-SVN: r217932

9 years agore PR rtl-optimization/63952 (bootstrap failure (ICE in prepare_cmp_insn) on s390x...
Ulrich Weigand [Fri, 21 Nov 2014 15:33:27 +0000 (15:33 +0000)]
re PR rtl-optimization/63952 (bootstrap failure (ICE in prepare_cmp_insn) on s390x in libjava)

PR rtl-optimization/63952
* optabs.c (prepare_cmp_insn): Do not call can_compare_p for CCmode.
* config/s390/s390.md ("cbranchcc4"): Accept any s390_comparison.
Remove incorrect TARGET_HARD_FLOAT check and no-op expander code.

From-SVN: r217929

9 years agoAdd avx512ifma instructions.
Ilya Tocar [Fri, 21 Nov 2014 15:28:24 +0000 (15:28 +0000)]
Add avx512ifma instructions.

gcc/
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512IFMA_SET,
OPTION_MASK_ISA_AVX512IFMA_UNSET): New.
(ix86_handle_option): Handle OPT_mavx512ifma.
* config.gcc: Add avx512ifmaintrin.h, avx512ifmavlintrin.h.
* config/i386/avx512ifmaintrin.h: New file.
* config/i386/avx512ifmaivlntrin.h: Ditto.
* config/i386/cpuid.h (bit_AVX512IFMA): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
avx512ifma.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__AVX512IFMA__.
* config/i386/i386.c (ix86_target_string): Add -mavx512ifma.
(PTA_AVX512IFMA): Define.
(ix86_option_override_internal): Handle new options.
(ix86_valid_target_attribute_inner_p): Add avx512ifma.
(ix86_builtins): Add IX86_BUILTIN_VPMADD52LUQ512,
IX86_BUILTIN_VPMADD52HUQ512, IX86_BUILTIN_VPMADD52LUQ256,
IX86_BUILTIN_VPMADD52HUQ256, IX86_BUILTIN_VPMADD52LUQ128,
IX86_BUILTIN_VPMADD52HUQ128, IX86_BUILTIN_VPMADD52LUQ512_MASKZ,
IX86_BUILTIN_VPMADD52HUQ512_MASKZ, IX86_BUILTIN_VPMADD52LUQ256_MASKZ,
IX86_BUILTIN_VPMADD52HUQ256_MASKZ, IX86_BUILTIN_VPMADD52LUQ128_MASKZ,
IX86_BUILTIN_VPMADD52HUQ128_MASKZ.
(bdesc_special_args): Add __builtin_ia32_vpmadd52luq512_mask,
__builtin_ia32_vpmadd52luq512_maskz,
__builtin_ia32_vpmadd52huq512_mask,
__builtin_ia32_vpmadd52huq512_maskx,
__builtin_ia32_vpmadd52luq256_mask,
__builtin_ia32_vpmadd52luq256_maskz,
__builtin_ia32_vpmadd52huq256_mask,
__builtin_ia32_vpmadd52huq256_maskz,
__builtin_ia32_vpmadd52luq128_mask,
__builtin_ia32_vpmadd52luq128_maskz,
__builtin_ia32_vpmadd52huq128_mask,
__builtin_ia32_vpmadd52huq128_maskz,
* config/i386/i386.h (TARGET_AVX512IFMA, TARGET_AVX512IFMA_P): Define.
* config/i386/i386.opt: Add mavx512ifma.
* config/i386/immintrin.h: Include avx512ifmaintrin.h,
avx512ifmavlintrin.h.
* config/i386/sse.md (unspec): Add UNSPEC_VPMADD52LUQ,
UNSPEC_VPMADD52HUQ.
(VPMADD52): New iterator.
(vpmadd52type): New attribute.
(vpamdd52huq<mode>_maskz): New.
(vpamdd52luq<mode>_maskz): Ditto.
(vpamdd52<vpmadd52type><mode><sd_maskz_name>): Ditto.
(vpamdd52<vpmadd52type><mode>_mask): Ditto.

gcc/testsuite/

* g++.dg/other/i386-2.C: Add -mavx512ifma.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/avx512f-helper.h: Add avx512ifma-check.h.
* gcc.target/i386/avx512ifma-check.h: New.
* gcc.target/i386/avx512ifma-vpmaddhuq-1.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddhuq-2.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddluq-1.c: Ditto.
* gcc.target/i386/avx512ifma-vpmaddluq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddhuq-2.c: Ditto.
* gcc.target/i386/avx512vl-vpmaddluq-2.c: Ditto.
* gcc.target/i386/i386.exp (check_effective_target_avx512ifma): New.
* gcc.target/i386/sse-12.c: Add new options.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.

2014-11-21  Georg-Johann Lay  <avr@gjlay.de>

From-SVN: r217928

9 years agoRevert: Workaround following [PATCH] Pul all constants last in tree_swap_operands_p
Alan Lawrence [Fri, 21 Nov 2014 14:44:31 +0000 (14:44 +0000)]
Revert: Workaround following [PATCH] Pul all constants last in tree_swap_operands_p

https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
2014-09-22  Alan Lawrence  <alan.lawrence@arm.com>
gcc/:
         * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.

From-SVN: r217927

9 years ago[MIPS] If using branch likelies in MIPS sync code fill the delay slot
Andrew Bennett [Fri, 21 Nov 2014 14:34:55 +0000 (14:34 +0000)]
[MIPS] If using branch likelies in MIPS sync code fill the delay slot
with a nop.

gcc/
* config/mips/mips.c (mips_process_sync_loop): Place a
nop in the delay slot of the branch likely instruction.
(mips_output_sync_loop): Ensure mips_branch_likely is
set before calling mips_output_sync_loop.
(mips_sync_loop_insns): Likewise.

From-SVN: r217926

9 years agomissing ChangeLog entry
William Schmidt [Fri, 21 Nov 2014 14:20:42 +0000 (14:20 +0000)]
missing ChangeLog entry

From-SVN: r217925

9 years agoPR/target 63673
William Schmidt [Fri, 21 Nov 2014 14:10:27 +0000 (14:10 +0000)]
PR/target 63673

2014-11-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR/target 63673
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
double.

From-SVN: r217924

9 years agoAdd ChangeLog entry
Georg-Johann Lay [Fri, 21 Nov 2014 14:05:32 +0000 (14:05 +0000)]
Add ChangeLog entry

From-SVN: r217923

9 years agoForward-port from 2014-10-30 4_9-branch r216934 PR target/63633
Georg-Johann Lay [Fri, 21 Nov 2014 14:04:25 +0000 (14:04 +0000)]
Forward-port from 2014-10-30 4_9-branch r216934 PR target/63633

gcc/
Forward-port from 2014-10-30 4_9-branch r216934
PR target/63633
* config/avr/avr-protos.h (regmask): New inline function.
(avr_fix_inputs, avr_emit3_fix_outputs): New protos.
* config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands)
(avr_fix_inputs, avr_emit3_fix_outputs): New functions.
* config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul)
(mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3)
(<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands.
* config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3)
(<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4)
(<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands.
* config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3)
(mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3)
(usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3)
(fmul, fmuls, fmulsu): Fix operands.  Turn insn into expander as
needed.

gcc/testsuite/
Forward-port from 2014-10-30 4_9-branch r216934
PR target/63633
* gcc.target/avr/torture/pr63633-ice-mult.c: New test.

From-SVN: r217922

9 years agore PR sanitizer/64013 (libsanitizer fails to build)
Jakub Jelinek [Fri, 21 Nov 2014 14:03:37 +0000 (15:03 +0100)]
re PR sanitizer/64013 (libsanitizer fails to build)

PR sanitizer/64013
* sanitizer_common/sanitizer_linux.cc (FileExists): Cherry pick
upstream r222532.

From-SVN: r217921

9 years agore PR debug/63239 (DWARF does not represent C++ deleted methods)
Francois-Xavier Coudert [Fri, 21 Nov 2014 13:32:08 +0000 (13:32 +0000)]
re PR debug/63239 (DWARF does not represent C++ deleted methods)

PR debug/63239
* g++.dg/debug/dwarf2/deleted-member-function.C: Pass
-gno-strict-dwarf.

From-SVN: r217920

9 years agore PR testsuite/61137 (FAIL: gcc.target/ia64/small-addr-1.c (test for excess errors))
Jakub Jelinek [Fri, 21 Nov 2014 13:28:58 +0000 (14:28 +0100)]
re PR testsuite/61137 (FAIL: gcc.target/ia64/small-addr-1.c (test for excess errors))

PR target/61137
* config/ia64/ia64.c (ia64_attribute_takes_identifier_p): New function.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Redefine to it.

From-SVN: r217919

9 years agore PR debug/63239 (DWARF does not represent C++ deleted methods)
Francois-Xavier Coudert [Fri, 21 Nov 2014 13:27:57 +0000 (13:27 +0000)]
re PR debug/63239 (DWARF does not represent C++ deleted methods)

PR debug/63239
* g++.dg/debug/dwarf2/deleted-member-function.C: Pass
-gno-strict-dwarf on darwin.

From-SVN: r217918

9 years ago[AArch64, Obvious] Fix formatting of SHLL and friends
James Greenhalgh [Fri, 21 Nov 2014 12:29:26 +0000 (12:29 +0000)]
[AArch64, Obvious] Fix formatting of SHLL and friends

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_<ANY_EXTEND:su><ADDSUB:optab>l<mode>): Add a tab between
output mnemonic and operands.
(aarch64_simd_vec_unpack<su>_lo_<mode>): Likewise.
(aarch64_simd_vec_unpack<su>_hi_<mode>): Likewise.

From-SVN: r217917

9 years agoAdd fgcse-sm test with scan-rtl-dump
Tom de Vries [Fri, 21 Nov 2014 12:26:11 +0000 (12:26 +0000)]
Add fgcse-sm test with scan-rtl-dump

2014-11-21  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/store-motion-fgcse-sm.c: New test.

From-SVN: r217916

9 years agoMAINTAINERS (Write After Approval): Add myself.
Renlin Li [Fri, 21 Nov 2014 12:01:32 +0000 (12:01 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2014-11-21  Renlin Li  <Renlin.Li@arm.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r217915

9 years agoi386.c (ix86_option_override_internal): Increase PARAM_MAX_COMPLETELY_PEELED_INSNS.
Evgeny Stupachenko [Fri, 21 Nov 2014 11:50:37 +0000 (11:50 +0000)]
i386.c (ix86_option_override_internal): Increase PARAM_MAX_COMPLETELY_PEELED_INSNS.

* config/i386/i386.c (ix86_option_override_internal): Increase
PARAM_MAX_COMPLETELY_PEELED_INSNS.

From-SVN: r217914

9 years agore PR target/60451 (X86 vectorization improve: pack instead of pshufb)
Evgeny Stupachenko [Fri, 21 Nov 2014 11:13:37 +0000 (11:13 +0000)]
re PR target/60451 (X86 vectorization improve: pack instead of pshufb)

gcc/testsuite

PR target/60451
* gcc.target/i386/pr60451.c: New.

gcc/
PR target/60451
* config/i386/i386.c (expand_vec_perm_even_odd_pack): New.
(expand_vec_perm_even_odd_1): Add new expand for V8HI mode,
replace for V16QI, V16HI and V32QI modes.
(ix86_expand_vec_perm_const_1): Add new expand.

From-SVN: r217913

9 years agoMAINTAINERS (write-after-approval): Add myself.
Alex Velenko [Fri, 21 Nov 2014 10:41:25 +0000 (10:41 +0000)]
MAINTAINERS (write-after-approval): Add myself.

2014-11-20  Alex Velenko  <Alex.Velenko@arm.com>

* MAINTAINERS (write-after-approval): Add myself.

From-SVN: r217912

9 years agorl78-real.md (movqi_from_es): New pattern.
Nick Clifton [Fri, 21 Nov 2014 10:32:06 +0000 (10:32 +0000)]
rl78-real.md (movqi_from_es): New pattern.

* config/rl78/rl78-real.md (movqi_from_es): New pattern.
* config/rl78/rl78.c (struct machine_function): Add uses_es field.
(rl78_expand_prologue): Save the ES register in interrupt handlers
that use it.
(rl78_expand_epilogue): Restore the ES register if necessary.
(rl78_start_function): Mention if the function uses the ES
register.
(rl78_lo16): Record the use of the ES register.
(transcode_memory_rtx): Likewise.

From-SVN: r217911

9 years agore PR tree-optimization/61773 (ICE in tree-ssa-strlen.c:417)
Jakub Jelinek [Fri, 21 Nov 2014 09:27:19 +0000 (10:27 +0100)]
re PR tree-optimization/61773 (ICE in tree-ssa-strlen.c:417)

PR tree-optimization/61773
* tree-ssa-strlen.c (get_string_length): Don't assert
stpcpy has been prototyped if si->stmt is BUILT_IN_MALLOC.

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

From-SVN: r217910

9 years agore PR target/63764 (ICE: in verify_ssa, at tree-ssa.c:939)
Jakub Jelinek [Fri, 21 Nov 2014 09:25:51 +0000 (10:25 +0100)]
re PR target/63764 (ICE: in verify_ssa, at tree-ssa.c:939)

PR target/63764
c-family/
* c-common.h (convert_vector_to_pointer_for_subscript): Change
return type to bool.
* c-common.c: Include gimple-expr.c.
(convert_vector_to_pointer_for_subscript): Change return type to
bool.  If *vecp is not lvalue_p and has VECTOR_TYPE, return true
and copy it into a TARGET_EXPR and use that instead of *vecp
directly.
c/
* c-typeck.c (build_array_ref): Adjust
convert_vector_to_pointer_for_subscript caller.  If it returns true,
call non_lvalue_loc on the result.
cp/
* typeck.c (cp_build_array_ref): Adjust
convert_vector_to_pointer_for_subscript caller.  If it returns true,
call non_lvalue_loc on the result.
testsuite/
* c-c++-common/pr63764-1.c: New test.
* c-c++-common/pr63764-2.c: New test.

From-SVN: r217909

9 years agore PR target/63910 (ICE: simplify_immed_subreg, at simplify-rtx.c:5519 with -mstringo...
Jakub Jelinek [Fri, 21 Nov 2014 09:23:26 +0000 (10:23 +0100)]
re PR target/63910 (ICE: simplify_immed_subreg, at simplify-rtx.c:5519 with -mstringop-strategy=vector_loop -mavx512f)

PR target/63910
* simplify-rtx.c (simplify_immed_subreg): Return NULL for integer
modes wider than MAX_BITSIZE_MODE_ANY_INT.  If not using
CONST_WIDE_INT, make sure r fits into CONST_DOUBLE.

* gcc.target/i386/pr63910.c: New test.

From-SVN: r217908

9 years agore PR lto/63998 (gcc.dg/lto/pr60820 fails on darwin)
Francois-Xavier Coudert [Fri, 21 Nov 2014 08:38:41 +0000 (08:38 +0000)]
re PR lto/63998 (gcc.dg/lto/pr60820 fails on darwin)

PR lto/63998
* gcc.dg/lto/pr60820_0.c: Skip on darwin.

From-SVN: r217907

9 years agors6000: Fix compiler warning
Markus Trippelsdorf [Fri, 21 Nov 2014 06:50:47 +0000 (06:50 +0000)]
rs6000: Fix compiler warning

2014-11-20  Markus Trippelsdorf  <markus@trippelsdorf.de>

* config/rs6000/rs6000.c (includes_rldic_lshift_p): Use
HOST_WIDE_INT_M1U instead of ~0.
(includes_rldicr_lshift_p): Likewise.

From-SVN: r217905

9 years ago[NDS32] Look into LO_SUM's operand to determine whether it is a valid address.
Chung-Ju Wu [Fri, 21 Nov 2014 05:51:12 +0000 (05:51 +0000)]
[NDS32] Look into LO_SUM's operand to determine whether it is a valid address.

gcc/
* config/nds32/nds32.c (nds32_legitimate_address_p): For LO_SUM,
we need to look into its operand to determine whether it is a valid
address.

From-SVN: r217904

9 years ago[NDS32] Create correct CFI info for variadic function arguments.
Chung-Ju Wu [Fri, 21 Nov 2014 05:32:51 +0000 (05:32 +0000)]
[NDS32] Create correct CFI info for variadic function arguments.

gcc/
* config/nds32/nds32.c (nds32_emit_stack_push_multiple): Add new
vaarg_p argument and create correct CFI info.
(nds32_expand_prologue): Pass true or false to
nds32_emit_stack_push_multiple function.

From-SVN: r217903

9 years ago[NDS32] Add missing RTX_FRAME_RELATED_P to set fp_adjust_insn rtx.
Chung-Ju Wu [Fri, 21 Nov 2014 05:19:00 +0000 (05:19 +0000)]
[NDS32] Add missing RTX_FRAME_RELATED_P to set fp_adjust_insn rtx.

gcc/
* config/nds32/nds32.c (nds32_expand_prologue): Set fp_adjust_insn
as RTX_FRAME_RELATED_P rtx.

From-SVN: r217902

9 years ago[NDS32] Complete -march= option design so that it can display available items in...
Chung-Ju Wu [Fri, 21 Nov 2014 05:13:44 +0000 (05:13 +0000)]
[NDS32] Complete -march= option design so that it can display available items in --target-help message.

gcc/
* config/nds32/nds32.opt (march): Add help message.

From-SVN: r217901

9 years agore PR c++/63658 (Using class reference as template parameter causes compilation to...
Jason Merrill [Fri, 21 Nov 2014 00:47:50 +0000 (19:47 -0500)]
re PR c++/63658 (Using class reference as template parameter causes compilation to fail)

PR c++/63658
* pt.c (convert_nontype_argument): Call convert_from_reference.
(check_instantiated_arg): Don't be confused by reference refs.
(unify): Look through reference refs on the arg, too.
* mangle.c (write_template_arg): Look through reference refs.

From-SVN: r217900

9 years ago* error.c (dump_expr): Avoid printing (*&i) for references.
Jason Merrill [Fri, 21 Nov 2014 00:47:45 +0000 (19:47 -0500)]
* error.c (dump_expr): Avoid printing (*&i) for references.

From-SVN: r217899

9 years agoDaily bump.
GCC Administrator [Fri, 21 Nov 2014 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r217898

9 years agoDisable an unsafe VRP transformation when -fno-strict-overflow is set
Patrick Palka [Thu, 20 Nov 2014 22:25:35 +0000 (22:25 +0000)]
Disable an unsafe VRP transformation when -fno-strict-overflow is set

gcc/
* tree-vrp.c (test_for_singularity): New parameter
strict_overflow_p.  Set *strict_overflow_p to true if signed
overflow must be undefined for the return value to satisfy the
conditional.
(simplify_cond_using_ranges): Don't perform the simplification
if it violates overflow rules.

gcc/testsuite/
* gcc.dg/no-strict-overflow-8.c: New test.

From-SVN: r217895

9 years agore PR c++/63959 (G++ misreports volatile int as trivially copyable)
Ville Voutilainen [Thu, 20 Nov 2014 21:51:04 +0000 (23:51 +0200)]
re PR c++/63959 (G++ misreports volatile int as trivially copyable)

PR c++/63959
* tree.c (trivially_copyable_p): Check for CP_TYPE_VOLATILE_P.

From-SVN: r217893

9 years ago* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Fix typo.
Marek Polacek [Thu, 20 Nov 2014 20:56:23 +0000 (20:56 +0000)]
* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Fix typo.

From-SVN: r217892

9 years agoWarn on undefined loop exit.
Andrew Stubbs [Thu, 20 Nov 2014 20:22:54 +0000 (20:22 +0000)]
Warn on undefined loop exit.

2014-11-20  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
condition would be removed due to undefined behaviour.

gcc/testsuite/
* gcc.dg/undefined-loop-1.c: New file.
* gcc.dg/undefined-loop-2.c: New file.

From-SVN: r217891

9 years agore PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and...
Andrew Pinski [Thu, 20 Nov 2014 17:14:09 +0000 (09:14 -0800)]
re PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and above))

2014-11-20  Andrew Pinski  <apinski@cavium.com>

        PR ipa/63981
        PR ipa/63982
        * ipa-polymorphic-call.c (possible_placement_new):
        Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
        (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
        (extr_type_from_vtbl_ptr_store): Likewise.

From-SVN: r217889

9 years agore PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and...
Andrew Pinski [Thu, 20 Nov 2014 17:12:02 +0000 (17:12 +0000)]
re PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and above))

2014-11-20  Andrew Pinski  <apinski@cavium.com>

        PR ipa/63981
        * ipa-polymorphic-call.c (possible_placement_new):
        Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
        (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
        (extr_type_from_vtbl_ptr_store): Likewise.

From-SVN: r217888

9 years agoPR63426 Fix various signed integer overflows
Markus Trippelsdorf [Thu, 20 Nov 2014 16:36:14 +0000 (16:36 +0000)]
PR63426 Fix various signed integer overflows

Running the testsuite after bootstrap-ubsan on gcc112 shows several issues. See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426 for the full list.

This patch fixes several of them.

2014-11-20  Markus Trippelsdorf  <markus@trippelsdorf.de>

* config/rs6000/constraints.md: Avoid signed integer overflows.
* config/rs6000/predicates.md: Likewise.
* config/rs6000/rs6000.c (num_insns_constant_wide): Likewise.
(includes_rldic_lshift_p): Likewise.
(includes_rldicr_lshift_p): Likewise.
* emit-rtl.c (const_wide_int_htab_hash): Likewise.
* loop-iv.c (determine_max_iter): Likewise.
(iv_number_of_iterations): Likewise.
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Likewise.
* varasm.c (get_section_anchor): Likewise.

From-SVN: r217886

9 years agore PR target/63870 ([Aarch64] [ARM] Errors in use of NEON intrinsics are reported...
Charles Baylis [Thu, 20 Nov 2014 16:26:54 +0000 (16:26 +0000)]
re PR target/63870 ([Aarch64] [ARM] Errors in use of NEON intrinsics are reported incorrectly)

        PR target/63870
        * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Pass
        expression to aarch64_simd_lane_bounds.
        * config/aarch64/aarch64-protos.h (aarch64_simd_lane_bounds): Update
        prototype.
        * config/aarch64/aarch64-simd.md: (aarch64_combinez<mode>): Update
        call to aarch64_simd_lane_bounds.
        (aarch64_get_lanedi): Likewise.
        (aarch64_ld2_lane<mode>): Likewise.
        (aarch64_ld3_lane<mode>): Likewise.
        (aarch64_ld4_lane<mode>): Likewise.
        (aarch64_im_lane_boundsi): Likewise.
        * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Add exp
        parameter. Report calling function in error message if exp is non-NULL.

From-SVN: r217885

9 years agore PR ada/63931 (Ada libraries use 5.0 as LIB_VERSION)
Arnaud Charlet [Thu, 20 Nov 2014 16:17:12 +0000 (16:17 +0000)]
re PR ada/63931 (Ada libraries use 5.0 as LIB_VERSION)

PR ada/63931
* gnatvsn.ads (Library_Version): Switch to "5".

From-SVN: r217884

9 years agore PR target/60111 ([SH] ICE compiling Newlib)
Segher Boessenkool [Thu, 20 Nov 2014 16:03:16 +0000 (17:03 +0100)]
re PR target/60111 ([SH] ICE compiling Newlib)

2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>

PR target/60111
* config/sh/sh.c: Use signed char for signed field.

From-SVN: r217883

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:59:01 +0000 (16:59 +0100)]
[multiple changes]

2014-11-20  Thomas Quinot  <quinot@adacore.com>

* freeze.adb (Freeze_Entity): Do not reset Is_True_Constant
for aliased constant objects.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* exp_util.adb (Following_Address_Clause): Use new Name_Table
boolean flag set by parser to avoid the search if there is no
address clause anywhere for the name.
* namet.adb (Name_Enter): Initialize Boolean_Info flag
(Name_Find): ditto (Reinitialize): ditto (Get_Name_Table_Boolean):
New function (Set_Name_Table_Boolean): New procedure
* namet.ads: Add and document new Boolean field in name table
(Get_Name_Table_Boolean): New function.
(Set_Name_Table_Boolean): New procedure.
* par-ch13.adb (P_Representation_Clause): Set Name_Table boolean
flag for an identifier name if we detect an address clause or
use-at clause for the identifier.
* sem_ch3.adb (Analyze_Object_Declaration): Remove comment about
Following_Address_Clause since this function is now optimized
and is not a performance concern.
* sem_prag.adb (Analyze_Pragma, case Elaborate): In SPARK
mode, pragma Elaborate is now allowed, but does not suppress
elaboration checking.

From-SVN: r217882

9 years agoMakefile.in: Add some support for VxWorks7.
Jerome Lambourg [Thu, 20 Nov 2014 15:57:55 +0000 (15:57 +0000)]
Makefile.in: Add some support for VxWorks7.

2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

* gcc-interface/Makefile.in: Add some support for VxWorks7.

From-SVN: r217881

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:54:31 +0000 (16:54 +0100)]
[multiple changes]

2014-11-20  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb, freeze.adb: Minor reformatting.
* gnat_rm.texi: Minor editing.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma): Minor reformatting.
(Process_Suppress_Unsuppress): Ignore suppress Elaboration_Check
in SPARK.

2014-11-20  Bob Duff  <duff@adacore.com>

* gnat_rm.texi: Correction to documentation of
'Unrestricted_Access in case of access to unconstrained array.
* a-cofove.adb (Capacity): Fix bug -- was always
returning Capacity_Range'Last.
(Is_Sorted): Fix bug -- was always returning True, because
Container.Last = Last. That test isn't even needed, because the
loop will go around zero times in that case, so deleted that
test rather than fixing it.
(Reverse_Elements): Make sure to use the correct array bounds.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Analyze_Associations): In GNATProve mode, build
wrappers for functions and operators that are actuals only if
expander is enabled. Wrappers play no role within a generic unit.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_util.adb (Policy_In_Effect): Use the
configuration level assertion flag.

From-SVN: r217880

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:50:29 +0000 (16:50 +0100)]
[multiple changes]

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* s-parame-ae653.ads: Update comments.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* types.ads, einfo.ads: Minor reformatting.
* sem_elab.adb (Check_A_Call): Add guard for reference to Alias
for variable case.

2014-11-20  Bob Duff  <duff@adacore.com>

* a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays
instead of access-to-unconstrained, because the latter doesn't
work with 'Unrestricted_Access when the result is returned from
a function.
* a-cofove.ads (Vector): Move the discriminant-dependent array
after the other components for efficiency. Otherwise the compiler
will generate a lot of code to calculate the offset of the other
components every time they're accessed.

2014-11-20  Olivier Hainque  <hainque@adacore.com>

* opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when
it is set to true.

From-SVN: r217879

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:47:33 +0000 (16:47 +0100)]
[multiple changes]

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_ch3.adb (Expand_N_Object_Declaration): Handle properly
a type invariant check on an object with default initialization
and an address clause.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_elab.adb (Check_A_Call): Handle variable ref case in
SPARK (Check_Elab_Call): ditto (Find_Elab_Reference): ditto
(Get_Referenced_Ent): ditto.
* sem_elab.ads: Comment fixes to account for the fact that we
now deal with variable references in SPARK mode.
* sem_res.adb (Resolve_Entity_Name): In SPARK_Mode Call
Check_Elab_Call for variable.

2014-11-20  Yannick Moy  <moy@adacore.com>

* a-cofove.ads (Copy): Fix precondition, which should allow
Capacity = 0.
(First_To_Previous, Current_To_Last): Add necessary preconditions.

From-SVN: r217878

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:46:20 +0000 (16:46 +0100)]
[multiple changes]

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Build_Initialization_Call): Reimplement the
circuitry which extraacts the [underlying] full view of a
private type to handle a case where the private type acts as a
generic actual.
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the
loop label form the original loop regardless of whether it came
from source.
* sem_attr.adb (Analyze_Attribute): When taking 'Access of an
expression function with a generated body that has not been
analyzed yet, analyze the body to freeze the expression.
* sem_util.adb (Set_Public_Status_Of): New routine.
(Transfer_Entities): Handle the case where a private type with
an internally generated full view is being transfered and update
its full view.

2014-11-20  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Object): If a unit is in a multi-source
file, its object file is never the same as any other unit.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-taskin.adb (Initialize_ATCB): Take into
account the fact that the domain of the activator can be null
if we're initializing a foreign task.

From-SVN: r217877

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:43:06 +0000 (16:43 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_ch12.adb: Minor reformatting.

2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

* s-osinte-vxworks.ads: Add comments. Minor reformatting.

2014-11-20  Yannick Moy  <moy@adacore.com>

* sem_prag.adb, sem_elab.adb: Minor rewording of error message in
SPARK mode, for consistency.

From-SVN: r217876

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:41:27 +0000 (16:41 +0100)]
[multiple changes]

2014-11-20  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: New section on gnattest stubbing. Minor
reformatting.

2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

* s-taprop-vxworks.adb (Create_Task): Fix thread comparison.
Minor reformatting.

From-SVN: r217875

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:17:47 +0000 (16:17 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* s-tassta.adb, exp_aggr.adb, s-taskin.adb, exp_strm.adb: Minor
reformatting.
* comperr.adb (Compiler_Abort): New wording for bug box.
* par-ch13.adb: Minor reformatting.
* par-ch3.adb (P_Identifier_Declarations): Handle aspect
specifications given before initialization expression in object
declaration cleanly.
* gnat1drv.adb (Adjust_Global_Switches): Make sure static
elaboration mode is set if we are operating in SPARK mode.
* sem_ch12.adb (Analyze_Package_Instantiation): Make
sure static elab mode is set if we are in SPARK mode.
(Analyze_Subprogram_Instantiation): ditto.
(Set_Instance_Env): ditto.
* sem_elab.adb (Check_A_Call): In SPARK mode, we require
Elaborate_All in the case of a call during elaboration to a
subprogram in another unit.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* inline.adb (Can_Split_Unconstrained_Function,
Build_Procedure): Copy parameter type rather than creating
reference to the entity, to capture class-wide reference, whose
name is not retrieved by visibility.

From-SVN: r217874

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 15:13:59 +0000 (16:13 +0100)]
[multiple changes]

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* s-taspri-solaris.ads: Replace 64 by long_long_integer'size.

2014-11-20  Olivier Hainque  <hainque@adacore.com>

* init.c (__gnat_map_signal for VxWorks): Use a common mapping
scheme for VxWorks version >= 6, instead of falling back to the
vx5 scheme for versions > 6.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Use
base type when constructing subtype indication for constrained
target object.

2014-11-20  Jose Ruiz  <ruiz@adacore.com>

* projects.texi: Minor spelling fix.

2014-11-20  Bob Duff  <duff@adacore.com>

* gnat_ugn.texi: Add doc for --split-line-before-op switch in gnatpp.

2014-11-20  Vincent Celier  <celier@adacore.com>

* prj-attr.adb (Register_New_Package): Allow the registration
of an already unknown package and make it known.

From-SVN: r217873

9 years agoconvert trans-mem to hash_table
Trevor Saunders [Thu, 20 Nov 2014 15:10:56 +0000 (15:10 +0000)]
convert trans-mem to hash_table

gcc/

* cfgexpand.c, gimple-ssa.h, trans-mem.c: Replace htab with
hash_table.

From-SVN: r217872

9 years agoremove more ggc htabs
Trevor Saunders [Thu, 20 Nov 2014 15:10:49 +0000 (15:10 +0000)]
remove more ggc htabs

gcc/

* ipa-utils.c, lto-section-in.c, lto-streamer.h,
tree-scalar-evolution.c: Replace htab with hash_table.

lto/

* lto.c: Replace htab with hash_table.

From-SVN: r217871

9 years agouse vec in lto_tree_ref_table
Trevor Saunders [Thu, 20 Nov 2014 15:10:42 +0000 (15:10 +0000)]
use vec in lto_tree_ref_table

gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* lto-section-in.c (lto_delete_in_decl_state): Adjust.
(lto_free_function_in_decl_state): Likewise.
* lto-streamer-out.c (copy_function_or_variable): Likewise.
* lto-streamer.h (lto_file_decl_data_get_ ## name): Likewise.
(lto_file_decl_data_num_ ## name ## s): Likewise.
(struct lto_tree_ref_table): Remove.
(struct lto_in_decl_state): Replace lto_tree_ref_table with vec<tree>.

gcc/lto/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* lto.c (lto_read_in_decl_state): Adjust.
(lto_fixup_state): Likewise.

From-SVN: r217870

9 years agoremove param1_is usage
Trevor Saunders [Thu, 20 Nov 2014 15:10:33 +0000 (15:10 +0000)]
remove param1_is usage

gcc/

* hash-map.h (hash_map::iterator): New class.
(hash_map::begin): New method.
(hash_map::end): Likewise.
* alias.c, config/alpha/alpha.c, dwarf2asm.c, omp-low.c, tree.h:
replace splay_tree with hash_map.

From-SVN: r217869

9 years agofix hash_table when empty elements are not 0
Trevor Saunders [Thu, 20 Nov 2014 15:10:26 +0000 (15:10 +0000)]
fix hash_table when empty elements are not 0

gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* hash-table.h (hash_table::hash_table): Call alloc_entries.
(hash_table::alloc_entries): new method.
(hash_table::expand): Call alloc_entries.
(hash_table::empty): Likewise.

From-SVN: r217868

9 years agoconvert many if_marked htab to hash_table
Trevor Saunders [Thu, 20 Nov 2014 15:10:19 +0000 (15:10 +0000)]
convert many if_marked htab to hash_table

ada/

* gcc-interface/decl.c, gcc-interface/utils.c: replace htab with
hash_table.

cp/

* cp-objcp-common.c: Use hash_table instead of htab.

gcc/

* config/i386/i386.c, function.c, trans-mem.c, tree-core.h,
tree.c, tree.h, ubsan.c, varasm.c: Use hash_table instead of htab.

From-SVN: r217867

9 years agoimplement a replacement for if_marked
Trevor Saunders [Thu, 20 Nov 2014 15:10:11 +0000 (15:10 +0000)]
implement a replacement for if_marked

gcc/ChangeLog:

2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>

* doc/gty.texi: Document the new cache gty attribute.
* gengtype.c (finish_cache_funcs): New function.
(write_roots): Call gt_clear_cache on global variables with the cache
gty attribute.
* ggc-common.c (ggc_mark_roots): Call gt_clear_caches.
* ggc.h (gt_clear_caches): New declaration.
* hash-table.h (struct ggc_cache_hasher): New hasher for caches in gc
memory.
(gt_cleare_cache): New function.
* emit-rtl.c, rtl.h, tree.c: Use hash_table instead of htab.

From-SVN: r217866

9 years agocombine.c (try_combine): Prefer to delete dead SETs inside a PARALLEL over keeping...
Segher Boessenkool [Thu, 20 Nov 2014 14:56:29 +0000 (15:56 +0100)]
combine.c (try_combine): Prefer to delete dead SETs inside a PARALLEL over keeping them.

* combine.c (try_combine): Prefer to delete dead SETs inside
a PARALLEL over keeping them.

From-SVN: r217865

9 years agocombine.c (combine_validate_cost): Always print the insn costs to the dump file.
Segher Boessenkool [Thu, 20 Nov 2014 14:54:56 +0000 (15:54 +0100)]
combine.c (combine_validate_cost): Always print the insn costs to the dump file.

* combine.c (combine_validate_cost): Always print the insn costs
to the dump file.

From-SVN: r217864

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 14:47:19 +0000 (15:47 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
Elaborate in SPARK mode.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-taskin.adb, s-tassta.adb (Initialize_ATCB): If Domain
is null, then initialize T.Common.Domain to that of the
activating task (not the parent task!), as required by RM-D.16.1.
T.Common.Domain should never be null; so Assert. Remove similar
code from Create_Task in s-tassta.adb.
* s-mudido-affinity.adb: Remove checks for Domain = null,
because it can't be null.
* s-taskin.ads, s-taspri-dummy.ads, s-taspri-mingw.ads,
s-taspri-posix.ads, s-taspri-posix-noaltstack.ads,
s-taspri-solaris.ads, s-taspri-vxworks.ads: Mark limited types as
explicitly limited for clarity.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_aggr.adb (Init_Hidden_Discriminants): Code clean up.

From-SVN: r217863

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 14:41:49 +0000 (15:41 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* errout.adb (Error_Msg): Don't suppress continuation msgs for
run-time files.
* sem_prag.adb (Analyze_Pragma, case Elaborate): Forbid pragma
Elaborate in SPARK mode.

2014-11-20  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Update GNAT RM with rule about expressions in
Update attribute.

From-SVN: r217862

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 14:37:41 +0000 (15:37 +0100)]
[multiple changes]

2014-11-20  Thomas Quinot  <quinot@adacore.com>

* g-socket.adb (To_Host_Entry): Guard against case of a
non-AF_INET entry.

2014-11-20  Vadim Godunko  <godunko@adacore.com>

* a-strunb-shared.adb (To_Unbounded_String): Use shared empty
object to construct return value when source string is empty or
requested length is zero.
* a-stwiun-shared.adb (To_Unbounded_Wide_String): Likewise.
* a-stzunb-shared.adb (To_Unbounded_Wide_Wide_String): Likewise.

2014-11-20  Yannick Moy  <moy@adacore.com>

* a-cfhase.adb, a-cfinve.adb, a-cforma.adb, a-cfhama.adb, a-cforse.adb,
a-cofove.adb: Skip CodePeer analysis on body of all formal containers.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* adaint.c: Fix typo.
* exp_util.adb (Make_Subtype_From_Expr): Complete previous change,
generate constant values.
* sem_eval.adb (Decompose_Expr): Fix latent bug leading to a wrong
evaluation to '0' of some unknown values.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* repinfo.adb (List_Record_Info): Do not list discriminant in
unchecked union.
* sem_ch13.adb (Has_Good_Profile): Minor reformatting
(Analyze_Stream_TSS_Definition): Minor reformatting
(Analyze_Record_Representation_Clause): Do not issue warning
for missing rep clause for discriminant in unchecked union.

From-SVN: r217861

9 years ago2014-11-20 Vadim Godunko <godunko@adacore.com>
Vadim Godunko [Thu, 20 Nov 2014 14:32:50 +0000 (14:32 +0000)]
2014-11-20  Vadim Godunko  <godunko@adacore.com>

* a-strunb-shared.adb, a-stwiun-shared.adb, a-stzunb-shared.adb
("&") Use already computed value of data length to call allocation
subprogram.

From-SVN: r217860

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 14:31:35 +0000 (15:31 +0100)]
[multiple changes]

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Call, Inlined_Subprogram): Do not suppress
debugging information for a call to a predefined unit, if the
call comes from source and the unit is in the Ada hierarchy.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-mudido.ads: Update signature of Create and Get_Last_CPU. Add
CPU_Set, another Create, and Get_CPU_Set.
* s-mudido.adb: Corresponding changes to the spec. New
operations just raise an exception.  Also minor cleanup: use
raise_expressions.
* s-mudido-affinity.adb: Implementations of new operations from
* s-mudido.ads, for the platforms that actually support processor
affinity. The new Create (which takes a set) now does all the
work; the old Create (which takes a range) now just calls the
new one. Change error messages to reflect the fact that it's an
arbitrary set, not just a range.

From-SVN: r217859

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 14:29:05 +0000 (15:29 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb: Minor reformatting.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_util.adb (Make_Subtype_From_Expr): Capture the bounds of
all index constracts when the expression is of an array type.

2014-11-20  Bob Duff  <duff@adacore.com>

* s-taskin.ads: Minor comment improvements.

2014-11-20  Bob Duff  <duff@adacore.com>

* exp_ch9.adb: Minor comment fixes.
* s-taskin.adb (Initialize): Small simplification: pass System_Domain
to Initialize_ATCB instead of passing null and then setting the Domain
to System_Domain. This requires moving the creation of System_Domain
earlier.
* s-taprop-linux.adb (Set_Task_Affinity): Only call CPU_SET for
processors that have a True in the Domain. This is necessary if the
Domain is not all-True values.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Has_Good_Profile): a) An stream attribute
for the class-wide type of an interface type is not a primitive
operation and is not subject to the restrictions of 13.13. (38/3).
b) A stream operation for an interface type must be a null
procedure, and it cannot be a function.

From-SVN: r217857

9 years agoexp_attr.adb (Attribute_Max_Size_In_Storage_Elements): Eliminate 'Class references...
Bob Duff [Thu, 20 Nov 2014 14:26:10 +0000 (14:26 +0000)]
exp_attr.adb (Attribute_Max_Size_In_Storage_Elements): Eliminate 'Class references from the tree, because gigi crashes on 'Class.

2014-11-20  Bob Duff  <duff@adacore.com>

* exp_attr.adb (Attribute_Max_Size_In_Storage_Elements):
Eliminate 'Class references from the tree, because gigi crashes on
'Class. Also, don't check Nkind (Attr) -- it is known to be
N_Attribute_Reference. Assert that instead.

From-SVN: r217856

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 14:24:21 +0000 (15:24 +0100)]
[multiple changes]

2014-11-20  Bob Duff  <duff@adacore.com>

* debug.adb: Minor comment fix.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* a-ciorma.adb: Minor update: move pragma Annotate up.
* a-cfdlli.adb: Skip codepeer analysis on this body.

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
Allow use of this pragma with generic unit (package or subprogram).
* gnat_rm.texi: Clarify that pragma No_Elaboration_Code_All can
be applied to generics.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Valid_Limited_Ancestor): Ancestor part of
extension aggregate can itself be an extension aggregate, as
well as a call that is rewritten as a reference.

2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Add_Inlined_Subprogram): Insert all programs
generated as a body or whose declaration was provided along with
the body.

2014-11-20  Javier Miranda  <miranda@adacore.com>

* sem.adb (Semantics): Disable expansion if we are compiling a
separate unit under configurable runtime. By default separate
units are compiled with expansion disabled but under configurable
runtime we enable the expansion to get error messages about
missing entities.

From-SVN: r217855

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 14:17:04 +0000 (15:17 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* sem_ch13.adb: Minor reformatting.
* exp_util.adb (Following_Address_Clause): Handle case of
package private part.

2014-11-20  Arnaud Charlet  <charlet@adacore.com>

* a-cdlili.adb, a-cihama.adb, a-coinve.adb, a-cusyqu.adb, a-ciorse.adb,
a-coorma.adb, a-cborma.adb, a-cidlli.adb, a-cimutr.adb, a-ciormu.adb,
a-cbprqu.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb, a-coboho.adb,
a-cuprqu.adb, a-cbhama.adb, a-rbtgbo.adb, a-cborse.adb, a-comutr.adb,
a-ciorma.adb, a-cobove.adb, a-coormu.adb, a-convec.adb, a-cohase.adb,
a-coinho.adb, a-coinho-shared.adb, a-cbdlli.adb, a-cbsyqu.adb,
a-cbmutr.adb, a-cbhase.adb: Add pragma Annotate to prevent codepeer
from analyzing these bodies.

From-SVN: r217854

9 years agore PR target/63977 (r217769 caused many failures)
Richard Henderson [Thu, 20 Nov 2014 14:13:04 +0000 (06:13 -0800)]
re PR target/63977 (r217769 caused many failures)

PR target/63977

 * config/i386/i386.c (ix86_static_chain): Reinstate the check
 for DECL_STATIC_CHAIN.

From-SVN: r217853

9 years agoaarch64-protos.h (aarch64_classify_symbol): Fixup prototype.
Tejas Belagod [Thu, 20 Nov 2014 13:58:23 +0000 (13:58 +0000)]
aarch64-protos.h (aarch64_classify_symbol): Fixup prototype.

2014-11-20  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/aarch64-protos.h (aarch64_classify_symbol):
Fixup prototype.
* config/aarch64/aarch64.c (aarch64_expand_mov_immediate,
aarch64_cannot_force_const_mem, aarch64_classify_address,
aarch64_classify_symbolic_expression): Fixup call to
aarch64_classify_symbol.
(aarch64_classify_symbol): Add range-checking for
symbol + offset addressing for tiny and small models.

testsuite/
         * gcc.target/aarch64/symbol-range.c: New.
         * gcc.target/aarch64/symbol-range-tiny.c: New.

From-SVN: r217852

9 years agore PR target/63966 (inconsistent operand constraints compiling build libcpp)
Uros Bizjak [Thu, 20 Nov 2014 12:10:12 +0000 (13:10 +0100)]
re PR target/63966 (inconsistent operand constraints compiling build libcpp)

PR target/63966
* lex.c [__i386__ || __x86_64__]: Compile special SSE functions
only for (__GNUC__ >= 5 || !defined(__PIC__)).

From-SVN: r217851

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 11:55:37 +0000 (12:55 +0100)]
[multiple changes]

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not apply
inlining expansion if function build in place, i.e. has a limited
return type.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Refined_Depends_In_Decl_Part): Add
variables Body_Id, Body_Inputs, Body_Outputs, Spec_Inputs,
Spec_Outputs. Synthesize the inputs and outputs of the subprogram
when pragma [Refined_]Global is missing and perform legality
checks on output states with visible refinement.
(Appears_In): Update the comment on usage.
(Check_Output_States): New routine.
(Collect_Dependency_Clause): New routine.
(Collect_Global_Items): Relocated to
Analyze_Refined_Global_In_Decl_Part.
(Collect_Subprogram_Inputs_Outputs): Add new formal parameters
Synthesize and Depends_Seen. The routine can now synthesize inputs
and outputs from pragma [Refined_]Depends.
(Normalize_Clause): Update the comment on usage. The routine no longer
performs normalization of outputs.
(Normalize_Clauses): Normalize both inputs and outputs.
(Normalize_Output): Relocated to Normalize_Clauses.
* sem_prag.ads (Collect_Subprogram_Inputs_Outputs): Add new
formal parameters Synthesize and Depends_Seen and update the
comment on usage.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Reset_Loop_Variable): New subsidiary procedure
in Build_Predicate_Functions, to handle properly quantified
expressions in dynamic predicates.

From-SVN: r217850

9 years agore PR target/47500 (-G0 option not recognized by gnat1)
Vincent Celier [Thu, 20 Nov 2014 11:55:25 +0000 (12:55 +0100)]
re PR target/47500 (-G0 option not recognized by gnat1)

2014-11-20  Vincent Celier  <celier@adacore.com>

PR ada/47500
* back_end.adb (Scan_Back_End_Switches): Skip switch -G and
its argument.

From-SVN: r217849

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 11:52:08 +0000 (12:52 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* gnatcmd.adb, sem_ch6.adb, exp_dist.adb: Minor reformatting.
* sem_util.adb (Bad_Unordered_Enumeration_Reference): Suppress
warning (return False) for generic type.

2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Appears_In_Check): Removed.
(Is_OK_Volatile_Context): Rewrite the checks which verify that
an effectively volatile object subject to enabled properties
Async_Writers or Effective_Reads appears in a suitable context to
properly recognize a procedure call.
(Within_Check): New routine.
(Within_Procedure_Call): New routine.

From-SVN: r217848

9 years agosem_ch6.adb: Improve better error message.
Ed Schonberg [Thu, 20 Nov 2014 11:49:43 +0000 (11:49 +0000)]
sem_ch6.adb: Improve better error message.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: Improve better error message.

From-SVN: r217847

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 11:45:28 +0000 (12:45 +0100)]
[multiple changes]

2014-11-20  Thomas Quinot  <quinot@adacore.com>

* freeze.adb, sem_ch13.adb: Minor editing.

2014-11-20  Vincent Celier  <celier@adacore.com>

* gnatcmd.adb: Remove any special processing for the ASIS tools
(gnatpp, gnatmetric, gnatcheck, gnatelim and gnatstup) and simply
invoke the tool with the provided switches and arguments.

2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): Reject declaration
of expression function with identical profile as previous
expression function.

From-SVN: r217846

9 years agosem_ch13.adb: Complete previous change.
Thomas Quinot [Thu, 20 Nov 2014 11:39:44 +0000 (11:39 +0000)]
sem_ch13.adb: Complete previous change.

2014-11-20  Thomas Quinot  <quinot@adacore.com>

* sem_ch13.adb: Complete previous change.
* exp_dist.adb, exp_dist.ads: Rework PolyORB/DSA arguments processing
circuitry to correctly handle the case of non-private limited
unconstrained formals.

From-SVN: r217845

9 years ago[multiple changes]
Arnaud Charlet [Thu, 20 Nov 2014 11:37:33 +0000 (12:37 +0100)]
[multiple changes]

2014-11-20  Robert Dewar  <dewar@adacore.com>

* freeze.adb, exp_dbug.adb, sem_ch13.adb: Minor reformatting.

2014-11-20  Thomas Quinot  <quinot@adacore.com>

* einfo.ads: Fix minor typo in comment.

From-SVN: r217844