base: Add compiler macros to add deprecation warnings
Gcc and clang both provide an attribute that can be used to flag a function as deprecated at compile time. This changeset adds a gem5 compiler macro for that compiler feature. The macro can be used to indicate that a legacy API within gem5 has been deprecated and provide a graceful migration to the new API.
This commit is contained in:
parent
c9b8616c51
commit
9e6f803254
2 changed files with 8 additions and 1 deletions
|
@ -1061,7 +1061,12 @@ def makeEnv(env, label, objsfx, strip = False, **kwargs):
|
|||
new_env.Append(LINKFLAGS='-fsanitize=undefined')
|
||||
|
||||
werror_env = new_env.Clone()
|
||||
werror_env.Append(CCFLAGS='-Werror')
|
||||
# Treat warnings as errors but white list some warnings that we
|
||||
# want to allow (e.g., deprecation warnings).
|
||||
werror_env.Append(CCFLAGS=['-Werror',
|
||||
'-Wno-error=deprecated-declarations',
|
||||
'-Wno-error=deprecated',
|
||||
])
|
||||
|
||||
def make_obj(source, static, extra_deps = None):
|
||||
'''This function adds the specified source to the correct
|
||||
|
|
|
@ -80,6 +80,8 @@
|
|||
# define M5_VAR_USED __attribute__((unused))
|
||||
# define M5_ATTR_PACKED __attribute__ ((__packed__))
|
||||
# define M5_NO_INLINE __attribute__ ((__noinline__))
|
||||
# define M5_DEPRECATED __attribute__((deprecated))
|
||||
# define M5_DEPRECATED_MSG(MSG) __attribute__((deprecated(MSG)))
|
||||
#endif
|
||||
|
||||
#if defined(__clang__)
|
||||
|
|
Loading…
Reference in a new issue