Jason Merrill [Tue, 17 Jun 2014 23:09:20 +0000 (19:09 -0400)]
re PR c++/60605 (incorrect diagosis of default template argument for function declaration inside class template member function)
PR c++/60605
* pt.c (check_default_tmpl_args): Check DECL_LOCAL_FUNCTION_P.
From-SVN: r211754
Tobias Burnus [Tue, 17 Jun 2014 20:54:14 +0000 (22:54 +0200)]
check.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET.
gcc/fortran/
2014-06-17 Tobias Burnus <burnus@net-b.de>
* check.c (gfc_check_atomic, gfc_check_atomic_def):
Use argument for GFC_ISYM_CAF_GET.
* resolve.c (resolve_variable): Enable CAF_GET insertion.
(resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
(resolve_ordinary_assign): Enable CAF_SEND insertion.
* trans-const.c (gfc_build_string_const,
gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
* trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
gfor_fndecl_caf_sendget): New global variables.
(gfc_build_builtin_function_decls): Initialize them;
update co_min/max/sum initialization.
* trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
get_tree_for_caf_expr and removed static.
(gfc_conv_procedure_call): Update call.
* trans-intrinsic.c (caf_get_image_index,
conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
get_caf_token_offset, gfc_conv_intrinsic_caf_get,
conv_caf_send): New.
(gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
(conv_co_minmaxsum): Update call for remove unused vector
subscript.
(conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
Skip a CAF_GET of the argument.
* trans-types.c (gfc_get_caf_vector_type): New.
* trans-types.h (gfc_get_caf_vector_type): New.
* trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
gfor_fndecl_caf_sendget): New global variables.
(gfc_get_tree_for_caf_expr): New prototypes.
libgfortran/
2014-06-17 Tobias Burnus <burnus@net-b.de>
* caf/libcaf.h (gfc_descriptor_t): New typedef.
(caf_vector_t): Update.
(_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
Remove vector-subscript argument.
(_gfortran_caf_co_send, _gfortran_caf_co_get,
_gfortran_caf_co_sendget): New.
* caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
_gfortran_caf_co_min): Remove vector-subscript argument.
(_gfortran_caf_co_send, _gfortran_caf_co_get,
_gfortran_caf_co_sendget): New.
gcc/testsuite/
2014-06-17 Tobias Burnus <burnus@net-b.de>
Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
* gfortran.dg/coarray/send_array.f90: New.
* gfortran.dg/coarray/get_array.f90: New.
* gfortran.dg/coarray/sendget_array.f90: New.
* gfortran.dg/coarray/collectives_1.f90: Correct subroutine
names.
* gfortran.dg/coarray/collectives_2.f90: New.
Co-Authored-By: Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
From-SVN: r211748
Kai Tietz [Tue, 17 Jun 2014 20:43:18 +0000 (22:43 +0200)]
Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.
* Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.
* configure.ac (ACX_LT_HOST_FLAGS): New.
(target_thread_file): New.
* configure.tgt (mingw): Add mingw support.
* config/mingw/host-config.h: New file.
* config/mingw/lock.c: Likewise.
* Makefile.in: Regenerated.
* configure: Likewise.
* aclocal.m4: Likewise.
* testsuite/Makefile.in: Likewise.
From-SVN: r211747
Xinliang David Li [Tue, 17 Jun 2014 20:39:55 +0000 (20:39 +0000)]
Fix dot dump bug
From-SVN: r211746
Rainer Orth [Tue, 17 Jun 2014 13:58:11 +0000 (13:58 +0000)]
Compile gcc.target/i386/fuse-caller-save.c with -fomit-frame-pointer (PR target/61533)
PR target/61533
* gcc.target/i386/fuse-caller-save.c: Add -fomit-frame-pointer to
dg-options.
From-SVN: r211740
Richard Biener [Tue, 17 Jun 2014 13:15:53 +0000 (13:15 +0000)]
genopinit.c (main): Use vec<>::qsort method.
2014-06-17 Richard Biener <rguenther@suse.de>
* genopinit.c (main): Use vec<>::qsort method.
* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
Likewise.
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.
From-SVN: r211738
Matthew Fortune [Tue, 17 Jun 2014 12:46:47 +0000 (12:46 +0000)]
Clean up ST_REGS handling in the MIPS backend.
gcc/
* config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
* config/mips/mips.c (mips_expand_fcc_reload): Remove.
(mips_move_to_gpr_cost): Remove ST_REGS case.
(mips_move_from_gpr_cost): Likewise.
(mips_register_move_cost): Likewise.
(mips_secondary_reload_class): Likewise.
From-SVN: r211737
Richard Biener [Tue, 17 Jun 2014 12:36:34 +0000 (12:36 +0000)]
passes.def (pass_all_early_optimizations): Remove copy-prop pass.
2014-06-17 Richard Biener <rguenther@suse.de>
* passes.def (pass_all_early_optimizations): Remove copy-prop pass.
(pass_all_optimizations): Move 3rd copy-prop pass from after
fre to before ifcombine/phiopt.
From-SVN: r211736
Richard Biener [Tue, 17 Jun 2014 12:34:49 +0000 (12:34 +0000)]
tree-switch-conversion.c (collect_switch_conv_info): Simplify and allow all blocks to be forwarders.
2014-06-17 Richard Biener <rguenther@suse.de>
* tree-switch-conversion.c (collect_switch_conv_info): Simplify
and allow all blocks to be forwarders.
From-SVN: r211735
Uros Bizjak [Tue, 17 Jun 2014 12:30:54 +0000 (14:30 +0200)]
pr61335.f90 (cp_unit_create): Initialize unit_id and kind_id to zero.
* gfortran.dg/pr61335.f90 (cp_unit_create): Initialize
unit_id and kind_id to zero.
From-SVN: r211734
Yufeng Zhang [Tue, 17 Jun 2014 09:39:22 +0000 (09:39 +0000)]
re PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field of va_list for incoming unnamed arguments on the stack)
gcc/
PR target/61483
* config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
variable 'size'; calculate 'size' right in the front; use
'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
pcum->aapcs_stack_words.
gcc/testsuite/
PR target/61483
* gcc.target/aarch64/aapcs64/type-def.h (struct hfa_fx2_t): New type.
* gcc.target/aarch64/aapcs64/va_arg-13.c: New test.
* gcc.target/aarch64/aapcs64/va_arg-14.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-15.c: Ditto.
From-SVN: r211733
Nick Clifton [Tue, 17 Jun 2014 09:33:47 +0000 (09:33 +0000)]
msp430.md (mulhisi3): Add a NOP after the DINT.
* config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
(umulhi3, mulsidi3, umulsidi3): Likewise.
From-SVN: r211730
Richard Biener [Tue, 17 Jun 2014 09:07:41 +0000 (09:07 +0000)]
re PR lto/61012 (lto1: errors during merging of translation units (error: variable ‘link’ redeclared as function))
2014-06-17 Richard Biener <rguenther@suse.de>
PR lto/61012
* gcc.dg/lto/pr61526_0.c: New testcase.
* gcc.dg/lto/pr61526_1.c: Likewise.
From-SVN: r211728
Thomas Schwinge [Tue, 17 Jun 2014 09:02:52 +0000 (11:02 +0200)]
[PR middle-end/61508] fold-const.c:14863:55: error: cannot convert 'const char*' to 'const_tree
gcc/
* fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
check for section name.
From-SVN: r211727
Richard Biener [Tue, 17 Jun 2014 07:42:47 +0000 (07:42 +0000)]
tree-ssa-propagate.c: Include domwalk.h.
2014-06-17 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c: Include domwalk.h.
(substitute_and_fold): Outline main worker into a domwalker ...
(substitute_and_fold_dom_walker::before_dom_children): ... here.
Schedule stmts we can fully propagate for removal. Remove
poor-mans DCE.
(substitute_and_fold): Apply a dominator walk to perform
substitution. Process stmts scheduled for removal here.
* gcc.dg/tree-ssa/
20041122-1.c: Adjust.
* gcc.dg/tree-ssa/forwprop-21.c: Likewise.
* gcc.dg/tree-ssa/vrp35.c: Revert previous adjustments.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/vect/nodump-forwprop-22.c: Adjust.
From-SVN: r211725
Richard Biener [Tue, 17 Jun 2014 07:37:24 +0000 (07:37 +0000)]
tree-ssa-loop-im.c (determine_max_movement): Adjust cost of PHI node moving.
2014-06-17 Richard Biener <rguenther@suse.de>
* tree-ssa-loop-im.c (determine_max_movement): Adjust cost
of PHI node moving.
* gcc.dg/tree-ssa/ssa-lim-12.c: New testcase.
From-SVN: r211724
Richard Sandiford [Tue, 17 Jun 2014 03:55:59 +0000 (03:55 +0000)]
Rotate ChangeLog for 2013.
From-SVN: r211722
Janne Blomqvist [Tue, 17 Jun 2014 03:50:34 +0000 (06:50 +0300)]
Introduce xmallocarray, an overflow checking variant of xmalloc.
2014-06-17 Janne Blomqvist <jb@gcc.gnu.org>
* libgfortran.h (xmallocarray): New prototype.
* runtime/memory.c (xmallocarray): New function.
(xcalloc): Check for nonzero separately instead of multiplying.
* generated/*.c: Regenerated.
* intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
xmalloc.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* intrinsics/pack_generic.c (pack_internal): Likewise.
(pack_s_internal): Likewise.
* intrinsics/reshape_generic.c (reshape_internal): Likewise.
* intrinsics/spread_generic.c (spread_internal): Likewise.
(spread_internal_scalar): Likewise.
* intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
(string_minmax): Likewise.
* intrinsics/transpose_generic.c (transpose_internal): Likewise.
* intrinsics/unpack_generic.c (unpack_internal): Likewise.
* io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
* io/transfer.c (st_set_nml_var): Call xmallocarray instead of
xmalloc.
* io/unit.c (get_internal_unit): Likewise.
(filename_from_unit): Don't cast xmalloc return value.
* io/write.c (nml_write_obj): Likewise, formatting.
* m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
instead of xmalloc.
(besse_yn_r'rtype_kind`): Likewise.
* m4/cshift1.m4 (cshift1): Likewise.
* m4/eoshift1.m4 (eoshift1): Likewise.
* m4/eoshift3.m4 (eoshift3): Likewise.
* m4/iforeach.m4: Likewise.
* m4/ifunction.m4: Likewise.
* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
Likewise.
* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
* m4/pack.m4 (pack_'rtype_code`): Likewise.
* m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
* m4/shape.m4 (shape_'rtype_kind`): Likewise.
* m4/spread.m4 (spread_'rtype_code`): Likewise.
(spread_scalar_'rtype_code`): Likewise.
* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
(unpack1_'rtype_code`): Likewise.
* runtime/convert_char.c (convert_char1_to_char4): Likewise.
(convert_char4_to_char1): Simplify.
* runtime/environ.c (init_unformatted): Call xmallocarray instead
of xmalloc.
* runtime/in_pack_generic.c (internal_pack): Likewise.
From-SVN: r211721
GCC Administrator [Tue, 17 Jun 2014 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r211720
Kugan Vivekanandarajah [Tue, 17 Jun 2014 00:00:59 +0000 (00:00 +0000)]
arm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
gcc/
2014-06-17 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/arm/arm.c (arm_atomic_assign_expand_fenv): call
default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
__builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
* config/arm/vfp.md (set_fpscr): Make pattern conditional on
TARGET_HARD_FLOAT.
(get_fpscr) : Likewise.
From-SVN: r211717
Vladimir Makarov [Mon, 16 Jun 2014 21:39:42 +0000 (21:39 +0000)]
re PR rtl-optimization/61325 (aarch64_be build fails)
2014-06-16 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61325
* lra-constraints.c (valid_address_p): Add forward declaration.
(simplify_operand_subreg): Check address validity before and after
alter_reg of memory subreg.
From-SVN: r211715
Uros Bizjak [Mon, 16 Jun 2014 20:45:25 +0000 (22:45 +0200)]
i386.c (decide_alg): Correctly handle maximum size of stringop algorithm.
* config/i386/i386.c (decide_alg): Correctly handle
maximum size of stringop algorithm.
From-SVN: r211714
Yury Gribov [Mon, 16 Jun 2014 18:31:22 +0000 (18:31 +0000)]
asan.c (build_check_stmt): Fix maybe-uninitialized warning.
2014-06-16 Yury Gribov <y.gribov@samsung.com>
* asan.c (build_check_stmt): Fix maybe-uninitialized warning.
From-SVN: r211713
Vladimir Makarov [Mon, 16 Jun 2014 15:55:03 +0000 (15:55 +0000)]
re PR rtl-optimization/61522 (ICE while building libgcc in LRA)
2014-06-16 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61522
* lra-assigns.c (assign_by_spills): Check null
targetm.spill_class.
From-SVN: r211711
Jan Hubicka [Mon, 16 Jun 2014 15:02:34 +0000 (17:02 +0200)]
revert: symtab.c (symtab_node::reset_section): New method.
Revert:
* symtab.c (symtab_node::reset_section): New method.
* cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
for localization.
* cgraph.h (reset_section): Declare.
* ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
do not consider comdat locals.
* cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
for new symbol.
* ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
(update_visibility_by_resolution_info): Consider UNDEF; fix checking;
reset sections of symbols dragged out of the comdats.
(function_and_variable_visibility): Reset sections of localized symbols.
From-SVN: r211710
Richard Biener [Mon, 16 Jun 2014 14:21:53 +0000 (14:21 +0000)]
re PR tree-optimization/61482 (ICE in set_value_range, at tree-vrp.c:453 when compiling Firefox ESR 24)
2014-06-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/61482
* tree-vrp.c (adjust_range_with_scev): Avoid setting of
[-INF(OVF), +INF(OVF)] range.
* g++.dg/torture/pr61482.C: New testcase.
From-SVN: r211709
Andreas Schwab [Mon, 16 Jun 2014 13:22:53 +0000 (13:22 +0000)]
Remove conflict marker
From-SVN: r211708
Marek Polacek [Mon, 16 Jun 2014 12:38:07 +0000 (12:38 +0000)]
re PR c/60439 (No warning for case overflow in switch statement.)
PR c/60439
* c.opt (Wswitch-bool): Add Var.
From-SVN: r211707
Jason Merrill [Mon, 16 Jun 2014 12:19:30 +0000 (08:19 -0400)]
tweak changelog date
From-SVN: r211706
Jason Merrill [Mon, 16 Jun 2014 11:50:22 +0000 (07:50 -0400)]
* g++.dg/abi/layout4.C: Remove.
From-SVN: r211705
Jason Merrill [Mon, 16 Jun 2014 11:50:14 +0000 (07:50 -0400)]
re PR c++/61488 (Regression in template argument substitution in 4.9+)
PR c++/61488
* pt.c (check_valid_ptrmem_cst_expr): Fix for template context.
From-SVN: r211704
Jason Merrill [Mon, 16 Jun 2014 11:45:37 +0000 (07:45 -0400)]
re PR c++/61500 ([C++11] Can't take pointer to member referenced via member pointer template parameter.)
PR c++/61500
* tree.c (lvalue_kind): Handle MEMBER_REF and DOTSTAR_EXPR.
From-SVN: r211703
Ganesh Gopalasubramanian [Mon, 16 Jun 2014 11:02:31 +0000 (11:02 +0000)]
Remove vpmacsdql instruction from multiplication
From-SVN: r211702
Chung-Lin Tang [Mon, 16 Jun 2014 09:58:34 +0000 (09:58 +0000)]
re PR middle-end/61430 (ICE in lra_create_copy)
2014-06-16 Chung-Lin Tang <cltang@codesourcery.com>
PR middle-end/61430
* lra-lives.c (process_bb_lives): Skip creating copy during
insn scan when src/dest has constrained to same regno.
From-SVN: r211701
Jan Hubicka [Mon, 16 Jun 2014 09:25:26 +0000 (11:25 +0200)]
tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
From-SVN: r211700
Yury Gribov [Mon, 16 Jun 2014 08:43:47 +0000 (08:43 +0000)]
New asan-instrumentation-with-call-threshold parameter.
2014-06-16 Yury Gribov <y.gribov@samsung.com>
New asan-instrumentation-with-call-threshold parameter.
gcc/
* asan.c (check_func): New function.
(maybe_create_ssa_name): Likewise.
(build_check_stmt_with_calls): Likewise.
(use_calls_p): Likewise.
(report_error_func): Change interface.
(build_check_stmt): Allow non-integer lengths; add support
for new parameter.
(asan_instrument): Likewise.
(instrument_mem_region_access): Moved code to
build_check_stmt.
(instrument_derefs): Likewise.
(instrument_strlen_call): Likewise.
* cfgcleanup.c (old_insns_match_p): Add support for new
functions.
* doc/invoke.texi: Describe new parameter.
* params.def: Define new parameter.
* params.h: Likewise.
* sanitizer.def: Describe new builtins.
gcc/testsuite/
* c-c++-common/asan/instrument-with-calls-1.c: New test.
* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
* c-c++-common/asan/instrument-with-calls-3.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c: Update
test patterns.
* c-c++-common/asan/no-redundant-instrumentation-2.c:
Likewise.
* c-c++-common/asan/no-redundant-instrumentation-4.c:
Likewise.
* c-c++-common/asan/no-redundant-instrumentation-5.c:
Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c:
Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c:
Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c:
Likewise.
From-SVN: r211699
Richard Biener [Mon, 16 Jun 2014 08:16:01 +0000 (08:16 +0000)]
tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Make all defs available at the end.
2014-06-16 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Make all defs available at the end.
(eliminate): If we remove a PHI node schedule cfg-cleanup.
From-SVN: r211698
Jakub Jelinek [Mon, 16 Jun 2014 08:12:40 +0000 (10:12 +0200)]
re PR plugins/45078 (config/vxworks-dummy.h not installed as a plugin header on some archs)
PR plugins/45078
* config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
From-SVN: r211696
Eric Botcazou [Mon, 16 Jun 2014 08:08:52 +0000 (08:08 +0000)]
Minor tweaks
From-SVN: r211695
Richard Sandiford [Mon, 16 Jun 2014 07:40:17 +0000 (07:40 +0000)]
re PR regression/61516 (build fails on auto-inc-dec.c or libgcc2.c with obvious patch)
gcc/
PR bootstrap/61516
* auto-inc-dec.c (merge_in_block): Fix location of insn_info
initialization. Replace remaining use of uid.
From-SVN: r211694
Jan Hubicka [Mon, 16 Jun 2014 01:15:09 +0000 (03:15 +0200)]
* decl.c (grokvardecl): Fix pasto in previous patch.
From-SVN: r211693
GCC Administrator [Mon, 16 Jun 2014 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r211692
Jan Hubicka [Sun, 15 Jun 2014 23:38:29 +0000 (01:38 +0200)]
c-common.c (handle_tls_model_attribute): Use set_decl_tls_model.
* c-family/c-common.c (handle_tls_model_attribute): Use set_decl_tls_model.
* cgraph.h (struct varpool_node): Add tls_model.
* tree.c (decl_tls_model, set_decl_tls_model): New functions.
* tree.h (DECL_TLS_MODEL): Update.
(DECL_THREAD_LOCAL_P): Check that variable is static.
(decl_tls_model): Declare.
(set_decl_tls_model): Declare.
* tree-emutls.c (get_emutls_init_templ_addr): First build decl and then
set symbol prorperties.
(get_emutls_init_templ_addr): Cleanup.
(new_emutls_decl): Update.
* lto-cgraph.c (lto_output_varpool_node): Stream TLS model
(lto_input_varpool_node): Likewise.
* lto-streamer-out.c (hash_tree): Likewise.
* tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
not stream DECL_TLS_MODEL.
* tree-profile.c (init_ic_make_global_vars): Use
set_decl_tls_model.
* tree-core.h (tree_decl_with_vis): Remove tls_model;
update comments.
* c-parser.c (c_parser_omp_threadprivate): Likewise.
* c-decl.c (merge_decls): Likewise.
* decl.c (duplicate_decls): Use set_decl_tls_model.
(grokdeclarator): Likewise.
* semantics.c (finish_id_expression): Check TLS only for
static variables.
(finish_omp_threadprivate): Use decl_default_tls_model.
* decl2.c (get_guard): Likewise.
* call.c (make_temporary_var_for_ref_to_temp): Likewise.
* gcc-interface/utils.c (process_attributes): Use
set_decl_tls_model.
* trans-common.c (build_common_decl): Use
set_decl_tls_model.
* trans-decl.c (gfc_finish_var_decl): Likewise.
(get_proc_pointer_decl): Likewise.
* lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL.
From-SVN: r211689
Francois-Xavier Coudert [Sun, 15 Jun 2014 16:58:53 +0000 (16:58 +0000)]
re PR fortran/28484 ([F03] system_clock with real-type count_rate does not compile)
PR fortran/28484
PR fortran/61429
* check.c (gfc_check_system_clock): Improve checking of arguments.
* intrinsic.texi: Update doc of SYSTEM_CLOCK.
* iresolve.c (gfc_resolve_system_clock): Choose library function
used depending on argument kinds.
* trans-decl.c (gfc_build_intrinsic_function_decls): Build
decls for system_clock_4 and system_clock_8.
* trans-intrinsic.c (conv_intrinsic_system_clock): New function.
(gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock.
* trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8):
New variables.
* gfortran.dg/system_clock_1.f90: New file.
* gfortran.dg/system_clock_2.f90: New file.
From-SVN: r211686
Francois-Xavier Coudert [Sun, 15 Jun 2014 09:44:04 +0000 (09:44 +0000)]
re PR libfortran/60468 (./fpu-target.h:93:3: error: unknown type name 'choke')
PR libfortran/60468
* configure.ac: Include <math.h> when checking for
fp_except_t and fp_rnd_t types.
* configure: Regenerate.
From-SVN: r211685
Richard Sandiford [Sun, 15 Jun 2014 07:39:38 +0000 (07:39 +0000)]
df.h (DF_REF_REG_USE_P, [...]): Remove null checks.
gcc/
* df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.
From-SVN: r211684
Richard Sandiford [Sun, 15 Jun 2014 07:39:30 +0000 (07:39 +0000)]
df.h (df_mw_hardreg, [...]): Add a link pointer.
gcc/
* df.h (df_mw_hardreg, df_base_ref): Add a link pointer.
(df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked
lists.
(df_scan_bb_info): Likewise artificial_defs and artificial_uses.
(DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros.
(FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE)
(FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW)
(FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF)
(df_get_artificial_defs, df_get_artificial_uses)
(df_single_def, df_single_use): Update accordingly.
(df_refs_chain_dump): Take the first element in a linked list as
parameter, rather than a pointer to an array of pointers.
* df-core.c (df_refs_chain_dump, df_mws_dump): Likewise.
* df-problems.c (df_rd_bb_local_compute_process_def): Likewise.
(df_chain_create_bb_process_use): Likewise.
(df_md_bb_local_compute_process_def): Likewise.
* fwprop.c (process_defs, process_uses): Likewise.
(register_active_defs, update_uses): Likewise.
(forward_propagate_asm): Update for new df_ref linking.
* df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete.
(df_null_ref_rec, df_null_mw_rec): Likewise.
(df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists
explicitly.
(df_scan_free_bb_info): Remove check for null artificial_defs.
(df_install_ref_incremental): Adjust for new df_ref linking.
Use a single-element insertion rather than a full sort.
(df_ref_chain_delete_du_chain): Take the first element
in a linked list as parameter, rather than a pointer to an array of
pointers.
(df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise.
(df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise.
(df_insn_info_delete): Remove check for null defs and call to
df_scan_free_mws_vec.
(df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to
null rather than df_null_*_rec.
(df_insn_rescan_debug_internal): Likewise, and update null
checks in the same way. Remove check for null defs.
(df_ref_change_reg_with_loc_1): Fix choice of list for defs.
Move a single element rather doing a full sort.
(df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg
linking.
(df_notes_rescan): Likewise. Use a merge rather than a full sort.
Initialize df_ref and df_mw_hardreg lists to null rather than
df_null_*_rec.
(df_ref_compare): Take df_refs as parameter, transferring the
old interface to...
(df_ref_ptr_compare): ...this new function.
(df_sort_and_compress_refs): Update accordingly.
(df_mw_compare): Take df_mw_hardregs as parameter, transferring the
old interface to...
(df_mw_ptr_compare): ...this new function.
(df_sort_and_compress_mws): Update accordingly.
(df_install_refs, df_install_mws): Return a linked list rather than
an array of pointers.
(df_refs_add_to_chains): Assert that old lists are empty rather
than freeing them.
(df_insn_refs_verify): Don't handle null defs speciailly.
* web.c (union_match_dups): Update for new df_ref linking.
From-SVN: r211683
Richard Sandiford [Sun, 15 Jun 2014 07:33:13 +0000 (07:33 +0000)]
df.h (df_ref_create, [...]): Delete.
gcc/
* df.h (df_ref_create, df_ref_remove): Delete.
* df-scan.c (df_ref_create, df_ref_compress_rec): Likewise.
(df_ref_remove): Likewise.
From-SVN: r211682
Richard Sandiford [Sun, 15 Jun 2014 07:33:04 +0000 (07:33 +0000)]
df.h (df_single_def, [...]): New functions.
gcc/
* df.h (df_single_def, df_single_use): New functions.
* ira.c (find_moveable_pseudos): Use them.
From-SVN: r211681
Richard Sandiford [Sun, 15 Jun 2014 07:32:54 +0000 (07:32 +0000)]
df.h (FOR_EACH_INSN_INFO_MW): New macro.
gcc/
* df.h (FOR_EACH_INSN_INFO_MW): New macro.
* df-problems.c (df_note_bb_compute): Use it.
* regstat.c (regstat_bb_compute_ri): Likewise.
From-SVN: r211680
Richard Sandiford [Sun, 15 Jun 2014 07:32:43 +0000 (07:32 +0000)]
df.h (FOR_EACH_ARTIFICIAL_USE, [...]): New macros.
gcc/
* df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros.
* cse.c (cse_extended_basic_block): Use them.
* dce.c (mark_artificial_use): Likewise.
* df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise.
(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
(df_chain_remove_problem, df_chain_bb_dump): Likewise.
(df_word_lr_bb_local_compute, df_note_bb_compute): Likewise.
(df_simulate_initialize_backwards): Likewise.
(df_simulate_finalize_backwards): Likewise.
(df_simulate_initialize_forwards): Likewise.
(df_md_simulate_artificial_defs_at_top): Likewise.
* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
* regrename.c (init_rename_info): Likewise.
* regstat.c (regstat_bb_compute_ri): Likewise.
(regstat_bb_compute_calls_crossed): Likewise.
From-SVN: r211679
Richard Sandiford [Sun, 15 Jun 2014 07:32:28 +0000 (07:32 +0000)]
df.h (DF_INSN_INFO_MWS, [...]): New macros.
gcc/
* df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros.
(FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise.
(FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise.
* auto-inc-dec.c (find_inc, merge_in_block): Use them.
* combine.c (create_log_links): Likewise.
* compare-elim.c (find_flags_uses_in_insn): Likewise.
(try_eliminate_compare): Likewise.
* cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise.
* dce.c (deletable_insn_p, find_call_stack_args): Likewise.
(remove_reg_equal_equiv_notes_for_defs): Likewise.
(reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise.
(word_dce_process_block, dce_process_block): Likewise.
* ddg.c (def_has_ccmode_p): Likewise.
* df-core.c (df_bb_regno_first_def_find): Likewise.
(df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise.
* df-problems.c (df_rd_simulate_one_insn): Likewise.
(df_lr_bb_local_compute, df_live_bb_local_compute): Likewise.
(df_chain_remove_problem, df_chain_insn_top_dump): Likewise.
(df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise.
(df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise.
(df_remove_dead_eq_notes, df_note_bb_compute): Likewise.
(df_simulate_find_defs, df_simulate_find_uses): Likewise.
(df_simulate_find_noclobber_defs, df_simulate_defs): Likewise.
(df_simulate_uses, df_md_simulate_one_insn): Likewise.
* df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise.
* fwprop.c (local_ref_killed_between_p): Likewise.
(all_uses_available_at, free_load_extend): Likewise.
* gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise.
* hw-doloop.c (scan_loop): Likewise.
* ifcvt.c (dead_or_predicable): Likewise.
* init-regs.c (initialize_uninitialized_regs): Likewise.
* ira-lives.c (mark_hard_reg_early_clobbers): Likewise.
(process_bb_node_lives): Likewise.
* ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise.
(find_moveable_pseudos): Likewise.
* loop-invariant.c (check_dependencies, record_uses): Likewise.
* recog.c (peep2_find_free_register): Likewise.
* ree.c (get_defs): Likewise.
* regstat.c (regstat_bb_compute_ri): Likewise.
(regstat_bb_compute_calls_crossed): Likewise.
* sched-deps.c (find_inc, find_mem): Likewise.
* sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise.
(maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise.
* shrink-wrap.c (requires_stack_frame_p): Likewise.
(prepare_shrink_wrap): Likewise.
* store-motion.c (compute_store_table, build_store_vectors): Likewise.
* web.c (union_defs, pass_web::execute): Likewise.
* config/i386/i386.c (increase_distance, insn_defines_reg): Likewise.
(insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise.
From-SVN: r211678
GCC Administrator [Sun, 15 Jun 2014 00:16:32 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r211676
Paolo Carlini [Sat, 14 Jun 2014 22:55:40 +0000 (22:55 +0000)]
re PR c++/33101 ([DR 577] allow typedefs for void in empty parameter list)
/cp
2014-06-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33101
* decl.c (grokparms): Improve error message about void parameters.
* error.c (type_to_string): Fix aka cut off code.
/testsuite
2014-06-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/33101
* g++.dg/other/void3.C: New.
* g++.dg/conversion/err-recover1.C: Update.
From-SVN: r211673
Jonathan Wakely [Sat, 14 Jun 2014 20:43:07 +0000 (21:43 +0100)]
any (any_cast): Combine duplicate doxygen comments.
* include/experimental/any (any_cast): Combine duplicate doxygen
comments.
* include/experimental/string_view (basic_string_view): Update
doxygen comment.
* include/std/bitset (bitset): Move to Doxygen 'utilities' group.
* include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
(dynamic_bitset): Improve Doxygen comments.
* include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
comment.
From-SVN: r211672
Jonathan Wakely [Sat, 14 Jun 2014 20:22:10 +0000 (21:22 +0100)]
api.xml: Link to more recent API docs.
* doc/xml/api.xml: Link to more recent API docs.
* include/bits/allocator.h: Fix link in doxygen comment.
* include/bits/char_traits.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/unordered_map.h: Likewise.
* include/bits/unordered_set.h: Likewise.
* include/ext/mt_allocator.h: Likewise.
* include/std/fstream: Likewise.
* include/std/iosfwd: Likewise.
* include/std/ostream: Likewise.
* include/std/sstream: Likewise.
* include/std/streambuf: Likewise.
* doc/html/*: Regenerate.
From-SVN: r211671
Jonathan Wakely [Sat, 14 Jun 2014 16:33:53 +0000 (17:33 +0100)]
user.cfg.in (INPUT): Add C++14 headers.
* doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
* include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
warnings.
* include/bits/shared_ptr.h (shared_ptr): Likewise.
* include/bits/unordered_map.h (unordered_map, unordered_multimap):
Likewise.
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
Likewise.
* include/parallel/list_partition.h (__parallel::list_partition):
Likewise.
* include/std/iomanip (quoted): Likewise.
* include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
From-SVN: r211670
Jonathan Wakely [Sat, 14 Jun 2014 16:00:56 +0000 (17:00 +0100)]
status_cxx2014.xml: Update Fundamentals TS status.
* doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/experimental/any: New.
* include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
constructor.
* testsuite/experimental/any/assign/1.cc: New.
* testsuite/experimental/any/assign/2.cc: New.
* testsuite/experimental/any/cons/1.cc: New.
* testsuite/experimental/any/cons/2.cc: New.
* testsuite/experimental/any/cons/3.cc: New.
* testsuite/experimental/any/misc/any_cast.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: New.
* testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
* testsuite/experimental/any/misc/swap.cc: New.
* testsuite/experimental/any/modifiers/1.cc: New.
* testsuite/experimental/any/observers/type.cc: New.
From-SVN: r211669
Bernd Edlinger [Sat, 14 Jun 2014 14:31:55 +0000 (14:31 +0000)]
re PR ada/61505 (bootstrap broken by ada/gnat_rm.texi after r211448)
2014-06-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR ada/61505
* gnat_rm.texi: Fix errors with makeinfo 5.1.
From-SVN: r211667
Richard Sandiford [Sat, 14 Jun 2014 09:49:07 +0000 (09:49 +0000)]
dg-extract-results.py: For Python 3, force sys.stdout to handle surrogate escape sequences.
contrib/
* dg-extract-results.py: For Python 3, force sys.stdout to handle
surrogate escape sequences.
(safe_open): New function.
(output_segment, main): Use it.
From-SVN: r211666
Arnaud Charlet [Sat, 14 Jun 2014 06:55:49 +0000 (06:55 +0000)]
re PR ada/61505 (bootstrap broken by ada/gnat_rm.texi after r211448)
PR ada/61505
* gnat_rm.texi: Attempt to fix error with makeinfo 5.1
From-SVN: r211665
GCC Administrator [Sat, 14 Jun 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r211661
Ian Lance Taylor [Fri, 13 Jun 2014 22:30:47 +0000 (22:30 +0000)]
re PR go/61496 (Many Go tests FAIL with ld warning about go$zerovalue)
PR go/61496
* gospec.c (lang_specific_driver): On Solaris, when not using GNU
ld, add -t option to avoid warning about common symbol changing
size.
From-SVN: r211658
Vladimir Makarov [Fri, 13 Jun 2014 20:28:10 +0000 (20:28 +0000)]
lra-assign.c (assign_by_spills): Add code to assign vector regs to inheritance pseudos.
2014-06-13 Vladimir Makarov <vmakarov@redhat.com>
* lra-assign.c (assign_by_spills): Add code to assign vector regs
to inheritance pseudos.
* config/i386/i386.c (ix86_spill_class): Add check on NO_REGS.
From-SVN: r211655
Peter Bergner [Fri, 13 Jun 2014 18:42:53 +0000 (13:42 -0500)]
re PR testsuite/61415 (PowerPC test gcc.target/powerpc/tfmode_off.c fails if -mlong-double-64)
gcc/
PR target/61415
* config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
(BU_MISC_2): Rename to ...
(BU_LDBL128_2): ... this.
* config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
(RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
RS6000_BTM_LDBL128.
(rs6000_invalid_builtin): Add long double 128-bit builtin support.
(rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
* config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
(unpacktf_1): Likewise.
* doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
(__builtin_longdouble_dw1): Likewise.
* doc/sourcebuild.texi (longdouble128): Document.
gcc/testsuite/
PR target/61415
* lib/target-supports.exp (check_effective_target_longdouble128): New.
* gcc.target/powerpc/pack02.c: Use it.
* gcc.target/powerpc/tfmode_off.c: Likewise.
From-SVN: r211653
Jeff Law [Fri, 13 Jun 2014 16:40:48 +0000 (10:40 -0600)]
[multiple changes]
2014-06-13 Jeff Law <law@redhat.com>
PR rtl-optimization/61094
PR rtl-optimization/61446
* ree.c (combine_reaching_defs): Get the mode for the copy from
the extension insn rather than the defining insn.
2014-06-13 Ilya Enkovich <ilya.enkovich@intel.com>
PR rtl-optimization/61094
PR rtl-optimization/61446
* gcc.target/i386/pr61446.c : New.
From-SVN: r211649
Dehao Chen [Fri, 13 Jun 2014 15:46:11 +0000 (15:46 +0000)]
Emit linkage names for inlined functions.
* dwarf2out.c (add_linkage_name): Emit more linkage name.
* g++.dg/debug/dwarf2/cdtor-1.C: Update test result.
From-SVN: r211647
Thomas Schwinge [Fri, 13 Jun 2014 14:32:29 +0000 (16:32 +0200)]
* config-ml.in: Robustify ac_configure_args parsing.
From-SVN: r211645
Thomas Schwinge [Fri, 13 Jun 2014 14:32:16 +0000 (16:32 +0200)]
Non-host system configuration for linker plugins.
* configure.ac (--enable-linker-plugin-configure-flags)
(--enable-linker-plugin-flags): New flags.
(configdirs): Conditionally add libiberty-linker-plugin.
* configure: Regenerate.
* Makefile.def (host_modules): Add libiberty-linker-plugin.
(host_modules) <lto-plugin>: Pay attention to
@extra_linker_plugin_flags@ and
@extra_linker_plugin_configure_flags@.
(all-lto-plugin): Also depend on all-libiberty-linker-plugin.
* Makefile.in: Regenerate.
gcc/
* doc/install.texi (--enable-linker-plugin-configure-flags)
(--enable-linker-plugin-flags): Document new flags.
From-SVN: r211644
Thomas Schwinge [Fri, 13 Jun 2014 14:32:03 +0000 (16:32 +0200)]
Allow for overriding a module's srcdir.
* Makefile.tpl (configure-[+prefix+][+module+])
(configure-stage[+id+]-[+prefix+][+module+]): If specified, use
"module_srcdir" instead of "module" for locating a module's srcdir.
* Makefile.in: Regenerate.
From-SVN: r211643
Thomas Schwinge [Fri, 13 Jun 2014 14:30:46 +0000 (16:30 +0200)]
Allow overriding the libiberty used for building the LTO plugin.
lto-plugin/
* configure.ac (--with-libiberty): New configure option.
* configure: Regenerate.
* Makefile.am (libiberty, libiberty_noasan, libiberty_pic): New
variables.
(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS)
(liblto_plugin_la_DEPENDENCIES): Use them.
* Makefile.in: Regenerate.
From-SVN: r211642
Martin Jambor [Fri, 13 Jun 2014 14:26:51 +0000 (16:26 +0200)]
re PR ipa/61186 (./g++.dg/ipa/pr52939.C & valgrind & pointer_set_insert)
2014-06-13 Martin Jambor <mjambor@suse.cz>
PR ipa/61186
* ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
cache_token if returning early.
From-SVN: r211641
Ian Lance Taylor [Fri, 13 Jun 2014 13:56:14 +0000 (13:56 +0000)]
re PR go/52583 (Several new go testsuite failues on Solaris)
PR go/52583
runtime: Stop backtrace at a few recognized functions.
On x86_64 Solaris the makecontext function does not properly
indicate that it is at the top of the stack. Attempting to
unwind the stack past a call to makecontext tends to crash.
This patch changes libgo to look for certain functions that
are always found at the top of the stack, and to stop
unwinding when it reaches one of those functions. There is
never anything interesting past these functions--that is,
there is never any code written by the user.
From-SVN: r211640
Ian Lance Taylor [Fri, 13 Jun 2014 13:50:13 +0000 (13:50 +0000)]
re PR go/61498 (Many 64-bit Go tests SEGV in scanblock)
PR go/61498
runtime: Always set gcnext_sp to pointer-aligned address.
The gcnext_sp field is only used on systems that do not use
split stacks. It marks the bottom of the stack for the
garbage collector. This change makes sure that the stack
bottom is always aligned to a pointer value.
Previously the garbage collector would align all the addresses
that it scanned, but it now expects them to be aligned before
scanning.
From-SVN: r211639
Nick Clifton [Fri, 13 Jun 2014 13:33:09 +0000 (13:33 +0000)]
rx.h (JUMP_ALIGN): Return the log value if user requested alignment is active.
* config/rx/rx.h (JUMP_ALIGN): Return the log value if user
requested alignment is active.
(LABEL_ALIGN): Likewise.
(LOOP_ALIGN): Likewise.
From-SVN: r211638
Alan Lawrence [Fri, 13 Jun 2014 11:49:27 +0000 (11:49 +0000)]
gcc.dg/vect/vect-singleton_1.c: Remove duplicate of test body.
From-SVN: r211635
Arnaud Charlet [Fri, 13 Jun 2014 10:31:26 +0000 (12:31 +0200)]
[multiple changes]
2014-06-13 Yannick Moy <moy@adacore.com>
* exp_attr.adb Typo in comment.
* gnat1drv.adb (Adjust_Global_Switches): Force float overflow
checking in GNATprove_Mode.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* a-coinho-shared.adb, a-coinho-shared.ads: Update shared version.
From-SVN: r211629
Robert Dewar [Fri, 13 Jun 2014 10:26:34 +0000 (10:26 +0000)]
sem_ch3.adb, [...]: Minor reformatting.
2014-06-13 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch9.adb, a-coinho.adb, a-coinho.ads: Minor
reformatting.
From-SVN: r211628
Arnaud Charlet [Fri, 13 Jun 2014 10:25:19 +0000 (12:25 +0200)]
[multiple changes]
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Pragma): Add local
variable Missing_Parentheses. Emit an error when a state
declaration with options appears without parentheses. Add a
guard to prevent a bogus error when a state declaration may be
interpreted as an option if a previous declaration with options
was not parenthesized.
2014-06-13 Robert Dewar <dewar@adacore.com>
* checks.adb: Validate_Alignment_Check_Warnings: New procedure
(Apply_Address_Clause_Check): Make Aligment_Warnings table entry.
* checks.ads (Alignment_Warnings_Record): New type.
(Alignment_Warnings): New table
(Validate_Alignment_Check_Warnings): New procedure.
* errout.adb (Delete_Warning_And_Continuations): New procedure
(Error_Msg_Internal): Set Warning_Msg (Delete_Warning): Handle
Warnings_Treated_As_Errors (Finalize): Minor reformatting
* errout.ads (Warning_Msg): New variable
(Delete_Warning_And_Continuations): New procedure
* erroutc.adb (Delete_Msg): Handle Warnings_Treated_As_Errors count.
* gnat1drv.adb (Post_Compilation_Validation_Checks): New procedure.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* a-coinho.adb, a-coinho.ads: Add Reference machinery.
From-SVN: r211627
Arnaud Charlet [Fri, 13 Jun 2014 10:23:05 +0000 (12:23 +0200)]
[multiple changes]
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
* errout.adb (SPARK_Msg_N): New routine.
(SPARK_Msg_NE): New routine.
* errout.ads Add a section on SPARK-related error routines.
(SPARK_Msg_N): New routine.
(SPARK_Msg_NE): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications): Ensure that
pragma Abstract_State is always inserted after SPARK_Mode.
(Insert_After_SPARK_Mode): New routine.
* sem_prag.adb (Analyze_Abstract_State,
Analyze_Constituent, Analyze_External_Property,
Analyze_External_Property_In_Decl_Part, Analyze_Global_Item,
Analyze_Global_List, Analyze_Initialization_Item,
Analyze_Initialization_Item_With_Inputs, Analyze_Input_Item,
Analyze_Input_List, Analyze_Input_Output, Analyze_Part_Of,
Analyze_Pragma, Analyze_Refined_Depends_In_Decl_Part,
Analyze_Refined_Global_In_Decl_Part,
Analyze_Refined_State_In_Decl_Part, Analyze_Refinement_Clause,
Check_Aspect_Specification_Order, Check_Constituent_Usage,
Check_Declaration_Order, Check_Dependency_Clause,
Check_Duplicate_Mode, Check_Duplicate_Option,
Check_Duplicate_Property, Check_External_Properties,
Check_External_Property, Check_Function_Return,
Check_Matching_Constituent, Check_Matching_State,
Check_Mode_Restriction_In_Enclosing_Context,
Check_Mode_Restriction_In_Function, Check_Refined_Global_Item,
Check_State_And_Constituent_Use, Create_Or_Modify_Clause,
Has_Extra_Parentheses, Inconsistent_Mode_Error,
Match_Error, Propagate_Part_Of, Report_Extra_Clauses,
Report_Extra_Constituents_In_List, Report_Extra_Inputs,
Report_Unrefined_States, Report_Unused_Constituents,
Report_Unused_States, Role_Error, Usage_Error):
Convert Error_Msg_XXX calls to SPARK_Msg_XXX calls
to report semantic errors only when SPARK_Mode is on.
(Analyze_Depends_In_Decl_Part): Do not check the syntax of
pragma Depends explicitly, this is now done by the analysis.
(Analyze_Global_In_Decl_List): Do not check the syntax of
pragma Global explicitly, this is now done by the analysis.
(Analyze_Initializes_In_Decl_Part): Do not check the syntax of
pragma Initializes explicitly, this is now done by the analysis.
(Analyze_Part_Of): Do not check the syntax of the encapsulating
state, this is now done by the analysis.
(Analyze_Pragma): Do
not check the syntax of a state declaration, this is now done
by the analysis.
(Analyze_Refined_Depends_In_Decl_Part): Do not
check the syntax of pragma Refined_Depends explicitly, this is now
done by the analysis.
(Analyze_Refined_Global_In_Decl_Part): Do
not check the syntax of pragma Refined_Global explicitly, this is
now done by the analysis.
(Analyze_Refined_State_In_Decl_Part):
Do not check the syntax of pragma Refined_State explicitly, this
is now done by the analysis.
(Check_Dependence_List_Syntax): Removed.
(Check_Global_List_Syntax): Removed.
(Check_Initialization_List_Syntax): Removed.
(Check_Item_Syntax): Removed.
(Check_Missing_Part_Of): Do not consider items from an instance.
(Check_Refinement_List_Syntax): Removed.
(Check_State_Declaration_Syntax): Removed.
(Collect_Global_List): Do not raise Program_Error when the input is
malformed.
(Process_Global_List): Do not raise Program_Error when the input
is malformed.
* sem_ch13.adb: Minor reformatting.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Find_Type_Name): Diagnose a private type completion
that is an interface definition with an interface list.
(Process_Full_View): Move error message on missmatched interfaces
between views to the declaration of full view, for clarity.
* sem_ch9.adb (Check_Interfaces): Move error message to full view,
for clarity.
From-SVN: r211626
Richard Biener [Fri, 13 Jun 2014 10:21:40 +0000 (10:21 +0000)]
tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Rewrite to propagate the VN result into all uses where possible and to remove...
2014-06-13 Richard Biener <rguenther@suse.de>
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Rewrite to propagate the VN result into all uses where
possible and to remove stmts becoming dead because of that.
(eliminate): Generalize stmt removal handling, remove in
reverse dominator order to support proper debug stmt
generation. Update stmts before removing stmts.
* tree-ssa-propagate.c (propagate_tree_value): Remove
bogus assert.
* c-c++-common/pr46562-2.c: Adjust.
* g++.dg/tree-ssa/pr8781.C: Likewise.
* gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-39.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-16.c: Likewise.
From-SVN: r211625
Arnaud Charlet [Fri, 13 Jun 2014 10:20:53 +0000 (12:20 +0200)]
[multiple changes]
2014-06-13 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Pred/Succ): Change
reason to Overflow.
2014-06-13 Robert Dewar <dewar@adacore.com>
* makeutl.adb: Minor reformatting.
2014-06-13 Gail Schenker <schenker@adacore.com>
* debug.adb, sem_eval.adb (Why_Not_Static): Remove temporary code and
associated flag (d.z), no longer needed.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): For Import and
Export aspects, do not check whether a corresponding Convention
aspect has been specified. Convention is optional in
Ada2012,
and defaults to Convention_Ada.
From-SVN: r211624
Arnaud Charlet [Fri, 13 Jun 2014 10:18:11 +0000 (12:18 +0200)]
[multiple changes]
2014-06-13 Eric Botcazou <ebotcazou@adacore.com>
* checks.adb (Apply_Address_Clause_Check): Only issue the new
warning if the propagation warning is issued.
2014-06-13 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb: Minor reformatting.
2014-06-13 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case Pred):
Handle float range check case (Expand_N_Attribute_Reference,
case Succ): Handle float range check case.
* sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float
range check case.
2014-06-13 Vincent Celier <celier@adacore.com>
* makeutl.ads (Compute_Builder_Switches): Change name of
parameter Root_Environment to Env.
* prj-conf.adb (Check_Switches): Call Locate_Runtime with the
Env parameter of procedure Get_Or_Create_Configuration_File.
(Locate_Runtime): Call Find_Rts_In_Path with the Project_Path
of new parameter Env.
* prj-conf.ads (Locate_Runtime): New parameter Env of type
Prj.Tree.Environment.
2014-06-13 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor comment clarification for Check_Float_Overflow.
From-SVN: r211623
Robert Dewar [Fri, 13 Jun 2014 10:11:54 +0000 (10:11 +0000)]
exp_attr.adb, [...]: Minor reformatting.
2014-06-13 Robert Dewar <dewar@adacore.com>
* exp_attr.adb, exp_ch9.adb, lib-writ.adb, g-comlin.adb: Minor
reformatting.
* sem_attr.adb: Minor code reformatting and simplification.
* checks.adb: Fix minor typo.
From-SVN: r211622
Arnaud Charlet [Fri, 13 Jun 2014 10:08:18 +0000 (12:08 +0200)]
[multiple changes]
2014-06-13 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb (Get_Argument): fix expansion
of command line arguments (e.g. "*.adb") when using a custom
parser. The parser was not passed to the recursive call, and
thus we were trying to do the expansion on the default command
line parser.
2014-06-13 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb: Minor reformatting.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* exp_attr.adb (Expand_N_Attribute_Reference, case 'Old):
To determine whether the attribute should be expanded, examine
whether the enclosing postcondition pragma is to be checked,
rather than using the internal flag Assertions_Enabled.
From-SVN: r211621
Arnaud Charlet [Fri, 13 Jun 2014 10:06:13 +0000 (12:06 +0200)]
[multiple changes]
2014-06-13 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Minor fixes.
* gnat_ugn.texi: Added a missing "@itemize".
2014-06-13 Robert Dewar <dewar@adacore.com>
* debug.adb: Remove -gnatd.1 flag documentation.
* layout.adb (Layout_Type): Remove special handling of size
for anonymous access type.
* sem_ch3.adb (Replace_Type): Remove special handling of size
for anonymous access type.
From-SVN: r211620
Robert Dewar [Fri, 13 Jun 2014 10:04:27 +0000 (10:04 +0000)]
debug.adb: Document debug flag -gnatd.1.
2014-06-13 Robert Dewar <dewar@adacore.com>
* debug.adb: Document debug flag -gnatd.1.
* layout.adb (Layout_Type): Size change for anonymous access
types under -gnatd.1.
* sem_ch3.adb (Replace_Type): Size change for anonymous access
types under -gnatd.1.
From-SVN: r211619
Arnaud Charlet [Fri, 13 Jun 2014 10:03:43 +0000 (12:03 +0200)]
[multiple changes]
2014-06-13 Robert Dewar <dewar@adacore.com>
* layout.adb (Layout_Type): Anonymous access types designating
unconstrained arrays are always thin pointers.
* sem_ch3.adb (Replace_Type): Anonymous access types designating
unconstrained arrays are always thin pointers.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute): Use Check_Parameterless_Call
to resolve the prefix of an attribute that is an entity name
and may be a parameterless call. Minor code reorganization.
From-SVN: r211618
Robert Dewar [Fri, 13 Jun 2014 10:02:31 +0000 (10:02 +0000)]
lib.ads, [...] (Is_Compiler_Unit): Removed.
2014-06-13 Robert Dewar <dewar@adacore.com>
* lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit):
Removed.
* opt.ads (Compiler_Unit): New flag.
* par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit
for null statement sequence (not allowed in compiler unit).
* par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during
parsing.
* restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new
calling sequence.
* sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for
Check_Compiler_Unit.
* sem_ch6.adb (Analyze_Extended_Return_Statement): Call
Check_Compiler_Unit (this construct is not allowed in compiler
units).
* sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]):
Set Opt.Compiler_Unit.
From-SVN: r211617
Arnaud Charlet [Fri, 13 Jun 2014 09:59:42 +0000 (11:59 +0200)]
[multiple changes]
2014-06-13 Geert Bosch <bosch@adacore.com>
* gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi,
s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads,
s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent.
2014-06-13 Robert Dewar <dewar@adacore.com>
* s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting.
From-SVN: r211616
Hristian Kirtchev [Fri, 13 Jun 2014 09:51:30 +0000 (09:51 +0000)]
freeze.adb (Freeze_Entity): Remove the check concerning volatile types in SPARK as it is poorly placed and...
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Entity): Remove the check concerning volatile
types in SPARK as it is poorly placed and poorly formulated. The
check was flagging ALL volatile entities as illegal in SPARK.
* sem_prag.adb (Process_Atomic_Shared_Volatile): Flag volatile
types as illegal in SPARK.
From-SVN: r211615
Arnaud Charlet [Fri, 13 Jun 2014 09:47:16 +0000 (11:47 +0200)]
[multiple changes]
2014-06-13 Robert Dewar <dewar@adacore.com>
* sem_cat.adb: Minor reformatting.
2014-06-13 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Analyze_Pragma/Post_Class): Fix typo.
2014-06-13 Arnaud Charlet <charlet@adacore.com>
* gnat_rm.texi: Add detail on SPARK_05 restriction.
2014-06-13 Bob Duff <duff@adacore.com>
* s-solita.adb (Get_Sec_Stack_Addr, Init_Tasking_Soft_Links):
Add assertions requiring the secondary stack to be initialized.
* s-solita.ads (Init_Tasking_Soft_Links): Comment.
* s-taprob.adb, s-tarest.adb, s-tasini.adb (elab code): Make sure the
secondary stack is initialized before calling Init_Tasking_Soft_Links,
by adding pragmas Elaborate_Body.
2014-06-13 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Analyze_Stream_TSS_Definition): Remove temporary
kludge disabling new legality check.
From-SVN: r211614
Arnaud Charlet [Fri, 13 Jun 2014 09:44:48 +0000 (11:44 +0200)]
[multiple changes]
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Record_Type): Remove checks related to SPARK
volatile types.
(Freeze_Type): Volatile types are now illegal in SPARK.
2014-06-13 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb: Add aspect Thread_Local_Storage.
* gnat_rm.texi: Document aspect Thread_Local_Storage.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* sem_cat.adb (Validate_Static_Object_Name): A constant whose
value is a temporary that renames an aggregate is legal in a
preelaborated unit. Illegalities, if any will be detected in
the aggregate components.
2014-06-13 Ed Schonberg <schonberg@adacore.com>
* einfo.ads: Minor reformatting an comment expansion.
From-SVN: r211613
Arnaud Charlet [Fri, 13 Jun 2014 09:43:03 +0000 (11:43 +0200)]
[multiple changes]
2014-06-13 Robert Dewar <dewar@adacore.com>
* back_end.ads, back_end.adb: Make_Id, Make_SC, Set_RND are moved to
Tbuild.
* tbuild.ads, tbuild.adb: Make_Id, Make_SC, Set_RND are moved here from
Back_End.
* gnat1drv.adb: Make_Id, Make_SC, Set_RND are moved to Tbuild
* sem_warn.adb: Minor reformatting.
2014-06-13 Doug Rupp <rupp@adacore.com>
* adaint.c (__gnat_open_new_temp) [VMS]: Open binary
files with rfm=udf.
From-SVN: r211612
Arnaud Charlet [Fri, 13 Jun 2014 09:40:19 +0000 (11:40 +0200)]
[multiple changes]
2014-06-13 Yannick Moy <moy@adacore.com>
* sem_warn.adb (Check_Unset_References): Take
case of Refined_Post into account in Within_Postcondition check.
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Record_Type): Volatile types are not allowed in
SPARK.
2014-06-13 Yannick Moy <moy@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Import,
Aspect_Export): Consider that variables may be set outside the program.
From-SVN: r211611
Arnaud Charlet [Fri, 13 Jun 2014 09:38:29 +0000 (11:38 +0200)]
[multiple changes]
2014-06-13 Robert Dewar <dewar@adacore.com>
* back_end.adb (Make_Id): New function.
(Make_SC): New function.
(Set_RND): New procedure.
* back_end.ads (Make_Id): New function.
(Make_SC): New function.
(Set_RND): New procedure.
* einfo.ads: Minor comment updates.
* frontend.adb: Move Atree.Initialize call to Gnat1drv.
* gnat1drv.adb (Gnat1drv): New calling sequence for
Get_Target_Parameters.
(Gnat1drv): Move Atree.Initialize here from Frontend.
* targparm.adb (Get_Target_Parameters): New calling
sequence (Get_Target_Parameters): Handle pragma Restriction
(No_Dependence,..)
* targparm.ads (Get_Target_Parameters): New calling sequence.
2014-06-13 Gary Dismukes <dismukes@adacore.com>
* sem_prag.adb (Process_Import_Or_Interface): Exit the homonym
loop if the pragma does not come from source, so that an implicit
pragma Import only applies to the first declaration, avoiding
possible conflicts with earlier explicit and implicit declarations
due to multiple Provide_Shift_Operators pragmas.
(Set_Imported): Remove previous fix that bypassed pragma duplication
error.
* gnat_rm.texi: Change 'equivalent' to 'similar' in description
of Provide_Shift_Operators.
From-SVN: r211610
Thomas Preud'homme [Fri, 13 Jun 2014 03:17:02 +0000 (03:17 +0000)]
re PR tree-optimization/61375 (ICE in int_cst_value at -O3 in tree-ssa pass when compiling a reference to an __int128 value)
2014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR tree-optimization/61375
* tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
symbolic number cannot be represented in an uint64_t.
(find_bswap_or_nop_1): Likewise.
gcc/testsuite/
PR tree-optimization/61375
* gcc.c-torture/execute/pr61375-1.c: New test.
From-SVN: r211604
GCC Administrator [Fri, 13 Jun 2014 00:17:21 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r211603
Jan Hubicka [Thu, 12 Jun 2014 22:23:55 +0000 (00:23 +0200)]
symtab.c (symtab_node::reset_section): New method.
* symtab.c (symtab_node::reset_section): New method.
* cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
for localization.
* cgraph.h (reset_section): Declare.
* ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
do not consider comdat locals.
* cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
for new symbol.
* ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
(update_visibility_by_resolution_info): Consider UNDEF; fix checking;
reset sections of symbols dragged out of the comdats.
(function_and_variable_visibility): Reset sections of localized symbols.
From-SVN: r211600
Jan Hubicka [Thu, 12 Jun 2014 22:16:25 +0000 (00:16 +0200)]
tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg to use symtab and decl_binds_to_current_def_p
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
to use symtab and decl_binds_to_current_def_p
* tree-vectorizer.c (increase_alignment): Increase alignment
of alias target, too.
From-SVN: r211599