Yeah, seems like a good idea to me. It's interesting that the places you added
this aren't the same places we construct `Deserializing` objects. I wonder if
there are good reasons for the differences.
================
Comment at: lib/Serialization/ASTReader.cpp:70
@@ +69,3 @@
+ "\n\n*** Crashed while deserializing from an AST file (e.g. PCH or PCM)."
+ "\n*** Consider clearing your module cache.\n";
+ public:
----------------
I'm not sure I like this as a user-facing message; the revision number is
supposed to be part of the configuration, so the 'clear your module cache'
advice really only applies to people actively hacking on Clang. But I'm fine
with the change with or without this line.
================
Comment at: lib/Serialization/ASTReader.cpp:7521
@@ -7490,2 +7520,3 @@
Module *ASTReader::getModule(unsigned ID) {
+ PrettyStackTraceASTReader StackTraceRAII;
return getSubmodule(ID);
----------------
This function doesn't do any reading from the AST file.
================
Comment at: lib/Serialization/ASTReader.cpp:7560
@@ -7527,2 +7559,3 @@
uint32_t ASTReader::GetNumExternalSelectors() {
+ PrettyStackTraceASTReader StackTraceRAII;
// ID 0 (the null selector) is considered an external selector.
----------------
This function doesn't do any reading from the AST file.
http://reviews.llvm.org/D6138
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits