[PATCH] D65744: [PR42707][OpenCL] Fix addr space deduction for auto
John McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 4 13:56:35 PDT 2019
rjmccall added inline comments.
================
Comment at: clang/lib/Sema/SemaType.cpp:7460
+ // the initializing expression type during the type deduction.
+ (T->isUndeducedAutoType() && IsPointee) ||
// OpenCL spec v2.0 s6.9.b:
----------------
Okay, I understand why you're doing this now, and it makes sense. I would like to propose changing the entire way `deduceOpenCLImplicitAddrSpace` works. Why don't we do it more like how ObjC ARC infers its implicit ownership qualifiers:
- In SemaType, we add the default address space to non-qualified, non-dependent, non-undeduced-`auto` pointees when parsing a pointer or reference type.
- In SemaType, we add the default address space to non-qualified pointees when building a pointer or reference type.
- We add the default address space at the top level when when building a variable.
Then all of this context-specific logic where we're looking at different declarator chunks and trying to infer the relationship of the current chunk to the overall type being parsed can just go away or get pushed into a more appropriate position.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65744/new/
https://reviews.llvm.org/D65744
More information about the cfe-commits
mailing list