Hi all,
Looking at:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcechp40/html/ccrefPredefinedPreprocessorIdentifiers.asp
It says:
*_M_ARM* Defined as 4 for ARM.
*_M_ARMT* Defined as 4 for Thumb.
But, testing with MSVC with the following mini-program,
and with changing the target processor type in the project settings,
I see that _M_ARM and _M_ARMT get defined to 4 or 5 depending on
what arm arch is selected. Also, _M_ARMT is only defined if a thumb
enabled arch is selected (armv4t and armv5t).
Therefore I am committing the attached patches, to make us define the
same values too.
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
printf ("_M_ARM = %d\n", _M_ARM);
#ifdef _M_ARMT
printf ("_M_ARMT = %d\n", _M_ARMT);
#else
printf ("_M_ARMT not defined\n");
#endif
return 0;
}
Cheers,
Pedro Alves
---
src/gcc/gcc/ChangeLog.ce:
2006-11-12 Pedro Alves <[EMAIL PROTECTED]>
* config/arm/wince-pe.h (TARGET_OS_CPP_BUILTINS): Delete _M_ARM
and ARM.
---
src/w32api/ChangeLog.ce:
2006-11-12 Pedro Alves <[EMAIL PROTECTED]>
* include/winnt.h (_M_ARM, ARM): Translate from gcc target defines.
Index: config/arm/wince-pe.h
===================================================================
--- config/arm/wince-pe.h (revision 780)
+++ config/arm/wince-pe.h (working copy)
@@ -73,9 +73,7 @@
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
- builtin_define ("_M_ARM=1"); \
- builtin_define ("ARM=1"); \
- /* We currently defined UNDER_CE to a non-value, and it seems \
+ /* We currently define UNDER_CE to a non-value, as it seems \
MSVC2005 does the same. */ \
builtin_define_std ("UNDER_CE"); \
builtin_define ("_UNICODE"); \
Index: winnt.h
===================================================================
--- winnt.h (revision 791)
+++ winnt.h (working copy)
@@ -15,6 +15,30 @@
#elif defined(__i386__) && !defined(_M_IX86)
#define _M_IX86 300
#endif
+
+#if !defined(_M_ARM)
+#if defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__)
+#define _M_ARM 4
+#elif defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5T__) \
+ || defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
+#define _M_ARM 5
+#elif defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6ZK__) \
+ || defined (__ARM_ARCH_6K__)
+#define _M_ARM 6
+#endif
+#endif /* !defined(_M_ARM) */
+
+#if !defined(_M_ARMT)
+#if defined (__ARM_ARCH_4T__)
+#define _M_ARMT 4
+#elif defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5TE__) || defined
(__ARM_ARCH_5TEJ__)
+#define _M_ARMT 5
+#elif defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6ZK__) \
+ || defined (__ARM_ARCH_6K__)
+#define _M_ARMT 6
+#endif
+#endif /* !defined(_M_ARMT) */
+
#if defined(_M_IX86) && !defined(_X86_)
#define _X86_
#elif defined(_M_ALPHA) && !defined(_ALPHA_)
@@ -25,6 +49,8 @@
#define _MIPS_
#elif defined(_M_M68K) && !defined(_68K_)
#define _68K_
+#elif defined(_M_ARM) && !defined(ARM)
+#define ARM
#endif
#ifdef __cplusplus
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel