ddd
[Top][All Lists]
Advanced

[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




reply via email to

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