GCC Administrator [Sun, 25 May 2014 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r210906
Jan Hubicka [Sat, 24 May 2014 22:02:13 +0000 (00:02 +0200)]
gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure that var decl is available.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Be sure
that var decl is available.
From-SVN: r210902
Jan Hubicka [Sat, 24 May 2014 22:00:14 +0000 (00:00 +0200)]
tree-core.h (tree_decl_with_vis): Replace comdat_group by symtab_node pointer.
* tree-core.h (tree_decl_with_vis): Replace comdat_group by
symtab_node pointer.
* tree.c (copy_node_stat): Be sure tonot copy
symtab_node pointer.
(find_decls_types_r): Do not walk COMDAT_GROUP.
* tree.h (DECL_COMDAT_GROUP): Revamp to use decl_comdat_group.
* varasm.c (make_decl_one_only): Use set_comdat_group;
create node if needed.
* ipa-inline-transform.c (save_inline_function_body): Update
way we decl->symtab mapping.
* symtab.c (symtab_hash, hash_node, eq_node
symtab_insert_node_to_hashtable): Remove.
(symtab_register_node): Update.
(symtab_unregister_node): Update.
(symtab_get_node): Reimplement as inline function.
(symtab_add_to_same_comdat_group): Update.
(symtab_dissolve_same_comdat_group_list): Update.
(dump_symtab_base): Update.
(verify_symtab_base): Update.
(symtab_make_decl_local): Update.
(fixup_same_cpp_alias_visibility): Update.
(symtab_nonoverwritable_alias): Update.
* cgraphclones.c (set_new_clone_decl_and_node_flags): Update.
* ipa.c (update_visibility_by_resolution_info): UPdate.
* bb-reorder.c: Include cgraph.h
* lto-streamer-out.c (DFS_write_tree_body, hash_tree): Do not deal
with comdat groups.
* ipa-comdats.c (set_comdat_group, ipa_comdats): Update.
* cgraph.c (cgraph_get_create_node): Update.
* cgraph.h (struct symtab_node): Add get_comdat_group, set_comdat_group
and comdat_group_.
(symtab_get_node): Make inline.
(symtab_insert_node_to_hashtable): Remove.
(symtab_can_be_discarded): Update.
(decl_comdat_group): New function.
* tree-streamer-in.c (lto_input_ts_decl_with_vis_tree_pointers): Update.
* lto-cgraph.c (lto_output_node, lto_output_varpool_node): Stream out
comdat group name.
(read_comdat_group): New function.
(input_node, input_varpool_node): Use it.
* trans-mem.c (ipa_tm_create_version_alias): Update code creating
comdat groups.
* mips.c (mips_start_unique_function): Likewise.
(ix86_code_end): Likewise.
(rs6000_code_end): Likweise.
* tree-streamer-out.c (DECL_COMDAT_GROUP): Do not stream
comdat group.
* lto-symtab.c (lto_symtab_merge_symbols): Update code setting
symtab pointer.
* lto.c (compare_tree_sccs_1): Do not compare comdat groups.
* optmize.c (maybe_thunk_body): Use set_comdat_group.
(maybe_clone_body): Likewise.
* decl.c (duplicate_decls): Update code duplicating comdat group;
do not copy symtab pointer; before freeing newdecl remove it
from symtab.
* decl2.c (constrain_visibility): Use set_comdat_group.
* c-decl.c (merge_decls): Preserve symtab node pointers.
(duplicate_decls): Free new decl.
From-SVN: r210901
François Dumont [Sat, 24 May 2014 20:59:00 +0000 (20:59 +0000)]
array: Clean useless white chars.
2014-05-24 François Dumont <fdumont@gcc.gnu.org>
* include/profile/array: Clean useless white chars.
* include/profile/base.h: Likewise.
* include/profile/iterator_tracker.h: Likewise.
* include/profile/bitset: Code cleanup and remove not instrumented code.
* include/profile/deque: Likewise.
* include/profile/forward_list: Likewise.
* include/profile/list (std::__profile::_List_profile<>): New.
(std::__profile::list<>): Inherit from latter and adapt.
* include/profile/impl/profiler_map_to_unordered_map.h: Generalize
advise to match any ordered to unordered container conversion.
* include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
New.
* include/Makefile.am: Add latter.
* include/Makefile.in: Regenerate.
* include/profile/map.h (std::__profile::map<>): Inherit from latter,
remove not instrumented code.
* include/profile/multimap.h (std::__profile::multimap<>): Likewise.
* include/profile/set.h (std::__profile::set<>): Likewise.
* include/profile/multiset.h (std::__profile::multiset<>): Likewise.
* include/profile/unordered_base.h: Add some line feed.
* include/profile/unordered_map: Clean useless white chars and replace
spaces with tabs.
* include/profile/unordered_set: Likewise.
* include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
(std::__profile::_Vector_profile_post<>): New.
(std::__profile::vector<>): Inherit from latter and adapt.
From-SVN: r210900
Jerry DeLisle [Sat, 24 May 2014 19:30:38 +0000 (19:30 +0000)]
re PR libfortran/61173 (Erroneous "end of file" with internal read)
2014-05-24 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/61173
gfortran.dg/arrayio_14.f90: New test.
From-SVN: r210899
Jerry DeLisle [Sat, 24 May 2014 19:26:02 +0000 (19:26 +0000)]
re PR libfortran/61173 (Erroneous "end of file" with internal read)
2014-05-23 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/61173
* io/list_read.c (eat_spaces): If the next character pointed to
is a space, don't seek, must be at the end.
From-SVN: r210898
Andreas Schwab [Sat, 24 May 2014 18:54:28 +0000 (18:54 +0000)]
bswap-2.c (main): Handle more bitfield layouts.
* gcc.c-torture/execute/bswap-2.c (main): Handle more bitfield
layouts.
From-SVN: r210897
Jan Hubicka [Sat, 24 May 2014 17:12:28 +0000 (19:12 +0200)]
gengtype-state.c (fatal_reading_state): Bring offline.
* gengtype-state.c (fatal_reading_state): Bring offline.
* optabs.c (widening_optab_handler): Bring offline.
* optabs.h (widening_optab_handler): Likewise.
* final.c (get_attr_length_1): Likewise.
From-SVN: r210896
Jan Hubicka [Sat, 24 May 2014 17:11:35 +0000 (19:11 +0200)]
* sched-int.h (sd_iterator_cond): Manually tail recurse.
From-SVN: r210895
Dominique d'Humieres [Sat, 24 May 2014 14:17:37 +0000 (16:17 +0200)]
bind_c_array_params_2.f90: Adjust regexp for -flto.
2014-05-24 Dominique d'Humieres <dominiq@lps.ens.fr>
* gfortran.dg/gfortran.dg/bind_c_array_params_2.f90:
Adjust regexp for -flto.
* gfortran.dg/gfortran.dg/pr48636-2.f90: Likewise.
* gfortran.dg/pr52835.f90: Likewise.
From-SVN: r210892
Uros Bizjak [Sat, 24 May 2014 06:38:31 +0000 (08:38 +0200)]
texi2pod.pl: Force .pod file to not be a numbered list.
* texi2pod.pl: Force .pod file to not be a numbered list.
From-SVN: r210889
Jan Hubicka [Sat, 24 May 2014 01:42:22 +0000 (03:42 +0200)]
rtti.c: Include tm_p.h
* rtti.c: Include tm_p.h
(emit_tinfo_decl): Force RTTI data to be aligned to required
ABI alignment only.
From-SVN: r210887
Jan Hubicka [Sat, 24 May 2014 01:41:06 +0000 (03:41 +0200)]
class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN ignoring other target adjustments.
* class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
ignoring other target adjustments.
From-SVN: r210886
GCC Administrator [Sat, 24 May 2014 00:17:02 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210885
Tobias Burnus [Fri, 23 May 2014 20:32:04 +0000 (22:32 +0200)]
gfc-internals.texi: Change URLs to HTTPS; fix broken links.
2014-05-23 Tobias Burnus <burnus@net-b.de>
* gfc-internals.texi: Change URLs to HTTPS; fix broken links.
* gfortran.texi: Ditto.
From-SVN: r210877
Segher Boessenkool [Fri, 23 May 2014 16:46:59 +0000 (18:46 +0200)]
rs6000: Make all rlw*nm and rld*c* type shift
They are often labeled just "integer" currently. Fix that.
Also handle shift properly in those scheduling descriptions that
neglected it.
From-SVN: r210873
Segher Boessenkool [Fri, 23 May 2014 16:45:11 +0000 (18:45 +0200)]
rs6000: Make all logical instructions one type
They are currently just "integer", but the dot version is fast_compare.
This makes them all "logical".
From-SVN: r210872
Segher Boessenkool [Fri, 23 May 2014 16:43:31 +0000 (18:43 +0200)]
rs6000: Make all add instructions one type
They are currently just "integer", but the dot version is fast_compare.
This makes them all "add". Later we should introduce attributes to
distinguish e.g. addc and adde (which aren't currently handled as
separate instructions at all, only in groups).
From-SVN: r210871
Segher Boessenkool [Fri, 23 May 2014 16:41:20 +0000 (18:41 +0200)]
rs6000: Make all shift instructions one type
This uses the attributes "var_shift" and "dot" to specify the differences:
var_shift_rotate -> shift var_shift=yes
delayed_compare -> shift var_shift=no dot=yes
var_delayed_compare -> shift var_shift=yes dot=yes
From-SVN: r210870
Segher Boessenkool [Fri, 23 May 2014 16:39:42 +0000 (18:39 +0200)]
rs6000: Make all divide instructions one type
This uses the attribute "size" to specify the differences:
idiv -> div size=32
ldiv -> div size=64
It could use "dot" as well, but the current code doesn't handle that.
From-SVN: r210869
Segher Boessenkool [Fri, 23 May 2014 16:37:55 +0000 (18:37 +0200)]
rs6000: Make all insert instructions one type
This uses the attribute "size" to specify the differences:
insert_word -> insert size=32
insert_dword -> insert size=64
It could use "dot" as well, but the current code doesn't handle that.
From-SVN: r210868
Segher Boessenkool [Fri, 23 May 2014 16:36:14 +0000 (18:36 +0200)]
rs6000: Make all multiply instructions one type
This uses the attributes "size" and "dot" to specify the differences:
imul3 -> mul size=8
imul2 -> mul size=16
imul -> mul size=32
lmul -> mul size=64
imul_compare -> mul size=32 dot=yes
lmul_compare -> mul size=64 dot=yes
From-SVN: r210867
Segher Boessenkool [Fri, 23 May 2014 16:34:01 +0000 (18:34 +0200)]
rs6000: New type attribute value "halfmul"
This is for the legacy integer multiply-accumulate instructions.
Quite a mouthful, and "mulhw" is also a terrible name since we already
have a machine instruction called exactly that. Hence "halfmul".
Also fixes the titan automaton description for this.
From-SVN: r210866
Segher Boessenkool [Fri, 23 May 2014 16:31:33 +0000 (18:31 +0200)]
[PATCH 1/9] rs6000: Clean up the "type" attribute
Get rid of the one huge line. Group and order things a bit. Further
changes will follow so this doesn't try to make it perfect.
From-SVN: r210865
Martin Jambor [Fri, 23 May 2014 15:52:20 +0000 (17:52 +0200)]
re PR tree-optimization/53787 (Possible IPA-SRA / IPA-CP improvement)
2014-05-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/53787
* params.def (PARAM_IPA_MAX_AA_STEPS): New param.
* ipa-prop.h (ipa_node_params): Rename uses_analysis_done to
analysis_done, update all uses.
* ipa-prop.c: Include domwalk.h
(param_analysis_info): Removed.
(param_aa_status): New type.
(ipa_bb_info): Likewise.
(func_body_info): Likewise.
(ipa_get_bb_info): New function.
(aa_overwalked): Likewise.
(find_dominating_aa_status): Likewise.
(parm_bb_aa_status_for_bb): Likewise.
(parm_preserved_before_stmt_p): Changed to use new param AA info.
(load_from_unmodified_param): Accept func_body_info as a parameter
instead of parms_ainfo.
(parm_ref_data_preserved_p): Changed to use new param AA info.
(parm_ref_data_pass_through_p): Likewise.
(ipa_load_from_parm_agg_1): Likewise. Update callers.
(compute_complex_assign_jump_func): Changed to use new param AA info.
(compute_complex_ancestor_jump_func): Likewise.
(ipa_compute_jump_functions_for_edge): Likewise.
(ipa_compute_jump_functions): Removed.
(ipa_compute_jump_functions_for_bb): New function.
(ipa_analyze_indirect_call_uses): Likewise, moved variable
declarations down.
(ipa_analyze_virtual_call_uses): Accept func_body_info instead of node
and info, moved variable declarations down.
(ipa_analyze_call_uses): Accept and pass on func_body_info instead of
node and info.
(ipa_analyze_stmt_uses): Likewise.
(ipa_analyze_params_uses): Removed.
(ipa_analyze_params_uses_in_bb): New function.
(ipa_analyze_controlled_uses): Likewise.
(free_ipa_bb_info): Likewise.
(analysis_dom_walker): New class.
(ipa_analyze_node): Handle node-specific forbidden analysis,
initialize and free func_body_info, use dominator walker.
(ipcp_modif_dom_walker): New class.
(ipcp_transform_function): Create and free func_body_info, use
ipcp_modif_dom_walker, moved a lot of functionality there.
From-SVN: r210864
Vladimir Makarov [Fri, 23 May 2014 15:34:03 +0000 (15:34 +0000)]
re PR rtl-optimization/61215 (ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19)
2014-05-23 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61215
* gcc.target/i386/pr61215.c: New.
From-SVN: r210863
Marek Polacek [Fri, 23 May 2014 14:44:42 +0000 (14:44 +0000)]
builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
* builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
* gcc.c (sanitize_spec_function): Likewise.
* convert.c (convert_to_integer): Include "ubsan.h". Add
floating-point to integer instrumentation.
* doc/invoke.texi: Document -fsanitize=float-cast-overflow.
* flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and
SANITIZE_NONDEFAULT.
* opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW,
BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add.
* ubsan.c: Include "realmpfr.h" and "dfp.h".
(get_ubsan_type_info_for_type): Handle REAL_TYPEs.
(ubsan_type_descriptor): Set tkind to 0xffff for types other than
float/double/long double.
(ubsan_instrument_float_cast): New function.
* ubsan.h (ubsan_instrument_float_cast): Declare.
testsuite/
* c-c++-common/ubsan/float-cast-overflow-1.c: New test.
* c-c++-common/ubsan/float-cast-overflow-10.c: New test.
* c-c++-common/ubsan/float-cast-overflow-2.c: New test.
* c-c++-common/ubsan/float-cast-overflow-3.c: New test.
* c-c++-common/ubsan/float-cast-overflow-4.c: New test.
* c-c++-common/ubsan/float-cast-overflow-5.c: New test.
* c-c++-common/ubsan/float-cast-overflow-6.c: New test.
* c-c++-common/ubsan/float-cast-overflow-7.c: New test.
* c-c++-common/ubsan/float-cast-overflow-7.h: New file.
* c-c++-common/ubsan/float-cast-overflow-8.c: New test.
* c-c++-common/ubsan/float-cast-overflow-9.c: New test.
* c-c++-common/ubsan/float-cast.h: New file.
* g++.dg/ubsan/float-cast-overflow-bf.C: New test.
* gcc.dg/ubsan/float-cast-overflow-bf.c: New test.
libsanitizer/
* ubsan/ubsan_value.cc (getFloatValue): Handle 96-bit
floating-point types.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r210862
Jiong Wang [Fri, 23 May 2014 12:13:56 +0000 (12:13 +0000)]
[AARCH64] Support tail indirect function call.
From-SVN: r210861
Thomas Schwinge [Fri, 23 May 2014 12:06:48 +0000 (14:06 +0200)]
Be a bit less explicit.
gcc/
* gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
Rewrite check for ORT_PARALLEL and ORT_COMBINED_PARALLEL.
From-SVN: r210860
Jonathan Wakely [Fri, 23 May 2014 11:49:26 +0000 (12:49 +0100)]
54297.cc: Remove duplicate dragonfly selector.
* testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
selector.
* testsuite/30_threads/call_once/60497.cc: Likewise.
* testsuite/30_threads/condition_variable/54185.cc: Likewise.
* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
* testsuite/30_threads/packaged_task/60564.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
* testsuite/30_threads/promise/60966.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
From-SVN: r210859
Thomas Schwinge [Fri, 23 May 2014 11:39:35 +0000 (13:39 +0200)]
Make it easier to diff expand_omp_for_* functions.
gcc/
* omp-low.c (expand_omp_for_static_chunk): Rename variable si to
gsi, and variables v_* to v*.
From-SVN: r210858
Paolo Carlini [Fri, 23 May 2014 11:37:57 +0000 (11:37 +0000)]
lambda-init9.C: New.
2014-05-23 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp1y/lambda-init9.C: New.
From-SVN: r210857
Eric Botcazou [Fri, 23 May 2014 11:33:42 +0000 (11:33 +0000)]
* varasm.c (output_constructor_bitfield): Fix thinkos in latest change.
From-SVN: r210856
Thomas Schwinge [Fri, 23 May 2014 11:32:01 +0000 (13:32 +0200)]
GF_OMP_FOR_SIMD: Flag for SIMD variants of OMP_FOR kinds.
gcc/
* gimple.h (enum gf_mask): Add and use GF_OMP_FOR_SIMD.
* omp-low.c: Update accordingly.
From-SVN: r210855
Thomas Schwinge [Fri, 23 May 2014 11:31:51 +0000 (13:31 +0200)]
Just enumerate all GF_OMP_FOR_KIND_* and GF_OMP_TARGET_KIND_*.
gcc/
* gimple.h (enum gf_mask): Rewrite "<< 0" shift expressions used
for GF_OMP_FOR_KIND_MASK, GF_OMP_FOR_KIND_FOR,
GF_OMP_FOR_KIND_DISTRIBUTE, GF_OMP_FOR_KIND_SIMD,
GF_OMP_FOR_KIND_CILKSIMD, GF_OMP_TARGET_KIND_MASK,
GF_OMP_TARGET_KIND_REGION, GF_OMP_TARGET_KIND_DATA,
GF_OMP_TARGET_KIND_UPDATE.
From-SVN: r210854
Thomas Schwinge [Fri, 23 May 2014 11:23:49 +0000 (13:23 +0200)]
Remove duplicated variable initialization.
gcc/c/
* c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
initialization.
gcc/cp/
* semantics.c (finish_omp_clauses): Remove duplicated variable
initialization.
From-SVN: r210853
Thomas Schwinge [Fri, 23 May 2014 11:07:57 +0000 (13:07 +0200)]
Be more explicit.
gcc/
* gimplify.c (omp_notice_variable) <case OMP_CLAUSE_DEFAULT_NONE>:
Explicitly enumerate the expected region types.
From-SVN: r210852
Thomas Schwinge [Fri, 23 May 2014 11:00:31 +0000 (13:00 +0200)]
Fix some bool vs. tree confusion.
gcc/c/
* c-parser.c (c_parser_omp_target): Return bool values.
gcc/cp/
* parser.c (cp_parser_omp_target): Return bool values.
From-SVN: r210851
Jonathan Wakely [Fri, 23 May 2014 10:19:32 +0000 (11:19 +0100)]
1.cc: Add xfail for dragonfly.
* testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
dragonfly.
* testsuite/30_threads/call_once/60497.cc: Add target selectors.
* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
From-SVN: r210850
Jonathan Wakely [Fri, 23 May 2014 10:19:20 +0000 (11:19 +0100)]
re PR libstdc++/60793 (Add target *-*-dragonfly* to dg-options on 172 libstdc++ tests)
PR libstdc++/60793
* testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
dragonfly target selector to all tests that run on freebsd.
From-SVN: r210849
Paul Eggert [Fri, 23 May 2014 10:11:03 +0000 (10:11 +0000)]
re PR other/56955 (documentation for attribute malloc contradicts itself)
2014-05-22 Paul Eggert <eggert@cs.ucla.edu>
PR other/56955
* doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
documentation; the old documentation didn't clearly state the
constraints on the contents of the pointed-to storage.
From-SVN: r210848
Richard Biener [Fri, 23 May 2014 08:13:59 +0000 (08:13 +0000)]
re PR tree-optimization/61266 (FAIL: gcc.dg/Wstrict-overflow-18.c (test for bogus messages, line 20))
2014-05-23 Richard Biener <rguenther@suse.de>
PR testsuite/61266
* gcc.dg/Wstrict-overflow-18.c: Revert un-XFAILing and
adjust testcase to reflect reality.
From-SVN: r210846
Maxim Kuvyrkov [Fri, 23 May 2014 07:33:24 +0000 (07:33 +0000)]
Fix bootstrap error on ia64
* config/ia64/ia64.c (ia64_first_cycle_multipass_dfa_lookahead_guard):
Return default value.
From-SVN: r210845
Thomas Preud'homme [Fri, 23 May 2014 03:33:28 +0000 (03:33 +0000)]
re PR tree-optimization/54733 (Missing opportunity to optimize endian independent load/store)
2014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR tree-optimization/54733
gcc/
* tree-ssa-math-opts.c (nop_stats): New "bswap_stats" structure.
(CMPNOP): Define.
(find_bswap_or_nop_load): New.
(find_bswap_1): Renamed to ...
(find_bswap_or_nop_1): This. Also add support for memory source.
(find_bswap): Renamed to ...
(find_bswap_or_nop): This. Also add support for memory source and
detection of bitwise operations equivalent to load in host endianness.
(execute_optimize_bswap): Likewise. Also move its leading comment back
in place and split statement transformation into ...
(bswap_replace): This.
gcc/testsuite
* gcc.dg/optimize-bswapdi-3.c: New test to check extension of bswap
optimization to support memory sources and bitwise operations
equivalent to load in host endianness.
* gcc.dg/optimize-bswaphi-1.c: Likewise.
* gcc.dg/optimize-bswapsi-2.c: Likewise.
* gcc.c-torture/execute/bswap-2.c: Likewise.
From-SVN: r210843
Thomas Preud'homme [Fri, 23 May 2014 02:47:45 +0000 (02:47 +0000)]
target-supports.exp: New effective targets for architectures capable of performing byte swap.
2014-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp: New effective targets for architectures
capable of performing byte swap.
* gcc.dg/optimize-bswapdi-1.c: Convert to new bswap target.
* gcc.dg/optimize-bswapdi-2.c: Likewise.
* gcc.dg/optimize-bswapsi-1.c: Likewise.
From-SVN: r210842
Hans-Peter Nilsson [Fri, 23 May 2014 02:06:40 +0000 (02:06 +0000)]
configure.ac [...] (HAVE_STRNLEN, [...]): Define.
* configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
* configure: Regenerate.
From-SVN: r210841
Vladimir Makarov [Fri, 23 May 2014 01:52:01 +0000 (01:52 +0000)]
re PR rtl-optimization/61215 (ICE in gen_add2_insn, at optabs.c:4718 when building wine-1.7.19)
2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61215
* lra-elelimination.c (lra_eliminate_regs_1): Don't use
simplify_gen_subreg until final substitution.
From-SVN: r210838
Alan Modra [Fri, 23 May 2014 01:17:41 +0000 (10:47 +0930)]
re PR target/61231 (bootstrap comparision failure on powerpc64le-linux-gnu)
PR target/61231
* config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
* config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
Use "Y" constraint rather than "m".
From-SVN: r210835
GCC Administrator [Fri, 23 May 2014 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210834
Paolo Carlini [Thu, 22 May 2014 22:28:24 +0000 (22:28 +0000)]
re PR c++/61088 (segfault with array of lambdas initialized with initializer list that contains a lambda that captures the array)
/cp
2014-05-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61088
* lambda.c (add_capture): Enforce that capture by value requires
complete type.
* typeck2.c (cxx_incomplete_type_inform): Early return if
TYPE_MAIN_DECL is null.
/testsuite
2014-05-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61088
* g++.dg/cpp0x/lambda/lambda-ice13.C: New.
* g++.dg/cpp0x/lambda/lambda-ice7.C: Adjust.
From-SVN: r210829
Kugan Vivekanandarajah [Thu, 22 May 2014 22:05:08 +0000 (22:05 +0000)]
aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
2014-05-23 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/aarch64/aarch64.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New
define.
* config/aarch64/aarch64-protos.h (aarch64_atomic_assign_expand_fenv):
New function declaration.
* config/aarch64/aarch64-builtins.c (aarch64_builtins) : Add
AARCH64_BUILTIN_GET_FPCR, AARCH64_BUILTIN_SET_FPCR.
AARCH64_BUILTIN_GET_FPSR and AARCH64_BUILTIN_SET_FPSR.
(aarch64_init_builtins) : Initialize builtins
__builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
__builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
(aarch64_expand_builtin) : Expand builtins __builtins_aarch64_set_fpcr
__builtins_aarch64_get_fpcr, __builtins_aarch64_get_fpsr,
and __builtins_aarch64_set_fpsr.
(aarch64_atomic_assign_expand_fenv): New function.
* config/aarch64/aarch64.md (set_fpcr): New pattern.
(get_fpcr) : Likewise.
(set_fpsr) : Likewise.
(get_fpsr) : Likewise.
(unspecv): Add UNSPECV_GET_FPCR and UNSPECV_SET_FPCR, UNSPECV_GET_FPSR
and UNSPECV_SET_FPSR.
* doc/extend.texi (AARCH64 Built-in Functions) : Document
__builtins_aarch64_set_fpcr, __builtins_aarch64_get_fpcr.
__builtins_aarch64_set_fpsr and __builtins_aarch64_get_fpsr.
From-SVN: r210828
Janne Blomqvist [Thu, 22 May 2014 21:17:29 +0000 (00:17 +0300)]
PR 60324 Handle long path names, don't use PATH_MAX.
2014-05-23 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/60324
* runtime/string.c: Include stdlib.h.
From-SVN: r210827
Vladimir Makarov [Thu, 22 May 2014 21:09:59 +0000 (21:09 +0000)]
re PR rtl-optimization/60969 (ICE in output_129 in MMXMOV of mode MODE_SF for march=pentium4)
2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/60969
* ira-costs.c (record_reg_classes): Process NO_REGS for matching
constraints. Set up mem cost for NO_REGS case.
From-SVN: r210824
Thomas Schwinge [Thu, 22 May 2014 20:22:47 +0000 (22:22 +0200)]
Remove unused, and sort prototypes.
gcc/c-family/
* c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
Remove prototypes.
(record_types_used_by_current_var_decl): Move prototype to where
it belongs.
From-SVN: r210823
Thomas Schwinge [Thu, 22 May 2014 20:16:07 +0000 (22:16 +0200)]
Cosmetic fixes for DEF_FUNCTION_TYPE_* macros.
gcc/ada/
* gcc-interface/utils.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
gcc/
* builtin-types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
gcc/c-family/
* c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
gcc/fortran/
* f95-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
* types.def: Simplify examples for DEF_FUNCTION_TYPE_*.
gcc/lto/
* lto-lang.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
(DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
(DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
From-SVN: r210822
Thomas Schwinge [Thu, 22 May 2014 19:44:14 +0000 (21:44 +0200)]
Fix copy'n'pasto.
gcc/c/
* c-parser.c (c_parser_omp_clause_thread_limit): Rename
num_teams_loc variable to num_thread_limit_loc.
From-SVN: r210821
Xinliang David Li [Thu, 22 May 2014 18:18:48 +0000 (18:18 +0000)]
Fix expected messages in test
From-SVN: r210820
Bernd Schmidt [Thu, 22 May 2014 16:21:18 +0000 (16:21 +0000)]
Create a new header lto-section-names.h
gcc/
* config/darwin.c: Include "lto-section-names.h".
(LTO_SEGMENT_NAME): Don't define.
* config/i386/winnt.c: Include "lto-section-names.h".
* lto-streamer.c: Include "lto-section-names.h".
* lto-streamer.h (LTO_SECTION_NAME_PREFIX): Don't define.
* lto-wrapper.c: Include "lto-section-names.h".
(LTO_SECTION_NAME_PREFIX): Don't define.
* lto-section-names.h: New file.
* cgraphunit.c: Include "lto-section-names.h".
gcc/lto/
* lto-object.c: Include "lto-section-names.h".
(LTO_SEGMENT_NAME): Don't define.
* lto.c: Include "lto-section-names.h".
From-SVN: r210819
Peter Bergner [Thu, 22 May 2014 15:55:48 +0000 (10:55 -0500)]
htm.md (ttest): Use correct shift value to get CR0.
gcc/
* config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
gcc/testsuite/
* gcc.target/powerpc/htm-ttest.c: New test.
From-SVN: r210815
Richard Earnshaw [Thu, 22 May 2014 15:38:51 +0000 (15:38 +0000)]
re PR target/61208 (armhf: generated asm code produces "branch out of range" error in gas with -Os)
PR target/61208
* arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
From-SVN: r210812
Nick Clifton [Thu, 22 May 2014 15:15:36 +0000 (15:15 +0000)]
t-msp430 (HOST_LIBGCC2_CFLAGS): Add -mhwmult=none.
* config/msp430/t-msp430 (HOST_LIBGCC2_CFLAGS): Add
-mhwmult=none.
From-SVN: r210811
Nick Clifton [Thu, 22 May 2014 15:09:06 +0000 (15:09 +0000)]
msp430.h (ASM_SPEC): Add spaces after inserted options.
* config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted
options.
From-SVN: r210808
Eric Botcazou [Thu, 22 May 2014 14:32:56 +0000 (14:32 +0000)]
tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P -> (T)A transformation to integer types.
* tree-ssa-forwprop.c (associate_plusminus): Extend (T)(P + A) - (T)P
-> (T)A transformation to integer types.
From-SVN: r210807
Teresa Johnson [Thu, 22 May 2014 14:06:08 +0000 (14:06 +0000)]
gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
2014-05-22 Teresa Johnson <tejohnson@google.com>
* gcov-io.c (gcov_position): Use gcov_nonruntime_assert.
(gcov_is_error): Remove gcc_assert from IN_LIBGCOV code.
(gcov_rewrite): Use gcov_nonruntime_assert.
(gcov_open): Ditto.
(gcov_write_words): Ditto.
(gcov_write_length): Ditto.
(gcov_read_words): Use gcov_nonruntime_assert, and remove
gcc_assert from IN_LIBGCOV code.
(gcov_read_summary): Use gcov_error to flag profile corruption.
(gcov_sync): Use gcov_nonruntime_assert.
(gcov_seek): Remove gcc_assert from IN_LIBGCOV code.
(gcov_histo_index): Use gcov_nonruntime_assert.
(static void gcov_histogram_merge): Ditto.
(compute_working_sets): Ditto.
* gcov-io.h (gcov_nonruntime_assert): Define.
(gcov_error): Define for !IN_LIBGCOV
* libgcov-driver.c (gcov_error): Move declaration before gcov-io.c
include.
From-SVN: r210805
Jonathan Wakely [Thu, 22 May 2014 12:17:15 +0000 (13:17 +0100)]
re PR c/61271 (10 * possible coding error with logical not (!))
cp:
PR c/61271
* cp-array-notation.c (cilkplus_an_triplet_types_ok_p): Fix condition.
testsuite:
PR c/61271
* g++.dg/cilk-plus/AN/array_function.cc: New.
From-SVN: r210804
Thomas Schwinge [Thu, 22 May 2014 11:56:45 +0000 (13:56 +0200)]
Fix test in libiberty/testsuite/demangle-expected.
libiberty/
* testsuite/demangle-expected: Fix last commit.
From-SVN: r210803
Richard Biener [Thu, 22 May 2014 09:59:49 +0000 (09:59 +0000)]
tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle BUILT_IN_REALLOC like BUILT_IN_STRDUP.
2014-05-22 Richard Biener <rguenther@suse.de>
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
BUILT_IN_REALLOC like BUILT_IN_STRDUP.
(call_may_clobber_ref_p_1): Handle BUILT_IN_REALLOC as allocation
and deallocation site.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
Handle BUILT_IN_REALLOC similar to BUILT_IN_STRDUP with also
passing through the incoming points-to set.
(handle_lhs_call): Use flags argument instead of recomputing it.
(find_func_aliases_for_call): Call handle_lhs_call with proper
call return flags.
* gcc.dg/tree-ssa/alias-33.c: New testcase.
From-SVN: r210802
Jakub Jelinek [Thu, 22 May 2014 07:59:32 +0000 (09:59 +0200)]
tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure all padding bits in REAL_VALUE_TYPE are cleared.
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
all padding bits in REAL_VALUE_TYPE are cleared.
From-SVN: r210748
Maxim Kuvyrkov [Thu, 22 May 2014 07:26:00 +0000 (07:26 +0000)]
Cleanup and improve multipass_dfa_lookahead_guard
* config/i386/i386.c (core2i7_first_cycle_multipass_filter_ready_try,)
(core2i7_first_cycle_multipass_begin,)
(core2i7_first_cycle_multipass_issue,)
(core2i7_first_cycle_multipass_backtrack): Update signature.
* config/ia64/ia64.c
(ia64_first_cycle_multipass_dfa_lookahead_guard_spec): Remove.
(ia64_first_cycle_multipass_dfa_lookahead_guard): Update signature.
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove
hook definition.
(ia64_first_cycle_multipass_dfa_lookahead_guard): Merge logic from
ia64_first_cycle_multipass_dfa_lookahead_guard_spec. Update return
values.
* config/rs6000/rs6000.c (rs6000_use_sched_lookahead_guard): Update
return values.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in
(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC): Remove.
* haifa-sched.c (ready_try): Make signed to allow negative values.
(rebug_ready_list_1): Update.
(choose_ready): Simplify.
(sched_extend_ready_list): Update.
From-SVN: r210747
Maxim Kuvyrkov [Thu, 22 May 2014 07:25:48 +0000 (07:25 +0000)]
Remove IA64 speculation tweaking flags
* config/ia64/ia64.c (ia64_set_sched_flags): Delete handling of
speculation tuning flags.
(msched-prefer-non-data-spec-insns,)
(msched-prefer-non-control-spec-insns): Obsolete options.
* haifa-sched.c (choose_ready): Remove handling of
PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
* sched-int.h (enum SPEC_SCHED_FLAGS): Remove PREFER_NON_CONTROL_SPEC
and PREFER_NON_DATA_SPEC.
* sel-sched.c (process_spec_exprs): Remove handling of
PREFER_NON_CONTROL_SPEC and PREFER_NON_DATA_SPEC.
From-SVN: r210746
Maxim Kuvyrkov [Thu, 22 May 2014 07:17:07 +0000 (07:17 +0000)]
* MAINTAINERS: Update my affiliation/email.
From-SVN: r210745
Maxim Kuvyrkov [Thu, 22 May 2014 07:15:23 +0000 (07:15 +0000)]
Add forgotten ChangeLog entries for 2 patches.
From-SVN: r210744
Kostya Serebryany [Thu, 22 May 2014 07:09:21 +0000 (07:09 +0000)]
libsanitizer merge from upstream r209283
From-SVN: r210743
Jan Hubicka [Thu, 22 May 2014 05:38:04 +0000 (07:38 +0200)]
re PR lto/61012 (lto1: errors during merging of translation units (error: variable ‘link’ redeclared as function))
PR lto/61012
* lto-symtab.c (lto_symtab_merge_decls_1): Do not ICE on undefined externals
mixed with variables.
From-SVN: r210740
Janne Blomqvist [Thu, 22 May 2014 03:51:25 +0000 (06:51 +0300)]
PR 60324 Handle long path names, don't use PATH_MAX.
From-SVN: r210738
Maxim Kuvyrkov [Thu, 22 May 2014 03:51:19 +0000 (03:51 +0000)]
Improve scheduling debug output
* haifa-sched.c (debug_ready_list): Remove unnecessary prototype.
(advance_one_cycle): Update.
(schedule_insn, queue_to_ready): Add debug printouts.
(debug_ready_list_1): New static function.
(debug_ready_list): Update.
(max_issue): Add debug printouts.
(dump_insn_stream): New static function.
(schedule_block): Use it. Also better indent printouts.
From-SVN: r210737
Maxim Kuvyrkov [Thu, 22 May 2014 03:51:09 +0000 (03:51 +0000)]
Fix sched_insn debug counter
* haifa-sched.c (schedule_insn): Update.
(struct haifa_saved_data): Add nonscheduled_insns_begin.
(save_backtrack_point, restore_backtrack_point): Update.
(first_nonscheduled_insn): New static function.
(queue_to_ready, choose_ready): Use it.
(schedule_block): Init nonscheduled_insns_begin.
(sched_emit_insn): Update.
From-SVN: r210736
Kugan Vivekanandarajah [Thu, 22 May 2014 02:25:01 +0000 (02:25 +0000)]
aarch64.c (aarch64_regno_regclass): Change CORE_REGS to GENERAL_REGS.
2014-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/aarch64/aarch64.c (aarch64_regno_regclass) : Change CORE_REGS
to GENERAL_REGS.
(aarch64_secondary_reload) : LikeWise.
(aarch64_class_max_nregs) : Remove CORE_REGS.
* config/aarch64/aarch64.h (enum reg_class) : Remove CORE_REGS.
(REG_CLASS_NAMES) : Likewise.
(REG_CLASS_CONTENTS) : LikeWise.
(INDEX_REG_CLASS) : Change CORE_REGS to GENERAL_REGS.
From-SVN: r210735
GCC Administrator [Thu, 22 May 2014 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r210733
François Dumont [Wed, 21 May 2014 19:51:05 +0000 (19:51 +0000)]
re PR libstdc++/61143 (Arithmetic exception on emplacing into unordered_map moved out)
2014-05-21 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/61143
* include/bits/hashtable.h: Fix move semantic to leave hashtable in a
usable state.
* testsuite/23_containers/unordered_set/61143.cc: New.
* testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
From-SVN: r210726
Guozhi Wei [Wed, 21 May 2014 19:46:33 +0000 (19:46 +0000)]
arm_neon.h (vqdmulh_n_s16): Change the last operand's constraint.
* config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
constraint.
(vqdmulhq_n_s16): Likewise.
From-SVN: r210725
Segher Boessenkool [Wed, 21 May 2014 19:30:25 +0000 (21:30 +0200)]
* config/rs6000/predicates.md (update_indexed_address_mem): Delete.
From-SVN: r210724
Marek Polacek [Wed, 21 May 2014 19:07:30 +0000 (19:07 +0000)]
re PR sanitizer/61272 ([UBSAN] ICE in is_ubsan_builtin_p(tree_node*), gcc/ubsan.c:534)
PR sanitizer/61272
* ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
* g++.dg/ubsan/pr61272.C: New test.
From-SVN: r210723
Marek Polacek [Wed, 21 May 2014 18:54:12 +0000 (18:54 +0000)]
re PR c/61212 (gcc build failure on "dos file system" due to warnings treated as errors)
PR c/61212
* files.c (find_file_in_dir): Add parens around &&.
From-SVN: r210722
Ville Voutilainen [Wed, 21 May 2014 17:23:07 +0000 (20:23 +0300)]
re PR c++/61133 (g++ doesn't implement DR1760)
PR c++/61133
* lambda.c (build_capture_proxy, add_capture): Treat normal
captures and init-captures identically.
From-SVN: r210720
Martin Jambor [Wed, 21 May 2014 16:13:41 +0000 (18:13 +0200)]
invoke.texi (Optimize Options): Document parameters ipa-cp-eval-threshold...
2014-05-21 Martin Jambor <mjambor@suse.cz>
* doc/invoke.texi (Optimize Options): Document parameters
ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
ipa-cp-array-index-hint-bonus.
From-SVN: r210718
Mark Wielaard [Wed, 21 May 2014 15:44:59 +0000 (15:44 +0000)]
PR debug/16063. Add DW_AT_type to DW_TAG_enumeration.
Add a new lang-hook that provides the underlying base type of an
ENUMERAL_TYPE. The default implementation will just use type_for_size.
The implementation for C++ will use the ENUM_UNDERLYING_TYPE if it exists.
Use this enum_underlying_base_type lang-hook in dwarf2out.c to add a
DW_AT_type base type reference to a DW_TAG_enumeration.
gcc/
* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_type if DWARF
version >= 3 or not strict DWARF.
* langhooks.h (struct lang_hooks_for_types): Add
enum_underlying_base_type.
* langhooks.c (lhd_enum_underlying_base_type): New function.
* gcc/langhooks.h (struct lang_hooks_for_types): Add
enum_underlying_base_type.
* langhooks-def.h (lhd_enum_underlying_base_type): New declaration.
(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): New define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add new lang hook.
gcc/cp/
* cp-lang.c (cxx_enum_underlying_base_type): New function.
(LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define.
From-SVN: r210717
Jonathan Wakely [Wed, 21 May 2014 15:09:50 +0000 (16:09 +0100)]
c_locale.cc (facet::_S_create_c_locale): Fix warning.
* config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
Fix warning.
From-SVN: r210716
Jonathan Wakely [Wed, 21 May 2014 15:09:37 +0000 (16:09 +0100)]
re PR libstdc++/61269 (<type_traits> includes <cstdint> inside std namespace)
PR libstdc++/61269
* include/std/type_traits: Move include outside namespace std.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r210715
Cesar Philippidis [Wed, 21 May 2014 14:45:36 +0000 (07:45 -0700)]
re PR target/60179 (target optimization attribute streaming is broken)
2014-05-21 Cesar Philippidis <cesar@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
PR lto/60179
gcc/testsuite/
* lib/scanasm.exp (scan-lto-assembler): New procedure.
* gcc.target/nios2/custom-fp-lto.c: New test.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r210714
Richard Biener [Wed, 21 May 2014 14:24:44 +0000 (14:24 +0000)]
invoke.texi (-flto-partition=): Document one and none algorithms.
2014-05-21 Richard Biener <rguenther@suse.de>
* doc/invoke.texi (-flto-partition=): Document one and
none algorithms.
From-SVN: r210713
Robert Dewar [Wed, 21 May 2014 13:26:53 +0000 (13:26 +0000)]
layout.adb: Minor reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* layout.adb: Minor reformatting.
* sem_prag.adb (Analyze_Pragma, case Inspection_Point): Call
dummy procedure ip.
2014-05-21 Robert Dewar <dewar@adacore.com>
* restrict.ads (Implementation_Restriction): Add entry for
No_Fixed_IO.
* rtsfind.ads: Add entries for Fixed_IO and Decimal_IO in
Ada.[Wide_[Wide_]Text_IO.
* s-rident.ads (Restriction_Id): Add entry for No_Fixed_IO.
* sem_attr.adb (Analyze_Attribute): Disallow fixed point types
for Img, Image, Value, Wide_Image, Wide_Value, Wide_Wide_Image,
Wide_Wide_Value if restriction No_Fixed_IO is set.
* sem_util.adb (Set_Entity_Checks): Check restriction No_Fixed_IO.
From-SVN: r210710
Arnaud Charlet [Wed, 21 May 2014 13:25:03 +0000 (15:25 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* gnatcmd.adb: Minor error msg changes (no upper case letter
at start).
* sem_ch12.adb, sem_ch5.adb, sem_res.adb, sem_util.adb: Minor
reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* debug.adb: Debug flag -gnatd.G inhibits static elab tracing
via generic formals.
* sem_elab.adb (Is_Call_Of_Generic_Formal): Return False if
-gnatd.G is set.
2014-05-21 Thomas Quinot <quinot@adacore.com>
* exp_pakd.adb (Revert_Storage_Order): Renamed from Byte_Swap to
more accurately describe that this subprogram needs to come into
play also in cases where no byte swapping is involved, because
it also takes care of some required shifts (left-justification
of values).
2014-05-21 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Check_Component_Storage_Order): Indicate whether
a Scalar_Storage_Order attribute definition is present for the
component's type.
(Freeze_Record_Type): Suppress junk warnings
about purportedly junk Bit_Order / Scalar_Storage_Order attribute
definitions.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Put back call
to Kill_Elaboration_Checks.
2014-05-21 Gary Dismukes <dismukes@adacore.com>
* layout.adb (Assoc_Add): Suppress the optimization of the (E
- C1) + C2 case, when the expression type is unsigned and C1 <
C2, to avoid creating a negative literal when folding.
From-SVN: r210709
Hristian Kirtchev [Wed, 21 May 2014 13:21:38 +0000 (13:21 +0000)]
freeze.adb (Freeze_Record_Type): Update the use of Is_SPARK_Volatile.
2014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Freeze_Record_Type): Update the use of
Is_SPARK_Volatile.
* sem_ch3.adb (Analyze_Object_Contract): Update the use of
Is_SPARK_Volatile.
(Process_Discriminants): Update the use of Is_SPARK_Volatile.
* sem_ch5.adb (Analyze_Iterator_Specification): Update the use
of Is_SPARK_Volatile.
(Analyze_Loop_Parameter_Specification):
Update the use of Is_SPARK_Volatile.
* sem_ch6.adb (Process_Formals): Catch an illegal use of an IN
formal parameter when its type is volatile.
* sem_prag.adb (Analyze_Global_Item): Update the use of
Is_SPARK_Volatile.
* sem_res.adb (Resolve_Entity_Name): Correct the guard which
determines whether an entity is a volatile source SPARK object.
* sem_util.adb (Has_Enabled_Property): Accout for external
properties being set on objects other than abstract states
and variables. An example would be a formal parameter.
(Is_SPARK_Volatile): New routine.
(Is_SPARK_Volatile_Object):
Remove the entity-specific tests. Call routine Is_SPARK_Volatile
when checking entities and/or types.
* sem_util.ads (Is_SPARK_Volatile): New routine.
From-SVN: r210708
Arnaud Charlet [Wed, 21 May 2014 13:19:28 +0000 (15:19 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_warn.adb: Minor fix to warning messages (use ?? instead
of ?).
2014-05-21 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (GNATCmd): For platforms other than VMS, recognize
switch --version and --help.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_elab.adb (Is_Call_Of_Generic_Formal): New function.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): Set type of
iterator variable when the domain of iteration is a formal
container and this is an element iterator.
2014-05-21 Bob Duff <duff@adacore.com>
* sem_ch12.adb: Minor reformatting.
From-SVN: r210707
Robert Dewar [Wed, 21 May 2014 13:17:41 +0000 (13:17 +0000)]
sinfo.ads, [...]: Minor reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sinfo.ads, sem_ch12.adb, sem_warn.adb: Minor reformatting.
From-SVN: r210706
Arnaud Charlet [Wed, 21 May 2014 13:14:06 +0000 (15:14 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_elab.adb: Minor reformatting.
* s-taprop.ads: Minor comment fix.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Remove call to
Kill_Elaboration_Checks.
* errout.adb, erroutc.adb: Minor reformatting.
2014-05-21 Thomas Quinot <quinot@adacore.com>
* exp_pakd.adb (Byte_Swap): Handle the case of a sub-byte
component. No byte swapping occurs, but this procedure also takes
care of appropriately justifying the argument.
2014-05-21 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb: sem_ch6.adb (Analyze_Aspects_On_Body_Or_Stub):
New routine.
(Analyze_Subprogram_Body_Helper): Move the
analysis of aspect specifications and the processing of the
subprogram body contract after inlining has taken place.
(Diagnose_Misplaced_Aspect_Specifications): Removed.
2014-05-21 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Build_Derived_Record_Type): Revert previous change.
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_eval.ads, sem_eval.adb (Why_Not_Static): Messages are not
continuations any more.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads, sinfo.adb: New flag Needs_Initialized_Actual,
present in formal_Private_Definitions and on private extension
declarations of a formal derived type. Set when the use of the
formal type in a generic suggests that the actual should be a
fully initialized type.
* sem_warn.adb (May_Need_Initialized_Actual): new subprogram
to indicate that an entity of a generic type has default
initialization, and that the corresponing actual type in any
subsequent instantiation should be fully initialized.
* sem_ch12.adb (Check_Initialized_Type): new subprogram,
to emit a warning if the actual for a generic type on which
Needs_Initialized_Actual is set is not a fully initialized type.
From-SVN: r210705
Arnaud Charlet [Wed, 21 May 2014 13:08:13 +0000 (15:08 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_elab.adb, prj-dect.adb: Minor reformatting.
2014-05-21 Robert Dewar <dewar@adacore.com>
* erroutc.ads: Minor comment addition.
2014-05-21 Robert Dewar <dewar@adacore.com>
* errout.ads: Add documentation for use of >*> tag.
* restrict.adb: Make sure we use >*> tag for restriction warnings.
2014-05-21 Gary Dismukes <dismukes@adacore.com>
* debug.adb: Add case of illegal overriding_indicator for a
protected subprogram body to description of -gnatd.E switch.
* sem_ch6.adb (Verify_Overriding_Indicator): Issue error message
for cases of giving overriding_indicators on protected subprogram
bodies, but change this to a warning if -gnatd.E is enabled. No
longer give a style warning about missing indicators on protected
subprogram bodies.
From-SVN: r210704
Arnaud Charlet [Wed, 21 May 2014 13:04:54 +0000 (15:04 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* prj.ads, sem_ch12.adb, prj.adb, exp_pakd.adb,
sem_elab.ads: Minor reformatting.
* erroutc.adb, erroutc.ads (Warning_Specifically_Suppressed): Make Tag
parameter optional.
2014-05-21 Pascal Obry <obry@adacore.com>
* prj-dect.adb: Allow package Install in aggregate project.
From-SVN: r210703
Arnaud Charlet [Wed, 21 May 2014 13:01:59 +0000 (15:01 +0200)]
[multiple changes]
2014-05-21 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications):
Insert_Delayed_Pragma is now used for the case of Attach_Handler.
* sem_prag.adb: Minor comment improvements.
2014-05-21 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Install_Body): When checking whether freezing of
instantiation must be delayed, verify that the common enclosing
subprogram to generic and instance is in fact an overloadable
entity.
2014-05-21 Vincent Celier <celier@adacore.com>
* makeutl.adb (Mains.Complete_Mains.Do_Complete): Look for all
mains with the same name and fail if there is more than one.
* prj.ads, prj.adb (Find_All_Sources): New function
From-SVN: r210702