-
Notifications
You must be signed in to change notification settings - Fork 1
Questions
Jordan Cantrell edited this page Nov 19, 2018
·
2 revisions
- Should this project be a plugin or bolted into the compiler itself?
- If plugin: does Clang’s upstream have a place for “standard plugins”? Or is a “standard plugin” just already included in the compiler?
- Compiler-upstream: where should we begin looking to add this feature?
- Can we manipulate object layouts in Clang’s AST?
- What kinds of object layout “gotchas” should we try to keep an eye out for?
- How do we debug this reliably?
- Clang has tools for dumping the AST of a translation unit.
- How do we test this?
- Plugin: we could probably choose our own test framework.
- Compiler-upstream: what test framework does the code base already use?
- What kind of randomization techniques should we use?
- How can we distribute seeds? Are these just included with the tests?
- Do we need to reconcile the fact that Clang supports many languages (C, C++, Objective-C)? Does it matter?
- Maybe not, if there’s a general abstraction for structs/classes across all of them (which I suspect is true for at least C and C++, I have no experience w/ Obj C)
- The RecordDecl type in the AST encompasses these things
- Maybe not, if there’s a general abstraction for structs/classes across all of them (which I suspect is true for at least C and C++, I have no experience w/ Obj C)
- Xcode does not have all headers for LLVM to hack with it
- Search xcode in this doc
- Doxygen