summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGDebugInfo.h
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-06-30 03:01:59 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-06-30 03:01:59 +0000
commitb4b671e4a801d81f5899b73690349ebd69605818 (patch)
tree5447f024a867aa661f492c1bd4f032cabe40739a /clang/lib/CodeGen/CGDebugInfo.h
parent9319cbc045658d504f61dcd9ea78cf3df637de3d (diff)
downloadbcm5719-llvm-b4b671e4a801d81f5899b73690349ebd69605818.tar.gz
bcm5719-llvm-b4b671e4a801d81f5899b73690349ebd69605818.zip
[CodeView] Implement support for bitfields in Clang
Emit the underlying storage offset in addition to the starting bit position of the field. This fixes PR28162. Differential Revision: http://reviews.llvm.org/D21783 llvm-svn: 274201
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.h')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.h b/clang/lib/CodeGen/CGDebugInfo.h
index 669ab9db45f..366dd81ac81 100644
--- a/clang/lib/CodeGen/CGDebugInfo.h
+++ b/clang/lib/CodeGen/CGDebugInfo.h
@@ -232,11 +232,16 @@ class CGDebugInfo {
llvm::DIFile *F);
llvm::DIType *createFieldType(StringRef name, QualType type,
- uint64_t sizeInBitsOverride, SourceLocation loc,
- AccessSpecifier AS, uint64_t offsetInBits,
- llvm::DIFile *tunit, llvm::DIScope *scope,
+ SourceLocation loc, AccessSpecifier AS,
+ uint64_t offsetInBits, llvm::DIFile *tunit,
+ llvm::DIScope *scope,
const RecordDecl *RD = nullptr);
+ /// Create new bit field member.
+ llvm::DIType *createBitFieldType(const FieldDecl *BitFieldDecl,
+ llvm::DIScope *RecordTy,
+ const RecordDecl *RD);
+
/// Helpers for collecting fields of a record.
/// @{
void CollectRecordLambdaFields(const CXXRecordDecl *CXXDecl,
OpenPOWER on IntegriCloud