<div dir="rtl"><div dir="ltr">out-of-tree code that uses WeakVH will continue to compile OK but may not perform OK with WeakVH not tracking anymore. </div><div dir="ltr">May be better not to reuse WeakVH yet so such code will fail compilation.</div><div dir="ltr"><br></div></div><br><div class="gmail_quote"><div dir="rtl">בתאריך יום ב׳, 1 במאי 2017 ב-20:21 מאת Sanjoy Das via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: sanjoy<br>
Date: Mon May 1 12:08:00 2017<br>
New Revision: 301815<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=301815&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=301815&view=rev</a><br>
Log:<br>
Adapt to LLVM's rename of WeakVH to WeakTrackingVH; NFC<br>
<br>
Modified:<br>
cfe/trunk/lib/CodeGen/CGDeclCXX.cpp<br>
cfe/trunk/lib/CodeGen/CGObjCMac.cpp<br>
cfe/trunk/lib/CodeGen/CodeGenFunction.h<br>
cfe/trunk/lib/CodeGen/CodeGenModule.cpp<br>
cfe/trunk/lib/CodeGen/CodeGenModule.h<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=301815&r1=301814&r2=301815&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=301815&r1=301814&r2=301815&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (original)<br>
+++ cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Mon May 1 12:08:00 2017<br>
@@ -571,9 +571,10 @@ CodeGenFunction::GenerateCXXGlobalInitFu<br>
FinishFunction();<br>
}<br>
<br>
-void CodeGenFunction::GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,<br>
- const std::vector<std::pair<llvm::WeakVH, llvm::Constant*> ><br>
- &DtorsAndObjects) {<br>
+void CodeGenFunction::GenerateCXXGlobalDtorsFunc(<br>
+ llvm::Function *Fn,<br>
+ const std::vector<std::pair<llvm::WeakTrackingVH, llvm::Constant *>><br>
+ &DtorsAndObjects) {<br>
{<br>
auto NL = ApplyDebugLocation::CreateEmpty(*this);<br>
StartFunction(GlobalDecl(), getContext().VoidTy, Fn,<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=301815&r1=301814&r2=301815&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=301815&r1=301814&r2=301815&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)<br>
+++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Mon May 1 12:08:00 2017<br>
@@ -886,7 +886,7 @@ protected:<br>
<br>
/// Cached reference to the class for constant strings. This value has type<br>
/// int * but is actually an Obj-C class pointer.<br>
- llvm::WeakVH ConstantStringClassRef;<br>
+ llvm::WeakTrackingVH ConstantStringClassRef;<br>
<br>
/// \brief The LLVM type corresponding to NSConstantString.<br>
llvm::StructType *NSConstantStringType = nullptr;<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=301815&r1=301814&r2=301815&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=301815&r1=301814&r2=301815&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CodeGenFunction.h (original)<br>
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.h Mon May 1 12:08:00 2017<br>
@@ -3471,9 +3471,10 @@ public:<br>
<br>
/// GenerateCXXGlobalDtorsFunc - Generates code for destroying global<br>
/// variables.<br>
- void GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,<br>
- const std::vector<std::pair<llvm::WeakVH,<br>
- llvm::Constant*> > &DtorsAndObjects);<br>
+ void GenerateCXXGlobalDtorsFunc(<br>
+ llvm::Function *Fn,<br>
+ const std::vector<std::pair<llvm::WeakTrackingVH, llvm::Constant *>><br>
+ &DtorsAndObjects);<br>
<br>
void GenerateCXXGlobalVarDeclInitFunc(llvm::Function *Fn,<br>
const VarDecl *D,<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=301815&r1=301814&r2=301815&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=301815&r1=301814&r2=301815&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)<br>
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Mon May 1 12:08:00 2017<br>
@@ -1154,7 +1154,7 @@ void CodeGenModule::addCompilerUsedGloba<br>
}<br>
<br>
static void emitUsed(CodeGenModule &CGM, StringRef Name,<br>
- std::vector<llvm::WeakVH> &List) {<br>
+ std::vector<llvm::WeakTrackingVH> &List) {<br>
// Don't create llvm.used if there is no need.<br>
if (List.empty())<br>
return;<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CodeGenModule.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=301815&r1=301814&r2=301815&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=301815&r1=301814&r2=301815&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CodeGenModule.h (original)<br>
+++ cfe/trunk/lib/CodeGen/CodeGenModule.h Mon May 1 12:08:00 2017<br>
@@ -344,8 +344,8 @@ private:<br>
/// List of global values which are required to be present in the object file;<br>
/// bitcast to i8*. This is used for forcing visibility of symbols which may<br>
/// otherwise be optimized out.<br>
- std::vector<llvm::WeakVH> LLVMUsed;<br>
- std::vector<llvm::WeakVH> LLVMCompilerUsed;<br>
+ std::vector<llvm::WeakTrackingVH> LLVMUsed;<br>
+ std::vector<llvm::WeakTrackingVH> LLVMCompilerUsed;<br>
<br>
/// Store the list of global constructors and their respective priorities to<br>
/// be emitted when the translation unit is complete.<br>
@@ -416,7 +416,7 @@ private:<br>
SmallVector<GlobalInitData, 8> PrioritizedCXXGlobalInits;<br>
<br>
/// Global destructor functions and arguments that need to run on termination.<br>
- std::vector<std::pair<llvm::WeakVH,llvm::Constant*> > CXXGlobalDtors;<br>
+ std::vector<std::pair<llvm::WeakTrackingVH, llvm::Constant *>> CXXGlobalDtors;<br>
<br>
/// \brief The complete set of modules that has been imported.<br>
llvm::SetVector<clang::Module *> ImportedModules;<br>
@@ -433,7 +433,7 @@ private:<br>
<br>
/// Cached reference to the class for constant strings. This value has type<br>
/// int * but is actually an Obj-C class pointer.<br>
- llvm::WeakVH CFConstantStringClassRef;<br>
+ llvm::WeakTrackingVH CFConstantStringClassRef;<br>
<br>
/// \brief The type used to describe the state of a fast enumeration in<br>
/// Objective-C's for..in loop.<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>