private:
mutable StringMap<Section> Sections;
mutable SectionFlags::FlagsStringsMapType FlagsStrings;
- void fillDefaultValues();
protected:
/// TM - The current TargetMachine.
const TargetMachine &TM;
/// measure inline asm instructions.
char SeparatorChar; // Defaults to ';'
+ /// CommentColumn - This indicates the comment num (zero-based) at
+ /// which asm comments should be printed.
+ unsigned CommentColumn; // Defaults to 60
+
/// CommentString - This indicates the comment character used by the
/// assembler.
const char *CommentString; // Defaults to "#"
/// AssemblerDialect - Which dialect of an assembler variant to use.
unsigned AssemblerDialect; // Defaults to 0
- /// StringConstantPrefix - Prefix for FEs to use when generating unnamed
- /// constant strings. These names get run through the Mangler later; if
- /// you want the Mangler not to add the GlobalPrefix as well,
- /// use '\1' as the first character.
- const char *StringConstantPrefix; // Defaults to ".str"
-
+ /// AllowQuotesInName - This is true if the assembler allows for complex
+ /// symbol names to be surrounded in quotes. This defaults to false.
+ bool AllowQuotesInName;
+
//===--- Data Emission Directives -------------------------------------===//
/// ZeroDirective - this should be set to the directive used to get some
/// directives for various sizes and non-default address spaces.
virtual const char *getASDirective(unsigned size,
unsigned AS) const {
- assert (AS > 0
- && "Dont know the directives for default addr space");
+ assert(AS > 0 && "Dont know the directives for default addr space");
return NULL;
}
/// encode inline subroutine information.
bool DwarfUsesInlineInfoSection; // Defaults to false.
- /// NonLocalEHFrameLabel - If set, the EH_frame label needs to be non-local.
- ///
- bool NonLocalEHFrameLabel; // Defaults to false.
+ /// Is_EHSymbolPrivate - If set, the "_foo.eh" is made private so that it
+ /// doesn't show up in the symbol table of the object file.
+ bool Is_EHSymbolPrivate; // Defaults to true.
/// GlobalEHDirective - This is the directive used to make exception frame
/// tables globally visible.
char getSeparatorChar() const {
return SeparatorChar;
}
+ unsigned getCommentColumn() const {
+ return CommentColumn;
+ }
const char *getCommentString() const {
return CommentString;
}
const char *getPrivateGlobalPrefix() const {
return PrivateGlobalPrefix;
}
- /// EHGlobalPrefix - Prefix for EH_frame and the .eh symbols.
- /// This is normally PrivateGlobalPrefix, but some targets want
- /// these symbols to be visible.
- virtual const char *getEHGlobalPrefix() const {
- return PrivateGlobalPrefix;
- }
const char *getLessPrivateGlobalPrefix() const {
return LessPrivateGlobalPrefix;
}
unsigned getAssemblerDialect() const {
return AssemblerDialect;
}
- const char *getStringConstantPrefix() const {
- return StringConstantPrefix;
+ bool doesAllowQuotesInName() const {
+ return AllowQuotesInName;
}
const char *getZeroDirective() const {
return ZeroDirective;
bool doesDwarfUsesInlineInfoSection() const {
return DwarfUsesInlineInfoSection;
}
- bool doesRequireNonLocalEHFrameLabel() const {
- return NonLocalEHFrameLabel;
+ bool is_EHSymbolPrivate() const {
+ return Is_EHSymbolPrivate;
}
const char *getGlobalEHDirective() const {
return GlobalEHDirective;