[Bug c++/11021] [3.3/3.4 regression] [cygwin/mingw]: Inheriting a virtual method from a dllimport'd base class->segfault

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Jul 4 07:42:00 GMT 2003


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11021



------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-07-04 07:42 -------
Subject: Bug 11021

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	dannysmith@gcc.gnu.org	2003-07-04 07:42:11

Modified files:
	gcc            : ChangeLog 
	gcc/doc        : extend.texi 
	gcc/config/i386: winnt.c 

Log message:
	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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.325&r2=2.326
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/extend.texi.diff?cvsroot=gcc&r1=1.146&r2=1.147
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/winnt.c.diff?cvsroot=gcc&r1=1.48&r2=1.49



More information about the Gcc-bugs mailing list