summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprConstant.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-10-26 23:53:12 +0000
committerChris Lattner <sabre@nondot.org>2008-10-26 23:53:12 +0000
commit084bc32e0d0c80216a85597f1d08d67386099c58 (patch)
tree970f0834e4becac6386b441d756be218c20b2da8 /clang/lib/CodeGen/CGExprConstant.cpp
parent07d754acf11590af580bcc4b8816105a60ebb8fe (diff)
downloadbcm5719-llvm-084bc32e0d0c80216a85597f1d08d67386099c58.tar.gz
bcm5719-llvm-084bc32e0d0c80216a85597f1d08d67386099c58.zip
make codegen reject initializes with designators, like this:
t.c:1:13: error: cannot codegen this designators yet int a[10] = {2, 4, [8]=9, 10}; ^~~~~~~~~~~~~~~~~ llvm-svn: 58220
Diffstat (limited to 'clang/lib/CodeGen/CGExprConstant.cpp')
-rw-r--r--clang/lib/CodeGen/CGExprConstant.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp
index 5fc513d125c..89b34e611ba 100644
--- a/clang/lib/CodeGen/CGExprConstant.cpp
+++ b/clang/lib/CodeGen/CGExprConstant.cpp
@@ -315,6 +315,12 @@ public:
const llvm::Type* RetTy = CGM.getTypes().ConvertType(ILE->getType());
return llvm::Constant::getNullValue(RetTy);
}
+
+ // FIXME: We don't codegen or sema designators yet.
+ if (ILE->hadDesignators()) {
+ CGM.ErrorUnsupported(ILE, "initializer list with designators");
+ return llvm::UndefValue::get(ConvertType(ILE->getType()));
+ }
if (ILE->getType()->isArrayType())
return EmitArrayInitialization(ILE);
OpenPOWER on IntegriCloud