[aspectc-user] Aspect C++ and Symbian

Marti Bayo-alemany malemany at nero.com
Mon Sep 12 18:20:37 CEST 2005


Hi all,
I want to point out two things.
I am actually using whole program transformation to deal with the symbian 
project (WPT).
The reason is the dificulty to integrate ac++ into the makefiles from the 
build process of symbian.
I know that WPT is deprecated and I guess that is because it needs a huge 
amount of memory to process the project. On my case more than 500 Mb. 
However my computer has enough memory so I keep on it first.

The second thing is a bug of Aspect C++. Something which is actually not 
working good with ac++

C:/MySource/MobileNeroDigital/neroplayer/nero_gui/Symbian/AspectC/src-ah-in/NEventManager.cpp:141: 
error: invalid operand to unary `&'
The offending line is ...
    m_ITrackInfoCache->FlushSetInfoQueue(&NAbortHandler());

Which is defined as ...
 virtual void FlushSetInfoQueue(NeroBase::IAbortHandler * p_abort) = 0;

where NAbortHandler is ...
 class NAbortHandler : public NeroBase::IAbortHandler

The solution was  to change that...

  m_ITrackInfoCache->FlushSetInfoQueue(&NAbortHandler());

...for that ...
   NAbortHandler l_AbortHandler;
    m_ITrackInfoCache->FlushSetInfoQueue(&l_AbortHandler);

Hope that helps.
Best wishes,
Marti

----- Original Message ----- 
From: "Marti Bayo-alemany" <malemany at nero.com>
To: "Olaf Spinczyk" <Olaf.Spinczyk at informatik.uni-erlangen.de>
Cc: <aspectc-user at aspectc.org>
Sent: Monday, September 12, 2005 9:52 AM
Subject: Re: [aspectc-user] Re: Aspect C++ and Symbian Error


> Hi,
>
> I have found the same definition on the stdlib headers of MSVC6 and MSCV7, 
> they are probably also cutting the Gordian knot.
> The solution is to keep two different headers one to compile the program 
> and one for the transformation with ac++.
> Just a stdlib with a commented typedef for ac++ and a stdlib for 
> compilation. The typedef is really needed for compilation.
>
> best wishes,
> Marti
>
> ----- Original Message ----- 
> From: "Olaf Spinczyk" <Olaf.Spinczyk at informatik.uni-erlangen.de>
> To: "Marti Bayo-alemany" <malemany at nero.com>
> Cc: <aspectc-user at aspectc.org>
> Sent: Friday, September 09, 2005 10:00 AM
> Subject: Re: [aspectc-user] Re: Aspect C++ and Symbian Error
>
>
>> Hi again,
>>
>> I haven't found an email with a solution :-(. However, I looked into an 
>> old version of this Symbian header file. There I found the typedef and an 
>> interesting comment by the Symbian developers..
>>
>> /* There seems to be a lot of nonsense about _need_wchar_t etc., but for
>>  * STDLIB we have cut the Gordian knot and done the simple thing
>>  */
>>
>> In my opinion, cutting the Gordian knot was not a good idea ;-) as in C++ 
>> normally wchar_t is a keyword.
>>
>> BTW, g++ 3.3 also reports the typedef as an error:
>>
>> limits.c:5: error: redeclaration of C++ built-in type `wchar_t'
>>
>> As a workaround you can either modify this file (remove the typedef) or 
>> create a modified copy that is locate in a directory, which is searched 
>> first by ac++.
>>
>> Maybe a macro would also help:
>>
>> #define wchar_t symbian_wchar_t
>>
>> (no guarantee)
>>
>> Regarding ac++ we'll have to find out which compiler versions tolerate 
>> such a typedef and if we can integrate this behavior, e.g. in the 
>> g++-2.95 mode.
>>
>> -Olaf
>>
>>
>> Olaf Spinczyk wrote:
>>> Hi,
>>>
>>> the problem is that this peace of code is not standard compliant. 
>>> wchar_t is a keyword in C++. Therefore, this typedef is similar to 
>>> something like
>>>
>>> typedef int long;
>>>
>>> which also makes no sense.
>>>
>>> I remember that we have already had this problem in the symbian header 
>>> files some time ago. I'll search my emails and post the solution as soon 
>>> as possible.
>>>
>>> Could you meanwhile check if there is an #ifdef around this typedef? 
>>> Something like #ifdef __HAVE_BUILTIN_WCHAR_T.
>>>
>>> Best regards,
>>>
>>> Olaf
>>>
>>>
>>> Marti Bayo-alemany wrote:
>>>> Hi All,
>>>> You should have all the same problem with the stddef.h headers for 
>>>> MSVC6, MSVC7.
>>>>  best wishes,
>>>> Marti
>>>>
>>>>     ----- Original Message -----
>>>>     *From:* Marti Bayo-alemany <mailto:malemany at nero.com>
>>>>     *To:* aspectc-user at aspectc.org <mailto:aspectc-user at aspectc.org>
>>>>     *Sent:* Thursday, September 08, 2005 7:12 PM
>>>>     *Subject:* Aspect C++ and Symbian Error
>>>>
>>>>     Hi all,
>>>>          I get the following error from ac++ when trying to compile 
>>>> with stddef
>>>>     C:/Symbian/7.0s/Series60_v20/Epoc32/include/libc/stddef.h:13: 
>>>> error:
>>>>     `signed' or `unsigned' invalid for given type            The 
>>>> offending line of code is ...
>>>>     typedef unsigned short int wchar_t;
>>>>          any idea how to work around that ?
>>>>          best wishes,
>>>>     Marti
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> aspectc-user mailing list
>>>> aspectc-user at aspectc.org
>>>> http://www.aspectc.org/mailman/listinfo/aspectc-user
>>>
>>> _______________________________________________
>>> aspectc-user mailing list
>>> aspectc-user at aspectc.org
>>> http://www.aspectc.org/mailman/listinfo/aspectc-user
>>
>>
>>
>
> _______________________________________________
> 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