llvm/llvm/test/tools/llvm-objdump/X86/print-symbol-addr.s

# RUN: llvm-mc %s -filetype=obj -triple=i386 -o %t.32.o
# RUN: llvm-mc %s -filetype=obj -triple=x86_64 -o %t.64.o

## Check we print the address of `foo` and `bar`.
# RUN: llvm-objdump -D %t.32.o | FileCheck --check-prefixes=ADDR32,ADDR %s --match-full-lines --strict-whitespace
# RUN: llvm-objdump -D %t.64.o | FileCheck --check-prefixes=ADDR64,ADDR %s --match-full-lines --strict-whitespace
#    ADDR32:00000000 <foo>:
#    ADDR64:0000000000000000 <foo>:
# ADDR-NEXT:       0: 90{{ +}}	nop
# ADDR-NEXT:       1: 90{{ +}}	nop
#ADDR-EMPTY:
#    ADDR32:00000002 <bar>:
#    ADDR64:0000000000000002 <bar>:
# ADDR-NEXT:       2: 90{{ +}}	nop
#      ADDR:Disassembly of section .data:
#ADDR-EMPTY:
#    ADDR32:00000000 <.data>:
#    ADDR64:0000000000000000 <.data>:
# ADDR-NEXT:       0: 01 00{{ +}}	addl	%eax, (%{{[er]}}ax)
#ADDR-EMPTY:

## Check we do not print the addresses with --no-leading-addr.
# RUN: llvm-objdump -d --no-leading-addr %t.32.o > %t.32.txt
# RUN: llvm-objdump -d --no-leading-addr %t.64.o > %t.64.txt
# RUN: FileCheck --input-file=%t.32.txt %s --check-prefix=NOADDR --match-full-lines --strict-whitespace
# RUN: FileCheck --input-file=%t.64.txt %s --check-prefix=NOADDR --match-full-lines --strict-whitespace
# RUN: llvm-objdump -d --no-addresses %t.32.o | diff %t.32.txt -
# RUN: llvm-objdump -d --no-addresses %t.64.o | diff %t.64.txt -

#      NOADDR:<foo>:
# NOADDR-NEXT: 90{{ +}}	nop
# NOADDR-NEXT: 90{{ +}}	nop
#NOADDR-EMPTY:
#      NOADDR:<bar>:
# NOADDR-NEXT: 90{{ +}}	nop

.text
.globl  foo
.type   foo, @function
foo:
 nop
 nop

bar:
 nop

.data
  .word 1