Commit Graph

97 Commits

Author SHA1 Message Date
gingerBill
e2ba8ff6e6 Fix #4530 2024-12-02 11:23:55 +00:00
Jeroen van Rijn
b46b34228e match_exact_value: return when type is compound
fixes #4431
2024-10-29 13:59:11 +01:00
Laytan
b0b60fe7ed fix segfault in release builds of the compiler with clang++-18 2024-05-07 16:52:46 +02:00
gingerBill
2b26384b89 Implement dumb PtrMap 2024-04-26 15:04:46 +01:00
Laytan Laats
b25e85a8bb check if string could be converted from float 2024-01-17 00:15:24 +01:00
gingerBill
65206fe33e Go through loads of TODOs 2023-08-01 11:39:04 +01:00
gingerBill
349641e95f Fix #2572 2023-06-07 13:08:15 +01:00
gingerBill
1c2301e2f1 Use atof in float_from_string to allow for debug C-like semantic purposes 2023-03-06 19:52:03 +00:00
gingerBill
090e30f07b Make -verbose-errors the default; -terse-errors to disable it 2023-02-22 11:48:10 +00:00
gingerBill
55176e52fc Use heap_allocator() with -debug; Reinstate the arena guards 2023-01-23 11:38:18 +00:00
gingerBill
c1f5be24e2 Remove dead code in the compiler 2022-12-18 22:49:10 +00:00
gingerBill
056ba1ed13 Even more gb_internal everywhere 2022-12-18 21:24:45 +00:00
gingerBill
ac5f5a33e9 gb_internal a lot 2022-12-18 21:17:07 +00:00
Phil
7a4106077a correct compare_exact_values(x,y) for TypeId and Procedure 2022-12-02 13:13:01 -08:00
gingerBill
3b583cbac7 Add debug symbols for global constants of integers, bools, enums, runes, & pointers.
Variables are namespaced with `pkg::name` or `name` if built-in or the initial package for convenience.
2022-11-02 00:05:51 +00:00
gingerBill
3aea9a7c20 Improve error messages for compile time known bounds checking 2022-09-22 00:30:10 +01:00
Jeroen van Rijn
59f55a2119 Make big_int_from_string return an error if not an integer. 2022-05-03 13:15:49 +02:00
gingerBill
8a9f7fc684 Fix #1713 2022-04-14 15:09:03 +01:00
gingerBill
83f7a887b7 Move comment 2022-02-22 23:03:04 +00:00
gingerBill
62d232d798 Correct ExactValue_Pointer 2022-02-22 22:59:00 +00:00
gingerBill
ecdaac9921 Unify are_types_identical_unique_tuples 2022-01-19 15:14:15 +00:00
gingerBill
5ff82fc113 Correct tuple name checking for doc writing 2022-01-19 15:11:42 +00:00
gingerBill
541beb615b Move more things to PtrMap 2021-11-05 17:13:07 +00:00
gingerBill
042dbda47f Replace many uses of heap_allocator() with permanent_allocator() 2021-09-13 01:30:30 +01:00
gingerBill
b33bf3f704 Correct race condition and incorrect usage of condition_signal outside of a mutex lock 2021-08-26 22:17:51 +01:00
gingerBill
367bf0c7ae Fix #1076 2021-08-13 10:45:29 +01:00
gingerBill
7f3d4cb504 Remove the literal conversion logic to the parser from the tokenizer 2021-08-02 00:53:45 +01:00
gingerBill
be76da2c90 Begin optimizing tokenizer; Replace gb_utf8_decode with utf8_decode (CC but easier to change later) 2021-08-01 23:56:17 +01:00
gingerBill
460e14e586 Change the compiler's big integer library to use libTomMath
This now replaces Bill's crappy big int implementation
2021-07-11 16:08:16 +01:00
gingerBill
d9e6ade030 Add experimental support for a threaded semantic checker to -threaded-checker 2021-07-10 23:51:37 +01:00
gingerBill
54e6c50769 Implement f16 functionality 2021-04-01 10:06:00 +01:00
gingerBill
047586afc6 Change ExactValue layout for complex/quaternion types to minimize its size 2020-12-03 14:21:33 +00:00
gingerBill
a9c1811027 Fix typo 2020-12-02 10:41:18 +00:00
gingerBill
32b1537aa3 Fix xor for constant booleans 2020-12-02 10:39:59 +00:00
gingerBill
d90fc18bef Basic odin doc support 2020-11-17 15:05:16 +00:00
gingerBill
d8bc2030e6 Fix big_int_to_f64 2020-05-30 16:45:49 +01:00
gingerBill
d52695b077 Fix constant complex arithmetic bug 2020-05-08 16:09:35 +01:00
gingerBill
f229084baa Basic polymorphic named procedure parameters for procedures and records 2020-04-13 15:48:56 +01:00
gingerBill
f09b6a4c90 Simplify compiler's Map and create a StringMap specifically for strings 2020-04-13 13:02:30 +01:00
gingerBill
8bec324779 Fix Duplicate integer switch case values incorrectly consider its absolute value #502
(Hashing proc was wrong for big ints)
2019-12-15 09:56:11 +00:00
gingerBill
7fae890ef9 Allow ranges for array-like compound literals 2019-10-26 14:06:29 +01:00
gingerBill
6c69e8c043 Make typeid semantics consistent across variables and constants 2019-10-06 14:55:25 +01:00
gingerBill
01c10aa944 inline for loops (only for 'in' based for loops) 2019-08-26 13:54:35 +01:00
gingerBill
7bc146e6fd Built-in Quaternions (Not just an April Fool's Joke any more) 2019-08-26 11:33:05 +01:00
gingerBill
59ab51acec Fix typo 2019-08-23 11:54:23 +01:00
gingerBill
cf23954297 Improve #assert to show the procedure and signature it was called with; Allow the ability to print ExactValue correct now. 2019-08-23 11:51:04 +01:00
gingerBill
37633c1d2a intrinsics.type_* constant evaluation procedures 2019-08-04 11:02:00 +01:00
gingerBill
71a733e3b5 Allow booleans to be assigned to a 1-bit bit field value 2019-05-09 13:04:15 +01:00
gingerBill
bd62bceca6 Fix BigInt normalization issue #293 2018-12-08 11:25:35 +00:00
gingerBill
1830c1e57c Allow bitwise operation on enums 2018-08-26 18:05:59 +01:00