1e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// RUN: %clang_cc1 -triple x86_64-unknown-freebsd10.0 -emit-llvm < %s | FileCheck -check-prefix=FREEBSD %s 2e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// RUN: %clang_cc1 -triple x86_64-pc-win32 -emit-llvm < %s | FileCheck -check-prefix=WIN64 %s 3e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis 4e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davisvoid __attribute__((ms_abi)) f1(void); 5e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davisvoid __attribute__((sysv_abi)) f2(void); 6e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davisvoid f3(void) { 7e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// FREEBSD: define void @f3() 8e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// WIN64: define void @f3() 9e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis f1(); 10e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// FREEBSD: call x86_64_win64cc void @f1() 11e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// WIN64: call void @f1() 12e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis f2(); 13e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// FREEBSD: call void @f2() 14e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// WIN64: call x86_64_sysvcc void @f2() 15e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis} 16e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// FREEBSD: declare x86_64_win64cc void @f1() 17e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// FREEBSD: declare void @f2() 18e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// WIN64: declare void @f1() 19e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis// WIN64: declare x86_64_sysvcc void @f2() 20e8519c31a6ef853b627d557702ac1890f18ce2c9Charles Davis 21