[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problem compiling DDD-3.3 on Solaris 8/SPARC (and possible fix?)
From: |
Mike Bland |
Subject: |
Problem compiling DDD-3.3 on Solaris 8/SPARC (and possible fix?) |
Date: |
Fri, 9 Mar 2001 01:18:37 -0500 (EST) |
Since this is a compile-time problem, please forgive my exclusion of DDD
configuration/log information. Here is the vital info:
DDD version: 3.3
OS: Solaris 8
Arch: sparcv9
g++ version: 2.95.2 19991024
A transcript of the compiler output follows. In the file SourceView.C,
I'm getting errors for two lines of code which are both identical to:
next_l = ULONG_MAX;
The g++ warning/error messages are:
integer constant out of range
warning: decimal integer constant is so large that it is unsigned
The two instances appear in:
static bool SourceView::function_is_larger_than(string, int)
static void SourceView::show_pc(const string &, XmHighlightMode =
XmHIGHLIGHT_NORMAL, bool = false, bool = false)
I suspect this is because the 64-bit ULONG_MAX goes far beyond the 32-bit
unsigned long that g++ is capable of producing.
I've managed to get around this by changing the above lines to:
next_l = static_cast<unsigned long>(-1);
This seems to have the same net effect--I think. It compiles fine with
this alteration. Please let me know if this will have some horrendous
side effect. Either way, I figured it was worth sending in.
Incidentally, I tried compiling it with Sun CC, version Sun WorkShop 6
update 1 C++ 5.2 2000/09/11, but the finished executable kept segfaulting,
and I don't feel qualified to track that one down yet (nor do I have the
time right now). In order to get it to build in the first place, though,
I had to deal with some constness problem in MString.h, which I kludged
my way through; the transcript of those error messages follows the
transcript for the aforementioned SourceView.C problem.
Thanks,
Mike Bland
mbland@pcs.ncu.edu
-------------------------------------------------------------------------
SourceView.C messages (g++):
/usr/local/gnu/bin/g++ -DHAVE_CONFIG_H -I. -I. -I. -I./.. -isystem
/usr/openwin/include -I/usr/local/gnu/include -I/usr/local/include
-DNDEBUG -O3 -W -Wall -s -pipe -mcpu=ultrasparc -fomit-frame-pointer
-I/usr/local/gnu/include -I/usr/local/include -trigraphs -c SourceView.C
SourceView.C: In function `static bool
SourceView::function_is_larger_than(string, int)':
SourceView.C:9497: integer constant out of range
SourceView.C:9497: warning: decimal integer constant is so large that it
is unsigned
SourceView.C: In function `static void SourceView::show_pc(const string &,
XmHighlightMode = XmHIGHLIGHT_NORMAL, bool = false, bool = false)':
SourceView.C:9577: integer constant out of range
SourceView.C:9577: warning: decimal integer constant is so large that it
is unsigned
make[1]: *** [SourceView.o] Error 1
make[1]: Leaving directory `/home/staff/sysapp1/src/gnu/ddd-3.3/ddd'
make: *** [all-recursive] Error 1
-------------------------------------------------------------------------
MString.h problem (Sun CC):
/usr/local/forte/SUNWspro/WS6U1/bin/CC -DHAVE_CONFIG_H -I. -I. -I. -I./..
-I/usr/openwin/include -I/usr/local/gnu/include -DNDEBUG -xs -s -fast
-native -L/us r/local/gnu/lib -I/usr/local/gnu/include -I/usr/local/include
-c ddd.C
CC: Warning: -xarch=native has been explicitly specified, or implicitly
specified by a macro option, -xarch=native on this architecture implies
-xarch=v8plusa which generates code that does not run on pre-UltraSPARC
processors
"MString.h", line 57: Error: Formal argument text of type char* in call to
XmStringCreateLtoR(char*, char*) is being passed const char*.
"MString.h", line 57: Error: Cannot use int to initialize __XmStringRec*.
"ddd.C", line 6874: Warning (Anachronism): Formal argument 3 of type
extern "C" int(*)(_XDisplay*,_XEvent*,char*) in call to
XCheckIfEvent(_XDisplay*, _XEvent*, extern "C"
int(*)(_XDisplay*,_XEvent*,char*), char*) is being passed
int(*)(_XDisplay*,_XEvent*,char*).
2 Error(s) and 1 Warning(s) detected.
*** Error code 2
make: Fatal error: Command failed for target `ddd.o'
Current working directory /home/staff/sysapp1/src/gnu/ddd-3.3/ddd
*** Error code 1
make: Fatal error: Command failed for target `all-recursive'
- Problem compiling DDD-3.3 on Solaris 8/SPARC (and possible fix?),
Mike Bland <=