Files
swift-mirror/test/ClangModules/simd.swift
Joe Groff d0473756ec ClangImporter etc.: Remap C vector types to nested BaseType.VectorN types.
The design we landed on for SIMD is to define the vector types as nested types of their element, e.g. Float.Vector4, Int32.Vector2, etc. Update the Clang importer and other mapping facilities to match.

Swift SVN r28087
2015-05-02 15:04:43 +00:00

29 lines
1.3 KiB
Swift

// RUN: rm -rf %t
// RUN: mkdir %t
// FIXME: BEGIN -enable-source-import hackaround
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/../Inputs/clang-importer-sdk -I %t) -emit-module -o %t %S/../Inputs/clang-importer-sdk/swift-modules/ObjectiveC.swift
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/../Inputs/clang-importer-sdk -I %t) -emit-module -o %t %S/../Inputs/clang-importer-sdk/swift-modules/CoreGraphics.swift
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/../Inputs/clang-importer-sdk -I %t) -emit-module -o %t %S/../Inputs/clang-importer-sdk/swift-modules/Foundation.swift
// RUN: %target-swift-frontend(mock-sdk: -sdk %S/../Inputs/clang-importer-sdk -I %t) -emit-module -o %t %S/../Inputs/clang-importer-sdk/swift-modules/simd.swift
// FIXME: END -enable-source-import hackaround
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk-nosource) -I %t -module-name main -parse -verify -enable-simd-import %s
import c_simd
import simd
let f4: Float.Vector4 = makes_float4()
let i3: Int32.Vector3 = makes_int3()
let d2: Double.Vector2 = makes_double2()
takes_float4(f4)
takes_int3(i3)
takes_double2(d2)
// byte17 isn't available since there isn't a type in the simd module to map it to.
let b17 = makes_byte17 // expected-error{{unresolved identifier 'makes_byte17'}}
takes_byte17(b17) // expected-error{{unresolved identifier 'takes_byte17'}}