diff options
author | Chris Lattner <sabre@nondot.org> | 2008-10-26 23:53:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-10-26 23:53:12 +0000 |
commit | 084bc32e0d0c80216a85597f1d08d67386099c58 (patch) | |
tree | 970f0834e4becac6386b441d756be218c20b2da8 /clang/lib/CodeGen/CGExprConstant.cpp | |
parent | 07d754acf11590af580bcc4b8816105a60ebb8fe (diff) | |
download | bcm5719-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.cpp | 6 |
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); |