[aspectc-user] __declspec issues
Daniel Lohmann
daniel.lohmann at informatik.uni-erlangen.de
Thu Aug 19 15:03:24 CEST 2004
John Hawkins wrote:
>
>
>Yep, that's the code alright :-((
>
>This is going to scupper the Axis C++ projects use of AspectC++ in that
>case (very sad :-(
>
>If I create bug report what's the next step - are you guys working on
>this stuff permanently, would you ignore this because it's a v 6.0 issue
>(don't know if it's a v7 issue)?
>
>
John,
As the weaver is complaining about the line, I doubt that this is a VC6
specific issue.
RPC_ENTRY is defined as __stdcall, RPC_STATUS as long and IN/OUT are
just for documentation purposes and defined as nothing, so the line
typedef RPC_STATUS RPC_ENTRY
RPC_IF_CALLBACK_FN (
IN RPC_IF_HANDLE InterfaceUuid,
IN void *Context
) ;
expands to
typedef long __stdcall
RPC_IF_CALLBACK_FN (
RPC_IF_HANDLE InterfaceUuid,
void *Context
) ;
which should not result in any weaving problems.
I was not able to reproduce your problem, regardless of using the free
or commercial edition, VC6 headers or newer ones from the PlatformSDK.
I tried the following test application and did not encounter any problems:
// main.cpp
#include <stdio.h>
#include <windows.h>
#include <rpcdce.h>
int main() {
printf( "Hello from main!\n" );
return 0;
}
// aspect.ah
#include <stdio.h>
aspect Hello {
advice execution( "% main(...)" ) : before() {
printf( "Hello from Aspect :-)\n" );
}
};
This all makes me believe that the real problem is somewhere else and
for some reason not detected/reported earlier during the weaving process.
Maybe you can track down the thing to a smaller test app so we can
reproduce it?
Regards
Daniel
>Does the corresponding source code look like this?
>
>
>typedef RPC_STATUS RPC_ENTRY
>RPC_IF_CALLBACK_FN (
> IN RPC_IF_HANDLE InterfaceUuid,
> IN void *Context
> ) ;
>
>
>If so, I also can't say what's going wrong. It can only be that
>RPC_STATUS and RPC_ENTRY resolve to nothing (which is a syntax error in
>C++) or IN resolves to something MS specific that our parser doesn't
>understand.
>
>
>Matthias
>
>--
>Matthias Urban Phone: +49-391-544569-32
>pure-systems GmbH Fax: +49-391-544569-90
>
>
>
>_______________________________________________
>aspectc-user mailing list
>aspectc-user at aspectc.org
>http://www.aspectc.org/mailman/listinfo/aspectc-user
>
>
>
More information about the aspectc-user
mailing list