[PATCH] D29944: libclang: Print namespaces for typedefs and type aliases

Michael via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 20 06:27:36 PST 2017


redm123 added inline comments.


================
Comment at: test/Misc/diag-template-diffing.cpp:27
 // CHECK-ELIDE-NOTREE: no matching function for call to 'f'
-// CHECK-ELIDE-NOTREE: candidate function not viable: no known conversion from 'vector<std::basic_string>' to 'vector<versa_string>' for 1st argument
+// CHECK-ELIDE-NOTREE: candidate function not viable: no known conversion from 'vector<std::string>' to 'vector<string>' for 1st argument
 // CHECK-NOELIDE-NOTREE: no matching function for call to 'f'
----------------
arphaman wrote:
> I think the majority of test changes make sense, we are just adding qualifiers to the typedefs in the diagnostics. I'm curious about this one though, as we are essentially replacing the old diagnostic note `no known conversion from 'vector<std::basic_string>' to 'vector<versa_string>' for 1st argument` by the new note `no known conversion from 'vector<std::string>' to 'vector<string>' for 1st argument`. Is one better than the other? It seems that GCC prefers the former, while ICC the latter. Does it even matter which one we have?
Right, wanted to add a note... forgot about that. This "fix" here is probably entirely nonsense. I guess I broke some other feature here. I was hoping for some input from the review ;) As I see it it's supposed to print the canonical type in case both types would be printed the same, but apparently the comparison breaks.  The question where this happens... I'll try to dig through the history and see if I find something.


https://reviews.llvm.org/D29944





More information about the cfe-commits mailing list