[llvm-commits] CVS: llvm/configure Makefile.rules Makefile.config.in

Reid Spencer rspencer at reidspencer.com
Thu Jun 28 18:14:49 PDT 2007


Hi David,

A couple comments ...

On Thu, 2007-06-28 at 14:36 -0500, David Greene wrote:
> 
> Changes in directory llvm:
> 
> configure updated: 1.277 -> 1.278
> Makefile.rules updated: 1.435 -> 1.436
> Makefile.config.in updated: 1.76 -> 1.77
> ---
> Log message:
> 
> Add support for building with _GLIBCXX_DEBUG.  New configure option
> --enable-expensive-checks allows the developer to enable runtime
> checking that can greatly increase compile time.  Currently it only
> turns on _GLIBCXX_DEBUG.  Other expensive debugging checks added later
> should be controlled by this configure option.
> 
> This patch also updates llvm-config with a --cppflags option to inform
> llvm-gcc how to build itself so that it is compatible with an llvm that
> was built with _GLIBCXX_DEBUG.

Sounds good.


> 
> 
> ---
> Diffs of the changes:  (+66 -28)
> 
>  Makefile.config.in |    5 +++
>  Makefile.rules     |   10 ++++++
>  configure          |   79 ++++++++++++++++++++++++++++++++++-------------------
>  3 files changed, 66 insertions(+), 28 deletions(-)
> 
> 
> Index: llvm/configure

Please don't commit generated files with non-generated files.

> diff -u llvm/configure:1.277 llvm/configure:1.278
> --- llvm/configure:1.277	Thu May 17 13:11:03 2007
> +++ llvm/configure	Thu Jun 28 14:36:07 2007
> @@ -830,6 +830,8 @@
>  CVSBUILD
>  ENABLE_OPTIMIZED
>  DISABLE_ASSERTIONS
> +ENABLE_EXPENSIVE_CHECKS
> +EXPENSIVE_CHECKS
>  DEBUG_RUNTIME
>  JIT
>  TARGET_HAS_JIT
> @@ -1525,6 +1527,8 @@
>    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
>    --enable-optimized
>    --enable-assertions
> +  --enable-expensive-checks
> +
>    --enable-debug-runtime
>    --enable-jit            Enable Just In Time Compiling (default is YES)
>    --enable-doxygen        Build doxygen documentation (default is NO)
> @@ -4577,6 +4581,25 @@
>  
>  fi
>  
> +# Check whether --enable-expensive-checks was given.
> +if test "${enable_expensive_checks+set}" = set; then
> +  enableval=$enable_expensive_checks;
> +else
> +  enableval="no"
> +fi
> +
> +if test ${enableval} = "yes" ; then
> +  ENABLE_EXPENSIVE_CHECKS=ENABLE_EXPENSIVE_CHECKS=1
> +
> +  EXPENSIVE_CHECKS=yes
> +
> +else
> +  ENABLE_EXPENSIVE_CHECKS=
> +
> +  EXPENSIVE_CHECKS=no
> +
> +fi
> +
>  # Check whether --enable-debug-runtime was given.
>  if test "${enable_debug_runtime+set}" = set; then
>    enableval=$enable_debug_runtime;
> @@ -10343,7 +10366,7 @@
>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>    lt_status=$lt_dlunknown
>    cat > conftest.$ac_ext <<EOF
> -#line 10346 "configure"
> +#line 10369 "configure"
>  #include "confdefs.h"
>  
>  #if HAVE_DLFCN_H
> @@ -12487,7 +12510,7 @@
>    ;;
>  *-*-irix6*)
>    # Find out which ABI we are using.
> -  echo '#line 12490 "configure"' > conftest.$ac_ext
> +  echo '#line 12513 "configure"' > conftest.$ac_ext
>    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
>    (eval $ac_compile) 2>&5
>    ac_status=$?
> @@ -14205,11 +14228,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:14208: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:14231: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>conftest.err)
>     ac_status=$?
>     cat conftest.err >&5
> -   echo "$as_me:14212: \$? = $ac_status" >&5
> +   echo "$as_me:14235: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s "$ac_outfile"; then
>       # The compiler can only warn and ignore the option if not recognized
>       # So say no if there are warnings other than the usual output.
> @@ -14473,11 +14496,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:14476: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:14499: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>conftest.err)
>     ac_status=$?
>     cat conftest.err >&5
> -   echo "$as_me:14480: \$? = $ac_status" >&5
> +   echo "$as_me:14503: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s "$ac_outfile"; then
>       # The compiler can only warn and ignore the option if not recognized
>       # So say no if there are warnings other than the usual output.
> @@ -14577,11 +14600,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:14580: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:14603: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>out/conftest.err)
>     ac_status=$?
>     cat out/conftest.err >&5
> -   echo "$as_me:14584: \$? = $ac_status" >&5
> +   echo "$as_me:14607: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s out/conftest2.$ac_objext
>     then
>       # The compiler can only warn and ignore the option if not recognized
> @@ -17029,7 +17052,7 @@
>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>    lt_status=$lt_dlunknown
>    cat > conftest.$ac_ext <<EOF
> -#line 17032 "configure"
> +#line 17055 "configure"
>  #include "confdefs.h"
>  
>  #if HAVE_DLFCN_H
> @@ -17129,7 +17152,7 @@
>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>    lt_status=$lt_dlunknown
>    cat > conftest.$ac_ext <<EOF
> -#line 17132 "configure"
> +#line 17155 "configure"
>  #include "confdefs.h"
>  
>  #if HAVE_DLFCN_H
> @@ -19497,11 +19520,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:19500: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:19523: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>conftest.err)
>     ac_status=$?
>     cat conftest.err >&5
> -   echo "$as_me:19504: \$? = $ac_status" >&5
> +   echo "$as_me:19527: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s "$ac_outfile"; then
>       # The compiler can only warn and ignore the option if not recognized
>       # So say no if there are warnings other than the usual output.
> @@ -19601,11 +19624,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:19604: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:19627: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>out/conftest.err)
>     ac_status=$?
>     cat out/conftest.err >&5
> -   echo "$as_me:19608: \$? = $ac_status" >&5
> +   echo "$as_me:19631: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s out/conftest2.$ac_objext
>     then
>       # The compiler can only warn and ignore the option if not recognized
> @@ -21171,11 +21194,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:21174: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:21197: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>conftest.err)
>     ac_status=$?
>     cat conftest.err >&5
> -   echo "$as_me:21178: \$? = $ac_status" >&5
> +   echo "$as_me:21201: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s "$ac_outfile"; then
>       # The compiler can only warn and ignore the option if not recognized
>       # So say no if there are warnings other than the usual output.
> @@ -21275,11 +21298,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:21278: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:21301: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>out/conftest.err)
>     ac_status=$?
>     cat out/conftest.err >&5
> -   echo "$as_me:21282: \$? = $ac_status" >&5
> +   echo "$as_me:21305: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s out/conftest2.$ac_objext
>     then
>       # The compiler can only warn and ignore the option if not recognized
> @@ -23510,11 +23533,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:23513: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:23536: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>conftest.err)
>     ac_status=$?
>     cat conftest.err >&5
> -   echo "$as_me:23517: \$? = $ac_status" >&5
> +   echo "$as_me:23540: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s "$ac_outfile"; then
>       # The compiler can only warn and ignore the option if not recognized
>       # So say no if there are warnings other than the usual output.
> @@ -23778,11 +23801,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:23781: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:23804: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>conftest.err)
>     ac_status=$?
>     cat conftest.err >&5
> -   echo "$as_me:23785: \$? = $ac_status" >&5
> +   echo "$as_me:23808: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s "$ac_outfile"; then
>       # The compiler can only warn and ignore the option if not recognized
>       # So say no if there are warnings other than the usual output.
> @@ -23882,11 +23905,11 @@
>     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
>     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
>     -e 's:$: $lt_compiler_flag:'`
> -   (eval echo "\"\$as_me:23885: $lt_compile\"" >&5)
> +   (eval echo "\"\$as_me:23908: $lt_compile\"" >&5)
>     (eval "$lt_compile" 2>out/conftest.err)
>     ac_status=$?
>     cat out/conftest.err >&5
> -   echo "$as_me:23889: \$? = $ac_status" >&5
> +   echo "$as_me:23912: \$? = $ac_status" >&5
>     if (exit $ac_status) && test -s out/conftest2.$ac_objext
>     then
>       # The compiler can only warn and ignore the option if not recognized
> @@ -34342,6 +34365,8 @@
>  CVSBUILD!$CVSBUILD$ac_delim
>  ENABLE_OPTIMIZED!$ENABLE_OPTIMIZED$ac_delim
>  DISABLE_ASSERTIONS!$DISABLE_ASSERTIONS$ac_delim
> +ENABLE_EXPENSIVE_CHECKS!$ENABLE_EXPENSIVE_CHECKS$ac_delim
> +EXPENSIVE_CHECKS!$EXPENSIVE_CHECKS$ac_delim
>  DEBUG_RUNTIME!$DEBUG_RUNTIME$ac_delim
>  JIT!$JIT$ac_delim
>  TARGET_HAS_JIT!$TARGET_HAS_JIT$ac_delim
> @@ -34363,8 +34388,6 @@
>  BISON!$BISON$ac_delim
>  NM!$NM$ac_delim
>  ifGNUmake!$ifGNUmake$ac_delim
> -LN_S!$LN_S$ac_delim
> -CMP!$CMP$ac_delim
>  _ACEOF
>  
>    if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
> @@ -34406,6 +34429,8 @@
>  ac_delim='%!_!# '
>  for ac_last_try in false false false false false :; do
>    cat >conf$$subs.sed <<_ACEOF
> +LN_S!$LN_S$ac_delim
> +CMP!$CMP$ac_delim
>  CP!$CP$ac_delim
>  DATE!$DATE$ac_delim
>  FIND!$FIND$ac_delim
> @@ -34477,7 +34502,7 @@
>  LTLIBOBJS!$LTLIBOBJS$ac_delim
>  _ACEOF
>  
> -  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 69; then
> +  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 71; then
>      break
>    elif $ac_last_try; then
>      { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
> 
> 
> Index: llvm/Makefile.rules
> diff -u llvm/Makefile.rules:1.435 llvm/Makefile.rules:1.436
> --- llvm/Makefile.rules:1.435	Thu May 17 17:51:35 2007
> +++ llvm/Makefile.rules	Thu Jun 28 14:36:08 2007
> @@ -260,6 +260,13 @@
>    C.Flags   += -D_DEBUG
>  endif
>  
> +# If DISABLE_EXPENSIVE_CHECKS=1 is specified (make command line or configured),
> +# then disable expensive checks by defining the appropriate preprocessor symbols.

This comment doesn't jive with the code below. The comment talks about
DISABLE_* while the code is for ENABLE_*  .. please synchronize

> +ifdef ENABLE_EXPENSIVE_CHECKS
> +  BuildMode := $(BuildMode)+Checks
> +  CXX.Flags += -D_GLIBCXX_DEBUG
> +endif
> +
>  ifeq ($(ENABLE_PIC),1)
>    CXX.Flags += -fPIC
>    C.Flags   += -fPIC
> @@ -267,7 +274,8 @@
>  
>  CXX.Flags     += $(CXXFLAGS) -Woverloaded-virtual
>  C.Flags       += $(CFLAGS)
> -CPP.BaseFlags += $(CPPFLAGS)
> +CPP.Defines   += $(CPPFLAGS)
> +CPP.BaseFlags += $(CPP.Defines)

You're introducing CPP.Defines but I don't see it used in this file. Is
this for future use?

>  LD.Flags      += $(LDFLAGS)
>  AR.Flags      := cru
>  LibTool.Flags := --tag=CXX
> 
> 
> Index: llvm/Makefile.config.in
> diff -u llvm/Makefile.config.in:1.76 llvm/Makefile.config.in:1.77
> --- llvm/Makefile.config.in:1.76	Sat Apr 21 16:28:12 2007
> +++ llvm/Makefile.config.in	Thu Jun 28 14:36:08 2007
> @@ -209,6 +209,11 @@
>  #DISABLE_ASSERTIONS = 1
>  @DISABLE_ASSERTIONS@
>  
> +# When ENABLE_EXPENSIVE_CHECKS is enabled, builds of all of the LLVM
> +# code will include expensive checks, otherwise they are excluded.
> +#ENABLE_EXPENSIVE_CHECKS = 0
> + at ENABLE_EXPENSIVE_CHECKS@
> +
>  # When DEBUG_RUNTIME is enabled, the runtime libraries will retain debug
>  # symbols.
>  #DEBUG_RUNTIME = 1

Looks good.

Thanks, David.

Reid.
> 
> 
> 
> _______________________________________________
> 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