diff options
author | Joel Stanley <joel.stanley@au1.ibm.com> | 2017-11-16 12:02:23 +1030 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-12-01 00:51:01 -0500 |
commit | fca1480ab5511cc85ae05e688987eada1cafd9ba (patch) | |
tree | 665b1beac703d2cc05d457344bc8eb2599b83f97 /src/import/hwpf/fapi2 | |
parent | 7bd8c25ffc52f362557853c4467e47fcb7320657 (diff) | |
download | talos-sbe-fca1480ab5511cc85ae05e688987eada1cafd9ba.tar.gz talos-sbe-fca1480ab5511cc85ae05e688987eada1cafd9ba.zip |
fapi2: Fix template call sites for GCC 7
The following errors stop hostboot from building with modern GCC:
src/import/hwpf/fapi2/include/buffer.H:710:23: error: invalid
operands of types ‘<unresolved overloaded function type>’ and
‘fapi2::bufferTraits<long unsigned int, unsigned int>::bits_type
{aka unsigned int}’ to binary ‘operator<’
out.insert<TS, L, SS>(iv_data);
~~~~~~~~~~^~~
src/import/hwpf/fapi2/include/buffer.H: In member function
‘fapi2::buffer<T, TT>& fapi2::buffer<T, TT>::flipBit()’:
src/import/hwpf/fapi2/include/buffer.H:316:49: error: expected
primary-expression before ‘)’ token
iv_data ^= buffer<T>().setBit<B, C>();
^
In both cases the call site needs to be prepended with the keyword
'template'. Otherwise the name is assumed to be a non-template (as per
C++ 14.2/4).
Change-Id: I925c35d51787c4f4f232372f0e1299ec2a5cab42
Signed-off-by: Joel Stanley <joel.stanley@au1.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49760
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49890
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/import/hwpf/fapi2')
-rw-r--r-- | src/import/hwpf/fapi2/include/buffer.H | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/import/hwpf/fapi2/include/buffer.H b/src/import/hwpf/fapi2/include/buffer.H index 572d4813..c1756ba3 100644 --- a/src/import/hwpf/fapi2/include/buffer.H +++ b/src/import/hwpf/fapi2/include/buffer.H @@ -228,7 +228,7 @@ class buffer static_assert((B >= 0) && ((B + C - 1) < TT::bits_per_unit()), "failed range check"); - iv_data &= buffer<T>().setBit<B, C>().invert(); + iv_data &= buffer<T>().template setBit<B, C>().invert(); return *this; } @@ -313,7 +313,7 @@ class buffer static_assert((B >= 0) && ((B + C - 1) < TT::bits_per_unit()), "failed range check"); - iv_data ^= buffer<T>().setBit<B, C>(); + iv_data ^= buffer<T>().template setBit<B, C>(); return *this; } @@ -327,7 +327,7 @@ class buffer template< bits_type B, bits_type C = 1> inline bool getBit(void) const { - return buffer<T>().setBit<B, C>() & iv_data; + return buffer<T>().template setBit<B, C>() & iv_data; } /// @@ -707,7 +707,7 @@ class buffer // Extraction is just an insert into o_out buffer<OT> out(o_out); - out.insert<TS, L, SS>(iv_data); + out.template insert<TS, L, SS>(iv_data); o_out = out; return *this; } @@ -727,7 +727,7 @@ class buffer // Extraction is just an insert into o_out buffer<OT> out(o_out); - out.insert<TS, L, SS>(iv_data); + out.template insert<TS, L, SS>(iv_data); o_out = out; return *this; } |