Mercurial > hg > CbC > CbC_llvm
diff clang/test/Sema/attr-naked.cpp @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line diff
--- a/clang/test/Sema/attr-naked.cpp Wed Jul 21 10:27:27 2021 +0900 +++ b/clang/test/Sema/attr-naked.cpp Wed Nov 09 17:45:10 2022 +0900 @@ -1,4 +1,6 @@ // RUN: %clang_cc1 %s -verify -fsyntax-only -triple arm-none-linux +// RUN: %clang_cc1 %s -verify -fsyntax-only -fms-compatibility -DDECLSPEC -triple i686-pc-win32 + class Foo { void bar(); static void bar2(); @@ -13,3 +15,12 @@ void __attribute__((naked)) Foo::bar2() { asm("mov r2, %0" : : "r"(s)); // static member reference is OK } + +struct Bar { +#ifdef DECLSPEC + __declspec(naked) void func1(); // expected-error {{'naked' attribute only applies to non-member functions}} + __declspec(naked) static void func2(); // expected-error {{'naked' attribute only applies to non-member functions}} +#endif + __attribute__((naked)) void func3(); // OK + __attribute__((naked)) static void func4(); // OK +};