[LLVMbugs] [Bug 21491] New: Add to C libclang API the ability to detect whether namespace are inline, whether a template type is a pack, and whether an enum is scoped

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Nov 5 12:52:31 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=21491

            Bug ID: 21491
           Summary: Add to C libclang API the ability to detect whether
                    namespace are inline, whether a template type is a
                    pack, and whether an enum is scoped
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: libclang
          Assignee: unassignedclangbugs at nondot.org
          Reporter: s_bugzilla at nedprod.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Inline namespaces:

  bool isInline=false;
  {
    using namespace clang;
    const Decl *D = static_cast<const Decl *>(cursor.data[0]);
    if(const NamespaceDecl *TD = dyn_cast_or_null<NamespaceDecl>(D))
    {
      isInline=TD->isInline();
    }
  }

Parameter packs:

                        bool isPack=false;
                        {
                          using namespace clang;
                          QualType T =
QualType::getFromOpaquePtr(type.data[0]);
                          if (!T.isNull())
                          {
                            isPack=T->containsUnexpandedParameterPack();
                          }
                        }


Scoped enums:

                  bool isScoped=false;
                  {
                    using namespace clang;
                    const Decl *D = static_cast<const Decl *>(cursor.data[0]);
                    if(const EnumDecl *TD = dyn_cast_or_null<EnumDecl>(D))
                    {
                      isScoped=TD->isScoped();
                    }
                  }

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141105/3faa491b/attachment.html>


More information about the llvm-bugs mailing list