133362 Commits

Author SHA1 Message Date
Trevor Saunders
2a22f99cb1 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
2014-10-12 22:22:53 +00:00
Manuel López-Ibáñez
7b262a51ea 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
2014-10-12 15:05:28 +00:00
Jason Merrill
d1522e8f63 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
2014-10-11 21:42:31 -04:00
GCC Administrator
a4b9dcad08 Daily bump.
From-SVN: r216123
2014-10-12 00:16:21 +00:00
François-Xavier Coudert
d2af8cc6f1 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
2014-10-11 16:57:32 +00:00
Oleg Endo
f3ca7111fb 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
2014-10-11 13:11:58 +00:00
Christophe Lyon
1665db4dbd 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
2014-10-11 13:33:37 +02:00
Jason Merrill
5111502753 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
2014-10-10 22:26:33 -04:00
GCC Administrator
b9a6ba678e Daily bump.
From-SVN: r216113
2014-10-11 00:16:20 +00:00
Martin Liska
82afdc6f9f 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
2014-10-10 23:37:42 +00:00
Jason Merrill
c6250f73ff 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
2014-10-10 16:27:07 -04:00
Jason Merrill
cfb71cadfd * semantics.c (finish_id_expression): Check for error_mark_node.
From-SVN: r216104
2014-10-10 16:24:36 -04:00
Jakub Jelinek
1740f8a1cd 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
2014-10-10 19:43:21 +02:00
Uros Bizjak
878f5596b3 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
2014-10-10 19:36:21 +02:00
Marek Polacek
0e82f08971 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
2014-10-10 17:19:25 +00:00
Jonathan Wakely
c95e71bef8 * testsuite/Makefile.in: Regenerate.
From-SVN: r216098
2014-10-10 17:14:59 +01:00
Jonathan Wakely
a2e70f503d 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
2014-10-10 17:14:52 +01:00
Richard Henderson
069d7fc5a4 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
2014-10-10 08:56:07 -07:00
Jeff Law
fb0ab69706 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
2014-10-10 09:47:19 -06:00
Jonathan Wakely
375f837be1 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
2014-10-10 16:33:57 +01:00
Arnaud Charlet
47c14114d6 Minor reformatting.
From-SVN: r216093
2014-10-10 16:50:48 +02:00
Arnaud Charlet
9ceeaf9d16 [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
2014-10-10 16:49:04 +02:00
Arnaud Charlet
4d1429b2dd [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
2014-10-10 16:45:27 +02:00
Arnaud Charlet
c9f95e4c25 [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
2014-10-10 16:42:22 +02:00
Arnaud Charlet
32a2109603 [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
2014-10-10 16:39:14 +02:00
Robert Dewar
8f8194710d 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
2014-10-10 16:36:07 +02:00
Arnaud Charlet
d6cd5d3493 [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
2014-10-10 16:32:30 +02:00
Arnaud Charlet
33b87152da [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
2014-10-10 16:00:07 +02:00
Arnaud Charlet
79904ebc48 [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
2014-10-10 15:57:55 +02:00
Max Ostapenko
06a04ce75a 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
2014-10-10 16:41:13 +03:00
Arnaud Charlet
80363c2f0b [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
2014-10-10 15:28:21 +02:00
Javier Miranda
d56f4479e6 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
2014-10-10 15:23:22 +02:00
Kyrylo Tkachov
5e396da6b4 [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
2014-10-10 12:31:51 +00:00
Kyrylo Tkachov
75cf149453 [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
2014-10-10 12:28:45 +00:00
Arnaud Charlet
b9696ffb6e [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
2014-10-10 14:21:19 +02:00
Robert Dewar
1e3ed0fc93 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
2014-10-10 14:18:17 +02:00
Jakub Jelinek
aa79a1e1c8 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
2014-10-10 14:15:30 +02:00
Richard Biener
f1485e5b24 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
2014-10-10 11:17:13 +00:00
Jakub Jelinek
18cda88d87 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
2014-10-10 13:08:37 +02:00
Richard Biener
81231d139c 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
2014-10-10 11:04:39 +00:00
Eric Botcazou
327b20f5ab * lra-assigns.c (assign_by_spills): Fix thinko in previous change.
From-SVN: r216060
2014-10-10 08:27:52 +00:00
Eric Botcazou
bdf13188c0 * lra-assigns.c (assign_by_spills): Error out on spill failure.
From-SVN: r216059
2014-10-10 08:09:39 +00:00
Tobias Burnus
a6c631732f 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
2014-10-10 08:00:26 +02:00
Jason Merrill
548cb3d77c 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
2014-10-09 23:28:18 -04:00
GCC Administrator
018e891a75 Daily bump.
From-SVN: r216054
2014-10-10 00:16:17 +00:00
Ian Lance Taylor
ea411f8480 compiler: Permit "for range x" clauses.
Fixes Issue 8370.

From-SVN: r216051
2014-10-09 23:56:07 +00:00
Paolo Carlini
3369b91936 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
2014-10-09 19:22:53 +00:00
Joseph Myers
5f60643158 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
2014-10-09 19:21:30 +01:00
Jonathan Wakely
c386686921 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
2014-10-09 19:17:28 +01:00
Jonathan Wakely
bc2da0fc04 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
2014-10-09 19:17:23 +01:00