1. 28 Sep, 2012 13 commits
    • 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
    • avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic. · 9ee9ccb9
      	* config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
      
      From-SVN: r191821
      Georg-Johann Lay committed
    • re PR rtl-optimization/52543 (lower-subreg.c: code bloat of 300%-400% for multi-word memory splits) · 3fd1e31d
      	PR rtl-optimization/52543
      	* config/avr/avr.c (avr_mode_dependent_address_p): Return true for
      	all non-generic address spaces.
      	(TARGET_SECONDARY_RELOAD): New hook define to...
      	(avr_secondary_reload): ...this new static function.
      	* config/avr/avr.md (reload_in<mode>): New insns.
      	Undo r185605 (mostly):
      	* config/avr/avr-protos.h (avr_load_lpm): Remove.
      	* config/avr/avr.c (avr_load_libgcc_p): Don't restrict to __flash loads.
      	(avr_out_lpm): Also handle loads > 1 byte.
      	(avr_load_lpm): Remove.
      	(avr_find_unused_d_reg): New static function.
      	(avr_out_lpm_no_lpmx): New static function.
      	(adjust_insn_length): Remove ADJUST_LEN_LOAD_LPM.
      	* config/avr/avr.md (unspec): Remove UNSPEC_LPM.
      	(load_<mode>_libgcc): Use MEM instead of UNSPEC_LPM.
      	(load_<mode>, load_<mode>_clobber): Remove.
      	(mov<mode>): For multi-byte move from non-generic
      	16-bit address spaces: Expand to *mov<mode> again.
      	(load<mode>_libgcc): New expander.
      	(split-lpmx): Remove split.
      
      From-SVN: r191820
      Georg-Johann Lay committed
    • re PR bootstrap/54732 (Installation failure: libbacktrace rebuilds upon install… · af710874
      re PR bootstrap/54732 (Installation failure: libbacktrace rebuilds upon install when built with "make bootstrap-lean")
      
      	PR bootstrap/54732
      	* configure.ac: Add no-dependencies to AM_INIT_AUTOMAKE.
      	* Makefile.am: Add dependencies for all objects.
      	* configure, aclocal.m4, Makefile.in: Rebuild.
      
      From-SVN: r191819
      Ian Lance Taylor committed
    • Daily bump. · 694f7414
      From-SVN: r191816
      GCC Administrator committed
  2. 27 Sep, 2012 17 commits
  3. 26 Sep, 2012 10 commits