aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-05-08gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.Eric Botcazou10-27/+89
* gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param. (build_unc_object_type_from_ptr): Likewise. * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param and pass it to create_type_decl. Declare the type. Simplify. (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass it to build_unc_object_type. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change. * gcc-interface/trans.c (Attribute_to_gnu): Likewise. (gnat_to_gnu): Likewise. * gcc-interface/utils2.c (build_allocator): Likewise. From-SVN: r159180
2010-05-08Daily bump.GCC Administrator1-1/+1
From-SVN: r159179
2010-05-07lto-wrapper.c (run_gcc): Remove linker output from command line for LTRANS ↵Richard Guenther2-0/+18
invocation. 2010-05-08 Richard Guenther <rguenther@suse.de> * lto-wrapper.c (run_gcc): Remove linker output from command line for LTRANS invocation. From-SVN: r159174
2010-05-07configure.ac (--enable-lto): Add x86_64-apple-darwin* as a platform that ↵Steven Bosscher17-14/+1696
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
2010-05-07c-pragma.c (pending_weak_d, [...]): New.Steven Bosscher2-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
2010-05-07Fix link to outdated cxx0x status page.Ralf Wildenhues2-1/+7
gcc/: PR documentation/44016 * doc/standards.texi (Standards): Link to unversioned cxx0x_status.html page. From-SVN: r159168
2010-05-07re PR target/43708 (gcc.dg/pragma-darwin.c "set not used", not working with ↵Iain Sandoe2-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
2010-05-07Define the TRIP_COUNT_TO_AHEAD_RATIO heuristic.Changpeng Fang2-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
2010-05-07Account for loop unrolling in the insn-to-prefetch ratio heuristic.Changpeng Fang2-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
2010-05-07Dump a diagnostic info when the insn-to-mem ratio is too small.Changpeng Fang2-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
2010-05-07re PR lto/43857 (-fresolution causes an ICE)Richard Guenther5-21/+37
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
2010-05-07re PR c++/43951 (Revision 158918 miscompiled 483.xalancbmk in SPEC CPU 2006)Fabien Chêne5-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
2010-05-07lto-wrapper.c (DUMPBASE_SUFFIX): Define.Richard Biener5-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
2010-05-07tree.h (TREE_ADDRESSABLE): Adjust comment to say that this is also ↵Jakub Jelinek2-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
2010-05-07re PR fortran/40728 (Bogus error "Error: Can't convert UNKNOWN to REAL(8) at ↵Daniel Franke7-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
2010-05-07* g++.dg/cpp0x/nullptr20.C: Use sprintf.Jason Merrill3-2/+11
From-SVN: r159153
2010-05-07* config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.Rainer Orth2-1/+5
From-SVN: r159151
2010-05-07re PR middle-end/44020 (Failed to build 200.sixtrack in SPEC CPU 2K)Richard Guenther2-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
2010-05-07re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)Eric Botcazou2-1/+7
PR 40989 * gcc-interface/misc.c (gnat_handle_option): Fix long line. From-SVN: r159149
2010-05-07dbxmdebug.h: Remove.Rainer Orth3-7/+6
* config/mips/dbxmdebug.h: Remove. * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h. From-SVN: r159147
2010-05-0720100423-2_0.c: Include <stdio.h>.Rainer Orth2-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
2010-05-07c-typeck.c (build_binary_op): Warn ordered comparison of pointer with null ↵Shujing Zhao7-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
2010-05-07Daily bump.GCC Administrator1-1/+1
From-SVN: r159143
2010-05-06Note which PR this was related to.Mike Stump1-0/+1
From-SVN: r159139
2010-05-06* obj-c++.dg/cxx-ivars-2.mm: Restore running of testcase.Mike Stump2-1/+6
From-SVN: r159138
2010-05-06Add ChangeLog entries.Andreas Simbuerger1-0/+93
From-SVN: r159135
2010-05-06Replace Value with mpz_tAndreas Simbuerger9-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
2010-05-06Resolve CLooG's value_* macros to their respective mpz_* counterparts.Andreas Simbuerger9-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
2010-05-06Add support for C++0x nullptr.Jason Merrill46-25/+509
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
2010-05-06gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.Jason Merrill4-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
2010-05-06gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for stripping ↵Jason Merrill2-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
2010-05-06config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from list of ↵Rainer Orth11-471/+344
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
2010-05-06Wunused-var-8.c: Move to...Jakub Jelinek2-0/+3
* gcc.dg/Wunused-var-8.c: Move to... * c-c++-common/Wunused-var-6.c: ... here. New test. From-SVN: r159118
2010-05-06re PR bootstrap/43994 (Revision 159063 failed to bootstrap on Linux/ia64)Jakub Jelinek2-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
2010-05-06re PR c++/40406 (ICE with broken template member declaration)Paolo Carlini2-0/+11
2010-05-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/40406 * g++.dg/template/crash96.C: New. From-SVN: r159112
2010-05-06re PR target/43888 (FAIL: gcc.dg/alias-7.c execution test)Dave Korn2-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
2010-05-06* config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.Maxim Kuvyrkov2-1/+5
From-SVN: r159110
2010-05-06re PR tree-optimization/43791 (kernel/rtmutex.c:1138:1: internal compiler ↵Jan Hubicka4-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
2010-05-06re PR tree-optimization/43984 (PRE misses full-redundancies, inserts into loops)Michael Matz4-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
2010-05-06Add argument kind to lto_handle_option.H.J. Lu2-1/+6
2010-05-06 H.J. Lu <hongjiu.lu@intel.com> * lto-lang.c (lto_handle_option): Add argument kind. From-SVN: r159105
2010-05-06* tree.c (initializer_zerop): Handle STRING_CST.Maxim Kuvyrkov2-0/+17
From-SVN: r159103
2010-05-06re PR c/40989 (-Werror= and #pragma diagnostics do not work with group flags)Manuel López-Ibáñez19-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
2010-05-06re PR tree-optimization/43571 (domwalk sucks)Richard Guenther2-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
2010-05-06re PR tree-optimization/43934 (LIM should handle PHI nodes)Richard Guenther6-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
2010-05-06re PR middle-end/43987 (type-punning causes broken binaries unless -O0 is used)Richard Guenther8-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
2010-05-06cgraphbuild.c (record_reference_ctx): Add varpool_node.Jan Hubicka16-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
2010-05-06C++ support for -Wunused-but-set-variableJakub Jelinek35-234/+1274
gcc/cp/ChangeLog: PR 18624 * cp-tree.h (mark_exp_read, mark_rvalue_use, mark_lvalue_use, mark_type_use): Declare ... * expr.c (mark_exp_read, mark_rvalue_use, mark_lvalue_use, mark_type_use): ... new fns. * typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call mark_type_use. (perform_integral_promotions): Call mark_rvalue_use. (cp_build_unary_op): Call mark_lvalue_use. (decay_conversion): Update comment. Call mark_lvalue. * decl.c (unused_but_set_errorcount): New variable. (poplevel): Issue -Wunused-but-set-variable diagnostics. (duplicate_decls): Merge DECL_READ_P flags. (start_cleanup_fn): Set DECL_READ_P flag. (finish_function): Issue -Wunused-but-set-parameter diagnostics. * tree.c (rvalue): Call mark_rvalue_use. * pt.c (convert_nontype_argument): Likewise. * semantics.c (finish_typeof, finish_decltype_type): Call mark_type_use. (finish_asm_stmt): Call mark_lvalue_use. (finish_expr_stmt): Call mark_exp_read. * call.c (convert_like_real) <ck_identity, ck_user>: Call mark_rvalue_use. (build_x_va_arg): Call mark_lvalue_use. (build_over_call): Call mark_type_use. * init.c (build_new, build_delete): Call mark_value_use. * rtti.c (build_typeid): Call mark_lvalue_use or mark_type_use. (build_dynamic_cast_1): call mark_lvalue_use or mark_rvalue_use. gcc/testsuite/ChangeLog: PR 18624 * g++.dg/warn/Wunused-7.C: Add dg-warning. * g++.dg/template/sfinae16.C: Likewise. * gcc.dg/Wunused-var-1.c: Moved to... * c-c++-common/Wunused-var-1.c: ...here. New test. * gcc.dg/Wunused-var-2.c: Moved to... * c-c++-common/Wunused-var-2.c: ...here. New test. * gcc.dg/Wunused-var-3.c: Moved to... * c-c++-common/Wunused-var-3.c: ...here. New test. * gcc.dg/Wunused-var-4.c: Moved to... * gcc.dg/Wunused-var-1.c: ... here. * gcc.dg/Wunused-var-5.c: Moved to... * c-c++-common/Wunused-var-4.c: ...here. New test. * gcc.dg/Wunused-var-7.c: Moved to... * c-c++-common/Wunused-var-5.c: ...here. New test. * gcc.dg/Wunused-var-6.c: Moved to... * gcc.dg/Wunused-var-2.c: ... here. * c-c++-common/Wunused-var-1.c: New test. * c-c++-common/Wunused-var-2.c: New test. * c-c++-common/Wunused-var-3.c: New test. * c-c++-common/Wunused-var-4.c: New test. * c-c++-common/Wunused-var-5.c: New test. * g++.dg/warn/Wunused-var-1.C: New test. * g++.dg/warn/Wunused-var-2.C: New test. * g++.dg/warn/Wunused-var-3.C: New test. * g++.dg/warn/Wunused-var-4.C: New test. * g++.dg/warn/Wunused-var-5.C: New test. * g++.dg/warn/Wunused-var-6.C: New test. * g++.dg/warn/Wunused-var-7.C: New test. * g++.dg/warn/Wunused-var-8.C: New test. * g++.dg/warn/Wunused-parm-1.C: New test. * g++.dg/warn/Wunused-parm-2.C: New test. * g++.dg/warn/Wunused-parm-3.C: New test. Co-Authored-By: Dodji Seketeli <dodji@redhat.com> From-SVN: r159096
2010-05-06re PR middle-end/43901 (FAIL: gcc.c-torture/compile/pr42196-2.c)Ira Rosen2-3/+68
PR tree-optimization/43901 * tree-vect-stmts.c (vectorizable_call): Assert that vector type is not NULL if it's transformation phase, and return FALSE if it's analysis. (vectorizable_conversion, vectorizable_operation, vectorizable_type_demotion, vectorizable_type_promotion): Likewise. From-SVN: r159095
2010-05-06Daily bump.GCC Administrator1-1/+1
From-SVN: r159094
2010-05-05mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Delete.Andrew Pinski4-8/+11
2010-05-05 Andrew Pinski <andrew.pinski@caviumnetworks.com> * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Delete. * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New define. * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p): Delete prototype. From-SVN: r159090