[PATCH] Debug type info for fixed enums
dblaikie at gmail.com
Tue Apr 16 00:43:50 PDT 2013
First patch is trivial & could/should be committed without approval.
Second patch seems reasonable. Seems kind of ridiculous that we were
using "isScopedUsingClassTag" - that would've broken for scoped enums
using the struct tag. Could you add a test case that demonstrates you
fixed that issue too?
Your comment updates to Decl.h could go in separately, though that's
not too important.
Should your test case ensure the enum without any base type not be
derived from anything? (you can regex match the end of line to ensure
the type isn't specified there, or maybe you just need to match "[from
]" depending, I don't remember the exact output format)
Third patch also seems OK - though there's some unrelated trailing
whitespace removal. Generally that's avoided, but you could commit it
separately if you like. I'd rephrase the comment you updated:
"+ /// This a DIDerivedType because composite types such as enums may
+ /// from a basic type other than int."
To something perhaps like: "DICompositeType is derived from
DIDerivedType because some composite types (such as enums) can be
derived from basic types". Not sure if this answers the original
comment's question, though. We could still represent this fact without
having DICompositeType derived from DIDerivedType. It doesn't need all
the other features of DIDerivedType, I would think - just "what is the
base type" which would be a raw DIType. SO the comment should
/probably/ be (& not a doc comment) FIXME: Make this derive from
DIType directly & just store the base type in a single DIType field.
On Tue, Apr 9, 2013 at 12:21 PM, Adrian Prantl <aprantl at apple.com> wrote:
> Debug Info: Emit the underlying type for all kinds of fixed enums
> instead of only C++11-scoped-with-class-tag enums.
> Also, update the documentation and choose more accurate parameter names in DebugInfo.h.
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
More information about the cfe-commits