Correct for various warnings appearing under gcc 8.3.0 (Debian 10).
Note: We don't suppress warnings due to unused variables or functions, as we may need them later or in debug mode... * Change: In Hurricane::DBo::~DBo, add a noexcept(false) because constructed by default destructor of derived classes seems to loosen it. The right solution whould be to explicitely define all virtual destructors (too lazy for now). * Change: In Viewer::Script, replace the deprecated PyModule_GetFilename() by PyModule_GetFilenameObject(), Unicode support again...
This commit is contained in:
parent
c28fe3402b
commit
e11bd98f52
|
@ -374,7 +374,7 @@ namespace CRL {
|
|||
if (state->getFlags(loadMode) != 0) continue;
|
||||
|
||||
// Transmit all flags except thoses related to views.
|
||||
loadMode |= (mode & (!Catalog::State::Views));
|
||||
loadMode |= (mode & (~Catalog::State::Views));
|
||||
parser = & (_parsers.getParserSlot( name, loadMode, _environment ));
|
||||
|
||||
// Try to open cell file (file extention is supplied by the parser).
|
||||
|
@ -864,7 +864,7 @@ namespace CRL {
|
|||
|
||||
if ( catalogProperty != NULL ) {
|
||||
Catalog::State* state = catalogProperty->getState ();
|
||||
if ( (flags and IgnoreFeeds) and state->isFeed() ) continue;
|
||||
if ( (flags & IgnoreFeeds) and state->isFeed() ) continue;
|
||||
}
|
||||
++gates;
|
||||
|
||||
|
|
|
@ -515,7 +515,7 @@ Occurrence CHyperNetReceiverPortOccurrences::Locator::getElement() const
|
|||
{
|
||||
if (_pinLocator.isValid())
|
||||
return _pinLocator.getElement();
|
||||
return _plugOccurrenceLocator.getElement();
|
||||
return _plugOccurrenceLocator.getElement();
|
||||
}
|
||||
|
||||
Locator<Occurrence>* CHyperNetReceiverPortOccurrences::Locator::getClone() const
|
||||
|
|
|
@ -401,7 +401,7 @@ static void AttachContacts(Net* net)
|
|||
{
|
||||
if (contact->getBodyHook()->isAttached())
|
||||
throw Error("Cannot create contacts ring: A bodyHook is attached");
|
||||
componentsToAttachList.push_back(contact);
|
||||
componentsToAttachList.push_back(contact);
|
||||
end_for;
|
||||
}
|
||||
list<Component*>::iterator lcit = componentsToAttachList.begin();
|
||||
|
@ -779,7 +779,7 @@ void ConnectPlugHooks(Cell* cell)
|
|||
try {
|
||||
_index = std::stoi( sindex );
|
||||
}
|
||||
catch ( std::invalid_argument e ) {
|
||||
catch ( std::invalid_argument& e ) {
|
||||
cerr << Error( "SubNetNames::match(): std::stoi() catched an exception on \"%s\"."
|
||||
, sindex.c_str() ) << endl;
|
||||
}
|
||||
|
|
|
@ -1998,8 +1998,8 @@ namespace Isobar3 {
|
|||
PyErr_Clear();
|
||||
setMessage( funcName() + "(): " );
|
||||
|
||||
TC* object;
|
||||
TArg* arg;
|
||||
TC* object = NULL;
|
||||
TArg* arg = NULL;
|
||||
pyToC( pyObject, &object );
|
||||
if (not pyToC( pyArg, &arg )) {
|
||||
string message = "PyInPlaceOperatorWrapper():";
|
||||
|
|
|
@ -157,7 +157,7 @@ namespace Hurricane {
|
|||
}
|
||||
|
||||
|
||||
DBo::~DBo ()
|
||||
DBo::~DBo () noexcept(false)
|
||||
{
|
||||
if (_idCount) --_idCount;
|
||||
else {
|
||||
|
|
|
@ -196,11 +196,11 @@ Hook::Hook()
|
|||
{
|
||||
}
|
||||
|
||||
Hook::~Hook()
|
||||
// **********
|
||||
Hook::~Hook() noexcept(false)
|
||||
// **************************
|
||||
{
|
||||
if (_nextHook != this)
|
||||
throw Error("Abnormal deletion of hook : always attached");
|
||||
throw Error("Abnormal deletion of hook : still attached");
|
||||
}
|
||||
|
||||
Hook* Hook::getNextHook() const
|
||||
|
|
|
@ -81,7 +81,7 @@ namespace Hurricane {
|
|||
void toJsonSignature ( JsonWriter* ) const;
|
||||
protected:
|
||||
DBo ();
|
||||
virtual ~DBo ();
|
||||
virtual ~DBo () noexcept(false);
|
||||
virtual void _postCreate ();
|
||||
virtual void _preDestroy ();
|
||||
private:
|
||||
|
|
|
@ -52,7 +52,7 @@ class Hook {
|
|||
// Destructor
|
||||
// **********
|
||||
|
||||
protected: virtual ~Hook();
|
||||
protected: virtual ~Hook() noexcept(false);
|
||||
|
||||
// Operators
|
||||
// *********
|
||||
|
|
|
@ -115,7 +115,7 @@ namespace Hurricane {
|
|||
inline bool PhysicalRule::isDouble () const { return _doubleValue != 0; }
|
||||
inline bool PhysicalRule::isDbU () const { return not _stepsValue.empty(); }
|
||||
inline bool PhysicalRule::isSymmetric () const { return _symmetric; }
|
||||
inline bool PhysicalRule::hasSteps () const { return not _stepsValue.size() > 1; }
|
||||
inline bool PhysicalRule::hasSteps () const { return not (_stepsValue.size() > 1); }
|
||||
inline double PhysicalRule::getDoubleValue () const { return _doubleValue; }
|
||||
inline void PhysicalRule::setSymmetric ( bool state ) { _symmetric = state; }
|
||||
inline void PhysicalRule::addValue ( double value ) { _doubleValue = value; }
|
||||
|
|
|
@ -48,7 +48,7 @@ namespace Isobar {
|
|||
static Script* create ( const std::string& name="" );
|
||||
void destroy ();
|
||||
inline std::string getUserModuleName () const;
|
||||
inline const char* getFileName () const;
|
||||
inline std::string getFileName () const;
|
||||
inline PyObject* getSysModule ();
|
||||
inline PyObject* getHurricaneModule ();
|
||||
inline PyObject* getUserModule ();
|
||||
|
@ -93,8 +93,14 @@ namespace Isobar {
|
|||
inline PyObject* Script::getHurricaneModule () { return _hurricaneModule; }
|
||||
inline PyObject* Script::getUserModule () { return _userModule; }
|
||||
|
||||
inline const char* Script::getFileName () const
|
||||
{ return (_userModule) ? PyModule_GetFilename(_userModule) : getUserModuleName().c_str(); }
|
||||
inline std::string Script::getFileName () const
|
||||
{
|
||||
if (not _userModule) return getUserModuleName();
|
||||
PyObject* pyBytes = PyUnicode_AsASCIIString( PyModule_GetFilenameObject(_userModule) );
|
||||
std::string fileName = PyBytes_AsString( pyBytes );
|
||||
Py_DECREF( pyBytes );
|
||||
return fileName;
|
||||
}
|
||||
|
||||
inline PyObject* Script::_importHurricane ( unsigned int flags )
|
||||
{ return _hurricaneModule = _importModule("Hurricane",flags); }
|
||||
|
|
Loading…
Reference in New Issue