[cfe-commits] r102497 - /cfe/trunk/lib/CodeGen/CGObjCGNU.cpp
Douglas Gregor
dgregor at apple.com
Wed Apr 28 08:57:12 PDT 2010
On Apr 28, 2010, at 7:29 AM, David Chisnall wrote:
> Author: theraven
> Date: Wed Apr 28 09:29:56 2010
> New Revision: 102497
>
> URL: http://llvm.org/viewvc/llvm-project?rev=102497&view=rev
> Log:
> Emit the correct symbol name for the class (GNU runtime).
>
>
> Modified:
> cfe/trunk/lib/CodeGen/CGObjCGNU.cpp
>
> Modified: cfe/trunk/lib/CodeGen/CGObjCGNU.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCGNU.cpp?rev=102497&r1=102496&r2=102497&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGObjCGNU.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGObjCGNU.cpp Wed Apr 28 09:29:56 2010
> @@ -112,7 +112,8 @@
> llvm::Constant *Methods,
> llvm::Constant *Protocols,
> llvm::Constant *IvarOffsets,
> - llvm::Constant *Properties);
> + llvm::Constant *Properties,
> + bool isMeta=false);
> llvm::Constant *GenerateProtocolMethodList(
> const llvm::SmallVectorImpl<llvm::Constant *> &MethodNames,
> const llvm::SmallVectorImpl<llvm::Constant *> &MethodTypes);
> @@ -817,7 +818,8 @@
> llvm::Constant *Methods,
> llvm::Constant *Protocols,
> llvm::Constant *IvarOffsets,
> - llvm::Constant *Properties) {
> + llvm::Constant *Properties,
> + bool isMeta) {
> // Set up the class structure
> // Note: Several of these are char*s when they should be ids. This is
> // because the runtime performs this translation on load.
> @@ -867,8 +869,8 @@
> // Create an instance of the structure
> // This is now an externally visible symbol, so that we can speed up class
> // messages in the next ABI.
> - return MakeGlobal(ClassTy, Elements, SymbolNameForClass(Name),
> - llvm::GlobalValue::ExternalLinkage);
> + return MakeGlobal(ClassTy, Elements, (isMeta ? "_OBJC_METACLASS_":
> + "_OBJC_CLASS_") + std::string(Name), llvm::GlobalValue::ExternalLinkage);
The static function SymbolNameForClass() is now unused. Should it be removed?
- Doug
More information about the cfe-commits
mailing list