Commit Graph

267 Commits

Author SHA1 Message Date
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
F0x1fy 6b6f1a5283 For the sake of consistency, fixed the placement of the -no-entry-point flag check. 2020-11-10 09:56:16 -07:00
F0x1fy 3bed5fad77 Removed unnecessary newline from previous commit. 2020-11-10 09:55:00 -07:00
F0x1fy 301e1d2ff3 Added -no-entry-point flag and relevant check. 2020-11-10 09:50:53 -07:00
Tetralux 140bb3ebfc Fix -build-mode:shared type table on Unix
Fixes #527.

Previously on Linux, '__$startup_runtime', the procedure that
initializes the type table for runtime typeids, was NOT called when
a shared library was loaded by the dynamic loader.

This caused the library to not have its type table populated, which
caused an assert to fail if you tried to use runtime typeids - like
core:fmt, for example.

This commit fixes this by calling ld instead of clang, when building a
shared library, so that we can pass "-init '__$startup_runtime'" to it,
when building a shared library.

Try as I might, I could not get clang to correctly pass through
the linker flags that I wanted.
2020-11-06 20:44:11 +00:00
Platin21 8c46582667 Fixes text layout now via GitHub 2020-10-31 22:37:11 +01:00
Platin21 f29f7351e9 Revert "Changed tab width was on 2 now 4"
This reverts commit fc7c0ca3b0.
2020-10-31 22:30:03 +01:00
Platin21 fc7c0ca3b0 Changed tab width was on 2 now 4 2020-10-31 22:29:02 +01:00
Platin21 8158239d76 Sets llvm api back to use the generic sdk link 2020-10-31 22:15:16 +01:00
Platin21 f3108493fb Combines all link-able types to a single if and adds .o for linking 2020-10-31 22:12:50 +01:00
Platin21 7694a89d38 Fix for local/lib linking from brew for macOS 2020-10-31 22:05:40 +01:00
gingerBill 4e5b8f2c61 Add -build-mode:assembly for -llvm-api 2020-10-20 12:35:12 +01:00
gingerBill 0be6ddc7e2 Add -microarch:<string> (e.g. -microarch:native) 2020-10-20 12:25:11 +01:00
Platin21 2ed6785b4a Adds -syslibroot to linker command needed for System.framework 2020-09-27 22:11:23 +03:00
gingerBill 654b24e514 Add -disallow-do 2020-09-23 17:17:32 +01:00
nakst c92860e142 update essence platform 2020-09-15 23:22:19 +01:00
gingerBill edbad0709e Add -default-to-nil-allocator flag (sets ODIN_DEFAULT_TO_NIL_ALLOCATOR) 2020-09-15 12:27:53 +01:00
Mikkel Hjortshoej ae2fc5830e Add git sha to odin version command 2020-08-23 15:25:19 +02:00
gingerBill 0aaab84938 Allow multiple -define flags 2020-07-16 20:59:03 +01:00
gingerBill 7ae54ae3b4 Add -no-dynamic-literals to disallow dynamic array and map literals 2020-07-14 23:01:34 +01:00
gingerBill 323fc7a6a9 Fix system calls for compiler 2020-06-30 19:04:14 +01:00
gingerBill 92363da58e Add -show-system-calls; Update runtime for windows_386; Fix some minor bugs 2020-06-30 10:09:58 +01:00
gingerBill 0ea64182f1 Begin work on windows 386 2020-06-29 17:35:33 +01:00
gingerBill 97d3d4ff6f Minor changes for \*nix backend 2020-06-10 13:38:17 +01:00
gingerBill 6ea0910213 Fix typo 2020-06-10 13:02:42 +01:00
gingerBill b8d33165c9 Add -target:<string> fuzzy checking with "Did you mean" message 2020-06-10 12:59:54 +01:00
gingerBill 6b3ee447f0 Basic cross compilation support 2020-06-10 12:26:31 +01:00
gingerBill 626b4740b1 Add wasm-ld support for wasm code generation 2020-06-03 13:12:38 +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 098699103d Begin work on supporting wasm32 architecture 2020-05-25 12:46:23 +01:00
gingerBill 89d824216a Add extra information to -show-more-timings 2020-05-21 09:30:15 +01:00
gingerBill 4f4c3bb03b Add -extra-linker-flags:<string> 2020-05-06 13:41:22 +01:00
gingerBill 99ebb5af3b Support --flag as redundancy for -flag 2020-05-04 18:23:23 +01:00
gingerBill 45274868c3 Fix -subsystem:windows for normal backend 2020-05-04 18:07:49 +01:00
gingerBill 3299d6a204 Add -ignore-vs-search 2020-05-02 18:50:38 +01:00
gingerBill 1a9e75267b Fix rc.exe call 2020-05-02 10:00:34 +01:00
gingerBill dd0fb744fe Add missing ; 2020-04-30 19:26:31 +01:00
gingerBill 70a66cd559 Add -subsystem to odin build -help 2020-04-30 17:57:21 +01:00
gingerBill f09b6a4c90 Simplify compiler's Map and create a StringMap specifically for strings 2020-04-13 13:02:30 +01:00
gingerBill 65a2125dba Add -build-mode=obj 2020-04-13 12:00:40 +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 d0b913dad1 Add extra internal memory analysis 2020-04-06 12:17:54 +01:00
Kevin Watters 957e6f7f08 Add a missing space after /LIBPATH linker options. 2020-03-28 21:05:32 -04:00
gingerBill 8093062e3b Wrap all LLVM C includes 2020-03-19 15:36:13 +00:00
gingerBill ed4d21045b Add LLVM_BACKEND_SUPPORT macro to make the backend optional 2020-03-19 15:14:31 +00:00
gingerBill dae817e5ab Integrate linker code with the new LLVM API backend 2020-03-08 17:44:08 +00:00