Compiler projects using llvm
# REQUIRES: x86-registered-target
## STT_NOTYPE symbols are common in assembly files. Test we can symbolize them.
# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t
# RUN: llvm-symbolizer --obj=%t --inlines 0 1 2 3 4 5 6 7 | FileCheck %s
# RUN: llvm-symbolizer --obj=%t --no-inlines 0 1 2 3 4 5 6 7 | FileCheck %s

# CHECK:       _start
# CHECK-NEXT:  ??:0:0
# CHECK-EMPTY:
# CHECK-NEXT:  g_notype
# CHECK-NEXT:  ??:0:0
# CHECK-EMPTY:
# CHECK-NEXT:  g_notype
# CHECK-NEXT:  ??:0:0
# CHECK-EMPTY:

## This is a gap.
# CHECK-NEXT:  ??
# CHECK-NEXT:  ??:0:0
# CHECK-EMPTY:

# CHECK-NEXT:  l_notype
# CHECK-NEXT:  symtab-notype.s:0:0
# CHECK-EMPTY:

## TODO addr2line does not symbolize the last two out-of-bounds addresses.
# CHECK-NEXT:  l_notype_nosize
# CHECK-NEXT:  symtab-notype.s:0:0
# CHECK-EMPTY:
# CHECK-NEXT:  l_notype_nosize
# CHECK-NEXT:  symtab-notype.s:0:0
# CHECK-EMPTY:
# CHECK-NEXT:  l_notype_nosize
# CHECK-NEXT:  symtab-notype.s:0:0
# CHECK-EMPTY:

.file "symtab-notype.s"

.globl _start, g_notype
_start:
  retq

g_notype:
  nop
  nop
.size g_notype, . - g_notype

  nop

l_notype:
  nop
.size l_notype, . - l_notype

l_notype_nosize:
  nop