aaron.ballman added inline comments. ================ Comment at: lib/Parse/ParseStmt.cpp:376 @@ -375,3 +375,3 @@ /// \brief Parse an expression statement. StmtResult Parser::ParseExprStatement() { // If a case keyword is missing, this is where it should be inserted. ---------------- > I don't know what this "serialized AST" is that you are talking about. All I > know is the -ast-dump and that flag is only intended as a debugging aid as > far as I know. If I just run "clang -cc1 -Wnonconst-parameter somefile.c" > then it does not serialize does it? So what flags do I use to serialize etc?
Anything using PCH or modules will use a serialized AST. http://clang.llvm.org/docs/PCHInternals.html The basic idea is that these serialize the AST to a file to be later read back in with an ASTReader to represent the same semantic state (entirely skipping the parser). ================ Comment at: lib/Parse/ParseStmt.cpp:392 @@ -391,1 +391,3 @@ + // Mark pointers in the expression as nonconstused. + Sema::MarkRNonConstUse(Expr.get()); ---------------- non-const-used instead? ================ Comment at: lib/Parse/ParseStmt.cpp:960 @@ -956,1 +959,3 @@ R = ParseStatementOrDeclaration(Stmts, false); + if (!R.isInvalid() && R.get()) { + if (ReturnStmt *RS = dyn_cast<ReturnStmt>(R.get())) { ---------------- I think you want isUsable() here instead. Or remove the R.get() and use dyn_cast_or_null below. http://reviews.llvm.org/D12359 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits