Merge further Compiler Compatibility fixes onto RCL_3 branch. RCL_3
authorSimon Howkins <simonh@symbian.org>
Fri, 05 Mar 2010 15:41:00 +0000
branchRCL_3
changeset 73 9c2a3e4960cf
parent 71 d1c432433c43 (current diff)
parent 70 3f73f939db10 (diff)
child 75 2ee5df201f60
Merge further Compiler Compatibility fixes onto RCL_3 branch.
--- a/kernel/eka/euser/epoc/arm/uc_dll.cpp	Fri Mar 05 15:15:09 2010 +0000
+++ b/kernel/eka/euser/epoc/arm/uc_dll.cpp	Fri Mar 05 15:41:00 2010 +0000
@@ -44,11 +44,11 @@
 	return 0;
 	}
 
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
 
 void __DLL_Export_Table__(void);
 void __cpp_initialize__aeabi_(void);
-__weak void run_static_dtors(void);
+__WEAK__ void run_static_dtors(void);
 
 GLDEF_C TInt _E32Dll_Body(TInt aReason)
 	{
--- a/kernel/eka/euser/epoc/arm/uc_exe.cpp	Fri Mar 05 15:15:09 2010 +0000
+++ b/kernel/eka/euser/epoc/arm/uc_exe.cpp	Fri Mar 05 15:41:00 2010 +0000
@@ -70,11 +70,11 @@
 	}
 }
 
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
 
 TInt CallThrdProcEntry(TInt (*aFn)(void*), void* aPtr, TInt aNotFirst);
 
-__weak void run_static_dtors(void);
+__WEAK__ void run_static_dtors(void);
 
 void globalDestructorFunc()
 	{
--- a/kernel/eka/include/e32def.h	Fri Mar 05 15:15:09 2010 +0000
+++ b/kernel/eka/include/e32def.h	Fri Mar 05 15:41:00 2010 +0000
@@ -446,7 +446,7 @@
 #if __GNUC__ < 4
 #define _FOFF(c,f)			(((TInt)&(((c *)0x1000)->f))-0x1000)
 #else
-#define _FOFF(c,f)			__builtin_offsetof(c,f)
+#define _FOFF(c,f)			(__builtin_offsetof(c,f))
 #endif
 #endif
 
--- a/kernel/eka/nkern/arm/nk_entry.cia	Fri Mar 05 15:15:09 2010 +0000
+++ b/kernel/eka/nkern/arm/nk_entry.cia	Fri Mar 05 15:41:00 2010 +0000
@@ -80,7 +80,7 @@
 	asm("__CtorList: ");
 	asm(".word __CTOR_LIST__ ");
 	}
-#elif defined(__ARMCC__)
+#elif defined(__EABI__)
 void __DLL_Export_Table__(void);
 void __cpp_initialize__aeabi_();
   
@@ -89,7 +89,7 @@
 void __record_needed_destruction (void * d){}
 // 2.1 calls __aeabi_atexit passing __dso_handle. This can be a dummy (i.e. just a label)
 
-__asm void __dso_handle(void) {}
+__NAKED__  void __dso_handle(void) {}
 void __aeabi_atexit(void *object, void (*dtor)(void *), void *handle){}
 
 void _E32Startup_Body(TLinAddr aRomHeader, TLinAddr aSuperPage);
--- a/kernel/eka/personality/example/personality.h	Fri Mar 05 15:15:09 2010 +0000
+++ b/kernel/eka/personality/example/personality.h	Fri Mar 05 15:41:00 2010 +0000
@@ -41,6 +41,8 @@
 typedef unsigned int size_t;
 #elif defined(__ARMCC__)
 typedef unsigned int size_t;
+#elif defined(__GCCE__)
+typedef unsigned int size_t;
 #endif
 
 #ifdef __cplusplus
--- a/userlibandfileserver/fileserver/sfile/sf_func.h	Fri Mar 05 15:15:09 2010 +0000
+++ b/userlibandfileserver/fileserver/sfile/sf_func.h	Fri Mar 05 15:41:00 2010 +0000
@@ -918,9 +918,12 @@
 public:
 	static TInt Initialise(CFsRequest* aRequest);
 	static TInt DoRequestL(CFsRequest* aRequest);
-#ifndef __GCC32__  || __GCCE__// GCC does not like AddFsToCompositeMountL() being private 
+	
+#ifndef __GCCE__ // GCC does not like AddFsToCompositeMountL() being private 
+#ifndef __GCC32__ // GCC does not like AddFsToCompositeMountL() being private 
 private:
 #endif
+#endif
 	static void AddFsToCompositeMountL(TInt aDriveNumber, CFileSystem& aFileSystem, TInt aLocalDriveNumber);
 	};