<div dir="ltr">FYI this seems to break the build, at least on Windows.<div><br></div><div><pre style="font-family:'Courier New',courier,monotype,monospace;color:rgb(0,0,0);font-size:medium"><span class="">lib\ExecutionEngine\ExecutionEngineBindings.cpp(320) : error C2872: 'LLVMTargetDataRef' : ambiguous symbol
        could be 'include\llvm-c/Target.h(42) : LLVMOpaqueTargetData *LLVMTargetDataRef'
        or       'include\llvm/IR/DataLayout.h(448) : llvm::LLVMTargetDataRef'</span></pre></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-05-13 13:45 GMT+04:00 Artyom Skrobov <span dir="ltr"><<a href="mailto:Artyom.Skrobov@arm.com" target="_blank">Artyom.Skrobov@arm.com</a>></span>:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: askrobov<br>
Date: Tue May 13 04:45:26 2014<br>
New Revision: 208680<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=208680&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=208680&view=rev</a><br>
Log:<br>
[un]wrap extracted from lib/Target/Target[MachineC].cpp, lib/ExecutionEngine/ExecutionEngineBindings.cpp into include/llvm/IR/DataLayout.h<br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/IR/DataLayout.h<br>
    llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp<br>
    llvm/trunk/lib/Target/Target.cpp<br>
    llvm/trunk/lib/Target/TargetMachineC.cpp<br>
<br>
Modified: llvm/trunk/include/llvm/IR/DataLayout.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DataLayout.h?rev=208680&r1=208679&r2=208680&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DataLayout.h?rev=208680&r1=208679&r2=208680&view=diff</a><br>


==============================================================================<br>
--- llvm/trunk/include/llvm/IR/DataLayout.h (original)<br>
+++ llvm/trunk/include/llvm/IR/DataLayout.h Tue May 13 04:45:26 2014<br>
@@ -445,6 +445,16 @@ public:<br>
   }<br>
 };<br>
<br>
+typedef struct LLVMOpaqueTargetData *LLVMTargetDataRef;<br>
+<br>
+inline DataLayout *unwrap(LLVMTargetDataRef P) {<br>
+   return reinterpret_cast<DataLayout*>(P);<br>
+}<br>
+<br>
+inline LLVMTargetDataRef wrap(const DataLayout *P) {<br>
+   return reinterpret_cast<LLVMTargetDataRef>(const_cast<DataLayout*>(P));<br>
+}<br>
+<br>
 class DataLayoutPass : public ImmutablePass {<br>
   DataLayout DL;<br>
<br>
<br>
Modified: llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp?rev=208680&r1=208679&r2=208680&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp?rev=208680&r1=208679&r2=208680&view=diff</a><br>


==============================================================================<br>
--- llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp (original)<br>
+++ llvm/trunk/lib/ExecutionEngine/ExecutionEngineBindings.cpp Tue May 13 04:45:26 2014<br>
@@ -27,14 +27,6 @@ using namespace llvm;<br>
 // Wrapping the C bindings types.<br>
 DEFINE_SIMPLE_CONVERSION_FUNCTIONS(GenericValue, LLVMGenericValueRef)<br>
<br>
-inline DataLayout *unwrap(LLVMTargetDataRef P) {<br>
-  return reinterpret_cast<DataLayout*>(P);<br>
-}<br>
-<br>
-inline LLVMTargetDataRef wrap(const DataLayout *P) {<br>
-  return reinterpret_cast<LLVMTargetDataRef>(const_cast<DataLayout*>(P));<br>
-}<br>
-<br>
 inline TargetLibraryInfo *unwrap(LLVMTargetLibraryInfoRef P) {<br>
   return reinterpret_cast<TargetLibraryInfo*>(P);<br>
 }<br>
<br>
Modified: llvm/trunk/lib/Target/Target.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Target.cpp?rev=208680&r1=208679&r2=208680&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Target.cpp?rev=208680&r1=208679&r2=208680&view=diff</a><br>


==============================================================================<br>
--- llvm/trunk/lib/Target/Target.cpp (original)<br>
+++ llvm/trunk/lib/Target/Target.cpp Tue May 13 04:45:26 2014<br>
@@ -24,14 +24,6 @@<br>
<br>
 using namespace llvm;<br>
<br>
-inline DataLayout *unwrap(LLVMTargetDataRef P) {<br>
-  return reinterpret_cast<DataLayout*>(P);<br>
-}<br>
-<br>
-inline LLVMTargetDataRef wrap(const DataLayout *P) {<br>
-  return reinterpret_cast<LLVMTargetDataRef>(const_cast<DataLayout*>(P));<br>
-}<br>
-<br>
 inline TargetLibraryInfo *unwrap(LLVMTargetLibraryInfoRef P) {<br>
   return reinterpret_cast<TargetLibraryInfo*>(P);<br>
 }<br>
<br>
Modified: llvm/trunk/lib/Target/TargetMachineC.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetMachineC.cpp?rev=208680&r1=208679&r2=208680&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetMachineC.cpp?rev=208680&r1=208679&r2=208680&view=diff</a><br>


==============================================================================<br>
--- llvm/trunk/lib/Target/TargetMachineC.cpp (original)<br>
+++ llvm/trunk/lib/Target/TargetMachineC.cpp Tue May 13 04:45:26 2014<br>
@@ -30,23 +30,6 @@<br>
<br>
 using namespace llvm;<br>
<br>
-inline DataLayout *unwrap(LLVMTargetDataRef P) {<br>
-  return reinterpret_cast<DataLayout*>(P);<br>
-}<br>
-<br>
-inline LLVMTargetDataRef wrap(const DataLayout *P) {<br>
-  return reinterpret_cast<LLVMTargetDataRef>(const_cast<DataLayout*>(P));<br>
-}<br>
-<br>
-inline TargetLibraryInfo *unwrap(LLVMTargetLibraryInfoRef P) {<br>
-  return reinterpret_cast<TargetLibraryInfo*>(P);<br>
-}<br>
-<br>
-inline LLVMTargetLibraryInfoRef wrap(const TargetLibraryInfo *P) {<br>
-  TargetLibraryInfo *X = const_cast<TargetLibraryInfo*>(P);<br>
-  return reinterpret_cast<LLVMTargetLibraryInfoRef>(X);<br>
-}<br>
-<br>
 inline TargetMachine *unwrap(LLVMTargetMachineRef P) {<br>
   return reinterpret_cast<TargetMachine*>(P);<br>
 }<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>