diff options
| author | Richard Smith <richard@metafoo.co.uk> | 2020-01-09 19:24:44 -0800 |
|---|---|---|
| committer | Richard Smith <richard@metafoo.co.uk> | 2020-01-10 16:12:00 -0800 |
| commit | 9a6f4d451ca7aa06b94a407015fbadb456bc09ef (patch) | |
| tree | 6a943c79679de34b1828311f1085f396cc417718 /clang/test/SemaObjCXX | |
| parent | fbf915f01d46e005146f01553a5d7c6619d19597 (diff) | |
| download | bcm5719-llvm-9a6f4d451ca7aa06b94a407015fbadb456bc09ef.tar.gz bcm5719-llvm-9a6f4d451ca7aa06b94a407015fbadb456bc09ef.zip | |
Clean up and slightly generalize implementation of composite pointer
type computation, in preparation for P0388R4, which adds another few
cases here.
We now properly handle forming multi-level composite pointer types
involving nested Objective-C pointer types (as is consistent with
including them as part of the notion of 'similar types' on which this
rule is based). We no longer lose non-CVR qualifiers on nested pointer
types.
Diffstat (limited to 'clang/test/SemaObjCXX')
| -rw-r--r-- | clang/test/SemaObjCXX/composite-objc-pointertype.mm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/SemaObjCXX/composite-objc-pointertype.mm b/clang/test/SemaObjCXX/composite-objc-pointertype.mm index 35739a89362..64cdc2c8147 100644 --- a/clang/test/SemaObjCXX/composite-objc-pointertype.mm +++ b/clang/test/SemaObjCXX/composite-objc-pointertype.mm @@ -17,3 +17,13 @@ } @end +@class A; + +void multilevel() { + A **p; + const A **q; + + using T = decltype(true ? q : p); + using T = const A * const *; +} + |

