Commit Graph
100 Commits
Author SHA1 Message Date
gingerBill 5bd43b94ec Improve error message for matrices with no rows or columns 2025-02-22 17:50:37 +00:00
gingerBill 748a771dad Allow indirection for swizzling on procedure parameters 2025-02-21 12:38:40 +00:00
gingerBill bf9f2e43bf Fix typeid size in LLVM 2025-02-20 18:47:41 +00:00
gingerBill e8c38e7427 Handle any correctly for 32-bit systems 2025-02-20 17:50:56 +00:00
gingerBill 614c0dd740 Fix typeid size for 32-bit platforms 2025-02-20 17:10:04 +00:00
gingerBill 4ece0617bc Keep -vet happy 2025-02-20 14:18:19 +00:00
gingerBill 5489a88983 Change typeid definition to be based around the canonical type hash
`typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type.

This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox).

Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
2025-02-20 14:10:45 +00:00
gingerBill c25ac939d4 Add cast back 2025-02-20 13:27:18 +00:00
gingerBill 1d348318f2 Use PtrMap temporarily 2025-02-20 13:23:23 +00:00
gingerBill 0ab323012e Use TypeSet instead of PtrSet<Type *> 2025-02-20 11:12:59 +00:00
gingerBill 0946f6b48b Improve name canonicalization for some debuggers 2025-02-20 11:11:22 +00:00
gingerBill 90a973ccf6 Make debug symbols use the new name canonicalization rules 2025-02-20 10:27:59 +00:00
gingerBill 29456bcdea Move docs to the header 2025-02-19 11:12:32 +00:00
gingerBill 827cd45f04 Add to check to fix crash 2025-02-18 17:12:58 +00:00
gingerBill 0482facdda Fix for weird builtin types 2025-02-18 15:26:59 +00:00
gingerBill e168cea670 Add offset for nested things 2025-02-18 15:17:04 +00:00
gingerBill 481745784f Remove debug print 2025-02-18 15:04:02 +00:00
gingerBill 04c1ff61f4 Update the comments 2025-02-18 15:03:49 +00:00
gingerBill 575a8ae510 Merge branch 'bill/canonical-type-hashing' of https://github.com/odin-lang/Odin into bill/canonical-type-hashing 2025-02-18 14:33:31 +00:00
gingerBill 23efd1bd02 Add TypeWriter stream to allow for in-place hashing and string generation 2025-02-18 14:32:41 +00:00
gingerBill cc90e0cbbf Add TypeWriter stream to allow for in-place hashing and string generation 2025-02-18 14:21:40 +00:00
gingerBill 19b59461b0 Use TypeSet for DeclInfo deps 2025-02-18 13:31:34 +00:00
gingerBill 721bcf2249 Minor code clean up 2025-02-18 13:24:08 +00:00
gingerBill d69eb57cfa Fix typos 2025-02-18 13:18:51 +00:00
gingerBill 4a29d9bb84 Simplify type info table construction 2025-02-17 16:29:42 +00:00
gingerBill b8f057951c Begin work on TypeSet 2025-02-17 13:46:17 +00:00
gingerBill 9b26bb2e6a Begin work on hash types 2025-02-17 13:10:38 +00:00
gingerBill 043f9aea61 Clean up rules for name mangling 2025-02-17 12:40:43 +00:00
gingerBill b5cf776830 Use new name canonicalization approach 2025-02-17 11:48:54 +00:00
gingerBill 99d91ccd31 Work on making name mangling deterministic 2025-02-17 11:32:49 +00:00
gingerBill 4667a19e77 Update to SDL 3.2.2 2025-02-05 11:07:08 +00:00
gingerBill 0ca614361a Update and add gamecontrollerdb.txt 2025-02-05 10:49:25 +00:00
gingerBill bce43aa7dc Make parameter Maybe(^T) 2025-02-05 10:49:14 +00:00
gingerBill 898bea8a97 Split-up require_results foreign blocks 2025-02-05 10:41:45 +00:00
gingerBill 83542a3f04 Add struct field tag fmt formatting 2025-02-05 10:30:14 +00:00
gingerBill 802895aa43 Remove random extra newline 2025-02-05 10:27:41 +00:00
gingerBill f80bea5b11 Remove transmute suggestion with -vet-cast when transmuting native <-> endian-specific types 2025-02-05 10:27:17 +00:00
gingerBill ab469e657d Remove debug code 2025-02-05 10:20:18 +00:00
gingerBill f7028aa46c Fix typo 2025-02-04 17:33:30 +00:00
gingerBill 7380f31e05 Add vendor:sdl3 to ci.yml 2025-02-04 17:13:15 +00:00
gingerBill fbac23a631 Change foreign import for sdl3 2025-02-04 17:08:39 +00:00
gingerBill 06902818bf Add gl_set_proc_address 2025-02-04 17:06:05 +00:00
gingerBill 0376061a79 Add SDL3 to examples/all/all_vendor.odin 2025-02-04 17:01:15 +00:00
gingerBill d4b1ff31ae Revert build.bat 2025-02-04 17:00:01 +00:00
gingerBill a62ce5cc66 Add sdl3_tray.odin and sdl3_version.odin 2025-02-04 16:59:38 +00:00
gingerBill 98271f0073 Add sdl3 time/timer 2025-02-04 15:50:57 +00:00
gingerBill 84cb2440b2 Add sdl3_filesystem.odin and sdl3_storage.odin 2025-02-04 15:43:58 +00:00
gingerBill 16dce5b85d Add more sdl3 files 2025-02-04 15:34:52 +00:00
gingerBill 72f69d1bac Add sdl3_log.odin 2025-02-04 14:49:55 +00:00
gingerBill 14ea47c420 Add sdl3_locale.odin 2025-02-04 14:41:54 +00:00
gingerBill a7d57e69ec Add sdl3_loadso.odin 2025-02-04 14:35:06 +00:00
gingerBill 77ba5faf09 Add sdl3_init.odin 2025-02-04 14:31:53 +00:00
gingerBill 2b4fbf695c Add sdl3_events.odin 2025-02-04 14:31:36 +00:00
gingerBill f1ab08a069 Add sdl3_hidapi.odin 2025-02-04 12:54:23 +00:00
gingerBill 44d31cb4a3 Add sdl3/sdl3_haptic.odin 2025-02-04 12:48:40 +00:00
gingerBill ce69161ffb Add sdl3_gpu.odin 2025-02-04 12:23:25 +00:00
gingerBill 02fcac195b Add sdl3_gamepad.odin 2025-02-04 10:31:56 +00:00
gingerBill 086d7956b1 Merge branch 'master' into bill/sdl3 2025-02-04 10:31:12 +00:00
gingerBill a219da14ce Fix gb.h's gb_fprintf_va to allocate if the string is larger than the default buffer 2025-01-31 09:43:30 +00:00
gingerBill 05a2d1bfbf Fix #4750 2025-01-31 09:34:38 +00:00
gingerBill 2af60b8767 Fix #4763 2025-01-31 09:30:15 +00:00
gingerBill a94ffefba3 Add OpenEXRCore-3_3.lib 2025-01-31 09:06:31 +00:00
gingerBill 61cd0f4de9 Update OpenEXRCore to 3.3 2025-01-31 09:04:26 +00:00
gingerBill 539a74c2a9 Fix bindings for sys/linux and posix/unistd.odin 2025-01-31 08:37:43 +00:00
gingerBill 5d758cd020 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-01-31 08:34:21 +00:00
gingerBill 0cd20e61ab Add @(export) foreign import 2025-01-31 08:34:15 +00:00
gingerBill 90fd4ffbba Add sdl3_joystick.odin 2025-01-30 14:48:09 +00:00
gingerBill 54caf5f576 Add sdl3_sensor.odin 2025-01-30 14:36:50 +00:00
gingerBill 83c5c08010 Add sdl3_power.odin 2025-01-30 14:33:20 +00:00
gingerBill 01365fa6b8 Add sdl3_mutex.odin 2025-01-30 14:32:06 +00:00
gingerBill 76b697edde Add sdl3_thread.odin 2025-01-30 14:31:54 +00:00
gingerBill 66ae71f619 Add sdl3_guid.odin 2025-01-30 14:17:08 +00:00
gingerBill a194e05bac Add sdl3_dialog.odin 2025-01-30 14:14:29 +00:00
gingerBill a3f50024c0 Add sdl3_video.odin 2025-01-30 14:11:02 +00:00
gingerBill e14fee9bb4 Add sdl3_cpuinfo.odin 2025-01-30 13:34:22 +00:00
gingerBill a31eb5b666 Add sdl3_clipboard.odin 2025-01-30 13:32:49 +00:00
gingerBill 2c908aa160 Add sdl3_camera.odin 2025-01-30 13:32:38 +00:00
gingerBill 6c80fb3de5 Add sdl3_surface.odin 2025-01-30 13:29:44 +00:00
gingerBill c0d9d1070f Add sdl3_rect.odin 2025-01-30 13:29:25 +00:00
gingerBill 36b27c081d Add sdl3_pixels.odin 2025-01-30 13:11:05 +00:00
gingerBill bf7c192ce9 Keep -vet and -strict-style happy 2025-01-30 12:22:22 +00:00
gingerBill 376f6a6b77 Add sdl3_blendmode.odin 2025-01-30 12:20:35 +00:00
gingerBill 22a08bb8de Add sdl3_bits.odin 2025-01-30 12:14:40 +00:00
gingerBill 1e699c08b9 Add sdl3_audio.odin 2025-01-30 12:11:42 +00:00
gingerBill 8c453ecc22 Add sdl3_iostream.odin 2025-01-30 11:58:28 +00:00
gingerBill 36d7f90ede Add sdl3_properties.odin 2025-01-30 11:48:14 +00:00
gingerBill b7740861c4 Add sdl3_error.odin 2025-01-30 11:43:33 +00:00
gingerBill 14c07ff011 Add sdl3_endian.odin 2025-01-30 11:39:55 +00:00
gingerBill 4093026a9a Clean up @(export) foreign import code 2025-01-30 11:36:12 +00:00
gingerBill 6d596adcdc Add sdl3_atomic.odin 2025-01-30 11:30:49 +00:00
gingerBill b48f14ba82 @(export) foreign import to be package scope level 2025-01-30 11:30:38 +00:00
gingerBill 22d6cabcdc Add sdl3_asyncio.odin 2025-01-30 11:16:39 +00:00
gingerBill 6a58d76c8a Add sdl3_assert.odin 2025-01-30 11:11:09 +00:00
gingerBill 4bef810b20 Fix sdl3/sdl3_stdinc.odin 2025-01-30 10:40:13 +00:00
gingerBill 5efa3510cf Merge branch 'master' into bill/sdl3 2025-01-30 10:37:21 +00:00
gingerBill 2656ecd4e1 Fix #4773 - Change order of evaluation for slicing indices 2025-01-29 15:53:34 +00:00
gingerBill 0e27acd755 Update NSSavelPanel 2025-01-28 11:38:06 +00:00
gingerBill 15ece42e74 Print frameworks first on Darwin targets 2025-01-28 10:34:41 +00:00
gingerBill 868ab27720 Add @(ignore_duplicates) for foreign import declarations 2025-01-28 10:31:46 +00:00
gingerBill 998d6525b7 stdinc 2025-01-23 14:13:15 +00:00