VirtualBox

Changeset 85070 in vbox for trunk


Ignore:
Timestamp:
Jul 6, 2020 1:04:40 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
138973
Message:

/Config.kmk: Apply VBOX_GCC_std to all relevant templates so we can use noexcept, which prevents Clang warnings. Moved the VBOX_GCC_std value determination out of DynamicConfig.kmk where it never should've been in the first place. bugref:9790

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r85062 r85070  
    29452945        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-nested-anon-types ?= $(call VBOX_GCC_CHECK_CC,-Wno-nested-anon-types,)'
    29462946        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-gnu-anonymous-struct ?= $(call VBOX_GCC_CHECK_CXX,-Wno-gnu-anonymous-struct,)'
    2947 # C++ Std settings
    2948         $(QUIET)$(APPEND) '$@' 'ifneq ($$(VBOX_GCC_VERSION_CXX),)'
    2949         $(QUIET)$(APPEND) '$@' ' if $$(VBOX_GCC_VERSION_CXX) >= 40800'
    2950         $(QUIET)$(APPEND) '$@' '  VBOX_GCC_std ?= -std=c++11'
    2951         $(QUIET)$(APPEND) '$@' ' else if $$(VBOX_GCC_VERSION_CXX) >= 40600'
    2952         $(QUIET)$(APPEND) '$@' '  VBOX_GCC_std ?= -std=c++0x'
    2953 # darwin Xcode 5 allegedly knows what C++11 is
    2954 ifeq ($(KBUILD_HOST),darwin)
    2955         $(QUIET)$(APPEND) '$@' ' else if $$(VBOX_CLANG_VERSION_CXX) >= 50000'
    2956         $(QUIET)$(APPEND) '$@' '  VBOX_GCC_std ?= -std=c++11'
    2957 endif
    2958         $(QUIET)$(APPEND) '$@' ' endif'
    2959         $(QUIET)$(APPEND) '$@' 'endif'
    29602947ifeq ($(KBUILD_TARGET),solaris)
    29612948        $(QUIET)$(APPEND) '$@' 'VBOX_GCC_msave-args            ?= $(call VBOX_GCC_CHECK_CXX,-msave-args,)'
     
    30523039include $(PATH_OUT)/DynamicConfig.kmk
    30533040endif # !VBOX_NOINC_DYNAMIC_CONFIG_KMK
     3041
     3042
     3043#
     3044# C++ language level.
     3045## @todo consider maxing this.
     3046#
     3047ifndef VBOX_GCC_std
     3048 ## @todo rewrite using "$(VBOX_CLANG_VERSION_CXX)" vge 50000 so we can skip the ifneq stuff here.
     3049 ifneq ($(VBOX_CLANG_VERSION_CXX),)
     3050  if $(VBOX_CLANG_VERSION_CXX) >= 50000 # darwin Xcode 5 allegedly knows what C++11 is
     3051VBOX_GCC_std := -std=c++11
     3052  endif
     3053 endif
     3054 if "$(VBOX_GCC_VERSION_CXX)" != "" && !defined(VBOX_GCC_std)
     3055  if $(VBOX_GCC_VERSION_CXX) >= 40800
     3056VBOX_GCC_std := -std=c++11
     3057  else if $(VBOX_GCC_VERSION_CXX) >= 40600
     3058VBOX_GCC_std := -std=c++0x
     3059  endif
     3060 endif
     3061endif
    30543062
    30553063
     
    44744482 TEMPLATE_VBoxRc_SDKS               += $(VBOX_DARWIN_DEF_SDK_SDKS)
    44754483 TEMPLATE_VBoxRc_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
    4476  TEMPLATE_VBoxRc_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti
     4484 TEMPLATE_VBoxRc_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti $(VBOX_GCC_std)
    44774485 TEMPLATE_VBoxRc_CFLAGS              = $(VBOX_DARWIN_DEF_SDK_CFLAGS)   -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing
    44784486 TEMPLATE_VBoxRc_LDFLAGS             = $(VBOX_DARWIN_DEF_SDK_LDFLAGS)  -m32 -nostdlib
     
    45984606TEMPLATE_VBoxR0_TOOL                = $(VBOX_GCC_TOOL)
    45994607TEMPLATE_VBoxR0_CFLAGS              = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
    4600 TEMPLATE_VBoxR0_CXXFLAGS            = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
     4608TEMPLATE_VBoxR0_CXXFLAGS            = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK)
    46014609TEMPLATE_VBoxR0_CFLAGS.amd64        = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -ffreestanding
    46024610TEMPLATE_VBoxR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables
     
    46364644TEMPLATE_VBoxR0_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \
    46374645        -fno-common -msoft-float -static -fno-rtti -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \
    4638         -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector)
     4646        -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_std)
    46394647TEMPLATE_VBoxR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2  -mno-sse4a -fno-unwind-tables
    46404648TEMPLATE_VBoxR0_CXXFLAGS.x86        = -m32
     
    48884896        -Werror=non-modular-include-in-framework-module \
    48894897        $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fasm-blocks -fno-strict-aliasing -stdlib=libc++
     4898#  if1of ($(VBOX_GCC_TOOL), CLANGXXMACHO) ## @todo check if we can safely use $(VBOX_GCC_std) @bugref{9790}, good for noexcept.
     4899#TEMPLATE_VBOXR0DRV_CXXFLAGS           += $(VBOX_GCC_std)
     4900#  endif
    48904901# also used by xcode 6.2: \
    48914902# -Werror=return-type \
     
    53055316 endif
    53065317TEMPLATE_VBOXR3EXE_CXXFLAGS            = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) \
    5307         $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
     5318        $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
    53085319 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY
    53095320  TEMPLATE_VBOXR3EXE_CXXFLAGS         += $(VBOX_GCC_WERR)
     
    53155326TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile   = -finstrument-functions
    53165327TEMPLATE_VBOXR3EXE_CXXFLAGS.debug      = $(VBOX_GCC_SANITIZER_FLAGS)
    5317 TEMPLATE_VBOXR3EXE_CFLAGS              = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
     5328TEMPLATE_VBOXR3EXE_CFLAGS              = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) \
     5329        $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
    53185330 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY
    53195331  TEMPLATE_VBOXR3EXE_CFLAGS           += $(VBOX_GCC_WERR)
     
    71857197TEMPLATE_VBoxBldProg_CFLAGS.profile      = $(TEMPLATE_VBoxBldProg_CXXFLAGS.profile)
    71867198TEMPLATE_VBoxBldProg_CFLAGS.kprofile     = $(TEMPLATE_VBoxBldProg_CXXFLAGS.kprofile)
    7187 TEMPLATE_VBoxBldProg_CXXFLAGS            = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros)
     7199TEMPLATE_VBoxBldProg_CXXFLAGS            = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_std)
    71887200 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY
    71897201  TEMPLATE_VBoxBldProg_CXXFLAGS         += $(VBOX_GCC_WERR)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette