diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
commit | bfef399519ca9b8a4b4c6b563253bad7e0eeffe0 (patch) | |
tree | df8df0b0067b381eab470a3b8f28d14a552a6340 /test/Analysis/inline.cpp | |
parent | 6a0372513edbc473b538d2f724efac50405d6fef (diff) |
Diffstat (limited to 'test/Analysis/inline.cpp')
-rw-r--r-- | test/Analysis/inline.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Analysis/inline.cpp b/test/Analysis/inline.cpp index 909e18017b34..ca126ddf7f38 100644 --- a/test/Analysis/inline.cpp +++ b/test/Analysis/inline.cpp @@ -290,6 +290,15 @@ namespace DefaultArgs { clang_analyzer_eval(defaultFloatReferenceZero(1) == -1); // expected-warning{{UNKNOWN}} clang_analyzer_eval(defaultFloatReferenceZero() == 0); // expected-warning{{UNKNOWN}} } + + char defaultString(const char *s = "abc") { + return s[1]; + } + + void testString() { + clang_analyzer_eval(defaultString("xyz") == 'y'); // expected-warning{{TRUE}} + clang_analyzer_eval(defaultString() == 'b'); // expected-warning{{TRUE}} + } } namespace OperatorNew { @@ -420,3 +429,10 @@ namespace rdar12409977 { clang_analyzer_eval(obj.getThis()->x == 42); // expected-warning{{TRUE}} } } + +namespace bug16307 { + void one_argument(int a) { } + void call_with_less() { + reinterpret_cast<void (*)()>(one_argument)(); // expected-warning{{Function taking 1 argument}} + } +} |