Jeroen van Rijn
6332303a0e
Add -file suggestion.
...
When `main` is duplicated or the package names differ, suggest it may be a single `-file` package.
2026-09-24 12:52:45 +02:00
Jeroen van Rijn
ec0bd121db
Fix redecleration error for globals
2026-09-17 16:20:11 +02:00
gingerBill
07b5c2ee0f
Support enable_target_feature and require_target_feature for asm templates
2026-08-31 16:39:17 +01:00
kalsprite
f5873e2e84
remove dead inline asm check, now unreachable
2026-08-24 00:40:00 -07:00
kalsprite
40fd892cf5
Reject a named asm template used as a value instead of aborting the compiler
2026-08-24 00:27:26 -07:00
Jeroen van Rijn
830f41e280
Merge pull request #7417 from kalsprite/foreign_sig_named_struct
...
Fix segfault comparing two foreign declarations of the same symbol
2026-08-22 03:11:27 +02:00
kalsprite
f8bdfa0857
Fix segfault comparing two foreign declarations of the same symbol
2026-08-21 17:31:42 -07:00
kalsprite
a1b56d7679
Fix compiler segfault on of a type alias that cycles back
2026-08-21 17:00:44 -07:00
kalsprite
f17c86d936
diagnostics: let compiler check error() fmt strings + fixes
2026-08-19 15:39:39 -07:00
gingerBill
a86e523053
Allow for inlineable asm calls
2026-08-18 14:57:34 +01:00
gingerBill
6646a7b38e
Remove redundant code
2026-08-17 19:57:21 +01:00
gingerBill
2738ff640d
Minor text fix
2026-08-17 19:56:03 +01:00
gingerBill
c3b2029f64
Support asm template groups
2026-08-17 19:54:21 +01:00
gingerBill
ef21ffa285
Templatize the check_asm.cpp code ready for other architectures
2026-08-11 14:00:41 +01:00
gingerBill
70ca5c0936
Validate the names of mnemonics, prefixes, and registers for amd64
2026-08-11 10:44:34 +01:00
gingerBill
3f3e69897a
Check for duplicate register pinning
2026-08-10 15:03:17 +01:00
gingerBill
ebc21aad72
Fix displacement check
2026-08-10 13:50:15 +01:00
gingerBill
cee5bd79e0
Fix pinning logic for asm registers
2026-08-10 12:06:28 +01:00
gingerBill
22f2e2ac78
Try to lower to LLVM IR from Odin's asm template syntax
2026-08-09 23:38:36 +01:00
gingerBill
25ce7e87de
Correctly type check asm template parameters
2026-08-09 18:52:57 +01:00
gingerBill
5ac28cdecd
Begin work on semantically type checking asm templates
2026-08-09 18:24:56 +01:00
gingerBill
40e54a97ed
Merge branch 'master' into bill/bedrock
2026-06-24 11:07:02 +01:00
gingerBill
a479eb7775
Support @(link_section=<string>) for procedures
2026-06-02 13:09:40 +01:00
gingerBill
b0ee0bb635
Add @(fast_math={...}) + intrinsics.Fast_Math_Flags
2026-05-11 11:55:07 +01:00
gingerBill
8ffcdf172a
Odin_Calling_Convention defined in compiler; Allow for main :: proc "contextless" () {} with -bedrock; intrinsics.type_proc_calling_convention
2026-05-05 15:07:42 +01:00
gingerBill
942c1bff17
Merge branch 'master' into bill/bedrock
2026-05-05 13:57:14 +01:00
gingerBill
b083b980f7
Fix variable based procedure groups
2026-05-05 12:09:27 +01:00
gingerBill
781b71e6ea
-disable-init-fini
2026-05-04 11:31:56 +01:00
gingerBill
ea00291519
Begin work on -bedrock mode
...
Currently disables 128-bit integers, `map` type, and RTTI
2026-05-02 15:06:01 +01:00
gingerBill
7b97530443
Add intrinsics.c_var_*
2026-04-28 15:00:53 +01:00
Nikolay Hadzhiev
48e83ad003
gh 6594
...
prevent compiler crash from self-referential global initialisation
2026-04-22 13:14:08 +02:00
gingerBill
04cb889aed
Begin interning ScopeMap strings
2026-03-17 11:04:32 +00:00
gingerBill
36d5a19115
Replace Scope.elements to use a custom hash map ScopeMap
...
This hash map is robin hood based with a inline slot amount for small scopes
2026-03-16 17:41:58 +00:00
gingerBill
55b3ea7c2d
Allow @(deprecated=<string>) on types
2026-03-15 18:58:48 +00:00
gingerBill
8a92ba74fc
Make defer_use_checked and where_clauses_evaluated atomic
2026-02-02 10:56:30 +00:00
gingerBill
f4a7e0b279
Add @(no_sanitize_thread)
2026-01-15 18:06:25 +00:00
Harold Brenes
3a07a32411
Don't check procedure signature similarity when a foreign import proc is an Objective-C method.
2025-11-07 21:38:34 -05:00
Harold Brenes
9f5bde4a6f
Perform type kind check before making use relevant fields in objc_superclass check
2025-10-08 11:38:20 -04:00
gingerBill
810ca89253
Merge pull request #5727 from harold-b/hb.intrinsics.objc_super
...
Add intrinsics.objc_super and Automatically emit objc_msgSend calls
2025-10-05 20:27:01 +01:00
Harold Brenes
a769e341cb
Preempt field checking on signature_parameter_similar_enough with a type ptr equality check
2025-09-30 11:50:30 -04:00
gingerBill
4945168e6d
Short circuit for #raw_union in signature_parameter_similar_enough
2025-09-30 10:48:05 +01:00
gingerBill
668df4a571
Improve signature_parameter_similar_enough for structs
2025-09-30 10:47:31 +01:00
Harold Brenes
5af13f5d53
Automatically emit objc_msgSend calls when calling imported or implemented Objective-C methods
...
- Add intrinsics.objc_super()
- Emit objc_msgSendSuper2 calls when an objc method call is combined with objc_super(self)
- Fix objc_block return value ABI for large struct returns
- Fix objc_implement method wrappers bad ABI for large struct returns and indirect args
- Simplify parameter forwarding for objc_imlpement methods
- Add intrinsics.objc_instancetype to mimi Objective-C instancetype* returns
This facilitates returning the correct type on subclasses when calling mehtods
such as `alloc`, `init`, `retain`, etc.
- Refactor Objective-C class implementations generation so that hierarchies are properly initialized
- Better codegen for context passing with ivar-based autocontext
- Allow @superclass on imported objc-c objects
- Better codegen for block forwarding invoker, arguments are forwarded directly
2025-09-29 20:37:48 -04:00
Harold Brenes
24daa4427c
Fix various foreign signatures
2025-09-29 19:58:14 -04:00
gingerBill
8be18d9a40
Allow for constant []typeid
2025-09-28 21:47:56 +01:00
gingerBill
6338e0a8a3
Allow unions with one variant to be constant
2025-09-19 11:56:44 +01:00
gingerBill
6ce889f4eb
Entity * to std::atomic<Entity *> to remove the need for a PtrMap+Mutex
2025-09-19 11:01:41 +01:00
gingerBill
5ea2e1fe60
Minimize mutex usage when in single threaded mode.
2025-09-10 21:41:52 +01:00
gingerBill
992cad101c
Minor mutex rearrangement
2025-09-10 21:16:56 +01:00
gingerBill
bc36ea4170
Use macro instead of a C++ iterator - for speed
...
C++ iterators are bad.
2025-09-10 20:11:36 +01:00