clang 10.0.0git

Functions
LLVMConventionsChecker.cpp File Reference
`#include "clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h"`
`#include "clang/AST/DeclTemplate.h"`
`#include "clang/AST/StmtVisitor.h"`
`#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"`
`#include "clang/StaticAnalyzer/Core/Checker.h"`
`#include "llvm/ADT/SmallString.h"`
`#include "llvm/Support/raw_ostream.h"`
Include dependency graph for LLVMConventionsChecker.cpp:

Go to the source code of this file.

## Functions
static bool | IsLLVMStringRef (QualType T)
static bool | InNamespace (const Decl *D, StringRef NS)
| Check whether the declaration is semantically inside the top-level namespace named by ns. More...
static bool | IsStdString (QualType T)
static bool | IsClangType (const RecordDecl *RD)
static bool | IsClangDecl (const RecordDecl *RD)
static bool | IsClangStmt (const RecordDecl *RD)
static bool | IsClangAttr (const RecordDecl *RD)
static bool | IsStdVector (QualType T)
static bool | IsSmallVector (QualType T)
static void | CheckStringRefAssignedTemporary (const Decl *D, BugReporter &BR, const CheckerBase *Checker)
static bool | AllocatesMemory (QualType T)
static bool | IsPartOfAST (const CXXRecordDecl *R)
static void | CheckASTMemory (const CXXRecordDecl *R, BugReporter &BR, const CheckerBase *Checker)

## Function Documentation

## ◆ AllocatesMemory()

static bool AllocatesMemory | ( | QualType | T | ) |
| static

Definition at line 192 of file LLVMConventionsChecker.cpp.

References IsSmallVector(), IsStdString(), and IsStdVector().

Referenced by CheckASTMemory().

## ◆ CheckASTMemory()

static void CheckASTMemory | ( | const CXXRecordDecl * | R,
|  | BugReporter & | BR,
|  | const CheckerBase * | Checker
| ) |  |
| static

Definition at line 230 of file LLVMConventionsChecker.cpp.

References AllocatesMemory(), CheckStringRefAssignedTemporary(), clang::ento::PathDiagnosticLocation::createBegin(), clang::RecordDecl::fields(), clang::Type::getAs(), clang::RecordDecl::getDefinition(), clang::ValueDecl::getType(), clang::TagDecl::isCompleteDefinition(), and IsPartOfAST().

## ◆ CheckStringRefAssignedTemporary()

static void CheckStringRefAssignedTemporary | ( | const Decl * | D,
|  | BugReporter & | BR,
|  | const CheckerBase * | Checker
| ) |  |
| static

Definition at line 136 of file LLVMConventionsChecker.cpp.

References clang::Decl::getBody().

Referenced by CheckASTMemory().

## ◆ InNamespace()

static bool InNamespace | ( | const Decl * | D,
|  | StringRef | NS
| ) |  |
| static

Check whether the declaration is semantically inside the top-level namespace named by ns.

Definition at line 39 of file LLVMConventionsChecker.cpp.

References clang::Decl::getDeclContext(), clang::NamedDecl::getIdentifier(), and clang::IdentifierInfo::getName().

Referenced by IsClangAttr(), IsClangDecl(), IsClangStmt(), IsClangType(), IsSmallVector(), and IsStdVector().

## ◆ IsClangAttr()

static bool IsClangAttr | ( | const RecordDecl * | RD | ) |
| static

Definition at line 77 of file LLVMConventionsChecker.cpp.

References clang::NamedDecl::getName(), and InNamespace().

Referenced by IsPartOfAST().

## ◆ IsClangDecl()

static bool IsClangDecl | ( | const RecordDecl * | RD | ) |
| static

Definition at line 69 of file LLVMConventionsChecker.cpp.

References clang::NamedDecl::getName(), and InNamespace().

Referenced by IsPartOfAST().

## ◆ IsClangStmt()

static bool IsClangStmt | ( | const RecordDecl * | RD | ) |
| static

Definition at line 73 of file LLVMConventionsChecker.cpp.

References clang::NamedDecl::getName(), and InNamespace().

Referenced by IsPartOfAST().

## ◆ IsClangType()

static bool IsClangType | ( | const RecordDecl * | RD | ) |
| static

Definition at line 65 of file LLVMConventionsChecker.cpp.

References clang::NamedDecl::getName(), and InNamespace().

Referenced by IsPartOfAST().

## ◆ IsLLVMStringRef()

static bool IsLLVMStringRef | ( | QualType | T | ) |
| static

Definition at line 29 of file LLVMConventionsChecker.cpp.

References clang::Type::getAs(), and clang::getAsString().

## ◆ IsPartOfAST()

static bool IsPartOfAST | ( | const CXXRecordDecl * | R | ) |
| static

Definition at line 197 of file LLVMConventionsChecker.cpp.

References clang::CXXRecordDecl::bases(), clang::Type::getAs(), IsClangAttr(), IsClangDecl(), IsClangStmt(), and IsClangType().

Referenced by CheckASTMemory().

## ◆ IsSmallVector()

static bool IsSmallVector | ( | QualType | T | ) |
| static

Definition at line 95 of file LLVMConventionsChecker.cpp.

References clang::Type::getAs(), clang::TemplateName::getAsTemplateDecl(), clang::NamedDecl::getName(), clang::TemplateSpecializationType::getTemplateName(), and InNamespace().

Referenced by AllocatesMemory().

## ◆ IsStdString()

static bool IsStdString | ( | QualType | T | ) |
| static

Definition at line 49 of file LLVMConventionsChecker.cpp.

References clang::Type::getAs(), clang::TypedefType::getDecl(), clang::NamedDecl::getName(), and clang::Decl::isInStdNamespace().

Referenced by AllocatesMemory().

## ◆ IsStdVector()

static bool IsStdVector | ( | QualType | T | ) |
| static

Definition at line 81 of file LLVMConventionsChecker.cpp.

References clang::Type::getAs(), clang::TemplateName::getAsTemplateDecl(), clang::NamedDecl::getName(), clang::TemplateSpecializationType::getTemplateName(), and InNamespace().

Referenced by AllocatesMemory().