This test fails on OS X for me:
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. FAIL: libc++abi :: incomplete_type.sh.cpp (29529 of 29545) ******************** TEST 'libc++abi :: incomplete_type.sh.cpp' FAILED ******************** Script: -- /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -v -DLIBCXXABI_NO_TIMER -funwind-tables -std=c++1z -nostdinc++ -I/Users/thakis/src/chrome/src/third_party/llvm/projects/libcxx/include -I/Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -c /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/test/incomplete_type.sh.cpp -o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.one.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -v -DLIBCXXABI_NO_TIMER -funwind-tables -std=c++1z -nostdinc++ -I/Users/thakis/src/chrome/src/third_party/llvm/projects/libcxx/include -I/Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -c /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/test/incomplete_type.sh.cpp -o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.two.o -DTU_ONE /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -v -nodefaultlibs -L/Users/thakis/src/chrome/src/third_party/llvm-bootstrap/lib -Wl,-rpath,/Users/thakis/src/chrome/src/third_party/llvm-bootstrap/lib -lc++ -lc++abi -lSystem -o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.exe /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.one.o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.two.o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.exe -- Exit Code: 134 Command Output (stderr): -- Apple LLVM version 7.0.0 (clang-700.1.76) Target: x86_64-apple-darwin15.0.0 Thread model: posix "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.11.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name incomplete_type.sh.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 253.6 -v -dwarf-column-info -coverage-file /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.one.o -nostdinc++ -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -D LIBCXXABI_NO_TIMER -I /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxx/include -I /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/include -stdlib=libc++ -std=c++1z -fdeprecated-macro -fdebug-compilation-dir /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.11.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.one.o -x c++ /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/test/incomplete_type.sh.cpp clang -cc1 version 7.0.0 based upon LLVM 3.7.0svn default target x86_64-apple-darwin15.0.0 ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/local/include" ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/Library/Frameworks" #include "..." search starts here: #include <...> search starts here: /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxx/include /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks (framework directory) End of search list. Apple LLVM version 7.0.0 (clang-700.1.76) Target: x86_64-apple-darwin15.0.0 Thread model: posix "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.11.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name incomplete_type.sh.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 253.6 -v -dwarf-column-info -coverage-file /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.two.o -nostdinc++ -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -D LIBCXXABI_NO_TIMER -D TU_ONE -I /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxx/include -I /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/include -stdlib=libc++ -std=c++1z -fdeprecated-macro -fdebug-compilation-dir /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.11.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fmax-type-align=16 -fdiagnostics-show-option -o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.two.o -x c++ /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/test/incomplete_type.sh.cpp clang -cc1 version 7.0.0 based upon LLVM 3.7.0svn default target x86_64-apple-darwin15.0.0 ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/local/include" ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/Library/Frameworks" #include "..." search starts here: #include <...> search starts here: /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxx/include /Users/thakis/src/chrome/src/third_party/llvm/projects/libcxxabi/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks (framework directory) End of search list. Apple LLVM version 7.0.0 (clang-700.1.76) Target: x86_64-apple-darwin15.0.0 Thread model: posix "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.11.0 -o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.exe -L/Users/thakis/src/chrome/src/third_party/llvm-bootstrap/lib -rpath /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/lib -lc++ -lc++abi -lSystem /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.one.o /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.two.o libc++abi.dylib: terminating with uncaught exception of type int NeverDefined::* /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.script: line 4: 58282 Abort trap: 6 /Users/thakis/src/chrome/src/third_party/llvm-bootstrap/projects/libcxxabi/test/Output/incomplete_type.sh.cpp.tmp.exe -- On Wed, Dec 23, 2015 at 2:04 AM, Eric Fiselier via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: ericwf > Date: Wed Dec 23 01:04:32 2015 > New Revision: 256323 > > URL: http://llvm.org/viewvc/llvm-project?rev=256323&view=rev > Log: > Add new tests for throwing incomplete pointer types > > Modified: > libcxxabi/trunk/test/incomplete_type.sh.cpp > > Modified: libcxxabi/trunk/test/incomplete_type.sh.cpp > URL: > http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/test/incomplete_type.sh.cpp?rev=256323&r1=256322&r2=256323&view=diff > > ============================================================================== > --- libcxxabi/trunk/test/incomplete_type.sh.cpp (original) > +++ libcxxabi/trunk/test/incomplete_type.sh.cpp Wed Dec 23 01:04:32 2015 > @@ -14,9 +14,9 @@ > // incomplete flags set, equality can be tested by comparing the type_info > // addresses. > > -// RUN: %cxx %compile_flags -c %s -o %t.one.o > -// RUN: %cxx %compile_flags -c %s -o %t.two.o -DTU_ONE > -// RUN: %cxx %link_flags -o %t.exe %t.one.o %t.two.o > +// RUN: %cxx %flags %compile_flags -c %s -o %t.one.o > +// RUN: %cxx %flags %compile_flags -c %s -o %t.two.o -DTU_ONE > +// RUN: %cxx %flags %link_flags -o %t.exe %t.one.o %t.two.o > // RUN: %t.exe > > #include <stdio.h> > @@ -24,28 +24,42 @@ > #include <typeinfo> > > struct NeverDefined; > -void ThrowNeverDefined(); > +void ThrowNeverDefinedMP(); > > struct IncompleteAtThrow; > -void ThrowIncomplete(); > -std::type_info const& ReturnTypeInfoIncomplete(); > +void ThrowIncompleteMP(); > +void ThrowIncompletePP(); > +void ThrowIncompletePMP(); > +std::type_info const& ReturnTypeInfoIncompleteMP(); > +std::type_info const& ReturnTypeInfoIncompletePP(); > > struct CompleteAtThrow; > -void ThrowComplete(); > -std::type_info const& ReturnTypeInfoComplete(); > +void ThrowCompleteMP(); > +void ThrowCompletePP(); > +void ThrowCompletePMP(); > +std::type_info const& ReturnTypeInfoCompleteMP(); > +std::type_info const& ReturnTypeInfoCompletePP(); > > void ThrowNullptr(); > > #ifndef TU_ONE > > -void ThrowNeverDefined() { throw (int NeverDefined::*)nullptr; } > +void ThrowNeverDefinedMP() { throw (int NeverDefined::*)nullptr; } > > -void ThrowIncomplete() { throw (int IncompleteAtThrow::*)nullptr; } > -std::type_info const& ReturnTypeInfoIncomplete() { return typeid(int > IncompleteAtThrow::*); } > +void ThrowIncompleteMP() { throw (int IncompleteAtThrow::*)nullptr; } > +void ThrowIncompletePP() { throw (IncompleteAtThrow**)nullptr; } > +void ThrowIncompletePMP() { throw (int IncompleteAtThrow::**)nullptr; } > + > +std::type_info const& ReturnTypeInfoIncompleteMP() { return typeid(int > IncompleteAtThrow::*); } > +std::type_info const& ReturnTypeInfoIncompletePP() { return > typeid(IncompleteAtThrow**); } > > struct CompleteAtThrow {}; > -void ThrowComplete() { throw (int CompleteAtThrow::*)nullptr; } > -std::type_info const& ReturnTypeInfoComplete() { return typeid(int > CompleteAtThrow::*); } > +void ThrowCompleteMP() { throw (int CompleteAtThrow::*)nullptr; } > +void ThrowCompletePP() { throw (CompleteAtThrow**)nullptr; } > +void ThrowCompletePMP() { throw (int CompleteAtThrow::**)nullptr; } > + > +std::type_info const& ReturnTypeInfoCompleteMP() { return typeid(int > CompleteAtThrow::*); } > +std::type_info const& ReturnTypeInfoCompletePP() { return > typeid(CompleteAtThrow**); } > > void ThrowNullptr() { throw nullptr; } > > @@ -54,16 +68,81 @@ void ThrowNullptr() { throw nullptr; } > struct IncompleteAtThrow {}; > > int main() { > - assert(ReturnTypeInfoIncomplete() != typeid(int IncompleteAtThrow::*)); > try { > - ThrowIncomplete(); > + ThrowNeverDefinedMP(); > + assert(false); > + } catch (int IncompleteAtThrow::*) { > + assert(false); > + } catch (int CompleteAtThrow::*) { > + assert(false); > + } catch (int NeverDefined::*) {} > + > + assert(ReturnTypeInfoIncompleteMP() != typeid(int > IncompleteAtThrow::*)); > + try { > + ThrowIncompleteMP(); > + assert(false); > + } catch (CompleteAtThrow**) { > + assert(false); > + } catch (int CompleteAtThrow::*) { > + assert(false); > + } catch (IncompleteAtThrow**) { > + assert(false); > } catch (int IncompleteAtThrow::*) {} > > - assert(ReturnTypeInfoComplete() != typeid(int CompleteAtThrow::*)); > + assert(ReturnTypeInfoIncompletePP() != typeid(IncompleteAtThrow**)); > + try { > + ThrowIncompletePP(); > + assert(false); > + } catch (int IncompleteAtThrow::*) { > + assert(false); > + } catch (IncompleteAtThrow**) {} > + > try { > - ThrowComplete(); > + ThrowIncompletePMP(); > + assert(false); > + } catch (int IncompleteAtThrow::*) { > + assert(false); > + } catch (IncompleteAtThrow**) { > + assert(false); > + } catch (int IncompleteAtThrow::**) {} > + > + assert(ReturnTypeInfoCompleteMP() != typeid(int CompleteAtThrow::*)); > + try { > + ThrowCompleteMP(); > + assert(false); > + } catch (IncompleteAtThrow**) { > + assert(false); > + } catch (int IncompleteAtThrow::*) { > + assert(false); > + } catch (CompleteAtThrow**) { > + assert(false); > } catch (int CompleteAtThrow::*) {} > > + assert(ReturnTypeInfoCompletePP() != typeid(CompleteAtThrow**)); > + try { > + ThrowCompletePP(); > + assert(false); > + } catch (IncompleteAtThrow**) { > + assert(false); > + } catch (int IncompleteAtThrow::*) { > + assert(false); > + } catch (int CompleteAtThrow::*) { > + assert(false); > + } catch (CompleteAtThrow**) {} > + > + try { > + ThrowCompletePMP(); > + assert(false); > + } catch (IncompleteAtThrow**) { > + assert(false); > + } catch (int IncompleteAtThrow::*) { > + assert(false); > + } catch (int CompleteAtThrow::*) { > + assert(false); > + } catch (CompleteAtThrow**) { > + assert(false); > + } catch (int CompleteAtThrow::**) {} > + > #if __cplusplus >= 201103L > // Catch nullptr as complete type > try { > @@ -76,7 +155,7 @@ int main() { > } catch (int CompleteAtThrow::*) {} > // Catch nullptr as a type that is never complete. > try { > - ThrowNeverDefined(); > + ThrowNullptr(); > } catch (int NeverDefined::*) {} > #endif > } > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits