Fix bootstrapping of GHC with earlier versions
authorPatrick Palka <patrick@parcs.ath.cx>
Wed, 4 Sep 2013 18:49:51 +0000 (14:49 -0400)
committerPatrick Palka <patrick@parcs.ath.cx>
Wed, 4 Sep 2013 18:58:59 +0000 (14:58 -0400)
We can no longer use atomic_inc() in the stage1 compiler because its
prototype was recently changed.

Since the stage1 compiler is always single-threaded, only use
atomic_inc() when THREADED_RTS is defined.

compiler/cbits/genSym.c

index 4217e63..08d403d 100644 (file)
@@ -4,10 +4,14 @@
 static HsInt GenSymCounter = 0;
 
 HsInt genSym(void) {
+#if defined(THREADED_RTS)
     if (n_capabilities == 1) {
         return GenSymCounter++;
     } else {
         return atomic_inc((StgWord *)&GenSymCounter, 1);
     }
+#else
+    return GenSymCounter++;
+#endif
 }