]> granicus.if.org Git - clang/commitdiff
One of our buildbot for FreeBSD does not support std::to_string.
authorSylvestre Ledru <sylvestre@debian.org>
Sat, 14 Jun 2014 09:28:27 +0000 (09:28 +0000)
committerSylvestre Ledru <sylvestre@debian.org>
Sat, 14 Jun 2014 09:28:27 +0000 (09:28 +0000)
Use stringstream instead to convert int to string

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210972 91177308-0d34-0410-b5e6-96231b3b80d8

docs/ReleaseNotes.rst
lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp

index 94c36930a7bd7b9e1b1a412189e74a7ac7e0e058..1311e19639814b350df764e0e07a3346a4c19c7b 100644 (file)
@@ -51,10 +51,10 @@ Major New Features
   GCC 4.7 changed the mingw ABI. Clang 3.4 and older use the GCC 4.6
   ABI. Clang 3.5 and newer use the GCC 4.7 abi.
 
-- The __has_attribute feature test is now target-aware. Older versions of Clang 
-  would return true when the attribute spelling was known, regardless of whether 
-  the attribute was available to the specific target. Clang now returns true only 
-  when the attribute pertains to the current compilation target.
+- The __has_attribute feature test is now target-aware. Older versions of Clang
+  would return true when the attribute spelling was known, regardless of whether
+  the attribute was available to the specific target. Clang now returns true
+  only when the attribute pertains to the current compilation target.
 
 
 Improvements to Clang's diagnostics
@@ -144,6 +144,16 @@ libclang
 Static Analyzer
 ---------------
 
+The `-analyzer-config` options are now passed from scan-build through to
+ccc-analyzer and then to Clang.
+
+With the option `-analyzer-config stable-report-filename=true`,
+instead of `report-XXXXXX.html`, scan-build/clang analyzer generate
+`report-<filename>-<function, method name>-<function position>-<id>.html`.
+(id = i++ for several issues found in the same function/method).
+
+List the function/method name in the index page of scan-build.
+
 ...
 
 Core Analysis Improvements
index 2a4554648220442000ca13204fe44a0bb4569004..b1e9f06cae000d2c8b9fad8d9579bc8207e3a0f8 100644 (file)
@@ -26,6 +26,7 @@
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/Path.h"
 #include "llvm/Support/raw_ostream.h"
+#include <sstream>
 
 using namespace clang;
 using namespace ento;
@@ -292,14 +293,15 @@ void HTMLDiagnostics::ReportDiag(const PathDiagnostic& D,
       std::error_code EC;
       do {
           // Find a filename which is not already used
+          std::stringstream filename;
           Model = "";
+          filename << "report-"
+                   << llvm::sys::path::filename(Entry->getName()).str()
+                   << "-" << declName.c_str()
+                   << "-" << offsetDecl
+                   << "-" << i << ".html";
           llvm::sys::path::append(Model, Directory,
-                                  "report-" +
-                                  llvm::sys::path::filename(Entry->getName()) +
-                                  "-" +
-                                  declName.c_str() +
-                                  "-" + std::to_string(offsetDecl) +
-                                  "-" + std::to_string(i) + ".html");
+                                  filename.str());
           EC = llvm::sys::fs::openFileForWrite(Model.str(),
                                                FD,
                                                llvm::sys::fs::F_RW |