bibledit-development
[Top][All Lists]
Advanced

[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/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]