[llvm] r202569 - [C++11] Replace autoconf --enable-cxx11 with --enable-cxx1y. The
Eric Christopher
echristo at gmail.com
Fri Feb 28 23:18:37 PST 2014
Hey, good idea.
Thanks!
-eric
On Fri, Feb 28, 2014 at 7:33 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
> Author: chandlerc
> Date: Fri Feb 28 21:33:08 2014
> New Revision: 202569
>
> URL: http://llvm.org/viewvc/llvm-project?rev=202569&view=rev
> Log:
> [C++11] Replace autoconf --enable-cxx11 with --enable-cxx1y. The
> baseline is now C++11, and we unconditionally add -std=c++11 to the
> flags.
>
> This has the dim potential to break some non-GNU-compatible compiler (in
> terms of -std flags) using the makefiles, but those makefiles are
> littered with GNU-style compile flags so it would be very surprising to
> me for it to actually happen in practice. As always, do let me know if
> there is a toolchain you're using where this doesn't work, and I'll be
> watching the bots.
>
> Modified:
> llvm/trunk/Makefile.config.in
> llvm/trunk/Makefile.rules
> llvm/trunk/autoconf/configure.ac
> llvm/trunk/configure
>
> Modified: llvm/trunk/Makefile.config.in
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.config.in?rev=202569&r1=202568&r2=202569&view=diff
> ==============================================================================
> --- llvm/trunk/Makefile.config.in (original)
> +++ llvm/trunk/Makefile.config.in Fri Feb 28 21:33:08 2014
> @@ -244,8 +244,9 @@ RDYNAMIC := @RDYNAMIC@
> #ENABLE_LIBCPP = 0
> ENABLE_LIBCPP = @ENABLE_LIBCPP@
>
> -# When ENABLE_CXX11 is enabled, LLVM uses c++11 mode by default to build.
> -ENABLE_CXX11 = @ENABLE_CXX11@
> +# When ENABLE_CXX1Y is enabled, LLVM uses c++1y mode by default to build.
> +# Otherwise it uses the baseline c++11.
> +ENABLE_CXX1Y = @ENABLE_CXX1Y@
>
> # When ENABLE_SPLIT_DWARF is enabled, LLVM uses -gfission to build in debug mode.
> ENABLE_SPLIT_DWARF = @ENABLE_SPLIT_DWARF@
>
> Modified: llvm/trunk/Makefile.rules
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=202569&r1=202568&r2=202569&view=diff
> ==============================================================================
> --- llvm/trunk/Makefile.rules (original)
> +++ llvm/trunk/Makefile.rules Fri Feb 28 21:33:08 2014
> @@ -319,8 +319,10 @@ ifeq ($(ENABLE_LIBCPP),1)
> LD.Flags += -stdlib=libc++
> endif
>
> -ifeq ($(ENABLE_CXX11),1)
> - CXX.Flags += -std=c++11
> +ifeq ($(ENABLE_CXX1Y),1)
> + CXX.Flags += -std=c++1y
> +else
> + CXX.Flags += -std=c++11
> endif
>
> ifeq ($(ENABLE_WERROR),1)
>
> Modified: llvm/trunk/autoconf/configure.ac
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=202569&r1=202568&r2=202569&view=diff
> ==============================================================================
> --- llvm/trunk/autoconf/configure.ac (original)
> +++ llvm/trunk/autoconf/configure.ac Fri Feb 28 21:33:08 2014
> @@ -589,16 +589,16 @@ bypass these sanity checks.])])
> ;;
> esac
>
> -dnl --enable-cxx11 : check whether or not to use -std=c++11 on the command line
> -AC_ARG_ENABLE(cxx11,
> - AS_HELP_STRING([--enable-cxx11],
> - [Use c++11 if available (default is YES)]),,
> +dnl --enable-cxx1y : check whether or not to use -std=c++1y on the command line
> +AC_ARG_ENABLE(cxx1y,
> + AS_HELP_STRING([--enable-cxx1y],
> + [Use c++1y if available (default is NO)]),,
> enableval=default)
> case "$enableval" in
> - yes) AC_SUBST(ENABLE_CXX11,[1]) ;;
> - no) AC_SUBST(ENABLE_CXX11,[0]) ;;
> - default) AC_SUBST(ENABLE_CXX11,[1]);;
> - *) AC_MSG_ERROR([Invalid setting for --enable-cxx11. Use "yes" or "no"]) ;;
> + yes) AC_SUBST(ENABLE_CXX1Y,[1]) ;;
> + no) AC_SUBST(ENABLE_CXX1Y,[0]) ;;
> + default) AC_SUBST(ENABLE_CXX1Y,[0]);;
> + *) AC_MSG_ERROR([Invalid setting for --enable-cxx1y. Use "yes" or "no"]) ;;
> esac
>
> dnl --enable-fission : check whether or not to use -gsplit-dwarf on the command
>
> Modified: llvm/trunk/configure
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/configure?rev=202569&r1=202568&r2=202569&view=diff
> ==============================================================================
> --- llvm/trunk/configure (original)
> +++ llvm/trunk/configure Fri Feb 28 21:33:08 2014
> @@ -684,7 +684,7 @@ BUILD_EXEEXT
> BUILD_CXX
> CVSBUILD
> ENABLE_LIBCPP
> -ENABLE_CXX11
> +ENABLE_CXX1Y
> ENABLE_SPLIT_DWARF
> ENABLE_CLANG_ARCMT
> ENABLE_CLANG_STATIC_ANALYZER
> @@ -1402,7 +1402,7 @@ Optional Features:
> --enable-compiler-version-checks
> Check the version of the host compiler (default is
> YES)
> - --enable-cxx11 Use c++11 if available (default is YES)
> + --enable-cxx1y Use c++1y if available (default is NO)
> --enable-split-dwarf Use split-dwarf if available (default is NO)
> --enable-clang-arcmt Enable building of clang ARCMT (default is YES)
> --enable-clang-static-analyzer
> @@ -4804,22 +4804,22 @@ echo "$as_me: error: Invalid setting for
> ;;
> esac
>
> -# Check whether --enable-cxx11 was given.
> -if test "${enable_cxx11+set}" = set; then
> - enableval=$enable_cxx11;
> +# Check whether --enable-cxx1y was given.
> +if test "${enable_cxx1y+set}" = set; then
> + enableval=$enable_cxx1y;
> else
> enableval=default
> fi
>
> case "$enableval" in
> - yes) ENABLE_CXX11=1
> + yes) ENABLE_CXX1Y=1
> ;;
> - no) ENABLE_CXX11=0
> + no) ENABLE_CXX1Y=0
> ;;
> - default) ENABLE_CXX11=1
> + default) ENABLE_CXX1Y=0
> ;;
> - *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-cxx11. Use \"yes\" or \"no\"" >&5
> -echo "$as_me: error: Invalid setting for --enable-cxx11. Use \"yes\" or \"no\"" >&2;}
> + *) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-cxx1y. Use \"yes\" or \"no\"" >&5
> +echo "$as_me: error: Invalid setting for --enable-cxx1y. Use \"yes\" or \"no\"" >&2;}
> { (exit 1); exit 1; }; } ;;
> esac
>
> @@ -20165,7 +20165,7 @@ BUILD_EXEEXT!$BUILD_EXEEXT$ac_delim
> BUILD_CXX!$BUILD_CXX$ac_delim
> CVSBUILD!$CVSBUILD$ac_delim
> ENABLE_LIBCPP!$ENABLE_LIBCPP$ac_delim
> -ENABLE_CXX11!$ENABLE_CXX11$ac_delim
> +ENABLE_CXX1Y!$ENABLE_CXX1Y$ac_delim
> ENABLE_SPLIT_DWARF!$ENABLE_SPLIT_DWARF$ac_delim
> ENABLE_CLANG_ARCMT!$ENABLE_CLANG_ARCMT$ac_delim
> ENABLE_CLANG_STATIC_ANALYZER!$ENABLE_CLANG_STATIC_ANALYZER$ac_delim
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list