aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2008-02-01 23:31:13 +0000
committerSteve Naroff <snaroff@apple.com>2008-02-01 23:31:13 +0000
commit27e2eb40b9adc876c05e0260d1100385c9f0e5f5 (patch)
treebd46eda3779fe0eea57539021591290bad9acfbd
parent2cec15fc2f3aba0939043747204c95531219de37 (diff)
Make sure SourceManager/HeaderSearch don't support default copy constructors (since they result in bad runtime behavior).
I'm sure there are other classes that might need this "guard", however I was bitten by these 2 recently (so I thought I'd fix them). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46653 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/SourceManager.h3
-rw-r--r--include/clang/Lex/HeaderSearch.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h
index add8d50729..5e7cc75579 100644
--- a/include/clang/Basic/SourceManager.h
+++ b/include/clang/Basic/SourceManager.h
@@ -227,6 +227,9 @@ public:
SourceManager() : LastLineNoFileIDQuery(~0U), MainFileID(0) {}
~SourceManager() {}
+ // SourceManager doesn't support copy construction.
+ explicit SourceManager(const SourceManager&);
+
void clearIDTables() {
FileIDs.clear();
MacroIDs.clear();
diff --git a/include/clang/Lex/HeaderSearch.h b/include/clang/Lex/HeaderSearch.h
index 293ec0d73d..1532b0e287 100644
--- a/include/clang/Lex/HeaderSearch.h
+++ b/include/clang/Lex/HeaderSearch.h
@@ -93,6 +93,9 @@ public:
HeaderSearch(FileManager &FM);
~HeaderSearch();
+ // HeaderSearch doesn't support copy construction.
+ explicit HeaderSearch(const HeaderSearch&);
+
FileManager &getFileMgr() const { return FileMgr; }
/// SetSearchPaths - Interface for setting the file search paths.