#define SDL_DEPRECATED __attribute__((deprecated))
関数の宣言にこのマクロが追加された関数は廃止がタグ付けされる.
extern SDL_DEPRECATED int ThisFunctionWasABadIdea(void);
廃止のタグ付けに対応したコンパイラは, 廃止された関数が使用されると警告を発する. このマクロはSDLのヘッダで使用しているが, アプリケーションや他のライブラリでも自身のインターフェースで使用してもよい.
SDLは様々な理由で関数を廃止する場合がある. しかし, SDLはメジャーバージョンが上がるまでシンボルを決して削除しない. そのためSDL3の廃止されたインターフェースはSDL4まで利用可能な状態で残るが, アプリケーションは移行のための対策を取ることが求められる.
廃止の仕組みのないコンパイラでは, これは何もせず, 廃止された関数は警告を発しない.