1. 11 Sep, 2012 1 commit
    • Remove unnecessary VEC function overloads. · f32682ca
      Several VEC member functions that accept an element 'T' used to have
      two overloads: one taking 'T', the second taking 'T *'.
      
      This used to be needed because of the interface dichotomy between
      vectors of objects and vectors of pointers.  In the past, vectors of
      pointers would use pass-by-value semantics, but vectors of objects
      would use pass-by-reference semantics.  This is no longer necessary,
      but the distinction had remained.
      
      The main side-effect of this change is some code reduction in code
      that manipulates vectors of objects.  For instance,
      
      -  struct iterator_use *iuse;
      -
      -  iuse = VEC_safe_push (iterator_use, heap, iterator_uses, NULL);
      -  iuse->iterator = iterator;
      -  iuse->ptr = ptr;
      +  struct iterator_use iuse = {iterator, ptr};
      +  VEC_safe_push (iterator_use, heap, iterator_uses, iuse);
      
      Compile time performance was not affected.
      
      Tested on x86_64 and ppc64.
      
      Also built all-gcc on all targets using VEC routines: arm, bfin, c6x,
      epiphany, ia64, mips, sh, spu, and vms.
      
      2012-09-10  Diego Novillo  <dnovillo@google.com>
      
      	* vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
      	Update all users.
      	(vec_t::safe_push): Likewise.
      	(vec_t::quick_insert): Likewise.
      	(vec_t::lower_bound): Likewise.
      	(vec_t::safe_insert): Likewise.
      	(vec_t::replace): Change second argument to 'T &'.
      
      From-SVN: r191165
      Diego Novillo committed
  2. 10 Sep, 2012 18 commits
  3. 09 Sep, 2012 11 commits
    • re PR libstdc++/43852 (Embedded systems friendly libstdc++) · 5a86d36f
      2012-09-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
      	    Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	PR libstdc++/43852
      	* acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
      	* configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
      	* config.h.in: Regenerate.
      	* configure: Likewise.
      	* libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
      	* libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
      	* doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
      	* doc/html/manual/configure.html: Regenerate.
      
      Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
      
      From-SVN: r191121
      Sebastian Huber committed
    • re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on… · bc7e468e
      re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand)
      
      	PR bootstrap/54419
      	* acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
      	* configure: Regenerated.
      
      From-SVN: r191119
      Jonathan Wakely committed
    • Fix ChangeLog date. · a2e948ab
      From-SVN: r191115
      Jonathan Wakely committed
    • re PR libstdc++/54388 (std::array.at() const results in undefined behaviour) · 885e8121
      	PR libstdc++/54388
      	* include/std/array (array::at() const): Ensure lvalue result.
      	* testsuite/23_containers/array/element_access/54388.cc: New.
      	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
      	dg-error line numbers.
      	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
      	Likewise.
      
      From-SVN: r191114
      Jonathan Wakely committed
    • passes.c (ipa_write_summaries_1): Set state; do not call compute_ltrans_boundary. · b4661bfe
      
      
      	* passes.c (ipa_write_summaries_1): Set state;
      	do not call compute_ltrans_boundary.
      	(ipa_write_optimization_summaries): Likewise.
      	(ipa_write_summaries): compute_ltrans_boundary here.
      	* lto-streamer.h (lto_symtab_encoder_d): NODES are allocated in heap.
      	(compute_ltrans_boundary): Update prototype.
      
      	* lto.c (lto_wpa_write_files): Do not delete partition encoder;
      	it is deleted after streaming.
      	* lto-partition.c (partition_symbol_p): New function.
      	(promote_var, promote_fn): Remove.
      	(promote_symbol): New function.
      	(lto_promote_cross_file_statics): First compute boundaries; rewrite
      	to lookup the actual boundaries instead of computing them ad-hoc.
      
      From-SVN: r191113
      Jan Hubicka committed
    • re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on… · 3ca6351d
      re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand)
      
      2012-09-09  Ulrich Drepper  <drepper@gmail.com>
      	    Dominique d'Humieres  <dominiq@lps.ens.fr>
      	    Jack Howarth  <howarth@bromo.med.uc.edu>
      
      	PR bootstrap/54419
      	* acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
      	* configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
      	support in assembler.
      	* src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
      	(random_device::_M_init): Likewise.
      	(random_device::_M_getval): Likewise.
      	* configure: Regenerated.
      	* config.h.in: Regenerated.
      
      Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
      Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>
      
      From-SVN: r191111
      Ulrich Drepper committed
    • cpuid.h: Define signature_*_e[bcd]x macros for matching results of level 0 calls to... · ef64d158
      gcc/
              * config/i386/cpuid.h: Define signature_*_e[bcd]x macros for
              matching results of level 0 calls to __cpuid to processor
              manufacturers.
              * config/i386/driver-i386.c (vendor_signatures): Removed.
              (processor_signatures): Removed.
              (host_detect_local_cpu): Replace uses of now-removed SIG_*
              constants with the new signature_*_ebx constants.
      
      libstdc++-v3/
              * src/c++11/random.cc (random_device::_M_init): Use new macro
              signature_INTEL_ebx to check for Intel processors.
      
      From-SVN: r191109
      Ulrich Drepper committed
    • Replace cgraph_node_set and varpool_node_set by symtab_node_encoder in partitioning. · 7b99cca4
      
      
      	Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
      	in partitioning.
      	* tree-pass.h (cgraph_node_set_def, varpool_node_set_def): Remove
      	forward declaration.
      	(lto_symtab_encoder_d): Forward declare.
      	(ipa_write_optimization_summaries): Update.
      	* lto-cgraph.c (lto_symtab_encoder_new): Do not initialize
      	body, initializer and in_partition.
      	(lto_symtab_encoder_delete): Update.
      	(lto_symtab_encoder_encode): Update.
      	(lto_symtab_encoder_lookup): Move inline.
      	(lto_symtab_encoder_delete_node): New function.
      	(lto_symtab_encoder_encode_body_p, lto_set_symtab_encoder_encode_body,
      	lto_symtab_encoder_encode_initializer_p,
      	lto_set_symtab_encoder_encode_initializer, lto_symtab_encoder_in_partition_p,
      	lto_symtab_encoder_in_partition_p): Update.
      	(compute_ltrans_boundary): Take encoder as an input.
      	* passes.c (ipa_write_summaries_1): Update.
      	(ipa_write_summaries_1): Update.
      	(ipa_write_summaries): Update.
      	(ipa_write_optimization_summaries): Update.
      	* lto-streamer.c (print_lto_report): Report number of cgraph nodes.
      	* lto-streamer.h (lto_stats_d): Replace num_output_cgraph_nodes by
      	num_output_symtab_nodes.
      	(lto_encoder_entry): New structure.
      	(struct lto_symtab_encoder_d): Reorg.
      	(lto_symtab_encoder_delete_node): Declare.
      	(lto_symtab_encoder_lookup): Bring inline.
      	(compute_ltrans_boundary): Update.
      	(lto_symtab_encoder_size): Update.
      	(lsei_node, lsei_cgraph_node, lsei_varpool_node): Update.
      	(lto_symtab_encoder_deref): Update.
      
      	Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
      	in partitioning.
      	* lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
      	by encoder.
      	* lto-partition.c (new_partition): Update.
      	* lto.c (cmp_partitions_order): Update.
      	(lto_wpa_write_files): Update.
      	(free_ltrans_partitions): Update.
      	(add_references_to_partition): Update.
      	(add_cgraph_node_to_partition_1): Update.
      	(add_cgraph_node_to_partition): Update.
      	(add_varpool_node_to_partition): Update.
      	(undo_partition): Update.
      	(lto_balanced_map): Update.
      	(set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
      	set_referenced_from_this_partition_p): Update.
      	(lto_promote_cross_file_statics): Update.
      
      From-SVN: r191107
      Jan Hubicka committed
    • decl.c (reshape_init_class): Avoid dereferencing a past-the-end pointer. · d5f8c6dc
      	* decl.c (reshape_init_class): Avoid dereferencing a
      	past-the-end pointer.
      
      From-SVN: r191106
      Mark Kettenis committed
    • Daily bump. · bc1b72c7
      From-SVN: r191105
      GCC Administrator committed
  4. 08 Sep, 2012 6 commits
  5. 07 Sep, 2012 4 commits