stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Black <abl...@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 Mon, 27 Aug 2007 19:51:38 GMT
*shrugs*

I normally don't work with any part of subversion other than trunk, so
I'm not as familiar with the procedures for working on the branches.  I
suppose I should have sent the proposed patch to the list while I was
running the couple sanity builds, but I was more concerned with trying
to get things recovered from the bad merge, along with other internal work.

The nightly testing sources need to be updated for the 4.2.0 release
branch, but provided we get decent results out of it I'm thinking we'll
probably end up tagging it as -rc2.

--Andrew Black

Martin Sebor wrote:
> 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