1. 28 Sep, 2013 1 commit
    • alloc-pool.c, [...]: Add missing whitespace before "(". · c3284718
      gcc/
      	* alloc-pool.c, asan.c, auto-inc-dec.c, basic-block.h, bb-reorder.c,
      	bitmap.c, bitmap.h, bt-load.c, builtins.c, calls.c, cfgcleanup.c,
      	cfgexpand.c, cfghooks.c, cfgloop.c, cfgloopmanip.c, cfgrtl.c, cgraph.c,
      	cgraph.h, cgraphbuild.c, cgraphclones.c, cgraphunit.c, collect2.c,
      	combine-stack-adj.c, combine.c, compare-elim.c, context.c, context.h,
      	cprop.c, cse.c, cselib.c, dbxout.c, dce.c, defaults.h, df-core.c,
      	df-problems.c, df-scan.c, df.h, diagnostic.c, double-int.c, dse.c,
      	dumpfile.c, dwarf2asm.c, dwarf2cfi.c, dwarf2out.c, emit-rtl.c,
      	errors.c, except.c, expmed.c, expr.c, file-find.c, final.c,
      	fixed-value.c, fold-const.c, function.c, fwprop.c, gcc-ar.c, gcc.c,
      	gcov-io.c, gcov-io.h, gcov.c, gcse.c, genattr-common.c, genattr.c,
      	genattrtab.c, genautomata.c, genconfig.c, genemit.c, genextract.c,
      	genflags.c, gengenrtl.c, gengtype-state.c, gengtype.c, genmodes.c,
      	genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
      	gensupport.c, ggc-common.c, ggc-page.c, gimple-fold.c, gimple-low.c,
      	gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimple.c,
      	gimple.h, godump.c, graphite-clast-to-gimple.c,
      	graphite-optimize-isl.c, graphite-poly.h, graphite-sese-to-poly.c,
      	graphite.c, haifa-sched.c, hash-table.c, hash-table.h, hwint.c,
      	hwint.h, ifcvt.c, incpath.c, init-regs.c, input.h, intl.c, intl.h,
      	ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
      	ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c,
      	ipa-utils.c, ipa.c, ira-build.c, ira.c, jump.c, loop-doloop.c,
      	loop-init.c, loop-invariant.c, loop-iv.c, lower-subreg.c, lto-cgraph.c,
      	lto-streamer-in.c, lto-streamer-out.c, lto-wrapper.c, mcf.c,
      	mode-switching.c, modulo-sched.c, omp-low.c, optabs.c, opts.c,
      	pass_manager.h, passes.c, plugin.c, postreload-gcse.c, postreload.c,
      	predict.c, prefix.c, pretty-print.c, print-rtl.c, print-tree.c,
      	profile.c, read-md.c, real.c, real.h, recog.c, ree.c, reg-stack.c,
      	regcprop.c, reginfo.c, regmove.c, regrename.c, regs.h, regstat.c,
      	reload1.c, reorg.c, rtl.c, rtl.h, rtlanal.c, sbitmap.c, sched-rgn.c,
      	sdbout.c, sel-sched-ir.c, sel-sched.c, sparseset.c, stack-ptr-mod.c,
      	statistics.c, stmt.c, stor-layout.c, store-motion.c, streamer-hooks.h,
      	system.h, target-hooks-macros.h, targhooks.c, targhooks.h, toplev.c,
      	tracer.c, trans-mem.c, tree-browser.c, tree-call-cdce.c, tree-cfg.c,
      	tree-cfgcleanup.c, tree-complex.c, tree-data-ref.c, tree-data-ref.h,
      	tree-eh.c, tree-emutls.c, tree-flow.h, tree-if-conv.c, tree-into-ssa.c,
      	tree-iterator.c, tree-loop-distribution.c, tree-mudflap.c,
      	tree-nested.c, tree-nomudflap.c, tree-nrv.c, tree-object-size.c,
      	tree-optimize.c, tree-pass.h, tree-pretty-print.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-sra.c, tree-ssa-ccp.c,
      	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
      	tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
      	tree-ssa-ifcombine.c, tree-ssa-live.c, tree-ssa-loop-ch.c,
      	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-loop.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
      	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
      	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
      	tree-ssa-structalias.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c,
      	tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-ssa.c, tree-ssanames.c,
      	tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
      	tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c,
      	tree-vect-stmts.c, tree-vectorizer.c, tree-vectorizer.h, tree-vrp.c,
      	tree.c, tree.h, tsan.c, tsystem.h, value-prof.c, var-tracking.c,
      	varasm.c, vec.h, vmsdbgout.c, vtable-verify.c, web.c: Add missing
      	whitespace before "(".
      
      From-SVN: r203004
      Richard Sandiford committed
  2. 30 Aug, 2013 1 commit
  3. 07 Aug, 2013 1 commit
    • Commit the vtable verification feature. · 2077db1b
      Commit the vtable verification feature.  This feature is designed to
      detect, at run time, if/when the vtable pointer in a C++ object has
      been corrupted, before allowing virtual calls through that pointer. 
      If pointer corruption is detected, execution of the program is halted.
      
      libstdc++-v3 ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * fragment.am: Add XTEMPLATE_FLAGS.
              * configure.ac: Add definitions for --enable-vtable-verify.
              * acinclude.m4:  Add --enable-vtable-verify and
              --disable-vtable-verify; define --enable-vtable-verify; define
              VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
              * config/abi/pre/gnu.ver: Export symbols for vtable verification.
              * libsupc++/Makefile.am: Define vtv_sources and add it to
              libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
              * libsupc++/vtv_stubs.cc: New file.
              * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
              * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
              VTV_CXXLINKFLAGS to CXXLINK.
              * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
              to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
              * src/C++11/Makefile.am: Ditto.
              * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
              * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
              cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
              * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
              libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
              cxxvtvflags to cxx_final.
              * testsuite/18_support/bad_exception/23591_thread-1.c: Add
              -fvtable-verify=none to compiler flags.
              * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
              to compiler flags.
              * configure: Regenerated.
              * Makefile.in: Regenerated.
              * python/Makefile.in: Regenerated.
              * include/Makefile.in: Regenerated.
              * libsupc++/Makefile.in: Regenerated.
              * config.h.in: Regenerated.
              * po/Makefile.in: Regenerated.
              * src/Makefile.in: Regenerated.
              * src/c++98/Makefile.in: Regenerated.
              * src/c++11/Makefile.in: Regenerated.
              * doc/Makefile.in: Regenerated.
              * testsuite/Makefile.in: Regenerated.
      
      top level ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * configure.ac: Add target-libvtv to target_libraries; disable libvtv
              on non-linux systems; add target-libvtv to noconfigdirs; add
              libsupc++/.libs to C++ library search paths.
              * configure: Regenerated.
              * Makefile.def: Add libvtv to target_modules; make libvtv depend on
              libstdc++ and libgcc.
              * Makefile.in: Regenerated.
      
      include/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * vtv-change-permission.h: New file.
      
      contrib/ChangeLog:
      2013-08-06  Caroline Tice4  <cmtice@google.com>
      
              * gcc_update: Add libvtv files.
      
      libgcc/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              config.host (extra_parts): Add vtv_start.o, vtv_end.o
              vtv_start_preinit.o and vtv_end_preinit.o.
              configure.ac: Add code to check/set enable_vtable_verify.
              Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is
              true.
              vtv_start_preinit.c: New file.
              vtv_end_preinit.c: New file.
              vtv_start.c: New file.
              vtv_end.c: New file.
              configure: Regenerated.
      
      gcc/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * gcc.c (VTABLE_VERIFICATION_SPEC): New definition.
              (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC.
              * tree-pass.h: Add pass_vtable_verify.
              * varasm.c (assemble_variable): Add code to properly set the comdat
              section and name for the .vtable_map_vars section.
              (assemble_vtyv_preinit_initializer): New function.
              (default_sectin_type_flags):  Make sure .vtable_map_vars section has
              LINK_ONCE flag.
              * output.h: Add function decl for assemble_vtv_preinit_initializer.
              * vtable-verify.c: New file.
              * vtable-verify.h: New file.
              * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify
              initialiation levels.
              * timevar.def (TV_VTABLE_VERIFICATION): New definition.
              * passes.def: Insert pass_vtable_verify.
              * aclocal.m4: Reorder includes.
              * doc/invoke.texi: Add documentation for the flags -fvtable-verify=,
      	-fvtv-debug and -fvtv-counts.
              * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o,
      as appropriate, if -fvtable-verify=... is used.
              (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if
              -fvtable-verify=... is used.
              * Makefile.in (OBJS):  Add vtable-verify.o to list.
              (vtable-verify.o): Add new build rule.
              (GTFILES): Add vtable-verify.c to list.
              * common.opt (fvtable-verify=): New flag.
              (vtv_priority): Values for fvtable-verify= flag.
              (fvtv-counts): New flag.
      (fvtv-debug): New flag.
              * tree.h (save_vtable_map_decl): New extern function decl.
      
      
      gcc/cp/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              * Make-lang.in (*CXX_AND_OBJCXX_OBJS):  Add vtable-class-hierarchy.o to
              list.
              (vtable-class-hierarchy.o): Add build rule.
              * cp-tree.h (vtv_start_verification_constructor_init_function): New
              extern function decl.
              (vtv_finish_verification_constructor_init_function): New extern
              function decl.
              (build_vtbl_address): New extern function decl.
              (get_mangled_vtable_map_var_name): New extern function decl.
              (vtv_compute_class_hierarchy_transitive_closure): New extern function
              decl.
              (vtv_generate_init_routine): New extern function decl.
              (vtv_save_class_info): New extern function decl.
              (vtv_recover_class_info): New extern function decl.
              (vtv_build_vtable_verify_fndecl): New extern function decl.
              * class.c (finish_struct_1): Add call to vtv_save_class_info if
              flag_vtable_verify is true.
              * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list.
              * vtable-class-hierarchy.c: New file.
              * mangle.c (get_mangled_vtable_map_var_name):  New function.
              * decl2.c (start_objects): Update function comment.
              (cp_write_global_declarations): Call vtv_recover_class_info,
              vtv_compute_class_hierarchy_transitive_closure and
              vtv_build_vtable_verify_fndecl, before calling
              finalize_compilation_unit, and call vtv_generate_init_rount after, IFF
              flag_vtable_verify is true.
              (vtv_start_verification_constructor_init_function): New function.
              (vtv_finish_verification_constructor_init_function): New function.
              * init.c (build_vtbl_address): Remove static qualifier from function.
      
      libvtv/ChangeLog:
      2013-08-06  Caroline Tice  <cmtice@google.com>
      
              Initial check-in of new vtable verification feature.
              * configure.ac : New file.
              * acinclude.m4 : New file.
              * Makefile.am : New file.
              * aclocal.m4 : New file.
              * configure.tgt : New file.
              * configure: New file (generated).
              * Makefile.in: New file (generated).
              * vtv_set.h : New file.
              * vtv_utils.cc : New file.
              * vtv_utils.h : New file.
              * vtv_malloc.cc : New file.
              * vtv_rts.cc : New file.
              * vtv_malloc.h : New file.
              * vtv_rts.h : New file.
              * vtv_fail.cc : New file.
              * vtv_fail.h : New file.
              * vtv_map.h : New file.
              * scripts/run-testsuite.sh : New file.
              * scripts/sum-vtv-counts.c : New file.
              * testsuite/parts-test-main.h : New file.
              * testusite/dataentry.cc : New file.
              * testsuite/temp_deriv.cc : New file.
              * testsuite/register_pair.cc : New file.
              * testsuite/virtual_inheritance.cc : New file.
              * testsuite/field-test.cc : New file.
              * testsuite/nested_vcall_test.cc : New file.
              * testsuite/template-list-iostream.cc : New file.
              * testsuite/register_pair_inserts.cc : New file.
              * testsuite/register_pair_inserts_mt.cc : New file.
              * testsuite/event.list : New file.
              * testsuite/parts-test-extra-parts-views.cc : New file.
              * testsuite/parts-test-extra-parts-views.h : New file.
              * testsuite/environment-fail-32.s : New file.
              * testsuite/parts-test-extra-parts.h : New file.
              * testsuite/temp_deriv2.cc : New file.
              * testsuite/dlopen_mt.cc : New file.
              * testsuite/event.h : New file.
              * testsuite/template-list.cc : New file.
              * testsuite/replace-fail.cc : New file.
              * testsuite/Makefile.am : New file.
              * testsuite/Makefile.in: New file (generated).
              * testsuite/mempool_negative.c : New file.
              * testsuite/parts-test-main.cc : New file.
              * testsuite/event-private.cc : New file.
              * testsuite/thunk.cc : New file.
              * testsuite/event-defintiions.cc : New file.
              * testsuite/event-private.h : New file.
              * testsuite/parts-test.list : New file.
              * testusite/register_pair_mt.cc : New file.
              * testsuite/povray-derived.cc : New file.
              * testsuite/event-main.cc : New file.
              * testsuite/environment.cc : New file.
              * testsuite/template-list2.cc : New file.
              * testsuite/thunk_vtable_map_attack.cc : New file.
              * testsuite/parts-test-extra-parts.cc : New file.
              * testsuite/environment-fail-64.s : New file.
              * testsuite/dlopen.cc : New file.
              * testsuite/so.cc : New file.
              * testsuite/temp_deriv3.cc : New file.
              * testsuite/const_vtable.cc : New file.
              * testsuite/mempool_positive.c : New file.
              * testsuite/dup_name.cc : New file.
      
      From-SVN: r201555
      Caroline Tice committed
  4. 17 May, 2013 1 commit
  5. 07 May, 2013 1 commit
    • cfgexpand.c (record_or_union_type_has_array_p): New function. · f6bc1c4a
      2013-05-07  Han Shen  <shenhan@google.com>
      
          gcc/
          * cfgexpand.c (record_or_union_type_has_array_p): New function.
          (expand_used_vars): Add logic handling '-fstack-protector-strong'.
          * common.opt (fstack-protector-strong): New option.
          * doc/cpp.texi (__SSP_STRONG__): New builtin "__SSP_STRONG__".
          * doc/invoke.texi (Optimization Options): Document
          "-fstack-protector-strong".
          * gcc.c (LINK_SSP_SPEC): Add 'fstack-protector-strong'.
      
          gcc/testsuite/
          * gcc.dg/fstack-protector-strong.c: New.
          * g++.dg/fstack-protector-strong.C: New.
      
          gcc/c-family/
          * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
      
      From-SVN: r198699
      Han Shen committed
  6. 15 Apr, 2013 1 commit
    • Use -z ignore instead of --as-needed on Solaris · e927b6ad
      	* configure.ac (gcc_cv_ld_as_needed): Set
      	gcc_cv_ld_as_needed_option, gcc_cv_no_as_needed_option.
      	Use -z ignore, -z record on *-*-solaris2*.
      	(HAVE_LD_AS_NEEDED): Update comment.
      	(LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION): Define.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* gcc.c (init_gcc_specs) [USE_LD_AS_NEEDED]: Use
      	LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION.
      	* config/sol2.h [HAVE_LD_AS_NEEDED] (USE_LD_AS_NEEDED): Define.
      	* doc/tm.texi.in (USE_LD_AS_NEEDED): Allow for --as-needed
      	equivalents.  Fix markup.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r197964
      Rainer Orth committed
  7. 10 Apr, 2013 1 commit
  8. 06 Mar, 2013 1 commit
  9. 05 Feb, 2013 1 commit
  10. 30 Jan, 2013 1 commit
    • re PR sanitizer/55374 ([asan] -static-libasan -static-libstdc++ doesn't work) · e60e09a0
      	PR sanitizer/55374
      	* gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
      	LIBASAN_EARLY_SPEC is defined.
      	(LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
      	(LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
      	before %o.
      	* config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
      
      	* g++.dg/asan/large-func-test-1.C: Allow both _Zna[jm] in addition
      	to _Znw[jm] in the backtrace.  Allow _Zna[jm] to be the first frame
      	printed in backtrace.
      	* g++.dg/asan/deep-stack-uaf-1.C: Use malloc instead of operator new
      	to avoid errors about mismatched allocation vs. deallocation.
      
      From-SVN: r195585
      Jakub Jelinek committed
  11. 13 Jan, 2013 1 commit
    • Makefile.in (s-mlib): New argument MULTILIB_REUSE. · e7f49d92
      2013-01-13  Terry Guo  <terry.guo@arm.com>
      
              * gcc/Makefile.in (s-mlib): New argument MULTILIB_REUSE.
              * gcc/doc/fragments.texi: Document MULTILIB_REUSE.
              * gcc/gcc.c (multilib_reuse): New internal spec.
              (set_multilib_dir): Also search multilib from multilib_reuse.
              * gcc/genmultilib (tmpmultilib3): Refactor code.
              (tmpmultilib4): Ditto.
              (multilib_reuse): New multilib argument.
      
      From-SVN: r195134
      Terry Guo committed
  12. 10 Jan, 2013 1 commit
  13. 07 Jan, 2013 1 commit
    • Support -fuse-ld=bfd and -fuse-ld=gold · b352afba
      	PR driver/55470
      	* collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
      
      	* common.opt: Add fuse-ld=bfd and fuse-ld=gold.
      
      	* gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
      
      	* opts.c (comman_handle_option): Ignore -fuse-ld=bfd and
      	-fuse-ld=gold.
      
      	* doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
      
      Co-Authored-By: Doug Kwan <dougkwan@google.com>
      Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
      Co-Authored-By: Matthias Klose <doko@debian.org>
      
      From-SVN: r194983
      Nick Clifton committed
  14. 03 Jan, 2013 1 commit
    • gcc.c (process_command): Update copyright notice dates. · df8e2b4f
      	* gcc.c (process_command): Update copyright notice dates.
      	* gcov.c (print_version): Likewise.
      	* gcov-dump.c (print_version): Likewise.
      
      	* gfortranspec.c (lang_specific_driver): Update copyright notice
      	dates.
      
      	* jcf-dump.c (version): Update copyright notice dates.
      
      	* mf-runtime.c (__mf_usage): Update copyright notice dates.
      
      	* gnu/java/rmi/registry/RegistryImpl.java (version): Update
      	copyright notice dates.
      	* tools/gnu/classpath/tools/orbd/Main.java (run): Likewise.
      
      	* gnu/gcj/convert/Convert.java (version): Update copyright notice
      	dates.
      	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
      
      From-SVN: r194838
      Jakub Jelinek committed
  15. 22 Nov, 2012 3 commits
    • builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins. · 32b4b7f5
      2012-11-22  Dmitry Vyukov  <dvyukov@google.com>
      	    Wei Mi  <wmi@google.com>
      
      	* builtins.def (DEF_SANITIZER_BUILTIN): Define tsan builtins. 
      	* sanitizer.def: Ditto. 
      	* Makefile.in (tsan.o): Add tsan.o target. 
      	(BUILTINS_DEF): Add sanitizer.def.
      	* passes.c (init_optimization_passes): Add tsan passes.
      	* tree-pass.h (register_pass_info): Ditto.
      	* toplev.c (compile_file): Ditto. 
      	* doc/invoke.texi: Document tsan related options.
      	* gcc.c (LINK_COMMAND_SPEC): Add LIBTSAN_SPEC in link command if
      	-fsanitize=thread.
      	* tsan.c: New file about tsan.
      	* tsan.h: Ditto.
      	* common.opt: Add -fsanitize=thread.
      
      
      Co-Authored-By: Wei Mi <wmi@google.com>
      
      From-SVN: r193736
      Dmitry Vyukov committed
    • Issue an error for -static with fsanitize=address · 10dbfb3e
      	PR sanitizer/55379
      	* gcc.c (LINK_COMMAND_SPEC): Issue an error for -static with
      	-fsanitize=address.
      
      From-SVN: r193728
      H.J. Lu committed
    • Add STATIC_LIBASAN_LIBS for -static-libasan · 03d670c8
      	* gcc.c (ADD_STATIC_LIBASAN_LIBS): New macro.  Defined
      	with STATIC_LIBASAN_LIBS.
      	(LIBASAN_SPEC): Add STATIC_LIBASAN_LIBS.
      	* config/gnu-user.h (STATIC_LIBASAN_LIBS): New macro.
      
      From-SVN: r193725
      H.J. Lu committed
  16. 21 Nov, 2012 1 commit
    • common.opt: Change faddress-sanitizer to fsanitize=address. · dde19676
      	* common.opt: Change faddress-sanitizer to fsanitize=address.
      	* toplev.c (process_options): Likewise.
      	* gcc.c (LINK_COMMAND_SPEC): Likewise.
      	* testsuite/lib/asan-dg.exp
      	(check_effective_target_faddress_sanitizer): Likewise.
      	(asan_init): Likewise.
      	* doc/invoke.texi (-fsanitize=address): Document.
      
      From-SVN: r193702
      Wei Mi committed
  17. 18 Nov, 2012 1 commit
    • This patch rewrites the old VEC macro-based interface into a new one based on… · 9771b263
      This patch rewrites the old VEC macro-based interface into a new one based on the template class 'vec'.
      
      This patch rewrites the old VEC macro-based interface into a new one
      based on the template class 'vec'.  The user-visible changes are
      described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec.
      
      I have tested the patch pretty extensively:
      
      - Regular bootstraps on x86_64, ppc, ia64, sparc and hppa.
      - Bootstraps with --enable-checking=release
      - Bootstraps with --enable-checking=gc,gcac
      - Basic builds on all targets (using contrib/config-list.mk).
      
      We no longer access the vectors via VEC_* macros.  The pattern is
      "VEC_operation (T, A, V, args)" becomes "V.operation (args)".
      
      The only thing I could not do is create proper ctors and dtors for the
      vec class.  Since these vectors are stored in unions, we
      have to keep them as PODs (C++03 does not allow non-PODs in unions).
      
      This means that creation and destruction must be explicit.  There is a
      new method vec<type, allocation, layout>::create() and another vec<type,
      allocation, layout>::destroy() to allocate the internal vector.
      
      For vectors that must be pointers, there is a family of free functions
      that implement the operations that need to tolerate NULL vectors.
      These functions all start with the prefix 'vec_safe_'.  See the wiki
      page for details.
      
      The gengtype change removes the special handling for VEC() that used
      to exist in gengtype. Additionally, it allows gengtype to recognize
      templates of more than one argument and introduces the concept of an
      undefined type (useful for template arguments that may or may not be
      types).
      
      When a TYPE_UNDEFINED is reached, gengtype will ignore it if it
      happens inside a type marked with GTY((user)).  Otherwise, it will
      emit an error.
      
      Finally, gengtype rejects root types marked GTY((user)) that are not
      first class pointers.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* vec.c (register_overhead): Convert it into
      	member function of vec_prefix.
      	(release_overhead): Likewise.
      	(calculate_allocation): Likewise.
      	(vec_heap_free): Remove.
      	(vec_gc_o_reserve_1): Remove.
      	(vec_heap_o_reserve_1): Remove.
      	(vec_stack_o_reserve_1): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(register_stack_vec): New.
      	(stack_vec_register_index): New.
      	(unregister_stack_vec): New.
      	(vec_assert_fail): Remove.
      	* vec.h: Conditionally include ggc.h.  Document conditional
      	hackery.
      	Update top-level documentation.
      	(ALONE_VEC_CHECK_INFO): Remove.
      	(VEC_CHECK_INFO): Remove.
      	(ALONE_VEC_CHECK_DECL): Remove.
      	(VEC_CHECK_DECL): Remove.
      	(ALONE_VEC_CHECK_PASS): Remove.
      	(VEC_CHECK_PASS): Remove.
      	(VEC_ASSERT): Remove.
      	(vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and
      	va_stack.
      	Mark fields alloc_ and num_ as protected.
      	(struct vec_t): Remove.  Remove all function members.
      	(struct vl_embed): Declare.
      	(struct vl_ptr): Declare.
      	(free): Remove.
      	(reserve_exact): Remove.
      	(reserve): Remove.
      	(safe_splice): Remove.
      	(safe_push): Remove.
      	(safe_grow): Remove.
      	(safe_grow_cleared): Remove.
      	(safe_insert): Remove.
      	(DEF_VEC_I): Remove.
      	(DEF_VEC_ALLOC_I): Remove.
      	(DEF_VEC_P): Remove.
      	(DEF_VEC_ALLOC_P): Remove.
      	(DEF_VEC_O): Remove.
      	(DEF_VEC_ALLOC_O): Remove.
      	(DEF_VEC_ALLOC_P_STACK): Remove.
      	(DEF_VEC_ALLOC_O_STACK): Remove.
      	(DEF_VEC_ALLOC_I_STACK): Remove.
      	(DEF_VEC_A): Remove.
      	(DEF_VEC_ALLOC_A): Remove.
      	(vec_stack_p_reserve_exact_1): Remove.
      	(vec_stack_o_reserve): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(VEC_length): Remove.
      	(VEC_empty): Remove.
      	(VEC_address): Remove.
      	(vec_address): Remove.
      	(VEC_last): Remove.
      	(VEC_index): Remove.
      	(VEC_iterate): Remove.
      	(VEC_embedded_size): Remove.
      	(VEC_embedded_init): Remove.
      	(VEC_free): Remove.
      	(VEC_copy): Remove.
      	(VEC_space): Remove.
      	(VEC_reserve): Remove.
      	(VEC_reserve_exact): Remove.
      	(VEC_splice): Remove.
      	(VEC_safe_splice): Remove.
      	(VEC_quick_push): Remove.
      	(VEC_safe_push): Remove.
      	(VEC_pop): Remove.
      	(VEC_truncate): Remove.
      	(VEC_safe_grow): Remove.
      	(VEC_replace): Remove.
      	(VEC_quick_insert): Remove.
      	(VEC_safe_insert): Remove.
      	(VEC_ordered_remove): Remove.
      	(VEC_unordered_remove): Remove.
      	(VEC_block_remove): Remove.
      	(VEC_lower_bound): Remove.
      	(VEC_alloc): Remove.
      	(VEC_qsort): Remove.
      
      	(va_heap): Declare.
      	(va_heap::default_layout): New typedef to vl_ptr.
      	(va_heap::reserve): New.
      	(va_heap::release): New.
      	(va_gc): Declare.
      	(va_gc::default_layout): New typedef to vl_embed.
      	(va_gc::reserve): New.
      	(va_gc::release): New.
      	(va_gc_atomic): Declare.  Inherit from va_gc.
      	(va_stack): Declare.
      	(va_stack::default_layout): New typedef to vl_ptr.
      	(va_stack::alloc): New.
      	(va_stack::reserve): New.
      	(va_stack::release): New.
      	(register_stack_vec): Declare.
      	(stack_vec_register_index): Declare.
      	(unregister_stack_vec): Declare.
      
      	(vec<T, A = va_heap, L = typename A::default_layout>): Declare
      	empty vec template.
      	(vec<T, A, vl_embed>): Partial specialization for embedded
      	layout.
      	(vec<T, A, vl_embed>::allocated): New.
      	(vec<T, A, vl_embed>::length): New.
      	(vec<T, A, vl_embed>::is_empty): New.
      	(vec<T, A, vl_embed>::address): New.
      	(vec<T, A, vl_embed>::operator[]): New.
      	(vec<T, A, vl_embed>::last New.
      	(vec<T, A, vl_embed>::space): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::iterate): New.
      	(vec<T, A, vl_embed>::copy): New.
      	(vec<T, A, vl_embed>::splice): New.
      	(vec<T, A, vl_embed>::quick_push New.
      	(vec<T, A, vl_embed>::pop New.
      	(vec<T, A, vl_embed>::truncate): New.
      	(vec<T, A, vl_embed>::quick_insert): New.
      	(vec<T, A, vl_embed>::ordered_remove): New.
      	(vec<T, A, vl_embed>::unordered_remove): New.
      	(vec<T, A, vl_embed>::block_remove): New.
      	(vec<T, A, vl_embed>::qsort): New.
      	(vec<T, A, vl_embed>::lower_bound): New.
      	(vec<T, A, vl_embed>::embedded_size): New.
      	(vec<T, A, vl_embed>::embedded_init): New.
      	(vec<T, A, vl_embed>::quick_grow): New.
      	(vec<T, A, vl_embed>::quick_grow_cleared): New.
      	(vec_safe_space): New.
      	(vec_safe_length): New.
      	(vec_safe_address): New.
      	(vec_safe_is_empty): New.
      	(vec_safe_reserve): New.
      	(vec_safe_reserve_exact): New.
      	(vec_alloc): New.
      	(vec_free): New.
      	(vec_safe_grow): New.
      	(vec_safe_grow_cleared): New.
      	(vec_safe_iterate): New.
      	(vec_safe_push): New.
      	(vec_safe_insert): New.
      	(vec_safe_truncate): New.
      	(vec_safe_copy): New.
      	(vec_safe_splice): New.
      
      	(vec<T, A, vl_ptr>): New partial specialization for the space
      	efficient layout.
      	(vec<T, A, vl_ptr>::exists): New.
      	(vec<T, A, vl_ptr>::is_empty): New.
      	(vec<T, A, vl_ptr>::length): New.
      	(vec<T, A, vl_ptr>::address): New.
      	(vec<T, A, vl_ptr>::operator[]): New.
      	(vec<T, A, vl_ptr>::operator!=): New.
      	(vec<T, A, vl_ptr>::operator==): New.
      	(vec<T, A, vl_ptr>::last): New.
      	(vec<T, A, vl_ptr>::space): New.
      	(vec<T, A, vl_ptr>::iterate): New.
      	(vec<T, A, vl_ptr>::copy): New.
      	(vec<T, A, vl_ptr>::reserve): New.
      	(vec<T, A, vl_ptr>::reserve_exact): New.
      	(vec<T, A, vl_ptr>::splice): New.
      	(vec<T, A, vl_ptr>::safe_splice): New.
      	(vec<T, A, vl_ptr>::quick_push): New.
      	(vec<T, A, vl_ptr>::safe_push): New.
      	(vec<T, A, vl_ptr>::pop): New.
      	(vec<T, A, vl_ptr>::truncate): New.
      	(vec<T, A, vl_ptr>::safe_grow): New.
      	(vec<T, A, vl_ptr>::safe_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_grow): New.
      	(vec<T, A, vl_ptr>::quick_grow_cleared): New.
      	(vec<T, A, vl_ptr>::quick_insert): New.
      	(vec<T, A, vl_ptr>::safe_insert): New.
      	(vec<T, A, vl_ptr>::ordered_remove): New.
      	(vec<T, A, vl_ptr>::unordered_remove): New.
      	(vec<T, A, vl_ptr>::block_remove): New.
      	(vec<T, A, vl_ptr>::qsort): New.
      	(vec<T, A, vl_ptr>::lower_bound): New.
      	(vec_stack_alloc): Define.
      	(FOR_EACH_VEC_SAFE_ELT): Define.
      	* vecir.h: Remove.  Update all users.
      	* vecprim.h: Remove.  Update all users.
      	Move uchar to coretypes.h.
      
      	* Makefile.in (VEC_H): Add $(GGC_H).
      	Remove vecir.h and vecprim.h dependencies everywhere.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	* gengtype-lex.l (VEC): Remove.
      	Add characters in the set [\!\>\.-].
      	* gengtype-parse.c (token_names): Remove "VEC".
      	(require_template_declaration): Remove handling of VEC_TOKEN.
      	(type): Likewise.
      	Call create_user_defined_type when parsing GTY((user)).
      	* gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED.
      	(write_state_undefined_type): New.
      	(write_state_type): Call write_state_undefined_type for
      	TYPE_UNDEFINED.
      	(read_state_type): Call read_state_undefined_type for
      	TYPE_UNDEFINED.
      	* gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED.
      	(create_user_defined_type): Make extern.
      	(type_for_name): Factor out of resolve_typedef.
      	(create_undefined_type): New
      	(resolve_typedef): Call it when we cannot find a previous
      	typedef and the type is not a template.
      	(find_structure): Accept TYPE_UNDEFINED.
      	(set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES,
      	default to false.
      	Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or
      	ALLOWED_UNDEFINED_TYPES is set.
      	Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT.
      	(filter_type_name): Accept templates with more than one
      	argument.
      	(output_mangled_typename): Handle TYPE_UNDEFINED
      	(walk_type): Likewise.
      	(write_types_process_field): Likewise.
      	(write_func_for_structure): If CHAIN_NEXT is set, ORIG_S
      	should not be a user-defined type.
      	(write_types_local_user_process_field): Handle TYPE_ARRAY,
      	TYPE_NONE and TYPE_UNDEFINED.
      	(write_types_local_process_field): Likewise.
      	(contains_scalar_p): Return 0 for TYPE_USER_STRUCT.
      	(write_root): Reject user-defined types that are not pointers.
      	Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT
      	and TYPE_PARAM_STRUCT.
      	(output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and
      	TYPE_ARRAY.
      	(dump_typekind): Handle TYPE_UNDEFINED.
      	* gengtype.h (enum typekind): Add TYPE_UNDEFINED.
      	(create_user_defined_type): Declare.
      	(enum gty_token): Remove VEC_TOKEN.
      
      2012-11-16  Diego Novillo  <dnovillo@google.com>
      
      	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
      
      	* coretypes.h (uchar): Define.
      	* alias.c: Use new vec API in vec.h.
      	* asan.c: Likewise.
      	* attribs.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* builtins.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgcleanup.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphclones.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* combine.c: Likewise.
      	* compare-elim.c: Likewise.
      	* coverage.c: Likewise.
      	* cprop.c: Likewise.
      	* data-streamer.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* domwalk.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2cfi.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarf2out.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genextract.c: Likewise.
      	* genopinit.c: Likewise
      	* ggc-common.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-ssa-strength-reduction.c: Likewise.
      	* gimple-streamer-in.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graph.c: Likewise.
      	* graphds.c: Likewise.
      	* graphds.h: Likewise.
      	* graphite-blocking.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* graphite-dependences.c: Likewise.
      	* graphite-interchange.c: Likewise.
      	* graphite-optimize-isl.c: Likewise.
      	* graphite-poly.c: Likewise.
      	* graphite-poly.h: Likewise.
      	* graphite-scop-detection.c: Likewise.
      	* graphite-scop-detection.h: Likewise.
      	* graphite-sese-to-poly.c: Likewise.
      	* graphite.c: Likewise.
      	* godump.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* hw-doloop.c: Likewise.
      	* hw-doloop.h: Likewise.
      	* ifcvt.c: Likewise.
      	* insn-addr.h: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline-analysis.c: Likewise.
      	* ipa-inline-transform.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-inline.h: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-prop.h: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-ref-inline.h: Likewise.
      	* ipa-ref.c: Likewise.
      	* ipa-ref.h: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-split.c: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lra-lives.c: Likewise.
      	* lra.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* mcf.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omp-low.c: Likewise.
      	* opts-common.c: Likewise.
      	* opts-global.c: Likewise.
      	* opts.c: Likewise.
      	* opts.h: Likewise.
      	* passes.c: Likewise.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* profile.h: Likewise.
      	* read-rtl.c: Likewise.
      	* ree.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regrename.c: Likewise.
      	* regrename.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* rtl.h: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-int.h: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* statistics.h: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* trans-mem.c: Likewise.
      	* tree-browser.c: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-diagnostic.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-emutls.c: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-iterator.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-sra.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sccvn.h: Likewise.
      	* tree-ssa-strlen.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-tail-merge.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa-uninit.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-stdarg.c: Likewise.
      	* tree-streamer-in.c: Likewise.
      	* tree-streamer-out.c: Likewise.
      	* tree-streamer.c: Likewise.
      	* tree-streamer.h: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vmsdbgout.c: Likewise.
      	* config/bfin/bfin.c: Likewise.
      	* config/c6x/c6x.c: Likewise.
      	* config/darwin.c: Likewise.
      	* config/i386/i386.c: Likewise.
      	* config/ia64/ia64.c: Likewise.
      	* config/mep/mep.c: Likewise.
      	* config/mips/mips.c: Likewise.
      	* config/pa/pa.c: Likewise.
      	* config/rs6000/rs6000-c.c: Likewise.
      	* config/rs6000/rs6000.c: Likewise.
      	* config/rx/rx.c: Likewise.
      	* config/spu/spu-c.c: Likewise.
      	* config/vms/vms.c: Likewise.
      	* config/vxworks.c: Likewise.
      	* config/epiphany/resolve-sw-modes.c: Likewise.
      
      From-SVN: r193595
      Diego Novillo committed
  18. 17 Nov, 2012 1 commit
  19. 14 Nov, 2012 1 commit
    • invoke.texi: Document -print-multiarch. · e0cdc09f
      2012-11-14  Matthias Klose  <doko@ubuntu.com>
      
              * doc/invoke.texi: Document -print-multiarch.
              * doc/install.texi: Document --enable-multiarch.
              * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
              * configure.ac: Add --enable-multiarch option.
              * configure: Regenerate.
              * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
              enable_multiarch, with_float: New macros.
              if_multiarch: New macro, define in terms of enable_multiarch.
              * genmultilib: Add new argument for the multiarch name.
              * gcc.c (multiarch_dir): Define.
              (for_each_path): Search for multiarch suffixes.
              (driver_handle_option): Handle multiarch option.
              (do_spec_1): Pass -imultiarch if defined.
              (main): Print multiarch.
              (set_multilib_dir): Separate multilib and multiarch names
              from multilib_select.
              (print_multilib_info): Ignore multiarch names in multilib_select.
              * incpath.c (add_standard_paths): Search the multiarch include dirs.
              * cppdefault.h (default_include): Document multiarch in multilib
              member.
              * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
              include directory for multiarch directories.
              * common.opt: New options --print-multiarch and -imultilib.
              * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
              Include i386/t-linux.
              <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
              Include i386/t-kfreebsd.
              <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
              * config/i386/t-linux64: Add multiarch names in
              MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
              * config/i386/t-gnu: New file.
              * config/i386/t-kfreebsd: Likewise.
              * config/i386/t-linux: Likewise.
      
      From-SVN: r193508
      Matthias Klose committed
  20. 12 Nov, 2012 1 commit
    • Import the asan runtime library into GCC tree · f35db108
      This patch imports the runtime library in the GCC tree, ensures that
      -lasan is passed to the linker when -faddress-sanitizer is used and
      sets up the build system accordingly.
      
      ChangeLog:
      
      	* configure.ac: Add libsanitizer to target_libraries.
      	* Makefile.def: Ditto.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      	* libsanitizer: New directory for asan runtime.  Contains an empty
      	tsan directory.
      
      gcc/ChangeLog:
      
      	* gcc.c (LINK_COMMAND_SPEC): Add -laddress-sanitizer to link
      	command if -faddress-sanitizer is on.
      
      libsanitizer:
      
      	Initial checkin: migrate asan runtime from llvm.
      
      From-SVN: r193441
      Wei Mi committed
  21. 08 Nov, 2012 1 commit
  22. 06 Nov, 2012 1 commit
    • common.opt (gno-split-dwarf, [...]): New switches. · 99ea153e
      gcc/ChangeLog
      
      2012-11-06  Sterling Augustine <saugustine@google.com>
                  Cary Coutant <ccoutant@google.com>
      
      	* common.opt (gno-split-dwarf, gsplit-dwarf): New switches.
      	* doc/invoke.texi (Debugging Options): Document them.
      	* gcc.c (replace_extension_spec_func):  New function.
      	(ASM_FINAL_SPEC): Adjust.
      	(static_spec_functions): Add new field for replace-extension.
      	(check_live_switch): Adjust comment.  Add case for 'g'.
      	* opts.c (finish_options): Set x_debug_generate_pub_sections based on
      	x_dwarf_split_debug_info.
      	(common_handle_option): Add case for OPT_gsplit_dwarf.
      	* dwarf2out.h (addr_table_entry_struct): Add forward declaration.
      	(dw_val_struct): Add val_entry pointer.
      	* dwarf2out.c: (debug_skeleton_info_section,
      	debug_skeleton_abbrev_section, debug_addr_section,
      	debug_skeleton_line_section, debug_str_offsets_section): New globals.
      	(NOT_INDEXED, NO_INDEX_ASSIGNED): New defines.
      	(indirect_string_node): New field index.
      	(ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel,
      	ate_kind_label.
      	(addr_table_entry): New structure and type.
      	(dw_loc_list_struct): Add field begin_entry.
      	(new_loc_desc): Initialize val_entry.
      	(size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
      	Add cases for DW_OP_GNU_addr_index and DW_OP_const_index.
      	(build_cfa_loc): Initialize val_entry.
      	(AT_index, add_addr_table_entry, remove_addr_table_entry,
      	add_AT_lbl_id): New functions.
      	(add_AT_addr, add_AT_range_list): New parameter force_direct.
      	(output_die_abbrevs): New function.
      	(add_ranges_by_labels): New parameter force_direct.
      	(output_line_info): New parameter prologue_only.
      	(dtprel_bool): New enum with dtprel_false and dtprel_true.
      	(dw_addr_op, new_addr_loc_descr): New functions.
      	(DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION,
      	DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION,
      	DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION,
      	DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION,
      	DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION,
      	DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION,
      	DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION,
      	DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION,
      	DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL,
      	DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL
      	DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros.
      	(DEBUG_STR_SECTION_FLAGS): Adjust.
      	(TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL,
      	DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL,
      	DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL,
      	DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL,
      	DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust
      	indentation.
      	(debug_skeleton_abbrev_section_label, debug_addr_section_label,
      	debug_skeleton_line_section_label, debug_skeleton_info_section_label):
      	New global variables.
      	(add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec,
      	add_AT_data8): Initialize val_entry.
      	(add_AT_low_high_pc): New parameter force_direct. Handle
      	dwarf_split_debug_info.
      	(set_indirect_string, find_AT_string_form): New functions.
      	(AT_string_form): Adjust to call find_AT_string_from.
      	(add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list):
      	Initialize val_entry.
      	(addr_index_table): New global variable.
      	(addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry,
      	init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry,
      	remove_loc_list_addr_table_entries): New functions.
      	(add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter
      	force_direct.  Handle dwarf_split_debug_info.
      	(add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr,
      	add_AT_offset): Initialize val_entry.
      	(UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines.
      	(size_of_die): Handle dwarf_split_debug_info.
      	(size_of_aranges, value_format): Call AT_class.  Check AT_index.
      	(output_die_abbrevs): New function.
      	(output_abbrev_section): Call output_die_abbrevs.
      	(new_loc_list): Initialize begin_entry.
      	(output_loc_list): Handle dwarf_split_debug_info.
      	(output_range_list_offset, output_loc_list_offset,
      	output_attr_index_or_value, ): New functions.
      	(output_die): Fix call to dw2_asm_output_data.  Call
      	output_attr_index_or_value and output_range_list_offset.
      	Adjust logic around dw_val_class_str.
      	(add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit,
      	output_skeleton_debug_sections): New functions.
      	(output_comdat_type_unit, output_pubname, output_aranges): Handle
      	dwarf_split_debug_info.
      	(add_ranges_by_labels): New parameter force_direct.
      	(mem_loc_descriptor, loc_descr): Call new_addr_loc_descr.
      	(loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in
      	place of generic integer.
      	(dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die,
      	gen_call_site_die, gen_subprogram_die, gen_variable_die,
      	add_high_low_attributes): Adjust calls to add_AT_lbl_id.
      	(output_macinfo_op): Adjust indirect_string_logic.
      	(save_macinfo_strings): New function.
      	(output_macinfo): Adjust.
      	(dwarf2out_init): Handle dwarf_split_debug_info.
      	(index_string, output_index_string_offset, output_index_string): New
      	functions.
      	(output_indirect_string): Adjust.
      	(output_indirect_strings, output_addr_table_entry, output_addr_table):
      	New functions.
      	(resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index
      	and DW_OP_GNU_const_index.  Handle dwarf_split_debug_info.  Call
      	remove_loc_list_addr_table_entries and remove_addr_table_entry.
      	(index_location_lists): New function.
      	(dwarf2out_finish): Handle dwarf_split_debug_info.  New variable
      	main_comp_unit_die.  Adjust calls to add_AT_low_high_pc,
      	add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call
      	save_macinfo_strings and output_indirect_strings.
      
      include/ChangeLog
      
      2012-10-29  Sterling Augustine <saugustine@google.com>
                  Cary Coutant <ccoutant@google.com>
      
      	* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
      	DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
      	DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.
      
      
      
      
      Co-Authored-By: Cary Coutant <ccoutant@google.com>
      
      From-SVN: r193267
      Sterling Augustine committed
  23. 04 Oct, 2012 1 commit
  24. 11 Sep, 2012 1 commit
    • Remove unnecessary VEC function overloads. · f32682ca
      Several VEC member functions that accept an element 'T' used to have
      two overloads: one taking 'T', the second taking 'T *'.
      
      This used to be needed because of the interface dichotomy between
      vectors of objects and vectors of pointers.  In the past, vectors of
      pointers would use pass-by-value semantics, but vectors of objects
      would use pass-by-reference semantics.  This is no longer necessary,
      but the distinction had remained.
      
      The main side-effect of this change is some code reduction in code
      that manipulates vectors of objects.  For instance,
      
      -  struct iterator_use *iuse;
      -
      -  iuse = VEC_safe_push (iterator_use, heap, iterator_uses, NULL);
      -  iuse->iterator = iterator;
      -  iuse->ptr = ptr;
      +  struct iterator_use iuse = {iterator, ptr};
      +  VEC_safe_push (iterator_use, heap, iterator_uses, iuse);
      
      Compile time performance was not affected.
      
      Tested on x86_64 and ppc64.
      
      Also built all-gcc on all targets using VEC routines: arm, bfin, c6x,
      epiphany, ia64, mips, sh, spu, and vms.
      
      2012-09-10  Diego Novillo  <dnovillo@google.com>
      
      	* vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
      	Update all users.
      	(vec_t::safe_push): Likewise.
      	(vec_t::quick_insert): Likewise.
      	(vec_t::lower_bound): Likewise.
      	(vec_t::safe_insert): Likewise.
      	(vec_t::replace): Change second argument to 'T &'.
      
      From-SVN: r191165
      Diego Novillo committed
  25. 03 Sep, 2012 1 commit
  26. 15 Aug, 2012 1 commit
    • backport: As described in http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html... · 0823efed
      Merge from cxx-conversion branch (http://gcc.gnu.org/wiki/cxx-conversion).
      
      As described in http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html, this patch
      changes the default bootstrap process so that stage 1 always builds with a C++
      compiler.
      
      Other than the bootstrap change, the patch makes no functional changes to the
      compiler.  Everything should build as it does now in trunk.  The main
      changes in this patch are:
      
      1- Configuration changes.
      2- Re-write of VEC.
      3- Re-write of gengtype to support C++ templates and
         user-provided marking functions.
      4- New hash table class.
      5- Re-write double_int.
      6- Implement tree macros as inline functions so they can be
         called from gdb.
      
      As discussed before, several of these changes do not fully change
      the call sites to use the new APIs.
      
      The bootstrap changes have already been tested on a wide range of
      targets (http://gcc.gnu.org/wiki/CppBuildStatus).  Additionally,
      I have tested the merged trunk on: x86_64-unknown-linux-gnu,
      mips64el-unknown-linux-gnu, powerpc64-unknown-linux-gnu,
      i686-pc-linux-gnu, and ia64-unknown-linux-gnu.
      
      ChangeLog
      2012-08-14   Diego Novillo  <dnovillo@google.com>
      
      	Merge from cxx-conversion branch.
      
      	* Makefile.tpl (STAGE[+id+]_CXXFLAGS): Remove
      	POSTSTAGE1_CONFIGURE_FLAGS.
      	* Makefile.in: Regenerate.
      	* configure.ac (ENABLE_BUILD_WITH_CXX): Remove.  Update all users.
      	Force C++ when bootstrapping.
      	* configure: Regenerate.
      
      
      libcpp/ChangeLog
      2012-08-14   Diego Novillo  <dnovillo@google.com>
      
      	Merge from cxx-conversion branch.  Configury.
      
      	* Makefile.in: Remove all handlers of ENABLE_BUILD_WITH_CXX.
      	* configure.ac: Likewise.
      	* configure: Regenerate.
      
      2012-08-14   Lawrence Crowl  <crowl@google.com>
      
      	Merge from cxx-conversion branch.  New C++ hash table.
      
      	* include/symtab.h (typedef struct ht hash_table): Change the typedef
      	name to cpp_hash_table.  Update all users of the typedef.
      
      gcc/ChangeLog
      2012-08-14   Diego Novillo  <dnovillo@google.com>
      
      	Merge from cxx-conversion branch.  Configury.
      
      	* configure.ac (CXX_FOR_BUILD): Define and substitute.
      	(BUILD_CXXFLAGS): Define.
      	Remove all handlers of ENABLE_BUILD_WITH_CXX.
      	Force all build to be with C++.
      	* Makefile.in (BUILD_CXXFLAGS): Use it.
      	Remove all handlers of ENABLE_BUILD_WITH_CXX.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* doc/install.texi: Remove documentation for --enable-build-with-cxx
      	and --enable-build-poststage1-with-cxx.
      
      2012-08-14   Diego Novillo  <dnovillo@google.com>
      
      	Merge from cxx-conversion branch.  Re-implement VEC in C++.
      
      	* vec.c (vec_heap_free): Convert into a template function.
      	(vec_gc_o_reserve_1): Make extern.
      	(vec_gc_p_reserve): Remove.
      	(vec_gc_p_reserve_exact): Remove.
      	(vec_gc_o_reserve): Remove.
      	(vec_gc_o_reserve_exact): Remove.
      	(vec_heap_o_reserve_1): Make extern.
      	(vec_heap_p_reserve): Remove.
      	(vec_heap_p_reserve_exact): Remove.
      	(vec_heap_o_reserve): Remove.
      	(vec_heap_o_reserve_exact): Remove.
      	(vec_stack_p_reserve): Remove.
      	(vec_stack_p_reserve_exact): Remove.
      	* vec.h (VEC_CHECK_INFO, VEC_CHECK_DECL, VEC_CHECK_PASS,
      	VEC_ASSERT, VEC_ASSERT_FAIL, vec_assert_fail): Move earlier
      	in the file.
      	(VEC): Define to vec_t<T>.
      	(vec_allocation_t): Define.
      	(struct vec_prefix): Move earlier in the file.
      	(vec_t<T>): New template.
      	(DEF_VEC_I, DEF_VECL_ALLOC_I, DEF_VEC_P, DEF_VEC_ALLOC_P,
      	DEF_VEC_O, DEF_VEC_ALLOC_P, DEF_VEC_O, DEF_VEC_ALLOC_O,
      	DEF_VEC_ALLOC_P_STACK, DEF_VEC_ALLOC_O_STACK,
      	DEF_VEC_ALLOC_I_STACK): Expand to 'struct vec_swallow_trailing_semi'.
      	(DEF_VEC_A): Provide template instantiations for
      	GC/PCH markers that do not traverse the vector.
      	(vec_stack_p_reserve): Remove.
      	(vec_stack_p_reserve_exact): Remove.
      	(vec_stack_p_reserve_exact_1): Remove.
      	(vec_stack_o_reserve): Remove.
      	(vec_stack_o_reserve_exact): Remove.
      	(vec_stack_free): Re-write as a template function.
      	(vec_reserve): New template function.
      	(vec_reserve_exact): New template function.
      	(vec_heap_free): New template function if GATHER_STATISTICS is
      	defined.  Otherwise, macro that expands to free().
      	(VEC_length_1): New template function.
      	(VEC_length): Call it.
      	(VEC_empty_1): New template function.
      	(VEC_empty): Call it.
      	(VEC_address_1): New template function.
      	(VEC_address): Call it.
      	(VEC_last_1): New template function.
      	(VEC_last): Call it.  Change return type to T&.
      	Change all users that used VEC_Os.
      	(VEC_index_1): New template function.
      	(VEC_index): Call it.  Return a T& instead of a T*.
      	Update all callers that were using VEC_O before.
      	(VEC_iterate_1): New template function.
      	(VEC_iterate): Call it.
      	(VEC_embedded_size_1): New template function.
      	(VEC_embedded_size): Call it.
      	(VEC_embedded_init_1): New template function.
      	(VEC_embedded_init): Call it.
      	(VEC_alloc_1): New template function.
      	(VEC_alloc): Call it.  If A is 'stack', call XALLOCAVAR to
      	do the allocation.
      	(VEC_free_1): New template function.
      	(VEC_free): Call it.
      	(VEC_copy_1): New template function.
      	(VEC_copy): Call it.
      	(VEC_space_1): New template function
      	(VEC_space): Call it.
      	(VEC_reserve_1): New template function.
      	(VEC_reserve): Call it.
      	(VEC_reserve_exact_1): New template function.
      	(VEC_reserve_exact): Call it.
      	(VEC_splice_1): New template function.
      	(VEC_splice): Call it.
      	(VEC_safe_splice_1): New template function.
      	(VEC_safe_splice): Call it.
      	(VEC_quick_push_1): New template function.  Create two overloads, one
      	accepting T, the other accepting T *.  Update all callers
      	where T and T * are ambiguous.
      	(VEC_quick_push): Call it.
      	(VEC_safe_push_1): New template function. Create two overloads, one
      	accepting T, the other accepting T *.  Update all callers
      	where T and T * are ambiguous.
      	(VEC_safe_push): Call it.
      	(VEC_pop_1): New template function.
      	(VEC_pop): Call it.
      	(VEC_truncate_1): New template function.
      	(VEC_truncate): Call it.
      	(VEC_safe_grow_1): New template function.
      	(VEC_safe_grow): Call it.
      	(VEC_safe_grow_cleared_1): New template function.
      	(VEC_safe_grow_cleared): Call it.
      	(VEC_replace_1): New template function.
      	(VEC_replace): Call it.  Always accept T instead of T*.
      	Update all callers that used VEC_Os.
      	(VEC_quick_insert_1): New template function.
      	(VEC_quick_insert): Call it.
      	(VEC_safe_insert_1): New template function.
      	(VEC_safe_insert): Call it.
      	(VEC_ordered_remove_1): New template function.
      	(VEC_ordered_remove): Call it.
      	(VEC_unordered_remove_1): New template function.
      	(VEC_unordered_remove): Call it.
      	(VEC_block_remove_1): New template function.
      	(VEC_block_remove): Call it.
      	(VEC_lower_bound_1): New template function.
      	(VEC_lower_bound): Call it.
      	(VEC_OP): Remove.
      	(DEF_VEC_FUNC_P): Remove.
      	(DEF_VEC_ALLOC_FUNC_P): Remove.
      	(DEF_VEC_NONALLOC_FUNCS_P): Remove.
      	(DEF_VEC_FUNC_O): Remove.
      	(DEF_VEC_ALLOC_FUNC_O): Remove.
      	(DEF_VEC_NONALLOC_FUNCS_O): Remove.
      	(DEF_VEC_ALLOC_FUNC_I): Remove.
      	(DEF_VEC_NONALLOC_FUNCS_I): Remove.
      	(DEF_VEC_ALLOC_FUNC_P_STACK): Remove.
      	(DEF_VEC_ALLOC_FUNC_O_STACK): Remove.
      	(DEF_VEC_ALLOC_FUNC_I_STACK): Remove.
      	(vec_reserve_exact): New template function.
      
      	* gengtype-lex.l (DEF_VEC_ALLOC_[IOP]/{EOID}): Remove.
      	* gengtype-parse.c (token_names): Remove DEF_VEC_ALLOC_[IOP].
      	(typedef_name): Emit vec_t<C1> instead of VEC_C1_C2.
      	(def_vec_alloc): Remove.  Update all callers.
      	* gengtype.c (filter_type_name): New.
      	(output_mangled_typename): Call it.
      	(write_func_for_structure): Likewise.
      	(write_types): Likewise.
      	(write_root): Likewise.
      	(write_typed_alloc_def): Likewise.
      	(note_def_vec): Emit vec_t<TYPE_NAME> instead of VEC_TYPE_NAME_base.
      	(note_def_vec_alloc): Remove.
      	* gengtype.h (note_def_vec_alloc): Remove.
      	(DEFVEC_ALLOC): Remove token code.
      
      	* df-scan.c (df_bb_verify): Remove call to df_free_collection_rec
      	inside the insn traversal loop.
      	* gimplify.c (gimplify_compound_lval): Rename STACK to EXPR_STACK.
      	* ipa-inline.c (inline_small_functions): Rename HEAP to EDGE_HEAP.
      	* reg-stack.c (stack): Rename to STACK_PTR.  Update all users.
      	* tree-vrp.c (stack): Rename to EQUIV_STACK.  Update all users.
      
      	* config/bfin/bfin.c (hwloop_optimize): Update some calls to
      	VEC_* for vectors of non-pointers.
      	* config/c6x/c6x.c (try_rename_operands): Likewise.
      	(reshuffle_units): Likewise.
      	* config/mips/mips.c (mips_multi_start): Likewise.
      	(mips_multi_add): Likewise.
      	(mips_multi_copy_insn): Likewise.
      	(mips_multi_set_operand): Likewise.
      	* hw-doloop.c (discover_loop): Likewise.
      	(discover_loops): Likewise.
      	(reorg_loops): Likewise.
      
      2012-08-14   Diego Novillo  <dnovillo@google.com>
      
      	Merge from cxx-conversion branch.  C++ support in gengtype.
      
      	* coretypes.h (gt_pointer_operator): Move from ...
      	* ggc.h: ... here.
      	* doc/gty.texi: Document support for C++ templates and
      	user-provided markers.
      	* gcc/gengtype-lex.l: Update copyright year.
      	Remove support for recognizing DEF_VEC_O, DEF_VEC_P and
      	DEFVEC_I.
      	* gengtype-parse.c: Update copyright year.
      	(token_names): Remove DEF_VEC_O, DEF_VEC_P and DEF_VEC_I.
      	(require_template_declaration): New.
      	(typedef_name): Call it.
      	(type): Replace IS_UNION with KIND. Replace all users.
      	(def_vec): Remove.  Update all users.
      	* gengtype-state.c (type_lineloc): Handle TYPE_USER_STRUCT.
      	(write_state_user_struct_type): New.
      	(write_state_type): Call it.
      	(read_state_user_struct_type): New.
      	(read_state_type): Call it.
      	* gengtype.c: Update copyright year.
      	(dump_pair): Move declaration to the top.
      	(dump_type): Likewise.
      	(dump_type_list): Likewise.
      	(dbgprint_count_type_at): Handle TYPE_USER_STRUCT.
      	(create_user_defined_type): New.
      	(resolve_typedef): Call it.
      	(new_structure): Replace argument ISUNION with KIND.
      	Change users to refer to KIND directly.
      	Update all callers.
      	(find_structure): Likewise.
      	(set_gc_used_type): Handle TYPE_USER_STRUCT.
      	(create_file): Update HDR to include new copyright year.
      	(struct walk_type_data): Add field IN_PTR_FIELD.
      	(output_mangled_typename): Handle TYPE_USER_STRUCT.
      	(walk_type): Set D->IN_PTR_FIELD when walking a TYPE_POINTER.
      	Clear it afterwards.
      	Handle TYPE_USER_STRUCT.
      	(write_types_process_field): Handle TYPE_USER_STRUCT.
      	(get_type_specifier): Move earlier in the file.
      	(write_type_decl): New.
      	(write_marker_function_name): New.
      	(write_user_func_for_structure_ptr): New.
      	(write_user_func_for_structure_body): New.
      	(write_user_marking_functions): New.
      	(write_func_for_structure): Call write_marker_function_name
      	and write_type_decl.
      	Do not call walk_type for TYPE_USER_STRUCT. Emit a call to the user
      	function directly.
      	Call write_user_marking_functions on TYPE_USER_STRUCTs.
      	(write_types_local_user_process_field): New.
      	(write_pch_user_walking_for_structure_body): New.
      	(write_pch_user_walking_functions): New.
      	(write_types_local_process_field): Handle TYPE_USER_STRUCT.
      	(write_local_func_for_structure): Do not call walk_type for
      	TYPE_USER_STRUCT. Instead, emit the call to gt_pch_nx directly.
      	Call write_pch_user_walking_functions for TYPE_USER_STRUCTs.
      	(write_root): Handle TYPE_USER_STRUCT.
      	(vec_prefix_type): Remove.  Update all users.
      	(note_def_vec): Remove.  Update all users.
      	(dump_typekind): Handle TYPE_USER_STRUCT.
      	(dump_type): Initialize SEEN_TYPES, if needed.
      	Handle TYPE_USER_STRUCT.
      	(dump_everything): Do not initialize SEEN_TYPES.
      	* gengtype.h: Update copyright year.
      	(enum typekind): Add TYPE_USER_STRUCT.
      	(union_or_struct_p): Rename from UNION_OR_STRUCT_P.
      	Convert into function.
      	Add an overload taking const_type_p.
      	Update all callers.
      	(new_structure): Change second field to type enum typekind.
      	Update all users.
      	(find_structure): Likewise.
      	(note_def_vec): Remove.
      	(DEFVEC_OP): Remove.
      	(DEFVEC_I): Remove.
      	* ggc-page.c (gt_ggc_mx): Add entry points for marking
      	'const char *&', 'unsigned char *&' and 'unsigned char&'.
      	* ggc-zone.c (gt_ggc_mx): Add entry points for marking
      	'const char *&' and 'unsigned char *&'.
      	* stringpool.c (gt_pch_nx): Add entry points for marking
      	'const char *&', 'unsigned char *&' and 'unsigned char&'.
      	Add an entry point for the overload taking arguments 'unsigned char
      	*', 'gt_pointer_operator' and 'void *'.
      	* vec.h (struct vec_prefix): Remove GTY marker.
      	(struct vec_t): Remove GTY((length)) attribute from field 'vec'.
      	(gt_ggc_mx (vec_t<T> *)): New template function.
      	(gt_pch_nx (vec_t<T> *)): New template function.
      	(gt_pch_nx (vec_t<T *> *, gt_pointer_operator, void *)): New template
      	function.
      	(gt_pch_nx (vec_t<T> *, gt_pointer_operator, void *)): New template
      	function.
      
      	* basic-block.h (struct edge_def): Mark GTY((user)).
      	Remove all GTY markers from fields.
      	(gt_ggc_mx): Declare.
      	(gt_pch_nx): Declare.
      	* tree-cfg.c (gt_ggc_mx): New.
      	(gt_pch_nx): New.
      
      	* gengtype-lex.l (USER_GTY): Add pattern for "user".
      	* gengtype-parse.c (option): Handle USER_GTY.
      	(opts_have): New.
      	(type): Call it.
      	If the keyword 'user' is used, do not walk the fields
      	of the structure.
      	* gengtype.h (USER_GTY): Add.
      	* doc/gty.texi: Update.
      
      2012-08-14   Lawrence Crowl  <crowl@google.com>
      
      	Merge cxx-conversion branch.  Implement C++ hash table.
      
      	* hash-table.h: New. Implementation borrowed from libiberty/hashtab.c.
      	* hash-table.c: Likewise.
      	* tree-ssa-tail-merge.c: Include hash-table.h instead of hashtab.h.
      	(static htab_t same_succ_htab): Change type to hash_table;
      	move specification of helper functions from create call to declaration.
      	Change users to invoke member functions.
      	(same_succ_print_traverse): Make extern ssa_.... Change callers.
      	Remove void* casting.
      	(same_succ_hash): Likewise.
      	(same_succ_equal): Likewise.
      	(same_succ_delete): Likewise.
      	* tree-ssa-threadupdate.c: Include hash-table.h.
      	(struct local_info): Rename to ssa_local_info_t to avoid overloading
      	the type name local_info with the variable name local_info.
      	(static htab_t redirection_data): Change type to hash_table.
      	Move specification of helper functions from create call to declaration.
      	Change users to invoke member functions.
      	(redirection_data_hash): Make extern ssa_.... Change callers.
      	Remove void* casting.
      	(redirection_data_eq): Likewise.
      	(fix_duplicate_block_edges): Likewise.
      	(create_duplicates): Likewise.
      	(fixup_template_block): Likewise.
      	(redirect_edges): Likewise.
      	(lookup_redirection_data): Change types associated with the hash table
      	from void* to their actual type. Remove unnecessary casts.
      	* tree-ssa-ccp.c: Include hash-table.h.
      	(typedef gimple_htab): New.  Uses hash_table.  Replace specific uses
      	of htab_t with gimple_htab.  Change users to invoke member functions.
      	Move specification of helper functions from create call to declaration.
      	* tree-ssa-coalesce.c: Include hash-table.h instead of hashtab.h.
      	(hash_ssa_name_by_var): Make extern. Remove void* casting.
      	(eq_ssa_name_by_var): Likewise.
      	(coalesce_ssa_name): Change type of local static htab_t ssa_name_hash
      	to hash_table. Change users to invoke member functions.
      	Move specification of helper functions from create call to declaration.
      	* coverage.c: Include hash-table.h instead of hashtab.h.
      	(static htab_t counts_hash): Change type to hash_table;
      	move specification of helper functions from create call to declaration.
      	Change users to invoke member functions.
      	(htab_counts_entry_hash): Make extern. Rename with coverage_... instead
      	of htab_... Remove void* casting.
      	(htab_counts_entry_eq): Likewise.
      	(htab_counts_entry_del): Likewise.
      	* tree-ssa-pre.c: Include hash-table.h instead of hashtab.h.
      	(static htab_t expression_to_id): Change type to hash_table.
      	Move specification of helper functions from create call to declaration.
      	Change users to invoke member functions.
      	(static htab_t phi_translate_table): Likewise.
      	(pre_expr_eq): Make extern ssa_.... Change callers.
      	Remove void* casting.
      	(pre_expr_hash): Likewise.
      	(expr_pred_trans_hash): Likewise.
      	(expr_pred_trans_eq): Likewise.
      	(alloc_expression_id): Change types associated with the hash table
      	from void* to their actual type. Remove unnecessary casts.
      	(lookup_expression_id): Likewise.
      	(phi_trans_lookup): Likewise.
      	(phi_trans_add): Likewise.
      	* stringpool.c: Rename uses of libcpp typedef hash_table to
      	cpp_hash_table.
      	* Makefile.in: Add hash-table.o to OBJS-libcommon-target.
      	Add $(HASH_TABLE_H). Add new dependences on $(HASH_TABLE_H).
      
      2012-08-14   Lawrence Crowl  <crowl@google.com>
      
      	Merge from cxx-conversion branch.  Re-write double_int in C++.
      
      	* hash-table.h
      	(typedef double_int): Change to struct (POD).
      	(double_int::make): New overloads for int to double-int conversion.
      	(double_int::mask): New.
      	(double_int::max_value): New.
      	(double_int::min_value): New.
      	(double_int::operator ++): New.
      	(double_int::operator --): New.
      	(double_int::operator *=): New.
      	(double_int::operator +=): New.
      	(double_int::operator -=): New.
      	(double_int::to_signed): New.
      	(double_int::to_unsigned): New.
      	(double_int::fits_unsigned): New.
      	(double_int::fits_signed): New.
      	(double_int::fits): New.
      	(double_int::trailing_zeros): New.
      	(double_int::popcount): New.
      	(double_int::multiple_of): New.
      	(double_int::set_bit): New.
      	(double_int::mul_with_sign): New.
      	(double_int::operator * (binary)): New.
      	(double_int::operator + (binary)): New.
      	(double_int::operator - (binary)): New.
      	(double_int::operator - (unary)): New.
      	(double_int::operator ~ (unary)): New.
      	(double_int::operator & (binary)): New.
      	(double_int::operator | (binary)): New.
      	(double_int::operator ^ (binary)): New.
      	(double_int::and_not): New.
      	(double_int::lshift): New.
      	(double_int::rshift): New.
      	(double_int::alshift): New.
      	(double_int::arshift): New.
      	(double_int::llshift): New.
      	(double_int::lrshift): New.
      	(double_int::lrotate): New.
      	(double_int::rrotate): New.
      	(double_int::div): New.
      	(double_int::sdiv): New.
      	(double_int::udiv): New.
      	(double_int::mod): New.
      	(double_int::smod): New.
      	(double_int::umod): New.
      	(double_int::divmod): New.
      	(double_int::sdivmod): New.
      	(double_int::udivmod): New.
      	(double_int::ext): New.
      	(double_int::zext): New.
      	(double_int::sext): New.
      	(double_int::is_zero): New.
      	(double_int::is_one): New.
      	(double_int::is_minus_one): New.
      	(double_int::is_negative): New.
      	(double_int::cmp): New.
      	(double_int::ucmp): New.
      	(double_int::scmp): New.
      	(double_int::ult): New.
      	(double_int::ugt): New.
      	(double_int::slt): New.
      	(double_int::sgt): New.
      	(double_int::max): New.
      	(double_int::smax): New.
      	(double_int::umax): New.
      	(double_int::min): New.
      	(double_int::smin): New.
      	(double_int::umin): New.
      	(double_int::operator ==): New.
      	(double_int::operator !=): New.
      	(shwi_to_double_int): Change implementation to use member function.
      	(double_int_minus_one): Likewise.
      	(double_int_zero): Likewise.
      	(double_int_one): Likewise.
      	(double_int_two): Likewise.
      	(double_int_ten): Likewise.
      	(uhwi_to_double_int): Likewise.
      	(double_int_to_shwi): Likewise.
      	(double_int_to_uhwi): Likewise.
      	(double_int_fits_in_uhwi_p): Likewise.
      	(double_int_fits_in_shwi_p): Likewise.
      	(double_int_fits_in_hwi_p): Likewise.
      	(double_int_mul): Likewise.
      	(double_int_mul_with_sign): Likewise.
      	(double_int_add): Likewise.
      	(double_int_sub): Likewise.
      	(double_int_neg): Likewise.
      	(double_int_div): Likewise.
      	(double_int_sdiv): Likewise.
      	(double_int_udiv): Likewise.
      	(double_int_mod): Likewise.
      	(double_int_smod): Likewise.
      	(double_int_umod): Likewise.
      	(double_int_divmod): Likewise.
      	(double_int_sdivmod): Likewise.
      	(double_int_udivmod): Likewise.
      	(double_int_multiple_of): Likewise.
      	(double_int_setbit): Likewise.
      	(double_int_ctz): Likewise.
      	(double_int_not): Likewise.
      	(double_int_ior): Likewise.
      	(double_int_and): Likewise.
      	(double_int_and_not): Likewise.
      	(double_int_xor): Likewise.
      	(double_int_lshift): Likewise.
      	(double_int_rshift): Likewise.
      	(double_int_lrotate): Likewise.
      	(double_int_rrotate): Likewise.
      	(double_int_cmp): Likewise.
      	(double_int_scmp): Likewise.
      	(double_int_ucmp): Likewise.
      	(double_int_max): Likewise.
      	(double_int_smax): Likewise.
      	(double_int_umax): Likewise.
      	(double_int_min): Likewise.
      	(double_int_smin): Likewise.
      	(double_int_umin): Likewise.
      	(double_int_ext): Likewise.
      	(double_int_sext): Likewise.
      	(double_int_zext): Likewise.
      	(double_int_mask): Likewise.
      	(double_int_max_value): Likewise.
      	(double_int_min_value): Likewise.
      	(double_int_zero_p): Likewise.
      	(double_int_one_p): Likewise.
      	(double_int_minus_one_p): Likewise.
      	(double_int_equal_p): Likewise.
      	(double_int_popcount): Likewise.
      	* hash-table.c
      	(double_int_mask): Reuse implementation for double_int::mask.
      	(double_int_max_value): Likewise.
      	(double_int_min_value): Likewise.
      	(double_int_ext): Likewise.
      	(double_int_zext): Likewise.
      	(double_int_sext): Likewise.
      	(double_int_mul_with_sign): Likewise.
      	(double_int_divmod): Likewise.
      	(double_int_sdivmod): Likewise.
      	(double_int_udivmod): Likewise.
      	(double_int_div): Likewise.
      	(double_int_sdiv): Likewise.
      	(double_int_udiv): Likewise.
      	(double_int_mod): Likewise.
      	(double_int_smod): Likewise.
      	(double_int_umod): Likewise.
      	(double_int_multiple_of): Likewise.
      	(double_int_lshift): Likewise.
      	(double_int_rshift): Likewise.
      	(double_int_lrotate): Likewise.
      	(double_int_rrotate): Likewise.
      	(double_int_cmp): Likewise.
      	(double_int_ucmp): Likewise.
      	(double_int_scmp): Likewise.
      	(double_int_max): Likewise.
      	(double_int_smax): Likewise.
      	(double_int_umax): Likewise.
      	(double_int_min): Likewise.
      	(double_int_smin): Likewise.
      	(double_int_umin): Likewise.
      	(double_int_min): Likewise.
      	(double_int_min): Likewise.
      	(double_int_min): Likewise.
      	(double_int_min): Likewise.
      	(double_int_min): Likewise.
      	(double_int_min): Likewise.
      	(double_int::alshift): New.
      	(double_int::arshift): New.
      	(double_int::llshift): New.
      	(double_int::lrshift): New.
      	(double_int::ult): New.
      	(double_int::ugt): New.
      	(double_int::slt): New.
      	(double_int::sgt): New.
      	(double_int_setbit): Reuse implementation for double_int::set_bit,
      	which avoids a name conflict with a macro.
      	(double_int_double_int_ctz): Reuse implementation for
      	double_int::trailing_zeros.
      	(double_int_fits_in_shwi_p): Reuse implementation for
      	double_int::fits_signed.
      	(double_int_fits_in_hwi_p): Reuse implementation for double_int::fits.
      	(double_int_mul): Reuse implementation for binary
      	double_int::operator *.
      	(double_int_add): Likewise.
      	(double_int_sub): Likewise.
      	(double_int_neg): Reuse implementation for unary
      	double_int::operator -.
      	(double_int_max_value): Likewise.
      	* fixed-value.c: Change to use member functions introduced above.
      
      2012-08-14   Lawrence Crowl  <crowl@google.com>
      
      	Merge cxx-conversion branch.  Support tree macro calling
      	from gdb.
      
      	* tree.h (tree_check): New.
      	(TREE_CHECK): Use inline function above instead of __extension__.
      	(tree_not_check): New.
      	(TREE_NOT_CHECK): Use inline function above instead of __extension__.
      	(tree_check2): New.
      	(TREE_CHECK2): Use inline function above instead of __extension__.
      	(tree_not_check2): New.
      	(TREE_NOT_CHECK2): Use inline function above instead of __extension__.
      	(tree_check3): New.
      	(TREE_CHECK3): Use inline function above instead of __extension__.
      	(tree_not_check3): New.
      	(TREE_NOT_CHECK3): Use inline function above instead of __extension__.
      	(tree_check4): New.
      	(TREE_CHECK4): Use inline function above instead of __extension__.
      	(tree_not_check4): New.
      	(TREE_NOT_CHECK4): Use inline function above instead of __extension__.
      	(tree_check5): New.
      	(TREE_CHECK5): Use inline function above instead of __extension__.
      	(tree_not_check5): New.
      	(TREE_NOT_CHECK5): Use inline function above instead of __extension__.
      	(contains_struct_check): New.
      	(CONTAINS_STRUCT_CHECK): Use inline function above instead of
      	__extension__.
      	(tree_class_check): New.
      	(TREE_CLASS_CHECK): Use inline function above instead of __extension__.
      	(tree_range_check): New.
      	(TREE_RANGE_CHECK): Use inline function above instead of __extension__.
      	(omp_clause_subcode_check): New.
      	(OMP_CLAUSE_SUBCODE_CHECK): Use inline function above instead of
      	__extension__.
      	(omp_clause_range_check): New.
      	(OMP_CLAUSE_RANGE_CHECK): Use inline function above instead of
      	__extension__.
      	(expr_check): New.
      	(EXPR_CHECK): Use inline function above instead of __extension__.
      	(non_type_check): New.
      	(NON_TYPE_CHECK): Use inline function above instead of __extension__.
      	(tree_vec_elt_check): New.
      	(TREE_VEC_ELT_CHECK): Use inline function above instead of
      	__extension__.
      	(omp_clause_elt_check): New.
      	(OMP_CLAUSE_ELT_CHECK): Use inline function above instead of
      	__extension__.
      	(tree_operand_check): New.
      	(TREE_OPERAND_CHECK): Use inline function above instead of
      	__extension__.
      	(tree_operand_check_code): New.
      	(TREE_OPERAND_CHECK_CODE): Use inline function above instead of
      	__extension__.
      	(TREE_CHAIN): Simplify implementation.
      	(TREE_TYPE): Simplify implementation.
      	(tree_operand_length): Move for compilation dependences.
      	* gdbinit.in: (macro define __FILE__): New.
      	(macro define __LINE__): New.
      	(skip "tree.h"): New.
      
      gcc/cp/ChangeLog
      2012-08-14   Diego Novillo  <dnovillo@google.com>
      
      	Merge from cxx-conversion branch.  Re-write VEC in C++.
      
      	* call.c (add_function_candidate): Remove const qualifier
      	from call to VEC_index.
      
      2012-08-14   Diego Novillo  <dnovillo@google.com>
      
      	Merge from cxx-conversion branch.  Configury.
      
      	* go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
      	* go-gcc.cc: Likewise.
      	* go-system.h: Likewise.
      
      From-SVN: r190402
      Diego Novillo committed
  27. 27 Jul, 2012 1 commit
  28. 01 Jun, 2012 1 commit
    • Allow --specs options. · d168aaee
      2012-05-30  Christian Bruel  <christian.bruel@st.com>
      
      	* gcc.c (save_switch): Add user_p parameter.
      	(read_specs): Likewise.
      	(set_specs): Likewise.
      	(validate_switches): Likewise.
      	(validate_switches_from_spec): Likewise.
      	(validate_all_switches): Pass on user_p parameter.
      	(struct spec_list): Add user_p field.
      	(struct switchstr): Add known field.
      	(save_switch): Add known parameter.
      	(INIT_STATIC_SPEC): Initialize user_p;
      	(driver_unknown_option_callbac): call save_switch if
      	OPT_SPECIAL_unknown.
      	(driver_handle_option): Propagate OPT_specs.
      	(do_spec_1): Set validated only if known.
      	(check_live_switch): Likewise.
      	(validate_switches): Set validated if known or user_spec.
      
      From-SVN: r188102
      Christian Bruel committed
  29. 29 May, 2012 1 commit
    • LANGUAGES: Fix typos. · 073a8998
      	* LANGUAGES: Fix typos.
      	* Makefile.in: Fix typos.
      	* alias.c: Fix typos.
      	* auto-inc-dec.c: Fix typos.
      	* bb-reorder.c: Fix typos.
      	* cfgcleanup.c: Fix typos.
      	* cgraph.c: Fix typos.
      	* cgraph.h: Fix typos.
      	* cgraphunit.c: Fix typos.
      	* collect2-aix.h: Fix typos.
      	* collect2.c: Fix typos.
      	* compare-elim.c: Fix typos.
      	* config/alpha/vms.h: Fix typos.
      	* config/arm/README-interworking: Fix typos.
      	* config/arm/arm.c: Fix typos.
      	* config/arm/iterators.md: Fix typos.
      	* config/arm/vxworks.h: Fix typos.
      	* config/avr/avr.c: Fix typos.
      	* config/avr/avr.h: Fix typos.
      	* config/avr/avr.md: Fix typos.
      	* config/avr/builtins.def: Fix typos.
      	* config/c6x/c6x.c: Fix typos.
      	* config/cr16/cr16.c: Fix typos.
      	* config/cr16/cr16.md: Fix typos.
      	* config/cris/cris.md: Fix typos.
      	* config/darwin.c: Fix typos.
      	* config/darwin.opt: Fix typos.
      	* config/i386/i386-c.c: Fix typos.
      	* config/i386/i386.c: Fix typos.
      	* config/ia64/ia64.c: Fix typos.
      	* config/m68k/cf.md: Fix typos.
      	* config/mep/mep.c: Fix typos.
      	* config/microblaze/microblaze.c: Fix typos.
      	* config/microblaze/microblaze.h: Fix typos.
      	* config/mn10300/mn10300.c: Fix typos.
      	* config/mn10300/mn10300.md: Fix typos.
      	* config/pa/pa.c: Fix typos.
      	* config/picochip/picochip.h: Fix typos.
      	* config/rs6000/a2.md: Fix typos.
      	* config/rs6000/rs6000.c: Fix typos.
      	* config/rs6000/vector.md: Fix typos.
      	* config/rx/rx.md: Fix typos.
      	* config/rx/rx.opt: Fix typos.
      	* config/s390/2097.md: Fix typos.
      	* config/s390/s390.c: Fix typos.
      	* config/s390/s390.h: Fix typos.
      	* config/sh/sh.c: Fix typos.
      	* config/sh/sh.md: Fix typos.
      	* config/sparc/sync.md: Fix typos.
      	* config/spu/spu.c: Fix typos.
      	* config/spu/spu.md: Fix typos.
      	* config/vms/vms.c: Fix typos.
      	* config/vxworks-dummy.h: Fix typos.
      	* config/vxworks.h: Fix typos.
      	* cselib.c: Fix typos.
      	* df-scan.c: Fix typos.
      	* df.h: Fix typos.
      	* doc/extend.texi: Fix typos.
      	* doc/install.texi: Fix typos.
      	* doc/invoke.texi: Fix typos.
      	* doc/md.texi: Fix typos.
      	* doc/plugins.texi: Fix typos.
      	* doc/rtl.texi: Fix typos.
      	* dse.c: Fix typos.
      	* dwarf2asm.c: Fix typos.
      	* dwarf2out.c: Fix typos.
      	* except.h: Fix typos.
      	* expr.c: Fix typos.
      	* fold-const.c: Fix typos.
      	* gcc.c: Fix typos.
      	* gcse.c: Fix typos.
      	* genautomata.c: Fix typos.
      	* gengtype-state.c: Fix typos.
      	* gengtype.c: Fix typos.
      	* genhooks.c: Fix typos.
      	* gimple-fold.c: Fix typos.
      	* gimple-pretty-print.c: Fix typos.
      	* gimple.c: Fix typos.
      	* gimple.h: Fix typos.
      	* gimplify.c: Fix typos.
      	* graphite-interchange.c: Fix typos.
      	* graphite-sese-to-poly.c: Fix typos.
      	* ifcvt.c: Fix typos.
      	* input.c: Fix typos.
      	* ipa-cp.c: Fix typos.
      	* ipa-inline-analysis.c: Fix typos.
      	* ipa-inline-transform.c: Fix typos.
      	* ipa-inline.c: Fix typos.
      	* ipa-pure-const.c: Fix typos.
      	* ipa-ref.h: Fix typos.
      	* ipa-reference.c: Fix typos.
      	* ipa-utils.c: Fix typos.
      	* ipa.c: Fix typos.
      	* ira-emit.c: Fix typos.
      	* ira-lives.c: Fix typos.
      	* lto-streamer.c: Fix typos.
      	* lto-streamer.h: Fix typos.
      	* lto-wrapper.c: Fix typos.
      	* mcf.c: Fix typos.
      	* mode-switching.c: Fix typos.
      	* modulo-sched.c: Fix typos.
      	* plugin.c: Fix typos.
      	* postreload.c: Fix typos.
      	* sched-deps.c: Fix typos.
      	* sel-sched-ir.c: Fix typos.
      	* sel-sched-ir.h: Fix typos.
      	* sel-sched.c: Fix typos.
      	* sese.c: Fix typos.
      	* stor-layout.c: Fix typos.
      	* target-hooks-macros.h: Fix typos.
      	* target.def: Fix typos.
      	* trans-mem.c: Fix typos.
      	* tree-eh.c: Fix typos.
      	* tree-predcom.c: Fix typos.
      	* tree-sra.c: Fix typos.
      	* tree-ssa-address.c: Fix typos.
      	* tree-ssa-loop-ivopts.c: Fix typos.
      	* tree-ssa-loop-niter.c: Fix typos.
      	* tree-ssa-math-opts.c: Fix typos.
      	* tree-ssa-pre.c: Fix typos.
      	* tree-ssa-propagate.c: Fix typos.
      	* tree-ssa-reassoc.c: Fix typos.
      	* tree-ssa-sccvn.c: Fix typos.
      	* tree-ssa-ter.c: Fix typos.
      	* tree-ssa-uninit.c: Fix typos.
      	* tree-ssanames.c: Fix typos.
      	* tree-vect-generic.c: Fix typos.
      	* tree-vect-slp.c: Fix typos.
      	* tree.c: Fix typos.
      	* tree.h: Fix typos.
      	* varasm.c: Fix typos.
      	* varpool.c: Fix typos.
      
      From-SVN: r187959
      Joseph Myers committed
  30. 22 May, 2012 1 commit
  31. 04 May, 2012 1 commit
  32. 14 Mar, 2012 1 commit
    • Remove obsolete IRIX 6.5 support · b24513a1
      	libstdc++-v3:
      	* configure.host (irix6.5*): Remove.
      	* config/os/irix: Remove.
      	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
      	[_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
      
      	* doc/xml/faq.xml: Remove IRIX reference.
      	* doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
      	Remove IRIX example.
      
      	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
      	Remove mips-sgi-irix6* handling.
      	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
      	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
      	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
      	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
      	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
      	* testsuite/23_containers/list/pthread1.cc: Likewise.
      	* testsuite/23_containers/list/pthread5.cc: Likewise.
      	* testsuite/23_containers/map/pthread6.cc: Likewise.
      	* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
      	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
      	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
      	* testsuite/30_threads/async/42819.cc: Likewise.
      	* testsuite/30_threads/async/49668.cc: Likewise.
      	* testsuite/30_threads/async/any.cc: Likewise.
      	* testsuite/30_threads/async/async.cc: Likewise.
      	* testsuite/30_threads/async/launch.cc: Likewise.
      	* testsuite/30_threads/async/sync.cc: Likewise.
      	* testsuite/30_threads/call_once/39909.cc: Likewise.
      	* testsuite/30_threads/call_once/49668.cc: Likewise.
      	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
      	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
      	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
      	Likewise.
      	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
      	* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
      	* testsuite/30_threads/future/cons/move.cc: Likewise.
      	* testsuite/30_threads/future/members/45133.cc: Likewise.
      	* testsuite/30_threads/future/members/get.cc: Likewise.
      	* testsuite/30_threads/future/members/get2.cc: Likewise.
      	* testsuite/30_threads/future/members/share.cc: Likewise.
      	* testsuite/30_threads/future/members/valid.cc: Likewise.
      	* testsuite/30_threads/future/members/wait.cc: Likewise.
      	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
      	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
      	* testsuite/30_threads/lock/1.cc: Likewise.
      	* testsuite/30_threads/lock/2.cc: Likewise.
      	* testsuite/30_threads/lock/3.cc: Likewise.
      	* testsuite/30_threads/lock/4.cc: Likewise.
      	* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
      	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
      	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
      	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
      	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
      	* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
      	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
      	* testsuite/30_threads/promise/cons/1.cc: Likewise.
      	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
      	* testsuite/30_threads/promise/cons/move.cc: Likewise.
      	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
      	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
      	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
      	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
      	* testsuite/30_threads/promise/members/swap.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
      	* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
      	* testsuite/30_threads/this_thread/1.cc: Likewise.
      	* testsuite/30_threads/this_thread/2.cc: Likewise.
      	* testsuite/30_threads/this_thread/3.cc: Likewise.
      	* testsuite/30_threads/this_thread/4.cc: Likewise.
      	* testsuite/30_threads/thread/cons/1.cc: Likewise.
      	* testsuite/30_threads/thread/cons/2.cc: Likewise.
      	* testsuite/30_threads/thread/cons/3.cc: Likewise.
      	* testsuite/30_threads/thread/cons/4.cc: Likewise.
      	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
      	* testsuite/30_threads/thread/cons/5.cc: Likewise.
      	* testsuite/30_threads/thread/cons/6.cc: Likewise.
      	* testsuite/30_threads/thread/cons/7.cc: Likewise.
      	* testsuite/30_threads/thread/cons/8.cc: Likewise.
      	* testsuite/30_threads/thread/cons/9.cc: Likewise.
      	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
      	* testsuite/30_threads/thread/members/1.cc: Likewise.
      	* testsuite/30_threads/thread/members/2.cc: Likewise.
      	* testsuite/30_threads/thread/members/3.cc: Likewise.
      	* testsuite/30_threads/thread/members/4.cc: Likewise.
      	* testsuite/30_threads/thread/members/5.cc: Likewise.
      	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
      	* testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
      	* testsuite/30_threads/thread/swap/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
      	* testsuite/30_threads/try_lock/1.cc: Likewise.
      	* testsuite/30_threads/try_lock/2.cc: Likewise.
      	* testsuite/30_threads/try_lock/3.cc: Likewise.
      	* testsuite/30_threads/try_lock/4.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
      	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
      	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
      	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
      	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
      	Likewise.
      	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
      	Likewise.
      
      	* testsuite/23_containers/vector/capacity/resize/1.cc: Remove
      	dg-options for mips*-*-irix6*.
      
      	* testsuite/27_io/ios_base/storage/1.cc: Likewise.
      	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
      	* testsuite/27_io/ios_base/storage/3.cc: Likewise.
      
      	* testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
      	workaround.
      
      	libjava:
      	* configure.ac (libgcj_cv_exidx): Remove IRIX 6 ld workaround.
      	(mips-sgi-irix6*): Remove.
      	(mips-sgi-irix*): Remove.
      	(AC_CHECK_HEADERS): Remove bstring.h.
      	* configure: Regenerate.
      	* include/config.h.in: Regenerate.
      	* configure.host (mips-sgi-irix6*): Remove.
      
      	* include/posix-signal.h [__sgi__]: Remove.
      
      	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
      	[HAVE_BSTRING_H]: Remove.
      	* gnu/java/net/natPlainDatagramSocketImplWin32.cc: Likewise.
      	* gnu/java/net/natPlainSocketImplPosix.cc: Likewise.
      
      	libitm:
      	* configure.tgt (*-*-irix6*): Remove.
      
      	libgomp:
      	* configure.tgt (mips-sgi-irix6*): Remove.
      
      	libgfortran:
      	* intrinsics/c99_functions.c [__sgi__ && !HAVE_COMPLEX_H]: Remove.
      
      	libgcc:
      	* config.host (mips-sgi-irix6.5*): Remove.
      	* config/mips/irix-crti.S: Remove.
      	* config/mips/irix-crtn.S: Remove.
      	* config/mips/irix6-unwind.h: Remove.
      	* config/mips/t-irix6: Remove.
      	* config/mips/t-slibgcc-irix: Remove.
      
      	gnattools:
      	* configure.ac (mips-sgi-irix*): Remove.
      	* configure: Regenerate.
      
      	gcc/testsuite:
      	* g++.dg/other/anon5.C: Don't skip on mips-sgi-irix*.
      	* g++.dg/tree-prof/partition1.C: Likewise.
      	* g++.dg/tree-prof/partition2.C: Likewise.
      	* g++.old-deja/g++.other/init19.C: Remove mips-sgi-irix*
      	handling.
      	* gcc.c-torture/compile/labels-3.c: Remove dg-options.
      	* gcc.c-torture/execute/20010724-1.c: Remove.
      	* gcc.c-torture/execute/20010724-1.x: Remove.
      	* gcc.c-torture/execute/20040208-2.c: Remove.
      	* gcc.c-torture/execute/20040208-2.x: Remove.
      	* gcc.c-torture/execute/ieee/20000320-1.c [__mips__ && __sgi__]:
      	Remove.
      	(main) [__mips__ && __sgi__]: Remove.
      	* gcc.c-torture/execute/ieee/copysign1.c: Remove IRIX reference.
      	* gcc.c-torture/execute/ieee/copysign2.c: Likewise.
      	* gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Remove
      	mips-sgi-irix6* handling.
      	* gcc.dg/cpp/assert4.c [__mips__]: Remove __sgi__, sgi.
      	* gcc.dg/torture/20090618-1.c: Don't skip on mips-sgi-irix*.
      	* gcc.dg/torture/builtin-frexp-1.c: Remove mips*-*-irix6*
      	handling.
      	* gcc.dg/torture/builtin-logb-1.c: Likewise.
      	* gcc.dg/torture/pr47917.c: Remove mips-sgi-irix6.5 handling.
      	* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Don't skip on mips*-*-irix*.
      	* gcc.misc-tests/linkage.exp: Remove mips-sgi-irix6* handling.
      	* gcc.target/mips/args-1.c [!__sgi__]: Remove.
      	* gcc.target/mips/interrupt_handler-2.c: Don't skip on
      	mips-sgi-irix6*.
      	* gcc.target/mips/interrupt_handler-3.c: Likewise.
      	* gcc.target/mips/save-restore-1.c: Don't skip on mips-sgi-irix6*.
      	* gcc.target/mips/save-restore-3.c: Likewise.
      	* gcc.target/mips/save-restore-4.c: Likewise.
      	* gcc.target/mips/save-restore-5.c: Likewise.
      	* gfortran.dg/g77/cabs.f: Don't xfail on mips-sgi-irix6*.
      	* lib/prune.exp (prune_gcc_output): Remove pruning of IRIX 6 ld
      	messages.
      	* lib/target-libpath.exp (set_ld_library_path_env_vars): Remove
      	IRIX 6 handling.
      	(restore_ld_library_path_env_vars): Likewise.
      	* lib/target-supports.exp (check_profiling_available): Remove
      	mips*-*-irix* handling.
      	(check_ascii_locale_available): Remove mips-sgi-irix* handling.
      	(add_options_for_c99_runtime): Remove mips-sgi-irix6.5* handling.
      	* objc.dg/stabs-1.m: Don't xfail on mips-sgi-irix6.5.
      
      	gcc/ada:
      	* gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
      
      	* a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
      	s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
      	s-osinte-irix.ads, s-proinf-irix-athread.adb,
      	s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
      	system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
      	Remove.
      
      	* adaint.c [__mips && __sgi]: Remove.
      	(__gnat_number_of_cpus) [__mips && __sgi]: Remove.
      	[IS_CROSS && !(__mips && __sgi)]: Remove.
      	* adaint.h [sgi && _LFAPI]: Remove.
      	* cstreams.c (__gnat_full_name) [sgi]: Remove.
      	* env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
      	(__gnat_clearenv) [__mips && __sgi]: Remove.
      	* errno.c (_SGI_MP_SOURCE): Remove.
      	* gsocket.h [sgi]: Remove.
      	* init.c: Remove IRIX reference.
      	[sgi]: Remove.
      	* link.c [sgi]: Remove.
      	* s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
      	(main) [__mips && __sgi] (MAX_tv_sec): Don't define.
      	(CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
      	* sysdep.c [sgi]: Remove.
      	(getc_immediate_common) [sgi]: Remove.
      	(__gnat_localtime_tzoff) [sgi]: Remove.
      	* terminals.c [__mips && __sgi] (IRIX): Don't define.
      	[IRIX] (USE_GETPTY): Don't define.
      	(allocate_pty_desc) [USE_GETPTY]: Remove.
      
      	* g-traceb.ads: Remove IRIX reference.
      	* g-trasym.ads: Likewise.
      	* memtrack.adb: Likewise.
      	* s-interr-sigaction.adb: Likewise.
      
      	* gnat_rm.texi (Implementation Advice): Remove SGI info.
      	(Implementation Defined Characteristics): Likewise.
      	* gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
      	Remove.
      	(Irix-Specific Considerations): Remove.
      
      	gcc/cp:
      	* Make-lang.in (doc/g++.1): Remove IRIX 6.5 reference.
      
      	gcc:
      	* config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
      	(mips-sgi-irix6.5*): Remove.
      	* config.host (mips-sgi-irix*): Remove.
      	* configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
      	(set_have_as_tls): Remove *-*-irix6*.
      	(gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
      	* configure: Regenerate.
      
      	* config/mips/iris6.h: Remove.
      	* config/mips/iris6.opt: Remove.
      	* config/mips/t-irix6: Remove.
      
      	* config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
      	(TARGET_IRIX6): Remove.
      	(TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
      	Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
      	* config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
      	handling.
      	(mips_file_start): Likewise.
      	* config/mips/mips-protos.h (irix_asm_output_align): Remove.
      
      	* config/mips/driver-native.c [__sgi__]: Remove.
      	(host_detect_local_cpu) [__sgi__]: Remove.
      
      	* config/mips/gnu-user.h: Remove iris5.h reference.
      
      	* config/mips/mips-modes.def: Remove IRIX 6 reference.
      	* config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
      	* config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
      	Remove.
      
      	* gcc.c (main): Move asm_debug initialization ...
      	(asm_debug): ... here.
      
      	* ginclude/stddef.h (__STDDEF_H__): Don't define.
      
      	* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
      	* system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
      	* collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
      	(main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
      	[LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
      	* doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
      	Remove.
      	* doc/tm.texi: Regenerate.
      
      	* doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
      	IRIX 6 reference.
      	(MIPS Options, -march): Remove IRIX reference.
      	* doc/install.texi (Binaries, SGI IRIX): Remove.
      	(Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
      	of section.
      	* doc/trouble.texi (Interoperation): Remove -lgl_s handling.
      
      	fixincludes:
      	* inclhack.def (broken_cabs): Remove IRIX and SunOS 4 support.
      	(irix___restrict): Remove.
      	(irix___generic1): Remove.
      	(irix___generic2): Remove.
      	(irix_asm_apostrophe): Remove.
      	(irix_complex): Remove.
      	(irix_pthread_init): Remove.
      	(irix_socklen_t): Remove.
      	(irix_stdint_c99_mode): Remove.
      	(irix_stdint_c99_types): Remove.
      	(irix_stdint_c99_macros): Remove.
      	(irix_stdio_va_list): Remove IRIX 6.5 support.
      	(irix_wcsftime): Remove.
      	(stdio_va_list): Remove IRIX 6.5 support.
      	(svr4_profil): Remove IRIX bypass.
      	* fixincl.x: Regenerate.
      
      	* tests/base/complex.h [IRIX_COMPLEX_CHECK]: Remove.
      	* tests/base/internal/math_core.h: Remove.
      	* tests/base/internal/sgimacros.h: Remove.
      	* tests/base/internal/wchar_core.h: Remove.
      	* tests/base/math.h [BROKEN_CABS_CHECK]: Remove IRIX and SunOS 4
      	support.
      	* tests/base/pthread.h [IRIX_PTHREAD_INIT_CHECK]: Remove.
      	* tests/base/stdint-irix65.h: Remove.
      	* tests/base/stdint.h [IRIX_STDINT_C99_MODE_CHECK]: Remove.
      	* tests/base/sys/asm.h: Remove.
      	* tests/base/sys/socket.h [IRIX_SOCKLEN_T_CHECK]: Remove.
      
      	contrib:
      	* config-list.mk (LIST): Remove mips-sgi-irix6.5.
      
      	toplevel:
      	* MAINTAINERS (OS Port Maintainers): Remove irix.
      	* configure.ac (enable_libgomp): Remove *-*-irix6*.
      	(unsupported_languages): Remove mips-sgi-irix6.*.
      	(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
      	(with_stabs): Remove.
      	* configure: Regenerate.
      
      From-SVN: r185390
      Rainer Orth committed
  33. 28 Feb, 2012 1 commit
  34. 13 Feb, 2012 1 commit
    • gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm. · 255a9a1b
      gcc/
      	* gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
      	(GTM_SELF_SPECS): Define if not already defined.
      	(driver_self_specs): Add GTM_SELF_SPECS.
      	* config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
      	(GTM_SELF_SPECS): Define.
      	* config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
      	* config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
      libitm/
      	* configure.ac (link_itm): Fix comment.
      	* configure: Regenerate.
      	* testsuite/lib/libitm.exp: Do not pass -litm for the link.
      
      From-SVN: r184174
      Eric Botcazou committed
  35. 08 Feb, 2012 1 commit
  36. 07 Feb, 2012 1 commit
  37. 26 Jan, 2012 1 commit
  38. 24 Jan, 2012 1 commit