base: Add M5 flag for [[nodiscard]] attribute
This change adds the M5_NODISCARD keyword to allow use of the [[nodiscard]] attribute with compilers that support C++17. Currently, C++17 is not a requirement and therefore the M5_NODISCARD has not effect and does not break compilation for older compilers. Change-Id: Ifc5c8f34764da3c7291066dcb2ff908c97738c3d Reviewed-on: https://gem5-review.googlesource.com/10441 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012,2017 ARM Limited
|
||||
* Copyright (c) 2012,2017-2018 ARM Limited
|
||||
* All rights reserved
|
||||
*
|
||||
* The license below extends only to copyright in the software and shall
|
||||
@@ -73,9 +73,17 @@
|
||||
#else
|
||||
#define M5_FALLTHROUGH
|
||||
#endif
|
||||
|
||||
#if __has_cpp_attribute(nodiscard)
|
||||
#define M5_NODISCARD [[nodiscard]]
|
||||
#else
|
||||
#define M5_NODISCARD
|
||||
#endif
|
||||
#else
|
||||
// Unsupported (and no warning) on GCC < 7.
|
||||
#define M5_FALLTHROUGH
|
||||
|
||||
#define M5_NODISCARD
|
||||
#endif
|
||||
|
||||
// std::make_unique redefined for C++11 compilers
|
||||
|
||||
Reference in New Issue
Block a user