aaron.ballman added inline comments.

================
Comment at: clang/lib/AST/Interp/InterpBuiltin.cpp:88-92
+  if (!AT->getElementType()->isCharType() &&
+      !AT->getElementType()->isChar8Type())
+    return false;
+
+  return true;
----------------
Allowing `char8_t` seems wrong to me -- https://godbolt.org/z/zK74hMP7q


================
Comment at: clang/lib/AST/Interp/InterpBuiltin.cpp:147-149
+  // FIXME: Implement support for the wide versions.
+  if (IsWide)
+    return false;
----------------
Let's either implement support for them in this patch or exclude the wchar_t 
changes entirely from the patch?


================
Comment at: clang/test/AST/Interp/builtin-functions.cpp:225-229
+#if 0
+constexpr int a = strcmp("hello", "world"); // expected-error {{constant 
expression}} expected-note {{non-constexpr function 'strcmp' cannot be used in 
a constant expression}}
+  constexpr int b = strncmp("hello", "world", 3); // expected-error {{constant 
expression}} expected-note {{non-constexpr function 'strncmp' cannot be used in 
a constant expression}}
+  constexpr int c = memcmp("hello", "world", 3); // expected-error {{constant 
expression}} expected-note {{non-constexpr function 'memcmp' cannot be used in 
a constant expression}}
+#endif
----------------
Why are these in a `#if 0` block?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156212/new/

https://reviews.llvm.org/D156212

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to