Jan Hubicka [Mon, 13 Oct 2014 14:43:24 +0000 (16:43 +0200)]
re PR c++/62127 (ICE with VLA in constructor)
PR tree-optimization/62127
* g++.dg/torture/pr62127.C: New testcase.
* tree.c (remap_type_1): When remapping array, remap
also its type.
From-SVN: r216150
Jonathan Wakely [Mon, 13 Oct 2014 14:08:44 +0000 (15:08 +0100)]
re PR libstdc++/57350 (std::align missing)
PR libstdc++/57350
* include/std/memory (align): Do not adjust correctly aligned address.
* testsuite/20_util/align/2.cc: New.
From-SVN: r216149
Christophe Lyon [Mon, 13 Oct 2014 14:01:19 +0000 (16:01 +0200)]
Update ChangeLog for previous commit.
From-SVN: r216148
Christophe Lyon [Mon, 13 Oct 2014 13:56:34 +0000 (15:56 +0200)]
Makefile.in: (check-%): Update comment, as RUNTESTFLAGS no longer impact parallelization.
2014-10-13 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* Makefile.in: (check-%): Update comment, as RUNTESTFLAGS no
longer impact parallelization.
From-SVN: r216147
Jan Hubicka [Mon, 13 Oct 2014 12:44:00 +0000 (14:44 +0200)]
re PR bootstrap/63496 (../../gcc/ipa-polymorphic-call.c:2117:1: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow])
PR bootstrap/63496
* ipa-polymorphic-call.c (extr_type_from_vtbl_ptr_store): Fix pasto.
From-SVN: r216146
Siva Chandra Reddy [Mon, 13 Oct 2014 11:23:10 +0000 (11:23 +0000)]
xmethods.py: Add xmethods for std::array, std::deque, std::forward_list, std::list, std::vector.
2014-10-13 Siva Chandra Reddy <sivachandra@google.com>
* python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
std::deque, std::forward_list, std::list, std::vector.
* testsuite/libstdc++-xmethods/array.cc: New file.
* testsuite/libstdc++-xmethods/deque.cc: Likewise.
* testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
* testsuite/libstdc++-xmethods/list.cc: Likewise.
* testsuite/libstdc++-xmethods/vector.cc: Add tests.
From-SVN: r216145
Marat Zakirov [Mon, 13 Oct 2014 10:44:45 +0000 (10:44 +0000)]
asan.c (instrument_derefs): BIT_FIELD_REF added.
gcc/ChangeLog:
2014-09-19 Marat Zakirov <m.zakirov@samsung.com>
* asan.c (instrument_derefs): BIT_FIELD_REF added.
gcc/testsuite/ChangeLog:
2014-09-19 Marat Zakirov <m.zakirov@samsung.com>
* c-c++-common/asan/bitfield-5.c: New test.
From-SVN: r216144
Rüdiger Sonderfeld [Mon, 13 Oct 2014 10:05:21 +0000 (10:05 +0000)]
memory (align): Define.
2014-10-13 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
* include/std/memory (align): Define.
* testsuite/20_util/align/1.cc: New.
From-SVN: r216143
Marc Glisse [Mon, 13 Oct 2014 10:00:27 +0000 (12:00 +0200)]
re PR libstdc++/61347 (std::distance(list.first(),list.end()) in O(1))
2014-10-13 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/61347
PR libstdc++/63345
* include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
isn't done for the sentinel.
* include/bits/stl_list.h (_List_base::_M_size): Move...
(_List_base::_List_impl::_M_node): ... here.
(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
_List_base::_M_node_count): Adapt to the move.
* 23_containers/list/requirements/dr438/assign_neg.cc: Update
line number.
* 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
* 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
* 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
From-SVN: r216142
Eric Botcazou [Mon, 13 Oct 2014 08:19:45 +0000 (08:19 +0000)]
re PR ada/63225 (ada bootstrap failure when -fno-inline in STAGE1_CFLAGS)
PR ada/63225
* uintp.adb (Vector_To_Uint): Move from here to...
* uintp.ads (UI_Vector): Make public.
(Vector_To_Uint): ...here.
Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r216139
Richard Biener [Mon, 13 Oct 2014 07:58:05 +0000 (07:58 +0000)]
re PR c++/63419 (verify_gimple failed: "vector CONSTRUCTOR element is not a GIMPLE value")
2014-10-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/63419
* gimple-fold.h (gimple_convert): New function.
* gimple-fold.c (gimple_convert): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces): Use gimple_convert
to split out required conversions early.
* g++.dg/torture/pr63419.C: New testcase.
From-SVN: r216138
Richard Sandiford [Mon, 13 Oct 2014 07:05:46 +0000 (07:05 +0000)]
rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue): Add the parts of an insn in reverse order, with the pattern at the top of the queue.
gcc/
* rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue):
Add the parts of an insn in reverse order, with the pattern at
the top of the queue. Detect when we're iterating over a SEQUENCE
pattern and in that case just consider patterns of subinstructions.
From-SVN: r216137
GCC Administrator [Mon, 13 Oct 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r216131
Oleg Endo [Sun, 12 Oct 2014 23:14:07 +0000 (23:14 +0000)]
re PR target/59401 ([SH] GBR addressing mode optimization produces wrong code)
gcc/
PR target/59401
* config/sh/sh-protos (sh_find_equiv_gbr_addr): Use rtx_insn* instead
of rtx.
* config/sh/sh.c (sh_find_equiv_gbr_addr): Use def chains instead of
insn walking.
(sh_find_equiv_gbr_addr): Do nothing if input mem is already a GBR
address. Use def chains to handle GBR clobbering call insns.
gcc/testsuite/
PR target/59401
PR target/54760
* gcc.target/pr54760-5.c: New.
* gcc.target/pr54760-6.c: New.
* gcc.target/sh/pr59401-1.c: New.
From-SVN: r216128
Trevor Saunders [Sun, 12 Oct 2014 22:22:53 +0000 (22:22 +0000)]
move many gc hashtab to hash_table
gcc/
* asan.c, cfgloop.c, cfgloop.h, cgraph.c, cgraph.h,
config/darwin.c, config/m32c/m32c.c, config/mep/mep.c,
config/mips/mips.c, config/rs6000/rs6000.c, dwarf2out.c,
function.c, function.h, gimple-ssa.h, libfuncs.h, optabs.c,
output.h, rtl.h, sese.c, symtab.c, tree-cfg.c, tree-dfa.c,
tree-ssa.c, varasm.c: Use hash-table instead of hashtab.
* doc/gty.texi (for_user): Document new option.
* gengtype.c (create_user_defined_type): Don't try to get a struct for
char.
(walk_type): Don't error out on for_user option.
(write_func_for_structure): Emit user marking routines if requested by
for_user option.
(write_local_func_for_structure): Likewise.
(main): Mark types with for_user option as used.
* ggc.h (gt_pch_nx): Add overload for unsigned int.
* hash-map.h (hash_map::hash_entry::pch_nx_helper): AddOverloads.
* hash-table.h (ggc_hasher): New struct.
(hash_table::create_ggc): New function.
(gt_pch_nx): New overload for hash_table.
java/
* class.c, decl.c, except.c, expr.c, java-tree.h, lang.c: Use
hash_table instead of hashtab.
objc/
* objc-act.c: use hash_table instead of hashtab.
cp/
* cp-gimplify.c, cp-tree.h, decl.c, mangle.c, name-lookup.c,
pt.c, semantics.c, tree.c, typeck2.c: Use hash_table instead of
hashtab.
fortran/
* trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.
c-family/
* c-common.c: Use hash_table instead of hashtab.
From-SVN: r216127
Manuel López-Ibáñez [Sun, 12 Oct 2014 15:05:28 +0000 (15:05 +0000)]
README: Do not mention CVS.
2014-10-12 Manuel López-Ibáñez <manu@gcc.gnu.org>
* INSTALL/README: Do not mention CVS.
From-SVN: r216126
Jason Merrill [Sun, 12 Oct 2014 01:42:31 +0000 (21:42 -0400)]
re PR c++/62115 (ICE with invalid default argument)
PR c++/62115
* class.c (build_base_path): Preserve rvalueness.
* call.c (convert_like_real) [ck_base]: Let convert_to_base handle &/*.
* rtti.c (build_dynamic_cast_1): Call convert_to_reference later.
From-SVN: r216124
GCC Administrator [Sun, 12 Oct 2014 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r216123
François-Xavier Coudert [Sat, 11 Oct 2014 16:57:32 +0000 (16:57 +0000)]
re PR fortran/48979 (FRACTION und EXPONENT return invalid results for infinity/NaN)
PR fortran/48979
* simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
(gfc_simplify_log): Likewise.
(gfc_simplify_scale): Likewise.
(gfc_simplify_exponent): Handle infinities and NaNs.
(gfc_simplify_fraction): Handle infinities.
(gfc_simplify_rrspacing): Handle signed zeros and NaNs.
(gfc_simplify_set_exponent): Handle infinities and NaNs.
(gfc_simplify_spacing): Handle zeros, infinities and NaNs.
* gfortran.dg/ieee/intrinsics_1.f90: New test.
From-SVN: r216120
Oleg Endo [Sat, 11 Oct 2014 13:11:58 +0000 (13:11 +0000)]
sh.h (TARGET_SH4A_ARCH): Remove macro.
gcc/
* config/sh/sh.h (TARGET_SH4A_ARCH): Remove macro.
* config/sh/sh.h: Replace uses of TARGET_SH4A_ARCH with TARGET_SH4A.
* config/sh/sh.c: Likewise.
* config/sh/sh-mem.cc: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/predicates.md: Likewise.
* config/sh/sync.md: Likewise.
From-SVN: r216119
Christophe Lyon [Sat, 11 Oct 2014 11:33:37 +0000 (11:33 +0000)]
target-supports.exp (check_effective_target_shared): New function.
2014-10-11 Christophe Lyon <christophe.lyon@linaro.org>
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_shared): New
function.
* g++.dg/ipa/devirt-28a.C: Check if -shared is supported.
From-SVN: r216117
Jason Merrill [Sat, 11 Oct 2014 02:26:33 +0000 (22:26 -0400)]
re PR c++/63194 (ICE in maybe_explain_implicit_delete, at cp/method.c:1552)
PR c++/63194
* method.c (defaulted_late_check): Call maybe_instantiate_noexcept.
From-SVN: r216114
GCC Administrator [Sat, 11 Oct 2014 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r216113
Martin Liska [Fri, 10 Oct 2014 23:37:42 +0000 (01:37 +0200)]
cgraphunit.c (symbol_table::process_new_functions): Missing call for call_cgraph_insertion_hooks added.
PR/63376
* cgraphunit.c (symbol_table::process_new_functions): Missing call
for call_cgraph_insertion_hooks added.
From-SVN: r216110
Jason Merrill [Fri, 10 Oct 2014 20:27:07 +0000 (16:27 -0400)]
method.c (implicitly_declare_fn): Handle deleted lambda default ctor and copy assop here.
* method.c (implicitly_declare_fn): Handle deleted lambda default
ctor and copy assop here.
* class.c (check_bases_and_members): Not here.
(add_implicitly_declared_members): And don't set
CLASSTYPE_LAZY_MOVE_ASSIGN.
From-SVN: r216105
Jason Merrill [Fri, 10 Oct 2014 20:24:36 +0000 (16:24 -0400)]
* semantics.c (finish_id_expression): Check for error_mark_node.
From-SVN: r216104
Jakub Jelinek [Fri, 10 Oct 2014 17:43:21 +0000 (19:43 +0200)]
re PR c/63495 (struct __attribute__ ((aligned (8))) broken on x86)
PR c/63495
* stor-layout.c (min_align_of_type): Don't decrease alignment
through BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN if
TYPE_USER_ALIGN is set.
* gcc.target/i386/pr63495.c: New test.
From-SVN: r216101
Uros Bizjak [Fri, 10 Oct 2014 17:36:21 +0000 (19:36 +0200)]
re PR target/63483 (Scheduler performs Invalid move of aliased memory reference)
PR rtl-optimization/63483
* alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P
references when alignment ANDs are involved.
(write_dependence_p): Ditto.
(may_alias_p): Ditto.
From-SVN: r216100
Marek Polacek [Fri, 10 Oct 2014 17:19:25 +0000 (17:19 +0000)]
asan.c (pass_sanopt::execute): Handle IFN_UBSAN_OBJECT_SIZE.
* asan.c (pass_sanopt::execute): Handle IFN_UBSAN_OBJECT_SIZE.
* doc/invoke.texi: Document -fsanitize=object-size.
* flag-types.h (enum sanitize_code): Add SANITIZE_OBJECT_SIZE and
or it into SANITIZE_UNDEFINED.
* gimple-fold.c (gimple_fold_call): Optimize IFN_UBSAN_OBJECT_SIZE.
* internal-fn.c (expand_UBSAN_OBJECT_SIZE): New function.
* internal-fn.def (UBSAN_OBJECT_SIZE): Define.
* opts.c (common_handle_option): Handle -fsanitize=object-size.
* ubsan.c: Include tree-object-size.h.
(ubsan_type_descriptor): Call tree_to_uhwi instead of tree_to_shwi.
(ubsan_expand_bounds_ifn): Use false instead of 0.
(ubsan_expand_objsize_ifn): New function.
(instrument_object_size): New function.
(pass_ubsan::execute): Add object size instrumentation.
* ubsan.h (ubsan_expand_objsize_ifn): Declare.
testsuite/
* c-c++-common/ubsan/object-size-1.c: New test.
* c-c++-common/ubsan/object-size-2.c: New test.
* c-c++-common/ubsan/object-size-3.c: New test.
* c-c++-common/ubsan/object-size-4.c: New test.
* c-c++-common/ubsan/object-size-5.c: New test.
* c-c++-common/ubsan/object-size-6.c: New test.
* c-c++-common/ubsan/object-size-7.c: New test.
* c-c++-common/ubsan/object-size-8.c: New test.
* c-c++-common/ubsan/object-size-9.c: New test.
* g++.dg/ubsan/object-size-1.C: New test.
* gcc.dg/ubsan/object-size-9.c: New test.
From-SVN: r216099
Jonathan Wakely [Fri, 10 Oct 2014 16:14:59 +0000 (17:14 +0100)]
* testsuite/Makefile.in: Regenerate.
From-SVN: r216098
Jonathan Wakely [Fri, 10 Oct 2014 16:14:52 +0000 (17:14 +0100)]
re PR libstdc++/49561 ([C++0x] std::list::size complexity)
PR libstdc++/49561
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
* configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
* configure: Regenerate.
* include/Makefile.am (stamp-cxx11-abi): New target.
(c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
define _GLIBCXX_DEFAULT_ABI_TAG.
* include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
Increment size.
(list::emplace(const_iterator, const value_type&)): Likewise.
(list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
list sizes.
* include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
(_List_base::_M_size): New data member in cxx11 ABI mode.
(_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
function.
(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
_List_base::_M_distance, _List_base::_M_node_count): New functions for
accessing list size correctly for the ABI mode.
(_List_base::_List_base(_List_base&&)): Copy size and reset source.
(_List_base::_M_init()): Initialize size member.
(list::size()): Use _List_base::_M_node_count.
(list::swap(list&)): Swap sizes.
(list::splice(iterator, list&)): Update sizes.
(list::splice(iterator, list&, iterator)): Likewise.
(list::insert(iterator, const value_type&)): Update size.
(list::insert(iterator, _Args&&...)): Likewise.
(list::_M_erase(iterator)): Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Adjust.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
# End of auto-generated commit message
Fix date and whitespace in libstdc++-v3/ChangeLog
From-SVN: r216097
Richard Henderson [Fri, 10 Oct 2014 15:56:07 +0000 (08:56 -0700)]
re PR target/63404 (gcc 5 miscompiles linux block layer)
PR target/63404
* shrink-wrap.c (move_insn_for_shrink_wrap): Don't use single_set.
Restrict the set of expressions we're willing to move.
From-SVN: r216096
Jeff Law [Fri, 10 Oct 2014 15:47:19 +0000 (09:47 -0600)]
ira.c (struct equivalence): Promote INIT_INSNs field to an rtx_insn_list.
* ira.c (struct equivalence): Promote INIT_INSNs field to
an rtx_insn_list. Add comments.
(no_equiv): Promote LIST to an rtx_insn_list. Update
testing for and creating the special marker. Use methods
to extract the insn and next pointers. Promote INSN to an
rtx_insn.
(update_equiv_regs): Update test for special marker in the
INIT_INSNs list.
From-SVN: r216095
Jonathan Wakely [Fri, 10 Oct 2014 15:33:57 +0000 (16:33 +0100)]
re PR libstdc++/49561 ([C++0x] std::list::size complexity)
PR libstdc++/49561
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
* configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
* configure: Regenerate.
* include/Makefile.am (stamp-cxx11-abi): New target.
(c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
define _GLIBCXX_DEFAULT_ABI_TAG.
* include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
Increment size.
(list::emplace(const_iterator, const value_type&)): Likewise.
(list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
list sizes.
* include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
(_List_base::_M_size): New data member in cxx11 ABI mode.
(_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
function.
(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
_List_base::_M_distance, _List_base::_M_node_count): New functions for
accessing list size correctly for the ABI mode.
(_List_base::_List_base(_List_base&&)): Copy size and reset source.
(_List_base::_M_init()): Initialize size member.
(list::size()): Use _List_base::_M_node_count.
(list::swap(list&)): Swap sizes.
(list::splice(iterator, list&)): Update sizes.
(list::splice(iterator, list&, iterator)): Likewise.
(list::insert(iterator, const value_type&)): Update size.
(list::insert(iterator, _Args&&...)): Likewise.
(list::_M_erase(iterator)): Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
Adjust.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Adjust.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
From-SVN: r216094
Arnaud Charlet [Fri, 10 Oct 2014 14:50:48 +0000 (16:50 +0200)]
Minor reformatting.
From-SVN: r216093
Arnaud Charlet [Fri, 10 Oct 2014 14:49:04 +0000 (16:49 +0200)]
[multiple changes]
2014-10-10 Robert Dewar <dewar@adacore.com>
* freeze.adb, sem_attr.adb: Minor reformatting.
2014-10-10 Johannes Kanig <kanig@adacore.com>
* a-cfdlli.ads, a-cfhama.ads, a-cfhase.ads, a-cforma.ads,
a-cforse.ads, a-cofove.ads: add "Default_Initial_Condition"
to container type.
2014-10-10 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): In Codepeer mode, do not try to get
any configuration switches from the project file.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Build_Wrapper): Renamed as Build_Operator_Wrapper.
(Build_Function_Wrapper): New function, to construct a wrapper
function for actuals that are functions with an arbitrary
number of parameters. Used in GNATProve mode to simplify proof
propagation in instantiations.
From-SVN: r216092
Arnaud Charlet [Fri, 10 Oct 2014 14:45:27 +0000 (16:45 +0200)]
[multiple changes]
2014-10-10 Robert Dewar <dewar@adacore.com>
* freeze.adb, gnat1drv.adb, sem_ch13.adb: Minor reformatting and
code clean up.
2014-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_res.adb (Is_OK_Volatile_Context): Allow
a volatile object reference to appear as the expression of a
type conversion.
From-SVN: r216091
Arnaud Charlet [Fri, 10 Oct 2014 14:42:22 +0000 (16:42 +0200)]
[multiple changes]
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications, Library_Unit_Aspects):
Aspect specification is legal on a local instantiation of a
library-level generic unit.
2014-10-10 Gary Dismukes <dismukes@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Set Front_End_Inlining
if inlining has been enabled via -gnatn and the target is not GCC.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Entity): Freezing a subprogram does
not always freeze its profile. In particular, an attribute
reference that takes the access type does not freeze the types
of the formals.
From-SVN: r216090
Arnaud Charlet [Fri, 10 Oct 2014 14:39:14 +0000 (16:39 +0200)]
[multiple changes]
2014-10-10 Robert Dewar <dewar@adacore.com>
* errout.adb (Adjust_Name_Case): New procedure.
(Set_Msg_Node): Use Adjust_Name_Case.
* errout.ads (Adjust_Name_Case): New procedure.
* exp_intr.adb (Add_Source_Info): Minor code reorganization
(use Ekind_In).
(Write_Entity_Name): Use Errout.Adjust_Name_Case.
* sem_prag.adb (Is_Non_Significant_Pragma_Reference): Review
and fix up entries in Sig_Flags, and correct logical errors in
function itself.
* sprint.adb (Sprint_Node_Actual): Properly print string for
raise statement.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): For an object of an
anonymous array type with delayed aspects, defer freezing of
type until object itself is frozen.
* freeze.adb (Freeze_Entity): When freezing an object of an
anonymous array type with delayed aspects, remove freeze node of
object after freezing type, to prevent out-of-order elaboration
in the back-end. The initialization call for the object has
already been constructed when expanding the object declaration.
From-SVN: r216089
Robert Dewar [Fri, 10 Oct 2014 14:36:07 +0000 (14:36 +0000)]
exp_intr.adb (Write_Entity_Name): Moved to outer level
2014-10-10 Robert Dewar <dewar@adacore.com>
* exp_intr.adb (Write_Entity_Name): Moved to outer level
(Write_Entity_Name): Properly handle operator names
(Expand_Source_Info): New procedure.
* exp_intr.ads (Add_Source_Info): New procedure.
2014-10-10 Robert Dewar <dewar@adacore.com>
* butil.ads: Minor reformatting.
* sem_ch5.adb: Code clean up.
2014-10-10 Robert Dewar <dewar@adacore.com>
* exp_ch11.adb (Expand_N_Raise_Statement): Handle
Prefix_Exception_Messages.
* opt.adb: Handle new flags Prefix_Exception_Message[_Config].
* opt.ads: New flags Prefix_Exception_Message[_Config].
* par-prag.adb: New dummy entry for pragma Prefix_Exception_Messages.
* snames.ads-tmpl: Add entries for new pragma Prefix_Exception_Messages.
* sem_prag.adb: Implement new pragma Prefix_Exception_Messages
* gnat_rm.texi: Document pragma Prefix_Exception_Messages.
From-SVN: r216088
Arnaud Charlet [Fri, 10 Oct 2014 14:32:30 +0000 (16:32 +0200)]
[multiple changes]
2014-10-10 Gary Dismukes <dismukes@adacore.com>
* sinfo.ads, gnat_ugn.texi, a-except.adb, a-except-2005.adb,
raise-gcc.c Spelling changes (prolog => prologue, epilog => epilogue).
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Is_Wrapped_In_Block): Handle properly blocks that
contain pragmas generated for loop invariants and type predicates.
Clarify use of this subprogram.
From-SVN: r216087
Arnaud Charlet [Fri, 10 Oct 2014 14:00:07 +0000 (16:00 +0200)]
[multiple changes]
2014-10-10 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Analyze_Global_Item): Accept formal objects in Global
contracts.
* errout.adb, errout.ads (SPARK_Msg_NE): Issue error unless
SPARK_Mode is Off.
2014-10-10 Vadim Godunko <godunko@adacore.com>
* a-stwima.adb (To_Sequence): Compute size of result array.
2014-10-10 Javier Miranda <miranda@adacore.com>
* gnat_ugn.texi (Interfacing with C++ at the Class Level): Update the
sources of the example to avoid a warning when the Ada files are
automatically generated by the binding generator.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'Update): Set
Do_Range_Check on the expression of a record component
association when needed, as is done for array components, when
the corresponding type is a scalar type.
From-SVN: r216084
Arnaud Charlet [Fri, 10 Oct 2014 13:57:55 +0000 (15:57 +0200)]
[multiple changes]
2014-10-10 Gary Dismukes <dismukes@adacore.com>
* a-coinho-shared.adb: Minor typo fix.
* prj-env.ads: Minor reformatting.
2014-10-10 Hristian Kirtchev <kirtchev@adacore.com>
* sem_res.adb (Resolve_String_Literal): Do not
generate a string literal subtype for the default expression of
a formal parameter in GNATprove mode.
2014-10-10 Yannick Moy <moy@adacore.com>
* errout.adb (SPARK_Msg_N): Issue error unless SPARK_Mode is Off.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Formal_Container_Element_Loop): Analyze
declaration for loop parameter before rest of loop, and set
entity kind to prevent assignments to it in the user code.
* sem_ch3.adb (Analyze_Object_Contract): No contracts apply to the
loop parameter in an element iteration over o formal container.
2014-10-10 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document use of user-level routines to handle
e.g. col major arrays.
2014-10-10 Doug Rupp <rupp@adacore.com>
* s-osinte-android.adb: Fix misspelling.
* gsocket.h: Tweak the Android quirks.
2014-10-10 Robert Dewar <dewar@adacore.com>
* errout.ads (SPARK_Msg_N): Fix spec to match change in body.
From-SVN: r216083
Max Ostapenko [Fri, 10 Oct 2014 13:41:13 +0000 (16:41 +0300)]
asan-dg.exp (asan_link_flags): Save ld_library_path.
gcc/testsuite/
2014-10-10 Max Ostapenko <m.ostapenko@partner.samsung.com>
* lib/asan-dg.exp (asan_link_flags): Save ld_library_path.
(asan_finish): Remove restore_ld_library_path_env_vars.
Restore ld_library_path with saved value. Restore LD_LIBRARY_PATH
related env variables by calling set_ld_library_path_env_vars.
* lib/tsan-dg.exp (tsan_link_flags): Save ld_library_path.
(tsan_finish): Remove restore_ld_library_path_env_vars.
Restore ld_library_path with saved value. Restore LD_LIBRARY_PATH
related env variables by calling set_ld_library_path_env_vars.
* lib/ubsan-dg.exp (ubsan_link_flags): Save ld_library_path.
(ubsan_finish): Remove restore_ld_library_path_env_vars.
Restore ld_library_path with saved value. Restore LD_LIBRARY_PATH
related env variables by calling set_ld_library_path_env_vars.
From-SVN: r216082
Arnaud Charlet [Fri, 10 Oct 2014 13:28:21 +0000 (15:28 +0200)]
[multiple changes]
2014-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb: Minor code reorganization.
2014-10-10 Pat Rogers <rogers@adacore.com>
* gnat_rm.texi: Text now indicates pragma No_Run_Time is not
for users.
2014-10-10 Vadim Godunko <godunko@adacore.com>
* a-coinho-shared.adb: Add minor comment.
* a-stzmap.adb (To_Sequence): Compute size of result array.
From-SVN: r216081
Javier Miranda [Fri, 10 Oct 2014 13:23:22 +0000 (13:23 +0000)]
exp_ch3.adb (Build_Init_Procedure): Complete the condition of an if-stmt to match its current documentation.
2014-10-10 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Complete the condition of an
if-stmt to match its current documentation.
From-SVN: r216080
Kyrylo Tkachov [Fri, 10 Oct 2014 12:31:51 +0000 (12:31 +0000)]
[AArch64] Add --enable-fix-cortex-a53-835769 configure-time option
* configure.ac: Add --enable-fix-cortex-a53-835769 option.
* configure: Regenerate.
* config/aarch64/aarch64.c (aarch64_override_options): Handle
TARGET_FIX_ERR_A53_835769_DEFAULT.
* config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
value to 2.
* doc/install.texi (aarch64*-*-*): Document
new --enable-fix-cortex-a53-835769 option.
From-SVN: r216076
Kyrylo Tkachov [Fri, 10 Oct 2014 12:28:45 +0000 (12:28 +0000)]
[AArch64] Implement workaround for ARM Cortex-A53 erratum 835769
* config/aarch64/aarch64.h (FINAL_PRESCAN_INSN): Define.
(ADJUST_INSN_LENGTH): Define.
* config/aarch64/aarch64.opt (mfix-cortex-a53-835769): New option.
* config/aarch64/aarch64.c (is_mem_p): New function.
(is_memory_op): Likewise.
(aarch64_prev_real_insn): Likewise.
(is_madd_op): Likewise.
(dep_between_memop_and_curr): Likewise.
(aarch64_madd_needs_nop): Likewise.
(aarch64_final_prescan_insn): Likewise.
* doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-835769
and -mno-fix-cortex-a53-835769 options.
From-SVN: r216075
Arnaud Charlet [Fri, 10 Oct 2014 12:21:19 +0000 (14:21 +0200)]
[multiple changes]
2014-10-10 Robert Dewar <dewar@adacore.com>
* sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb,
freeze.adb, sem_util.adb, sem_res.adb, exp_ch6.adb, exp_ch13.adb,
sem_ch6.adb, sem_cat.adb, sem_disp.adb
(Is_Subprogram_Or_Generic_Subprogram): New primitive. Use this primitive
throughout where appropriate.
2014-10-10 Bob Duff <duff@adacore.com>
* a-coinho-shared.ads: Minor reformatting.
* s-traceb.adb: Minor clean up.
2014-10-10 Robert Dewar <dewar@adacore.com>
* ali.adb (Scan_ALI): Read and process new GP flag on ALI P line.
* ali.ads (GNATprove_Mode): New component in ALI table.
(GNATprove_Mode_Specified): New global.
* gnatbind.adb (Gnatbind): Give fatal error if any file compiled
in GNATProve mode.
* lib-writ.ads, lib-writ.adb (GP): New flag on P line for
GNATProve_Mode.
2014-10-10 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Adding assertion.
(Build_Init_Statement): Ensure that statements
associated with the parent components are located at the beginning
of the returned list of statements.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Inherit_Aspects_At_Freeze_Node): If the full
view of a private type T that has a type invariant is a scalar
or constrained array type, the base type created for the full
view has the same type invariant.
From-SVN: r216074
Robert Dewar [Fri, 10 Oct 2014 12:18:17 +0000 (12:18 +0000)]
exp_util.ads, [...]: Minor code reorganization.
2014-10-10 Robert Dewar <dewar@adacore.com>
* exp_util.ads, sem_ch12.adb, exp_util.adb, i-fortra.ads: Minor code
reorganization.
From-SVN: r216073
Jakub Jelinek [Fri, 10 Oct 2014 12:15:30 +0000 (14:15 +0200)]
re PR tree-optimization/63464 (compare one character to many: faster)
PR tree-optimization/63464
* tree-switch-conversion.c (struct case_bit_test): Remove
hi and lo fields, add wide_int mask field.
(emit_case_bit_tests): Add MAXVAL argument, rewrite uses of
hi/lo fields into wide_int mask operations, optimize by pretending
minval to be 0 if maxval is small enough.
(process_switch): Adjust caller.
From-SVN: r216072
Richard Biener [Fri, 10 Oct 2014 11:17:13 +0000 (11:17 +0000)]
re PR tree-optimization/63379 (Incorrect vectorization when enabling SSE and O3, initialises loop with wrong value)
2014-10-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/63379
* tree-vect-slp.c (vect_get_constant_vectors): Do not compute
a neutral operand for min/max when it is not a reduction chain.
* gcc.dg/vect/pr63379.c: New testcase.
From-SVN: r216070
Jakub Jelinek [Fri, 10 Oct 2014 11:08:37 +0000 (13:08 +0200)]
re PR fortran/59488 ([OpenMP] named constant in parallel construct leads to "not specified in enclosing parallel" error.)
PR fortran/59488
* trans-openmp.c (gfc_omp_predetermined_sharing): Return
OMP_CLAUSE_DEFAULT_SHARED for parameters or vtables.
* gfortran.dg/gomp/pr59488-1.f90: New test.
* gfortran.dg/gomp/pr59488-2.f90: New test.
From-SVN: r216067
Richard Biener [Fri, 10 Oct 2014 11:04:39 +0000 (11:04 +0000)]
re PR tree-optimization/63476 (ICE: tree check: expected ssa_name, have var_decl in walk_aliased_vdefs_1, at tree-ssa-alias.c:2689)
2014-10-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/63476
* tree-ssa-pre.c (struct bb_bitmap_sets): Add vop_on_exit member.
(BB_LIVE_VOP_ON_EXIT): New define.
(create_expression_by_pieces): Assign VUSEs to stmts.
(compute_avail): Track BB_LIVE_VOP_ON_EXIT.
(pass_pre::execute): Assert virtual SSA form is up-to-date
after insertion.
* g++.dg/torture/pr63476.C: New testcase.
From-SVN: r216065
Eric Botcazou [Fri, 10 Oct 2014 08:27:52 +0000 (08:27 +0000)]
* lra-assigns.c (assign_by_spills): Fix thinko in previous change.
From-SVN: r216060
Eric Botcazou [Fri, 10 Oct 2014 08:09:39 +0000 (08:09 +0000)]
* lra-assigns.c (assign_by_spills): Error out on spill failure.
From-SVN: r216059
Tobias Burnus [Fri, 10 Oct 2014 06:00:26 +0000 (08:00 +0200)]
gfortran.h (gfc_set_implicit_none): Update prototype.
2014-10-10 Tobias Burnus <burnus@net-b.de>
gcc/fortran/
* gfortran.h (gfc_set_implicit_none): Update prototype.
* symbol.c (gfc_set_implicit_none): Take and
use error location. Move diagnostic from here to ...
* decl.c (gfc_match_implicit_none): ... here. And
update call. Handle empty implicit-none-spec.
(gfc_match_implicit): Handle statement-separator ";".
gcc/testsuite/
* gfortran.dg/implicit_16.f90: New.
From-SVN: r216057
Jason Merrill [Fri, 10 Oct 2014 03:28:18 +0000 (23:28 -0400)]
re PR c++/63207 (ICE in expand_expr_real_l when instantiating a template with a lambda that captures a const variable with a dependent initializer)
PR c++/63207
* semantics.c (outer_var_p): Non-static.
(process_outer_var_ref): Split out from finish_id_expression.
* pt.c (tsubst_copy_and_build): Call them.
* cp-tree.h: Declare them.
From-SVN: r216056
GCC Administrator [Fri, 10 Oct 2014 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r216054
Ian Lance Taylor [Thu, 9 Oct 2014 23:56:07 +0000 (23:56 +0000)]
compiler: Permit "for range x" clauses.
Fixes Issue 8370.
From-SVN: r216051
Paolo Carlini [Thu, 9 Oct 2014 19:22:53 +0000 (19:22 +0000)]
semantics.c (check_constexpr_ctor_body_1): New.
/cp
2014-10-09 Paolo Carlini <paolo.carlini@oracle.com>
* semantics.c (check_constexpr_ctor_body_1): New.
(check_constexpr_ctor_body): Use it; add bool parameter.
(build_data_member_initialization): Handle BIND_EXPR and
USING_STMT in the main conditional.
(build_constexpr_constructor_member_initializers): Do not
handle BIND_EXPR here.
(constexpr_fn_retval): Handle BIND_EXPR in the switch.
(massage_constexpr_body): Don't do it here.
* parser.c (cp_parser_ctor_initializer_opt_and_function_body):
Adjust check_constexpr_ctor_body call.
(cp_parser_compound_statement): Do not pedwarn for compound-statement
in constexpr function in C++14 mode.
* cp-tree.h (check_constexpr_ctor_body): Update declaration.
/testsuite
2014-10-09 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/constexpr-using3.C: New.
* g++.dg/cpp1y/constexpr-local-compound1.C: Likewise.
* g++.dg/cpp1y/constexpr-type-def-compound1.C: Likewise.
* g++.dg/cpp1y/constexpr-local1.C: Extend.
* g++.dg/cpp0x/constexpr-compound.C: Specify expected error.
From-SVN: r216049
Joseph Myers [Thu, 9 Oct 2014 18:21:30 +0000 (19:21 +0100)]
Update soft-fp from glibc.
This patch updates libgcc's copy of soft-fp from glibc, adding a
testcase for a bug fix this brings in.
Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
libgcc:
* soft-fp/double.h: Update from glibc.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
* config/c6x/eqd.c (__c6xabi_eqd): Update call to FP_CMP_EQ_D.
* config/c6x/eqf.c (__c6xabi_eqf): Update call to FP_CMP_EQ_S.
* config/c6x/ged.c (__c6xabi_ged): Update call to FP_CMP_D.
* config/c6x/gef.c (__c6xabi_gef): Update call to FP_CMP_S.
* config/c6x/gtd.c (__c6xabi_gtd): Update call to FP_CMP_D.
* config/c6x/gtf.c (__c6xabi_gtf): Update call to FP_CMP_S.
* config/c6x/led.c (__c6xabi_led): Update call to FP_CMP_D.
* config/c6x/lef.c (__c6xabi_lef): Update call to FP_CMP_S.
* config/c6x/ltd.c (__c6xabi_ltd): Update call to FP_CMP_D.
* config/c6x/ltf.c (__c6xabi_ltf): Update call to FP_CMP_S.
gcc/testsuite:
* gcc.dg/torture/float128-extendxf-underflow.c: New test.
From-SVN: r216048
Jonathan Wakely [Thu, 9 Oct 2014 18:17:28 +0000 (19:17 +0100)]
re PR libstdc++/61909 (Small function optimization not applied to small objects)
PR libstdc++/61909
* include/std/functional (__is_location_invariant): Treat all
trivially copyable types as location invariant.
From-SVN: r216047
Jonathan Wakely [Thu, 9 Oct 2014 18:17:23 +0000 (19:17 +0100)]
re PR libstdc++/63322 (std::atomic<T> where T is not trivially copyable should be disabled.)
PR libstdc++/63322
* include/std/atomic (atomic): Add assertion for trivially copyable.
* testsuite/29_atomics/atomic/60695.cc: Adjust line number.
From-SVN: r216046
Jonathan Wakely [Thu, 9 Oct 2014 18:17:07 +0000 (19:17 +0100)]
status_cxx2011.xml: Update.
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.
From-SVN: r216045
Jason Merrill [Thu, 9 Oct 2014 18:05:29 +0000 (14:05 -0400)]
re PR c++/63309 (internal compiler error: Segmentation fault)
PR c++/63309
* parser.c (cp_parser_class_head): push_template_decl for members
of templates, too.
From-SVN: r216044
Jason Merrill [Thu, 9 Oct 2014 18:05:23 +0000 (14:05 -0400)]
re PR c++/63415 (internal compiler error: unexpected expression ‘static_cast<int>(std::is_same<T, A1>{})’ of kind static_cast_expr)
PR c++/63415
* pt.c (value_dependent_expression_p) [CONSTRUCTOR]: Check the type.
(iterative_hash_template_arg): Likewise.
From-SVN: r216043
Jason Merrill [Thu, 9 Oct 2014 18:05:17 +0000 (14:05 -0400)]
re PR c++/63437 ([C++14] Parenthesized "movable but not copyable" object doesn't compile in return statement)
PR c++/63437
* cp-tree.h (REF_PARENTHESIZED_P): Also allow INDIRECT_REF.
* semantics.c (force_paren_expr): And set it.
* typeck.c (check_return_expr): And handle it.
From-SVN: r216042
Markus Trippelsdorf [Thu, 9 Oct 2014 17:52:00 +0000 (17:52 +0000)]
Fix r216010 fallout
This fixes fallout from r216010, which causes Firefox build failures.
Just move the gcc_assert below the new if statement.
From-SVN: r216041
Marc Glisse [Thu, 9 Oct 2014 13:53:54 +0000 (15:53 +0200)]
decl.c (grokdeclarator): constexpr only implies const in C++11.
2014-10-09 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* decl.c (grokdeclarator): constexpr only implies const in C++11.
gcc/testsuite/
* g++.dg/cpp0x/constexpr-52892-1.C: Error on missing const in C++14.
* g++.dg/cpp0x/constexpr-array-ptr7.C: Likewise.
* g++.dg/cpp0x/constexpr-diag1.C: Add const.
* g++.dg/cpp0x/constexpr-diag3.C: Likewise.
* g++.dg/cpp0x/constexpr-ex1.C: Likewise.
* g++.dg/cpp0x/constexpr-ex2.C: Likewise.
* g++.dg/cpp0x/constexpr-ex4.C: Likewise.
* g++.dg/cpp0x/constexpr-initlist.C: Likewise.
* g++.dg/cpp0x/constexpr-ptrmem.C: Likewise.
* g++.dg/cpp0x/constexpr-ptrsub.C: Likewise.
* g++.dg/cpp0x/constexpr-ref4.C: Likewise.
* g++.dg/cpp0x/constexpr-static6.C: Likewise.
From-SVN: r216039
Richard Biener [Thu, 9 Oct 2014 12:45:07 +0000 (12:45 +0000)]
re PR tree-optimization/63380 (Wrong constant folding)
2014-10-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/63380
* tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
may trap.
* gcc.dg/torture/pr63380-1.c: New testcase.
* gcc.dg/torture/pr63380-2.c: Likewise.
From-SVN: r216038
Francois-Xavier Coudert [Thu, 9 Oct 2014 09:47:25 +0000 (09:47 +0000)]
f95-lang.c (gfc_init_builtin_functions): Add more floating-point built-ins.
* f95-lang.c (gfc_init_builtin_functions): Add more floating-point
built-ins.
* mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb,
remainder, rint and signbit.
* trans-decl.c (save_fp_state, restore_fp_state): Move to
trans-intrinsic.c
(gfc_generate_function_code): Use new names for these two functions.
* trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to
emit code from the front-end.
* trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state,
conv_ieee_function_args, conv_intrinsic_ieee_builtin,
conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative,
conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem,
conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb,
conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function):
New functions.
* trans.h (gfc_conv_ieee_arithmetic_function,
gfc_save_fp_state, gfc_restore_fp_state): New prototypes.
* ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*,
ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*,
ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*,
ieee_rem_*, ieee_next_after_*): Remove functions.
* gfortran.map (GFORTRAN_1.5): Remove corresponding symbols.
From-SVN: r216036
Joern Rennecke [Thu, 9 Oct 2014 08:58:44 +0000 (08:58 +0000)]
avr.opt (mmcu=): Change to have a string value.
* config/avr/avr.opt (mmcu=): Change to have a string value.
(mn-flash=, mskip-bug, march=, mrmw): New options.
(HeaderInclude): New.
(mmcu=): Remove Var / Init clauses.
* config/avr/avr.h (DRIVER_SELF_SPECS): Translate -mmcu into a
-specs option.
(SYMBOL_FLAG_IO, SYMBOL_FLAG_ADDRESS): Define.
(ASM_OUTPUT_ALIGNED_BSS): Use avr_asm_asm_output_aligned_bss.
(SYMBOL_FLAG_IO_LOW): Define.
(avr_device_to_as, avr_device_to_ld): Don't declare.
(avr_device_to_data_start, avr_device_to_startfiles): Likewise.
(avr_device_to_devicelib, avr_device_to_sp8): Likewise.
(EXTRA_SPEC_FUNCTIONS): Don't define.
(ASM_SPEC): Translate -arch= option to -mmcu= option.
(LINK_SPEC): Translate -arch= option to -m= option.
Don't use device_to_ld / device_to_data_start.
(STARTFILE_SPEC): Now empty.
(ASM_SPEC): Add -%{mrelax: --mlink-relax}.
* config/avr/gen-avr-mmcu-specs.c: New file.
* config/avr/t-avr (gen-avr-mmcu-specs$(build_exeext)): New rule.
(s-device-specs): Likewise.
(GCC_PASSES): Add s-device-specs.
(install-driver): Depend on install-device-specs.
(install-device-specs): New rule.
* config/avr/avr.c (avr_option_override): Look up mcu arch by
avr_arch_index and provide fallback initialization for avr_n_flash.
(varasm.h): #include.
(avr_print_operand) <i>: Allow SYMBOL_REF with SYMBOL_FLAG_IO;
(avr_handle_addr_attribute, avr_eval_addr_attrib): New functions.
(avr_attribute_table): Add "io", "address" and "io_low".
(avr_asm_output_aligned_decl_common): Change type of decl to tree.
Add special handling for symbols with "io" and/or "address" attributes.
(avr_asm_asm_output_aligned_bss): New function.
(avr_encode_section_info): Set SYMBOL_FLAG_IO and SYMBOL_FLAG_ADDRESS
as appropriate. Handle io_low attribute.
(avr_out_sbxx_branch): Handle symbolic io addresses.
(avr_xload_libgcc_p, avr_nonconst_pointer_addrspace): Use
avr_n_flash instead of avr_current_device->n_flash.
(avr_pgm_check_var_decl, avr_insert_attributes): Likewise.
(avr_emit_movmemhi): Likewise.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Likewise.
Use TARGET_RMW instead of avr_current_device->dev_attributes.
Don't define avr_current_device->macro (that's the specfile's job).
Use TARGET_SKIP_BUG instead of avr_current_device->errata_skip.
* config/avr/avr.c (avr_2word_insn_p): Likewise.
* config/avr/avr.md (*cpse.ne): Likewise.
(mov<mode>): Use avr_eval_addr_attrib.
(cbi): Change constraint for low_io_address_operand operand to "i".
(sbi, sbix_branch, sbix_branch_bit7, insv.io, insv.not.io): Likewise.
* config/avr/predicates.md (io_address_operand):
Allow SYMBOL_REF with SYMBOL_FLAG_IO.
(low_io_address_operand): Allow SYMBOL_REF with SYMBOL_FLAG_IO_LOW.
* config/avr/avr-protos.h (avr_asm_output_aligned_decl_common):
Update prototype.
(avr_eval_addr_attrib, avr_asm_asm_output_aligned_bss): Prototype.
* config/avr/genmultilib.awk: Use -march=.
Remove Multilib matches processing.
* config/avr/t-multilib, config/avr/avr-tables.opt: Regenerate.
* config/avr/avr-arch.h: Add double include guard.
(avr_mcu_t) <library_name>: Update comment.
* config/avr/driver-avr.c (avr_device_to_as): Delete.
(avr_device_to_ld, avr_device_to_data_start): Likewise.
(avr_device_to_startfiles, avr_device_to_devicelib): Likewise.
(avr_device_to_sp8): Likewise.
* config/avr/genopt.sh: Instead avr_mcu, emit an Enum for avr_arch.
* doc/extend.texi (io, address): Document new AVR variable attributes.
(io_low): Likewise.
From-SVN: r216034
Marek Polacek [Thu, 9 Oct 2014 08:51:00 +0000 (08:51 +0000)]
* doc/invoke.texi: Document -fsanitize=bool and -fsanitize=enum.
From-SVN: r216033
Ville Voutilainen [Thu, 9 Oct 2014 08:37:26 +0000 (11:37 +0300)]
re PR libstdc++/60132 (C++11: lack of is_trivially_copy_constructible)
2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/60132
* include/std/type_traits (is_trivially_copyable,
is_trivially_constructible, is_trivially_default_constructible,
is_trivially_copy_constructible, is_trivially_move_constructible,
is_trivially_assignable, is_trivially_copy_assignable,
is_trivially_move_assignable): New.
* testsuite/20_util/is_trivially_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_copyable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_copyable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
* testsuite/20_util/is_trivially_copy_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_copy_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_trivially_copy_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_copy_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/
value.cc: Likewise.
* testsuite/20_util/is_trivially_move_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_move_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_trivially_move_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_trivially_move_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_trivially_move_constructible/value.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r216032
Marek Polacek [Thu, 9 Oct 2014 08:25:50 +0000 (08:25 +0000)]
re PR c/63480 (-Wmissing-field-initializers should not warn about intentionally empty initializers (or that should be a separate option))
PR c/63480
* c-typeck.c (pop_init_level): Don't warn about initializing
with { }.
* gcc.dg/pr63480.c: New test.
From-SVN: r216031
Richard Biener [Thu, 9 Oct 2014 08:21:46 +0000 (08:21 +0000)]
re PR lto/61969 (wrong code by LTO on i?86-linux-gnu (affecting trunk, 4.9.x, and 4.8.x))
2014-10-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/61969
* tree-nrv.c (pass_nrv::execute): Properly test for automatic
variables.
From-SVN: r216029
Richard Biener [Thu, 9 Oct 2014 08:20:53 +0000 (08:20 +0000)]
re PR tree-optimization/63445 (request: make -Wstrict-overflow avoid a class of false positives)
2014-10-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/63445
* tree-vrp.c (simplify_cond_using_ranges): Only warn about
overflow for non-equality compares.
* gcc.dg/Wstrict-overflow-26.c: New testcase.
From-SVN: r216028
Francois-Xavier Coudert [Thu, 9 Oct 2014 07:40:39 +0000 (07:40 +0000)]
re PR libquadmath/55821 (Release tarballs (unconditionally) install libquadmath.info when libquadmath is not supported)
PR libquadmath/55821
* Makefile.am: Conditionally define info_TEXINFOS and
libquadmath_TEXINFOS.
* Makefile.in: Regenerate.
From-SVN: r216027
Uros Bizjak [Thu, 9 Oct 2014 06:36:08 +0000 (08:36 +0200)]
re PR rtl-optimization/57003 (gcc breaks -O2 optimization with Wine(64) - links/info/bisect of commits included)
PR rtl-optimization/57003
* regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
also check CALL_INSN_FUNCTION_USAGE for clobbers again after
killing regs_invalidated_by_call.
From-SVN: r216026
Teresa Johnson [Thu, 9 Oct 2014 04:38:24 +0000 (04:38 +0000)]
re PR bootstrap/63432 (profiledbootstrap failure with bootstrap-lto)
2014-10-07 Teresa Johnson <tejohnson@google.com>
PR bootstrap/63432.
* tree-ssa-threadupdate.c (estimated_freqs_path): New function.
(ssa_fix_duplicate_block_edges): Invoke it.
(mark_threaded_blocks): Make two passes to avoid ordering dependences.
From-SVN: r216024
GCC Administrator [Thu, 9 Oct 2014 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r216023
Oleg Endo [Wed, 8 Oct 2014 23:13:02 +0000 (23:13 +0000)]
re PR target/52941 (SH Target: Add support for movco.l / movli.l atomics on SH4A)
gcc/
PR target/52941
* config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
atomic_fetch_<fetchop_name>si_hard,
atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard,
atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard,
atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard,
atomic_nand_fetch<mode>_hard): Add missing set of T_REG.
From-SVN: r216018
Pat Haugen [Wed, 8 Oct 2014 22:07:40 +0000 (22:07 +0000)]
3c-01a.c: Add default options from vmx.exp.
* gcc.dg/vmx/3c-01a.c: Add default options from vmx.exp.
* gcc.dg/vmx/ops.c: Likewise.
* gcc.dg/vmx/ops-long-1.c: Likewise.
From-SVN: r216017
Dominique d'Humieres [Wed, 8 Oct 2014 21:53:21 +0000 (23:53 +0200)]
ChangeLog: Remove duplicated gfortran.dg.
2014-10-08 Dominique d'Humieres <dominiq@lps.ens.fr>
* ChangeLog: Remove duplicated gfortran.dg.
* gfortran.dg/implicit_4.f90: Fix some dg-error.
From-SVN: r216016
Rong Xu [Wed, 8 Oct 2014 21:51:41 +0000 (21:51 +0000)]
Add overlap functionality to gcov-tool.
2014-10-08 Rong Xu <xur@google.com>
* gcc/gcov-tool.c (profile_overlap): New driver function
to compute profile overlap.
(print_overlap_usage_message): New.
(overlap_usage): New.
(do_overlap): New.
(print_usage): Add calls to overlap function.
(main): Ditto.
* libgcc/libgcov-util.c (read_gcda_file): Fix format.
(find_match_gcov_info): Ditto.
(calculate_2_entries): New.
(compute_one_gcov): Ditto.
(gcov_info_count_all_cold): Ditto.
(gcov_info_count_all_zero): Ditto.
(extract_file_basename): Ditto.
(get_file_basename): Ditto.
(set_flag): Ditto.
(matched_gcov_info): Ditto.
(calculate_overlap): Ditto.
(gcov_profile_overlap): Ditto.
* libgcc/libgcov-driver.c (compute_summary): Make
it avavilable for external calls.
* gcc/doc/gcov-tool.texi: Add documentation.
From-SVN: r216015
Jason Merrill [Wed, 8 Oct 2014 21:05:50 +0000 (17:05 -0400)]
re PR c++/63405 (ICE in cp_perform_integral_promotions, at cp/typeck.c:2084)
PR c++/63405
* pt.c (tsubst_pack_expansion): Limit simple expansion to type packs.
From-SVN: r216013
Jason Merrill [Wed, 8 Oct 2014 20:27:11 +0000 (16:27 -0400)]
re PR c++/63485 (ICE: canonical types differ for identical types A<const wchar_t [3]>::type and const char_type [3])
PR c++/63485
* tree.c (build_cplus_array_type): Look for a type with no
typedef-name or attributes.
From-SVN: r216012
Steve Ellcey [Wed, 8 Oct 2014 20:08:04 +0000 (20:08 +0000)]
mti-linux.h (DRIVER_SELF_SPECS): Change LINUX64_DRIVER_SELF_SPECS to LINUX_DRIVER_SELF_SPECS
2014-10-08 Steve Ellcey <sellcey@mips.com>
* config/mips/mti-linux.h (DRIVER_SELF_SPECS): Change
LINUX64_DRIVER_SELF_SPECS to LINUX_DRIVER_SELF_SPECS
From-SVN: r216011
Jan Hubicka [Wed, 8 Oct 2014 17:10:00 +0000 (19:10 +0200)]
ipa-polymorphic-call.c (extr_type_from_vtbl_store): Do better pattern matching of MEM_REF.
* ipa-polymorphic-call.c (extr_type_from_vtbl_store): Do better
pattern matching of MEM_REF.
(check_stmt_for_type_change): Update.
From-SVN: r216010
Steve Ellcey [Wed, 8 Oct 2014 16:14:11 +0000 (16:14 +0000)]
linux64.h: Remove.
2014-10-08 Steve Ellcey <sellcey@mips.com>
* config/mips/linux64.h: Remove.
* config/mips/gnu-user64.h: Remove.
* gcc.config (mips*-*-*): Remove references to linux64.h and
gnu-user64.h
* config/mips/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): Replace
with modified version from gnu-user64.h.
(LINUX_DRIVER_SELF_SPECS): Update parts from gnu-user64.h.
(LOCAL_LABEL_PREFIX): Copy from gnu-user64.h.
* config/mips/linux.h (GNU_USER_LINK_EMULATION32): Copy from
linux64.h.
(GNU_USER_LINK_EMULATION64): Ditto.
(GNU_USER_LINK_EMULATIONN32): Ditto.
(GLIBC_DYNAMIC_LINKER32): Ditto.
(GLIBC_DYNAMIC_LINKER64): Ditto.
(GLIBC_DYNAMIC_LINKERN32): Ditto.
(UCLIBC_DYNAMIC_LINKER32): Ditto.
(UCLIBC_DYNAMIC_LINKER64): Ditto.
(UCLIBC_DYNAMIC_LINKERN32): Ditto.
(BIONIC_DYNAMIC_LINKERN32): Ditto.
(GNU_USER_DYNAMIC_LINKERN32): Ditto.
(GLIBC_DYNAMIC_LINKER): Delete.
(UCLIBC_DYNAMIC_LINKER): Delete.
From-SVN: r216008
Francois-Xavier Coudert [Wed, 8 Oct 2014 15:33:41 +0000 (15:33 +0000)]
re PR libquadmath/63487 (typo in documentation)
PR libquadmath/63487
* libquadmath.texi (sincosq): Fix typo.
From-SVN: r216006
Jason Merrill [Wed, 8 Oct 2014 14:15:06 +0000 (10:15 -0400)]
call.c (call_copy_ctor): New.
* call.c (call_copy_ctor): New.
(build_over_call): Use it to avoid infinite recursion on invalid code.
From-SVN: r216005
Ian Lance Taylor [Wed, 8 Oct 2014 14:03:13 +0000 (14:03 +0000)]
re PR go/60406 (recover.go: test13reflect2 test failure)
PR go/60406
runtime: Check callers in can_recover if return address doesn't match.
Also use __builtin_extract_return_address and tighten up the
checks in FFI code.
Fixes PR 60406.
From-SVN: r216003
Jonathan Wakely [Wed, 8 Oct 2014 13:25:30 +0000 (14:25 +0100)]
locale_facets.tcc (num_put::_M_insert_float): Do not pass precision when using hexfloat format.
* include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
pass precision when using hexfloat format.
* src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
output precision if C99 hexfloat conversion specifiers not available.
From-SVN: r216001
Joern Rennecke [Wed, 8 Oct 2014 12:33:43 +0000 (12:33 +0000)]
cfgexpand.c (expand_debug_expr): Get address space from operand 0 (BASE).
* cfgexpand.c (expand_debug_expr) <TARGET_MEM_REF>:
Get address space from operand 0 (BASE).
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r216000
Rainer Orth [Wed, 8 Oct 2014 11:06:04 +0000 (11:06 +0000)]
Don't override default_options in gcc.dg/torture/stackalign/builtin-apply-4.c.
* gcc.dg/torture/stackalign/builtin-apply-4.c: Use
dg-additional-options.
From-SVN: r215999
Mark Wielaard [Wed, 8 Oct 2014 10:27:01 +0000 (10:27 +0000)]
testsuite deleted-member-function.C: Remove comment marker prefix.
testsuite/ChangeLog
* g++.dg/debug/dwarf2/deleted-member-function.C: Remove comment marker
prefix from scan-assembler-times.
From-SVN: r215997
Jonathan Wakely [Wed, 8 Oct 2014 08:49:22 +0000 (09:49 +0100)]
regex.h (regex_token_iterator::_M_end_of_seq): Add const qualifier.
* include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
const qualifier.
From-SVN: r215995
Jason Merrill [Wed, 8 Oct 2014 00:25:35 +0000 (20:25 -0400)]
* tree.c (cp_tree_equal) [TRAIT_EXPR]: Use cp_tree_equal for type2.
From-SVN: r215991