fpcls on arm.

Vincent Richomme forumer at smartmobili.com
Mon Jul 14 12:54:42 PDT 2008


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);
    }
}

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
}


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 ?














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