[cfe-commits] r89947 - /cfe/trunk/lib/CodeGen/CGVtable.h
Benjamin Kramer
benny.kra at googlemail.com
Thu Nov 26 05:09:04 PST 2009
Author: d0k
Date: Thu Nov 26 07:09:03 2009
New Revision: 89947
URL: http://llvm.org/viewvc/llvm-project?rev=89947&view=rev
Log:
Remove dead forward declaration. Fix struct/class mismatch. Remove trailing whitespace.
Modified:
cfe/trunk/lib/CodeGen/CGVtable.h
Modified: cfe/trunk/lib/CodeGen/CGVtable.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGVtable.h?rev=89947&r1=89946&r2=89947&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGVtable.h (original)
+++ cfe/trunk/lib/CodeGen/CGVtable.h Thu Nov 26 07:09:03 2009
@@ -22,36 +22,37 @@
}
namespace clang {
- class CXXMethodDecl;
class CXXRecordDecl;
-
+
namespace CodeGen {
class CodeGenModule;
-/// ThunkAdjustment - Virtual and non-virtual adjustment for thunks.
-struct ThunkAdjustment {
+/// ThunkAdjustment - Virtual and non-virtual adjustment for thunks.
+class ThunkAdjustment {
+public:
ThunkAdjustment(int64_t NonVirtual, int64_t Virtual)
- : NonVirtual(NonVirtual),
+ : NonVirtual(NonVirtual),
Virtual(Virtual) { }
-
+
ThunkAdjustment()
: NonVirtual(0), Virtual(0) { }
-
+
// isEmpty - Return whether this thunk adjustment is empty.
- bool isEmpty() const {
+ bool isEmpty() const {
return NonVirtual == 0 && Virtual == 0;
}
-
+
/// NonVirtual - The non-virtual adjustment.
int64_t NonVirtual;
-
+
/// Virtual - The virtual adjustment.
int64_t Virtual;
};
/// CovariantThunkAdjustment - Adjustment of the 'this' pointer and the
/// return pointer for covariant thunks.
-struct CovariantThunkAdjustment {
+class CovariantThunkAdjustment {
+public:
CovariantThunkAdjustment(const ThunkAdjustment &ThisAdjustment,
const ThunkAdjustment &ReturnAdjustment)
: ThisAdjustment(ThisAdjustment), ReturnAdjustment(ReturnAdjustment) { }
@@ -64,15 +65,15 @@
class CGVtableInfo {
CodeGenModule &CGM;
-
+
/// MethodVtableIndices - Contains the index (relative to the vtable address
/// point) where the function pointer for a virtual function is stored.
typedef llvm::DenseMap<GlobalDecl, int64_t> MethodVtableIndicesTy;
MethodVtableIndicesTy MethodVtableIndices;
-
+
typedef std::pair<const CXXRecordDecl *,
const CXXRecordDecl *> ClassPairTy;
-
+
/// VirtualBaseClassIndicies - Contains the index into the vtable where the
/// offsets for virtual bases of a class are stored.
typedef llvm::DenseMap<ClassPairTy, int64_t> VirtualBaseClassIndiciesTy;
@@ -80,20 +81,20 @@
llvm::DenseMap<const CXXRecordDecl *, llvm::Constant *> Vtables;
public:
- CGVtableInfo(CodeGenModule &CGM)
+ CGVtableInfo(CodeGenModule &CGM)
: CGM(CGM) { }
/// getMethodVtableIndex - Return the index (relative to the vtable address
- /// point) where the function pointer for the given virtual function is
+ /// point) where the function pointer for the given virtual function is
/// stored.
int64_t getMethodVtableIndex(GlobalDecl GD);
-
+
/// getVirtualBaseOffsetIndex - Return the index (relative to the vtable
/// address point) where the offset of the virtual base that contains the
/// given Base is stored, otherwise, if no virtual base contains the given
/// class, return 0. Base must be a virtual base class or an unambigious
/// base.
- int64_t getVirtualBaseOffsetIndex(const CXXRecordDecl *RD,
+ int64_t getVirtualBaseOffsetIndex(const CXXRecordDecl *RD,
const CXXRecordDecl *VBase);
llvm::Constant *getVtable(const CXXRecordDecl *RD);
@@ -104,7 +105,7 @@
/// rtti data structure and the VTT.
void GenerateClassData(const CXXRecordDecl *RD);
};
-
+
}
}
#endif
More information about the cfe-commits
mailing list