mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-13 10:32:06 +00:00
Use C99 aggregate literal syntax for first-class struct and array values.
This fixes several recent CBE regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53958 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
92e87f2379
commit
1a24539405
@ -1021,6 +1021,10 @@ void CWriter::printConstant(Constant *CPV) {
|
||||
}
|
||||
|
||||
case Type::ArrayTyID:
|
||||
// Use C99 compound expression literal initializer syntax.
|
||||
Out << "(";
|
||||
printType(Out, CPV->getType());
|
||||
Out << ")";
|
||||
Out << "{ "; // Arrays are wrapped in struct types.
|
||||
if (ConstantArray *CA = dyn_cast<ConstantArray>(CPV)) {
|
||||
printConstantArray(CA);
|
||||
@ -1064,6 +1068,10 @@ void CWriter::printConstant(Constant *CPV) {
|
||||
break;
|
||||
|
||||
case Type::StructTyID:
|
||||
// Use C99 compound expression literal initializer syntax.
|
||||
Out << "(";
|
||||
printType(Out, CPV->getType());
|
||||
Out << ")";
|
||||
if (isa<ConstantAggregateZero>(CPV) || isa<UndefValue>(CPV)) {
|
||||
const StructType *ST = cast<StructType>(CPV->getType());
|
||||
Out << '{';
|
||||
|
Loading…
x
Reference in New Issue
Block a user