Commits on Sep 30, 2012
  1. Update to say something more currently and directly useful

    Mention bugurl, pkgversion, and how these are generally built for the
    illumos build environment.
    committed Sep 30, 2012
Commits on Jun 5, 2012
Commits on Jun 1, 2012
  1. sparc: implement -massume-32bit-callers

    Implement an option which selectively restores pre-4.2 argument
    promotion behaviour, which happens to be safe sign-extension safe when a
    32bit sparcv7 process calls a 64bit sparcv9 system call.
    committed Jun 1, 2012
  2. Remove -fconstant-pools (supported by cw, unused by the build)

    This reverts commit 57866e0.
    committed May 12, 2012
  3. g++spec: Remove more vestiges of runpath magic

    We used to add runpath entries, and needed to keep track of 64bit-ness
    to do this.  The runpath magic was removed, the tracking was not.
    committed May 12, 2012
Commits on May 12, 2012
Commits on Jan 2, 2012
  1. remove support for -fno-dwarf2-indirect-strings

    This reverts commit 127cc57.
    This was needed because the old libdwarf (at the time, current) used by
    the ctf tools could not handle general absolute relocations in DWARF
    sections.  The libdwarf we now use can do this sufficiently to allow
    this option to be removed.
    committed Jan 2, 2012
Commits on Dec 14, 2011
  1. config: Do not force runpath entries unless necessary

    Sun patched their GCC3 to force /lib:/usr/lib:/usr/sfw/lib into the runpath, in
    that order, such that /usr/sfw libraries did not take precedence over system
    libraries, but nevertheless libgcc did not need a specific -R entry to be added
    to the command line when building.
    This has caused us nothing but trouble when patching it forward, since suddenly
    we need our _own_ prefix in thre too, and it must beat /usr/sfw, and because
    it's using -R it means that LD_RUN_PATH doesn't function, and because it's
    unexpected it causes confusion for 3rd party software.
    This change only uses -R to force the runpath in the BSD compat environment, as
    GCC upstream does, leaving the sole artifact of Sun's change being the addition
    of /lib to the default library search path. (-YP)
    committed Dec 14, 2011
Commits on Nov 21, 2011
  1. Revert "[HACK] builtins: Add -Wno-vastart-last-param to disable va_st…

    …art arg warning"
    This reverts commit d90aac2.
    committed Nov 18, 2011
Commits on Jun 27, 2011
  1. [HACK] libstdc++: Force atomic builtin checks to use sparc v8

    This in effect forces libstdc++ to refuse to use the atomic builtins
    unless they're going to work across a more sensible range of CPU
    configurations.  Without this hack libstdc++ detects that they're
    present with the default cpu (presumably v9, even 32bit) and instead
    fails at link-time for non-v9 code.
    committed Jun 22, 2011
Commits on Jun 21, 2011
  1. * gcc/config/sparc/sparc.h (MASK_NO_INTEGER_LDD_STD,

    	(TARGET_SWITCHES): Define -mno-integer-ldd-std option.
    	* gcc/doc/invoke.texi (-mno-integer-std-ldd): Document.
    	* gcc/config/sparc/sparc.c (save_regs, restore_regs,
    	sparc_splitdi_legitimate, sparc_flat_save_restore): Check
    	* gcc/config/sparc/ (movdi_insn_sp32_v9, movdi_insn_sp32):
    	Disable unless TARGET_INTEGER_LDD_STD.
    	(movdi_insn_sp32_v9_nolddstd, movdi_insn_sp32_nolddstd): New
    	patterns if !TARGET_INTEGER_LDD_STD.
    	(define_peephole2): Disable use of widen_memory_access unless
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
        	* gcc/doc/invoke.texi: Correct typos in previous change.
        	* gcc/config/sparc/ (movdi_insn_sp32_v9_nolddstd,
        	movdi_insn_sp32_nolddstd): Give # alternatives length 2.
        	* gcc/config/sparc.c (save_regs, restore_regs,
        	sparc_flat_save_restore): Revert previous changes.
        	(legitimate_address_p): Do not allow REG+REG addressing for DImode
        git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with May 19, 2005
Commits on May 15, 2011
  1. 2009-10-09 Neil Vachharajani <>

           * libcpp/directives.c (DIRECTIVE_TABLE): Remove DEPRECATED from ident and
           * gcc/doc/cpp.texi (Other Directives): Do not list #ident and #sccs as
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    nvachhar committed with Oct 10, 2009
  2. PR debug/42278

    	* dwarf2out.c (base_type_die): Don't add name attribute here.
    	(modified_type_die): Instead of sizetype use
    	its underlying original type.  If a DW_TAG_base_type doesn't
    	have name added, add __unknown__.
    	(dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
    	always call force_type_die instead.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jakub committed with May 12, 2010
Commits on May 14, 2011
  1. * (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:

    	Disable cfi directives unless GCC and gas agree on using read-only
    	.eh_frame sections for 64-bit.
    	* configure: Regenerate.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    ro committed with Mar 1, 2010
  2. [HACK] builtins: Add -Wno-vastart-last-param to disable va_start arg …

    In various places we get warned that the second argument to va_start() is not
    the last formal parameter, in all cases it actually is.  No warning was
    producid in 3.4.3.  Add a hacky toggle so the warning can be disabled.
    committed Apr 17, 2011
  3. * g++.old-deja/g++.mike/eh16.C: Rename err to e.

    	* g++.old-deja/g++.mike/eh17.C: Likewise.
    	* g++.old-deja/g++.mike/p5571.C: Likewise.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    ro committed with Jan 29, 2010
  4. gcc.dg/save-args-1.c: Add a cheesy test for -msave-args

    Build a simple main-like function and make sure we see the movq to store
    the pointer argument to the stack.
    committed Apr 10, 2011
  5. 2006-04-06 Carlos O'Donell <>

    	* gcc/testsuite/gcc.dg/pragma-re-4.c: New test.
    	* gcc/c-pragma.c (init_pragma) : Call c_register_pragma_with_expansion
    	for pragma redefine_extname.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    carlos committed with Apr 7, 2006
  6. * gcc/dwarf2.h (DW_AT_SUN_amd64_parmdump): New.

    	* gcc/dwarf2out.c (gen_subprogram_die): Add this attribute.
    	* gcc/doc/invoke.texi (-msave-args): New x86-64 option.
    	* gcc/config/i386/i386.h (MASK_SAVE_ARGS, TARGET_SAVE_ARGS): New.
    	(TARGET_SWITCHES): Add -msave-args.
    	* gcc/config/i386/i386.c (struct ix86_frame): Add nmsave_args and
    	(pro_epilogue_adjust_stack): Declare.
    	(ix86_nsaved_args): New.
    	(override_options, ix86_can_use_return_insn_p,
    	ix86_frame_pointer_required, ix86_compute_frame_layout,
    	ix86_emit_save_regs, ix86_emit_save_regs_using_mov,
    	ix86_expand_prologue, ix86_expand_epilogue): Handle -msave-args.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with Jun 29, 2005
  7. * gcc/common.opt (fconstant-pools): New.

    	* gcc/doc/invoke.texi (-fno-constant-pools): Document.
    	* gcc/flags.h (flag_constant_pools): New.
    	* gcc/opts.c (common_handle_option): Handle OPT_fconstant_pools.
    	* gcc/toplev.c (flag_constant_pools): New.
    	* gcc/varasm.c (force_const_mem): Return NULL_RTX for
    	* gcc/reload.c (find_reloads): Do not try reloading a constant
    	from a constant pool if -fno-constant-pools.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with May 20, 2005
  8. i386: Rename padding0 -> padding05

    Ease the merge of msave-args (by using a crappy variable name, but we
    can fix that later.)
    committed May 14, 2011
  9. 2005-05-05 Michael Pogue <>

                Joseph S. Myers  <>
    	* gcc/common.opt (-fdwarf2-indirect-strings): New option.
    	* gcc/doc/invoke.texi (-fdwarf2-indirect-strings): Document.
    	* gcc/flags.h (flag_dwarf2_indirect_strings): New.
    	* gcc/toplev.c (flag_dwarf2_indirect_strings): New.
    	* gcc/opts.c (common_handle_option): Handle
    	* gcc/dwarf2out.c (AT_string_form): Check
    	* gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-strp-1.c: New test.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with May 4, 2005
  10. * gcc/varasm.c (assemble_alias): Return early if

    	TREE_ASM_WRITTEN (decl).
    	* gcc/testsuite/gcc.dg/weak/weak-13.c: New test.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with Apr 22, 2005
  11. * gcc/cp/g++spec.c (lang_specific_driver): Add a -R option if

    	-lstdc++ is added.
    	* gcc/cp/ (g++spec.o): Define LIBDIR.
    	* gcc/config/i386/t-sol2-10 (MULTILIB_DIRNAMES,
    	MULTILIB_OSDIRNAMES): Use amd64 instead of 64.
    	* gcc/config/i386/i386.c (optimization_options): Use
    	* gcc/config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS):
    	(TARGET_SUBTARGET_DEFAULT): Don't include
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    jsm28 committed with Nov 17, 2004
  12. Revert:

    	* gcc/config/i386/sol2-10.h (LIBGCC_SPEC): Add support for -nolibgcc.
    	* gcc/config.gcc: Do not build crt1.o, crti.o, crtn.o, gcrt1.o.
    	* gcc/fixinc/inclhack.def (solaris_stdio_tag): Add bypass.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    mmitchel committed with Oct 12, 2004
  13. Revert:

    	2004-09-24  Mark Mitchell <>
    	* gcc/config/sol2-c.c (cmn_err_flag_specs): Add "#"
    	(cmn_err_char_table): Likewise.
    	(solaris_format_types): Likewise.
    	* gcc/testsuite/gcc.dg/format/cmn-err-1.c: Add "#" tests.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    mmitchel committed with Sep 27, 2004
  14. * gcc/config/i386/sol2-10.h (LIBGCC_SPEC): Add support for -nolibgcc.

    	* gcc/config/sol2-c.c (cmn_err_flag_specs): Add "#"
    	(cmn_err_char_table): Likewise.
    	(solaris_format_types): Likewise.
    	* gcc/testsuite/gcc.dg/format/cmn-err-1.c: Add "#" tests.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    mmitchel committed with Sep 24, 2004
  15. * gcc/config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.

    	* gcc/config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
    	* gcc/sol2-c.c (cmn_err_char_table): Add "p".
    	* gcc/dwarf2out.c (scope_die_for): If the containing scope is a
    	TRANSLATION_UNIT_DECL, consider it to be a global.
    	* gcc/fixinc/inclhack.def (solaris_longlong): New test.
    	(sun_auth_proto): Avoid modifying headers from Solaris 2.8 or
    	* gcc/fixinc/fixincl.x: Regenerated.
    	* gcc/testsuite/lib/gcc-dg.exp (dg-forbid-option): New function.
    	* gcc/testsuite/lib/target-supports.exp
    	(check_visibility_available): Really test the compiler.
    	* gcc/testsuite/g++.dg/abi/bitfield3.C: Use dg-forbid-option -m64.
    	* gcc/testsuite/g++.dg/abi/bitfield8.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/dtor1.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/empty10.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/empty7.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/empty9.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/layout3.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/layout4.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/thunk1.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/thunk2.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/vbase11.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/vthunk2.C: Likewise.
    	* gcc/testsuite/g++.dg/abi/vthunk3.C: Likewise.
    	* gcc/testsuite/g++.dg/ext/attrib8.C: Likewise.
    	* gcc/testsuite/g++.dg/opt/langbranch2.C: Likewise.
    	* gcc/testsuite/g++.dg/opt/reg-stack4.C: Likewise.
    	* gcc/testsuite/g++.old-deja/g++.ext/attrib1.C: Likewise.
    	* gcc/testsuite/g++.old-deja/g++.ext/attrib2.C: Likewise.
    	* gcc/testsuite/g++.old-deja/g++.ext/attrib3.C: Likewise.
    	* gcc/testsuite/g++.old-deja/g++.other/store-expr1.C: Likewise.
    	* gcc/testsuite/g++.old-deja/g++.other/store-expr2.C: Likewise.
    	* gcc/testsuite/gcc.dg/20000609-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20000720-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20011107-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20011119-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020108-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020122-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020122-3.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020201-3.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020206-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020218-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020310-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020411-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020418-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020426-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020426-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020517-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020523-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020523-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/20020729-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20030204-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20030826-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/20030926-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/20031202-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/980312-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/980313-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/990117-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/990424-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/990524-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/991230-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/const-elim-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-387-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-387-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-387-3.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-387-4.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-387-5.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-387-6.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-asm-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-bitfield1.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-bitfield2.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-loop-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-loop-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-loop-3.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-pentium4-not-mull.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-pic-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-regparm.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-signbit-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-signbit-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-signbit-3.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-sse-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-sse-5.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-sse-8.c: Likewise.
    	* gcc/testsuite/gcc.dg/i386-unroll-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/tls/opt-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/tls/opt-2.c: Likewise.
    	* gcc/testsuite/gcc.dg/unroll-1.c: Likewise.
    	* gcc/testsuite/gcc.misc-tests/i386-pf-3dno-1.c: Likewise.
    	* gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c: Likewise.
    	* gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c: Likewise.
    	* gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c: Likewise.
    	* gcc/testsuite/gcc.dg/tls/alias-1.c: Use dg-require-visibility.
    	* gcc/testsuite/gcc.c-torture/execute/20010129-1.x: Do not use
    	-mtune=i686 when -m64 is specified.
    	* gcc/testsuite/g++.dg/eh/badalloc1.C: Robustify.
    	* libstdc++-v3/testsuite/27_io/basic_stream/extractors_arithmetic/char/ XFAIL on all Solaris targets.
    	* gcc/c-decl.c (implicitly_declare): Call
    	(builtin_function): Call maybe_apply_renaming_pragma for all
    	global variables and functions.
    	* gcc/testsuite/gcc.dg/pragma-re-3.c: New test.
    	2004-06-20  Zack Weinberg  <>
    	* gcc/c-common.h (has_c_linkage): New interface.
    	* gcc/c-cppbuiltin.c (maybe_apply_renaming_pragma): Rewrite
    	according to clarified semantics.  Always recognize, but do not
    	necessarily execute.
    	* gcc/c-decl.c (builtin_function): Don't call make_decl_rtl.
    	* gcc/c-objc-common.c (has_c_linkage): Stub implementation.
    	* gcc/cp/except.c (nothrow_libfn_p): Look at DECL_NAME, not
    	* config/sol2-c.c (solaris_pragma_align): Allow #pragma align after
    	the first declaration.
    	* config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Re-enable
    	asynchronous unwind tables by default for 64-bit.
    	* gcc.dg/pragma-align-2.c: Test for #pragma align after the
    	definition of y16.
    	* c-pragma.c (maybe_apply_pending_pragma_weaks): Mark the new decl
    	as weak.
    	* (c-objc-common.o): Update dependencies.
    	* config/sol2-c.c (solaris_register_pragmas): Use
    	* config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
    	* doc/extend.texi (Solaris Pragmas): Mention macro expansion
    	for #pragma align.
    	* c-objc-common.c: Include "c-pragma.h".
    	(c_objc_common_finish_file): Call maybe_apply_pending_pragma_weaks.
    	* c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
    	(c_register_pragma): Update call to cpp_register_pragma.
    	(c_register_pragma_with_expansion): New function.
    	(init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
    	* c-pragma.h (c_register_pragma_with_expansion)
    	(maybe_apply_pending_pragma_weaks): New prototypes.
    	* cpplib.c (struct pragma_entry): Add allow_expansion.
    	(insert_pragma_entry): Take allow_expansion flag.
    	(cpp_register_pragma): Likewise.
    	(_cpp_init_internal_pragmas): Update calls to cpp_register_pragma.
    	(do_pragma): Honor allow_expansion.
    	* cpplib.h (cpp_register_pragma): Update prototype.
    	* (cp/decl2.c): Update dependencies.
    	* decl2.c (finish_file): Call maybe_apply_pending_pragma_weaks.
    	* gcc.dg/pragma-align-2.c: Test macro expansion.
    	* gcc.dg/pragma-align.c: Fix abort on -m64.
    	* gcc.dg/pragma-pack-2.c: New test.
    	* config/i386/sol2-10.h (LINK_ARCH64_SPEC_BASE)
    	(LINK_ARCH_SPEC): Define.
    	* config/i386/t-sol2-10: Define MULTILIB_OSDIRNAMES.
    	(EXTRA_MULTILIB_PARTS): Remove crti.o, crtn.o, crt1.o, gcrt1.o.
    	* config.gcc (i[34567]86-*-solaris2*): Define TARGET_GNU_LD.
    	* config/sol2-c.c, config/sol2.c: Replace %< and %> with "'".
    	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle 64-bit.
    	* config/i386/sol2-10.h (CRT_GET_RFIB_DATA): Redefine.
    	* config.gcc (i[34567]86-*-solaris2*): Set need_64bit_hwint.
    	* config/i386/t-sol2: Introduce multilib support.
    	* config/i386/sol2-10.h (MULTILIB_DEFAULTS): Define.
    	* config/i386/t-sol2-10: New file.
    	* config.gcc (i[34567]86-*-solaris2*): Use t-sol2-10.
    	* config/i386/i386.c (i386_solaris_elf_named_section): New function.
    	* config/i386/i386-protos.h (i386_solaris_elf_named_section): Add
    	* config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Redefine.
    	* config/i386/i386.c (override_options): Move
    	SUBTARGET_OVERRIDE_OPTIONS before defaulting flag_omit_frame_pointer.
    	* config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
    	* config/i386/sol2-10.h: New file.
    	* config/i386/sol2.h (ASM_QUAD): Don't undefine for biarch targets.
    	* (c-format.o): Depend on c-format.h.
    	* c-format.h: New file.
    	(struct format_char_info): Add CHAIN member.
    	* c-format.c: Move some types and constants to c-format.h.
    	(format_type_error): Set to -1.
    	(struct function_format_info): Use an int for format_type.
    	(decode_format_type): Return an int.  Return format_type_error
    	on error.
    	(print_char_table, asm_fprintf_char_table, gcc_diag_char_table)
    	(gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table)
    	(scan_char_table, time_char_table, monetary_char_table): Initialize
    	CHAIN to NULL.
    	(n_format_types): New variable.
    	(check_format_info_main): Handle CHAIN in format_char_info.
    	(handle_format_attribute): Handle TARGET_FORMAT_TYPES and
    	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
    	(sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c.
    	* config/sol2-c.c: New file.
    	* config/t-sol2: New file.
    	* config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define.
    	* config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine
    	* doc/extend.texi (Target Format Checks): New section.
    	(Function Attributes): Mention it.
    	* doc/invoke.texi: Mention target format checks.
    	* doc/sourcebuild.texi: Mention target format checks.
    	* dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and
    	* gcc.dg/format/cmn-err-1.c: New test.
    	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
    	(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
    	* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
    	"cpplib.h", "c-pragma.h", "c-common.h".
    	(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
    	(solaris_register_pragmas): New functions.
    	* config/sol2-protos.h: New file.
    	* config/sol2.c: New file.
    	(solaris_pending_aligns, solaris_pending_inits)
    	(solaris_pending_finis): New variables.
    	* config/t-sol2 (sol2-c.o): Update dependencies.
    	(sol2.o): New rule.
    	* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
    	(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
    	* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
    	* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
    	* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
    	* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
    	* config/sparc/sparc.c (sparc_attribute_table): New.
    	(TARGET_INSERT_ATTRIBUTES): Define in terms of
    	is defined.
    	* doc/extend.texi (Solaris Pragmas): New section.
    	* testsuite/gcc.dg/pragma-align-2.c: New test.
    	* testsuite/gcc.dg/pragma-init-fini.c: New test.
    	* testsuite/gcc.dg/pragma-align.c: Change from compile to run.
    	Run on Solaris targets.
    	* config/i386/i386.c (override_options): Pick a 64-bit CPU
    	for the default tuning if TARGET_64BIT.
    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    mmitchel committed with Sep 23, 2004
Commits on Apr 29, 2010
  1. Mark as release

    git-svn-id: svn+ssh:// 138bc75d-0d04-0410-961f-82ee72b054a4
    gccadmin committed Apr 29, 2010