[clang-tools-extra] r327608 - [clang-tidy] rename_check.py misc-sizeof-container bugprone-sizeof-container

Alexander Kornienko via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 15 01:26:47 PDT 2018


Author: alexfh
Date: Thu Mar 15 01:26:47 2018
New Revision: 327608

URL: http://llvm.org/viewvc/llvm-project?rev=327608&view=rev
Log:
[clang-tidy] rename_check.py misc-sizeof-container bugprone-sizeof-container

Added:
    clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.cpp
      - copied, changed from r327607, clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp
    clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.h
      - copied, changed from r327607, clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h
    clang-tools-extra/trunk/docs/clang-tidy/checks/bugprone-sizeof-container.rst
      - copied, changed from r327607, clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst
    clang-tools-extra/trunk/test/clang-tidy/bugprone-sizeof-container.cpp
      - copied, changed from r327607, clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp
Removed:
    clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp
    clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h
    clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst
    clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp
Modified:
    clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp
    clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt
    clang-tools-extra/trunk/clang-tidy/misc/CMakeLists.txt
    clang-tools-extra/trunk/clang-tidy/misc/MiscTidyModule.cpp
    clang-tools-extra/trunk/docs/ReleaseNotes.rst
    clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst

Modified: clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp?rev=327608&r1=327607&r2=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cpp Thu Mar 15 01:26:47 2018
@@ -28,6 +28,7 @@
 #include "MisplacedWideningCastCheck.h"
 #include "MoveForwardingReferenceCheck.h"
 #include "MultipleStatementMacroCheck.h"
+#include "SizeofContainerCheck.h"
 #include "SizeofExpressionCheck.h"
 #include "StringConstructorCheck.h"
 #include "StringIntegerAssignmentCheck.h"
@@ -87,6 +88,8 @@ public:
         "bugprone-move-forwarding-reference");
     CheckFactories.registerCheck<MultipleStatementMacroCheck>(
         "bugprone-multiple-statement-macro");
+    CheckFactories.registerCheck<SizeofContainerCheck>(
+        "bugprone-sizeof-container");
     CheckFactories.registerCheck<SizeofExpressionCheck>(
         "bugprone-sizeof-expression");
     CheckFactories.registerCheck<StringConstructorCheck>(

Modified: clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt?rev=327608&r1=327607&r2=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt (original)
+++ clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txt Thu Mar 15 01:26:47 2018
@@ -20,6 +20,7 @@ add_clang_library(clangTidyBugproneModul
   MisplacedWideningCastCheck.cpp
   MoveForwardingReferenceCheck.cpp
   MultipleStatementMacroCheck.cpp
+  SizeofContainerCheck.cpp
   SizeofExpressionCheck.cpp
   StringConstructorCheck.cpp
   StringIntegerAssignmentCheck.cpp

Copied: clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.cpp (from r327607, clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp)
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.cpp?p2=clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.cpp&p1=clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp&r1=327607&r2=327608&rev=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.cpp Thu Mar 15 01:26:47 2018
@@ -15,7 +15,7 @@ using namespace clang::ast_matchers;
 
 namespace clang {
 namespace tidy {
-namespace misc {
+namespace bugprone {
 
 void SizeofContainerCheck::registerMatchers(MatchFinder *Finder) {
   Finder->addMatcher(
@@ -44,6 +44,6 @@ void SizeofContainerCheck::check(const M
                                   "container; did you mean .size()?");
 }
 
-} // namespace misc
+} // namespace bugprone
 } // namespace tidy
 } // namespace clang

Copied: clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.h (from r327607, clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h)
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.h?p2=clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.h&p1=clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h&r1=327607&r2=327608&rev=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h (original)
+++ clang-tools-extra/trunk/clang-tidy/bugprone/SizeofContainerCheck.h Thu Mar 15 01:26:47 2018
@@ -7,20 +7,20 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_SIZEOF_CONTAINER_H
-#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_SIZEOF_CONTAINER_H
+#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_SIZEOFCONTAINERCHECK_H
+#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_SIZEOFCONTAINERCHECK_H
 
 #include "../ClangTidy.h"
 
 namespace clang {
 namespace tidy {
-namespace misc {
+namespace bugprone {
 
 /// Find usages of sizeof on expressions of STL container types. Most likely the
 /// user wanted to use `.size()` instead.
 ///
 /// For the user-facing documentation see:
-/// http://clang.llvm.org/extra/clang-tidy/checks/misc-sizeof-container.html
+/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-sizeof-container.html
 class SizeofContainerCheck : public ClangTidyCheck {
 public:
   SizeofContainerCheck(StringRef Name, ClangTidyContext *Context)
@@ -29,8 +29,8 @@ public:
   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
 };
 
-} // namespace misc
+} // namespace bugprone
 } // namespace tidy
 } // namespace clang
 
-#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_SIZEOF_CONTAINER_H
+#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_SIZEOFCONTAINERCHECK_H

Modified: clang-tools-extra/trunk/clang-tidy/misc/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/CMakeLists.txt?rev=327608&r1=327607&r2=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/CMakeLists.txt (original)
+++ clang-tools-extra/trunk/clang-tidy/misc/CMakeLists.txt Thu Mar 15 01:26:47 2018
@@ -8,7 +8,6 @@ add_clang_library(clangTidyMiscModule
   NewDeleteOverloadsCheck.cpp
   NonCopyableObjects.cpp
   RedundantExpressionCheck.cpp
-  SizeofContainerCheck.cpp
   StaticAssertCheck.cpp
   ThrowByValueCatchByReferenceCheck.cpp
   UniqueptrResetReleaseCheck.cpp

Modified: clang-tools-extra/trunk/clang-tidy/misc/MiscTidyModule.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/MiscTidyModule.cpp?rev=327608&r1=327607&r2=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/MiscTidyModule.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/misc/MiscTidyModule.cpp Thu Mar 15 01:26:47 2018
@@ -15,7 +15,6 @@
 #include "NewDeleteOverloadsCheck.h"
 #include "NonCopyableObjects.h"
 #include "RedundantExpressionCheck.h"
-#include "SizeofContainerCheck.h"
 #include "StaticAssertCheck.h"
 #include "ThrowByValueCatchByReferenceCheck.h"
 #include "UnconventionalAssignOperatorCheck.h"
@@ -43,7 +42,6 @@ public:
         "misc-non-copyable-objects");
     CheckFactories.registerCheck<RedundantExpressionCheck>(
         "misc-redundant-expression");
-    CheckFactories.registerCheck<SizeofContainerCheck>("misc-sizeof-container");
     CheckFactories.registerCheck<StaticAssertCheck>("misc-static-assert");
     CheckFactories.registerCheck<ThrowByValueCatchByReferenceCheck>(
         "misc-throw-by-value-catch-by-reference");

Removed: clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp?rev=327607&view=auto
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp (original)
+++ clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.cpp (removed)
@@ -1,49 +0,0 @@
-//===--- SizeofContainerCheck.cpp - clang-tidy-----------------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "SizeofContainerCheck.h"
-#include "clang/AST/ASTContext.h"
-#include "clang/ASTMatchers/ASTMatchFinder.h"
-
-using namespace clang::ast_matchers;
-
-namespace clang {
-namespace tidy {
-namespace misc {
-
-void SizeofContainerCheck::registerMatchers(MatchFinder *Finder) {
-  Finder->addMatcher(
-      expr(unless(isInTemplateInstantiation()),
-           expr(sizeOfExpr(has(ignoringParenImpCasts(
-                    expr(hasType(hasCanonicalType(hasDeclaration(cxxRecordDecl(
-                        matchesName("^(::std::|::string)"),
-                        unless(matchesName("^::std::(bitset|array)$")),
-                        hasMethod(cxxMethodDecl(hasName("size"), isPublic(),
-                                                isConst())))))))))))
-               .bind("sizeof"),
-           // Ignore ARRAYSIZE(<array of containers>) pattern.
-           unless(hasAncestor(binaryOperator(
-               anyOf(hasOperatorName("/"), hasOperatorName("%")),
-               hasLHS(ignoringParenCasts(sizeOfExpr(expr()))),
-               hasRHS(ignoringParenCasts(equalsBoundNode("sizeof"))))))),
-      this);
-}
-
-void SizeofContainerCheck::check(const MatchFinder::MatchResult &Result) {
-  const auto *SizeOf =
-      Result.Nodes.getNodeAs<UnaryExprOrTypeTraitExpr>("sizeof");
-
-  auto Diag =
-      diag(SizeOf->getLocStart(), "sizeof() doesn't return the size of the "
-                                  "container; did you mean .size()?");
-}
-
-} // namespace misc
-} // namespace tidy
-} // namespace clang

Removed: clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h?rev=327607&view=auto
==============================================================================
--- clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h (original)
+++ clang-tools-extra/trunk/clang-tidy/misc/SizeofContainerCheck.h (removed)
@@ -1,36 +0,0 @@
-//===--- SizeofContainerCheck.h - clang-tidy---------------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_SIZEOF_CONTAINER_H
-#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_SIZEOF_CONTAINER_H
-
-#include "../ClangTidy.h"
-
-namespace clang {
-namespace tidy {
-namespace misc {
-
-/// Find usages of sizeof on expressions of STL container types. Most likely the
-/// user wanted to use `.size()` instead.
-///
-/// For the user-facing documentation see:
-/// http://clang.llvm.org/extra/clang-tidy/checks/misc-sizeof-container.html
-class SizeofContainerCheck : public ClangTidyCheck {
-public:
-  SizeofContainerCheck(StringRef Name, ClangTidyContext *Context)
-      : ClangTidyCheck(Name, Context) {}
-  void registerMatchers(ast_matchers::MatchFinder *Finder) override;
-  void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-};
-
-} // namespace misc
-} // namespace tidy
-} // namespace clang
-
-#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_SIZEOF_CONTAINER_H

Modified: clang-tools-extra/trunk/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/ReleaseNotes.rst?rev=327608&r1=327607&r2=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/docs/ReleaseNotes.rst (original)
+++ clang-tools-extra/trunk/docs/ReleaseNotes.rst Thu Mar 15 01:26:47 2018
@@ -137,6 +137,9 @@ Improvements to clang-tidy
 - The 'misc-misplaced-widening-cast' check was renamed to `bugprone-misplaced-widening-cast
   <http://clang.llvm.org/extra/clang-tidy/checks/bugprone-misplaced-widening-cast.html>`_
 
+- The 'misc-sizeof-container' check was renamed to `bugprone-sizeof-container
+  <http://clang.llvm.org/extra/clang-tidy/checks/bugprone-sizeof-container.html>`_
+
 - The 'misc-sizeof-expression' check was renamed to `bugprone-sizeof-expression
   <http://clang.llvm.org/extra/clang-tidy/checks/bugprone-sizeof-expression.html>`_
 

Copied: clang-tools-extra/trunk/docs/clang-tidy/checks/bugprone-sizeof-container.rst (from r327607, clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst)
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/clang-tidy/checks/bugprone-sizeof-container.rst?p2=clang-tools-extra/trunk/docs/clang-tidy/checks/bugprone-sizeof-container.rst&p1=clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst&r1=327607&r2=327608&rev=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst (original)
+++ clang-tools-extra/trunk/docs/clang-tidy/checks/bugprone-sizeof-container.rst Thu Mar 15 01:26:47 2018
@@ -1,7 +1,7 @@
-.. title:: clang-tidy - misc-sizeof-container
+.. title:: clang-tidy - bugprone-sizeof-container
 
-misc-sizeof-container
-=====================
+bugprone-sizeof-container
+=========================
 
 The check finds usages of ``sizeof`` on expressions of STL container types. Most
 likely the user wanted to use ``.size()`` instead.

Modified: clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst?rev=327608&r1=327607&r2=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst (original)
+++ clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst Thu Mar 15 01:26:47 2018
@@ -36,6 +36,7 @@ Clang-Tidy Checks
    bugprone-misplaced-widening-cast
    bugprone-move-forwarding-reference
    bugprone-multiple-statement-macro
+   bugprone-sizeof-container
    bugprone-sizeof-expression
    bugprone-string-constructor
    bugprone-string-integer-assignment
@@ -146,7 +147,6 @@ Clang-Tidy Checks
    misc-new-delete-overloads
    misc-non-copyable-objects
    misc-redundant-expression
-   misc-sizeof-container
    misc-static-assert
    misc-throw-by-value-catch-by-reference
    misc-unconventional-assign-operator

Removed: clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst?rev=327607&view=auto
==============================================================================
--- clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst (original)
+++ clang-tools-extra/trunk/docs/clang-tidy/checks/misc-sizeof-container.rst (removed)
@@ -1,26 +0,0 @@
-.. title:: clang-tidy - misc-sizeof-container
-
-misc-sizeof-container
-=====================
-
-The check finds usages of ``sizeof`` on expressions of STL container types. Most
-likely the user wanted to use ``.size()`` instead.
-
-All class/struct types declared in namespace ``std::`` having a const ``size()``
-method are considered containers, with the exception of ``std::bitset`` and
-``std::array``.
-
-Examples:
-
-.. code-block:: c++
-
-  std::string s;
-  int a = 47 + sizeof(s); // warning: sizeof() doesn't return the size of the container. Did you mean .size()?
-
-  int b = sizeof(std::string); // no warning, probably intended.
-
-  std::string array_of_strings[10];
-  int c = sizeof(array_of_strings) / sizeof(array_of_strings[0]); // no warning, definitely intended.
-
-  std::array<int, 3> std_array;
-  int d = sizeof(std_array); // no warning, probably intended.

Copied: clang-tools-extra/trunk/test/clang-tidy/bugprone-sizeof-container.cpp (from r327607, clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp)
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/bugprone-sizeof-container.cpp?p2=clang-tools-extra/trunk/test/clang-tidy/bugprone-sizeof-container.cpp&p1=clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp&r1=327607&r2=327608&rev=327608&view=diff
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp (original)
+++ clang-tools-extra/trunk/test/clang-tidy/bugprone-sizeof-container.cpp Thu Mar 15 01:26:47 2018
@@ -1,4 +1,4 @@
-// RUN: %check_clang_tidy %s misc-sizeof-container %t -- -- -std=c++11 -target x86_64-unknown-unknown
+// RUN: %check_clang_tidy %s bugprone-sizeof-container %t -- -- -std=c++11 -target x86_64-unknown-unknown
 
 namespace std {
 
@@ -64,7 +64,7 @@ void f() {
   std::vector<int> v;
 
   int a = 42 + sizeof(s1);
-// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: sizeof() doesn't return the size of the container; did you mean .size()? [misc-sizeof-container]
+// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: sizeof() doesn't return the size of the container; did you mean .size()? [bugprone-sizeof-container]
   a = 123 * sizeof(s2);
 // CHECK-MESSAGES: :[[@LINE-1]]:13: warning: sizeof() doesn't return the size
   a = 45 + sizeof(s2 + "asdf");

Removed: clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp?rev=327607&view=auto
==============================================================================
--- clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp (original)
+++ clang-tools-extra/trunk/test/clang-tidy/misc-sizeof-container.cpp (removed)
@@ -1,103 +0,0 @@
-// RUN: %check_clang_tidy %s misc-sizeof-container %t -- -- -std=c++11 -target x86_64-unknown-unknown
-
-namespace std {
-
-typedef unsigned int size_t;
-
-template <typename T>
-struct basic_string {
-  size_t size() const;
-};
-
-template <typename T>
-basic_string<T> operator+(const basic_string<T> &, const T *);
-
-typedef basic_string<char> string;
-
-template <typename T>
-struct vector {
-  size_t size() const;
-};
-
-// std::bitset<> is not a container. sizeof() is reasonable for it.
-template <size_t N>
-struct bitset {
-  size_t size() const;
-};
-
-// std::array<> is, well, an array. sizeof() is reasonable for it.
-template <typename T, size_t N>
-struct array {
-  size_t size() const;
-};
-
-class fake_container1 {
-  size_t size() const; // non-public
-};
-
-struct fake_container2 {
-  size_t size(); // non-const
-};
-
-}
-
-using std::size_t;
-
-#define ARRAYSIZE(a) \
-  ((sizeof(a) / sizeof(*(a))) / static_cast<size_t>(!(sizeof(a) % sizeof(*(a)))))
-
-#define ARRAYSIZE2(a) \
-  (((sizeof(a)) / (sizeof(*(a)))) / static_cast<size_t>(!((sizeof(a)) % (sizeof(*(a))))))
-
-struct string {
-  std::size_t size() const;
-};
-
-template<typename T>
-void g(T t) {
-  (void)sizeof(t);
-}
-
-void f() {
-  string s1;
-  std::string s2;
-  std::vector<int> v;
-
-  int a = 42 + sizeof(s1);
-// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: sizeof() doesn't return the size of the container; did you mean .size()? [misc-sizeof-container]
-  a = 123 * sizeof(s2);
-// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: sizeof() doesn't return the size
-  a = 45 + sizeof(s2 + "asdf");
-// CHECK-MESSAGES: :[[@LINE-1]]:12: warning: sizeof() doesn't return the size
-  a = sizeof(v);
-// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: sizeof() doesn't return the size
-  a = sizeof(std::vector<int>{});
-// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: sizeof() doesn't return the size
-
-  a = sizeof(a);
-  a = sizeof(int);
-  a = sizeof(std::string);
-  a = sizeof(std::vector<int>);
-
-  g(s1);
-  g(s2);
-  g(v);
-
-  std::fake_container1 fake1;
-  std::fake_container2 fake2;
-  std::bitset<7> std_bitset;
-  std::array<int, 3> std_array;
-
-  a = sizeof(fake1);
-  a = sizeof(fake2);
-  a = sizeof(std_bitset);
-  a = sizeof(std_array);
-
-
-  std::string arr[3];
-  a = ARRAYSIZE(arr);
-  a = ARRAYSIZE2(arr);
-  a = sizeof(arr) / sizeof(arr[0]);
-
-  (void)a;
-}




More information about the cfe-commits mailing list