builtin,cgen: address Windows compilation errors when using tcc toolchains (#27186)

This commit is contained in:
Crying Nights authored and GitHub committed 2026-05-18 11:36:09 +03:00
1 parent 4664e0f8e4
commit 1801798a41
4 files changed
+10 -7

No files matched your search

+2 -2
View File
@@ -2181,7 +2181,7 @@
- runtime: add free_memory/0 implementation for OpenBSD (fix #23579) (#23583)
- Fix `v doctor` output on OpenBSD: get gcc version from egcc; do not run ldd to get the glibc
version (fix #23576) (#23578)
- make.bat: add note about antivirus programs on windows and compilation slowdowns (#23586)
- makev.bat: add note about antivirus programs on windows and compilation slowdowns (#23586)
- runtime: add free_memory/0 implementation for FreeBSD too (fix #23581) (#23594)
- log,sync: fix macos CI failure when log.ThreadSafeLog is used explicitly in `v download` (#23613)
- Let `v test .` show the running _test.v files each minute (set by
@@ -5254,7 +5254,7 @@ Final steps in making the Option type a first class type:
- New official IntelliJ plugin: https://intellij-v.github.io.
- Lots of new language documentation, a nicer table of contents.
- Improved documentation for most of the vlib modules
- `make.bat` & `v up` improvements on Windows.
- `makev.bat` & `v up` improvements on Windows.
- TeamCity test runner support via `v -test-runner teamcity foo_test.v`.
- CI optimizations for faster runs.
- New official AdventOfCode repo with AOC solutions, also added to CI.
+1 -1
View File
@@ -3663,7 +3663,7 @@
- runtime: add free_memory/0 implementation for OpenBSD (fix #23579) (#23583)
- Fix `v doctor` output on OpenBSD: get gcc version from egcc; do not run ldd to get the glibc
version (fix #23576) (#23578)
- make.bat: add note about antivirus programs on windows and compilation slowdowns (#23586)
- makev.bat: add note about antivirus programs on windows and compilation slowdowns (#23586)
- runtime: add free_memory/0 implementation for FreeBSD too (fix #23581) (#23594)
- log,sync: fix macos CI failure when log.ThreadSafeLog is used explicitly in `v download` (#23613)
- Let `v test .` show the running _test.v files each minute (set by
+6 -3
View File
@@ -48,9 +48,12 @@ fn C.SymInitialize(h_process voidptr, p_user_search_path &u8, b_invade_process i
fn C.CaptureStackBackTrace(frames_to_skip u32, frames_to_capture u32, p_backtrace voidptr, p_backtrace_hash voidptr) u16
fn C.SymFromAddr(h_process voidptr, address u64, p_displacement voidptr, p_symbol voidptr) i32
fn C.SymGetLineFromAddr64(h_process voidptr, address u64, p_displacement voidptr, p_line &Line64) i32
$if windows {
$if msvc {
fn C.SymFromAddr(h_process voidptr, address u64, p_displacement voidptr, p_symbol voidptr) i32
fn C.SymGetLineFromAddr64(h_process voidptr, address u64, p_displacement voidptr, p_line &Line64) i32
}
}
// Ref - https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/nf-dbghelp-symsetoptions
const symopt_undname = 0x00000002
+1 -1
View File
@@ -174,7 +174,7 @@ const c_common_macros = '
#define __NOINLINE
#define __IRQHANDLER
// #include <byteswap.h>
int tcc_backtrace(const char *fmt, ...);
// int tcc_backtrace(const char *fmt, ...);
#endif
// Use __offsetof_ptr instead of __offset_of, when you *do* have a valid pointer, to avoid UB:
#ifndef __offsetof_ptr