summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorFrancois Pichet <pichet2000@gmail.com>2010-09-12 05:06:55 +0000
committerFrancois Pichet <pichet2000@gmail.com>2010-09-12 05:06:55 +0000
commit488b4a7d943bcbdf490d40868902fcd556dd4299 (patch)
tree89c05c4065228fe18c26bfeb7f66fba1e56b4320 /clang/lib/Sema/SemaDecl.cpp
parent86ddae50f6a4f814157e6405a4bfc9c7663a5dd9 (diff)
downloadbcm5719-llvm-488b4a7d943bcbdf490d40868902fcd556dd4299.tar.gz
bcm5719-llvm-488b4a7d943bcbdf490d40868902fcd556dd4299.zip
Add basic support for Microsoft enum forward declaration.
Assigning an underlying integral type to an enum forward declaration will come in a next patch. llvm-svn: 113716
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index e4dca2ba980..21b328d64ce 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -5755,9 +5755,12 @@ CreateNewDecl:
<< New;
Diag(Def->getLocation(), diag::note_previous_definition);
} else {
- Diag(Loc,
- getLangOptions().CPlusPlus? diag::err_forward_ref_enum
- : diag::ext_forward_ref_enum);
+ unsigned DiagID = diag::ext_forward_ref_enum;
+ if (getLangOptions().Microsoft)
+ DiagID = diag::ext_ms_forward_ref_enum;
+ else if (getLangOptions().CPlusPlus)
+ DiagID = diag::err_forward_ref_enum;
+ Diag(Loc, DiagID);
}
}
} else {
OpenPOWER on IntegriCloud