1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 void foo() { 4 int a; 5 __builtin_prefetch(&a); 6 __builtin_prefetch(&a, 1); 7 __builtin_prefetch(&a, 1, 2); 8 __builtin_prefetch(&a, 1, 9, 3); // expected-error{{too many arguments to function}} 9 __builtin_prefetch(&a, "hello", 2); // expected-error{{argument to '__builtin_prefetch' must be a constant integer}} 10 __builtin_prefetch(&a, a, 2); // expected-error{{argument to '__builtin_prefetch' must be a constant integer}} 11 __builtin_prefetch(&a, 2); // expected-error{{argument should be a value from 0 to 1}} 12 __builtin_prefetch(&a, 0, 4); // expected-error{{argument should be a value from 0 to 3}} 13 __builtin_prefetch(&a, -1, 4); // expected-error{{argument should be a value from 0 to 1}} 14 } 15