brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · ffdc24b Raw
33 lines · cpp
1// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DOUTSIDE %s2// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DINSIDE %s3// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DNESTED %s4// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DOUTSIDE -DEXTERN %s5// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DINSIDE -DEXTERN %s6// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DNESTED -DEXTERN %s7 8// expected-no-diagnostics9#ifdef EXTERN10extern "C"11#endif12unsigned __int64 _umul128(unsigned __int64, unsigned __int64,13                          unsigned __int64 *);14namespace {15#ifdef INSIDE16  #pragma intrinsic(_umul128)17#endif18#ifdef NESTED19  namespace {20#pragma intrinsic(_umul128)21  }22#endif23}24 25#ifdef OUTSIDE26#pragma intrinsic(_umul128)27#endif28 29void foo() {30  unsigned __int64 carry;31  unsigned __int64 low = _umul128(0, 0, &carry);32}33