Statistic class should return const reference to *this, not a reference to
the data type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4458 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/Support/Statistic.h b/include/Support/Statistic.h
index 62dec92..fbdb0ba 100644
--- a/include/Support/Statistic.h
+++ b/include/Support/Statistic.h
@@ -84,12 +84,12 @@
~Statistic() { destroy(); }
// Allow use of this class as the value itself...
- inline operator DataType() const { return Value; }
- inline const DataType &operator=(DataType Val) { Value = Val; return Value; }
- inline const DataType &operator++() { return ++Value; }
- inline DataType operator++(int) { return Value++; }
- inline const DataType &operator+=(const DataType &V) { return Value += V; }
- inline const DataType &operator-=(const DataType &V) { return Value -= V; }
+ operator DataType() const { return Value; }
+ const Statistic &operator=(DataType Val) { Value = Val; return *this; }
+ const Statistic &operator++() { ++Value; return *this; }
+ DataType operator++(int) { return Value++; }
+ const Statistic &operator+=(const DataType &V) { Value += V; return *this; }
+ const Statistic &operator-=(const DataType &V) { Value -= V; return *this; }
};
#endif
diff --git a/include/llvm/ADT/Statistic.h b/include/llvm/ADT/Statistic.h
index 62dec92..fbdb0ba 100644
--- a/include/llvm/ADT/Statistic.h
+++ b/include/llvm/ADT/Statistic.h
@@ -84,12 +84,12 @@
~Statistic() { destroy(); }
// Allow use of this class as the value itself...
- inline operator DataType() const { return Value; }
- inline const DataType &operator=(DataType Val) { Value = Val; return Value; }
- inline const DataType &operator++() { return ++Value; }
- inline DataType operator++(int) { return Value++; }
- inline const DataType &operator+=(const DataType &V) { return Value += V; }
- inline const DataType &operator-=(const DataType &V) { return Value -= V; }
+ operator DataType() const { return Value; }
+ const Statistic &operator=(DataType Val) { Value = Val; return *this; }
+ const Statistic &operator++() { ++Value; return *this; }
+ DataType operator++(int) { return Value++; }
+ const Statistic &operator+=(const DataType &V) { Value += V; return *this; }
+ const Statistic &operator-=(const DataType &V) { Value -= V; return *this; }
};
#endif