diff options
-rw-r--r-- | clang/lib/AST/ASTContext.cpp | 3 | ||||
-rw-r--r-- | clang/test/Sema/unaligned-qualifier.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 103c7e191cc..922d74e487a 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -8077,7 +8077,8 @@ QualType ASTContext::mergeTypes(QualType LHS, QualType RHS, // mismatch. if (LQuals.getCVRQualifiers() != RQuals.getCVRQualifiers() || LQuals.getAddressSpace() != RQuals.getAddressSpace() || - LQuals.getObjCLifetime() != RQuals.getObjCLifetime()) + LQuals.getObjCLifetime() != RQuals.getObjCLifetime() || + LQuals.hasUnaligned() != RQuals.hasUnaligned()) return QualType(); // Exactly one GC qualifier difference is allowed: __strong is diff --git a/clang/test/Sema/unaligned-qualifier.c b/clang/test/Sema/unaligned-qualifier.c new file mode 100644 index 00000000000..3a66c4ffbb3 --- /dev/null +++ b/clang/test/Sema/unaligned-qualifier.c @@ -0,0 +1,4 @@ +// RUN: %clang_cc1 %s -verify -fsyntax-only -fms-extensions + +int __unaligned * p1; // expected-note {{previous definition is here}} +int * p1; // expected-error {{redefinition of 'p1' with a different type: 'int *' vs '__unaligned int *'}} |