1. 14 Jul, 2009 2 commits
    • invoke.texi: Added descriptions of the scheduling heuristics that are enabled/disabled by... · 96809b41
      2009-07-14  Ghassan Shobaki  <ghassan.shobaki@amd.com>
      	
      	* doc/invoke.texi: Added descriptions of the 
      	scheduling heuristics that are enabled/disabled 
              by the flags introduced by a previous patch.
      
      From-SVN: r149650
      Ghassan Shobaki committed
    • sourcebuild.texi: Document install-plugin target. · 2a4c0366
      2009-07-14  Taras Glek  <tglek@mozilla.com>
      	    Rafael Espindola  <espindola@google.com>
      
      	* doc/sourcebuild.texi: Document install-plugin target.
      	* configure.ac: Added install-plugin target to language makefiles.
      	* configure: Regenerate.
      	* Makefile.in: (install-plugin): Install more headers,
      	depend on lang.install-plugin.
      
      ada/ChangeLog
      
      	* gcc-interface/Make-lang.in (ada.install-plugin): New target for
      	installing plugin headers.
      
      cp/ChangeLog
      
      	* Make-lang.in: Added CP_PLUGIN_HEADERS and
      	c.install-target to export cp-tree.h cxx-pretty-print.h
      	name-lookup.h headers for plugins.
      
      fortran/ChangeLog
      
      	* Make-lang.in (fortran.install-plugin): New target for
      	installing plugin headers.
      
      java/ChangeLog
      
      	* Make-lang.in (java.install-plugin): New target for
      	installing plugin headers.
      
      objc/ChangeLog
      
      	* Make-lang.in (objc.install-plugin): New target for
      	installing plugin headers.
      
      objcp/ChangeLog
      
      	* Make-lang.in (obj-c.install-plugin): New target for
      	installing plugin headers.
      
      
      
      Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
      
      From-SVN: r149648
      Taras Glek committed
  2. 13 Jul, 2009 1 commit
  3. 11 Jul, 2009 1 commit
    • re PR target/40667 (stack frames are generated even with -fomit-frame-pointer) · ae58e548
      	PR rtl-optimization/40667
      	* defaults.h (MINIMUM_ALIGNMENT): Define if not defined.
      	* doc/tm.texi (MINIMUM_ALIGNMENT): Document it.
      	* config/i386/i386.h (MINIMUM_ALIGNMENT): Define.
      	* config/i386/i386.c (ix86_minimum_alignment): New function.
      	* config/i386/i386-protos.h (ix86_minimum_alignment): New prototype.
      	* cfgexpand.c (expand_one_var): Use MINIMIM_ALIGNMENT.
      	* emit-rtl.c (gen_reg_rtx): Likewise.
      	* function.c (assign_parms): Likewise.  If nominal_type needs
      	bigger alignment than FUNCTION_ARG_BOUNDARY, use its alignment
      	rather than passed_type's alignment.
      
      From-SVN: r149513
      Jakub Jelinek committed
  4. 10 Jul, 2009 2 commits
    • re PR target/39079 (MIPS: __builtin___clear_cache() broken on SMP ISA_HAS_SYNCI systems.) · b96c5923
      2009-07-10  David Daney  <ddaney@caviumnetworks.com>
      
      	PR target/39079
      	* testsuite/gcc.target/mips/mips.exp: Make -msynci a known option.
      	* gcc.target/mips/clear-cache-1.c (dg-options): Add -msynci.
      
      2009-07-10  David Daney  <ddaney@caviumnetworks.com>
      
      	PR target/39079
      	* config.gcc (supported_defaults): Add synci.
      	(with_synci): Add validation.
      	(all_defaults): Add synci.
      	* config/mips/mips.md (clear_cache): Use TARGET_SYNCI instead of
      	ISA_HAS_SYNCI.
      	(synci): Same.
      	* config/mips/mips.opt (msynci): New option.
      	* config/mips/mips.c (mips_override_options): Warn on use of
      	-msynci for targets that do now support it.
      	* gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
      	msynci.
      	* gcc/doc/invoke.texi (-msynci): Document the new option.
      	* doc/install.texi (--with-synci): Document the new option.
      
      From-SVN: r149500
      David Daney committed
    • re PR c/25509 (can't disable __attribute__((warn_unused_result))) · 156f545a
      2009-07-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR 25509
      	PR 40614
      	* c.opt (Wunused-result): New.
      	* doc/invoke.texi: Document it.
      	* c-common.c (c_warn_unused_result): Use it.
      testsuite/
      	* g++.dg/warn/unused-result1-Werror.c: New.
      
      From-SVN: r149458
      Manuel López-Ibáñez committed
  5. 06 Jul, 2009 1 commit
    • lib1funcs.h (FMOVD_WORKS): Only define if __FMOVD_ENABLED__ is defined. · 7a61cf6f
              * config.sh/lib1funcs.h (FMOVD_WORKS): Only define if
              __FMOVD_ENABLED__ is defined.
              * config/sh/sh.h
              (TARGET_FMOVD): Provide a default definition.
              (MASK_FMOVD): Likewise.
              (TARGET_CPU_CPP_BUILTINS): Define
              __FMOVD_ENABLED__ if TARGET_FMOVD is true.
              * config/sh/sh.md (movdf_i4): For alternative 0 use either one or
              two fmov instructions depending upon whether TARGET_FMOVD is
              enabled.
              (split for DF load from memory into register): Also handle
              MEMs which consist of REG+DISP addressing.
              (split for DF store from register to memory): Likewise.
              (movsf_ie): Always use single fp_mode.
              * config/sh/sh.c (sh_override_options): Do not automatically
              enable TARGET_MOVD for the SH2A when supporting doubles - leave
              that to the -mfmovd command line switch.
              (broken_move): Do not restrict fldi test to only the SH4 and SH4A.
              (fldi_ok): Always allow.
              * config/sh/sh.opt (mfmovd): Remove this switch.
              * doc/invoke.texi (-mfmovd): Remove documentation of this switch.
      
      Co-Authored-By: DJ Delorie <dj@redhat.com>
      
      From-SVN: r149283
      Nick Clifton committed
  6. 30 Jun, 2009 2 commits
  7. 29 Jun, 2009 4 commits
    • extend.texi: Add MeP attributes and pragmas. · e2491744
      * doc/extend.texi: Add MeP attributes and pragmas.
      * doc/invoke.text: Add MeP Options.
      * doc/contrib.texi: Add MeP contribution.
      * doc/md.texi: Add MeP constraints.
      * doc/install.texi: Add MeP target.
      
      From-SVN: r149068
      DJ Delorie committed
    • target.h (struct gcc_target): Add frame_pointer_required field. · b52b1749
      	* target.h (struct gcc_target): Add frame_pointer_required field.
      	* target-def.h (TARGET_FRAME_POINTER_REQUIRED): New.
      	(TARGET_INITIALIZER): Use TARGET_FRAME_POINTER_REQUIRED.
      	* ira.c (setup_eliminable_regset): Use frame_pointer_required target
      	hook.
      	* reload1.c (update_eliminables): (Ditto.).
      	* gcc/system.h (FRAME_POINTER_REQUIRED): Poison.
      	* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
      	(INITIAL_FRAME_POINTER_OFFSET): (Ditto.).
      
      	* config/arc/arc.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/arm/arm.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/arm/arm.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(arm_frame_pointer_required): New function.
      
      	* config/avr/avr.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/avr/avr.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(avr_frame_pointer_required_p): Declare as static.
      	* config/avr/avr-protos.h (avr_frame_pointer_required_p): Remove.
      
      	* config/bfin/bfin.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/bfin/bfin.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(bfin_frame_pointer_required): Make as static, change return type
      	to bool.
      	* config/bfin/bfin-protos.h (bfin_frame_pointer_required): Remove.
      
      	* config/cris/cris.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/cris/cris.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(cris_frame_pointer_required): New function.
      	
      	* config/crx/crx.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/fr30/fr30.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/fr30/fr30.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(fr30_frame_pointer_required): New function.
      	
      	* config/frv/frv.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/frv/frv.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(frv_frame_pointer_required): Make as static, change return type
      	to bool.
      	* config/bfin/bfin-protos.h (frv_frame_pointer_required): Remove.
      
      	* config/i386/i386.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/i386/i386.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(ix86_frame_pointer_required): Make as static, change return type to
      	bool.
      	* config/i386/i386-protos.h (ix86_frame_pointer_required): Remove.
      
      	* config/m32c/m32c.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/m32c/m32c.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      
      	* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/mcore/mcore.h (CAN_ELIMINATE): Remove macro.
      	
      	* config/mep/mep.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/mips/mips.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/mips/mips.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(mips_frame_pointer_required): Make as static.
      	* config/mips/mips-protos.h (mips_frame_pointer_required): Remove.
      	
      	* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/mmix/mmix.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(mmix_frame_pointer_required): Mew function.
      
      	* config/moxie/moxie.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/moxie/moxie.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      
      	* config/pa/pa.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/score/score.h (FRAME_POINTER_REQUIRED): Remove macro.
      
      	* config/sh/sh.h (CAN_ELIMINATE): Remove macro.
      
      	* config/sparc/sparc.h (FRAME_POINTER_REQUIRED): Remove macro.
      	(CAN_ELIMINATE): Redefine.
      	* config/sparc/sparc.c (TARGET_FRAME_POINTER_REQUIRED): Define macro.
      	(sparc_frame_pointer_required): New function.
      	(sparc_can_eliminate): New function.
      	* config/sparc/sparc-protos.h (sparc_can_eliminate): Declare.
      
      	* config/vax/vax.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/vax/vax.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      
      	* config/xtensa/xtensa.h (FRAME_POINTER_REQUIRED): Remove macro.
      	* config/xtensa/xtensa.c (TARGET_FRAME_POINTER_REQUIRED): Define.
      	(xtensa_frame_pointer_required): Make as static, change return type
      	to bool.
      	* config/xtensa/xtensa-protos.h (xtensa_frame_pointer_required):
      	Remove.
      
      From-SVN: r149065
      Anatoly Sokolov committed
    • plugins.texi: Document PLUGIN_START_UNIT. · 78bf7bd0
      2009-06-29  Olatunji Ruwase   <tjruwase@google.com>
      
      	* doc/plugins.texi: Document PLUGIN_START_UNIT.
      	* toplev.c (compile_file): Call PLUGIN_START_UNIT.
      	* gcc-plugin.h (PLUGIN_START_UNIT): Added new event.
      	* plugin.c (plugin_event_name): Added PLUGIN_START_UNIT.
      	(register_callback): Handle PLUGIN_START_UNIT.
      	(invoke_plugin_callbacks): Handle PLUGIN_START_UNIT.
      
      From-SVN: r149064
      Olatunji Ruwase committed
    • extend.texi (Additional Floating Types): __float128 is also supported on i386 targets. · 897eef7b
      	* doc/extend.texi (Additional Floating Types): __float128 is also
      	supported on i386 targets.
      
      From-SVN: r149054
      Uros Bizjak committed
  8. 26 Jun, 2009 1 commit
  9. 25 Jun, 2009 3 commits
  10. 24 Jun, 2009 3 commits
    • defaults.h (CAN_ELIMINATE): Provide default. · 3be639f7
      	* defaults.h (CAN_ELIMINATE): Provide default.
      	* doc/tm.texi (CAN_ELIMINATE): Revise documentation.
      	* config/alpha/alpha.h (CAN_ELIMINATE): Delete.
      	* config/m32c/m32c.h (CAN_ELIMINATE): Delete.
      	* config/spu/spu.h (CAN_ELIMINATE): Delete.
      	* config/xtensa/xtensa.h (CAN_ELIMINATE): Delete.
      	* config/moxie/moxie.h (CAN_ELIMINATE): Delete.
      	* config/cris/cris.h (CAN_ELIMINATE): Delete.
      	* config/mn10300/mn10300.h (CAN_ELIMINATE): Delete.
      	* config/pa/pa64-linux.h (CAN_ELIMINATE): Delete.
      	* config/mmix/mmix.h (CAN_ELIMINATE): Delete.
      
      From-SVN: r148919
      Anatoly Sokolov committed
    • contrib.texi (Contributors): · ead1eb1d
      	* doc/contrib.texi (Contributors):
      
      From-SVN: r148909
      Denis Chertykov committed
    • configure.ac: Add --enable-build-with-cxx. · 00020c16
      ./:	* configure.ac: Add --enable-build-with-cxx.  When set, add c++ to
      	boot_languages.  Only bootstrap target libraries listed in
      	target_libs for some boot language.  Add --with-stage1-ldflags,
      	--with-stage1-libs, --with-boot-ldflags, --with-boot-libs.  Remove
      	with_host_libstdcxx from ppllibs.  Only add -fkeep-inline-functions
      	if not building with C++.
      	* Makefile.def: For target_module libstdc++-v3, set bootstrap=true.
      	* Makefile.tpl (STAGE1_LDFLAGS, STAGE1_LIBS): New variables.
      	(POSTSTAGE1_LDFLAGS, POSTSTAGE1_LIBS): New variables.
      	(HOST_EXPORTS): Add STAGE1_LDFLAGS to LDFLAGS.  Export HOST_LIBS.
      	(POSTSTAGE1_HOST_EXPORTS): Set CXX and CXX_FOR_BUILD.  Add
      	POSTSTAGE1_LDFLAGS to LDFLAGS.  Export HOST_LIBS.
      	(POSTSTAGE1_FLAGS_TO_PASS): Likewise.
      	* configure, Makefile.in: Rebuild.
      gcc/:
      	* configure.ac: Invoke AC_PROG_CXX.  Separate C specific warnings
      	from loose_warn into c_loose_warn and from strict_warn into
      	c_strict_warn.  Set and substitute warn_cxxflags.  Check for
      	--enable-build-with-cxx.  Set and substitute
      	ENABLE_BUILD_WITH_CXX.  Set and substitute HOST_LIBS.
      	* Makefile.in (CXXFLAGS): New variable.
      	(C_LOOSE_WARN, C_STRICT_WARN): New variables.
      	(GCC_WARN_CFLAGS): Add $(C_LOOSE_WARN).  Add $(C_STRICT_WARN) if
      	the default is the same as $(STRICT_WARN).
      	(GCC_WARN_CXXFLAGS, WARN_CXXFLAGS): New variables.
      	(CXX): New variable.
      	(COMPILER): New value if ENABLE_BUILD_WITH_CXX.
      	(COMPILER_FLAGS, LINKER, LINKER_FLAGS): Likewise.
      	(ALL_COMPILERFLAGS, ALL_LINKERFLAGS): Likewise.
      	(HOST_LIBS): New variable.
      	(GCC_CFLAGS): Add $(C_LOOSE_WARN).
      	(ALL_CXXFLAGS): New variable.
      	(LIBS, BACKENDLIBS): Add $(HOST_LIBS).
      	* doc/install.texi (Configuration): Document
      	--enable-build-with-cxx, --with-stage1-ldflags,
      	--with-stage1-libs, --with-boot-ldflags, --with-boot-libs.
      	* configure: Rebuild.
      
      From-SVN: r148889
      Ian Lance Taylor committed
  11. 22 Jun, 2009 2 commits
  12. 18 Jun, 2009 4 commits
    • re PR testsuite/40488 (Revision 148642 caused extra failures) · 394bd84d
              PR 40488
              * tree-pass.h (TDF_ASMNAME): New.
              * tree-dump.c (dump_options): Add asmname.
              * doc/invoke.texi: Document it.
      
              * tree-pretty-print.c (maybe_dump_asm_name): Merge into...
              (dump_decl_name): ...here.
              (dump_function_name): New flags arg; mind TDF_ASMNAME.
              (dump_generic_node): Update dump_function_name calls.
              (print_call_name): New flags arg; update all dump calls.
              * diagnostic.h (print_call_name): Update.
              * gimple-pretty-print.c (dump_gimple_call): Update.
      
      From-SVN: r148685
      Richard Henderson committed
    • plugins.texi: Document plugin_is_GPL_compatible. · fca5bb5c
      	* doc/plugins.texi: Document plugin_is_GPL_compatible.
      	* plugin.c (str_license): Declare.
      	(try_init_one_plugin): Assert that the symbol
      	'plugin_is_GPL_compatible' exists.
      
      testsuite/ChangeLog
      
      	* gcc.dg/plugin/selfassign.c: Declare plugin_is_GPL_compatible.
      	* gcc.dg/plugin/ggcplug.c: Likewise.
      	* gcc.dg/plugin/one_time_plugin.c: Likewise.
      	* g++.dg/plugin/selfassign.c: Likewise.
      	* g++.dg/plugin/attribute_plugin.c: Likewise.
      	* g++.dg/plugin/dumb_plugin.c: Likewise.
      
      From-SVN: r148667
      Diego Novillo committed
    • see removal · 8393a9c8
      From-SVN: r148664
      Sergei Dyshel committed
    • extend.texi (Half-Precision): New section. · 0fd8c3ad
      2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* doc/extend.texi (Half-Precision): New section.
      	* doc/invoke.texi (Option Summary): List -mfp16-format.
      	(ARM Options): List neon-fp16 as -mfpu value.  Document -mfp16-format.
      	* config/arm/arm.opt (mfp16-format=): New.
      	* config/arm/arm.c: Include intl.h.
      	(TARGET_INVALID_PARAMETER_TYPE): Redefine.
      	(TARGET_INVALID_RETURN_TYPE): Redefine.
      	(TARGET_PROMOTED_TYPE): Redefine.
      	(TARGET_CONVERT_TO_TYPE): Redefine.
      	(arm_fp16_format): Define.
      	(all_fpus): Add entry for neon-fp16.
      	(fp_model_for_fpu): Likewise.
      	(struct fp16_format): Declare.
      	(all_fp16_formats): Define.
      	(arm_init_libfuncs): Add entries for HFmode conversions and arithmetic
      	functions.
      	(arm_override_options): Set arm_fp16_format. Call sorry for fp16
      	and no ldrh.
      	(arm_legitimate_index_p): Treat HFmode like HImode.
      	(thumb1_legitimate_address_p): Make it recognize HFmode constants.
      	(coproc_secondary_reload_class): Special-case HFmode.
      	(arm_print_operand): Add 'z' specifier for vld1.16/vst1.16.
      	(arm_hard_regno_mode_ok): Allow HFmode values in VFP registers.
      	(arm_init_fp16_builtins): New.
      	(arm_init_builtins): Call it.
      	(arm_invalid_parameter_type): New.
      	(arm_invalid_return_type): New.
      	(arm_promoted_type): New.
      	(arm_convert_to_type).
      	(arm_file_start): Deal with neon-fp16 as fpu_name.  Emit tag for fp16
      	format.
      	(arm_emit_fp16_const): New function.
      	(arm_mangle_type): Mangle __fp16 as "Dh".
      	* config/arm/arm.h (TARGET_VFPD32): Make it know about
      	FPUTYPE_NEON_FP16.
      	(TARGET_NEON_FP16): New.
      	(TARGET_NEON): Make it know about FPUTYPE_NEON_FP16.
      	(enum fputype): Add FPUTYPE_NEON_FP16.
      	(enum arm_fp16_format_type): Declare.
      	(arm_fp16_format): Declare.
      	(LARGEST_EXPONENT_IS_NORMAL): Define.
      	* config/arm/arm-protos.h (arm_emit_fp16_const): Declare.
      	* config/arm/arm-modes.def (HFmode): Define.
      	* config/arm/vfp.md: (*movhf_vfp): New.
      	(extendhfsf2): New.
      	(truncsfhf2): New.
      	* config/arm/arm.md: (fpu): Add neon_fp16.
      	(floatsihf2, floatdihf2): New.
      	(fix_trunchfsi2, fix_trunchfdi2): New.
      	(truncdfhf2): New.
      	(extendhfdf2): New.
      	(movhf): New.
      	(*arm32_movhf): New.
      	(*thumb1_movhf): New.
      	(consttable_2): Add check for HFmode constants.
      	(consttable_4): Handle HFmode constants.
      
      From-SVN: r148654
      Sandra Loosemore committed
  13. 17 Jun, 2009 2 commits
  14. 16 Jun, 2009 4 commits
    • install.texi (*-*-aix): Update explanation of XLC bootstrap. · c58c92f5
              * doc/install.texi (*-*-aix): Update explanation of XLC bootstrap.
              GCC can bootstrap on AIX with GNU Binutils 2.20.
      
      From-SVN: r148545
      David Edelsohn committed
    • invoke.texi (Debugging Options): Fix option index entries for -fdump-statistics... · d376d545
      gcc/
      	* doc/invoke.texi (Debugging Options): Fix option index entries
      	for -fdump-statistics, -frandom-seed add entries for
      	-fdump-tree-original, -fdump-tree-optimized, -frandom-seed.
      	(FRV Options): Fix entries for -mTLS, -mtls.
      	(HPPA Options): Fix entries for -mgnu-ld, -mhp-ld.
      	(i386 and x86-64 Options): Fix entry for -mno-red-zone.
      	(M68hc1x Options): Fix @itemx for -mnominmax.
      	(MCore Options): Fix entry for -mno-lsim.
      	(MMIX Options): Fix entry for -mabi=mmixware.
      	(PDP-11 Options): Fix entry for -mbcopy-builtin.
      
      From-SVN: r148516
      Ralf Wildenhues committed
    • plugins.texi (Interacting with the GCC Garbage Collector): Mention the plugin mode of gengtype. · bd117bb6
      2009-06-16  Basile Starynkevitch  <basile@starynkevitch.net>
      
      	* gcc/doc/plugins.texi (Interacting with the GCC Garbage Collector):
      	Mention the plugin mode of gengtype.
      	* gcc/doc/gty.texi (Source Files Containing Type Information):
      	Likewise.
      	* gcc/gengtype.c: Updated copyright.
      	(plugin_files, nb_plugin_files) Added new static variables.
      	(measure_input_list) Care about plugin_files.
      	(write_rtx_next): Added early return in plugin mode.
      	(create_file): Updated copyright year in generated file. Added
      	asserts.
      	(oprintf): Added early return if NULL outf.
      	(get_output_file_with_visibility): Care of plugin_files.
      	(get_output_file_name): May return null.
      	(write_local): Added early return.
      	(put_mangled_filename): Ditto.
      	(finish_root_table): Added check for base_files.
      	(write_roots): Care about null when plugins.
      	(main): Added plugin mode.
      
      From-SVN: r148515
      Basile Starynkevitch committed
    • df-problems.c (df_simulate_one_insn_forwards): Fix braces in switch. · e1b7793c
      ./:	* df-problems.c (df_simulate_one_insn_forwards): Fix braces in
      	switch.
      	* gcov.c (read_count_file): Add braces around variables declared
      	before label.
      
      	* c.opt (Wjump-misses-init): New warning.
      	* c-opts.c (c_common_handle_option): Set warn_jump_misses_init for
      	-Wall and -Wc++-compat if not already set.
      	(c_common_post_options): Clear warn_jump_misses_init if it was not
      	set.
      	* c-decl.c (struct c_binding): Change type field to a union with
      	new label field.  Make it the first field in the struct.  Update
      	references to type to use u.type instead.
      	(struct c_spot_bindings): Define.
      	(struct c_goto_bindings): Define.
      	(c_goto_bindings_p): Define, along with VECs.
      	(struct c_label_vars): Define.
      	(struct c_scope): Add has_label_bindings field.
      	(bind_label, set_spot_bindings): New static functions.
      	(decl_jump_unsafe, update_spot_bindings): New static functions.
      	(update_label_decls): New static function.
      	(pop_scope): Call update_label_decls.  Don't call c_end_vm_scope.
      	Update binding u.label field to shadowed field.
      	(c_binding_start_stmt_expr): New function.
      	(c_binding_end_stmt_expr): New function.
      	(pushdecl): Don't call c_begin_vm_scope.
      	(make_label): Add defining and p_label_vars parameters.  Change
      	all callers.
      	(lookup_label): Correct test for whether a label has not yet been
      	defined.  Call bind_label rather than bind.
      	(warn_about_goto): New static function.
      	(lookup_label_for_goto): New function.
      	(declare_label): Call bind_label rather than bind.
      	(check_earlier_gotos): New static function.
      	(define_label): Don't give errors about jumping into statement
      	expressions or scopes of variably modified types.  Call
      	set_spot_bindings and check_earlier_gotos.  Call bind_label
      	instead of bind.  Don't set label_context_stack_se or
      	label_context_stack_vm.
      	(c_get_switch_bindings): New function.
      	(c_release_switch_bindings): New function.
      	(c_check_switch_jump_warnings): New function.
      	(start_function): Don't set label_context_stack_se or
      	label_context_stack_vm.
      	(finish_function): Likewise.
      	* c-typeck.c (label_context_stack_se): Don't define.
      	(label_context_stack_vm): Don't define.
      	(c_finish_goto_label): Call lookup_label_for_goto rather than
      	lookup_label.  Don't give errors about jumping into a statement
      	expression or the scope of a variably modified type.  Don't set
      	label_context_stack_se or label_context_stack_vm.
      	(struct c_switch): Remove blocked_stmt_expr and blocked_vm
      	fields.  Add bindings field.
      	(c_start_case): Don't set deleted fields.  Set bindings field.
      	(do_case): Rework order of tests.  Don't check blocked_stmt_expr
      	or blocked_vm.  Call c_check_switch_jump_warnings.
      	(c_finish_case): Don't test blocked_stmt_expr field.  Call
      	c_release_switch_bindings.
      	(c_begin_stmt_expr): Don't increment blocked_stmt_expr in
      	c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
      	set label_context_stack_se.  Call c_bindings_start_stmt_expr.
      	(c_finish_stmt_expr): Don't decrement blocked_stmt_expr in
      	c_switch_stack.  Don't walk label_context_stack_se labels.  Don't
      	set label_context_stack_se.  Call c_bindings_end_stmt_expr.
      	(c_begin_vm_scope, c_end_vm_scope): Don't define.
      	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR): Don't define.
      	(C_DECL_UNDEFINABLE_STMT_EXPR): Don't define.
      	(C_DECL_UNJUMPABLE_VM): Don't define.
      	(C_DECL_UNDEFINABLE_VM): Don't define.
      	(struct c_label_list): Don't define.
      	(struct c_label_context_se): Don't define.
      	(struct c_label_context_vm): Don't define.
      	(struct c_spot_bindings): Declare.
      	(c_bindings_start_stmt_expr): Declare.
      	(c_bindings_end_stmt_expr): Declare.
      	(lookup_label_for_goto): Declare.
      	(c_get_switch_bindings, c_release_switch_bindings): Declare.
      	(c_check_switch_jump_warnings): Declare.
      	(label_context_stack_se, label_context_stack_vm): Don't declare.
      	(c_finish_goto_label): Update declaration.
      	(c_begin_vm_scope, c_end_vm_scope): Don't declare.
      	* doc/invoke.texi (Option Summary): Mention -Wjump-misses-init.
      	(Warning Options): Document -Wjump-misses-init.
      cp/:
      	* parser.c (cp_parser_direct_declarator): Add braces around
      	variables declared before label.
      objc/:
      	* objc-act.c (objc_start_function): Don't set
      	label_context_stack_se or label_context_stack_vm.
      testsuite/:
      	* gcc.dg/Wjump-misses-init-1.c: New testcase.
      	* gcc.dg/Wjump-misses-init-2.c: New testcase.
      	* gcc.dg/c99-vla-jump-5.c: Adjust expected error messages.
      	Recognize new notes.
      	* gcc.dg/stmt-expr-label-2.c: Likewise.
      	* gcc.dg/c99-vla-jump-1.c: Recognize new notes.  Fix column
      	numbers.
      	* gcc.dg/c99-vla-jump-2.c: Recognize new notes.
      	* gcc.dg/c99-vla-jump-3.c: Recognize new notes.
      	* gcc.dg/c99-vla-jump-4.c: Likewise.
      	* gcc.dg/stmt-expr-label-1.c: Likewise.
      	* gcc.dg/stmt-expr-label-3.c: Likewise.
      	* gcc.dg/vla-8.c: Likewise.  Move error message to different
      	line.
      
      From-SVN: r148512
      Ian Lance Taylor committed
  15. 13 Jun, 2009 1 commit
  16. 12 Jun, 2009 2 commits
    • i386.c (OPTION_MASK_ISA_CRC32_SET): New. · 8ed0ce99
      gcc/
      
      2009-06-11  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (OPTION_MASK_ISA_CRC32_SET): New.
      	(OPTION_MASK_ISA_CRC32_UNSET): Likewise.
      	(ix86_handle_option): Handle OPT_mcrc32.
      	(ix86_target_string): Add -mcrc32.
      	(bdesc_args): Enable crc32 builtins with OPTION_MASK_ISA_CRC32.
      
      	* config/i386/i386.h (TARGET_CRC32): New.
      
      	* config/i386/i386.md (sse4_2_crc32<mode>): Also check
      	TARGET_CRC32.
      	(sse4_2_crc32di): Likewise.
      
      	* config/i386/i386.opt (mcrc32: New.
      
      	* doc/invoke.texi: Document -mcrc32.
      
      gcc/testsuite/
      
      2009-06-11  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/crc32-1.c: New.
      	* gcc.target/i386/crc32-2.c: Likewise.
      
      From-SVN: r148410
      H.J. Lu committed
    • common.opt (gdwarf-): Accept a version number. · 53b2323e
      	* common.opt (gdwarf-): Accept a version number.
      	* doc/invoke.texi (gdwarf-): Update docs.
      	* opth-gen.awk: Special case -gdwarf+ to OPT_gdwarfplus.
      	* opts.c (common_handle_option) [OPT_gdwarf_]: Verify dwarf
      	version level, and record it.
      
      	* dwarf2.h (DW_CIE_VERSION): Remove.
      	* dwarf2out.c (DWARF_VERSION): Remove.
      	(add_fde_cfi): Skip DW_CFA_set_loc addition for dwarf3.
      	(output_call_frame_info): Use CIE version 3 for dwarf3,
      	or if the return register column is out of range for version 1.
      	(dwarf_stack_op_name): Add all dwarf3 values.
      	(DEBUG_PUBTYPES_SECTION): New.
      	(size_of_die) [dw_val_class_die_ref]: Handle DW_FORM_ref_addr
      	encoding change for dwarf3.
      	(output_die) [dw_val_class_die_ref]: Likewise.
      	(output_compilation_unit_header): Emit correct version for dwarf3.
      	(output_line_info): Likewise.
      	(output_pubnames): Update for DWARF_VERSION removal.
      	(output_aranges): Likewise.
      	(gen_subprogram_die): Emit DW_OP_call_frame_cfa if emitting dwarf3.
      	(dwarf2out_init): Don't ifdef DEBUG_PUBTYPES_SECTION.
      	(dwarf2out_finish): Likewise.
      
      ada/
      	* gcc-interface/misc.c (gnat_handle_option): Rename
      	OPT_gdwarf_ to OPT_gdwarfplus.
      
      From-SVN: r148408
      Richard Henderson committed
  17. 11 Jun, 2009 1 commit
    • re PR c/39252 (Request new feature __builtin_unreachable ()) · 468059bc
      2009-06-11  David Daney  <ddaney@caviumnetworks.com>
      
      	PR c/39252
      	* doc/extend.texi ( __builtin_unreachable): Document new builtin.
      	* builtins.c (expand_builtin_unreachable): New function.
      	(expand_builtin): Handle BUILT_IN_UNREACHABLE case.
      	* builtins.def (BUILT_IN_UNREACHABLE): Add new builtin.
      	* cfgcleanup.c (try_optimize_cfg): Delete empty blocks with no
      	successors.
      	* cfgrtl.c (rtl_verify_flow_info): Handle empty blocks when
      	searching for missing barriers.
      
      2009-06-11  David Daney  <ddaney@caviumnetworks.com>
      
      	PR c/39252
      	* gcc.dg/builtin-unreachable-1.c: New test.
      	* gcc.dg/builtin-unreachable-2.c: Same.
      
      From-SVN: r148403
      David Daney committed
  18. 10 Jun, 2009 2 commits
  19. 08 Jun, 2009 2 commits
    • 2009-06-08 Ghassan Shobaki <ghassan.shobaki@amd.com> · db34470d
                  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
              
              * tree-ssa-loop-prefetch.c 
              (gather_memory_references): Introduced a counter for the number of 
              memory references.
              (anything_to_prefetch_p): Introduced a counter for the number of 
              prefetches.
              (is_loop_prefetching_profitable): New function with a cost model 
              for prefetching.
              (loop_prefetch_arrays): Use the new cost model to determine if 
              prefetching is profitable.
              * params.def (MIN_INSN_TO_PREFETCH_RATIO, 
              PREFETCH_MIN_INSN_TO_MEM_RATIO): New parameters.
              * params.h (MIN_INSN_TO_PREFETCH_RATIO, 
              PREFETCH_MIN_INSN_TO_MEM_RATIO): New parameters.
              * doc/invoke.texi (MIN_INSN_TO_PREFETCH_RATIO, 
              PREFETCH_MIN_INSN_TO_MEM_RATIO): New parameters.
      
      
      Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
      
      From-SVN: r148277
      Ghassan Shobaki committed
    • common.opt (fcompare-debug=, [...]): New. · 2153915d
      gcc/ChangeLog:
      * common.opt (fcompare-debug=, fcompare-debug-second): New.
      (fdump-final-insns=, gtoggle): New.
      * doc/invoke.texi: Document them.
      * final.c (rest_of_clean_state): Dump final insn stream.
      * gcc.c (invoke_as): Hook in -fcompare-debug.
      (static_spec_functions): Add compare-debug-dump-opt,
      compare-debug-self-opt and compare-debug-auxbase-opt.
      (compare_debug, compare_debug_second, compare_debug_opt): New.
      (switches_debug_check, n_switches_debug_check): New.
      (debug_auxbase_opt, debug_check_temp_file): New.
      (process_command): Handle -fno-compare-debug, -fcompare-debug and
      -fcompare-debug=*.
      (do_self_spec): Handle arguments after switches.
      (do_spec_1): Add .gk extension to temp file basenames for compare.
      (check_live_switch): Take SWITCH_IGNORE into account, and earlier.
      (cc1_options): Use it instead of normal auxbase computation for
      the second compare-debug compilation.
      (compare_files): New.
      (main): Set up and implement compare debug mode.
      (compare_debug_dump_opt_spec_function): New.
      (compare_debug_self_opt_spec_function): New.
      (compare_debug_auxbase_opt_spec_function): New.
      * toplev.c (process_options): Handle flag_gtoggle,
      flag_dump_final_insns.
      * coverage.c (coverage_begin_output): Don't overwrite .gcno file
      during -fcompare-debug-second compilation.
      gcc/cp/ChangeLog:
      * repo.c (get_base_filename): Use aux_base_name rather than
      alternate temporary file during second compare debug compilation.
      (finish_repo): Skip during -fcompare-debug-second.
      gcc/ada/ChangeLog:
      * lib-writ.adb (flag_compare_debug): Import.
      (Write_ALI): Skip during -fcompare-debug-second.
      gcc/fortran/ChangeLog:
      * options.c (gfc_post_options): Disable dump_parse_tree
      during -fcompare-debug-second.
      gcc/objc/ChangeLog:
      * objc-act.c (objc_init): Skip print_struct_values during
      -fcompare-debug-second.
      
      From-SVN: r148271
      Alexandre Oliva committed