• mmitchel's avatar
    * tree.c (handle_dll_attribute): Move here from i383/winnt.c. · 3aa0c315
    mmitchel authored
    	Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P.  Set
    	DECL_VISIBLITY.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
    	* tree.h (handle_dll_attribute): Declare.  Test
    	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
    	* c-common.h (c_determine_visibility): Declare.
    	* c-common.c (c_determine_visibility): New function.
    	* c-decl.c (finish_decl): Use it.
    	(finish_function): Likewise.
    	* defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
    	zero, by default.  Use #if, not	#ifdef, to test it.
    	* config/arm/arm.c (arm_attribute_table): Use
    	handle_dll_attribute.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
    	#if.
    	* config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
    	* config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
    	to 1.
    	* config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
    	* config/i386/i386.c (ix86_attribute_table): Use
    	handle_dll_attribute for dllimport/dllexport.  Test
    	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
    	* config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
    	* config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
    	it to 1.
    	* config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
    	with #if.
    	* config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
    	it to 1.
    	* doc/extend.texi (dllexport): Clarify and correct documentation.
    	(dllimport): Likewise.
    	* doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
    	handle_dll_attribute.
    
    	* decl.c (start_preparsed_function): Move determine_visibility
    	call.
    	* decl2.c (determine_visibility): Incorporate dllexport testing.
    
    	* g++.dg/ext/visibility/assign1.C: Use scan-hidden and
    	dg-require-visiblity.
    	* g++.dg/ext/visibility/fvisibility-inlines-hidden.C: Likewise.
    	* g++.dg/ext/visibility/fvisibility.C: Likewise.
    	* g++.dg/ext/visibility/memfuncts.C: Likewise.
    	* g++.dg/ext/visibility/new1.C: Likewise.
    	* g++.dg/ext/visibility/pragma.C: Likewise.
    	* g++.dg/ext/visibility/staticmemfuncts.C: Likewise.
    	* g++.dg/ext/visibility/virtual.C: Likewise.
    	* g++/dg/ext/visibility/visibility-1.C: Likewise.
    	* g++/dg/ext/visibility/visibility-2.C: Likewise.
    	* g++/dg/ext/visibility/visibility-3.C: Likewise.
    	* g++/dg/ext/visibility/visibility-4.C: Likewise.
    	* g++/dg/ext/visibility/visibility-5.C: Likewise.
    	* g++/dg/ext/visibility/visibility-6.C: Likewise.
    	* g++/dg/ext/visibility/visibility-7.C: Likewise.
    	* g++/dg/ext/visibility/visibility-8.C: New test.
    	* gcc.c-torture/compile/dll.x: Remove.
    	* gcc.dg/dll-2.c: Use dg-require-dll
    	* gcc.dg/visibility-10.c: New test.
    	* lib/gcc-dg.exp (dg-require-dll): Add Symbian to list of targets
    	supporting DLLs.
    	* testsuite/lib/scanasm.exp (scan_hidden): New function.
    	(scan_not_hidden): Likewise.
    
    
    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85621 138bc75d-0d04-0410-961f-82ee72b054a4
    3aa0c315
i386-protos.h 10 KB