nextpnr/common/kernel
Catherine 1407b33558 Ensure only non-truncating values are returned from `main()`.
POSIX allows any `int` value to be returned but specifies that only
the low 8 bits are available in some contexts:
  https://pubs.opengroup.org/onlinepubs/9699919799/functions/_exit.html

For reasons that aren't entirely clear, WASI requires the value to be
in range [0;126), and this is enforced with an assertion at runtime
level in Wasmtime. This should probably be fixed in Wasmtime but until
it is done there doesn't seem to be any harm in returning `125` instead
of `-1`. This also removes any discrepancy due to truncation.
2026-05-01 11:22:38 +00:00
..
CMakeLists.txt CMake: refactor architecture-specific build system parts. 2025-01-21 17:13:03 +00:00
arch_api.h Add arch API function for pip inversion (#1457) 2025-02-27 12:21:15 +01:00
arch_pybindings_shared.h api: add explain_invalid option to isBelLocationValid 2022-12-07 10:27:58 +01:00
archcheck.cc common: add missing includes for libc++. 2023-02-23 02:32:19 +00:00
array2d.h clangformat 2024-09-30 14:51:33 +02:00
base_arch.h Add arch API function for pip inversion (#1457) 2025-02-27 12:21:15 +01:00
base_clusterinfo.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
basectx.cc kernel: look up ports when applying clock constraints. (#1448) 2025-01-31 08:30:39 +00:00
basectx.h clang-format on basectx.h 2024-10-01 15:24:40 +02:00
bits.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
bits.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
chain_utils.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
command.cc Ensure only non-truncating values are returned from `main()`. 2026-05-01 11:22:38 +00:00
command.h clangformat 2024-01-12 10:09:28 +01:00
constraints.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
constraints.impl.h rename c++20 keyword s/requires/requires_range. 2023-05-16 12:43:40 +02:00
context.cc clangformat 2024-09-30 14:51:33 +02:00
context.h Cleanup Context API (#1593) 2025-10-23 14:44:14 +02:00
design_utils.cc Format utlilisation for larger FPGA as well 2024-05-06 11:22:33 +02:00
design_utils.h Remove deprecated functions 2022-12-22 15:26:39 +01:00
deterministic_rng.h placer_static: Initial prototype 2023-10-02 14:56:40 +02:00
dynamic_bitarray.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
embed.cc Cleanup Context API (#1593) 2025-10-23 14:44:14 +02:00
embed.h bba: fix `#embed` on Windows. 2025-05-14 05:38:30 +01:00
exclusive_state_groups.h clangformat 2023-05-19 09:00:31 +02:00
exclusive_state_groups.impl.h rename c++20 keyword s/requires/requires_range. 2023-05-16 12:43:40 +02:00
handle_error.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
hashlib.h clangformat 2024-01-12 10:09:28 +01:00
idstring.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
idstring.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
idstringlist.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
idstringlist.h clangformat 2024-01-12 10:09:28 +01:00
indexed_store.h clangformat 2024-09-30 14:51:33 +02:00
log.cc log: Remove bad usage of [[no_return]] 2024-09-24 08:57:21 +02:00
log.h common: Implement Werror flag 2023-02-13 10:52:05 +01:00
nextpnr.cc Remove Wasm exception handling workarounds. 2026-05-01 11:08:43 +00:00
nextpnr.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
nextpnr_assertions.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
nextpnr_assertions.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
nextpnr_base_types.h clangformat 2024-09-30 14:51:33 +02:00
nextpnr_namespaces.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
nextpnr_namespaces.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
nextpnr_types.cc Add trivially copyable invariant for ID types 2024-01-04 17:04:28 +01:00
nextpnr_types.h Add attributes to the hierarchical cells (#1405) 2024-12-17 11:30:39 +01:00
property.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
property.h Fix "implicit copy constructor for 'Property' is deprecated" 2022-11-10 10:57:41 +01:00
pybindings.cc clangformat 2025-05-20 13:19:52 +02:00
pybindings.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
pycontainers.h clangformat 2024-09-30 14:51:33 +02:00
pywrappers.h clangformat 2024-01-12 10:09:28 +01:00
relptr.h apicula: add support for magic sip pins (#1370) 2024-10-09 15:16:36 +02:00
report.cc clangformat 2025-07-07 10:15:50 +02:00
scope_lock.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
sdc.cc sdc: Fix EOF handling during string parse 2025-06-25 11:58:11 +02:00
sdf.cc context: Add getNetinfoRouteDelayQuad 2023-01-18 16:28:33 +01:00
sso_array.h clangformat 2024-09-30 14:51:33 +02:00
str_ring_buffer.cc Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
str_ring_buffer.h Split up common into kernel,place,route 2022-04-08 13:42:54 +01:00
svg.cc clangformat 2024-09-30 14:51:33 +02:00
timing.cc common: Use `NPNR_ASSERT_FALSE` for unreachable case 2024-09-24 08:57:21 +02:00
timing.h clangformat 2024-09-30 14:51:33 +02:00
timing_log.cc timing_log: Handle potentially missing net when reporting crit path (#1381) 2024-10-04 08:07:55 +02:00
util.h clangformat 2024-09-30 14:51:33 +02:00