blob: 19b607f738a8193f3b58e5b9afc26f041a12af58 [file] [log] [blame]
Douglas Gregorbbcb7ea2011-09-09 16:51:10 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
Andy Gibbs8e8fb3b2012-10-19 12:44:48 +00002// expected-no-diagnostics
Douglas Gregorbbcb7ea2011-09-09 16:51:10 +00003
4// PR8345
5template<typename T> T f(T* value) {
6 return __sync_add_and_fetch(value, 1);
7}
8int g(long long* x) { return f(x); }
9int g(int* x) { return f(x); }
Douglas Gregor5b0c5192011-11-08 19:45:38 +000010
11namespace PR11320 {
12 template<typename T>
13 void g(unsigned *x) {
14 __sync_bool_compare_and_swap(x, 1, 4);
15 }
16 void h() { g<int>(0); }
17}