delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT sources DOT redhat DOT com> |
List-Archive: | <http://sources.redhat.com/ml/cygwin/> |
List-Post: | <mailto:cygwin AT sources DOT redhat DOT com> |
List-Help: | <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs> |
Sender: | cygwin-owner AT sources DOT redhat DOT com |
Delivered-To: | mailing list cygwin AT sources DOT redhat DOT com |
Message-ID: | <20010810004215.70061.qmail@web14505.mail.yahoo.com> |
Date: | Fri, 10 Aug 2001 10:42:15 +1000 (EST) |
From: | =?iso-8859-1?q?Danny=20Smith?= <danny_r_smith_2001 AT yahoo DOT co DOT nz> |
Subject: | RE: Why does this __declspec(dllimport) fail to compile? |
To: | Cygwin <cygwin AT cygwin DOT com> |
MIME-Version: | 1.0 |
To: cygwin at sources dot redhat dot com Subject: Why does this __declspec(dllimport) fail to compile? From: Mo DeJong <mdejong at cygnus dot com> Date: Thu, 9 Aug 2001 02:10:53 -0700 (PDT) ------------------------------------------------------------------------ The code does compile if use G++. I think the FAQ you cite says that MSVC++ also needs to compile as C++ This function is provided by G++ to do the job: gcc/cp/decl2.c /* The name of the function we create to handle initializations and destructions for objects with static storage duration. */ #define SSDF_IDENTIFIER "__static_initialization_and_destruction" Danny ----------------------------------------------------------------------- Mo DeJong wrote: Hi. I have run into a little problem with a static initializer that seems to work just fine with VC++ but fails with gcc. % cat callback.c extern __declspec(dllimport) void ExtCallback(void); typedef void (callback) (void); typedef struct Scallback { callback*c1; } Scallback; static Scallback scall = {ExtCallback}; int main() { callback*sc = scall.c1; return (int) sc; } % gcc -c callback.c callback.c:10: initializer element is not constant callback.c:10: (near initialization for `scall.c1') When this same code it compiled with VC++ it waits until link time to figure out the function address. Why does this fail with gcc? P.S. Other folks have mentioned this python FAQ but it does not explain why gcc generates this error. http://www.python.org/doc/FAQ.html#3.24 _____________________________________________________________________________ http://shopping.yahoo.com.au - Father's Day Shopping - Find the perfect gift for your Dad for Father's Day -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |