--- a/leds.c
+++ b/leds.c
@@ -65,8 +65,13 @@
   }
 }
 
+#if defined(__ICCSTM8__)
 #pragma vector = TIM4_OVR_UIF_vector 
 __interrupt void TIM_Update_vector(void)
+#elif defined(SDCC)
+void TIM_Update_vector(void) __interrupt(TIM4_OVR_UIF_vector)
+#endif
+
 {
   static unsigned char turn=0;
   static unsigned char updatecounter=0;
@@ -133,4 +138,4 @@
   GPIOG->ODR = 0;
 #endif
  
-}+}