]> granicus.if.org Git - clang/commit
[DebugInfo] Improvements to representation of enumeration types (PR36168)
authorMomchil Velikov <momchil.velikov@arm.com>
Wed, 7 Feb 2018 16:52:02 +0000 (16:52 +0000)
committerMomchil Velikov <momchil.velikov@arm.com>
Wed, 7 Feb 2018 16:52:02 +0000 (16:52 +0000)
commit6f68467e5f5ab791b295c262ef79ae0932f821cb
tree0dcc7008056b3a47c408287b6e19d59113cd82cb
parent848874aed95a913fb45f363120500cebfe54e2ef
[DebugInfo] Improvements to representation of enumeration types (PR36168)

This patch:

* fixes an incorrect sign-extension of unsigned values, when emitting
  debug info metadata for enumerators
* the enumerators metadata is created with a flag, which determines
  interpretation of the value bits (signed or unsigned)
* the enumerations metadata contains the underlying integer type and a
  flag, indicating whether this is a C++ "fixed enum"

Differential Revision: https://reviews.llvm.org/D42736

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@324490 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGDebugInfo.cpp
test/CodeGen/debug-info-enum.cpp [new file with mode: 0644]
test/CodeGenCXX/debug-info-enum-class.cpp
test/CodeGenCXX/debug-info-enum.cpp
test/Modules/ModuleDebugInfo.cpp