1. 13 Oct, 2014 11 commits
  2. 12 Oct, 2014 5 commits
    • re PR target/59401 ([SH] GBR addressing mode optimization produces wrong code) · 4eac9c2b
      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
      Oleg Endo committed
    • move many gc hashtab to hash_table · 2a22f99c
      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
      Trevor Saunders committed
    • README: Do not mention CVS. · 7b262a51
      2014-10-12  Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      	* INSTALL/README: Do not mention CVS.
      
      From-SVN: r216126
      Manuel López-Ibáñez committed
    • re PR c++/62115 (ICE with invalid default argument) · d1522e8f
      	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
      Jason Merrill committed
    • Daily bump. · a4b9dcad
      From-SVN: r216123
      GCC Administrator committed
  3. 11 Oct, 2014 5 commits
  4. 10 Oct, 2014 19 commits
    • cgraphunit.c (symbol_table::process_new_functions): Missing call for… · 82afdc6f
      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
      Martin Liska committed
    • method.c (implicitly_declare_fn): Handle deleted lambda default ctor and copy assop here. · c6250f73
      	* 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 committed
    • re PR c/63495 (struct __attribute__ ((aligned (8))) broken on x86) · 1740f8a1
      	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
      Jakub Jelinek committed
    • re PR target/63483 (Scheduler performs Invalid move of aliased memory reference) · 878f5596
      	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
      Uros Bizjak committed
    • asan.c (pass_sanopt::execute): Handle IFN_UBSAN_OBJECT_SIZE. · 0e82f089
      	* 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
      Marek Polacek committed
    • * testsuite/Makefile.in: Regenerate. · c95e71be
      From-SVN: r216098
      Jonathan Wakely committed
    • re PR libstdc++/49561 ([C++0x] std::list::size complexity) · a2e70f50
      	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
      Jonathan Wakely committed
    • re PR target/63404 (gcc 5 miscompiles linux block layer) · 069d7fc5
      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
      Richard Henderson committed
    • ira.c (struct equivalence): Promote INIT_INSNs field to an rtx_insn_list. · fb0ab697
              * 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
      Jeff Law committed
    • re PR libstdc++/49561 ([C++0x] std::list::size complexity) · 375f837b
      	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
      Jonathan Wakely committed
    • Minor reformatting. · 47c14114
      From-SVN: r216093
      Arnaud Charlet committed
    • [multiple changes] · 9ceeaf9d
      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 committed
    • [multiple changes] · 4d1429b2
      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 committed
    • [multiple changes] · c9f95e4c
      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 committed
    • [multiple changes] · 32a21096
      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
      Arnaud Charlet committed
    • exp_intr.adb (Write_Entity_Name): Moved to outer level · 8f819471
      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
      Robert Dewar committed
    • [multiple changes] · d6cd5d34
      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 committed
    • [multiple changes] · 33b87152
      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 committed