[all-commits] [llvm/llvm-project] 0b7842: [CodeGen][ObjC] Include all referenced protocols i...
Hugo Melder via All-commits
all-commits at lists.llvm.org
Tue Jul 15 05:43:03 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0b784269f16f0555d33e259f0b194ad4ad1a8e94
https://github.com/llvm/llvm-project/commit/0b784269f16f0555d33e259f0b194ad4ad1a8e94
Author: Hugo Melder <service at hugomelder.com>
Date: 2025-07-15 (Tue, 15 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCGNU.cpp
A clang/test/CodeGenObjC/gnustep2-class-exts.m
Log Message:
-----------
[CodeGen][ObjC] Include all referenced protocols in protocol list (#148827)
When constructing the protocol list in the class metadata generation
(`GenerateClass`), only the protocols from the base class are added but
not protocols declared in class extensions.
This is fixed by using `all_referenced_protocol_{begin, end}` instead of
`protocol_{begin, end}`, matching the behaviour on Apple platforms.
A unit test is included to check if all protocol metadata was emitted
and that no duplication occurs in the protocol list.
Fixes https://github.com/gnustep/libobjc2/issues/339
CC: @davidchisnall
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list