// If external or appending, declare as a global symbol
O << "\t.globl " << name << "\n";
// FALL THROUGH
- case GlobalValue::InternalLinkage:
+ case GlobalValue::InternalLinkage: {
+ if (TAI->getCStringSection()) {
+ const ConstantArray *CVA = dyn_cast<ConstantArray>(C);
+ if (CVA && CVA->isCString()) {
+ SwitchToDataSection(TAI->getCStringSection(), I);
+ break;
+ }
+ }
SwitchToDataSection(TAI->getDataSection(), I);
break;
+ }
default:
assert(0 && "Unknown linkage type!");
}
PrivateGlobalPrefix = "L"; // Marker for constant pool idxs
ConstantPoolSection = "\t.const\n";
JumpTableDataSection = "\t.const\n";
+ CStringSection = "\t.cstring";
FourByteConstantSection = "\t.literal4\n";
EightByteConstantSection = "\t.literal8\n";
if (Subtarget->is64Bit())