]> gcc.gnu.org Git - gcc.git/commit - gcc/tree.h
Support for dllimport and dllexport attributes for i386-pe.
authorMumit Khan <khan@xraylith.wisc.edu>
Tue, 7 Jul 1998 00:05:27 +0000 (00:05 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 7 Jul 1998 00:05:27 +0000 (18:05 -0600)
commit27da1b4d5a1c30a60a38f725f2119fda88854d88
tree75c3f6b8a5b39fd43548abba6d1860adc4b7c3fe
parentbceb30e77bd19db8debc5182b75018c169acd6ff
Support for dllimport and dllexport attributes for i386-pe.

* tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
(struct tree_decl): Add non_addr_const_p field.
* tree.c (staticp): Use.
* i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
attributes.
(SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
attributes. Also accept -mwindows option.
(VALID_MACHINE_DECL_ATTRIBUTE): New macro.
(MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
(REDO_SECTION_INFO_P): New macro.
(DRECTVE_SECTION_FUNCTION): New macro.
(drectve_section): Cover function to implement above.
(SWITCH_TO_SECTION_FUNCTION): New macro.
(switch_to_section): Covert function to implement above.
(EXTRA_SECTIONS): Add in_drectve.
(EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
(ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
(STRIP_NAME_ENCODING): Handle new attributes.
(ASM_OUTPUT_LABELREF): New macro.
(ASM_OUTPUT_FUNCTION_NAME): New macro.
(ASM_OUTPUT_COMMON): New macro.
(ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
* i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
attributes.
* i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
(i386_pe_merge_decl_attributes): New function.
(i386_pe_check_vtable_importexport): New function.
(i386_pe_dllexport_p): New function.
(i386_pe_dllimport_p): New function.
(i386_pe_dllexport_name_p): New function.
(i386_pe_dllimport_name_p): New function.
(i386_pe_mark_dllexport): New function.
(i386_pe_mark_dllimport): New function.
(i386_pe_encode_section_info): New function.
(i386_pe_unique_section): Strip encoding from name first.

From-SVN: r20983
gcc/ChangeLog
gcc/config/i386/cygwin32.h
gcc/config/i386/mingw32.h
gcc/config/i386/winnt.c
gcc/tree.c
gcc/tree.h
This page took 0.054103 seconds and 5 git commands to generate.