From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6898 invoked by alias); 16 Jun 2009 16:36:01 -0000 Received: (qmail 6838 invoked by uid 48); 16 Jun 2009 16:35:46 -0000 Date: Tue, 16 Jun 2009 16:36:00 -0000 Message-ID: <20090616163546.6837.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/34112] Add $!DEC ATTRIBUTE support for 32bit Windows' STDCALL In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "burnus at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-06/txt/msg01085.txt.bz2 ------- Comment #11 from burnus at gcc dot gnu dot org 2009-06-16 16:35 ------- Note information I got from Kai. (He was not 100% sure for some of the items and I probably misunderstood also parts thus take with a grain of salt.) With the stdcall attribute on Win32 the @ suffix is automatically added; with fastcall a @ prefix is added and with cdecl a leading _ is added. And with Win64 nothing is added (well, cdecl adds a leading _ but this is about to change). An alias does not automatically add the decoration thus the decoration attribute might be useful. (Though, we don't need to support (weak) aliases initially. For aliases, one needs in C a function prototype to get it working properly. Thus one needs to check how to handle it correctly.) Procedure pointers: Here, the calling method is also crucial, i.e. one needs to be able (a) to specify it for proc pointers and (b) one needs to check it when one does a proc pointer assignment. DLLEXPORT/DLLIMPORT: Here, one also needs to handle global variables (= common, module variables). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34112