<div dir="ltr">I did a diff -u broken.ii working.ii and the difference explains the problem:<div><br></div><div><div>@@ -36617,7 +36628,7 @@</div><div> } x;</div><div> };</div><div> return Allocator.Allocate(</div>
<div>- Size, std::min((size_t)llvm::NextPowerOf2(Size), offsetof(S, x)));</div><div>+ Size, std::min((size_t)llvm::NextPowerOf2(Size), __builtin_offsetof(S, x)));</div><div> }</div></div><div><br></div><div><br>
</div><div>Looks like non-working clang is using offsetof where-as the working one uses __builtin_offsetof</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, May 9, 2014 at 11:38 AM, İsmail Dönmez <span dir="ltr"><<a href="mailto:ismail@donmez.ws" target="_blank">ismail@donmez.ws</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>Recently my libcxx enabled llvm/clang builds has started to fail in stage2. I must admit I am stomped because I cannot make sense of the error:</div>
<div><br></div><div><div>[ 723s] FAILED: /home/abuild/rpmbuild/BUILD/llvm/stage1/bin/clang++ -DLLVMSupport_EXPORTS -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections -O2 -g -DNDEBUG -fPIC -Ilib/Support -I../lib/Support -Iinclude -I../include -fno-exceptions -MMD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o -c ../lib/Support/Allocator.cpp</div>
<div>[ 723s] In file included from ../lib/Support/Allocator.cpp:14:</div><div>[ 723s] ../include/llvm/Support/Allocator.h:421:65: error: 'S' does not refer to a value</div><div>[ 723s] Size, std::min((size_t)llvm::NextPowerOf2(Size), offsetof(S, x)));</div>
<div>[ 723s] ^</div><div>[ 723s] ../include/llvm/Support/Allocator.h:411:10: note: declared here</div><div>[ 723s] struct S {</div><div>[ 723s] ^</div>
<div>[ 723s] 1 error generated.</div></div><div><br></div><div>clang r207403 is OK but trunk fails. Any ideas for debugging this would be appreciated.</div><div><br></div><div>Thanks!</div><div><br></div></div>
</blockquote></div><br></div>