aboutsummaryrefslogtreecommitdiffstats
path: root/lang/icc/files
diff options
context:
space:
mode:
Diffstat (limited to 'lang/icc/files')
-rw-r--r--lang/icc/files/cdefs.h20
-rw-r--r--lang/icc/files/cpio-exclude92
-rw-r--r--lang/icc/files/cpio-exclude_noportdocs14
-rw-r--r--lang/icc/files/cxa_atexit.c206
-rw-r--r--lang/icc/files/cxa_finalize.c38
-rw-r--r--lang/icc/files/exclude78
-rw-r--r--lang/icc/files/exclude_noportdocs11
-rw-r--r--lang/icc/files/ld.c39
-rw-r--r--lang/icc/files/patch-bin::icc (renamed from lang/icc/files/patch-ia32::bin::icc)36
-rw-r--r--lang/icc/files/patch-bin::icpc (renamed from lang/icc/files/patch-ia32::bin::icpc)36
-rw-r--r--lang/icc/files/patch-ia32::include::cstdio38
-rw-r--r--lang/icc/files/patch-ia32::include::cwchar36
-rw-r--r--lang/icc/files/patch-ia32::include::mathimf.h398
-rw-r--r--lang/icc/files/patch-ia32::include::yvals.h309
-rw-r--r--lang/icc/files/patch-include::c++::cstdio61
-rw-r--r--lang/icc/files/patch-include::c++::cstdlib11
-rw-r--r--lang/icc/files/patch-include::c++::cwchar59
-rw-r--r--lang/icc/files/patch-include::c++::yvals.h371
-rw-r--r--lang/icc/files/patch-include::dvec.h (renamed from lang/icc/files/patch-ia32::include::dvec.h)4
-rw-r--r--lang/icc/files/patch-include::fvec.h (renamed from lang/icc/files/patch-ia32::include::fvec.h)8
-rw-r--r--lang/icc/files/patch-include::ivec.h (renamed from lang/icc/files/patch-ia32::include::ivec.h)12
-rw-r--r--lang/icc/files/patch-include::mathimf.h385
-rw-r--r--lang/icc/files/patch-include::xmmintrin.h (renamed from lang/icc/files/patch-ia32::include::xmmintrin.h)4
-rw-r--r--lang/icc/files/stdarg.h4
24 files changed, 1252 insertions, 1018 deletions
diff --git a/lang/icc/files/cdefs.h b/lang/icc/files/cdefs.h
new file mode 100644
index 000000000000..bbf776dc3c72
--- /dev/null
+++ b/lang/icc/files/cdefs.h
@@ -0,0 +1,20 @@
+#ifndef __INTEL_COMPILER_SYS_CDEFS_H_
+#define __INTEL_COMPILER_SYS_CDEFS_H_
+
+#ifndef __GNUC__
+#define __INTEL_COMPILER_NO_GNUC_DEFINED
+#define __GNUC__ 3
+#define __GNUC_MINOR__ 2
+#define __GNUC_PATCHLEVEL__ 0
+#endif
+
+#include_next <sys/cdefs.h>
+
+#ifdef __INTEL_COMPILER_NO_GNUC_DEFINED
+#undef __GNUC__
+#undef __GNUC_MINOR__
+#undef __GNUC_PATCHLEVEL__
+#undef __INTEL_COMPILER_NO_GNUC_DEFINED
+#endif
+
+#endif /* !__INTEL_COMPILER_SYS_CDEFS_H_ */
diff --git a/lang/icc/files/cpio-exclude b/lang/icc/files/cpio-exclude
deleted file mode 100644
index d2857257294f..000000000000
--- a/lang/icc/files/cpio-exclude
+++ /dev/null
@@ -1,92 +0,0 @@
-*/opt/intel/%%COMPILERDIR%%/ia32/bin/uninstall
-*/opt/intel/%%COMPILERDIR%%/ia32/include/algo.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/algorithm
-*/opt/intel/%%COMPILERDIR%%/ia32/include/alloca.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/bitset
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stdbool.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/complex
-*/opt/intel/%%COMPILERDIR%%/ia32/include/deque
-*/opt/intel/%%COMPILERDIR%%/ia32/include/deque.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/float.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/fstream
-*/opt/intel/%%COMPILERDIR%%/ia32/include/fstream.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/functional
-*/opt/intel/%%COMPILERDIR%%/ia32/include/glob.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/hash_map
-*/opt/intel/%%COMPILERDIR%%/ia32/include/hash_set
-*/opt/intel/%%COMPILERDIR%%/ia32/include/iomanip
-*/opt/intel/%%COMPILERDIR%%/ia32/include/iomanip.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/ios
-*/opt/intel/%%COMPILERDIR%%/ia32/include/iosfwd
-*/opt/intel/%%COMPILERDIR%%/ia32/include/iostream
-*/opt/intel/%%COMPILERDIR%%/ia32/include/iostream.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/iso646.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/istream
-*/opt/intel/%%COMPILERDIR%%/ia32/include/iterator
-*/opt/intel/%%COMPILERDIR%%/ia32/include/limits
-*/opt/intel/%%COMPILERDIR%%/ia32/include/limits.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/list
-*/opt/intel/%%COMPILERDIR%%/ia32/include/list.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/locale
-*/opt/intel/%%COMPILERDIR%%/ia32/include/map
-*/opt/intel/%%COMPILERDIR%%/ia32/include/math.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/mathf.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/memory
-*/opt/intel/%%COMPILERDIR%%/ia32/include/numeric
-*/opt/intel/%%COMPILERDIR%%/ia32/include/omp.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/omp_lib.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/ostream
-*/opt/intel/%%COMPILERDIR%%/ia32/include/queue
-*/opt/intel/%%COMPILERDIR%%/ia32/include/queue.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/regex.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/set
-*/opt/intel/%%COMPILERDIR%%/ia32/include/slist
-*/opt/intel/%%COMPILERDIR%%/ia32/include/sstream
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stack
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stdarg.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stddef.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stdexcept
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stdiostream.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stl.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/stream.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/streambuf
-*/opt/intel/%%COMPILERDIR%%/ia32/include/streambuf.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/string
-*/opt/intel/%%COMPILERDIR%%/ia32/include/strstream
-*/opt/intel/%%COMPILERDIR%%/ia32/include/strstream.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/sys/sysmacros.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/syslimits.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/utility
-*/opt/intel/%%COMPILERDIR%%/ia32/include/valarray
-*/opt/intel/%%COMPILERDIR%%/ia32/include/varargs.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/vector
-*/opt/intel/%%COMPILERDIR%%/ia32/include/vector.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xarg.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xcomplex
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xdebug
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xhash
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xiosbase
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xlocale
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xlocinfo
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xlocinfo.h
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xlocmes
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xlocmon
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xlocnum
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xloctime
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xmemory
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xstring
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xthreads
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xtree
-*/opt/intel/%%COMPILERDIR%%/ia32/include/xutility
-*/opt/intel/%%COMPILERDIR%%/ia32/include/ymath.h
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libcprts.a
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libcprts.so
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libcprts.so.3
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libguide.a
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libguide.so
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libguide_stats.a
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libguide_stats.so
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libompstub.a
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libunwind.so
-*/opt/intel/%%COMPILERDIR%%/ia32/lib/libunwind.so.3
-*/opt/intel/%%COMPILERDIR%%/man/man1/ecc.1
diff --git a/lang/icc/files/cpio-exclude_noportdocs b/lang/icc/files/cpio-exclude_noportdocs
deleted file mode 100644
index 83a471e99943..000000000000
--- a/lang/icc/files/cpio-exclude_noportdocs
+++ /dev/null
@@ -1,14 +0,0 @@
-*/opt/intel/%%COMPILERDIR%%/docs/C++ReleaseNotes.htm
-*/opt/intel/%%COMPILERDIR%%/docs/asm_lan.pdf
-*/opt/intel/%%COMPILERDIR%%/docs/asm_ug*
-*/opt/intel/%%COMPILERDIR%%/docs/asm_ug.pdf
-*/opt/intel/%%COMPILERDIR%%/docs/c_ug*
-*/opt/intel/%%COMPILERDIR%%/docs/c_ug_lnx.pdf
-*/opt/intel/%%COMPILERDIR%%/docs/ccompindex.htm
-*/opt/intel/%%COMPILERDIR%%/docs/credist.txt
-*/opt/intel/%%COMPILERDIR%%/docs/flex_ug.pdf
-*/opt/intel/%%COMPILERDIR%%/docs/icid.htm
-*/opt/intel/%%COMPILERDIR%%/docs/icpi.htm
-*/opt/intel/%%COMPILERDIR%%/docs/notes*
-*/opt/intel/%%COMPILERDIR%%/docs/ref*
-*/opt/intel/%%COMPILERDIR%%/training*
diff --git a/lang/icc/files/cxa_atexit.c b/lang/icc/files/cxa_atexit.c
index d9dd1d0a1700..d6f05131bbaf 100644
--- a/lang/icc/files/cxa_atexit.c
+++ b/lang/icc/files/cxa_atexit.c
@@ -1,6 +1,11 @@
-/*
- * Copyright (c) 2002 Marius Strobl
- * All rights reserved.
+/* Based on code marked: */
+
+/*-
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -10,11 +15,18 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
@@ -23,30 +35,180 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * from: FreeBSD: src/lib/libc/stdlib/atexit.c,v 1.7 2003/12/19 17:11:20 kan Exp
+ *
*/
+/*
+ * Copyright (c) 2004 Marius Strobl <marius@alchemy.franken.de>.
+ * All rights reserved.
+ *
+ * The same license as above applies. If clause 3 of the license in the
+ * above mentioned file gets removed this file should follow and this
+ * sentence should get removed.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <stddef.h>
#include <stdlib.h>
+#include <unistd.h>
+#include <osreldate.h>
+
+#if __FreeBSD_version >= 502101
+ #error "Not required on this version of FreeBSD."
+#endif
+
+#define ATEXIT_FN_EMPTY 0
+#define ATEXIT_FN_STD 1
+#define ATEXIT_FN_CXA 2
+
+/* must be at least 32 to guarantee ANSI conformance */
+#define ATEXIT_SIZE 32
+
+extern int __isthreaded;
+
+#if __FreeBSD_version < 500016
+typedef struct {
+ volatile long access_lock;
+ volatile long lock_owner;
+ volatile char *fname;
+ volatile int lineno;
+} spinlock_t;
+
+#define _SPINLOCK_INITIALIZER { 0, 0, 0, 0 }
+
+#define _SPINUNLOCK(_lck) (_lck)->access_lock = 0
+#ifdef _LOCK_DEBUG
+#define _SPINLOCK(_lck) _spinlock_debug(_lck, __FILE__, __LINE__)
+#else
+#define _SPINLOCK(_lck) _spinlock(_lck)
+#endif
+
+static spinlock_t thread_lock = _SPINLOCK_INITIALIZER;
+
+#define _ATEXIT_LOCK() if (__isthreaded) _SPINLOCK(&thread_lock);
+#define _ATEXIT_UNLOCK() if (__isthreaded) _SPINUNLOCK(&thread_lock);
+#else
+#include <pthread.h>
+
+static pthread_mutex_t atexit_mutex = PTHREAD_MUTEX_INITIALIZER;
+
+#define _ATEXIT_LOCK() if (__isthreaded) \
+ _pthread_mutex_lock(&atexit_mutex)
+#define _ATEXIT_UNLOCK() if (__isthreaded) \
+ _pthread_mutex_unlock(&atexit_mutex)
+#endif
+
+struct atexit {
+ struct atexit *next; /* next in list */
+ int ind; /* next index in this table */
+ struct atexit_fn {
+ int fn_type; /* ATEXIT_? from above */
+ union {
+ void (*std_func)(void);
+ void (*cxa_func)(void *);
+ } fn_ptr; /* function pointer */
+ void *fn_arg; /* argument for CXA callback */
+ void *fn_dso; /* shared module handle */
+ } fns[ATEXIT_SIZE]; /* the table itself */
+};
+
+static struct atexit *__atexit; /* points to head of LIFO stack */
/*
- * The __cxa_atexit() function and friends are needed for full (IA64) C++ ABI
- * compatibility but FreeBSD doesn't have implemented them, yet. In addition
- * to the classic atexit() it is not only used to register functions to be
- * called at program exit but also to call them (C++ destructors in that case)
- * when a shared object is unloaded. For the later to work the dynamic linker
- * assigns a unique dynamic shared object handle to every shared object while
- * a handle of NULL represents a main program. When __cxa_finalize() is called
- * with a specific (non-NULL) handle as an argument all functions registered
- * via __cxa_atexit() and having the same handle are called.
- * The best we can do here to emulate that behaviour until FreeBSD supports
- * this is to register the functions via atexit(). While this certainly is a
- * bad hack it seems to work, even the current dynamic linker is assigning
- * the handles. I didn't see a function getting registered with an argument
- * so far.
+ * Register the function described by 'fptr' to be called at application
+ * exit or owning shared object unload time. This is a helper function
+ * for atexit and __cxa_atexit.
+ */
+static int
+atexit_register(struct atexit_fn *fptr)
+{
+ static struct atexit __atexit0; /* one guaranteed table */
+ struct atexit *p;
+
+ _ATEXIT_LOCK();
+ if ((p = __atexit) == NULL)
+ __atexit = p = &__atexit0;
+ else while (p->ind >= ATEXIT_SIZE) {
+ struct atexit *old__atexit;
+ old__atexit = __atexit;
+ _ATEXIT_UNLOCK();
+ if ((p = (struct atexit *)malloc(sizeof(*p))) == NULL)
+ return (-1);
+ _ATEXIT_LOCK();
+ if (old__atexit != __atexit) {
+ /* Lost race, retry operation */
+ _ATEXIT_UNLOCK();
+ free(p);
+ _ATEXIT_LOCK();
+ p = __atexit;
+ continue;
+ }
+ p->ind = 0;
+ p->next = __atexit;
+ __atexit = p;
+ }
+ p->fns[p->ind++] = *fptr;
+ _ATEXIT_UNLOCK();
+ return 0;
+}
+
+/*
+ * Register a function to be performed at exit or when an shared object
+ * with given dso handle is unloaded dynamically.
*/
int
-__cxa_atexit(void (*fn)(), void *arg, void *handle)
+__cxa_atexit(void (*func)(void *), void *arg, void *dso)
+{
+ struct atexit_fn fn;
+ int error;
+
+ fn.fn_type = ATEXIT_FN_CXA;
+ fn.fn_ptr.cxa_func = func;;
+ fn.fn_arg = arg;
+ fn.fn_dso = dso;
+
+ error = atexit_register(&fn);
+ return (error);
+}
+
+/*
+ * Call all handlers registered with __cxa_atexit for the shared
+ * object owning 'dso'. Note: if 'dso' is NULL, then all remaining
+ * handlers are called.
+ */
+void
+__cxa_finalize(void *dso)
{
+ struct atexit *p;
+ struct atexit_fn fn;
+ int n;
- return (handle ? atexit(fn) : 0);
+ _ATEXIT_LOCK();
+ for (p = __atexit; p; p = p->next) {
+ for (n = p->ind; --n >= 0;) {
+ if (p->fns[n].fn_type == ATEXIT_FN_EMPTY)
+ continue; /* already been called */
+ if (dso != NULL && dso != p->fns[n].fn_dso)
+ continue; /* wrong DSO */
+ fn = p->fns[n];
+ /*
+ Mark entry to indicate that this particular handler
+ has already been called.
+ */
+ p->fns[n].fn_type = ATEXIT_FN_EMPTY;
+ _ATEXIT_UNLOCK();
+
+ /* Call the function of correct type. */
+ if (fn.fn_type == ATEXIT_FN_CXA)
+ fn.fn_ptr.cxa_func(fn.fn_arg);
+ else if (fn.fn_type == ATEXIT_FN_STD)
+ fn.fn_ptr.std_func();
+ _ATEXIT_LOCK();
+ }
+ }
+ _ATEXIT_UNLOCK();
}
diff --git a/lang/icc/files/cxa_finalize.c b/lang/icc/files/cxa_finalize.c
deleted file mode 100644
index 5865a2f7138f..000000000000
--- a/lang/icc/files/cxa_finalize.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 2002 Marius Strobl
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-void
-__cxa_finalize(void *handle)
-{
-
- /*
- * As we dared to register the functions via atexit() this job will
- * be done by exit().
- */
- return;
-}
diff --git a/lang/icc/files/exclude b/lang/icc/files/exclude
new file mode 100644
index 000000000000..ad2f1d7a556b
--- /dev/null
+++ b/lang/icc/files/exclude
@@ -0,0 +1,78 @@
+bin/uninstall.sh
+include/c++/algorithm
+include/c++/alt
+include/c++/backward
+include/c++/bitset
+include/c++/complex
+include/c++/deque
+include/c++/ext
+include/c++/fstream
+include/c++/functional
+include/c++/iomanip
+include/c++/ios
+include/c++/iosfwd
+include/c++/iostream
+include/c++/istream
+include/c++/iterator
+include/c++/limits
+include/c++/list
+include/c++/locale
+include/c++/map
+include/c++/memory
+include/c++/numeric
+include/c++/ostream
+include/c++/queue
+include/c++/set
+include/c++/sstream
+include/c++/stack
+include/c++/stdexcept
+include/c++/streambuf
+include/c++/string
+include/c++/utility
+include/c++/valarray
+include/c++/vector
+include/c++/xcomplex
+include/c++/xdebug
+include/c++/xhash
+include/c++/xiosbase
+include/c++/xlocale
+include/c++/xlocinfo
+include/c++/xlocinfo.h
+include/c++/xlocmes
+include/c++/xlocmon
+include/c++/xlocnum
+include/c++/xloctime
+include/c++/xmemory
+include/c++/xstring
+include/c++/xthreads
+include/c++/xtree
+include/c++/xutility
+include/c++/ymath.h
+include/c++/xmtx.h
+include/float.h
+include/iso646.h
+include/limits.h
+include/mathf.h
+include/omp.h
+include/stdarg.h
+include/stdbool.h
+include/stddef.h
+include/syslimits.h
+include/varargs.h
+include/xarg.h
+lib/libcprts.a
+lib/libcprts.so
+lib/libcprts.so.5
+lib/libcxa.so
+lib/libcxa.so.5
+lib/libcxaguard.so
+lib/libcxaguard.so.5
+lib/libguide.a
+lib/libguide.so
+lib/libguide_stats.a
+lib/libguide_stats.so
+lib/libimf.so
+lib/libompstub.a
+lib/libunwind.so
+lib/libunwind.so.5
+man/man1/icpc.1
diff --git a/lang/icc/files/exclude_noportdocs b/lang/icc/files/exclude_noportdocs
new file mode 100644
index 000000000000..a5798667357d
--- /dev/null
+++ b/lang/icc/files/exclude_noportdocs
@@ -0,0 +1,11 @@
+doc/C++ReleaseNotes.htm
+doc/asm_lan.pdf
+doc/asm_ug
+doc/asm_ug.pdf
+doc/c_ug
+doc/c_ug_lnx.pdf
+doc/ccompindex.htm
+doc/flex_ug.pdf
+doc/icpi.htm
+doc/ref
+doc/training
diff --git a/lang/icc/files/ld.c b/lang/icc/files/ld.c
index a55671768e79..66420cebfeae 100644
--- a/lang/icc/files/ld.c
+++ b/lang/icc/files/ld.c
@@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$");
#define LDW_GPROF (1<<2)
#define LDW_PIC (1<<3)
#define LDW_THR (1<<4)
+#define LDW_LGCC (1<<5)
struct arglist {
size_t argc;
@@ -76,7 +77,7 @@ main(int argc, char *argv[], char *envp[])
{
size_t i;
u_int flags;
- const char *libc, *libthr, *prefix;
+ const char *libc, *libthr, *icc_localbase;
struct arglist al = { 0, NULL };
flags = 0;
@@ -84,8 +85,8 @@ main(int argc, char *argv[], char *envp[])
if (argc == 1)
errx(1, "no input files");
- if ((prefix = getenv("PREFIX")) == NULL)
- errx(1, "can't get PREFIX");
+ if ((icc_localbase = getenv("ICC_LOCALBASE")) == NULL)
+ errx(1, "can't get ICC_LOCALBASE");
#ifdef DEBUG
printf("input: ");
@@ -140,6 +141,11 @@ main(int argc, char *argv[], char *envp[])
flags |= LDW_GPROF;
continue;
}
+
+ if (ARGCMP(i, "-lgcc")) {
+ flags |= LDW_LGCC;
+ continue;
+ }
}
/*
@@ -192,8 +198,8 @@ main(int argc, char *argv[], char *envp[])
continue;
}
- /* Don't add obsolete flag "-Qy". */
- if (ARGCMP(i, "-Qy"))
+ /* Don't add obsolete flag "-Qy", don't add libgcc_s. */
+ if (ARGCMP(i, "-Qy") || ARGCMP(i, "-lgcc_s"))
continue;
/*
@@ -202,7 +208,7 @@ main(int argc, char *argv[], char *envp[])
* in both, the static and the dynamic, versions.
*/
if (ARGCMP(i, "-lcprts")) {
- if (flags & LDW_CPP) {
+ if (flags & LDW_CPP && !(flags & LDW_LGCC)) {
addarg(&al,
flags & LDW_DYN ? "-Bdynamic" : "-Bstatic");
addarg(&al, "-lstlport_icc");
@@ -245,9 +251,9 @@ main(int argc, char *argv[], char *envp[])
addarg(&al, "-L/usr/libexec/elf");
addarg(&al, "-L/usr/libexec");
addarg(&al, "-L/usr/lib");
- if (flags & LDW_CPP) {
+ if (flags & LDW_CPP && !(flags & LDW_LGCC)) {
char *p;
- asprintf(&p, "-L%s/lib", prefix);
+ asprintf(&p, "-L%s/lib", icc_localbase);
if (p == NULL)
err(1, NULL);
addarg(&al, p);
@@ -256,24 +262,27 @@ main(int argc, char *argv[], char *envp[])
}
/*
- * Force libcxa and libunwind to static linkage, since the
- * dynamic versions have glibc dependencies.
+ * Force libcxa, libcxaguard and libunwind to static linkage,
+ * since the dynamic versions have glibc dependencies.
* Don't add superfluous -Bdynamic.
*/
if (ARGCMP(i, "-Bdynamic") && i < argc - 1) {
if (ARGCMP(i + 1, "-lcxa") ||
+ ARGCMP(i + 1, "-lcxaguard") ||
ARGCMP(i + 1, "-lunwind")) {
addarg(&al, "-Bstatic");
continue;
}
- if (ARGCMP(i + 1, "-lcprts"))
+ if (ARGCMP(i + 1, "-lcprts") ||
+ ARGCMP(i + 1, "-lgcc_s"))
continue;
}
/* Don't add superfluous -Bstatic. */
if (ARGCMP(i, "-Bstatic") && i < argc - 1 &&
- (ARGCMP(i + 1, "-lcprts") || ARGCMP(i + 1, "-lunwind")))
+ (ARGCMP(i + 1, "-lcprts") || ARGCMP(i + 1, "-lgcc_s") ||
+ ARGCMP(i + 1, "-lunwind")))
continue;
/*
@@ -282,9 +291,9 @@ main(int argc, char *argv[], char *envp[])
*/
if (!strncmp(argv[i], "-l", 2) && al.argc > 0 &&
strncmp(al.argv[al.argc - 1], "-B", 2)) {
- if (ARGCMP(i, "-lcxa") || ARGCMP(i, "-limf") ||
- ARGCMP(i, "-lirc") || ARGCMP(i, "-lircmt") ||
- ARGCMP(i, "-lunwind"))
+ if (ARGCMP(i, "-lcxa") || ARGCMP(i, "-lcxaguard") ||
+ ARGCMP(i, "-limf") || ARGCMP(i, "-lirc") ||
+ ARGCMP(i, "-lircmt") || ARGCMP(i, "-lunwind"))
addarg(&al, "-Bstatic");
else
addarg(&al,
diff --git a/lang/icc/files/patch-ia32::bin::icc b/lang/icc/files/patch-bin::icc
index 69b3e4ff1c13..7988120de0c9 100644
--- a/lang/icc/files/patch-ia32::bin::icc
+++ b/lang/icc/files/patch-bin::icc
@@ -1,41 +1,35 @@
---- ia32/bin/icc.orig Tue Oct 21 18:57:00 2003
-+++ ia32/bin/icc Tue Oct 21 19:12:23 2003
-@@ -1,34 +1,72 @@
+--- bin/icc.orig Tue Dec 9 19:55:19 2003
++++ bin/icc Tue Dec 9 20:03:34 2003
+@@ -1,6 +1,9 @@
#!/bin/sh
-if [ -z INTEL_LICENSE_FILE ]
-+PREFIX=@@PREFIX@@
-+export PREFIX;
++ICC_LOCALBASE=%%ICC_LOCALBASE%%
++export ICC_LOCALBASE;
+
+if [ -z "$INTEL_LICENSE_FILE" ]
then
--INTEL_LICENSE_FILE=<INSTALLDIR>/licenses;
-+INTEL_LICENSE_FILE=${PREFIX}/intel/licenses;
+ INTEL_LICENSE_FILE=<INSTALLDIR>/licenses;
else
--INTEL_LICENSE_FILE=$INTEL_LICENSE_FILE:<INSTALLDIR>/licenses;
-+INTEL_LICENSE_FILE=$INTEL_LICENSE_FILE:${PREFIX}/intel/licenses;
+@@ -8,7 +11,7 @@
fi
export INTEL_LICENSE_FILE;
-if [ -z LD_LIBRARY_PATH ]
+if [ -z "$LD_LIBRARY_PATH" ]
then
-- LD_LIBRARY_PATH=<INSTALLDIR>/compiler70/ia32/lib;
-+ LD_LIBRARY_PATH=${PREFIX}/intel/compiler70/ia32/lib;
+ LD_LIBRARY_PATH=<INSTALLDIR>/lib;
else
-- LD_LIBRARY_PATH=<INSTALLDIR>/compiler70/ia32/lib:$LD_LIBRARY_PATH
-+ LD_LIBRARY_PATH=${PREFIX}/intel/compiler70/ia32/lib:$LD_LIBRARY_PATH
+@@ -16,7 +19,7 @@
fi
export LD_LIBRARY_PATH;
-if [ -z PATH ]
+if [ -z "$PATH" ]
then
-- PATH=<INSTALLDIR>/compiler70/ia32/bin;
-+ PATH=${PREFIX}/intel/compiler70/ia32/bin;
+ PATH=<INSTALLDIR>/bin;
else
-- PATH=<INSTALLDIR>/compiler70/ia32/bin:$PATH;
-+ PATH=${PREFIX}/intel/compiler70/ia32/bin:$PATH;
+@@ -24,11 +27,46 @@
fi
export PATH;
@@ -43,7 +37,7 @@
-
if [ $# != 0 ]
then
-- exec -a "<INSTALLDIR>/compiler70/ia32/bin/icc" <INSTALLDIR>/compiler70/ia32/bin/iccbin "$@";
+- exec -a "<INSTALLDIR>/bin/icc" <INSTALLDIR>/bin/iccbin "$@";
+ i=0
+ argc=$#
+ while [ $i -lt $argc ] ; do
@@ -81,8 +75,8 @@
+ set -- "$@" "$val1"
+ i=$(($i+1))
+ done
-+ exec ${PREFIX}/intel/compiler70/ia32/bin/iccbin "$@";
++ exec <INSTALLDIR>/bin/iccbin "$@";
else
-- exec -a "<INSTALLDIR>/compiler70/ia32/bin/icc" <INSTALLDIR>/compiler70/ia32/bin/iccbin;
-+ exec ${PREFIX}/intel/compiler70/ia32/bin/iccbin;
+- exec -a "<INSTALLDIR>/bin/icc" <INSTALLDIR>/bin/iccbin;
++ exec <INSTALLDIR>/bin/iccbin;
fi
diff --git a/lang/icc/files/patch-ia32::bin::icpc b/lang/icc/files/patch-bin::icpc
index 0557997d9a8b..fa1c7824506d 100644
--- a/lang/icc/files/patch-ia32::bin::icpc
+++ b/lang/icc/files/patch-bin::icpc
@@ -1,41 +1,35 @@
---- ia32/bin/icpc.orig Tue Oct 21 18:57:00 2003
-+++ ia32/bin/icpc Tue Oct 21 19:11:54 2003
-@@ -1,34 +1,65 @@
+--- bin/icpc.orig Tue Dec 9 19:55:12 2003
++++ bin/icpc Tue Dec 9 20:12:01 2003
+@@ -1,6 +1,9 @@
#!/bin/sh
-if [ -z INTEL_LICENSE_FILE ]
-+PREFIX=@@PREFIX@@
-+export PREFIX;
++ICC_LOCALBASE=%%ICC_LOCALBASE%%
++export ICC_LOCALBASE;
+
+if [ -z "$INTEL_LICENSE_FILE" ]
then
--INTEL_LICENSE_FILE=<INSTALLDIR>/licenses;
-+INTEL_LICENSE_FILE=${PREFIX}/intel/licenses;
+ INTEL_LICENSE_FILE=<INSTALLDIR>/licenses;
else
--INTEL_LICENSE_FILE=$INTEL_LICENSE_FILE:<INSTALLDIR>/licenses;
-+INTEL_LICENSE_FILE=$INTEL_LICENSE_FILE:${PREFIX}/intel/licenses;
+@@ -8,7 +11,7 @@
fi
export INTEL_LICENSE_FILE;
-if [ -z LD_LIBRARY_PATH ]
+if [ -z "$LD_LIBRARY_PATH" ]
then
-- LD_LIBRARY_PATH=<INSTALLDIR>/compiler70/ia32/lib;
-+ LD_LIBRARY_PATH=${PREFIX}/intel/compiler70/ia32/lib;
+ LD_LIBRARY_PATH=<INSTALLDIR>/lib;
else
-- LD_LIBRARY_PATH=<INSTALLDIR>/compiler70/ia32/lib:$LD_LIBRARY_PATH
-+ LD_LIBRARY_PATH=${PREFIX}/intel/compiler70/ia32/lib:$LD_LIBRARY_PATH
+@@ -16,7 +19,7 @@
fi
export LD_LIBRARY_PATH;
-if [ -z PATH ]
+if [ -z "$PATH" ]
then
-- PATH=<INSTALLDIR>/compiler70/ia32/bin;
-+ PATH=${PREFIX}/intel/compiler70/ia32/bin;
+ PATH=<INSTALLDIR>/bin;
else
-- PATH=<INSTALLDIR>/compiler70/ia32/bin:$PATH;
-+ PATH=${PREFIX}/intel/compiler70/ia32/bin:$PATH;
+@@ -24,11 +27,39 @@
fi
export PATH;
@@ -43,7 +37,7 @@
-
if [ $# != 0 ]
then
-- exec -a "<INSTALLDIR>/compiler70/ia32/bin/icpc" <INSTALLDIR>/compiler70/ia32/bin/icpcbin "$@";
+- exec -a "<INSTALLDIR>/bin/icpc" <INSTALLDIR>/bin/icpcbin "$@";
+ i=0
+ argc=$#
+ while [ $i -lt $argc ] ; do
@@ -74,8 +68,8 @@
+ set -- "$@" "$val1"
+ i=$(($i+1))
+ done
-+ exec ${PREFIX}/intel/compiler70/ia32/bin/icpcbin "$@";
++ exec <INSTALLDIR>/bin/icpcbin "$@";
else
-- exec -a "<INSTALLDIR>/compiler70/ia32/bin/icpc" <INSTALLDIR>/compiler70/ia32/bin/icpcbin;
-+ exec ${PREFIX}/intel/compiler70/ia32/bin/icpcbin;
+- exec -a "<INSTALLDIR>/bin/icpc" <INSTALLDIR>/bin/icpcbin;
++ exec <INSTALLDIR>/bin/icpcbin;
fi
diff --git a/lang/icc/files/patch-ia32::include::cstdio b/lang/icc/files/patch-ia32::include::cstdio
deleted file mode 100644
index c4d7d4216c8f..000000000000
--- a/lang/icc/files/patch-ia32::include::cstdio
+++ /dev/null
@@ -1,38 +0,0 @@
---- ia32/include/cstdio.orig Tue Nov 26 23:40:27 2002
-+++ ia32/include/cstdio Tue Nov 26 23:40:27 2002
-@@ -11,35 +11,6 @@
- #else /* _STD_USING */
- #include <stdio.h>
-
-- #ifdef __GLIBC__
-- #if _HAS_TRADITIONAL_IOSTREAMS
--_C_LIB_DECL
--int fileno(FILE *) __THROW;
--_END_C_LIB_DECL
-- #else
-- #endif /* _HAS_TRADITIONAL_IOSTREAMS */
-- #define _HAS_POINTER_CLIB 1
-- #define _RBEGIN _IO_read_base
-- #define _RNEXT _IO_read_ptr
-- #define _REND _IO_read_end
-- #define _WBEGIN _IO_write_base
-- #define _WNEXT _IO_write_ptr
-- #define _WEND _IO_write_end
-- #else /* __GLIBC__ */
-- #define _HAS_CONVENTIONAL_CLIB 1
-- #define _IOBASE _base
-- #define _IOPTR _ptr
-- #define _IOCNT _cnt
-- #endif /* __GLIBC__ */
--
-- #undef _FPOSOFF
-- #if !defined(__GLIBC__) \
-- || __GLIBC__ < 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
-- #define _FPOSOFF(fp) ((long)(fp))
-- #else /* __GLIBC__ */
-- #define _FPOSOFF(fp) ((long)(fp).__pos)
-- #endif /* __GLIBC__ */
--
- #ifdef _GLOBAL_USING
- _STD_BEGIN
- using ::size_t; using ::fpos_t; using ::FILE;
diff --git a/lang/icc/files/patch-ia32::include::cwchar b/lang/icc/files/patch-ia32::include::cwchar
deleted file mode 100644
index 4ff2de03508c..000000000000
--- a/lang/icc/files/patch-ia32::include::cwchar
+++ /dev/null
@@ -1,36 +0,0 @@
---- ia32/include/cwchar.orig Mon Nov 25 16:38:57 2002
-+++ ia32/include/cwchar Mon Nov 25 16:40:01 2002
-@@ -13,23 +13,23 @@
-
- #ifdef _GLOBAL_USING
- _STD_BEGIN
--using ::mbstate_t; using ::size_t; using ::tm; using ::wint_t;
-+using ::mbstate_t; using ::size_t; /* using ::tm; */ using ::wint_t;
-
-
--using ::btowc;
--using ::mbrlen; using ::mbrtowc; using ::mbsrtowcs;
--using ::mbsinit;
--using ::wcrtomb;
--using ::wcsrtombs; using ::wcstol; using ::wcscat;
--using ::wcschr; using ::wcscmp; using ::wcscoll;
-+//using ::btowc;
-+//using ::mbrlen; using ::mbrtowc; using ::mbsrtowcs;
-+//using ::mbsinit;
-+//using ::wcrtomb;
-+/* using ::wcsrtombs; using ::wcstol; */ using ::wcscat;
-+using ::wcschr; using ::wcscmp; // using ::wcscoll;
- using ::wcscpy; using ::wcscspn; using ::wcslen;
- using ::wcsncat; using ::wcsncmp; using ::wcsncpy;
- using ::wcspbrk; using ::wcsrchr; using ::wcsspn;
--using ::wcstod; using ::wcstoul; using ::wcsstr;
--using ::wcstok; using ::wcsxfrm; using ::wctob;
-+/* using ::wcstod; using ::wcstoul; */ using ::wcsstr;
-+//using ::wcstok; using ::wcsxfrm; using ::wctob;
- using ::wmemchr; using ::wmemcmp; using ::wmemcpy;
- using ::wmemmove; using ::wmemset;
--using ::wcsftime;
-+//using ::wcsftime;
-
- #ifdef __USE_ISOC99
- using ::fwide; using ::fwprintf;
diff --git a/lang/icc/files/patch-ia32::include::mathimf.h b/lang/icc/files/patch-ia32::include::mathimf.h
deleted file mode 100644
index 4db51f9c95cf..000000000000
--- a/lang/icc/files/patch-ia32::include::mathimf.h
+++ /dev/null
@@ -1,398 +0,0 @@
---- ia32/include/mathimf.h.orig Fri Jan 10 18:15:48 2003
-+++ ia32/include/mathimf.h Fri Jan 10 18:36:16 2003
-@@ -36,7 +36,7 @@
- # error "<mathimf.h> is incompatible with system <math.h>!"
- #endif
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__FreeBSD__)
- # include <math.h> /* utilize GNU math header */
- # if defined(finite)
- # undef finite
-@@ -62,7 +62,7 @@
- #if defined(_DLL) && (defined(_WIN32) || defined(_WIN64)) /* Windows DLL */
- # define _LIBIMF_PUBAPI __declspec(dllimport) __cdecl
- # define _LIBIMF_PUBVAR __declspec(dllimport)
--#elif defined(__linux__) /* Linux */
-+#elif defined(__linux__) || defined(__FreeBSD__) /* Linux || FreeBSD */
- # define _LIBIMF_PUBAPI /* do not change this line! */
- # define _LIBIMF_PUBVAR
- #else /* Windows static */
-@@ -84,7 +84,7 @@
- # define _LIBIMF_FCOMPLEX _LIBIMF_FLOAT _Complex
- #endif
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- /*-- Real functions --*/
-
-@@ -102,13 +102,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI tanf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI tanl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI cot (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cotf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI cotl (_LIBIMF_XDOUBLE __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI acos (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI acosf (_LIBIMF_FLOAT __x);
-@@ -126,13 +126,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI atan2f (_LIBIMF_FLOAT __y, _LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI atan2l (_LIBIMF_XDOUBLE __y, _LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sincos (_LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE *__psin, _LIBIMF_DOUBLE *__pcos);
- _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sincosf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT *__psin, _LIBIMF_FLOAT *__pcos);
- _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sincosl (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE *__psin, _LIBIMF_XDOUBLE *__pcos);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- /* Exponential functions */
-
-@@ -140,7 +140,7 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI expf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI expl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI exp2 (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI exp2f (_LIBIMF_FLOAT __x);
-@@ -150,7 +150,7 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI exp10f (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI exp10l (_LIBIMF_XDOUBLE __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI expm1 (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI expm1f (_LIBIMF_FLOAT __x);
-@@ -172,13 +172,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI scalbnf (_LIBIMF_FLOAT __x, _LIBIMF_INT __n);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI scalbnl (_LIBIMF_XDOUBLE __x, _LIBIMF_INT __n);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI scalbln (_LIBIMF_DOUBLE __x, _LIBIMF_LONGINT __n);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI scalblnf (_LIBIMF_FLOAT __x, _LIBIMF_LONGINT __n);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI scalblnl (_LIBIMF_XDOUBLE __x, _LIBIMF_LONGINT __n);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- /* Hyperbolic functions */
-
-@@ -206,13 +206,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI atanhf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI atanhl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sinhcosh (_LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE *__psinh, _LIBIMF_DOUBLE *__pcosh);
- _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sinhcoshf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT *__psinh, _LIBIMF_FLOAT *__pcosh);
- _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sinhcoshl (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE *__psinh, _LIBIMF_XDOUBLE *__pcosh);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- /* Logarithmic functions */
-
-@@ -220,13 +220,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI logf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI logl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log2 (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI log2f (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI log2l (_LIBIMF_XDOUBLE __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log10 (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI log10f (_LIBIMF_FLOAT __x);
-@@ -254,13 +254,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI sqrtf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI sqrtl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI invsqrt (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI invsqrtf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI invsqrtl (_LIBIMF_XDOUBLE __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI cbrt (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cbrtf (_LIBIMF_FLOAT __x);
-@@ -280,13 +280,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI remainderf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI remainderl (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI remquo (_LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y, _LIBIMF_INT *__quo);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI remquof (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y, _LIBIMF_INT *__quo);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI remquol (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y, _LIBIMF_INT *__quo);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI fmod (_LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI fmodf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y);
-@@ -298,13 +298,13 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI rintf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI rintl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI round (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI roundf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI roundl (_LIBIMF_XDOUBLE __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI ceil (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI ceilf (_LIBIMF_FLOAT __x);
-@@ -314,19 +314,19 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI floorf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI floorl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI trunc (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI truncf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI truncl (_LIBIMF_XDOUBLE __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI modf (_LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE *__iptr);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI modff (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT *__iptr);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI modfl (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE *__iptr);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_LONGINT _LIBIMF_PUBAPI lrint (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_LONGINT _LIBIMF_PUBAPI lrintf (_LIBIMF_FLOAT __x);
-@@ -348,7 +348,7 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nearbyintf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI nearbyintl (_LIBIMF_XDOUBLE __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- /* Special functions */
-
-@@ -385,7 +385,7 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI lgammaf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI lgammal (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI tgamma (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI tgammaf (_LIBIMF_FLOAT __x);
-@@ -394,12 +394,12 @@
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI gamma_r (_LIBIMF_DOUBLE __x, _LIBIMF_INT *__signgam);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI gammaf_r (_LIBIMF_FLOAT __x, _LIBIMF_INT *__signgam);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI lgamma_r (_LIBIMF_DOUBLE __x, _LIBIMF_INT *__signgam);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI lgammaf_r (_LIBIMF_FLOAT __x, _LIBIMF_INT *__signgam);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- /* Special (financial) functions */
-
-@@ -457,7 +457,7 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI fminf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI fminl (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI copysign (_LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI copysignf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y);
-@@ -467,25 +467,25 @@
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nextafterf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI nextafterl (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI nexttoward (_LIBIMF_DOUBLE __x, _LIBIMF_XDOUBLE __y);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nexttowardf (_LIBIMF_FLOAT __x, _LIBIMF_XDOUBLE __y);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI nexttowardl (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI significand (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI significandf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI significandl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI fma (_LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y, _LIBIMF_DOUBLE __z);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI fmaf (_LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y, _LIBIMF_FLOAT __z);
- _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI fmal (_LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y, _LIBIMF_XDOUBLE __z);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI finite (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI finitef (_LIBIMF_FLOAT __x);
-@@ -495,7 +495,7 @@
- _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI isnanf (_LIBIMF_FLOAT __x);
- _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI isnanl (_LIBIMF_XDOUBLE __x);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- /*-- Complex functions --*/
-
-@@ -505,7 +505,7 @@
-
- /* Complex trigonometric functions */
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI ccos (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI ccosf (_LIBIMF_FCOMPLEX __z);
-@@ -528,24 +528,24 @@
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI carg (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cargf (_LIBIMF_FCOMPLEX __z);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cis (_LIBIMF_DOUBLE __x);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cisf (_LIBIMF_FLOAT __x);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- /* Complex exponential functions */
-
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cexp (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexpf (_LIBIMF_FCOMPLEX __z);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cexp10 (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexp10f (_LIBIMF_FCOMPLEX __z);
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI ccosh (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI ccoshf (_LIBIMF_FCOMPLEX __z);
-@@ -570,7 +570,7 @@
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI clog (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI clogf (_LIBIMF_FCOMPLEX __z);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI clog2 (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI clog2f (_LIBIMF_FCOMPLEX __z);
-@@ -580,7 +580,7 @@
-
- /* Complex power/root/abs functions */
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cpow (_LIBIMF_DCOMPLEX __z, _LIBIMF_DCOMPLEX __c);
- _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cpowf (_LIBIMF_FCOMPLEX __z, _LIBIMF_FCOMPLEX __c);
-@@ -591,9 +591,9 @@
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI cabs (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cabsf (_LIBIMF_FCOMPLEX __z);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
-
- /* Other complex functions */
-
-@@ -609,7 +609,7 @@
- _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI creal (_LIBIMF_DCOMPLEX __z);
- _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI crealf (_LIBIMF_FCOMPLEX __z);
-
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
-
- #endif /*__IMFCOMPLEXON*/
-
-@@ -632,7 +632,7 @@
- _LIBIMF_DOUBLE retval;
- } ___exception;
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__FreeBSD__)
- # if defined(__cplusplus)
- # define __exception ____exception /* map 'struct __exception' to 'struct ____exception' */
- # else /*__cplusplus*/
-@@ -661,9 +661,9 @@
- _LIBIMF_XDOUBLE retval;
- } ___exceptionl;
-
--#if !defined(__linux__)
-+#if !defined(__linux__) && !defined(__FreeBSD__)
- _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherr (struct ____exception *__e);
--#endif /*!__linux__*/
-+#endif /*!__linux__ && !__FreeBSD__*/
- _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherrf (struct ____exceptionf *__e);
- _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherrl (struct ____exceptionl *__e);
-
-@@ -694,9 +694,9 @@
-
- /* Standard conformance support */
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__FreeBSD__)
- typedef _LIB_VERSION_TYPE _LIB_VERSIONIMF_TYPE;
--#else /*__linux__*/
-+#else /*__linux__ || __FreeBSD__*/
- typedef enum ___LIB_VERSIONIMF_TYPE {
- _IEEE_ = -1 /* IEEE-like behavior */
- ,_SVID_ /* SysV, Rel. 4 behavior */
-@@ -704,7 +704,7 @@
- ,_POSIX_ /* Posix */
- ,_ISOC_ /* ISO C9X */
- } _LIB_VERSIONIMF_TYPE;
--#endif /*__linux__*/
-+#endif /*__linux__ || __FreeBSD__*/
-
- _LIBIMF_EXT _LIB_VERSIONIMF_TYPE _LIBIMF_PUBVAR _LIB_VERSIONIMF;
-
diff --git a/lang/icc/files/patch-ia32::include::yvals.h b/lang/icc/files/patch-ia32::include::yvals.h
deleted file mode 100644
index 9d898c3e0376..000000000000
--- a/lang/icc/files/patch-ia32::include::yvals.h
+++ /dev/null
@@ -1,309 +0,0 @@
---- ia32/include/yvals.h.orig Sat Sep 6 11:58:50 2003
-+++ ia32/include/yvals.h Sat Sep 6 12:03:22 2003
-@@ -1,93 +1,17 @@
--/* static char cvs_id[] = "$Id: yvals.h,v 1.35.2.3 2003/08/22 00:21:06 dlmoore2 Exp $"; */
-+/* static char cvs_id[] = "$Id: yvals.h,v 1.35.2.1 2002/12/26 08:38:02 grigory Exp $"; */
- /* yvals.h values header for EDG/gcc on various Unix systems */
- #ifndef _YVALS
- #define _YVALS
-
--#define __need___va_list
--#include <stdarg.h>
--
--#include <features.h> /* Get glibc version __GLIBC__ and __GLIBC_MINOR__*/
--#define __GLIBC_2_2 ((__GLIBC__ > 2) || ((__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 2)))
-- /* true if glibc-2.2 and older is used */
--
--#define _CPPLIB_VER 310
--
-- #if defined(ia64) || defined(__ia64) || defined(__ia64__) /* assume Itanium */
-- #define _D0 3 /* 0: big endian, 3: little endian floating-point */
-- #define _DLONG 1 /* 0: 64, 1: 80, 2: 128 long double bits */
-- #define _LBIAS 0x3ffe /* 80/128 long double bits */
-- #define _LOFF 15 /* 80/128 long double bits */
--/* #define _FPP_TYPE 1 */ /* 80287/Pentium FPP */
--
-- #elif defined(i386) || defined(__i386) || defined(__i386__) /* assume PC */
-- #define _D0 3 /* 0: big endian, 3: little endian floating-point */
-- #define _DLONG 1 /* 0: 64, 1: 80, 2: 128 long double bits */
-- #define _LBIAS 0x3ffe /* 80/128 long double bits */
-- #define _LOFF 15 /* 80/128 long double bits */
-- #define _FPP_TYPE 1 /* 80287/Pentium FPP */
--
-- #elif defined(sparc) || defined (__sparc) /* assume SPARC */
-- #define _D0 0 /* 0: big endian, 3: little endian floating-point */
-- #define _DLONG 2 /* 0: 64, 1: 80, 2: 128 long double bits */
-- #define _LBIAS 0x3ffe /* 80/128 long double bits */
-- #define _LOFF 15 /* 80/128 long double bits */
-- #define _FPP_TYPE 2 /* SPARC FPP */
--
-- #elif defined(_POWER) /* assume PowerPC */
-- #define _D0 0 /* 0: big endian, 3: little endian floating-point */
-- #define _DLONG 0 /* 0: 64, 1: 80, 2: 128 long double bits */
-- #define _LBIAS 0x3ffe /* 80/128 long double bits */
-- #define _LOFF 15 /* 80/128 long double bits */
-- #define _FPP_TYPE 3 /* MIPS FPP */
--
-- #define _PDT long
-- #define _SZT unsigned long
--
-- #elif defined(__hppa) /* assume HP PA-RISC */
-- #define _D0 0 /* 0: big endian, 3: little endian floating-point */
-- #define _DLONG 2 /* 0: 64, 1: 80, 2: 128 long double bits */
-- #define _LBIAS 0x3ffe /* 80/128 long double bits */
-- #define _LOFF 15 /* 80/128 long double bits */
-- #define _FPP_TYPE 4 /* HP PA-RISC FPP */
--
-- #else /* system detector */
-- #error /* unknown compilation environment */
-- #endif /* system detector */
--
-- #ifdef __linux
-- #define _LINUX_C_LIB 1 /* assume Linux-specific conventions */
-- #endif /* __linux */
--
- /* NAMING PROPERTIES */
--/* #define _STD_LINKAGE defines C names as extern "C++" */
-- #ifdef __SUNPRO_CC
-- #define _STD_USING /* exports C names from std to global, else reversed */
-- #endif /* __SUNPRO_CC */
--
--#define _USE_EXISTING_SYSTEM_NAMES 1 /* _Open => open etc. */
- #define _POSIX_C_LIB 1 /* use common Unix/Linux conventions */
--#define _SOLARIS_C_LIB 1 /* add declarations for C extensions */
--
-- #if __EDG__
-- #define _HAS_STRICT_LINKAGE 1 /* extern "C" in function type */
-- #else /* __EDG__ */
-- #define _HAS_STRICT_LINKAGE 0 /* extern "C" in function type */
-- #endif /* __EDG__ */
-
- /* THREAD AND LOCALE CONTROL */
- #ifndef _MULTI_THREAD
- #define _MULTI_THREAD 1 /* 0 for no locks, 1 for multithreaded library */
- #endif /* _MULTI_THREAD */
-- #ifndef _IOSTREAM_OP_LOCKS
-- #define _IOSTREAM_OP_LOCKS 1
-- #endif /* _MULTI_THREAD */
--#define _GLOBAL_LOCALE 0 /* 0 for per-thread locales, 1 for shared */
--#define _FILE_OP_LOCKS 0 /* 0 for no file atomic locks, 1 for atomic */
-
- /* THREAD-LOCAL STORAGE */
--#define _COMPILER_TLS 0 /* 1 if compiler supports TLS directly */
--#define _TLS_QUAL /* TLS qualifier, such as __declspec(thread), if any */
--
- #define _HAS_TRADITIONAL_IOSTREAMS 1
- #define _HAS_TRADITIONAL_ITERATORS 1
- #define _HAS_TRADITIONAL_POS_TYPE 1
-@@ -134,211 +58,8 @@
-
- #define _Restrict
-
-- #ifdef __cplusplus
--_STD_BEGIN
--typedef bool _Bool;
--_STD_END
-- #endif /* __cplusplus */
--
-- /* VC++ COMPILER PARAMETERS */
--#define _CRTIMP
--#define _CDECL
--
--#define _LONGLONG long long
--#define _ULONGLONG unsigned long long
--#define _LLONG_MAX 0x7fffffffffffffffLL
--#define _ULLONG_MAX 0xffffffffffffffffULL
--
--_C_STD_BEGIN
-- /* errno PROPERTIES */
--#define _EDOM 33
--#define _ERANGE 34
--#define _EFPOS 152
--#define _EILSEQ 99
--#define _ERRMAX 152
--
-- /* FLOATING-POINT PROPERTIES */
--#define _DBIAS 0x3fe /* IEEE format double and float */
--#define _DOFF 4
--#define _FBIAS 0x7e
--#define _FOFF 7
--#define _FRND 1
--
-- /* INTEGER PROPERTIES */
--#define _BITS_BYTE 8
--#define _C2 1 /* 0 if not 2's complement */
--#define _CSIGN 1 /* 0 if char is not signed */
--#define _MBMAX 8 /* MB_LEN_MAX */
--
--#define _MAX_EXP_DIG 8 /* for parsing numerics */
--#define _MAX_INT_DIG 32
--#define _MAX_SIG_DIG 36
--
-- #ifdef _LONGLONG
--typedef _LONGLONG _Longlong;
--typedef _ULONGLONG _ULonglong;
-- #else /* _LONGLONG */
--typedef long _Longlong;
--typedef unsigned long _ULonglong;
--#ifndef _M_IA64
-- #define _LLONG_MAX 0x7fffffffL
-- #define _ULLONG_MAX 0xffffffffUL
--#else
-- #define _LLONG_MAX 0x7fffffffffffffffLL
-- #define _ULLONG_MAX 0xffffffffffffffffULL
--#endif
-- #endif /* _LONGLONG */
--
-- #ifdef __CYGWIN__
-- #define _WCMAX 0x7fff
-- #ifdef __cplusplus
-- #ifdef _HAS_WCHAR_TYPE
-- #define _WCHART
--typedef wchar_t _Wchart;
--typedef wchar_t _Wintt;
-- #else /* _HAS_WCHAR_TYPE */
--typedef short _Wchart;
--typedef short _Wintt;
-- #endif /* _HAS_WCHAR_TYPE */
-- #else /* __cplusplus */
--typedef short _Wchart;
--typedef short _Wintt;
-- #endif /* __cplusplus */
--
-- #else /* __CYGWIN__ */
-- #define _WCMAX 0x7fffffff
-- #ifdef __cplusplus
-- #ifdef _HAS_WCHAR_TYPE
-- #define _WCHART
--typedef wchar_t _Wchart;
--typedef wchar_t _Wintt;
-- #else /* _HAS_WCHAR_TYPE */
--typedef __WCHAR_TYPE__ _Wchart;
--typedef int _Wintt;
-- #endif /* _HAS_WCHAR_TYPE */
-- #else /* __cplusplus */
--typedef __WCHAR_TYPE__ _Wchart;
--typedef int _Wintt;
-- #endif /* __cplusplus */
-- #endif /* __CYGWIN__ */
--
--#define _WCMIN 0
--#define _ILONG 1 /* 0 if 16-bit int */
--
-- /* POINTER PROPERTIES */
--
-- #ifdef _PDT
--typedef _PDT _Ptrdifft;
-- #else /* _PDT */
--typedef __PTRDIFF_TYPE__ _Ptrdifft;
-- #endif /* _PDT */
--
-- #ifdef _SZT
--typedef _SZT _Sizet;
-- #else /* _SZT */
--typedef __SIZE_TYPE__ _Sizet;
-- #endif /* _SZT */
--
-- /* signal PROPERTIES */
--#define _SIGABRT 6
--#define _SIGMAX 44
--
-- /* stdarg PROPERTIES */
--typedef va_list _Va_list;
-- #if __EDG__
-- #undef va_copy
-- #endif /* __EDG__ */
--#ifndef va_copy
-- #define va_copy(dest, src) ((dest) = (src))
--#endif /* va_copy */
--
-- /* stdlib PROPERTIES */
--#define _EXFAIL 1 /* EXIT_FAILURE */
--
--_EXTERN_C
--void _Atexit(void (*)(void));
--_END_EXTERN_C
--
--typedef struct _Mbstatet
-- { /* state of a multibyte translation */
-- unsigned long _Wchar;
-- unsigned short _Byte, _State;
-- } _Mbstatet;
--
-- /* stdio PROPERTIES */
--#define _FNAMAX 64
--#define _FOPMAX 16
--#define _TNAMAX 16
--
--#define _Filet FILE
--
--typedef struct _Fpost
-- { /* file position */
-- long _Off; /* can be system dependent */
-- _Mbstatet _Wstate;
-- } _Fpost;
--
--#ifndef _FPOSOFF
-- #ifdef __sun
-- #define _FPOSOFF(fp) ((long)(fp))
-- #else /* __sun */
-- #if __GLIBC_2_2
-- #define _FPOSOFF(fp) ((long)(fp.__pos))
-- #else
-- #define _FPOSOFF(fp) ((long)(fp))
-- #endif
-- #endif /* __sun */
--#endif
--
--#define _FD_VALID(fd) (0 <= (fd)) /* fd is signed integer */
--#define _FD_INVALID (-1)
--
-- /* STORAGE ALIGNMENT PROPERTIES */
--#define _MEMBND 3U /* eight-byte boundaries (2^^3) */
--
-- /* time PROPERTIES */
--#define _TBIAS ((70 * 365LU + 17) * 86400)
--_C_STD_END
--
-- /* MULTITHREAD PROPERTIES */
-- #if _MULTI_THREAD
--_EXTERN_C
--void _Locksyslock(unsigned int);
--void _Unlocksyslock(unsigned int);
--_END_EXTERN_C
--
-- #else /* _MULTI_THREAD */
-- #define _Locksyslock(x) (void)0
-- #define _Unlocksyslock(x) (void)0
-- #endif /* _MULTI_THREAD */
--
-- /* LOCK MACROS */
-- #define _LOCK_LOCALE 0
-- #define _LOCK_MALLOC 1
-- #define _LOCK_STREAM 2
-- #define _LOCK_DEBUG 3
-- #define _MAX_LOCK 4 /* one more than highest lock number */
--
--
--
-- /* MISCELLANEOUS MACROS */
--#define _ATEXIT_T void
--#define _Mbstinit(x) mbstate_t x = {0, 0}
--
--#define _MAX (max)
--#define _MIN (min)
--
- #define _TEMPLATE_STAT
-
-- #ifdef __SUNPRO_CC
-- #define __EDG__ 1 /* close enough for Sun compiler, hereafter */
-- #endif /* __SUNPRO_CC */
--
-- #if __EDG__
-- #define _NO_RETURN
-- #else /* __EDG__ */
-- #define _NO_RETURN __attribute__((__noreturn__))
-- #endif /* __EDG__ */
- #endif /* _YVALS */
-
- /*
diff --git a/lang/icc/files/patch-include::c++::cstdio b/lang/icc/files/patch-include::c++::cstdio
new file mode 100644
index 000000000000..f91fc6c5d855
--- /dev/null
+++ b/lang/icc/files/patch-include::c++::cstdio
@@ -0,0 +1,61 @@
+--- include/c++/cstdio.orig Sat Dec 13 19:27:02 2003
++++ include/c++/cstdio Sat Dec 13 19:28:46 2003
+@@ -13,36 +13,6 @@
+ #include <stdio.h>
+ #endif /* _STD_USING */
+
+- #if defined(__GLIBC__) /* compiler test */
+-
+- #define _HAS_POINTER_CLIB 1
+- #define _RBEGIN _IO_read_base
+- #define _RNEXT _IO_read_ptr
+- #define _REND _IO_read_end
+- #define _WBEGIN _IO_write_base
+- #define _WNEXT _IO_write_ptr
+- #define _WEND _IO_write_end
+- #endif /* defined(__GLIBC__) */
+-
+- #if !defined(__GLIBC__) /* compiler test */
+-
+- #if defined(__MWERKS__)
+- #define _IOBASE buffer
+- #define _IOPTR buffer_ptr
+- #define _IOCNT buffer_len
+-
+- #else /* elif defined(__sun) */
+- #define _IOBASE _base
+- #define _IOPTR _ptr
+- #define _IOCNT _cnt
+- #endif /* defined(__MWERKS__) */
+-
+- #endif /* !defined(__GLIBC__) etc. */
+-
+- #ifndef _HAS_POINTER_CLIB
+- #define _HAS_CONVENTIONAL_CLIB 1
+- #endif /* _HAS_POINTER_CLIB */
+-
+ #ifdef _GLOBAL_USING
+ _STD_BEGIN
+ using _CSTD size_t; using _CSTD fpos_t; using _CSTD FILE;
+@@ -70,21 +40,6 @@
+ _STD_END
+ #endif /* _GLOBAL_USING */
+
+-#ifndef _Filet
+- #define _Filet FILE
+-#endif /* _Filet */
+-
+-#ifndef _FPOSOFF
+-
+- #if defined(__GLIBC__) /* compiler test */ \
+- && !(__GLIBC__ < 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ < 2)
+- #define _FPOSOFF(fp) ((long)(fp).__pos)
+-
+- #else /* !defined(__GLIBC__) etc. */
+- #define _FPOSOFF(fp) ((long)(fp))
+- #endif /* !defined(__GLIBC__) etc. */
+-
+-#endif /* _FPOSOFF */
+ #endif /* _CSTDIO_ */
+
+ /*
diff --git a/lang/icc/files/patch-include::c++::cstdlib b/lang/icc/files/patch-include::c++::cstdlib
new file mode 100644
index 000000000000..f8157fbcc2cf
--- /dev/null
+++ b/lang/icc/files/patch-include::c++::cstdlib
@@ -0,0 +1,11 @@
+--- include/c++/cstdlib.orig Sat Dec 13 19:29:45 2003
++++ include/c++/cstdlib Sat Dec 13 19:32:21 2003
+@@ -12,7 +12,7 @@
+ #else /* _STD_USING */
+ #include <stdlib.h>
+
+- #if defined(__GLIBC__)
++ #if defined(__GLIBC__) || defined(__FreeBSD__)
+ _STD_BEGIN
+ /* long OVERLOADS */
+ inline long (abs)(long _Left)
diff --git a/lang/icc/files/patch-include::c++::cwchar b/lang/icc/files/patch-include::c++::cwchar
new file mode 100644
index 000000000000..72e635504192
--- /dev/null
+++ b/lang/icc/files/patch-include::c++::cwchar
@@ -0,0 +1,59 @@
+--- include/c++/cwchar.orig Sat Dec 13 19:41:14 2003
++++ include/c++/cwchar Sat Dec 13 19:42:25 2003
+@@ -9,25 +9,12 @@
+ #include <wchar.h>
+ #define _STD_USING
+
+-typedef mbstate_t _Mbstatet;
+-
+ #else /* _STD_USING */
+ #include <wchar.h>
+
+-#ifndef WCHAR_MAX
+- #define WCHAR_MAX 0x7fff
+-#endif /* WCHAR_MAX */
+-
+-#ifndef WCHAR_MIN
+- #define WCHAR_MIN 0
+-#endif /* WCHAR_MIN */
+-
+-
+-typedef mbstate_t _Mbstatet;
+-
+ #ifdef _GLOBAL_USING
+ _STD_BEGIN
+-using _CSTD mbstate_t; using _CSTD size_t; using _CSTD tm; using _CSTD wint_t;
++using _CSTD mbstate_t; using _CSTD size_t; /* using _CSTD tm; */ using _CSTD wint_t;
+
+ #if __GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2
+ using _CSTD fgetwc; using _CSTD fgetws; using _CSTD fputwc;
+@@ -35,20 +22,20 @@
+ using _CSTD putwc; using _CSTD putwchar; using _CSTD ungetwc;
+ #endif
+
+-using _CSTD btowc;
+-using _CSTD mbrlen; using _CSTD mbrtowc; using _CSTD mbsrtowcs;
+-using _CSTD mbsinit;
+-using _CSTD wcrtomb;
+-using _CSTD wcsrtombs; using _CSTD wcstol; using _CSTD wcscat;
+-using _CSTD wcschr; using _CSTD wcscmp; using _CSTD wcscoll;
++// using _CSTD btowc;
++// using _CSTD mbrlen; using _CSTD mbrtowc; using _CSTD mbsrtowcs;
++// using _CSTD mbsinit;
++// using _CSTD wcrtomb;
++/* using _CSTD wcsrtombs; using _CSTD wcstol; */ using _CSTD wcscat;
++using _CSTD wcschr; using _CSTD wcscmp; // using _CSTD wcscoll;
+ using _CSTD wcscpy; using _CSTD wcscspn; using _CSTD wcslen;
+ using _CSTD wcsncat; using _CSTD wcsncmp; using _CSTD wcsncpy;
+ using _CSTD wcspbrk; using _CSTD wcsrchr; using _CSTD wcsspn;
+-using _CSTD wcstod; using _CSTD wcstoul; using _CSTD wcsstr;
+-using _CSTD wcstok; using _CSTD wcsxfrm; using _CSTD wctob;
++/* using _CSTD wcstod; using _CSTD wcstoul; */ using _CSTD wcsstr;
++// using _CSTD wcstok; using _CSTD wcsxfrm; using _CSTD wctob;
+ using _CSTD wmemchr; using _CSTD wmemcmp; using _CSTD wmemcpy;
+ using _CSTD wmemmove; using _CSTD wmemset;
+-using _CSTD wcsftime;
++// using _CSTD wcsftime;
+
+ #ifdef __USE_ISOC99
+ using _CSTD fwide; using _CSTD fwprintf;
diff --git a/lang/icc/files/patch-include::c++::yvals.h b/lang/icc/files/patch-include::c++::yvals.h
new file mode 100644
index 000000000000..982140c45109
--- /dev/null
+++ b/lang/icc/files/patch-include::c++::yvals.h
@@ -0,0 +1,371 @@
+--- include/c++/yvals.h.orig Wed Dec 10 23:36:19 2003
++++ include/c++/yvals.h Sun Dec 14 01:05:39 2003
+@@ -7,24 +7,10 @@
+
+ _ABRCPP -- to turn ON Abridged C++ dialect (implies _ECPP)
+ _ECPP -- to turn ON Embedded C++ dialect
+-_NO_MT -- to turn OFF thread synchronization
+-_STL_DB (or _STLP_DEBUG) -- to turn ON iterator/range debugging
+
+ You can change (in this header):
+
+-_COMPILER_TLS -- from 0 to 1 if _TLS_QUAL is not nil
+-_EXFAIL -- from 1 to any nonzero value for EXIT_FAILURE
+-_FILE_OP_LOCKS -- from 0 to 1 for file atomic locks
+-_GLOBAL_LOCALE -- from 0 to 1 for shared locales instead of per-thread
+-_HAS_IMMUTABLE_SETS -- from 1 to 0 to permit alterable set elements
+-_HAS_STRICT_CONFORMANCE -- from 0 to 1 to disable nonconforming extensions
+-_HAS_TRADITIONAL_IOSTREAMS -- from 1 to 0 to omit old iostreams functions
+-_HAS_TRADITIONAL_ITERATORS -- from 1 to 0 to change vector/string iterators from
+- just pointers to something more complicated
+-_HAS_TRADITIONAL_POS_TYPE -- from 0 to 1 for streampos same as streamoff
+ _HAS_TRADITIONAL_STL -- from 1 to 0 to omit old STL functions
+-_IOSTREAM_OP_LOCKS -- from 0 to 1 for iostream atomic locks
+-_TLS_QUAL -- from nil to compiler TLS qualifier, such as __declspec(thread)
+
+ Include directories needed to compile with Dinkum C:
+
+@@ -47,78 +33,10 @@
+ (--export --template_dir=lib/export)
+ */
+
+-#define __need___va_list
+-#include <stdarg.h>
+-
+-#include <features.h> /* Get glibc version __GLIBC__ and __GLIBC_MINOR__*/
+-#define __GLIBC_2_2 ((__GLIBC__ > 2) || ((__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 2)))
+- /* true if glibc-2.2 and older is used */
+-
+-#define _CPPLIB_VER 402
+-
+- /* DETERMINE MACHINE TYPE */
+-
+- #if defined(i386) || defined(__i386) \
+- || defined(__i386__) || defined(_M_IX86) /* Pentium */
+- #define _D0 3 /* 0: big endian, 3: little endian floating-point */
+- #define _DLONG 1 /* 0: 64, 1: 80, 2: 128 long double bits */
+- #define _LBIAS 0x3ffe /* 80/128 long double bits */
+- #define _LOFF 15 /* 80/128 long double bits */
+- #define _FPP_TYPE _FPP_X86 /* Pentium FPP */
+-
+- #elif defined(ia64) || defined(__ia64) || defined(__ia64__) /* Itanium(R) */
+- #define _D0 3 /* 0: big endian, 3: little endian floating-point */
+- #define _DLONG 1 /* 0: 64, 1: 80, 2: 128 long double bits */
+- #define _LBIAS 0x3ffe /* 80/128 long double bits */
+- #define _LOFF 15 /* 80/128 long double bits */
+- #define _FPP_TYPE _FPP_IA64 /* HP PA-RISC FPP */
+-
+- #else /* system detector */
+-/* #error unknown compilation environment, guess big-endian */
+- #define _D0 0 /* 0: big endian, 3: little endian floating-point */
+- #define _DLONG 0 /* 0: 64, 1: 80, 2: 128 long double bits */
+- #define _LBIAS 0x3fe /* 64 long double bits */
+- #define _LOFF 4 /* 64 long double bits */
+- #endif /* system detector */
+-
+- /* DETERMINE _Ptrdifft AND _Sizet FROM MACHINE TYPE */
+-
+- #if defined(_MACH_I32)
+-typedef _MACH_I32 _Int32t;
+-typedef unsigned _MACH_I32 _Uint32t;
+-
+- #else /* defined(_MACH_I32) */
+-typedef long _Int32t;
+-typedef unsigned long _Uint32t;
+- #endif /* defined(_MACH_I32) */
+-
+- #if defined(_MACH_PDT)
+-typedef _MACH_PDT _Ptrdifft;
+-
+- #else /* defined(_MACH_PDT) */
+-typedef __PTRDIFF_TYPE__ _Ptrdifft;
+- #endif /* defined(_MACH_PDT) */
+-
+- #if defined(_MACH_SZT)
+-typedef _MACH_SZT _Sizet;
+-
+- #else /* defined(_MACH_SZT) */
+-typedef __SIZE_TYPE__ _Sizet;
+- #endif /* defined(_MACH_SZT) */
+-
+- #if defined(__linux)
+- #define _LINUX_C_LIB 1 /* Linux-specific conventions */
+- #endif /* defined(__linux) */
+-
+- #define _POSIX_C_LIB 1 /* use common Unix/Linux conventions */
+-
+ #if !defined(_HAS_C9X) && defined(_C99)
+ #define _HAS_C9X 1
+ #endif /* !defined(_HAS_C9X) etc. */
+
+- #define _HAS_C9X_IMAGINARY_TYPE (_HAS_C9X && __EDG__ \
+- && !defined(__cplusplus))
+-
+ #if !defined(_ECPP) && defined(_ABRCPP)
+ #define _ECPP
+ #endif /* !defined(_ECPP) && defined(_ABRCPP) */
+@@ -139,56 +57,8 @@
+ #define _HAS_NAMESPACE 1 /* 1 for C++ names in std */
+ #endif /* _HAS_NAMESPACE */
+
+- #if !defined(_HAS_STRICT_LINKAGE) \
+- && __EDG__
+- #define _HAS_STRICT_LINKAGE 1 /* extern "C" in function type */
+- #endif /* !defined(_HAS_STRICT_LINKAGE) */
+-
+- /* THREAD AND LOCALE CONTROL */
+- #ifndef _MULTI_THREAD
+-
+- #ifdef __CYGWIN__
+- #define _MULTI_THREAD 0 /* Cygwin has dummy thread library */
+-
+- #else /* __CYGWIN__ */
+- #ifndef _NO_MT
+- #define _MULTI_THREAD 1 /* 0 for no thread locks */
+-
+- #else
+- #define _MULTI_THREAD 0
+- #endif /* _NO_MT */
+-
+- #endif /* __CYGWIN__ */
+- #endif /* _MULTI_THREAD */
+-
+-#define _GLOBAL_LOCALE 0 /* 0 for per-thread locales, 1 for shared */
+-#define _FILE_OP_LOCKS 0 /* 0 for no FILE locks, 1 for atomic */
+-
+-#ifndef _IOSTREAM_OP_LOCKS
+- #define _IOSTREAM_OP_LOCKS 1 /* 0 for no iostream locks, 1 for atomic */
+-#endif /* _IOSTREAM_OP_LOCKS */
+-
+- /* THREAD-LOCAL STORAGE */
+-#define _COMPILER_TLS 0 /* 1 if compiler supports TLS directly */
+-#define _TLS_QUAL /* TLS qualifier, such as __declspec(thread), if any */
+-
+- #define _HAS_PLACEMENT_DELETE 1
+-
+- #define _HAS_IMMUTABLE_SETS 1
+- #define _HAS_TRADITIONAL_IOSTREAMS 1
+- #define _HAS_TRADITIONAL_ITERATORS 1
+- #define _HAS_TRADITIONAL_POS_TYPE 1
+ #define _HAS_TRADITIONAL_STL 1
+
+- #if !defined(_HAS_STRICT_CONFORMANCE)
+- #define _HAS_STRICT_CONFORMANCE 0 /* enable nonconforming extensions */
+- #endif /* !defined(_HAS_STRICT_CONFORMANCE) */
+-
+- #if !defined(_HAS_ITERATOR_DEBUGGING) \
+- && (defined(_STL_DB) || defined(_STLP_DEBUG))
+- #define _HAS_ITERATOR_DEBUGGING 1 /* for range checks, etc. */
+- #endif /* define _HAS_ITERATOR_DEBUGGING */
+-
+ /* NAMESPACE CONTROL */
+
+ #if defined(__cplusplus)
+@@ -259,207 +129,14 @@
+ #define _END_EXTERN_C
+ #endif /* __cplusplus */
+
+- #if defined(__cplusplus)
+- #define _C99_float_complex float __complex__
+- #define _C99_double_complex double __complex__
+- #define _C99_ldouble_complex long double __complex__
+- #endif /* defined(__cplusplus) */
+-
+- #define _Restrict
+-
+- #ifdef __cplusplus
+-_STD_BEGIN
+-typedef bool _Bool;
+-_STD_END
+- #endif /* __cplusplus */
+-
+ /* VC++ COMPILER PARAMETERS */
+- #define _CRTIMP
+ #define _CDECL
+
+- #define _LONGLONG long long
+- #define _ULONGLONG unsigned long long
+- #define _LLONG_MAX 0x7fffffffffffffffLL
+- #define _ULLONG_MAX 0xffffffffffffffffULL
+-typedef _LONGLONG _Longlong;
+-typedef _ULONGLONG _ULonglong;
+-
+-_C_STD_BEGIN
+- /* FLOATING-POINT PROPERTIES */
+-#define _DBIAS 0x3fe /* IEEE format double and float */
+-#define _DOFF 4
+-#define _FBIAS 0x7e
+-#define _FOFF 7
+-#define _FRND 1
+-
+- /* INTEGER PROPERTIES */
+-#define _BITS_BYTE 8
+-#define _C2 1 /* 0 if not 2's complement */
+-#define _MBMAX 8 /* MB_LEN_MAX */
+-#define _ILONG 1 /* 0 if 16-bit int */
+-
+- #if defined(__CHAR_UNSIGNED__) \
+- || defined(_CHAR_UNSIGNED)
+- #define _CSIGN 0 /* 0 if char is not signed */
+-
+- #else /* defined(__CHAR_UNSIGNED__) etc */
+- #define _CSIGN 1
+- #endif /* defined(__CHAR_UNSIGNED__) etc */
+-
+-#define _MAX_EXP_DIG 8 /* for parsing numerics */
+-#define _MAX_INT_DIG 32
+-#define _MAX_SIG_DIG 36
+-
+- /* wchar_t AND wint_t PROPERTIES */
+-
+- #if defined(_WCHAR_T) || defined(_WCHAR_T_DEFINED) \
+- || defined (_MSL_WCHAR_T_TYPE)
+- #define _WCHART
+- #endif /* defined(_WCHAR_T) || defined(_WCHAR_T_DEFINED) */
+-
+- #if defined(_WINT_T)
+- #define _WINTT
+- #endif /* _WINT_T */
+-
+- #ifdef __cplusplus
+- #define _WCHART
+-typedef wchar_t _Wchart;
+-typedef wchar_t _Wintt;
+- #endif /* __cplusplus */
+-
+- #if defined(_MSL_WCHAR_T_TYPE)
+- #define _WCMIN 0
+- #define _WCMAX 0xffff
+-
+- #ifndef __cplusplus
+-typedef wchar_t _Wchart;
+-typedef wint_t _Wintt;
+- #endif /* __cplusplus */
+-
+- #define mbstate_t _DNK_mbstate_t
+- #define wctype_t _DNK_wctype_t
+- #define wint_t _DNK_wint_t
+- #define _MSC_VER 1
+-
+- #elif defined(__CYGWIN__)
+- #define _WCMIN (-_WCMAX - _C2)
+- #define _WCMAX 0x7fff
+-
+- #ifndef __cplusplus
+-typedef short _Wchart;
+-typedef short _Wintt;
+- #endif /* __cplusplus */
+-
+- #elif defined(__WCHAR_TYPE__)
+- #define _WCMIN (-_WCMAX - _C2)
+- #define _WCMAX 0x7fffffff /* assume signed 32-bit wchar_t */
+-
+- #ifndef __cplusplus
+-typedef __WCHAR_TYPE__ _Wchart;
+-typedef __WCHAR_TYPE__ _Wintt;
+- #endif /* __cplusplus */
+-
+- #else /* default wchar_t/wint_t */
+- #define _WCMIN (-_WCMAX - _C2)
+- #define _WCMAX 0x7fffffff
+-
+- #ifndef __cplusplus
+-typedef long _Wchart;
+-typedef long _Wintt;
+- #endif /* __cplusplus */
+-
+- #endif /* compiler/library type */
+-
+- /* signal PROPERTIES */
+-
+-#define _SIGABRT 6
+-#define _SIGMAX 44
+-
+- /* stdarg PROPERTIES */
+-typedef va_list _Va_list;
+-
+- #if _HAS_C9X
+-
+- #if __EDG__
+- #undef va_copy
+- #endif /* __EDG__ */
+-
+- #ifndef va_copy
+-_EXTERN_C
+-void _Vacopy(va_list *, va_list);
+-_END_EXTERN_C
+- #define va_copy(apd, aps) _Vacopy(&(apd), aps)
+- #endif /* va_copy */
+-
+- #endif /* _IS_C9X */
+-
+- /* stdlib PROPERTIES */
+-#define _EXFAIL 1 /* EXIT_FAILURE */
+-
+-_EXTERN_C
+-void _Atexit(void (*)(void));
+-_END_EXTERN_C
+-
+- /* stdio PROPERTIES */
+-#define _FNAMAX 260
+-#define _FOPMAX 20
+-#define _TNAMAX 16
+-
+- #define _FD_TYPE int
+- #define _FD_NO(str) ((str)->_Handle)
+- #define _FD_VALID(fd) (0 <= (fd)) /* fd is signed integer */
+- #define _FD_INVALID (-1)
+- #define _SYSCH(x) x
+-typedef char _Sysch_t;
+-
+- /* STORAGE ALIGNMENT PROPERTIES */
+-#define _MEMBND 3U /* eight-byte boundaries (2^^3) */
+-
+- /* time PROPERTIES */
+-#define _TBIAS ((70 * 365LU + 17) * 86400)
+-_C_STD_END
+-
+- /* MULTITHREAD PROPERTIES */
+-
+- #if _MULTI_THREAD
+-_EXTERN_C
+-void _Locksyslock(int);
+-void _Unlocksyslock(int);
+-_END_EXTERN_C
+-
+- #else /* _MULTI_THREAD */
+- #define _Locksyslock(x) (void)0
+- #define _Unlocksyslock(x) (void)0
+- #endif /* _MULTI_THREAD */
+-
+- /* LOCK MACROS */
+- #define _LOCK_LOCALE 0
+- #define _LOCK_MALLOC 1
+- #define _LOCK_STREAM 2
+- #define _LOCK_DEBUG 3
+- #define _MAX_LOCK 4 /* one more than highest lock number */
+-
+- #if _IOSTREAM_OP_LOCKS
+- #define _MAYBE_LOCK
+-
+- #else /* _IOSTREAM_OP_LOCKS */
+- #define _MAYBE_LOCK \
+- if (_Locktype == _LOCK_MALLOC || _Locktype == _LOCK_DEBUG)
+- #endif /* _IOSTREAM_OP_LOCKS */
+-
+ /* MISCELLANEOUS MACROS */
+-#define _ATEXIT_T void
+-
+-#define _MAX (max)
+-#define _MIN (min)
+-
+ #define _TEMPLATE_STAT
+
+ #if 0 < __GNUC__
+ #define _NO_RETURN(fun) void fun __attribute__((__noreturn__))
+-
+- #elif 1200 <= _MSC_VER
+- #define _NO_RETURN(fun) __declspec(noreturn) void fun
+
+ #else /* compiler selector */
+ #define _NO_RETURN(fun) void fun
diff --git a/lang/icc/files/patch-ia32::include::dvec.h b/lang/icc/files/patch-include::dvec.h
index e269b138b912..d22ebce0dc17 100644
--- a/lang/icc/files/patch-ia32::include::dvec.h
+++ b/lang/icc/files/patch-include::dvec.h
@@ -1,5 +1,5 @@
---- ia32/include/dvec.h.orig Fri Jan 10 18:12:30 2003
-+++ ia32/include/dvec.h Fri Jan 10 18:53:34 2003
+--- include/dvec.h.orig Fri Jan 10 18:12:30 2003
++++ include/dvec.h Fri Jan 10 18:53:34 2003
@@ -38,7 +38,7 @@
diff --git a/lang/icc/files/patch-ia32::include::fvec.h b/lang/icc/files/patch-include::fvec.h
index fdbb75016ce2..b0a61402485d 100644
--- a/lang/icc/files/patch-ia32::include::fvec.h
+++ b/lang/icc/files/patch-include::fvec.h
@@ -1,5 +1,5 @@
---- ia32/include/fvec.h.orig Fri Jan 10 18:12:35 2003
-+++ ia32/include/fvec.h Fri Jan 10 18:54:01 2003
+--- include/fvec.h.orig Tue Dec 9 20:16:16 2003
++++ include/fvec.h Tue Dec 9 20:18:31 2003
@@ -41,7 +41,7 @@
#pragma pack(push,16) /* Must ensure class & union 16-B aligned */
@@ -13,8 +13,8 @@
#endif
/* Figure out whether and how to define the output operators */
--#if defined(_IOSTREAM_)
-+#if defined(_IOSTREAM_) || defined(_STLP_IOSTREAM)
+-#if defined(_IOSTREAM_) || defined(_CPP_IOSTREAM)
++#if defined(_IOSTREAM_) || defined(_CPP_IOSTREAM) || defined(_STLP_IOSTREAM)
#define FVEC_DEFINE_OUTPUT_OPERATORS
#define FVEC_STD std::
-#elif defined(_INC_IOSTREAM) || defined(_IOSTREAM_H_)
diff --git a/lang/icc/files/patch-ia32::include::ivec.h b/lang/icc/files/patch-include::ivec.h
index 716ae2bc1c7b..5ccbaab6242c 100644
--- a/lang/icc/files/patch-ia32::include::ivec.h
+++ b/lang/icc/files/patch-include::ivec.h
@@ -1,6 +1,6 @@
---- ia32/include/ivec.h.orig Fri Jan 10 18:12:39 2003
-+++ ia32/include/ivec.h Fri Jan 10 18:53:50 2003
-@@ -24,7 +24,7 @@
+--- include/ivec.h.orig Tue Dec 9 20:16:16 2003
++++ include/ivec.h Tue Dec 9 20:36:38 2003
+@@ -23,7 +23,7 @@
#include <assert.h>
/* If using MSVC5.0, explicit keyword should be used */
@@ -9,12 +9,12 @@
#define EXPLICIT explicit
#else
#if (__INTEL_COMPILER)
-@@ -36,10 +36,10 @@
+@@ -35,10 +35,10 @@
#endif
/* Figure out whether and how to define the output operators */
--#if defined(_IOSTREAM_)
-+#if defined(_IOSTREAM_) || defined(_STLP_IOSTREAM)
+-#if defined(_IOSTREAM_) || defined(_CPP_IOSTREAM)
++#if defined(_IOSTREAM_) || defined(_CPP_IOSTREAM) || defined(_STLP_IOSTREAM)
#define IVEC_DEFINE_OUTPUT_OPERATORS
#define IVEC_STD std::
-#elif defined(_INC_IOSTREAM) || defined(_IOSTREAM_H_)
diff --git a/lang/icc/files/patch-include::mathimf.h b/lang/icc/files/patch-include::mathimf.h
new file mode 100644
index 000000000000..9ad90bcd8195
--- /dev/null
+++ b/lang/icc/files/patch-include::mathimf.h
@@ -0,0 +1,385 @@
+--- include/mathimf.h.orig Tue Dec 9 20:32:07 2003
++++ include/mathimf.h Tue Dec 9 20:29:32 2003
+@@ -40,7 +40,7 @@
+ # endif
+ #endif
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__FreeBSD__)
+ # include <math.h> /* utilize GNU math header */
+ # if defined(fpclassify)
+ # undef fpclassify
+@@ -110,7 +110,7 @@
+ #if defined(_DLL) && (defined(_WIN32) || defined(_WIN64)) /* Windows DLL */
+ # define _LIBIMF_PUBAPI __declspec(dllimport) __cdecl
+ # define _LIBIMF_PUBVAR __declspec(dllimport)
+-#elif defined(__linux__) /* Linux */
++#elif defined(__linux__) || defined(__FreeBSD__) /* Linux || FreeBSD */
+ # define _LIBIMF_PUBAPI /* do not change this line! */
+ # define _LIBIMF_PUBVAR
+ #else /* Windows static */
+@@ -259,7 +259,7 @@
+
+ /* Radian argument trigonometric functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI acos( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI acosf( _LIBIMF_FLOAT __x );
+@@ -289,7 +289,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI tanf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI tanl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI cot( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cotf( _LIBIMF_FLOAT __x );
+@@ -343,7 +343,7 @@
+
+ /* Hyperbolic functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI acosh( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI acoshf( _LIBIMF_FLOAT __x );
+@@ -369,7 +369,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI tanhf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI tanhl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sinhcosh( _LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE *__psinh, _LIBIMF_DOUBLE *__pcosh );
+ _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sinhcoshf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT *__psinh, _LIBIMF_FLOAT *__pcosh );
+@@ -377,13 +377,13 @@
+
+ /* Exponential functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI exp( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI expf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI expl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI exp2( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI exp2f( _LIBIMF_FLOAT __x );
+@@ -393,7 +393,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI exp10f( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI exp10l( _LIBIMF_XDOUBLE __x );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI expm1( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI expm1f( _LIBIMF_FLOAT __x );
+@@ -415,7 +415,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI scalbnf( _LIBIMF_FLOAT __x, _LIBIMF_INT __n );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI scalbnl( _LIBIMF_XDOUBLE __x, _LIBIMF_INT __n );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI scalbln( _LIBIMF_DOUBLE __x, _LIBIMF_LONGINT __n );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI scalblnf( _LIBIMF_FLOAT __x, _LIBIMF_LONGINT __n );
+@@ -423,19 +423,19 @@
+
+ /* Logarithmic functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI logf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI logl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log2( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI log2f( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI log2l( _LIBIMF_XDOUBLE __x );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log10( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI log10f( _LIBIMF_FLOAT __x );
+@@ -457,11 +457,11 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI modff( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT *__iptr );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI modfl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE *__iptr );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ /* Power/root/abs functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI cbrt( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cbrtf( _LIBIMF_FLOAT __x );
+@@ -483,7 +483,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI sqrtf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI sqrtl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI invsqrt( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI invsqrtf( _LIBIMF_FLOAT __x );
+@@ -491,7 +491,7 @@
+
+ /* Error and gamma functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI erf( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI erff( _LIBIMF_FLOAT __x );
+@@ -513,7 +513,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI gammaf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI gammal( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI gamma_r( _LIBIMF_DOUBLE __x, _LIBIMF_INT *__signgam );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI gammaf_r( _LIBIMF_FLOAT __x, _LIBIMF_INT *__signgam );
+@@ -525,7 +525,7 @@
+
+ /* Nearest integer functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI ceil( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI ceilf( _LIBIMF_FLOAT __x );
+@@ -535,19 +535,19 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI floorf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI floorl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI nearbyint( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nearbyintf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI nearbyintl( _LIBIMF_XDOUBLE __x );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI rint( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI rintf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI rintl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_LONGINT _LIBIMF_PUBAPI lrint( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_LONGINT _LIBIMF_PUBAPI lrintf( _LIBIMF_FLOAT __x );
+@@ -575,7 +575,7 @@
+
+ /* Remainder functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI fmod( _LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI fmodf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+@@ -585,7 +585,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI remainderf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI remainderl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI remquo( _LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y, _LIBIMF_INT *__quo );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI remquof( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y, _LIBIMF_INT *__quo );
+@@ -593,7 +593,7 @@
+
+ /* Manipulation functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI significand( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI significandf( _LIBIMF_FLOAT __x );
+@@ -607,7 +607,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nextafterf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI nextafterl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI nexttoward( _LIBIMF_DOUBLE __x, _LIBIMF_XDOUBLE __y );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nexttowardf( _LIBIMF_FLOAT __x, _LIBIMF_XDOUBLE __y );
+@@ -643,7 +643,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI compoundf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI compoundl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI j0( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI j0f( _LIBIMF_FLOAT __x );
+@@ -663,7 +663,7 @@
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI yn( _LIBIMF_INT __n, _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI ynf( _LIBIMF_INT __n, _LIBIMF_FLOAT __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ #if (__IMFLONGDOUBLE == 64) /* MS compatibility */
+ # define acosdl acosd
+@@ -753,7 +753,7 @@
+
+ /* Complex trigonometric functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI ccos( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI ccosf( _LIBIMF_FCOMPLEX __z );
+@@ -783,7 +783,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cargf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI cargl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cis( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cisf( _LIBIMF_FLOAT __x );
+@@ -795,13 +795,13 @@
+
+ /* Complex exponential functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cexp( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexpf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI cexpl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cexp2( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexp2f( _LIBIMF_FCOMPLEX __z );
+@@ -811,7 +811,7 @@
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexp10f( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI cexp10l( _LIBIMF_XCOMPLEX __z );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI ccosh( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI ccoshf( _LIBIMF_FCOMPLEX __z );
+@@ -837,17 +837,17 @@
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI catanhf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI catanhl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ /* Complex logarithmic functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI clog( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI clogf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI clogl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI clog2( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI clog2f( _LIBIMF_FCOMPLEX __z );
+@@ -859,7 +859,7 @@
+
+ /* Complex power/root/abs functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cpow( _LIBIMF_DCOMPLEX __z, _LIBIMF_DCOMPLEX __c );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cpowf( _LIBIMF_FCOMPLEX __z, _LIBIMF_FCOMPLEX __c );
+@@ -873,11 +873,11 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cabsf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI cabsl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ /* Other complex functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI conj( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI conjf( _LIBIMF_FCOMPLEX __z );
+@@ -895,7 +895,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI crealf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI creall( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ #if (__IMFLONGDOUBLE == 64) /* MS compatibility */
+ # define cabsl cabs
+@@ -949,7 +949,7 @@
+ _LIBIMF_DOUBLE retval;
+ } ___exception;
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__FreeBSD__)
+ # if defined(__cplusplus)
+ # define __exception ____exception /* map 'struct __exception' to 'struct ____exception' */
+ # else /*__cplusplus*/
+@@ -978,9 +978,9 @@
+ _LIBIMF_XDOUBLE retval;
+ } ___exceptionl;
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+ _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherr( struct ____exception *__e );
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+ _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherrf( struct ____exceptionf *__e );
+ _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherrl( struct ____exceptionl *__e );
+
+@@ -1011,9 +1011,9 @@
+
+ /* Standard conformance support */
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__FreeBSD__)
+ typedef _LIB_VERSION_TYPE _LIB_VERSIONIMF_TYPE;
+-#else /*__linux__*/
++#else /*__linux__ || __FreeBSD__*/
+ typedef enum ___LIB_VERSIONIMF_TYPE {
+ _IEEE_ = -1 /* IEEE-like behavior */
+ ,_SVID_ /* SysV, Rel. 4 behavior */
+@@ -1021,7 +1021,7 @@
+ ,_POSIX_ /* Posix */
+ ,_ISOC_ /* ISO C9X */
+ } _LIB_VERSIONIMF_TYPE;
+-#endif /*__linux__*/
++#endif /*__linux__ || __FreeBSD__*/
+
+ _LIBIMF_EXT _LIB_VERSIONIMF_TYPE _LIBIMF_PUBVAR _LIB_VERSIONIMF;
+
+@@ -1047,4 +1047,4 @@
+ }
+ #endif
+
+-#endif /*__MATHIMF_H_INCLUDED*/
+\ No newline at end of file
++#endif /*__MATHIMF_H_INCLUDED*/
diff --git a/lang/icc/files/patch-ia32::include::xmmintrin.h b/lang/icc/files/patch-include::xmmintrin.h
index 48c6dad06ae9..a461feb5c6e4 100644
--- a/lang/icc/files/patch-ia32::include::xmmintrin.h
+++ b/lang/icc/files/patch-include::xmmintrin.h
@@ -1,5 +1,5 @@
---- ia32/include/xmmintrin.h.orig Fri Jan 10 18:47:00 2003
-+++ ia32/include/xmmintrin.h Fri Jan 10 18:50:35 2003
+--- include/xmmintrin.h.orig Fri Jan 10 18:47:00 2003
++++ include/xmmintrin.h Fri Jan 10 18:50:35 2003
@@ -18,7 +18,7 @@
#ifndef _INCLUDED_MM2
#define _INCLUDED_MM2
diff --git a/lang/icc/files/stdarg.h b/lang/icc/files/stdarg.h
index c1d8b38de58c..e2f40091f821 100644
--- a/lang/icc/files/stdarg.h
+++ b/lang/icc/files/stdarg.h
@@ -1,3 +1,5 @@
+#ifndef __INTEL_COMPILER_STDARG_H_
+#define __INTEL_COMPILER_STDARG_H_
#include_next <stdarg.h>
@@ -7,3 +9,5 @@
#define va_copy(dest, src) ((dest) = (src))
#endif
#endif
+
+#endif /* !__INTEL_COMPILER_STDARG_H_ */