diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-01-04 20:34:32 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-01-04 20:34:32 +0000 |
commit | c792d6d0b39cd6926be28ccb925992204d1af0e1 (patch) | |
tree | 3b9c15658618f87be1e8bed7cd9d3c0366d2b39d | |
parent | aa60f9cee8fa29cac1848de75ad48cdc0520e993 (diff) |
Unqualify the parameter type.
This fixes a regression from 168895.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171519 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Sema/Initialization.h | 6 | ||||
-rw-r--r-- | test/Sema/implicit-cast-dump.c | 15 |
2 files changed, 18 insertions, 3 deletions
diff --git a/include/clang/Sema/Initialization.h b/include/clang/Sema/Initialization.h index b4c41d479e..778b70b0ec 100644 --- a/include/clang/Sema/Initialization.h +++ b/include/clang/Sema/Initialization.h @@ -177,8 +177,7 @@ public: /// \brief Create the initialization entity for a parameter. static InitializedEntity InitializeParameter(ASTContext &Context, ParmVarDecl *Parm) { - return InitializeParameter(Context, Parm, - Parm->getType().getUnqualifiedType()); + return InitializeParameter(Context, Parm, Parm->getType()); } /// \brief Create the initialization entity for a parameter, but use @@ -191,7 +190,8 @@ public: InitializedEntity Entity; Entity.Kind = EK_Parameter; - Entity.Type = Context.getVariableArrayDecayedType(Type); + Entity.Type = + Context.getVariableArrayDecayedType(Type.getUnqualifiedType()); Entity.Parent = 0; Entity.Parameter = (static_cast<uintptr_t>(Consumed) | reinterpret_cast<uintptr_t>(Parm)); diff --git a/test/Sema/implicit-cast-dump.c b/test/Sema/implicit-cast-dump.c new file mode 100644 index 0000000000..f2e208dca6 --- /dev/null +++ b/test/Sema/implicit-cast-dump.c @@ -0,0 +1,15 @@ +// RUN: %clang_cc1 -ast-dump %s | FileCheck %s + +void foo1(void*); +void foo2(void* const); + + +void bar() { + // CHECK: (FunctionDecl {{.*}} <line:{{.*}}, line:{{.*}}> bar 'void ()' + + foo1(0); + // CHECK: (ImplicitCastExpr {{.*}} <col:{{.*}}> 'void *' <NullToPointer> + + foo2(0); + // CHECK: (ImplicitCastExpr {{.*}} <col:{{.*}}> 'void *' <NullToPointer> +} |