Commit Graph

3787 Commits

Author SHA1 Message Date
gingerBill
46bb9bc5c7 Enforce an icmp when casting to i1 to correct behaviour for booleans which are not 0 or 1 2023-05-20 12:41:30 +01:00
Jeroen van Rijn
1f4baba06e Merge pull request #2479 from Naught00/master
Change default executable extension for non-Windows platforms
2023-05-19 20:09:39 +02:00
Mark Naughton
fa1ce7d5d1 Fix accidental check in 2023-05-19 18:56:35 +01:00
Mark Naughton
775a488a36 Fix windows write_directory() 2023-05-19 18:53:43 +01:00
Mark Naughton
018904f0ec Add write permissions check on output folder 2023-05-19 18:37:55 +01:00
gingerBill
4201834b18 Make intrinsics.type_merge form a union of the types; ignoring duplicates 2023-05-19 12:11:18 +01:00
gingerBill
2631e07bea Add intrinsics.type_merge 2023-05-19 11:18:20 +01:00
Mark Naughton
413077a5d9 Fix single-file package case 2023-05-18 13:23:17 +01:00
gingerBill
56c0d32ea0 Fix #2526 2023-05-18 11:52:16 +01:00
gingerBill
c0e84b0592 Fix #2536 2023-05-18 11:39:18 +01:00
gingerBill
f2e590be7a Fix #2544 2023-05-18 11:35:47 +01:00
gingerBill
1692dcf8d5 Merge pull request #2514 from ryuukk/patch-2
Missing cast
2023-05-18 11:26:02 +01:00
gingerBill
5ec4719124 Merge pull request #2523 from jcmoyer/fix-2056
Zero non-diagonal elements when converting to matrix
2023-05-18 11:25:44 +01:00
gingerBill
171f38b9b5 Allow implicit conversion between boolean types within or_return
This is to improve the experience using third-party code, especially foreign C-like code which may use a distinct boolean or a different sized one
2023-05-18 11:06:02 +01:00
gingerBill
bb4ff84a4a Add extra mutex for error block stuff 2023-05-16 11:52:02 +01:00
gingerBill
8693a045bb Revert "Change intrinsics.read_cycle_counter on ARM64"
This reverts commit b567679eb6.
2023-05-12 11:50:49 +01:00
gingerBill
b567679eb6 Change intrinsics.read_cycle_counter on ARM64 2023-05-12 11:34:01 +01:00
matias
277ae4e2b0 Patch "no_copy" typo in parser.cpp 2023-05-10 02:58:17 -04:00
J.C. Moyer
ed580b3060 Zero non-diagonal elements when converting to matrix
Fixes #2056
2023-05-09 12:00:38 -04:00
ryuukk
f313538ea5 Missing cast 2023-05-06 18:00:33 +02:00
gingerBill
fda1e4409c When using -debug, default to -o:none unless explicitly specified 2023-05-02 14:44:56 +01:00
gingerBill
b3aa6afba9 Fix #2481 2023-04-27 11:35:14 +01:00
gingerBill
7df1cc075c Fix #2487 2023-04-27 11:31:05 +01:00
gingerBill
b0f0a02d3c Make !x be an untyped boolean 2023-04-27 11:26:15 +01:00
gingerBill
d6d34bd62f Add extra nullptr check 2023-04-27 11:16:02 +01:00
gingerBill
68dde07d5d Require parentheses around certain uses of or_return expressions 2023-04-27 11:13:05 +01:00
gingerBill
acd8a4bc95 Unify check_constant_parameter_value logic 2023-04-27 10:58:17 +01:00
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
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