diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/SemaCXX/warn-unsequenced-cxx17.cpp | 8 | ||||
-rw-r--r-- | clang/test/SemaCXX/warn-unsequenced.cpp | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/warn-unsequenced-cxx17.cpp b/clang/test/SemaCXX/warn-unsequenced-cxx17.cpp new file mode 100644 index 00000000000..3c221fb8d65 --- /dev/null +++ b/clang/test/SemaCXX/warn-unsequenced-cxx17.cpp @@ -0,0 +1,8 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++17 -Wno-unused %s + +void test() { + int xs[10]; + int *p = xs; + // expected-no-diagnostics + p[(long long unsigned)(p = 0)]; // ok +} diff --git a/clang/test/SemaCXX/warn-unsequenced.cpp b/clang/test/SemaCXX/warn-unsequenced.cpp index 9e8a5b46c21..6d4468cabfe 100644 --- a/clang/test/SemaCXX/warn-unsequenced.cpp +++ b/clang/test/SemaCXX/warn-unsequenced.cpp @@ -81,6 +81,7 @@ void test() { int *p = xs; a = *(a++, p); // ok a = a++ && a; // ok + p[(long long unsigned)(p = 0)]; // expected-warning {{unsequenced modification and access to 'p'}} A *q = &agg1; (q = &agg2)->y = q->x; // expected-warning {{unsequenced modification and access to 'q'}} |