1. 30 Sep, 2012 8 commits
  2. 29 Sep, 2012 16 commits
  3. 28 Sep, 2012 16 commits
    • compiler: Fix handling of omitted expression in switch. · e3953a66
      From-SVN: r191842
      Ian Lance Taylor committed
    • basic-block.h (RDIV): Define. · e78410bf
      	* basic-block.h (RDIV): Define.
      	(EDGE_FREQUENCY): Simplify.
      	(check_probability, combine_probabilities, apply_probability,
      	inverse_probability): New.
      	* cfgloop.c (scale_loop_profile): New function.
      	* cfgloop.h (scale_loop_profile): Declare.
      	(slpeel_add_loop_guard): Add probability parameter.
      	(set_prologue_iterations): Add probability parameter.
      	(slpeel_tree_peel_loop_to_edge): Add bound1 and bound2 parameters;
      	update probabilities correctly.
      	(vect_do_peeling_for_alignment, vect_gen_niters_for_prolog_loop): New.
      
      From-SVN: r191839
      Jan Hubicka committed
    • re PR bootstrap/54688 (violation of implicit restriction "No_Elaboration_Code" on a-ioexce.ads) · 0380c51f
      	PR bootstrap/54688
      	* sched-deps.c (parse_add_or_inc): Remove MINUS handling.  Take
      	STACK_GROWS_DOWNWARD into account.
      
      From-SVN: r191838
      Bernd Schmidt committed
    • acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL. · 495de4f4
      2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
      	* include/Makefile.am: Same.
      	* src/c++98/Makefile.am: Same.
      	* src/Makefile.am: Same.
      	* Makefile.in: Regenerated.
      	* aclocal.m4: Same.
      	* configure: Same.
      	* doc/Makefile.in: Same.
      	* include/Makefile.in: Same.
      	* libsupc++/Makefile.in: Same.
      	* po/Makefile.in: Same.
      	* python/Makefile.in: Same.
      	* src/Makefile.in: Same.
      	* testsuite/Makefile.in: Same.
      	* src/c++11/Makefile.in: Same.
      	* src/c++98/Makefile.in: Same.
      
      	* src/c++98/compatibility-debug_list-2.cc: Update comments.
      	* src/c++98/compatibility-debug_list.cc: Same.
      	* src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
      	* src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
      	* src/c++98/compatibility-parallel_list-2.cc: Renamed to
      	src/c++98/list_associated-2.cc.
      	* src/c++98/compatibility-parallel_list.cc: Renamed to
      	src/c++98/list_associated.cc.
      
      From-SVN: r191837
      Benjamin Kosnik committed
    • Move testsuite/c-c++-common/Wunused-local-typedefs-2.c to… · a139548e
      Move testsuite/c-c++-common/Wunused-local-typedefs-2.c to testsuite/g++.dg/warn/Wunused-local-typedefs-3.C
      
      gcc/testsuite/
      
      	* g++.dg/warn/Wunused-local-typedefs-3.C: Move the c++-only test
      	gcc/testsuite/c-c++-common/Wunused-local-typedefs-2.c to here.
      
      From-SVN: r191832
      Dodji Seketeli committed
    • PR c++/54372 - unused attribute inactive on dependant entities · d10402b4
      In the example of this patch, gcc/g++ invoked with
      -Wunused-local-typedefs warns on dependant entities even when those
      are decorated with the 'unused' attribute.
      
      This is because in cplus_decl_attributes, save_template_attributes
      makes so that the 'unused' attribute is applied to its appertaining
      entity only at instantiation time.  But then at parsing time
      maybe_warn_unused_local_typedefs checks for TREE_USED before warning.
      
      This patch applies the 'unused' attribute at compilation time.
      
      Tested on x86_64-unknown-linux-gnu against trunk.
      
      gcc/cp/
      
      	* decl2.c (is_late_template_attribute): "unused" attribute is to
      	be applied at compile time.
      
      gcc/testsuite/
      
      	* c-c++-common/Wunused-local-typedefs-2.c: New test.
      
      From-SVN: r191830
      Dodji Seketeli committed
    • PR c++/29028 - Missed unused warning on using declaration · 3b4441db
      In the example of the patch, g++ fails to warn that the variable N::i
      (introduced via a using declaration) is unused.
      
      This is because as we want to emit the warning in poplevel, when we
      walk the local bindings returned by getdecls, we forget that a
      VAR_DECL introduced by a using declaration is represented by a
      TREE_LIST which TREE_VALUE is the VAR_DECL, and we wrongly look for a
      bare VAR_DECL.
      
      Fixed thus and tested on x86_64-unknown-linux-gnu against trunk.
      
      gcc/cp/
      
      	* decl.c (poplevel<warn_unused*>): Do not forget that some local
      	bindings are represented by a TREE_LIST.
      
      gcc/testsuite/
      
      	* g++.dg/warn/Wunused-var-18.C: New test.
      
      From-SVN: r191829
      Dodji Seketeli committed
    • PR c++/53551 - -Wunused-local-typedefs misses uses · 2be9064d
      We don't record the use of a typedef when it's used through a
      typename.  Fixed thus.
      
      Tested on x86_64-unknown-linux-gnu against trunk.
      
      gcc/cp/
      
      	* decl.c (make_typename_type): Record the use of typedefs.
      
      gcc/testsuite/
      
      	* g++.dg/warn/Wunused-local-typedefs-2.C: New test.
      
      From-SVN: r191828
      Dodji Seketeli committed
    • re PR target/54716 (Select best typed instruction for bitwise operations) · 42bace41
      	PR target/54716
      	* config/i386/predicates.md (nonimmediate_or_const_vector_operand):
      	New predicate.
      	* config/i386/i386.c (ix86_expand_vector_logical_operator): New
      	function.
      	* config/i386/i386-protos.h (ix86_expand_vector_logical_operator): New
      	prototype.
      	* config/i386/sse.md (<code><mode>3 VI logic): Use it.
      
      	* gcc.target/i386/xorps-sse2.c: Remove xfails.
      
      From-SVN: r191827
      Jakub Jelinek committed
    • re PR tree-optimization/54713 (error: non-trivial conversion at assignment in… · 4a2c20cc
      re PR tree-optimization/54713 (error: non-trivial conversion at assignment in gcc.c-torture/compile/pr53410-2.c)
      
      	PR tree-optimization/54713
      	* fold-const.c (vec_cst_ctor_to_array): Give up if vector CONSTRUCTOR
      	has vector elements.
      	(fold_ternary_loc) <case BIT_FIELD_REF>: Likewise.
      	* tree-vect-generic.c (vector_element): Don't rely on CONSTRUCTOR elts
      	indexes.  Use BIT_FIELD_REF if CONSTRUCTOR has vector elements.
      	(lower_vec_perm): Use NULL_TREE CONSTRUCTOR indexes.
      
      	* gcc.c-torture/compile/pr54713-1.c: New test.
      	* gcc.c-torture/compile/pr54713-2.c: New test.
      	* gcc.c-torture/compile/pr54713-3.c: New test.
      
      From-SVN: r191826
      Jakub Jelinek committed
    • avr.md (adjust_len): Add lpm. · 1a910f8f
      	* config/avr/avr.md (adjust_len): Add lpm.
      	(reload_in<mode>): Use avr_out_lpm for output.  Use "lpm" for
      	adjust_len.
      	* config/avr/avr-protos.h (avr_out_lpm): New prototype.
      	* config/avr/avr.c (avr_out_lpm): Make global.
      	(adjust_insn_length): Handle ADJUST_LEN_LPM.
      
      From-SVN: r191825
      Georg-Johann Lay committed
    • re PR lto/47799 (LTO debug info for early inlined functions missing) · 9aef8e95
      2012-09-28  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/47799
      	* lto-streamer-out.c (tree_is_indexable): Make PARM_DECLs global.
      	(lto_output_tree_ref): Handle references to them.
      	(output_function): Do not output function arguments again.
      	* lto-streamer-in.c (input_function): Do not input arguments
      	again, nor overwrite them.
      
      From-SVN: r191824
      Richard Guenther committed
    • cgraph.h (symtab_node_base): Re-order and pack fields. · b8dbdb12
      2012-09-28  Richard Guenther  <rguenther@suse.de>
      
      	* cgraph.h (symtab_node_base): Re-order and pack fields.
      
      From-SVN: r191823
      Richard Guenther committed