Compiler projects using llvm
; Check that
; 1. ".lto_discard" works as module inlineasm marker and its argument symbols
;    are discarded.
; 2. there is no reassignment error in the presence of ".lto_discard"
; RUN: llc < %s | FileCheck %s

; CHECK:    .data
; CHECK-NOT:  .weak  foo
; CHECK-NOT:  .set   foo, bar
; CHECK:      .globl foo
; CHECK:      foo:
; CHECK:        .byte 1

target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

module asm ".lto_discard foo"
module asm "	.text"
module asm "bar:"
module asm "	.data"
module asm ".weak foo"
module asm ".set   foo, bar"
module asm ".weak foo"
module asm ".set   foo, bar"

module asm ".lto_discard"
module asm ".globl foo"
module asm "foo:"
module asm "   .byte 1"