aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <redi@gcc.gnu.org>2004-11-03 22:22:34 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2004-11-03 22:22:34 +0000
commitcb1d5dbaeba57d6536812536ecbdd87c1bc9d17f (patch)
tree6ff04d12ce87cd54bc813d10f1baaa6a9c502341
parent4815ff39cb03cacb493594c12caf565924ae99c5 (diff)
downloadgcc-cb1d5dbaeba57d6536812536ecbdd87c1bc9d17f.zip
gcc-cb1d5dbaeba57d6536812536ecbdd87c1bc9d17f.tar.gz
gcc-cb1d5dbaeba57d6536812536ecbdd87c1bc9d17f.tar.bz2
stl_numeric.h (partial_sum, [...]): Avoid dereferencing two times __first in the prologue.
2004-11-03 Jonathan Wakely <redi@gcc.gnu.org> * include/bits/stl_numeric.h (partial_sum, adjacent_difference): Avoid dereferencing two times __first in the prologue. From-SVN: r90038
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/stl_numeric.h8
2 files changed, 9 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 61246af..6848060 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-03 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/bits/stl_numeric.h (partial_sum, adjacent_difference):
+ Avoid dereferencing two times __first in the prologue.
+
2004-11-03 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_numeric.h: Trivial formatting fixes.
diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h
index fc15fe3..a11a040 100644
--- a/libstdc++-v3/include/bits/stl_numeric.h
+++ b/libstdc++-v3/include/bits/stl_numeric.h
@@ -209,8 +209,8 @@ namespace std
if (__first == __last)
return __result;
- *__result = *__first;
_ValueType __value = *__first;
+ *__result = __value;
while (++__first != __last)
{
__value = __value + *__first;
@@ -249,8 +249,8 @@ namespace std
if (__first == __last)
return __result;
- *__result = *__first;
_ValueType __value = *__first;
+ *__result = __value;
while (++__first != __last)
{
__value = __binary_op(__value, *__first);
@@ -285,8 +285,8 @@ namespace std
if (__first == __last)
return __result;
- *__result = *__first;
_ValueType __value = *__first;
+ *__result = __value;
while (++__first != __last)
{
_ValueType __tmp = *__first;
@@ -324,8 +324,8 @@ namespace std
if (__first == __last)
return __result;
- *__result = *__first;
_ValueType __value = *__first;
+ *__result = __value;
while (++__first != __last)
{
_ValueType __tmp = *__first;