Page MenuHomePhabricator

v.g.vassilev (Vassil Vassilev)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 21 2016, 7:16 AM (360 w, 6 d)

Recent Activity

Today

v.g.vassilev edited reviewers for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one., added: dblaikie; removed: tapaswenipathak.
Wed, Mar 22, 5:48 AM · Restricted Project

Tue, Mar 14

v.g.vassilev accepted D146067: JITLink: Add missing EHFrame NULL terminator on aarch64/ELF.

Nice!

Tue, Mar 14, 10:27 AM · Restricted Project, Restricted Project

Tue, Feb 28

v.g.vassilev planned changes to D143524: Make the -Wunused-template default..
Tue, Feb 28, 1:07 PM · Restricted Project

Fri, Feb 24

v.g.vassilev added a comment to D143524: Make the -Wunused-template default..

Indeed the warning is noisy but it will potentially fix broken code which were unable to diagnose before. Especially that in some cases where static templates in header files are used as an idiom. In theory this approach can extend to cases described in https://wg21.link/p2691 where our inability to diagnose/fix these cases leads to some design decisions which may not be optimal.

We need to ensure the diagnostic is not so noisy that people disable it, though. That means a low false positive rate and a straight-forward way to silence the diagnostic on a case-by-case basis.

Fri, Feb 24, 5:43 AM · Restricted Project

Thu, Feb 23

v.g.vassilev added a comment to D143524: Make the -Wunused-template default..

It looks like this warning is incompatible with -Wctad-maybe-unsupported. It warns that the deduction guide is unused, but the deduction guide is required suppress -Wctad-maybe-unsupported. https://godbolt.org/z/G8bMjYsbn

Thu, Feb 23, 12:26 PM · Restricted Project
v.g.vassilev added a comment to D143524: Make the -Wunused-template default..

The emitted warnings from the libc++ CI look like a false-positive to me. While the functions are never called, they are used in an unevaluated context. I would expect -Wunused warnings to only be emitted when I can just remove the code without problems, which doesn't seem to be the case here. It would probably just get turned off again by lots of people if there are too many false-positives, which I don't think is the goal here.

From what I see is that most of the templates are marked with static which means internal linkage. Entities with internal linkage in header files are essentially different across translation units which is an ODR violation. I believe the discussion here gives more insights of how this works: https://reviews.llvm.org/D29877

Indeed the warning is noisy but it will potentially fix broken code which were unable to diagnose before. Especially that in some cases where static templates in header files are used as an idiom. In theory this approach can extend to cases described in https://wg21.link/p2691 where our inability to diagnose/fix these cases leads to some design decisions which may not be optimal.

I missed the static at the beginning. That explains the warning, thanks! I agree this should be fixed. I'll look into making a patch to enable -Wunused-template and fix any problems. Hopefully there aren't too many.

Thu, Feb 23, 10:40 AM · Restricted Project
v.g.vassilev added inline comments to D143524: Make the -Wunused-template default..
Thu, Feb 23, 10:37 AM · Restricted Project
v.g.vassilev added a comment to D143524: Make the -Wunused-template default..

The emitted warnings from the libc++ CI look like a false-positive to me. While the functions are never called, they are used in an unevaluated context. I would expect -Wunused warnings to only be emitted when I can just remove the code without problems, which doesn't seem to be the case here. It would probably just get turned off again by lots of people if there are too many false-positives, which I don't think is the goal here.

Thu, Feb 23, 10:33 AM · Restricted Project

Tue, Feb 21

v.g.vassilev added a comment to D142176: [libunwind] On Darwin, add a callback-based lookup scheme for JIT'd unwind info..

Here's a potential testcase, for anyone who wants to try this out. You'll need to build LLVM, compiler-rt, and libunwind:

C++ source for testcase:

int main(int argc, char *argv[]) {
  try {
    throw 42;
  } catch (int X) {
    return X;
  }
  return 0;
}

This can be compiled and run under the llvm-jitlink test tool on Darwin with:

% clang++ -c -o eh.o eh.cpp
% DYLD_LIBRARY_PATH=/path/to/llvm-build/lib ORC_RT_DEBUG=1 llvm-jitlink -orc-runtime=/path/to/llvm-build/lib/clang/16/lib/darwin/liborc_rt_osx.a eh.o
__unw_add/remove_find_dynamic_unwind_sections available. Using callback-based frame info lookup.
...

You can verify that the exception was caught and handled correctly by printing the return code:

% echo $?
42
Tue, Feb 21, 5:27 AM · Restricted Project, Restricted Project, Restricted Project

Feb 17 2023

v.g.vassilev committed rG159073bc0a87: [clang-repl] Support compound statement as a top-level statement. (authored by v.g.vassilev).
[clang-repl] Support compound statement as a top-level statement.
Feb 17 2023, 1:10 AM · Restricted Project, Restricted Project
v.g.vassilev closed D139798: [clang-repl] Support compound statement as a top-level statement..
Feb 17 2023, 1:09 AM · Restricted Project, Restricted Project
v.g.vassilev added a comment to D139798: [clang-repl] Support compound statement as a top-level statement..

This seems like a good candidate for a post commit review.

Feb 17 2023, 1:09 AM · Restricted Project, Restricted Project

Feb 15 2023

v.g.vassilev added inline comments to D143148: [clang-repl] Add basic multiline input support.
Feb 15 2023, 12:02 AM · Restricted Project, Restricted Project

Feb 14 2023

v.g.vassilev added a comment to D143142: [clang][lex] Enable Lexer to grow its buffer.

We should probably add some tests here. Alternatively we can add the tests from https://reviews.llvm.org/D143148 but that'd make this patch bulkier and probably harder to review.

Feb 14 2023, 11:53 PM · Restricted Project, Restricted Project

Feb 10 2023

v.g.vassilev added a comment to D139798: [clang-repl] Support compound statement as a top-level statement..

ping

Feb 10 2023, 6:10 PM · Restricted Project, Restricted Project

Feb 9 2023

v.g.vassilev added inline comments to D143142: [clang][lex] Enable Lexer to grow its buffer.
Feb 9 2023, 2:45 AM · Restricted Project, Restricted Project

Feb 7 2023

v.g.vassilev requested review of D143524: Make the -Wunused-template default..
Feb 7 2023, 1:17 PM · Restricted Project

Feb 6 2023

v.g.vassilev commandeered D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..
Feb 6 2023, 11:42 AM · Restricted Project
v.g.vassilev committed rG064f68f7c451: Don't re-export top-level modules (authored by v.g.vassilev).
Don't re-export top-level modules
Feb 6 2023, 9:35 AM · Restricted Project, Restricted Project
v.g.vassilev closed D142805: Don't re-export top-level modules..
Feb 6 2023, 9:35 AM · Restricted Project, Restricted Project

Jan 28 2023

v.g.vassilev added inline comments to D119036: [libc++] Fix modules and benchmarks CI builds when incomplete features are disabled.
Jan 28 2023, 4:23 AM · Restricted Project, Restricted Project
v.g.vassilev requested review of D142805: Don't re-export top-level modules..
Jan 28 2023, 4:22 AM · Restricted Project, Restricted Project

Jan 24 2023

v.g.vassilev committed rG38ef56880a99: Teach RuntimeDyld about COFF weak references and to consider comdat symbols… (authored by v.g.vassilev).
Teach RuntimeDyld about COFF weak references and to consider comdat symbols…
Jan 24 2023, 10:26 AM · Restricted Project, Restricted Project
v.g.vassilev closed D138264: [COFF] Improve JIT support of weak symbols.
Jan 24 2023, 10:26 AM · Restricted Project, Restricted Project
v.g.vassilev added reviewers for D142443: [ORC] Drop Comdat when discarding IR symbol: sunho, sgraenitz.
Jan 24 2023, 5:55 AM · Restricted Project, Restricted Project

Jan 20 2023

v.g.vassilev updated the diff for D138264: [COFF] Improve JIT support of weak symbols.

clang-format

Jan 20 2023, 11:50 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D138264: [COFF] Improve JIT support of weak symbols.

Added a testcase by Sunho!

Jan 20 2023, 1:50 AM · Restricted Project, Restricted Project

Jan 19 2023

Herald added a project to D119036: [libc++] Fix modules and benchmarks CI builds when incomplete features are disabled: Restricted Project.
Jan 19 2023, 2:27 PM · Restricted Project, Restricted Project

Jan 18 2023

v.g.vassilev added a comment to D119708: [clang][lex] Remove `PPCallbacks::FileNotFound()`.

Hello, sorry for the late heads-up, but this functionality is used by ROOT: https://github.com/root-project/root/blob/f58cccf5ce7fd67894c7fd9e9e74d3f37bc1acba/core/metacling/src/TClingCallbacks.cxx#L282 Any chance of bringing this back?

Hi. Your downstream callback never fills in RecoveryPath and always returns false, meaning it will never reach the unsafe block of code I had issue with: HeaderInfo.AddSearchPath(DL, isAngled).
Technically, we could bring back a safe/trimmed-down version of this callback that doesn't take the out-parameter and returns void. But I don't think it's the right call, since that would essentially re-introduce dead code to upstream.
This is probably best kept downstream, unless there are other downstream users.

Jan 18 2023, 1:10 AM · Restricted Project, Restricted Project, Restricted Project

Jan 17 2023

v.g.vassilev added a comment to D131858: [clang] Track the templated entity in type substitution..

Thanks a lot @rsmith for providing a fix and thanks a lot @aaron.ballman and @erichkeane for the efforts saving @mizvekov work over the summer. I believe he has sporadic access to internet and soon he will be back to normal. Great example of team work here!!

Note we don't yet have the evidence that this is savable yet, we should know in the next day or so. At minimum, at least 1 of his patches needs to be reverted due to the memory regression.

I see that https://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/6584/ picked up your revert and seems successful. Then the next build is green as well and then starts failing for a reason that’s unrelated to this patch.

Yep! So only 1 of the patches (D136566 needs reverting/further attention).

Jan 17 2023, 6:15 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jan 14 2023

v.g.vassilev added a comment to D131858: [clang] Track the templated entity in type substitution..

Thanks a lot @rsmith for providing a fix and thanks a lot @aaron.ballman and @erichkeane for the efforts saving @mizvekov work over the summer. I believe he has sporadic access to internet and soon he will be back to normal. Great example of team work here!!

Note we don't yet have the evidence that this is savable yet, we should know in the next day or so. At minimum, at least 1 of his patches needs to be reverted due to the memory regression.

Jan 14 2023, 10:22 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jan 13 2023

v.g.vassilev added a comment to D131858: [clang] Track the templated entity in type substitution..

Thanks a lot @rsmith for providing a fix and thanks a lot @aaron.ballman and @erichkeane for the efforts saving @mizvekov work over the summer. I believe he has sporadic access to internet and soon he will be back to normal. Great example of team work here!!

Jan 13 2023, 9:50 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jan 12 2023

v.g.vassilev added a comment to D131858: [clang] Track the templated entity in type substitution..

@mizvekov : I'm looking at the revert of this since no work seems to have been done to fix @steven_wu 's problem. Unfortunately, it seems that reverting this requires reverting https://reviews.llvm.org/D134604 plus all of the "Instantiate" patches, which undoes basically all of your work.

I'm starting it now, but its unfortunate that we are going to lose this much of your work.

Jan 12 2023, 8:41 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Dec 14 2022

UnionType awarded D139798: [clang-repl] Support compound statement as a top-level statement. a Like token.
Dec 14 2022, 4:22 AM · Restricted Project, Restricted Project
UnionType awarded D139798: [clang-repl] Support compound statement as a top-level statement. a Like token.
Dec 14 2022, 4:21 AM · Restricted Project, Restricted Project

Dec 11 2022

v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Dec 11 2022, 1:13 PM · Restricted Project, Restricted Project
v.g.vassilev requested review of D139798: [clang-repl] Support compound statement as a top-level statement..
Dec 11 2022, 1:12 PM · Restricted Project, Restricted Project

Dec 5 2022

v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

Latest test run: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48911/execution/node/74/log/
I modified the expected string slightly to make it work: https://reviews.llvm.org/rG811ad246ac7b
Should be all good now. Thanks for looking into this!

Dec 5 2022, 3:13 AM · Restricted Project, Restricted Project

Dec 4 2022

v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

UPDATE: fails with clean build too

Might be best to revert it for now while we figure out what's wrong

I fail to reproduce it, can you give me access to some node where I can debug? I suspect that should be something easy to fix.

UPDATE: Reproduced it. Debugging.

@Michael137, I think I understand what happens. This patch introduces a new language option which is not benign from modules perspective. However, lldb sets up modules the old way and then switches to the incremental processing mode. We have two ways to fix this:

  • Pass -Xclang -fincremental-extensions in ClangModulesDeclVendor.cpp and delete instance->getPreprocessor().enableIncrementalProcessing();; or
  • Apply https://reviews.llvm.org/D139258 which already does that.

Can you check if https://reviews.llvm.org/D139258 passes the lldb testsuite. It does pass my reproduction by hand (I still cannot run full of the lldb-api tests)?

Thanks for taking a look. I tried with the suggested patch on the Objective-C API tests and there's only 1 test failure remaining there:

lang/objc/modules-compile-error/TestModulesCompileError.py

Expecting sub string: "module.h:4:1: error: unknown type name 'syntax_error_for_lldb_to_find'" (was not found)

The test expects an error string that looks like unknown type name 'syntax_error_for_lldb_to_find' but gets use of 'undeclared identifier 'syntax_error_for_lldb_to_find'

Haven't looked much further than that. Does that sound familiar to you? I see a similar test fix as part of this patch. Maybe it's just a matter of fixing up the expected string.

I think we should revert for now until https://reviews.llvm.org/D139258 is ready to go. Just to unblock the buildbot

Dec 4 2022, 11:40 PM · Restricted Project, Restricted Project
v.g.vassilev committed rGc95a0c91c0de: [lldb] Fix the way we set up the lldb modules infrastructure. (authored by v.g.vassilev).
[lldb] Fix the way we set up the lldb modules infrastructure.
Dec 4 2022, 11:39 PM · Restricted Project
v.g.vassilev added a reviewer for D139258: Remove the enableIncrementalProcesing logic in favor of -fincremental-extensions: Michael137.
Dec 4 2022, 12:17 PM · Restricted Project
v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

UPDATE: fails with clean build too

Might be best to revert it for now while we figure out what's wrong

I fail to reproduce it, can you give me access to some node where I can debug? I suspect that should be something easy to fix.

UPDATE: Reproduced it. Debugging.

Dec 4 2022, 12:17 PM · Restricted Project, Restricted Project
v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

UPDATE: fails with clean build too

Might be best to revert it for now while we figure out what's wrong

Dec 4 2022, 11:46 AM · Restricted Project, Restricted Project
v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

FYI, looks like this broke the LLDB incremental buildbot. Following tests started failing:

lldb-api.commands/expression/argument_passing_restrictions.TestArgumentPassingRestrictions.py
lldb-api.commands/expression/deleting-implicit-copy-constructor.TestDeletingImplicitCopyConstructor.py
lldb-api.commands/expression/diagnostics.TestExprDiagnostics.py
lldb-api.commands/expression/import-std-module/array.TestArrayFromStdModule.py
lldb-api.commands/expression/import-std-module/module-build-errors.TestStdModuleBuildErrors.py
lldb-api.commands/expression/rdar44436068.Test128BitsInteger.py
lldb-api.commands/expression/weak_symbols.TestWeakSymbols.py
lldb-api.commands/target/dump-pcm-info.TestDumpPCMInfo.py
lldb-api.functionalities/data-formatter/compactvectors.TestCompactVectors.py
lldb-api.functionalities/tail_call_frames/cross_object.TestCrossObjectTailCalls.py
lldb-api.functionalities/target_var/no_vars.TestTargetVarNoVars.py
lldb-api.lang/c/modules.TestCModules.py
lldb-api.lang/cpp/accelerator-table.TestCPPAccelerator.py
lldb-api.lang/cpp/modules-import.TestCXXModulesImport.py
lldb-api.lang/objc/modules.TestObjCModules.py
lldb-api.lang/objc/modules-auto-import.TestModulesAutoImport.py
lldb-api.lang/objc/modules-cache.TestClangModulesCache.py
lldb-api.lang/objc/modules-compile-error.TestModulesCompileError.py
lldb-api.lang/objc/modules-incomplete.TestIncompleteModules.py
lldb-api.lang/objc/modules-inline-functions.TestModulesInlineFunctions.py
lldb-api.lang/objc/modules-non-objc-target.TestObjCModulesNonObjCTarget.py
lldb-api.lang/objc/modules-objc-property.TestModulesObjCProperty.py
lldb-api.tools/lldb-server.TestLldbGdbServer.py

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48872/
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48873/

Last successful build: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48871/

Hi @Michael137, I cannot reproduce these failures on unix. Is there some special way I need to compile. I will try reproducing them on OSX. Did you have time to debug where the tests fail?

I cannot reproduce this on osx either.

Hmmm how are you running the tests? It reproduces pretty consistently with the patch and doesn't without it. I just run ninja check-lldb-api (assuming you built with LLDB_INCLUDE_TESTS=ON)

Let me try with a clean build

Dec 4 2022, 11:45 AM · Restricted Project, Restricted Project
v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

FYI, looks like this broke the LLDB incremental buildbot. Following tests started failing:

lldb-api.commands/expression/argument_passing_restrictions.TestArgumentPassingRestrictions.py
lldb-api.commands/expression/deleting-implicit-copy-constructor.TestDeletingImplicitCopyConstructor.py
lldb-api.commands/expression/diagnostics.TestExprDiagnostics.py
lldb-api.commands/expression/import-std-module/array.TestArrayFromStdModule.py
lldb-api.commands/expression/import-std-module/module-build-errors.TestStdModuleBuildErrors.py
lldb-api.commands/expression/rdar44436068.Test128BitsInteger.py
lldb-api.commands/expression/weak_symbols.TestWeakSymbols.py
lldb-api.commands/target/dump-pcm-info.TestDumpPCMInfo.py
lldb-api.functionalities/data-formatter/compactvectors.TestCompactVectors.py
lldb-api.functionalities/tail_call_frames/cross_object.TestCrossObjectTailCalls.py
lldb-api.functionalities/target_var/no_vars.TestTargetVarNoVars.py
lldb-api.lang/c/modules.TestCModules.py
lldb-api.lang/cpp/accelerator-table.TestCPPAccelerator.py
lldb-api.lang/cpp/modules-import.TestCXXModulesImport.py
lldb-api.lang/objc/modules.TestObjCModules.py
lldb-api.lang/objc/modules-auto-import.TestModulesAutoImport.py
lldb-api.lang/objc/modules-cache.TestClangModulesCache.py
lldb-api.lang/objc/modules-compile-error.TestModulesCompileError.py
lldb-api.lang/objc/modules-incomplete.TestIncompleteModules.py
lldb-api.lang/objc/modules-inline-functions.TestModulesInlineFunctions.py
lldb-api.lang/objc/modules-non-objc-target.TestObjCModulesNonObjCTarget.py
lldb-api.lang/objc/modules-objc-property.TestModulesObjCProperty.py
lldb-api.tools/lldb-server.TestLldbGdbServer.py

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48872/
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48873/

Last successful build: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48871/

Hi @Michael137, I cannot reproduce these failures on unix. Is there some special way I need to compile. I will try reproducing them on OSX. Did you have time to debug where the tests fail?

Dec 4 2022, 8:44 AM · Restricted Project, Restricted Project
v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

FYI, looks like this broke the LLDB incremental buildbot. Following tests started failing:

lldb-api.commands/expression/argument_passing_restrictions.TestArgumentPassingRestrictions.py
lldb-api.commands/expression/deleting-implicit-copy-constructor.TestDeletingImplicitCopyConstructor.py
lldb-api.commands/expression/diagnostics.TestExprDiagnostics.py
lldb-api.commands/expression/import-std-module/array.TestArrayFromStdModule.py
lldb-api.commands/expression/import-std-module/module-build-errors.TestStdModuleBuildErrors.py
lldb-api.commands/expression/rdar44436068.Test128BitsInteger.py
lldb-api.commands/expression/weak_symbols.TestWeakSymbols.py
lldb-api.commands/target/dump-pcm-info.TestDumpPCMInfo.py
lldb-api.functionalities/data-formatter/compactvectors.TestCompactVectors.py
lldb-api.functionalities/tail_call_frames/cross_object.TestCrossObjectTailCalls.py
lldb-api.functionalities/target_var/no_vars.TestTargetVarNoVars.py
lldb-api.lang/c/modules.TestCModules.py
lldb-api.lang/cpp/accelerator-table.TestCPPAccelerator.py
lldb-api.lang/cpp/modules-import.TestCXXModulesImport.py
lldb-api.lang/objc/modules.TestObjCModules.py
lldb-api.lang/objc/modules-auto-import.TestModulesAutoImport.py
lldb-api.lang/objc/modules-cache.TestClangModulesCache.py
lldb-api.lang/objc/modules-compile-error.TestModulesCompileError.py
lldb-api.lang/objc/modules-incomplete.TestIncompleteModules.py
lldb-api.lang/objc/modules-inline-functions.TestModulesInlineFunctions.py
lldb-api.lang/objc/modules-non-objc-target.TestObjCModulesNonObjCTarget.py
lldb-api.lang/objc/modules-objc-property.TestModulesObjCProperty.py
lldb-api.tools/lldb-server.TestLldbGdbServer.py

https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48872/
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48873/

Last successful build: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/48871/

Dec 4 2022, 6:00 AM · Restricted Project, Restricted Project

Dec 3 2022

v.g.vassilev requested review of D139258: Remove the enableIncrementalProcesing logic in favor of -fincremental-extensions.
Dec 3 2022, 10:30 AM · Restricted Project
v.g.vassilev committed rG060424178ae3: [clang-repl] Fix ambiguous initializer list. (authored by v.g.vassilev).
[clang-repl] Fix ambiguous initializer list.
Dec 3 2022, 12:17 AM · Restricted Project, Restricted Project

Dec 2 2022

v.g.vassilev committed rGdc4889357adb: [clang-repl] Support statements on global scope in incremental mode. (authored by v.g.vassilev).
[clang-repl] Support statements on global scope in incremental mode.
Dec 2 2022, 11:18 PM · Restricted Project, Restricted Project
v.g.vassilev closed D127284: [clang-repl] Support statements on global scope in incremental mode..
Dec 2 2022, 11:18 PM · Restricted Project, Restricted Project

Dec 1 2022

v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Fixed the diff. I accidentally have added the commits from https://reviews.llvm.org/D139016

Dec 1 2022, 12:51 PM · Restricted Project, Restricted Project
v.g.vassilev planned changes to D127284: [clang-repl] Support statements on global scope in incremental mode..

I screwed up with the last diff. Let me fix it in a bit...

Dec 1 2022, 8:37 AM · Restricted Project, Restricted Project
v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Dec 1 2022, 8:35 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Address comments, fix a fixme.

Dec 1 2022, 8:35 AM · Restricted Project, Restricted Project

Nov 30 2022

v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 30 2022, 12:02 PM · Restricted Project, Restricted Project
v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 30 2022, 7:53 AM · Restricted Project, Restricted Project
v.g.vassilev updated the summary of D139016: [clang-repl] Harden the incremental processing infrastructure.
Nov 30 2022, 7:51 AM · Restricted Project
v.g.vassilev requested review of D139016: [clang-repl] Harden the incremental processing infrastructure.
Nov 30 2022, 7:49 AM · Restricted Project
v.g.vassilev added a comment to D138698: [clang-repl] Add basic documentation about clang-repl.

I have modified it a little before landing it to capture better the intent and our off-list conversation.

Nov 30 2022, 4:32 AM · Restricted Project, Restricted Project
v.g.vassilev committed rG3ae07a4372fc: [clang-repl] Add basic documentation about clang-repl (authored by sarabellei).
[clang-repl] Add basic documentation about clang-repl
Nov 30 2022, 4:31 AM · Restricted Project, Restricted Project
v.g.vassilev closed D138698: [clang-repl] Add basic documentation about clang-repl.
Nov 30 2022, 4:30 AM · Restricted Project, Restricted Project

Nov 28 2022

v.g.vassilev accepted D138698: [clang-repl] Add basic documentation about clang-repl.

Sorry, selected the wrong option. This looks good to me. I can commit that change for you as I know you do not have commit access.

Nov 28 2022, 1:15 PM · Restricted Project, Restricted Project
v.g.vassilev requested changes to D138698: [clang-repl] Add basic documentation about clang-repl.

This looks good to me. I can commit that change for you as I know you do not have commit access.

Nov 28 2022, 1:14 PM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

rebase.

Nov 28 2022, 12:01 PM · Restricted Project, Restricted Project
v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

I think I have addressed all comments from @aaron.ballman and @rsmith.

Nov 28 2022, 11:57 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 28 2022, 11:56 AM · Restricted Project, Restricted Project

Nov 22 2022

v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Teach CodeGen to squash contiguous top-level stmt decl blocks into a single llvm::Function. Rebase.

Nov 22 2022, 2:56 PM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Address comments, support better C in clang-repl.

Nov 22 2022, 6:22 AM · Restricted Project, Restricted Project

Nov 17 2022

v.g.vassilev requested review of D138264: [COFF] Improve JIT support of weak symbols.
Nov 17 2022, 11:19 PM · Restricted Project, Restricted Project

Nov 15 2022

v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Rebase + fix the failure on windows

Nov 15 2022, 7:16 AM · Restricted Project, Restricted Project
v.g.vassilev committed rGd6494524490e: [code-owners] Add Vassil as a code owner for clang incremental compilation. (authored by v.g.vassilev).
[code-owners] Add Vassil as a code owner for clang incremental compilation.
Nov 15 2022, 12:56 AM · Restricted Project, Restricted Project

Nov 14 2022

v.g.vassilev added a reviewer for D137787: [CodeGen] Relax assertion on generating destructor call: rsmith.

Usually @rsmith has something up in the sleeve in these situations ;)

Nov 14 2022, 7:05 AM · Restricted Project, Restricted Project
v.g.vassilev added a comment to D137787: [CodeGen] Relax assertion on generating destructor call.

Yes, I fully agree that having a test is desirable, I just didn't manage so far. Maybe it takes somebody with deep AST knowledge to explain under what circumstances DtorDecl->getParent() is *not* the canonical Decl. Maybe this could help crafting a test case, even outside of modules maybe

Nov 14 2022, 7:03 AM · Restricted Project, Restricted Project

Nov 6 2022

v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 6 2022, 4:57 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Remove several fixmes. Now we can deal with templates, deduction guides and operators.

Nov 6 2022, 4:40 AM · Restricted Project, Restricted Project
v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 6 2022, 12:49 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Address comments. Call isCurrentClassName before calling isConstructorDeclarator.

Nov 6 2022, 12:49 AM · Restricted Project, Restricted Project

Nov 3 2022

v.g.vassilev added reviewers for D137152: Fix crash when using embedded DWARF-5 debugging info: xur, aprantl.

This LGTM but I'd like to add reviewers who changed this area recently.

Nov 3 2022, 3:15 PM · Restricted Project, Restricted Project

Nov 2 2022

v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

It looks like precommit CI caught a relevant issue that should be addressed.

Nov 2 2022, 12:54 PM · Restricted Project, Restricted Project
v.g.vassilev updated subscribers of D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 2 2022, 12:51 PM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Address more comments.

Nov 2 2022, 12:51 PM · Restricted Project, Restricted Project

Nov 1 2022

v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 1 2022, 7:25 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Rebase.

Nov 1 2022, 7:24 AM · Restricted Project, Restricted Project
v.g.vassilev updated the summary of D127284: [clang-repl] Support statements on global scope in incremental mode..
Nov 1 2022, 12:54 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Address comments.

Nov 1 2022, 12:51 AM · Restricted Project, Restricted Project

Sep 28 2022

v.g.vassilev added a reviewer for D125944: Template instantiation error recovery: aaron.ballman.

This looks reasonable to me but let's have another pair of eyes.

Sep 28 2022, 6:03 AM · Restricted Project

Sep 27 2022

v.g.vassilev added reviewers for D134763: Add functionality to load dynamic libraries temporarily: lhames, sgraenitz, sunho.
Sep 27 2022, 2:15 PM · Restricted Project, Restricted Project

Sep 25 2022

v.g.vassilev added inline comments to D134615: [clang-repl] Support orc runtime and use it to enhance support of x86_64-windows-msvc target..
Sep 25 2022, 2:41 PM · Restricted Project

Sep 3 2022

v.g.vassilev updated subscribers of D127284: [clang-repl] Support statements on global scope in incremental mode..
Sep 3 2022, 9:40 PM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Address review comments

Sep 3 2022, 9:39 PM · Restricted Project, Restricted Project

Sep 1 2022

v.g.vassilev added a reviewer for D127284: [clang-repl] Support statements on global scope in incremental mode.: aaron.ballman.

Adding Aaron as a reviewer who hopefully could speed up the review.

Sep 1 2022, 12:42 PM · Restricted Project, Restricted Project

Aug 25 2022

v.g.vassilev accepted D130831: [CodeGen] Track DeferredDecls that have been emitted.

Let's move forward with this patch and rely on a post-commit review if necessary.

Aug 25 2022, 11:11 AM · Restricted Project, Restricted Project

Aug 18 2022

v.g.vassilev added a comment to D111283: [clang] template / auto deduction deduces common sugar.

Thanks for working on this! I left some comments. I did not look very deep in the patch but it seems quite consistent to the rest of the code in Sema.

Aug 18 2022, 2:36 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Aug 11 2022

v.g.vassilev added inline comments to D130479: [ORC_RT][COFF] Initial platform support for COFF/x86_64..
Aug 11 2022, 2:15 PM · Restricted Project, Restricted Project, Restricted Project

Aug 9 2022

v.g.vassilev added a comment to D127284: [clang-repl] Support statements on global scope in incremental mode..

ping...

Aug 9 2022, 2:05 PM · Restricted Project, Restricted Project

Aug 5 2022

v.g.vassilev added a comment to D131241: [Clang][Lex] Extend HeaderSearch::LookupFile to control OpenFile behavior..

Maybe we can add a little more context. In the case of static compilation the file system is pretty much read-only and taking a snapshot of it usually is sufficient. In the interactive C++ case the compilation is longer and people can create and include files, etc. In that case we often do not want to open files or cache failures unless is absolutely necessary. We might be able to write a test for this in clang/unittests/Lex/HeaderSearchTest.cpp. However, this patch improves consistency in the interfaces by forwarding the already provided flags to the callees and if we cannot write a reasonable test we should be able to accept it without.

Aug 5 2022, 12:47 AM · Restricted Project, Restricted Project

Aug 1 2022

v.g.vassilev added a comment to D126266: Mark the file entry invalid, until reread. Invalidate SLocEntry cache, readd it on reread. Do not use translateFile, because it pulls in parts of the pch..

@tapaswenipathak, ping...

Aug 1 2022, 11:04 AM · Restricted Project, Restricted Project, Restricted Project
v.g.vassilev added inline comments to D127284: [clang-repl] Support statements on global scope in incremental mode..
Aug 1 2022, 10:28 AM · Restricted Project, Restricted Project
v.g.vassilev updated the diff for D127284: [clang-repl] Support statements on global scope in incremental mode..

Rely on the CXXScopeSpec to detect more accurately if we are parsing a constructor declarator.

Aug 1 2022, 10:21 AM · Restricted Project, Restricted Project

Jul 31 2022

v.g.vassilev accepted D130422: [clang-repl] Fix incorrect return code.
Jul 31 2022, 2:37 AM · Restricted Project, Restricted Project