incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: svn commit: r569584 - in /incubator/stdcxx/branches/4.2.0: GNUmakefile etc/config/GNUmakefile.cfg etc/config/makefile.rules etc/config/src/LIMITS.cpp etc/config/sunpro.config
Date Sat, 25 Aug 2007 01:55:52 GMT
ablack@apache.org wrote:
> Author: ablack
> Date: Fri Aug 24 17:29:23 2007
> New Revision: 569584
> 
> URL: http://svn.apache.org/viewvc?rev=569584&view=rev
> Log:
> 2007-08-24  Andrew Black  <ablack@roguewave.com>
> 
> 	STDCXX-470
> 	STDCXX-479
> 	STDCXX-481

FWIW, this change doesn't fix these bugs, it just integrates
the already committed fixes to the [pre]release branch. So,
IMO, the bugs shouldn't be referenced here. The main reason
why I think it's wrong is because this commit is now recorded
in each of the issues, giving the impression that it's a patch
necessary to fix the bugs.

In addition, quoting from the Committers section of our page
(http://incubator.apache.org/stdcxx/#committers), the policy
that we all voted in is:

   "For potentially unsafe changes or any changes to branches
   all stdcxx committers follow the Review-Then-Commit policy
  (RTC for short)."

Martin

> 	* etc/config/src/LIMITS.cpp: Revert
> 	http://svn.apache.org/viewvc?view=rev&revision=554421 ,
> 	accidentally merged to 4.2.0 prematurely as part of
> 	http://svn.apache.org/viewvc?view=rev&revision=569152 .
> 	* GNUmakefile: Deploy
> 	http://svn.apache.org/viewcvs?view=rev&rev=555061 to enable
> 	building with Sun C++ 5.9 (Sun Studio 12).
> 	* etc/config/GNUmakefile.cfg: Ditto.
> 	* etc/config/sunpro.config: Ditto.
> 	* etc/config/makefile.rules: Ditto.
> 
> Modified:
>     incubator/stdcxx/branches/4.2.0/GNUmakefile
>     incubator/stdcxx/branches/4.2.0/etc/config/GNUmakefile.cfg
>     incubator/stdcxx/branches/4.2.0/etc/config/makefile.rules
>     incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp
>     incubator/stdcxx/branches/4.2.0/etc/config/sunpro.config
> 
> Modified: incubator/stdcxx/branches/4.2.0/GNUmakefile
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/GNUmakefile?rev=569584&r1=569583&r2=569584&view=diff
> ==============================================================================
> --- incubator/stdcxx/branches/4.2.0/GNUmakefile (original)
> +++ incubator/stdcxx/branches/4.2.0/GNUmakefile Fri Aug 24 17:29:23 2007
> @@ -588,7 +588,10 @@
>            && echo "PICFLAGS   = $(PICFLAGS)"             >> $(MAKEFILE_IN)
 \
>            && echo "CPPFLAGS   = $(CPPFLAGS)"             >> $(MAKEFILE_IN)
 \
>            && echo "WARNFLAGS  = $(WARNFLAGS)"            >> $(MAKEFILE_IN)
 \
> -          && echo "DEPENDFLAGS = $(DEPENDFLAGS)"         >> $(MAKEFILE_IN)
 \
> +          && echo "DEPENDFLAGS     = $(DEPENDFLAGS)"     >> $(MAKEFILE_IN)
 \
> +          && echo "DEPENDFLAGS.cpp = $(DEPENDFLAGS.cpp)" >> $(MAKEFILE_IN)
 \
> +          && echo "DEPENDFLAGS$(AS_EXT) = $(value DEPENDFLAGS$(AS_EXT))"   
\
> +                                                         >> $(MAKEFILE_IN)  \
>            && echo "AS_EXT     = $(AS_EXT)"               >> $(MAKEFILE_IN)
 \
>            && echo "LD         = $(LD)"                   >> $(MAKEFILE_IN)
 \
>            && echo "LDFLAGS    = $(LDFLAGS)"              >> $(MAKEFILE_IN)
 \
> 
> Modified: incubator/stdcxx/branches/4.2.0/etc/config/GNUmakefile.cfg
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/etc/config/GNUmakefile.cfg?rev=569584&r1=569583&r2=569584&view=diff
> ==============================================================================
> --- incubator/stdcxx/branches/4.2.0/etc/config/GNUmakefile.cfg (original)
> +++ incubator/stdcxx/branches/4.2.0/etc/config/GNUmakefile.cfg Fri Aug 24 17:29:23 2007
> @@ -145,6 +145,11 @@
>  # (re)create config.h; do not change timestamp if the new file is the same
>  # make .o first to make sure the %.o: %.cpp rule gets invoked (make bug?)
>  # run a configure script as the last step (e.g., to remove unwanted files)
> +
> +# creates a file named vars.sh, containing shell assignments corresponding
> +# to makefile variables defined in $(BUILDDIR)/makefile.in (variables with
> +# invalid names (those containing periods) are commented out); vars.sh is
> +# used in libc_decl.sh to invoke the compiler and linker
>  config: clean sane 
>  	@([ -f config.h ] && mv config.h config.h.~ ;                       \
>            echo "// configured for $(CCNAME) on `uname -sr`" >config.h ;     \
> @@ -163,6 +168,7 @@
>                    if [ ! -f vars.sh ] ; then                                \
>                        cat ../makefile.in                                    \
>                        | sed -e "s/= *\([^ ][^ ]* .*\)/=\"\1\"/"             \
> +                            -e "s/^\( *[^=]*\.[^=]*=.*\)/# \1/"             \
>                              -e "s/^\([^ ]*\) *= *\(.*\)/\1=\2 ; export \1/" \
>                              -e 's/$$(\([^)]*\))/${\1}/g' >vars.sh ;         \
>                    fi ;                                                      \
> 
> Modified: incubator/stdcxx/branches/4.2.0/etc/config/makefile.rules
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/etc/config/makefile.rules?rev=569584&r1=569583&r2=569584&view=diff
> ==============================================================================
> --- incubator/stdcxx/branches/4.2.0/etc/config/makefile.rules (original)
> +++ incubator/stdcxx/branches/4.2.0/etc/config/makefile.rules Fri Aug 24 17:29:23 2007
> @@ -119,8 +119,9 @@
>          PATH=$$PATH:.;                                                    \
>          TOPDIR=$(TOPDIR);                                                 \
>          TMP=$${TMP:-/tmp}/stdcxx-run-$$$$;                                \
> +        TZ=MST+7;                                                         \
>          export TMP;                                                       \
> -        export LD_LIBRARY_PATH PATH TMP TOPDIR;                           \
> +        export LD_LIBRARY_PATH PATH TMP TOPDIR TZ;                        \
>          trap "rm -rf $$TMP" HUP INT QUIT TERM EXIT;                       \
>          mkdir -p $$TMP;                                                   \
>          ./run $(RUNFLAGS) $(RUNTARGET);                                   \
> @@ -133,8 +134,9 @@
>          PATH=$$PATH:$(LIBDIR):.;                                          \
>          TOPDIR=$(TOPDIR);                                                 \
>          TMP=$${TMP:-/tmp}/stdcxx-run-$$$$;                                \
> +        TZ=MST+7;                                                         \
>          export TMP;                                                       \
> -        export LD_LIBRARY_PATH PATH TMP TOPDIR;                           \
> +        export LD_LIBRARY_PATH PATH TMP TOPDIR TZ;                        \
>          trap "rm -rf $$TMP" HUP INT QUIT TERM EXIT;                       \
>          mkdir -p $$TMP;                                                   \
>          ./run $(RUNFLAGS) $(RUNTARGET);                                   \
> @@ -164,8 +166,6 @@
>  endif   # eq ($(findstring clean,$(MAKECMDGOALS)),)
>  
>  
> -ifneq ($(DEPENDFLAGS),)
> -
>  # generate dependencies only if they don't yet exist, removing anything
>  # not under $(TOPDIR) or $(BUILDDIR) (e.g., system headers) from the list
>  # this is done by splitting up dependencies using tr so that there is just
> @@ -186,8 +186,9 @@
>                     s:$$RWTSRCDIR:$$""(TOPDIR)/\.\./rwtest:gp;                \
>                     s:$(TOPDIR):$$""(TOPDIR):gp;                              \
>                     s:$(BUILDDIR):$$""(BUILDDIR):gp" ;                        \
> -                                                                             \
> -           $(CXX) $(DEPENDFLAGS) $(CPPFLAGS) $(CXXFLAGS) $<                  \
> +	   depflags="$(value DEPENDFLAGS$(depsuffix))";                      \
> +           echo "$(CXX) $$depflags $(CPPFLAGS) $(CXXFLAGS) $<";              \
> +           $(CXX) $$depflags $(CPPFLAGS) $(CXXFLAGS) $<                      \
>                 | sed "$$sedexp1" | tr "@" "\n" | sed -n "$$sedexp2" >$@ ;    \
>             if [ ! -s $@ ]; then                                              \
>                 depfile=$*.u;                                                 \
> @@ -205,14 +206,36 @@
>  $(DEPENDDIR):
>  	@[ ! -d $(DEPENDDIR) ] && mkdir -p $(DEPENDDIR)
>  
> +
> +ifeq ($(DEPENDFLAGS),)
> +  # if DEPENDFLAGS is empty or not defined, set it to the concatenation
> +  # of the variables specific to each type of a source file
> +  DEPENDFLAGS = $(DEPENDFLAGS.cpp) $(value DEPENDFLAGS$(AS_EXT))
> +else
> +  DEPENDFLAGS.cpp := $(DEPENDFLAGS)
> +  DEPENDFLAGS.S   := $(DEPENDFLAGS)
> +  DEPENDFLAGS.s   := $(DEPENDFLAGS)
> +endif
> +
> +ifneq ($(DEPENDFLAGS),)
> +
> +# set depsuffix to the suffix of the first prerequisite
> +$(DEPENDDIR)/%.d: depsuffix = $(suffix $<)
> +
> +  ifneq ($(DEPENDFLAGS.cpp),)
> +
>  # rule to make dependencies for C++ source files
>  $(DEPENDDIR)/%.d: %.cpp $(DEPENDDIR)
>  	$(makedep)
>  
> +  endif   # DEPENDFLAGS.cpp
> +  ifneq ($(value DEPENDFLAGS$(AS_EXT)),)
> +
>  # rule to make dependencies for assembly files
>  $(DEPENDDIR)/%.d: %$(AS_EXT) $(DEPENDDIR)
>  	$(makedep)
>  
> +  endif   # DEPENDFLAGS.as
>  
>  else   # ifeq ($(DEPENDFLAGS),)
>  
> 
> Modified: incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp?rev=569584&r1=569583&r2=569584&view=diff
> ==============================================================================
> --- incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp (original)
> +++ incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp Fri Aug 24 17:29:23 2007
> @@ -336,14 +336,14 @@
>  
>  #ifndef _RWSTD_NO_WCHAR_T
>  
> -    printf ("#define _RWSTD_WCHAR_SIZE  %2u /* sizeof (wchar_t) */\n",
> +    printf ("#define _RWSTD_WCHAR_T_SIZE  %2u /* sizeof (wchar_t) */\n",
>              SIZEOF (wchar_t));
>  
>      const char *suffix = "U";
>      if ((wchar_t)~0 < (wchar_t)0)
>          suffix = "";
>      
> -    MKLIMITS (wchar_t, "WCHAR", suffix, "wchar_t");
> +    MKLIMITS (wchar_t, "WCHAR_T", suffix, "wchar_t");
>  
>  #endif   // _RWSTD_NO_WCHAR_T
>  
> 
> Modified: incubator/stdcxx/branches/4.2.0/etc/config/sunpro.config
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/etc/config/sunpro.config?rev=569584&r1=569583&r2=569584&view=diff
> ==============================================================================
> --- incubator/stdcxx/branches/4.2.0/etc/config/sunpro.config (original)
> +++ incubator/stdcxx/branches/4.2.0/etc/config/sunpro.config Fri Aug 24 17:29:23 2007
> @@ -10,9 +10,24 @@
>  
>  # extract the "C++ m.n" substring from version string (whcih changes
>  # from one release of the compiler to another)
> -CCVER          := $(shell $(CXX) -V 2>&1 | head -n1 | sed 's/.*C\+\+ *\([^ ]*\).*/\1/')
> +CCVER          := $(shell   $(CXX) -V 2>&1 | head -n1 \
> +                          | sed 's/.*C\+\+ *\([^ ]*\).*/\1/')
> +CCMAJOR        := $(shell echo $(CCVER) | cut -f1 -d'.')
> +CCMINOR        := $(shell echo $(CCVER) | cut -f2 -d'.')
> +
> +ifeq ($(shell expr $(CCMAJOR) = 5 \& $(CCMINOR) = 9),1)	
> +  # in Sun C++ 5.9 -xM can only be used with C and C++ files
> +  # and it produces the wrong results with .{S,s} files
> +  DEPENDFLAGS.cpp = -xM
> +
> +  # deliberately undefined:
> +  # DEPENDFLAGS.S =
> +  # DEPENDFLAGS   =
> +else
> +  DEPENDFLAGS     = -xM
> +endif
> +
>  WARNFLAGS       = +w
> -DEPENDFLAGS     = -xM
>  PICFLAGS        = -KPIC
>  LDSOFLAGS       = 
>  CXXFLAGS        = -library=%none
> @@ -77,21 +92,38 @@
>  SINGL_CPPFLAGS =
>  SINGL_LDFLAGS  =
>  
> -# (try to) determine the architecture via the (non-standard) -p option
> -# recognized on (at least) Linux and Solaris
> -arch=$(shell uname -p 2>/dev/null)
> -
> -ifeq ($(arch),sparc)
> -    # wide (64-bit) flags -- must be set explicitly
> -    # narrow (32-bit) flags are implicit on SPARC
> -    wide_flags     = -xarch=v9
> -    narrow_flags   = -xarch=v8
> +ifeq ($(shell expr $(CCMAJOR) \>= 5 \& $(CCMINOR) \>= 9),1)
> +
> +    # starting with Sun C++ 5.9, the compiler prefers the generic
> +    # -m32 and -m64 options to the architecture specific -xarch
> +    # options some of which have been deprecated
> +    wide_flags   = -m64
> +    narrow_flags = -m32
>  else
> -    # wide (64-bit) flags -- must be set explicitly
> -    # narrow (32-bit) flags are implicit on AMD64
> -    ifeq ($(arch),amd64)
> -        wide_flags     = -xarch=amd64
> -        narrow_flags   =
> +    # (try to) determine the architecture via the (non-standard)
> +    # -p option recognized on (at least) Linux and Solaris
> +    arch := $(shell uname -p 2>/dev/null)
> +
> +    ifeq ($(arch),sparc)
> +        # wide (64-bit) flags -- must be set explicitly
> +        # narrow (32-bit) flags are implicit on SPARC
> +        wide_flags   = -xarch=v9
> +        narrow_flags = -xarch=v8
> +    else
> +        # wide (64-bit) flags -- must be set explicitly
> +        # narrow (32-bit) flags are implicit on AMD64
> +        ifeq ($(OSNAME),SunOS)
> +            # Solaris uname -p prints i386 on AMD64, use the optisa
> +            # command to deterrmine "the best" architecture
> +            arch := $(shell optisa amd64)
> +        endif
> +        ifeq ($(arch),amd64)
> +            wide_flags   = -xarch=amd64
> +            narrow_flags = -xarch=386 # the default (same as generic)
> +        else
> +            wide_flags   = -xarch=generic64
> +            narrow_flags = -xarch=generic # the default (same as 386)
> +        endif
>      endif
>  endif
>  
> 
> 


Mime
View raw message