Page MenuHomePhabricator

OikawaKirie (Ella Ma)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 22 2020, 11:10 PM (152 w, 6 d)

Recent Activity

Jul 14 2022

OikawaKirie committed rG32fe1a4be95c: [analyzer] Fixing SVal::getType returns Null Type for NonLoc::ConcreteInt in… (authored by OikawaKirie).
[analyzer] Fixing SVal::getType returns Null Type for NonLoc::ConcreteInt in…
Jul 14 2022, 7:07 AM · Restricted Project, Restricted Project
OikawaKirie closed D129737: [analyzer] Fixing SVal::getType returns Null Type for NonLoc::ConcreteInt in boolean type.
Jul 14 2022, 7:06 AM · Restricted Project, Restricted Project
OikawaKirie requested review of D129737: [analyzer] Fixing SVal::getType returns Null Type for NonLoc::ConcreteInt in boolean type.
Jul 14 2022, 12:52 AM · Restricted Project, Restricted Project

May 3 2022

OikawaKirie added a comment to D92160: [clang] Fix wrong FDs are used for files with same name in Tooling.

But it's possible we don't need this. If it's safe for us to update the tests and make FileManager::getFileRef always canonicalize to an absolute path, that would definitely be cleaner. FileManager::makeAbsolute can use whatever the FS's CWD is at the time of query... nice and clean.

I've tried to fix this bug through this way but found that "making FileManager::getFileRef always canonicalize to an absolute path" was pretty hard, because there are many test cases using states stored in FileManager and assuming that they are all in relative form. Besides, the assumption that "the CWD won't change" indeed is correct by design and works fine for single compiler execution. We might not change that unless for a strong necessity.

So I personally believed that this bug is caused by libtooling's incorrect use of FileManger. I plan to fix it by implementing a class like LibtoolingFileManager, or AbsoluteFileManager, which extends the original FileManager and using abs path as key to store the status of seen files, but only used for libtooling.

I will try to upload a patch later to verify the possibility.

May 3 2022, 9:53 PM · Restricted Project, Restricted Project

Mar 21 2022

OikawaKirie committed rG9f90254286dc: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space… (authored by OikawaKirie).
[analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space…
Mar 21 2022, 7:45 PM · Restricted Project
OikawaKirie closed D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
Mar 21 2022, 7:45 PM · Restricted Project, Restricted Project
OikawaKirie updated the diff for D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
  • Add FIXME in test case.
  • Add discourse topic link in summary.
Mar 21 2022, 1:54 AM · Restricted Project, Restricted Project

Mar 20 2022

Herald added a project to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file: Restricted Project.

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.

Mar 20 2022, 8:39 PM · Restricted Project, Restricted Project

Feb 14 2022

OikawaKirie added a comment to D116924: [clang-extdef-mapping] Allow clang-extdef-mapping tool to output customized filename for each index entry.

ping

Feb 14 2022, 11:20 PM · Restricted Project
OikawaKirie added a comment to D102614: [index] Add support for type of pointers to class members.

ping.

Feb 14 2022, 11:16 PM · Restricted Project
OikawaKirie added a comment to D115513: [CMake][Z3] Add customized Z3 install path to RPATH.

ping

Feb 14 2022, 11:14 PM · Restricted Project
OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

I think I have found out the reason for the problem, and it proved my guesses.

Feb 14 2022, 9:29 PM · Restricted Project, Restricted Project

Jan 14 2022

OikawaKirie added a comment to D116329: [clang-check] Adjust argument adjusters for clang-check to strip options blocking the static analyzer.

It seems that it is not committed on my behalf. Maybe you have forgotten to add me as the author?
Sad : (

Jan 14 2022, 1:11 AM · Restricted Project

Jan 13 2022

OikawaKirie added a comment to D116329: [clang-check] Adjust argument adjusters for clang-check to strip options blocking the static analyzer.

Could you please commit it on my behalf (Ella Ma <alansnape3058@gmail.com>)?
Thanks a lot.

Jan 13 2022, 11:28 PM · Restricted Project
OikawaKirie updated the diff for D116329: [clang-check] Adjust argument adjusters for clang-check to strip options blocking the static analyzer.

Updated as suggested.

Jan 13 2022, 5:00 PM · Restricted Project

Jan 10 2022

OikawaKirie requested review of D116924: [clang-extdef-mapping] Allow clang-extdef-mapping tool to output customized filename for each index entry.
Jan 10 2022, 2:47 AM · Restricted Project

Jan 5 2022

OikawaKirie updated the diff for D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

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 5 2022, 6:48 PM · Restricted Project, Restricted Project

Jan 4 2022

OikawaKirie updated the diff for D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

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.

Jan 4 2022, 7:11 AM · Restricted Project, Restricted Project
OikawaKirie updated the diff for D115716: [Analyzer][BugReporter] Replace the example bug report with the one used to generate PathDiagnostic.

First off, your patch is great, and I'm pretty sure we want it!

I remember working around here, and I either have never quite understood what makes exampleReport an example, or have long forgotten. Can we not just rename it to chosenReport, or simply report?

Jan 4 2022, 12:04 AM · Restricted Project

Dec 27 2021

OikawaKirie requested review of D116329: [clang-check] Adjust argument adjusters for clang-check to strip options blocking the static analyzer.
Dec 27 2021, 11:50 PM · Restricted Project

Dec 22 2021

OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

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 22 2021, 7:45 AM · Restricted Project, Restricted Project
OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

Prior to this patch, it worked on M1; after landing it broke something, so we clearly shouldn't land this.

Dec 22 2021, 2:13 AM · Restricted Project, Restricted Project

Dec 21 2021

OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

We shouldn't skip mac targets. I CC ASTImporter folks, they probably have an M1.

Dec 21 2021, 7:00 PM · Restricted Project, Restricted Project

Dec 16 2021

OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

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.

Dec 16 2021, 7:50 PM · Restricted Project, Restricted Project
OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

Could you please revert this on my behalf? I currently have no idea to fix this problem.

Dec 16 2021, 5:15 PM · Restricted Project, Restricted Project
OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

I do not know how this error happens. Maybe we can currently revert this patch an have another try in the future.

Dec 16 2021, 4:11 PM · Restricted Project, Restricted Project
OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

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 16 2021, 2:00 AM · Restricted Project, Restricted Project

Dec 15 2021

OikawaKirie updated the diff for D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

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.

Dec 15 2021, 10:50 PM · Restricted Project, Restricted Project
OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

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 15 2021, 2:44 AM · Restricted Project, Restricted Project

Dec 14 2021

OikawaKirie requested review of D115716: [Analyzer][BugReporter] Replace the example bug report with the one used to generate PathDiagnostic.
Dec 14 2021, 2:23 AM · Restricted Project

Dec 10 2021

OikawaKirie requested review of D115513: [CMake][Z3] Add customized Z3 install path to RPATH.
Dec 10 2021, 5:39 AM · Restricted Project

Dec 9 2021

OikawaKirie updated the diff for D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
  1. Revert function CrossTranslationUnitContext::getLookupName
  2. Add length when dumping the CTU index mapping via function createCrossTUIndexString
  3. Remove the assertions during CTU map query process
  4. Make function parseCrossTUIndexItem more readable
Dec 9 2021, 1:04 AM · Restricted Project, Restricted Project
OikawaKirie added inline comments to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
Dec 9 2021, 12:51 AM · Restricted Project, Restricted Project

Dec 6 2021

OikawaKirie added inline comments to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
Dec 6 2021, 5:09 AM · Restricted Project, Restricted Project
OikawaKirie added inline comments to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
Dec 6 2021, 2:47 AM · Restricted Project, Restricted Project

Dec 5 2021

OikawaKirie added a comment to D102614: [index] Add support for type of pointers to class members.

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.

Dec 5 2021, 11:38 PM · Restricted Project
OikawaKirie added inline comments to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
Dec 5 2021, 10:40 PM · Restricted Project, Restricted Project
OikawaKirie updated the diff for D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
  1. Fix formatting bugs
  2. Update lookup name format as <USR-Length>:<USR> <File-Path> in all comments and documents
  3. Add the new test case as a part of clang/test/Analysis/func-mapping-test.cpp to verify the lookup name
  4. Change the macros for asserting the lookup name format to an NDEBUG wrapped function
Dec 5 2021, 10:39 PM · Restricted Project, Restricted Project

Nov 30 2021

OikawaKirie abandoned D102149: [analyzer][ctu] Allow loading invocation list from a compilation database automatically detected from the ctu-dir.

It seems that this issue has better solutions outside the CTU module, I will drop this revision as mentioned above.
Sorry for the delay.

Nov 30 2021, 3:45 AM · Restricted Project
OikawaKirie updated the diff for D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

It has been a long period since the last discussion, I hope you can still remember this bug. And apologize for the delay.

Nov 30 2021, 3:33 AM · Restricted Project, Restricted Project

May 24 2021

OikawaKirie updated the diff for D102614: [index] Add support for type of pointers to class members.

Update the test case to avoid a crash in the Windows version of the c-index-test tool.

May 24 2021, 10:29 PM · Restricted Project
OikawaKirie added a comment to D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

It seems like everything passes. Yeey, good job!
Shall I commit this tomorrow on your behalf?

May 24 2021, 12:52 PM · Restricted Project
OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

Re-submit the patch to re-build the code.

May 24 2021, 10:23 AM · Restricted Project
OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

Re-submit the patch to re-build the code.

May 24 2021, 10:16 AM · Restricted Project
OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

First of all, thank you for the patch!
We had a meeting with my colleges (@steakhal, @gamesh411) and we agreed in the following. This is indeed an issue and the fix is okay. About the test, we'd like to ask if you could create a small test lib with its own 'open' function that would simply call the system's open and would print 'open'. And then with LD_PREOLOAD you could use that lib in the lit test. (If that approach is not working for some reason then we may just mark the test with XFAIL.)

May 24 2021, 2:21 AM · Restricted Project

May 19 2021

OikawaKirie added inline comments to D102614: [index] Add support for type of pointers to class members.
May 19 2021, 10:22 PM · Restricted Project
OikawaKirie added a comment to D102149: [analyzer][ctu] Allow loading invocation list from a compilation database automatically detected from the ctu-dir.

Thank you for the patch!

Though, the idea is nice, there is a serious technical obstacle here: we cannot use the clangTooling lib as a dependency of the CTU lib because that would introduce a circular dependency. Actually, this was the reason for introducing the invocation list yaml file; we could not use the compilation database implementation from tooling (https://reviews.llvm.org/D75665?id=260238#inline-722328).

May 19 2021, 7:54 AM · Restricted Project
OikawaKirie abandoned D102062: [analyzer][ctu] Append ctu-dir to ctu-invocation-list for non-absolute paths.

First of all, thank you for the patch!
We had a meeting with my colleges (@steakhal, @gamesh411) and we agreed in the following.

We'd like to keep the current behavior because this way the behavior is similar that we got used to with any other command line tools.

May 19 2021, 7:09 AM · Restricted Project

May 18 2021

OikawaKirie added a comment to D102149: [analyzer][ctu] Allow loading invocation list from a compilation database automatically detected from the ctu-dir.

Thank you @OikawaKirie for working on this many CTU related patches! I am going to find time for a thorough review and going to pursue @gamesh411 as well to do the same! On the other hand, it would be really useful if you could build a "Stack" from these patches, I mean could you please set which patch depends from which other (see "Edit related revisions")?

May 18 2021, 3:08 AM · Restricted Project
OikawaKirie added a comment to D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.

I'm not really familiar with the extdefmap part, but I'm surprised that we are using spaces as separators.
Shouldn't we consider using a different character?

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 18 2021, 2:29 AM · Restricted Project, Restricted Project

May 17 2021

OikawaKirie abandoned D102159: [index][analyzer][ctu] Eliminate white spaces in the CTU lookup name..

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 17 2021, 11:30 PM · Restricted Project
OikawaKirie requested review of D102669: [analyzer][ctu] Fix wrong 'multiple definitions' errors caused by space characters in lookup names when parsing the ctu index file.
May 17 2021, 11:22 PM · Restricted Project, Restricted Project
OikawaKirie requested review of D102614: [index] Add support for type of pointers to class members.
May 17 2021, 4:50 AM · Restricted Project

May 10 2021

OikawaKirie added a comment to D102159: [index][analyzer][ctu] Eliminate white spaces in the CTU lookup name..

Maybe we could also handle this kind of type instead of leaving it 'unhandled'? What Type is it?

May 10 2021, 9:14 PM · Restricted Project
OikawaKirie requested review of D102159: [index][analyzer][ctu] Eliminate white spaces in the CTU lookup name..
May 10 2021, 3:33 AM · Restricted Project

May 9 2021

OikawaKirie requested review of D102149: [analyzer][ctu] Allow loading invocation list from a compilation database automatically detected from the ctu-dir.
May 9 2021, 10:58 PM · Restricted Project

May 8 2021

OikawaKirie added a comment to D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

FileCheck error: '<stdin>' is empty.

May 8 2021, 3:36 AM · Restricted Project
OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

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 8 2021, 1:29 AM · Restricted Project

May 7 2021

OikawaKirie added a comment to D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

Okay, so you 'just' want an indication for the given open call. What about using strace?
strace -e trace=openat %clang_cc1 ... 2>&1 | grep '"invocations.yaml"' | FileCheck %s

May 7 2021, 9:47 PM · Restricted Project
OikawaKirie added a comment to D102062: [analyzer][ctu] Append ctu-dir to ctu-invocation-list for non-absolute paths.

On second thought the current behavior is reasonable.

May 7 2021, 8:29 PM · Restricted Project
OikawaKirie requested review of D102062: [analyzer][ctu] Append ctu-dir to ctu-invocation-list for non-absolute paths.
May 7 2021, 4:04 AM · Restricted Project
OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

By inspecting the output that is piped to the count, I have a suspicion:

openat(AT_FDCWD, "invocations.yaml", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
May 7 2021, 3:14 AM · Restricted Project

May 6 2021

OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

Sorry for the spam.

May 6 2021, 10:54 PM · Restricted Project
OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.
  • 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 6 2021, 10:46 PM · Restricted Project
OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

Overall, it looks promising. But I don't quite get this test.
There is no invocation yaml in the temp directory. So, you are probably not testing the right thing.
You wanted to test if the invocation yaml exists, and could be opened but the parsing fails.
You should demonstrate that when a parsing error happens, the error code has recoded and it won't try to reparse the invocation yaml again and again.

May 6 2021, 3:51 AM · Restricted Project

May 5 2021

OikawaKirie updated the diff for D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.

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 :-).)

May 5 2021, 11:40 PM · Restricted Project
OikawaKirie added a comment to D97265: [clang] Allow clang-check to customize analyzer output file or dir name.

Ping @sammccall again for landing this patch on my behalf.
Thanks.

May 5 2021, 8:41 PM · Restricted Project

May 3 2021

OikawaKirie requested review of D101763: [analyzer][ctu] Avoid parsing invocation list again and again during on-demand parsing of CTU.
May 3 2021, 9:05 AM · Restricted Project

Apr 28 2021

OikawaKirie added a comment to D97265: [clang] Allow clang-check to customize analyzer output file or dir name.

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 28 2021, 9:15 PM · Restricted Project

Apr 25 2021

OikawaKirie added a comment to D83660: [analyzer] Fix a crash for dereferencing an empty llvm::Optional variable in SMTConstraintManager.h..

Indeed it looks like a copy & paste error, I'm surprised no one found it earlier.

Regarding the tests, we used to have make check-clang-analysis-z3 (or something similar) that would run only the analyzer's tests, but using Z3 as the constraint solver. It looks like this change broke it: https://reviews.llvm.org/D62445

Apr 25 2021, 12:12 AM · Restricted Project

Apr 24 2021

OikawaKirie added a comment to D97265: [clang] Allow clang-check to customize analyzer output file or dir name.

ping @sammccall again

Apr 24 2021, 11:38 PM · Restricted Project

Mar 31 2021

OikawaKirie added a comment to D83660: [analyzer] Fix a crash for dereferencing an empty llvm::Optional variable in SMTConstraintManager.h..

BTW, I was obstructed by the z3 requirement in the regression test case when I tried to understand your test case. Even though I set the variables LLVM_Z3_INSTALL_DIR and LLVM_ENABLE_Z3_SOLVER during CMake, and the CSA can be correctly compiled with Z3, I still cannot make the test case run during make check-all. Therefore, this case was manually executed with llvm-lit -DUSE_Z3_SOLVER=1. Could you please tell me how to enable Z3 during llvm-lit.

I am a bit unhappy that we cannot run the test automatically, but maybe in the future.
@steakhal, https://reviews.llvm.org/D83677 seems to be related, should we push that?

Mar 31 2021, 8:55 AM · Restricted Project

Mar 27 2021

OikawaKirie updated the diff for D83660: [analyzer] Fix a crash for dereferencing an empty llvm::Optional variable in SMTConstraintManager.h..

I'm somewhat bothered that this patch is not landed yet. :|

I made a crude mock to trigger the bug using LD_PRELOAD.


The test reproduces the issue and passes if you apply the fix from this patch.

However, it requires compiling a shared object with the same compiler you used for building clang. I'm using the c++ compiler, for now.
I think it's a good starting point.

Mar 27 2021, 11:10 PM · Restricted Project

Mar 19 2021

OikawaKirie added a comment to D98918: [clang][lit] Allow test cases to use the compiler that are used to compile Clang.
Mar 19 2021, 2:07 AM · Restricted Project

Mar 18 2021

OikawaKirie requested review of D98918: [clang][lit] Allow test cases to use the compiler that are used to compile Clang.
Mar 18 2021, 8:33 PM · Restricted Project

Mar 17 2021

OikawaKirie added a comment to D97265: [clang] Allow clang-check to customize analyzer output file or dir name.

@sammccall ping.

Mar 17 2021, 11:57 PM · Restricted Project

Mar 12 2021

OikawaKirie added a comment to D98407: [clang-query] Add syntax highlight for clang-query scripts..

Matchers change over time, so it may be wise to create a script to parse clang/lib/ASTMatchers/Dynamic/Registry.cpp and extract the matcher definitions from there. Save manually updating of this.

Mar 12 2021, 2:09 AM · Restricted Project, Restricted Project

Mar 11 2021

OikawaKirie added a comment to D98407: [clang-query] Add syntax highlight for clang-query scripts..

Matchers change over time, so it may be wise to create a script to parse clang/lib/ASTMatchers/Dynamic/Registry.cpp and extract the matcher definitions from there. Save manually updating of this.

Mar 11 2021, 4:06 AM · Restricted Project, Restricted Project
OikawaKirie requested review of D98407: [clang-query] Add syntax highlight for clang-query scripts..
Mar 11 2021, 3:34 AM · Restricted Project, Restricted Project

Mar 7 2021

OikawaKirie updated the diff for D97265: [clang] Allow clang-check to customize analyzer output file or dir name.

Replace concatenating the output from clang-check and plist with separated checks to workaround the test failure on Windows.

Mar 7 2021, 8:37 PM · Restricted Project

Mar 4 2021

OikawaKirie updated the diff for D97265: [clang] Allow clang-check to customize analyzer output file or dir name.
  1. 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.
  2. 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.
Mar 4 2021, 11:04 PM · Restricted Project

Feb 23 2021

OikawaKirie added a comment to D97265: [clang] Allow clang-check to customize analyzer output file or dir name.
Feb 23 2021, 11:19 PM · Restricted Project
OikawaKirie requested review of D97251: [llvm] Add assertions for the smart pointers with the possibility to be null in ClangAttrEmitter.

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.

Feb 23 2021, 8:45 PM · Restricted Project
OikawaKirie added a comment to D97185: [llvm] Add assertions for the smart pointers with the possibility to be null in DWARFLinker::loadClangModule.

If the revision is done, please commit it on my behalf. Thank you.

Feb 23 2021, 8:06 PM · Restricted Project
OikawaKirie added a comment to D97258: [llvm] Add assertions for the smart pointers with the possibility to be null in ModuleLazyLoaderCache::operator().

If the revision is done, please commit it on my behalf. Thank you.

Feb 23 2021, 8:05 PM · Restricted Project
OikawaKirie requested review of D97265: [clang] Allow clang-check to customize analyzer output file or dir name.
Feb 23 2021, 1:45 AM · Restricted Project

Feb 22 2021

OikawaKirie abandoned D91844: [llvm][clang] Add checks for the smart pointers with the possibility to be null.

Split to

  • D97251 (clang/utils/TableGen/ClangAttrEmitter.cpp)
  • D97185 (llvm/lib/DWARFLinker/DWARFLinker.cpp)
  • D97254 (llvm/lib/LTO/ThinLTOCodeGenerator.cpp)
  • D97255 (llvm/lib/Support/VirtualFileSystem.cpp)
  • D97258 (llvm/tools/llvm-link/llvm-link.cpp)
Feb 22 2021, 10:46 PM · Restricted Project, Restricted Project
OikawaKirie requested review of D97258: [llvm] Add assertions for the smart pointers with the possibility to be null in ModuleLazyLoaderCache::operator().
Feb 22 2021, 10:37 PM · Restricted Project
OikawaKirie requested review of D97255: [clang] Add assertions for the smart pointers with the possibility to be null in InMemoryFileSystem::addFile.
Feb 22 2021, 10:09 PM · Restricted Project, Restricted Project
OikawaKirie requested review of D97254: [llvm] Add assertions for the smart pointers with the possibility to be null returned from ThinLTOCodeGenerator::linkCombinedIndex.
Feb 22 2021, 9:57 PM · Restricted Project
OikawaKirie added a comment to D97251: [llvm] Add assertions for the smart pointers with the possibility to be null in ClangAttrEmitter.

As a recursive function it is, the original patch in D91844 was adding assertions where the function is called other places in the file.

Feb 22 2021, 9:16 PM · Restricted Project
OikawaKirie requested review of D97251: [llvm] Add assertions for the smart pointers with the possibility to be null in ClangAttrEmitter.
Feb 22 2021, 9:07 PM · Restricted Project
OikawaKirie requested review of D97185: [llvm] Add assertions for the smart pointers with the possibility to be null in DWARFLinker::loadClangModule.
Feb 22 2021, 12:52 AM · Restricted Project

Jan 4 2021

OikawaKirie added a comment to D92634: [Analyzer] Diagnose signed integer overflow.

However, the mainstream compilers like GCC and Clang implement this as the overflowed value, and some programmers also use this feature to do some tricky things.

hmm.. you mean if some -fwrapv flag is used right. yes I should disable this checking then.

For information, I am not very worried about signed integer overflow. I am mostly worried about the compiler optimisations. If the compiler determines that there is signed integer overflow in a execution path and removes all code in that path.

I was inspired by this blog post: https://www.airs.com/blog/archives/120

This function:

int f(int x) { return 0x7ffffff0 < x && x + 32 < 0x7fffffff; }

might be optimized to:

int f(int x) { return 0; }
Jan 4 2021, 7:58 PM · Restricted Project

Jan 3 2021

OikawaKirie added a comment to D92634: [Analyzer] Diagnose signed integer overflow.

Besides, the return value should be the exact value computed from the two integers, even unknown, rather than undefined. As the developers may overflow an integer on purpose.

I am not sure what you mean. If there is undefined behavior then the value should be undefined and nothing else.. right?

Jan 3 2021, 7:59 PM · Restricted Project

Dec 14 2020

OikawaKirie added a comment to D92634: [Analyzer] Diagnose signed integer overflow.

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.

Dec 14 2020, 8:40 PM · Restricted Project
OikawaKirie added a comment to D92160: [clang] Fix wrong FDs are used for files with same name in Tooling.

Replies from the original author Hao Zhang <zhanghao19@ios.ac.cn>

Dec 14 2020, 8:24 PM · Restricted Project, Restricted Project

Dec 10 2020

OikawaKirie added a comment to D92160: [clang] Fix wrong FDs are used for files with same name in Tooling.

Replies from the original author Hao Zhang <zhanghao19@ios.ac.cn>

Dec 10 2020, 10:12 PM · Restricted Project, Restricted Project

Dec 9 2020

OikawaKirie updated the summary of D92160: [clang] Fix wrong FDs are used for files with same name in Tooling.
Dec 9 2020, 10:56 PM · Restricted Project, Restricted Project
OikawaKirie added a comment to D92160: [clang] Fix wrong FDs are used for files with same name in Tooling.

Replies from the original author Hao Zhang <zhanghao19@ios.ac.cn>
(Sorry for the wrong email address in the previous reply.)

Dec 9 2020, 10:55 PM · Restricted Project, Restricted Project