]> granicus.if.org Git - clang/commit
Fix a crash involving pointer-to-data-members of boolean type. We were
authorDouglas Gregor <dgregor@apple.com>
Thu, 2 Sep 2010 15:00:29 +0000 (15:00 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 2 Sep 2010 15:00:29 +0000 (15:00 +0000)
commitb61e2a328c5c2552b0bb3a8d3c4bc9389f34a321
treee22ec7a8f6d33e962da0ba5e3fc07db95b8209fc
parent9cb2cee212d708220c52249ceac4cdd9f2b8aeb0
Fix a crash involving pointer-to-data-members of boolean type. We were
constructing an LLVM PointerType directly from the "bool"'s LLVM type
(i1), which resulted in unfortunate pointer type i1*. The fix is to
build the LLVM PointerType from the corresponding Clang PointerType,
so that we get i8* in the case of a bool.

John, please review. I also left a FIXME there because we seem to be
dropping "volatile", which would be rather unfortunate.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112819 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/ItaniumCXXABI.cpp
test/CodeGenCXX/pointers-to-data-members.cpp