[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[be] [bug #27056] Bibledit 3.8 does not compile on amd64
From: |
Jonathan Marsden |
Subject: |
[be] [bug #27056] Bibledit 3.8 does not compile on amd64 |
Date: |
Mon, 20 Jul 2009 05:23:37 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090716 Ubuntu/9.04 (jaunty) Shiretoko/3.5.1 |
Follow-up Comment #1, bug #27056 (project bibledit):
After looking through the code and that error message, I think the code in
windowcheckkeyterms.cpp and utilities.h is assuming that size_t is always
compatible with int.
However, in reality, for GNU gcc, size_t is a signed word, which is int on
32bit machines and long int on 64bit machines.
More specifically:
(a) all the quicksort routines in utilities.h have a final parameter named
end of type unsigned int.
(b) line 556 of windowcheckkeyterms.cpp passes in startpositions.size() to
this end parameter, and this is of type size_t, which is long int on a 64bit
machine.
Similar reasoning applies to the other quicksort parameters, which are
declared as being based on int in utilities.h, but are used by size_t based
objects, which on a 64bit machine are based on long int.
Lines 552-554 are:
vector <size_t> startpositions;
vector <size_t> lengths;
size_t processposition = 0;
which will differ when compiled on32bit architectures and 64bit ones. Is
that intended and necessary?
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?27056>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/