* src/ds390/gen.c (emitcode): don't change properties of previous lines,
[fw/sdcc] / support / regression / tests / bug-460010.c
index 8d300ff5218410115b65789e935e449618c4e64d..e5bf0ba6170df19fd53591337a27e14665e2e8f0 100644 (file)
@@ -2,11 +2,13 @@
  */
 #include <testfwk.h>
 
-#if defined __mcs51 || defined __ds390
-#define XDATA xdata
+#ifdef SDCC
+#ifdef SDCC_pic16
+#define ADDRESS 0x0070
 #else
-#define XDATA
-#endif
+#define ADDRESS 0xa000
+#endif  /* SDCC_pic16 */
+#endif  /* SDCC */
 
 void 
 func( unsigned char a )
@@ -17,7 +19,13 @@ func( unsigned char a )
 void
 testBadPromotion(void)
 {
-  unsigned char c=*((unsigned XDATA char*)(0xa000));
+
+#ifdef SDCC
+  unsigned char c=*((unsigned xdata char*)(ADDRESS));
+#else
+  unsigned char loc_c;
+  unsigned char c=*(unsigned char*)&loc_c;
+#endif 
   
   func(c);