Issue 33407: Implement Py_DEPRECATED() macro for Visual Studio (original) (raw)
This issue has been migrated to GitHub: https://github.com/python/cpython/issues/77588
classification
Title: | Implement Py_DEPRECATED() macro for Visual Studio | ||
---|---|---|---|
Type: | Stage: | resolved | |
Components: | Windows | Versions: | Python 3.8 |
process
Status: | closed | Resolution: | fixed |
---|---|---|---|
Dependencies: | Superseder: | ||
Assigned To: | Nosy List: | ZackerySpytz, paul.moore, pitrou, steve.dower, tim.golden, vstinner, zach.ware | |
Priority: | normal | Keywords: | patch |
Created on 2018-05-02 09:29 by vstinner, last changed 2022-04-11 14:59 by admin. This issue is now closed.
Pull Requests | |||
---|---|---|---|
URL | Status | Linked | Edit |
PR 8980 | merged | ZackerySpytz,2018-08-28 22:09 |
Messages (5) | ||
---|---|---|
msg316059 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2018-05-02 09:29 |
According to the following links, it would be possible to implement the Pc_DEPRECATED() macro for Visual Studio: https://mail.python.org/pipermail/python-dev/2018-May/153299.html https://stackoverflow.com/questions/295120/c-mark-as-deprecated/295229#295229 """ #ifdef __GNUC__ #define DEPRECATED(func) func __attribute__ ((deprecated)) #elif defined(_MSC_VER) #define DEPRECATED(func) __declspec(deprecated) func #else #pragma message("WARNING: You need to implement DEPRECATED for this compiler") #define DEPRECATED(func) func #endif """ Moreover, is Py_DEPRECATED() defined on clang which also supports the deprecated function attribute? https://clang.llvm.org/docs/AttributeReference.html#deprecated-gnu-deprecated Current Include/pyport.h code: #if defined(__GNUC__) \ && ((__GNUC__ >= 4) | | (__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)) #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__)) #else #define Py_DEPRECATED(VERSION_UNUSED) #endif | |
msg316060 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2018-05-02 09:31 |
Oh, bpo-19569 is still open, for Visual Studio see: https://bugs.python.org/issue19569#msg227727 | ||
msg316061 - (view) | Author: Antoine Pitrou (pitrou) * ![]() |
Date: 2018-05-02 09:35 |
In Arrow we use the following: #if __cplusplus <= 201103L # ifdef __GNUC__ # define ARROW_DEPRECATED(...) __attribute__((deprecated(__VA_ARGS__))) # elif defined(_MSC_VER) # define ARROW_DEPRECATED(...) __declspec(deprecated(__VA_ARGS__)) # else # define ARROW_DEPRECATED(...) # endif #else # define ARROW_DEPRECATED(...) [[deprecated(__VA_ARGS__)]] #endif | ||
msg343789 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2019-05-28 15:16 |
New changeset 3c8724fc60163f4f3c3b0d531c84cc7b36783f82 by Victor Stinner (Zackery Spytz) in branch 'master': bpo-33407: Implement Py_DEPRECATED() on MSVC (GH-8980) https://github.com/python/cpython/commit/3c8724fc60163f4f3c3b0d531c84cc7b36783f82 | ||
msg343790 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2019-05-28 15:19 |
Thanks Zackery Spytz for the fix! |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:59:00 | admin | set | github: 77588 |
2019-05-28 15:19:44 | vstinner | set | status: open -> closedresolution: fixedmessages: + stage: patch review -> resolved |
2019-05-28 15:16:56 | vstinner | set | messages: + |
2018-08-28 22:26:43 | ZackerySpytz | set | nosy: + ZackerySpytz |
2018-08-28 22:09:42 | ZackerySpytz | set | keywords: + patchstage: patch reviewpull_requests: + <pull%5Frequest8454> |
2018-05-02 09:35:26 | pitrou | set | messages: + |
2018-05-02 09:31:41 | vstinner | set | messages: + |
2018-05-02 09:29:49 | vstinner | create |