diff --git a/libc/stdio/printf_common.h b/libc/stdio/printf_common.h
index 9b7c329..ad4fe35 100644
--- a/libc/stdio/printf_common.h
+++ b/libc/stdio/printf_common.h
@@ -48,6 +48,8 @@
 #include <unistd.h>
 #include <wchar.h>
 
+#include <private/bionic_macros.h>
+
 #include "fvwrite.h"
 #include "gdtoa.h"
 #include "local.h"
@@ -472,7 +474,7 @@
         goto rflag;
       case 'C':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'c':
         if (flags & LONGINT)
           ADDTYPE(T_WINT);
@@ -481,7 +483,7 @@
         break;
       case 'D':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'd':
       case 'i':
         ADDSARG();
@@ -503,7 +505,7 @@
         __fortify_fatal("%%n not allowed on Android");
       case 'O':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'o':
         ADDUARG();
         break;
@@ -512,13 +514,13 @@
         break;
       case 'S':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 's':
         ADDTYPE((flags & LONGINT) ? TP_WCHAR : TP_CHAR);
         break;
       case 'U':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'u':
       case 'X':
       case 'x':
diff --git a/libc/stdio/vfprintf.cpp b/libc/stdio/vfprintf.cpp
index 7a67868..a14963e 100644
--- a/libc/stdio/vfprintf.cpp
+++ b/libc/stdio/vfprintf.cpp
@@ -206,7 +206,7 @@
         if (width >= 0) goto rflag;
         if (width == INT_MIN) goto overflow;
         width = -width;
-        /* FALLTHROUGH */
+        __BIONIC_FALLTHROUGH;
       case '-':
         flags |= LADJUST;
         goto rflag;
@@ -305,7 +305,7 @@
         goto rflag;
       case 'C':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'c':
         if (flags & LONGINT) {
           mbstate_t mbs;
@@ -327,7 +327,7 @@
         break;
       case 'D':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'd':
       case 'i':
         _umax = SARG();
@@ -453,7 +453,7 @@
         __fortify_fatal("%%n not allowed on Android");
       case 'O':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'o':
         _umax = UARG();
         base = OCT;
@@ -473,7 +473,7 @@
         goto nosign;
       case 'S':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 's':
         if (flags & LONGINT) {
           wchar_t* wcp;
@@ -505,7 +505,7 @@
         break;
       case 'U':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'u':
         _umax = UARG();
         base = DEC;
diff --git a/libc/stdio/vfscanf.cpp b/libc/stdio/vfscanf.cpp
index 0fcdbed..6fb49c9 100644
--- a/libc/stdio/vfscanf.cpp
+++ b/libc/stdio/vfscanf.cpp
@@ -43,6 +43,7 @@
 
 #include <private/bionic_ctype.h>
 #include <private/bionic_fortify.h>
+#include <private/bionic_macros.h>
 #include <private/bionic_mbstate.h>
 
 #define BUF 513 /* Maximum length of numeric string. */
@@ -189,7 +190,7 @@
        */
       case 'D': /* compat */
         flags |= LONG;
-        /* FALLTHROUGH */
+        __BIONIC_FALLTHROUGH;
       case 'd':
         c = CT_INT;
         base = 10;
@@ -202,7 +203,7 @@
 
       case 'O': /* compat */
         flags |= LONG;
-        /* FALLTHROUGH */
+        __BIONIC_FALLTHROUGH;
       case 'o':
         c = CT_INT;
         flags |= UNSIGNED;
diff --git a/libc/stdio/vfwprintf.cpp b/libc/stdio/vfwprintf.cpp
index ae0b62f..1c3b80d 100644
--- a/libc/stdio/vfwprintf.cpp
+++ b/libc/stdio/vfwprintf.cpp
@@ -195,7 +195,7 @@
         if (width >= 0) goto rflag;
         if (width == INT_MIN) goto overflow;
         width = -width;
-        /* FALLTHROUGH */
+        __BIONIC_FALLTHROUGH;
       case '-':
         flags |= LADJUST;
         goto rflag;
@@ -294,7 +294,7 @@
         goto rflag;
       case 'C':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'c':
         if (flags & LONGINT)
           *(cp = buf) = (wchar_t)GETARG(wint_t);
@@ -305,7 +305,7 @@
         break;
       case 'D':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'd':
       case 'i':
         _umax = SARG();
@@ -438,7 +438,7 @@
         __fortify_fatal("%%n not allowed on Android");
       case 'O':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'o':
         _umax = UARG();
         base = OCT;
@@ -458,7 +458,7 @@
         goto nosign;
       case 'S':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 's':
         if (flags & LONGINT) {
           if ((cp = GETARG(wchar_t*)) == nullptr) cp = const_cast<wchar_t*>(L"(null)");
@@ -486,7 +486,7 @@
         break;
       case 'U':
         flags |= LONGINT;
-        /*FALLTHROUGH*/
+        __BIONIC_FALLTHROUGH;
       case 'u':
         _umax = UARG();
         base = DEC;
