Page MenuHomePhabricator

ABataev (Alexey Bataev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 31 2013, 4:40 AM (363 w, 4 d)

Recent Activity

Today

ABataev committed rG366356361cf3: [OPENMP]Fix PR44578: crash in target construct with captured global. (authored by ABataev).
[OPENMP]Fix PR44578: crash in target construct with captured global.
Mon, Jan 20, 8:14 AM

Fri, Jan 17

ABataev added inline comments to D72901: [OpenMP] [DOCS] Update OMP5.0 feature status table [NFC].
Fri, Jan 17, 1:46 PM
ABataev added inline comments to D72901: [OpenMP] [DOCS] Update OMP5.0 feature status table [NFC].
Fri, Jan 17, 1:26 PM
ABataev committed rGc33ba8c15858: [OPENMP]Improve debug locations in OpenMP regions. (authored by ABataev).
[OPENMP]Improve debug locations in OpenMP regions.
Fri, Jan 17, 11:30 AM
ABataev added inline comments to D72901: [OpenMP] [DOCS] Update OMP5.0 feature status table [NFC].
Fri, Jan 17, 12:46 AM

Thu, Jan 16

ABataev committed rG25b542c61fe3: [OPENMP]Do not emit RTTI descriptor for NVPTX devices. (authored by ABataev).
[OPENMP]Do not emit RTTI descriptor for NVPTX devices.
Thu, Jan 16, 3:24 PM
ABataev added a comment to D69585: PerformPendingInstatiations() already in the PCH.

I thought you were going to add an option or a flag to control the behavior? If so, just provide an option in tests to avoid triggering of the new behavior (except for declare_target... test and those 2 you modified already) and that's it.

It's not included in the latest version of the patch. As written above, I'm reasonably sure I was mistaken about the need for a flag, and it should be ok to simply do the change unconditionally. I can put the flag back just for the purpose of the tests if you want, that'd certainly make handling of the tests trivial, but then the tests wouldn't really test "normal" PCHs, so do you really want that?

Thu, Jan 16, 3:03 PM · Restricted Project
ABataev added a comment to D69585: PerformPendingInstatiations() already in the PCH.

What is the error?

I take that part back, actually. I don't quite remember anymore what exactly I did in October, but if I now revert the PCH tweaks in LibreOffice I did to avoid the error, the compilation fails even without the patch or with GCC. So I assume what really happened was that code changes triggered the error and I incorrectly assumed it was because of my patch. So, unless proven otherwise, I take it that my patch is actually technically correct without causing any code regressions (the OpenMP problem has just been fixed).

What remains is those 22 tests which fail because moving the instantiations reorders the code that is expected by FileCheck. This patch handles 2 of them, and it's already rather tedious (the OpenMP tests are large). Is this really the way to handle them, or does somebody have a better idea?

Thu, Jan 16, 2:15 PM · Restricted Project
ABataev committed rG8b321929483e: [OPENMP]Avoid string concat where possible and use standard name generation… (authored by ABataev).
[OPENMP]Avoid string concat where possible and use standard name generation…
Thu, Jan 16, 1:46 PM
ABataev added a comment to D72811: [WIP][OPENMP5.0] allow lvalue for motion clause.

Hmm, we still need to find some basic decl to remap it successfully at the codegen. Not sure that we'll be able to support it in full. It would be good to investigate how we can handle them at the codegen.

Thu, Jan 16, 1:07 PM · Restricted Project
ABataev added a comment to D72811: [WIP][OPENMP5.0] allow lvalue for motion clause.

Not sure that we need to dig that deep. Maybe just keep thw original analysis for the known expressions and map all other lvalues without some extra analysis, just like DeclRefExpr nodes?

Thu, Jan 16, 9:16 AM · Restricted Project

Wed, Jan 15

ABataev added inline comments to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..
Wed, Jan 15, 5:29 PM · Restricted Project
ABataev accepted D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.

LG.

Wed, Jan 15, 4:22 PM · Restricted Project
ABataev added inline comments to D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..
Wed, Jan 15, 4:13 PM · Restricted Project
ABataev added inline comments to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.
Wed, Jan 15, 4:13 PM · Restricted Project
ABataev committed rGb841b9e96e60: [OPENMP]Use regular processing of vtable used when TU is a prefix. (authored by ABataev).
[OPENMP]Use regular processing of vtable used when TU is a prefix.
Wed, Jan 15, 3:48 PM
ABataev added a comment to D72759: OpenMP breaks with PerformPendingInstatiations() already in the PCH.

Must be fixed in b841b9e96e605bed5a1f9b846a07aae88c65ce02

Wed, Jan 15, 3:48 PM · Restricted Project
ABataev added inline comments to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.
Wed, Jan 15, 3:48 PM · Restricted Project
ABataev added inline comments to D72811: [WIP][OPENMP5.0] allow lvalue for motion clause.
Wed, Jan 15, 3:20 PM · Restricted Project
ABataev committed rG6b29aa21180c: Revert "[OPENMP]Do not use RTTI by default for NVPTX devices." (authored by ABataev).
Revert "[OPENMP]Do not use RTTI by default for NVPTX devices."
Wed, Jan 15, 2:43 PM
ABataev added a reverting change for rG23058f9dd4d7: [OPENMP]Do not use RTTI by default for NVPTX devices.: rG6b29aa21180c: Revert "[OPENMP]Do not use RTTI by default for NVPTX devices.".
Wed, Jan 15, 2:43 PM
ABataev added a comment to D72759: OpenMP breaks with PerformPendingInstatiations() already in the PCH.

Just maybe, need to add TUKind == TU_Complete instead. Will investigate it and make a patch.

Wed, Jan 15, 10:59 AM · Restricted Project
ABataev accepted D72739: [SLP] Add a test showing miscompilation in AltOpcode support.

LG

Wed, Jan 15, 8:45 AM · Restricted Project
ABataev added a comment to D72759: OpenMP breaks with PerformPendingInstatiations() already in the PCH.

Fails in what way?

Wed, Jan 15, 6:41 AM · Restricted Project

Tue, Jan 14

ABataev added inline comments to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.
Tue, Jan 14, 9:40 PM · Restricted Project
ABataev added a comment to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.

Need a test

Tue, Jan 14, 6:19 PM · Restricted Project
ABataev added inline comments to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.
Tue, Jan 14, 6:00 PM · Restricted Project
ABataev added inline comments to D72739: [SLP] Add a test showing miscompilation in AltOpcode support.
Tue, Jan 14, 5:51 PM · Restricted Project
ABataev added inline comments to D72740: [SLP] Don't allow Div/Rem as alternate opcodes.
Tue, Jan 14, 4:32 PM · Restricted Project
ABataev added inline comments to D72739: [SLP] Add a test showing miscompilation in AltOpcode support.
Tue, Jan 14, 4:02 PM · Restricted Project
ABataev added inline comments to D72740: [SLP] Don't allow Div/Rem as alternate opcodes.
Tue, Jan 14, 4:02 PM · Restricted Project
ABataev added a comment to D69585: PerformPendingInstatiations() already in the PCH.

I don't see any crashes in OpenMP tests, other tests just must be updated by the author, if this patch will ever going to be landed. I don't think it is a good idea to have a not fully functional implementation, even guarded by the option.

Tue, Jan 14, 3:43 PM · Restricted Project
ABataev added inline comments to D72740: [SLP] Don't allow Div/Rem as alternate opcodes.
Tue, Jan 14, 3:33 PM · Restricted Project
ABataev committed rG23058f9dd4d7: [OPENMP]Do not use RTTI by default for NVPTX devices. (authored by ABataev).
[OPENMP]Do not use RTTI by default for NVPTX devices.
Tue, Jan 14, 3:15 PM
ABataev committed rGa48600c0a653: [OPENMP]Do not emit special virtual function for NVPTX target. (authored by ABataev).
[OPENMP]Do not emit special virtual function for NVPTX target.
Tue, Jan 14, 2:08 PM
ABataev added inline comments to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.
Tue, Jan 14, 12:02 PM · Restricted Project
ABataev committed rG48bad08aa3b3: [OPENMP]Improve handling of possibly incorrectly mapped types. (authored by ABataev).
[OPENMP]Improve handling of possibly incorrectly mapped types.
Tue, Jan 14, 11:53 AM
ABataev added a comment to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.

Could you provide full diff of your modificaions?

This is exactly the full diff.

Tue, Jan 14, 11:32 AM · Restricted Project
ABataev added a comment to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.

Could you provide full diff of your modificaions?

Tue, Jan 14, 11:11 AM · Restricted Project

Mon, Jan 13

ABataev added a comment to D72472: [LIBOMPTARGET]Ignore empty target descriptors..

I got a question: since there is no target region in the shared library at all, why is desc->NumDeviceImages = 1 where desc is the one in the shared library?

Mon, Jan 13, 12:27 PM · Restricted Project

Sun, Jan 12

ABataev added inline comments to D72525: [LIBOMPTARGET] Do not increment/decrement the refcount for "declare target" objects.
Sun, Jan 12, 4:15 PM · Restricted Project
ABataev added inline comments to D72525: [LIBOMPTARGET] Do not increment/decrement the refcount for "declare target" objects.
Sun, Jan 12, 4:15 PM · Restricted Project
ABataev added a comment to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.

"Revert" is wrong here since one of the tests will definitely fail after this. Prepare a patch with the proper fix.

Yep. I got your point. Didn't notice what you tried to fix before. Will update correspondingly.

Sun, Jan 12, 4:06 PM · Restricted Project
ABataev requested changes to D72576: [OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices.

"Revert" is wrong here since one of the tests will definitely fail after this. Prepare a patch with the proper fix.

Sun, Jan 12, 12:24 PM · Restricted Project

Fri, Jan 10

ABataev committed rGb19c0810e56b: [LIBOMPTARGET]Ignore empty target descriptors. (authored by ABataev).
[LIBOMPTARGET]Ignore empty target descriptors.
Fri, Jan 10, 6:56 AM
ABataev closed D72472: [LIBOMPTARGET]Ignore empty target descriptors..
Fri, Jan 10, 6:55 AM · Restricted Project

Thu, Jan 9

ABataev created D72472: [LIBOMPTARGET]Ignore empty target descriptors..
Thu, Jan 9, 12:07 PM · Restricted Project
ABataev committed rG4c11703b3d9d: [OPENMP]Remove unused code, NFC. (authored by ABataev).
[OPENMP]Remove unused code, NFC.
Thu, Jan 9, 6:56 AM

Wed, Jan 8

ABataev committed rGc74a8adda3bc: [OPENMP]Allow comma in combiner expression. (authored by ABataev).
[OPENMP]Allow comma in combiner expression.
Wed, Jan 8, 7:12 AM

Tue, Jan 7

ABataev committed rG45588428910a: [OPENMP]Reduce calls for the mangled names. (authored by ABataev).
[OPENMP]Reduce calls for the mangled names.
Tue, Jan 7, 11:32 AM
ABataev committed rGc972f6fd7919: [OPENMP]Allow using of members in standalone declaration pragmas. (authored by ABataev).
[OPENMP]Allow using of members in standalone declaration pragmas.
Tue, Jan 7, 11:02 AM
ABataev committed rG3f2e3dc44b42: [OPENMP]Do not diagnose references to non-integral types for ref in declare… (authored by ABataev).
[OPENMP]Do not diagnose references to non-integral types for ref in declare…
Tue, Jan 7, 6:48 AM

Mon, Jan 6

ABataev committed rG7b518dcb291e: [OPENMP50]Support lastprivate conditional updates in inc/dec unary ops. (authored by ABataev).
[OPENMP50]Support lastprivate conditional updates in inc/dec unary ops.
Mon, Jan 6, 1:39 PM

Fri, Jan 3

ABataev committed rGadd743b43480: [OPENMP]Fix crash on error message for declare reduction. (authored by ABataev).
[OPENMP]Fix crash on error message for declare reduction.
Fri, Jan 3, 9:18 AM

Thu, Jan 2

ABataev committed rGa58da1a2ff03: [OPENMP50]Codegen for lastprivate conditional list items. (authored by ABataev).
[OPENMP50]Codegen for lastprivate conditional list items.
Thu, Jan 2, 1:50 PM
ABataev committed rG1fcc9b6ff855: [OPENMP] Restore allowing of braced initializers in the declare reduction… (authored by ABataev).
[OPENMP] Restore allowing of braced initializers in the declare reduction…
Thu, Jan 2, 1:18 PM
ABataev accepted D71969: [OpenMP] diagnose zero-length array section in the depend clause.

LG

Thu, Jan 2, 9:49 AM · Restricted Project
ABataev committed rG87a004d0f8c2: [OpenMP] Fix formatting of OpenMP error message, by Wang Tianqing. (authored by ABataev).
[OpenMP] Fix formatting of OpenMP error message, by Wang Tianqing.
Thu, Jan 2, 7:17 AM
ABataev closed D71884: [OpenMP] Fix formatting of OpenMP error message..
Thu, Jan 2, 7:16 AM · Restricted Project

Tue, Dec 31

ABataev committed rG8be5a0fe12bb: [OPENMP]Emit artificial threprivate vars as threadlocal, if possible. (authored by ABataev).
[OPENMP]Emit artificial threprivate vars as threadlocal, if possible.
Tue, Dec 31, 11:20 AM

Mon, Dec 30

ABataev added inline comments to D71969: [OpenMP] diagnose zero-length array section in the depend clause.
Mon, Dec 30, 7:26 AM · Restricted Project

Fri, Dec 27

ABataev updated the diff for D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..

Rebase + address comments.

Fri, Dec 27, 8:13 AM · Restricted Project

Tue, Dec 24

ABataev committed rG3732f4e093f9: [OPENMP]Add extra checks and initialization for clause modifier. (authored by ABataev).
[OPENMP]Add extra checks and initialization for clause modifier.
Tue, Dec 24, 1:16 PM
ABataev added inline comments to D57779: [SLP] Add support for throttling..
Tue, Dec 24, 10:10 AM · Restricted Project
ABataev committed rG3cb934c94e51: [OPENMP][DOCS]Update status of OpenMP 5.0 features, NFC. (authored by ABataev).
[OPENMP][DOCS]Update status of OpenMP 5.0 features, NFC.
Tue, Dec 24, 9:43 AM
ABataev committed rG93dc40dddde4: [OPENMP50]Basic support for conditional lastprivate. (authored by ABataev).
[OPENMP50]Basic support for conditional lastprivate.
Tue, Dec 24, 9:43 AM
ABataev added a comment to D30686: [SLP] PR32078: convert scalar operations to vector..

@ABataev Would it be worth resurrecting this or starting again? We have a similar test case in https://bugs.llvm.org/show_bug.cgi?id=44008

current:

%L0 = extractelement <2 x float> %1, i32 0
%L1 = extractelement <2 x float> %1, i32 1
%Mul0 = fmul float %L0, 2.000000e+00
%Mul1 = fmul float %L1, 2.000000e+00

better:

%Mul = fmul <2 x float> %1, <2.000000e+00, 2.000000e+00>
%L0 = extractelement <2 x float> %Mul, i32 0
%L1 = extractelement <2 x float> %Mul, i32 1
Tue, Dec 24, 6:50 AM

Mon, Dec 23

ABataev added a comment to D57779: [SLP] Add support for throttling..

Try to restore the context.

Mon, Dec 23, 11:27 AM · Restricted Project
ABataev added a comment to D57779: [SLP] Add support for throttling..

Rebased after committing the first part as NFC, it looks like resolved all remarks.

Mon, Dec 23, 9:17 AM · Restricted Project
ABataev committed rG0860db966a7d: [OPENMP50]Codegen for nontemporal clause. (authored by ABataev).
[OPENMP50]Codegen for nontemporal clause.
Mon, Dec 23, 7:17 AM
ABataev closed D71708: [OPENMP50]Codegen for nontemporal clause..
Mon, Dec 23, 7:16 AM · Restricted Project

Dec 20 2019

ABataev updated the diff for D71708: [OPENMP50]Codegen for nontemporal clause..

Removed check for isArrow() + added requested test.

Dec 20 2019, 12:49 PM · Restricted Project
ABataev updated the diff for D71708: [OPENMP50]Codegen for nontemporal clause..

Fix + rebase.

Dec 20 2019, 12:11 PM · Restricted Project
ABataev added inline comments to D71708: [OPENMP50]Codegen for nontemporal clause..
Dec 20 2019, 12:01 PM · Restricted Project
ABataev committed rGff92c56ef97c: [OPENMP]Remove unused OPENMP_MATCH_KIND, NFC. (authored by ABataev).
[OPENMP]Remove unused OPENMP_MATCH_KIND, NFC.
Dec 20 2019, 8:29 AM
ABataev updated the diff for D71708: [OPENMP50]Codegen for nontemporal clause..

Fix + rebase.

Dec 20 2019, 7:58 AM · Restricted Project
ABataev added inline comments to D71708: [OPENMP50]Codegen for nontemporal clause..
Dec 20 2019, 7:58 AM · Restricted Project
ABataev added inline comments to D71708: [OPENMP50]Codegen for nontemporal clause..
Dec 20 2019, 6:58 AM · Restricted Project
ABataev accepted D70258: [OpenMP][IR-Builder] Introduce the finalization stack.

LG

Dec 20 2019, 1:43 AM · Restricted Project, Restricted Project

Dec 19 2019

ABataev added inline comments to D57779: [SLP] Add support for throttling..
Dec 19 2019, 1:42 PM · Restricted Project
ABataev updated the diff for D57059: [SLP] Initial support for the vectorization of the non-power-of-2 vectors..

Fixed the bug + rebase.

Dec 19 2019, 10:54 AM · Restricted Project
ABataev committed rG1edb3ea64577: [SLP]Fix test arguments, NFC. (authored by ABataev).
[SLP]Fix test arguments, NFC.
Dec 19 2019, 10:52 AM
ABataev committed rGbc28f17e4ff5: [SLP]Added test for gathering reused extracts from narrow vector, NFC. (authored by ABataev).
[SLP]Added test for gathering reused extracts from narrow vector, NFC.
Dec 19 2019, 10:03 AM
ABataev added inline comments to D57779: [SLP] Add support for throttling..
Dec 19 2019, 8:02 AM · Restricted Project
ABataev created D71708: [OPENMP50]Codegen for nontemporal clause..
Dec 19 2019, 7:54 AM · Restricted Project

Dec 18 2019

ABataev added inline comments to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.
Dec 18 2019, 11:45 AM · Restricted Project, Restricted Project
ABataev added inline comments to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.
Dec 18 2019, 11:26 AM · Restricted Project, Restricted Project
ABataev added inline comments to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.
Dec 18 2019, 11:06 AM · Restricted Project, Restricted Project
ABataev added inline comments to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.
Dec 18 2019, 10:45 AM · Restricted Project, Restricted Project
ABataev added inline comments to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.
Dec 18 2019, 10:00 AM · Restricted Project, Restricted Project
ABataev added inline comments to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.
Dec 18 2019, 9:46 AM · Restricted Project, Restricted Project
ABataev added inline comments to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.
Dec 18 2019, 9:46 AM · Restricted Project, Restricted Project
ABataev added a comment to D67833: [OpenMP 5.0] Codegen support to pass user-defined mapper functions to runtime.

Looks much better in general, need to resolve last one issue with number of elements/size and you're ready.

Dec 18 2019, 9:22 AM · Restricted Project, Restricted Project

Dec 17 2019

ABataev added a comment to D70258: [OpenMP][IR-Builder] Introduce the finalization stack.

So it's never that OpenMP has things that need to be finalized before exiting (e.g. if something in frontend-emitted code throws an exception), it's just that OpenMP might need to generate its own control flow that breaks through arbitrary scopes in the frontend?

I would really hope that the OpenMP implementation in Clang would've used Clang's cleanup stack rather than inventing its own mechanism.

Dec 17 2019, 4:09 PM · Restricted Project, Restricted Project
ABataev committed rGb6e7084e25ad: [OPENMP50]Add parsing/sema analysis for nontemporal clause. (authored by ABataev).
[OPENMP50]Add parsing/sema analysis for nontemporal clause.
Dec 17 2019, 12:02 PM
ABataev committed rG15d47deedd16: [LIBOPENMP][NVPTX]Fix the build error in the runtime. (authored by ABataev).
[LIBOPENMP][NVPTX]Fix the build error in the runtime.
Dec 17 2019, 11:46 AM
ABataev added a comment to D71475: [WIP][OPENMP] Try to fix linear clause crash by emitting alloca for step.

The fixed patch. Several codegen tests require some adjustment.

diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index afe0f1a..ecb0fb2 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -919,6 +919,11 @@ static const Expr *getExprAsWritten(const Expr *E) {
Dec 17 2019, 9:55 AM · Restricted Project
ABataev added inline comments to D71475: [WIP][OPENMP] Try to fix linear clause crash by emitting alloca for step.
Dec 17 2019, 9:14 AM · Restricted Project
ABataev added inline comments to D71475: [WIP][OPENMP] Try to fix linear clause crash by emitting alloca for step.
Dec 17 2019, 8:33 AM · Restricted Project
ABataev added a comment to D71241: [OpenMP][WIP] Use overload centric declare variants.

Most probably, we can use this solution without adding a new expression. DeclRefExpr class can contain 2 decls: FoundDecl and the Decl being used. You can use FoundDecl to point to the original function and used decl to point to the function being called in this context. But at first, we need to be sure that we can handle all corner cases correctly.

What new expression are you talking about?

To be clear, I believe he's talking about the new expression that I proposed we add in order to represent this kind of call. If that's not needed, and we can use the FoundDecl/Decl pair for that purpose, that should also be considered.

This solution already does point to both declarations, as shown here: https://reviews.llvm.org/D71241#1782504

Exactly. We need to check if the MemberRefExpr can do this too to handle member functions correctly.
And need to wait for opinion from Richard Smith about the design. We need to be sure that it won't break compatibility with C/C++ in some corner cases. Design bugs are very hard to solve and I want to be sure that we don't miss anything. And we provide full compatibility with both C and C++.

We do need to be careful here. For cases with FoundDecl != Decl, I think that the typo-correction cases look like they probably work, but there are a few places where we make semantic decisions based on the mismatch, such as:

In SemaTemplate.cpp below line 512, we have (this is in C++03-specific code):

} else if (!Found.isSuppressingDiagnostics()) {
  //   - if the name found is a class template, it must refer to the same
  //     entity as the one found in the class of the object expression,
  //     otherwise the program is ill-formed.
  if (!Found.isSingleResult() ||
      getAsTemplateNameDecl(Found.getFoundDecl())->getCanonicalDecl() !=
          OuterTemplate->getCanonicalDecl()) {
    Diag(Found.getNameLoc(),
         diag::ext_nested_name_member_ref_lookup_ambiguous)

and in SemaExpr.cpp near line 2783, we have:

// If we actually found the member through a using declaration, cast
// down to the using declaration's type.
//
// Pointer equality is fine here because only one declaration of a
// class ever has member declarations.
if (FoundDecl->getDeclContext() != Member->getDeclContext()) {
  assert(isa<UsingShadowDecl>(FoundDecl));
  QualType URecordType = Context.getTypeDeclType(
                         cast<CXXRecordDecl>(FoundDecl->getDeclContext()));

Could you specify what behavior you expect, or what the test casees would look like?

For the record:
OpenMP basically says, if you have a call to a (base)function that has variants with contexts that match at the call site, call the variant with the highest score. The variants are specified by a variant-func-id, which is a base language identifier or C++ template-id. For C++, the variant declaration is identified by *performing the base language lookup rules on the variant-func-id with arguments that correspond to the base function argument types*.

Dec 17 2019, 8:28 AM · Restricted Project