SKIP: FAILED



Validation Failure:
#include <metal_stdlib>

using namespace metal;
void faceForward_fc994b() {
  float res =   faceforward(1.0f, 1.0f, 1.0f);
}

vertex void vertex_main() {
  faceForward_fc994b();
  return;
}

fragment void fragment_main() {
  faceForward_fc994b();
  return;
}

kernel void compute_main() {
  faceForward_fc994b();
  return;
}


tint_2Q1ua3.metal:5:17: error: call to 'faceforward' is ambiguous
  float res =   faceforward(1.0f, 1.0f, 1.0f);
                ^~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/macos/lib/clang/902.14/include/metal/metal_geometric:311:18: note: candidate function
METAL_FUNC half2 faceforward(half2 n, half2 i, half2 nref)
                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/macos/lib/clang/902.14/include/metal/metal_geometric:342:18: note: candidate function
METAL_FUNC half3 faceforward(half3 n, half3 i, half3 nref)
                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/macos/lib/clang/902.14/include/metal/metal_geometric:373:18: note: candidate function
METAL_FUNC half4 faceforward(half4 n, half4 i, half4 nref)
                 ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/macos/lib/clang/902.14/include/metal/metal_geometric:416:19: note: candidate function
METAL_FUNC float2 faceforward(float2 n, float2 i, float2 nref)
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/macos/lib/clang/902.14/include/metal/metal_geometric:459:19: note: candidate function
METAL_FUNC float3 faceforward(float3 n, float3 i, float3 nref)
                  ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/metal/macos/lib/clang/902.14/include/metal/metal_geometric:502:19: note: candidate function
METAL_FUNC float4 faceforward(float4 n, float4 i, float4 nref)
                  ^
1 error generated.
