|  | // RUN: %clang_cc1 -triple x86_64 -S -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s | 
|  | // | 
|  | // Verifies that clang-generated *.inline are removed when shadowed by an external definition | 
|  |  | 
|  | // CHECK-NOT: strlen.inline | 
|  |  | 
|  | unsigned long strnlen(const char *, unsigned long); | 
|  | void fortify_panic(const char *); | 
|  |  | 
|  | extern inline __attribute__((always_inline)) __attribute__((gnu_inline)) unsigned long strlen(const char *p) { | 
|  | return 1; | 
|  | } | 
|  | unsigned long mystrlen(char const *s) { | 
|  | return strlen(s); | 
|  | } | 
|  | unsigned long strlen(const char *s) { | 
|  | return 2; | 
|  | } | 
|  | unsigned long yourstrlen(char const *s) { | 
|  | return strlen(s); | 
|  | } |