From d72c4e0475ec1c8d6ad352bcd478501df42d59f9 Mon Sep 17 00:00:00 2001 From: Ben Brewer Date: Thu, 20 Aug 2015 16:59:30 +0100 Subject: Fix misc. compiler warnings --- include/flang/AST/TypeVisitor.h | 1 + lib/AST/ASTContext.cpp | 1 + lib/AST/Expr.cpp | 2 +- lib/AST/ExprConstant.cpp | 6 +++++- lib/Basic/IdentifierTable.cpp | 1 + lib/Frontend/VerifyDiagnosticConsumer.cpp | 1 + lib/Parse/Lexer.cpp | 4 ++-- lib/Parse/Parser.cpp | 1 + lib/Sema/Sema.cpp | 4 ++-- lib/Sema/SemaIntrinsic.cpp | 7 +++++++ 10 files changed, 22 insertions(+), 6 deletions(-) diff --git a/include/flang/AST/TypeVisitor.h b/include/flang/AST/TypeVisitor.h index 42d8bad4f2..14cd11f80e 100644 --- a/include/flang/AST/TypeVisitor.h +++ b/include/flang/AST/TypeVisitor.h @@ -42,6 +42,7 @@ public: switch (T->getTypeClass()) { #define TYPE(Class, Parent) case Type::Class: DISPATCH(Class##Type, Class##Type); #include "flang/AST/TypeNodes.def" + default: break; } llvm_unreachable("Unknown type class!"); } diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 21eb32cd8a..1f392e59ac 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -80,6 +80,7 @@ unsigned ASTContext::getTypeKindBitWidth(BuiltinType::TypeKind Kind) const { case BuiltinType::Real4: return 32; case BuiltinType::Real8: return 64; case BuiltinType::Real16: return 128; + default: break; } llvm_unreachable("invalid built in type kind"); return 0; diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index c21da7c4d0..69fd51f754 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -19,7 +19,7 @@ namespace flang { void APNumericStorage::setIntValue(ASTContext &C, const APInt &Val) { if (hasAllocation()) - C.Deallocate(pVal, sizeof(uint64_t[llvm::APInt::getNumWords(BitWidth)])); + C.Deallocate(pVal, sizeof(uint64_t) * llvm::APInt::getNumWords(BitWidth)); BitWidth = Val.getBitWidth(); unsigned NumWords = Val.getNumWords(); diff --git a/lib/AST/ExprConstant.cpp b/lib/AST/ExprConstant.cpp index a7477cc96b..f8a9f6fc47 100644 --- a/lib/AST/ExprConstant.cpp +++ b/lib/AST/ExprConstant.cpp @@ -121,6 +121,8 @@ bool ConstExprVerifier::VisitIntrinsicCallExpr(const IntrinsicCallExpr *E) { case intrinsic::KIND: case intrinsic::BIT_SIZE: return true; + default: + break; } return VisitExpr(E); } @@ -305,6 +307,8 @@ bool IntExprEvaluator::VisitIntrinsicCallExpr(const IntrinsicCallExpr *E) { Result.Assign(llvm::APInt(64, Val, true)); return true; } + default: + break; } return VisitExpr(E); @@ -405,7 +409,7 @@ bool SubstringExpr::EvaluateRange(ASTContext &Ctx, uint64_t Len, int64_t I; if(!EndPoint->EvaluateAsInt(I, Ctx, Scope)) return false; - if(I < 1 || I > Len) return false; + if(I < 1 || (uint64_t)I > Len) return false; End = I; } else End = Len; return true; diff --git a/lib/Basic/IdentifierTable.cpp b/lib/Basic/IdentifierTable.cpp index 96ee7d39eb..93abc28a3f 100644 --- a/lib/Basic/IdentifierTable.cpp +++ b/lib/Basic/IdentifierTable.cpp @@ -90,6 +90,7 @@ void IdentifierTable::AddPredefineds(const LangOptions &LangOpts) { #define FORMAT_SPEC(NAME, FLAGS) \ AddPredefined(llvm::StringRef(#NAME), tok::fs_ ## NAME, \ FLAGS, LangOpts, *this, true); +#undef OPERATOR #define OPERATOR(NAME, FLAGS) #include "flang/Basic/TokenKinds.def" } diff --git a/lib/Frontend/VerifyDiagnosticConsumer.cpp b/lib/Frontend/VerifyDiagnosticConsumer.cpp index fb2609fe95..96ad7fa853 100644 --- a/lib/Frontend/VerifyDiagnosticConsumer.cpp +++ b/lib/Frontend/VerifyDiagnosticConsumer.cpp @@ -495,6 +495,7 @@ static unsigned PrintUnexpected(DiagnosticsEngine &Diags, const llvm::SourceMgr case DiagnosticsEngine::Error: Diags.ReportError(I->first,I->second); break; case DiagnosticsEngine::Warning: Diags.ReportWarning(I->first,I->second); break; case DiagnosticsEngine::Note: Diags.ReportNote(I->first,I->second); break; + default: break; } } return std::distance(diag_begin, diag_end); diff --git a/lib/Parse/Lexer.cpp b/lib/Parse/Lexer.cpp index 083b38cfa1..f7fa3d9896 100644 --- a/lib/Parse/Lexer.cpp +++ b/lib/Parse/Lexer.cpp @@ -658,13 +658,13 @@ static inline bool isNumberBody(unsigned char c) { /// isBinaryNumberBody - Return true if this is the body character of a binary /// number, which is [01]. static inline bool isBinaryNumberBody(unsigned char c) { - return (c == '0' | c == '1') ? true : false; + return ((c == '0') || (c == '1')); } /// isOctalNumberBody - Return true if this is the body character of an octal /// number, which is [0-7]. static inline bool isOctalNumberBody(unsigned char c) { - return (c >= '0' & c <= '7') ? true : false; + return ((c >= '0') && (c <= '7')); } /// isDecimalNumberBody - Return true if this is the body character of a decimal diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp index 138d6cf9d6..31626a6ffc 100644 --- a/lib/Parse/Parser.cpp +++ b/lib/Parse/Parser.cpp @@ -688,6 +688,7 @@ Parser::StmtResult Parser::ParseENDStmt(tok::TokenKind EndKw) { Expected = "end function"; Given = "function"; break; case tok::kw_ENDSUBROUTINE: Expected = "end subroutine"; Given = "subroutine"; break; + default: break; } Diag.Report(Tok.getLocation(), diag::err_expected_kw) << Expected; diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index f36312ede0..fdeacd7ad6 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -1065,8 +1065,8 @@ bool Sema::CheckArrayTypeDeclarationCompability(const ArrayType *T, VarDecl *VD) return false; for(auto I = T->begin(); I != T->end(); ++I) { auto Shape = *I; - if(auto Explicit = dyn_cast(Shape)) { - } else { + auto Explicit = dyn_cast(Shape); + if(!Explicit) { // implied auto Implied = cast(Shape); if(!VD->isArgument()) { diff --git a/lib/Sema/SemaIntrinsic.cpp b/lib/Sema/SemaIntrinsic.cpp index 34333661b2..c65a79a9c4 100644 --- a/lib/Sema/SemaIntrinsic.cpp +++ b/lib/Sema/SemaIntrinsic.cpp @@ -157,6 +157,9 @@ bool Sema::CheckIntrinsicConversionFunc(intrinsic::FunctionKind Function, CheckIntegerArgument(Item); ReturnType = Context.CharacterTy; break; + + default: + break; } return false; } @@ -181,6 +184,8 @@ bool Sema::CheckIntrinsicTruncationFunc(intrinsic::FunctionKind Function, case FLOOR: ReturnType = GetUnaryReturnType(Arg, Context.IntegerTy); break; + default: + break; } return false; } @@ -205,6 +210,8 @@ bool Sema::CheckIntrinsicComplexFunc(intrinsic::FunctionKind Function, case CONJG: ReturnType = Arg->getType(); break; + default: + break; } return false; } -- cgit v1.2.1