[LLVMbugs] [Bug 15159] New:=?UTF-8?Q?=20Global=20blocks=20don=E2=80=99t=20have=20a=20signature=20?=(the BLOCK_HAS_SIGNATURE flag is not set)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Feb 5 03:32:43 PST 2013


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

            Bug ID: 15159
           Summary: Global blocks don’t have a signature (the
                    BLOCK_HAS_SIGNATURE flag is not set)
           Product: clang
           Version: trunk
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: dd2284 at gmail.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

When inspecting blocks in a project built with the latest version of Xcode (4.6
which has the following version of clang: 425.0.24 (based on LLVM 3.2svn), I
realized that global blocks do not have a signature in the descriptor member
and indeed the BLOCK_HAS_SIGNATURE flag is not set.

A quick look through CGBlocks.cpp does seem to intend that global block are
emitted with a signature given that the buildGlobalBlock function sets the
flag:

BlockFlags flags = BLOCK_IS_GLOBAL | BLOCK_HAS_SIGNATURE;

However, it doesn’t seem to happen in practice. Is there something I am
misinterpreting or is it actually intended behaviour? I feel two blocks ought
to be inspectable in the same way, disregarding their actual type.

-- 
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/20130205/262088bc/attachment.html>


More information about the llvm-bugs mailing list