// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DOUTSIDE %s // RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DINSIDE %s // RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DNESTED %s // RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DOUTSIDE -DEXTERN %s // RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DINSIDE -DEXTERN %s // RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-compatibility -fsyntax-only -verify -DNESTED -DEXTERN %s // expected-no-diagnostics #ifdef EXTERN extern "C" #endif unsigned __int64 _umul128(unsigned __int64, unsigned __int64, unsigned __int64 *); namespace { #ifdef INSIDE #pragma intrinsic(_umul128) #endif #ifdef NESTED namespace { #pragma intrinsic(_umul128) } #endif } #ifdef OUTSIDE #pragma intrinsic(_umul128) #endif void foo() { unsigned __int64 carry; unsigned __int64 low = _umul128(0, 0, &carry); }