Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164769 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp
index 4a3b3e9..7a0abd7 100644
--- a/lib/CodeGen/CGBuiltin.cpp
+++ b/lib/CodeGen/CGBuiltin.cpp
@@ -597,7 +597,7 @@
}
case Builtin::BI__builtin___memcpy_chk: {
- // fold __builtin_memcpy_chk(x, y, cst1, cst2) to memcpy if cst1<=cst2.
+ // fold __builtin_memcpy_chk(x, y, cst1, cst2) to memcpy iff cst1<=cst2.
llvm::APSInt Size, DstSize;
if (!E->getArg(2)->EvaluateAsInt(Size, CGM.getContext()) ||
!E->getArg(3)->EvaluateAsInt(DstSize, CGM.getContext()))
@@ -624,7 +624,7 @@
}
case Builtin::BI__builtin___memmove_chk: {
- // fold __builtin_memmove_chk(x, y, cst1, cst2) to memmove if cst1<=cst2.
+ // fold __builtin_memmove_chk(x, y, cst1, cst2) to memmove iff cst1<=cst2.
llvm::APSInt Size, DstSize;
if (!E->getArg(2)->EvaluateAsInt(Size, CGM.getContext()) ||
!E->getArg(3)->EvaluateAsInt(DstSize, CGM.getContext()))
@@ -663,7 +663,7 @@
return RValue::get(Dest.first);
}
case Builtin::BI__builtin___memset_chk: {
- // fold __builtin_memset_chk(x, y, cst1, cst2) to memset if cst1<=cst2.
+ // fold __builtin_memset_chk(x, y, cst1, cst2) to memset iff cst1<=cst2.
llvm::APSInt Size, DstSize;
if (!E->getArg(2)->EvaluateAsInt(Size, CGM.getContext()) ||
!E->getArg(3)->EvaluateAsInt(DstSize, CGM.getContext()))
diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp
index 88a252a..b9489e3 100644
--- a/lib/CodeGen/CGDecl.cpp
+++ b/lib/CodeGen/CGDecl.cpp
@@ -1179,7 +1179,7 @@
// If we haven't chosen a more specific destroyer, use the default.
if (!destroyer) destroyer = getDestroyer(dtorKind);
- // Use an EH cleanup in array destructors if the destructor itself
+ // Use an EH cleanup in array destructors iff the destructor itself
// is being pushed as an EH cleanup.
bool useEHCleanup = (cleanupKind & EHCleanup);
EHStack.pushCleanup<DestroyObject>(cleanupKind, addr, type, destroyer,
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index e9aa3b7..08e706c 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -1028,8 +1028,8 @@
/// EmitMethodDescList - Emit a method description list for a list of
/// method declarations.
/// - TypeName: The name for the type containing the methods.
- /// - IsProtocol: True if these methods are for a protocol.
- /// - ClassMethds: True if these are class methods.
+ /// - IsProtocol: True iff these methods are for a protocol.
+ /// - ClassMethds: True iff these are class methods.
/// - Required: When true, only "required" methods are
/// listed. Similarly, when false only "optional" methods are
/// listed. For classes this should always be true.
diff --git a/lib/CodeGen/CGRTTI.cpp b/lib/CodeGen/CGRTTI.cpp
index ee1a770..e46423b 100644
--- a/lib/CodeGen/CGRTTI.cpp
+++ b/lib/CodeGen/CGRTTI.cpp
@@ -347,7 +347,7 @@
// CanUseSingleInheritance - Return whether the given record decl has a "single,
// public, non-virtual base at offset zero (i.e. the derived class is dynamic
-// if the base is)", according to Itanium C++ ABI, 2.95p6b.
+// iff the base is)", according to Itanium C++ ABI, 2.95p6b.
static bool CanUseSingleInheritance(const CXXRecordDecl *RD) {
// Check the number of bases.
if (RD->getNumBases() != 1)
@@ -364,7 +364,7 @@
if (Base->getAccessSpecifier() != AS_public)
return false;
- // Check that the class is dynamic if the base is.
+ // Check that the class is dynamic iff the base is.
const CXXRecordDecl *BaseDecl =
cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl());
if (!BaseDecl->isEmpty() &&
diff --git a/lib/CodeGen/CGVTables.h b/lib/CodeGen/CGVTables.h
index f5b59c8..828330e 100644
--- a/lib/CodeGen/CGVTables.h
+++ b/lib/CodeGen/CGVTables.h
@@ -58,7 +58,7 @@
/// MaybeEmitThunkAvailableExternally - Try to emit the given thunk with
/// available_externally linkage to allow for inlining of thunks.
- /// This will be done if optimizations are enabled and the member function
+ /// This will be done iff optimizations are enabled and the member function
/// doesn't contain any incomplete types.
void MaybeEmitThunkAvailableExternally(GlobalDecl GD, const ThunkInfo &Thunk);
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index a31a64e..fc930ec 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -583,7 +583,7 @@
JumpDest ReturnBlock;
/// ReturnValue - The temporary alloca to hold the return value. This is null
- /// if the function has no return value.
+ /// iff the function has no return value.
llvm::Value *ReturnValue;
/// AllocaInsertPoint - This is an instruction in the entry block before which
@@ -1655,7 +1655,7 @@
/// EmitAggregateCopy - Emit an aggrate copy.
///
- /// \param isVolatile - True if either the source or the destination is
+ /// \param isVolatile - True iff either the source or the destination is
/// volatile.
void EmitAggregateCopy(llvm::Value *DestPtr, llvm::Value *SrcPtr,
QualType EltTy, bool isVolatile=false,
diff --git a/lib/CodeGen/CodeGenModule.h b/lib/CodeGen/CodeGenModule.h
index 0e15e7b..6e81693 100644
--- a/lib/CodeGen/CodeGenModule.h
+++ b/lib/CodeGen/CodeGenModule.h
@@ -372,7 +372,7 @@
return *ObjCRuntime;
}
- /// hasObjCRuntime() - Return true if an Objective-C runtime has
+ /// hasObjCRuntime() - Return true iff an Objective-C runtime has
/// been configured.
bool hasObjCRuntime() { return !!ObjCRuntime; }
@@ -788,15 +788,15 @@
/// which only apply to a function definintion.
void SetLLVMFunctionAttributesForDefinition(const Decl *D, llvm::Function *F);
- /// ReturnTypeUsesSRet - Return true if the given type uses 'sret' when used
+ /// ReturnTypeUsesSRet - Return true iff the given type uses 'sret' when used
/// as a return type.
bool ReturnTypeUsesSRet(const CGFunctionInfo &FI);
- /// ReturnTypeUsesFPRet - Return true if the given type uses 'fpret' when
+ /// ReturnTypeUsesFPRet - Return true iff the given type uses 'fpret' when
/// used as a return type.
bool ReturnTypeUsesFPRet(QualType ResultType);
- /// ReturnTypeUsesFP2Ret - Return true if the given type uses 'fp2ret' when
+ /// ReturnTypeUsesFP2Ret - Return true iff the given type uses 'fp2ret' when
/// used as a return type.
bool ReturnTypeUsesFP2Ret(QualType ResultType);
diff --git a/lib/CodeGen/CodeGenTBAA.cpp b/lib/CodeGen/CodeGenTBAA.cpp
index 3d5725d..bab60af 100644
--- a/lib/CodeGen/CodeGenTBAA.cpp
+++ b/lib/CodeGen/CodeGenTBAA.cpp
@@ -135,7 +135,7 @@
// Enum types are distinct types. In C++ they have "underlying types",
// however they aren't related for TBAA.
if (const EnumType *ETy = dyn_cast<EnumType>(Ty)) {
- // In C mode, two anonymous enums are compatible if their members
+ // In C mode, two anonymous enums are compatible iff their members
// are the same -- see C99 6.2.7p1. For now, be conservative. We could
// theoretically implement this by combining information about all the
// members into a single identifying MDNode.
diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp
index 15ccfd5..419ce02 100644
--- a/lib/CodeGen/TargetInfo.cpp
+++ b/lib/CodeGen/TargetInfo.cpp
@@ -109,7 +109,7 @@
static bool isEmptyRecord(ASTContext &Context, QualType T, bool AllowArrays);
-/// isEmptyField - Return true if a the field is "empty", that is it
+/// isEmptyField - Return true iff a the field is "empty", that is it
/// is an unnamed bit-field or an (array of) empty record(s).
static bool isEmptyField(ASTContext &Context, const FieldDecl *FD,
bool AllowArrays) {
@@ -141,7 +141,7 @@
return isEmptyRecord(Context, FT, AllowArrays);
}
-/// isEmptyRecord - Return true if a structure contains only empty
+/// isEmptyRecord - Return true iff a structure contains only empty
/// fields. Note that a structure with a flexible array member is not
/// considered empty.
static bool isEmptyRecord(ASTContext &Context, QualType T, bool AllowArrays) {
@@ -1070,7 +1070,7 @@
/// be passed in Memory then at least the classification of \arg Lo
/// will be Memory.
///
- /// The \arg Lo class will be NoClass if the argument is ignored.
+ /// The \arg Lo class will be NoClass iff the argument is ignored.
///
/// If the \arg Lo class is ComplexX87, then the \arg Hi class will
/// also be ComplexX87.
diff --git a/lib/Driver/Option.cpp b/lib/Driver/Option.cpp
index 6a3418f..3be141e 100644
--- a/lib/Driver/Option.cpp
+++ b/lib/Driver/Option.cpp
@@ -120,7 +120,7 @@
return A;
}
case SeparateClass:
- // Matches if this is an exact match.
+ // Matches iff this is an exact match.
// FIXME: Avoid strlen.
if (getName().size() != strlen(Args.getArgString(Index)))
return 0;
@@ -132,7 +132,7 @@
return new Arg(getUnaliasedOption(),
Index - 2, Args.getArgString(Index - 1));
case MultiArgClass: {
- // Matches if this is an exact match.
+ // Matches iff this is an exact match.
// FIXME: Avoid strlen.
if (getName().size() != strlen(Args.getArgString(Index)))
return 0;
diff --git a/lib/Frontend/TextDiagnostic.cpp b/lib/Frontend/TextDiagnostic.cpp
index d872e42..a8a5613 100644
--- a/lib/Frontend/TextDiagnostic.cpp
+++ b/lib/Frontend/TextDiagnostic.cpp
@@ -88,7 +88,7 @@
/// \param SourceLine The line of source
/// \param i Pointer to byte index,
/// \param TabStop used to expand tabs
-/// \return pair(printable text, 'true' if original text was printable)
+/// \return pair(printable text, 'true' iff original text was printable)
///
static std::pair<SmallString<16>, bool>
printableTextForNextCharacter(StringRef SourceLine, size_t *i,
diff --git a/lib/Sema/AnalysisBasedWarnings.cpp b/lib/Sema/AnalysisBasedWarnings.cpp
index 2b7d4be..a3aee9a 100644
--- a/lib/Sema/AnalysisBasedWarnings.cpp
+++ b/lib/Sema/AnalysisBasedWarnings.cpp
@@ -87,10 +87,10 @@
/// CheckFallThrough - Check that we don't fall off the end of a
/// Statement that should return a value.
///
-/// \returns AlwaysFallThrough if we always fall off the end of the statement,
-/// MaybeFallThrough if we might or might not fall off the end,
-/// NeverFallThroughOrReturn if we never fall off the end of the statement or
-/// return. We assume NeverFallThrough if we never fall off the end of the
+/// \returns AlwaysFallThrough iff we always fall off the end of the statement,
+/// MaybeFallThrough iff we might or might not fall off the end,
+/// NeverFallThroughOrReturn iff we never fall off the end of the statement or
+/// return. We assume NeverFallThrough iff we never fall off the end of the
/// statement but we may return. We assume that functions not marked noreturn
/// will return.
static ControlFlowKind CheckFallThrough(AnalysisDeclContext &AC) {
diff --git a/lib/Sema/SemaAccess.cpp b/lib/Sema/SemaAccess.cpp
index ddb5e4e..58b1a51 100644
--- a/lib/Sema/SemaAccess.cpp
+++ b/lib/Sema/SemaAccess.cpp
@@ -918,7 +918,7 @@
/// let AccessToBase = Merge(Access(B_i, B_{i+1}), ACAB(i+1)) in
/// if Accessible(B_i, AccessToBase) then public else AccessToBase
///
-/// B is an accessible base of N at R if ACAB(1) = public.
+/// B is an accessible base of N at R iff ACAB(1) = public.
///
/// \param FinalAccess the access of the "final step", or AS_public if
/// there is no final step.
diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp
index 0fa8748..7951a71 100644
--- a/lib/Sema/SemaChecking.cpp
+++ b/lib/Sema/SemaChecking.cpp
@@ -5366,7 +5366,7 @@
/// Consider whether capturing the given variable can possibly lead to
/// a retain cycle.
static bool considerVariable(VarDecl *var, Expr *ref, RetainCycleOwner &owner) {
- // In ARC, it's captured strongly if the variable has __strong
+ // In ARC, it's captured strongly iff the variable has __strong
// lifetime. In MRR, it's captured strongly if the variable is
// __block and has an appropriate type.
if (var->getType().getObjCLifetime() != Qualifiers::OCL_Strong)
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 17db68e..01aaf8b 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -4799,7 +4799,7 @@
/// or performing typo correction if there are no previous declarations with
/// the same name.
///
-/// Returns a NamedDecl if typo correction was performed and substituting in
+/// Returns a NamedDecl iff typo correction was performed and substituting in
/// the new declaration name does not cause new errors.
static NamedDecl* DiagnoseInvalidRedeclaration(
Sema &SemaRef, LookupResult &Previous, FunctionDecl *NewFD,
@@ -8237,7 +8237,7 @@
/// \brief Determine if tag kind is a class-key compatible with
/// class for redeclaration (class, struct, or __interface).
///
-/// \returns true if the tag kind is compatible.
+/// \returns true iff the tag kind is compatible.
static bool isClassCompatTagKind(TagTypeKind Tag)
{
return Tag == TTK_Struct || Tag == TTK_Class || Tag == TTK_Interface;
diff --git a/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp b/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
index b4a2210..21db9e6 100644
--- a/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
+++ b/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
@@ -240,8 +240,8 @@
// 1) noErr / [0]
// 2) someErr / [1, inf]
// 3) unknown
-// If noError, returns true if (1).
-// If !noError, returns true if (2).
+// If noError, returns true iff (1).
+// If !noError, returns true iff (2).
bool MacOSKeychainAPIChecker::definitelyReturnedError(SymbolRef RetSym,
ProgramStateRef State,
SValBuilder &Builder,