From eba5189f9a81a3360dc5a27f82a03cc555fa8ee7 Mon Sep 17 00:00:00 2001 From: "Ariel J. Bernal" Date: Fri, 17 May 2013 15:30:17 +0000 Subject: Fix UseAuto replacing variable declaration lists containing non-initialized variables. UseAuto used to match initialized variable declarations independently of whether they were defined in a declaration list or as a single declaration. Now it matches declaration statements where every variable declaration is initialized. llvm-svn: 182114 --- clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp') diff --git a/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp b/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp index 59c2979b32e..7c4b5aa4678 100644 --- a/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp +++ b/clang-tools-extra/test/cpp11-migrate/UseAuto/iterator.cpp @@ -156,5 +156,17 @@ int main(int argc, char **argv) { // CHECK: auto I = MapFind.find("foo"); } + // Test for declaration lists + { + // Ensusre declaration lists that matches the declaration type with written + // no-list initializer are transformed. + std::vector::iterator I = Vec.begin(), E = Vec.end(); + // CHECK: auto I = Vec.begin(), E = Vec.end(); + + // Declaration lists with non-initialized variables should not be + // transformed. + std::vector::iterator J = Vec.begin(), K; + // CHECK: std::vector::iterator J = Vec.begin(), K; + } return 0; } -- cgit v1.2.3