Commit f4d5e349 authored by Wayne Stambaugh's avatar Wayne Stambaugh

Fix a bunch of Coverity scan "unhandled exception" errors.

parent 39497b10
...@@ -391,7 +391,7 @@ void FP_LIB_TABLE::Format( OUTPUTFORMATTER* out, int nestLevel ) const ...@@ -391,7 +391,7 @@ void FP_LIB_TABLE::Format( OUTPUTFORMATTER* out, int nestLevel ) const
void FP_LIB_TABLE::ROW::Format( OUTPUTFORMATTER* out, int nestLevel ) const void FP_LIB_TABLE::ROW::Format( OUTPUTFORMATTER* out, int nestLevel ) const
throw( IO_ERROR ) throw( IO_ERROR, boost::interprocess::lock_exception )
{ {
out->Print( nestLevel, "(lib (name %s)(type %s)(uri %s)(options %s)(descr %s))\n", out->Print( nestLevel, "(lib (name %s)(type %s)(uri %s)(options %s)(descr %s))\n",
out->Quotew( GetNickName() ).c_str(), out->Quotew( GetNickName() ).c_str(),
...@@ -665,7 +665,7 @@ bool FP_LIB_TABLE::IsEmpty( bool aIncludeFallback ) ...@@ -665,7 +665,7 @@ bool FP_LIB_TABLE::IsEmpty( bool aIncludeFallback )
MODULE* FP_LIB_TABLE::FootprintLoadWithOptionalNickname( const FPID& aFootprintId ) MODULE* FP_LIB_TABLE::FootprintLoadWithOptionalNickname( const FPID& aFootprintId )
throw( IO_ERROR, PARSE_ERROR ) throw( IO_ERROR, PARSE_ERROR, boost::interprocess::lock_exception )
{ {
wxString nickname = aFootprintId.GetLibNickname(); wxString nickname = aFootprintId.GetLibNickname();
wxString fpname = aFootprintId.GetFootprintName(); wxString fpname = aFootprintId.GetFootprintName();
......
...@@ -179,7 +179,6 @@ class COMPONENTS_LISTBOX : public ITEMS_LISTBOX_BASE ...@@ -179,7 +179,6 @@ class COMPONENTS_LISTBOX : public ITEMS_LISTBOX_BASE
{ {
public: public:
wxArrayString m_ComponentList; wxArrayString m_ComponentList;
CVPCB_MAINFRAME* m_Parent;
public: public:
......
...@@ -756,7 +756,7 @@ bool PART_LIB::SaveHeader( OUTPUTFORMATTER& aFormatter ) ...@@ -756,7 +756,7 @@ bool PART_LIB::SaveHeader( OUTPUTFORMATTER& aFormatter )
} }
PART_LIB* PART_LIB::LoadLibrary( const wxString& aFileName ) throw( IO_ERROR ) PART_LIB* PART_LIB::LoadLibrary( const wxString& aFileName ) throw( IO_ERROR, boost::bad_pointer )
{ {
std::auto_ptr<PART_LIB> lib( new PART_LIB( LIBRARY_TYPE_EESCHEMA, aFileName ) ); std::auto_ptr<PART_LIB> lib( new PART_LIB( LIBRARY_TYPE_EESCHEMA, aFileName ) );
...@@ -784,7 +784,7 @@ PART_LIB* PART_LIB::LoadLibrary( const wxString& aFileName ) throw( IO_ERROR ) ...@@ -784,7 +784,7 @@ PART_LIB* PART_LIB::LoadLibrary( const wxString& aFileName ) throw( IO_ERROR )
} }
PART_LIB* PART_LIBS::AddLibrary( const wxString& aFileName ) throw( IO_ERROR ) PART_LIB* PART_LIBS::AddLibrary( const wxString& aFileName ) throw( IO_ERROR, boost::bad_pointer )
{ {
PART_LIB* lib; PART_LIB* lib;
...@@ -979,7 +979,8 @@ void PART_LIBS::RemoveCacheLibrary() ...@@ -979,7 +979,8 @@ void PART_LIBS::RemoveCacheLibrary()
void PART_LIBS::LibNamesAndPaths( PROJECT* aProject, bool doSave, void PART_LIBS::LibNamesAndPaths( PROJECT* aProject, bool doSave,
wxString* aPaths, wxArrayString* aNames ) throw( IO_ERROR ) wxString* aPaths, wxArrayString* aNames )
throw( IO_ERROR, boost::bad_pointer )
{ {
wxString pro = aProject->GetProjectFullName(); wxString pro = aProject->GetProjectFullName();
......
...@@ -123,7 +123,7 @@ public: ...@@ -123,7 +123,7 @@ public:
* @param aFileName - File name object of part library. * @param aFileName - File name object of part library.
* @throw IO_ERROR if there's any problem loading. * @throw IO_ERROR if there's any problem loading.
*/ */
PART_LIB* AddLibrary( const wxString& aFileName ) throw( IO_ERROR ); PART_LIB* AddLibrary( const wxString& aFileName ) throw( IO_ERROR, boost::bad_pointer );
/** /**
* Function AddLibrary * Function AddLibrary
...@@ -160,7 +160,8 @@ public: ...@@ -160,7 +160,8 @@ public:
* (without paths). * (without paths).
*/ */
static void LibNamesAndPaths( PROJECT* aProject, bool doSave, static void LibNamesAndPaths( PROJECT* aProject, bool doSave,
wxString* aPaths, wxArrayString* aNames=NULL ) throw( IO_ERROR ); wxString* aPaths, wxArrayString* aNames=NULL )
throw( IO_ERROR, boost::bad_pointer );
/** /**
* Function cacheName * Function cacheName
...@@ -545,7 +546,7 @@ public: ...@@ -545,7 +546,7 @@ public:
* the caller. * the caller.
* @throw IO_ERROR if there's any problem loading the library. * @throw IO_ERROR if there's any problem loading the library.
*/ */
static PART_LIB* LoadLibrary( const wxString& aFileName ) throw( IO_ERROR ); static PART_LIB* LoadLibrary( const wxString& aFileName ) throw( IO_ERROR, boost::bad_pointer );
}; };
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <map> #include <map>
#include <io_mgr.h> #include <io_mgr.h>
#include <project.h> #include <project.h>
#include <boost/interprocess/exceptions.hpp>
#define FP_LATE_ENVVAR 1 ///< late=1/early=0 environment variable expansion #define FP_LATE_ENVVAR 1 ///< late=1/early=0 environment variable expansion
...@@ -221,7 +222,7 @@ public: ...@@ -221,7 +222,7 @@ public:
* Actual indentation will be 2 spaces for each nestLevel. * Actual indentation will be 2 spaces for each nestLevel.
*/ */
void Format( OUTPUTFORMATTER* out, int nestLevel ) const void Format( OUTPUTFORMATTER* out, int nestLevel ) const
throw( IO_ERROR ); throw( IO_ERROR, boost::interprocess::lock_exception );
private: private:
...@@ -468,7 +469,7 @@ public: ...@@ -468,7 +469,7 @@ public:
* @throw PARSE_ERROR if @a aFootprintId is not parsed OK. * @throw PARSE_ERROR if @a aFootprintId is not parsed OK.
*/ */
MODULE* FootprintLoadWithOptionalNickname( const FPID& aFootprintId ) MODULE* FootprintLoadWithOptionalNickname( const FPID& aFootprintId )
throw( IO_ERROR, PARSE_ERROR ); throw( IO_ERROR, PARSE_ERROR, boost::interprocess::lock_exception );
/** /**
* Function GetDescription * Function GetDescription
......
...@@ -170,6 +170,7 @@ void PL_EDITOR_FRAME::Process_Special_Functions( wxCommandEvent& event ) ...@@ -170,6 +170,7 @@ void PL_EDITOR_FRAME::Process_Special_Functions( wxCommandEvent& event )
SaveCopyInUndoList(); SaveCopyInUndoList();
idx = m_treePagelayout->GetSelectedItemIndex(); idx = m_treePagelayout->GetSelectedItemIndex();
item = AddPageLayoutItem( WORKSHEET_DATAITEM::WS_SEGMENT, idx ); item = AddPageLayoutItem( WORKSHEET_DATAITEM::WS_SEGMENT, idx );
if( InvokeDialogNewItem( this, item ) == wxID_CANCEL ) if( InvokeDialogNewItem( this, item ) == wxID_CANCEL )
{ {
RemoveLastCommandInUndoList(); RemoveLastCommandInUndoList();
...@@ -199,6 +200,7 @@ void PL_EDITOR_FRAME::Process_Special_Functions( wxCommandEvent& event ) ...@@ -199,6 +200,7 @@ void PL_EDITOR_FRAME::Process_Special_Functions( wxCommandEvent& event )
SaveCopyInUndoList(); SaveCopyInUndoList();
idx = m_treePagelayout->GetSelectedItemIndex(); idx = m_treePagelayout->GetSelectedItemIndex();
item = AddPageLayoutItem( WORKSHEET_DATAITEM::WS_RECT, idx ); item = AddPageLayoutItem( WORKSHEET_DATAITEM::WS_RECT, idx );
if( InvokeDialogNewItem( this, item ) == wxID_CANCEL ) if( InvokeDialogNewItem( this, item ) == wxID_CANCEL )
{ {
RemoveLastCommandInUndoList(); RemoveLastCommandInUndoList();
...@@ -353,10 +355,11 @@ static void moveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPositio ...@@ -353,10 +355,11 @@ static void moveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aPositio
// (does not happen each time the mouse is moved, because the // (does not happen each time the mouse is moved, because the
// item is placed on grid) // item is placed on grid)
// to avoid useless computation time. // to avoid useless computation time.
if( aPanel && ( previous_position != position ) ) if( previous_position != position )
aPanel->Refresh(); aPanel->Refresh();
} }
/* /*
* Function abortMoveItem: called when an item is currently moving, * Function abortMoveItem: called when an item is currently moving,
* and when the user aborts the move command. * and when the user aborts the move command.
...@@ -367,7 +370,7 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC ) ...@@ -367,7 +370,7 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC )
PL_EDITOR_SCREEN* screen = (PL_EDITOR_SCREEN*) aPanel->GetScreen(); PL_EDITOR_SCREEN* screen = (PL_EDITOR_SCREEN*) aPanel->GetScreen();
WORKSHEET_DATAITEM *item = screen->GetCurItem(); WORKSHEET_DATAITEM *item = screen->GetCurItem();
if( (item->GetFlags() & NEW_ITEM ) ) if( item->GetFlags() & NEW_ITEM )
{ {
PL_EDITOR_FRAME* plframe = (PL_EDITOR_FRAME*) aPanel->GetParent(); PL_EDITOR_FRAME* plframe = (PL_EDITOR_FRAME*) aPanel->GetParent();
plframe->RemoveLastCommandInUndoList(); plframe->RemoveLastCommandInUndoList();
...@@ -394,6 +397,7 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC ) ...@@ -394,6 +397,7 @@ static void abortMoveItem( EDA_DRAW_PANEL* aPanel, wxDC* aDC )
aPanel->Refresh(); aPanel->Refresh();
} }
void PL_EDITOR_FRAME::MoveItem( WORKSHEET_DATAITEM* aItem ) void PL_EDITOR_FRAME::MoveItem( WORKSHEET_DATAITEM* aItem )
{ {
wxCHECK_RET( aItem != NULL, wxT( "Cannot move NULL item" ) ); wxCHECK_RET( aItem != NULL, wxT( "Cannot move NULL item" ) );
...@@ -411,6 +415,7 @@ void PL_EDITOR_FRAME::MoveItem( WORKSHEET_DATAITEM* aItem ) ...@@ -411,6 +415,7 @@ void PL_EDITOR_FRAME::MoveItem( WORKSHEET_DATAITEM* aItem )
{ {
SetCrossHairPosition( initialPositionUi, false ); SetCrossHairPosition( initialPositionUi, false );
initialCursorPosition = GetCrossHairPosition(); initialCursorPosition = GetCrossHairPosition();
if( m_canvas->IsPointOnDisplay( initialCursorPosition ) ) if( m_canvas->IsPointOnDisplay( initialCursorPosition ) )
{ {
m_canvas->MoveCursorToCrossHair(); m_canvas->MoveCursorToCrossHair();
...@@ -443,7 +448,7 @@ void PL_EDITOR_FRAME::PlaceItem( WORKSHEET_DATAITEM* aItem ) ...@@ -443,7 +448,7 @@ void PL_EDITOR_FRAME::PlaceItem( WORKSHEET_DATAITEM* aItem )
{ {
aItem->MoveStartPointTo( initialPosition ); aItem->MoveStartPointTo( initialPosition );
} }
else if( (aItem->GetFlags() & LOCATE_ENDPOINT) ) else if( aItem->GetFlags() & LOCATE_ENDPOINT )
{ {
aItem->MoveEndPointTo( initialPosition ); aItem->MoveEndPointTo( initialPosition );
} }
...@@ -471,12 +476,14 @@ void PL_EDITOR_FRAME::OnSelectCoordOriginCorner( wxCommandEvent& event ) ...@@ -471,12 +476,14 @@ void PL_EDITOR_FRAME::OnSelectCoordOriginCorner( wxCommandEvent& event )
m_canvas->Refresh(); m_canvas->Refresh();
} }
void PL_EDITOR_FRAME::OnSelectTitleBlockDisplayMode( wxCommandEvent& event ) void PL_EDITOR_FRAME::OnSelectTitleBlockDisplayMode( wxCommandEvent& event )
{ {
WORKSHEET_DATAITEM::m_SpecialMode = (event.GetId() == ID_SHOW_PL_EDITOR_MODE); WORKSHEET_DATAITEM::m_SpecialMode = (event.GetId() == ID_SHOW_PL_EDITOR_MODE);
m_canvas->Refresh(); m_canvas->Refresh();
} }
void PL_EDITOR_FRAME::OnQuit( wxCommandEvent& event ) void PL_EDITOR_FRAME::OnQuit( wxCommandEvent& event )
{ {
Close( true ); Close( true );
...@@ -485,7 +492,7 @@ void PL_EDITOR_FRAME::OnQuit( wxCommandEvent& event ) ...@@ -485,7 +492,7 @@ void PL_EDITOR_FRAME::OnQuit( wxCommandEvent& event )
void PL_EDITOR_FRAME::ToPlotter(wxCommandEvent& event) void PL_EDITOR_FRAME::ToPlotter(wxCommandEvent& event)
{ {
wxMessageBox( wxT("Not yet available")); wxMessageBox( wxT( "Not yet available" ) );
} }
...@@ -533,6 +540,7 @@ void PL_EDITOR_FRAME::ToPrinter(wxCommandEvent& event) ...@@ -533,6 +540,7 @@ void PL_EDITOR_FRAME::ToPrinter(wxCommandEvent& event)
InvokeDialogPrint( this, s_PrintData, s_pageSetupData ); InvokeDialogPrint( this, s_PrintData, s_pageSetupData );
} }
void PL_EDITOR_FRAME::OnTreeSelection( wxTreeEvent& event ) void PL_EDITOR_FRAME::OnTreeSelection( wxTreeEvent& event )
{ {
WORKSHEET_DATAITEM* item = GetSelectedItem(); WORKSHEET_DATAITEM* item = GetSelectedItem();
...@@ -543,11 +551,15 @@ void PL_EDITOR_FRAME::OnTreeSelection( wxTreeEvent& event ) ...@@ -543,11 +551,15 @@ void PL_EDITOR_FRAME::OnTreeSelection( wxTreeEvent& event )
m_canvas->Refresh(); m_canvas->Refresh();
} }
void PL_EDITOR_FRAME::OnTreeMiddleClick( wxTreeEvent& event ) void PL_EDITOR_FRAME::OnTreeMiddleClick( wxTreeEvent& event )
{ {
} }
extern void AddNewItemsCommand( wxMenu* aMainMenu ); extern void AddNewItemsCommand( wxMenu* aMainMenu );
void PL_EDITOR_FRAME::OnTreeRightClick( wxTreeEvent& event ) void PL_EDITOR_FRAME::OnTreeRightClick( wxTreeEvent& event )
{ {
m_treePagelayout->SelectCell( event.GetItem() ); m_treePagelayout->SelectCell( event.GetItem() );
...@@ -568,6 +580,7 @@ void PL_EDITOR_FRAME::OnUpdateTitleBlockDisplayNormalMode( wxUpdateUIEvent& even ...@@ -568,6 +580,7 @@ void PL_EDITOR_FRAME::OnUpdateTitleBlockDisplayNormalMode( wxUpdateUIEvent& even
event.Check( WORKSHEET_DATAITEM::m_SpecialMode == false ); event.Check( WORKSHEET_DATAITEM::m_SpecialMode == false );
} }
void PL_EDITOR_FRAME::OnUpdateTitleBlockDisplaySpecialMode( wxUpdateUIEvent& event ) void PL_EDITOR_FRAME::OnUpdateTitleBlockDisplaySpecialMode( wxUpdateUIEvent& event )
{ {
event.Check( WORKSHEET_DATAITEM::m_SpecialMode == true ); event.Check( WORKSHEET_DATAITEM::m_SpecialMode == true );
......
...@@ -88,7 +88,6 @@ void filterNetClass( const BOARD& aBoard, NETCLASS& aNetClass ) ...@@ -88,7 +88,6 @@ void filterNetClass( const BOARD& aBoard, NETCLASS& aNetClass )
class FP_CACHE_ITEM class FP_CACHE_ITEM
{ {
wxFileName m_file_name; ///< The the full file name and path of the footprint to cache. wxFileName m_file_name; ///< The the full file name and path of the footprint to cache.
bool m_writable; ///< Writability status of the footprint file.
wxDateTime m_mod_time; ///< The last file modified time stamp. wxDateTime m_mod_time; ///< The last file modified time stamp.
std::auto_ptr<MODULE> m_module; std::auto_ptr<MODULE> m_module;
......
...@@ -98,7 +98,8 @@ void LEGACY_NETLIST_READER::LoadNetlist() throw ( IO_ERROR, PARSE_ERROR ) ...@@ -98,7 +98,8 @@ void LEGACY_NETLIST_READER::LoadNetlist() throw ( IO_ERROR, PARSE_ERROR )
} }
COMPONENT* LEGACY_NETLIST_READER::loadComponent( char* aText ) throw( PARSE_ERROR ) COMPONENT* LEGACY_NETLIST_READER::loadComponent( char* aText )
throw( PARSE_ERROR, boost::bad_pointer )
{ {
char* text; char* text;
wxString msg; wxString msg;
......
...@@ -214,7 +214,7 @@ class LEGACY_NETLIST_READER : public NETLIST_READER ...@@ -214,7 +214,7 @@ class LEGACY_NETLIST_READER : public NETLIST_READER
* @return the new component created by parsing \a aLine * @return the new component created by parsing \a aLine
* @throw PARSE_ERROR when \a aLine is not a valid component description. * @throw PARSE_ERROR when \a aLine is not a valid component description.
*/ */
COMPONENT* loadComponent( char* aText ) throw( PARSE_ERROR ); COMPONENT* loadComponent( char* aText ) throw( PARSE_ERROR, boost::bad_pointer );
/** /**
* Function loadFootprintFilters * Function loadFootprintFilters
......
...@@ -300,7 +300,7 @@ void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR ) ...@@ -300,7 +300,7 @@ void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR )
} }
S3D_MASTER* PCB_PARSER::parse3DModel() throw( PARSE_ERROR ) S3D_MASTER* PCB_PARSER::parse3DModel() throw( PARSE_ERROR, IO_ERROR )
{ {
wxCHECK_MSG( CurTok() == T_model, NULL, wxCHECK_MSG( CurTok() == T_model, NULL,
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as S3D_MASTER." ) ); wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as S3D_MASTER." ) );
......
...@@ -185,7 +185,7 @@ class PCB_PARSER : public PCB_LEXER ...@@ -185,7 +185,7 @@ class PCB_PARSER : public PCB_LEXER
*/ */
void parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR ); void parseEDA_TEXT( EDA_TEXT* aText ) throw( PARSE_ERROR );
S3D_MASTER* parse3DModel() throw( PARSE_ERROR ); S3D_MASTER* parse3DModel() throw( PARSE_ERROR, IO_ERROR );
/** /**
* Function parseDouble * Function parseDouble
...@@ -219,7 +219,7 @@ class PCB_PARSER : public PCB_LEXER ...@@ -219,7 +219,7 @@ class PCB_PARSER : public PCB_LEXER
return KiROUND( parseDouble() * IU_PER_MM ); return KiROUND( parseDouble() * IU_PER_MM );
} }
inline int parseBoardUnits( const char* aExpected ) throw( PARSE_ERROR ) inline int parseBoardUnits( const char* aExpected ) throw( PARSE_ERROR, IO_ERROR )
{ {
// Use here KiROUND, not KIROUND (see comments about them) // Use here KiROUND, not KIROUND (see comments about them)
// when having a function as argument, because it will be called twice // when having a function as argument, because it will be called twice
......
...@@ -294,7 +294,7 @@ void SPECCTRA_DB::LoadSESSION( const wxString& filename ) throw( IO_ERROR ) ...@@ -294,7 +294,7 @@ void SPECCTRA_DB::LoadSESSION( const wxString& filename ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doPCB( PCB* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doPCB( PCB* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -799,7 +799,7 @@ void SPECCTRA_DB::doSTRUCTURE_OUT( STRUCTURE_OUT* growth ) throw( IO_ERROR, boos ...@@ -799,7 +799,7 @@ void SPECCTRA_DB::doSTRUCTURE_OUT( STRUCTURE_OUT* growth ) throw( IO_ERROR, boos
} }
void SPECCTRA_DB::doKEEPOUT( KEEPOUT* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doKEEPOUT( KEEPOUT* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok = NextTok(); T tok = NextTok();
...@@ -975,7 +975,7 @@ void SPECCTRA_DB::doWINDOW( WINDOW* growth ) throw( IO_ERROR ) ...@@ -975,7 +975,7 @@ void SPECCTRA_DB::doWINDOW( WINDOW* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doBOUNDARY( BOUNDARY* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doBOUNDARY( BOUNDARY* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok = NextTok(); T tok = NextTok();
...@@ -1197,7 +1197,7 @@ void SPECCTRA_DB::doVIA( VIA* growth ) throw( IO_ERROR ) ...@@ -1197,7 +1197,7 @@ void SPECCTRA_DB::doVIA( VIA* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doCONTROL( CONTROL* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doCONTROL( CONTROL* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -1521,7 +1521,7 @@ void SPECCTRA_DB::doPLACE_RULE( PLACE_RULE* growth, bool expect_object_type ) th ...@@ -1521,7 +1521,7 @@ void SPECCTRA_DB::doPLACE_RULE( PLACE_RULE* growth, bool expect_object_type ) th
#endif #endif
void SPECCTRA_DB::doREGION( REGION* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doREGION( REGION* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok = NextTok(); T tok = NextTok();
...@@ -1590,7 +1590,7 @@ void SPECCTRA_DB::doREGION( REGION* growth ) throw( IO_ERROR ) ...@@ -1590,7 +1590,7 @@ void SPECCTRA_DB::doREGION( REGION* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doCLASS_CLASS( CLASS_CLASS* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doCLASS_CLASS( CLASS_CLASS* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok = NextTok(); T tok = NextTok();
...@@ -1893,7 +1893,7 @@ void SPECCTRA_DB::doCOMPONENT( COMPONENT* growth ) throw( IO_ERROR, boost::bad_p ...@@ -1893,7 +1893,7 @@ void SPECCTRA_DB::doCOMPONENT( COMPONENT* growth ) throw( IO_ERROR, boost::bad_p
} }
void SPECCTRA_DB::doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -1948,7 +1948,7 @@ void SPECCTRA_DB::doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR ) ...@@ -1948,7 +1948,7 @@ void SPECCTRA_DB::doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doPADSTACK( PADSTACK* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doPADSTACK( PADSTACK* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok = NextTok(); T tok = NextTok();
...@@ -2048,7 +2048,7 @@ void SPECCTRA_DB::doPADSTACK( PADSTACK* growth ) throw( IO_ERROR ) ...@@ -2048,7 +2048,7 @@ void SPECCTRA_DB::doPADSTACK( PADSTACK* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doSHAPE( SHAPE* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doSHAPE( SHAPE* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -2274,7 +2274,7 @@ void SPECCTRA_DB::doPIN( PIN* growth ) throw( IO_ERROR ) ...@@ -2274,7 +2274,7 @@ void SPECCTRA_DB::doPIN( PIN* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doLIBRARY( LIBRARY* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doLIBRARY( LIBRARY* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -2468,7 +2468,7 @@ L_pins: ...@@ -2468,7 +2468,7 @@ L_pins:
} }
void SPECCTRA_DB::doTOPOLOGY( TOPOLOGY* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doTOPOLOGY( TOPOLOGY* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -2506,7 +2506,7 @@ void SPECCTRA_DB::doTOPOLOGY( TOPOLOGY* growth ) throw( IO_ERROR ) ...@@ -2506,7 +2506,7 @@ void SPECCTRA_DB::doTOPOLOGY( TOPOLOGY* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doCLASS( CLASS* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doCLASS( CLASS* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -2679,7 +2679,7 @@ void SPECCTRA_DB::doCOMP_ORDER( COMP_ORDER* growth ) throw( IO_ERROR ) ...@@ -2679,7 +2679,7 @@ void SPECCTRA_DB::doCOMP_ORDER( COMP_ORDER* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doFROMTO( FROMTO* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doFROMTO( FROMTO* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -2990,7 +2990,7 @@ void SPECCTRA_DB::doWIRE_VIA( WIRE_VIA* growth ) throw( IO_ERROR ) ...@@ -2990,7 +2990,7 @@ void SPECCTRA_DB::doWIRE_VIA( WIRE_VIA* growth ) throw( IO_ERROR )
} }
void SPECCTRA_DB::doWIRING( WIRING* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doWIRING( WIRING* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
...@@ -3140,7 +3140,7 @@ void SPECCTRA_DB::doHISTORY( HISTORY* growth ) throw( IO_ERROR, boost::bad_point ...@@ -3140,7 +3140,7 @@ void SPECCTRA_DB::doHISTORY( HISTORY* growth ) throw( IO_ERROR, boost::bad_point
} }
void SPECCTRA_DB::doSESSION( SESSION* growth ) throw( IO_ERROR ) void SPECCTRA_DB::doSESSION( SESSION* growth ) throw( IO_ERROR, boost::bad_pointer )
{ {
T tok; T tok;
......
...@@ -3690,7 +3690,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER ...@@ -3690,7 +3690,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
*/ */
void readTIME( time_t* time_stamp ) throw( IO_ERROR ); void readTIME( time_t* time_stamp ) throw( IO_ERROR );
void doPCB( PCB* growth ) throw( IO_ERROR ); void doPCB( PCB* growth ) throw( IO_ERROR, boost::bad_pointer );
void doPARSER( PARSER* growth ) throw( IO_ERROR ); void doPARSER( PARSER* growth ) throw( IO_ERROR );
void doRESOLUTION( UNIT_RES* growth ) throw( IO_ERROR ); void doRESOLUTION( UNIT_RES* growth ) throw( IO_ERROR );
void doUNIT( UNIT_RES* growth ) throw( IO_ERROR ); void doUNIT( UNIT_RES* growth ) throw( IO_ERROR );
...@@ -3698,44 +3698,44 @@ class SPECCTRA_DB : public SPECCTRA_LEXER ...@@ -3698,44 +3698,44 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
void doSTRUCTURE_OUT( STRUCTURE_OUT* growth ) throw( IO_ERROR, boost::bad_pointer ); void doSTRUCTURE_OUT( STRUCTURE_OUT* growth ) throw( IO_ERROR, boost::bad_pointer );
void doLAYER_NOISE_WEIGHT( LAYER_NOISE_WEIGHT* growth ) throw( IO_ERROR, boost::bad_pointer ); void doLAYER_NOISE_WEIGHT( LAYER_NOISE_WEIGHT* growth ) throw( IO_ERROR, boost::bad_pointer );
void doLAYER_PAIR( LAYER_PAIR* growth ) throw( IO_ERROR ); void doLAYER_PAIR( LAYER_PAIR* growth ) throw( IO_ERROR );
void doBOUNDARY( BOUNDARY* growth ) throw( IO_ERROR ); void doBOUNDARY( BOUNDARY* growth ) throw( IO_ERROR, boost::bad_pointer );
void doRECTANGLE( RECTANGLE* growth ) throw( IO_ERROR ); void doRECTANGLE( RECTANGLE* growth ) throw( IO_ERROR );
void doPATH( PATH* growth ) throw( IO_ERROR ); void doPATH( PATH* growth ) throw( IO_ERROR );
void doSTRINGPROP( STRINGPROP* growth ) throw( IO_ERROR ); void doSTRINGPROP( STRINGPROP* growth ) throw( IO_ERROR );
void doTOKPROP( TOKPROP* growth ) throw( IO_ERROR ); void doTOKPROP( TOKPROP* growth ) throw( IO_ERROR );
void doVIA( VIA* growth ) throw( IO_ERROR ); void doVIA( VIA* growth ) throw( IO_ERROR );
void doCONTROL( CONTROL* growth ) throw( IO_ERROR ); void doCONTROL( CONTROL* growth ) throw( IO_ERROR, boost::bad_pointer );
void doLAYER( LAYER* growth ) throw( IO_ERROR ); void doLAYER( LAYER* growth ) throw( IO_ERROR );
void doRULE( RULE* growth ) throw( IO_ERROR ); void doRULE( RULE* growth ) throw( IO_ERROR );
void doKEEPOUT( KEEPOUT* growth ) throw( IO_ERROR ); void doKEEPOUT( KEEPOUT* growth ) throw( IO_ERROR, boost::bad_pointer );
void doCIRCLE( CIRCLE* growth ) throw( IO_ERROR ); void doCIRCLE( CIRCLE* growth ) throw( IO_ERROR );
void doQARC( QARC* growth ) throw( IO_ERROR ); void doQARC( QARC* growth ) throw( IO_ERROR );
void doWINDOW( WINDOW* growth ) throw( IO_ERROR ); void doWINDOW( WINDOW* growth ) throw( IO_ERROR );
void doCONNECT( CONNECT* growth ) throw( IO_ERROR ); void doCONNECT( CONNECT* growth ) throw( IO_ERROR );
void doREGION( REGION* growth ) throw( IO_ERROR ); void doREGION( REGION* growth ) throw( IO_ERROR, boost::bad_pointer );
void doCLASS_CLASS( CLASS_CLASS* growth ) throw( IO_ERROR ); void doCLASS_CLASS( CLASS_CLASS* growth ) throw( IO_ERROR, boost::bad_pointer );
void doLAYER_RULE( LAYER_RULE* growth ) throw( IO_ERROR ); void doLAYER_RULE( LAYER_RULE* growth ) throw( IO_ERROR );
void doCLASSES( CLASSES* growth ) throw( IO_ERROR ); void doCLASSES( CLASSES* growth ) throw( IO_ERROR );
void doGRID( GRID* growth ) throw( IO_ERROR ); void doGRID( GRID* growth ) throw( IO_ERROR );
void doPLACE( PLACE* growth ) throw( IO_ERROR ); void doPLACE( PLACE* growth ) throw( IO_ERROR );
void doCOMPONENT( COMPONENT* growth ) throw( IO_ERROR, boost::bad_pointer ); void doCOMPONENT( COMPONENT* growth ) throw( IO_ERROR, boost::bad_pointer );
void doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR ); void doPLACEMENT( PLACEMENT* growth ) throw( IO_ERROR, boost::bad_pointer );
void doPROPERTIES( PROPERTIES* growth ) throw( IO_ERROR ); void doPROPERTIES( PROPERTIES* growth ) throw( IO_ERROR );
void doPADSTACK( PADSTACK* growth ) throw( IO_ERROR ); void doPADSTACK( PADSTACK* growth ) throw( IO_ERROR, boost::bad_pointer );
void doSHAPE( SHAPE* growth ) throw( IO_ERROR ); void doSHAPE( SHAPE* growth ) throw( IO_ERROR, boost::bad_pointer );
void doIMAGE( IMAGE* growth ) throw( IO_ERROR, boost::bad_pointer ); void doIMAGE( IMAGE* growth ) throw( IO_ERROR, boost::bad_pointer );
void doLIBRARY( LIBRARY* growth ) throw( IO_ERROR ); void doLIBRARY( LIBRARY* growth ) throw( IO_ERROR, boost::bad_pointer );
void doPIN( PIN* growth ) throw( IO_ERROR ); void doPIN( PIN* growth ) throw( IO_ERROR );
void doNET( NET* growth ) throw( IO_ERROR, boost::bad_pointer ); void doNET( NET* growth ) throw( IO_ERROR, boost::bad_pointer );
void doNETWORK( NETWORK* growth ) throw( IO_ERROR, boost::bad_pointer ); void doNETWORK( NETWORK* growth ) throw( IO_ERROR, boost::bad_pointer );
void doCLASS( CLASS* growth ) throw( IO_ERROR ); void doCLASS( CLASS* growth ) throw( IO_ERROR, boost::bad_pointer );
void doTOPOLOGY( TOPOLOGY* growth ) throw( IO_ERROR ); void doTOPOLOGY( TOPOLOGY* growth ) throw( IO_ERROR, boost::bad_pointer );
void doFROMTO( FROMTO* growth ) throw( IO_ERROR ); void doFROMTO( FROMTO* growth ) throw( IO_ERROR, boost::bad_pointer );
void doCOMP_ORDER( COMP_ORDER* growth ) throw( IO_ERROR ); void doCOMP_ORDER( COMP_ORDER* growth ) throw( IO_ERROR );
void doWIRE( WIRE* growth ) throw( IO_ERROR, boost::bad_pointer ); void doWIRE( WIRE* growth ) throw( IO_ERROR, boost::bad_pointer );
void doWIRE_VIA( WIRE_VIA* growth ) throw( IO_ERROR ); void doWIRE_VIA( WIRE_VIA* growth ) throw( IO_ERROR );
void doWIRING( WIRING* growth ) throw( IO_ERROR ); void doWIRING( WIRING* growth ) throw( IO_ERROR, boost::bad_pointer );
void doSESSION( SESSION* growth ) throw( IO_ERROR ); void doSESSION( SESSION* growth ) throw( IO_ERROR, boost::bad_pointer );
void doANCESTOR( ANCESTOR* growth ) throw( IO_ERROR ); void doANCESTOR( ANCESTOR* growth ) throw( IO_ERROR );
void doHISTORY( HISTORY* growth ) throw( IO_ERROR, boost::bad_pointer ); void doHISTORY( HISTORY* growth ) throw( IO_ERROR, boost::bad_pointer );
void doROUTE( ROUTE* growth ) throw( IO_ERROR, boost::bad_pointer ); void doROUTE( ROUTE* growth ) throw( IO_ERROR, boost::bad_pointer );
...@@ -3752,7 +3752,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER ...@@ -3752,7 +3752,7 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
* @param aBoard The BOARD to get information from in order to make the BOUNDARY. * @param aBoard The BOARD to get information from in order to make the BOUNDARY.
* @param aBoundary The empty BOUNDARY to fill in. * @param aBoundary The empty BOUNDARY to fill in.
*/ */
void fillBOUNDARY( BOARD* aBoard, BOUNDARY* aBoundary ) throw( IO_ERROR ); void fillBOUNDARY( BOARD* aBoard, BOUNDARY* aBoundary ) throw( IO_ERROR, boost::bad_pointer );
/** /**
* Function makeIMAGE * Function makeIMAGE
...@@ -3933,7 +3933,7 @@ public: ...@@ -3933,7 +3933,7 @@ public:
* *
* @param aBoard The BOARD to convert to a PCB. * @param aBoard The BOARD to convert to a PCB.
*/ */
void FromBOARD( BOARD* aBoard ) throw( IO_ERROR ); void FromBOARD( BOARD* aBoard ) throw( IO_ERROR, boost::bad_ptr_container_operation );
/** /**
* Function FromSESSION * Function FromSESSION
......
...@@ -889,7 +889,8 @@ static void makeCircle( PATH* aPath, DRAWSEGMENT* aGraphic ) ...@@ -889,7 +889,8 @@ static void makeCircle( PATH* aPath, DRAWSEGMENT* aGraphic )
} }
void SPECCTRA_DB::fillBOUNDARY( BOARD* aBoard, BOUNDARY* boundary ) throw( IO_ERROR ) void SPECCTRA_DB::fillBOUNDARY( BOARD* aBoard, BOUNDARY* boundary )
throw( IO_ERROR, boost::bad_pointer )
{ {
PCB_TYPE_COLLECTOR items; PCB_TYPE_COLLECTOR items;
...@@ -1369,7 +1370,8 @@ typedef std::set<std::string> STRINGSET; ...@@ -1369,7 +1370,8 @@ typedef std::set<std::string> STRINGSET;
typedef std::pair<STRINGSET::iterator, bool> STRINGSET_PAIR; typedef std::pair<STRINGSET::iterator, bool> STRINGSET_PAIR;
void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IO_ERROR ) void SPECCTRA_DB::FromBOARD( BOARD* aBoard )
throw( IO_ERROR, boost::bad_ptr_container_operation )
{ {
PCB_TYPE_COLLECTOR items; PCB_TYPE_COLLECTOR items;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment