Commit Graph

265 Commits

Author SHA1 Message Date
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
gingerBill
f92334a769 Basic functionality, except for map and correct nested typename mangling 2020-03-07 10:38:14 +00:00
gingerBill
6151fdb324 Merge branch 'master' into llvm-integration 2020-03-04 19:27:01 +00:00