Thanks to Seo Sanghyeon for his excellent (first) bug fix!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43994
91177308-0d34-0410-b5e6-
96231b3b80d8
assert(!resType.isNull() && "no type for increment/decrement expression");
// C99 6.5.2.4p1: We allow complex as a GCC extension.
- if (const PointerType *pt = dyn_cast<PointerType>(resType)) {
+ if (const PointerType *pt = resType->getAsPointerType()) {
if (!pt->getPointeeType()->isObjectType()) { // C99 6.5.2.4p2, 6.5.6p2
Diag(OpLoc, diag::err_typecheck_arithmetic_incomplete_type,
resType.getAsString(), op->getSourceRange());
--- /dev/null
+// RUN: clang -fsyntax-only -verify %s
+
+#include <stdio.h>
+typedef int *pint;
+int main() {
+ int a[5] = {0};
+ pint p = a;
+ p++;
+ printf("%d\n", *p);
+}