bug-lib-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Quote: "Reliable compilers never crash" Unquote - so I guess this is a b


From: Caswell, Paul C
Subject: Quote: "Reliable compilers never crash" Unquote - so I guess this is a bug
Date: Mon, 18 Feb 2002 08:15:17 +0000

Hi,
I'm running Tornado 2.0, gnu C++, 860 PowerQuicc Target and I get the 
following error:


ccppc -g -O0 -mcpu=860 -ansi -nostdinc -DRW_MULTI_THREAD -D_REENTRANT 
-fvolatile -fno-buil 
tin -fno-for-scope -I. -IC:\Tornado\target\h -DCPU=PPC860 -IN:
\TelephonyCardApplication\Es 
im\Common -c N:
\TelephonyCardApplication\ESIM\Embedded\Projects\Stack4208\statusMonitorTas 
k.cpp
N:\TelephonyCardApplication\ESIM\Embedded\Projects\Stack4208\statusMonitorTask.
cpp: In met 
hod `statusMonitorTask::statusMonitorTask(char *, int, int, int, unsigned int, 
class VXWPi 
pe *, class VXWBSem *)':
N:\TelephonyCardApplication\ESIM\Embedded\Projects\Stack4208\statusMonitorTask.
cpp:75: Int 
ernal compiler error 109.
N:\TelephonyCardApplication\ESIM\Embedded\Projects\Stack4208\statusMonitorTask.
cpp:75: Ple 
ase submit a full bug report to address@hidden'.
make: *** [statusMonitorTask.o] Error 0x1


with the following code:

statusMonitorTask::statusMonitorTask(char*    name,
                                     int      priority,
                                     int      options,
                                     int      stacksize,
                                     unsigned ntrunks,
                                     VXWPipe* pipe,
                                     VXWBSem* sem) : baeVxwTask(name, 
                                                                               
      priority, 
                                                                               
      options, 
                                                                               
      stacksize)
{
   // store data members
   m_trunks = ntrunks;
   m_pipe   = pipe;
   m_sem    = sem;

   // initialise global reference for timerDemux()
   g_smTask = this;

   try
   {
      m_frameSync  = new bool[ntrunks];
      m_signalSync = new bool[ntrunks];
      m_frameWds   = new VXWWd[ntrunks];
      m_signalWds  = new VXWWd[ntrunks];
   }
   catch(std::bad_alloc ba)
   {
      throw "statusMonitorTask::statusMonitorTask - creation failed";
   }

   // the state of each trunk is initially out of sync
   for (int t = 0; t < ntrunks; t++)
   {
      m_frameSync[t]  = false;
      m_signalSync[t] = false;
   }
}

If I replace the catch(std::bad_alloc ba) line with catch(...) the problem 
goes away.  Strange ???
Best Regards


Paul Caswell

BAE SYSTEMS
*: 01202 408766 (UK), 44 1202 408766 (Worldwide)
*: address@hidden




********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************



reply via email to

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