OSDN Git Service

IR: Add missing tests for function-local metadata
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sun, 7 Dec 2014 17:56:16 +0000 (17:56 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sun, 7 Dec 2014 17:56:16 +0000 (17:56 +0000)
commita77df65a84ff90be517de5fd13bdec0bede3ce36
tree220b30a1438d44126cbd557116481f3d9e901f24
parent6b9ae406ac3322c57c628e8d539c9df6bc7710a1
IR: Add missing tests for function-local metadata

Add assembly and bitcode tests that I neglected to add in r223564 (IR:
Disallow complicated function-local metadata) and r223574 (IR: Disallow
function-local metadata attachments).

Found a couple of bugs:

  - The error message for function-local attachments gave the wrong line
    number -- it indicated the next token (typically on the next line)
    instead of the token that started the attachment.  Fixed.

  - Metadata arguments of the form `!{i32 0, i32 %v}` (or with the
    arguments reversed) fired an assertion in `ValueEnumerator` in LLVM
    v3.5, so I suppose this never really worked.  I suppose this was
    "fixed" by r223564.

(Thanks to dblaikie for pointing out my omission.)

Part of PR21532.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223616 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AsmParser/LLParser.cpp
test/Assembler/functionlocal-metadata-attachments.ll [new file with mode: 0644]
test/Assembler/functionlocal-metadata-complex-1.ll [new file with mode: 0644]
test/Assembler/functionlocal-metadata-complex-2.ll [new file with mode: 0644]
test/Assembler/functionlocal-metadata-complex-3.ll [new file with mode: 0644]
test/Bitcode/function-local-metadata.ll [new file with mode: 0644]
test/Bitcode/function-local-metadata.ll.bc [new file with mode: 0644]