• Stephan Bergmann's avatar
    Make loplugin:casttovoid more resilient against macros · 11b741ac
    Stephan Bergmann yazdı
    ...in the type at the start of a ParmVarDecl, so that it does not erroneously
    assume in isSharedCAndCppCode that the whole decl is in "the body of a macro
    definition".  (Even better might be to check the whole ParmVarDecl is inside one
    macro body.)
    
    Turns out that vcl/unx/gtk/gtkdata.cxx indirectly includes stdbool.h via some
    vcl/inc/unx/saldisp.hxx -> workdir/UnpackedTarball/epoxy/include/epoxy/glx.h ->
    workdir/UnpackedTarball/epoxy/include/epoxy/gl.h, and Clang's stdbool.h contains
    
    > /* Don't define bool, true, and false in C++, except as a GNU extension. */
    > #ifndef __cplusplus
    > #define bool _Bool
    > #define true 1
    > #define false 0
    > #elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
    > /* Define _Bool, bool, false, true as a GNU extension. */
    > #define _Bool bool
    > #define bool  bool
    > #define false false
    > #define true  true
    > #endif
    
    since <http://llvm.org/viewvc/llvm-project?view=revision&revision=115028>
    "Define _Bool, bool, true, and false macros in <stdbool.h> when we're in a
    GNU-compatible C++ dialect. Fixes <rdar://problem/8477819>" while GCC's
    stdbool.h has meanwhile been improved with
    <https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=216679> "C++11
    explicitly forbids macros for bool, true and false" to
    
    > #ifndef __cplusplus
    >
    > #define bool	_Bool
    > #define true	1
    > #define false	0
    >
    > #else /* __cplusplus */
    >
    > /* Supporting _Bool in C++ is a GCC extension.  */
    > #define _Bool	bool
    >
    > #if __cplusplus < 201103L
    > /* Defining these macros in C++98 is a GCC extension.  */
    > #define bool	bool
    > #define false	false
    > #define true	true
    > #endif
    >
    > #endif /* __cplusplus */
    
    Change-Id: I42caab83ac6e4d5e5297376136a6bbe6f3d70818
    11b741ac
Adı
Son kayıt (commit)
Son güncelleme
..
android Loading commit data...
backendtest Loading commit data...
headless Loading commit data...
inc Loading commit data...
ios Loading commit data...
null Loading commit data...
opengl Loading commit data...
osx Loading commit data...
qa Loading commit data...
qt5 Loading commit data...
quartz Loading commit data...
source Loading commit data...
uiconfig/ui Loading commit data...
unx Loading commit data...
win Loading commit data...
workben Loading commit data...
AllLangMoTarget_vcl.mk Loading commit data...
CppunitTest_vcl_app_test.mk Loading commit data...
CppunitTest_vcl_bitmap_test.mk Loading commit data...
CppunitTest_vcl_bitmapprocessor_test.mk Loading commit data...
CppunitTest_vcl_blocklistparser_test.mk Loading commit data...
CppunitTest_vcl_complextext.mk Loading commit data...
CppunitTest_vcl_dialogs_test.mk Loading commit data...
CppunitTest_vcl_errorhandler.mk Loading commit data...
CppunitTest_vcl_filters_test.mk Loading commit data...
CppunitTest_vcl_font.mk Loading commit data...
CppunitTest_vcl_fontcharmap.mk Loading commit data...
CppunitTest_vcl_fontmetric.mk Loading commit data...
CppunitTest_vcl_jpeg_read_write_test.mk Loading commit data...
CppunitTest_vcl_lifecycle.mk Loading commit data...
CppunitTest_vcl_mnemonic.mk Loading commit data...
CppunitTest_vcl_outdev.mk Loading commit data...
CppunitTest_vcl_pdfexport.mk Loading commit data...
CppunitTest_vcl_svm_test.mk Loading commit data...
CppunitTest_vcl_timer.mk Loading commit data...
CustomTarget_kde4_moc.mk Loading commit data...
CustomTarget_kde5_moc.mk Loading commit data...
CustomTarget_nativecalc.mk Loading commit data...
CustomTarget_nativecore.mk Loading commit data...
CustomTarget_nativedraw.mk Loading commit data...
CustomTarget_nativewriter.mk Loading commit data...
CustomTarget_qt5_moc.mk Loading commit data...
Executable_602fuzzer.mk Loading commit data...
Executable_bmpfuzzer.mk Loading commit data...
Executable_cgmfuzzer.mk Loading commit data...
Executable_diffuzzer.mk Loading commit data...
Executable_dxffuzzer.mk Loading commit data...
Executable_epsfuzzer.mk Loading commit data...
Executable_fftester.mk Loading commit data...
Executable_fodpfuzzer.mk Loading commit data...
Executable_fodsfuzzer.mk Loading commit data...
Executable_fodtfuzzer.mk Loading commit data...
Executable_giffuzzer.mk Loading commit data...
Executable_hwpfuzzer.mk Loading commit data...
Executable_icontest.mk Loading commit data...
Executable_jpgfuzzer.mk Loading commit data...
Executable_lwpfuzzer.mk Loading commit data...
Executable_metfuzzer.mk Loading commit data...
Executable_mtfdemo.mk Loading commit data...
Executable_olefuzzer.mk Loading commit data...
Executable_outdevgrind.mk Loading commit data...
Executable_pcdfuzzer.mk Loading commit data...
Executable_pctfuzzer.mk Loading commit data...
Executable_pcxfuzzer.mk Loading commit data...
Executable_pngfuzzer.mk Loading commit data...
Executable_ppmfuzzer.mk Loading commit data...
Executable_pptfuzzer.mk Loading commit data...
Executable_psdfuzzer.mk Loading commit data...
Executable_qpwfuzzer.mk Loading commit data...
Executable_rasfuzzer.mk Loading commit data...
Executable_rtffuzzer.mk Loading commit data...
Executable_scrtffuzzer.mk Loading commit data...
Executable_slkfuzzer.mk Loading commit data...
Executable_svdemo.mk Loading commit data...
Executable_svmfuzzer.mk Loading commit data...
Executable_svpclient.mk Loading commit data...
Executable_svptest.mk Loading commit data...
Executable_tgafuzzer.mk Loading commit data...
Executable_tiffuzzer.mk Loading commit data...
Executable_ui-previewer.mk Loading commit data...
Executable_vcldemo.mk Loading commit data...
Executable_visualbackendtest.mk Loading commit data...
Executable_wksfuzzer.mk Loading commit data...
Executable_wmffuzzer.mk Loading commit data...
Executable_ww2fuzzer.mk Loading commit data...
Executable_ww6fuzzer.mk Loading commit data...
Executable_ww8fuzzer.mk Loading commit data...
Executable_xbmfuzzer.mk Loading commit data...
Executable_xid_fullscreen_on_all_monitors.mk Loading commit data...
Executable_xlsfuzzer.mk Loading commit data...
Executable_xpmfuzzer.mk Loading commit data...
Library_desktop_detector.mk Loading commit data...
Library_vcl.mk Loading commit data...
Library_vclplug_gen.mk Loading commit data...
Library_vclplug_gtk.mk Loading commit data...
Library_vclplug_gtk3.mk Loading commit data...
Library_vclplug_kde4.mk Loading commit data...
Library_vclplug_kde5.mk Loading commit data...
Library_vclplug_qt5.mk Loading commit data...
Makefile Loading commit data...
Module_vcl.mk Loading commit data...
Package_fontunxppds.mk Loading commit data...
Package_fontunxpsprint.mk Loading commit data...
Package_opengl.mk Loading commit data...
Package_opengl_blacklist.mk Loading commit data...
Package_osxres.mk Loading commit data...
README Loading commit data...
README.GDIMetaFile Loading commit data...
README.lifecycle Loading commit data...
README.scheduler Loading commit data...
README.vars Loading commit data...
StaticLibrary_fuzzer_calc.mk Loading commit data...
StaticLibrary_fuzzer_core.mk Loading commit data...
StaticLibrary_fuzzer_draw.mk Loading commit data...
StaticLibrary_fuzzer_writer.mk Loading commit data...
StaticLibrary_fuzzerstubs.mk Loading commit data...
StaticLibrary_glxtest.mk Loading commit data...
StaticLibrary_vclmain.mk Loading commit data...
UIConfig_vcl.mk Loading commit data...
WinResTarget_vcl.mk Loading commit data...
commonfuzzer.mk Loading commit data...
vcl.android.component Loading commit data...
vcl.headless.component Loading commit data...
vcl.ios.component Loading commit data...
vcl.macosx.component Loading commit data...
vcl.unx.component Loading commit data...
vcl.windows.component Loading commit data...