// RUN: %clang_cc1 %s -fsyntax-only -Wno-unused-value -Wmicrosoft -verify -fms-compatibility // PR15845 int foo(xxx); // expected-error{{unknown type name}} struct cls { char *m; }; char * cls::* __uptr wrong2 = &cls::m; // expected-error {{'__uptr' attribute cannot be used with pointers to members}} // Microsoft allows inline, __inline, and __forceinline to appear on a typedef // of a function type, but only in C. See GitHub #124869 for more details. typedef int inline Foo1(int); // expected-error {{'inline' can only appear on functions}} typedef int __inline Foo2(int); // expected-error {{'inline' can only appear on functions}} typedef int __forceinline Foo(int); // expected-error {{'inline' can only appear on functions}} \ expected-warning {{'__forceinline' attribute only applies to functions and statements}}