[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DDD-3.3.9-test1 is released
From: |
Tim Mooney |
Subject: |
Re: DDD-3.3.9-test1 is released |
Date: |
Mon, 10 May 2004 10:49:26 -0500 (CDT) |
In regard to: Re: DDD-3.3.9-test1 is released, Arnaud Desitter said (at...:
>From: "Tim Mooney" <address@hidden>
>>
>cxx -DHAVE_CONFIG_H -I. -I. -I. -I./.. -I/local/include -I/local/gnu/includ
>e -DNDEBUG -std ansi -O3 -tune host -arch host -Olimit
>3000 -readonly_strings -D__USE_STD_IOSTREAM -msg_display_tag -c -o ddd.o
>ddd.C
>> cxx: Error: strclass.h, line 464: "string" is ambiguous (ambiguousname)
>> const string& S; // The string I'm a constSubString of
>> ----------^
>> cxx: Error: strclass.h, line 468: "string" is ambiguous (ambiguousname)
>> constSubString(const string& x, int p, int l);
>> -------------------------^
>> cxx: Error: strclass.h, line 481: "string" is ambiguous (ambiguousname)
>> bool contains(const string& y) const;
>> ------------------------^
>>
>> The compiler is apparently objecting because `string' is a typedef in the
>> Standard C++ library, for the templated basic_string class:
>>
>> typedef basic_string<char, char_traits<char>, allocator<char> >
>> string;
>>
>
>#include <string> imports std::string which is different from string defined
>by ddd. "cxx" must import all definitions of the namespace "std" into the
>global namespace and consequently makes the compilation go wrong.
>This is confirmed by http://h30097.www3.hp.com/cplus/cxx_ref.htm, see
>"-using_std".
>
>Could you try again with "cxx -D__USE_STD_IOSTREAM -nousing_std" ?
>Hopefully, it will make it work.
I tried that, and the compile proceeded for quite a while, but
unfortunately there's a new string-related error when we get to AgentM.C:
cxx -DHAVE_CONFIG_H -I. -I. -I. -I./.. -I/local/include -I/local/gnu/include
-DNDEBUG -std ansi -O3 -tune host -arch host -Olimit 3000 -readonly_strings
-D__USE_STD_IOSTREAM -nousing_std -msg_display_tag -c -o AgentM.o AgentM.C
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-041/include/cxx/locimpl, line 328:
namespace "std" has no member "string" (notmember)
locale_vector<_RW_STD::string> names_;
-------------------------^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-041/include/cxx/locimpl, line 333:
namespace "std" has no member "string" (notmember)
_RW_STD::string big_name_;
-----------^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-041/include/cxx/locimpl, line 351:
namespace "std" has no member "string" (notmember)
static bool parse_name (locale_vector<_RW_STD::string>&,const char*);
-------------------------------------------------^
cxx: Error: /usr/lib/cmplrs/cxx/V6.5-041/include/cxx/locimpl, line 353:
namespace "std" has no member "string" (notmember)
static bool build_name (_RW_STD::string&,const
locale_vector<_RW_STD::string>&);
-----------------------------------^
(there are subsequent errors that I've left out).
BTW, based on my reading of the documentation, it looks like neither
`-D__USE_STD_IOSTREAM' nor `-nousing_std' should be necessary if you're
using `-std strict_ansi' (which I didn't know about until last night).
Unfortunately, using just that option also doesn't work:
cxx -DHAVE_CONFIG_H -I. -I. -I. -I./.. -I/local/include -I/local/gnu/include
-DNDEBUG -std strict_ansi -D_OSF_SOURCE -msg_display_tag -c -o ddd.o ddd.C
cxx: Error: AgentM.h, line 83: identifier "SIGPIPE" is undefined
(undeclared)
old_pipe_handler(SignalProc(signal(SIGPIPE, SignalProc(SIG_IGN)))),
-------------------------------------------^
cxx: Error: AgentM.h, line 85: identifier "SIGCHLD" is undefined
(undeclared)
old_chld_handler(SignalProc(signal(SIGCHLD, new_chld_handler)))
-------------------------------------------^
cxx: Error: Agent.h, line 342: identifier "SIGKILL" is undefined
(undeclared)
void _kill(int sig = SIGKILL); // send signal
-------------------------^
cxx: Error: Agent.h, line 269: identifier "fileno" is undefined
(undeclared)
return inputfp() != 0 && isatty(fileno(inputfp()));
----------------------------------------^
>As well could tell us if the information you reported in ddd/PROBLEMS,
>section DEC (re. "-msg_disable nonstd_implicit_int") is still relevant ?
I'm sure it's relevant for whatever old release of the OS I reported it
for, but it's no longer needed for 5.x and the vendor C++ compiler. This
may be because the option
-SD/usr/include
is one of the default options to the compiler. That apparently suppresses
diagnostics for any headers under that path.
Tim
--
Tim Mooney address@hidden
Information Technology Services (701) 231-1076 (Voice)
Room 242-J6, IACC Building (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164