llvm::DIType ThisPtrType =
DebugFactory.CreateArtificialType(getOrCreateType(ThisPtr, Unit));
- unsigned Quals = Method->getTypeQualifiers();
- if (Quals & Qualifiers::Const)
- ThisPtrType =
- DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_const_type,
- Unit, "", Unit,
- 0, 0, 0, 0, 0, ThisPtrType);
- if (Quals & Qualifiers::Volatile)
- ThisPtrType =
- DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_volatile_type,
- Unit, "", Unit,
- 0, 0, 0, 0, 0, ThisPtrType);
-
TypeCache[ThisPtr.getAsOpaquePtr()] = ThisPtrType;
Elts.push_back(ThisPtrType);
+++ /dev/null
-// RUN: %clang_cc1 -g -S -masm-verbose -x c++ -o %t %s
-// RUN: grep DW_TAG_volatile_type %t | count 3
-// RUN: grep DW_TAG_const_type %t | count 3
-// one for decl, one for def, one for abbrev
-
-namespace A {
- class B {
- public:
- void dump() const volatile;
- };
-}
-
-int main () {
- using namespace A;
- B b;
- return 0;
-}
-
-void A::B::dump() const volatile{
-}