// RUN: %clang_cc1 -triple i386-pc-linux-gnu -emit-llvm -o - %s | FileCheck %s
// CHECK: @foo
// Make sure we mangle overloadable, even in C system headers.
# 1 "somesystemheader.h" 1 3 4
// CHECK: @_Z2f0i
void
// CHECK: @_Z2f0l
void
// Unless it's unmarked.
// CHECK: @f0
void
// CHECK: @bar
// These should get merged.
void __asm__;
void __asm__;
int nux __asm__;
extern float nux2 __asm__;
int
// Function becomes a variable.
void __asm__;
void
int foo4 __asm__ = 4;
// Variable becomes a function
extern int foo5 __asm__;
void
void __asm__;
void
int foo7 __asm__ ;
float foo8 __asm__ = 42;
// PR4412
int ;
extern int __asm__ ;
// CHECK: @FUNC
int
// CHECK: @_Z4foo9Dv4_f
typedef float float4;
void
// Intrinsic calls.
extern int __asm__;
int