User Details
- User Since
- Jun 22 2020, 11:10 PM (152 w, 6 d)
Jul 14 2022
May 3 2022
Mar 21 2022
- Add FIXME in test case.
- Add discourse topic link in summary.
Mar 20 2022
I agree with @keith to commit this patch without using on-demand-parsing through cc1.
As this patch has nothing to do with the target triple issue we found.
Feb 14 2022
ping
ping.
ping
I think I have found out the reason for the problem, and it proved my guesses.
Jan 14 2022
It seems that it is not committed on my behalf. Maybe you have forgotten to add me as the author?
Sad : (
Jan 13 2022
Could you please commit it on my behalf (Ella Ma <alansnape3058@gmail.com>)?
Thanks a lot.
Updated as suggested.
Jan 10 2022
Jan 5 2022
To make it work on Windows, Linux, and Mac OS, using echo to create the external function map, and using AST file for CTU analysis.
Tested on Windows, Linux, and Mac OS under x64.
Jan 4 2022
Replace on-demand-parsing with loading AST file for the new test case.
Tested on Linux and MacOS(x86).
If it can also pass the CI test on Windows, I think we can have another try on landing this patch.
Dec 27 2021
Dec 22 2021
I have confirmed that this problem is not due to this patch.
Besides, on Mac, both m1 and intel, the on-demand-parsing as well as loading an AST file generated via driver argument -emit-ast will also trigger this problem.
However, when loading an AST file generated via cc1 argument -emit-pch, the problem is not triggered.
Dec 21 2021
Dec 16 2021
It seems that it is not this patch that triggers the problem, which is similar to D75665.
IMO it is the problem of on-demand-parsing, but I do not have a Mac M1 device to reproduce this bug.
Maybe we can just land this patch by restricting the test case to be executed only on Linux, just as what D75665 does (rG5cc18516c483 vs rG97e07d0c352c), and leave the problem for future fixes.
Could you please revert this on my behalf? I currently have no idea to fix this problem.
I do not know how this error happens. Maybe we can currently revert this patch an have another try in the future.
It seems this patch has nothing to do with the failure in the Linux build. I think it is now ready to land.
Thanks a lot for your suggestions during the revision.
Dec 15 2021
Fix YAML:1:293: error: Unrecognized escape code error by replacing lit substitution pattern %S to %/S.
Fix cp problems by removing the file copy operations.
When running my test case ctu-lookup-name-with-space.cpp on Windows, llvm-lit reports 'cp': command not found. And this is the reason why it fails on Windows.
And when I remove the cps and replace them with original file names, clang reports YAML:1:293: error: Unrecognized escape code, it seems that the static analyzer only reads compilation database in YAML format on Windows.
Should I disable this test case on Windows? Or is there any other approaches to make it work on Windows?
Dec 14 2021
Dec 10 2021
Dec 9 2021
- Revert function CrossTranslationUnitContext::getLookupName
- Add length when dumping the CTU index mapping via function createCrossTUIndexString
- Remove the assertions during CTU map query process
- Make function parseCrossTUIndexItem more readable
Dec 6 2021
Dec 5 2021
What do you think about this patch? Can it be landed now? Or I should debug the crash in the Windows version detected with the previous version of my patch.
- Fix formatting bugs
- Update lookup name format as <USR-Length>:<USR> <File-Path> in all comments and documents
- Add the new test case as a part of clang/test/Analysis/func-mapping-test.cpp to verify the lookup name
- Change the macros for asserting the lookup name format to an NDEBUG wrapped function
Nov 30 2021
It seems that this issue has better solutions outside the CTU module, I will drop this revision as mentioned above.
Sorry for the delay.
It has been a long period since the last discussion, I hope you can still remember this bug. And apologize for the delay.
May 24 2021
Update the test case to avoid a crash in the Windows version of the c-index-test tool.
Re-submit the patch to re-build the code.
Re-submit the patch to re-build the code.
May 19 2021
May 18 2021
I prefer the idea of changing the delimiter character, but it may lead to modifying a lot of test cases.
I think we'd better make this change in another revision in the future if we do want to change it.
May 17 2021
It seems impossible and not so reasonable to eliminate all white space characters in the USR as mentioned in the test case of revision D102669.
This patch is split to revision D102669 to fix the wrongly parsed CTU index file and revision D102614 to handle the member pointer type mentioned here.
Please continue with these two following revisions and I will close this one.
May 10 2021
May 9 2021
May 8 2021
FileCheck error: '<stdin>' is empty.
Monitor function open together with openat to fix the failure in the test case.
As some distros actually call function open rather than forward to function openat, both functions should be monitored by strace.
May 7 2021
May 6 2021
Sorry for the spam.
- Update the test case as suggested.
- Add a case branch for the index_error_code::success error code in function IndexErrorCategory::message to silent the compiler warnings.
May 5 2021
Add a regression test case by mocking the open function. When this function is called with the file name of the invocation list, the mocked open function will reject the open operation and dump a log. And we will then check how many times are the invocation list opened. (Thanks to the ideas by steakhal in another patch of mocking a library function :-).)
Ping @sammccall again for landing this patch on my behalf.
Thanks.
May 3 2021
Apr 28 2021
If this patch is OK, could you please commit it on my behalf (Ella Ma <alansnape3058@gmail.com>)?
Thx.
And I will continue working on the -Xanalyzer option for clang-check, as it is too complex when adding analyzer options via the -extra-arg option.
Apr 25 2021
Apr 24 2021
ping @sammccall again
Mar 31 2021
Mar 27 2021
Mar 19 2021
Mar 18 2021
Mar 17 2021
@sammccall ping.
Mar 12 2021
Mar 11 2021
Mar 7 2021
Replace concatenating the output from clang-check and plist with separated checks to workaround the test failure on Windows.
Mar 4 2021
- Update option name from -output to -analyzer-output-path. As it can either be a file name or a directory name, the word path may not be accurate. Please give me your suggestions on this option name.
- Add more verifications on the output files, rather than verifying the value of the -o option. For simplicity, the regression test case only checks the plist format.
Feb 23 2021
My only concern is the recursive call to this function on line 1359. If you think it is also OK for the recursive call on line 1359, I will update the patch as you mentioned above.
If the revision is done, please commit it on my behalf. Thank you.
If the revision is done, please commit it on my behalf. Thank you.
Feb 22 2021
Split to
As a recursive function it is, the original patch in D91844 was adding assertions where the function is called other places in the file.
Jan 4 2021
Jan 3 2021
Dec 14 2020
I think it could be better to implement this check with a checker on PreStmt<BinaryOperator> and so on. And IMO, checkers have enough functionalities to report these problems.
Replies from the original author Hao Zhang <zhanghao19@ios.ac.cn>
Dec 10 2020
Replies from the original author Hao Zhang <zhanghao19@ios.ac.cn>
Dec 9 2020
Replies from the original author Hao Zhang <zhanghao19@ios.ac.cn>
(Sorry for the wrong email address in the previous reply.)