diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-01-22 00:58:24 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-01-22 00:58:24 +0000 |
| commit | e4a0bb7a2039ed34ce1c253816aa3020007d3447 (patch) | |
| tree | 69969f33a8c827a454ef563c395f4bf232cf00e1 /clang/lib/AST/StmtPrinter.cpp | |
| parent | eee54df5b611055c537ea92c7bbf89ca1fa4a14f (diff) | |
| download | bcm5719-llvm-e4a0bb7a2039ed34ce1c253816aa3020007d3447.tar.gz bcm5719-llvm-e4a0bb7a2039ed34ce1c253816aa3020007d3447.zip | |
Initial implementation of semantic analysis and ASTs for C99
designated initializers. This implementation should cover all of the
constraints in C99 6.7.8, including long, complex designations and
computing the size of incomplete array types initialized with a
designated initializer. Please see the new test-case and holler if you
find cases where this doesn't work.
There are still some wrinkles with GNU's anonymous structs and
anonymous unions (it isn't clear how these should work; we'll just
follow GCC's lead) and with designated initializers for the members of a
union. I'll tackle those very soon.
CodeGen is still nonexistent, and there's some leftover code in the
parser's representation of designators that I'll also need to clean up.
llvm-svn: 62737
Diffstat (limited to 'clang/lib/AST/StmtPrinter.cpp')
| -rw-r--r-- | clang/lib/AST/StmtPrinter.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/AST/StmtPrinter.cpp b/clang/lib/AST/StmtPrinter.cpp index a3a16aec5bb..80de5b8ae45 100644 --- a/clang/lib/AST/StmtPrinter.cpp +++ b/clang/lib/AST/StmtPrinter.cpp @@ -877,6 +877,10 @@ void StmtPrinter::VisitInitListExpr(InitListExpr* Node) { OS << " }"; } +void StmtPrinter::VisitDesignatedInitExpr(DesignatedInitExpr *Node) { + // FIXME! +} + void StmtPrinter::VisitVAArgExpr(VAArgExpr *Node) { OS << "va_arg("; PrintExpr(Node->getSubExpr()); |

