[aspectc-user] compiling boost library

Matthias Urban matthias.urban at pure-systems.com
Thu Jul 15 11:10:40 CEST 2004


Hi,

> 2) In the STL implementation Microsoft use code like this:
> 
> class _CRTIMP_PURE exception
> { // base of all library exceptions
> public:
> ...
> exception& __CLR_OR_THIS_CALL operator=(const exception& _That)
>    {
>         if (this != &_That)
>         {
>             this->exception::~exception();
>             this->exception::exception(_That);       // -> AC++ ERROR
>         }
>         return *this;
>     }
> ...
> 
> but ac++ report an error:
> 
> D:/Programmi/Microsoft Visual Studio 8/VC/INCLUDE/exception:120: error: 
> `exception::exception' does not refer to object or function
> 
> Is this a Microsoft C++ extension? Can I solve this?


This is a MS Visual C++ extension indeed. In ISO C++ it is not possible
(even not parsable) to call a constructor directly in a member access
expression.

Since there is no conflicting other meaning in ISO C++ we should support
this syntax too. Thank you for reporting this extension.

For now you can try to parse your application using the
--skip-bodies-non-prj command line option (also usable in the config
file). This causes the parser to skip all function/method bodies in
files that do not belong to your project (e.g. system include files).

Matthias





More information about the aspectc-user mailing list