scons: fix unused auto-generated blob variable in clang
Since f2bda876f7, the build system started
adding a length for generated blobs as in:
const std::size_t variable_len = 123;
There were two types of blob files, ones with a header and the ones
without.
The ones with the header, also include the header in the .cc of the blob,
which contains a declaration:
extern const std::size_t variable_len;
Therefore, the ones without header, don't have that extern declaration,
which makes them static according to the C++ standard.
clang then correctly interprets that as problematic due to
-Wunused-const-variable, while GCC does not notice this.
This patch removes the length declaration from the blob files that don't
have the header. Those files currently don't use the length.
Change-Id: I3fc61b28f887fc1015288857328ead2f3b34c6e6
Reviewed-on: https://gem5-review.googlesource.com/c/15955
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
@@ -255,7 +255,8 @@ def blobToCpp(data, symbol, cpp_code, hpp_code=None, namespace=None):
|
||||
hpp_code('}')
|
||||
if namespace is not None:
|
||||
cpp_code('namespace {} {{'.format(namespace))
|
||||
cpp_code(symbol_len_declaration + ' = {};'.format(len(data)))
|
||||
if hpp_code is not None:
|
||||
cpp_code(symbol_len_declaration + ' = {};'.format(len(data)))
|
||||
cpp_code(symbol_declaration + ' = {')
|
||||
cpp_code.indent()
|
||||
step = 16
|
||||
|
||||
Reference in New Issue
Block a user