mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 18:42:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | |
| From: Daniel Bertalan <dani@danielbertalan.dev>
 | |
| Date: Thu, 14 Apr 2022 09:51:24 +0200
 | |
| Subject: [PATCH] [Triple] Add triple for SerenityOS
 | |
| 
 | |
| ---
 | |
|  llvm/include/llvm/ADT/Triple.h | 8 +++++++-
 | |
|  llvm/lib/Support/Triple.cpp    | 2 ++
 | |
|  2 files changed, 9 insertions(+), 1 deletion(-)
 | |
| 
 | |
| diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
 | |
| index ba4584dc60faf1b9a170493bbe3075c08d5ff2a8..56e793cc0c0afa7c5f6bdd2e019a61dc518964f4 100644
 | |
| --- a/llvm/include/llvm/ADT/Triple.h
 | |
| +++ b/llvm/include/llvm/ADT/Triple.h
 | |
| @@ -219,7 +219,8 @@ public:
 | |
|      WASI,       // Experimental WebAssembly OS
 | |
|      Emscripten,
 | |
|      ShaderModel, // DirectX ShaderModel
 | |
| -    LastOSType = ShaderModel
 | |
| +    Serenity,
 | |
| +    LastOSType = Serenity
 | |
|    };
 | |
|    enum EnvironmentType {
 | |
|      UnknownEnvironment,
 | |
| @@ -652,6 +653,11 @@ public:
 | |
|      return getOS() == Triple::AIX;
 | |
|    }
 | |
|  
 | |
| +  /// Tests whether the OS is SerenityOS
 | |
| +  bool isOSSerenity() const {
 | |
| +    return getOS() == Triple::Serenity;
 | |
| +  }
 | |
| +
 | |
|    /// Tests whether the OS uses the ELF binary format.
 | |
|    bool isOSBinFormatELF() const {
 | |
|      return getObjectFormat() == Triple::ELF;
 | |
| diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
 | |
| index 6696d158b2c1ae3d31f0819880ec0814f74a3a16..5292164d7aaed944c934a89fe3e809fc427218eb 100644
 | |
| --- a/llvm/lib/Support/Triple.cpp
 | |
| +++ b/llvm/lib/Support/Triple.cpp
 | |
| @@ -234,6 +234,7 @@ StringRef Triple::getOSTypeName(OSType Kind) {
 | |
|    case PS5: return "ps5";
 | |
|    case RTEMS: return "rtems";
 | |
|    case Solaris: return "solaris";
 | |
| +  case Serenity: return "serenity";
 | |
|    case TvOS: return "tvos";
 | |
|    case WASI: return "wasi";
 | |
|    case WatchOS: return "watchos";
 | |
| @@ -587,6 +588,7 @@ static Triple::OSType parseOS(StringRef OSName) {
 | |
|      .StartsWith("wasi", Triple::WASI)
 | |
|      .StartsWith("emscripten", Triple::Emscripten)
 | |
|      .StartsWith("shadermodel", Triple::ShaderModel)
 | |
| +    .StartsWith("serenity", Triple::Serenity)
 | |
|      .Default(Triple::UnknownOS);
 | |
|  }
 | |
|  
 | 
