From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31993 invoked by alias); 1 Sep 2012 03:07:38 -0000 Received: (qmail 31976 invoked by uid 22791); 1 Sep 2012 03:07:37 -0000 X-SWARE-Spam-Status: No, hits=-3.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 01 Sep 2012 03:07:24 +0000 From: "htl10 at users dot sourceforge.net" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/54447] New: gmp in source does not work on alphaev68-dec-osf5.1a Date: Sat, 01 Sep 2012 03:07:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: htl10 at users dot sourceforge.net X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-09/txt/msg00008.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54447 Bug #: 54447 Summary: gmp in source does not work on alphaev68-dec-osf5.1a Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned@gcc.gnu.org ReportedBy: htl10@users.sourceforge.net In the course of looking at bug 44959, I tried building gcc 4.6.1 with an in-source sub-directory of gmp/mpfr/mpc, and encountered strange errors: In file included from fib_table.c:4:0: /home/htl10/tmp-build/gcc-4.6.1-build/../gcc-4.6.1/gmp/gmp-impl.h:187:1: error: unknown type name 'uint_least32_t' make[5]: *** [fib_table.lo] Error 1 make[5]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build/gmp/mpn' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build/gmp' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build/gmp' make[2]: *** [all-stage2-gmp] Error 2 make[2]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build' make: *** [all] Error 2 /home/htl10/tmp-build/gcc-4.6.1-build/../gcc-4.6.1/gmp/printf/doprnt.c: In function '__gmp_doprnt': /home/htl10/tmp-build/gcc-4.6.1-build/../gcc-4.6.1/gmp/printf/doprnt.c:273:8: error: unknown type name 'intmax_t' /home/htl10/tmp-build/gcc-4.6.1-build/../gcc-4.6.1/gmp/printf/doprnt.c:273:8: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in build_c_cast, at c-typeck.c:4541 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. make[5]: *** [doprnt.lo] Error 1 make[5]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build/gmp/printf' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build/gmp' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build/gmp' make[2]: *** [all-stage2-gmp] Error 2 make[2]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/home/htl10/tmp-build/gcc-4.6.1-build' make: *** [all] Error 2 I tried working around the above errors as follows: --- gmp-impl.h~ 2012-08-30 05:51:36.000000000 +0100 +++ gmp-impl.h 2012-08-30 06:07:00.000000000 +0100 @@ -184,6 +184,8 @@ /* gmp_uint_least32_t is an unsigned integer type with at least 32 bits. */ +#undef HAVE_UINT_LEAST32_T +#undef HAVE_INTMAX_T #if HAVE_UINT_LEAST32_T typedef uint_least32_t gmp_uint_least32_t; #else --- vasprintf.c~ 2010-06-10 12:00:14.000000000 +0100 +++ vasprintf.c 2012-08-30 06:15:36.000000000 +0100 @@ -52,6 +52,10 @@ #include /* for ptrdiff_t */ #endif +#ifndef SIZE_MAX +#define SIZE_MAX (18446744073709551615UL) +#endif + #if HAVE_INTTYPES_H # include /* for intmax_t */ #else ------------------------ the result still does not compare (bug likely due to other problems detailed in 44959). Anyhow, I suspect that the reasons for the above errors is that stage 1 uses system headers which do not have those C99(?) defines, but stage2 have gcc's own patched headers, which have those defines, and therefore have those config's during configure, but when it comes to actually compiling, still uses the system headers, and therefore fails. These are my guesses.