// RUN: %clang_cc1 -triple=i386-pc-solaris2.11 -w -emit-llvm %s -o - | FileCheck %s

extern "C" {
  struct statvfs64 {
    int f;
  };
#pragma redefine_extname statvfs64 statvfs
  int statvfs64(struct statvfs64 *);
}

void some_func() {
  struct statvfs64 st;
  statvfs64(&st);
// Check that even if there is a structure with redefined name before the
// pragma, subsequent function name redefined properly. PR5172, Comment 11.
// CHECK:  call i32 @statvfs(%struct.statvfs64* %st)
}

// This is a case when redefenition is deferred *and* we have a local of the
// same name. PR23923.
#pragma redefine_extname foo bar
int f() {
  int foo = 0;
  return foo;
}
extern "C" {
  int foo() { return 1; }
// CHECK: define i32 @bar()
}

// Check that #pragma redefine_extname applies to C code only, and shouldn't be
// applied to C++.
#pragma redefine_extname foo_cpp bar_cpp
extern int foo_cpp() { return 1; }
// CHECK-NOT: define i32 @bar_cpp()

