diff --git a/clang/test/CodeGenCXX/member-alignment.cpp b/clang/test/CodeGenCXX/member-alignment.cpp index ff6bb442b8470..72f992ffe8f98 100644 --- a/clang/test/CodeGenCXX/member-alignment.cpp +++ b/clang/test/CodeGenCXX/member-alignment.cpp @@ -11,8 +11,19 @@ class t { public: virtual void foo(void); void bar(void); + void baz(void); }; +// The original alignment is observed if >=2, regardless of any extra alignment +// of member functions. +[[gnu::aligned(16)]] +void +t::baz(void) { +// CHECK-NOEXTRAALIGN: @_ZN1t3bazEv({{.*}}) #0 align 16 { +// CHECK-EXTRAALIGN: @_ZN1t3bazEv({{.*}}) #0 align 16 { +// CHECK-MSVC: @"?baz@t@@QEAAXXZ"({{.*}}) #0 align 16 { +} + void t::bar(void) { // CHECK-ITANIUM: @_ZN1t3barEv({{.*}}) #0 align 2 {