[cfe-dev] TagDecl::isFreeStanding vs. TagDecl::isEmbeddedInDeclarator

Jordan Rose via cfe-dev cfe-dev at lists.llvm.org
Tue Jan 16 17:25:09 PST 2018


Hi, all. I'm looking at distinguishing the following two enum declarations for Swift reasons <https://bugs.swift.org/browse/SR-2511>:

enum {
  Constant1,
  Constant2
};

enum {
  ConstantA,
  ConstantB
} someGlobalSetting;

It looks like Clang makes this possible, which is nice! However, it looks like it's possible via two different mechanisms, which is confusing. TagDecl::isFreeStanding seems to track whether the tag declarations was parsed as part of a declarator, while TagDecl::isEmbeddedInDeclarator tracks whether a part of a declarator turned out to be a tag declaration. But those seem to be equivalent properties to me. Am I missing something here?

Thanks,
Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180116/3726d043/attachment.html>


More information about the cfe-dev mailing list