[swift-dev] Clang 3.9.0

Ryan Lovelett swift-dev at ryan.lovelett.me
Tue Nov 29 10:48:16 CST 2016


Is it known/expected that Swift will not build with Clang 3.9.0? My
personal build-bot recently updated its upstream dependency from Clang
3.8.1 to Clang 3.9.0 and since then it will not build the
swift-3.0.1-RELEASE. It seems that others have noticed this
(https://gist.github.com/eyeplum/94627aac7b4fa609108fd24b960a8805) but I
don't know if it has been reported or not.

The actual build error looks like this:

swift: /build/swiftc/src/llvm/include/llvm/Support/Casting.h:95: static
bool llvm::isa_impl_cl<swift::InOutExpr, const swift::Expr
*>::doit(const From *) [To = swift::InOutExpr, From = const swift::Expr
*]: Assertion `Val && "isa<> used on a null pointer"' failed.
0  swift           0x0000000003316df5
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  swift           0x00000000033152f6 llvm::sys::RunSignalHandlers() +
54
2  swift           0x00000000033174ba
3  libpthread.so.0 0x00007f8fd532d080
4  libc.so.6       0x00007f8fd3a4204f gsignal + 207
5  libc.so.6       0x00007f8fd3a4347a abort + 362
6  libc.so.6       0x00007f8fd3a3aea7
7  libc.so.6       0x00007f8fd3a3af52
8  swift           0x0000000000ffea91
9  swift           0x0000000001093a5b
10 swift           0x0000000001091d22
11 swift           0x0000000001093bb0
12 swift           0x0000000001091d4c
13 swift           0x0000000001093a6f
14 swift           0x0000000001091d22
15 swift           0x000000000109239e
16 swift           0x00000000010911de
swift::Expr::walk(swift::ASTWalker&) + 46
17 swift           0x0000000000ff5588
swift::performSyntacticExprDiagnostics(swift::TypeChecker&, swift::Expr
const*, swift::DeclContext const*, bool) + 680
18 swift           0x0000000000ecac4f
swift::TypeChecker::typeCheckExpression(swift::Expr*&,
swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose,
swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>,
swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) +
1023
19 swift           0x0000000000f48e1f
20 swift           0x0000000000f47a84
21 swift           0x0000000000f46d85
22 swift           0x0000000000f4602a
swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*,
swift::SourceLoc) + 330
23 swift           0x0000000000f45e89
swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*,
swift::SourceLoc) + 25
24 swift           0x0000000000f46a10
swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*)
+ 176
25 swift           0x0000000000f02a97
26 swift           0x0000000000f035d1
swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&,
swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int,
unsigned int) + 1249
27 swift           0x0000000000c9032b
swift::CompilerInstance::performSema() + 3723
28 swift           0x00000000007df2f8
29 swift           0x00000000007de21c
swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*,
swift::FrontendObserver*) + 2572
30 swift           0x00000000007a67af main + 3423
31 libc.so.6       0x00007f8fd3a2f291 __libc_start_main + 241
32 swift           0x00000000007a3cba _start + 42
Stack dump:
0.      Program arguments:
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/bin/swift
-frontend -c /build/swiftc/src/swift/stdlib/public/core/Algorithm.swift
/build/swiftc/src/swift/stdlib/public/core/ArrayBody.swift
/build/swiftc/src/swift/stdlib/public/core/ArrayBuffer.swift
/build/swiftc/src/swift/stdlib/public/core/ArrayBufferProtocol.swift
/build/swiftc/src/swift/stdlib/public/core/ArrayCast.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Arrays.swift
/build/swiftc/src/swift/stdlib/public/core/ArrayType.swift
/build/swiftc/src/swift/stdlib/public/core/Assert.swift
/build/swiftc/src/swift/stdlib/public/core/AssertCommon.swift
/build/swiftc/src/swift/stdlib/public/core/BidirectionalCollection.swift
/build/swiftc/src/swift/stdlib/public/core/Bool.swift
/build/swiftc/src/swift/stdlib/public/core/BridgeObjectiveC.swift
/build/swiftc/src/swift/stdlib/public/core/BridgeStorage.swift
/build/swiftc/src/swift/stdlib/public/core/Builtin.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/BuiltinMath.swift
/build/swiftc/src/swift/stdlib/public/core/Character.swift
/build/swiftc/src/swift/stdlib/public/core/CocoaArray.swift
/build/swiftc/src/swift/stdlib/public/core/Collection.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/CollectionAlgorithms.swift
/build/swiftc/src/swift/stdlib/public/core/Comparable.swift
/build/swiftc/src/swift/stdlib/public/core/CompilerProtocols.swift
/build/swiftc/src/swift/stdlib/public/core/ClosedRange.swift
/build/swiftc/src/swift/stdlib/public/core/ContiguousArrayBuffer.swift
/build/swiftc/src/swift/stdlib/public/core/CString.swift
/build/swiftc/src/swift/stdlib/public/core/CTypes.swift
/build/swiftc/src/swift/stdlib/public/core/DebuggerSupport.swift
/build/swiftc/src/swift/stdlib/public/core/EmptyCollection.swift
/build/swiftc/src/swift/stdlib/public/core/Equatable.swift
/build/swiftc/src/swift/stdlib/public/core/ErrorType.swift
/build/swiftc/src/swift/stdlib/public/core/Existential.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Filter.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FixedPoint.swift
/build/swiftc/src/swift/stdlib/public/core/FlatMap.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Flatten.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FloatingPoint.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FloatingPointParsing.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/FloatingPointTypes.swift
/build/swiftc/src/swift/stdlib/public/core/Hashable.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/HashedCollections.swift
/build/swiftc/src/swift/stdlib/public/core/AnyHashable.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/HashedCollectionsAnyHashableExtensions.swift
/build/swiftc/src/swift/stdlib/public/core/Hashing.swift
/build/swiftc/src/swift/stdlib/public/core/HeapBuffer.swift
/build/swiftc/src/swift/stdlib/public/core/ImplicitlyUnwrappedOptional.swift
/build/swiftc/src/swift/stdlib/public/core/Index.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Indices.swift
/build/swiftc/src/swift/stdlib/public/core/InputStream.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/IntegerArithmetic.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/IntegerParsing.swift
/build/swiftc/src/swift/stdlib/public/core/Join.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/LazyCollection.swift
/build/swiftc/src/swift/stdlib/public/core/LazySequence.swift
/build/swiftc/src/swift/stdlib/public/core/LifetimeManager.swift
/build/swiftc/src/swift/stdlib/public/core/ManagedBuffer.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Map.swift
/build/swiftc/src/swift/stdlib/public/core/MemoryLayout.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Mirrors.swift
/build/swiftc/src/swift/stdlib/public/core/Misc.swift
/build/swiftc/src/swift/stdlib/public/core/MutableCollection.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/NewtypeWrapper.swift
/build/swiftc/src/swift/stdlib/public/core/ObjCMirrors.swift
/build/swiftc/src/swift/stdlib/public/core/Optional.swift
/build/swiftc/src/swift/stdlib/public/core/OptionSet.swift
/build/swiftc/src/swift/stdlib/public/core/OutputStream.swift
/build/swiftc/src/swift/stdlib/public/core/Pointer.swift
/build/swiftc/src/swift/stdlib/public/core/Policy.swift
/build/swiftc/src/swift/stdlib/public/core/Print.swift
/build/swiftc/src/swift/stdlib/public/core/RandomAccessCollection.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Range.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/RangeReplaceableCollection.swift
/build/swiftc/src/swift/stdlib/public/core/Reflection.swift
/build/swiftc/src/swift/stdlib/public/core/Repeat.swift
/build/swiftc/src/swift/stdlib/public/core/REPL.swift
/build/swiftc/src/swift/stdlib/public/core/Reverse.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Runtime.swift
/build/swiftc/src/swift/stdlib/public/core/Sequence.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/SequenceAlgorithms.swift
/build/swiftc/src/swift/stdlib/public/core/SequenceWrapper.swift
/build/swiftc/src/swift/stdlib/public/core/SetAlgebra.swift
/build/swiftc/src/swift/stdlib/public/core/ShadowProtocols.swift
/build/swiftc/src/swift/stdlib/public/core/Shims.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Slice.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Sort.swift
/build/swiftc/src/swift/stdlib/public/core/StaticString.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Stride.swift
/build/swiftc/src/swift/stdlib/public/core/StringCharacterView.swift
/build/swiftc/src/swift/stdlib/public/core/String.swift
/build/swiftc/src/swift/stdlib/public/core/StringBridge.swift
/build/swiftc/src/swift/stdlib/public/core/StringBuffer.swift
/build/swiftc/src/swift/stdlib/public/core/StringComparable.swift
/build/swiftc/src/swift/stdlib/public/core/StringCore.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/StringInterpolation.swift
/build/swiftc/src/swift/stdlib/public/core/StringLegacy.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/StringRangeReplaceableCollection.swift
/build/swiftc/src/swift/stdlib/public/core/StringIndexConversions.swift
/build/swiftc/src/swift/stdlib/public/core/StringUnicodeScalarView.swift
/build/swiftc/src/swift/stdlib/public/core/StringUTF16.swift
/build/swiftc/src/swift/stdlib/public/core/StringUTF8.swift
/build/swiftc/src/swift/stdlib/public/core/SwiftNativeNSArray.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnavailableStringAPIs.swift
/build/swiftc/src/swift/stdlib/public/core/Unicode.swift
/build/swiftc/src/swift/stdlib/public/core/UnicodeScalar.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnicodeTrie.swift
/build/swiftc/src/swift/stdlib/public/core/Unmanaged.swift
/build/swiftc/src/swift/stdlib/public/core/UnsafeBitMap.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafeBufferPointer.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafeRawBufferPointer.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafePointer.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/UnsafeRawPointer.swift
/build/swiftc/src/swift/stdlib/public/core/WriteBackMutableSlice.swift
/build/swiftc/src/swift/stdlib/public/core/Availability.swift
/build/swiftc/src/swift/stdlib/public/core/CollectionOfOne.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/ExistentialCollection.swift
/build/swiftc/src/swift/stdlib/public/core/Mirror.swift
/build/swiftc/src/swift/stdlib/public/core/CommandLine.swift
/build/swiftc/src/swift/stdlib/public/core/SliceBuffer.swift
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/8/Tuple.swift
/build/swiftc/src/swift/stdlib/public/core/UnfoldSequence.swift
/build/swiftc/src/swift/stdlib/public/core/VarArgs.swift
/build/swiftc/src/swift/stdlib/public/core/Zip.swift
-disable-objc-attr-requires-foundation-module -target
x86_64-unknown-linux-gnu -disable-objc-interop -sdk / -I
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/./lib/swift/linux/x86_64
-module-cache-path
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/./module-cache
-module-link-name swiftCore -nostdimport -parse-stdlib -resource-dir
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/./lib/swift
-group-info-path
/build/swiftc/src/swift/stdlib/public/core/GroupInfo.json
-sil-serialize-all -Xcc -D__SWIFT_CURRENT_DYLIB=swiftCore
-emit-module-doc-path
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/./lib/swift/linux/x86_64/Swift.swiftdoc
-O -parse-as-library -module-name Swift -emit-module-path
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/./lib/swift/linux/x86_64/Swift.swiftmodule
-o
/build/swiftc/src/build/buildbot_linux/swift-linux-x86_64/stdlib/public/core/linux/x86_64/Swift.o 
1.      While type-checking 'min' at
/build/swiftc/src/swift/stdlib/public/core/Algorithm.swift:19:8
2.      While type-checking expression at
[/build/swiftc/src/swift/stdlib/public/core/Algorithm.swift:24:10 -
line:24:22] RangeText="y < x ? y : x"

I've tried updating the ternary operator into an if/else and that works.
Well that is until it hits the next ternary.


More information about the swift-dev mailing list