This revision was automatically updated to reflect the committed changes.
Closed by commit rL362604: [Sema] Prevent binding incompatible addr space ref
to temporaries (authored by stulova, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Changed prior to comm
rjmccall accepted this revision.
rjmccall added a comment.
This revision is now accepted and ready to land.
LGTM.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61318/new/
https://reviews.llvm.org/D61318
___
cfe-commits mailing list
cfe-comm
Anastasia updated this revision to Diff 197940.
Anastasia added a comment.
Updated comments!
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61318/new/
https://reviews.llvm.org/D61318
Files:
include/clang/AST/Type.h
include/clang/Basic/DiagnosticIDs.h
include/clang/Basic/Diagnostic
rjmccall added inline comments.
Comment at: include/clang/AST/Type.h:463
- /// Returns true if this address space is a superset of the other one.
+ /// Returns true if address space A is a superset of B.
/// OpenCL v2.0 defines conversion rules (OpenCLC v2.0 s6.5.5) and no
Anastasia updated this revision to Diff 197769.
Anastasia added a comment.
Added extra overload for `isAddressSpaceSupersetOf`.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61318/new/
https://reviews.llvm.org/D61318
Files:
include/clang/AST/Type.h
include/clang/Basic/DiagnosticIDs
rjmccall added inline comments.
Comment at: lib/Sema/SemaInit.cpp:4836
+ if (T1Quals.hasAddressSpace()) {
+if (!T1Quals.isAddressSpaceSupersetOf(cv1T1IgnoreAS.getQualifiers())) {
+ Sequence.SetFailed(
Anastasia wrote:
> rjmccall wrote:
> > Isn't `cv1T1I
Anastasia marked an inline comment as done.
Anastasia added inline comments.
Comment at: lib/Sema/SemaInit.cpp:4836
+ if (T1Quals.hasAddressSpace()) {
+if (!T1Quals.isAddressSpaceSupersetOf(cv1T1IgnoreAS.getQualifiers())) {
+ Sequence.SetFailed(
rjmccal
rjmccall added inline comments.
Comment at: lib/Sema/SemaInit.cpp:4836
+ if (T1Quals.hasAddressSpace()) {
+if (!T1Quals.isAddressSpaceSupersetOf(cv1T1IgnoreAS.getQualifiers())) {
+ Sequence.SetFailed(
Isn't `cv1T1IgnoreAS.getQualifiers()` always `LangAS
Anastasia created this revision.
Anastasia added reviewers: rjmccall, ebevhan.
This is a straw-man idea for solving binding references with address spaces to
temporaries. If the logic below makes sense I will apply it elsewhere in
similar checks.
Arbitrary address space references can't be boun