Browse Source

Update package json for new map layout; Correct llvm-api includes for *nix

gingerBill 4 years ago
parent
commit
dbaf4d24f6
4 changed files with 31 additions and 4 deletions
  1. 4 4
      core/encoding/json/marshal.odin
  2. 4 0
      src/llvm_backend.cpp
  3. 19 0
      src/llvm_backend.hpp
  4. 4 0
      src/main.cpp

+ 4 - 4
core/encoding/json/marshal.odin

@@ -210,12 +210,12 @@ marshal_arg :: proc(b: ^strings.Builder, v: any) -> Marshal_Error {
 				data := uintptr(entries.data) + uintptr(i*entry_size);
 				header := cast(^Map_Entry_Header)data;
 
-				marshal_arg(b, any{rawptr(&header.key.key.val), info.key.id});
+				key   := rawptr(data + entry_type.offsets[2]);
+				value := rawptr(data + entry_type.offsets[3]);
 
+				marshal_arg(b, any{key, info.key.id});
 				write_string(b, ": ");
-
-				value := data + entry_type.offsets[2];
-				marshal_arg(b, any{rawptr(value), info.value.id});
+				marshal_arg(b, any{value, info.value.id});
 			}
 		}
 		write_byte(b, '}');

+ 4 - 0
src/llvm_backend.cpp

@@ -12522,6 +12522,10 @@ void lb_generate_code(lbGenerator *gen) {
 			1, "", 0,
 			LLVMDWARFEmissionFull, 0, true,
 			true
+		#if LLVM_VERSION_MAJOR > 10
+			, "", 0,
+			"", 0
+		#endif
 		);
 	}
 

+ 19 - 0
src/llvm_backend.hpp

@@ -1,3 +1,5 @@
+#if defined(LLVM_BACKEND_SUPPORT)
+#if defined(GB_SYSTEM_WINDOWS)
 #include "llvm-c/Core.h"
 #include "llvm-c/ExecutionEngine.h"
 #include "llvm-c/Target.h"
@@ -12,6 +14,23 @@
 #include "llvm-c/Transforms/Scalar.h"
 #include "llvm-c/Transforms/Utils.h"
 #include "llvm-c/Transforms/Vectorize.h"
+#else
+#include <llvm-c/Core.h>
+#include <llvm-c/ExecutionEngine.h>
+#include <llvm-c/Target.h>
+#include <llvm-c/Analysis.h>
+#include <llvm-c/Object.h>
+#include <llvm-c/BitWriter.h>
+#include <llvm-c/DebugInfo.h>
+#include <llvm-c/Transforms/AggressiveInstCombine.h>
+#include <llvm-c/Transforms/InstCombine.h>
+#include <llvm-c/Transforms/IPO.h>
+#include <llvm-c/Transforms/PassManagerBuilder.h>
+#include <llvm-c/Transforms/Scalar.h>
+#include <llvm-c/Transforms/Utils.h>
+#include <llvm-c/Transforms/Vectorize.h>
+#endif
+#endif
 
 struct lbProcedure;
 

+ 4 - 0
src/main.cpp

@@ -11,7 +11,11 @@
 gb_global Timings global_timings = {0};
 
 #if defined(LLVM_BACKEND_SUPPORT)
+#if defined(GB_SYSTEM_WINDOWS)
 #include "llvm-c/Types.h"
+#else
+#include <llvm-c/Types.h>
+#endif
 #endif
 
 #include "parser.hpp"