// RUN: %clang_cc1 -no-opaque-pointers -triple=x86_64-linux-gnu -emit-llvm -o - %s | FileCheck %s
// Builtins inside a namespace inside an extern "C" must be considered builtins.
extern "C"
int o = ;
// CHECK: @o ={{.*}} global i32 2, align 4
long p = ;
// CHECK: @p ={{.*}} global i64 3, align 8
// PR8839
extern "C" char ;
int
;
// CHECK: define {{.*}} @_Z9addressofbR1SS0_(
S *
// CHECK: define {{.*}} @_Z13std_addressofbR1SS0_(
S *
// CHECK: define {{.*}} @_Z15std___addressofbR1SS0_(
S *
extern "C" int ; // #1
long ; // #2
extern "C" int ; // #3
int x = ;
// CHECK: store i32 2, i32* @x, align 4
long y = ;
// CHECK: [[Y:%.+]] = call noundef i64 @_Z13__builtin_absl(i64 noundef -2)
// CHECK: store i64 [[Y]], i64* @y, align 8
extern const char char_memchr_arg;
char *memchr_result = ;
// CHECK: call i8* @memchr(i8* noundef getelementptr inbounds ([32 x i8], [32 x i8]* @char_memchr_arg, i64 0, i64 0), i32 noundef 123, i64 noundef 32)
int