Fixed ParamDecl source range for implicit typed k&r parameters.
authorAbramo Bagnara <abramo.bagnara@bugseng.com>
Thu, 4 Oct 2012 21:38:29 +0000 (21:38 +0000)
committerAbramo Bagnara <abramo.bagnara@bugseng.com>
Thu, 4 Oct 2012 21:38:29 +0000 (21:38 +0000)
llvm-svn: 165256

clang/lib/Sema/SemaDecl.cpp

index d177fd9..7ca1f29 100644 (file)
@@ -7574,6 +7574,9 @@ void Sema::ActOnFinishKNRParamDeclarations(Scope *S, Declarator &D,
         unsigned DiagID; // unused
         DS.SetTypeSpecType(DeclSpec::TST_int, FTI.ArgInfo[i].IdentLoc,
                            PrevSpec, DiagID);
+        // Use the identifier location for the type source range.
+        DS.SetRangeStart(FTI.ArgInfo[i].IdentLoc);
+        DS.SetRangeEnd(FTI.ArgInfo[i].IdentLoc);
         Declarator ParamD(DS, Declarator::KNRTypeListContext);
         ParamD.SetIdentifier(FTI.ArgInfo[i].Ident, FTI.ArgInfo[i].IdentLoc);
         FTI.ArgInfo[i].Param = ActOnParamDeclarator(S, ParamD);