Skip to content

Commit df71b65

Browse files
miss-islingtoncorona10
authored andcommitted
bpo-41875: Use __builtin_unreachable when possible (pythonGH-22433)
(cherry picked from commit 24ba3b0) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
1 parent 87e94e1 commit df71b65

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

Include/pymacro.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,9 @@
118118
"We've reached an unreachable state. Anything is possible.\n" \
119119
"The limits were in our heads all along. Follow your dreams.\n" \
120120
"https://xkcd.com/2200")
121-
#elif defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER)
121+
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
122+
# define Py_UNREACHABLE() __builtin_unreachable()
123+
#elif defined(__clang__) || defined(__INTEL_COMPILER)
122124
# define Py_UNREACHABLE() __builtin_unreachable()
123125
#elif defined(_MSC_VER)
124126
# define Py_UNREACHABLE() __assume(0)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Update :c:macro:`Py_UNREACHABLE` to use __builtin_unreachable() if only the
2+
compiler is able to use it. Patch by Dong-hee Na.

0 commit comments

Comments
 (0)