xref: /llvm-project/clang/test/SemaCXX/member-pointer-size.cpp (revision c6e68daac0fa6e77a89f3ca72f266a528503dd1c)
18fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -triple x86_64-unknown-unknown %s -fsyntax-only -verify
28fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -triple i686-unknown-unknown %s -fsyntax-only -verify
3*c6e68daaSAndy Gibbs // expected-no-diagnostics
432440a0fSAnders Carlsson #include <stddef.h>
532440a0fSAnders Carlsson 
632440a0fSAnders Carlsson struct A;
732440a0fSAnders Carlsson 
f()832440a0fSAnders Carlsson void f() {
932440a0fSAnders Carlsson   int A::*dataMember;
1032440a0fSAnders Carlsson 
1132440a0fSAnders Carlsson   int (A::*memberFunction)();
1232440a0fSAnders Carlsson 
1332440a0fSAnders Carlsson   typedef int assert1[sizeof(dataMember) == sizeof(ptrdiff_t) ? 1 : -1];
1432440a0fSAnders Carlsson   typedef int assert2[sizeof(memberFunction) == sizeof(ptrdiff_t) * 2 ? 1 : -1];
1532440a0fSAnders Carlsson }
1632440a0fSAnders Carlsson 
17