aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-10-04c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.Richard Henderson2-7/+11
* c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable. Avoid save_expr unless two_arguments. From-SVN: r179525
2011-10-04re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure ↵Janus Weil4-1/+123
argument) 2011-10-04 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 * interface.c (check_dummy_characteristics): Check the array shape. 2011-10-04 Janus Weil <janus@gcc.gnu.org> PR fortran/35831 * gfortran.dg/dummy_procedure_6.f90: New. From-SVN: r179520
2011-10-04mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT.Ozkan Sezer3-3/+9
2011-10-04 Ozkan Sezer <sezeroz@gmail.com> * config/i386/mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT. * config/i386/mingw32.h (CPP_SPEC): Likewise. From-SVN: r179511
2011-10-04Small -m{cpu,tune}=native fix under Linux/Sparc.David S. Miller2-1/+6
* config/sparc/driver-sparc.c (cpu_names): Fix string for supersparc under Linux. From-SVN: r179510
2011-10-04re PR middle-end/50604 (verify_gimple failed: type mismatch in binary ↵Jakub Jelinek5-4/+43
expression) PR tree-optimization/50604 * builtins.c (fold_builtin_strcpy, fold_builtin_stpcpy, fold_builtin_strncpy, fold_builtin_stxcpy_chk): Ensure last argument to memcpy has size_type_node type instead of ssizetype. * tree-ssa-strlen.c (handle_builtin_memcpy): Use size_type_node instead of TREE_TYPE (len) as type for newlen. * gcc.dg/pr50604.c: New test. From-SVN: r179508
2011-10-04Maintain order of LTO sectionsAndi Kleen4-36/+78
Currently when reading in LTO sections from ld -r files they can get randomly reordered based on hash tables and random IDs. This causes reordering later when the final code is generated and also makes crashes harder to reproduce. This patch maintains explicit lists based on the input order and uses those lists to preserve that order when starting the rest of the LTO passes. This is the first step to working -fno-toplevel-reorder for LTO. But this needs more changes because the LTO partitioner can still reorder. This add two lists: one for the section and another one for the file_decl_datas. This is needed because the sections are walked twice through different data structures. In addition some code becomes slightly cleaner because we don't need to pass state through abstract callbacks anymore, but can just use direct type safe calls. gcc/lto/: 2011-10-02 Andi Kleen <ak@linux.intel.com> * lto-object.c (lto_obj_add_section_data): Add list. (lto_obj_add_section): Fill in list. (ltoobj_build_section_table): Pass through list. * lto.c (file_data_list): Declare. (create_subid_section_table): Pass arguments directly. Fill in list of file_datas. (lwstate): Delete. (lto_create_files_from_ids): Pass in direct arguments. Don't maintain list. (lto_file_read): Use explicit section and file data lists. (lto_read_all_file_options): Pass in section_list. * lto.h (lto_obj_build_section_table): Add list. (lto_section_slot): Add next. (lto_section_list): Declare. From-SVN: r179505
2011-10-04Don't XFAIL gcc.dg/graphite/interchange-14.c (PR tree-optimization/49662)Rainer Orth4-3/+10
From-SVN: r179503
2011-10-04re PR tree-optimization/50522 (C++ std::valarray vectorization missed ↵Jakub Jelinek2-4/+7
optimization) PR tree-optimization/50522 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test TYPE_RESTRICT. (ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base unconditionally. From-SVN: r179502
2011-10-04fold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to ↵Jakub Jelinek5-0/+44
TYPE_RESTRICT pointer by casting the... * fold-const.c (fold_unary_loc): Don't optimize POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by casting the inner pointer if it isn't TYPE_RESTRICT. * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't through casts from non-TYPE_RESTRICT pointer to TYPE_RESTRICT pointer. * gcc.dg/tree-ssa/restrict-4.c: New test. From-SVN: r179500
2011-10-04config.gcc (i[34567]86-*-elf*, [...]): Use i386/t-crtstuff.Joseph Myers2-2/+7
* config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use i386/t-crtstuff. From-SVN: r179498
2011-10-04vector-compare-1.c: Fix trailing white spaces.Artjoms Sinkarovs2-10/+16
2011-10-04 Artem Shinkarov <artyom.shinkaroff@gmail.com> * gcc.c-torture/execute/vector-compare-1.c: Fix trailing white spaces. (main): Use __typeof to get result type of comparison. From-SVN: r179497
2011-10-04lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.Jan Hubicka5-5/+43
* lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter. * lto-streamer-in.c (lto_input_toplevel_asms): Stream in order. * lto-streamer-out.c (lto_output_toplevel_asms): Stream out order. * lto-cgraph.c (order_base): New static var. (lto_output_node): Stream in order. (lto_output_varpool_node): Stream out order. (input_node): Stream in order. (input_varpool_node): Stream out order. (input_cgraph_1): Initialize order base; update call of lto_input_toplevel_asms. From-SVN: r179496
2011-10-04re PR target/50566 ([avr]: Add support for better logging similar to -mdeb)Georg-Johann Lay4-45/+103
PR target/50566 * config/avr/avr-protos.h (avr_legitimize_reload_address): New prototype. * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Copy worker code from here... * config/avr/avr.c (avr_legitimize_reload_address) ...to this new function. Log if avr_log.legitimize_reload_address. From-SVN: r179494
2011-10-04* config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests.Eric Botcazou2-18/+21
From-SVN: r179493
2011-10-04longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local variables.Andreas Krebbel2-12/+18
2011-10-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local variables. Fix second operand of DR. Swap inputs for sdiv_qrnnd. From-SVN: r179491
2011-10-04* lib/target-supports.expIra Rosen2-2/+8
(check_effective_target_vect_multiple_sizes): Make et_vect_multiple_sizes_saved global. (check_effective_target_vect64): Make et_vect64_saved global. From-SVN: r179490
2011-10-03More consistent access to sparc %ger register.David S. Miller2-32/+33
* config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make GSR_REG an input operand to UNSPEC instead of a parallel USE. (faligndata<V64I:mode>_vis): Likewise and use DI mode. (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis): Reference GSR_REG in DI mode, simplify convoluted expressions by using zero_extract. (bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode. From-SVN: r179489
2011-10-04* tree-eh.c (remove_unreachable_handlers): Obvious cleanup.Maxim Kuvyrkov2-1/+5
From-SVN: r179486
2011-10-04Daily bump.GCC Administrator1-1/+1
From-SVN: r179484
2011-10-03* de.po: Update.Joseph Myers2-172/+176
From-SVN: r179478
2011-10-03godump.c (go_output_typedef): Support printing enum values that don't fit in ↵Jakub Jelinek2-3/+20
a signed HOST_WIDE_INT. * godump.c (go_output_typedef): Support printing enum values that don't fit in a signed HOST_WIDE_INT. Co-Authored-By: Ian Lance Taylor <iant@google.com> From-SVN: r179477
2011-10-03cris.c (cris_output_addr_const_extra): Make static.Anatoly Sokolov4-7/+14
* config/cris/cris.c (cris_output_addr_const_extra): Make static. (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/cris/cris-protos.h (cris_output_addr_const_extra): Remove. From-SVN: r179476
2011-10-03m68k.c (m68k_output_addr_const_extra): Make static.Anatoly Sokolov4-9/+13
* config/m68k/m68k.c (m68k_output_addr_const_extra): Make static. (TARGET_OUTPUT_ADDR_CONST_EXTRA): Define. * config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove. From-SVN: r179474
2011-10-03re PR target/49967 (The -static-libstdc++ does not work on HP-UX (IA64 ↵Steve Ellcey3-0/+24
B.11.23, probably others)) 2011-10-03 Steve Ellcey <sje@cup.hp.com> PR target/49967 * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*. (gcc_cv_ld_static_option): Ditto. (gcc_cv_ld_dynamic_option): Ditto. * configure: Regenerate. From-SVN: r179472
2011-10-03Minor fixup to the sparc bshuffle pattern.David S. Miller2-1/+4
* config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap GSR_REG in a USE, since it's now a true arg to the UNSPEC. From-SVN: r179470
2011-10-03Fix Artem's name spelling, at request.Richard Henderson2-2/+2
From-SVN: r179469
2011-10-03Fix broken commit wrt vect-shuffle-N.c tests.Richard Henderson5-247/+8
From-SVN: r179468
2011-10-03Minor fixups to the sparc bmask/bshuffle patterns.David S. Miller2-8/+26
* config/sparc/sparc.md (bmask<P:mode>_vis): Split into explicit 'di' and 'si' patterns which describe the GSR changes explicitly in the RTL using zero_extract. (bshuffle<V64I:mode>_vis): Put the GSR use inside of the unspec. From-SVN: r179465
2011-10-03Vector shuffling patch from Artem Shinkarov.Artjoms Sinkarovs32-126/+1521
From-SVN: r179462
2011-10-03re PR tree-optimization/50587 (ICE init_range_entry, at ↵Jakub Jelinek2-0/+8
tree-ssa-reassoc.c:1698 caused by recent change) PR tree-optimization/50587 * tree-ssa-reassoc.c (init_range_entry): Stop iterating when arg0 is not a SSA_NAME. From-SVN: r179447
2011-10-03ipa-inline-analysis.c (MAX_TIME): Update comment.Richard Sandiford2-2/+6
gcc/ * ipa-inline-analysis.c (MAX_TIME): Update comment. From-SVN: r179446
2011-10-03pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.Jason Merrill2-21/+31
* pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs. Change unsubstituted_packs to bool. From-SVN: r179444
2011-10-03parser.c (cp_parser_range_for): Don't try to deduce from {} in a template.Jason Merrill4-1/+13
* parser.c (cp_parser_range_for): Don't try to deduce from {} in a template. From-SVN: r179443
2011-10-02Add missing changelog details in previous commit.David S. Miller1-0/+1
* config/sparc/predicates.md (const_one_operand): Delete. From-SVN: r179442
2011-10-02Add missing sparc shift zero extensions, and fix shift attributes.Richard Henderson3-12/+37
* config/sparc/sparc.md (ashlsi3, *ashldi3_sp64): Remove conditional insn type setting, we always emit a shift. (*ashlsi3_extend, *lshrsi3_extend0): New patterns. (*lshrsi3_extend): Rename to *lshrsi3_extend1. Co-Authored-By: David S. Miller <davem@davemloft.net> From-SVN: r179441
2011-10-03Daily bump.GCC Administrator1-1/+1
From-SVN: r179440
2011-10-02re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic ↵Jason Merrill12-326/+369
class template) PR c++/35722 Implement N2555 (expanding pack expansion to fixed parm list) * pt.c (coerce_template_parms): Allow expanding a pack expansion to a fixed-length argument list. (unify_pack_expansion): Handle explicit args properly. (unify) [TREE_VEC]: Handle pack expansions here. [TYPE_ARGUMENT_PACK]: Not here. (tsubst_pack_expansion): Don't try to do partial substitution. (pack_deducible_p): New. (fn_type_unification): Use it. (find_parameter_packs_r): Take the TYPE_MAIN_VARIANT of a type parameter. (check_non_deducible_conversion): Split from type_unification_real. (unify_one_argument): Split from type_unification_real... (unify_pack_expansion): ...and here. Drop call_args_p parm. (type_unification_real, unify, more_specialized_fn): Adjust. From-SVN: r179436
2011-10-02class.c (fixed_type_or_null): Handle NSDMI.Jason Merrill5-6/+43
* class.c (fixed_type_or_null): Handle NSDMI. * method.c (walk_field_subobs): Disable NSDMI noexcept checking for now. From-SVN: r179435
2011-10-02* invoke.texi (SPARC Options): Refer to GNU/Linux.Gerald Pfeifer2-2/+6
From-SVN: r179434
2011-10-02re PR target/50579 (gcc.target/mips/20020620-1.c FAILs on IRIX 6.5)Richard Sandiford3-11/+68
gcc/testsuite/ PR target/50579 * gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p): New procedures. (mips-dg-options): Force an ABI option if the current ABI is incompatible with the required -mlong setting. Likewise force a long setting if the current one is incompatible with the chosen ABI. Keep abi_test_option_p, abi and eabi_p updated throughout procedure. * gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls instead of addressing=absolute. From-SVN: r179433
2011-10-02mips.c (mips_frame_barrier): New function.Richard Sandiford4-41/+76
gcc/ * config/mips/mips.c (mips_frame_barrier): New function. (mips_expand_prologue): Call it after allocating stack space. (mips_deallocate_stack): New function. (mips_expand_epilogue): Call mips_frame_barrier and mips_deallocate_stack. gcc/testsuite/ * gcc.target/mips/stack-1.c: New test. From-SVN: r179432
2011-10-02re PR target/49696 (ICE on mips when compiling drizzle)Richard Sandiford4-7/+47
gcc/ PR target/49696 * config/mips/sync.md (sync_<optab>_12): Allow zero operands. (sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise. (sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise. gcc/testsuite/ * gcc.dg/pr49696.c: New test. From-SVN: r179431
2011-10-02* cgraphunit.c (verify_edge_count_and_frequency): Bounds check.Jan Hubicka2-1/+5
From-SVN: r179430
2011-10-02cgraphunit.c (ipa_passes): Remove unrechable nodes.Jan Hubicka7-9/+32
* cgraphunit.c (ipa_passes): Remove unrechable nodes. * lto-streamer-out.c (produce_symtab): Skip unused extern declarations. * ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external functions are reachable when address is taken. * ipa-inline-analysis.c (reset_inline_edge_summary): New * gcc.dg/ipa/ctor-empty-1.c: Update dump file. From-SVN: r179429
2011-10-02* ipa-inline-analysis.c (inline_summary_alloc): Bounds check.Jan Hubicka2-9/+13
From-SVN: r179428
2011-10-02ipa-inline-analysis.c (reset_inline_edge_summary): New function.Jan Hubicka2-14/+58
* ipa-inline-analysis.c (reset_inline_edge_summary): New function. (reset_inline_summary): New function. (compute_inline_parameters, inline_node_removal_hook, inline_edge_removal_hook): Use it. (inline_free_summary): Reset holders correctly. (inline_generate_summary): Free summary before computing it. From-SVN: r179427
2011-10-02re PR preprocessor/36819 (memleak in split_quote_chain)Paolo Carlini2-0/+8
2011-10-02 Paolo Carlini <paolo.carlini@oracle.com> PR preprocessor/36819 * incpath.c (merge_include_chains): Call free_path on heads[QUOTE] and tails[QUOTE]. From-SVN: r179426
2011-10-02Fix r179381: add missing period in testsuite/Changelog.Revital Eres1-1/+1
From-SVN: r179425
2011-10-02re PR lto/47247 (Linker plugin specification makes it difficult to handle ↵Jan Hubicka9-12/+43
COMDATs) PR lto/47247 * lto-plugin.c (get_symbols_v2): New variable. (write_resolution): Use V2 API when available. (onload): Handle LDPT_GET_SYMBOLS_V2. * lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve when resolution is already availbale from plugin. (lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP. * cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp. * lto-cgraph.c (LDPR_NUM_KNOWN): Update. * ipa.c (varpool_externally_visible_p): IRONLY variables are never externally visible. * varasm.c (resolution_to_local_definition_p): Add LDPR_PREVAILING_DEF_IRONLY_EXP. (resolution_local_p): Likewise. * common.c (lto_resolution_str): Add new resolution. * common.h (lto_resolution_str): Likewise. From-SVN: r179424
2011-10-01Start adding support for VIS 3.0 instructions.David S. Miller16-15/+745
gcc/ * config/sparc/sparc.opt (VIS3): New option. * doc/invoke.texi: Document it. * config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is not capable of such instructions. * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ to 0x300 when TARGET_VIS3. * config/sparc/sparc-modes.def: Create 16-byte vector modes. * config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32, UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs. (V64N8, VASS): New mode iterators. (vis3_shift, vis3_addsub_ss): New code iterators. (vbits, vconstr): New mode attributes. (vis3_shift_insn, vis3_addsub_ss_insn): New code attributes. (cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis, fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis, fmean16_vis, fpadd64_vis, fpsub64_vis, <vis3_addsub_ss_insn><vbits>_vis, fucmp<code>8<P:mode>_vis): New VIS 3.0 instruction patterns. * config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by default when targetting capable cpus. TARGET_VIS3 implies TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is disabled. (sparc_vis_init_builtins): Emit new VIS 3.0 builtins. (sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result is ignored. * config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16, __vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16, __vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32, __vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16, __vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s, __vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s, __vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8, __vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces. * doc/extend.texi: Document new VIS 3.0 builtins. gcc/testsuite/ * gcc.target/sparc/cmask.c: New test. * gcc.target/sparc/fpadds.c: New test. * gcc.target/sparc/fshift.c: New test. * gcc.target/sparc/fucmp.c: New test. * gcc.target/sparc/vis3misc.c: New test. From-SVN: r179421