1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 %s -fsyntax-only -verify -pedantic
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid check(int);
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid a() {
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isfinite(1.0f));
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isinf(1.0));
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isinf_sign(1.0L));
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isnan(1.0f));
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isnormal(1.0f));
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isfinite(1)); // expected-error{{requires argument of floating point type}}
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isinf()); // expected-error{{too few arguments}}
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_isnan(1,2)); // expected-error{{too many arguments}}
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_fpclassify(0, 0, 0, 0, 0, 1.0));
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_fpclassify(0, 0, 0, 0, 0, 1)); // expected-error{{requires argument of floating point type}}
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_fpclassify(0, 0, 0, 0, 1)); // expected-error{{too few arguments}}
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  check(__builtin_fpclassify(0, 0, 0, 0, 0, 1, 0)); // expected-error{{too many arguments}}
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
17