[dpdk-dev] [PATCH v4 25/27] eal: mark old naming as deprecated
Stephen Hemminger
stephen at networkplumber.org
Sat Jul 18 04:22:35 CEST 2020
On Fri, 17 Jul 2020 16:21:37 +0100
"Burakov, Anatoly" <anatoly.burakov at intel.com> wrote:
> On 16-Jul-20 11:04 PM, Stephen Hemminger wrote:
> > On Thu, 16 Jul 2020 14:41:41 +0100
> > "Burakov, Anatoly" <anatoly.burakov at intel.com> wrote:
> >
> >> On 15-Jul-20 9:29 PM, Stephen Hemminger wrote:
> >>> On Wed, 15 Jul 2020 14:28:17 +0100
> >>> "Burakov, Anatoly" <anatoly.burakov at intel.com> wrote:
> >>>
> >>>>> -#define SKIP_MASTER SKIP_INITIAL
> >>>>> -#define CALL_MASTER CALL_INITIAL
> >>>>> +#define SKIP_MASTER _Pragma("GCC warning \"'SKIP_MASTER' is deprecated\"") SKIP_INITIAL
> >>>>> +#define CALL_MASTER _Pragma("GCC warning \"'CALL_MASTER' is deprecated\"") CALL_INITIAL
> >>>>
> >>>> Presumably this is a generic header, should we introduce GCC-specific
> >>>> things there?
> >>>
> >>> It works with Clang as well. Likely ICC but don't have that.
> >>>
> >>
> >> What about MSVC?
> >>
> >
> > _Pragma is C99 standard so MSVC know it.
> > MSVC should ignore any pragman it doesn't understand.
> >
> > There is a better pragma for deprecating keywords in MSVC, but GCC and Clang don't
> > understand it.
> >
>
> Deprecating macros sounds like something we might want to do in the
> future, can't we put some macro into rte_common.h to address this? e.g.
> something like
>
> #ifdef MSVC
> #define rte_deprecated_macro _msvc_pragma_whatever()
> #else
> #define rte_deprecated_macro _Pragma("GCC warning ...")
> #endif
>
> and use this macro here?
It gets hard to do macro in a macro,
More information about the dev
mailing list