Remove OSUnknown
authorIan Lynagh <igloo@earth.li>
Tue, 18 Oct 2011 17:41:29 +0000 (18:41 +0100)
committerIan Lynagh <igloo@earth.li>
Tue, 18 Oct 2011 17:41:29 +0000 (18:41 +0100)
It doesn't make sense. If platformOS is OSUnknown then we don't know the
answer to any questions about the OS. So now if we don't recognise the
OS we just fail, and the new OS will need to be added to the datatype.

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

index 4bde8ef..a01fa1b 100644 (file)
@@ -853,7 +853,6 @@ 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 362d782..7446fc1 100644 (file)
@@ -48,11 +48,9 @@ data Arch
         deriving (Show, Eq)
 
 
--- | Operating systems that the native code generator knows about.
---      Having OSUnknown should produce a sensible default, but no promises.
+-- | Operating systems that we know about.
 data OS
-        = OSUnknown
-        | OSLinux
+        = OSLinux
         | OSDarwin
         | OSSolaris2
         | OSMinGW32
@@ -96,7 +94,6 @@ 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.
@@ -142,7 +139,7 @@ defaultTargetOS = OSFreeBSD
 #elif openbsd_TARGET_OS
 defaultTargetOS = OSOpenBSD
 #else
-defaultTargetOS = OSUnknown
+#error Unknown OS
 #endif
 
 #if arm_TARGET_ARCH