aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHarold Brenes <harold@hbrenes.com>2025-05-03 03:20:02 -0400
committerHarold Brenes <harold@hbrenes.com>2025-05-03 03:21:03 -0400
commitfc082f5ea5f8ba65811b0d008e7f86137297849c (patch)
tree6b04764a501fe2fb93670b02f99245daed3bb615 /src
parent6d18560ca3054184d9bd97f280472d8cb5bb5081 (diff)
Remove some TODO. Leave important note
Diffstat (limited to 'src')
-rw-r--r--src/check_decl.cpp4
-rw-r--r--src/llvm_backend.cpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp
index 84893d5c4..2be5be023 100644
--- a/src/check_decl.cpp
+++ b/src/check_decl.cpp
@@ -1283,6 +1283,9 @@ gb_internal void check_proc_decl(CheckerContext *ctx, Entity *e, DeclInfo *d) {
break;
}
+ // NOTE(harold): For Objective-C method implementations, this must happen after
+ // check_objc_methods() is called as it re-sets ac.is_export to true unconditionally.
+ // The same is true for the linkage, set below.
e->Procedure.entry_point_only = ac.entry_point_only;
e->Procedure.is_export = ac.is_export;
@@ -1382,6 +1385,7 @@ gb_internal void check_proc_decl(CheckerContext *ctx, Entity *e, DeclInfo *d) {
}
}
+ // NOTE(harold): See export/linkage note above(where is_export is assigned) regarding Objective-C method implementations
bool is_foreign = e->Procedure.is_foreign;
bool is_export = e->Procedure.is_export;
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index 4396a2a27..ce40e6e9f 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -1649,8 +1649,6 @@ gb_internal void lb_finalize_objc_names(lbGenerator *gen, lbProcedure *p) {
isize method_param_count = method_type->Proc.param_count;
isize method_param_offset = 0;
- // TODO(harold): Need to make sure (at checker stage) that the non-class method has the self parameter already.
- // (Maybe this is already accounted for?.)
if (!md.ac.objc_is_class_method) {
GB_ASSERT(method_param_count >= 1);
method_param_count -= 1;