Author: Timm Bäder Date: 2023-07-20T16:19:12+02:00 New Revision: 53c936a67c15bc5025ef9f7804399884ca73efa7
URL: https://github.com/llvm/llvm-project/commit/53c936a67c15bc5025ef9f7804399884ca73efa7 DIFF: https://github.com/llvm/llvm-project/commit/53c936a67c15bc5025ef9f7804399884ca73efa7.diff LOG: [clang][Interp] Add missing static_assert messages Added: Modified: clang/test/AST/Interp/builtin-functions.cpp Removed: ################################################################################ diff --git a/clang/test/AST/Interp/builtin-functions.cpp b/clang/test/AST/Interp/builtin-functions.cpp index e5141b0049d35a..eff8f80b7649a1 100644 --- a/clang/test/AST/Interp/builtin-functions.cpp +++ b/clang/test/AST/Interp/builtin-functions.cpp @@ -5,32 +5,32 @@ namespace strcmp { constexpr char kFoobar[6] = {'f','o','o','b','a','r'}; constexpr char kFoobazfoobar[12] = {'f','o','o','b','a','z','f','o','o','b','a','r'}; - static_assert(__builtin_strcmp("", "") == 0); - static_assert(__builtin_strcmp("abab", "abab") == 0); - static_assert(__builtin_strcmp("abab", "abba") == -1); - static_assert(__builtin_strcmp("abab", "abaa") == 1); - static_assert(__builtin_strcmp("ababa", "abab") == 1); - static_assert(__builtin_strcmp("abab", "ababa") == -1); - static_assert(__builtin_strcmp("a\203", "a") == 1); - static_assert(__builtin_strcmp("a\203", "a\003") == 1); - static_assert(__builtin_strcmp("abab\0banana", "abab") == 0); - static_assert(__builtin_strcmp("abab", "abab\0banana") == 0); - static_assert(__builtin_strcmp("abab\0banana", "abab\0canada") == 0); - static_assert(__builtin_strcmp(0, "abab") == 0); // expected-error {{not an integral constant}} \ - // expected-note {{dereferenced null}} \ - // expected-note {{in call to}} \ - // ref-error {{not an integral constant}} \ - // ref-note {{dereferenced null}} - static_assert(__builtin_strcmp("abab", 0) == 0); // expected-error {{not an integral constant}} \ - // expected-note {{dereferenced null}} \ - // expected-note {{in call to}} \ - // ref-error {{not an integral constant}} \ - // ref-note {{dereferenced null}} + static_assert(__builtin_strcmp("", "") == 0, ""); + static_assert(__builtin_strcmp("abab", "abab") == 0, ""); + static_assert(__builtin_strcmp("abab", "abba") == -1, ""); + static_assert(__builtin_strcmp("abab", "abaa") == 1, ""); + static_assert(__builtin_strcmp("ababa", "abab") == 1, ""); + static_assert(__builtin_strcmp("abab", "ababa") == -1, ""); + static_assert(__builtin_strcmp("a\203", "a") == 1, ""); + static_assert(__builtin_strcmp("a\203", "a\003") == 1, ""); + static_assert(__builtin_strcmp("abab\0banana", "abab") == 0, ""); + static_assert(__builtin_strcmp("abab", "abab\0banana") == 0, ""); + static_assert(__builtin_strcmp("abab\0banana", "abab\0canada") == 0, ""); + static_assert(__builtin_strcmp(0, "abab") == 0, ""); // expected-error {{not an integral constant}} \ + // expected-note {{dereferenced null}} \ + // expected-note {{in call to}} \ + // ref-error {{not an integral constant}} \ + // ref-note {{dereferenced null}} + static_assert(__builtin_strcmp("abab", 0) == 0, ""); // expected-error {{not an integral constant}} \ + // expected-note {{dereferenced null}} \ + // expected-note {{in call to}} \ + // ref-error {{not an integral constant}} \ + // ref-note {{dereferenced null}} - static_assert(__builtin_strcmp(kFoobar, kFoobazfoobar) == -1); - static_assert(__builtin_strcmp(kFoobar, kFoobazfoobar + 6) == 0); // expected-error {{not an integral constant}} \ - // expected-note {{dereferenced one-past-the-end}} \ - // expected-note {{in call to}} \ - // ref-error {{not an integral constant}} \ - // ref-note {{dereferenced one-past-the-end}} + static_assert(__builtin_strcmp(kFoobar, kFoobazfoobar) == -1, ""); + static_assert(__builtin_strcmp(kFoobar, kFoobazfoobar + 6) == 0, ""); // expected-error {{not an integral constant}} \ + // expected-note {{dereferenced one-past-the-end}} \ + // expected-note {{in call to}} \ + // ref-error {{not an integral constant}} \ + // ref-note {{dereferenced one-past-the-end}} } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits