- Oct 13, 2012
-
-
Steven Bosscher authored
* ira.c (ira): Set current_loops to &ira_loops before recording loop exits. Release recorded exits and loops early. From-SVN: r192423
-
Chung-Lin Tang authored
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
-
Uros Bizjak authored
* 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
-
GCC Administrator authored
From-SVN: r192420
-
- Oct 12, 2012
-
-
Oleg Endo authored
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 authored
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
-
Jan Hubicka authored
* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop. From-SVN: r192414
-
Jan Hubicka authored
From-SVN: r192413
-
Janis Johnson authored
* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't specify -m64. From-SVN: r192412
-
Janis Johnson authored
* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for GNU/Linux. From-SVN: r192410
-
Janis Johnson authored
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
-
Joe Seymour authored
2012-10-12 Joe Seymour <jseymour@codesourcery.com> * gcc.dg/pr53060.c: Prune irrelevant warning. From-SVN: r192407
-
Jakub Jelinek authored
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
-
Diego Novillo authored
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
-
Edward Smith-Rowland authored
From-SVN: r192404
-
Edward Smith-Rowland authored
From-SVN: r192403
-
Paolo Carlini authored
/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
-
Marc Glisse authored
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
-
Chung-Lin Tang authored
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
-
Richard Biener authored
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 authored
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
-
Uros Bizjak authored
* 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
-
Kirill Yukhin authored
From-SVN: r192394
-
Marc Glisse authored
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
-
Paolo Carlini authored
2012-10-12 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52744 * g++.dg/cpp0x/pr52744.C: New. From-SVN: r192392
-
Janus Weil authored
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
-
Richard Biener authored
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
-
Oleg Endo authored
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 authored
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
-
GCC Administrator authored
From-SVN: r192386
-
- Oct 11, 2012
-
-
Paolo Carlini authored
2012-10-11 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51878 * g++.dg/cpp0x/decltype45.C: New. From-SVN: r192381
-
Paolo Carlini authored
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
-
Uros Bizjak authored
* 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
-
Steven Bosscher authored
* 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
-
Jakub Jelinek authored
From-SVN: r192377
-
Jakub Jelinek authored
* fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR, REDUC_MAX_EXPR and REDUC_PLUS_EXPR. From-SVN: r192376
-
Janus Weil authored
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
-
James Lemke authored
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
-
Ian Lance Taylor authored
* configure.ac: Do not use dl_iterate_phdr on Solaris 10. * configure: Rebuild. From-SVN: r192371
-
Uros Bizjak authored
* 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
-