delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/10/26/11:16:11

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Message-ID: <002101bf1fc4$a53a5da0$030110b0@wales.dev.dwl.co.uk>
From: "Andreas Damm" <dammy AT dwl DOT co DOT uk>
To: <cygwin AT sourceware DOT cygnus DOT com>
Subject: dllimport whole classes
Date: Tue, 26 Oct 1999 16:13:22 +0100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.5
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3

I am using Mumit Khan's cygwin gcc-2.95 update to compile a dll containing c++
classes. Building the dll works fine using __attribute__((dllexport)) (after I
updated to Mumit's version to fix the multiple copies of inline functions bug).
Unfortunatly, when compiling code that uses those classes, i.e. tagging the
class __attribute__((dllimport)) I get:

test.cpp:13: Internal compiler error, output_operand_lossage `invalid expression
 as operand'

Here is the source of test.cpp:

class __attribute__((dllimport)) FOO
{
public:
    virtual void foo();
};

void foo()
{
    FOO f;

    f.foo();
}

It only seems to happen if FOO contains virtual functions, i.e. making FOO::foo
non-virtual will work.



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019