1 // RUN: %clang_cc1 -triple x86_64 -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s 2 // 3 // Verifies that clang-generated *.inline are removed when shadowed by an external definition 4 5 // CHECK-NOT: strlen.inline 6 7 unsigned long strnlen(const char *, unsigned long); 8 void fortify_panic(const char *); 9 strlen(const char * p)10extern inline __attribute__((always_inline)) __attribute__((gnu_inline)) unsigned long strlen(const char *p) { 11 return 1; 12 } mystrlen(char const * s)13unsigned long mystrlen(char const *s) { 14 return strlen(s); 15 } strlen(const char * s)16unsigned long strlen(const char *s) { 17 return 2; 18 } yourstrlen(char const * s)19unsigned long yourstrlen(char const *s) { 20 return strlen(s); 21 } 22