• Show log

    Commit

  • Hash : 66a08aa3
    Author : Misa
    Date : 2021-09-27T14:38:12

    Add and use `SDL_FALLTHROUGH` for fallthroughs
    
    Case fallthrough warnings can be suppressed using the __fallthrough__
    compiler attribute. Unfortunately, not all compilers have this
    attribute, or even have __has_attribute to check if they have the
    __fallthrough__ attribute. [[fallthrough]] is also available in C++17
    and the next C2x, but not everyone uses C++17 or C2x.
    
    So define the SDL_FALLTHROUGH macro to deal with those problems - if we
    are using C++17 or C2x, it expands to [[fallthrough]]; else if the
    compiler has __has_attribute and has the __fallthrough__ attribute, then
    it expands to __attribute__((__fallthrough__)); else it expands to an
    empty statement, with a /* fallthrough */ comment (it's a do {} while
    (0) statement, because users of this macro need to use a semicolon,
    because [[fallthrough]] and __attribute__((__fallthrough__)) require a
    semicolon).
    
    Applications using SDL are also free to use this macro (because it is
    defined in begin_code.h).
    
    All existing /* fallthrough */ comments have been replaced with this
    macro. Some of them were unnecessary because they were the last case in
    a switch; using SDL_FALLTHROUGH in those cases would result in a compile
    error on compilers that support __fallthrough__, for having a
    __attribute__((__fallthrough__)) statement that didn't immediately
    precede a case label.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/SDL.git
    Git SSH git@git.kmx.io:kc3-lang/SDL.git
    Public access ? public
    Description

    Fork of https://github.com/libsdl-org/SDL

    Users
    thodg_m kc3_lang_org thodg_w thodg_l www_kmx_io thodg
    Tags

  • README.md

  • Simple DirectMedia Layer (SDL) Version 2.0

    https://www.libsdl.org/

    Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve’s award winning catalog and many Humble Bundle games.

    More extensive documentation is available in the docs directory, starting with README.md

    Enjoy!

    Sam Lantinga (slouken@libsdl.org)