Has anyone tried to compile this package with CC, specifically(Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-09 2002/07/08)?   The symptoms I was getting are:  I can compile ok, but the test cores on b14(actually running in the debugger can get it to run correctly) when the view is accessed via GetAs().  This tries to invoke ~c4_string and when it dereferences p, it cores.  If are having this problem then you can replace this method:

const char* c4_HandlerSeq::Description()
{
  return _field != 0 ? UseTempBuffer(Definition().DescribeSubFields()) : 0;
}

with this one:

const char* c4_HandlerSeq::Description()
{
  const char* returnPtr = (_field != 0) ? UseTempBuffer(Definition().DescribeSubFields()) : 0;

  return returnPtr;
}



I think the problem lies somewhere with the destruction of temporary variables.  The temporary c4_String variable returned from DescribeSubFields get descructed before Definition() or DescribeSubFields() gets called.  It seems totally hosed...  I am in the process of discussing this with sun to see if it's a bug or not.


Later,
Dan



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Here is a stack dump from the core:
program terminated by signal SEGV (access to address exceeded protections)
Current function is fDec
  116     --*p;
(/opt/SUNWspro/bin/../WS6U1/bin/sparcv9/dbx) where                          
=>[1] fDec(p = 0xa1e10 "\x9d\xe3\xbf\xa0\xf6'\xa0P\xf4'\xa0L\xf2'\xa0H\xf0'\xa0D\xe0^G\xa0D\xa0^D ^P\xe2^G\xa0H\xe4^G\xa0L\xe6^G\xa0P\x90^T"), line 116 in "string.cpp"
  [2] c4_String::~c4_String(this = 0xffbeef78), line 149 in "string.cpp"
  [3] c4_HandlerSeq::Description(this = 0xf4568), line 226 in "handler.cpp"
  [4] c4_View::Description(this = 0xffbef060), line 139 in "mk4.inl"
  [5] c4_Storage::Description(this = 0xffbef374, name_ = 0xf2152 "a"), line 361 in "store.cpp"
  [6] c4_Storage::GetAs(this = 0xffbef374, description_ = 0xd740c "a[p1:I,p2:S]"), line 279 in "store.cpp"
  [7] TestBasics1(), line 194 in "tbasic1.cpp"
  [8] main(), line 63 in "regress.cpp"

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to