- 13 Oct, 2012 4 commits
-
-
* ira.c (ira): Set current_loops to &ira_loops before recording loop exits. Release recorded exits and loops early. From-SVN: r192423
Steven Bosscher committed -
builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand(). 2012-10-13 Chung-Lin Tang <cltang@codesourcery.com> * builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand(). From-SVN: r192422
Chung-Lin Tang committed -
* config/alpha/alpha.md (FMODE): New mode iterator. (modesuffix): Handle SF and DF modes. (opmode): New mode attribute. (abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator. (*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using FMODE mode iterator. (neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator. (copysign<mode>3): Macroize insn from copysign{sf,df}3 using FMODE mode iterator. (*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using FMODE mode iterator. (*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using FMODE mode iterator. (add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator. (*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using FMODE mode iterator. (sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator. (*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using FMODE mode iterator. (mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator. (*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using FMODE mode iterator. (div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator. (*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using FMODE mode iterator. (sqrt<mode>2): Macroize insn from sqrt{sf,df}2 using FMODE mode iterator. (*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal using FMODE mode iterator. (mov<mode>cc): Macroize expander from mov{sf,df}cc using FMODE mode iterator. From-SVN: r192421
Uros Bizjak committed -
From-SVN: r192420
GCC Administrator committed
-
- 12 Oct, 2012 26 commits
-
-
PR target/54602 * config/sh/sh.md: Correct define_delay for return insns. (*movsi_pop): Delete. PR target/54602 * gcc.target/sh/pr54602-1.c: New. * gcc.target/sh/pr54602-2.c: New. * gcc.target/sh/pr54602-3.c: New. * gcc.target/sh/pr54602-4.c: New. From-SVN: r192417
Oleg Endo committed -
PR target/54680 * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped comments. * config/sh/predicates.md (fpul_operand): Add comment. (fpul_fsca_operand, fsca_scale_factor): New predicates. * config/sh/sh.md (fsca): Move below sincossf3 expander. Convert to insn_and_split. Use fpul_fsca_operand and fsca_scale_factor predicates. Simplify fpul operand in splitter. PR target/54680 * gcc.target/sh/pr54680.c: New. From-SVN: r192416
Oleg Endo committed -
* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop. From-SVN: r192414
Jan Hubicka committed -
From-SVN: r192413
Jan Hubicka committed -
* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't specify -m64. From-SVN: r192412
Janis Johnson committed -
* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for GNU/Linux. From-SVN: r192410
Janis Johnson committed -
target-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already specifying -mfloat-abi other than hard. * lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already specifying -mfloat-abi other than hard. From-SVN: r192409
Janis Johnson committed -
2012-10-12 Joe Seymour <jseymour@codesourcery.com> * gcc.dg/pr53060.c: Prune irrelevant warning. From-SVN: r192407
Joe Seymour committed -
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
Jakub Jelinek committed -
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
Diego Novillo committed -
From-SVN: r192404
Edward Smith-Rowland committed -
From-SVN: r192403
Edward Smith-Rowland committed -
/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
Paolo Carlini committed -
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
Marc Glisse committed -
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
Chung-Lin Tang committed -
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
Richard Biener committed -
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
Richard Biener committed -
* 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
Uros Bizjak committed -
From-SVN: r192394
Kirill Yukhin committed -
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
Marc Glisse committed -
2012-10-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52744 * g++.dg/cpp0x/pr52744.C: New. From-SVN: r192392
Paolo Carlini committed -
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
Janus Weil committed -
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
Richard Biener committed -
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
Oleg Endo committed -
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
Oleg Endo committed -
From-SVN: r192386
GCC Administrator committed
-
- 11 Oct, 2012 10 commits
-
-
2012-10-11 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51878 * g++.dg/cpp0x/decltype45.C: New. From-SVN: r192381
Paolo Carlini committed -
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
Paolo Carlini committed -
* 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
Uros Bizjak committed -
* 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
Steven Bosscher committed -
From-SVN: r192377
Jakub Jelinek committed -
* fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR, REDUC_MAX_EXPR and REDUC_PLUS_EXPR. From-SVN: r192376
Jakub Jelinek committed -
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
Janus Weil committed -
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
James Lemke committed -
* configure.ac: Do not use dl_iterate_phdr on Solaris 10. * configure: Rebuild. From-SVN: r192371
Ian Lance Taylor committed -
* 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
Uros Bizjak committed
-