Fix signedness of non-ANSI port declarations (issue #540).
For non-ANSI port declarations that have both a port declaration and a corresponding variable declaration, the signed attribute may be attached to either the port declaration or the variable declaration, or both declarations.
This commit is contained in:
parent
7ee7a48310
commit
ef01dd1e81
10
PWire.cc
10
PWire.cc
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999-2019 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 1999-2021 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -132,7 +132,13 @@ ivl_variable_type_t PWire::get_data_type() const
|
||||||
|
|
||||||
void PWire::set_signed(bool flag)
|
void PWire::set_signed(bool flag)
|
||||||
{
|
{
|
||||||
signed_ = flag;
|
// For a non-ANSI style port declaration where the data type is
|
||||||
|
// specified in a corresponding variable declaration, the signed
|
||||||
|
// attribute may be attached to either the port declaration or to
|
||||||
|
// the variable declaration (IEEE 1364-2005 section 12.3.3). The
|
||||||
|
// signal is signed if either the port or the variable is signed.
|
||||||
|
// Handle that here.
|
||||||
|
signed_ = signed_ || flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PWire::get_signed() const
|
bool PWire::get_signed() const
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue