Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jul 2013 13:00:47 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r323380 - in head/lang/gcc-aux: . files
Message-ID:  <201307211300.r6LD0lju020735@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Sun Jul 21 13:00:46 2013
New Revision: 323380
URL: http://svnweb.freebsd.org/changeset/ports/323380

Log:
  lang/gcc-aux: bug fixes
  
  This change covers:
    1) portlint cleanup
    2) Support for bootstrapping on DragonFly 3.5+
    3) Removal of uneeded shared library version specifications
    4) USES+= gmake
    5) Splits out version to separate makefile for Ada framework
    6) Fixes typo that caused DragonFly to use mktemp
    7) Adds aggregate array index fix from gcc 4.8
    8) NetBSD lstdc++ fixes were pulled in from diff reneration
    9) c++ testsuite diff was corrected (how it was committed wrong is unknown)
  
  Approved by:	bapt (mentor)

Added:
  head/lang/gcc-aux/Makefile.version   (contents, props changed)
Modified:
  head/lang/gcc-aux/Makefile
  head/lang/gcc-aux/Makefile.common
  head/lang/gcc-aux/files/diff-ada
  head/lang/gcc-aux/files/diff-cxx
  head/lang/gcc-aux/files/diff-cxx-testsuite

Modified: head/lang/gcc-aux/Makefile
==============================================================================
--- head/lang/gcc-aux/Makefile	Sun Jul 21 12:57:10 2013	(r323379)
+++ head/lang/gcc-aux/Makefile	Sun Jul 21 13:00:46 2013	(r323380)
@@ -1,9 +1,9 @@
-# Created by: John Marino <marino@FreeBSD.org> 
+# Created by: John Marino <marino@FreeBSD.org>
 # $FreeBSD$
 
 PORTNAME=	gcc-aux
 PORTVERSION=	${SNAPSHOT}
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	lang
 MASTER_SITES=	http://downloads.dragonlace.net/src/:boot \
 		${MASTER_SITE_GCC}
@@ -96,6 +96,9 @@ INTENDED_COMPILER=BOOTSTRAP
 FULL_GNATGCC=${BOOTSTRAP_PREFIX}/bin/gnatgcc
 FULL_PATH=${BOOTSTRAP_PREFIX}/bin:/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin
 DISTFILES+=	${BOOTSTRAP_COMPILER}:boot
+.if ${OPSYS} == DragonFly && ${DFLYVERSION} > 300500
+BUILD_DEPENDS+=	${LOCALBASE}/lib/compat/libc.so.7:${PORTSDIR}/misc/compat34x
+.endif
 .endif
 
 # for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1"
@@ -290,7 +293,7 @@ test-c:
 
 do-install:
 	cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install-strip DESTDIR=${DESTINY}
-	cd ${DESTINY}${PREFIX}; ${FIND} * -type d -empty -print | xargs rmdir
+	cd ${DESTINY}${PREFIX}; ${FIND} * -type d -empty -print | ${XARGS} ${RMDIR}
 	${CP} -pR ${DESTINY}${PREFIX}/ ${PREFIX}/
 
 post-install:

Modified: head/lang/gcc-aux/Makefile.common
==============================================================================
--- head/lang/gcc-aux/Makefile.common	Sun Jul 21 12:57:10 2013	(r323379)
+++ head/lang/gcc-aux/Makefile.common	Sun Jul 21 13:00:46 2013	(r323380)
@@ -1,21 +1,16 @@
 # $FreeBSD$
 
-LIB_DEPENDS=		gmp.10:${PORTSDIR}/math/gmp
-LIB_DEPENDS+=		mpfr.4:${PORTSDIR}/math/mpfr
-LIB_DEPENDS+=		mpc.2:${PORTSDIR}/math/mpc
+.include "Makefile.version"
+
+LIB_DEPENDS=		gmp:${PORTSDIR}/math/gmp
+LIB_DEPENDS+=		mpfr:${PORTSDIR}/math/mpfr
+LIB_DEPENDS+=		mpc:${PORTSDIR}/math/mpc
 
 ONLY_FOR_ARCHS= 	i386 amd64
 
 GNU_CONFIGURE=		yes
-USE_GMAKE=		yes
 USE_BZIP2=		yes
-USES=			iconv
+USES=			iconv gmake
 USE_PERL5_BUILD=	yes
 ALL_TARGET=		default
 MAKE_JOBS_SAFE= 	yes
-
-SNAPSHOT=		20130411
-GCC_BRANCH=		4.7
-GCC_POINT=		3
-GCC_VERSION=		${GCC_BRANCH}.${GCC_POINT}
-

Added: head/lang/gcc-aux/Makefile.version
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gcc-aux/Makefile.version	Sun Jul 21 13:00:46 2013	(r323380)
@@ -0,0 +1,6 @@
+# $FreeBSD$
+
+GCC_BRANCH=		4.7
+GCC_POINT=		3
+GCC_VERSION=		${GCC_BRANCH}.${GCC_POINT}
+SNAPSHOT=		20130411

Modified: head/lang/gcc-aux/files/diff-ada
==============================================================================
--- head/lang/gcc-aux/files/diff-ada	Sun Jul 21 12:57:10 2013	(r323379)
+++ head/lang/gcc-aux/files/diff-ada	Sun Jul 21 13:00:46 2013	(r323380)
@@ -449,7 +449,7 @@
    strcpy (path, "GNAT-XXXXXX");
  
  #if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) \
-+  || defined (DragonFly) \
++  || defined (__DragonFly__) \
    || defined (linux) || defined(__GLIBC__)) && !defined (__vxworks)
    return mkstemp (path);
  #elif defined (__Lynx__)
@@ -7900,6 +7900,102 @@
  
           begin
              Mantissa := Random (Gen) / 2**Extra_Bits;
+--- gcc/ada/sem_aggr.adb.orig
++++ gcc/ada/sem_aggr.adb
+@@ -1726,6 +1726,9 @@
+       Discard : Node_Id;
+       pragma Warnings (Off, Discard);
+ 
++      Delete_Choice : Boolean;
++      --  Used when replacing a subtype choice with predicate by a list
++
+       Aggr_Low  : Node_Id := Empty;
+       Aggr_High : Node_Id := Empty;
+       --  The actual low and high bounds of this sub-aggregate
+@@ -1766,6 +1769,8 @@
+          Assoc := First (Component_Associations (N));
+          while Present (Assoc) loop
+             Choice := First (Choices (Assoc));
++            Delete_Choice := False;
++
+             while Present (Choice) loop
+                if Nkind (Choice) = N_Others_Choice then
+                   Others_Present := True;
+@@ -1792,10 +1797,56 @@
+                      Error_Msg_N
+                        ("(Ada 83) illegal context for OTHERS choice", N);
+                   end if;
++
++               elsif Is_Entity_Name (Choice) then
++                  Analyze (Choice);
++
++                  declare
++                     E      : constant Entity_Id := Entity (Choice);
++                     New_Cs : List_Id;
++                     P      : Node_Id;
++                     C      : Node_Id;
++
++                  begin
++                     if Is_Type (E) and then Has_Predicates (E) then
++                        Freeze_Before (N, E);
++
++                        --  If the subtype has a static predicate, replace the
++                        --  original choice with the list of individual values
++                        --  covered by the predicate.
++
++                        if Present (Static_Predicate (E)) then
++                           Delete_Choice := True;
++
++                           New_Cs := New_List;
++                           P := First (Static_Predicate (E));
++                           while Present (P) loop
++                              C := New_Copy (P);
++                              Set_Sloc (C, Sloc (Choice));
++                              Append_To (New_Cs, C);
++                              Next (P);
++                           end loop;
++
++                           Insert_List_After (Choice, New_Cs);
++                        end if;
++                     end if;
++                  end;
+                end if;
+ 
+                Nb_Choices := Nb_Choices + 1;
+-               Next (Choice);
++
++               declare
++                  C : constant Node_Id := Choice;
++
++               begin
++                  Next (Choice);
++
++                  if Delete_Choice then
++                     Remove (C);
++                     Nb_Choices := Nb_Choices - 1;
++                     Delete_Choice := False;
++                  end if;
++               end;
+             end loop;
+ 
+             Next (Assoc);
+@@ -1998,6 +2049,7 @@
+                   Nb_Discrete_Choices := Nb_Discrete_Choices + 1;
+                   Table (Nb_Discrete_Choices).Choice_Lo := Low;
+                   Table (Nb_Discrete_Choices).Choice_Hi := High;
++                  Table (Nb_Discrete_Choices).Choice_Node := Choice;
+ 
+                   Next (Choice);
+ 
+@@ -2115,7 +2167,7 @@
+                   then
+                      Error_Msg_N
+                        ("duplicate choice values in array aggregate",
+-                        Table (J).Choice_Hi);
++                        Table (J).Choice_Node);
+                      return Failure;
+ 
+                   elsif not Others_Present then
 --- /dev/null
 +++ gcc/ada/signal_android.c
 @@ -0,0 +1,77 @@

Modified: head/lang/gcc-aux/files/diff-cxx
==============================================================================
--- head/lang/gcc-aux/files/diff-cxx	Sun Jul 21 12:57:10 2013	(r323379)
+++ head/lang/gcc-aux/files/diff-cxx	Sun Jul 21 13:00:46 2013	(r323380)
@@ -952,3 +952,136 @@
 +*/
 +
 +#endif
+--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig
++++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
+@@ -30,7 +30,7 @@
+ // Full details can be found from the CVS files at:
+ //   anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
+ // See www.netbsd.org for details of access.
+-  
++
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+@@ -43,21 +43,22 @@
+ 
+     // NB: Offsets into ctype<char>::_M_table force a particular size
+     // on the mask type. Because of this, we don't use an enum.
+-    typedef unsigned char      	mask;
+ 
+-#ifndef _CTYPE_U
+-    static const mask upper    	= _U;
+-    static const mask lower 	= _L;
+-    static const mask alpha 	= _U | _L;
+-    static const mask digit 	= _N;
+-    static const mask xdigit 	= _N | _X;
+-    static const mask space 	= _S;
+-    static const mask print 	= _P | _U | _L | _N | _B;
+-    static const mask graph 	= _P | _U | _L | _N;
+-    static const mask cntrl 	= _C;
+-    static const mask punct 	= _P;
+-    static const mask alnum 	= _U | _L | _N;
+-#else
++#if defined(_CTYPE_BL)
++    typedef unsigned short      mask;
++    static const mask upper     = _CTYPE_U;
++    static const mask lower     = _CTYPE_L;
++    static const mask alpha     = _CTYPE_A;
++    static const mask digit     = _CTYPE_D;
++    static const mask xdigit    = _CTYPE_X;
++    static const mask space     = _CTYPE_S;
++    static const mask print     = _CTYPE_R;
++    static const mask graph     = _CTYPE_G;
++    static const mask cntrl     = _CTYPE_C;
++    static const mask punct     = _CTYPE_P;
++    static const mask alnum     = _CTYPE_A | _CTYPE_D;
++#elif defined(_CTYPE_U)
++    typedef unsigned char      	mask;
+     static const mask upper    	= _CTYPE_U;
+     static const mask lower 	= _CTYPE_L;
+     static const mask alpha 	= _CTYPE_U | _CTYPE_L;
+@@ -69,6 +70,19 @@
+     static const mask cntrl 	= _CTYPE_C;
+     static const mask punct 	= _CTYPE_P;
+     static const mask alnum 	= _CTYPE_U | _CTYPE_L | _CTYPE_N;
++#else
++    typedef unsigned char      	mask;
++    static const mask upper    	= _U;
++    static const mask lower 	= _L;
++    static const mask alpha 	= _U | _L;
++    static const mask digit 	= _N;
++    static const mask xdigit 	= _N | _X;
++    static const mask space 	= _S;
++    static const mask print 	= _P | _U | _L | _N | _B;
++    static const mask graph 	= _P | _U | _L | _N;
++    static const mask cntrl 	= _C;
++    static const mask punct 	= _P;
++    static const mask alnum 	= _U | _L | _N;
+ #endif
+   };
+ 
+--- libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc.orig
++++ libstdc++-v3/config/os/bsd/netbsd/ctype_configure_char.cc
+@@ -38,11 +38,17 @@
+ 
+ // Information as gleaned from /usr/include/ctype.h
+ 
++#ifndef _CTYPE_BL
+   extern "C" const u_int8_t _C_ctype_[];
++#endif
+ 
+   const ctype_base::mask*
+   ctype<char>::classic_table() throw()
++#ifdef _CTYPE_BL
++  { return _C_ctype_tab_ + 1; }
++#else
+   { return _C_ctype_ + 1; }
++#endif
+ 
+   ctype<char>::ctype(__c_locale, const mask* __table, bool __del, 
+ 		     size_t __refs) 
+@@ -69,14 +75,14 @@
+ 
+   char
+   ctype<char>::do_toupper(char __c) const
+-  { return ::toupper((int) __c); }
++  { return ::toupper((int)(unsigned char) __c); }
+ 
+   const char*
+   ctype<char>::do_toupper(char* __low, const char* __high) const
+   {
+     while (__low < __high)
+       {
+-	*__low = ::toupper((int) *__low);
++	*__low = ::toupper((int)(unsigned char) *__low);
+ 	++__low;
+       }
+     return __high;
+@@ -84,14 +90,14 @@
+ 
+   char
+   ctype<char>::do_tolower(char __c) const
+-  { return ::tolower((int) __c); }
++  { return ::tolower((int)(unsigned char) __c); }
+ 
+   const char* 
+   ctype<char>::do_tolower(char* __low, const char* __high) const
+   {
+     while (__low < __high)
+       {
+-	*__low = ::tolower((int) *__low);
++	*__low = ::tolower((int)(unsigned char) *__low);
+ 	++__low;
+       }
+     return __high;
+--- libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h.orig
++++ libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
+@@ -48,7 +48,7 @@
+   is(const char* __low, const char* __high, mask* __vec) const
+   {
+     while (__low < __high)
+-      *__vec++ = _M_table[*__low++];
++      *__vec++ = _M_table[(unsigned char)*__low++];
+     return __high;
+   }
+ 

Modified: head/lang/gcc-aux/files/diff-cxx-testsuite
==============================================================================
--- head/lang/gcc-aux/files/diff-cxx-testsuite	Sun Jul 21 12:57:10 2013	(r323379)
+++ head/lang/gcc-aux/files/diff-cxx-testsuite	Sun Jul 21 13:00:46 2013	(r323380)
@@ -510,7 +510,8 @@
  // { dg-require-cstdint "" }
 --- libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc.orig
 +++ libstdc++-v3/testsuite/30_threads/mutex/cons/1.cc
-@@ -1,5 +1,5 @@-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* powerpc-ibm-aix* } }
+@@ -1,5 +1,5 @@
+-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* powerpc-ibm-aix* } }
 -// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* powerpc-ibm-aix* } }
 +// { dg-do run { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
 +// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-dragonfly* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307211300.r6LD0lju020735>