summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2020-10-15 17:38:00 -0700
committerAndres Freund <andres@anarazel.de>2020-10-15 18:17:01 -0700
commitc835c7ffe21dae8233d21c0ad01e3cbbe475082d (patch)
treebe631692ba3b2735fc50ab87a72115324cfc097a /src/include
parent0ab7ca98a16f9e4954f47c7f180e0760b4f355ec (diff)
llvmjit: Work around bug in LLVM 3.9 causing crashes after 72559438f92.
Unfortunately in LLVM 3.9 LLVMGetAttributeCountAtIndex(func, index) crashes when called with an index that has 0 attributes. Since there's no way to work around this in the C API, add a small C++ wrapper doing so. The only reason this didn't fail before 72559438f92 is that there always are function attributes... Author: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/20201016001254.w2nfj7gd74jmb5in@alap3.anarazel.de Backpatch: 11-, like 72559438f92
Diffstat (limited to 'src/include')
-rw-r--r--src/include/jit/llvmjit.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/jit/llvmjit.h b/src/include/jit/llvmjit.h
index 6178864b2e6..d9f9d6afc1f 100644
--- a/src/include/jit/llvmjit.h
+++ b/src/include/jit/llvmjit.h
@@ -138,6 +138,8 @@ extern char *LLVMGetHostCPUName(void);
extern char *LLVMGetHostCPUFeatures(void);
#endif
+extern unsigned LLVMGetAttributeCountAtIndexPG(LLVMValueRef F, uint32 Idx);
+
#ifdef __cplusplus
} /* extern "C" */
#endif