[LLVMbugs] [Bug 16111] New: Block type signature is not preserved through template instantiation

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed May 22 09:55:09 PDT 2013


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

            Bug ID: 16111
           Summary: Block type signature is not preserved through template
                    instantiation
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: jordan_rose at apple.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

If a block is defined in a function template, its instantiation will have a
null SignatureAsWritten. Looking at TreeTransform::TransformBlockExpr, it seems
that this is just an oversight, and that one ought to be able to transform the
BlockDecl's SignatureAsWritten.

This affects the analyzer in a few mild ways, and implies that the indexer
might miss a few uses of certain types. (Or perhaps not, since the enclosing
BlockExpr will have the correct type.)

---

template <bool VALUE>
bool get() {
  return (^(int ignored) { return VALUE; })(0);
}

-- 
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/20130522/e9257544/attachment.html>


More information about the llvm-bugs mailing list