PR c++/5287, PR c++/7910, PR c++/11021
authorDanny Smith <dannysmith@users.sourceforge.net>
Fri, 4 Jul 2003 07:42:11 +0000 (07:42 +0000)
committerDanny Smith <dannysmith@gcc.gnu.org>
Fri, 4 Jul 2003 07:42:11 +0000 (07:42 +0000)
commit6b6cb52e94e6edcd7469d0f688c352676499556a
treef65870e0bd14c239781b3852c0315e7496177c07
parent369b78b0e49eece1fb58e75ad5bf1c7659f78efe
PR c++/5287, PR c++/7910, PR c++/11021

PR c++/5287, PR c++/7910,  PR c++/11021
* config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
dllimport attribute if function is defined at declaration, but
report error instead. Likewise for dllimport'd variable
definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
declared within functions, Report error if dllimport or dllexport
symbol is not global.
(i386_pe_dllimport_p): Ignore dllimport attribute of functions
if defined after declaration or if inlined. Don't allow definition
of static data members of C++ classes. Don't dllimport virtual
methods.
(i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
(i386_pe_mark_dllimport): Remove unnecessary checks.
(i386_pe_encode_section_info): Warn if the dllimport attribute
and symbol prefix have been instantiated and then overridden.

* doc/extend.texi: Document dllimport and dllexport attributes.

* config/i386/winnt.c (i386_pe_output_labelref): Fix indents.

From-SVN: r68916
gcc/ChangeLog
gcc/config/i386/winnt.c
gcc/doc/extend.texi