summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sort.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/sort.c b/src/sort.c
index 7b736c152..7de1a41fe 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -1720,7 +1720,10 @@ sortlines_temp (struct line *lines, size_t nlines, struct line *temp)
{
if (nlines == 2)
{
- bool swap = (0 < compare (&lines[-1], &lines[-2]));
+ /* Declare `swap' as int, not bool, to work around a bug
+ <http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html>
+ in the IBM xlc 6.0.0.0 compiler in 64-bit mode. */
+ int swap = (0 < compare (&lines[-1], &lines[-2]));
temp[-1] = lines[-1 - swap];
temp[-2] = lines[-2 + swap];
}