gcc.git
10 years agofuture (_State_baseV2::_M_set_result): Pass pointers to _M_do_set.
Jonathan Wakely [Thu, 7 Aug 2014 20:13:52 +0000 (21:13 +0100)]
future (_State_baseV2::_M_set_result): Pass pointers to _M_do_set.

* include/std/future (_State_baseV2::_M_set_result): Pass pointers to
_M_do_set.
(_State_baseV2::_M_do_set): Change parameters to pointers.
(_State_baseV2::_Setter): Change _M_arg from reference to pointer.
(_State_baseV2::__setter): Initialize _Setter with pointers.
(_State_baseV2::__setter(promise<void>*)): Remove overload.
(promise::set_value, promise::set_exception): Pass setter directly
to _M_set_result.
(_State_baseV2::_Task_setter): Add template parameter for callable
type and replace std::function member with pointer to that type.
Change _M_result member from reference to pointer.
(_State_baseV2::_S_task_setter): Change parameter to lvalue reference
and initialize _Task_setter with pointers.
(__location_invariant): Specialize for _Setter and _Task_setter.

From-SVN: r213737

10 years agore PR c++/51312 ([C++0x] Wrong interpretation of converted constant expressions ...
Paolo Carlini [Thu, 7 Aug 2014 19:51:28 +0000 (19:51 +0000)]
re PR c++/51312 ([C++0x] Wrong interpretation of converted constant expressions (for enumerator initializers))

/cp
2014-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51312
* decl.c (build_enumerator): Handle class types with conversion
operators via perform_implicit_conversion_flags and
build_expr_type_conversion.

* cvt.c (build_expr_type_conversion): Replace pair of errors
with error + inform.

/testsuite
2014-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51312
* g++.dg/cpp0x/enum29.C: New.

From-SVN: r213736

10 years agore PR c++/62043 (GCC hangs / aborts / double free or corruption (!prev) on invalid...
Jason Merrill [Thu, 7 Aug 2014 19:48:36 +0000 (15:48 -0400)]
re PR c++/62043 (GCC hangs / aborts / double free or corruption (!prev) on invalid input)

PR c++/62043
* parser.c (c_parse_file): Change sorry to fatal_error.

From-SVN: r213732

10 years agore PR c++/61959 (ICE: in tree_to_uhwi, at tree.h:3657 when building Mozilla code)
Jason Merrill [Thu, 7 Aug 2014 19:48:30 +0000 (15:48 -0400)]
re PR c++/61959 (ICE: in tree_to_uhwi, at tree.h:3657 when building Mozilla code)

PR c++/61959
* semantics.c (cxx_eval_bare_aggregate): Handle POINTER_PLUS_EXPR.

From-SVN: r213731

10 years agoc11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before defining in dg-options.
John David Anglin [Thu, 7 Aug 2014 19:21:50 +0000 (19:21 +0000)]
c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before defining in dg-options.

* gcc.dg/atomic/c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before
defining in dg-options.
* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.

From-SVN: r213729

10 years agostdatomic-flag.c: Add xfail comment.
John David Anglin [Thu, 7 Aug 2014 18:56:59 +0000 (18:56 +0000)]
stdatomic-flag.c: Add xfail comment.

* gcc.dg/atomic/stdatomic-flag.c: Add xfail comment.

From-SVN: r213727

10 years agomemcpy-5.c: Add -fno-common option on hppa*-*-hpux*.
John David Anglin [Thu, 7 Aug 2014 18:46:13 +0000 (18:46 +0000)]
memcpy-5.c: Add -fno-common option on hppa*-*-hpux*.

* gcc.dg/memcpy-5.c: Add -fno-common option on hppa*-*-hpux*.

From-SVN: r213723

10 years agopr60655-1.c: Don't add -fdata-sections option on 32-bit hppa-hpux.
John David Anglin [Thu, 7 Aug 2014 18:22:47 +0000 (18:22 +0000)]
pr60655-1.c: Don't add -fdata-sections option on 32-bit hppa-hpux.

* gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections option
on 32-bit hppa-hpux.

From-SVN: r213720

10 years agoMakefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
Nathan Sidwell [Thu, 7 Aug 2014 18:02:06 +0000 (18:02 +0000)]
Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...

* Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
(LIBGCOV_DRIVER): ... to here.
* libgcov.h (gcov_do_dump): New #define.
(struct gcov_root): New.
(__gcov_root): New declaration.
(__gcov_dump_one): Declare.
* libgcov-driver.c (gcov_list, gcov_dump_complete,
run_accounted): Delete.
(gcov_compute_histogram): Add LIST argument, adjust.
(compute_summary): Adjust gcov_compute_histogram call.
(gcov_do_dump): Not hidden, static in libgcov.
(gcov_clear): Move  to interface.c.
(__gcov_dump_one): New, broken out of ...
(gcov_exit): ... here.  Make static.
(__gcov_root): New.
(__gcov_init): Adjust.
* libgcov-interface.c (gcov_clear, gcov_exit): Remove
declarations.
(__gcov_flush): Use __gcov_dump_one and __gcov_reset.
(gcov_clear): Moved from driver.c.   Add LIST argument.
(__gcov_reset): Adjust for changed interfaces.
(__gcov_fork): Remove local declaration of __gcov_flush_mx.

From-SVN: r213719

10 years agopr57233.c: Add -fno-common option on hppa*-*-hpux*.
John David Anglin [Thu, 7 Aug 2014 17:49:08 +0000 (17:49 +0000)]
pr57233.c: Add -fno-common option on hppa*-*-hpux*.

* gcc.dg/pr57233.c: Add -fno-common option on hppa*-*-hpux*.
* c-c++-common/pr50459.c: Likewise.

From-SVN: r213717

10 years agostl_list.h (_List_base::_List_base(_List_base&&)): Optimize.
Jonathan Wakely [Thu, 7 Aug 2014 17:25:13 +0000 (18:25 +0100)]
stl_list.h (_List_base::_List_base(_List_base&&)): Optimize.

* include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
Optimize.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r213716

10 years ago[ARM] Delete f_sels, f_seld types, use fcsel instead.
Kyrylo Tkachov [Thu, 7 Aug 2014 14:30:01 +0000 (14:30 +0000)]
[ARM] Delete f_sels, f_seld types, use fcsel instead.

* config/arm/arm.md (*cmov<mode>): Set type attribute to fcsel.
* config/arm/types.md (f_sels, f_seld): Delete.

From-SVN: r213713

10 years ago[AArch64] Restrict usage of FP/SIMD registers for TImode reload and absdi2 patterns...
Kyrylo Tkachov [Thu, 7 Aug 2014 14:27:59 +0000 (14:27 +0000)]
[AArch64] Restrict usage of FP/SIMD registers for TImode reload and absdi2 patterns for non-float/simd targets.

* config/aarch64/aarch64.md (absdi2): Set simd attribute.
(aarch64_reload_mov<mode>): Predicate on TARGET_FLOAT.
(aarch64_movdi_<mode>high): Likewise.
(aarch64_mov<mode>high_di): Likewise.
(aarch64_movdi_<mode>low): Likewise.
(aarch64_mov<mode>low_di): Likewise.
(aarch64_movtilow_tilow): Likewise.
Add comment explaining usage of fp,simd attributes and of
TARGET_FLOAT and TARGET_SIMD.

From-SVN: r213712

10 years ago[AArch64] Use MOVN to generate 64-bit negative immediates where sensible
Ian Bolton [Thu, 7 Aug 2014 13:42:22 +0000 (13:42 +0000)]
[AArch64] Use MOVN to generate 64-bit negative immediates where sensible

* config/aarch64/aarch64.c (aarch64_expand_mov_immediate):
Use MOVN when one of the half-words is 0xffff.

Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
From-SVN: r213711

10 years agothumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.
Marat Zakirov [Thu, 7 Aug 2014 13:29:07 +0000 (13:29 +0000)]
thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.

2014-08-07  Marat Zakirov  <m.zakirov@samsung.com>

* config/arm/thumb1.md (*thumb1_movqi_insn): Copy of thumb1_movhi_insn.

From-SVN: r213710

10 years agoAdd statistical printout of rank_for_schedule decisions
Maxim Kuvyrkov [Thu, 7 Aug 2014 11:16:29 +0000 (11:16 +0000)]
Add statistical printout of rank_for_schedule decisions

* haifa-sched.c (SCHED_SORT): Delete.  Macro used exactly once.
(enum rfs_decition:RFS_*): New constants wrapped in an enum.
(rfs_str): String corresponding to RFS_* constants.
(rank_for_schedule_stats_t): New typedef.
(rank_for_schedule_stats): New static variable.
(rfs_result): New static function.
(rank_for_schedule): Track statistics for deciding heuristics.
(rank_for_schedule_stats_diff, print_rank_for_schedule_stats): New
static functions.
(ready_sort): Use them for debug printouts.
(schedule_block): Init statistics state.  Print statistics on
rank_for_schedule decisions.

From-SVN: r213709

10 years agoFix INSN_TICK heuristic for SCHED_PRESSURE
Maxim Kuvyrkov [Thu, 7 Aug 2014 11:16:16 +0000 (11:16 +0000)]
Fix INSN_TICK heuristic for SCHED_PRESSURE

* haifa-sched.c (rank_for_schedule): Fix INSN_TICK-based heuristics.

From-SVN: r213708

10 years agoavx512f-vfixupimmpd-2.c: Include float.h instead of values.h, change MAXDOUBLE for...
Petr Murzin [Thu, 7 Aug 2014 10:57:39 +0000 (10:57 +0000)]
avx512f-vfixupimmpd-2.c: Include float.h instead of values.h, change MAXDOUBLE for DBL_MAX.

gcc/testsuite
* gcc.target/i386/avx512f-vfixupimmpd-2.c: Include float.h instead of
values.h, change MAXDOUBLE for DBL_MAX.
* gcc.target/i386/avx512f-vfixupimmsd-2.c: Ditto.
* gcc.target/i386/avx512f-vfixupimmps-2.c: Include float.h instead of
values.h, change MAXFLOAT for FLT_MAX.
* gcc.target/i386/avx512f-vfixupimmss-2.c: Ditto.
* gcc.target/i386/avx512f-vpermi2d-2.c: Do not include values.h.
* gcc.target/i386/avx512f-vpermi2pd-2.c: Ditto.
* gcc.target/i386/avx512f-vpermi2ps-2.c: Ditto.
* gcc.target/i386/avx512f-vpermi2q-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2d-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2pd-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2ps-2.c: Ditto.
* gcc.target/i386/avx512f-vpermt2q-2.c: Ditto.

From-SVN: r213706

10 years agosse.md (vec_extract_lo_<mode><mask_name>): Fix constraint.
Ilya Tocar [Thu, 7 Aug 2014 10:52:13 +0000 (10:52 +0000)]
sse.md (vec_extract_lo_<mode><mask_name>): Fix constraint.

gcc/
* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
constraint.

From-SVN: r213704

10 years agoconvert the rest of the users of pointer_map to hash_map
Trevor Saunders [Thu, 7 Aug 2014 10:44:14 +0000 (10:44 +0000)]
convert the rest of the users of pointer_map to hash_map

gcc/

* hash-map.h (default_hashmap_traits): Adjust overloads of hash
function to not conflict.
* alias.c, cfgexpand.c, dse.c, except.h, gimple-expr.c,
gimple-ssa-strength-reduction.c, gimple-ssa.h, ifcvt.c,
lto-streamer-out.c, lto-streamer.h, tree-affine.c, tree-affine.h,
tree-predcom.c, tree-scalar-evolution.c, tree-ssa-loop-im.c,
tree-ssa-loop-niter.c, tree-ssa.c, value-prof.c: Use hash_map instead
of pointer_map.

gcc/cp/

* cp-tree.h, pt.c: Use hash_map instead of pointer_map.

gcc/lto/

* lto-partition.c, lto.c: Use hash_map instead of pointer_map.

From-SVN: r213703

10 years agogcc/testsuite
Kirill Yukhin [Thu, 7 Aug 2014 09:59:34 +0000 (09:59 +0000)]
gcc/testsuite
* Add forgotten file.

From-SVN: r213702

10 years agoRemove arm-specific -march in test.
Kyrylo Tkachov [Thu, 7 Aug 2014 08:31:07 +0000 (08:31 +0000)]
Remove arm-specific -march in test.

* gcc.dg/pr61756.c: Remove arm-specific dg-options.

From-SVN: r213701

10 years agofold-const.c (fold_binary_loc): Add folding of (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1...
Marek Polacek [Thu, 7 Aug 2014 08:12:04 +0000 (08:12 +0000)]
fold-const.c (fold_binary_loc): Add folding of (PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A.

* fold-const.c (fold_binary_loc): Add folding of
(PTR0 - (PTR1 p+ A) -> (PTR0 - PTR1) - A.
c/
* c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
testsuite/
* gcc.dg/fold-reassoc-3.c: New test.

From-SVN: r213700

10 years agoelfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size instead of type size.
Ilya Enkovich [Thu, 7 Aug 2014 08:04:55 +0000 (08:04 +0000)]
elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size instead of type size.

gcc/
* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use decl size
instead of type size.
(ASM_FINISH_DECLARE_OBJECT): Likewise.

gcc/testsuite/
* gcc.target/i386/struct-size.c: New.

From-SVN: r213699

10 years agoRemove duplicate ChangeLog entries
Tom de Vries [Thu, 7 Aug 2014 07:41:33 +0000 (07:41 +0000)]
Remove duplicate ChangeLog entries

From-SVN: r213697

10 years agothumb1.md (*thumb1_movhi_insn): Handle stack pointer.
Marat Zakirov [Thu, 7 Aug 2014 07:34:33 +0000 (07:34 +0000)]
thumb1.md (*thumb1_movhi_insn): Handle stack pointer.

2014-08-07  Marat Zakirov  <m.zakirov@samsung.com>

* config/arm/thumb1.md (*thumb1_movhi_insn): Handle stack pointer.
(*thumb1_movqi_insn): Likewise.
* config/arm/thumb2.md (*thumb2_movhi_insn): Likewise.

From-SVN: r213695

10 years agoRemove cproj-fails-with-broken-glibc.c
Tom de Vries [Thu, 7 Aug 2014 07:22:35 +0000 (07:22 +0000)]
Remove cproj-fails-with-broken-glibc.c

2014-08-07  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/cproj-fails-with-broken-glibc.c: Remove test.
* lib/target-supports.exp (check_effective_target_glibc)
(check_effective_target_glibc_2_12_or_later)
(check_effective_target_glibc_2_11_or_earlier): Remove proc.

* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
(glibc_2_11_or_earlier): Remove effective-target keywords.

From-SVN: r213694

10 years agoFor cproj test-case, use glibc version xfail
Tom de Vries [Thu, 7 Aug 2014 07:22:24 +0000 (07:22 +0000)]
For cproj test-case, use glibc version xfail

2014-08-04  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/cproj-fails-with-broken-glibc.c: Use xfail for broken glibc
version instead of required-target.
* lib/target-supports.exp
(check_effective_target_not_glibc_2_11_or_earlier): Replace by ...
(check_effective_target_glibc_2_11_or_earlier): ... this.

* doc/sourcebuild.texi (glibc, glibc_2_12_or_later)
(glibc_2_11_or_earlier): Document effective-target keywords.

From-SVN: r213693

10 years agoarm.c (bdesc_2arg): Fix typo.
Kugan Vivekanandarajah [Thu, 7 Aug 2014 06:22:05 +0000 (06:22 +0000)]
arm.c (bdesc_2arg): Fix typo.

gcc/
2014-08-07  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/arm/arm.c (bdesc_2arg): Fix typo.
(arm_atomic_assign_expand_fenv): Remove The default implementation.

From-SVN: r213692

10 years agotree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.
Zhenqiang Chen [Thu, 7 Aug 2014 04:54:06 +0000 (04:54 +0000)]
tree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.

ChangeLog
2014-08-07  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* tree-ssa-loop-ivopts.c (get_address_cost): Try aligned offset.

testsuite/ChangeLog
2014-08-07  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/get_address_cost_aligned_max_offset.c: New test.

From-SVN: r213691

10 years agoinit.c (build_vec_init): Fix constant initialization of trailing elements.
Jason Merrill [Thu, 7 Aug 2014 01:44:40 +0000 (21:44 -0400)]
init.c (build_vec_init): Fix constant initialization of trailing elements.

* init.c (build_vec_init): Fix constant initialization of
trailing elements.
(build_value_init_noctor): Call maybe_constant_init.
* semantics.c (maybe_constant_init): See through EXPR_STMT and
conversion to void.

From-SVN: r213690

10 years agore PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)
Jason Merrill [Thu, 7 Aug 2014 01:44:11 +0000 (21:44 -0400)]
re PR c++/60417 ([DR 1518] Bogus error on C++03 aggregate initialization)

PR c++/60417
* init.c (build_vec_init): Reorganize earlier change a bit.

From-SVN: r213689

10 years agore PR c++/61994 (constexpr vector array ICE)
Jason Merrill [Thu, 7 Aug 2014 01:44:06 +0000 (21:44 -0400)]
re PR c++/61994 (constexpr vector array ICE)

PR c++/61994
* init.c (build_vec_init): Leave atype an ARRAY_TYPE
if we're just returning an INIT_EXPR.

From-SVN: r213688

10 years agopt.c (check_explicit_specialization): Don't test DECL_DECLARED_INLINE_P for a variabl...
Jason Merrill [Thu, 7 Aug 2014 01:43:58 +0000 (21:43 -0400)]
pt.c (check_explicit_specialization): Don't test DECL_DECLARED_INLINE_P for a variable template.

* pt.c (check_explicit_specialization): Don't test
DECL_DECLARED_INLINE_P for a variable template.

Co-Authored-By: Braden Obrzut <admin@maniacsvault.net>
From-SVN: r213687

10 years agoDaily bump.
GCC Administrator [Thu, 7 Aug 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213686

10 years agore PR c++/43906 (missing warnings the comparison between an address with a null point...
Paolo Carlini [Wed, 6 Aug 2014 19:09:08 +0000 (19:09 +0000)]
re PR c++/43906 (missing warnings the comparison between an address with a null pointer constant)

/cp
2014-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43906
* typeck.c (cp_build_binary_op): Extend to more cases the
-Waddress warning.

/testsuite
2014-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43906
* g++.dg/warn/Waddress-1.C: New.

From-SVN: r213682

10 years ago* gcc.dg/pr44194-1.c: Remove an extraneous brace.
Maciej W. Rozycki [Wed, 6 Aug 2014 16:11:21 +0000 (16:11 +0000)]
* gcc.dg/pr44194-1.c: Remove an extraneous brace.

From-SVN: r213677

10 years agore PR debug/61923 (-fcompare-debug errors while building Linux kernel.)
Vladimir Makarov [Wed, 6 Aug 2014 15:40:26 +0000 (15:40 +0000)]
re PR debug/61923 (-fcompare-debug errors while building Linux kernel.)

2014-08-06  Vladimir Makarov  <vmakarov@redhat.com>

PR debug/61923
* haifa-sched.c (advance_one_cycle): Fix dump.
(schedule_block): Don't advance cycle if we are already at the
beginning of the cycle.

2014-08-06  Vladimir Makarov  <vmakarov@redhat.com>

PR debug/61923
* gcc.target/i386/pr61923.c: New test.

From-SVN: r213675

10 years agore PR ipa/61393 ([trans-mem] O3 optimization level constant propagation problem)
Martin Jambor [Wed, 6 Aug 2014 13:59:18 +0000 (15:59 +0200)]
re PR ipa/61393 ([trans-mem] O3 optimization level constant propagation problem)

2014-08-06  Martin Jambor  <mjambor@suse.cz>

PR ipa/61393
* cgraphclones.c (cgraph_node::create_clone): Also copy tm_clone.

From-SVN: r213666

10 years agore PR lto/62034 (ICE for big statically initialized arrays compiled with LTO)
Richard Biener [Wed, 6 Aug 2014 13:53:09 +0000 (13:53 +0000)]
re PR lto/62034 (ICE for big statically initialized arrays compiled with LTO)

2014-08-06  Richard Biener  <rguenther@suse.de>

PR lto/62034
* lto-streamer-in.c (lto_input_tree_1): Assert we do not read
SCCs here.
(lto_input_tree): Pop SCCs here.

From-SVN: r213664

10 years agore PR bootstrap/61320 (ICE in jcf-parse.c:1622 (parse_class_file)
Richard Biener [Wed, 6 Aug 2014 11:41:13 +0000 (11:41 +0000)]
re PR bootstrap/61320 (ICE in jcf-parse.c:1622 (parse_class_file)

2014-08-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61320
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
handle misaligned loads.

From-SVN: r213661

10 years ago[PATCH AArch64] Prefer dup to zip for vec_perm_const; enable dup for bigendian; add...
Alan Lawrence [Wed, 6 Aug 2014 10:17:05 +0000 (10:17 +0000)]
[PATCH AArch64] Prefer dup to zip for vec_perm_const; enable dup for bigendian; add testcase.

gcc/:
* config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
(aarch64_expand_vec_perm_const): Check for dup before zip.

gcc/testsuite:

* gcc.target/aarch64/vdup_n_2.c: New test.

From-SVN: r213659

10 years agopr44194-1.c: Also exclude powerpc*-*-linux*, except if powerpc_elfv2.
Maciej W. Rozycki [Wed, 6 Aug 2014 10:02:37 +0000 (10:02 +0000)]
pr44194-1.c: Also exclude powerpc*-*-linux*, except if powerpc_elfv2.

* gcc.dg/pr44194-1.c: Also exclude powerpc*-*-linux*, except if
powerpc_elfv2.

From-SVN: r213657

10 years agore PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
Jakub Jelinek [Wed, 6 Aug 2014 08:40:19 +0000 (10:40 +0200)]
re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)

PR rtl-optimization/61801
* gcc.target/i386/pr61801.c: Rewritten.

From-SVN: r213652

10 years ago[AArch64] Use REG_P and CONST_INT_P instead of GET_CODE + comparison.
Kyrylo Tkachov [Wed, 6 Aug 2014 08:32:07 +0000 (08:32 +0000)]
[AArch64] Use REG_P and CONST_INT_P instead of GET_CODE + comparison.

* config/aarch64/aarch64.c (aarch64_classify_address): Use REG_P and
CONST_INT_P instead of GET_CODE and compare.
(aarch64_select_cc_mode): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_rtx_costs): Likewise.
(aarch64_simd_valid_immediate): Likewise.
(aarch64_simd_check_vect_par_cnst_half): Likewise.
(aarch64_simd_emit_pair_result_insn): Likewise.

From-SVN: r213651

10 years agoDaily bump.
GCC Administrator [Wed, 6 Aug 2014 00:16:32 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213649

10 years agogdbhooks.py: add "break-on-pass" command
David Malcolm [Tue, 5 Aug 2014 21:01:47 +0000 (21:01 +0000)]
gdbhooks.py: add "break-on-pass" command

gcc/
2014-08-05  David Malcolm  <dmalcolm@redhat.com>

        * gdbhooks.py (find_gcc_source_dir): New helper function.
        (class PassNames): New class, locating and parsing passes.def.
        (class BreakOnPass): New command "break-on-pass".

From-SVN: r213646

10 years agofix pr62009 use after free in redirect_edge_var_map_dup
Trevor Saunders [Tue, 5 Aug 2014 19:52:08 +0000 (19:52 +0000)]
fix pr62009 use after free in redirect_edge_var_map_dup

The change to get the entry for the old edge before inserting the new
one was incorrect because if inserting the new one resized the table
then the pointer to the entry for the old one would become invalid.

gcc/

* tree-ssa.c (redirect_edge_var_map_dup): insert newe before
getting olde.

From-SVN: r213644

10 years agoFix more typos.
Eric Botcazou [Tue, 5 Aug 2014 18:35:50 +0000 (18:35 +0000)]
Fix more typos.

From-SVN: r213643

10 years agoFix typos.
Eric Botcazou [Tue, 5 Aug 2014 18:29:21 +0000 (18:29 +0000)]
Fix typos.

From-SVN: r213642

10 years agoImplement constexpr variable templates
Braden Obrzut [Tue, 5 Aug 2014 18:24:06 +0000 (18:24 +0000)]
Implement constexpr variable templates

Implement constexpr variable templates
* decl.c (grokvardecl): Handle specializations of variable templates.
(grokdeclarator): Handle variable template id expressions and NULL_TREE
return from grokvardecl.
* decl2.c (check_member_template): Allow declaration of template member
variables.
* parser.c (cp_parser_template_id): Build a TEMPLATE_ID_EXPR for
variable templates.
* pt.c (check_template_variable): Accept variable temploids at
non-class scope.
(push_template_decl_real): The current instantiation of a template
can be a VAR_DECL.
(determine_specialization): Accept variable templates.
(check_explicit_specialization): Handle and check for malformed
variable template specializations.
(lookup_template_variable): New.
(tsubst_decl): Handle variable template specializations.
(do_decl_instantiation): Handle template variables.
(instantiate_decl): Handle template variables.
* semantics.c (finish_template_variable): New.
(finish_id_expression): Instantiate variable templates.
* cp-tree.h (variable_template_p): New.

From-SVN: r213641

10 years agoFixed text formatting
Edmar Wienskoski [Tue, 5 Aug 2014 14:44:36 +0000 (14:44 +0000)]
Fixed text formatting

From-SVN: r213640

10 years agore PR rtl-optimization/61672 (Less redundant instructions deleted by pre_delete after...
Richard Biener [Tue, 5 Aug 2014 13:05:06 +0000 (13:05 +0000)]
re PR rtl-optimization/61672 (Less redundant instructions deleted by pre_delete after r208113.)

2014-08-05  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/61672
* emit-rtl.h (mem_attrs_eq_p): Declare.
* emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
* cse.c (exp_equiv_p): Use mem_attrs_eq_p.
* cfgcleanup.c (merge_memattrs): Likewise.
Include emit-rtl.h.

From-SVN: r213638

10 years ago[AArch64] Fix types for vqdmlals_lane_s32 and vqdmlsls_lane_s32 intrinsics.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:46:31 +0000 (10:46 +0000)]
[AArch64] Fix types for vqdmlals_lane_s32 and vqdmlsls_lane_s32 intrinsics.

* config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
rather than singleton vectors.
(vqdmlsls_lane_s32): Likewise.

* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmlals_lane_s32):
Fix types.
(test_vqdmlsls_lane_s32): Likewise.
* gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.

From-SVN: r213636

10 years ago[AArch64] Implement some saturating math NEON intrinsics.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:43:41 +0000 (10:43 +0000)]
[AArch64] Implement some saturating math NEON intrinsics.

* config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
Use VSDQ_HSI mode iterator.
(aarch64_sqrdmulh_laneq<mode>): Likewise.
(aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn.
* config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq):
Use BUILTIN_VDQHS macro.
(sqrdmulh_laneq): Likewise.
* config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic.
(vqdmlals_laneq_s32): Likewise.
(vqdmlslh_laneq_s16): Likewise.
(vqdmlsls_laneq_s32): Likewise.
(vqdmulhh_laneq_s16): Likewise.
(vqdmulhs_laneq_s32): Likewise.
(vqrdmulhh_laneq_s16): Likewise.
(vqrdmulhs_laneq_s32): Likewise.

* gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: New test.
* gcc.target/aarch64/simd/vqdmlals_laneq_s32_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlslh_laneq_s16_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsls_laneq_s32_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhh_laneq_s16_1.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhs_laneq_s32_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhh_laneq_s16_1.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhs_laneq_s32_1.c: Likewise.

From-SVN: r213635

10 years ago[AArch64] Implement some vmul*_lane*_f* intrinsics in arm_neon.h.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:39:31 +0000 (10:39 +0000)]
[AArch64] Implement some vmul*_lane*_f* intrinsics in arm_neon.h.

* config/aarch64/arm_neon.h (vmul_f64): New intrinsic.
(vmuld_laneq_f64): Likewise.
(vmuls_laneq_f32): Likewise.
(vmul_n_f64): Likewise.
(vmuld_lane_f64): Reimplement in C.
(vmuls_lane_f32): Likewise.

* gcc.target/aarch64/simd/vmul_f64_1.c: New test.
* gcc.target/aarch64/simd/vmul_n_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vmuld_lane_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vmuld_laneq_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vmuls_lane_f32_1.c: Likewise.
* gcc.target/aarch64/simd/vmuls_laneq_f32_1.c: Likewise.

From-SVN: r213634

10 years ago[ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57.
Kyrylo Tkachov [Tue, 5 Aug 2014 10:27:07 +0000 (10:27 +0000)]
[ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57.

* config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type
to reservation.
* config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.

From-SVN: r213632

10 years ago[ARM] Adjust clz, rbit and rev patterns for -mrestrict-it.
Kyrylo Tkachov [Tue, 5 Aug 2014 09:56:31 +0000 (09:56 +0000)]
[ARM] Adjust clz, rbit and rev patterns for -mrestrict-it.

* config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
(rbitsi2): Likewise.
(*arm_rev): Set predicable and predicable_short_it attributes.

From-SVN: r213630

10 years agoCorrect usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c
Kyrylo Tkachov [Tue, 5 Aug 2014 09:54:14 +0000 (09:54 +0000)]
Correct usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c

* gcc.dg/torture/ftrapv-1.c: Correct usage of dg-require-fork.

From-SVN: r213629

10 years ago[convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno.
Kyrylo Tkachov [Tue, 5 Aug 2014 09:52:21 +0000 (09:52 +0000)]
[convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno.

* convert.c (convert_to_integer): Guard transformation to lrint by
-fno-math-errno.

From-SVN: r213628

10 years ago[AArch64] Some aarch64-builtins.c cleanup.
James Greenhalgh [Tue, 5 Aug 2014 09:49:05 +0000 (09:49 +0000)]
[AArch64] Some aarch64-builtins.c cleanup.

gcc/

* config/aarch64/aarch64-builtins.c
(aarch64_simd_builtin_type_mode): Delete.
(v8qi_UP): Remap to V8QImode.
(v4hi_UP): Remap to V4HImode.
(v2si_UP): Remap to V2SImode.
(v2sf_UP): Remap to V2SFmode.
(v1df_UP): Remap to V1DFmode.
(di_UP): Remap to DImode.
(df_UP): Remap to DFmode.
(v16qi_UP):V16QImode.
(v8hi_UP): Remap to V8HImode.
(v4si_UP): Remap to V4SImode.
(v4sf_UP): Remap to V4SFmode.
(v2di_UP): Remap to V2DImode.
(v2df_UP): Remap to V2DFmode.
(ti_UP): Remap to TImode.
(ei_UP): Remap to EImode.
(oi_UP): Remap to OImode.
(ci_UP): Map to CImode.
(xi_UP): Remap to XImode.
(si_UP): Remap to SImode.
(sf_UP): Remap to SFmode.
(hi_UP): Remap to HImode.
(qi_UP): Remap to QImode.
(aarch64_simd_builtin_datum): Make mode a machine_mode.
(VAR1): Build builtin name.
(aarch64_init_simd_builtins): Remove dead code.

From-SVN: r213627

10 years ago[gcc/]
Roman Gareev [Tue, 5 Aug 2014 08:42:09 +0000 (08:42 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c:
(set_options): New function.
(scop_to_isl_ast): Add calling of set_options.

From-SVN: r213623

10 years agoloop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
Jakub Jelinek [Tue, 5 Aug 2014 08:09:00 +0000 (10:09 +0200)]
loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.

* loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
(analyze_iv_to_split_insn): Don't initialize them.
(get_ivts_expr): Removed.
(allocate_basic_variable, insert_base_initialization): Use
SET_SRC instead of *get_ivts_expr.
(split_iv): Use &SET_SRC instead of get_ivts_expr.

From-SVN: r213621

10 years agographite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
Roman Gareev [Tue, 5 Aug 2014 03:41:29 +0000 (03:41 +0000)]
graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.

[gcc/]

* graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
(translate_isl_ast_for_loop): Add checking of the
flag_loop_parallelize_all.
(ast_build_before_for): New function.
(scop_to_isl_ast): Add checking of the
flag_loop_parallelize_all.
* graphite-dependences.c: Move the defenition of the
scop_get_dependences from graphite-optimize-isl.c to this file.
(apply_schedule_on_deps): Add checking of the ux's emptiness.
(carries_deps): Add checking of the x's value.
* graphite-optimize-isl.c: Move the defenition of the
scop_get_dependences to graphite-dependences.c.
* graphite-poly.h: Add declarations of scop_get_dependences
and carries_deps.

From-SVN: r213619

10 years agore PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
Ian Lance Taylor [Tue, 5 Aug 2014 03:11:17 +0000 (03:11 +0000)]
re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])

PR go/61308

compiler: Handle enclosing vars for function type in function lit.

This fixes a dumb bug in which the enclosing vars were
incorrectly cleared when a function literal contains a
reference to a function type.  The test for this will go into
the master repository in the change at
http://codereview.appspot.com/121200043 .

From-SVN: r213618

10 years agore PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
Ian Lance Taylor [Tue, 5 Aug 2014 02:58:15 +0000 (02:58 +0000)]
re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])

PR go/61308
PR go/61866

compiler: Don't cast index expr to int before bounds check.

This fixes http://gcc.gnu.org/PR61866 : on a 32-bit system,
casting an int64 index to int drops the upper 32 bits of the
value, and thus can cause an out-of-range index to appear to
be in range.

This undoes part of change 1318:fa6e0c716dba
(https://codereview.appspot.com/104610044) and therefore
breaks http://gcc.gnu.org/PR61308 again.  I have a separate
patch for that (http://codereview.appspot.com/122020043).  In
addition to undoing part of that change, this patch adds code
to avoid a compiler crash.  This changes PR61308 from a
compiler crash to an incorrect error message.

From-SVN: r213616

10 years agoDaily bump.
GCC Administrator [Tue, 5 Aug 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213615

10 years agoruntime: Add casts to mincore call to compile on Solaris.
Ian Lance Taylor [Mon, 4 Aug 2014 17:54:09 +0000 (17:54 +0000)]
runtime: Add casts to mincore call to compile on Solaris.

Based on patch from Rainer Orth.

From-SVN: r213599

10 years agore PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
Rohit Arul Raj [Mon, 4 Aug 2014 16:55:07 +0000 (16:55 +0000)]
re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)

[gcc/testsuite]
2014-08-04  Rohit  <rohitarulraj@freescale.com>

PR target/60102
* gcc.target/powerpc/pr60102.c: New testcase.

From-SVN: r213598

10 years agore PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
Rohit Arul Raj [Mon, 4 Aug 2014 16:34:34 +0000 (16:34 +0000)]
re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)

PR target/60102

[libgcc]
2014-07-31  Rohit  <rohitarulraj@freescale.com>
* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Update
  based on change in SPE high register numbers and 3 HTM registers.

[gcc]
2014-07-31  Rohit  <rohitarulraj@freescale.com>
* config/rs6000/rs6000.c
  (rs6000_reg_names) : Add SPE high register names.
  (alt_reg_names) : Likewise.
  (rs6000_dwarf_register_span) : For SPE high registers, replace
  dwarf register numbers with GCC hard register numbers.
  (rs6000_init_dwarf_reg_sizes_extra) : Likewise.
  (rs6000_dbx_register_number): For SPE high registers, return dwarf
  register number for the corresponding GCC hard register number.

* config/rs6000/rs6000.h
  (FIRST_PSEUDO_REGISTER) : Update based on 32 newly added GCC hard
  register numbers for SPE high registers.
  (DWARF_FRAME_REGISTERS) :  Likewise.
  (DWARF_REG_TO_UNWIND_COLUMN) : Likewise.
  (DWARF_FRAME_REGNUM) : Likewise.
  (FIXED_REGISTERS) : Likewise.
  (CALL_USED_REGISTERS) : Likewise.
  (CALL_REALLY_USED_REGISTERS) : Likewise.
  (REG_ALLOC_ORDER) : Likewise.
  (enum reg_class) : Likewise.
  (REG_CLASS_NAMES) : Likewise.
  (REG_CLASS_CONTENTS) : Likewise.
  (SPE_HIGH_REGNO_P) : New macro to identify SPE high registers.

* gcc.target/powerpc/pr60102.c: New testcase.

From-SVN: r213596

10 years ago* runtime/memory.c (xmallocarray): Avoid division for the common case.
Jakub Jelinek [Mon, 4 Aug 2014 15:46:33 +0000 (17:46 +0200)]
* runtime/memory.c (xmallocarray): Avoid division for the common case.

From-SVN: r213593

10 years agotask.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero...
Jakub Jelinek [Mon, 4 Aug 2014 15:45:50 +0000 (17:45 +0200)]
task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero...

* task.c (GOMP_taskgroup_end): If taskgroup->num_children
is not zero, but taskgroup->children is NULL and there are
any task->children, schedule those instead of waiting.
* testsuite/libgomp.c/depend-6.c: New test.
* testsuite/libgomp.c/depend-7.c: New test.
* testsuite/libgomp.c/depend-8.c: New test.
* testsuite/libgomp.c/depend-9.c: New test.
* testsuite/libgomp.c/depend-10.c: New test.

From-SVN: r213592

10 years agoRemove trailing blanks.
Arnaud Charlet [Mon, 4 Aug 2014 13:39:17 +0000 (15:39 +0200)]
Remove trailing blanks.

From-SVN: r213591

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 13:20:30 +0000 (15:20 +0200)]
[multiple changes]

2014-08-04  Claire Dross  <dross@adacore.com>

* exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
For an instance, look at the scope before the generic parent.

2014-08-04  Yannick Moy  <moy@adacore.com>

* lib-writ.ads: Update comments.
* sem_disp.ads, sem_disp.adb (Inherited_Subprograms): Add
parameters to filter inherited subprograms.

From-SVN: r213590

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 13:19:06 +0000 (15:19 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Add section on use of address clause for memory
mapped I/O.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype, in
particular the subtype created for a generic actual, inherits
invariant information from the base type.

From-SVN: r213589

10 years agoaspects.ads, [...]: Add entries for aspect Obsolescent.
Robert Dewar [Mon, 4 Aug 2014 13:17:46 +0000 (13:17 +0000)]
aspects.ads, [...]: Add entries for aspect Obsolescent.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* aspects.ads, aspects.adb: Add entries for aspect Obsolescent.
* gnat_rm.texi: Add documentation for aspect Obsolescent.
* sem_ch13.adb (Analyze_Aspect_Specifications): Implement aspect
Obsolescent.
(Check_Aspect_At_Freeze_Point): Add dummy entry for pragma Obsolescent.
* s-osprim-mingw.adb: Minor reformatting.
* sem_res.adb (Is_Atomic_Ref_With_Address): New function
(Resolve_Indexed_Component): Rework warnings for non-atomic access
(Resolve_Selected_Component): Add warnings for non-atomic access.

From-SVN: r213588

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 13:16:24 +0000 (15:16 +0200)]
[multiple changes]

2014-08-04  Doug Rupp  <rupp@adacore.com>

* g-calend.adb (timeval_to_duration, duration_to_timeval): Change sec
formal to long_long.
* g-calend.ads (timeval): Bump up size to accomodate sec type.
* s-taprop-linux.adb (timeval_to_duration): Change sec formal to
long_long
* s-osprim-posix.adb (timeval): Bump up size to accomodate
new sec type.
(timeval_to_duration): Change sec formal to Long_Long_Integer
* s-osinte-darwin.adb (timeval): Bump up
size to accomodate new sec type.
(timeval_to_duration): Change sec formal to long_long
* s-osinte-android.adb: Likewise.
* cal.c (__gnat_timeal_to_duration, __gnat_duration_to_timeval): Change
sec formal from long to long long.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_res.adb (Resolve_Qualified_Expression): Make sure
Do_Range_Check flag gets set.

From-SVN: r213587

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 13:09:07 +0000 (15:09 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* einfo.ads, einfo.adb (Is_Standard_String_Type): New function.
* exp_ch3.adb (Build_Array_Init_Proc): Use
Is_Standard_String_Type.
(Expand_Freeze_Array_Type): ditto.
(Get_Simple_Init_Val): ditto.
(Needs_Simple_Initialization): ditto.
* sem_eval.adb (Eval_String_Literal): Use Is_Standard_String_Type.
* sem_warn.adb (Is_Suspicious_Type): Use Is_Standard_String_Type.

2014-08-04  Pascal Obry  <obry@adacore.com>

* adaint.c (__gnat_try_lock): Use _tcscpy and _tcscat instead of
_stprintf which insert garbage into the wfull_path buffer.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* cal.c: Remove old VMS/nucleus code. Remove obsolete vxworks
code.
* fe.h: Minor reformatting.

2014-08-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* cstreams.c: (_LARGEFILE_SOURCE): Guard definition.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* par-ch13.adb (Get_Aspect_Specifications): Improve error
recovery, fixing a -gnatQ bomb.

From-SVN: r213586

10 years agogimple-fold.h (gimple_fold_builtin): Remove.
Richard Biener [Mon, 4 Aug 2014 13:08:34 +0000 (13:08 +0000)]
gimple-fold.h (gimple_fold_builtin): Remove.

2014-08-04  Richard Biener  <rguenther@suse.de>

* gimple-fold.h (gimple_fold_builtin): Remove.
* gimple-fold.c (gimple_fold_builtin): Make static.
* tree-ssa-ccp.c (pass_fold_builtins::execute): Use
fold_stmt, not gimple_fold_builtin.

From-SVN: r213585

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 13:02:44 +0000 (15:02 +0200)]
[multiple changes]

2014-08-04  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Analyze_Object_Declaration): In GNATprove mode,
do not generate two Itypes with the same name for an array
definition.
* sinfo.ads: Expand doc on GNATprove mode.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Expand_Freeze_Record_Type): Set the finalization
master and storage pool attributes on the root type of an
anonymous access type.
* exp_ch4.adb (Expand_N_Allocator): Set the finalization master
and storage pool attributes on the root type of an anonymous
access type.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* exp_ch3.adb: Minor reformatting.
* tb-alvms.c, tb-alvxw.c, tb-ivms.c: Removed.
* tracebak.c: Remove use of above files.
* gcc-interface/Makefile.in: Update dependencies.

2014-08-04  Pierre-Marie Derodat  <derodat@adacore.com>

* gcc-interface/utils.c (gnat_set_type_context): Also set the
context for parallel types' TYPE_STUB_DECL.  Do not change
anything if the context is already set for them.
(gnat_pushdecl): Update the comment for calls to
gnat_set_type_context to mention parallel types.
(add_parallel_type): When adding a context-less parallel type to
a type that has a context, propagate the context from the latter
type to the former.
(process_deferred_decl_context): Call gnat_set_type_context
rather than manually setting the type context.
(build_unc_object_type): Call gnat_set_type_context on the
template type.

From-SVN: r213584

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 12:58:06 +0000 (14:58 +0200)]
[multiple changes]

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_N_Case_Statement): If a choice is a
subtype indication and the case statement has only two choices,
replace subtype indication with its range, because the resulting
membership test cannot have a subtype indication as an operand.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* exp_ch3.adb: Update comments, minor reformatting.

From-SVN: r213583

10 years agosem_ch3.adb (Analyze_Declarations): Explain why the bodies of the default initial...
Hristian Kirtchev [Mon, 4 Aug 2014 12:55:46 +0000 (12:55 +0000)]
sem_ch3.adb (Analyze_Declarations): Explain why the bodies of the default initial condition procedures are build here.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Analyze_Declarations): Explain why the bodies of
the default initial condition procedures are build here.
* sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the
analyzed argument of pragma Default_Initial_Condition in some
dummy code as GNATprove mode disables assertions, but still
needs to see the argument.

From-SVN: r213582

10 years agoexp_ch6.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 4 Aug 2014 12:54:59 +0000 (12:54 +0000)]
exp_ch6.adb, [...]: Minor reformatting.

2014-08-04  Robert Dewar  <dewar@adacore.com>

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

From-SVN: r213581

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 12:53:23 +0000 (14:53 +0200)]
[multiple changes]

2014-08-04  Olivier Hainque  <hainque@adacore.com>

* a-comutr.ads: Set Root_Node_Type'Alignment to
Standard'Maximum_Alignment, so that it is at least as large as
the max default for Tree_Node_Type'Alignment.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch3.adb (Freeze_Type): Remove the generation and inheritance
of the default initial condition procedure [body].
* sem_ch3.adb (Analyze_Declarations): Create the bodies of
all default initial condition procedures at the end of private
declaration analysis.
* sem_util.adb (Build_Default_Init_Cond_Procedure_Bodies): New
routine.
(Build_Default_Init_Cond_Procedure_Body): Merged in the
processing of routine Build_Default_Init_Cond_Procedure_Bodies.
* sem_util.ads (Build_Default_Init_Cond_Procedure_Bodies):
New routine.
(Build_Default_Init_Cond_Procedure_Body): Removed.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_elab.adb (Check_Elab_Call): Do not check a call to a
postcondtion.
* exp_ch6.adb (Expand_Call): Clarify handling of inserted
postcondition call.

From-SVN: r213580

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 12:51:00 +0000 (14:51 +0200)]
[multiple changes]

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_prag.adb (Analyze_Pragma): Ensure that an
internally generated spec for a stand alone body is recognized
as a proper context for pragma SPARK_Mode.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* erroutc.adb (Delete_Msg): Do not decrement Warnings_Treated_As_Errors.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

* adabkend.adb (Scan_Back_End_Switches): Ignore extra -o
when -gnatO has already been specified, for compatibility
with gcc driver.
(Scan_Compiler_Args): Do not call Set_Output_Object_File_Name in
codepeer mode.
* g-expect.ads: Fix typo.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb (Insert_Dereference_Action): the actual Size
must account for the bounds template if the designated type is
an unconstrained array.

From-SVN: r213579

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
Hristian Kirtchev [Mon, 4 Aug 2014 12:49:23 +0000 (12:49 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb Add
SPARK_Mode in the body.
* sem_ch7.adb (Analyze_Package_Body_Helper): Restore the original
way to verify the consistency of SPARK_Mode between a spec and
a body.
* sem_ch12.adb (Analyze_Package_Instantiation): Remove the call
to Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
manually.
(Analyze_Subprogram_Instantiation): Remove the call to
Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
manually.
* sem_prag.adb (Analyze_Pragma): Remove local variable
Inst_Id. SPARK_Mode can no longer be applied to a package or
subprogram instantiation.
* sem_util.adb, sem_util.ads (Set_Ignore_Pragma_SPARK_Mode):
Removed.

From-SVN: r213578

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 12:47:56 +0000 (14:47 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb, osint.adb, osint.ads: Minor reformatting.

2014-08-04  Yannick Moy  <moy@adacore.com>

* sem_ch3.adb (Derive_Type_Declaration,
Process_Discriminants): Remove SPARK-specific legality checks.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

* g-sechas.ads, g-sechas.adb (HMAC_Initial_Context): New subprogram.
* gnat_rm.texi (GNAT.MD5/SHA1/SHA224/SHA256/SHA512): Document support
for HMAC.

From-SVN: r213577

10 years agosem_ch7.adb (Analyze_Package_Body_Helper): When verifying the compatibility of SPARK_...
Hristian Kirtchev [Mon, 4 Aug 2014 12:45:12 +0000 (12:45 +0000)]
sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the compatibility of SPARK_Mode between a spec and a body...

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the
compatibility of SPARK_Mode between a spec and a body, use the
SPARK_Mode of the public part.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Use
the already available routine to exchange the aspects between
the template and its copy. Analyze the aspects of copy to
ensure that the corresponding pragmas perform their semantic
effects.  The partial analysis of aspects is no longer needed.
(Analyze_Package_Instantiation): Save and restore the SPARK_Mode
of the context.
(Analyze_Subprogram_Instantiation): Save and restore the SPARK_Mode of
the context.
* sem_prag.adb (Analyze_Pragma): Do not bypass a subprogram
instantiation which does not come from source.

From-SVN: r213576

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 12:42:52 +0000 (14:42 +0200)]
[multiple changes]

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* a-cfhama.ads, a-cfhase.ads, a-cforma.ads, a-cforse.ads Add
SPARK_Mode pragmas to the public and private part of the unit.
* sem_ch3.adb (Derive_Type_Declaration): Ensure that a derived
type cannot have discriminants if the parent type already has
discriminants.
(Process_Discriminants): Ensure that the type of a discriminant is
discrete.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The check on
SPARK_Mode compatibility between a spec and a body can now be
safely performed while processing a generic.
* sem_ch7.adb (Analyze_Package_Body_Helper): The check on
SPARK_Mode compatibility between a spec and a body can now be
safely performed while processing a generic.
* sem_prag.adb (Analyze_Pragma): Pragma SPARK_Mode can now be
safely analyzed when processing a generic.

2014-08-04  Nicolas Roche  <roche@adacore.com>

* g-dirope.adb: Minor reformating.

From-SVN: r213575

10 years agoIPA C++ refactoring 3/N
Martin Liska [Mon, 4 Aug 2014 11:56:50 +0000 (13:56 +0200)]
IPA C++ refactoring 3/N

* cgraph.h (csi_end_p): Removed.
(csi_next): Likewise.
(csi_node): Likewise.
(csi_start): Likewise.
(cgraph_node_in_set_p): Likewise.
(cgraph_node_set_size): Likewise.
(vsi_end_p): Likewise.
(vsi_next): Likewise.
(vsi_node): Likewise.
(vsi_start): Likewise.
(varpool_node_set_size): Likewise.
(cgraph_node_set_nonempty_p): Likewise.
(varpool_node_set_nonempty_p): Likewise.
* cgraphunit.c (cgraph_process_new_functions): vec replaces
cgraph_node_set.
* ipa-inline-transform.c: Likewise.
* ipa-utils.c (cgraph_node_set_new): Removed.
(cgraph_node_set_add): Likewise.
(cgraph_node_set_remove): Likewise.
(cgraph_node_set_find): Likewise.
(dump_cgraph_node_set): Likewise.
(debug_cgraph_node_set): Likewise.
(free_cgraph_node_set): Likewise.
(varpool_node_set_new): Likewise.
(varpool_node_set_add): Likewise.
(varpool_node_set_remove): Likewise.
(varpool_node_set_find): Likewise.
(dump_varpool_node_set): Likewise.
(free_varpool_node_set): Likewise.
(debug_varpool_node_set): Likewise.
* tree-emutls.c (struct tls_var_data):
(emutls_index): Removed.
(emutls_decl): Likewise.
(gen_emutls_addr): Function implementation uses newly added
hash_map<varpool_node *, tls_var_data>.
(clear_access_vars): Likewise.
(create_emultls_var): Likewise.
(ipa_lower_emutls): Likewise.
(reset_access): New function.

From-SVN: r213573

10 years agoAdd MOVBE and RDRND for AMD bdver4
Ganesh Gopalasubramanian [Mon, 4 Aug 2014 11:25:04 +0000 (11:25 +0000)]
Add MOVBE and RDRND for AMD bdver4

From-SVN: r213572

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 10:57:32 +0000 (12:57 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_ch6.adb: Minor reformatting.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Analyze_Pragma, case Assert and related pragmas):
Before normalizing these pragmas into a pragma Check, preanalyze
the optional Message argument, (which is subsequently copied)
so that it has the proper semantic information for ASIS use.
* sem_case.adb: Initialize flag earlier.
* osint.adb, osint.ads (Find_File): Add parameter Full_Name, used when
the full source path of a configuration file is requested.
(Read_Source_File): Use Full_Name parameter..

From-SVN: r213571

10 years ago2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
Hristian Kirtchev [Mon, 4 Aug 2014 10:55:30 +0000 (10:55 +0000)]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* opt.ads Alphabetize various global flags. New flag
Ignore_Pragma_SPARK_Mode along with a comment on usage.
* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
Pragma SPARK_Mode is now allowed in generic units.
(Analyze_Subprogram_Body_Helper): Do not verify the compatibility
between the SPARK_Mode of a spec and that of a body when inside
a generic.
* sem_ch7.adb (Analyze_Package_Body_Helper): Do not verify the
compatibility between the SPARK_Mode of a spec and that of a
body when inside a generic.
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration):
Pragma SPARK_Mode is now allowed in generic units.
(Analyze_Package_Instantiation): Save and restore the value of
flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
the governing SPARK_Mode before analyzing the instance.
(Analyze_Subprogram_Instantiation): Save and restore the value
of flag Ignore_ Pragma_SPARK_Mode in a stack-like fasion. Set
the governing SPARK_Mode before analyzing the instance.
* sem_ch13.adb (Analyze_Aspect_Specifications): Emulate the
placement of a source pragma when inserting the generated pragma
for aspect SPARK_Mode.
* sem_prag.adb (Analyze_Pragma): Reimplement the handling of
pragma SPARK_Mode to allow for generics and their respective
instantiations.
* sem_util.ads, sem_util.adb (Check_SPARK_Mode_In_Generic): Removed.
(Set_Ignore_Pragma_SPARK_Mode): New routine.

From-SVN: r213570

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 10:54:14 +0000 (12:54 +0200)]
[multiple changes]

2014-08-04  Eric Botcazou  <ebotcazou@adacore.com>

        * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Component>: Deal with
        renaming discriminants in tagged types first.
        * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Test
        the underlying type of the prefix.
        (Pragma_to_gnu, case Pragma_Warning): Ignore Reason => "..."
        (process_freeze_entity): Reset the nodes of
        all the view of a type, if any.

2014-08-04  Doug Rupp  <rupp@adacore.com>
    Olivier Hainque  <hainque@adacore.com>

        * gcc-interface/Makefile.in (x86 VxWorks): Add filter-out for vxworks7
and remove incorrect EH_MECHANISM macros.
        Add sigtramp.h to EXTRA_LIBGNAT_SRCS when we add sigtramp-vxworks.o to
EXTRA_LIBGNAT_OBJS.

From-SVN: r213569

10 years agoexp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix of constructed 'Valid...
Robert Dewar [Mon, 4 Aug 2014 10:46:25 +0000 (10:46 +0000)]
exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix of constructed 'Valid attribute in -gnatVa mode does not...

2014-08-04  Robert Dewar  <dewar@adacore.com>

* exp_attr.adb (Expand_N_Attribute_Reference): Make sure prefix
of constructed 'Valid attribute in -gnatVa mode does not appear
to come from source.
* sem_attr.adb (Analyze_Access_Attribute): Don't set
Never_Set_In_Source for non-source reference.
* sem_util.adb: Minor reformatting.
* sem_warn.adb (Check_References): Don't check Address_Taken,
not necessary, see comment.

From-SVN: r213568

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 10:45:30 +0000 (12:45 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

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

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch9.adb (Extract_Entry): If the synchronized object is a
limited view, replace with non-limited view, which is available
at the point of an entry call.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* exp_ch6.adb (Expand_Call): If the call is to a function in
a run-time unit that is marked Inline_Always, we must suppress
debugging information on it, so that the code that is eventually
inlined will not affect debugging of the user program.

From-SVN: r213567

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 10:43:41 +0000 (12:43 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* inline.adb, einfo.ads, s-tassta.adb, s-tarest.adb: Minor comment
fixes.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Process_Import_Or_Interface): Handle properly
an aspect Import that specifies a False value.

2014-08-04  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Add section on aspect Invariant'Class.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_case.adb (Check_Choice_Set): New flag Predicate_Error,
for better control of cascaded error messages when some choice
in a case statement over a predicated type violates the given
static predicate.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch3.adb (Build_Derived_Type): Modify the
inheritance of the rep chain to ensure that a non-tagged type's
items are not clobbered during the inheritance.

From-SVN: r213566

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 10:41:40 +0000 (12:41 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* sem_ch3.adb, einfo.ads: Minor reformatting.

2014-08-04  Yannick Moy  <moy@adacore.com>

* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Fix
detection of subprograms that cannot be inlined in GNATprove mode.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* einfo.adb: Add guard to Returns_Limited_View.

2014-08-04  Jose Ruiz  <ruiz@adacore.com>

* s-tassta.adb, s-tarest.adb (Task_Wrapper): Force maximum alignment of
the secondary stack to respect the alignments of the returned objects.

From-SVN: r213565

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 10:39:54 +0000 (12:39 +0200)]
[multiple changes]

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* einfo.ads, einfo.adb (Returns_Limited_View): New flag defined
on function entities whose return type is a limited view.
* freeze.adb (Freeze_Entity): Use Returns_Limited_View to determine
where to place the freeze node for a function that returns the
limited view of a type, when the function is called and frozen
in a different unit.

2014-08-04  Eric Botcazou  <ebotcazou@adacore.com>

* sem_ch3.adb (Build_Derived_Private_Type): Minor code
refactoring.

From-SVN: r213564

10 years ago[multiple changes]
Arnaud Charlet [Mon, 4 Aug 2014 10:22:32 +0000 (12:22 +0200)]
[multiple changes]

2014-08-04  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Clarify documentation on assertions.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate, Get_Value): Warn
if a component association has a box initialization when the
component type has no default initialization, either through an
initial value, an aspect, or an implicit initialization procedure.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

* freeze.adb: Code clean up.

From-SVN: r213563