- MCSymbol(const StringRef &_Name, bool _IsTemporary)
- : Name(_Name), Section(0), IsTemporary(_IsTemporary) {}
-
- MCSymbol(const MCSymbol&); // DO NOT IMPLEMENT
- void operator=(const MCSymbol&); // DO NOT IMPLEMENT
+ MCSymbol(StringRef name, bool isTemporary, bool noQuoting)
+ : Name(name), Section(nullptr), Value(nullptr),
+ IsTemporary(isTemporary), NoQuoting(noQuoting),
+ IsRedefinable(false), IsUsed(false) {}
+
+ MCSymbol(const MCSymbol&) = delete;
+ void operator=(const MCSymbol&) = delete;
+ const MCSection *getSectionPtr() const {
+ if (Section || !Value)
+ return Section;
+ return Section = Value->FindAssociatedSection();
+ }
+