From c2651d6650caf16ae1f0ce58689e2f50acb037b8 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 22 Dec 2000 08:00:00 +0000 Subject: [PATCH] mknumeric_limits: Output to temporary files, and rename them at the end. * mknumeric_limits: Output to temporary files, and rename them at the end. From-SVN: r38443 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/mknumeric_limits | 19 ++++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 98c031a..acda825 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2000-12-22 Alexandre Oliva + + * mknumeric_limits: Output to temporary files, and rename them at + the end. + 2000-12-21 Benjamin Kosnik * configure.in: Change GLIBCPP_ENABLE_SHADOW to diff --git a/libstdc++-v3/mknumeric_limits b/libstdc++-v3/mknumeric_limits index 600d6f1..25d8a27 100755 --- a/libstdc++-v3/mknumeric_limits +++ b/libstdc++-v3/mknumeric_limits @@ -45,7 +45,7 @@ OUT_H="$BUILD_DIR/include/bits/std_limits.h" OUT_C="$BUILD_DIR/src/limitsMEMBERS.cc" if [ -f $OUT_C ]; then - rm -f $OUT_H OUT_C + rm -f $OUT_H $OUT_C $OUT_H-t $OUT_C-t fi SRC_DIR=$2 @@ -64,7 +64,9 @@ fi : ${CXX:="$BUILD_DIR/../../gcc/g++ -B$BUILD_DIR/../../gcc/"} -cat < $OUT_H +# We output to a temporary file, so that we don't appear to have +# succeeded unless we actually do. +cat < $OUT_H-t // The template and inlines for the -*- C++ -*- numeric_limits classes. // Copyright (C) 1999, 2000 Free Software Foundation, Inc. @@ -189,9 +191,9 @@ if [ ! -f "$BUILD_DIR/src/gen-num-limits" ]; then exit 1 fi -"$BUILD_DIR/src/gen-num-limits" >> $OUT_H +"$BUILD_DIR/src/gen-num-limits" >> $OUT_H-t -cat <> $OUT_H +cat <> $OUT_H-t } // namespace std #endif // _CPP_NUMERIC_LIMITS @@ -245,8 +247,8 @@ for type_name in bool char 'signed char' 'unsigned char' \ long 'unsigned long' 'long long' 'unsigned long long' \ float double 'long double' do - grep "<$type_name>" $OUT_H >/dev/null 2>&1 || continue - cat <> $OUT_C + grep "<$type_name>" $OUT_H-t >/dev/null 2>&1 || continue + cat <> $OUT_C-t const bool $trait_name<$type_name>::is_specialized; const int $trait_name<$type_name>::digits; @@ -274,8 +276,11 @@ EOF done -cat <> $OUT_C +cat <> $OUT_C-t } // namespace std EOF + +mv $OUT_C-t $OUT_C +mv $OUT_H-t $OUT_H -- 2.7.4