User Details
- User Since
- Aug 26 2016, 6:53 AM (343 w, 4 d)
- Roles
- Administrator
Yesterday
Only show the filename, not the full path, to avoid overflowing the box
Address Dmitri's comments
Update demo link
Fri, Mar 24
revert accidental edit
Move data into JSON object, render into DOM with templates.
Thu, Mar 23
Going to have a go at passing data via JSON
Address all comments except moving data from HTML => JSON
Wed, Mar 22
address review comments
Use a process-shared counter for HTML output filenames to avoid clobbering.
Tue, Mar 21
Added a bunch of reviewers for feedback on how this should work.
Thanks! I cleaned up a bit and added tests, as well as a -dataflow-log flag to make this easy to access when running unit tests, tidy checks etc.
The HTML experiments seem to have validated that the logging API is sufficient to produce something useful there.
Address review comments
Added -dataflow-log flag to enable logging without code changes
Removed example tool from this patch
Mon, Mar 20
Mon, Mar 13
doh, thanks!
Wed, Mar 8
Sorry for the delay, extracting the repro from the build system seems about as much work as minimizing it :-)
Tue, Mar 7
We're seeing new clang crashes that bisect to this commit, with modules only.
If someone wants to work on producing a more modular, component-based design, that's probably a good idea (but tricky to get right). Probably a good place to start is working out what pieces can be moved into separate libraries with e.g. a coherent layering story, thinking about how they might be reused in other tools etc.
Mon, Mar 6
Oops, sorry for the noise.
IIUC we want to link some extra targets into the clangd binary in order to provide extra clang-tidy checks, but *don't* want to customize the binary further.
(The latter can be useful, but this interface isn't sufficient for it).
The install target for clang distributes the clangd static libs
Mon, Feb 27
It seems pretty weird to me that the two child edges from functiondecl -> coroutinebodystmt -> compoundstmt are both called "body".
Feb 24 2023
I wanted to share this to get some initial thoughts as we'd discussed debuggability a while ago.
As mentioned I'd at least want to get a reasonable HTML report before moving forward with it though.
Still LG
Fix colors, log source
Example textual log (though better with colors):
=== Beginning data flow analysis === int target(int x) { while (x > 0) { --x; } return x + 1; }
A little more docs
The overloading impl is a little surprising to me.
I was assuming that object would always win over function (or that it would be disallowed to combine the two).
I think that is simpler to implement, as you know in advance what type of expansion you're attempting.
But what you have isn't that much more complicated, and the extra flexibility may prove useful.
Feb 23 2023
Thanks, this all looks good, at least as far as I understand it! The two-passes-over-the-whole-file approach is easier for me to follow, too.
Feb 22 2023
Feb 21 2023
Looks pretty good. I think we can build the main file & preamble in parallel. Otherwise nits.
Feb 17 2023
LG thanks!
Feb 16 2023
It's happening!
Feb 15 2023
Feb 8 2023
Based on offline discussion, doubling down on checking in generated files to make these easy/possible to consume where they're needed.
Add comments to schema.yaml.
Add tests that generated files are up-to-date, and script to regenerate
Rename doc.md -> documentation.md
Only serious concern is getPreviousToken().
Feb 7 2023
Code looks reasonable, but I don't understand why the changes are being made - can you explain/link to a bug in the commit message?
The code looks good, but I have a very hard time following the tests.
Feb 3 2023
Feb 2 2023
It looks like this fixes up the location only of diagnostics attached to particular directives (#include) based on some "deep" idea about the content of the directive (the spelled header name).
I can't understand from the description, code, or testcases what problem this is fixing. Can you clarify, ideally by improving the testcases?
Feb 1 2023
Jan 31 2023
Jan 26 2023
Jan 24 2023
oops, helps if I run tests on the right branch
TL;DR: this doesn't work in C++20, maybe revert?
Jan 23 2023
Jan 19 2023
LG, just nits really!
Jan 13 2023
To offer the opposing argument: if DeclResult is just a bad idea, then using it consistently/right might be worse than using it as little as possible.
Jan 12 2023
LG, thanks!
Thanks! This all looks pretty good to me apart from the complexity around comment markers, detecting which comment markers to use for which language etc.
I'd really like if you could either: