diff options
Diffstat (limited to 'test/CodeGenCXX/builtins.cpp')
-rw-r--r-- | test/CodeGenCXX/builtins.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGenCXX/builtins.cpp b/test/CodeGenCXX/builtins.cpp index 0629c31015c76..4542563717a11 100644 --- a/test/CodeGenCXX/builtins.cpp +++ b/test/CodeGenCXX/builtins.cpp @@ -7,3 +7,15 @@ int main() { // CHECK: call signext i8 @memmove() return memmove(); } + +// <rdar://problem/10063539> + +template<int (*Compare)(const char *s1, const char *s2)> +int equal(const char *s1, const char *s2) { + return Compare(s1, s2) == 0; +} + +// CHECK: define weak_odr i32 @_Z5equalIXadL_Z16__builtin_strcmpPKcS1_EEEiS1_S1_ +// CHECK: call i32 @strcmp +template int equal<&__builtin_strcmp>(const char*, const char*); + |