-----BEGIN PGP SIGNED MESSAGE-----
Hi folks,
Two replies told me that I was using the debugger flag -g during
compilation.
I'm sorry for the confusion, but I simply included the wrong
error message files, so I'll include the correct one now.
- -------------------
One hint from Achim Bohnet<ach_at_mpe.mpg.de> with simple code
producing the same result:
o06(0) ~/tmp > cat toobig.cc
     // toobig.cc
     #include <string>
     #include <map>
     int main(int argc, char** argv)
     {
       map<string, map<string, string > > foo;
       return 0;
     }
o06(0) ~/tmp > gcc -c toobig.cc  || echo okay
o06(0) ~/tmp > gcc -g -c toobig.cc  || echo okay
mips-tfile, /tmp/cc0ngbLD.s:279 String too big (5542 bytes)
line:    #.stabs "insert_equal::997:t8_Rb_tree5Zt12basic_str ....
- --------------
Rob McCauley <robmccau_at_RadOnc.Duke.EDU> also noticed:
- -g is the gcc/g++ option to generate debugging code.  According to your
command line, you *are* asking for it.
I've had the same problem, usually when using hash_map<...>.  I think it
has since stopped, although much to my own disappointment, I didn't notice
at the time what changed.  Anyway, drop the "-g" option, and you'll be
able to compile.
- --------------
Still my problem remains, and I don't see any workaround yet.
- --original Question:
I need one of the above compilers to create some foreign code,
and I run into the following problem:
the assembler tells me "line too long" and several oyther
messages on one file, with assembler code generated for
debugging.
(see app. 1 for compiler flags and error message)
I do not use any debug options on the program, so where is this
code generated ?
Does anyone know a workaround or a means to suppress the
generation of debug code ?
(see app.2,3 for program code, all other includes are either
system or used in other, working programs as well) 
Tschüß,
                                                Dieter 
 
  _____________________________*__________________________________
 /                          *       dieter.meinert_at_aip.de         \
 \ Dieter Meinert    (-      **     
http://www.aip.de/~dieter/     \
  \__________________A______*__*___________________________________/
           (public pgp key from 
http://www.aip.de/~dieter/)
===Excerpt from File build_log===
...
g++ -c   -Wall -W -Werror -DNAGf90Fortran -fPIC -DUSE_POPUP -imacros /vol/.src4/sas/xmmsas_20010624_1841/config.h -I/vol/.src4/sas/xmmsas_20010624_1841/include -I/vol/.src4/sas/xmmsas_20010624_1841/include/utils -I.  SuppressHandler.cc
as0: Warning: SuppressHandler.cc, line 6: Line too long
      .align 5Zt24__default_alloc_template2b0i0Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt10_Select1st1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt9allocator1ZiRCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0
as0: Warning: SuppressHandler.cc, line 6: Line too long
      .ent __t4pair2Zt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiRCt4pair2Zt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_tem!
plate2b0i0ZiZRt4pair2ZCt12basic_
strin
as0: Error: SuppressHandler.cc, line 6: undefined assembler operation: __t4pair2Zt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiRCt4pair2Zt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12bas!
ic_string3ZcZt18string_char_trai
ts1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt
as0: Warning: SuppressHandler.cc, line 6: Line too long
      ldgp $29,0($27)_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiRCt4pair2Zt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt
as0: Error: SuppressHandler.cc, line 6: undefined assembler operation: $__t4pair2Zt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiRCt4pair2Zt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZt17_Rb_tree_iterator3Zt4pair2ZCt12ba!
sic_string3ZcZt18string_char_tra
its1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZ
as0: Warning: SuppressHandler.cc, line 6: Line too long
     $LFE29:r_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiRCt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZiZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zi
as0: Warning: SuppressHandler.cc, line 6: .ent/.end block never defined the procedure name
make[6]: *** [SuppressHandler.o] Error 1
make[6]: Leaving directory `/vol/.src4/sas/xmmsas_20010624_1841/packages/error/src'
make[5]: *** [libs.here] Error 2
make[5]: Leaving directory `/vol/.src4/sas/xmmsas_20010624_1841/packages/error/src'
make[4]: *** [bin] Error 2
make[4]: Leaving directory `/vol/.src4/sas/xmmsas_20010624_1841/packages/error'
===File SuppressHandler.cc===
// -*-C++-*-
//
// File:      SuppressHandler.cc
// Author:    Jorgo Bakker (jbakker_at_astro.estec.esa.nl)
// Generated: Mon Nov  6 10:05:12 MET 2000
#include "SuppressHandler.h"
#include <freezestream.h>
#include <cstdlib> // getenv
SuppressHandler::SuppressHandler() : 
  _all(false),_number(-1)
{
  /* check the environment: if set, silence all warnings */
  
  if(getenv("SAS_SUPPRESS_WARNING") != 0) {
    string c;
    strstream ss;
    ss << getenv("SAS_SUPPRESS_WARNING");
    while (ss >> c) ignore(c);
  }
}
SuppressHandler::~SuppressHandler()
{
}
void SuppressHandler::ignore(const Code& c)
{
  int counter=-1;
  {
    strstream ss;
    ss << c;
    ss >> counter;
  }
  
  if      (c.empty() || counter == 0) _all=true;
  else if (counter > 0)               _number=counter;
  else                                _list[c]=1;
}
void SuppressHandler::allow (const Code& c)
{
  int counter=-1;
  {
    strstream ss;
    ss << c;
    ss >> counter;
  }
  
  if (c.empty() || counter == 0) {
    _all=false;
    _list.clear();
  }
  else if (counter > 0) _number=counter;
  else                  _list.erase(c);
}
bool SuppressHandler::suppress(const Code& c)
{
  int number= ++_map[c];
  // ignore all?
  if (_all) return true;
  
  // ignore registered code?
  if (_list[c]) return true;
  // ignore after n times?
  if (_number > -1) return ( (number > _number)?true:false );
  // default
  return false;
}
string SuppressHandler::statistics()
{
  ostrstream ss;
  bool silenced=false;
  string s;
  for (map<Code,int>::iterator it=_map.begin();it != _map.end();it++) {
    int number=0;
    
    // count the number of times a warning is silenced
    if      (_all)               number=(*it).second;
    else if (_list[(*it).first]) number=(*it).second;
    else if (_number > 0)        number=(*it).second - _number;
    if ( number > 0 ) {
      ss << "\n   warning " << (*it).first
         << " silently occurred " << number << " times";
      silenced=true;
    }
  }
  if (silenced) {    
    ss << ends;
    s=freezestream(ss);
  }
  return s;
}
void SuppressHandler::reset()
{
  _map.clear();
}
string SuppressHandler::options()
{
  ostrstream ss;
  
  if (_all) {
    ss << " -w";
  }
  else {
    // specify all codes that need to be silenced by default
    for (map<Code,int>::iterator it=_list.begin();it != _list.end();it++)
      if ((*it).second) ss << " -w " << (*it).first;
    
    // specify # warnings
    if (_number > -1) ss << " -w " << _number;
  }
  ss << ends;
  return freezestream(ss);
}
============================================================
===File SuppressHandler.h===
// -*-C++-*-
//
// File:      SuppressHandler.h
// Author:    jbakker
// Generated: Tue Feb  8 17:35:17 MET 2000
#ifndef SuppressHandler_h
#define SuppressHandler_h
#include "Msg.h"
#include <string>
#include <map>
class SuppressHandler
{
public:
  SuppressHandler();
  ~SuppressHandler();
  /* adds Code to the list of ignored Codes. Note:
     - Code can be a string "NoAttitudeData"
     - Code can be empty (""), meaning all Code must be ignored
     - Code can contain a number ("N"), meaning after N occurences, all Code
       must be ignored
  */
  void ignore(const Code& c);
  /* removes Code from the list of ignored Codes. Note:
     -if Code is empty (""), we go back to default state
     -if Code is a number ("N"), allow N Codes to appear
  */
  void allow(const Code& c);
  /* true if we want to show this message */
  bool suppress(const Code& c);
  /* create statistics skipped Codes */
  string statistics();
  /* reset the internals to its starting state (with possible Codes set) */
  void reset();
  /* create s string of command line switches */
  string options();
protected:
  // only derived classes can use these
private:
  // member functions
  SuppressHandler(const SuppressHandler&);      // copy constructor (disabled)
  SuppressHandler& operator=(const SuppressHandler&); // assignment (disabled)
  // member data
  map<Code,int> _map;        // statistics
  map<Code,int> _list;       // all codes that need to be shut up
  bool          _all;        // is set when all warnings must be silenced
  int           _number;     // number of times any warning may occur before
                             // it is silenced
};
#endif
============================================================
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: latin1
iQCVAwUBO0AYb/YksnFoaQ6JAQFwHgQAi2zhoiHx8Hb0KNCLsnHMcqAP4nZFmdQC
BfRcsyXBowTA5biYVEz7RPTsPffID5ymB5+ksZPqZB6cwIjM2vdR5/Hx3tYCthAi
Y7cqbJ8rTKFOjEhc+/aLTtU3wjeKle8zLd8G/lwj1OMhLxvWCIUz0omGs6KKRZs2
7xe5XdWR5f8=
=hwPW
-----END PGP SIGNATURE-----
Received on Mon Jul 02 2001 - 06:46:02 NZST