Remove the (TInt) casts from address expressions in asm() statements, as a fix for Bug 2905 GCC_SURGE
authorWilliam Roberts <williamr@symbian.org>
Fri, 11 Jun 2010 17:56:35 +0100
branchGCC_SURGE
changeset 144 c5e01f2a4bfd
parent 143 de794338254b
child 145 ec910f1bb750
Remove the (TInt) casts from address expressions in asm() statements, as a fix for Bug 2905
bsptemplate/asspandvariant/template_assp/interrupts.cia
kernel/eka/include/kernel/execs.h
kernel/eka/kernel/arm/cache_maintenance.cia
kernel/eka/kernel/arm/ckernel.cia
kernel/eka/nkern/arm/ncsched.cia
kernel/eka/nkern/arm/ncutilf.cia
kernel/eka/nkern/arm/ncutils.cia
--- a/bsptemplate/asspandvariant/template_assp/interrupts.cia	Fri Jun 11 17:54:34 2010 +0100
+++ b/bsptemplate/asspandvariant/template_assp/interrupts.cia	Fri Jun 11 17:56:35 2010 +0100
@@ -88,6 +88,6 @@
 	asm("__KTemplateIntCtrlBase: ");
 	asm(".word %a0" : : "i" ((TInt)KHwBaseInterrupts));
 	asm("__Handlers: ");
-	asm(".word %a0" : : "i" ((TInt)&TemplateInterrupt::Handlers[0]));
+	asm(".word %a0" : : "i" (&TemplateInterrupt::Handlers[0]));
 	}
 
--- a/kernel/eka/include/kernel/execs.h	Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/include/kernel/execs.h	Fri Jun 11 17:56:35 2010 +0100
@@ -127,7 +127,7 @@
 #define FAST_EXEC_END
 
 #define DECLARE_WORD(n)				asm(".word %a0" : : "i" ((TInt)n));
-#define	DECLARE_FUNC(f)				asm(".word %a0" : : "i" ((TInt)&f));
+#define	DECLARE_FUNC(f)				asm(".word %a0" : : "i" (&f));
 #define	DECLARE_FAST_EXEC_INVALID	DECLARE_FUNC(InvalidFastExec)
 
 #define	SLOW_EXEC_BEGIN	\
--- a/kernel/eka/kernel/arm/cache_maintenance.cia	Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/kernel/arm/cache_maintenance.cia	Fri Jun 11 17:56:35 2010 +0100
@@ -58,9 +58,9 @@
 	__JUMP(,lr);
 
 	asm("__DCacheInfo: ");
-	asm(".word %a0" : : "i" ((TInt)&InternalCache::Info[KCacheInfoD]));
+	asm(".word %a0" : : "i" (&InternalCache::Info[KCacheInfoD]));
 	asm("__ICacheInfo: ");
-	asm(".word %a0" : : "i" ((TInt)&InternalCache::Info[KCacheInfoI]));
+	asm(".word %a0" : : "i" (&InternalCache::Info[KCacheInfoI]));
 	asm("__TheScheduler: ");
 	asm(".word TheScheduler ");
 	}
@@ -340,7 +340,7 @@
 	__JUMP(,lr);
 	
 	asm("__ExternalCacheCtrlBase: ");
-	asm(".word %a0" : : "i" ((TInt)&Base));
+	asm(".word %a0" : : "i" (&Base));
 	asm("__KDummyUncachedAddr: ");
 	asm(".word %a0" : : "i" ((TInt)KDummyUncachedAddr));
 }
@@ -376,7 +376,7 @@
 	__POPRET("");
 	
 	asm("__ExternalCacheCtrlBase: ");
-	asm(".word %a0" : : "i" ((TInt)&Base));
+	asm(".word %a0" : : "i" (&Base));
 	asm("__KDummyUncachedAddr: ");
 	asm(".word %a0" : : "i" ((TInt)KDummyUncachedAddr));
 }
@@ -413,10 +413,10 @@
 	__POPRET("");
 	
 	asm("__ExternalCacheCtrlBase: ");
-	asm(".word %a0" : : "i" ((TInt)&Base));
+	asm(".word %a0" : : "i" (&Base));
 #if defined(__SMP__)
 	asm("__PL310SpinLock: ");
-	asm(".word %a0" : : "i" ((TInt)&iLock));
+	asm(".word %a0" : : "i" (&iLock));
 #endif	
 }
 #endif //(__ARM_L210_CACHE__) or (__ARM_L220_CACHE__) or (__ARM_PL310_CACHE__)
--- a/kernel/eka/kernel/arm/ckernel.cia	Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/kernel/arm/ckernel.cia	Fri Jun 11 17:56:35 2010 +0100
@@ -544,7 +544,7 @@
 	__JUMP(,lr);
 
 	asm("__FirstFree: ");
-	asm(".word %a0" : : "i" ((TInt)&FirstFree));
+	asm(".word %a0" : : "i" (&FirstFree));
 	}
 
 __NAKED__ void TThreadWaitList::ChangePriority(DThread* aThread, TInt aNewPriority)
--- a/kernel/eka/nkern/arm/ncsched.cia	Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/nkern/arm/ncsched.cia	Fri Jun 11 17:56:35 2010 +0100
@@ -895,7 +895,7 @@
 	__JUMP(,lr);
 
 	asm("__PendingDfcQueue: ");
-	asm(".word %a0" : : "i" ((TInt)&TheScheduler.iDfcs));
+	asm(".word %a0" : : "i" (&TheScheduler.iDfcs));
 	}
 
 
@@ -1850,7 +1850,7 @@
 	asm("__TheScheduler: ");
 	asm(".word TheScheduler ");
 	asm("__SystemLock: ");
-	asm(".word %a0" : : "i" ((TInt)&TheScheduler.iLock));
+	asm(".word %a0" : : "i" (&TheScheduler.iLock));
 #ifdef BTRACE_CPU_USAGE
 	asm("context_switch_trace_header:");
 	asm(".word %a0" : : "i" ((TInt)(8<<BTrace::ESizeIndex) + (BTrace::EContextIdPresent<<BTrace::EFlagsIndex*8) + (BTrace::ECpuUsage<<BTrace::ECategoryIndex*8) + (BTrace::ENewThreadContext<<BTrace::ESubCategoryIndex*8)) );
@@ -2308,7 +2308,7 @@
 	asm("ldr pc, [sp], #4 ");
 
 	asm("__RescheduleNeededFlag: ");
-	asm(".word %a0" : : "i" ((TInt)&TheScheduler.iRescheduleNeededFlag));
+	asm(".word %a0" : : "i" (&TheScheduler.iRescheduleNeededFlag));
 	}
 
 
--- a/kernel/eka/nkern/arm/ncutilf.cia	Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/nkern/arm/ncutilf.cia	Fri Jun 11 17:56:35 2010 +0100
@@ -81,7 +81,7 @@
 	asm("b  " CSM_ZN5NKern6UnlockEv);
 
 	asm("__SystemLock: ");
-	asm(".word %a0" : : "i" ((TInt)&TheScheduler.iLock));
+	asm(".word %a0" : : "i" (&TheScheduler.iLock));
 	asm("__TheScheduler: ");
 	asm(".word TheScheduler ");
 	}
--- a/kernel/eka/nkern/arm/ncutils.cia	Fri Jun 11 17:54:34 2010 +0100
+++ b/kernel/eka/nkern/arm/ncutils.cia	Fri Jun 11 17:56:35 2010 +0100
@@ -303,7 +303,7 @@
 	__ASM_CRASH();
 
 	asm("__CrashState: ");
-	asm(".word %a0" : : "i" ((TInt)&CrashState));
+	asm(".word %a0" : : "i" (&CrashState));
 	}