diff options
author | Luis Fernandez <luis.fernandez@ibm.com> | 2019-02-21 14:13:44 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-04-05 16:52:10 -0500 |
commit | 4995ec0ba6f15e03deb4b9ad1dc215f3f8993acb (patch) | |
tree | 35524433b3a4b268b12516cfdf2dd033688599b2 /src/usr/errl/errludlogregister.C | |
parent | c8651104f00db7538147ab4cea9c9a3a8df5e500 (diff) | |
download | talos-hostboot-4995ec0ba6f15e03deb4b9ad1dc215f3f8993acb.tar.gz talos-hostboot-4995ec0ba6f15e03deb4b9ad1dc215f3f8993acb.zip |
HB Improvements: Fix compiler warnings on modern compilers
Resolve warnings when compiling with gcc 4.8. Compiled with GCC 7.3,
no more compile errors/warnings; build ends with caught exception from
linker. This commit compiles with GCC 8.2, no more error/warnings; except
for a linking warning.
Change-Id: Ib5d7c2b5bd350edc76ee2c7de96896154cd44420
RTC: 202716
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72271
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/errl/errludlogregister.C')
-rw-r--r-- | src/usr/errl/errludlogregister.C | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/usr/errl/errludlogregister.C b/src/usr/errl/errludlogregister.C index 43742605b..0db5aaca9 100644 --- a/src/usr/errl/errludlogregister.C +++ b/src/usr/errl/errludlogregister.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2017 */ +/* Contributors Listed Below - COPYRIGHT 2012,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -39,6 +39,7 @@ namespace ERRORLOG { using namespace TARGETING; +using namespace DeviceFW; extern TARG_TD_t g_trac_errl; @@ -278,6 +279,16 @@ void ErrlUserDetailsLogRegister::copyRegisterData( * * This function will call the readRegister() function to log and do the read. */ + +// This extension will silence warnings relating to the mis-match of argument +// types used in the various aliases created in this document. + +// The following flag is only available in GCC 8 +#if __GNUC__ >= 8 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wattribute-alias" +#endif + template <> void ErrlUserDetailsLogRegister::addData<>( DeviceFW::AccessType i_accessType, ...) @@ -290,6 +301,9 @@ __attribute__((alias("_ZN8ERRORLOG26ErrlUserDetailsLogRegister9__addDataEhz"))); void ErrlUserDetailsLogRegister::__addData( uint8_t i_accessType, ...) { + static_assert(LAST_DRIVER_ACCESS_TYPE <= UINT8_MAX, + "Logic violation, LAST_DRIVER_ACCESS_TYPE is greater than UINT8_MAX."); + TRACDCOMP(g_trac_errl, "LogRegister::addData: type %x", i_accessType); @@ -317,6 +331,10 @@ void ErrlUserDetailsLogRegister::addDataBuffer<>( DeviceFW::AccessType_DriverOnly i_accessType, ...) __attribute__((alias("_ZN8ERRORLOG26ErrlUserDetailsLogRegister15__addDataBufferEPvmhz"))); +#if __GNUC__ >= 8 +#pragma GCC diagnostic pop +#endif // ignoring -Wattribute-alias in GCC 8 + void ErrlUserDetailsLogRegister::__addDataBuffer( void *i_dataBuf, size_t i_dataSize, uint8_t i_accessType, ...) |