# Copyright 2005-2009 Intel Corporation.  All Rights Reserved.
#
# This file is part of Threading Building Blocks.
#
# Threading Building Blocks is free software; you can redistribute it
# and/or modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# Threading Building Blocks 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 Threading Building Blocks; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
# As a special exception, you may use this file as part of a free software
# library without restriction.  Specifically, if other files instantiate
# templates or use macros or inline functions from this file, or you compile
# this file and link it with other files to produce an executable, this
# file 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.

# cache_aligned_allocator.cpp
__ZN3tbb8internal12NFS_AllocateEmmPv
__ZN3tbb8internal15NFS_GetLineSizeEv
__ZN3tbb8internal8NFS_FreeEPv
__ZN3tbb8internal23allocate_via_handler_v3Em
__ZN3tbb8internal25deallocate_via_handler_v3EPv
__ZN3tbb8internal17is_malloc_used_v3Ev

# task.cpp v3
__ZN3tbb4task13note_affinityEt
__ZN3tbb4task22internal_set_ref_countEi
__ZN3tbb4task28internal_decrement_ref_countEv
__ZN3tbb4task22spawn_and_wait_for_allERNS_9task_listE
__ZN3tbb4task4selfEv
__ZN3tbb4task7destroyERS0_
__ZNK3tbb4task26is_owned_by_current_threadEv
__ZN3tbb8internal19allocate_root_proxy4freeERNS_4taskE
__ZN3tbb8internal19allocate_root_proxy8allocateEm
__ZN3tbb8internal28affinity_partitioner_base_v36resizeEj
__ZN3tbb8internal36get_initial_auto_partitioner_divisorEv
__ZNK3tbb8internal20allocate_child_proxy4freeERNS_4taskE
__ZNK3tbb8internal20allocate_child_proxy8allocateEm
__ZNK3tbb8internal27allocate_continuation_proxy4freeERNS_4taskE
__ZNK3tbb8internal27allocate_continuation_proxy8allocateEm
__ZNK3tbb8internal34allocate_additional_child_of_proxy4freeERNS_4taskE
__ZNK3tbb8internal34allocate_additional_child_of_proxy8allocateEm
__ZTIN3tbb4taskE
__ZTSN3tbb4taskE
__ZTVN3tbb4taskE
__ZN3tbb19task_scheduler_init19default_num_threadsEv
__ZN3tbb19task_scheduler_init10initializeEim
__ZN3tbb19task_scheduler_init10initializeEi
__ZN3tbb19task_scheduler_init9terminateEv
__ZN3tbb8internal26task_scheduler_observer_v37observeEb
__ZN3tbb10empty_task7executeEv
__ZN3tbb10empty_taskD0Ev
__ZN3tbb10empty_taskD1Ev
__ZTIN3tbb10empty_taskE
__ZTSN3tbb10empty_taskE
__ZTVN3tbb10empty_taskE

# exception handling support
__ZNK3tbb8internal32allocate_root_with_context_proxy8allocateEm
__ZNK3tbb8internal32allocate_root_with_context_proxy4freeERNS_4taskE
__ZNK3tbb18task_group_context28is_group_execution_cancelledEv
__ZN3tbb18task_group_context22cancel_group_executionEv
__ZN3tbb18task_group_context26register_pending_exceptionEv
__ZN3tbb18task_group_context5resetEv
__ZN3tbb18task_group_context4initEv
__ZN3tbb18task_group_contextD1Ev
__ZN3tbb18task_group_contextD2Ev
__ZNK3tbb18captured_exception4nameEv
__ZNK3tbb18captured_exception4whatEv
__ZN3tbb18captured_exception10throw_selfEv
__ZN3tbb18captured_exception3setEPKcS2_
__ZN3tbb18captured_exception4moveEv
__ZN3tbb18captured_exception5clearEv
__ZN3tbb18captured_exception7destroyEv
__ZN3tbb18captured_exception8allocateEPKcS2_
__ZN3tbb18captured_exceptionD0Ev
__ZN3tbb18captured_exceptionD1Ev
__ZTIN3tbb18captured_exceptionE
__ZTSN3tbb18captured_exceptionE
__ZTVN3tbb18captured_exceptionE
__ZTIN3tbb13tbb_exceptionE
__ZTSN3tbb13tbb_exceptionE
__ZTVN3tbb13tbb_exceptionE
__ZN3tbb14bad_last_allocD0Ev
__ZN3tbb14bad_last_allocD1Ev
__ZNK3tbb14bad_last_alloc4whatEv
__ZTIN3tbb14bad_last_allocE
__ZTSN3tbb14bad_last_allocE
__ZTVN3tbb14bad_last_allocE

# Symbols for std exception classes thrown from TBB
__ZNSt11range_errorD1Ev
__ZNSt12length_errorD1Ev
__ZNSt12out_of_rangeD1Ev
__ZTISt11range_error
__ZTISt12length_error
__ZTISt12out_of_range
__ZTSSt11range_error
__ZTSSt12length_error
__ZTSSt12out_of_range

# tbb_misc.cpp
__ZN3tbb17assertion_failureEPKciS1_S1_
__ZN3tbb21set_assertion_handlerEPFvPKciS1_S1_E
__ZN3tbb8internal13handle_perrorEiPKc
__ZN3tbb8internal15runtime_warningEPKcz
___TBB_machine_store8_slow_perf_warning
___TBB_machine_store8_slow
_TBB_runtime_interface_version
__ZN3tbb8internal33throw_bad_last_alloc_exception_v4Ev

# itt_notify.cpp
__ZN3tbb8internal32itt_load_pointer_with_acquire_v3EPKv
__ZN3tbb8internal33itt_store_pointer_with_release_v3EPvS1_
__ZN3tbb8internal19itt_load_pointer_v3EPKv
__ZN3tbb8internal20itt_set_sync_name_v3EPvPKc

# pipeline.cpp
__ZTIN3tbb6filterE
__ZTSN3tbb6filterE
__ZTVN3tbb6filterE
__ZN3tbb6filterD2Ev
__ZN3tbb8pipeline10add_filterERNS_6filterE
__ZN3tbb8pipeline12inject_tokenERNS_4taskE
__ZN3tbb8pipeline13remove_filterERNS_6filterE
__ZN3tbb8pipeline3runEm
__ZN3tbb8pipeline3runEmRNS_18task_group_contextE
__ZN3tbb8pipeline5clearEv
__ZN3tbb19thread_bound_filter12process_itemEv
__ZN3tbb19thread_bound_filter16try_process_itemEv
__ZN3tbb8pipelineC1Ev
__ZN3tbb8pipelineC2Ev
__ZN3tbb8pipelineD0Ev
__ZN3tbb8pipelineD1Ev
__ZN3tbb8pipelineD2Ev
__ZTIN3tbb8pipelineE
__ZTSN3tbb8pipelineE
__ZTVN3tbb8pipelineE

# queuing_rw_mutex.cpp
__ZN3tbb16queuing_rw_mutex11scoped_lock17upgrade_to_writerEv
__ZN3tbb16queuing_rw_mutex11scoped_lock19downgrade_to_readerEv
__ZN3tbb16queuing_rw_mutex11scoped_lock7acquireERS0_b
__ZN3tbb16queuing_rw_mutex11scoped_lock7releaseEv
__ZN3tbb16queuing_rw_mutex11scoped_lock11try_acquireERS0_b
__ZN3tbb16queuing_rw_mutex18internal_constructEv

#if !TBB_NO_LEGACY
# spin_rw_mutex.cpp v2
__ZN3tbb13spin_rw_mutex16internal_upgradeEPS0_
__ZN3tbb13spin_rw_mutex22internal_itt_releasingEPS0_
__ZN3tbb13spin_rw_mutex23internal_acquire_readerEPS0_
__ZN3tbb13spin_rw_mutex23internal_acquire_writerEPS0_
__ZN3tbb13spin_rw_mutex18internal_downgradeEPS0_
__ZN3tbb13spin_rw_mutex23internal_release_readerEPS0_
__ZN3tbb13spin_rw_mutex23internal_release_writerEPS0_
__ZN3tbb13spin_rw_mutex27internal_try_acquire_readerEPS0_
__ZN3tbb13spin_rw_mutex27internal_try_acquire_writerEPS0_
#endif

# spin_rw_mutex v3
__ZN3tbb16spin_rw_mutex_v316internal_upgradeEv
__ZN3tbb16spin_rw_mutex_v318internal_downgradeEv
__ZN3tbb16spin_rw_mutex_v323internal_acquire_readerEv
__ZN3tbb16spin_rw_mutex_v323internal_acquire_writerEv
__ZN3tbb16spin_rw_mutex_v323internal_release_readerEv
__ZN3tbb16spin_rw_mutex_v323internal_release_writerEv
__ZN3tbb16spin_rw_mutex_v327internal_try_acquire_readerEv
__ZN3tbb16spin_rw_mutex_v327internal_try_acquire_writerEv
__ZN3tbb16spin_rw_mutex_v318internal_constructEv

# spin_mutex.cpp
__ZN3tbb10spin_mutex11scoped_lock16internal_acquireERS0_
__ZN3tbb10spin_mutex11scoped_lock16internal_releaseEv
__ZN3tbb10spin_mutex11scoped_lock20internal_try_acquireERS0_
__ZN3tbb10spin_mutex18internal_constructEv

# mutex.cpp
__ZN3tbb5mutex11scoped_lock16internal_acquireERS0_
__ZN3tbb5mutex11scoped_lock16internal_releaseEv
__ZN3tbb5mutex11scoped_lock20internal_try_acquireERS0_
__ZN3tbb5mutex16internal_destroyEv
__ZN3tbb5mutex18internal_constructEv

# recursive_mutex.cpp
__ZN3tbb15recursive_mutex11scoped_lock16internal_acquireERS0_
__ZN3tbb15recursive_mutex11scoped_lock16internal_releaseEv
__ZN3tbb15recursive_mutex11scoped_lock20internal_try_acquireERS0_
__ZN3tbb15recursive_mutex16internal_destroyEv
__ZN3tbb15recursive_mutex18internal_constructEv

# queuing_mutex.cpp
__ZN3tbb13queuing_mutex11scoped_lock7acquireERS0_
__ZN3tbb13queuing_mutex11scoped_lock7releaseEv
__ZN3tbb13queuing_mutex11scoped_lock11try_acquireERS0_
__ZN3tbb13queuing_mutex18internal_constructEv

#if !TBB_NO_LEGACY
# concurrent_hash_map
__ZNK3tbb8internal21hash_map_segment_base23internal_grow_predicateEv

# concurrent_queue.cpp v2
__ZN3tbb8internal21concurrent_queue_base12internal_popEPv
__ZN3tbb8internal21concurrent_queue_base13internal_pushEPKv
__ZN3tbb8internal21concurrent_queue_base21internal_set_capacityEim
__ZN3tbb8internal21concurrent_queue_base23internal_pop_if_presentEPv
__ZN3tbb8internal21concurrent_queue_base25internal_push_if_not_fullEPKv
__ZN3tbb8internal21concurrent_queue_baseC2Em
__ZN3tbb8internal21concurrent_queue_baseD2Ev
__ZTIN3tbb8internal21concurrent_queue_baseE
__ZTSN3tbb8internal21concurrent_queue_baseE
__ZTVN3tbb8internal21concurrent_queue_baseE
__ZN3tbb8internal30concurrent_queue_iterator_base6assignERKS1_
__ZN3tbb8internal30concurrent_queue_iterator_base7advanceEv
__ZN3tbb8internal30concurrent_queue_iterator_baseC2ERKNS0_21concurrent_queue_baseE
__ZN3tbb8internal30concurrent_queue_iterator_baseD2Ev
__ZNK3tbb8internal21concurrent_queue_base13internal_sizeEv
#endif

# concurrent_queue v3
# constructors
__ZN3tbb8internal33concurrent_queue_iterator_base_v3C2ERKNS0_24concurrent_queue_base_v3E
__ZN3tbb8internal24concurrent_queue_base_v3C2Em
# destructors
__ZN3tbb8internal33concurrent_queue_iterator_base_v3D2Ev
__ZN3tbb8internal24concurrent_queue_base_v3D2Ev
# typeinfo
__ZTIN3tbb8internal24concurrent_queue_base_v3E
__ZTSN3tbb8internal24concurrent_queue_base_v3E
#vtable
__ZTVN3tbb8internal24concurrent_queue_base_v3E
# methods
__ZN3tbb8internal33concurrent_queue_iterator_base_v37advanceEv
__ZN3tbb8internal33concurrent_queue_iterator_base_v36assignERKS1_
__ZN3tbb8internal24concurrent_queue_base_v313internal_pushEPKv
__ZN3tbb8internal24concurrent_queue_base_v325internal_push_if_not_fullEPKv
__ZN3tbb8internal24concurrent_queue_base_v312internal_popEPv
__ZN3tbb8internal24concurrent_queue_base_v323internal_pop_if_presentEPv
__ZN3tbb8internal24concurrent_queue_base_v321internal_set_capacityEim
__ZNK3tbb8internal24concurrent_queue_base_v313internal_sizeEv
__ZNK3tbb8internal24concurrent_queue_base_v314internal_emptyEv
__ZN3tbb8internal24concurrent_queue_base_v321internal_finish_clearEv
__ZNK3tbb8internal24concurrent_queue_base_v324internal_throw_exceptionEv
__ZN3tbb8internal24concurrent_queue_base_v36assignERKS1_

#if !TBB_NO_LEGACY
# concurrent_vector.cpp v2
__ZN3tbb8internal22concurrent_vector_base13internal_copyERKS1_mPFvPvPKvmE
__ZN3tbb8internal22concurrent_vector_base14internal_clearEPFvPvmEb
__ZN3tbb8internal22concurrent_vector_base15internal_assignERKS1_mPFvPvmEPFvS4_PKvmESA_
__ZN3tbb8internal22concurrent_vector_base16internal_grow_byEmmPFvPvmE
__ZN3tbb8internal22concurrent_vector_base16internal_reserveEmmm
__ZN3tbb8internal22concurrent_vector_base18internal_push_backEmRm
__ZN3tbb8internal22concurrent_vector_base25internal_grow_to_at_leastEmmPFvPvmE
__ZNK3tbb8internal22concurrent_vector_base17internal_capacityEv
#endif

# concurrent_vector v3
__ZN3tbb8internal25concurrent_vector_base_v313internal_copyERKS1_mPFvPvPKvmE
__ZN3tbb8internal25concurrent_vector_base_v314internal_clearEPFvPvmE
__ZN3tbb8internal25concurrent_vector_base_v315internal_assignERKS1_mPFvPvmEPFvS4_PKvmESA_
__ZN3tbb8internal25concurrent_vector_base_v316internal_grow_byEmmPFvPvPKvmES4_
__ZN3tbb8internal25concurrent_vector_base_v316internal_reserveEmmm
__ZN3tbb8internal25concurrent_vector_base_v318internal_push_backEmRm
__ZN3tbb8internal25concurrent_vector_base_v325internal_grow_to_at_leastEmmPFvPvPKvmES4_
__ZNK3tbb8internal25concurrent_vector_base_v317internal_capacityEv
__ZN3tbb8internal25concurrent_vector_base_v316internal_compactEmPvPFvS2_mEPFvS2_PKvmE
__ZN3tbb8internal25concurrent_vector_base_v313internal_swapERS1_
__ZNK3tbb8internal25concurrent_vector_base_v324internal_throw_exceptionEm
__ZN3tbb8internal25concurrent_vector_base_v3D2Ev
__ZN3tbb8internal25concurrent_vector_base_v315internal_resizeEmmmPKvPFvPvmEPFvS4_S3_mE
__ZN3tbb8internal25concurrent_vector_base_v337internal_grow_to_at_least_with_resultEmmPFvPvPKvmES4_

# tbb_thread
__ZN3tbb8internal13tbb_thread_v314internal_startEPFPvS2_ES2_
__ZN3tbb8internal13tbb_thread_v320hardware_concurrencyEv
__ZN3tbb8internal13tbb_thread_v34joinEv
__ZN3tbb8internal13tbb_thread_v36detachEv
__ZN3tbb8internal15free_closure_v3EPv
__ZN3tbb8internal15thread_sleep_v3ERKNS_10tick_count10interval_tE
__ZN3tbb8internal15thread_yield_v3Ev
__ZN3tbb8internal16thread_get_id_v3Ev
__ZN3tbb8internal19allocate_closure_v3Em
__ZN3tbb8internal7move_v3ERNS0_13tbb_thread_v3ES2_
