# These symbols should only be needed to build with Xcode 5.x.
# This should be removed once we no longer need to build with those versions.

__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE8_NS_13basic_ostreamIcS2_EE
__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_14basic_iostreamIcS2_EE
__ZTCNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE16_NS_13basic_ostreamIcS2_EE
__ZTCNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_istreamIcS2_EE
__ZTCNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE0_NS_13basic_ostreamIcS2_EE
__ZTTNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTTNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTTNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__117bad_function_callE
__ZTVNSt3__118basic_stringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__119basic_istringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE
__ZTVNSt3__119basic_ostringstreamIcNS_11char_traitsIcEENS_9allocatorIcEEEE

# FIXME: The following symbols only appear in Debug builds with Xcode 5.x.
# They should be removed from this list after determining how to remove the
# weak externals from WebCore.

# Soft-linked functions in source files.  Most probably have
# __attribute__((visibility("default"))) declared in the original header
# file, so if the compiler doesn't inline the redeclared method in the
# SOFT_LINK() macro, it gets exported from WebCore.

# Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm
_AudioConverterConvertComplexBuffer
_AudioConverterNew
_MTAudioProcessingTapGetSourceAudio
_MTAudioProcessingTapGetStorage

# Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
_CVPixelBufferGetBaseAddress
_CVPixelBufferGetBytesPerRow
_CVPixelBufferGetDataSize
_CVPixelBufferGetHeight
_CVPixelBufferGetPixelFormatType
_CVPixelBufferGetWidth
_CVPixelBufferLockBaseAddress
_CVPixelBufferUnlockBaseAddress
_VTPixelTransferSessionCreate
_VTPixelTransferSessionTransferImage

# Source/WebCore/platform/cocoa/TelephoneNumberDetectorCocoa.cpp
_DDDFAScannerCreateFromCache
_DDDFAScannerFirstResultInUnicharArray
# Source/WebCore/page/mac/ServicesOverlayController.mm
_DDHighlightCreateWithRectsInVisibleRectWithStyleAndDirection
_DDHighlightCreateWithRectsInVisibleRectWithStyleScaleAndDirection
_DDHighlightGetBoundingRect
_DDHighlightGetLayerWithContext
_DDHighlightPointIsOnHighlight


# Subclasses of an exported C++ class in JavaScriptCore.

# Source/JavaScriptCore/inspector/ScriptDebugServer.h
__ZTVN9Inspector17ScriptDebugServer4TaskE
# Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h
__ZTVN9Inspector22InspectorDebuggerAgent8ListenerE

# Member functions of an exported C++ class in WTF

# Source/WTF/wtf/MediaTime.h
__ZNK3WTF9MediaTime14hasBeenRoundedEv
__ZNK3WTF9MediaTime14hasDoubleValueEv
__ZNK3WTF9MediaTime18isNegativeInfiniteEv
__ZNK3WTF9MediaTime18isPositiveInfiniteEv
__ZNK3WTF9MediaTime7isValidEv
__ZNK3WTF9MediaTime9timeScaleEv
__ZNK3WTF9MediaTime9timeValueEv
