mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-04 01:48:54 +00:00
bc7ac57a74
GCC4.9 hasn't been released yet, but the Ada portion of it is pretty stable and perfectly passes ACATS and gnat.dg testsuites. The only trick was to change the unwind mechanism on i386 away from KERN_PS_STRINGS because it will not work with 32-bit compatability mode on AMD64. This is because on AMD64, the signal trampoline is located on a random area on a shared page rather than a fixed location before KERN_PS_STRINGS. To support both true i386 and AMD64-32 compatibility mode, unwind now looks for frame pattern in all cases. Apparently stack checking has been broken on AMD64-32 until now. It is important to get the Ada Framework in ports to be based on gcc49 because this compiler supports the full Ada-2012 standard implementation, and in fact some new programs require this already. This port will stay on snapshots until 4.9.0 is released, then it will return to be based on releases. The Ada and C++ options have been removed. These are now always built. In fact, GCC now requires C++ to build, so new bootstraps had to be created. FreeBSD8 has its own bootstrap, and FreeBSD 9+ uses a pure static bootstrap (including GNAT tools) which should last a long time. Additionally a "Bootstrap" option was added, but this overrides all other options to create new bootstraps. It is not intended for general use. Most of the Ada Framework in ports has been pretested and adjusted to work with gcc49 out of the box, but some ports will need to be updated immediately, which will happen right after this one. The update to lang/gnat_util had to be synchronized with lang/gcc-aux because they share version information and the PORTREVISION needed to be reset.
47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
--- gcc/testsuite/gcc.dg/format/ext-1.c.orig
|
|
+++ gcc/testsuite/gcc.dg/format/ext-1.c
|
|
@@ -8,7 +8,7 @@
|
|
#include "format.h"
|
|
|
|
void
|
|
-foo (quad_t q, u_quad_t uq, quad_t *qn, size_t z, size_t *zn, long long int ll,
|
|
+foo (quad2_t q, u_quad2_t uq, quad2_t *qn, size_t z, size_t *zn, long long int ll,
|
|
unsigned long long int ull, int i, unsigned int u, double d,
|
|
char *s, void *p, wchar_t *ls, wint_t lc, int *n, long int l)
|
|
{
|
|
--- gcc/testsuite/gcc.dg/format/ext-2.c.orig
|
|
+++ gcc/testsuite/gcc.dg/format/ext-2.c
|
|
@@ -8,7 +8,7 @@
|
|
#include "format.h"
|
|
|
|
void
|
|
-foo (quad_t *qp, u_quad_t *uqp, quad_t *qn, long long int *llp,
|
|
+foo (quad2_t *qp, u_quad2_t *uqp, quad2_t *qn, long long int *llp,
|
|
unsigned long long int *ullp, float *fp, char *s, void **pp, wchar_t *ls,
|
|
int *ip, unsigned int *up)
|
|
{
|
|
--- gcc/testsuite/gcc.dg/format/format.h.orig
|
|
+++ gcc/testsuite/gcc.dg/format/format.h
|
|
@@ -71,8 +71,8 @@
|
|
#endif
|
|
|
|
/* %q formats want a "quad"; GCC considers this to be a long long. */
|
|
-typedef llong quad_t;
|
|
-typedef ullong u_quad_t;
|
|
+typedef llong quad2_t;
|
|
+typedef ullong u_quad2_t;
|
|
|
|
__extension__ typedef __INTMAX_TYPE__ intmax_t;
|
|
__extension__ typedef __UINTMAX_TYPE__ uintmax_t;
|
|
--- gcc/testsuite/gcc.dg/pch/pch.exp.orig
|
|
+++ gcc/testsuite/gcc.dg/pch/pch.exp
|
|
@@ -44,6 +44,8 @@
|
|
set test "largefile.c"
|
|
set testh "largefile.hs"
|
|
set f [open $test w]
|
|
+puts $f "/* { dg-do run { target *-*-solaris* } } */"
|
|
+puts $f "/* { dg-error \"dummy\" \"fool dejagnu\" { target { ! *-*-solaris* } 20 } } */"
|
|
puts $f "/* { dg-timeout-factor 4.0 } */"
|
|
set v 0
|
|
for { set v 0 } { $v < 10000 } { incr v } {
|