- User Since
- Nov 15 2017, 3:56 PM (18 w, 1 d)
Rebasing and updating.
Wed, Mar 21
Committed in r328127.
Tue, Mar 20
After much digging, it looks like the lit config is never initialized in clang-tools-extra like it is in the other projects. REQUIRES et.al. work properly once that's in there (see D44708). Once that lands I'll reland this and *hopefully* that'll be that!
Mon, Mar 19
I was just thinking of disabling the one test that has an issue (class-in-function) on Windows -- the filename is only used in generating *some* USRs, so all of the other ones are fine. We ran into some issues with that though, since UNSUPPORTED: system-windows didn't seem to disable the test on the machine I have access to. Thoughts?
Wed, Mar 14
Fixing a typo sorry
Updating decl passed to warning string
Fixing tests and updating docs
Tue, Mar 13
Addomg tests amd fixing documentation
Moved check to new Zircon module, fixed comments
Mon, Mar 12
Fri, Mar 9
Thu, Mar 8
Wed, Mar 7
Updating bitcode writer for hashed USRs, and re-running clang-format. Also cleaning up a couple of unused fields.
Tue, Mar 6
Updating based on parent changes
Adding in support for mapper tests and addressing comments.
Adding hashing to reduce the size of USRs and updating tests.
Fri, Mar 2
Removing IsDefinition field.
Updating for parent diff & refactoring reader.
Thu, Mar 1
Cleaning up some and updating based on changes to the parent diff.
Adding tests, fixing comments, and removing an (as-of-yet) unused element of the CommentInfo struct.
Fixing comments and adding tests
Wed, Feb 28
Running clang-format and fixing newlines
Tue, Feb 27
Fixing comments and updating tests.
Mon, Feb 26
Yes -- it will fail an assertion:
Assertion 'V == Op.getLiteralValue() && "Invalid abbrev for record!"' failed.
- Moved the serialization logic out of the Mapper class and into its own namespace
- Updated tests
- Addressing comments
After discussion, the goal of this checker slightly changed to target definitions in header files, rather than declarations. As a result, the check now adds the attribute to any definition (declaration or not) that appears in a header file.
Fri, Feb 23
Fixing CMakeLists formatting
- Continued refactoring the bitcode writer
- Added a USR attribute to infos
- Created a Reference struct to replace the string references to other infos
I agree that the pointer approach would be much more efficient on the backend, but the issue here is that the mapper has no idea where the representation of anything other than the decl it's currently looking at will be, since it sees each decl and serializes it immediately. The reducer, on the other hand, will be able to see everything, and so such pointers could be added as a pass over the final reduced data structure.
So, as an idea (as this diff implements), I updated the string references to be a struct, which holds the USR of the referenced type (for serialization, both here in the mapper and for the dump option in the reducer, as well as a pointer to an Info struct. This pointer is not used at this point, but would be populated by the reducer. Thoughts?
Thu, Feb 22
Updating based on parent revision changes -- still rough, will continue to improve.
Refactoring bitcode writer
Updating for parent diff changes
Cleaning up bitcode writer
Wed, Feb 21
Updating location creation and adding mapping from type to BlockId
Feb 21 2018
Cleaning up bitcode writer and fixing pointers for CommentInfos
Feb 20 2018
Updating check to allow for #pragma and command line visibility specs, and updating tests
- Updating mapper keys to use USRs instead of names
- Also updating internal representation to use USRs instead of names
- Renaming files (getting rid of the ClangDoc prefix in most cases)
- Added bitcode version number to output
- Put brief documentation in header files
- Updating internal representation to generate full infos for all decls (regardless of if they're defined -- the reducer step will consolidate these) and to store the namespace as a vector instead of a string.