blob: ac0b37b645ab8b06b491de9114bbafd475e9354f [file] [log] [blame]
Ted Kremenek183a8de2011-10-12 20:06:09 +00001// RUN: %clang_cc1 -fsyntax-only %s -verify
2#ifndef __has_warning
3#error Should have __has_warning
4#endif
5
6#if __has_warning("not valid") // expected-warning {{__has_warning expected option name}}
7#endif
8
Jordan Rose78541c42012-07-11 19:58:23 +00009// expected-warning@+2 {{Should have -Wparentheses}}
Ted Kremenek183a8de2011-10-12 20:06:09 +000010#if __has_warning("-Wparentheses")
Jordan Rose78541c42012-07-11 19:58:23 +000011#warning Should have -Wparentheses
Ted Kremenek183a8de2011-10-12 20:06:09 +000012#endif
13
Andy Gibbsb9971ba2012-11-17 19:14:53 +000014// expected-error@+2 {{builtin warning check macro requires a parenthesized string}}
15// expected-error@+1 {{expected value in expression}}
16#if __has_warning(-Wfoo)
Ted Kremenek183a8de2011-10-12 20:06:09 +000017#endif
18
Jordan Rose78541c42012-07-11 19:58:23 +000019// expected-warning@+3 {{Not a valid warning flag}}
Ted Kremenek183a8de2011-10-12 20:06:09 +000020#if __has_warning("-Wnot-a-valid-warning-flag-at-all")
21#else
Jordan Rose78541c42012-07-11 19:58:23 +000022#warning Not a valid warning flag
23#endif