[tlbuild] interact.cc and getline insanity

John Bowman bowman at ualberta.ca
Fri Apr 25 17:18:46 CEST 2014


>
>
> Compilation on Solaris 11 fails as follows
>
> g++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC  -D_REENTRANT
> -pthreads -DFFTWPP_SINGLE_THREAD -g -O3 -ansi -fno-var-tracking  -I .
> -Igc-7.4.0/include -o interact.o -c interact.cc
> In file included from /usr/include/c++/4.8.2/ext/hash_map:60:0,
>                  from memory.h:27,
>                  from common.h:35,
>                  from interact.h:10,
>                  from interact.cc:17:
> /usr/include/c++/4.8.2/backward/backward_warning.h:32:2:
> 槕尾槕岐槕尿槕孝槕完槕妥槕尿槕尾槕尿槕妖槕孚槕岔槕孚:
> #warning This file includes at least one deprecated or antiquated header
> which may be removed without further notice at a future date. Please use a
> non-deprecated interface with equivalent functionality instead. For a
> listing of replacement headers and interfaces, consult the file
> backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
>  #warning


I agree that this header is deprecated and should only be used on very old
systems. It is strange
that it is being included at all. If __GNU_PREREQ(4,3) is true,
unordered_map is used instead. See this excerpt from memory.h:

#ifndef __GNUC_PREREQ
#define __GNUC_PREREQ(maj, min) (0)
#endif

#ifndef NOHASH
#if __GNUC_PREREQ(4,3) || defined(__CYGWIN__)
#include <tr1/unordered_map>
#define EXT std::tr1
#else
#define EXT __gnu_cxx
#include <ext/hash_map>
#define unordered_map hash_map
#define unordered_multimap hash_multimap
#endif
#endif

Does gcc under Solaris not define __GNUC_PREREQ? In any case, I'll change
this so that if GNUC_PREREQ is not defined unordered_map will be used by
default.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/tlbuild/attachments/20140425/86ae3e53/attachment.html>


More information about the tlbuild mailing list