bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: c++/cursesw.cc compile error


From: Thomas Dickey
Subject: Re: c++/cursesw.cc compile error
Date: Sun, 29 Jul 2001 13:52:09 -0400
User-agent: Mutt/1.2.5i

On Sun, Jul 29, 2001 at 11:52:55AM -0500, address@hidden wrote:
> The configure test to define USE_STDIO_VSCAN and friends *only* works
> if CXX=g++. Yet, c++/cursesw.cc tries to use the result of this test
> which will clearly not work if CXX!=g++ (I'm trying to compile with
> Solaris CC, HP-UX aCC, and IRIX CC):
> 
> CC -I../c++ -I../include -I. -DHAVE_CONFIG_H  -I. -I../include
> -I/opt/TWWfsw/ncurses5/include/ncurses -xO2 -xtarget=generic -KPIC -c
> ../c++/cursesw.cc                                
> "../c++/etip.h", line 281: Warning: String literal converted to char*
> in formal argument 2 in call to genericerror(int, char*).

I do have this one on my to-do list (genericerror), from early June when
I did some test-compiles on gax (Solaris).  It's likely that the older
C++ compiler that I was attempting to build with on Solaris had a prototype
for genericerror which doesn't match the newer ones.

> "../c++/cursesw.cc", line 59: Error: vscan is not a member of
> std::strstreambuf.
> "../c++/cursesw.cc", line 87: Error: vscan is not a member of
> std::strstreambuf.
> "../c++/cursesw.cc", line 280: Warning (Anachronism): Formal argument
> init of type extern "C" int(*)(_win_st*,int) in call to
> _nc_ripoffline(int, extern "C" int(*)(_win_st*,int)) is being passed
> int(*)(_win_st*,int).
> 
> So, does C++ support with the latest patched ncurses require GNU C++?

no - I have (now that you mention it - except for your machines) access to only
a couple of workable C++ compilers that aren't g++, and it happened to build on
SCO (the Solaris C++ compiler at work is too old to bother with for ncurses,
since it has some problem with the vtable that I could not get anywhere with).

Were you able to build this (except for my scanw changes) with Solaris' C++
compiler before?

I will have to do more work on the configure check, I see:  I think that's the
real issue.

Looking at the configure test CF_CPP_VSCAN_FUNC, I see that it's still ifdef'd
for g++ (so it shouldn't have passed - I took the corresponding ifdef's out of
the NCursesWindow::scanw method because (if the configure check worked
properly), there would be no reason to assume another compiler than g++
shouldn't handle the function contents.  I did this, intending to see which
systems would work - rather than silently fail.

-- 
Thomas E. Dickey <address@hidden>
http://dickey.his.com
ftp://dickey.his.com



reply via email to

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