forked from OSchip/llvm-project
Misc typos fixes in ./lib folder
Summary: Found via `codespell -q 3 -I ../clang-whitelist.txt -L uint,importd,crasher,gonna,cant,ue,ons,orign,ned` Reviewers: teemperor Reviewed By: teemperor Subscribers: teemperor, jholewinski, jvesely, nhaehnle, whisperity, jfb, cfe-commits Differential Revision: https://reviews.llvm.org/D55475 llvm-svn: 348755
This commit is contained in:
parent
4c4d2fe280
commit
b23ccecbb0
|
@ -226,7 +226,7 @@ void FileRemapper::remap(const FileEntry *file, const FileEntry *newfile) {
|
|||
|
||||
const FileEntry *FileRemapper::getOriginalFile(StringRef filePath) {
|
||||
const FileEntry *file = FileMgr->getFile(filePath);
|
||||
// If we are updating a file that overriden an original file,
|
||||
// If we are updating a file that overridden an original file,
|
||||
// actually update the original file.
|
||||
llvm::DenseMap<const FileEntry *, const FileEntry *>::iterator
|
||||
I = ToFromMappings.find(file);
|
||||
|
|
|
@ -8129,7 +8129,7 @@ void getIntersectionOfProtocols(ASTContext &Context,
|
|||
// Also add the protocols associated with the LHS interface.
|
||||
Context.CollectInheritedProtocols(LHS->getInterface(), LHSProtocolSet);
|
||||
|
||||
// Add all of the protocls for the RHS.
|
||||
// Add all of the protocols for the RHS.
|
||||
llvm::SmallPtrSet<ObjCProtocolDecl *, 8> RHSProtocolSet;
|
||||
|
||||
// Start with the protocol qualifiers.
|
||||
|
|
|
@ -911,7 +911,7 @@ static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
|
|||
return true;
|
||||
}
|
||||
|
||||
/// Determine structural equivalence of two methodss.
|
||||
/// Determine structural equivalence of two methods.
|
||||
static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
|
||||
CXXMethodDecl *Method1,
|
||||
CXXMethodDecl *Method2) {
|
||||
|
|
|
@ -507,7 +507,7 @@ namespace {
|
|||
}
|
||||
|
||||
// FIXME: Adding this to every 'CallStackFrame' may have a nontrivial impact
|
||||
// on the overall stack usage of deeply-recursing constexpr evaluataions.
|
||||
// on the overall stack usage of deeply-recursing constexpr evaluations.
|
||||
// (We should cache this map rather than recomputing it repeatedly.)
|
||||
// But let's try this and see how it goes; we can look into caching the map
|
||||
// as a later change.
|
||||
|
@ -10315,7 +10315,7 @@ bool ComplexExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
|
|||
case BO_Mul:
|
||||
if (Result.isComplexFloat()) {
|
||||
// This is an implementation of complex multiplication according to the
|
||||
// constraints laid out in C11 Annex G. The implemention uses the
|
||||
// constraints laid out in C11 Annex G. The implementation uses the
|
||||
// following naming scheme:
|
||||
// (a + ib) * (c + id)
|
||||
ComplexValue LHS = Result;
|
||||
|
@ -10396,7 +10396,7 @@ bool ComplexExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
|
|||
case BO_Div:
|
||||
if (Result.isComplexFloat()) {
|
||||
// This is an implementation of complex division according to the
|
||||
// constraints laid out in C11 Annex G. The implemention uses the
|
||||
// constraints laid out in C11 Annex G. The implementation uses the
|
||||
// following naming scheme:
|
||||
// (a + ib) / (c + id)
|
||||
ComplexValue LHS = Result;
|
||||
|
|
|
@ -49,7 +49,7 @@ void ODRHash::AddDeclarationNameImpl(DeclarationName Name) {
|
|||
auto Result = DeclNameMap.insert(std::make_pair(Name, DeclNameMap.size()));
|
||||
ID.AddInteger(Result.first->second);
|
||||
if (!Result.second) {
|
||||
// If found in map, the the DeclarationName has previously been processed.
|
||||
// If found in map, the DeclarationName has previously been processed.
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -415,7 +415,7 @@ std::string RawComment::getFormattedText(const SourceManager &SourceMgr,
|
|||
Str.pop_back();
|
||||
};
|
||||
|
||||
// Proces first line separately to remember indent for the following lines.
|
||||
// Process first line separately to remember indent for the following lines.
|
||||
if (!LexLine(/*IsFirstLine=*/true)) {
|
||||
DropTrailingNewLines(Result);
|
||||
return Result;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
///
|
||||
/// This file implements classes for searching and anlyzing source code clones.
|
||||
/// This file implements classes for searching and analyzing source code clones.
|
||||
///
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
|
|
|
@ -431,7 +431,7 @@ static void initTargetOptions(llvm::TargetOptions &Options,
|
|||
switch (LangOpts.getDefaultFPContractMode()) {
|
||||
case LangOptions::FPC_Off:
|
||||
// Preserve any contraction performed by the front-end. (Strict performs
|
||||
// splitting of the muladd instrinsic in the backend.)
|
||||
// splitting of the muladd intrinsic in the backend.)
|
||||
Options.AllowFPOpFusion = llvm::FPOpFusion::Standard;
|
||||
break;
|
||||
case LangOptions::FPC_On:
|
||||
|
|
|
@ -175,7 +175,7 @@ static std::string getBlockDescriptorName(const CGBlockInfo &BlockInfo,
|
|||
/// unsigned long reserved;
|
||||
/// unsigned long size; // size of Block_literal metadata in bytes.
|
||||
/// void *copy_func_helper_decl; // optional copy helper.
|
||||
/// void *destroy_func_decl; // optioanl destructor helper.
|
||||
/// void *destroy_func_decl; // optional destructor helper.
|
||||
/// void *block_method_encoding_address; // @encode for block literal signature.
|
||||
/// void *block_layout_info; // encoding of captured block variables.
|
||||
/// };
|
||||
|
|
|
@ -93,7 +93,7 @@ static Value *EmitFromInt(CodeGenFunction &CGF, llvm::Value *V,
|
|||
return V;
|
||||
}
|
||||
|
||||
/// Utility to insert an atomic instruction based on Instrinsic::ID
|
||||
/// Utility to insert an atomic instruction based on Intrinsic::ID
|
||||
/// and the expression node.
|
||||
static Value *MakeBinaryAtomicValue(
|
||||
CodeGenFunction &CGF, llvm::AtomicRMWInst::BinOp Kind, const CallExpr *E,
|
||||
|
@ -151,7 +151,7 @@ static RValue EmitBinaryAtomic(CodeGenFunction &CGF,
|
|||
return RValue::get(MakeBinaryAtomicValue(CGF, Kind, E));
|
||||
}
|
||||
|
||||
/// Utility to insert an atomic instruction based Instrinsic::ID and
|
||||
/// Utility to insert an atomic instruction based Intrinsic::ID and
|
||||
/// the expression node, where the return value is the result of the
|
||||
/// operation.
|
||||
static RValue EmitBinaryAtomicPost(CodeGenFunction &CGF,
|
||||
|
@ -554,7 +554,7 @@ CodeGenFunction::emitBuiltinObjectSize(const Expr *E, unsigned Type,
|
|||
}
|
||||
|
||||
namespace {
|
||||
/// A struct to generically desribe a bit test intrinsic.
|
||||
/// A struct to generically describe a bit test intrinsic.
|
||||
struct BitTest {
|
||||
enum ActionKind : uint8_t { TestOnly, Complement, Reset, Set };
|
||||
enum InterlockingKind : uint8_t {
|
||||
|
@ -9429,7 +9429,7 @@ static Value *EmitX86AddSubSatExpr(CodeGenFunction &CGF, const CallExpr *E,
|
|||
Value *Res;
|
||||
if (IsAddition) {
|
||||
// ADDUS: a > (a+b) ? ~0 : (a+b)
|
||||
// If Ops[0] > Add, overflow occured.
|
||||
// If Ops[0] > Add, overflow occurred.
|
||||
Value *Add = CGF.Builder.CreateAdd(Ops[0], Ops[1]);
|
||||
Value *ICmp = CGF.Builder.CreateICmp(ICmpInst::ICMP_UGT, Ops[0], Add);
|
||||
Value *Max = llvm::Constant::getAllOnesValue(ResultType);
|
||||
|
@ -12186,7 +12186,7 @@ Value *CodeGenFunction::EmitSystemZBuiltinExpr(unsigned BuiltinID,
|
|||
return Builder.CreateCall(F, {X, Y, M4Value});
|
||||
}
|
||||
|
||||
// Vector intrisincs that output the post-instruction CC value.
|
||||
// Vector intrinsics that output the post-instruction CC value.
|
||||
|
||||
#define INTRINSIC_WITH_CC(NAME) \
|
||||
case SystemZ::BI__builtin_##NAME: \
|
||||
|
@ -12646,7 +12646,7 @@ Value *CodeGenFunction::EmitNVPTXBuiltinExpr(unsigned BuiltinID,
|
|||
bool isColMajor = isColMajorArg.getSExtValue();
|
||||
unsigned IID;
|
||||
unsigned NumResults = 8;
|
||||
// PTX Instructions (and LLVM instrinsics) are defined for slice _d_, yet
|
||||
// PTX Instructions (and LLVM intrinsics) are defined for slice _d_, yet
|
||||
// for some reason nvcc builtins use _c_.
|
||||
switch (BuiltinID) {
|
||||
case NVPTX::BI__hmma_m16n16k16_st_c_f16:
|
||||
|
|
|
@ -740,7 +740,7 @@ public:
|
|||
/// function \p InlinedFn. The current debug location becomes the inlined call
|
||||
/// site of the inlined function.
|
||||
ApplyInlineDebugLocation(CodeGenFunction &CGF, GlobalDecl InlinedFn);
|
||||
/// Restore everything back to the orginial state.
|
||||
/// Restore everything back to the original state.
|
||||
~ApplyInlineDebugLocation();
|
||||
};
|
||||
|
||||
|
|
|
@ -624,7 +624,7 @@ static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF,
|
|||
LValue lvalue, QualType type);
|
||||
|
||||
/// Generate an Objective-C method. An Objective-C method is a C function with
|
||||
/// its pointer, name, and types registered in the class struture.
|
||||
/// its pointer, name, and types registered in the class structure.
|
||||
void CodeGenFunction::GenerateObjCMethod(const ObjCMethodDecl *OMD) {
|
||||
StartObjCMethod(OMD, OMD->getClassInterface());
|
||||
PGO.assignRegionCounters(GlobalDecl(OMD), CurFn);
|
||||
|
|
|
@ -1557,7 +1557,7 @@ public:
|
|||
virtual Address getAddressOfLocalVariable(CodeGenFunction &CGF,
|
||||
const VarDecl *VD);
|
||||
|
||||
/// Marks the declaration as alread emitted for the device code and returns
|
||||
/// Marks the declaration as already emitted for the device code and returns
|
||||
/// true, if it was marked already, and false, otherwise.
|
||||
bool markAsGlobalTarget(GlobalDecl GD);
|
||||
|
||||
|
|
|
@ -2524,7 +2524,7 @@ void CGOpenMPRuntimeNVPTX::emitNonSPMDParallelCall(
|
|||
// passed from the outside of the target region.
|
||||
CodeGenFunction::OMPPrivateScope PrivateArgScope(CGF);
|
||||
|
||||
// There's somehting to share.
|
||||
// There's something to share.
|
||||
if (!CapturedVars.empty()) {
|
||||
// Prepare for parallel region. Indicate the outlined function.
|
||||
Address SharedArgs =
|
||||
|
|
|
@ -2955,7 +2955,7 @@ void CodeGenFunction::EmitOMPTaskBasedDirective(
|
|||
RedCG.emitAggregateType(CGF, Cnt);
|
||||
// FIXME: This must removed once the runtime library is fixed.
|
||||
// Emit required threadprivate variables for
|
||||
// initilizer/combiner/finalizer.
|
||||
// initializer/combiner/finalizer.
|
||||
CGF.CGM.getOpenMPRuntime().emitTaskReductionFixups(CGF, S.getBeginLoc(),
|
||||
RedCG, Cnt);
|
||||
Address Replacement = CGF.CGM.getOpenMPRuntime().getTaskReductionItem(
|
||||
|
@ -3001,10 +3001,10 @@ void CodeGenFunction::EmitOMPTaskBasedDirective(
|
|||
RedCG.emitSharedLValue(CGF, Cnt);
|
||||
RedCG.emitAggregateType(CGF, Cnt);
|
||||
// The taskgroup descriptor variable is always implicit firstprivate and
|
||||
// privatized already during procoessing of the firstprivates.
|
||||
// privatized already during processing of the firstprivates.
|
||||
// FIXME: This must removed once the runtime library is fixed.
|
||||
// Emit required threadprivate variables for
|
||||
// initilizer/combiner/finalizer.
|
||||
// initializer/combiner/finalizer.
|
||||
CGF.CGM.getOpenMPRuntime().emitTaskReductionFixups(CGF, S.getBeginLoc(),
|
||||
RedCG, Cnt);
|
||||
llvm::Value *ReductionsPtr =
|
||||
|
|
|
@ -4354,7 +4354,7 @@ const char *Driver::GetNamedOutputPath(Compilation &C, const JobAction &JA,
|
|||
}
|
||||
|
||||
std::string Driver::GetFilePath(StringRef Name, const ToolChain &TC) const {
|
||||
// Seach for Name in a list of paths.
|
||||
// Search for Name in a list of paths.
|
||||
auto SearchPaths = [&](const llvm::SmallVectorImpl<std::string> &P)
|
||||
-> llvm::Optional<std::string> {
|
||||
// Respect a limited subset of the '-Bprefix' functionality in GCC by
|
||||
|
|
|
@ -604,7 +604,7 @@ std::string ToolChain::ComputeLLVMTriple(const ArgList &Args,
|
|||
|
||||
// Check to see if an explicit choice to use thumb has been made via
|
||||
// -mthumb. For assembler files we must check for -mthumb in the options
|
||||
// passed to the assember via -Wa or -Xassembler.
|
||||
// passed to the assembler via -Wa or -Xassembler.
|
||||
bool IsThumb = false;
|
||||
if (InputType != types::TY_PP_Asm)
|
||||
IsThumb = Args.hasFlag(options::OPT_mthumb, options::OPT_mno_thumb,
|
||||
|
|
|
@ -104,7 +104,7 @@ void AMDGPUToolChain::addClangTargetOptions(
|
|||
llvm::opt::ArgStringList &CC1Args,
|
||||
Action::OffloadKind DeviceOffloadingKind) const {
|
||||
// Default to "hidden" visibility, as object level linking will not be
|
||||
// supported for the forseeable future.
|
||||
// supported for the foreseeable future.
|
||||
if (!DriverArgs.hasArg(options::OPT_fvisibility_EQ,
|
||||
options::OPT_fvisibility_ms_compat)) {
|
||||
CC1Args.push_back("-fvisibility");
|
||||
|
|
|
@ -98,7 +98,7 @@ void darwin::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
SourceAction = SourceAction->getInputs()[0];
|
||||
}
|
||||
|
||||
// If -fno-integrated-as is used add -Q to the darwin assember driver to make
|
||||
// If -fno-integrated-as is used add -Q to the darwin assembler driver to make
|
||||
// sure it runs its system assembler not clang's integrated assembler.
|
||||
// Applicable to darwin11+ and Xcode 4+. darwin<10 lacked integrated-as.
|
||||
// FIXME: at run-time detect assembler capabilities or rely on version
|
||||
|
|
|
@ -76,7 +76,7 @@ static void handleHVXTargetFeatures(const Driver &D, const ArgList &Args,
|
|||
|
||||
// Handle -mhvx-length=.
|
||||
if (Arg *A = Args.getLastArg(options::OPT_mhexagon_hvx_length_EQ)) {
|
||||
// These falgs are valid only if HVX in enabled.
|
||||
// These flags are valid only if HVX in enabled.
|
||||
if (!HasHVX)
|
||||
D.Diag(diag::err_drv_invalid_hvx_length);
|
||||
else if (A->getOption().matches(options::OPT_mhexagon_hvx_length_EQ))
|
||||
|
|
|
@ -991,7 +991,7 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
|
|||
for (const auto &arg : ASL) {
|
||||
StringRef ArgStr(arg);
|
||||
Opts.CmdArgs.insert(Opts.CmdArgs.end(), ArgStr.begin(), ArgStr.end());
|
||||
// using \00 to seperate each commandline options.
|
||||
// using \00 to separate each commandline options.
|
||||
Opts.CmdArgs.push_back('\0');
|
||||
}
|
||||
}
|
||||
|
@ -2520,7 +2520,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
|
|||
VT.getSubminor().getValueOr(0);
|
||||
}
|
||||
|
||||
// Mimicing gcc's behavior, trigraphs are only enabled if -trigraphs
|
||||
// Mimicking gcc's behavior, trigraphs are only enabled if -trigraphs
|
||||
// is specified, or -std is set to a conforming mode.
|
||||
// Trigraphs are disabled by default in c++1z onwards.
|
||||
Opts.Trigraphs = !Opts.GNUMode && !Opts.MSVCCompat && !Opts.CPlusPlus17;
|
||||
|
@ -3259,7 +3259,7 @@ bool CompilerInvocation::CreateFromArgs(CompilerInvocation &Res,
|
|||
parseSanitizerKinds("-fsanitize=", Args.getAllArgValues(OPT_fsanitize_EQ),
|
||||
Diags, LangOpts.Sanitize);
|
||||
} else {
|
||||
// Other LangOpts are only initialzed when the input is not AST or LLVM IR.
|
||||
// Other LangOpts are only initialized when the input is not AST or LLVM IR.
|
||||
// FIXME: Should we really be calling this for an InputKind::Asm input?
|
||||
ParseLangArgs(LangOpts, Args, DashX, Res.getTargetOpts(),
|
||||
Res.getPreprocessorOpts(), Diags);
|
||||
|
|
|
@ -1015,7 +1015,7 @@ StringRef Lexer::getImmediateMacroName(SourceLocation Loc,
|
|||
StringRef Lexer::getImmediateMacroNameForDiagnostics(
|
||||
SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts) {
|
||||
assert(Loc.isMacroID() && "Only reasonable to call this on macros");
|
||||
// Walk past macro argument expanions.
|
||||
// Walk past macro argument expansions.
|
||||
while (SM.isMacroArgExpansion(Loc))
|
||||
Loc = SM.getImmediateExpansionRange(Loc).getBegin();
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ static bool isReservedId(StringRef Text, const LangOptions &Lang) {
|
|||
// the specified module, meaning clang won't build the specified module. This is
|
||||
// useful in a number of situations, for instance, when building a library that
|
||||
// vends a module map, one might want to avoid hitting intermediate build
|
||||
// products containig the the module map or avoid finding the system installed
|
||||
// products containimg the the module map or avoid finding the system installed
|
||||
// modulemap for that library.
|
||||
static bool isForModuleBuilding(Module *M, StringRef CurrentModule,
|
||||
StringRef ModuleName) {
|
||||
|
@ -399,7 +399,7 @@ void Preprocessor::SkipExcludedConditionalBlock(SourceLocation HashTokenLoc,
|
|||
// If this is the end of the buffer, we have an error.
|
||||
if (Tok.is(tok::eof)) {
|
||||
// We don't emit errors for unterminated conditionals here,
|
||||
// Lexer::LexEndOfFile can do that propertly.
|
||||
// Lexer::LexEndOfFile can do that properly.
|
||||
// Just return and let the caller lex after this #include.
|
||||
if (PreambleConditionalStack.isRecording())
|
||||
PreambleConditionalStack.SkipInfo.emplace(
|
||||
|
|
|
@ -931,7 +931,7 @@ void Preprocessor::LexAfterModuleImport(Token &Result) {
|
|||
// If we have a non-empty module path, load the named module.
|
||||
if (!ModuleImportPath.empty()) {
|
||||
// Under the Modules TS, the dot is just part of the module name, and not
|
||||
// a real hierarachy separator. Flatten such module names now.
|
||||
// a real hierarchy separator. Flatten such module names now.
|
||||
//
|
||||
// FIXME: Is this the right level to be performing this transformation?
|
||||
std::string FlatModuleName;
|
||||
|
|
|
@ -1522,7 +1522,7 @@ Parser::TryAnnotateName(bool IsAddressOfOperand,
|
|||
|
||||
// Look up and classify the identifier. We don't perform any typo-correction
|
||||
// after a scope specifier, because in general we can't recover from typos
|
||||
// there (eg, after correcting 'A::tempalte B<X>::C' [sic], we would need to
|
||||
// there (eg, after correcting 'A::template B<X>::C' [sic], we would need to
|
||||
// jump back into scope specifier parsing).
|
||||
Sema::NameClassification Classification = Actions.ClassifyName(
|
||||
getCurScope(), SS, Name, NameLoc, Next, IsAddressOfOperand,
|
||||
|
|
|
@ -59,7 +59,7 @@ using namespace clang;
|
|||
///
|
||||
/// RopePieceBTreeLeaf - Directly manages up to '2*WidthFactor' RopePiece
|
||||
/// nodes. This directly represents a chunk of the string with those
|
||||
/// RopePieces contatenated.
|
||||
/// RopePieces concatenated.
|
||||
/// RopePieceBTreeInterior - An interior node in the B+ Tree, which manages
|
||||
/// up to '2*WidthFactor' other nodes in the tree.
|
||||
|
||||
|
@ -128,7 +128,7 @@ namespace {
|
|||
|
||||
/// RopePieceBTreeLeaf - Directly manages up to '2*WidthFactor' RopePiece
|
||||
/// nodes. This directly represents a chunk of the string with those
|
||||
/// RopePieces contatenated. Since this is a B+Tree, all values (in this case
|
||||
/// RopePieces concatenated. Since this is a B+Tree, all values (in this case
|
||||
/// instances of RopePiece) are stored in leaves like this. To make iteration
|
||||
/// over the leaves efficient, they maintain a singly linked list through the
|
||||
/// NextLeaf field. This allows the B+Tree forward iterator to be constant
|
||||
|
|
|
@ -167,7 +167,7 @@ Sema::Sema(Preprocessor &pp, ASTContext &ctxt, ASTConsumer &consumer,
|
|||
|
||||
PreallocatedFunctionScope.reset(new FunctionScopeInfo(Diags));
|
||||
|
||||
// Initilization of data sharing attributes stack for OpenMP
|
||||
// Initialization of data sharing attributes stack for OpenMP
|
||||
InitDataSharingAttributesStack();
|
||||
|
||||
std::unique_ptr<sema::SemaPPCallbacks> Callbacks =
|
||||
|
|
|
@ -2862,7 +2862,7 @@ bool Sema::CheckMipsBuiltinFunctionCall(unsigned BuiltinID, CallExpr *TheCall) {
|
|||
case Mips::BI__builtin_mips_precr_sra_ph_w: i = 2; l = 0; u = 31; break;
|
||||
case Mips::BI__builtin_mips_precr_sra_r_ph_w: i = 2; l = 0; u = 31; break;
|
||||
case Mips::BI__builtin_mips_prepend: i = 2; l = 0; u = 31; break;
|
||||
// MSA instrinsics. Instructions (which the intrinsics maps to) which use the
|
||||
// MSA intrinsics. Instructions (which the intrinsics maps to) which use the
|
||||
// df/m field.
|
||||
// These intrinsics take an unsigned 3 bit immediate.
|
||||
case Mips::BI__builtin_msa_bclri_b:
|
||||
|
|
|
@ -8101,7 +8101,7 @@ static OpenCLParamType getOpenCLKernelParameterType(Sema &S, QualType PT) {
|
|||
const Type *UnderlyingTy = PT->getPointeeOrArrayElementType();
|
||||
// Call ourself to check an underlying type of an array. Since the
|
||||
// getPointeeOrArrayElementType returns an innermost type which is not an
|
||||
// array, this recusive call only happens once.
|
||||
// array, this recursive call only happens once.
|
||||
return getOpenCLKernelParameterType(S, QualType(UnderlyingTy, 0));
|
||||
}
|
||||
|
||||
|
@ -10520,7 +10520,7 @@ namespace {
|
|||
Expr *Base = E;
|
||||
bool ReferenceField = false;
|
||||
|
||||
// Get the field memebers used.
|
||||
// Get the field members used.
|
||||
while (MemberExpr *ME = dyn_cast<MemberExpr>(Base)) {
|
||||
FieldDecl *FD = dyn_cast<FieldDecl>(ME->getMemberDecl());
|
||||
if (!FD)
|
||||
|
@ -16712,7 +16712,7 @@ void Sema::ActOnEnumBody(SourceLocation EnumLoc, SourceRange BraceRange,
|
|||
NumNegativeBits = std::max(NumNegativeBits,
|
||||
(unsigned)InitVal.getMinSignedBits());
|
||||
|
||||
// Keep track of whether every enum element has type int (very commmon).
|
||||
// Keep track of whether every enum element has type int (very common).
|
||||
if (AllElementsInt)
|
||||
AllElementsInt = ECD->getType() == Context.IntTy;
|
||||
}
|
||||
|
|
|
@ -3233,7 +3233,7 @@ namespace {
|
|||
ME = dyn_cast<MemberExpr>(ME->getBase()->IgnoreParenImpCasts());
|
||||
}
|
||||
|
||||
// Binding a reference to an unintialized field is not an
|
||||
// Binding a reference to an uninitialized field is not an
|
||||
// uninitialized use.
|
||||
if (CheckReferenceOnly && !ReferenceField)
|
||||
return true;
|
||||
|
@ -7683,7 +7683,7 @@ struct FindHiddenVirtualMethod {
|
|||
SmallVector<CXXMethodDecl *, 8> OverloadedMethods;
|
||||
|
||||
private:
|
||||
/// Check whether any most overriden method from MD in Methods
|
||||
/// Check whether any most overridden method from MD in Methods
|
||||
static bool CheckMostOverridenMethods(
|
||||
const CXXMethodDecl *MD,
|
||||
const llvm::SmallPtrSetImpl<const CXXMethodDecl *> &Methods) {
|
||||
|
@ -7767,7 +7767,7 @@ void Sema::FindHiddenVirtualMethods(CXXMethodDecl *MD,
|
|||
FHVM.Method = MD;
|
||||
FHVM.S = this;
|
||||
|
||||
// Keep the base methods that were overriden or introduced in the subclass
|
||||
// Keep the base methods that were overridden or introduced in the subclass
|
||||
// by 'using' in a set. A base method not in this set is hidden.
|
||||
CXXRecordDecl *DC = MD->getParent();
|
||||
DeclContext::lookup_result R = DC->lookup(MD->getDeclName());
|
||||
|
|
|
@ -2884,7 +2884,7 @@ void Sema::MatchAllMethodDeclarations(const SelectorSet &InsMap,
|
|||
IMPDecl, PI, IncompleteImpl, false,
|
||||
WarnCategoryMethodImpl);
|
||||
|
||||
// FIXME. For now, we are not checking for extact match of methods
|
||||
// FIXME. For now, we are not checking for exact match of methods
|
||||
// in category implementation and its primary class's super class.
|
||||
if (!WarnCategoryMethodImpl && I->getSuperClass())
|
||||
MatchAllMethodDeclarations(InsMap, ClsMap, InsMapSeen, ClsMapSeen,
|
||||
|
|
|
@ -8001,7 +8001,7 @@ ExprResult InitializationSequence::Perform(Sema &S,
|
|||
}
|
||||
|
||||
case SK_OCLSamplerInit: {
|
||||
// Sampler initialzation have 5 cases:
|
||||
// Sampler initialization have 5 cases:
|
||||
// 1. function argument passing
|
||||
// 1a. argument is a file-scope variable
|
||||
// 1b. argument is a function-scope variable
|
||||
|
|
|
@ -4062,7 +4062,7 @@ void TypoCorrectionConsumer::addNamespaces(
|
|||
}
|
||||
// Do not transform this into an iterator-based loop. The loop body can
|
||||
// trigger the creation of further types (through lazy deserialization) and
|
||||
// invalide iterators into this list.
|
||||
// invalid iterators into this list.
|
||||
auto &Types = SemaRef.getASTContext().getTypes();
|
||||
for (unsigned I = 0; I != Types.size(); ++I) {
|
||||
const auto *TI = Types[I];
|
||||
|
@ -4203,7 +4203,7 @@ void TypoCorrectionConsumer::performQualifiedLookups() {
|
|||
SS->getScopeRep()->print(OldOStream, SemaRef.getPrintingPolicy());
|
||||
OldOStream << Typo->getName();
|
||||
// If correction candidate would be an identical written qualified
|
||||
// identifer, then the existing CXXScopeSpec probably included a
|
||||
// identifier, then the existing CXXScopeSpec probably included a
|
||||
// typedef that didn't get accounted for properly.
|
||||
if (OldOStream.str() == NewQualified)
|
||||
break;
|
||||
|
|
|
@ -800,7 +800,7 @@ void VariadicMethodTypeChecker::checkPreObjCMessage(const ObjCMethodCall &msg,
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// The map from container symbol to the container count symbol.
|
||||
// We currently will remember the last countainer count symbol encountered.
|
||||
// We currently will remember the last container count symbol encountered.
|
||||
REGISTER_MAP_WITH_PROGRAMSTATE(ContainerCountMap, SymbolRef, SymbolRef)
|
||||
REGISTER_MAP_WITH_PROGRAMSTATE(ContainerNonEmptyMap, SymbolRef, bool)
|
||||
|
||||
|
|
|
@ -188,7 +188,7 @@ void WalkAST::VisitForStmt(ForStmt *FS) {
|
|||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Check: floating poing variable used as loop counter.
|
||||
// Check: floating point variable used as loop counter.
|
||||
// Originally: <rdar://problem/6336718>
|
||||
// Implements: CERT security coding advisory FLP-30.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -169,7 +169,7 @@ public:
|
|||
/// This callback should be used by the checkers to aggressively clean
|
||||
/// up/reduce the checker state, which is important for reducing the overall
|
||||
/// memory usage. Specifically, if a checker keeps symbol specific information
|
||||
/// in the sate, it can and should be dropped after the symbol becomes dead.
|
||||
/// in the state, it can and should be dropped after the symbol becomes dead.
|
||||
/// In addition, reporting a bug as soon as the checker becomes dead leads to
|
||||
/// more precise diagnostics. (For example, one should report that a malloced
|
||||
/// variable is not freed right after it goes out of scope.)
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
void reportClones(BugReporter &BR, AnalysisManager &Mgr,
|
||||
std::vector<CloneDetector::CloneGroup> &CloneGroups) const;
|
||||
|
||||
/// Reports only suspicious clones to the user along with informaton
|
||||
/// Reports only suspicious clones to the user along with information
|
||||
/// that explain why they are suspicious.
|
||||
void reportSuspiciousClones(
|
||||
BugReporter &BR, AnalysisManager &Mgr,
|
||||
|
|
|
@ -551,7 +551,7 @@ void IteratorChecker::checkPreCall(const CallEvent &Call,
|
|||
//
|
||||
// In this case the first two arguments to f() must be iterators must belong
|
||||
// to the same container and the last to also to the same container but
|
||||
// not neccessarily to the same as the first two.
|
||||
// not necessarily to the same as the first two.
|
||||
|
||||
if (!ChecksEnabled[CK_MismatchedIteratorChecker])
|
||||
return;
|
||||
|
@ -1213,7 +1213,7 @@ void IteratorChecker::handleAssign(CheckerContext &C, const SVal &Cont,
|
|||
const auto OldCData = getContainerData(State, OldContReg);
|
||||
if (OldCData) {
|
||||
if (const auto OldEndSym = OldCData->getEnd()) {
|
||||
// If we already assigned an "end" symbol to the old conainer, then
|
||||
// If we already assigned an "end" symbol to the old container, then
|
||||
// first reassign all iterator positions to the new container which
|
||||
// are not past the container (thus not greater or equal to the
|
||||
// current "end" symbol).
|
||||
|
|
|
@ -1083,7 +1083,7 @@ void MallocChecker::processNewAllocation(const CXXNewExpr *NE,
|
|||
ProgramStateRef State = C.getState();
|
||||
// The return value from operator new is bound to a specified initialization
|
||||
// value (if any) and we don't want to loose this value. So we call
|
||||
// MallocUpdateRefState() instead of MallocMemAux() which breakes the
|
||||
// MallocUpdateRefState() instead of MallocMemAux() which breaks the
|
||||
// existing binding.
|
||||
State = MallocUpdateRefState(C, NE, State, NE->isArray() ? AF_CXXNewArray
|
||||
: AF_CXXNew, Target);
|
||||
|
|
|
@ -185,7 +185,7 @@ private:
|
|||
const SymbolicRegion *getTrackRegion(SVal Val,
|
||||
bool CheckSuperRegion = false) const;
|
||||
|
||||
/// Returns true if the call is diagnosable in the currrent analyzer
|
||||
/// Returns true if the call is diagnosable in the current analyzer
|
||||
/// configuration.
|
||||
bool isDiagnosableCall(const CallEvent &Call) const {
|
||||
if (NoDiagnoseCallsToSystemHeaders && Call.isInSystemHeader())
|
||||
|
|
|
@ -112,7 +112,7 @@ PointerArithChecker::getPointedRegion(const MemRegion *Region,
|
|||
}
|
||||
|
||||
/// Checks whether a region is the part of an array.
|
||||
/// In case there is a dericed to base cast above the array element, the
|
||||
/// In case there is a derived to base cast above the array element, the
|
||||
/// Polymorphic output value is set to true. AKind output value is set to the
|
||||
/// allocation kind of the inspected region.
|
||||
const MemRegion *PointerArithChecker::getArrayRegion(const MemRegion *Region,
|
||||
|
|
|
@ -418,7 +418,7 @@ static AllocationInfo GetAllocationSite(ProgramStateManager &StateMgr,
|
|||
// AllocationNodeInCurrentContext, is the last node in the current or
|
||||
// parent context in which the symbol was tracked.
|
||||
//
|
||||
// Note that the allocation site might be in the parent conext. For example,
|
||||
// Note that the allocation site might be in the parent context. For example,
|
||||
// the case where an allocation happens in a block that captures a reference
|
||||
// to it and that reference is overwritten/dropped by another call to
|
||||
// the block.
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
// `-analyzer-config alpha.cplusplus.UninitializedObject:Pedantic=true`.
|
||||
//
|
||||
// - "NotesAsWarnings" (boolean). If set to true, the checker will emit a
|
||||
// warning for each uninitalized field, as opposed to emitting one warning
|
||||
// warning for each uninitialized field, as opposed to emitting one warning
|
||||
// per constructor call, and listing the uninitialized fields that belongs
|
||||
// to it in notes. Defaults to false.
|
||||
//
|
||||
|
@ -234,7 +234,7 @@ private:
|
|||
// * every node is an object that is
|
||||
// - a union
|
||||
// - a non-union record
|
||||
// - dereferencable (see isDereferencableType())
|
||||
// - dereferenceable (see isDereferencableType())
|
||||
// - an array
|
||||
// - of a primitive type (see isPrimitiveType())
|
||||
// * the parent of each node is the object that contains it
|
||||
|
@ -275,7 +275,7 @@ private:
|
|||
// this->iptr (pointee uninit)
|
||||
// this->bptr (pointer uninit)
|
||||
//
|
||||
// We'll traverse each node of the above graph with the appropiate one of
|
||||
// We'll traverse each node of the above graph with the appropriate one of
|
||||
// these methods:
|
||||
|
||||
/// Checks the region of a union object, and returns true if no field is
|
||||
|
|
|
@ -233,7 +233,7 @@ bool FindUninitializedFields::addFieldToUninits(FieldChainInfo Chain,
|
|||
|
||||
assert((PointeeR || !isDereferencableType(FR->getDecl()->getType())) &&
|
||||
"One must also pass the pointee region as a parameter for "
|
||||
"dereferencable fields!");
|
||||
"dereferenceable fields!");
|
||||
|
||||
if (State->contains<AnalyzedRegions>(FR))
|
||||
return false;
|
||||
|
|
|
@ -144,7 +144,7 @@ bool FindUninitializedFields::isDereferencableUninit(
|
|||
|
||||
assert((isDereferencableType(FR->getDecl()->getType()) ||
|
||||
V.getAs<nonloc::LocAsInteger>()) &&
|
||||
"This method only checks dereferencable objects!");
|
||||
"This method only checks dereferenceable objects!");
|
||||
|
||||
if (V.isUnknown() || V.getAs<loc::ConcreteInt>()) {
|
||||
IsAnyFieldInitialized = true;
|
||||
|
|
|
@ -232,7 +232,7 @@ bool UnreachableCodeChecker::isInvalidPath(const CFGBlock *CB,
|
|||
if (!pred)
|
||||
return false;
|
||||
|
||||
// Get the predecessor block's terminator conditon
|
||||
// Get the predecessor block's terminator condition
|
||||
const Stmt *cond = pred->getTerminatorCondition();
|
||||
|
||||
//assert(cond && "CFGBlock's predecessor has a terminator condition");
|
||||
|
|
|
@ -820,7 +820,7 @@ void generateMinimalDiagForBlockEdge(const ExplodedNode *N, BlockEdge BE,
|
|||
// and values by tracing interesting calculations backwards through evaluated
|
||||
// expressions along a path. This is probably overly complicated, but the idea
|
||||
// is that if an expression computed an "interesting" value, the child
|
||||
// expressions are are also likely to be "interesting" as well (which then
|
||||
// expressions are also likely to be "interesting" as well (which then
|
||||
// propagates to the values they in turn compute). This reverse propagation
|
||||
// is needed to track interesting correlations across function call boundaries,
|
||||
// where formal arguments bind to actual arguments, etc. This is also needed
|
||||
|
|
|
@ -203,7 +203,7 @@ ExprEngine::ExprEngine(cross_tu::CrossTranslationUnitContext &CTU,
|
|||
VisitedCallees(VisitedCalleesIn), HowToInline(HowToInlineIn) {
|
||||
unsigned TrimInterval = mgr.options.GraphTrimInterval;
|
||||
if (TrimInterval != 0) {
|
||||
// Enable eager node reclaimation when constructing the ExplodedGraph.
|
||||
// Enable eager node reclamation when constructing the ExplodedGraph.
|
||||
G.enableNodeReclamation(TrimInterval);
|
||||
}
|
||||
}
|
||||
|
@ -1033,7 +1033,7 @@ void ExprEngine::ProcessTemporaryDtor(const CFGTemporaryDtor D,
|
|||
MR = V->getAsRegion();
|
||||
}
|
||||
|
||||
// If copy elision has occured, and the constructor corresponding to the
|
||||
// If copy elision has occurred, and the constructor corresponding to the
|
||||
// destructor was elided, we need to skip the destructor as well.
|
||||
if (isDestructorElided(State, BTE, LC)) {
|
||||
State = cleanupElidedDestructor(State, BTE, LC);
|
||||
|
|
|
@ -861,7 +861,7 @@ static std::string getMacroNameAndPrintExpansion(TokenPrinter &Printer,
|
|||
assert(II &&
|
||||
"This token is an identifier but has no IdentifierInfo!");
|
||||
|
||||
// If this token is a macro that should be expanded inside the currect
|
||||
// If this token is a macro that should be expanded inside the current
|
||||
// macro.
|
||||
if (const MacroInfo *MI =
|
||||
getMacroInfoForLocation(PP, SM, II, T.getLocation())) {
|
||||
|
@ -869,7 +869,7 @@ static std::string getMacroNameAndPrintExpansion(TokenPrinter &Printer,
|
|||
|
||||
// If this is a function-like macro, skip its arguments, as
|
||||
// getExpandedMacro() already printed them. If this is the case, let's
|
||||
// first jumo to the '(' token.
|
||||
// first jump to the '(' token.
|
||||
if (MI->getNumParams() != 0)
|
||||
It = getMatchingRParen(++It, E);
|
||||
continue;
|
||||
|
@ -960,7 +960,7 @@ static MacroNameAndArgs getMacroNameAndArgs(SourceLocation ExpanLoc,
|
|||
// CALL_FN(someFunctionName(param1, param2))
|
||||
// we will find tok::l_paren, tok::r_paren, and tok::comma that do not divide
|
||||
// actual macro arguments, or do not represent the macro argument's closing
|
||||
// parantheses, so we'll count how many parantheses aren't closed yet.
|
||||
// parentheses, so we'll count how many parentheses aren't closed yet.
|
||||
// If ParanthesesDepth
|
||||
// * = 0, then there are no more arguments to lex.
|
||||
// * = 1, then if we find a tok::comma, we can start lexing the next arg.
|
||||
|
|
|
@ -88,7 +88,7 @@ const MemRegion *StoreManager::castRegion(const MemRegion *R, QualType CastToTy)
|
|||
return R;
|
||||
|
||||
// We don't know what to make of it. Return a NULL region, which
|
||||
// will be interpretted as UnknownVal.
|
||||
// will be interpreted as UnknownVal.
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
|
|
@ -152,7 +152,7 @@ public:
|
|||
auto BE = N->getLocation().getAs<BlockEntrance>();
|
||||
|
||||
if (!BE) {
|
||||
// Assume the choice of the order of the preceeding block entrance was
|
||||
// Assume the choice of the order of the preceding block entrance was
|
||||
// correct.
|
||||
StackUnexplored.push_back(U);
|
||||
} else {
|
||||
|
|
|
@ -69,23 +69,23 @@ triggered the problem.
|
|||
|
||||
= Notes about C++ =
|
||||
|
||||
Since now constructors are seen before the variable that is constructed
|
||||
in the CFG, we create a temporary object as the destination region that
|
||||
Since now constructors are seen before the variable that is constructed
|
||||
in the CFG, we create a temporary object as the destination region that
|
||||
is constructed into. See ExprEngine::VisitCXXConstructExpr().
|
||||
|
||||
In ExprEngine::processCallExit(), we always bind the object region to the
|
||||
evaluated CXXConstructExpr. Then in VisitDeclStmt(), we compute the
|
||||
corresponding lazy compound value if the variable is not a reference, and
|
||||
bind the variable region to the lazy compound value. If the variable
|
||||
is a reference, just use the object region as the initilizer value.
|
||||
is a reference, just use the object region as the initializer value.
|
||||
|
||||
Before entering a C++ method (or ctor/dtor), the 'this' region is bound
|
||||
to the object region. In ctors, we synthesize 'this' region with
|
||||
to the object region. In ctors, we synthesize 'this' region with
|
||||
CXXRecordDecl*, which means we do not use type qualifiers. In methods, we
|
||||
synthesize 'this' region with CXXMethodDecl*, which has getThisType()
|
||||
synthesize 'this' region with CXXMethodDecl*, which has getThisType()
|
||||
taking type qualifiers into account. It does not matter we use qualified
|
||||
'this' region in one method and unqualified 'this' region in another
|
||||
method, because we only need to ensure the 'this' region is consistent
|
||||
method, because we only need to ensure the 'this' region is consistent
|
||||
when we synthesize it and create it directly from CXXThisExpr in a single
|
||||
method call.
|
||||
|
||||
|
|
Loading…
Reference in New Issue