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 | 4588a1a20558699907e3d679bcac65207b073303 (patch) | |
| tree | 1ade18393173b5a57370028b258430ef33777f6b | |
| parent | b13b33359bbf0a9cabb631a0aa9ddb24f4cc3322 (diff) | |
| download | bcm5719-llvm-4588a1a20558699907e3d679bcac65207b073303.tar.gz bcm5719-llvm-4588a1a20558699907e3d679bcac65207b073303.zip | |
Unqualify the parameter type.
This fixes a regression from 168895.
llvm-svn: 171519
| -rw-r--r-- | clang/include/clang/Sema/Initialization.h | 6 | ||||
| -rw-r--r-- | clang/test/Sema/implicit-cast-dump.c | 15 |
2 files changed, 18 insertions, 3 deletions
diff --git a/clang/include/clang/Sema/Initialization.h b/clang/include/clang/Sema/Initialization.h index b4c41d479ea..778b70b0ec1 100644 --- a/clang/include/clang/Sema/Initialization.h +++ b/clang/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/clang/test/Sema/implicit-cast-dump.c b/clang/test/Sema/implicit-cast-dump.c new file mode 100644 index 00000000000..f2e208dca6a --- /dev/null +++ b/clang/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> +} |

