Revert "Remove OSUnknown"
authorIan Lynagh <igloo@earth.li>
Wed, 19 Oct 2011 00:58:54 +0000 (01:58 +0100)
committerIan Lynagh <igloo@earth.li>
Wed, 19 Oct 2011 00:58:54 +0000 (01:58 +0100)
This reverts commit f75f26cc4eed3c3cfc256ebfb9e77b8e82a766fc.

On second thoughts, this does make sense, for unregisterised via-C
OSes at least.

compiler/nativeGen/PPC/CodeGen.hs
compiler/utils/Platform.hs

index a01fa1b..4bde8ef 100644 (file)
@@ -853,6 +853,7 @@ genCCall target dest_regs argsAndHints
           OSMinGW32  -> panic "PPC.CodeGen.genCCall: not defined for this os"
           OSFreeBSD  -> panic "PPC.CodeGen.genCCall: not defined for this os"
           OSOpenBSD  -> panic "PPC.CodeGen.genCCall: not defined for this os"
+          OSUnknown  -> panic "PPC.CodeGen.genCCall: not defined for this os"
 
 data GenCCallPlatform = GCPLinux | GCPDarwin
 
index 7446fc1..362d782 100644 (file)
@@ -48,9 +48,11 @@ data Arch
         deriving (Show, Eq)
 
 
--- | Operating systems that we know about.
+-- | Operating systems that the native code generator knows about.
+--      Having OSUnknown should produce a sensible default, but no promises.
 data OS
-        = OSLinux
+        = OSUnknown
+        | OSLinux
         | OSDarwin
         | OSSolaris2
         | OSMinGW32
@@ -94,6 +96,7 @@ osElfTarget OSOpenBSD  = True
 osElfTarget OSSolaris2 = True
 osElfTarget OSDarwin   = False
 osElfTarget OSMinGW32  = False
+osElfTarget OSUnknown  = panic "Don't know if OSUnknown is elf"
 
 
 -- | This is the target platform as far as the #ifdefs are concerned.
@@ -139,7 +142,7 @@ defaultTargetOS = OSFreeBSD
 #elif openbsd_TARGET_OS
 defaultTargetOS = OSOpenBSD
 #else
-#error Unknown OS
+defaultTargetOS = OSUnknown
 #endif
 
 #if arm_TARGET_ARCH