[cfe-commits] r99007 - in /cfe/trunk: include/clang/AST/ASTContext.h include/clang/AST/ExternalASTSource.h include/clang/Frontend/PCHBitCodes.h include/clang/Frontend/PCHReader.h include/clang/Frontend/PCHWriter.h include/clang/Parse/Action.h include/clang/Parse/Parser.h lib/AST/ASTContext.cpp lib/Frontend/PCHReader.cpp lib/Frontend/PCHWriter.cpp lib/Parse/Parser.cpp lib/Sema/Sema.cpp lib/Sema/Sema.h

Douglas Gregor dgregor at apple.com
Fri Mar 19 15:13:20 PDT 2010


Author: dgregor
Date: Fri Mar 19 17:13:20 2010
New Revision: 99007

URL: http://llvm.org/viewvc/llvm-project?rev=99007&view=rev
Log:
Remove the capture, serialization, and deserialization of comment
ranges as part of the ASTContext. This code is not and was never used,
but contributes ~250k to the size of the Cocoa.h precompiled
header.

Modified:
    cfe/trunk/include/clang/AST/ASTContext.h
    cfe/trunk/include/clang/AST/ExternalASTSource.h
    cfe/trunk/include/clang/Frontend/PCHBitCodes.h
    cfe/trunk/include/clang/Frontend/PCHReader.h
    cfe/trunk/include/clang/Frontend/PCHWriter.h
    cfe/trunk/include/clang/Parse/Action.h
    cfe/trunk/include/clang/Parse/Parser.h
    cfe/trunk/lib/AST/ASTContext.cpp
    cfe/trunk/lib/Frontend/PCHReader.cpp
    cfe/trunk/lib/Frontend/PCHWriter.cpp
    cfe/trunk/lib/Parse/Parser.cpp
    cfe/trunk/lib/Sema/Sema.cpp
    cfe/trunk/lib/Sema/Sema.h

Modified: cfe/trunk/include/clang/AST/ASTContext.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTContext.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTContext.h (original)
+++ cfe/trunk/include/clang/AST/ASTContext.h Fri Mar 19 17:13:20 2010
@@ -259,19 +259,11 @@
   ///  this ASTContext object.
   LangOptions LangOpts;
 
-  /// \brief Whether we have already loaded comment source ranges from an
-  /// external source.
-  bool LoadedExternalComments;
-
   /// MallocAlloc/BumpAlloc - The allocator objects used to create AST objects.
   bool FreeMemory;
   llvm::MallocAllocator MallocAlloc;
   llvm::BumpPtrAllocator BumpAlloc;
 
-  /// \brief Mapping from declarations to their comments, once we have
-  /// already looked up the comment associated with a given declaration.
-  llvm::DenseMap<const Decl *, std::string> DeclComments;
-
 public:
   const TargetInfo &Target;
   IdentifierTable &Idents;
@@ -287,10 +279,6 @@
   QualType ObjCClassRedefinitionType;
   QualType ObjCSelRedefinitionType;
 
-  /// \brief Source ranges for all of the comments in the source file,
-  /// sorted in order of appearance in the translation unit.
-  std::vector<SourceRange> Comments;
-
   SourceManager& getSourceManager() { return SourceMgr; }
   const SourceManager& getSourceManager() const { return SourceMgr; }
   void *Allocate(unsigned Size, unsigned Align = 8) {
@@ -357,8 +345,6 @@
   TranslationUnitDecl *getTranslationUnitDecl() const { return TUDecl; }
 
 
-  const char *getCommentForDecl(const Decl *D);
-
   // Builtin Types.
   CanQualType VoidTy;
   CanQualType BoolTy;

Modified: cfe/trunk/include/clang/AST/ExternalASTSource.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExternalASTSource.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ExternalASTSource.h (original)
+++ cfe/trunk/include/clang/AST/ExternalASTSource.h Fri Mar 19 17:13:20 2010
@@ -58,14 +58,6 @@
 
   virtual ~ExternalASTSource();
 
-  /// \brief Reads the source ranges that correspond to comments from
-  /// an external AST source.
-  ///
-  /// \param Comments the contents of this vector will be
-  /// replaced with the sorted set of source ranges corresponding to
-  /// comments in the source code.
-  virtual void ReadComments(std::vector<SourceRange> &Comments) = 0;
-
   /// \brief Resolve a type ID into a type, potentially building a new
   /// type.
   virtual QualType GetType(uint32_t ID) = 0;

Modified: cfe/trunk/include/clang/Frontend/PCHBitCodes.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/PCHBitCodes.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/PCHBitCodes.h (original)
+++ cfe/trunk/include/clang/Frontend/PCHBitCodes.h Fri Mar 19 17:13:20 2010
@@ -215,9 +215,7 @@
       /// generate the precompiled header.
       ORIGINAL_FILE_NAME = 19,
 
-      /// \brief Record code for the sorted array of source ranges where
-      /// comments were encountered in the source code.
-      COMMENT_RANGES = 20,
+      /// Record #20 intentionally left blank.
       
       /// \brief Record code for the version control branch and revision
       /// information of the compiler used to build this PCH file.

Modified: cfe/trunk/include/clang/Frontend/PCHReader.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/PCHReader.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/PCHReader.h (original)
+++ cfe/trunk/include/clang/Frontend/PCHReader.h Fri Mar 19 17:13:20 2010
@@ -310,12 +310,6 @@
   /// preprocessing record.
   unsigned NumPreallocatedPreprocessingEntities;
       
-  /// \brief A sorted array of source ranges containing comments.
-  SourceRange *Comments;
-
-  /// \brief The number of source ranges in the Comments array.
-  unsigned NumComments;
-
   /// \brief The set of external definitions stored in the the PCH
   /// file.
   llvm::SmallVector<uint64_t, 16> ExternalDefinitions;
@@ -566,14 +560,6 @@
   /// \brief Read preprocessed entities into the 
   virtual void ReadPreprocessedEntities();
 
-  /// \brief Reads the source ranges that correspond to comments from
-  /// an external AST source.
-  ///
-  /// \param Comments the contents of this vector will be
-  /// replaced with the sorted set of source ranges corresponding to
-  /// comments in the source code.
-  virtual void ReadComments(std::vector<SourceRange> &Comments);
-
   /// \brief Reads a TemplateArgumentLocInfo appropriate for the
   /// given TemplateArgument kind.
   TemplateArgumentLocInfo

Modified: cfe/trunk/include/clang/Frontend/PCHWriter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/PCHWriter.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/PCHWriter.h (original)
+++ cfe/trunk/include/clang/Frontend/PCHWriter.h Fri Mar 19 17:13:20 2010
@@ -215,7 +215,6 @@
                                const Preprocessor &PP,
                                const char* isysroot);
   void WritePreprocessor(const Preprocessor &PP);
-  void WriteComments(ASTContext &Context);
   void WriteType(QualType T);
   uint64_t WriteDeclContextLexicalBlock(ASTContext &Context, DeclContext *DC);
   uint64_t WriteDeclContextVisibleBlock(ASTContext &Context, DeclContext *DC);

Modified: cfe/trunk/include/clang/Parse/Action.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Action.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/include/clang/Parse/Action.h (original)
+++ cfe/trunk/include/clang/Parse/Action.h Fri Mar 19 17:13:20 2010
@@ -153,10 +153,6 @@
   /// an empty string if not.  This is used for pretty crash reporting.
   virtual std::string getDeclName(DeclPtrTy D) { return ""; }
 
-  /// \brief Invoked for each comment in the source code, providing the source
-  /// range that contains the comment.
-  virtual void ActOnComment(SourceRange Comment) { }
-
   //===--------------------------------------------------------------------===//
   // Declaration Tracking Callbacks.
   //===--------------------------------------------------------------------===//

Modified: cfe/trunk/include/clang/Parse/Parser.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Parser.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/include/clang/Parse/Parser.h (original)
+++ cfe/trunk/include/clang/Parse/Parser.h Fri Mar 19 17:13:20 2010
@@ -90,7 +90,6 @@
   llvm::OwningPtr<PragmaHandler> PackHandler;
   llvm::OwningPtr<PragmaHandler> UnusedHandler;
   llvm::OwningPtr<PragmaHandler> WeakHandler;
-  llvm::OwningPtr<clang::CommentHandler> CommentHandler;
 
   /// Whether the '>' token acts as an operator or not. This will be
   /// true except when we are parsing an expression within a C++

Modified: cfe/trunk/lib/AST/ASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ASTContext.cpp (original)
+++ cfe/trunk/lib/AST/ASTContext.cpp Fri Mar 19 17:13:20 2010
@@ -43,8 +43,7 @@
   GlobalNestedNameSpecifier(0), CFConstantStringTypeDecl(0),
   ObjCFastEnumerationStateTypeDecl(0), FILEDecl(0), jmp_bufDecl(0),
   sigjmp_bufDecl(0), BlockDescriptorType(0), BlockDescriptorExtendedType(0),
-  SourceMgr(SM), LangOpts(LOpts),
-  LoadedExternalComments(false), FreeMemory(FreeMem), Target(t),
+  SourceMgr(SM), LangOpts(LOpts), FreeMemory(FreeMem), Target(t),
   Idents(idents), Selectors(sels),
   BuiltinInfo(builtins), ExternalSource(0), PrintingPolicy(LOpts) {
   ObjCIdRedefinitionType = QualType();
@@ -413,201 +412,6 @@
   };
 }
 
-/// \brief Determine whether the given comment is a Doxygen-style comment.
-///
-/// \param Start the start of the comment text.
-///
-/// \param End the end of the comment text.
-///
-/// \param Member whether we want to check whether this is a member comment
-/// (which requires a < after the Doxygen-comment delimiter). Otherwise,
-/// we only return true when we find a non-member comment.
-static bool
-isDoxygenComment(SourceManager &SourceMgr, SourceRange Comment, 
-                 bool Member = false) {
-  bool Invalid = false;
-  const char *BufferStart
-    = SourceMgr.getBufferData(SourceMgr.getFileID(Comment.getBegin()), 
-                              &Invalid).data();
-  if (Invalid)
-    return false;
-  
-  const char *Start = BufferStart + SourceMgr.getFileOffset(Comment.getBegin());
-  const char* End = BufferStart + SourceMgr.getFileOffset(Comment.getEnd());
-
-  if (End - Start < 4)
-    return false;
-
-  assert(Start[0] == '/' && "Not a comment?");
-  if (Start[1] == '*' && !(Start[2] == '!' || Start[2] == '*'))
-    return false;
-  if (Start[1] == '/' && !(Start[2] == '!' || Start[2] == '/'))
-    return false;
-
-  return (Start[3] == '<') == Member;
-}
-
-/// \brief Retrieve the comment associated with the given declaration, if
-/// it has one.
-const char *ASTContext::getCommentForDecl(const Decl *D) {
-  if (!D)
-    return 0;
-
-  // Check whether we have cached a comment string for this declaration
-  // already.
-  llvm::DenseMap<const Decl *, std::string>::iterator Pos
-    = DeclComments.find(D);
-  if (Pos != DeclComments.end())
-    return Pos->second.c_str();
-
-  // If we have an external AST source and have not yet loaded comments from
-  // that source, do so now.
-  if (ExternalSource && !LoadedExternalComments) {
-    std::vector<SourceRange> LoadedComments;
-    ExternalSource->ReadComments(LoadedComments);
-
-    if (!LoadedComments.empty())
-      Comments.insert(Comments.begin(), LoadedComments.begin(),
-                      LoadedComments.end());
-
-    LoadedExternalComments = true;
-  }
-
-  // If there are no comments anywhere, we won't find anything.
-  if (Comments.empty())
-    return 0;
-
-  // If the declaration doesn't map directly to a location in a file, we
-  // can't find the comment.
-  SourceLocation DeclStartLoc = D->getLocStart();
-  if (DeclStartLoc.isInvalid() || !DeclStartLoc.isFileID())
-    return 0;
-
-  // Find the comment that occurs just before this declaration.
-  std::vector<SourceRange>::iterator LastComment
-    = std::lower_bound(Comments.begin(), Comments.end(),
-                       SourceRange(DeclStartLoc),
-                       BeforeInTranslationUnit(&SourceMgr));
-
-  // Decompose the location for the start of the declaration and find the
-  // beginning of the file buffer.
-  std::pair<FileID, unsigned> DeclStartDecomp
-    = SourceMgr.getDecomposedLoc(DeclStartLoc);
-  bool Invalid = false;
-  const char *FileBufferStart
-    = SourceMgr.getBufferData(DeclStartDecomp.first, &Invalid).data();
-  if (Invalid)
-    return 0;
-  
-  // First check whether we have a comment for a member.
-  if (LastComment != Comments.end() &&
-      !isa<TagDecl>(D) && !isa<NamespaceDecl>(D) &&
-      isDoxygenComment(SourceMgr, *LastComment, true)) {
-    std::pair<FileID, unsigned> LastCommentEndDecomp
-      = SourceMgr.getDecomposedLoc(LastComment->getEnd());
-    if (DeclStartDecomp.first == LastCommentEndDecomp.first &&
-        SourceMgr.getLineNumber(DeclStartDecomp.first, DeclStartDecomp.second)
-          == SourceMgr.getLineNumber(LastCommentEndDecomp.first,
-                                     LastCommentEndDecomp.second)) {
-      // The Doxygen member comment comes after the declaration starts and
-      // is on the same line and in the same file as the declaration. This
-      // is the comment we want.
-      std::string &Result = DeclComments[D];
-      Result.append(FileBufferStart +
-                      SourceMgr.getFileOffset(LastComment->getBegin()),
-                    FileBufferStart + LastCommentEndDecomp.second + 1);
-      return Result.c_str();
-    }
-  }
-
-  if (LastComment == Comments.begin())
-    return 0;
-  --LastComment;
-
-  // Decompose the end of the comment.
-  std::pair<FileID, unsigned> LastCommentEndDecomp
-    = SourceMgr.getDecomposedLoc(LastComment->getEnd());
-
-  // If the comment and the declaration aren't in the same file, then they
-  // aren't related.
-  if (DeclStartDecomp.first != LastCommentEndDecomp.first)
-    return 0;
-
-  // Check that we actually have a Doxygen comment.
-  if (!isDoxygenComment(SourceMgr, *LastComment))
-    return 0;
-
-  // Compute the starting line for the declaration and for the end of the
-  // comment (this is expensive).
-  unsigned DeclStartLine
-    = SourceMgr.getLineNumber(DeclStartDecomp.first, DeclStartDecomp.second);
-  unsigned CommentEndLine
-    = SourceMgr.getLineNumber(LastCommentEndDecomp.first,
-                              LastCommentEndDecomp.second);
-
-  // If the comment does not end on the line prior to the declaration, then
-  // the comment is not associated with the declaration at all.
-  if (CommentEndLine + 1 != DeclStartLine)
-    return 0;
-
-  // We have a comment, but there may be more comments on the previous lines.
-  // Keep looking so long as the comments are still Doxygen comments and are
-  // still adjacent.
-  unsigned ExpectedLine
-    = SourceMgr.getSpellingLineNumber(LastComment->getBegin()) - 1;
-  std::vector<SourceRange>::iterator FirstComment = LastComment;
-  while (FirstComment != Comments.begin()) {
-    // Look at the previous comment
-    --FirstComment;
-    std::pair<FileID, unsigned> Decomp
-      = SourceMgr.getDecomposedLoc(FirstComment->getEnd());
-
-    // If this previous comment is in a different file, we're done.
-    if (Decomp.first != DeclStartDecomp.first) {
-      ++FirstComment;
-      break;
-    }
-
-    // If this comment is not a Doxygen comment, we're done.
-    if (!isDoxygenComment(SourceMgr, *FirstComment)) {
-      ++FirstComment;
-      break;
-    }
-
-    // If the line number is not what we expected, we're done.
-    unsigned Line = SourceMgr.getLineNumber(Decomp.first, Decomp.second);
-    if (Line != ExpectedLine) {
-      ++FirstComment;
-      break;
-    }
-
-    // Set the next expected line number.
-    ExpectedLine
-      = SourceMgr.getSpellingLineNumber(FirstComment->getBegin()) - 1;
-  }
-
-  // The iterator range [FirstComment, LastComment] contains all of the
-  // BCPL comments that, together, are associated with this declaration.
-  // Form a single comment block string for this declaration that concatenates
-  // all of these comments.
-  std::string &Result = DeclComments[D];
-  while (FirstComment != LastComment) {
-    std::pair<FileID, unsigned> DecompStart
-      = SourceMgr.getDecomposedLoc(FirstComment->getBegin());
-    std::pair<FileID, unsigned> DecompEnd
-      = SourceMgr.getDecomposedLoc(FirstComment->getEnd());
-    Result.append(FileBufferStart + DecompStart.second,
-                  FileBufferStart + DecompEnd.second + 1);
-    ++FirstComment;
-  }
-
-  // Append the last comment line.
-  Result.append(FileBufferStart +
-                  SourceMgr.getFileOffset(LastComment->getBegin()),
-                FileBufferStart + LastCommentEndDecomp.second + 1);
-  return Result.c_str();
-}
-
 //===----------------------------------------------------------------------===//
 //                         Type Sizing and Analysis
 //===----------------------------------------------------------------------===//

Modified: cfe/trunk/lib/Frontend/PCHReader.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHReader.cpp?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/PCHReader.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHReader.cpp Fri Mar 19 17:13:20 2010
@@ -328,7 +328,7 @@
     MethodPoolLookupTable(0), MethodPoolLookupTableData(0),
     TotalSelectorsInMethodPool(0), SelectorOffsets(0),
     TotalNumSelectors(0), MacroDefinitionOffsets(0), 
-    NumPreallocatedPreprocessingEntities(0), Comments(0), NumComments(0), 
+    NumPreallocatedPreprocessingEntities(0),  
     isysroot(isysroot), NumStatHits(0), NumStatMisses(0),
     NumSLocEntriesRead(0), NumStatementsRead(0),
     NumMacrosRead(0), NumMethodPoolSelectorsRead(0), NumMethodPoolMisses(0),
@@ -346,7 +346,7 @@
     MethodPoolLookupTable(0), MethodPoolLookupTableData(0),
     TotalSelectorsInMethodPool(0), SelectorOffsets(0),
     TotalNumSelectors(0), MacroDefinitionOffsets(0), 
-    NumPreallocatedPreprocessingEntities(0), Comments(0), NumComments(0), 
+    NumPreallocatedPreprocessingEntities(0),  
     isysroot(isysroot), NumStatHits(0), NumStatMisses(0),
     NumSLocEntriesRead(0), NumStatementsRead(0),
     NumMacrosRead(0), NumMethodPoolSelectorsRead(0), NumMethodPoolMisses(0),
@@ -1503,11 +1503,6 @@
       MaybeAddSystemRootToFilename(OriginalFileName);
       break;
 
-    case pch::COMMENT_RANGES:
-      Comments = (SourceRange *)BlobStart;
-      NumComments = BlobLen / sizeof(SourceRange);
-      break;
-
     case pch::VERSION_CONTROL_BRANCH_REVISION: {
       const std::string &CurBranch = getClangFullRepositoryVersion();
       llvm::StringRef PCHBranch(BlobStart, BlobLen);
@@ -1938,12 +1933,6 @@
   ReadDefinedMacros();
 }
 
-void PCHReader::ReadComments(std::vector<SourceRange> &Comments) {
-  Comments.resize(NumComments);
-  std::copy(this->Comments, this->Comments + NumComments,
-            Comments.begin());
-}
-
 /// \brief Read and return the type at the given offset.
 ///
 /// This routine actually reads the record corresponding to the type

Modified: cfe/trunk/lib/Frontend/PCHWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHWriter.cpp?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/PCHWriter.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHWriter.cpp Fri Mar 19 17:13:20 2010
@@ -564,7 +564,6 @@
   RECORD(SOURCE_LOCATION_PRELOADS);
   RECORD(STAT_CACHE);
   RECORD(EXT_VECTOR_DECLS);
-  RECORD(COMMENT_RANGES);
   RECORD(VERSION_CONTROL_BRANCH_REVISION);
   RECORD(UNUSED_STATIC_FUNCS);
   RECORD(MACRO_DEFINITION_OFFSETS);
@@ -1306,24 +1305,6 @@
   }
 }
 
-void PCHWriter::WriteComments(ASTContext &Context) {
-  using namespace llvm;
-
-  if (Context.Comments.empty())
-    return;
-
-  BitCodeAbbrev *CommentAbbrev = new BitCodeAbbrev();
-  CommentAbbrev->Add(BitCodeAbbrevOp(pch::COMMENT_RANGES));
-  CommentAbbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Blob));
-  unsigned CommentCode = Stream.EmitAbbrev(CommentAbbrev);
-
-  RecordData Record;
-  Record.push_back(pch::COMMENT_RANGES);
-  Stream.EmitRecordWithBlob(CommentCode, Record,
-                            (const char*)&Context.Comments[0],
-                            Context.Comments.size() * sizeof(SourceRange));
-}
-
 //===----------------------------------------------------------------------===//
 // Type Serialization
 //===----------------------------------------------------------------------===//
@@ -2088,7 +2069,6 @@
   if (StatCalls && !isysroot)
     WriteStatCache(*StatCalls, isysroot);
   WriteSourceManagerBlock(Context.getSourceManager(), PP, isysroot);
-  WriteComments(Context);
   // Write the record of special types.
   Record.clear();
 

Modified: cfe/trunk/lib/Parse/Parser.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/Parser.cpp?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/Parser.cpp (original)
+++ cfe/trunk/lib/Parse/Parser.cpp Fri Mar 19 17:13:20 2010
@@ -21,20 +21,6 @@
 #include "ParsePragma.h"
 using namespace clang;
 
-/// \brief A comment handler that passes comments found by the preprocessor
-/// to the parser action.
-class ActionCommentHandler : public CommentHandler {
-  Action &Actions;
-
-public:
-  explicit ActionCommentHandler(Action &Actions) : Actions(Actions) { }
-
-  virtual bool HandleComment(Preprocessor &PP, SourceRange Comment) {
-    Actions.ActOnComment(Comment);
-    return false;
-  }
-};
-
 Parser::Parser(Preprocessor &pp, Action &actions)
   : CrashInfo(*this), PP(pp), Actions(actions), Diags(PP.getDiagnostics()),
     GreaterThanIsOperator(true), ColonIsSacred(false),
@@ -59,9 +45,6 @@
   WeakHandler.reset(new
           PragmaWeakHandler(&PP.getIdentifierTable().get("weak"), actions));
   PP.AddPragmaHandler(0, WeakHandler.get());
-
-  CommentHandler.reset(new ActionCommentHandler(actions));
-  PP.AddCommentHandler(CommentHandler.get());
 }
 
 /// If a crash happens while the parser is active, print out a line indicating
@@ -317,7 +300,6 @@
   UnusedHandler.reset();
   PP.RemovePragmaHandler(0, WeakHandler.get());
   WeakHandler.reset();
-  PP.RemoveCommentHandler(CommentHandler.get());
 }
 
 /// Initialize - Warm up the parser.

Modified: cfe/trunk/lib/Sema/Sema.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.cpp?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/Sema.cpp (original)
+++ cfe/trunk/lib/Sema/Sema.cpp Fri Mar 19 17:13:20 2010
@@ -399,8 +399,3 @@
   
   return dyn_cast<BlockScopeInfo>(FunctionScopes.back());  
 }
-
-void Sema::ActOnComment(SourceRange Comment) {
-  Context.Comments.push_back(Comment);
-}
-

Modified: cfe/trunk/lib/Sema/Sema.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.h?rev=99007&r1=99006&r2=99007&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/Sema.h (original)
+++ cfe/trunk/lib/Sema/Sema.h Fri Mar 19 17:13:20 2010
@@ -686,8 +686,6 @@
   /// WeakTopLevelDeclDecls - access to #pragma weak-generated Decls
   llvm::SmallVector<Decl*,2> &WeakTopLevelDecls() { return WeakTopLevelDecl; }
 
-  virtual void ActOnComment(SourceRange Comment);
-
   //===--------------------------------------------------------------------===//
   // Type Analysis / Processing: SemaType.cpp.
   //





More information about the cfe-commits mailing list