diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-02-25 22:29:57 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-02-25 22:29:57 +0000 |
commit | b2cb1cbd727469e1567a6f2535895e6b64e12c35 (patch) | |
tree | 643597bfc18435811b4b0d6c937cb6afe1dda1c0 /lib/CodeGen/CGCall.cpp | |
parent | dba6ef87a07f0cbab42b4aa98faaf4e6de8126d0 (diff) |
When computing the composite pointer type for relational comparisons,
equality comparisons, and conditional operators, produce a composite
pointer type with the appropriate additional "const" qualifiers if the
pointer types would otherwise be incompatible. This is a small
extension (also present in GCC and EDG in a slightly different form)
that permits code like:
void** i; void const** j;
i == j;
with the following extwarn:
t.cpp:5:5: warning: comparison of distinct pointer types ('void **' and
'void const **') uses non-standard composite pointer type
'void const *const *' [-pedantic]
i == j;
~ ^ ~
Fixes PR6346, and I'll be filing a core issue about this with the C++
committee.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97177 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGCall.cpp')
0 files changed, 0 insertions, 0 deletions