When printing a qualified type, look through a substituted template
commit3c594beb0faf0bd43b1b4d2c5757747729234b5a
authorDouglas Gregor <doug.gregor@gmail.com>
Thu, 17 Feb 2011 06:52:25 +0000 (17 06:52 +0000)
committerDouglas Gregor <doug.gregor@gmail.com>
Thu, 17 Feb 2011 06:52:25 +0000 (17 06:52 +0000)
tree857832d4d4283bd0e16d721bd6ef119f15179a1a
parentc992b73966c957abd500d45b2aff4d5c67eea812
When printing a qualified type, look through a substituted template
parameter type to see what's behind it, so that we don't end up
printing silly things like "float const *" when "const float *" would
make more sense. Also, replace the pile of "isa" tests with a simple
switch enumerating all of the cases, making a few more obvious cases
use prefix qualifiers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125729 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/TypePrinter.cpp
test/CXX/temp/temp.decls/temp.mem/p5.cpp
test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
test/Index/complete-exprs.cpp
test/SemaCXX/type-formatting.cpp [new file with mode: 0644]
test/SemaTemplate/deduction.cpp
test/SemaTemplate/instantiate-static-var.cpp