FW: [aspectc-user] Visual Studio and ac++ ?
Matthias Urban
matthias.urban at pure-systems.com
Wed Mar 19 12:17:08 CET 2008
Hi,
thanks a lot for your bug report.
> 1) ac++ don't seem to support that kind of include preprocessor
> command containing windows style backslash path separators :
>
> #include <in\here.h>
>
> But maybe it is rather due to Visual Studio supporting an out of
> C++ specification feature ?
That it is. But at least in the --vc mode, this path syntax has to be
supported too. I've added a corresponding bug in the AspectC++ Bugzilla.
> 2) I got stuck on a strange class declaration :
>
> Here is a simplified extract of what is causing this trouble :
>
> --------------------------
> template <bool _SECURE_VALIDATION>
> class _Iterator : public _Const_iterator<_SECURE_VALIDATION>
> {
> friend _Iterator<false>;
> friend _Iterator<true>;
> };
> ----------------------------
>
> ac++ don't like the first friend declaration.
>
> Note that, as I don't know what can cause this trouble, maybe I
> simplified too much this extract.
Here the problem is that you are not allowed to define a class type
friend without specifying keyword "class", i.e. the friends should look
like this:
friend class _Iterator<false>;
friend class _Iterator<true>;
That's again a nasty and completely mindless VC++ extension.
> 3) The following extract of file crtwrn.h is not parsable for
> ac++ because of the second backslash :
>
> ------------------------------------
> #define _CRTWRN_MESSAGE__NO_ITERATOR_DEBUGGING Iterator debugging not \
> supported in retail builds.\n \
> Setting _HAS_ITERA##TOR_DEBUGGING=0
> ------------------------------------
I can not reproduce it. Maybe we fixed it in the meanwhile, accidentally.
> 4) The "using namespace" formulation doesn't seem to be
> supported by ac++, at least for the following example:
>
> -------------
> #include <aFile.h> // namespaces are declared within aFile.h
> using namespace namespaceOne;
>
> class A : public B
> {
> // namespaceTwo is defined within namespaceOne
> namespaceTwo::aType myVariable;
> }
> -------------
>
> An error is reported on "myVariable" declaration.
That's a surprising bug because such constructs should be quite often.
I've added a new bug report for this.
> Hope it will help.
Yes, it really helped a lot. Thanks again.
Best regards,
Matthias
More information about the aspectc-user
mailing list