summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that ↵Steven Bosscher2010-05-0720-14/+1704
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | supports LTO. ChangeLog: * configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that supports LTO. * configure: Regenerate. gcc/ChangeLog: * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add lto-macho as lto_binary_reader. * target.h (struct gcc_target): New hooks lto_start and lto_end. * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define. * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation in lto_start and lto_end calls. (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O magic numbers. (scan_prog_file): Update is_elf_or_coff call. * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document. * collect2.c (main): Fix enum comparison. * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end): Add prototypes. * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker. * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START and TARGET_ASM_LTO_END. * darwin.c: Include obstack.h and lto-streamer.h. (lto_section_names_offset, lto_section_names_obstack, lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static global variables. (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines. (darwin_asm_lto_start): New function. Redirect output to asm_out_file to a temporary file. (darwin_asm_lto_end): New function. Restore asm_out_file. (darwin_asm_named_section): For LTO sections, replace the name with the offset of the section name in a string table, and build this table. (darwin_file_start): Initialize global vars for LTO support. (darwin_file_end): If output to asm_out_file was redirected, append it to the proper asm_out_file here. Add the section names section. lto/ChangeLog: * lto.h (struct lto_file_struct): Document offset member. * lto-endian.h: New file. * lto-macho.h: New file. * lto-macho.c: New file. * Make-lang.in: Add rule for lto-macho.o. From-SVN: r159173
* c-pragma.c (pending_weak_d, [...]): New.Steven Bosscher2010-05-072-13/+37
| | | | | | | | | * c-pragma.c (pending_weak_d, pending_weak): New. (pending_weaks): Change the type to VEC((pending_weak,gc) *. (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks, handle_pragma_weak): Update the uses of pending_weaks. From-SVN: r159172
* Fix link to outdated cxx0x status page.Ralf Wildenhues2010-05-072-1/+7
| | | | | | | | | gcc/: PR documentation/44016 * doc/standards.texi (Standards): Link to unversioned cxx0x_status.html page. From-SVN: r159168
* re PR target/43708 (gcc.dg/pragma-darwin.c "set not used", not working with ↵Iain Sandoe2010-05-072-1/+10
| | | | | | | | | | pragma) PR target/43708 * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P in addition to TREE_USED, to avoid "set but unused" warnings. From-SVN: r159164
* Define the TRIP_COUNT_TO_AHEAD_RATIO heuristic.Changpeng Fang2010-05-072-1/+20
| | | | | | | | | | | 2010-05-07 Changpeng Fang <changpeng.fang@amd.com> * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New. (is_loop_prefetching_profitable): Do not insert prefetches when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO times the prefetch ahead distance. From-SVN: r159163
* Account for loop unrolling in the insn-to-prefetch ratio heuristic.Changpeng Fang2010-05-072-8/+20
| | | | | | | | | | | 2010-05-07 Changpeng Fang <changpeng.fang@amd.com> * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Account for loop unrolling in the insn-to-prefetch ratio heuristic. (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable the unroll_factor. From-SVN: r159162
* Dump a diagnostic info when the insn-to-mem ratio is too small.Changpeng Fang2010-05-072-1/+12
| | | | | | | | | 2010-05-07 Changpeng Fang <changpeng.fang@amd.com> * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump a diagnostic info when the insn-to-mem ratio is too small. From-SVN: r159161
* Remove free_memJanne Blomqvist2010-05-0714-62/+85
| | | | From-SVN: r159160
* re PR lto/43857 (-fresolution causes an ICE)Richard Guenther2010-05-077-40/+51
| | | | | | | | | | | | | | | | | | | | | | | | | 2010-05-07 Richard Guenther <rguenther@suse.de> * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to the linker plugin. (store_arg): Queue temp_filename for deletion instead of the whole argument. lto/ PR lto/43857 PR lto/43371 * lang.opt (fresolution): Change to ... (fresolution=): ... this. * lto-lang.c (lto_handle_option): Adjust. lto-plugin/ * lto-plugin.c (free_2): Do not free resolution_file. (write_resolution): Check that we were passed a resolution file. (all_symbols_read_handler): Adjust. (cleanup_handler): Do not remove the resolution file. (process_option): Handle -fresolution=. From-SVN: r159159
* re PR c++/43951 (Revision 158918 miscompiled 483.xalancbmk in SPEC CPU 2006)Fabien Chêne2010-05-075-37/+98
| | | | | | | | | | | | | | PR c++/43951 * init.c (diagnose_uninitialized_cst_or_ref_member_1): Returns the error count. Emit errors only if compain is true. (build_new_1): Do not return error_mark_node if diagnose_uninitialized_cst_or_ref_member_1 does not diagnose any errors. Delay the check for user-provided constructor. (perform_member_init): Adjust. * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Change the prototype. From-SVN: r159158
* lto-wrapper.c (DUMPBASE_SUFFIX): Define.Richard Biener2010-05-075-194/+189
| | | | | | | | | | | | | | | | | | | | 2010-05-07 Richard Guenther <rguenther@suse.de> * lto-wrapper.c (DUMPBASE_SUFFIX): Define. (run_gcc): Handle LTRANS phase invocation. * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS. lto/ * lto.c (DUMPBASE_SUFFIX): Remove. (lto_execute_ltrans): Move functionality to lto-wrapper.c. Rename to ... (lto_write_ltrans_list): ... only output the list of ltrans files. (lto_maybe_unlink): Remove. (do_whole_program_analysis): Do not execute LTRANS phase from here. From-SVN: r159157
* tree.h (TREE_ADDRESSABLE): Adjust comment to say that this is also ↵Jakub Jelinek2010-05-072-3/+9
| | | | | | | | | meaningful on PARM_DECLs and RESULT_DECLs. * tree.h (TREE_ADDRESSABLE): Adjust comment to say that this is also meaningful on PARM_DECLs and RESULT_DECLs. From-SVN: r159156
* re PR fortran/40728 (Bogus error "Error: Can't convert UNKNOWN to REAL(8) at ↵Daniel Franke2010-05-077-14/+50
| | | | | | | | | | | | | | | | | | | | | | | (1)") gcc/fortran/: 2010-05-07 Daniel Franke <franke.daniel@gmail.com> PR fortran/40728 * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol as external gcc/testsuite/: 2010-05-07 Daniel Franke <franke.daniel@gmail.com> PR fortran/40728 * gfortran.dg/coarray_1.f90: Fixed error message. * gfortran.dg/selected_char_kind_3.f90: Fixed error message. * gfortran.dg/intrinsic_std_1.f90: Fixed bogus message. * gfortran.dg/intrinsic_std_5.f90: New. From-SVN: r159155
* * g++.dg/cpp0x/nullptr20.C: Use sprintf.Jason Merrill2010-05-073-2/+11
| | | | From-SVN: r159153
* * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.Rainer Orth2010-05-072-1/+5
| | | | From-SVN: r159151
* re PR middle-end/44020 (Failed to build 200.sixtrack in SPEC CPU 2K)Richard Guenther2010-05-072-5/+8
| | | | | | | | | | 2010-05-07 Richard Guenther <rguenther@suse.de> PR tree-optimization/44020 * tree-ssa-pre.c (execute_pre): Do not remove dead inserted code when PRE is not yet initialized. From-SVN: r159150
* re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)Eric Botcazou2010-05-072-1/+7
| | | | | | | PR 40989 * gcc-interface/misc.c (gnat_handle_option): Fix long line. From-SVN: r159149
* dbxmdebug.h: Remove.Rainer Orth2010-05-073-7/+6
| | | | | | | * config/mips/dbxmdebug.h: Remove. * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h. From-SVN: r159147
* 20100423-2_0.c: Include <stdio.h>.Rainer Orth2010-05-072-3/+9
| | | | | | | | * gcc.dg/lto/20100423-2_0.c: Include <stdio.h>. (size_t, stderr): Remove. (read_error): Replaced __builtin_fprintf by fprintf. From-SVN: r159146
* c-typeck.c (build_binary_op): Warn ordered comparison of pointer with null ↵Shujing Zhao2010-05-077-3/+109
| | | | | | | | | | | | | | | | | | | | | pointer and also warn about... gcc/ 2010-05-07 Shujing Zhao <pearly.zhao@oracle.com> * c-typeck.c (build_binary_op): Warn ordered comparison of pointer with null pointer and also warn about ordered comparison of zero with pointer if -Wextra. gcc/testsuite/ 2010-05-07 Shujing Zhao <pearly.zhao@oracle.com> * gcc.dg/ordered-comparison-1.c: New test. * gcc.dg/ordered-comparison-2.c: New test. * gcc.dg/ordered-comparison-3.c: New test. * gcc.dg/ordered-comparison-4.c: New test. From-SVN: r159145
* exception_ptr.h (make_exception_ptr): Add.Jonathan Wakely2010-05-073-0/+51
| | | | | | | | | 2010-05-07 Jonathan Wakely <jwakely.gcc@gmail.com> * libsupc++/exception_ptr.h (make_exception_ptr): Add. * testsuite/18_support/exception_ptr/make_exception_ptr.cc: New. From-SVN: r159144
* Daily bump.GCC Administrator2010-05-071-1/+1
| | | | From-SVN: r159143
* Note which PR this was related to.Mike Stump2010-05-061-0/+1
| | | | From-SVN: r159139
* * obj-c++.dg/cxx-ivars-2.mm: Restore running of testcase.Mike Stump2010-05-062-1/+6
| | | | From-SVN: r159138
* gnu.ver: Move decltype(nullptr) into CXXABI_1.3.5.Jason Merrill2010-05-063-4/+17
| | | | | | | * config/abi/pre/gnu.ver: Move decltype(nullptr) into CXXABI_1.3.5. * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.5. From-SVN: r159136
* Add ChangeLog entries.Andreas Simbuerger2010-05-061-0/+93
| | | | From-SVN: r159135
* Allow all the versions greater than 0.10 of PPL.Sebastian Pop2010-05-063-9/+10
| | | | | | | | | 2010-05-05 Sebastian Pop <sebastian.pop@amd.com> * configure.ac: Allow all the versions greater than 0.10 of PPL. * configure: Regenerated. From-SVN: r159134
* Replace Value with mpz_tAndreas Simbuerger2010-05-069-64/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-04-12 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-blocking.c (pbb_strip_mine_profitable_p): Replace Value with mpz_t. * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same. (precision_for_value): Same. (precision_for_interval): Same. (gcc_type_for_interval): Same. (graphite_create_new_guard): Same. (compute_bounds_for_level): Same. (graphite_create_new_loop_guard): Same. * graphite-interchange.c (build_linearized_memory_access): Same. (pdr_stride_in_loop): Same. (memory_strides_in_loop_1): Same. (memory_strides_in_loop): Same. (extend_scattering): Same. (psct_scattering_dim_for_loop_depth): Same. (pbb_number_of_iterations): Same. * graphite-poly.h (debug_iteration_domains): Same. * graphite-ppl.c (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. (ppl_set_inhomogeneous_gmp): Same. (ppl_strip_loop): Same. (ppl_lexico_compare_linear_expressions): Same. (ppl_read_polyhedron_matrix): Same. (ppl_max_for_le_pointset): Same. * graphite-ppl.h (ppl_read_polyhedron_matrix): Same. (tree_int_to_gmp): Same. (gmp_cst_to_tree): Same. (ppl_set_inhomogeneous): Same. (ppl_set_inhomogeneous_tree): Same. (ppl_set_coef): Same. (ppl_set_coef_tree): Same. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. (build_scop_scattering): Same. (scan_tree_for_params_right_scev): Same. (scan_tree_for_params): Same. (find_params_in_bb): Same. (find_scop_parameters): Same. (add_upper_bounds_from_estimated_nit): Same. (build_loop_iteration_domains): Same. (add_condition_to_domain): Same. (pdr_add_memory_accesses): Same. From-SVN: r159133
* Resolve CLooG's value_* macros to their respective mpz_* counterparts.Andreas Simbuerger2010-05-069-167/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-04-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve CLooG's value_* macros to their respective mpz_* counterparts. * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same. (graphite_create_new_loop_guard): Same. * graphite-interchange.c (build_linearized_memory_access): Same. (pdr_stride_in_loop): Same. (memory_strides_in_loop_1): Same. (1st_interchange_profitable_p): Same. * graphite-poly.c (extend_scattering): Same. (psct_scattering_dim_for_loop_depth): Same. (pbb_number_of_iterations): Same. (pbb_number_of_iterations_at_time): Same. * graphite-poly.h (new_1st_loop): Same. * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same. (oppose_constraint): Same. (insert_constraint_into_matrix): Same. (ppl_set_inhomogeneous_gmp): Same. (ppl_set_coef_gmp): Same. (ppl_strip_loop): Same. (ppl_lexico_compare_linear_expressions): Same. (ppl_max_for_le_pointset): Same. (ppl_min_for_le_pointset): Same. (ppl_build_realtion): Same. * graphite-ppl.h (gmp_cst_to_tree): Same. (ppl_set_inhomogeneous): Same. (ppl_set_inhomogeneous_tree): Same. (ppl_set_coef): Same. (ppl_set_coef_tree): Same. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. (build_scop_scattering): Same. (add_value_to_dim): Same. (scan_tree_for_params_right_scev): Same. (scan_tree_for_params_int): Same. (scan_tree_for_params): Same. (find_params_in_bb): Same. (find_scop_parameters): Same. (add_upper_bounds_from_estimated_nit): Same. (build_loop_iteration_domains): Same. (create_linear_expr_from_tree): Same. (add_condition_to_domain): Same. (pdr_add_memory_accesses): Same. From-SVN: r159132
* Add support for C++0x nullptr.Jason Merrill2010-05-0652-33/+536
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: * c-common.c (c_common_reswords): Add nullptr. * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids. * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE. (gen_type_die_with_usage): Likewise. * dbxout.c (dbxout_type): Likewise. * sdbout.c (plain_type_1): Likewise. gcc/cp: * cp-tree.def: Add NULLPTR_TYPE. * cp-tree.h: Add nullptr_node. (cp_tree_index): Add CPTI_NULLPTR. (SCALAR_TYPE_P): Add NULLPTR_TYPE. * call.c (null_ptr_cst_p): Handle nullptr. (standard_conversion): Likewise. (convert_arg_to_ellipsis): Likewise. * mangle.c (write_type): Likewise. * name-lookup.c (arg_assoc_type): Likewise. * parser.c (cp_parser_primary_expression): Likewise. * typeck.c (cp_build_binary_op): Likewise. (build_reinterpret_cast_1): Likewise. * error.c (dump_type): Likewise. (dump_type_prefix, dump_type_suffix): Likewise. * decl.c (cxx_init_decl_processing): Likewise. * cxx-pretty-print.c (pp_cxx_constant): Likewise. * cvt.c (ocp_convert): Likewise. * rtti.c (typeinfo_in_lib_p, emit_support_tinfos): Put nullptr_t tinfo in libsupc++. libstdc++-v3: * config/abi/pre/gnu.ver: Add typeinfo for decltype(nullptr). libiberty: * cp-demangle.c (cplus_demangle_builtin_types): Add nullptr. (cplus_demangle_type): Handle nullptr. From-SVN: r159131
* basic_string.h: Escape class names in doxygen docs.Jonathan Wakely2010-05-062-10/+14
| | | | | | | | 2010-05-06 Jonathan Wakely <jwakely.gcc@gmail.com> * include/bits/basic_string.h: Escape class names in doxygen docs. From-SVN: r159129
* re PR libstdc++/44014 (no std::string in API documentation)Jonathan Wakely2010-05-064-7/+23
| | | | | | | | | | | 2010-05-06 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/44014 * include/bits/stringfwd.h: Add doxygen comments and new group. * include/bits/basic_string.h: Add to new doxygen group. * doc/doxygen/user.cfg.in (ALIASES): Link to correct group. From-SVN: r159126
* gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.Jason Merrill2010-05-064-14/+34
| | | | | | | | | | | | gcc: * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate. Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set ret appropriately. (gimplify_compound_lval): Return GS_ALL_DONE as appropriate. gcc/cp: * semantics.c (simplify_aggr_init_expr): Use INIT_EXPR. From-SVN: r159125
* gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for stripping ↵Jason Merrill2010-05-062-11/+17
| | | | | | | | | | | WITH_SIZE_EXPR. * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for stripping WITH_SIZE_EXPR. (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't change. From-SVN: r159124
* config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from list of ↵Rainer Orth2010-05-0617-742/+350
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | obsolete configurations. gcc: * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from list of obsolete configurations. Disabled check for obsolete configurations. (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*. Removed support for previous versions. * config/mips/iris.h: Removed. * config/mips/iris5.h: Removed. * config/mips/iris6.h: Merged old iris.h contents. (TARGET_IRIX): Removed. (DRIVER_SELF_SPECS): Removed mabi=32. (IDENT_ASM_OP): Removed undef. (STARTFILE_SPEC): Removed mabi=32. (ENDFILE_SPEC): Likewise. (IRIX_SUBTARGET_LINK_SPEC): Likewise. (MACHINE_TYPE): Update for IRIX 6.5. * config/mips/mips.c (mips_build_builtin_va_list): Replaced TARGET_IRIX by TARGET_IRIX6. (mips_file_start): Likewise. (mips_output_external): Remove IRIX 5/6 O32 support. (mips_output_function_prologue): Likewise. * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by TARGET_IRIX6. (TARGET_CPU_CPP_BUILTINS): Likewise. (TARGET_IRIX): Removed. * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32. (MULTILIB_DIRNAMES): Removed 32. (MULTILIB_OSDIRNAMES): Removed ../lib. * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5. (Specific, mips-sgi-irix5): Document removal. (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal. Remove references to older IRIX 6 releases and the O32 ABI. gcc/ada: * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support. libstdc++-v3: * configure.host: Removed irix[1-6], irix[1-5].*, irix6.[0-4]* support. * config/os/irix/irix5.2: Removed. From-SVN: r159121
* Wunused-var-8.c: Move to...Jakub Jelinek2010-05-062-0/+3
| | | | | | | * gcc.dg/Wunused-var-8.c: Move to... * c-c++-common/Wunused-var-6.c: ... here. New test. From-SVN: r159118
* re PR bootstrap/43994 (Revision 159063 failed to bootstrap on Linux/ia64)Jakub Jelinek2010-05-062-4/+10
| | | | | | | | PR bootstrap/43994 * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC instead of DF_REF_REAL_REG. From-SVN: r159117
* re PR target/42811 (java.lang.ExceptionInInitializerError in ecj1)Dave Korn2010-05-065-15/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/42811 * tests/staticrootstest.c: New test source file. * tests/staticrootslib.c: New test library source file. * Makefile.am (test_ldadd): New variable. (gctest_LDADD): Use it. (TESTS): Add leaktest, middletest and staticrootstest. (check_PROGRAMS): Likewise. (leaktest_SOURCES): New libtool variable definition. (leaktest_LDADD): Likewise. (leaktest_LDFLAGS): Likewise. (leaktest_LINK): Likewise. (middletest_SOURCES): Likewise. (middletest_LDADD): Likewise. (middletest_LDFLAGS): Likewise. (middletest_LINK): Likewise. (staticrootstest_SOURCES): Likewise. (staticrootstest_LDADD): Likewise. (staticrootstest_LDFLAGS): Likewise. (staticrootstest_LINK): Likewise. (check_LTLIBRARIES): Likewise. (libstaticrootslib_la_SOURCES): Likewise. (libstaticrootslib_la_LIBADD): Likewise. (libstaticrootslib_la_LDFLAGS): Likewise. (libstaticrootslib_la_DEPENDENCIES): Likewise. * Makefile.in: Regenerate. From-SVN: r159115
* re PR c++/40406 (ICE with broken template member declaration)Paolo Carlini2010-05-062-0/+11
| | | | | | | | | 2010-05-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/40406 * g++.dg/template/crash96.C: New. From-SVN: r159112
* re PR target/43888 (FAIL: gcc.dg/alias-7.c execution test)Dave Korn2010-05-062-1/+10
| | | | | | | | PR target/43888 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol handling to still return true for x64 targets. From-SVN: r159111
* * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.Maxim Kuvyrkov2010-05-062-1/+5
| | | | From-SVN: r159110
* re PR tree-optimization/43791 (kernel/rtmutex.c:1138:1: internal compiler ↵Jan Hubicka2010-05-064-1/+33
| | | | | | | | | | | | error: in cgraph_decide_inlining_of_small_functions, at ipa-inline.c:1009) PR tree-optimization/43791 * ipa-inline.c (update_caller_keys): Remove bogus disregard_inline_limits check. * gcc.c-torture/compile/pr43791.c: New file. From-SVN: r159108
* re PR tree-optimization/43984 (PRE misses full-redundancies, inserts into loops)Michael Matz2010-05-064-36/+119
| | | | | | | | | | | | | | | | | | | | PR tree-optimization/43984 * tree-ssa-pre.c (inserted_phi_names): Remove. (inserted_exprs): Change to bitmap. (create_expression_by_pieces): Set bits, don't append to vector. (insert_into_preds_of_block): Don't handle inserted_phi_names. (eliminate): Don't look at inserted_phi_names, remove deleted insns from inserted_exprs. (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors. (init_pre, fini_pre): Allocate and free bitmaps. (execute_pre): Insert insns on edges before elimination. testsuite/ * gfortran.dg/pr43984.f90: New test. From-SVN: r159106
* Add argument kind to lto_handle_option.H.J. Lu2010-05-062-1/+6
| | | | | | | | 2010-05-06 H.J. Lu <hongjiu.lu@intel.com> * lto-lang.c (lto_handle_option): Add argument kind. From-SVN: r159105
* * tree.c (initializer_zerop): Handle STRING_CST.Maxim Kuvyrkov2010-05-062-0/+17
| | | | From-SVN: r159103
* re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)Manuel López-Ibáñez2010-05-0619-76/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org> PR 40989 * doc/invoke.texi (Wimplicit): Document as C only. * opts.c (common_handle_option): Add argument kind. (handle_option): Rename as read_cmdline_option. Factor out code to... (handle_option): ... here. New. (handle_options): Rename as read_cmdline_options. (decode_options): Update call. (set_option): Use option index instead of option pointer. Classify diagnostics correctly. (enable_warning_as_error): Call handle_option. * opts.h (set_option): Update declaration. (handle_option): Declare. * langhooks.h (struct lang_hooks): Add argument kind to handle_option. * c.opt (Wimplicit,Wimplicit-int): Initialize to -1. * c-opts.c (set_Wimplicit): Delete. (c_family_lang_mask): New static constant. (c_common_handle_option): Add argument kind. Use handle_option instead of set_Wimplicit. (c_common_post_options): warn_implicit and warn_implicit_int are disabled by default. * c-common.c (warn_implicit): Do not define here. * c-common.h (warn_implicit): Do not declare here. (c_common_handle_option): Update declaration. * lto-opts.c (lto_reissue_options): Update call to set_option. java/ * lang.c (java_handle_option): Add argument kind. fortran/ * options.c (gfc_handle_option): Add argument kind. * gfortran.h (gfc_handle_option): Update declaration. ada/ * gcc-interface/misc.c (gnat_handle_option): Add argument kind. testsuite/ * gcc.dg/pr40989.c: New. From-SVN: r159102
* re PR tree-optimization/43571 (domwalk sucks)Richard Guenther2010-05-062-1/+45
| | | | | | | | | | 2010-05-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/43571 * domwalk.c (walk_dominator_tree): Walk the dominator sons in more optimal order. From-SVN: r159100
* re PR tree-optimization/43934 (LIM should handle PHI nodes)Richard Guenther2010-05-066-11/+304
| | | | | | | | | | | | | | | | | | | | | | | 2010-05-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/43934 * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes. (stmt_cost): Likewise. (extract_true_false_args_from_phi): New helper. (determine_max_movement): For PHI nodes verify we can hoist them and compute their cost. (determine_invariantness_stmt): Handle PHI nodes. (move_computations_stmt): Likewise. Hoist PHI nodes in if-converted form using COND_EXPRs. (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes. (tree_ssa_lim): Likewise. * tree-flow.h (tree_ssa_lim): Adjust prototype. * tree-ssa-loop.c (tree_ssa_loop_im): Return todo. * gcc.dg/tree-ssa/ssa-lim-9.c: New testcase. From-SVN: r159099
* re PR middle-end/43987 (type-punning causes broken binaries unless -O0 is used)Richard Guenther2010-05-068-12/+53
| | | | | | | | | | | | | | | | | | | | | | 2010-05-06 Richard Guenther <rguenther@suse.de> PR tree-optimization/43987 * tree-ssa-structalias.c (could_have_pointers): For possibly address-taken variables force pointers to be recorded. (create_variable_info_for_1): Likewise. (push_fields_onto_fieldstack): Pass in wheter all fields must have pointers. (find_func_aliases): Query types instead of vars whether they contain pointers where appropriate. * gcc.c-torture/execute/pr43987.c: New testcase. * gcc.dg/torture/pta-escape-1.c: Adjust. * gcc.dg/tree-ssa/pta-escape-1.c: Likewise. * gcc.dg/tree-ssa/pta-escape-2.c: Likewise. * gcc.dg/tree-ssa/pta-escape-3.c: Likewise. * gcc.dg/ipa/ipa-pta-11.c: Likewise. From-SVN: r159098
* cgraphbuild.c (record_reference_ctx): Add varpool_node.Jan Hubicka2010-05-0616-33/+807
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraphbuild.c (record_reference_ctx): Add varpool_node. (record_reference, mark_address, mark_load, mark_store): Record references. (record_references_in_initializer): Update call of record_references. (rebuild_cgraph_edges): Remove all references before rebuiding. * cgraph.c (cgraph_create_node): Clear ref list. (cgraph_remove_node): Remove references. (dump_cgraph_node): Dump references. (cgraph_clone_node): Clone references. * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h (struct cgraph_node, varpool_node): Add ref_lst. * ipa-ref.c: New file. * ipa-ref.h: New file. * ipa-ref-inline.h: New file. * lto-cgraph.c (output_varpool): Take cgrag node set argument. (referenced_from_other_partition_p): New function. (lto_output_varpool_node): Take set arugment; call referenced_from_other_partition. (lto_output_ref): New. (add_references): New. (output_refs): New. (output_cgraph): Compute boundary based on references; output refs. (output_varpool): Accept cgraph_node_set argument. (input_ref): New. (input_refs): New. (input_cgraph): Call input_refs. * lto-section-in.c (lto_section_name): Add refs. * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h (ipa-ref.o): New file. * varpool.c (varpool_node): Clear ipa ref list. (varpool_remove_node): Remove references. (dump_varpool_node): Dump references. (varpool_assemble_decl): Only compile finalized ones. (varpool_extra_name_alias): Initialize ref list. * lto-streamer.c (lto-get_section_name): Add .refs section. * lto-streamer.h (lto_section_type): Add LTO_section_refs. (referenced_from_other_partition_p): Declared. From-SVN: r159097