platform/upstream/linaro-gcc.git
9 years agoAlways use PIC option with -shared in libtool
hjl [Fri, 21 Nov 2014 16:49:17 +0000 (16:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217937 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Implement vsqrt_f64 intrinsic
ktkachov [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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217936 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd x86 pcommit instruction.
tocarip [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217935 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR debug/38757 gcc does not emit DW_LANG_C99.
mark [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217934 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoSupport clwb x86 instruction.
tocarip [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217933 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd avx512vbmi instructions.
tocarip [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217932 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR rtl-optimization/63952
uweigand [Fri, 21 Nov 2014 15:33:27 +0000 (15:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217929 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd avx512ifma instructions.
tocarip [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>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217928 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRevert: Workaround following [PATCH] Pul all constants last in tree_swap_operands_p
alalaw01 [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217927 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[MIPS] If using branch likelies in MIPS sync code fill the delay slot
abennett [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217926 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217925 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Fri, 21 Nov 2014 14:10:27 +0000 (14:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217924 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217923 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
gjl [Fri, 21 Nov 2014 14:04:25 +0000 (14:04 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217922 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR sanitizer/64013
jakub [Fri, 21 Nov 2014 14:03:37 +0000 (14:03 +0000)]
PR sanitizer/64013
* sanitizer_common/sanitizer_linux.cc (FileExists): Cherry pick
upstream r222532.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217921 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/63239
fxcoudert [Fri, 21 Nov 2014 13:32:08 +0000 (13:32 +0000)]
PR debug/63239
* g++.dg/debug/dwarf2/deleted-member-function.C: Pass
-gno-strict-dwarf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217920 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/61137
jakub [Fri, 21 Nov 2014 13:28:58 +0000 (13:28 +0000)]
PR target/61137
* config/ia64/ia64.c (ia64_attribute_takes_identifier_p): New function.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Redefine to it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217919 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/63239
fxcoudert [Fri, 21 Nov 2014 13:27:57 +0000 (13:27 +0000)]
PR debug/63239
* g++.dg/debug/dwarf2/deleted-member-function.C: Pass
-gno-strict-dwarf on darwin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217918 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64, Obvious] Fix formatting of SHLL and friends
jgreenhalgh [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217917 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd fgcse-sm test with scan-rtl-dump
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217916 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-21 Renlin Li <Renlin.Li@arm.com>
renlin [Fri, 21 Nov 2014 12:01:32 +0000 (12:01 +0000)]
2014-11-21  Renlin Li  <Renlin.Li@arm.com>

        * MAINTAINERS (Write After Approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217915 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_option_override_internal): Increase
ienkovich [Fri, 21 Nov 2014 11:50:37 +0000 (11:50 +0000)]
* config/i386/i386.c (ix86_option_override_internal): Increase
PARAM_MAX_COMPLETELY_PEELED_INSNS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217914 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite
ienkovich [Fri, 21 Nov 2014 11:13:37 +0000 (11:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217913 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Alex Velenko <Alex.Velenko@arm.com>
avelenko [Fri, 21 Nov 2014 10:41:25 +0000 (10:41 +0000)]
2014-11-20  Alex Velenko  <Alex.Velenko@arm.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217912 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rl78/rl78-real.md (movqi_from_es): New pattern.
nickc [Fri, 21 Nov 2014 10:32:06 +0000 (10:32 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217911 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/61773
jakub [Fri, 21 Nov 2014 09:27:19 +0000 (09:27 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217910 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63764
jakub [Fri, 21 Nov 2014 09:25:51 +0000 (09:25 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217909 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63910
jakub [Fri, 21 Nov 2014 09:23:26 +0000 (09:23 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217908 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR lto/63998
fxcoudert [Fri, 21 Nov 2014 08:38:41 +0000 (08:38 +0000)]
PR lto/63998
* gcc.dg/lto/pr60820_0.c: Skip on darwin.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217907 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agors6000: Fix compiler warning
trippels [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217905 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[NDS32] Look into LO_SUM's operand to determine whether it is a valid address.
jasonwucj [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217904 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[NDS32] Create correct CFI info for variadic function arguments.
jasonwucj [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217903 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[NDS32] Add missing RTX_FRAME_RELATED_P to set fp_adjust_insn rtx.
jasonwucj [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217902 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[NDS32] Complete -march= option design so that it can display available items in...
jasonwucj [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217901 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/63658
jason [Fri, 21 Nov 2014 00:47:50 +0000 (00:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217900 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217899 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217898 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDisable an unsafe VRP transformation when -fno-strict-overflow is set
ppalka [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217895 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/63959
jason [Thu, 20 Nov 2014 21:51:04 +0000 (21:51 +0000)]
PR c++/63959
* tree.c (trivially_copyable_p): Check for CP_TYPE_VOLATILE_P.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217893 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217892 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoWarn on undefined loop exit.
ams [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217891 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Andrew Pinski <apinski@cavium.com>
pinskia [Thu, 20 Nov 2014 17:14:09 +0000 (17:14 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217889 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Andrew Pinski <apinski@cavium.com>
pinskia [Thu, 20 Nov 2014 17:12:02 +0000 (17:12 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217888 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR63426 Fix various signed integer overflows
trippels [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217886 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63870
cbaylis [Thu, 20 Nov 2014 16:26:54 +0000 (16:26 +0000)]
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217885 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ada/63931
charlet [Thu, 20 Nov 2014 16:17:12 +0000 (16:17 +0000)]
PR ada/63931
* gnatvsn.ads (Library_Version): Switch to "5".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217884 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Segher Boessenkool <segher@kernel.crashing.org>
segher [Thu, 20 Nov 2014 16:03:16 +0000 (16:03 +0000)]
2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217883 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 15:59:01 +0000 (15:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217882 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Jerome Lambourg <lambourg@adacore.com>
charlet [Thu, 20 Nov 2014 15:57:55 +0000 (15:57 +0000)]
2014-11-20  Jerome Lambourg  <lambourg@adacore.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217881 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 15:54:31 +0000 (15:54 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217880 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 20 Nov 2014 15:50:29 +0000 (15:50 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217879 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 15:47:33 +0000 (15:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217878 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 20 Nov 2014 15:46:20 +0000 (15:46 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217877 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 15:43:06 +0000 (15:43 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217876 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Vasiliy Fofanov <fofanov@adacore.com>
charlet [Thu, 20 Nov 2014 15:41:27 +0000 (15:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217875 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 15:17:47 +0000 (15:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217874 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Arnaud Charlet <charlet@adacore.com>
charlet [Thu, 20 Nov 2014 15:13:59 +0000 (15:13 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217873 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconvert trans-mem to hash_table
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217872 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove more ggc htabs
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217871 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agouse vec in lto_tree_ref_table
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217870 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove param1_is usage
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217869 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofix hash_table when empty elements are not 0
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217868 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago convert many if_marked htab to hash_table
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217867 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoimplement a replacement for if_marked
tbsaunde [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217866 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217865 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * combine.c (combine_validate_cost): Always print the insn costs
segher [Thu, 20 Nov 2014 14:54:56 +0000 (14:54 +0000)]
* combine.c (combine_validate_cost): Always print the insn costs
to the dump file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217864 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:47:19 +0000 (14:47 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217863 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:41:49 +0000 (14:41 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217862 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 14:37:41 +0000 (14:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217861 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Vadim Godunko <godunko@adacore.com>
charlet [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217860 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 14:31:35 +0000 (14:31 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217859 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:29:05 +0000 (14:29 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217857 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Bob Duff <duff@adacore.com>
charlet [Thu, 20 Nov 2014 14:26:10 +0000 (14:26 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217856 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Bob Duff <duff@adacore.com>
charlet [Thu, 20 Nov 2014 14:24:21 +0000 (14:24 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217855 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 14:17:04 +0000 (14:17 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217854 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/63977
rth [Thu, 20 Nov 2014 14:13:04 +0000 (14:13 +0000)]
PR target/63977

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217853 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Tejas Belagod <tejas.belagod@arm.com>
belagod [Thu, 20 Nov 2014 13:58:23 +0000 (13:58 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217852 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63966
uros [Thu, 20 Nov 2014 12:10:12 +0000 (12:10 +0000)]
PR target/63966
* lex.c [__i386__ || __x86_64__]: Compile special SSE functions
only for (__GNUC__ >= 5 || !defined(__PIC__)).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217851 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 11:55:37 +0000 (11:55 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217850 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Vincent Celier <celier@adacore.com>
charlet [Thu, 20 Nov 2014 11:55:25 +0000 (11:55 +0000)]
2014-11-20  Vincent Celier  <celier@adacore.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217849 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 11:52:08 +0000 (11:52 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217848 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 11:49:43 +0000 (11:49 +0000)]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb: Improve better error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217847 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 11:45:28 +0000 (11:45 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217846 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 11:39:44 +0000 (11:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217845 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 11:37:33 +0000 (11:37 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217844 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMinor reformatting.
charlet [Thu, 20 Nov 2014 11:34:34 +0000 (11:34 +0000)]
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217843 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 11:34:09 +0000 (11:34 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* inline.adb, sem_util.adb: Minor reformatting.

2014-11-20  Pierre-Marie Derodat  <derodat@adacore.com>

* uintp.h (UI_Eq): Declare.
* urealp.h (Norm_Den): Declare.
(Norm_Num): Declare.
* exp_dbug.adb (Is_Handled_Scale_Factor): New.
(Get_Encoded_Name): Do not output ___XF GNAT encodings
for fixed-point types when these can be handled by GCC's DWARF
back-end.

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

* sem_ch13.db (Inherit_Aspects_At_Freeze_Point): Inherit parent
SSO even if set through a pragma Default_Scalar_Storage_Order.
* freeze.adb (Set_SSO_From_Default): For a type extension,
do not let the default SSO override the parent SSO.
* gnat_rm.texi: document the above

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217842 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 11:28:12 +0000 (11:28 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* a-stream.ads, a-reatim.ads, a-calend.ads, sinfo.ads, s-crtl.ads,
interfac.ads, s-taskin.ads: Minor reformatting.

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

* sem_prag.adb (Analyze_Pragma): Extensions_Visible can now
apply to an expression function.
* sem_util.adb (Extensions_Visible_Status): Add special processing
for expression functions.

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

* inline.adb (Build_Body_To_Inline): Remove meaningless aspects
and pragmas.
(Generate_Subprogram_Body): Remove meaningless aspects and pragmas.
(Remove_Aspects_And_Pragmas): New routine.
(Remove_Pragmas): Removed.
* namet.ads, namet.adb (Nam_In): New versions of the routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217841 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 20 Nov 2014 11:24:51 +0000 (11:24 +0000)]
2014-11-20  Thomas Quinot  <quinot@adacore.com>

* sem_util.adb: Minor reformatting.

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

* sem_prag.adb (Analyze_Pragma, case Linker_Section): Detect
duplicate Linker_Section.

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

* exp_ch4.adb: Add guard for build-in-place boolean op.

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

* checks.adb (Apply_Scalar_Range_Check): In GNATprove mode,
put a range check when an empty range is used, instead of an
error message.
* sinfo.ads Update comment on GNATprove mode.

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

* a-stream.ads, s-osinte-linux.ads, a-reatim.ads, a-calend.ads,
s-crtl.ads, interfac.ads, s-taskin.ads: Replace uses of 2 ** 63 and
2 ** 64 by references to Long_Long_Integer instead, to allow these
units to be analyzed by codepeer or spark when using a target
configuration file with long_long_size set to 32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217840 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 20 Nov 2014 11:21:41 +0000 (11:21 +0000)]
2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_util.adb (Extensions_Visible_Status): Modify the logic to account
for non-SPARK code.
(Object_Access_Level): In ASIS mode, recognize
a selected component with an implicit dereference so that it
yields the same value with and without expansion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217839 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 11:16:44 +0000 (11:16 +0000)]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Implemented): In ASIS
(compile-only) mode, use original type declaration to determine
whether protected type implements an interface.

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

* a-cfdlli.adb, a-cfdlli.ads, a-cfinve.adb, a-cfinve.ads,
* a-cofove.adb, a-cofove.ads: Mark spec as SPARK_Mode, and private
part/body as SPARK_Mode Off.
* a-cfhama.adb, a-cfhama.ads, a-cfhase.adb, a-cfhase.ads,
* a-cforma.adb, a-cforma.ads, a-cforse.adb, a-cforse.ads: Use
aspect instead of pragma for uniformity.

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

* sem_util.adb (Is_EVF_Expression): Include
attributes 'Loop_Entry, 'Old and 'Update to the logic.

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

* sem_res.adb (Make_Call_Into_Operator): Don't
call Left_Opnd in the case of unary operators, because they only
have Right.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217838 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Pascal Obry <obry@adacore.com>
charlet [Thu, 20 Nov 2014 11:13:40 +0000 (11:13 +0000)]
2014-11-20  Pascal Obry  <obry@adacore.com>

* initialize.c (ProcListCS): New extern variable (critical section).
(ProcListEvt): New extern variable (handle).
(__gnat_initialize)[Win32]: Initialize the ProcListCS critical
section object and the ProcListEvt event.
* final.c (__gnat_finalize)[Win32]: Properly finalize the
ProcListCS critical section and the ProcListEvt event.
* adaint.c (ProcListEvt): New Win32 event handle.
(EnterCS): New routine to enter the critical section when dealing with
child processes chain list.
(LeaveCS): As above to exit from the critical section.
(SignalListChanged): Routine to signal that the chain process list has
been updated.
(add_handle): Use EnterCS/LeaveCS, also call SignalListChanged when the
handle has been added.
(__gnat_win32_remove_handle): Use EnterCS/LeaveCS,
also call SignalListChanged if the handle has been found and removed.
(remove_handle): Routine removed, implementation merged with the above.
(win32_wait): Use EnterCS/LeaveCS for the critical section. Properly
copy the PID list locally to ensure that even if the list is updated
the local copy remains valid. Add into the hl (handle list) the
ProcListEvt handle. This handle is used to signal that a change has
been made into the process chain list. This is to ensure that a waiting
call can be resumed to take into account new processes. We also make
sure that if the handle was not found into the list we start over
the wait call. Indeed another concurrent call to win32_wait()
could already have handled this process.

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

* sem_res.adb (Resolve_Actuals): The legality rule concerning
the use of class-wide actuals for a non-controlling formal are
not rechecked in an instance.

2014-11-20  Pascal Obry  <obry@adacore.com>

* g-dirope.ads: Minor typo fix.

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

* exp_attr.adb (Expand_N_Attribute_Reference,
Expand_Update_Attribute): Preserve the tag of a prefix by offering
a specific view of the class-wide version of the prefix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217837 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Javier Miranda <miranda@adacore.com>
charlet [Thu, 20 Nov 2014 11:02:25 +0000 (11:02 +0000)]
2014-11-20  Javier Miranda  <miranda@adacore.com>

* sem_ch6.adb (Analyze_Function_Return): For functions returning
an access to an interface add an implicit conversion to the target
type to force the displacement of the pointer to the object to
reference the secondary dispatch table.
(Check_Anonymous_Return): Skip internally built functions which handle
the case of null access when locating the master of a task.
* sem_res.adb (Valid_Conversion): Return true for internally
generated conversions of access to interface types added to force
the displacement of the pointer to reference the corresponding
dispatch table.

2014-11-20  Pascal Obry  <obry@adacore.com>

* adaint.c (add_handle): realloc with a size of +100.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217836 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 20 Nov 2014 11:00:44 +0000 (11:00 +0000)]
2014-11-20  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, propagate
back the resolved operands to the original call node, taking
into account that the original call may have named associations.

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

* inline.adb (Has_Some_Contract): Change the
guard to test the Ekind of the entity rather than the Analyzed
flag. This handles partially analyzed contexts.

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

* sem_ch8.adb (Analyze_Object_Renaming): In Ada 83 mode, do
not reject the renaming of a function result if the renaming
does not come for source.

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

* exp_util.ads: Minor addition of ??? clause.

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

* sem_util.adb (Is_Variable): For an Ada 2012 implicit
dereference introduced for an indexing opertion, check that the
type of the corresponding access discriminant is not an access
to constant.

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

* sem_ch6.adb (Find_Corresponding_Spec): Inherit
the ghostness of the matching spec, the same way convention
is inherited.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217835 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Eric Botcazou <ebotcazou@adacore.com>
charlet [Thu, 20 Nov 2014 10:56:01 +0000 (10:56 +0000)]
2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): Swap a couple of
tests in a condition so Following_Address_Clause is invoked
only if need be.
* exp_util.ads (Following_Address_Clause): Add small note.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217834 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMinor reformatting.
charlet [Thu, 20 Nov 2014 10:47:23 +0000 (10:47 +0000)]
Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217833 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Pascal Obry <obry@adacore.com>
charlet [Thu, 20 Nov 2014 10:47:11 +0000 (10:47 +0000)]
2014-11-20  Pascal Obry  <obry@adacore.com>

* adaint.c (remove_handle): New local routine without a lock.
(win32_wait): fix the critical section to properly protect needed
code, use new remove_handle.
(__gnat_win32_remove_handle): refactor code with remove_handle.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217832 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Eric Botcazou <ebotcazou@adacore.com>
charlet [Thu, 20 Nov 2014 10:46:08 +0000 (10:46 +0000)]
2014-11-20  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Analyze_Inlined_Bodies): Iterate between loading
of the inlined bodies and instantiation of the generic bodies
until no more bodies need to be loaded.

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

* prj.adb, prj.ads, prj-conf.adb: Minor change of procedure name:
Update_Ignore_Missing_With becomes Set_Ignore_Missing_With.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217831 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63966
uros [Thu, 20 Nov 2014 10:43:45 +0000 (10:43 +0000)]
PR target/63966
* lex.c [__i386__ || __x86_64__]: Include system <cpuid.h> for
GCC_VERSION < 5000.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217830 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-11-20 Robert Dewar <dewar@adacore.com>
charlet [Thu, 20 Nov 2014 10:01:05 +0000 (10:01 +0000)]
2014-11-20  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb, sem_ch5.adb, sem_ch7.adb, sem_util.adb,
sem_ch6.adb: Minor reformatting.

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

* exp_ch4.adb (Expand_N_Type_Conversion): Add missing implicit
conversion to force the displacement of the pointer to the object
to reference the secondary dispatch table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217829 138bc75d-0d04-0410-961f-82ee72b054a4