Thread: [pygccxml-commit] SF.net SVN: pygccxml:[1468] gccxml_bin/v09/win32
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2008-12-16 08:51:42
|
Revision: 1468 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1468&view=rev Author: roman_yakovenko Date: 2008-12-16 08:51:37 +0000 (Tue, 16 Dec 2008) Log Message: ----------- update gccxml for windows ( built with msvc 7.1 ) Modified Paths: -------------- gccxml_bin/v09/win32/bin/gccxml.exe gccxml_bin/v09/win32/bin/gccxml_cc1plus.exe gccxml_bin/v09/win32/bin/gccxml_vcconfig.exe gccxml_bin/v09/win32/share/gccxml-0.9/GCC/find_flags gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_config gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_find_flags gccxml_bin/v09/win32/share/man/man1/gccxml.1 Added Paths: ----------- gccxml_bin/v09/win32/share/gccxml-0.9/GCC/3.4/bits/ gccxml_bin/v09/win32/share/gccxml-0.9/GCC/3.4/bits/gthr-default.h gccxml_bin/v09/win32/share/gccxml-0.9/GCC/4.3/ gccxml_bin/v09/win32/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h gccxml_bin/v09/win32/share/gccxml-0.9/Sun/ gccxml_bin/v09/win32/share/gccxml-0.9/Sun/5.8/ gccxml_bin/v09/win32/share/gccxml-0.9/Sun/5.8/adaptation.patch gccxml_bin/v09/win32/share/gccxml-0.9/Sun/README gccxml_bin/v09/win32/share/gccxml-0.9/Sun/adapt_headers.sh gccxml_bin/v09/win32/share/gccxml-0.9/Sun/find_flags gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/ gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/ gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/algorithm gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/comdef.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/comip.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/comutil.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/crtdbg.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/crtdefs.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/deque gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/eh.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/functional gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/iosfwd gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/iostream gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/iso646.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/iterator gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/limits gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/list gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/math.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/memory gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/process.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/setjmp.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/signal.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/typeinfo gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/vector gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/xdebug gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/xhash gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/xlocale gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/xstddef gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/xutility gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/Include/yvals.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/PlatformSDK/ gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/PlatformSDK/OAIdl.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/PlatformSDK/PropIdl.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc8/PlatformSDK/WinNT.h gccxml_bin/v09/win32/share/gccxml-0.9/VcInstall/vc9Include.patch gccxml_bin/v09/win32/share/gccxml-0.9/VcInstall/vc9PlatformSDK.patch Modified: gccxml_bin/v09/win32/bin/gccxml.exe =================================================================== (Binary files differ) Modified: gccxml_bin/v09/win32/bin/gccxml_cc1plus.exe =================================================================== (Binary files differ) Modified: gccxml_bin/v09/win32/bin/gccxml_vcconfig.exe =================================================================== (Binary files differ) Added: gccxml_bin/v09/win32/share/gccxml-0.9/GCC/3.4/bits/gthr-default.h =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/GCC/3.4/bits/gthr-default.h (rev 0) +++ gccxml_bin/v09/win32/share/gccxml-0.9/GCC/3.4/bits/gthr-default.h 2008-12-16 08:51:37 UTC (rev 1468) @@ -0,0 +1,664 @@ +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003 + Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING. If not, write to the Free +Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. */ + +/* As a special exception, if you link this library with other files, + some of which are compiled with GCC, to produce an executable, + this library does not by itself cause the resulting executable + to be covered by the GNU General Public License. + This exception does not however invalidate any other reasons why + the executable file might be covered by the GNU General Public License. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of <pthread.h> require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include <pthread.h> +#include <unistd.h> + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK && defined __GNUC_RH_RELEASE__ \ + && ((__GNUC__ == 3 && __GNUC_MINOR__ == 4 && (__GNUC_PATCHLEVEL__ > 4 || (__GNUC_PATCHLEVEL__ == 4 && __GNUC_RH_RELEASE__ > 2))) \ + || (__GNUC__ == 4 && __GNUC_MINOR__ == 0 && (__GNUC_PATCHLEVEL__ > 2 || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ > 6)))) \ + && ! defined __attribute__ +# define __gthrw(name) \ + extern __typeof(name) __gthrw_ ## name + + +__gthrw(pthread_once); +__gthrw(pthread_key_create); +__gthrw(pthread_key_delete); +__gthrw(pthread_getspecific); +__gthrw(pthread_setspecific); +__gthrw(pthread_create); + +__gthrw(pthread_mutex_lock); +__gthrw(pthread_mutex_trylock); +__gthrw(pthread_mutex_unlock); +__gthrw(pthread_mutexattr_init); +__gthrw(pthread_mutexattr_settype); +__gthrw(pthread_mutexattr_destroy); + +__gthrw(pthread_mutex_init); + +# if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +__gthrw(pthread_cond_broadcast); +__gthrw(pthread_cond_destroy); +__gthrw(pthread_cond_init); +__gthrw(pthread_cond_signal); +__gthrw(pthread_cond_wait); +__gthrw(pthread_exit); +__gthrw(pthread_mutex_destroy); +__gthrw(pthread_self); +/* These really should be protected by _POSIX_PRIORITY_SCHEDULING, but + we use them inside a _POSIX_THREAD_PRIORITY_SCHEDULING block. */ +# ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max); +__gthrw(sched_get_priority_min); +# endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +__gthrw(sched_yield); +__gthrw(pthread_attr_destroy); +__gthrw(pthread_attr_init); +__gthrw(pthread_attr_setdetachstate); +# ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam); +__gthrw(pthread_setschedparam); +# endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +# endif /* _LIBOBJC || _LIBOBJC_WEAK */ +#else +# if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +#pragma weak pthread_once +#pragma weak pthread_key_create +#pragma weak pthread_key_delete +#pragma weak pthread_getspecific +#pragma weak pthread_setspecific +#pragma weak pthread_create + +#pragma weak pthread_mutex_lock +#pragma weak pthread_mutex_trylock +#pragma weak pthread_mutex_unlock +#pragma weak pthread_mutexattr_init +#pragma weak pthread_mutexattr_settype +#pragma weak pthread_mutexattr_destroy + +#pragma weak pthread_mutex_init + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#pragma weak pthread_cond_broadcast +#pragma weak pthread_cond_destroy +#pragma weak pthread_cond_init +#pragma weak pthread_cond_signal +#pragma weak pthread_cond_wait +#pragma weak pthread_exit +#pragma weak pthread_mutex_destroy +#pragma weak pthread_self +/* These really should be protected by _POSIX_PRIORITY_SCHEDULING, but + we use them inside a _POSIX_THREAD_PRIORITY_SCHEDULING block. */ +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#pragma weak sched_get_priority_max +#pragma weak sched_get_priority_min +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#pragma weak sched_yield +#pragma weak pthread_attr_destroy +#pragma weak pthread_attr_init +#pragma weak pthread_attr_setdetachstate +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#pragma weak pthread_getschedparam +#pragma weak pthread_setschedparam +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ +#endif /* __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK */ + +#define __gthrw_pthread_once pthread_once +#define __gthrw_pthread_key_create pthread_key_create +#define __gthrw_pthread_key_delete pthread_key_delete +#define __gthrw_pthread_getspecific pthread_getspecific +#define __gthrw_pthread_setspecific pthread_setspecific +#define __gthrw_pthread_create pthread_create + +#define __gthrw_pthread_mutex_lock pthread_mutex_lock +#define __gthrw_pthread_mutex_trylock pthread_mutex_trylock +#define __gthrw_pthread_mutex_unlock pthread_mutex_unlock +#define __gthrw_pthread_mutexattr_init pthread_mutexattr_init +#define __gthrw_pthread_mutexattr_settype pthread_mutexattr_settype +#define __gthrw_pthread_mutexattr_destroy pthread_mutexattr_destroy + +#define __gthrw_pthread_mutex_init pthread_mutex_init + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#define __gthrw_pthread_cond_broadcast pthread_cond_broadcast +#define __gthrw_pthread_cond_destroy pthread_cond_destroy +#define __gthrw_pthread_cond_init pthread_cond_init +#define __gthrw_pthread_cond_signal pthread_cond_signal +#define __gthrw_pthread_cond_wait pthread_cond_wait +#define __gthrw_pthread_exit pthread_exit +#define __gthrw_pthread_mutex_destroy pthread_mutex_destroy +#define __gthrw_pthread_self pthread_self +/* These really should be protected by _POSIX_PRIORITY_SCHEDULING, but + we use them inside a _POSIX_THREAD_PRIORITY_SCHEDULING block. */ +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#define __gthrw_sched_get_priority_max sched_get_priority_max +#define __gthrw_sched_get_priority_min sched_get_priority_min +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#define __gthrw_sched_yield sched_yield +#define __gthrw_pthread_attr_destroy pthread_attr_destroy +#define __gthrw_pthread_attr_init pthread_attr_init +#define __gthrw_pthread_attr_setdetachstate pthread_attr_setdetachstate +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +#define __gthrw_pthread_getschedparam pthread_getschedparam +#define __gthrw_pthread_setschedparam pthread_setschedparam +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ +#endif + + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr = (void *) &__gthrw_pthread_create; + return __gthread_active_ptr != 0; +} + +#else /* not __GXX_WEAK__ */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include <config.h> + +#ifdef HAVE_SCHED_H +# include <sched.h> +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key */ + if (__gthrw_pthread_key_create (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_pthread_attr_init (&_objc_thread_attribs) == 0 + && __gthrw_pthread_attr_setdetachstate (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_pthread_key_delete (_objc_thread_storage) == 0 + && __gthrw_pthread_attr_destroy (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_pthread_create (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_pthread_self (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_pthread_getschedparam (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_sched_get_priority_max (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_sched_get_priority_min (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_pthread_setschedparam (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_pthread_getschedparam (__gthrw_pthread_self (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_sched_yield (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_pthread_exit (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_pthread_self (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_setspecific (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_getspecific (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_pthread_mutex_init ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_pthread_mutex_destroy to work. + */ + + do + { + count = __gthrw_pthread_mutex_unlock ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_pthread_mutex_destroy ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_pthread_mutex_lock ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_pthread_mutex_trylock ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_pthread_mutex_unlock ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_pthread_cond_init ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_pthread_cond_destroy ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_cond_wait ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_cond_broadcast ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_cond_signal ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_once (__gthread_once_t *once, void (*func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_once (once, func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *key, void (*dtor) (void *)) +{ + return __gthrw_pthread_key_create (key, dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t key) +{ + return __gthrw_pthread_key_delete (key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t key) +{ + return __gthrw_pthread_getspecific (key); +} + +static inline int +__gthread_setspecific (__gthread_key_t key, const void *ptr) +{ + return __gthrw_pthread_setspecific (key, ptr); +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_lock (mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_trylock (mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_unlock (mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t attr; + int r; + + r = __gthrw_pthread_mutexattr_init (&attr); + if (!r) + r = __gthrw_pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE); + if (!r) + r = __gthrw_pthread_mutex_init (mutex, &attr); + if (!r) + r = __gthrw_pthread_mutexattr_destroy (&attr); + return r; + } +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex) +{ + return __gthread_mutex_lock (mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex) +{ + return __gthread_mutex_trylock (mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex) +{ + return __gthread_mutex_unlock (mutex); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ Added: gccxml_bin/v09/win32/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h (rev 0) +++ gccxml_bin/v09/win32/share/gccxml-0.9/GCC/4.3/gccxml_builtins.h 2008-12-16 08:51:37 UTC (rev 1468) @@ -0,0 +1,181 @@ +#define __builtin_apply(x,y,z) ((void*)0) +#define __builtin_nan(x) (0.0) +#define __builtin_nanf(x) (0.0f) +#define __builtin_nanl(x) (0.0l) +#define __builtin_huge_val(x) (0.0) +#define __builtin_huge_valf(x) (0.0f) +#define __builtin_huge_vall(x) (0.0l) +#define __builtin_apply_args(x) ((void*)0) +#define __builtin_types_compatible_p(x,y) 0 +#define __builtin_choose_expr(x,y,z) int +#define __builtin_constant_p(x) 0 +void* __builtin_memchr(void const*, int, unsigned int); +void __builtin_return (void *RESULT); +void * __builtin_return_address (unsigned int LEVEL); +void * __builtin_frame_address (unsigned int LEVEL); +long __builtin_expect (long EXP, long C); +void __builtin_prefetch (const void *ADDR, ...); +double __builtin_inf (void); +float __builtin_inff (void); +long double __builtin_infl (void); +double __builtin_nans (const char *str); +float __builtin_nansf (const char *str); +long double __builtin_nansl (const char *str); +double __builtin_acos(double); +float __builtin_acosf(float); +long double __builtin_acosl(long double); +double __builtin_asin(double); +float __builtin_asinf(float); +long double __builtin_asinl(long double); +double __builtin_atan(double); +double __builtin_atan2(double, double); +float __builtin_atan2f(float, float); +long double __builtin_atan2l(long double, long double); +float __builtin_atanf(float); +long double __builtin_atanl(long double); +double __builtin_ceil(double); +float __builtin_ceilf(float); +long double __builtin_ceill(long double); +double __builtin_cos(double); +float __builtin_cosf(float); +double __builtin_cosh(double); +float __builtin_coshf(float); +long double __builtin_coshl(long double); +long double __builtin_cosl(long double); +double __builtin_exp(double); +float __builtin_expf(float); +long double __builtin_expl(long double); +double __builtin_fabs(double); +float __builtin_fabsf(float); +long double __builtin_fabsl(long double); +double __builtin_floor(double); +float __builtin_floorf(float); +long double __builtin_floorl(long double); +float __builtin_fmodf(float, float); +long double __builtin_fmodl(long double, long double); +double __builtin_frexp(double, int*); +float __builtin_frexpf(float, int*); +long double __builtin_frexpl(long double, int*); +double __builtin_ldexp(double, int); +float __builtin_ldexpf(float, int); +long double __builtin_ldexpl(long double, int); +double __builtin_log(double); +double __builtin_log10(double); +float __builtin_log10f(float); +long double __builtin_log10l(long double); +float __builtin_logf(float); +long double __builtin_logl(long double); +float __builtin_modff(float, float*); +long double __builtin_modfl(long double, long double*); +float __builtin_powf(float, float); +long double __builtin_powl(long double, long double); +double __builtin_powi(double, int); +float __builtin_powif(float, int); +long double __builtin_powil(long double, int); +double __builtin_sin(double); +float __builtin_sinf(float); +double __builtin_sinh(double); +float __builtin_sinhf(float); +long double __builtin_sinhl(long double); +long double __builtin_sinl(long double); +double __builtin_sqrt(double); +float __builtin_sqrtf(float); +long double __builtin_sqrtl(long double); +double __builtin_tan(double); +float __builtin_tanf(float); +double __builtin_tanh(double); +float __builtin_tanhf(float); +long double __builtin_tanhl(long double); +long double __builtin_tanl(long double); +float __builtin_cabsf(float __complex__); +double __builtin_cabs(double __complex__); +long double __builtin_cabsl(long double __complex__); +float __builtin_cargf(float __complex__); +double __builtin_carg(double __complex__); +long double __builtin_cargl(long double __complex__); +int __builtin_ctz(int); +int __builtin_ctzl(long); +int __builtin_ctzll(long long); +int __builtin_popcount(int); +int __builtin_popcountl(long); +int __builtin_popcountll(long long); +float __complex__ __builtin_ccosf(float __complex__); +double __complex__ __builtin_ccos(double __complex__); +long double __complex__ __builtin_ccosl(long double __complex__); +float __complex__ __builtin_ccoshf(float __complex__); +double __complex__ __builtin_ccosh(double __complex__); +long double __complex__ __builtin_ccoshl(long double __complex__); +float __complex__ __builtin_cexpf(float __complex__); +double __complex__ __builtin_cexp(double __complex__); +long double __complex__ __builtin_cexpl(long double __complex__); +float __complex__ __builtin_clogf(float __complex__); +double __complex__ __builtin_clog(double __complex__); +long double __complex__ __builtin_clogl(long double __complex__); +float __complex__ __builtin_csinf(float __complex__); +double __complex__ __builtin_csin(double __complex__); +long double __complex__ __builtin_csinl(long double __complex__); +float __complex__ __builtin_csinhf(float __complex__); +double __complex__ __builtin_csinh(double __complex__); +long double __complex__ __builtin_csinhl(long double __complex__); +float __complex__ __builtin_csqrtf(float __complex__); +double __complex__ __builtin_csqrt(double __complex__); +long double __complex__ __builtin_csqrtl(long double __complex__); +float __complex__ __builtin_ctanf(float __complex__); +double __complex__ __builtin_ctan(double __complex__); +long double __complex__ __builtin_ctanl(long double __complex__); +float __complex__ __builtin_ctanhf(float __complex__); +double __complex__ __builtin_ctanh(double __complex__); +long double __complex__ __builtin_ctanhl(long double __complex__); +float __complex__ __builtin_cpowf(float __complex__, float __complex__); +double __complex__ __builtin_cpow(double __complex__, double __complex__); +long double __complex__ __builtin_cpowl(long double __complex__, long double __complex__); + +/* The GCC 4.3 parser hard-codes handling of these, so they do not + have real signatures. */ +bool __builtin_isfinite(...); +bool __builtin_isinf(...); +bool __builtin_isnan(...); +bool __builtin_isnormal(...); +bool __builtin_isgreater(...); +bool __builtin_isgreaterequal(...); +bool __builtin_isless(...); +bool __builtin_islessequal(...); +bool __builtin_islessgreate... [truncated message content] |
From: <rom...@us...> - 2008-12-22 22:59:21
|
Revision: 1484 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1484&view=rev Author: roman_yakovenko Date: 2008-12-22 22:11:51 +0000 (Mon, 22 Dec 2008) Log Message: ----------- update gccxml Modified Paths: -------------- gccxml_bin/v09/win32/bin/gccxml.exe gccxml_bin/v09/win32/bin/gccxml_cc1plus.exe gccxml_bin/v09/win32/bin/gccxml_vcconfig.exe gccxml_bin/v09/win32/share/gccxml-0.9/Intel/find_flags gccxml_bin/v09/win32/share/gccxml-0.9/MIPSpro/find_flags gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_config gccxml_bin/v09/win32/share/man/man1/gccxml.1 Added Paths: ----------- gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/ gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/ gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/CodeAnalysis/ gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/CodeAnalysis/sourceannotations.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/algorithm gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/crtdbg.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/crtdefs.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/crtdefs.h.orig gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/deque gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/eh.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/iosfwd gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/iterator gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/limits gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/list gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/locale gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/memory gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/sal.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/setjmp.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/typeinfo gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/vector gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/vector.orig gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xhash gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xhash.orig gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xlocale gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xlocmes gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xlocmon gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xlocnum gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xlocnum.orig gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xloctime gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xstddef gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xutility gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/xutility.orig gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/yvals.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/yvals.h.orig gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/PlatformSDK/ gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/PlatformSDK/OAIdl.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/PlatformSDK/ObjBase.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/PlatformSDK/PropIdl.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/PlatformSDK/WinNT.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/PlatformSDK/ktmtypes.h gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/PlatformSDK/specstrings_strict.h Removed Paths: ------------- gccxml_bin/v09/win32/share/gccxml-0.9/GCC/find_flags gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_find_flags Modified: gccxml_bin/v09/win32/bin/gccxml.exe =================================================================== (Binary files differ) Modified: gccxml_bin/v09/win32/bin/gccxml_cc1plus.exe =================================================================== (Binary files differ) Modified: gccxml_bin/v09/win32/bin/gccxml_vcconfig.exe =================================================================== (Binary files differ) Deleted: gccxml_bin/v09/win32/share/gccxml-0.9/GCC/find_flags =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/GCC/find_flags 2008-12-21 22:28:17 UTC (rev 1483) +++ gccxml_bin/v09/win32/share/gccxml-0.9/GCC/find_flags 2008-12-22 22:11:51 UTC (rev 1484) @@ -1,112 +0,0 @@ -#!/bin/sh -#============================================================================= -# -# Program: GCC-XML -# Module: $RCSfile: find_flags,v $ -# Language: C++ -# Date: $Date: 2008-08-07 15:36:08 $ -# Version: $Revision: 1.23 $ -# -# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. -# See Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even -# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the above copyright notices for more information. -# -#============================================================================= - -# Find the GCC executable name. -if test "x$1" = "x" ; then - if test "x${CXX}" = "x" ; then - CXX=gcc - fi -else - CXX="$1" - shift - CXXFLAGS="$@" -fi - -# Find the macro definition options. -MACROS=`echo "" | ${CXX} -x c++ -E -dM ${CXXFLAGS} - 2>/dev/null | - sed -n ' -/^#define / {s/#define \([A-Za-z_][A-Za-z0-9_()]*\) \(.*\)/-D\1='\''\2'\''/;p;} -' | - awk ' -BEGIN { first=1 } -/./ { if(first) { printf("%s", $0); first=0 } else { printf(" %s", $0) } } -'` - -# Find the include path options. -INCLUDES=` - echo "" | ${CXX} -v -x c++ -E ${CXXFLAGS} - 2>&1 | - awk '/^[^ \/].*$/ { if (f) { printf("\n"); exit } } - /^[ ]*(\/[^ ]*)( \(.*\))?$/ { - if (f) { - if (match($1,"/Frameworks")) { - printf("-F%s ",$1) - } else { - printf("-isystem%s ",$1) - } - } - } - /\#include <\.\.\..*$/ {f=1} ' - -` - -# The support headers are located where this script is. -SELFPATH=`echo $0 | sed -n '/\//{s/\/find_flags//;p;}'` -if test "x$SELFPATH" = "x" ; then SELFPATH="." ; fi -SELFPATH=`cd "$SELFPATH" ; pwd` - -# Determine the major version number. -MAJOR_VERSION=` -echo "__GNUC__" | ${CXX} -v -x c++ -E ${CXXFLAGS} - 2>/dev/null | - sed -n '/^[0-9]/{s/[^0-9]//g;p;}'` - -MINOR_VERSION=` -echo "__GNUC_MINOR__" | ${CXX} -v -x c++ -E ${CXXFLAGS} - 2>/dev/null | - sed -n '/^[0-9]/{s/[^0-9]//g;p;}'` - -# hack to handle bad gcc 4.0 on RedHat -if [ "$MAJOR_VERSION" = 4 ]; then - if echo "$INCLUDES" | grep "c++/3\.4" > /dev/null 2>&1; then - MAJOR_VERSION=3 - MINOR_VERSION=4 - fi -fi - -# For GCC versions before 3, some special options are needed. -if [ "$MAJOR_VERSION" -lt 3 ]; then - INCLUDES="-iwrapper\"$SELFPATH/2.95\" $INCLUDES" - if [ "$MINOR_VERSION" = 96 ]; then - INCLUDES="-iwrapper\"$SELFPATH/2.96\" $INCLUDES" - fi -elif [ "$MAJOR_VERSION" = 4 -a "$MINOR_VERSION" -ge 3 ]; then - INCLUDES="-iwrapper\"$SELFPATH/4.3\" $INCLUDES" - SPECIAL="-include \"gccxml_builtins.h\"" -elif [ "$MAJOR_VERSION" = 4 -a "$MINOR_VERSION" -ge 2 ]; then - INCLUDES="-iwrapper\"$SELFPATH/4.2\" $INCLUDES" - SPECIAL="-include \"gccxml_builtins.h\"" -elif [ "$MAJOR_VERSION" = 4 -a "$MINOR_VERSION" -ge 1 ]; then - INCLUDES="-iwrapper\"$SELFPATH/4.1\" $INCLUDES" - SPECIAL="-include \"gccxml_builtins.h\"" -elif [ "$MAJOR_VERSION" = 4 -a "$MINOR_VERSION" -ge 0 ]; then - INCLUDES="-iwrapper\"$SELFPATH/4.0\" $INCLUDES" - SPECIAL="-include \"gccxml_builtins.h\"" -elif [ "$MAJOR_VERSION" = 3 -a "$MINOR_VERSION" -ge 4 ]; then - INCLUDES="-iwrapper\"$SELFPATH/3.4\" $INCLUDES" - SPECIAL="-include \"gccxml_builtins.h\"" -elif [ "$MAJOR_VERSION" = 3 -a "$MINOR_VERSION" = 3 ]; then - INCLUDES="-iwrapper\"$SELFPATH/3.3\" $INCLUDES" - SPECIAL="-include \"gccxml_builtins.h\"" -elif [ "$MAJOR_VERSION" = 3 -a "$MINOR_VERSION" = 2 ]; then - INCLUDES="-iwrapper\"$SELFPATH/3.2\" $INCLUDES" -elif [ "$MAJOR_VERSION" = 3 -a "$MINOR_VERSION" = 1 ]; then - INCLUDES="-iwrapper\"$SELFPATH/3.1\" $INCLUDES" -elif [ "$MAJOR_VERSION" = 3 -a "$MINOR_VERSION" = 0 ]; then - INCLUDES="-iwrapper\"$SELFPATH/3.0\" $INCLUDES" -fi - -# Format and print out the options. -OPTIONS="$MACROS $INCLUDES $SPECIAL" -echo $OPTIONS Modified: gccxml_bin/v09/win32/share/gccxml-0.9/Intel/find_flags =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/Intel/find_flags 2008-12-21 22:28:17 UTC (rev 1483) +++ gccxml_bin/v09/win32/share/gccxml-0.9/Intel/find_flags 2008-12-22 22:11:51 UTC (rev 1484) @@ -1,56 +1,56 @@ -#!/bin/sh -#============================================================================= -# -# Program: GCC-XML -# Module: $RCSfile: find_flags,v $ -# Language: C++ -# Date: $Date: 2005/04/07 12:51:07 $ -# Version: $Revision: 1.5 $ -# -# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. -# See Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even -# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the above copyright notices for more information. -# -#============================================================================= - -# Find the GCC executable name. -if test "x$1" = "x" ; then - if test "x${CXX}" = "x" ; then - CXX=gcc - fi -else - CXX="$1" - shift - CXXFLAGS="$@" -fi - -# Find the macro definition options. -MACROS=`echo "" | ${CXX} -x c++ -E -dM ${CXXFLAGS} - 2>/dev/null | - sed -n ' -/^#define / {s/#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)/-D\1='\''\2'\''/;p;} -' | - awk ' -BEGIN { first=1 } -/./ { if(first) { printf("%s", $0); first=0 } else { printf(" %s", $0) } } -'` - -# Find the include path options. -INCLUDES=` - echo "" | ${CXX} -v -x c++ -E ${CXXFLAGS} - 2>&1 | - awk '/^[ \t]*-I\/.* \\\\$/ { printf("%s ",$1) } - END {printf("\n")}' - -` - -# The support headers are located where this script is. -SELFPATH=`echo $0 | sed -n '/\//{s/\/find_flags//;p;}'` -if test "x$SELFPATH" = "x" ; then SELFPATH="." ; fi -SELFPATH=`cd "$SELFPATH" ; pwd` - -INCLUDES="-iwrapper\"$SELFPATH\" $INCLUDES" - -# Format and print out the options. -OPTIONS="$MACROS -D_WCHAR_T $INCLUDES" -echo $OPTIONS +#!/bin/sh +#============================================================================= +# +# Program: GCC-XML +# Module: $RCSfile: find_flags,v $ +# Language: C++ +# Date: $Date: 2005-04-07 12:51:07 $ +# Version: $Revision: 1.5 $ +# +# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. +# See Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even +# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the above copyright notices for more information. +# +#============================================================================= + +# Find the GCC executable name. +if test "x$1" = "x" ; then + if test "x${CXX}" = "x" ; then + CXX=gcc + fi +else + CXX="$1" + shift + CXXFLAGS="$@" +fi + +# Find the macro definition options. +MACROS=`echo "" | ${CXX} -x c++ -E -dM ${CXXFLAGS} - 2>/dev/null | + sed -n ' +/^#define / {s/#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)/-D\1='\''\2'\''/;p;} +' | + awk ' +BEGIN { first=1 } +/./ { if(first) { printf("%s", $0); first=0 } else { printf(" %s", $0) } } +'` + +# Find the include path options. +INCLUDES=` + echo "" | ${CXX} -v -x c++ -E ${CXXFLAGS} - 2>&1 | + awk '/^[ \t]*-I\/.* \\\\$/ { printf("%s ",$1) } + END {printf("\n")}' - +` + +# The support headers are located where this script is. +SELFPATH=`echo $0 | sed -n '/\//{s/\/find_flags//;p;}'` +if test "x$SELFPATH" = "x" ; then SELFPATH="." ; fi +SELFPATH=`cd "$SELFPATH" ; pwd` + +INCLUDES="-iwrapper\"$SELFPATH\" $INCLUDES" + +# Format and print out the options. +OPTIONS="$MACROS -D_WCHAR_T $INCLUDES" +echo $OPTIONS Modified: gccxml_bin/v09/win32/share/gccxml-0.9/MIPSpro/find_flags =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/MIPSpro/find_flags 2008-12-21 22:28:17 UTC (rev 1483) +++ gccxml_bin/v09/win32/share/gccxml-0.9/MIPSpro/find_flags 2008-12-22 22:11:51 UTC (rev 1484) @@ -1,137 +1,137 @@ -#!/bin/sh -#============================================================================= -# -# Program: GCC-XML -# Module: $RCSfile: find_flags,v $ -# Language: C++ -# Date: $Date: 2005/08/01 22:11:33 $ -# Version: $Revision: 1.5 $ -# -# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. -# See Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even -# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the above copyright notices for more information. -# -#============================================================================= - -# Find the MIPSPro executable name. -if test "x$1" = "x" ; then - if test "x${CXX}" = "x" ; then - CXX=CC - fi -else - CXX="$1" - shift - CXXFLAGS="$@" -fi - -GCCXML_PID="$$" -TESTFILE="find_flags_temp$GCCXML_PID" - -# Construct a test input file that checks for some builtin definitions -# in the compiler that are not displayed by the -v option. This list -# was obtained by running "strings /usr/lib32/cmplrs/fecc" and testing -# for definitions with a giant version of the string below. -echo " -#ifdef _BOOL -D_BOOL _BOOL -#endif -#ifdef _EXPLICIT_IS_KEYWORD -D_EXPLICIT_IS_KEYWORD _EXPLICIT_IS_KEYWORD -#endif -#ifdef _LIBC_IN_NAMESPACE_STD_ -D_LIBC_IN_NAMESPACE_STD_ _LIBC_IN_NAMESPACE_STD_ -#endif -#ifdef _MEMBER_TEMPLATES -D_MEMBER_TEMPLATES _MEMBER_TEMPLATES -#endif -#ifdef _MUTABLE_IS_KEYWORD -D_MUTABLE_IS_KEYWORD _MUTABLE_IS_KEYWORD -#endif -#ifdef _NAMESPACES -D_NAMESPACES _NAMESPACES -#endif -#ifdef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES -D_PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES -#endif -#ifdef _STANDARD_C_PLUS_PLUS -D_STANDARD_C_PLUS_PLUS _STANDARD_C_PLUS_PLUS -#endif -#ifdef _TYPENAME_IS_KEYWORD -D_TYPENAME_IS_KEYWORD _TYPENAME_IS_KEYWORD -#endif -#ifdef _WCHAR_T -D_WCHAR_T _WCHAR_T -#endif -#ifdef _WCHAR_T_IS_KEYWORD -D_WCHAR_T_IS_KEYWORD _WCHAR_T_IS_KEYWORD -#endif -#ifdef __ANSI_CPP__ -D__ANSI_CPP__ __ANSI_CPP__ -#endif -#ifdef __ARRAY_OPERATORS -D__ARRAY_OPERATORS __ARRAY_OPERATORS -#endif -#ifdef __EDG_ABI_COMPATIBILITY_VERSION -D__EDG_ABI_COMPATIBILITY_VERSION __EDG_ABI_COMPATIBILITY_VERSION -#endif -#ifdef __EDG_RUNTIME_USES_NAMESPACES -D__EDG_RUNTIME_USES_NAMESPACES __EDG_RUNTIME_USES_NAMESPACES -#endif -#ifdef __EDG_VERSION__ -D__EDG_VERSION__ __EDG_VERSION__ -#endif -#ifdef __EDG__ -D__EDG__ __EDG__ -#endif -#ifdef __EXCEPTIONS -D__EXCEPTIONS __EXCEPTIONS -#endif -#ifdef __LIBC_MATH_OVERLOAD__ -D__LIBC_MATH_OVERLOAD__ __LIBC_MATH_OVERLOAD__ -#endif -#ifdef __RTTI -D__RTTI __RTTI -#endif -#ifdef __STDC__ -D__STDC__ __STDC__ -#endif -" > /tmp/$TESTFILE.cxx - -# Find the macro definition options. -MACROS=` -${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | -sed -n '/_COMPILER_VERSION/{s/ \/tmp\/'$TESTFILE'.cxx.*$// -s/ -/\\ --/g;p;}' | -sed -n '/^-D.*$/{s/-D\([^=]*\)=\([^ ]\{1,\} .*\)/-D\1='\''\2'\''/;p;}' | -sed -n 'H;${g;s/\n/ /g;p;}'` - -# Find the internally defined macros. -LANGSTD=` -${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | -sed -n '/^D/ {s/^D/-D/;s/ /=/;p;}' | -sed -n 'H;${g;s/\n/ /g;p;}'` - -# Find the include path options. -INCLUDES=` -${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | -sed -n '/_COMPILER_VERSION/{s/ \/tmp\/'$TESTFILE'.cxx.*$// -s/ -/\\ --/g;p;}' | -sed -n '/^-I.*$/{p;}' | -sed -n 'H;${g;s/\n/ /g;p;}'` - -# The support headers are located where this script is. -SELFPATH=`echo $0 | sed -n '/\//{s/\/find_flags//;p;}'` -if test "x$SELFPATH" = "x" ; then SELFPATH="." ; fi -SELFPATH=`cd "$SELFPATH" ; pwd` -INCLUDES="-iwrapper\"$SELFPATH/7.3\" $INCLUDES" - -rm -f /tmp/$TESTFILE.cxx - -# Format and print out the options. -OPTIONS="$MACROS $LANGSTD $INCLUDES" -echo $OPTIONS +#!/bin/sh +#============================================================================= +# +# Program: GCC-XML +# Module: $RCSfile: find_flags,v $ +# Language: C++ +# Date: $Date: 2005-08-01 22:11:33 $ +# Version: $Revision: 1.5 $ +# +# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. +# See Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even +# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the above copyright notices for more information. +# +#============================================================================= + +# Find the MIPSPro executable name. +if test "x$1" = "x" ; then + if test "x${CXX}" = "x" ; then + CXX=CC + fi +else + CXX="$1" + shift + CXXFLAGS="$@" +fi + +GCCXML_PID="$$" +TESTFILE="find_flags_temp$GCCXML_PID" + +# Construct a test input file that checks for some builtin definitions +# in the compiler that are not displayed by the -v option. This list +# was obtained by running "strings /usr/lib32/cmplrs/fecc" and testing +# for definitions with a giant version of the string below. +echo " +#ifdef _BOOL +D_BOOL _BOOL +#endif +#ifdef _EXPLICIT_IS_KEYWORD +D_EXPLICIT_IS_KEYWORD _EXPLICIT_IS_KEYWORD +#endif +#ifdef _LIBC_IN_NAMESPACE_STD_ +D_LIBC_IN_NAMESPACE_STD_ _LIBC_IN_NAMESPACE_STD_ +#endif +#ifdef _MEMBER_TEMPLATES +D_MEMBER_TEMPLATES _MEMBER_TEMPLATES +#endif +#ifdef _MUTABLE_IS_KEYWORD +D_MUTABLE_IS_KEYWORD _MUTABLE_IS_KEYWORD +#endif +#ifdef _NAMESPACES +D_NAMESPACES _NAMESPACES +#endif +#ifdef _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES +D_PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES _PARTIAL_SPECIALIZATION_OF_CLASS_TEMPLATES +#endif +#ifdef _STANDARD_C_PLUS_PLUS +D_STANDARD_C_PLUS_PLUS _STANDARD_C_PLUS_PLUS +#endif +#ifdef _TYPENAME_IS_KEYWORD +D_TYPENAME_IS_KEYWORD _TYPENAME_IS_KEYWORD +#endif +#ifdef _WCHAR_T +D_WCHAR_T _WCHAR_T +#endif +#ifdef _WCHAR_T_IS_KEYWORD +D_WCHAR_T_IS_KEYWORD _WCHAR_T_IS_KEYWORD +#endif +#ifdef __ANSI_CPP__ +D__ANSI_CPP__ __ANSI_CPP__ +#endif +#ifdef __ARRAY_OPERATORS +D__ARRAY_OPERATORS __ARRAY_OPERATORS +#endif +#ifdef __EDG_ABI_COMPATIBILITY_VERSION +D__EDG_ABI_COMPATIBILITY_VERSION __EDG_ABI_COMPATIBILITY_VERSION +#endif +#ifdef __EDG_RUNTIME_USES_NAMESPACES +D__EDG_RUNTIME_USES_NAMESPACES __EDG_RUNTIME_USES_NAMESPACES +#endif +#ifdef __EDG_VERSION__ +D__EDG_VERSION__ __EDG_VERSION__ +#endif +#ifdef __EDG__ +D__EDG__ __EDG__ +#endif +#ifdef __EXCEPTIONS +D__EXCEPTIONS __EXCEPTIONS +#endif +#ifdef __LIBC_MATH_OVERLOAD__ +D__LIBC_MATH_OVERLOAD__ __LIBC_MATH_OVERLOAD__ +#endif +#ifdef __RTTI +D__RTTI __RTTI +#endif +#ifdef __STDC__ +D__STDC__ __STDC__ +#endif +" > /tmp/$TESTFILE.cxx + +# Find the macro definition options. +MACROS=` +${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | +sed -n '/_COMPILER_VERSION/{s/ \/tmp\/'$TESTFILE'.cxx.*$// +s/ -/\\ +-/g;p;}' | +sed -n '/^-D.*$/{s/-D\([^=]*\)=\([^ ]\{1,\} .*\)/-D\1='\''\2'\''/;p;}' | +sed -n 'H;${g;s/\n/ /g;p;}'` + +# Find the internally defined macros. +LANGSTD=` +${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | +sed -n '/^D/ {s/^D/-D/;s/ /=/;p;}' | +sed -n 'H;${g;s/\n/ /g;p;}'` + +# Find the include path options. +INCLUDES=` +${CXX} ${CXXFLAGS} -E -v /tmp/$TESTFILE.cxx 2>&1 | +sed -n '/_COMPILER_VERSION/{s/ \/tmp\/'$TESTFILE'.cxx.*$// +s/ -/\\ +-/g;p;}' | +sed -n '/^-I.*$/{p;}' | +sed -n 'H;${g;s/\n/ /g;p;}'` + +# The support headers are located where this script is. +SELFPATH=`echo $0 | sed -n '/\//{s/\/find_flags//;p;}'` +if test "x$SELFPATH" = "x" ; then SELFPATH="." ; fi +SELFPATH=`cd "$SELFPATH" ; pwd` +INCLUDES="-iwrapper\"$SELFPATH/7.3\" $INCLUDES" + +rm -f /tmp/$TESTFILE.cxx + +# Format and print out the options. +OPTIONS="$MACROS $LANGSTD $INCLUDES" +echo $OPTIONS Added: gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/CodeAnalysis/sourceannotations.h =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/CodeAnalysis/sourceannotations.h (rev 0) +++ gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/CodeAnalysis/sourceannotations.h 2008-12-22 22:11:51 UTC (rev 1484) @@ -0,0 +1,289 @@ +#if _MSC_VER >= 1400 + +#pragma once + +#ifndef _M_CEE_SAFE // Source annotation attributes don't work with /clr:safe + +#if !defined(_W64) +#if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 +#define _W64 __w64 +#else +#define _W64 +#endif +#endif + +#ifndef _SIZE_T_DEFINED +#ifdef _WIN64 +typedef unsigned __int64 size_t; +#else +typedef _W64 unsigned int size_t; +#endif +#define _SIZE_T_DEFINED +#endif + +#ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +#define _WCHAR_T_DEFINED +#endif + + +#pragma push_macro( "SA" ) +#pragma push_macro( "REPEATABLE" ) + +#ifdef __cplusplus +#define SA( id ) id +#define REPEATABLE +#else // !__cplusplus +#define SA( id ) SA_##id +#define REPEATABLE +#endif // !__cplusplus + +#ifdef __cplusplus +namespace vc_attributes +{ +#endif // __cplusplus + +enum SA( YesNoMaybe ) +{ + // Choose values that we can detect as invalid if they are or'd together + SA( No ) = 0x0fff0001, + SA( Maybe ) = 0x0fff0010, + SA( Yes ) = 0x0fff0100 +}; + +typedef enum SA( YesNoMaybe ) SA( YesNoMaybe ); + +enum SA( AccessType ) +{ + SA( NoAccess ) = 0, + SA( Read ) = 1, + SA( Write ) = 2, + SA( ReadWrite ) = 3 +}; + +typedef enum SA( AccessType ) SA( AccessType ); + +#ifndef SAL_NO_ATTRIBUTE_DECLARATIONS + +REPEATABLE +struct PreAttribute +{ +#ifdef __cplusplus + PreAttribute(); +#endif + + unsigned int Deref; + SA( YesNoMaybe ) Valid; + SA( YesNoMaybe ) Null; + SA( YesNoMaybe ) Tainted; + SA( AccessType ) Access; + size_t ValidElementsConst; + size_t ValidBytesConst; + const wchar_t* ValidElements; + const wchar_t* ValidBytes; + const wchar_t* ValidElementsLength; + const wchar_t* ValidBytesLength; + size_t WritableElementsConst; + size_t WritableBytesConst; + const wchar_t* WritableElements; + const wchar_t* WritableBytes; + const wchar_t* WritableElementsLength; + const wchar_t* WritableBytesLength; + size_t ElementSizeConst; + const wchar_t* ElementSize; + SA( YesNoMaybe ) NullTerminated; + const wchar_t* Condition; +}; + +REPEATABLE +struct PostAttribute +{ +#ifdef __cplusplus + PostAttribute(); +#endif + + unsigned int Deref; + SA( YesNoMaybe ) Valid; + SA( YesNoMaybe ) Null; + SA( YesNoMaybe ) Tainted; + SA( AccessType ) Access; + size_t ValidElementsConst; + size_t ValidBytesConst; + const wchar_t* ValidElements; + const wchar_t* ValidBytes; + const wchar_t* ValidElementsLength; + const wchar_t* ValidBytesLength; + size_t WritableElementsConst; + size_t WritableBytesConst; + const wchar_t* WritableElements; + const wchar_t* WritableBytes; + const wchar_t* WritableElementsLength; + const wchar_t* WritableBytesLength; + size_t ElementSizeConst; + const wchar_t* ElementSize; + SA( YesNoMaybe ) NullTerminated; + SA( YesNoMaybe ) MustCheck; + const wchar_t* Condition; +}; + +struct FormatStringAttribute +{ +#ifdef __cplusplus + FormatStringAttribute(); +#endif + + const wchar_t* Style; + const wchar_t* UnformattedAlternative; +}; + +REPEATABLE +struct InvalidCheckAttribute +{ +#ifdef __cplusplus + InvalidCheckAttribute(); +#endif + + long Value; +}; + +struct SuccessAttribute +{ +#ifdef __cplusplus + SuccessAttribute(); +#endif + + const wchar_t* Condition; +}; + +REPEATABLE +struct PreBoundAttribute +{ +#ifdef __cplusplus + PreBoundAttribute(); +#endif + unsigned int Deref; +}; + +REPEATABLE +struct PostBoundAttribute +{ +#ifdef __cplusplus + PostBoundAttribute(); +#endif + unsigned int Deref; +}; + +REPEATABLE +struct PreRangeAttribute +{ +#ifdef __cplusplus + PreRangeAttribute(); +#endif + unsigned int Deref; + const char* MinVal; + const char* MaxVal; +}; + +REPEATABLE +struct PostRangeAttribute +{ +#ifdef __cplusplus + PostRangeAttribute(); +#endif + unsigned int Deref; + const char* MinVal; + const char* MaxVal; +}; + +#endif // !SAL_NO_ATTRIBUTE_DECLARATIONS + +#ifdef __cplusplus +}; // namespace vc_attributes +#endif // __cplusplus + +#pragma pop_macro( "REPEATABLE" ) +#pragma pop_macro( "SA" ) + +#ifdef __cplusplus + +#define SA_All All +#define SA_Class Class +#define SA_Constructor Constructor +#define SA_Delegate Delegate +#define SA_Enum Enum +#define SA_Event Event +#define SA_Field Field +#define SA_GenericParameter GenericParameter +#define SA_Interface Interface +#define SA_Method Method +#define SA_Module Module +#define SA_Parameter Parameter +#define SA_Property Property +#define SA_ReturnValue ReturnValue +#define SA_Struct Struct + +typedef ::vc_attributes::YesNoMaybe SA_YesNoMaybe; +const ::vc_attributes::YesNoMaybe SA_Yes = ::vc_attributes::Yes; +const ::vc_attributes::YesNoMaybe SA_No = ::vc_attributes::No; +const ::vc_attributes::YesNoMaybe SA_Maybe = ::vc_attributes::Maybe; + +typedef ::vc_attributes::AccessType SA_AccessType; +const ::vc_attributes::AccessType SA_NoAccess = ::vc_attributes::NoAccess; +const ::vc_attributes::AccessType SA_Read = ::vc_attributes::Read; +const ::vc_attributes::AccessType SA_Write = ::vc_attributes::Write; +const ::vc_attributes::AccessType SA_ReadWrite = ::vc_attributes::ReadWrite; + +#ifndef SAL_NO_ATTRIBUTE_DECLARATIONS +typedef ::vc_attributes::PreAttribute SA_Pre; +typedef ::vc_attributes::PostAttribute SA_Post; +typedef ::vc_attributes::FormatStringAttribute SA_FormatString; +typedef ::vc_attributes::InvalidCheckAttribute SA_InvalidCheck; /*???*/ +typedef ::vc_attributes::SuccessAttribute SA_Success; +typedef ::vc_attributes::PreBoundAttribute SA_PreBound; +typedef ::vc_attributes::PostBoundAttribute SA_PostBound; +typedef ::vc_attributes::PreRangeAttribute SA_PreRange; +typedef ::vc_attributes::PostRangeAttribute SA_PostRange; +#endif //!SAL_NO_ATTRIBUTE_DECLARATIONS + +#else // !__cplusplus + +typedef struct PreAttribute SA_Pre; +typedef struct PreAttribute PreAttribute; +typedef struct PostAttribute SA_Post; +typedef struct PostAttribute PostAttribute; +typedef struct FormatStringAttribute SA_FormatString; +typedef struct InvalidCheckAttribute SA_InvalidCheck; /*???*/ +typedef struct SuccessAttribute SA_Success; +typedef struct PreBoundAttribute SA_PreBound; +typedef struct PostBoundAttribute SA_PostBound; +typedef struct PreRangeAttribute SA_PreRange; +typedef struct PostRangeAttribute SA_PostRange; + +#endif // __cplusplus + +#endif // !_M_CEE_SAFE + +#ifdef _MANAGED + +#ifdef CODE_ANALYSIS +#define SA_SUPPRESS_MESSAGE( category, id, ... ) [::System::Diagnostics::CodeAnalysis::SuppressMessage( category, id, __VA_ARGS__ )] +#define CA_SUPPRESS_MESSAGE( ... ) [System::Diagnostics::CodeAnalysis::SuppressMessage( __VA_ARGS__ )] +#define CA_GLOBAL_SUPPRESS_MESSAGE( ... ) [assembly:System::Diagnostics::CodeAnalysis::SuppressMessage( __VA_ARGS__ )] +#else // !CODE_ANALYSIS +#define SA_SUPPRESS_MESSAGE( category, id, ... ) +#define CA_SUPPRESS_MESSAGE( ... ) +#define CA_GLOBAL_SUPPRESS_MESSAGE( ... ) +#endif // !CODE_ANALYSIS + +#endif // _MANAGED + +// Windows SDK Update Vista Beta2 (June 2006): __analysis_assume defined by specstrings.h +#ifdef _PREFAST_ +// #define __analysis_assume(expr) __assume(expr) +#else // !_PREFAST_ +// #define __analysis_assume(expr) +#endif // _PREFAST_ + + +#endif // _MSC_VER >= 1400 + Added: gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/algorithm =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/algorithm (rev 0) +++ gccxml_bin/v09/win32/share/gccxml-0.9/Vc9/Include/algorithm 2008-12-22 22:11:51 UTC (rev 1484) @@ -0,0 +1,5832 @@ +// algorithm standard header +#pragma once +#ifndef _ALGORITHM_ +#define _ALGORITHM_ +#ifndef RC_INVOKED +#include <memory> + +#ifdef _MSC_VER + #pragma pack(push,_CRT_PACKING) + #pragma warning(push,3) + #pragma warning(disable: 4244) +#endif /* _MSC_VER */ + +/* ------------------------------------------------------------------------ */ +/* Forward declare these now because they are used as non-dependent names. */ +_STDEXT_BEGIN +template<class _InIt, class _OutIt, class _Ty> +inline _OutIt unchecked_remove_copy(_InIt _First, _InIt _Last, + _OutIt _Dest, const _Ty& _Val); +template<class _InIt, class _OutIt, class _Pr> +inline _OutIt unchecked_remove_copy_if(_InIt _First, _InIt _Last, + _OutIt _Dest, _Pr _Pred); +template<class _InIt1, class _InIt2, class _OutIt> +inline _OutIt unchecked_merge(_InIt1 _First1, _InIt1 _Last1, + _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest); +template<class _InIt1, class _InIt2, class _OutIt, class _Pr> +inline _OutIt unchecked_merge(_InIt1 _First1, _InIt1 _Last1, + _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, + _Pr _Pred); +template<class _BidIt1, class _BidIt2, class _BidIt3> +inline _BidIt3 _Unchecked_merge_backward(_BidIt1 _First1, _BidIt1 _Last1, + _BidIt2 _First2, _BidIt2 _Last2, + _BidIt3 _Dest); +template<class _BidIt1, class _BidIt2, class _BidIt3, class _Pr> +inline _BidIt3 _Unchecked_merge_backward(_BidIt1 _First1, _BidIt1 _Last1, + _BidIt2 _First2, _BidIt2 _Last2, + _BidIt3 _Dest, _Pr _Pred); +template<class _BidIt, class _OutIt, class _Diff> +inline void _Unchecked_chunked_merge(_BidIt _First, _BidIt _Last, + _OutIt _Dest, _Diff _Chunk, + _Diff _Count); +template<class _BidIt, class _OutIt, class _Diff, class _Pr> +inline void _Unchecked_chunked_merge(_BidIt _First, _BidIt _Last, + _OutIt _Dest, _Diff _Chunk, + _Diff _Count, _Pr _Pred); +_STDEXT_END +/* ------------------------------------------------------------------------ */ + +_STD_BEGIN + + // COMMON SORT PARAMETERS +const int _ISORT_MAX = 32; // maximum size for insertion sort + + // TEMPLATE FUNCTION for_each +template<class _InIt, + class _Fn1> inline + _Fn1 for_each(_InIt _First, _InIt _Last, _Fn1 _Func) + { // perform function for each element + _DEBUG_RANGE(_First, _Last); + _DEBUG_POINTER(_Func); + _CHECKED_B... [truncated message content] |