aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/Support/ilist9
-rw-r--r--include/llvm/ADT/ilist9
2 files changed, 10 insertions, 8 deletions
diff --git a/include/Support/ilist b/include/Support/ilist
index bfa601f9c9..499c3e2b9d 100644
--- a/include/Support/ilist
+++ b/include/Support/ilist
@@ -438,13 +438,14 @@ public:
//
size_type size() const {
-#if __GNUC__ == 3
- size_type Result = std::distance(begin(), end());
-#else
+#if __GNUC__ == 2
+ // GCC 2.95 has a broken std::distance
size_type Result = 0;
std::distance(begin(), end(), Result);
-#endif
return Result;
+#else
+ return std::distance(begin(), end());
+#endif
}
iterator erase(iterator first, iterator last) {
diff --git a/include/llvm/ADT/ilist b/include/llvm/ADT/ilist
index bfa601f9c9..499c3e2b9d 100644
--- a/include/llvm/ADT/ilist
+++ b/include/llvm/ADT/ilist
@@ -438,13 +438,14 @@ public:
//
size_type size() const {
-#if __GNUC__ == 3
- size_type Result = std::distance(begin(), end());
-#else
+#if __GNUC__ == 2
+ // GCC 2.95 has a broken std::distance
size_type Result = 0;
std::distance(begin(), end(), Result);
-#endif
return Result;
+#else
+ return std::distance(begin(), end());
+#endif
}
iterator erase(iterator first, iterator last) {