| # RUN: not llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=asm %s -o /dev/null 2>&1 | FileCheck %s | |
| # RUN: not llvm-mc -triple x86_64-unknown-unknown -dwarf-version 5 -filetype=obj %s -o /dev/null 2>&1 | FileCheck %s | |
| # This is syntactically legal, looks like no checksum provided. | |
| # CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error: | |
| .file 1 "dir1/foo" "00112233445566778899aabbccddeeff" | |
| # Missing md5 keyword. | |
| # CHECK: [[@LINE+1]]:{{[0-9]+}}: error: unexpected token in '.file' directive | |
| .file 2 "dir1" "foo" 0x00112233445566778899aabbccddeeff | |
| # Bad syntax. | |
| # CHECK: [[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression | |
| .file 3 "dir2" "bar" md5 "ff" | |
| # No hex prefix. | |
| # CHECK: [[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression | |
| .file 4 "dir3" "foo" md5 ffeeddccbbaa99887766554433221100 | |
| # Non-DWARF .file syntax with checksum. | |
| # CHECK: [[@LINE+1]]:{{[0-9]+}}: error: MD5 checksum specified, but no file number | |
| .file "baz" md5 0xffeeddccbbaa99887766554433221100 | |
| # Inconsistent use of MD5 option. Note: .file 1 did not supply one. | |
| # CHECK: [[@LINE+1]]:{{[0-9]+}}: warning: inconsistent use of MD5 checksums | |
| .file 5 "bax" md5 0xffeeddccbbaa99887766554433221100 |