fpcls on arm.

David Friedman dvdfrdmn at users.ess-eff.net
Tue Jul 15 20:53:02 PDT 2008


Vincent Richomme wrote:
> Yes that what I did but I wasn't sure.
> Now here is the remarks I have :
> 
> 1) in std.c.windows.windows windows functions are declared in their ANSI 
> and UNICODE version but in windows CE only Unicode version exist(except 
> a few exceptions) .
> 
> My question is should I declare a std.c.windows.windowsce where I could 
> declare only Unicode version and specific functions or should I modify 
> std.c.windows.windows and add some global precompilation variable, for 
> instance UnderCE and Unicode :
> 
> version(Unicode)
> {
>    export
>    {
>     BOOL CreateDirectoryW(LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES
>                               lpSecurityAttributes);
>    }
> }
> else
> {
>  export
>    {
>     BOOL CreateDirectoryA(LPCSTR lpPathName, 
> LPSECURITY_ATTRIBUTES                                  
> lpSecurityAttributes);
>    }
> }
> 

The C header included with the wince-mingw32 package defines both the A 
and W versions, so I do not see the need to do this.

> and then would it be possible to keep the same logic as windows , I mean 
>  to be able to use short name (without A or W) in function of encoding.
> 
> 
> 
> version(Unicode)
> {
> alias CreateDirectoryW CreateDirectory
> ..
> .
> }
> else
> {
> alias CreateDirectoryA CreateDirectory
> }
> 
> 

You could do this.  Actually, you may want to bring this up in the main 
newgroup because it applies to the desktop Windows API too.


> 2) In std.thread.d and in gc/win32, the function os_query_stackBottom() 
> is implemented using x86 assembler and is not portable to other 
> architecture.
> By the way why is important to know the "bottom" of stack for the thread 
> ? Is it a hack specific to windows and if I tell you how to get bottom 
> of stack on windows CE will it work ?
> 
> 

The garbage collector needs to know how far back to scan from the top of 
the main stack.

If there is no trick to get it under WinCE, you can adapt the guessing 
code from gc.gcgcc and dgccmain2.d

> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> David Friedman a écrit :
>> Stagiaire Baptiste et Sandrine wrote:
>>> Hi,
>>>
>>> I'm working on a D crosscompiler targetting arm cellphone running 
>>> wince and I get some trouble with the compilation of the phobos 
>>> library. It cannot find
>>> the module gcc.config.fpcls.
>>>
>>> In the configure script of phobos it appears that for some target the 
>>> variable
>>> d_use_ieee_fpsb is set. What does fpsb stand for and can we add arm 
>>> on the list
>>> of supported cpu ?
>>>
>>>
>>
>>
>> In the phobos configure.in script, look for this section:
>>
>> case "$target_cpu" in
>>     i*86|powerpc*|ppc*|x86_64 ) d_use_ieee_fpsb=1 ;;
>>     *) d_use_ieee_fpsb=0 ;;
>> esac
>>
>>
>> Change the second line to this:
>>
>>     i*86|powerpc*|ppc*|x86_64|arm* ) d_use_ieee_fpsb=1 ;;
>>
>> If you don't have autoconf, you can directly edit "configure".
>>
>> "fpsb" stands for "fpclass()/signbit()"
>>
>> David


More information about the D.gnu mailing list