[aspectc-user] __declspec issues

John Hawkins HAWKINSJ at uk.ibm.com
Thu Aug 19 11:19:44 CEST 2004




Oh Dear - I think I might have got another MS specific issue.

Its now complaining about

c:/progra~1/micros~2/vc98/include/rpcdce.h:169: error: invalid declaration
near
token `RPC_IF_CALLBACK_FN'

Which appears to be a MS'ism ->
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_if_callback_fn.asp

Any clues as to how to get around this one (without using the purchased
system?

thanks for your help,
John





                                                                           
             Daniel Lohmann                                                
             <daniel.lohmann at i                                             
             nformatik.uni-erl                                          To 
             angen.de>                 John Hawkins/UK/IBM at IBMGB           
                                                                        cc 
             18/08/2004 15:04          aspectc-user at aspectc.org            
                                                                   Subject 
                                       Re: [aspectc-user] __declspec       
                                       issues                              
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           





Hi John,


Most of the MS-specific language extensions are only parsed correctly
with the commercion version of ac++.exe, which is developed and sold by
pure-systems GmbH (http://www.pure-systems.com/) as part of their
VisualStudio AddIn.

As a workaround you may use "#ifdef __puma" which is defined during
parsing and weaving:

#ifdef __puma
    #define STORAGE_CLASS_INFO
#else
    #define STORAGE_CLASS_INFO __declspec(dllexport)
#endif

or, as a more general solution

#ifdef __puma
    #define __declspec(some_argument)
#endif


Have fun!

Daniel



John Hawkins wrote:

>I'm trying to make ac++ trace sample work against a "simple" class.
>However, the class has the following code snippet in one of its included
>headers ->
>
>"STORAGE_CLASS_INFO int initialize_module(int bServer);"
>
>where STORAGE_CLASS_INFO is a macro for "__declspec(dllexport)" (a windows
>specific api.)
>
>I'm getting the error -> error: invalid declaration near token `int'
>
>Why? I can only assume there is something wrong with ac++ handling of
>__declspec(dllexport)- but what?
>It's not an issue with the macro substitution because I have hardcoded it
>and still get the same error but i left it in for completeness incase
>someone knows otherwise.
>
>Compiler is MS VC6.0 (Yes, I know there are supposed to be issues but I
>only want to use it for trace at the moment so thought I could get away
>with it !)
>
>
>






More information about the aspectc-user mailing list