Skip to content

Commit 42a2127

Browse files
committed
Fix missing attribute not working on inline functions
1 parent 1d0b2c6 commit 42a2127

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

codegen/src/Shared.hpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -215,11 +215,13 @@ namespace codegen {
215215
}
216216

217217
inline BindStatus getStatusWithPlatform(Platform p, FunctionBindField const& fn) {
218-
if (codegen::sdkVersion < fn.prototype.attributes.since) return BindStatus::Missing;
219-
218+
if (
219+
codegen::sdkVersion < fn.prototype.attributes.since ||
220+
(fn.prototype.attributes.missing & p) != Platform::None
221+
) return BindStatus::Missing;
222+
220223
if (platformNumberWithPlatform(p, fn.binds) == -2) return BindStatus::Inlined;
221224

222-
if ((fn.prototype.attributes.missing & p) != Platform::None) return BindStatus::Missing;
223225
if ((fn.prototype.attributes.links & p) != Platform::None) {
224226
if ((p & (Platform::Mac | Platform::iOS)) == Platform::None && fn.prototype.type != FunctionType::Normal) return BindStatus::NeedsRebinding;
225227

@@ -238,11 +240,13 @@ namespace codegen {
238240
}
239241

240242
inline BindStatus getStatusWithPlatform(Platform p, Function const& f) {
241-
if (codegen::sdkVersion < f.prototype.attributes.since) return BindStatus::Missing;
243+
if (
244+
codegen::sdkVersion < f.prototype.attributes.since ||
245+
(f.prototype.attributes.missing & p) != Platform::None
246+
) return BindStatus::Missing;
242247

243248
if (platformNumberWithPlatform(p, f.binds) == -2) return BindStatus::Inlined;
244249

245-
if ((f.prototype.attributes.missing & p) != Platform::None) return BindStatus::Missing;
246250
if ((f.prototype.attributes.links & p) != Platform::None) return BindStatus::Binded;
247251

248252
if (platformNumberWithPlatform(p, f.binds) != -1) return BindStatus::NeedsBinding;

0 commit comments

Comments
 (0)