From: Chris Lattner Date: Fri, 27 Feb 2009 22:31:56 +0000 (+0000) Subject: Give a code insertion hint for how to fix 'implicit int' warnings and errors. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=173144affecc3f97b73b075c44752aff8cfcfc3a;p=clang Give a code insertion hint for how to fix 'implicit int' warnings and errors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65653 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index bfbf8ab952..a1c5dbc4d1 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -77,7 +77,9 @@ QualType Sema::ConvertDeclSpecToType(const DeclSpec &DS) { // In C89 mode, we only warn if there is a completely missing declspec // when one is not allowed. if (DS.isEmpty()) - Diag(DS.getSourceRange().getBegin(), diag::warn_missing_declspec); + Diag(DS.getSourceRange().getBegin(), diag::warn_missing_declspec) + << CodeModificationHint::CreateInsertion(DS.getSourceRange().getBegin(), + "int"); } else if (!DS.hasTypeSpecifier()) { // C99 and C++ require a type specifier. For example, C99 6.7.2p2 says: // "At least one type specifier shall be given in the declaration @@ -87,7 +89,9 @@ QualType Sema::ConvertDeclSpecToType(const DeclSpec &DS) { unsigned DK = getLangOptions().CPlusPlus && !getLangOptions().Microsoft? diag::err_missing_type_specifier : diag::warn_missing_type_specifier; - Diag(DS.getSourceRange().getBegin(), DK); + Diag(DS.getSourceRange().getBegin(), DK) + << CodeModificationHint::CreateInsertion(DS.getSourceRange().getBegin(), + "int"); } // FALL THROUGH.