Mark Naughton
4b4481ea27
Simplify extension addition logic
2023-04-26 16:39:47 +01:00
Mark Naughton
e84802468b
Use buildpath instead of init_filename
2023-04-26 15:48:59 +01:00
Mark Naughton
1a5ed4eb7f
Fix .bin not being applied for relative directory
2023-04-26 14:10:22 +01:00
Mark Naughton
5151403aaa
Fix Windows version of get_current_directory
2023-04-25 12:08:15 +01:00
Mark Naughton
67b6a8ee89
Add Windows equivalent of get_current_directory
2023-04-24 14:26:53 +01:00
Mark Naughton
780375d865
Add .bin extension in extra case
2023-04-24 12:57:59 +01:00
Mark Naughton
cbcf94669e
Add get_current_directory()
2023-04-24 12:57:34 +01:00
Mark Naughton
06e8d03fba
Use last element for directory collision check
2023-04-23 21:15:08 +01:00
Mark Naughton
a6b9341593
Add .bin extension the case of a collision
...
The directory name is used to determine the executable name. In the case
that the directory and output executable are in conflict, a .bin
extension is added.
2023-04-23 18:53:00 +01:00
Mark Naughton
47610725ea
Change default executable extension
...
Putting a program into your path on a UNIX system with a
file extension means that you have to type the extension out for every
invocation of the program. A better default is to have no extension at
all since most people will end up removing it anyway.
This change does not affect Windows since the .exe extension is set
after the default extension if compiling on Windows.
2023-04-23 17:02:56 +01:00
gingerBill
f2ec438166
Add ifdef block
2023-04-21 12:50:36 +01:00
gingerBill
a95b064d6d
Fix memory leak caused by awful realloc usage on Linux
2023-04-21 13:29:38 +01:00
gingerBill
685f7d0fea
Rename word_size to ptr_size internally to make it clearer
2023-04-20 12:18:13 +01:00
gingerBill
f5d9ca64f9
Begin work on new pseudo-architecture: wasm64p32
2023-04-20 12:02:32 +01:00
gingerBill
cde442fa2c
Add internal padding to types where ptr size != int size
2023-04-20 11:55:18 +01:00
gingerBill
84f966cb8f
Begin work on separating int and word sizes (i.e. size_of(int) might not equal size_of(uintptr))
2023-04-20 11:46:41 +01:00
gingerBill
9d23a392a6
Merge branch 'master' of https://github.com/odin-lang/Odin
2023-04-20 11:27:14 +01:00
gingerBill
6726df4d58
Allow aliasing foreign import name
2023-04-20 11:20:15 +01:00
gingerBill
02a58c1247
Merge pull request #2464 from ap29600/simd_unaligned_load
...
Improve code generation for `intrinsics.unaligned_load/store` on `#simd` types
2023-04-20 10:33:32 +01:00
gingerBill
72a7b35513
Merge pull request #2450 from destroycomputers/master
...
Fix intrinsics.alloca code generation
2023-04-20 10:25:43 +01:00
gingerBill
843eaf8893
Fix race condition with -use-separate-modules due to type determination
2023-04-18 17:20:50 +01:00
gingerBill
30fa8f8ac2
Add missing enum
2023-04-18 16:08:54 +01:00
gingerBill
0ec4e8d5d4
Inline static map calls for map get, and improve readability of the LLVM IR
2023-04-18 15:17:16 +01:00
Andrea Piseri
af63eff8d7
improve code generation for intrinsics.unaligned_load/store on #simd types
...
the default implementation calls memcpy on an `alloca` constant, which
seems to heavily confuse the optimizer and produces overall suboptimal
code.
Introducing this specialization simplifies the intermediate
representation produced, resulting in more efficient code.
2023-04-16 15:01:30 +02:00
gingerBill
e24315eed8
Improve grammar
2023-04-15 16:16:16 +01:00
gingerBill
dc55e88588
Add @(deferred_*_by_ptr=<proc>)
2023-04-15 16:04:04 +01:00
gingerBill
5da76ae34b
Add struct #no_copy
2023-04-15 15:37:32 +01:00
destroycomputers
b6f356c211
Fix intrinsics.alloca code generation
...
There was a disconnect between the declared return type for alloca
intrinsic in check_builtin.cpp (multi_pointer(t_u8)) and the generated
result type in llvm_backend_proc.cpp (t_u8_ptr).
This allowed slicing the return type, but in the code generation process
the type of the expression wasn't sliceable, which triggered the assert.
Fixes #2139
2023-04-11 01:11:01 +02:00
gingerBill
ae6e76bbb3
Merge pull request #2435 from Lperlind/master
...
Fix type comparison not accounting for parapoly params
2023-04-06 12:56:25 +01:00
gingerBill
70ce878dfb
Add -max-error-count:<integer>
2023-04-04 12:11:12 +01:00
gingerBill
adcaace03c
Fix allow_field_separator for foreign import
2023-04-03 21:09:26 +01:00
Lucas Perlind
08bc6a1698
Fix type comparison not accounting for parapoly params
2023-04-03 12:47:28 +10:00
Mark Naughton
bd7ffcc048
Change help text to output to stdout
2023-03-29 16:30:02 +01:00
Alexander Goussas
99d6c58971
Fix typo in warning message in parser
2023-03-24 15:37:17 -05:00
gingerBill
d986eee36b
Fix typo
2023-03-21 15:28:52 +00:00
gingerBill
b3e712e0b8
Correctly handle end comment for doc generation
2023-03-21 15:22:11 +00:00
gingerBill
2c4a478987
Add @(extra_linker_flags=<string>)
2023-03-21 13:30:58 +00:00
gingerBill
ba02ef8f25
Change trailing comma require to -strict-style only
2023-03-21 13:16:03 +00:00
gingerBill
fe533fb809
Improve llreg integer type generation for SysV ABI
2023-03-19 01:29:53 +00:00
gingerBill
1f5bb99548
Improve SysV ABI for multiple return values that fit into a single register; Fixes #2384
2023-03-19 00:51:57 +00:00
gingerBill
bfb231fb8a
Simplify copy elision on variable declarations
2023-03-16 17:24:29 +00:00
gingerBill
8dc70f797c
Increase use of temporary_allocator() where possible
2023-03-16 15:16:17 +00:00
gingerBill
c1c7128634
Minimize severe memory usage by enforcing the heap_allocator() in places
2023-03-16 15:04:57 +00:00
gingerBill
49cf0125a9
Fix minor memory leak
2023-03-16 13:01:06 +00:00
gingerBill
0602a16ad6
Reserve memory for procedures when generating the LLVM IR
2023-03-16 12:44:03 +00:00
gingerBill
00f24a3249
Merge pull request #2380 from flysand7/master
...
Add -no-thread-local flag
2023-03-14 13:04:34 +00:00
Florian Behr
8d5c865814
Fix missing commas in -target-featues string by adding missing i increment.
2023-03-14 13:39:08 +01:00
bumbread
5134d6bc63
rename -no-tls to -no-thread-local
2023-03-14 16:32:42 +11:00
bumbread
5f3b6c9722
Added -no-tls flag
2023-03-13 20:25:13 +11:00
gingerBill
93f7d3bfb9
Allow case nil within a type switch statement (experimental idea)
2023-03-12 16:33:21 +00:00