diff options
author | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-08-25 20:07:58 +1000 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-03-21 09:19:41 -0400 |
commit | bb3ec0a1bdf1e351c4d4cf210f625f7bce2581dc (patch) | |
tree | b429352f25f575cc82b66f53a8a5e8d19f205cec /src/usr/diag/prdf | |
parent | 579dc1df70c3db1d670c77d267946e09bc8b2cb1 (diff) | |
download | talos-hostboot-bb3ec0a1bdf1e351c4d4cf210f625f7bce2581dc.tar.gz talos-hostboot-bb3ec0a1bdf1e351c4d4cf210f625f7bce2581dc.zip |
Fix compiler can assume address will never be NULL error with GCC6
So, it turns out that relying on the address of something passed by
reference being able to be NULL isn't exactly a good idea, or remotely
obvious code. So, instead, do the sane thing and pass a pointer and
check it.
In constructor ?PRDF::AttnTypeRegister::AttnTypeRegister(...)?:
the compiler can assume that the address of ?i_check? will never be NULL
[-Werror=address]
iv_check( NULL == &i_check ? &cv_null : &i_check),
~~^~~~~~~~~~~
the compiler can assume that the address of ?i_recov? will never be NULL
[-Werror=address]
iv_recov( NULL == &i_recov ? &cv_null : &i_recov),
~~^~~~~~~~~~~
the compiler can assume that the address of ?i_special? will never be NULL
[-Werror=address]
iv_special(NULL == &i_special ? &cv_null : &i_special),
~~^~~~~~~~~~~~~
the compiler can assume that the address of ?i_proccs? will never be NULL
[-Werror=address]
iv_proccs( NULL == &i_proccs ? &cv_null : &i_proccs),
~~^~~~~~~~~~~~
src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C:123:
the compiler can assume that the address of ?r? will never be NULL
[-Werror=address]
PRDF_ASSERT( &r != NULL );
Change-Id: I46181487cea89c8918899bab2ab17c82b68122ee
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36899
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf')
3 files changed, 11 insertions, 13 deletions
diff --git a/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C b/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C index f3939d1f5..a4825427c 100755 --- a/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C +++ b/src/usr/diag/prdf/common/framework/register/prdfErrorRegister.C @@ -120,8 +120,6 @@ ErrorRegister::ErrorRegister( SCAN_COMM_REGISTER_CLASS & r, ResolutionMap & rm, ErrorRegisterType(), scr(r), scr_rc(SUCCESS), rMap(rm), xNoErrorOnZeroScr(false), xScrId(scrId) { - PRDF_ASSERT( &r != NULL ); - PRDF_ASSERT( &rm != NULL ); } /*---------------------------------------------------------------------*/ diff --git a/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H b/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H index 893ee7ca0..07d5ac981 100755 --- a/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H +++ b/src/usr/diag/prdf/common/framework/register/prdfOperatorRegister.H @@ -513,17 +513,17 @@ class AttnTypeRegister : public SCAN_COMM_REGISTER_CLASS iv_bs = &iv_iBS; } - AttnTypeRegister( SCAN_COMM_REGISTER_CLASS & i_check, - SCAN_COMM_REGISTER_CLASS & i_recov, - SCAN_COMM_REGISTER_CLASS & i_special, - SCAN_COMM_REGISTER_CLASS & i_proccs, - SCAN_COMM_REGISTER_CLASS & i_hostattn ) : + AttnTypeRegister( SCAN_COMM_REGISTER_CLASS *i_check, + SCAN_COMM_REGISTER_CLASS *i_recov, + SCAN_COMM_REGISTER_CLASS *i_special, + SCAN_COMM_REGISTER_CLASS *i_proccs, + SCAN_COMM_REGISTER_CLASS *i_hostattn ) : SCAN_COMM_REGISTER_CLASS( ), - iv_check( NULL == &i_check ? &cv_null : &i_check), - iv_recov( NULL == &i_recov ? &cv_null : &i_recov), - iv_special( NULL == &i_special ? &cv_null : &i_special), - iv_proccs( NULL == &i_proccs ? &cv_null : &i_proccs), - iv_hostattn( NULL == &i_hostattn ? &cv_null : &i_hostattn), + iv_check( NULL == i_check ? &cv_null : i_check), + iv_recov( NULL == i_recov ? &cv_null : i_recov), + iv_special( NULL == i_special ? &cv_null : i_special), + iv_proccs( NULL == i_proccs ? &cv_null : i_proccs), + iv_hostattn( NULL == i_hostattn ? &cv_null : i_hostattn), iv_iBS(0) // will fully initialize this inside ctor. { uint32_t l_length = 1024; diff --git a/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C b/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C index 6c46dea93..ad045614d 100755 --- a/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C +++ b/src/usr/diag/prdf/common/framework/register/prdfScanFacility.C @@ -160,7 +160,7 @@ SCAN_COMM_REGISTER_CLASS & ScanFacility::GetAttnTypeRegister( SCAN_COMM_REGISTER_CLASS * i_proccs, SCAN_COMM_REGISTER_CLASS * i_hostattn ) { - AttnTypeRegister r(*i_check, *i_recov, *i_special, *i_proccs, *i_hostattn); + AttnTypeRegister r(i_check, i_recov, i_special, i_proccs, i_hostattn); return iv_attnRegFw.get(r); } |