aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt11
-rw-r--r--config/config.h.in2
-rw-r--r--src/nvim/log.c7
-rw-r--r--src/nvim/log.h2
-rw-r--r--src/nvim/quickfix.c2
-rw-r--r--src/nvim/version.c6
6 files changed, 22 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 099f6e3787..594f631ba0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -192,6 +192,16 @@ if(CMAKE_EXE_LINKER_FLAGS MATCHES "--sort-common" OR
string(REGEX REPLACE "-Wl($| )" "" CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}")
endif()
+check_c_source_compiles("
+#include <execinfo.h>
+int main(void)
+{
+ void *trace[1];
+ int trace_size = backtrace(trace, 1);
+ return 0;
+}
+" HAVE_EXECINFO_BACKTRACE)
+
if(MSVC)
# XXX: /W4 gives too many warnings. #3241
add_definitions(/W3 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE)
@@ -324,7 +334,6 @@ main(void)
return MSGPACK_OBJECT_FLOAT32;
}
" MSGPACK_HAS_FLOAT32)
-
if(MSGPACK_HAS_FLOAT32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNVIM_MSGPACK_HAS_FLOAT32")
endif()
diff --git a/config/config.h.in b/config/config.h.in
index f26b5a50a8..962eefd7a7 100644
--- a/config/config.h.in
+++ b/config/config.h.in
@@ -68,4 +68,6 @@
#cmakedefine ORDER_BIG_ENDIAN
#define ENDIAN_INCLUDE_FILE <@ENDIAN_INCLUDE_FILE@>
+#cmakedefine HAVE_EXECINFO_BACKTRACE
+
#endif // AUTO_CONFIG_H
diff --git a/src/nvim/log.c b/src/nvim/log.c
index 252fe5438d..b64aef3cac 100644
--- a/src/nvim/log.c
+++ b/src/nvim/log.c
@@ -25,6 +25,10 @@ static uv_mutex_t mutex;
# include "log.c.generated.h"
#endif
+#ifdef HAVE_EXECINFO_BACKTRACE
+# include <execinfo.h>
+#endif
+
static bool log_try_create(char *fname)
{
if (fname == NULL || fname[0] == '\0') {
@@ -173,8 +177,7 @@ FILE *open_log_file(void)
return stderr;
}
-#if defined(__linux__)
-# include <execinfo.h>
+#ifdef HAVE_EXECINFO_BACKTRACE
void log_callstack(const char *const func_name, const int line_num)
{
void *trace[100];
diff --git a/src/nvim/log.h b/src/nvim/log.h
index 2bd18f5776..743a8d17aa 100644
--- a/src/nvim/log.h
+++ b/src/nvim/log.h
@@ -61,7 +61,7 @@
__VA_ARGS__)
#endif
-#if defined(__linux__)
+#ifdef HAVE_EXECINFO_BACKTRACE
# define LOG_CALLSTACK() log_callstack(__func__, __LINE__)
#endif
diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c
index 4997209556..e6b1e7b95a 100644
--- a/src/nvim/quickfix.c
+++ b/src/nvim/quickfix.c
@@ -3127,7 +3127,7 @@ static char_u *get_mef_name(void)
STRCPY(name, p_mef);
sprintf((char *)name + (p - p_mef), "%d%d", start, off);
STRCAT(name, p + 2);
- // Don't accept a symbolic link, its a security risk.
+ // Don't accept a symbolic link, it's a security risk.
FileInfo file_info;
bool file_or_link_found = os_fileinfo_link((char *)name, &file_info);
if (!file_or_link_found) {
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 962096000a..6662dff437 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -666,7 +666,7 @@ static const int included_patches[] = {
66,
// 65 NA
64,
- // 63,
+ // 63 NA
62,
// 61 NA
60,
@@ -683,7 +683,7 @@ static const int included_patches[] = {
49,
// 48 NA
47,
- // 46,
+ 46,
// 45 NA
// 44,
43,
@@ -717,7 +717,7 @@ static const int included_patches[] = {
// 15 NA
// 14 NA
// 13 NA
- // 12,
+ 12,
// 11 NA
// 10 NA
// 9 NA