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: Arnaud Desitter
Subject: Re: DDD-3.3.9-test1 is released
Date: Mon, 10 May 2004 17:43:44 +0100

----- Original Message ----- 
From: "Tim Mooney" <address@hidden>
Newsgroups: gmane.comp.debugging.ddd.general
Sent: Monday, May 10, 2004 4:49 PM
Subject: Re: DDD-3.3.9-test1 is released


> 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/inclu
d
> >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/includ
e  -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).

Most probably a bug in the Compaq compiler.

> 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/includ
e  -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()));
> ----------------------------------------^
>

Not sure why you add "-I/local/include -I/local/gnu/include ".
I suppose you could try to add the magic "-Dxxx" to get these symbol
definitions.
"-D_OSF_SOURCE" does not do it.

>
> >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.
>

Ok. I suppose I will leave PROBLEMS as is.

> 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]