gcc.git
11 years agopr53060.c: Prune irrelevant warning.
Joe Seymour [Fri, 12 Oct 2012 18:40:54 +0000 (18:40 +0000)]
pr53060.c: Prune irrelevant warning.

2012-10-12  Joe Seymour  <jseymour@codesourcery.com>

* gcc.dg/pr53060.c: Prune irrelevant warning.

From-SVN: r192407

11 years agore PR c/54381 (-Wsizeof-pointer-memaccess refers to "destination" for strncmp)
Jakub Jelinek [Fri, 12 Oct 2012 18:23:03 +0000 (20:23 +0200)]
re PR c/54381 (-Wsizeof-pointer-memaccess refers to "destination" for strncmp)

PR c/54381
* c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
* c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
locs and array of 3 trees instead of just single loc and single
sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
For *cmp* builtins that take two sources strings report warnings
about first and second source, not about destination and source.

* c-parser.c (struct c_tree_loc_pair): Removed.
(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
add location_t * and tree * arguments, fill in array of 3
sizeof_arg trees and corresponding locs.
(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
c_parser_expr_list callers.
(c_parser_postfix_expression_after_primary): Likewise.  Pass
array of 3 sizeof_arg trees and locs (corresponding to first
3 arguments) to sizeof_pointer_memaccess_warning.

* semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
trees and locs (corresponding to first 3 arguments) to
sizeof_pointer_memaccess_warning.

* c-c++-common/Wsizeof-pointer-memaccess1.c: New test.
* c-c++-common/Wsizeof-pointer-memaccess2.c: New test.
* gcc.dg/Wsizeof-pointer-memaccess1.c: New test.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy.
Adjust expected wording of warnings for *cmp* builtins.
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.

From-SVN: r192406

11 years agoAdd more C++ support in gengtype.
Diego Novillo [Fri, 12 Oct 2012 15:17:17 +0000 (11:17 -0400)]
Add more C++ support in gengtype.

This patch combines the changes from
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg02016.html with other
additions to support C++ inside GTY'd structures.

The main changes wrt Aaron's original patch are:

- Support for function declarations inside classes.

- Support scoping in identifiers.  This does not mean that gengtype
  supports scopes, it just knows that 'Foo::id' is a single entity.

- Explicit non-support for typedef and enum inside class/struct.
  Since gengtype does not really know about scopes, it cannot
  understand these types, but it knows enough to recognize and reject
  them.  GTY'd struct/class that need to typedef their own types
  should use GTY((user)).

- Documentation on what is and is not supported.

There is one check I needed to remove that gave me some trouble.
When a ctor is detected, we have already parsed the name of the
ctor as a type, which is then registered in the list of structures.

We go on to recognize it as a ctor *after* the type has been
registered.  We reject the field in declarator() and it is never
added to the list of fields for the class.

However, when we reach the end of the class, we find that the
type we created while parsing the ctor has line number
information in it (the line where the ctor was) and gengtype
thinks that it is a duplicate structure definition.

I took out this check for two reasons: (a) It is actually
unnecessary because if there were really duplicate definitions of
this structure, the code would not compile, and (b) all the other
alternatives required making the parser much more convoluted and
I'm trying hard not to make gengtype parser too smart.

2012-10-12  Aaron Gray <aaronngray.lists@gmail.com>
    Diego Novillo <dnovillo@google.com>

        * gengtype-lex.l: Support for C++ single line comments.
        Support for classes.
(CXX_KEYWORD): New.  Support C++ keywords inline, public,
protected, private, template, operator, friend, &, ~.
(TYPEDEF): New.  Support typedef.
        * gengtype-parser.c: updated 'token_names[]'
        (direct_declarator): Add support for parsing functions
and ctors.

2012-10-12  Diego Novillo  <dnovillo@google.com>

* doc/gty.texi: Document C++ limitations in gengtype.
* gengtype-lex.l (CID): Rename from ID.
(ID): Include scoping '::' as part of the identifier name.
* gengtype-parse.c (token_names): Update.
(token_value_format): Update.
(consume_until_eos): Rename from consume_until_semi.
Remove unused argument IMMEDIATE.  Update all callers.
Also consider '}' as a finalizer.
(consume_until_comma_or_eos): Rename from
consume_until_comma_or_semi.
Remove unused argument IMMEDIATE.  Update all callers.
Also consider '}' as a finalizer.
(direct_declarator): Add documentation on ctor support.
Add argument IN_STRUCT.
If the token following ID is a '(', consider ID a
function and return NULL.
If the token following '(' is not a '*', and IN_STRUCT is
true, conclude that this is a ctor and return NULL.
If the token is IGNORABLE_CXX_KEYWORD, return NULL.
(inner_declarator): Add argument IN_STRUCT.
Update all callers.
(declarator): Add argument IN_STRUCT with default value
false.  Update all callers.
(type): Document argument NESTED.
Skip over C++ inheritance specifiers.
If a token TYPEDEF is found, emit an error.
If an enum is found inside a class/structure, emit an
error.
(typedefs, structures, param_structs, variables): Initialize.
(new_structure): Do not complain about duplicate
structures if S has a line location set.
* gengtype-state.c (write_state_type): Remove default
handler.  Add handler for TYPE_NONE.
(read_state_scalar_char_type):
* gengtype.c: Fix spacing.
* gengtype.h (enum gty_token): Add name.  Add token
IGNORABLE_CXX_KEYWORD.

From-SVN: r192405

11 years agoForgot the CL entry for the Hoyt and arcsine distributions.
Edward Smith-Rowland [Fri, 12 Oct 2012 15:16:29 +0000 (15:16 +0000)]
Forgot the CL entry for the Hoyt and arcsine distributions.

From-SVN: r192404

11 years agodd the Hoyt and the arcsine distributions as extensions.
Edward Smith-Rowland [Fri, 12 Oct 2012 15:15:21 +0000 (15:15 +0000)]
dd the Hoyt and the arcsine distributions as extensions.

From-SVN: r192403

11 years agore PR c++/24449 (Unable to declare friend main() from class template)
Paolo Carlini [Fri, 12 Oct 2012 14:38:11 +0000 (14:38 +0000)]
re PR c++/24449 (Unable to declare friend main() from class template)

/cp
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/24449
* decl.c (grokfndecl): When checking for ::main declarations
use PROCESSING_REAL_TEMPLATE_DECL_P().

/testsuite
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/24449
* g++.dg/parse/friend-main.C: New.

From-SVN: r192402

11 years agore PR c++/53055 (ICE in cp_build_indirect_ref, at cp/typeck.c:2836)
Marc Glisse [Fri, 12 Oct 2012 14:14:37 +0000 (16:14 +0200)]
re PR c++/53055 (ICE in cp_build_indirect_ref, at cp/typeck.c:2836)

2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

PR c++/53055

gcc/c-family/
* c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.

gcc/cp/
* call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
* typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.

gcc/testsuite/
* g++.dg/pr53055.C: New testcase.

From-SVN: r192401

11 years agoarm.md (get_thread_pointersi): Moved to place with other TLS related patterns.
Chung-Lin Tang [Fri, 12 Oct 2012 12:47:53 +0000 (12:47 +0000)]
arm.md (get_thread_pointersi): Moved to place with other TLS related patterns.

2012-10-12  Chung-Lin Tang  <cltang@codesourcery.com>

* config/arm/arm.md (get_thread_pointersi): Moved to place with
other TLS related patterns.

From-SVN: r192399

11 years agotree-streamer-out.c (pack_ts_target_option): Rename from ...
Richard Biener [Fri, 12 Oct 2012 12:14:48 +0000 (12:14 +0000)]
tree-streamer-out.c (pack_ts_target_option): Rename from ...

2012-10-12  Richard Biener  <rguenther@suse.de>

* tree-streamer-out.c (pack_ts_target_option): Rename from ...
(write_ts_target_option): ... this.
(pack_ts_optimization): Rename from ...
(write_ts_optimization): ... this.
(streamer_pack_tree_bitfields): Pack them in the bitfield section ...
(streamer_write_tree_body): ... not here.
* tree-streamer-in.c (unpack_ts_target_option): Rename from ...
(lto_input_ts_target_option): ... this.
(unpack_ts_optimization): Rename from ...
(lto_input_ts_optimization): ... this.
(unpack_value_fields): Unpack them from the bitfield section ...
(streamer_read_tree_body): ... not from here.

From-SVN: r192398

11 years agore PR lto/54898 (ICE in uniquify_nodes, at lto/lto.c:1898)
Richard Biener [Fri, 12 Oct 2012 12:14:03 +0000 (12:14 +0000)]
re PR lto/54898 (ICE in uniquify_nodes, at lto/lto.c:1898)

2012-10-12  Richard Biener  <rguenther@suse.de>

PR lto/54898
* lto.c (gimple_types_compatible_p_1): Also compare
TYPE_MAIN_VARIANT.
(iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.

From-SVN: r192397

11 years agoalpha.md (vecmodesuffix): New mode attribute.
Uros Bizjak [Fri, 12 Oct 2012 11:32:02 +0000 (13:32 +0200)]
alpha.md (vecmodesuffix): New mode attribute.

* config/alpha/alpha.md (vecmodesuffix): New mode attribute.
(modesuffix): Handle V8QI and V4HI modes.
(any_maxmin): New code iterator.
(maxmin): New code attribute.
(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3
using any_maxmin code iterator and I12MODE mode iterator.
(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3
using any_maxmin code iterator and VEC12 mode iterator.

From-SVN: r192396

11 years agoRevert r192297.
Kirill Yukhin [Fri, 12 Oct 2012 10:57:06 +0000 (10:57 +0000)]
Revert r192297.

From-SVN: r192394

11 years agooptabs.c (vector_compare_rtx): Change prototype.
Marc Glisse [Fri, 12 Oct 2012 09:20:00 +0000 (11:20 +0200)]
optabs.c (vector_compare_rtx): Change prototype.

2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

* optabs.c (vector_compare_rtx): Change prototype.
(expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand
is not a comparison.
* gimplify.c (gimplify_expr): Handle VEC_COND_EXPR.

From-SVN: r192393

11 years agore PR c++/52744 (bad handling of member (function) pointers in template parameters)
Paolo Carlini [Fri, 12 Oct 2012 08:30:00 +0000 (08:30 +0000)]
re PR c++/52744 (bad handling of member (function) pointers in template parameters)

2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52744
* g++.dg/cpp0x/pr52744.C: New.

From-SVN: r192392

11 years agore PR fortran/40453 ([F95] Enhanced (recursive) argument checking)
Janus Weil [Fri, 12 Oct 2012 08:16:17 +0000 (10:16 +0200)]
re PR fortran/40453 ([F95] Enhanced (recursive) argument checking)

2012-10-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40453
* interface.c (check_dummy_characteristics): Recursively check dummy
procedures.

2012-10-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40453
* gfortran.dg/dummy_procedure_9.f90: New.

From-SVN: r192391

11 years agore PR tree-optimization/54894 (internal compiler error: in vect_get_vec_def_for_opera...
Richard Biener [Fri, 12 Oct 2012 08:00:29 +0000 (08:00 +0000)]
re PR tree-optimization/54894 (internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1286)

2012-10-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/54894
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Handle over-aligned scalar types properly.

* gcc.dg/torture/pr54894.c: New testcase.

From-SVN: r192390

11 years agore PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
Oleg Endo [Fri, 12 Oct 2012 00:45:36 +0000 (00:45 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* config/sh/sh.c (bdesc): Remove thread pointer built-ins.
* config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
name 'si'.

From-SVN: r192388

11 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Fri, 12 Oct 2012 00:41:23 +0000 (00:41 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove
get_t_reg_rtx when invoking gen_branch_true or gen_branch_false.
(*zero_extend<mode>si2_compact): Convert to insn_and_split.  Convert
zero extensions of T bit stores to reg moves in splitter.  Remove
obsolete unnamed peephole2 that caught zero extensions after negc T bit
stores.
(*branch_true_eq, *branch_false_ne): Delete.
(branch_true, branch_false): Convert insn to expander.  Move actual
insn logic to...
(*cbranch_t): ...this new insn_and_split.  Try to find preceding
redundant T bit stores and tests and combine them with the conditional
branch if possible in the splitter.
(movrt_xor, *movt_movrt): New insn_and_split.
* config/sh/predicates.md (cbranch_treg_value): New predicate.
* config/sh/sh-protos.h (sh_eval_treg_value): Forward declare...
* config/sh/sh.c (sh_eval_treg_value): ...this new function.
(expand_cbranchsi4, expand_cbranchdi4): Remove get_t_reg_rtx
when invoking gen_branch_true or gen_branch_false.

PR target/51244
* gcc.target/sh/pr51244-13.c: New.
* gcc.target/sh/pr51244-14.c: New.
* gcc.target/sh/pr51244-15.c: New.
* gcc.target/sh/pr51244-16.c: New.

From-SVN: r192387

11 years agoDaily bump.
GCC Administrator [Fri, 12 Oct 2012 00:19:24 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r192386

11 years agore PR c++/51878 (ICE or OOM with decltype + variadic templates + "indirect" function...
Paolo Carlini [Thu, 11 Oct 2012 23:37:48 +0000 (23:37 +0000)]
re PR c++/51878 (ICE or OOM with decltype + variadic templates + "indirect" function call)

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51878
* g++.dg/cpp0x/decltype45.C: New.

From-SVN: r192381

11 years agohashtable_policy.h: Revert libstdc++/53067 quick hacks thanks to the resolution of...
Paolo Carlini [Thu, 11 Oct 2012 22:18:27 +0000 (22:18 +0000)]
hashtable_policy.h: Revert libstdc++/53067 quick hacks thanks to the resolution of c++/51213.

2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
hacks thanks to the resolution of c++/51213.

From-SVN: r192380

11 years agoalpha.md (IMODE): New mode iterator.
Uros Bizjak [Thu, 11 Oct 2012 20:44:30 +0000 (22:44 +0200)]
alpha.md (IMODE): New mode iterator.

* config/alpha/alpha.md (IMODE): New mode iterator.
(I124MODE): Ditto.
(I248MODE): Ditto.
(modesuffix): Handle QI and HI modes.
(zero_extendqi<mode>2): Macroize insn from zero_extendqi{hi,si,di}2
using I248MODE mode iterator.
(zero_extendhi<mode>2): Macroize insn from zero_extendhi{si,di}2
using I48MODE mode iterator.
(andnot<mode>3): Macroize insn from andnot{si,di}3 using
I48MODE mode iterator.
(ins<modesuffix>l_const): Macroize insn from ins{b,w,l}l_const
using I248MODE mode iterator.
(ins<modesuffix>l): Macroize insn from ins{b,w,l}l
using I248MODE mode iterator.
(*mov<mode>cc_internal): Macroize insn from
*mov{qi,hi,si,di}cc_internal using IMODE mode iterator.
(*mov<mode>cc_lbc): Macroize insn from
*mov{qi,hi,si,di}cc_lbc using IMODE mode iterator.
(*mov<mode>cc_lbs): Macroize insn from
*mov{qi,hi,si,di}cc_lbs using IMODE mode iterator.
(mov<mode>cc): Macroize insn from mov{si,di}cc_lbs
using I48MODE mode iterator.

From-SVN: r192379

11 years agoira-build.c (ira_loop_tree_body_rev_postorder): New function.
Steven Bosscher [Thu, 11 Oct 2012 18:54:47 +0000 (18:54 +0000)]
ira-build.c (ira_loop_tree_body_rev_postorder): New function.

* ira-build.c (ira_loop_tree_body_rev_postorder): New function.
(ira_traverse_loop_tree): Traverse a loop's basic blocks in
reverse post-order of the reversed control-flow direction.
* ira-conflicts.c (ira_build_conflicts): Pass add_copies as
the pre-order function to ira_traverse_loop_tree to preserve
the existing semantics.

* ira-lives.c (remove_some_program_points_and_update_live_ranges):
Squeeze out live range chain elements if their program points are
connected.

From-SVN: r192378

11 years ago* tree.def (REDUC_PLUS_EXPR): Fix up comment.
Jakub Jelinek [Thu, 11 Oct 2012 18:40:06 +0000 (20:40 +0200)]
* tree.def (REDUC_PLUS_EXPR): Fix up comment.

From-SVN: r192377

11 years agofold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR, REDUC_MAX_EXPR and REDUC_PLUS_EXPR.
Jakub Jelinek [Thu, 11 Oct 2012 18:37:23 +0000 (20:37 +0200)]
fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR, REDUC_MAX_EXPR and REDUC_PLUS_EXPR.

* fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR,
REDUC_MAX_EXPR and REDUC_PLUS_EXPR.

From-SVN: r192376

11 years agore PR fortran/54784 ([OOP] wrong code in polymorphic allocation with SOURCE)
Janus Weil [Thu, 11 Oct 2012 17:52:36 +0000 (19:52 +0200)]
re PR fortran/54784 ([OOP] wrong code in polymorphic allocation with SOURCE)

2012-10-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54784
* trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
to the _data component for polymorphic allocation with SOURCE.

2012-10-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54784
* gfortran.dg/class_allocate_13.f90: New.

From-SVN: r192374

11 years agoAs suggested here:
James Lemke [Thu, 11 Oct 2012 17:39:26 +0000 (17:39 +0000)]
As suggested here:

http://gcc.gnu.org/ml/gcc-patches/2012-10/msg00283.html

The following are committed as obvious / trivial:
* config/rs6000/predicates.md (zero_fp_constant): Fix comment.
* config/rs6000/rs6000.md (return_pred): Fix null return.
* config/rs6000/rs6000.c (rs6000_emit_set_const): Fix indentation.
(print_operand): Make FALLTHRU obvious.
(output_cbranch): Correct comment.

From-SVN: r192373

11 years agoconfigure.ac: Do not use dl_iterate_phdr on Solaris 10.
Ian Lance Taylor [Thu, 11 Oct 2012 16:43:47 +0000 (16:43 +0000)]
configure.ac: Do not use dl_iterate_phdr on Solaris 10.

* configure.ac: Do not use dl_iterate_phdr on Solaris 10.
* configure: Rebuild.

From-SVN: r192371

11 years agoalpha.md (DWI): New mode attribute.
Uros Bizjak [Thu, 11 Oct 2012 15:44:54 +0000 (17:44 +0200)]
alpha.md (DWI): New mode attribute.

* config/alpha/alpha.md (DWI): New mode attribute.
(*sadd<modesuffix>): Macroize insn from *saddl and *saddq using
I48MODE mode iterator.
(addv<mode>3): Macroize insn from addvsi3 and addvdi3 using
I48MODE mode iterator.
(neg<mode>2): Macroize insn from negsi2 and negdi2 using
I48MODE mode iterator.
(negv<mode>2): Macroize insn from negvsi2 and negvdi2 using
I48MODE mode iterator.
(sub<mode>3): Macroize insn from subsi3 and subdi3 using
I48MODE mode iterator.
(*ssub<modesuffix>): Macroize insn from *ssubl and *ssubq using
I48MODE mode iterator.
(subv<mode>3): Macroize insn from subvsi3 and subvdi3 using
I48MODE mode iterator.
(mul<mode>3): Macroize insn from mulsi3 and muldi3 using
I48MODE mode iterator.
(mulv<mode>3): Macroize insn from mulvsi3 and mulvdi3 using
I48MODE mode iterator.
(*iornot<mode>3): Macroize insn from *iornotsi3 and *iornotdi3 using
I48MODE mode iterator.
(*xornot<mode>3): Macroize insn from *xornotsi3 and *xornotdi3 using
I48MODE mode iterator.

From-SVN: r192370

11 years agocp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
Jason Merrill [Thu, 11 Oct 2012 15:13:36 +0000 (11:13 -0400)]
cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.

* cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
(SET_DECL_THUNKS): New.
* decl.c (duplicate_decls): Adjust.
* method.c (make_thunk): Adjust.

From-SVN: r192368

11 years agopragma-override1.C: Fix target markup.
Jason Merrill [Thu, 11 Oct 2012 15:13:28 +0000 (11:13 -0400)]
pragma-override1.C: Fix target markup.

* g++.dg/ext/visibility/pragma-override1.C: Fix target markup.
* g++.dg/ext/visibility/pragma-override2.C: Fix target markup.

From-SVN: r192367

11 years agodecl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data members, too.
Jason Merrill [Thu, 11 Oct 2012 15:13:20 +0000 (11:13 -0400)]
decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data members, too.

* decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data
members, too.

From-SVN: r192366

11 years agoconfigure.ac (gcc_cv_as_aix_ref): Fix typo.
Jason Merrill [Thu, 11 Oct 2012 15:13:11 +0000 (11:13 -0400)]
configure.ac (gcc_cv_as_aix_ref): Fix typo.

        * configure.ac (gcc_cv_as_aix_ref): Fix typo.
        * configure: Regenerate.

From-SVN: r192365

11 years agobuiltins.c (expand_builtin_thread_pointer): New.
Chung-Lin Tang [Thu, 11 Oct 2012 15:05:44 +0000 (15:05 +0000)]
builtins.c (expand_builtin_thread_pointer): New.

2012-10-11  Chung-Lin Tang  <cltang@codesourcery.com>

* builtins.c (expand_builtin_thread_pointer): New.
(expand_builtin_set_thread_pointer): New.
(expand_builtin): Add BUILT_IN_THREAD_POINTER,
BUILT_IN_SET_THREAD_POINTER expand cases.
* builtins.def (BUILT_IN_THREAD_POINTER):
New __builtin_thread_pointer builtin.
(BUILT_IN_SET_THREAD_POINTER):
New __builtin_set_thread_pointer builtin.
* optabs.def (get_thread_pointer,set_thread_pointer):
New standard names.
* doc/md.texi (Standard Names): Document get_thread_pointer and
set_thread_pointer patterns.
* config/alpha/alpha.md (get_thread_pointerdi): Rename from load_tp.
(set_thread_pointerdi): Rename from set_tp.
* config/alpha/alpha.c (alpha_legitimize_address_1): Change
gen_load_tp calls to gen_get_thread_pointerdi.
(alpha_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
ALPHA_BUILTIN_SET_THREAD_POINTER.
(code_for_builtin): Remove CODE_FOR_load_tp, CODE_FOR_set_tp.
(alpha_init_builtins): Remove __builtin_thread_pointer,
__builtin_set_thread_pointer machine-specific builtins.
(alpha_expand_builtin_thread_pointer): Add hook function for
TARGET_EXPAND_BUILTIN_THREAD_POINTER.
(alpha_expand_builtin_set_thread_pointer): Add hook function for
TARGET_EXPAND_BUILTIN_SET_THREAD_POINTER.
(alpha_fold_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
ALPHA_BUILTIN_SET_THREAD_POINTER cases.
* config/arm/arm.md (get_thread_pointersi): New pattern.
* config/arm/arm-protos.h (arm_load_tp): Add extern declaration.
* config/arm/arm.c (arm_load_tp): Remove static.
(arm_builtins): Remove ARM_BUILTIN_THREAD_POINTER.
(arm_init_tls_builtins): Remove function.
(arm_init_builtins): Remove call to arm_init_tls_builtins().
(arm_expand_builtin): Remove ARM_BUILTIN_THREAD_POINTER case.
* config/mips/mips.md (get_thread_pointer<mode>): New pattern.
* config/mips/mips-protos.h (mips_expand_thread_pointer):
Add extern declaration.
* config/mips/mips.c (mips_expand_thread_pointer):
Renamed from mips_get_tp.
(mips_get_tp): New stub calling mips_expand_thread_pointer.
* config/s390/s390.c (s390_builtin,code_for_builtin_64,
code_for_builtin_31,s390_init_builtins,s390_expand_builtin): Remove.
* config/s390/s390.md (get_tp_64,get_tp_31,set_tp_64,set_tp_31):
Remove.
(get_thread_pointer<mode>,set_thread_pointer<mode>):
New, adapted from removed patterns.
* config/xtensa/xtensa.md (get_thread_pointersi):
Renamed from load_tp.
(set_thread_pointersi): Renamed from set_tp.
* config/xtensa/xtensa.c (xtensa_legitimize_tls_address):
Change gen_load_tp calls to gen_get_thread_pointersi.
(xtensa_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER and
XTENSA_BUILTIN_SET_THREAD_POINTER.
(xtensa_init_builtins): Remove __builtin_thread_pointer,
__builtin_set_thread_pointer machine-specific builtins.
(xtensa_fold_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
XTENSA_BUILTIN_SET_THREAD_POINTER cases.
(xtensa_expand_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
XTENSA_BUILTIN_SET_THREAD_POINTER cases.

From-SVN: r192364

11 years agoextend.texi (Vector Extensions): C++ improvements.
Marc Glisse [Thu, 11 Oct 2012 14:59:18 +0000 (16:59 +0200)]
extend.texi (Vector Extensions): C++ improvements.

2012-10-11  Marc Glisse  <marc.glisse@inria.fr>

* doc/extend.texi (Vector Extensions): C++ improvements.
* doc/generic.texi (LSHIFT_EXPR, RSHIFT_EXPR): Mixed vector-scalar.
(LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR, NE_EXPR): Specify
the vector case.
(VEC_COND_EXPR): Document it.

From-SVN: r192363

11 years agore PR c++/36107 (weak constructor produces invalid asm)
Paolo Carlini [Thu, 11 Oct 2012 14:37:44 +0000 (14:37 +0000)]
re PR c++/36107 (weak constructor produces invalid asm)

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/36107
* g++.dg/ext/weak5.C: New.

From-SVN: r192361

11 years agore PR testsuite/54868 (gcc.dg/tree-ssa/forwprop-22.c FAILs)
Marc Glisse [Thu, 11 Oct 2012 13:28:27 +0000 (15:28 +0200)]
re PR testsuite/54868 (gcc.dg/tree-ssa/forwprop-22.c FAILs)

2012-10-11  Marc Glisse  <marc.glisse@inria.fr>

PR testsuite/54868
* gcc.dg/tree-ssa/forwprop-22.c: Move ...
* gcc.dg/vect/nodump-forwprop-22.c: ... here. Adapt options.

From-SVN: r192359

11 years ago45713.cc: Tweak.
Paolo Carlini [Thu, 11 Oct 2012 13:24:11 +0000 (13:24 +0000)]
45713.cc: Tweak.

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/bitset/45713.cc: Tweak.

From-SVN: r192358

11 years ago45713.cc: Tweak.
Paolo Carlini [Thu, 11 Oct 2012 13:23:33 +0000 (13:23 +0000)]
45713.cc: Tweak.

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/bitset/45713.cc: Tweak.

From-SVN: r192357

11 years agosfinae_friendly_1.cc: Update / extend.
Daniel Krugler [Thu, 11 Oct 2012 11:45:35 +0000 (11:45 +0000)]
sfinae_friendly_1.cc: Update / extend.

2012-10-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Update / extend.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.

From-SVN: r192356

11 years agosfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets...
Uros Bizjak [Thu, 11 Oct 2012 11:44:51 +0000 (13:44 +0200)]
sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets only.

* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
instructions for 64bit targets only.

From-SVN: r192355

11 years agore PR testsuite/54897 (23_containers/bitset/45713.cc (test for excess errors))
Hans-Peter Nilsson [Thu, 11 Oct 2012 11:36:39 +0000 (11:36 +0000)]
re PR testsuite/54897 (23_containers/bitset/45713.cc (test for excess errors))

PR testsuite/54897
* testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.

From-SVN: r192354

11 years agoc-ada-spec.c (dump_ada_template): Bail out for template declarations declaring someth...
Eric Botcazou [Thu, 11 Oct 2012 10:29:54 +0000 (10:29 +0000)]
c-ada-spec.c (dump_ada_template): Bail out for template declarations declaring something coming from another file.

* c-ada-spec.c (dump_ada_template): Bail out for template declarations
declaring something coming from another file.

From-SVN: r192353

11 years agosfinae_friendly_1.cc: Update / extend.
Daniel Krugler [Thu, 11 Oct 2012 10:27:45 +0000 (10:27 +0000)]
sfinae_friendly_1.cc: Update / extend.

2012-10-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Update / extend.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.

From-SVN: r192352

11 years agore PR c++/43765 (infinite loop on illegal code)
Paolo Carlini [Thu, 11 Oct 2012 10:15:49 +0000 (10:15 +0000)]
re PR c++/43765 (infinite loop on illegal code)

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43765
* g++.dg/parse/pr43765.C: New.

From-SVN: r192351

11 years agore PR testsuite/54867 (gcc.dg/pr44194-1.c FAILs)
Eric Botcazou [Thu, 11 Oct 2012 10:11:37 +0000 (10:11 +0000)]
re PR testsuite/54867 (gcc.dg/pr44194-1.c FAILs)

PR testsuite/54867
* gcc.dg/pr44194-1.c: Tweak regexp to exclude prologue insns.

From-SVN: r192350

11 years agoFix Solaris symbol versioning (PR libstdc++/54872)
Rainer Orth [Thu, 11 Oct 2012 08:38:28 +0000 (08:38 +0000)]
Fix Solaris symbol versioning (PR libstdc++/54872)

PR libstdc++/54872
* config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
Don't export _ZNSt12system_errorC*.

From-SVN: r192349

11 years agoinit-2.mm: Tweak errors.
Uros Bizjak [Thu, 11 Oct 2012 07:04:32 +0000 (09:04 +0200)]
init-2.mm: Tweak errors.

* obj-c++.dg/tls/init-2.mm: Tweak errors.

From-SVN: r192348

11 years agore PR c++/43663 (Can't take a const-ref to a bit field)
Paolo Carlini [Thu, 11 Oct 2012 02:34:32 +0000 (02:34 +0000)]
re PR c++/43663 (Can't take a const-ref to a bit field)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43663
* g++.dg/init/bitfield3.C: New.

From-SVN: r192347

11 years agoarm.c (arm_arch6m): New variable to denote armv6-m architecture.
Terry Guo [Thu, 11 Oct 2012 02:22:48 +0000 (02:22 +0000)]
arm.c (arm_arch6m): New variable to denote armv6-m architecture.

2012-10-11  Terry Guo  <terry.guo@arm.com>

        * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
        architecture.
        * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
        instruction.

From-SVN: r192346

11 years agore PR target/54373 (build fails for mmix-knuth-mmixware libobjc GCC_NO_EXECUTABLES)
Hans-Peter Nilsson [Thu, 11 Oct 2012 01:36:24 +0000 (01:36 +0000)]
re PR target/54373 (build fails for mmix-knuth-mmixware libobjc GCC_NO_EXECUTABLES)

PR target/54373
* configure.ac (out-of-tree linker .hidden support) Set to "no"
for mmix-knuth-mmixware.
* configure: Regenerate.

From-SVN: r192345

11 years ago* configure.ac (out-of-tree linker .hidden support) Set to "no"
Hans-Peter Nilsson [Thu, 11 Oct 2012 01:09:43 +0000 (01:09 +0000)]
* configure.ac (out-of-tree linker .hidden support) Set to "no"
for mmix-knuth-mmixware.
* configure: Regenerate.

From-SVN: r192344

11 years agoconfigure.ac (gcc_cv_as_comdat_group_group): Default to no.
Hans-Peter Nilsson [Thu, 11 Oct 2012 01:07:27 +0000 (01:07 +0000)]
configure.ac (gcc_cv_as_comdat_group_group): Default to no.

* configure.ac (gcc_cv_as_comdat_group_group): Default to no.
* configure: Regenerate.

From-SVN: r192343

11 years agoacinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single character to quote the VERSIO...
Hans-Peter Nilsson [Thu, 11 Oct 2012 00:52:26 +0000 (00:52 +0000)]
acinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single character to quote the VERSION= contents.

* acinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single
character to quote the VERSION= contents.  Sanity-check contents.
* configure.ac ("what linker to use" ld version extraction): Ditto.
* configure: Regenerate.

From-SVN: r192342

11 years agoDaily bump.
GCC Administrator [Thu, 11 Oct 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192340

11 years agors6000.h (PRINT_OPERAND_PUNCT_VALID_P): Delete '.'.
Segher Boessenkool [Wed, 10 Oct 2012 23:55:03 +0000 (01:55 +0200)]
rs6000.h (PRINT_OPERAND_PUNCT_VALID_P): Delete '.'.

* config/rs6000/rs6000.h (PRINT_OPERAND_PUNCT_VALID_P):
Delete '.'.

From-SVN: r192337

11 years agoAdd PR to previous ChangeLog entry.
Jonathan Wakely [Wed, 10 Oct 2012 23:12:23 +0000 (00:12 +0100)]
Add PR to previous ChangeLog entry.

From-SVN: r192336

11 years agoos_defines.h: Define _GLIBCXX_USE_NANOSLEEP and _GLIBCXX_USE_SCHED_YIELD.
Jack Howarth [Wed, 10 Oct 2012 23:12:10 +0000 (23:12 +0000)]
os_defines.h: Define _GLIBCXX_USE_NANOSLEEP and _GLIBCXX_USE_SCHED_YIELD.

2012-10-10  Jack Howarth  <howarth@bromo.med.uc.edu>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
and _GLIBCXX_USE_SCHED_YIELD.
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r192335

11 years ago2012-10-10 Mark Kettenis <kettenis@openbsd.org>
Mark Kettenis [Wed, 10 Oct 2012 23:11:54 +0000 (23:11 +0000)]
2012-10-10  Mark Kettenis  <kettenis@openbsd.org>

* configure.host (*-*-openbsd*) Set cpu_include_dir.
* config/os/bsd/openbsd/ctype_base.h: New file.
* config/os/bsd/openbsd/ctype_configure_char.cc: New file.
* config/os/bsd/openbsd/ctype_inline.h: New file.
* config/os/bsd/openbsd/os_defines.h: New file.
* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use newlib locale model
for OpenBSD.
* configure: Regenerated.

From-SVN: r192334

11 years agoelf.c: Rename all Elf typedefs to start with b_elf, and be all lower case.
Ian Lance Taylor [Wed, 10 Oct 2012 19:59:00 +0000 (19:59 +0000)]
elf.c: Rename all Elf typedefs to start with b_elf, and be all lower case.

* elf.c: Rename all Elf typedefs to start with b_elf, and be all
lower case.

From-SVN: r192331

11 years agomips32-dsp-accinit-2.c: Fix test description.
Richard Sandiford [Wed, 10 Oct 2012 19:54:07 +0000 (19:54 +0000)]
mips32-dsp-accinit-2.c: Fix test description.

gcc/testsuite/
* gcc.target/mips/mips32-dsp-accinit-2.c: Fix test description.

From-SVN: r192329

11 years agore PR fortran/54878 (libgfortran issues found by the Coverity scanner)
Tobias Burnus [Wed, 10 Oct 2012 18:42:34 +0000 (20:42 +0200)]
re PR fortran/54878 (libgfortran issues found by the Coverity scanner)

2012-10-10  Tobias Burnus  <burnus@net-b.de>

PR fortran/54878
* io/unix.c (tempfile_open): Set umask before calling mkstemp.

From-SVN: r192325

11 years agosfp-machine.h (FP_RND_NEAREST, [...]): Move to ...
Uros Bizjak [Wed, 10 Oct 2012 18:35:32 +0000 (20:35 +0200)]
sfp-machine.h (FP_RND_NEAREST, [...]): Move to ...

* config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ...
* config/i386/32/sfp-machine.h: ... here.
* config/i386/64/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX):
New defines.

From-SVN: r192324

11 years agore PR tree-optimization/54877 (ICE: tree check: expected ssa_name, have real_cst...
Jakub Jelinek [Wed, 10 Oct 2012 17:47:05 +0000 (19:47 +0200)]
re PR tree-optimization/54877 (ICE: tree check: expected ssa_name, have real_cst in copy_ssa_name_fn, at tree-ssanames.c:335)

PR tree-optimization/54877
* tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
use make_ssa_name instead of copy_ssa_name.

* gcc.dg/torture/pr54877.c: New test.

From-SVN: r192322

11 years agoMove tests written for pr53397 from gcc.dg to gcc.target/i386
Venkataramanan Kumar [Wed, 10 Oct 2012 15:31:27 +0000 (15:31 +0000)]
Move tests written for pr53397 from gcc.dg to gcc.target/i386

From-SVN: r192318

11 years agolto-streamer-in.c (lto_input_location_bitpack): Rename to ...
Richard Biener [Wed, 10 Oct 2012 14:27:59 +0000 (14:27 +0000)]
lto-streamer-in.c (lto_input_location_bitpack): Rename to ...

2012-10-10  Richard Biener  <rguenther@suse.de>

* lto-streamer-in.c (lto_input_location_bitpack): Rename to ...
(lto_input_location): ... this.  Kill original.
(input_eh_region): Adjust.
(input_struct_function_base): Likewise.
(lto_read_tree): Likewise.
* lto-streamer-out.c (lto_output_location_bitpack): Rename to ...
(lto_output_location): ... this.  Kill original.
(lto_write_tree): Adjust.
(output_eh_region): Likewise.
(output_struct_function_base): Likewise.
* lto-streamer.c (lto_streamer_hooks_init): Initialize location
hooks.
* lto-streamer.h (lto_input_location): Adjust prototype.
(lto_output_location): Likewise.
* streamer-hooks.h (struct streamer_hooks): Adjust prototype
of input_location and output_location hooks.
(stream_input_location): New define.
(stream_output_location): Likewise.
* tree-streamer-in.c (unpack_ts_block_value_fields): Adjust.
(unpack_value_fields): Likewise.
(streamer_read_tree_bitfields): Likewise.
(lto_input_ts_decl_minimal_tree_pointers): Likewise.
(lto_input_ts_exp_tree_pointers): Likewise.
(lto_input_ts_block_tree_pointers): Likewise.
* tree-streamer-out.c (pack_ts_block_value_fields): Adjust.
(streamer_pack_tree_bitfields): Likewise.
(write_ts_decl_minimal_tree_pointers): Likewise.
(write_ts_exp_tree_pointers): Likewise.
(write_ts_block_tree_pointers): Likewise.
* gimple-streamer-in.c (input_phi): Adjust.
(input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_phi): Adjust.
(output_gimple_stmt): Likewise.
* tree-streamer.h (streamer_read_tree_bitfields): Adjust prototype.
(streamer_pack_tree_bitfields): Likewise.

From-SVN: r192317

11 years agopr54782.c: Require effective target pthread.
Greta Yorsh [Wed, 10 Oct 2012 14:05:15 +0000 (15:05 +0100)]
pr54782.c: Require effective target pthread.

gcc/testsuite

        * gcc.dg/pr54782.c: Require effective target pthread.

From-SVN: r192316

11 years agore PR c++/53122 (internal compiler error: in unify, at cp/pt.c:15750)
Paolo Carlini [Wed, 10 Oct 2012 13:25:34 +0000 (13:25 +0000)]
re PR c++/53122 (internal compiler error: in unify, at cp/pt.c:15750)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53122
* g++.dg/cpp0x/auto35.C: New.

From-SVN: r192312

11 years ago* elf.c (elf_add_syminfo_data): Add casts to avoid warning.
Hans-Peter Nilsson [Wed, 10 Oct 2012 12:55:52 +0000 (12:55 +0000)]
* elf.c (elf_add_syminfo_data): Add casts to avoid warning.

From-SVN: r192311

11 years agoFix signed/unsigned warning; Make some mask types HOST_WIDE_INT; Add more debugging...
Michael Meissner [Wed, 10 Oct 2012 12:54:06 +0000 (12:54 +0000)]
Fix signed/unsigned warning; Make some mask types HOST_WIDE_INT; Add more debugging with -mdebug=reg

From-SVN: r192310

11 years agotype_traits (__do_common_type_impl): Revert for now LWG 2141-related change.
Paolo Carlini [Wed, 10 Oct 2012 12:02:05 +0000 (12:02 +0000)]
type_traits (__do_common_type_impl): Revert for now LWG 2141-related change.

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (__do_common_type_impl): Revert for now
LWG 2141-related change.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Adjust.

From-SVN: r192308

11 years agoAdded forgotten ChangeLog entry.
Rainer Orth [Wed, 10 Oct 2012 10:56:01 +0000 (10:56 +0000)]
Added forgotten ChangeLog entry.

From-SVN: r192306

11 years agore PR target/51109 (bdver1 scheduler state machine too large)
Jakub Jelinek [Wed, 10 Oct 2012 10:55:54 +0000 (12:55 +0200)]
re PR target/51109 (bdver1 scheduler state machine too large)

PR target/51109
* config/i386/bdver1.md (bdver1-mult): Remove.

From-SVN: r192305

11 years agoPR c++/53540 - using fails to be equivalent to typedef
Dodji Seketeli [Wed, 10 Oct 2012 10:43:53 +0000 (10:43 +0000)]
PR c++/53540 - using fails to be equivalent to typedef

In the example of this problem report, during the substituting of int
into 'function', tsubst_aggr_type fails for the alias ctxt1.  This is
because TYPE_TEMPLATE_INFO looks for the TEMPLATE_INFO of the ctxt1
alias at the wrong place and was wrongly finding it to be NULL.
Namely, it was looking for it in the DECL_TEMPLATE_INFO of the
declaration of the type -- as if ctxt1 was an alias template
specialization -- rather than looking for it in its
CLASSTYPE_TEMPLATE_INFO.

Fixed thus.  The other hunks of the patch are a cleanup to make a
better use of alias_template_specialization_p.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp

* cp-tree.h (TYPE_TEMPLATE_INFO): For an alias that is not an
instance of alias template, don't look for its TEMPLATE_INFO in
its declaration.
(alias_template_specialization_p): Take const_tree.
* pt.c (alias_template_specialization_p): Take a const_tree.
Don't call primary_template_instantiation_p.
(primary_template_instantiation_p): Call
alias_template_specialization_p.

gcc/testsuite/

* g++.dg/cpp0x/alias-decl-24.C: New test.

From-SVN: r192304

11 years agore PR middle-end/54879 (gcc/combine.c:12018: warning: comparison always false due...
Jakub Jelinek [Wed, 10 Oct 2012 10:41:39 +0000 (12:41 +0200)]
re PR middle-end/54879 (gcc/combine.c:12018: warning: comparison always false due to limited range of data type)

PR middle-end/54879
* combine.c (count_rtxs): Use RTX_BIN_ARITH resp. RTX_COMM_ARITH
instead of '2' resp. 'c' for GET_RTX_CLASS comparisons.

From-SVN: r192303

11 years agore PR middle-end/54862 (error: comparison between signed and unsigned integer express...
Jakub Jelinek [Wed, 10 Oct 2012 10:40:35 +0000 (12:40 +0200)]
re PR middle-end/54862 (error: comparison between signed and unsigned integer expressions in simplify-rtx.c)

PR middle-end/54862
* simplify-rtx.c (simplify_truncation): Compare UINTVAL instead of
INTVAL of second argument with precision resp. op_precision.

From-SVN: r192302

11 years agoPR middle-end/54860 - Make sure attributes hash table is created
Dodji Seketeli [Wed, 10 Oct 2012 10:25:03 +0000 (10:25 +0000)]
PR middle-end/54860 - Make sure attributes hash table is created

On targets cris-elf, alpha and sparc (for instance) it can happen that
the attribute_tables variable is empty for fortran.  Thus
register_scoped_attributes (called by init_attributes) won't call
register_scoped_attributes, so the hash table member of
scoped_attributes is not created.

Later when we try to e.g, lookup an attribute by calling
lookup_scoped_attribute_spec, that NULL member hash table comes to
byte us as htab_find_with_hash crashes.

This patch fixes this by ensuring in register_scoped_attributes that
the hash table is created.

Tested on cris-elf, x86_64-unknown-linux-gnu against trunk and some
commenters on the bug bootstrapped it on alpha and sparc.

gcc/

* attribs.c (register_scoped_attributes): Ensure the attribute
hash table is created.

From-SVN: r192301

11 years agoUpdate g++.dg/cpp0x/gen-attrs-{8,36,37}.C as c++11 attributes to types are ignored
Dodji Seketeli [Wed, 10 Oct 2012 10:24:50 +0000 (10:24 +0000)]
Update g++.dg/cpp0x/gen-attrs-{8,36,37}.C as c++11 attributes to types are ignored

The current implementation of C++11 attributes forbids them from being
applied to a type unless the type is being declared.  I forgot to
adjust g++.dg/cpp0x/gen-attrs-{8,36,37}.C that was being run only on
ia32.

Fixed thus, tested on i386-unknown-linux-gnu and
x86_64-unknown-linux-gnu against trunk.

gcc/testsuite/

* g++.dg/cpp0x/gen-attrs-8.C: Update the test to reflect the fact
that c++11 attributes to types are ignored for now.
* g++.dg/cpp0x/gen-attrs-36.C: Likewise.
* g++.dg/cpp0x/gen-attrs-37.C: Likewise

From-SVN: r192300

11 years agoDisambiguate nested objc-message-expressions and c++11 attributes
Dodji Seketeli [Wed, 10 Oct 2012 10:24:35 +0000 (10:24 +0000)]
Disambiguate nested objc-message-expressions and c++11 attributes

A couple of obj-c++ tests were failing[1] because the tokens '[[' can
either be the beginning of a c++11 attribute (that is itself at the
beginning of a statement), or the beginning of a nested
objc-message-expression.  This patch resolves the ambiguity by
tentatively parsing the c++11 attribute and if it fails, then consider
the objc-message-expression.

I missed this initially because it didn't occur to me that
--enable-languages=all,ada does not include obj-c++.  Shame on me.  I
have now updated my compile farm scripts to use
--enable-language=all,ada,obj-c++,go and I

[1]:

FAIL: obj-c++.dg/syntax-error-6.mm -fgnu-runtime  (test for errors, line 11)
FAIL: obj-c++.dg/syntax-error-6.mm -fgnu-runtime (test for excess errors)
FAIL: obj-c++.dg/template-8.mm -fgnu-runtime (test for excess errors)

Tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp/

* parser (cp_parser_statement):  Parse c++11 attributes tentatively.
(cp_parser_std_attribute_spec_seq): Do not warn too early about
using c++11 attributes in non c++11 mode.

From-SVN: r192299

11 years agore PR c++/53741 (ICE on lambda calling static template member function with explicit...
Paolo Carlini [Wed, 10 Oct 2012 10:15:51 +0000 (10:15 +0000)]
re PR c++/53741 (ICE on lambda calling static template member function with explicit template argument specification)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53741
* g++.dg/cpp0x/lambda/lambda-ice9.C: New.

From-SVN: r192298

11 years agoFix missing gthr-default.h issue on separate libstdc++ configure
Pavel Chupin [Wed, 10 Oct 2012 10:02:44 +0000 (10:02 +0000)]
Fix missing gthr-default.h issue on separate libstdc++ configure

        Fix missing gthr-default.h issue on separate libstdc++ configure
        * libstdc++-v3/acinclude.m4: Define glibcxx_thread_h.
        * libstdc++-v3/include/Makefile.am: Use glibcxx_thread_h.
        * libstdc++-v3/Makefile.in: Regenerate.
        * libstdc++-v3/configure: Regenerate.
        * libstdc++-v3/doc/Makefile.in: Regenerate.
        * libstdc++-v3/include/Makefile.in: Regenerate.
        * libstdc++-v3/libsupc++/Makefile.in: Regenerate.
        * libstdc++-v3/po/Makefile.in: Regenerate.
        * libstdc++-v3/python/Makefile.in: Regenerate.
        * libstdc++-v3/src/Makefile.in: Regenerate.
        * libstdc++-v3/src/c++11/Makefile.in: Regenerate.
        * libstdc++-v3/src/c++98/Makefile.in: Regenerate.
        * libstdc++-v3/testsuite/Makefile.in: Regenerate.

From-SVN: r192297

11 years agoFix for PR51109
Ganesh Gopalasubramanian [Wed, 10 Oct 2012 09:19:11 +0000 (09:19 +0000)]
Fix for PR51109

From-SVN: r192296

11 years agore PR c++/50478 ([C++0x] Internal compiler error when using initializer lists)
Paolo Carlini [Wed, 10 Oct 2012 09:12:19 +0000 (09:12 +0000)]
re PR c++/50478 ([C++0x] Internal compiler error when using initializer lists)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50478
* g++.dg/cpp0x/initlist67.C: New.

From-SVN: r192295

11 years agoMAINTAINERS: Adjust for changed surename.
Richard Biener [Wed, 10 Oct 2012 08:50:20 +0000 (08:50 +0000)]
MAINTAINERS: Adjust for changed surename.

2012-10-10  Richard Biener  <rguenther@suse.de>

* MAINTAINERS: Adjust for changed surename.

From-SVN: r192294

11 years agore PR bootstrap/54876 (LTO bootstrap broken, streaming garbage-collected BLOCK)
Richard Biener [Wed, 10 Oct 2012 08:48:47 +0000 (08:48 +0000)]
re PR bootstrap/54876 (LTO bootstrap broken, streaming garbage-collected BLOCK)

2012-10-10  Richard Biener  <rguenther@suse.de>

PR middle-end/54876
* ipa-prop.c (prune_expression_for_jf_1): New function.
(prune_expression_for_jf): Clear EXPR_LOCATION for all
sub-expressions as well.

From-SVN: r192293

11 years agore PR ada/54845 ([trunk/gcc/c-family/c-ada-spec.c:3114]: (error) Buffer is accessed...
Arnaud Charlet [Wed, 10 Oct 2012 08:09:25 +0000 (08:09 +0000)]
re PR ada/54845 ([trunk/gcc/c-family/c-ada-spec.c:3114]: (error) Buffer is accessed out of bounds.)

2012-10-10  Arnaud Charlet  <charlet@adacore.com>

PR ada/54845
* c-ada-spec.c (print_ada_struct_decl): Increase buf size.

From-SVN: r192290

11 years agoconfig.gcc: Enable zEC12 for with-arch and with-tune configure switches.
Andreas Krebbel [Wed, 10 Oct 2012 05:02:11 +0000 (05:02 +0000)]
config.gcc: Enable zEC12 for with-arch and with-tune configure switches.

2012-10-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config.gcc: Enable zEC12 for with-arch and with-tune
          configure switches.
* common/config/s390/s390-common.c (processor_flags_table): Add
zEC12 entry.
* config/s390/2827.md: New file.
* config/s390/s390-opts.h (enum processor_type): Add
PROCESSOR_2827_ZEC12.
* config/s390/s390.h (enum processor_flags): Add PF_ZEC12.
(TARGET_CPU_ZEC12, TARGET_ZEC12): New macro definitions.
* config/s390/s390.c (zEC12_cost): New definition.
(s390_option_override): Set costs for zEC12.
Set parameter defaults for zEC12.
(legitimate_reload_fp_constant_p): Adjust comment.
(preferred_la_operand_p): Adjust comment.
(s390_expand_insv): Generate insv pattern without CC clobber for
zEC12.
(s390_adjust_priority): Add zEC12 check.
(s390_issue_rate): Return 2 for zEC12.
(s390_reorg): Enable code optimizations for zEC12.
(s390_sched_reorder): Reorder insns according to OOO attributes.
(s390_get_sched_attrmask): New function.
(s390_sched_score): New function.
(s390_sched_variable_issue): Update s390_sched_state.
(s390_sched_init): Reset s390_sched_state.
(s390_loop_unroll_adjust): Enable for zEC12.
* config/s390/s390.opt: Add zEC12 processor type value.
* config/s390/s390.md: Enable mnemonic attribute.
(attr cpu, cpu_facility): Add zEC12.
Include 2827.md.
("*insv<mode>_zEC12", "*insv<mode>_zEC12_noshift")
("*load_and_trap<mode>"): New insn definition.
("*cmp_and_trap_unsigned_int<mode>"): Add clt and clgt.

From-SVN: r192289

11 years agodwarf.c (dwarf_fileline): Add cast to avoid warning.
Ian Lance Taylor [Wed, 10 Oct 2012 04:37:06 +0000 (04:37 +0000)]
dwarf.c (dwarf_fileline): Add cast to avoid warning.

* dwarf.c (dwarf_fileline): Add cast to avoid warning.
(backtrace_dwarf_add): Likewise.

From-SVN: r192288

11 years agoMake Niagara-4 instruction scheduling more accurate.
David S. Miller [Wed, 10 Oct 2012 02:04:20 +0000 (02:04 +0000)]
Make Niagara-4 instruction scheduling more accurate.

* config/sparc/sparc.md (type attribute): Add new types 'visl'
(VIS logical operation), 'vismv' (VIS move), and 'pdistn'.  Rename
'fgm_pdist' to 'pdist'.
(*movsi_insn): Use vismv and visl.
(*movdi_insn_sp64): Likewise.
(*movsf_insn): Likewise.
(*movdf_insn_sp64): Likewise.
(*mov<VM32:mode>_insn): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(*mov<VM64:mode>_insn_sp64): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(*mov<VM64:mode>_insn_sp32): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(VIS logical instructions): Mark as visl.
(pdist_vis): Use 'pdist'.
(pditsn<mode>_vis): Use 'pdistn'.
* config/sparc/ultra1_2.md: Adjust for new VIS attribute types.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/niagara4.md: Add cpu units "n4_slot2" and
"n4_load_store" for special store scheduling.  Use them in load
and store reservations.  Integer divide and multiply can only
issue in slot-1.  Represent 1-cycle VIS moves and 3-cycle VIS
logic operations.

From-SVN: r192286

11 years agotree-eh.c (lower_try_finally_onedest): Set correct location for deallocator.
Dehao Chen [Wed, 10 Oct 2012 01:26:30 +0000 (01:26 +0000)]
tree-eh.c (lower_try_finally_onedest): Set correct location for deallocator.

gcc:
2012-10-10  Dehao Chen  <dehao@google.com>

* tree-eh.c (lower_try_finally_onedest): Set correct location for
deallocator.
* gimplify.c (gimplify_expr): Set correct location for TRY stmt.

gcc/cp:
2012-10-10  Dehao Chen  <dehao@google.com>

* cp-gimplify.c (cp_genericize_r): Set location for TRY expr.

testsuite:
2012-10-10  Dehao Chen  <dehao@google.com>

* g++.dg/debug/dwarf2/deallocator.C: Cover more deallocator cases.

From-SVN: r192285

11 years agore PR target/52480 (SH Target: SH4A movua.l does not work for big endian)
Oleg Endo [Wed, 10 Oct 2012 00:50:37 +0000 (00:50 +0000)]
re PR target/52480 (SH Target: SH4A movua.l does not work for big endian)

PR target/52480
* config/sh/sh.md (extv, extzv): Check that operands[3] is zero,
regardless of the endianness.

PR target/52480
* gcc.target/sh/sh4a-bitmovua.c: Compact skip-if list.
Add runtime tests.

From-SVN: r192283

11 years agoDaily bump.
GCC Administrator [Wed, 10 Oct 2012 00:19:26 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r192282

11 years agore PR c++/53307 (internal crash with variadic templates and decltype)
Paolo Carlini [Tue, 9 Oct 2012 23:37:07 +0000 (23:37 +0000)]
re PR c++/53307 (internal crash with variadic templates and decltype)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53307
* g++.dg/cpp0x/decltype44.C: New.

From-SVN: r192279

11 years agotype_traits (common_time): Provide "SFINAE-friendly" implementation.
Daniel Krugler [Tue, 9 Oct 2012 22:31:44 +0000 (22:31 +0000)]
type_traits (common_time): Provide "SFINAE-friendly" implementation.

2012-10-09  Daniel Krugler  <daniel.kruegler@googlemail.com>

* include/std/type_traits (common_time): Provide "SFINAE-friendly"
implementation.
(__success_type, __failure_type): Fix.
* include/std/chrono (common_type): Likewise for the chrono::time_point
specialization.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
LWG 2141.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
dg-error line numbers.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

* testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
tweaks.
* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.

From-SVN: r192276

11 years agoext_ins.c: Modify f2 to aviod uninitialized data.
Steve Ellcey [Tue, 9 Oct 2012 22:04:11 +0000 (22:04 +0000)]
ext_ins.c: Modify f2 to aviod uninitialized data.

2012-10-09  Steve Ellcey  <sellcey@mips.com>

* gcc.target/ext_ins.c: Modify f2 to aviod uninitialized data.

From-SVN: r192274

11 years agoChange more non-GTY hash tables to use the new type-safe template hash table.
Lawrence Crowl [Tue, 9 Oct 2012 21:21:36 +0000 (21:21 +0000)]
Change more non-GTY hash tables to use the new type-safe template hash table.

Constify member function parameters that can be const.
Correct a couple of expressions in formerly uninstantiated templates.

The new code is 0.362% faster in bootstrap, with a 99.5% confidence of
being faster.

Tested on x86-64.

Index: gcc/java/ChangeLog

2012-10-01  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (JAVA_OBJS): Add dependence on hash-table.o.
(JCFDUMP_OBJS): Add dependence on hash-table.o.
(jcf-io.o): Add dependence on hash-table.h.
* jcf-io.c (memoized_class_lookups): Change to use type-safe hash table.

Index: gcc/c/ChangeLog

2012-10-09  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (c-decl.o): Add dependence on hash-table.h.
* c-decl.c (detect_field_duplicates_hash): Change to new type-safe
hash table.

Index: gcc/objc/ChangeLog

2012-10-01  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (OBJC_OBJS): Add dependence on hash-table.o.
(objc-act.o): Add dependence on hash-table.h.
* objc-act.c (objc_detect_field_duplicates): Change to new type-safe
hash table.

Index: gcc/ChangeLog

2012-10-09  Lawrence Crowl  <crowl@google.com>

* Makefile.in (fold-const.o): Add depencence on hash-table.h.
(dse.o): Likewise.
(cfg.o): Likewise.
* fold-const.c (fold_checksum_tree): Change to new type-safe hash table.
* (print_fold_checksum): Likewise.
* cfg.c (var bb_original): Likewise.
* (var bb_copy): Likewise.
* (var loop_copy): Likewise.
* hash-table.h (template hash_table): Constify parameters for find...
and remove_elt... member functions.
        (hash_table::empty) Correct size expression.
        (hash_table::clear_slot) Correct deleted entry assignment.
* dse.c (var rtx_group_table): Change to new type-safe hash table.

Index: gcc/cp/ChangeLog

2012-10-09  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (class.o): Add dependence on hash-table.h.
(tree.o): Likewise.
(semantics.o): Likewise.
* class.c (fixed_type_or_null): Change to new type-safe hash table.
* tree.c (verify_stmt_tree): Likewise.
(verify_stmt_tree_r): Likewise.
* semantics.c (struct nrv_data): Likewise.

From-SVN: r192273

11 years ago* basic-block. (profile_record): New struct, moved from passes.c.
Steven Bosscher [Tue, 9 Oct 2012 20:37:11 +0000 (20:37 +0000)]
* basic-block. (profile_record): New struct, moved from passes.c.

* cfghooks.h (struct cfg_hooks) <account_profile_record>: New hook.
(account_profile_record): New prototype.
* cfghooks.c (account_profile_record): New function.
* tree-cfg.c (gimple_account_profile_record): New function
(gimple_cfg_hooks): Add it.
* cfgrtl.c (rtl_account_profile_record): New function
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Add it.
* passes.c (check_profile_consistency): Simplify.  Move IR-dependent
code around using cfghooks machinery.

From-SVN: r192271

11 years agoChangeLog: Move testsuite entries ...
Uros Bizjak [Tue, 9 Oct 2012 20:27:59 +0000 (22:27 +0200)]
ChangeLog: Move testsuite entries ...

* ChangeLog: Move testsuite entries ...
* testsuite/ChangeLog: ... here.

From-SVN: r192270

11 years agore PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
Oleg Endo [Tue, 9 Oct 2012 18:59:11 +0000 (18:59 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* doc/extend.texi (Target Builtins): Add SH built-in section.
Document __builtin_thread_pointer and __builtin_set_thread_pointer.

From-SVN: r192269

11 years agore PR libstdc++/54861 (std::atomic_signal_fence(std::memory_order_seq_cst) issues...
Andrew MacLeod [Tue, 9 Oct 2012 18:40:02 +0000 (18:40 +0000)]
re PR libstdc++/54861 (std::atomic_signal_fence(std::memory_order_seq_cst) issues unnecessary mfence)

2012-10-09  Andrew MacLeod  <amacleod@redhat.com>

PR libstdc++/54861
* include/bits/atomic_base.h (atomic_signal_fence): Call
__atomic_signal_fence instead of __atomic_thread_fence.

From-SVN: r192268