summaryrefslogtreecommitdiffstats
path: root/clang/test/Parser/MicrosoftExtensions.cpp
diff options
context:
space:
mode:
authorFrancois Pichet <pichet2000@gmail.com>2011-04-24 11:24:13 +0000
committerFrancois Pichet <pichet2000@gmail.com>2011-04-24 11:24:13 +0000
commitdd876125df22ac3e3ff80e8b84c08b7f123705c7 (patch)
tree40ed4b79a25c1773e77fcb7fe02a5c3295404c8e /clang/test/Parser/MicrosoftExtensions.cpp
parent27337a8800ba30c296647dadf605823819f40756 (diff)
downloadbcm5719-llvm-dd876125df22ac3e3ff80e8b84c08b7f123705c7.tar.gz
bcm5719-llvm-dd876125df22ac3e3ff80e8b84c08b7f123705c7.zip
Downgrade unnecessary "typename" from error to warning in Microsoft mode.
This fixes 1 error when parsing MSVC 2008 headers with clang. Must "return true;" even if it is a warning because the rest of the code path assumes that SS is set to something. The parser will get back on its feet and continue parsing the rest of the declaration correctly so it is not a problem. llvm-svn: 130088
Diffstat (limited to 'clang/test/Parser/MicrosoftExtensions.cpp')
-rw-r--r--clang/test/Parser/MicrosoftExtensions.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/Parser/MicrosoftExtensions.cpp b/clang/test/Parser/MicrosoftExtensions.cpp
index ec297f27013..20da81d26fa 100644
--- a/clang/test/Parser/MicrosoftExtensions.cpp
+++ b/clang/test/Parser/MicrosoftExtensions.cpp
@@ -130,7 +130,19 @@ void f(){
typename C1<T>:: /*template*/ Iterator<0> Mypos; // expected-warning {{use 'template' keyword to treat 'Iterator' as a dependent template name}}
}
+
+
+class AAAA { };
+
+template <class T>
+void redundant_typename() {
+ typename T t;// expected-warning {{expected a qualified name after 'typename'}}
+ typename AAAA a;// expected-warning {{expected a qualified name after 'typename'}}
+ t = 3;
+}
+
int main() {
+ redundant_typename<int>();
f<int>();
}
OpenPOWER on IntegriCloud