gingerBill
ed5a4afc8c
Temporarily disable -threaded-checker; Restructure the untyped-expr-info system to be much more thread-friendly
2021-07-13 15:54:56 +01:00
gingerBill
76707e1d2f
Add sanity casts for 32/64 bit correctness
2021-07-12 11:03:12 +01:00
gingerBill
ed8a6f872d
Move things around for sanity checking for multithread preparation
2021-07-10 21:29:49 +01:00
gingerBill
0a61d4bf2b
Use next_pow2_isize
2021-07-10 19:57:54 +01:00
gingerBill
332461c0d2
Add prototypes for next_pow2
2021-07-10 19:52:26 +01:00
gingerBill
d8abe7fc4d
Implement MPMCQueue for procedure body checking
...
This is preparation for basic multithreading in the semantic checker
2021-07-10 19:50:34 +01:00
gingerBill
141573c18c
Enable Damerau-Levenshtein
2021-07-10 11:09:24 +01:00
gingerBill
35230b1a11
Add "Suggestion: Did you mean?" for selector expression typos
2021-07-08 23:15:07 +01:00
gingerBill
4662bad59c
Remove unused file
2021-04-25 20:31:35 +01:00
gingerBill
54e6c50769
Implement f16 functionality
2021-04-01 10:06:00 +01:00
Nakst
acefb2edbc
Similar to the update to gb.h
2021-03-14 20:37:32 +00:00
gingerBill
e884f8c165
Fix typo
2021-01-15 15:46:15 +00:00
gingerBill
0d6f5cec37
Implement custom temporary allocator using ring buffer
2020-11-15 19:36:37 +00:00
gingerBill
17ec3e72a6
Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a block
2020-11-15 18:45:40 +00:00
gingerBill
3c1c10a178
Begin clarifying allocation patterns by changing from heap_allocator to specific arenas
2020-11-15 18:08:52 +00:00
Tetralux
dfac45942c
Fix error message when importing package that does not exist
...
Previously on Linux, if a file in your program tried to import a
package that did not actually exist, read_directory() assumed that
the errno after calling opendir() was ENOTDIR.
This was incorrect.
Instead, we now switch on errno and check for ENOENT, which it is
if the directory does not exist.
2020-10-09 05:56:12 +01:00
Christian Seibold
ac126a8cd7
Add FreeBSD targets, get gb.h working with FreeBSD, fix odin_root_directory function for FreeBSD and a few other operating systems not yet added
2020-09-14 11:28:41 -05:00
gingerBill
e84406a895
Move zero_size
2020-05-27 18:26:20 +01:00
gingerBill
1a0614b0d7
Improve performance of tokenization and parsing
2020-05-27 18:23:37 +01:00
gingerBill
6ac0fb80a6
Minor tokenizer performance improvements
2020-05-27 12:32:11 +01:00
gingerBill
8e63c94393
Add string.h
2020-05-21 11:10:03 +01:00
gingerBill
97f7a558fa
#optional_ok tag for procedures
2020-04-19 21:45:04 +01:00
gingerBill
f09b6a4c90
Simplify compiler's Map and create a StringMap specifically for strings
2020-04-13 13:02:30 +01:00
gingerBill
29a3cb25d3
Add extra guards for window-only performance checking
2020-04-07 11:47:28 +01:00
gingerBill
7ff690500a
Fix psapi.h to be windows only
2020-04-07 11:41:55 +01:00
gingerBill
7f5021c8e9
Disallow procedure calls with an associated deferred procedure to be used in logical binary expressions (short-circuiting)
2019-12-15 11:10:50 +00:00
gingerBill
9db81498d8
Make the string type elements "immutable", akin to char const * in C
...
Allows for extra security and optimization benefits
2019-12-01 14:10:59 +00:00
gingerBill
37e3e081c6
Update microsoft_craziness.h to work correctly with the rest of the codebase (and not use WIN32_LEAN_AND_MEAN)
2019-11-27 15:18:32 +00:00
gingerBill
7fae890ef9
Allow ranges for array-like compound literals
2019-10-26 14:06:29 +01:00
gingerBill
657103c4cf
ThreadPool for the parser
2019-09-01 20:02:39 +01:00
gingerBill
458ec5922e
odin query
...
Output .json file containing information about the program
2019-05-25 20:24:19 +01:00
gingerBill
63bbb9b62f
Change the file name rules for imports (use / rather than \ on windows)
2019-04-20 16:47:28 +01:00
gingerBill
2614830c69
Minor code organization change
2019-03-31 18:29:57 +01:00
gingerBill
e1ae359a77
Replace redundant code
2019-02-06 16:06:48 +00:00
Tetralux
1e180d611d
Allow 'odin run program.odin -- <args-for-program.exe>
2019-01-28 17:58:48 +00:00
gingerBill
cdbf831a7a
Replace context <- c {} with context = c;. context assignments are scope based
2018-08-04 23:14:55 +01:00
gingerBill
c3c7834246
BigInt support in the constant system
2018-07-28 00:41:31 +01:00
Zachary Pierson
5de3b07e2b
Made os_osx.odin use the new-style runtime.args__ and added read_directory for macOS
2018-07-02 02:50:08 -05:00
gingerBill
cdf873542b
Add read_directory for linux
2018-06-21 08:39:52 +01:00
gingerBill
3eb8aa8268
Modify CommentGroup parsing
2018-06-17 10:29:20 +01:00
gingerBill
268491b224
Use global arena for AstNode allocations
2018-06-09 19:53:06 +01:00
gingerBill
d556fa2cd8
Remove special shared scope for runtime stuff
2018-06-03 15:06:40 +01:00
gingerBill
45b3067068
Remove tmp_allocator from Checker
2018-05-28 14:15:08 +01:00
gingerBill
a5763d6fee
Err on empty directory packages
2018-05-27 14:12:10 +01:00
gingerBill
1beff539d7
Single file "main" file
2018-05-27 13:22:24 +01:00
gingerBill
c067b90403
Add basic package support (no IR support yet)
2018-05-26 23:12:55 +01:00
gingerBill
5b6770f3d2
Parse directories to be packages
2018-05-21 20:47:52 +01:00
gingerBill
e25c72ecdd
Fix #219 and #220
2018-05-14 17:05:52 +01:00
gingerBill
e597a8d72e
Fix issues with exact integer bounds and remove dead code
2018-05-13 17:38:35 +01:00
gingerBill
63ab8b2418
Make irGen.output_base use full path rather than relative
2018-03-03 10:23:27 +00:00