aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-11-14Daily bump.GCC Administrator1-1/+1
From-SVN: r181345
2011-11-13re PR target/50694 (SH Target: SH2A little endian does not actually work)Oleg Endo5-11/+38
PR target/50694 * config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A): New macros. (DRIVER_SELF_SPECS): Use new macros to filter out unsupported options taking the default configuration into account. * gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is specified. Remove redundant runtime checks. * gcc.target/sh/20080410-1.c: Skip if -mb is specified. Allow for other than -m4. Fix typos in comments. From-SVN: r181340
2011-11-13install.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*.Jonathan Wakely2-1/+6
* doc/install.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*. From-SVN: r181338
2011-11-13gcov.c (source_prefix, [...]): New globals.Nathan Sidwell3-13/+88
* gcov.c (source_prefix, source_length): New globals. (flag_relative_only): Likewise. (print_usage, options, process_args): Update. (generate_results): Use coverage.name, check flag_relative_only. Adjust messages. (find_source): Check source_prefix. (output_lines): Use coverage.name, adjust messages. * doc/gcov.texi (Invoking Gcov): Document new options. From-SVN: r181335
2011-11-13re PR c++/986 (g++ misses warning for reference on temporary that invokes ↵Jason Merrill5-1/+28
undefined behaviour) PR c++/986 * call.c (set_up_extended_ref_temp): Warn about references bound to non-static reference members. * init.c (perform_member_init): Pass in the member. From-SVN: r181334
2011-11-12re PR c++/51060 (Temporary object stack space is not re-used)Jason Merrill6-3/+87
PR c++/51060 * gimplify.c (gimplify_target_expr): Add a clobber to the cleanup. (gimplify_modify_expr): Don't try to simplify it. * cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone. From-SVN: r181332
2011-11-13Daily bump.GCC Administrator1-1/+1
From-SVN: r181331
2011-11-12re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)Dimitrios Apostolou3-1/+8
PR bootstrap/51094 * config/elfos.h (STRING_ASM_OP): Define. * varasm.c (default_elf_asm_output_limited_string): Use it. From-SVN: r181327
2011-11-12re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)Dimitrios Apostolou5-2/+20
PR bootstrap/51094 * gcc/configure.ac: Check for stpcpy declaration. * system.h: Declare it if not. * config.in, configure: Regenerate. From-SVN: r181326
2011-11-12rs6000: fix*_trunc insns use nonimmediate_operandRichard Henderson2-2/+6
* config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use nonimmediate_operand for the destination. (fixuns_trunc<SFDF>si2_stfiwx): Likewise. From-SVN: r181324
2011-11-12builtins.c (expand_builtin_compare_and_swap): If target is const0, don't ↵Richard Henderson2-8/+19
pass the target to expand_atomic_compare_and_swap. * builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap. (expand_builtin_atomic_compare_exchange): Likewise. From-SVN: r181323
2011-11-12sh-linux: Install __sync libfuncs.Richard Henderson3-0/+15
* config/sh/linux.h (TARGET_INIT_LIBFUNCS): New. * config/sh/sh.c (sh_init_sync_libfuncs): New. From-SVN: r181322
2011-11-12hppa: Install __sync libfuncs for linux.Richard Henderson4-0/+17
* config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New. * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default. * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs. From-SVN: r181320
2011-11-12Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads.Iain Sandoe4-36/+46
ada: * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads. (OSCONS_CPP, OSCONS_EXTRACT): New. (./bldtools/oscons/xoscons): New Target. ($(RTSDIR)/s-oscons.ads): New Target. (gnatlib): Depend on $(RTSDIR)/s-oscons.ads. * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency. * Make-generated.in: Remove machinery to generate xoscons and ada/s-oscons.ads. libada: Makefile.in: Change dependency on oscons to depend on the generator tool. From-SVN: r181319
2011-11-12gcc-simulate-thread.exp (simulate-thread): Do not run on alpha*-*-linux* ↵Uros Bizjak2-0/+10
targets. * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on alpha*-*-linux* targets. From-SVN: r181318
2011-11-12re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess ↵Iain Sandoe2-0/+8
errors) on *-apple-darwin*) gcc/testsuite: PR testsuite/51059 * gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for Darwin targets and allow external symbols to be undefined. From-SVN: r181317
2011-11-12re PR target/45233 (FAIL: gcc.c-torture/compile/pr44707.c)Iain Sandoe2-0/+8
gcc: PR target/45233 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Only expand a symbol ref. into an access when the entity is defined in the TU. From-SVN: r181315
2011-11-12objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality for ↵Iain Sandoe2-1/+9
Objective-C m32. gcc/obj: * objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality for Objective-C m32. From-SVN: r181312
2011-11-12re PR bootstrap/50822 (Solaris/SPARC bootstrap failure with Sun as: invalid ↵Jan Hubicka2-2/+9
assembler for ios_init.cc) PR bootstrap/50822 * cgraphunit.c (output_weakrefs): Output really only weakrefs. From-SVN: r181311
2011-11-12gcov.c (struct name_map): New.Nathan Sidwell5-101/+319
* gcov.c (struct name_map): New. (names, n_names, a_names): New global vars. (print_usage): Adjust usage. (generate_results): Canonicalize main file name. (release_structures): Adjust. (name_search, name_sort): New callbacks. (find_source): Look for and create a canonical name. (canonicalize_name): New. (make_gcov_file_name): Reimplement and fix mangling. (mangle_name): New. * doc/gcov.texi: Update documentation about path preservation. testsuite/ * gcc.misc-tests/gcov-15.c: New. From-SVN: r181309
2011-11-12Fix recent entryEric Botcazou1-32/+25
From-SVN: r181308
2011-11-11Fix Linux/sparc build after generic asm output optimizations.David S. Miller3-18/+5
* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete. * config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete. From-SVN: r181307
2011-11-12Daily bump.GCC Administrator1-1/+1
From-SVN: r181306
2011-11-11i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper): New prototype.Jakub Jelinek4-4/+23
* config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper): New prototype. * config/i386/i386.c (ix86_maybe_emit_epilogue_vzeroupper): New function. (ix86_expand_epilogue): Use it. * config/i386/i386.md (return, simple_return): Call it in the expanders. From-SVN: r181300
2011-11-11re PR tree-optimization/51091 (FAIL: gcc.dg/tree-ssa/stdarg-2.c ↵Jakub Jelinek2-2/+11
scan-tree-dump stdarg) PR tree-optimization/51091 * tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P rhs also in the va_list_simple_ptr case. From-SVN: r181299
2011-11-11re PR tree-optimization/51058 (ICE: gimple check: expected ↵Jakub Jelinek6-4/+98
gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1992) PR tree-optimization/51058 * tree-vect-slp.c (vect_remove_slp_scalar_calls): New function. (vect_schedule_slp): Call it. * tree-vect-stmts.c (vectorizable_call): If slp_node != NULL, don't replace scalar calls with setting of their lhs to zero here. * gcc.dg/vect/fast-math-vect-call-1.c: Add f4 test. * gfortran.dg/vect/pr51058-2.f90: New test. From-SVN: r181298
2011-11-11re PR tree-optimization/51074 (No constant folding performed for ↵Jakub Jelinek4-1/+189
VEC_PERM_EXPR, VEC_INTERLEAVE*EXPR, VEC_EXTRACT*EXPR) PR tree-optimization/51074 * fold-const.c (vec_cst_ctor_to_array, fold_vec_perm): New functions. (fold_binary_loc): Handle VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR with VECTOR_CST or CONSTRUCTOR operands. (fold_ternary_loc): Handle VEC_PERM_EXPR with VECTOR_CST or CONSTRUCTOR operands. * tree-ssa-propagate.c (valid_gimple_rhs_p): Handle ternary expressions. * tree-vect-generic.c (lower_vec_perm): Mask sel_int elements to 0 .. 2 * elements - 1. From-SVN: r181297
2011-11-11Implement omp atomic load and store.Richard Henderson5-25/+160
* gimple-pretty-print.c (dump_gimple_omp_atomic_load): Dump needed. (dump_gimple_omp_atomic_store): Likewise. * optabs.c (can_atomic_exchange_p): New. * optabs.h (can_atomic_exchange_p): Declare. * omp-low.c (expand_omp_atomic_load): Implement. (expand_omp_atomic_store): Likewise. (expand_omp_atomic): Update for new arguments to load/store. From-SVN: r181296
2011-11-11re PR c++/50976 ([C++0x] literal operator with unsigned long long parameter ↵Ed Smith-Rowland2-23/+24
not accepted) PR c++/50976 * typeck.c (check_literal_operator_args): Reorganize test for string operators so size_t search depends on finding string first. From-SVN: r181292
2011-11-11cprop.c: Adjust outdated comments throughout.Eric Botcazou2-74/+100
* cprop.c: Adjust outdated comments throughout. (hash_scan_set): Rename PAT parameter into SET. (cprop_pavloc): Rename into... (cprop_avloc): ...this. (cprop_absaltered): Rename into... (cprop_kill): ...this. (alloc_cprop_mem): Adjust for above renaming. (free_cprop_mem): Likewise. (compute_cprop_data): Likewise. (compute_local_properties): Rename TRANSP parameter into KILL and adjust throughout. Rework comments. (try_replace_reg): Fix long line. (cprop_jump): Likewise. (constprop_register): Fix prototype and take INSN last. (cprop_insn): Adjust calls to above function. Fix long lines. (bypass_block): Likewise. (one_cprop_pass): Likewise. From-SVN: r181289
2011-11-11elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.Uros Bizjak2-4/+10
* config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES. (ELF_STRING_LIMIT): Rename from STRING_LIMIT. From-SVN: r181287
2011-11-11varasm.c (default_elf_asm_output_limited_string): #ifdef ELF_ASCII_ESCAPES.Jason Merrill2-0/+8
* varasm.c (default_elf_asm_output_limited_string): #ifdef ELF_ASCII_ESCAPES. (default_elf_asm_output_ascii): Likewise. From-SVN: r181286
2011-11-11re PR target/50762 (ICE: in extract_insn, at recog.c:2137 (unrecognizable insn))Uros Bizjak4-17/+27
PR target/50762 * config/i386/constraints.md (j): New address constraint. * config/i386/predicates.md (lea_address_operand): Redefine as special predicate. * config/i386/i386.md (*lea_3_zext): Use "j" constraint for operand 1. (*lea_4_zext): Ditto. From-SVN: r181285
2011-11-11Revert sparc vec_init improvements as they cause 64-bit regressions.David S. Miller3-394/+105
gcc/ Revert 2011-11-05 David S. Miller <davem@davemloft.net> From-SVN: r181283
2011-11-11opts-common.c (generate_canonical_option): Free opt_text it it has been ↵Jakub Jelinek2-0/+5
allocated here and not stored anywhere. * opts-common.c (generate_canonical_option): Free opt_text it it has been allocated here and not stored anywhere. From-SVN: r181282
2011-11-11tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN vector.Jakub Jelinek2-33/+50
* tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN vector. (vect_create_new_slp_node): Don't allocate node before checking stmt type. (vect_free_oprnd_info): Remove FREE_DEF_STMTS argument, always free def_stmts vectors and additionally free oprnd_info. (vect_build_slp_tree): Adjust callers. Call it even if stop_recursion. If vect_create_new_slp_node or vect_build_slp_tree fails, properly handle freeing memory. If it succeeded, clear def_stmts in oprnd_info. From-SVN: r181281
2011-11-10re PR c++/50372 ([C++0x] pointers to static functions should be valid ↵Jason Merrill7-12/+52
template parameters) PR c++/50372 * pt.c (convert_nontype_argument_function): Allow decls with internal linkage in C++11. (convert_nontype_argument): Likewise. From-SVN: r181280
2011-11-10final.c, output.h (fprint_whex, [...]): New functions serving as fast ↵Dimitrios Apostolou9-132/+353
replacements for fprintf() integer to string... * final.c, output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul): New functions serving as fast replacements for fprintf() integer to string conversions. They were used in the following changes. * final.c (sprint_ul_rev): Internal helper for the above. (output_addr_const): case CONST_INT: don't use fprintf(). * elfos.h (ASM_GENERATE_INTERNAL_LABEL): Don't use sprintf("%u"), use sprint_ul() and stpcpy() which are much faster. (TARGET_ASM_INTERNAL_LABEL): Define as default_elf_internal_label. (ELF_ASCII_ESCAPES, ELF_STRING_LIMIT): Are the old ESCAPES and STRING_LIMIT macros. (ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Macros now just call respective functions that provide the same functionality. Those are default_elf_asm_output_limited_string() and default_elf_asm_output_ascii() in varasm.c. * varasm.c: Fixed some whitespace inconsistencies. (default_elf_asm_output_limited_string) (default_elf_asm_output_ascii): The above macros from elfos.h are implemented here as these functions, avoiding superfluous calls to fprintf(). (default_elf_internal_label): Hook for targetm.asm_out.internal_label and ASM_OUTPUT_DEBUG_LABEL. * i386.c: Don't call fprintf("%u") but fprint_ul() instead. * defaults.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Expanded the macros on multiple lines for readability. (ASM_OUTPUT_LABELREF): Have two calls to fputs() instead of one to asm_fprintf(). * dwarf2asm.c (dw2_assemble_integer, dw2_asm_output_data) (dw2_asm_data_uleb128, dw2_asm_delta_uleb128) (dw2_asm_delta_sleb128): Convert fprintf() calls to the new faster functions. * dwarf2out.c (dwarf2out_source_line): Convert fprintf() calls to the new faster functions. From-SVN: r181279
2011-11-11Daily bump.GCC Administrator1-1/+1
From-SVN: r181278
2011-11-10extend.texi: Document __atomic_test_and_set and __atomic_clear.Andrew MacLeod2-0/+25
2011-11-10 Andrew MacLeod <amacleod@redhat.com> * doc/extend.texi: Document __atomic_test_and_set and __atomic_clear. From-SVN: r181273
2011-11-10re PR c++/50973 ([C++0x] internal compiler error defaulted destructor ↵Jason Merrill5-1/+52
virtual inheritance) PR c++/50973 * decl2.c (mark_used): Defer synthesis of virtual functions. * method.c (use_thunk): Make sure the target function has DECL_INTERFACE_KNOWN. From-SVN: r181272
2011-11-10re PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc ↵Andrew MacLeod6-2/+138
test_and_set/explicit.cc implicit.cc) PR middle-end/51038 libstdc++-v3 * include/bits/atomic_base.h (atomic_thread_fence): Call built-in. (atomic_signal_fence): Call built-in. (test_and_set, clear): Call new atomic built-ins. gcc * builtins.c (expand_builtin_atomic_clear): New. Expand atomic_clear. (expand_builtin_atomic_test_and_set): New. Expand atomic test_and_set. (expand_builtin): Add cases for test_and_set and clear. * sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New. (BUILT_IN_ATOMIC_CLEAR): New. testsuite * gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models. * gcc.dg/atomic-flag.c: New. Test __atomic_test_and_set and __atomic_clear. From-SVN: r181271
2011-11-10PR c++/51079, DR 495Jason Merrill4-15/+50
PR c++/51079, DR 495 * call.c (joust): Check the second conversion sequence before checking templates. From-SVN: r181270
2011-11-10re PR debug/50983 (incorrect DW_LNS_negate_stmt)Jason Merrill4-0/+35
PR debug/50983 * dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt value in the current line table. From-SVN: r181269
2011-11-10fe.h (Serious_Errors_Detected): New macro.Eric Botcazou16-25/+671
* fe.h (Serious_Errors_Detected): New macro. * gcc-interface/gigi.h (build_atomic_load): Declare. (build_atomic_store): Likewise. * gcc-interface/trans.c (atomic_sync_required_p): New predicate. (call_to_gnu): Add ATOMIC_SYNC parameter. Use local variable. Build an atomic load for an In or In Out parameter if needed. Build an atomic store for the assignment of an Out parameter if needed. Build an atomic store to the target if ATOMIC_SYNC is true. (present_in_lhs_or_actual_p): New predicate. (gnat_to_gnu) <N_Identifier>: Build an atomic load if needed. <N_Explicit_Dereference>: Likewise. <N_Indexed_Component>: Likewise. <N_Selected_Component>: Likewise. <N_Assignment_Statement>: Adjust call to call_to_gnu. Build an atomic store to the LHS if needed. <N_Function_Call>: Adjust call to call_to_gnu. * gcc-interface/utils2.c: Include toplev.h. (resolve_atomic_size): New static function. (build_atomic_load): New function. (build_atomic_store): Likewise. * gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h. From-SVN: r181267
2011-11-10gcov.c (struct function_info): Make src an index, not a pointer.Nathan Sidwell2-164/+169
* gcov.c (struct function_info): Make src an index, not a pointer. (struct source_info): Remove index and next source fields. (fn_end): New static var. (sources_index): Remove. (sources): Now a pointer to an array, not a list. (n_sources, a_sources): New. (process_file): Adjust for changes to read_graph_file. Insert functions into source lists and check line numbers here. (generate_results): Only allocate lines for sources with contents. Adjust for source array. (release_structures): Likewise. (find_source): Return source index, adjust for source array. (read_graph_file): Return function list. Don't insert into source lists here. (read_count_file): Take list of functions. (solve_flow_graph): Reverse the arc lists here. (add_line_counts): Adjust for source array. From-SVN: r181265
2011-11-10re PR middle-end/51077 (Endless recursion with __builtin_object_size)Jakub Jelinek4-1/+25
PR middle-end/51077 * tree-object-size.c (addr_object_size): Check TREE_CODE of MEM_REF's operand rather than code of the MEM_REF itself. * gcc.c-torture/compile/pr51077.c: New test. From-SVN: r181263
2011-11-10re PR rtl-optimization/51040 (ICE: RTL check: access of elt 1 of 'not' with ↵Andrew MacLeod5-5/+51
last elt 0 in gen_rtx_fmt_ee_stat, at ./genrtl.h:33 with __atomic_nand_fetch()) PR rtl-optimization/51040 * optabs.c (expand_atomic_fetch_op): Patchup code for NAND should be AND followed by NOT. * builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND should be AND followed by NOT. * testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and patchup code. From-SVN: r181259
2011-11-10vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base ↵Jakub Jelinek2-0/+8
even if P is NULL. * vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if P is NULL. From-SVN: r181258
2011-11-10re PR rtl-optimization/51023 (likely integer wrong code bug)Jakub Jelinek4-4/+40
PR rtl-optimization/51023 * combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use val_signbit_known_clear_p for signed comparison narrowing optimization. Don't check for non-VOIDmode, use HWI_COMPUTABLE_MODE_P macro. <case ZERO_EXTEND>: Don't check for non-VOIDmode. Optimize even when const_op is equal to GET_MODE_MASK (mode), don't optimize if const_op is negative. * gcc.c-torture/execute/pr51023.c: New test. From-SVN: r181257