[clang] [dataflow][nfc] Fix u8 string usage with c++20 (PR #84291)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 7 01:21:35 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-analysis
@llvm/pr-subscribers-clang
Author: Vincent Lee (thevinster)
<details>
<summary>Changes</summary>
Clang returns an error when compiling this file with c++20
```
error: ISO C++20 does not permit initialization of char array with UTF-8 string literal
```
It seems like c++20 treats u8strings differently than strings (probably needs char8_t).
Make this a string to fix the error.
---
Full diff: https://github.com/llvm/llvm-project/pull/84291.diff
1 Files Affected:
- (modified) clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp (+1-1)
``````````diff
diff --git a/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp b/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
index ff4e18de2c70f1..d9f40d28859f5e 100644
--- a/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
+++ b/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
@@ -500,7 +500,7 @@ class HTMLLogger : public Logger {
for (unsigned I = 0; I < CFG.getNumBlockIDs(); ++I) {
std::string Name = blockID(I);
// Rightwards arrow, vertical line
- char ConvergenceMarker[] = u8"\\n\u2192\u007c";
+ char ConvergenceMarker[] = "\\n\u2192\u007c";
if (BlockConverged[I])
Name += ConvergenceMarker;
GraphS << " " << blockID(I) << " [id=" << blockID(I) << " label=\""
``````````
</details>
https://github.com/llvm/llvm-project/pull/84291
More information about the cfe-commits
mailing list