• Show log

    Commit

  • Hash : e9503ae9
    Author : Jamie Madill
    Date : 2018-10-25T17:55:04

    Revert "Add compiler printf attribute to relevant functions"
    
    This reverts commit 27a472c601aa542f48ca5944fb769e2971a0594f.
    
    Reason for revert: Causing failures on 32-bit Linux configs:
    
    https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8931673733828416640/+/steps/compile/0/stdout
    
    ../../third_party/angle/src/libGLESv2/entry_points_egl.cpp:257:11: error: reinterpret_cast from 'EGLNativeWindowType' (aka 'unsigned long') to 'uintptr_t' (aka 'unsigned int') is not allowed
              reinterpret_cast<uintptr_t>(win), reinterpret_cast<uintptr_t>(attrib_list));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../../third_party/angle/src/common/debug.h:230:112: note: expanded from macro 'EVENT'
    #define EVENT(message, ...) gl::ScopedPerfEventHelper scopedPerfEventHelper("%s" message "\n", __FUNCTION__, ##__VA_ARGS__);
                                                                                                                   ^~~~~~~~~~~
    ../../third_party/angle/src/libGLESv2/entry_points_egl.cpp:314:11: error: reinterpret_cast from 'EGLNativePixmapType' (aka 'unsigned long') to 'uintptr_t' (aka 'unsigned int') is not allowed
              reinterpret_cast<uintptr_t>(pixmap), reinterpret_cast<uintptr_t>(attrib_list));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Original change's description:
    > Add compiler printf attribute to relevant functions
    > 
    > This commit includes fixes to undefined behavior caught by this
    > attribute.  The following changes have been made:
    > 
    > - 0x%0.8p is changed to %016 PRIxPTR. Both 0 and . have undefined behavior with
    >   p.  Additionally, %p already prints 0x with both gcc and clang.  This
    >   results in a small output change:
    > 
    >     void *x = (void *)0x1234;
    >     void *y = (void *)0x1234567890abcdef;
    > 
    >     printf("|%0.8p|\n", x);
    >     printf("|%0.8p|\n", y);
    > 
    >     printf("|%016" PRIxPTR "|\n", reinterpret_cast<uintptr_t>(x));
    >     printf("|%016" PRIxPTR "|\n", reinterpret_cast<uintptr_t>(y));
    > 
    >   prints:
    > 
    >     |0x00001234|
    >     |0x1234567890abcdef|
    >     |0x0000000000001234|
    >     |0x1234567890abcdef|
    > 
    > - %d used for GLintptr, GLsizeiptr, EGLTime and EGLnsecsANDROID is
    >   changed to %llu and the relevant argument is cast to unsigned long
    >   long.  This is due to these types being typedefs to unknown types (on
    >   Linux for example, these are unsigned long, and my guess would be
    >   unsigned long long on Windows where long is 32 bits).
    > - %llu is used for GLuint64, which could be unsigned long (as is on
    >   Linux).  Those arguments are cast to unsigned long long.
    > - %p is used for some EGLNative types, but those types may not be a
    >   pointer.  Those arguments are cast to uintptr_t and printed as above.
    > 
    > Bug: angleproject:2928
    > Change-Id: I63e9e998c72701ce8582f1ebf25d6374be9090e4
    > Reviewed-on: https://chromium-review.googlesource.com/c/1289232
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: I4f3cea64977bee9f889db6c995371bd2bbc6d81b
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2928
    Reviewed-on: https://chromium-review.googlesource.com/c/1299480
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    

  • Properties

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

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags