Commit Graph

302 Commits

Author SHA1 Message Date
Atil Kurtulmus
88b8052532 fix windows 2021-03-19 07:23:17 +03:00
atil
2c0ddfb5db fixtypo 2021-03-19 09:57:38 +03:00
atil
2f4902c9b9 fixtypo 2021-03-19 09:54:28 +03:00
atil
d28f6144a4 early memcpyopt 2021-03-19 09:52:53 +03:00
gingerBill
b5c0c68615 Add -strict-style flag: Enforces code style stricter whilst parsing, requiring such things as trailing commas 2021-03-13 21:20:46 +00:00
Jeroen van Rijn
cefde23232 Remove double removal of extension when using the -out option.
When specifying the out parameter, the extension was stripped twice.
If your path contains a ".", this caused issues.

e.g.
cd "C:\Repro\Path With a . In The Name\"
odin run repro.odin -keep-temp-files -out repro.exe

This would cause the files to end up as:
"C:\Repro\Path With a.exe", "C:\Repro\Path With a.ll", "C:\Repro\Path With a.bc" and "C:\Repro\Path With a.obj"

With this patch it works as expected, with or without a . in the file path.
2021-03-06 23:09:15 +01:00
gingerBill
15dbc99cb9 Minimize TokenPos size by using i32 for line/column/offset and file_id instead of String
To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
2021-03-04 16:45:30 +00:00
gingerBill
75f127af7c Add -vet-extra (checks for unneeded casts and transmutes) 2021-03-03 14:17:48 +00:00
nakst
7b4ddd9b18 update essence API header 2021-02-26 14:46:38 +00:00
gingerBill
d0ac9f605d Merge branch 'master' of https://github.com/odin-lang/Odin 2021-02-25 13:17:07 +00:00
gingerBill
3eae69effc Make USE_NEW_LLVM_ABI_SYSTEM the actual behaviour and remove the previous approach 2021-02-25 13:17:00 +00:00
gingerBill
53e4c536a1 Merge pull request #852 from Tetralux/fix-dll-mac
Fix -build-mode:shared on Darwin
2021-02-25 12:17:29 +00:00
gingerBill
4d13a43590 Enforce -llvm-api on Mac M1 2021-02-25 00:39:44 +00:00
gingerBill
58422711d1 Remove sret attribute in llvm_abi.cpp 2021-02-25 00:22:47 +00:00
gingerBill
ba817d153c Get compiling on Mac Mini M1 2021-02-24 23:21:34 +00:00
Tetralux
a9af8b093d Fix -build-mode:shared on Darwin
Apparently, the '__$startup_runtime' symbol to initialize RTTI stuff has
three underscores (not two) on Darwin!
2021-02-24 02:18:47 +00:00
gingerBill
f95185a16e Fix new flags 2021-02-23 15:05:03 +00:00
gingerBill
01313eec7f Add flags -ignore-warnings and -warnings-as-errors 2021-02-23 14:59:28 +00:00
gingerBill
53d8ec4d15 Add extra error checks 2021-01-18 11:34:09 +00:00
gingerBill
fa0e4c1294 Add -no-entry-point to help 2021-01-04 08:56:42 +00:00
gingerBill
e8653ac47e Update main.cpp 2020-12-06 00:51:32 +00:00
gingerBill
f0683c9102 Merge branch 'master' into parser-experiments 2020-12-06 00:49:48 +00:00
gingerBill
dbaf4d24f6 Update package json for new map layout; Correct llvm-api includes for *nix 2020-11-25 16:19:56 +00:00
gingerBill
9408eb9580 Update odin doc to support multiple package outputs by passing multiple paths; Replace -all with -short
Example:
odin doc core/path core/path/filepath
2020-11-18 23:22:27 +00:00
gingerBill
ef2f204c58 Improve system_exec_command_line_app functionality; Restrict test_* procedures to *_test.odin files 2020-11-17 20:33:15 +00:00
gingerBill
30765475c6 Fix up system_exec_command_line_app exit code code 2020-11-17 18:59:48 +00:00
gingerBill
2bd0fd932a Begin rudimentary work on implementing odin test tooling with *_test.odin files 2020-11-17 18:50:30 +00:00
gingerBill
4f303603e7 Add more documentation for odin doc flags 2020-11-17 15:15:26 +00:00
gingerBill
a0fbc56317 Improve flags for odin doc 2020-11-17 15:13:38 +00:00
gingerBill
d90fc18bef Basic odin doc support 2020-11-17 15:05:16 +00:00
gingerBill
00192bb349 Improve flag handling to check for invalid uses 2020-11-17 13:55:08 +00:00
gingerBill
edd9d5e50b Add -show-unused-with-location 2020-11-17 13:02:10 +00:00
gingerBill
6f71d1f2a9 Add -show-unused (Shows unused package declarations of all imported packages)
Crude output at the moment but better than nothing
2020-11-17 12:10:25 +00:00
gingerBill
939878df50 Improve logic for x->y() shorthand 2020-11-15 23:54:18 +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
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
gingerBill
54fbdabc38 Add experimental -insert-semicolon functionality to tokenizer and parser 2020-11-01 15:10:06 +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