[llvm-commits] [llvm] r133013 - in /llvm/trunk: include/llvm/MC/MCContext.h lib/MC/MCParser/AsmParser.cpp

Jim Grosbach grosbach at apple.com
Tue Jun 14 14:51:20 PDT 2011


Author: grosbach
Date: Tue Jun 14 16:51:20 2011
New Revision: 133013

URL: http://llvm.org/viewvc/llvm-project?rev=133013&view=rev
Log:
Revert 133010. Self-hosted buildbot unhappy.

Apparently llvm itself generates undefined assembler local labels, causing
self-hosting problems with this patch. Reverting until that's sorted out.

Modified:
    llvm/trunk/include/llvm/MC/MCContext.h
    llvm/trunk/lib/MC/MCParser/AsmParser.cpp

Modified: llvm/trunk/include/llvm/MC/MCContext.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCContext.h?rev=133013&r1=133012&r2=133013&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCContext.h (original)
+++ llvm/trunk/include/llvm/MC/MCContext.h Tue Jun 14 16:51:20 2011
@@ -39,9 +39,6 @@
   class MCContext {
     MCContext(const MCContext&); // DO NOT IMPLEMENT
     MCContext &operator=(const MCContext&); // DO NOT IMPLEMENT
-  public:
-    typedef StringMap<MCSymbol*, BumpPtrAllocator&> SymbolTable;
-  private:
 
     /// The MCAsmInfo for this target.
     const MCAsmInfo &MAI;
@@ -55,7 +52,7 @@
     BumpPtrAllocator Allocator;
 
     /// Symbols - Bindings of names to symbols.
-    SymbolTable Symbols;
+    StringMap<MCSymbol*, BumpPtrAllocator&> Symbols;
 
     /// UsedNames - Keeps tracks of names that were used both for used declared
     /// and artificial symbols.
@@ -145,14 +142,6 @@
     /// LookupSymbol - Get the symbol for \p Name, or null.
     MCSymbol *LookupSymbol(StringRef Name) const;
 
-    /// getSymbols - Get a reference for the symbol table for clients that
-    /// want to, for example, iterate over all symbols. 'const' because we
-    /// still want any modifications to the table itself to use the MCContext
-    /// APIs.
-    const SymbolTable &getSymbols() const {
-      return Symbols;
-    }
-
     /// @}
 
     /// @name Section Management

Modified: llvm/trunk/lib/MC/MCParser/AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmParser.cpp?rev=133013&r1=133012&r2=133013&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/AsmParser.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/AsmParser.cpp Tue Jun 14 16:51:20 2011
@@ -84,7 +84,6 @@
   AsmLexer Lexer;
   MCContext &Ctx;
   MCStreamer &Out;
-  const MCAsmInfo &MAI;
   SourceMgr &SrcMgr;
   MCAsmParserExtension *GenericParser;
   MCAsmParserExtension *PlatformParser;
@@ -136,7 +135,7 @@
   virtual MCContext &getContext() { return Ctx; }
   virtual MCStreamer &getStreamer() { return Out; }
 
-  virtual bool Warning(SMLoc L, const Twine &Msg);
+  virtual bool Warning(SMLoc L, const Twine &Meg);
   virtual bool Error(SMLoc L, const Twine &Msg);
 
   const AsmToken &Lex();
@@ -161,9 +160,8 @@
   void HandleMacroExit();
 
   void PrintMacroInstantiations();
-  void PrintMessage(SMLoc Loc, const Twine &Msg, const char *Type,
-                    bool ShowLine = true) const {
-    SrcMgr.PrintMessage(Loc, Msg, Type, ShowLine);
+  void PrintMessage(SMLoc Loc, const Twine &Msg, const char *Type) const {
+    SrcMgr.PrintMessage(Loc, Msg, Type);
   }
 
   /// EnterIncludeFile - Enter the specified file. This returns true on failure.
@@ -339,7 +337,7 @@
 
 AsmParser::AsmParser(const Target &T, SourceMgr &_SM, MCContext &_Ctx,
                      MCStreamer &_Out, const MCAsmInfo &_MAI)
-  : Lexer(_MAI), Ctx(_Ctx), Out(_Out), MAI(_MAI), SrcMgr(_SM),
+  : Lexer(_MAI), Ctx(_Ctx), Out(_Out), SrcMgr(_SM),
     GenericParser(new GenericAsmParser), PlatformParser(0),
     CurBuffer(0), MacrosEnabled(true) {
   Lexer.setBuffer(SrcMgr.getMemoryBuffer(CurBuffer));
@@ -468,25 +466,6 @@
       TokError("unassigned file number: " + Twine(i) + " for .file directives");
   }
 
-  // Check to see that all assembler local symbols were actually defined.
-  // Targets that don't do subsections via symbols may not want this, though,
-  // so conservatively exclude them.
-  if (MAI.hasSubsectionsViaSymbols()) {
-    const MCContext::SymbolTable &Symbols = getContext().getSymbols();
-    for (MCContext::SymbolTable::const_iterator i = Symbols.begin(),
-         e = Symbols.end();
-         i != e; ++i) {
-      MCSymbol *Sym = i->getValue();
-      if (Sym->isTemporary() && !Sym->isDefined())
-        // FIXME: We would really like to refer back to where the symbol was
-        // first referenced for a source location. We need to add something
-        // to track that. Currently, we just point to the end of the file.
-        PrintMessage(getLexer().getLoc(), "assembler local symbol '" +
-                     Sym->getName() + "' not defined", "error", false);
-    }
-  }
-
-
   // Finalize the output stream if there are no errors and if the client wants
   // us to.
   if (!HadError && !NoFinalize)





More information about the llvm-commits mailing list