Mikulas Patocka [Sun, 4 Oct 2026 18:05:15 +0000 (4 20:05 +0200)]
fix compile failure on systems without OS_HAS_MMAP (i.e. OpenWatcom)
Mikulas Patocka [Sun, 4 Oct 2026 15:51:29 +0000 (4 17:51 +0200)]
some systems don't like PROT_READ | PROT_WRITE | PROT_EXEC mappings -
test for them at runtime and disable them if it fails
Mikulas Patocka [Sun, 4 Oct 2026 15:01:58 +0000 (4 17:01 +0200)]
save: allocate loaded data with mem_align_mayfail(CODE_ALIGNMENT) because
we need CODE_ALIGNMENT for correctness
we must honor SAVED_DATA_ALIGN as well
Mikulas Patocka [Sun, 4 Oct 2026 14:22:30 +0000 (4 16:22 +0200)]
some Linux systems don't allow mprotect(PROT_READ|PROT_WRITE|PROT_EXEC)
on the heap, so we try it and if it fails, fall back to separate code
pages
Mikulas Patocka [Sun, 4 Oct 2026 13:04:24 +0000 (4 15:04 +0200)]
util.c: fix bugs found by DeepSeek:
- a typo: HAVE_BUILTIN_ASSUME_ALIGNED -> HAVE___BUILTIN_ASSUME_ALIGNED
- use fabsf if available
- eliminate unused store "res = 0"
Mikulas Patocka [Sun, 4 Oct 2026 12:41:27 +0000 (4 14:41 +0200)]
pcode.c, type.c: fix bugs found by DeepSeek:
- depth was wrongly calculated for flat records
- type_get_from_tag didn't check for sentinel entries (latent)
Mikulas Patocka [Sun, 4 Oct 2026 08:57:15 +0000 (4 10:57 +0200)]
timer.c: fix a bug found by DeepSeek:
- empty timers were not removed from the rb-tree and could increase
memory consumption
Mikulas Patocka [Sat, 3 Oct 2026 20:51:14 +0000 (3 22:51 +0200)]
resolver.c: right shift of negative values is implementation-defined
Mikulas Patocka [Sat, 3 Oct 2026 20:47:53 +0000 (3 22:47 +0200)]
amalloc.c, tree.c: fix bugs found by DeepSeek:
- return value of tree_find_for_insert was not checked in two cases in
amalloc.c
- unused variables "tmp" and "n" in tree_insert_after_find_impl
Mikulas Patocka [Sat, 3 Oct 2026 20:31:14 +0000 (3 22:31 +0200)]
timer.c: fix a bug found by DeepSeek:
- make timer_lock() and timer_unlock() macros, so that the line number
for the caller is reported
Mikulas Patocka [Sat, 3 Oct 2026 19:00:10 +0000 (3 21:00 +0200)]
os_posix.c, tick.c: fix bugs found by DeepSeek:
- os_signal_number shouldn't allow user to handle signals SIGALRM, SIGFPE
and SIGTRAP because they are used internally by Ajla
- timer_settime in tick_suspend and tick_resume had unchecked return
value
- on timer_create failure, we must set thread_tick = true, otherwise the
rest of the tick machinery still thinks that we are using signals
- on timer_create failure, we restore the SIGALRM handler
- not_reached() changed to fatal()
- in tick_done, we must fill the whole old_sigaction structure, so that
we don't use pieces of the old and new handler
Mikulas Patocka [Sat, 3 Oct 2026 18:17:07 +0000 (3 20:17 +0200)]
th_win32.c: fix bugs found by DeepSeek:
- "cond_unlock_signal" -> "cond_unlock_broadcast"
- TlsAlloc fails with TLS_OUT_OF_INDEXES, not zero
- a spurious call to GetLastError() if we already have it in le
Mikulas Patocka [Sat, 3 Oct 2026 18:09:15 +0000 (3 20:09 +0200)]
th_posix.c: fix bugs found by DeepSeek:
- the "fatal" message had wrong error number
- there was leftover code depending on the unused barrier_lock_need_tls
Mikulas Patocka [Sat, 3 Oct 2026 17:39:54 +0000 (3 19:39 +0200)]
th_os2.c, th_win32.c: fix bugs found by DeepSeek:
- "_fmutex_cerate" -> "_fmutex_create"
- overflow when calculating the argument of DosWaitEventSem
- change error message: "cond_wait" -> "cond_wait_us"
- wrong arguments printed when DosSetPriority fails
- "win32_cond_wait_failed" -> "win32_wait_failed" (found by me)
- overflow when calculating the argument of win32_cond_wait
Mikulas Patocka [Sat, 3 Oct 2026 16:52:32 +0000 (3 18:52 +0200)]
th_none.c, ipio_ffi.inc: fix bugs found by DeepSeek:
- unusual error message in do_cond_wait_us
- compilation failure with ffi and without threads
Mikulas Patocka [Sat, 3 Oct 2026 16:02:16 +0000 (3 18:02 +0200)]
th_haiku.c, th_os2.c, th_win32.c: fix bugs found by DeepSeek:
- th_haiku.c: spawn_thread failure mistreated tcb->id as errno
- th_haiku.c: spawn_thread failure didn't release the semaphore
- th_os2.c: uses fatal instead of fatal_mayfail
- th_os2.c: misses os2_thread_done on failure
- th_win32.c: misses win32_thread_done on failure
Mikulas Patocka [Sat, 3 Oct 2026 15:20:48 +0000 (3 17:20 +0200)]
task.c: fix a bug found by DeepSeek:
- task_ex_control_exited crashes if called with NULL task_tls (latent)
Mikulas Patocka [Sat, 3 Oct 2026 13:44:27 +0000 (3 15:44 +0200)]
str.c: fix a bug found by DeepSeek:
- *err_ptr was not set on the overflow path
Mikulas Patocka [Sat, 3 Oct 2026 12:37:01 +0000 (3 14:37 +0200)]
save.c, module.c: fix bugs found by DeepSeek:
- CG_EXIT_MULTIPLIER miscompiled without HAVE_CODEGEN (found by me)
- a bogus "c != DATA_COMPARE_OOM" test after cache_compare
- change "code_off == (size_t)-1" to "real_data_off == (size_t)-1"
- invalid access to "da(d,function)->codegen" if we don't have codegen
- duplicate_writeable_entries: set "save_ok = false" on error
- change "fn_descs_offset == (size_t)-1" to "fpptrs_offset == (size_t)-1"
- change "loaded_file_descriptor" to "loaded_file_descriptor(compsave)"
- handle adjust_pointers failure
- reading uninitialized variable doff
- if save_prepare fails, there would be double-free in the caller
- dep->comp was uninitialized after an allocation
Mikulas Patocka [Sat, 3 Oct 2026 12:00:31 +0000 (3 14:00 +0200)]
resolver.c: fix bugs found by DeepSeek:
- test "addr->address_length >= 65536" (found by me)
- change "4" to "2" in "str_l + 4 + addr->address_length"
- test pipe overflow in the RESOLVER_WORK_GETNAMEINFO branch
- fix memory leak of "name"
- change os_write to os_write_all, so that short writes are retried
Mikulas Patocka [Sat, 3 Oct 2026 09:40:43 +0000 (3 11:40 +0200)]
program.c: fix bugs found by DeepSeek:
- module.h was included twice (latent)
- add a test for non-empty msg before stderr_msg
- initialize retval to 0 (latent)
Mikulas Patocka [Sat, 3 Oct 2026 08:54:49 +0000 (3 10:54 +0200)]
profile.c, thread.h: fix bugs found by DeepSeek:
- tls_decl(ajla_time_t, profiler_time) would create oversized value on
32-bit architectures without __thread
- profile_escape_cmp misses compares of "ip"
- tls_verify_type_common_ prints wrong type in diagnostics
Mikulas Patocka [Fri, 2 Oct 2026 20:32:36 +0000 (2 22:32 +0200)]
pcode.c: fix bugs found by DeepSeek:
- invalid return value in record_option_load_compare
- invalid decoding of 128-bit constant in
pcode_generate_constant_from_blob (latent)
- unused variable "raw_result" in pcode_generate_constant_from_blob
(latent)
Mikulas Patocka [Fri, 2 Oct 2026 19:52:11 +0000 (2 21:52 +0200)]
os_win32.c: fix bugs found by DeepSeek:
- fn_FlushInstructionCache had wrong argument type (latent)
- os_pipe closed the wrong handle on failure
- read_console set "rem" incorrectly
- missing "else" at two places in win32_read_thread
- win32_create_io_thread would set "*pthr" on failure
- os_read_console_packet did address_unlock(h, DEPTH_THUNK) twice
- unreachable code in os_write_console_packet
- u.find_data_a.nFileSizeLow instead of u.find_data_w.nFileSizeLow
(latent)
- os_dir_action freed the variable "joined" twice
- os_dir2_action freed "dest_joined" and "src_joined" twice
- typo: GetConsoleScreenBufefrInfo -> GetConsoleScreenBufferInfo
- os_proc_spawn would not close ph->process_handle on error
- os_getsockpeername returned OS_RW_ERROR (i.e. true) on error
- os_recvfrom leaked "sa" on WSAEWOULDBLOCK
Mikulas Patocka [Fri, 2 Oct 2026 19:21:16 +0000 (2 21:21 +0200)]
os_util: fix bugs found by DeepSeek:
- os_read_file would leak the handle on error
- os_read_file did not set file and len to 0 on error (latent, none of
the callers depend on it)
Mikulas Patocka [Fri, 2 Oct 2026 17:52:29 +0000 (2 19:52 +0200)]
os_posix.c, os_os2.c, os_win32.c, os.h: fix bugs found by DeepSeek:
- HAVE_HAVE_GETNAMEINFO instead of HAVE_GETNAMEINFO
- os_getaddrinfo is missing *result = NULL; on error
- os_getaddrinfo is missing mem_free(addr.address) on allocation failure
- "if (unlikely(!tree_is_empty(&proc_tree)))" should be a "while" loop
- cam't -> can't
- double semicolon - ";;"
- do not retry closedir on EINTR
- "directory directory"
- "doesn't support fstatfs" and "doesn't support dstatfs"
- "errno = -ELOOP" should be "errno = ELOOP"
- HAVE_GETVFSFSSTAT instead of HAVE_GETVFSSTAT
Mikulas Patocka [Fri, 2 Oct 2026 16:57:11 +0000 (2 18:57 +0200)]
os_os2.c, os_win32.c: fix bugs found by DeepSeek:
- rd_num and wr_num would be processed on error
- bad NULL pointer check after "bb = os2_alloc_buffer(size)"
- "return false" should be "return OS_RW_ERROR"
- status of os2_setfileptr was not checked
- "name" would leak if "array_add_mayfail" failed
- bad disk reported in "fatal_mayfail"
- 1 << 31 is undefined behavior
- missing os2_free_buffer(ph)
- "os2_close_handle(target[i])" should be "os2_close_handle(i)"
- "likely" should be "unlikely" in os2_shutdown_notify_pipe
- "errno" should be "proc_sock_errno()"
- "if (unlikely(level < 0))" should be "if (unlikely(option < 0))"
Mikulas Patocka [Thu, 1 Oct 2026 18:28:46 +0000 (1 20:28 +0200)]
offload.c: fix bugs found by DeepSeek:
- memory leak of the "d" variable
- omitted test whether an option holds a value
Mikulas Patocka [Mon, 28 Sep 2026 20:56:59 +0000 (28 22:56 +0200)]
os_dos.c: fix a bug found by DeepSeek:
- n_mouse_events should be static
Mikulas Patocka [Mon, 28 Sep 2026 20:33:40 +0000 (28 22:33 +0200)]
obj_reg.c, th_com.inc: fix bugs found by DeepSeek:
- position_string would be overwritten, use position_string_alloc
- --debug=cond,tls,objects was silently ignored
- --debug=mutex should debug rwmutexes too
Mikulas Patocka [Mon, 28 Sep 2026 15:48:15 +0000 (28 17:48 +0200)]
mpint.c: fix bugs found by DeepSeek:
- mpint_power had quadratic complexity with s1 equal to -1, 0, 1
- mpint_btx_ would blow memory with s2 >= MPINT_MAX_BITS - 1
- mpint_shl would would return error with s1 = 0 and s2 being large
- my change - I swapped mpz_tdiv_q_2exp and mpz_sgn in mpint_power
Mikulas Patocka [Mon, 28 Sep 2026 12:05:23 +0000 (28 14:05 +0200)]
md.h: fix a bug found by DeepSeek:
- the test !md->path_len is insufficient, it could be triggered by
load_program(w, "")
Mikulas Patocka [Mon, 28 Sep 2026 10:54:15 +0000 (28 12:54 +0200)]
mini-gmp.c: fix bugs found by DeepSeek:
- p += size * (count - 1); would create invalid pointer if count == 0
- wrong diagnostic in mpz_export
- missing static in mpz_cmpabs_ui
Mikulas Patocka [Mon, 28 Sep 2026 10:42:03 +0000 (28 12:42 +0200)]
mem_al.c: fix bugs found by DeepSeek:
- pt->histogram = heap_calloc doesn't check for failure
- debug_mem_realloc if oom_calloc fails, pt->bytes doesn't match
- heap_free(ah) should be heap_free(AH_MALLOC_BLOCK(ah)) (latent)
- add_memory_entry: alloc_header instead of memory_entry
- reads beyond allocated size in mem_dump_leaks
Mikulas Patocka [Mon, 28 Sep 2026 09:51:11 +0000 (28 11:51 +0200)]
md.c: fix bugs found by DeepSeek:
- missing memory allocation check in function_designator_alloc_internal
- hardedning - add negative pcode check to pcode_load_blob
- test overflow in pcode_load_module_and_function_designator correctly
- add overflow test to pcode_store_module_and_function_designator
- (not found by DeepSeek) change overflow error code in
function_designator_alloc
Mikulas Patocka [Mon, 28 Sep 2026 09:17:39 +0000 (28 11:17 +0200)]
arithm-*.h: fix bugs found by DeepSeek:
- signed integer overflow in cat(FIXED_unary_brev_,type)
- shifting possibly negative value left in cat(INT_binary_shl_,type)
- bad test for FP overflow in cat4(REAL_unary_,fn,_,type)
Mikulas Patocka [Sun, 27 Sep 2026 19:51:32 +0000 (27 21:51 +0200)]
ipret-1.inc: fix bugs found by DeepSeek:
- DEFINE_OPCODE_END doesn't match DEFINE_OPCODE_START
- get_i_param(2) in an ajla_assert message
- remove pointless store to "arg"
Mikulas Patocka [Sun, 27 Sep 2026 18:25:27 +0000 (27 20:25 +0200)]
ipio_ffi.inc: fix a bug found by DeepSeek:
- io_ffi_callback_create_handler: reject non-flat option that could cause
out of bounds read in ajla_type_to_ffi_type_table
Mikulas Patocka [Sun, 27 Sep 2026 18:06:34 +0000 (27 20:06 +0200)]
ipio.c, ipio_ffi.inc: fix bugs found by DeepSeek:
- out of bounds read in io_get_argument_callback
- io_examine_handler prints parent's refcount
- correct, but weird condition "!unlikely(h_dst_sorted != NULL)"
Mikulas Patocka [Sun, 27 Sep 2026 17:39:16 +0000 (27 19:39 +0200)]
ipio_ffi.inc: fix a bug found by DeepSeek:
- memory leak in io_ffi_create_structure_handler on allocation failure
Mikulas Patocka [Sun, 27 Sep 2026 17:23:03 +0000 (27 19:23 +0200)]
ipio.c, ipio_ffi.inc: fix bugs found by DeepSeek:
- invalid length read at io_fclone_range_handler
- recvfrom drops the exception
- integer passed if sign == T_REAL is always zero
- io_open_dir_handler leaks directory handle p
Mikulas Patocka [Sun, 27 Sep 2026 16:35:59 +0000 (27 18:35 +0200)]
ipfn.c: fix a bug found by DeepSeek:
- incorrect failed-allocation path in ipret_break
Mikulas Patocka [Sun, 27 Sep 2026 15:36:22 +0000 (27 17:36 +0200)]
ipfn.c: fix bugs found by DeepSeek:
- ipret_get_system_property lacks "return ex"
- data_alloc_longint_mayfail is called with wrong bit size
- ipret_call_cache forgot to dereference c->arguments
Mikulas Patocka [Sun, 27 Sep 2026 14:46:56 +0000 (27 16:46 +0200)]
layout.c: fix bugs found by DeepSeek:
- latent - bitmap_slots_estimate overflows if n_vars == 0
- latent - we undefined add_slots instead of align_slots
Mikulas Patocka [Sun, 27 Sep 2026 13:34:24 +0000 (27 15:34 +0200)]
error.c: fix bugs found by DeepSeek:
- bogus "static" specifier
- wrong exit signal code reporting
- latent bug - missing "trace_file = NULL"
Mikulas Patocka [Sat, 26 Sep 2026 20:09:17 +0000 (26 22:09 +0200)]
funct.c: fix a latent bug found by DeepSeek:
- there were some uninitialized function fields - it was harmless
Mikulas Patocka [Sat, 26 Sep 2026 19:13:59 +0000 (26 21:13 +0200)]
fn_impl.c: fix a bug found by DeepSeek:
- cbrtl had erroneous float type for the argument and the return value
Mikulas Patocka [Sat, 26 Sep 2026 19:13:19 +0000 (26 21:13 +0200)]
str.c: fix a bug found by DeepSeek:
- str_add_signed crashes with a negative number and NULL "l"
Mikulas Patocka [Sat, 26 Sep 2026 18:41:23 +0000 (26 20:41 +0200)]
args.c: fix bugs found by DeepSeek:
- use after free in process_line_args
- "--numa_node" misdocumentation
- CRLF spoils flags
Mikulas Patocka [Sat, 26 Sep 2026 17:08:10 +0000 (26 19:08 +0200)]
iomux_kq.c: fix a bug found by DeepSeek:
- there was missing cloexec, the duplicated handle would leak
Mikulas Patocka [Sat, 26 Sep 2026 16:46:50 +0000 (26 18:46 +0200)]
iomux_ep.c: fix a bug found by DeepSeek:
- a possible integer overflow when calculating us + 999
Mikulas Patocka [Sat, 26 Sep 2026 16:43:19 +0000 (26 18:43 +0200)]
iomux.c: fix a bug found by DeepSeek:
- fd_set_size is never set, the fd set is always reallocated
Mikulas Patocka [Sat, 26 Sep 2026 16:08:17 +0000 (26 18:08 +0200)]
codegen.c: fix a latent bug found by DeepSeek:
- ctx->registers[0] was not initialized (it is unused anyway)
Mikulas Patocka [Sat, 26 Sep 2026 16:06:49 +0000 (26 18:06 +0200)]
cg-ops.inc: fix latent bugs found by DeepSeek:
- an integer overflow that is impossible anyway
Mikulas Patocka [Sat, 26 Sep 2026 16:05:18 +0000 (26 18:05 +0200)]
cg-ops.inc: fix a latent bug found by DeepSeek:
- we should pass R_SCRATCH_2 to MOV_WRITES_FLAGS
Mikulas Patocka [Sat, 26 Sep 2026 15:59:29 +0000 (26 17:59 +0200)]
cg-alu.inc: fix a bug found by DeepSeek:
- if we can't set GS base and if we use clang with preserve_none, we
would misuse the register R15 for two things - a target for jump and a
frame pointer
a small optimization: if we have TIMESTAMP_IN_REGISTER, we would move R14
to itself
Mikulas Patocka [Sat, 26 Sep 2026 15:22:15 +0000 (26 17:22 +0200)]
cg-alu.inc: fix a bug found by DeepSeek:
- fix use of invalid variable "size"
Mikulas Patocka [Sat, 26 Sep 2026 15:17:14 +0000 (26 17:17 +0200)]
c2-loong.inc, c2-riscv.inc: fix bugs found by DeepSeek:
- fix "impossible" conditions that validates the imm argument
Mikulas Patocka [Sat, 26 Sep 2026 15:15:40 +0000 (26 17:15 +0200)]
c2-arm64.inc: fix a bug found by DeepSeek:
- incorrect condition to jump to the "invalid" label
Mikulas Patocka [Sat, 26 Sep 2026 15:13:16 +0000 (26 17:13 +0200)]
c1-m68k.inc: fix a bug found by DeepSeek:
- add !(is_mem) guard to ALU_WRITES_FLAGS
Mikulas Patocka [Sat, 26 Sep 2026 14:36:52 +0000 (26 16:36 +0200)]
c2-loong.inc: fix a bug found by DeepSeek:
- incorrect encoding in cgen_1ri21
Mikulas Patocka [Sat, 26 Sep 2026 14:20:22 +0000 (26 16:20 +0200)]
c2-x86.inc: fix a bug found by DeepSeek:
- fix swaped arguments to vcvtps2ph
- change OP_SIZE_16 to OP_SIZE_8
Mikulas Patocka [Sat, 26 Sep 2026 14:11:44 +0000 (26 16:11 +0200)]
cg-ops.inc: fix a bug found by DeepSeek:
- arguments to gen_frame_load_cmp_imm_set_cond in gen_array_len are
swapped for the flat-array case
Mikulas Patocka [Fri, 25 Sep 2026 20:33:26 +0000 (25 22:33 +0200)]
bist.c: fix bugs found by DeepSeek:
- some wrong diagnostic messages
- it should be checked that the rbtree root is black
- wrong tag TYPE_TAG_N passed to data_alloc_flat_mayfail
Mikulas Patocka [Fri, 25 Sep 2026 19:46:14 +0000 (25 21:46 +0200)]
asm.c: fix bugs found by DeepSeek:
- "vmsr fpscr, %0" was executed on ARM without FPU
- wrong CPUID flag for avx10
- test that OS supports AVX before test_xcr0
Mikulas Patocka [Fri, 25 Sep 2026 19:01:27 +0000 (25 21:01 +0200)]
arrayu.c: fix bugs found by DeepSeek:
- integer overflow in n_elements * type->size
- *str_l not counting the terminating zero
Mikulas Patocka [Fri, 25 Sep 2026 18:13:42 +0000 (25 20:13 +0200)]
array.c: fix a bug found by DeepSeek:
- try_join_siblings_ptr and try_join_siblings_flat can reduce the number
of nodes in the parent below BTREE_MIN_SIZE
Mikulas Patocka [Wed, 23 Sep 2026 19:07:27 +0000 (23 21:07 +0200)]
array.c: fix bugs found by Space Bunny Free
- missing index_free
- array_sub allocation failure not handled
- integer overflow when calculating the size for memset
Mikulas Patocka [Wed, 23 Sep 2026 19:06:47 +0000 (23 21:06 +0200)]
delete an unused variable in bist_rbtree
Mikulas Patocka [Sun, 20 Sep 2026 20:31:41 +0000 (20 22:31 +0200)]
amalloc.c: fix bugs found by DeepSeek:
- amalloc_run_alloc: size_t->unsigned truncation that could cause memory
corruption
- alignment was ignored when allocating zero-sized block
- several integer overflows
- a wrong fatal 'os_mmap returned unaligned pointer' message
- useless assignment of rmap1
Mikulas Patocka [Sun, 20 Sep 2026 18:59:27 +0000 (20 20:59 +0200)]
data.c: fix bugs found by DeepSeek:
- two useless assignments
- a NULL-pointer dereference on memory allocation failure
Mikulas Patocka [Sun, 20 Sep 2026 09:15:18 +0000 (20 11:15 +0200)]
fix a bug in forced_exit - it terminates all the tasks with an exception
and the exception was erroneosly saved and loaded from cache on next
program run
we change the error class to EC_ASYNC, because EC_ASYNC errors are not
saved (see save_exception)
Mikulas Patocka [Sun, 13 Sep 2026 20:24:57 +0000 (13 22:24 +0200)]
add scripts/verify.sh to the repository
Mikulas Patocka [Sun, 13 Sep 2026 18:36:51 +0000 (13 20:36 +0200)]
ffi: fix crashes on newer gtk4 - newer gtk4 calls callbacks from
thread-local-storage destructors, we can ignore them safely
Mikulas Patocka [Sun, 13 Sep 2026 17:46:08 +0000 (13 19:46 +0200)]
add heap_get_entry
Mikulas Patocka [Sun, 13 Sep 2026 17:03:37 +0000 (13 19:03 +0200)]
raise(SIGSEGV) on some systems doesn't dump code - use invalid memory
access instead
Mikulas Patocka [Sun, 13 Sep 2026 16:55:45 +0000 (13 18:55 +0200)]
ffi: store function name in struct resource_ffi (for debugging purposes)
Mikulas Patocka [Sun, 13 Sep 2026 13:58:57 +0000 (13 15:58 +0200)]
fix warnings on gcc 2
Mikulas Patocka [Sun, 13 Sep 2026 13:02:28 +0000 (13 15:02 +0200)]
fix os/2 and win32 being broken by unit generators
Mikulas Patocka [Sun, 13 Sep 2026 12:36:54 +0000 (13 14:36 +0200)]
add attr_unused to os_time_tai
Mikulas Patocka [Sat, 12 Sep 2026 20:58:18 +0000 (12 22:58 +0200)]
fix warnings about comparisons with zero
Mikulas Patocka [Sat, 12 Sep 2026 20:46:16 +0000 (12 22:46 +0200)]
provide dummy os_getpagesize for OSes that don't have it
Mikulas Patocka [Sat, 12 Sep 2026 20:41:50 +0000 (12 22:41 +0200)]
fix c89-non-compliant code introduced in
706d8834
Mikulas Patocka [Sun, 6 Sep 2026 14:34:41 +0000 (6 16:34 +0200)]
inline fixed_point_validate
Mikulas Patocka [Sat, 5 Sep 2026 17:20:31 +0000 (5 19:20 +0200)]
optimize not not
Mikulas Patocka [Sat, 5 Sep 2026 17:03:10 +0000 (5 19:03 +0200)]
optimize boolean op-not
Mikulas Patocka [Sat, 5 Sep 2026 16:20:56 +0000 (5 18:20 +0200)]
optimize logical operations if one argument is constant
Mikulas Patocka [Sat, 5 Sep 2026 13:28:45 +0000 (5 15:28 +0200)]
codegen: fix compile failure on non-power systems
Mikulas Patocka [Sat, 5 Sep 2026 10:06:14 +0000 (5 12:06 +0200)]
power: fix bugs that we didn't clear upper bits after ALU_XORN or ALU_ORN
Mikulas Patocka [Thu, 3 Sep 2026 20:35:13 +0000 (3 22:35 +0200)]
report caller's file/line in pointer_dereference/thunk_tag
Mikulas Patocka [Thu, 3 Sep 2026 20:34:43 +0000 (3 22:34 +0200)]
save: fix missing calls to bind_function_pointers
Mikulas Patocka [Wed, 2 Sep 2026 18:04:27 +0000 (2 20:04 +0200)]
fix a bug in cg_upcall_call_indirect_arg
Mikulas Patocka [Sat, 29 Aug 2026 18:16:09 +0000 (29 20:16 +0200)]
termcap: avoid code escape when appending to the variable "result"
Mikulas Patocka [Sat, 29 Aug 2026 17:52:06 +0000 (29 19:52 +0200)]
enable inlining into records - this makes it possible to use records that
contain flat entries
Mikulas Patocka [Sat, 29 Aug 2026 16:10:12 +0000 (29 18:10 +0200)]
examine - print type flag even on non-flat values
Mikulas Patocka [Sat, 29 Aug 2026 13:10:02 +0000 (29 15:10 +0200)]
introduce P_Load_Local_Type_Inlined
Mikulas Patocka [Sat, 29 Aug 2026 11:21:18 +0000 (29 13:21 +0200)]
test for elided record entries in data_compare_record
Mikulas Patocka [Fri, 28 Aug 2026 18:28:17 +0000 (28 20:28 +0200)]
propagate array type if we use "empty(byte)" - the code incorrectly
created an empty "pointers" array and next addition caused escape
Mikulas Patocka [Fri, 28 Aug 2026 17:39:21 +0000 (28 19:39 +0200)]
examine: report details of array_flat, array_slice, array_pointers
Mikulas Patocka [Thu, 27 Aug 2026 21:51:42 +0000 (27 23:51 +0200)]
codegen: delete useless test in gen_option_load