Skip to content

Commit

Permalink
* gcc/config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
Browse files Browse the repository at this point in the history
	* 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
	higher.
	* 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/12.cc: XFAIL on all Solaris targets.

	* gcc/c-decl.c (implicitly_declare): Call
	maybe_apply_renaming_pragma.
	(builtin_function): Call maybe_apply_renaming_pragma for all
	global variables and functions.
	* gcc/testsuite/gcc.dg/pragma-re-3.c: New test.
	Backport:
	2004-06-20  Zack Weinberg  <[email protected]>
	* 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
	DECL_ASSEMBLER_NAME.

	* 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.

	* Makefile.in (c-objc-common.o): Update dependencies.
	* config/sol2-c.c (solaris_register_pragmas): Use
	c_register_pragma_with_expansion.
	* 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.

	* Make-lang.in (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_ARCH64_SPEC, LINK_ARCH64_SPEC, TARGET_LD_EMULATION)
	(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
	prototype.
	* 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.

	* Makefile.in (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
	TARGET_N_FORMAT_TYPES.
	* 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
	TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.

	* 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
	TARGET_FORMAT_TYPES.

	* 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.
	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
	(REGISTER_TARGET_PRAGMAS): New macros.
	(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
	SUBTARGET_INSERT_ATTRIBUTES.
	(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
	* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
	* 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)
	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
	* config/sparc/sparc.c (sparc_attribute_table): New.
	(TARGET_INSERT_ATTRIBUTES): Define in terms of
	SUBTARGET_INSERT_ATTRIBUTES.
	(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
	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://gcc.gnu.org/svn/gcc/branches/csl-sol210-3_4-branch@87928 138bc75d-0d04-0410-961f-82ee72b054a4
  • Loading branch information
mmitchel authored and richlowe committed May 14, 2011
1 parent fdaa572 commit 501797a
Show file tree
Hide file tree
Showing 9 changed files with 382 additions and 32 deletions.
287 changes: 287 additions & 0 deletions ChangeLog.csl
Original file line number Diff line number Diff line change
@@ -0,0 +1,287 @@
2004-09-22 Mark Mitchell <mark@codesourcery.com>

* 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
higher.
* 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/12.cc: XFAIL on all Solaris targets.

* gcc/c-decl.c (implicitly_declare): Call
maybe_apply_renaming_pragma.
(builtin_function): Call maybe_apply_renaming_pragma for all
global variables and functions.
* gcc/testsuite/gcc.dg/pragma-re-3.c: New test.
Backport:
2004-06-20 Zack Weinberg <zack@codesourcery.com>
* 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
DECL_ASSEMBLER_NAME.

2004-08-04 Daniel Jacobowitz <dan@debian.org>

* 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.

2004-08-03 Daniel Jacobowitz <dan@debian.org>

* c-pragma.c (maybe_apply_pending_pragma_weaks): Mark the new decl
as weak.

2004-07-27 Daniel Jacobowitz <dan@debian.org>

* Makefile.in (c-objc-common.o): Update dependencies.
* config/sol2-c.c (solaris_register_pragmas): Use
c_register_pragma_with_expansion.
* 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.

* Make-lang.in (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.

2004-07-27 Daniel Jacobowitz <dan@debian.org>

* config/i386/sol2-10.h (LINK_ARCH64_SPEC_BASE)
(LINK_ARCH64_SPEC, LINK_ARCH64_SPEC, TARGET_LD_EMULATION)
(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 "'".

2004-07-23 Daniel Jacobowitz <dan@debian.org>

* 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.

2004-07-22 Daniel Jacobowitz <dan@debian.org>

* 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.

2004-07-21 Daniel Jacobowitz <dan@debian.org>

* config/i386/i386.c (i386_solaris_elf_named_section): New function.
* config/i386/i386-protos.h (i386_solaris_elf_named_section): Add
prototype.
* config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Redefine.

2004-07-20 Daniel Jacobowitz <dan@debian.org>

* config/i386/i386.c (override_options): Move
SUBTARGET_OVERRIDE_OPTIONS before defaulting flag_omit_frame_pointer.

2004-07-20 Daniel Jacobowitz <dan@debian.org>

* 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.

2004-07-19 Daniel Jacobowitz <dan@debian.org>

* Makefile.in (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
TARGET_N_FORMAT_TYPES.
* 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
TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.

* 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
TARGET_FORMAT_TYPES.

2004-07-19 Daniel Jacobowitz <dan@debian.org>

* gcc.dg/format/cmn-err-1.c: New test.

2004-07-19 Daniel Jacobowitz <dan@debian.org>

* 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.
* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
(REGISTER_TARGET_PRAGMAS): New macros.
(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
SUBTARGET_INSERT_ATTRIBUTES.
(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* 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)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* config/sparc/sparc.c (sparc_attribute_table): New.
(TARGET_INSERT_ATTRIBUTES): Define in terms of
SUBTARGET_INSERT_ATTRIBUTES.
(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
is defined.
* doc/extend.texi (Solaris Pragmas): New section.

2004-07-19 Daniel Jacobowitz <dan@debian.org>

* 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.

2004-07-10 Daniel Jacobowitz <dan@debian.org>

* config/i386/i386.c (override_options): Pick a 64-bit CPU
for the default tuning if TARGET_64BIT.
22 changes: 17 additions & 5 deletions fixincludes/fixincl.x
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
* It has been AutoGen-ed Saturday February 28, 2009 at 10:11:41 AM PST
* It has been AutoGen-ed Saturday May 14, 2011 at 01:24:31 AM EDT
* From the definitions inclhack.def
* and the template file fixincl
*/
/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Feb 28 10:11:41 PST 2009
/* DO NOT SVN-MERGE THIS FILE, EITHER Sat May 14 01:24:31 EDT 2011
*
* You must regenerate it. Use the ./genfixes script.
*
Expand Down Expand Up @@ -6222,10 +6222,22 @@ tSCC zSun_Auth_ProtoSelect0[] =
*/
tSCC zSun_Auth_ProtoBypass0[] =
"__cplusplus";

#define SUN_AUTH_PROTO_TEST_CT 2
tSCC zSun_Auth_ProtoBypass1[] =
"pragma ident.*auth.*(1.4[3-9]|1.[5-9][0-9]).*SMI";
tSCC zSun_Auth_ProtoBypass2[] =
"pragma ident.*clnt.*1.[6-9][0-9].*SMI";
tSCC zSun_Auth_ProtoBypass3[] =
"pragma ident.*svc.*(1.69|1.[7-9][0-9]).*SMI";
tSCC zSun_Auth_ProtoBypass4[] =
"pragma ident.*xdr.*(1.4[5-9]|1.[5-9][0-9]).*SMI";

#define SUN_AUTH_PROTO_TEST_CT 6
static tTestDesc aSun_Auth_ProtoTests[] = {
{ TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL },
{ TT_NEGREP, zSun_Auth_ProtoBypass1, (regex_t*)NULL },
{ TT_NEGREP, zSun_Auth_ProtoBypass2, (regex_t*)NULL },
{ TT_NEGREP, zSun_Auth_ProtoBypass3, (regex_t*)NULL },
{ TT_NEGREP, zSun_Auth_ProtoBypass4, (regex_t*)NULL },
{ TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };

/*
Expand Down Expand Up @@ -7308,7 +7320,7 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
#define REGEX_COUNT 226
#define REGEX_COUNT 230
#define MACH_LIST_SIZE_LIMIT 181
#define FIX_COUNT 180

Expand Down
15 changes: 15 additions & 0 deletions fixincludes/inclhack.def
Original file line number Diff line number Diff line change
Expand Up @@ -3346,6 +3346,21 @@ fix = {
*/
select = '\(\*[a-z][a-z_]*\)\(\)';

/* Solaris 2.8 and above (and perhaps earlier versions) do not
need these fixes. The unprototyped declarations in these files
are only visible if __STDC__ is not defined. This test looks
for a #pragma ident directives with particular versions, since
we know those versions are OK. (Earlier versions may also be
OK, but we do not know that.) */
/* For rpc/auth.h, 1.43 or better is OK. */
bypass = "pragma ident.*auth.*(1\.4[3-9]|1\.[5-9][0-9]).*SMI";
/* For rpc/clnt.h, 1.60 or better is OK. */
bypass = "pragma ident.*clnt.*1\.[6-9][0-9].*SMI";
/* For rpc/svc.h, 1.69 or better is OK. */
bypass = "pragma ident.*svc.*(1\.69|1\.[7-9][0-9]).*SMI";
/* For rpc/xdr.h, 1.45 or better is OK. */
bypass = "pragma ident.*xdr.*(1\.4[5-9]|1\.[5-9][0-9]).*SMI";

c_fix = format;
c_fix_arg = "#ifdef __cplusplus\n%1(...);%2\n"
"#else\n%1();%2\n#endif";
Expand Down
3 changes: 2 additions & 1 deletion gcc/config/i386/i386.c
Original file line number Diff line number Diff line change
Expand Up @@ -2869,7 +2869,8 @@ override_options (bool main_args_p)
error ("CPU you selected does not support x86-64 "
"instruction set");
}
/* Intel CPUs have always interpreted SSE prefetch instructions as

/* Intel CPUs have always interpreted SSE prefetch instructions as
NOPs; so, we can enable SSE prefetch instructions even when
-mtune (rather than -march) points us to a processor that has them.
However, the VIA C3 gives a SIGILL, so we only do that for i686 and
Expand Down
Loading

0 comments on commit 501797a

Please sign in to comment.