eaeltsin wrote:
Thanks for the quick fix!
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@eaeltsin @ilya-biryukov Fixed in 596a9c1f9b3179b3c77cbde1e96619292ce2a10a
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
sdkrystian wrote:
@ilya-biryukov See #91972
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilya-biryukov wrote:
Awesome, thanks a lot for looking into it!
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@ilya-biryukov I can fix this quickly (less than an hour).
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilya-biryukov wrote:
Heh, of course! Now that you say it, that's quite obvious.
Do you think is fix is just around the corner or will it take a long time?
This blocks our internal compiler release and there is no workaround we could
easily employ.
sdkrystian wrote:
Repro:
```cpp
template
struct Typo {
Typo(const Typo& t) {
t->typo; // error
t->Typp; // error
t->Tzpo; // error
t->ty; // ok
}
};
```
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing
sdkrystian wrote:
@ilya-biryukov Actually, that is an incredibly useful piece of information :) I
think this is an issue with type correction...
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
ilya-biryukov wrote:
勞 amazingly, this only happens when the identifier being called is a lowercase
version of the class name:
https://gcc.godbolt.org/z/8aoaoPKnT:
```cpp
template
class Clone {
public:
Clone(const Clone&);
T* operator->() const;
T* ptr_;
};
template
struct
eaeltsin wrote:
Hi,
This seems to break the following combination with overloaded -> operator -
https://godbolt.org/z/jc6chKTdv
```
template
class Clone {
public:
Clone(const Clone&);
T* operator->() const;
T* ptr_;
};
// Assume T* T::clone()
sdkrystian wrote:
@dyung Per [[temp.dep.type] p10.11](http://eel.is/c++draft/temp.dep.type#10.11):
> A type is dependent if it is
> - [...]
> - denoted by a _simple-template-id_ in which either the template name is a
> template parameter or any of the template arguments is a dependent type or
dyung wrote:
Hi @sdkrystian, we were fixing up some internal codebases which this change
exposed problems with but noticed that this slightly tweaked example of one
doesn't seem to trigger an error even though it seems like it should with your
change:
```c++
enum BK {};
template class
sdkrystian wrote:
@alexfh see #91503
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexfh wrote:
Great! Thanks for the prompt action!
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
@alexfh It won't fix the example in your comment (but I have a separate fix for
it)
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
alexfh wrote:
> @bgra8 see #91498
Can you check if it also fixes
https://github.com/llvm/llvm-project/pull/90152#issuecomment-2100932093 ? Or
should it?
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
sdkrystian wrote:
@bgra8 see #91498
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexfh wrote:
This commit also breaks the following seemingly valid code
(https://gcc.godbolt.org/z/1azKEKh6K):
```
template
class Base {
public:
Base& operator=(int) { return *this; }
class Inner;
};
template
class Base::Inner : public Base {
public:
using Base::operator=;
};
void f()
sdkrystian wrote:
Looks like `ActOnDependentIdExpression` tries to build a
`DependentScopeDeclRefExpr`, which fails because `BuildDependentDeclRefExpr`
returns `ExprError()` if no qualifier is present. I'll open a PR shortly.
https://github.com/llvm/llvm-project/pull/90152
sdkrystian wrote:
@bgra8 Reduced to
```cpp
template
struct A
{
template
auto f(U u) -> decltype(operator=(u));
};
template struct A;
```
Seems like `f` is being set as invalid without any diagnostic... I think I can
fix this quickly
https://github.com/llvm/llvm-project/pull/90152
bgra8 wrote:
@sdkrystian we've bisected a clang crash to this revision.
The code on which it crashes is (`repro.cc`):
```
template struct a {
template auto c(b d) -> decltype(operator=(d));
void operator()();
};
a e;
void f() { e(); }
```
Compilation command:
```
$ clang -std=gnu++20 -c
zmodem wrote:
> @zmodem Fixed in 3191e0b
Thanks!
In the meantime, we're finding a number of legitimate bugs with this. Pretty
cool :)
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
sdkrystian wrote:
@dyung Yup, that is expected
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
dyung wrote:
> @zmodem Fixed in
> [3191e0b](https://github.com/llvm/llvm-project/commit/3191e0b52725aa17651e38d26284386f3ea64eb6)
This change also seems to fix the small example I posted, I'll double check it
against our original source code.
https://github.com/llvm/llvm-project/pull/90152
sdkrystian wrote:
@zmodem Fixed in 3191e0b52725aa17651e38d26284386f3ea64eb6
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
erichkeane wrote:
> @erichkeane I think this is actually a bug in how I applied [[temp.dep.type]
> p5](http://eel.is/c++draft/temp.dep.type#5):
>
> > A qualified name is dependent if
> >
> > * it is a _conversion-function-id_ whose _conversion-type-id_ is dependent,
> > or
> > * its lookup
sdkrystian wrote:
@erichkeane I think this is actually a bug in how I applied [[temp.dep.type]
p5](http://eel.is/c++draft/temp.dep.type#5):
> A qualified name is dependent if
> - it is a _conversion-function-id_ whose _conversion-type-id_ is dependent, or
> - its lookup context is dependent
erichkeane wrote:
> This seems to break the version of libstdc++ we use in our sysroot: (Details
> on https://crbug.com/338536261)
>
> ```
> ../../build/linux/debian_bullseye_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_iterator.h:1718:20:
> error: use
zmodem wrote:
This seems to break the version of libstdc++ we use in our sysroot: (Details on
https://crbug.com/338536261)
```
../../build/linux/debian_bullseye_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_iterator.h:1718:20:
error: use 'template' keyword
yxsamliu wrote:
Thanks for all your analysis. I agree this is a rocThrust bug. I will open an
issue to rocThrust.
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
sdkrystian wrote:
@dyung It's a bit difficult to tell what the code is intended to do. An
expression naming a non-static member function must either be the
postfix-expression of a call, or be the terminal name of a qualified-id that is
the operand of unary `&`.
sdkrystian wrote:
@yxsamliu The call to `this->construct` in the `emplace` member of the partial
specialization `class optional` _is_ a bug -- unlike the primary class
template, the partial specialization for `T&` does _not_ inherit from
`optional_operations_base` (which declares the
erichkeane wrote:
> @yxsamliu The type of `this` is always a pointer. The class member access
> operator may only be overloaded for operands of class type. In your reduced
> example, could you provide a value of `T` that would instantiate to a valid
> specialization?
Agreed, this is another
sdkrystian wrote:
@yxsamliu The type of `this` is always a pointer. The class member access
operator may only be overloaded for operands of class type. In your reduced
example, could you provide a value of `T` that would instantiate to a valid
specialization?
yxsamliu wrote:
This patch seems to cause a regression for rocThrust:
https://github.com/ROCm/rocThrust/blob/f3a28e43355b0f439fb99a2210bd497ca59c8003/thrust/optional.h#L2756
rocThrust/thrust/../thrust/optional.h:2756:11: error: no member named
'construct' in 'optional'
A reduced test case is
dyung wrote:
We are also seeing a build break internally which I bisected back to this
change. In our case, I was able to reduce it to the following code:
```c++
#include
template class b {
b operator=(b) { return operator=<>; }
template ::d>>
void operator=(b);
};
```
After this
sbc100 wrote:
This change recently rolled into the emscripten SDK and seems to be breaking
the build of regal. I've not invistigated this yet, and its not our code:
```
em++ -c
/usr/local/google/home/sbc/dev/wasm/emscripten/cache/ports/regal/regal-version_7/src/regal/RegalIff.cpp
-o
erichkeane wrote:
I think the `-fdelayed-template-parsing` is as much as we're going to do. This
is a conformance issue, and I don't think we want to create a backwards
compatibility flag for it.
Clang has ALWAYS diagnosed un-instantiatable templates as aggressively as we
could. ALL of the
sdkrystian wrote:
@davemgreen you can try using `-fdelayed-template-parsing` to fix the error. A
compatibility flag could be added for older code bases -- but I'd like guidance
from @erichkeane, @cor3ntin, and/or @AaronBallman on that.
https://github.com/llvm/llvm-project/pull/90152
davemgreen wrote:
Hi - We've ran into a couple of places where this causes problems, one of them
in running Spec as above. Is it possible to turn off this error for older
codebases with a flag, turning it into a warning? It doesn't seem like a very
useful error if it applies to code that is
lukel97 wrote:
Hi, this seems to uncover an unfortunate error in xalan-c
https://github.com/apache/xalan-c/blob/c326619da4813acfc845c2830d904a4860f9afe1/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp#L323
which is present in one of the SPEC CPU 2017 benchmarks (and prevents SPEC CPU
2017
sdkrystian wrote:
@erichkeane pushed a commit which fixes it
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hiraditya wrote:
I believe this is breaking the buildbot
https://lab.llvm.org/buildbot/#/builders/245/builds/23936 please confirm.
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
sdkrystian wrote:
I built boost with `-DBUILD_TESTING=ON` and didn't see any regressions...
hopefully that remains the case
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/sdkrystian closed
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 2d613e80a59d69a263eaa713d080b97c307fe91b Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Endilll commented:
Changes to `Sema.h` and DR tests look good to me.
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
sdkrystian wrote:
Tests have already been added :) @erichkeane
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane commented:
Code changes LGTM, please add the tests, and I'll do another run at this.
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
sdkrystian wrote:
@erichkeane I placed all the new changes into a [single
commit](https://github.com/llvm/llvm-project/pull/90152/commits/b8fda8106405eed0c234802fff8eecde53f2562e)
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits
erichkeane wrote:
Please also identify the changes you made vs the previous patch.
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 99d48cf8ae4987eb747f3baf128265dadb7d2038 Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/4] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/4] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
https://github.com/sdkrystian updated
https://github.com/llvm/llvm-project/pull/90152
>From 6ea7f9d476910681ad01e2fe4525fb4d2c556c6f Mon Sep 17 00:00:00 2001
From: Krystian Stasiowski
Date: Thu, 25 Apr 2024 14:50:53 -0400
Subject: [PATCH 1/2] Reapply "[Clang][Sema] Diagnose class member access
sdkrystian wrote:
Will add tests tomorrow...
https://github.com/llvm/llvm-project/pull/90152
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvmbot wrote:
@llvm/pr-subscribers-clang-tidy
Author: Krystian Stasiowski (sdkrystian)
Changes
Reapplies #84050, addressing a bug which cases a crash when an
expression with the type of the current instantiation is used as the
_postfix-expression_ in a class member access expression
https://github.com/sdkrystian created
https://github.com/llvm/llvm-project/pull/90152
Reapplies #84050, addressing a bug which cases a crash when an expression with
the type of the current instantiation is used as the _postfix-expression_ in a
class member access expression (arrow form).
61 matches
Mail list logo