View | Details | Raw Unified | Return to bug 260976
Collapse All | Expand All

(-)devel/ispc/Makefile (-5 / +8 lines)
Lines 23-33 Link Here
23
USE_GITHUB=	yes
23
USE_GITHUB=	yes
24
SHEBANG_FILES=	*.py
24
SHEBANG_FILES=	*.py
25
25
26
#LLVM_VERSION=	-devel # fails with 12: call to non-static member function without an object argument: llvm::DebugLoc::get
27
		# Release notes https://github.com/ispc/ispc/blob/master/docs/ReleaseNotes.txt list compatible LLVM versions, but they assume that extra patches are applied to LLVM
28
		# LLVM build script: https://github.com/ispc/ispc/blob/master/scripts/build.sh
29
LLVM_VERSION=	11 # it fails with -devel (13.0.d20210308), with 12.0.0.r2 it also fails, using 11 that it succeeds with
30
31
CONFIGURE_ENV=	PATH=${LOCALBASE}/llvm${LLVM_VERSION}/bin:${PATH}
26
CONFIGURE_ENV=	PATH=${LOCALBASE}/llvm${LLVM_VERSION}/bin:${PATH}
32
CMAKE_OFF=	ISPC_NO_DUMPS ISPC_INCLUDE_EXAMPLES
27
CMAKE_OFF=	ISPC_NO_DUMPS ISPC_INCLUDE_EXAMPLES
33
28
Lines 58-63 Link Here
58
			lib/libispcrt.so.1 \
53
			lib/libispcrt.so.1 \
59
			lib/libispcrt.so.${PORTVERSION} \
54
			lib/libispcrt.so.${PORTVERSION} \
60
			lib/libispcrt_static.a
55
			lib/libispcrt_static.a
56
57
.include <bsd.port.options.mk>
58
59
.if ${LLVM_DEFAULT:M[7891]0}
60
LLVM_VERSION=	13
61
.else
62
LLVM_VERSION=	${LLVM_DEFAULT}
63
.endif
61
64
62
do-test: # some tests fail: https://github.com/ispc/ispc/issues/1868
65
do-test: # some tests fail: https://github.com/ispc/ispc/issues/1868
63
	@cd ${WRKSRC} && ISPC_HOME=${BUILD_WRKSRC}/bin ./run_tests.py
66
	@cd ${WRKSRC} && ISPC_HOME=${BUILD_WRKSRC}/bin ./run_tests.py
(-)devel/ispc/files/patch-src_module.cpp (+14 lines)
Lines 18-20 Link Here
18
     Opts.setSPIRVAllowUnknownIntrinsics({"llvm.genx"});
18
     Opts.setSPIRVAllowUnknownIntrinsics({"llvm.genx"});
19
 #else
19
 #else
20
     llvm::cl::opt<bool> SPIRVAllowUnknownIntrinsics(
20
     llvm::cl::opt<bool> SPIRVAllowUnknownIntrinsics(
21
@@ -1314,7 +1314,12 @@ bool Module::writeObjectFileOrAssembly(llvm::TargetMachine *targetMachine, llvm::Module *module, OutputType outputType,
22
     llvm::CodeGenFileType fileType = (outputType == Object) ? llvm::CGFT_ObjectFile : llvm::CGFT_AssemblyFile;
23
     bool binary = (fileType == llvm::CGFT_ObjectFile);
24
25
-    llvm::sys::fs::OpenFlags flags = binary ? llvm::sys::fs::F_None : llvm::sys::fs::F_Text;
26
+    llvm::sys::fs::OpenFlags flags = binary ?
27
+#if ISPC_LLVM_VERSION >= ISPC_LLVM_13_0
28
+                                              llvm::sys::fs::OF_None : llvm::sys::fs::OF_Text;
29
+#else
30
+                                              llvm::sys::fs::F_None  : llvm::sys::fs::F_Text;
31
+#endif
32
33
     std::error_code error;
34
(-)devel/ispc/files/patch-src_opt.cpp (+15 lines)
Lines 62-64 Link Here
62
     return true;
62
     return true;
63
 }
63
 }
64
 
64
 
65
@@ -4687,7 +4687,13 @@ void DebugPassFile::run(llvm::Module &module, bool init)
66
     std::error_code EC;
67
     char fname[100];
68
     snprintf(fname, sizeof(fname), "%s_%d_%s.ll", init ? "init" : "ir", pnum, sanitize(std::string(pname)).c_str());
69
-    llvm::raw_fd_ostream OS(fname, EC, llvm::sys::fs::F_None);
70
+    llvm::raw_fd_ostream OS(fname, EC,
71
+#if ISPC_LLVM_VERSION >= ISPC_LLVM_13_0
72
+                                       llvm::sys::fs::OF_None
73
+#else
74
+                                       llvm::sys::fs::F_None
75
+#endif
76
+    );
77
     Assert(!EC && "IR dump file creation failed!");
78
     module.print(OS, 0);
79
 }

Return to bug 260976