mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-24 23:36:08 +00:00

we would deserialize all of the macro definitions we knew about while serializing the macro definitions at the end of the AST/PCH file. Even though we skipped most of them (since they were unchanged), it's still a performance problem. Now, we do the standard AST/PCH chaining trick: watch what identifiers are deserialized as macro names, and consider only those identifiers (along with macro definitions that have been deserialized/written in the source) when serializing the preprocessor state. llvm-svn: 125324
8 lines
60 B
C++
8 lines
60 B
C++
namespace A {
|
|
int x;
|
|
int y;
|
|
}
|
|
|
|
int foo;
|
|
#define foo foo
|