diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-01-13 23:10:51 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-01-13 23:10:51 +0000 |
commit | ee159c14c1ac99d7944645e2b111b04dca089855 (patch) | |
tree | abf397e901853d2fe4bc0cb2f16d198c60cee0fa /lib/Sema/SemaDecl.cpp | |
parent | 7bd88aa620406ab99547169b973de085785a0ca2 (diff) |
Permitting typedefs without a name is a Microsoft/GNU extension
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62192 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDecl.cpp')
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 9b419e5b63..8d2e5590b9 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -875,7 +875,15 @@ Sema::DeclTy *Sema::ParsedFreeStandingDeclSpec(Scope *S, DeclSpec &DS) { return Tag; } + // Permit typedefs without declarators as a Microsoft extension. if (!DS.isMissingDeclaratorOk()) { + if (getLangOptions().Microsoft && + DS.getStorageClassSpec() == DeclSpec::SCS_typedef) { + Diag(DS.getSourceRange().getBegin(), diag::ext_no_declarators) + << DS.getSourceRange(); + return Tag; + } + // FIXME: This diagnostic is emitted even when various previous // errors occurred (see e.g. test/Sema/decl-invalid.c). However, // DeclSpec has no means of communicating this information, and the |