00001 /* 00002 * kmp_error.h -- PTS functions for error checking at runtime. 00003 * $Revision: 42061 $ 00004 * $Date: 2013-02-28 16:36:24 -0600 (Thu, 28 Feb 2013) $ 00005 */ 00006 00007 /* <copyright> 00008 Copyright (c) 1997-2013 Intel Corporation. All Rights Reserved. 00009 00010 Redistribution and use in source and binary forms, with or without 00011 modification, are permitted provided that the following conditions 00012 are met: 00013 00014 * Redistributions of source code must retain the above copyright 00015 notice, this list of conditions and the following disclaimer. 00016 * Redistributions in binary form must reproduce the above copyright 00017 notice, this list of conditions and the following disclaimer in the 00018 documentation and/or other materials provided with the distribution. 00019 * Neither the name of Intel Corporation nor the names of its 00020 contributors may be used to endorse or promote products derived 00021 from this software without specific prior written permission. 00022 00023 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00024 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00025 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00026 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00027 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00028 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00029 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00030 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00031 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00032 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00033 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00034 00035 00036 ------------------------------------------------------------------------ 00037 00038 Portions of this software are protected under the following patents: 00039 U.S. Patent 5,812,852 00040 U.S. Patent 6,792,599 00041 U.S. Patent 7,069,556 00042 U.S. Patent 7,328,433 00043 U.S. Patent 7,500,242 00044 00045 </copyright> */ 00046 00047 #ifndef KMP_ERROR_H 00048 #define KMP_ERROR_H 00049 00050 #include "kmp_i18n.h" 00051 00052 /* ------------------------------------------------------------------------ */ 00053 #ifdef __cplusplus 00054 extern "C" { 00055 #endif 00056 00057 void __kmp_error_construct( kmp_i18n_id_t id, enum cons_type ct, ident_t const * ident ); 00058 void __kmp_error_construct2( kmp_i18n_id_t id, enum cons_type ct, ident_t const * ident, struct cons_data const * cons ); 00059 00060 struct cons_header * __kmp_allocate_cons_stack( int gtid ); 00061 void __kmp_free_cons_stack( void * ptr ); 00062 00063 void __kmp_push_parallel( int gtid, ident_t const * ident ); 00064 void __kmp_push_workshare( int gtid, enum cons_type ct, ident_t const * ident ); 00065 void __kmp_push_sync( int gtid, enum cons_type ct, ident_t const * ident, kmp_user_lock_p name ); 00066 00067 void __kmp_check_workshare( int gtid, enum cons_type ct, ident_t const * ident ); 00068 void __kmp_check_sync( int gtid, enum cons_type ct, ident_t const * ident, kmp_user_lock_p name ); 00069 00070 void __kmp_pop_parallel( int gtid, ident_t const * ident ); 00071 enum cons_type __kmp_pop_workshare( int gtid, enum cons_type ct, ident_t const * ident ); 00072 void __kmp_pop_sync( int gtid, enum cons_type ct, ident_t const * ident ); 00073 void __kmp_check_barrier( int gtid, enum cons_type ct, ident_t const * ident ); 00074 00075 #ifdef __cplusplus 00076 } // extern "C" 00077 #endif 00078 00079 #endif // KMP_ERROR_H 00080