aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-02-21 23:40:06 +0300
committerarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-02-21 23:40:06 +0300
commitdbd0284ce8fa6dbab04240681dc8030b27c925a5 (patch)
tree1ed7e494d2185fa6e0fce5a449a6e252db5cb06a /contrib
parent700cb9d71f7c7a16721d302c2b9960ab189d104d (diff)
downloadydb-dbd0284ce8fa6dbab04240681dc8030b27c925a5.tar.gz
intermediate changes
ref:97eeefd83b6f381aa940777f0d803b239f434eaf
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libs/cxxsupp/openmp/extractExternal.cpp497
-rw-r--r--contrib/libs/cxxsupp/openmp/i18n/en_US.txt475
-rw-r--r--contrib/libs/cxxsupp/openmp/include/30/omp.h.var164
-rw-r--r--contrib/libs/cxxsupp/openmp/include/30/omp_lib.f.var633
-rw-r--r--contrib/libs/cxxsupp/openmp/include/30/omp_lib.f90.var358
-rw-r--r--contrib/libs/cxxsupp/openmp/include/30/omp_lib.h.var638
-rw-r--r--contrib/libs/cxxsupp/openmp/include/30/ompt.h.var487
-rw-r--r--contrib/libs/cxxsupp/openmp/include/40/omp.h.var160
-rw-r--r--contrib/libs/cxxsupp/openmp/include/40/omp_lib.f.var758
-rw-r--r--contrib/libs/cxxsupp/openmp/include/40/omp_lib.f90.var448
-rw-r--r--contrib/libs/cxxsupp/openmp/include/40/omp_lib.h.var558
-rw-r--r--contrib/libs/cxxsupp/openmp/include/40/ompt.h.var487
-rw-r--r--contrib/libs/cxxsupp/openmp/include/41/omp.h.var176
-rw-r--r--contrib/libs/cxxsupp/openmp/include/41/omp_lib.f.var788
-rw-r--r--contrib/libs/cxxsupp/openmp/include/41/omp_lib.f90.var470
-rw-r--r--contrib/libs/cxxsupp/openmp/include/41/omp_lib.h.var584
-rw-r--r--contrib/libs/cxxsupp/openmp/include/41/ompt.h.var487
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp.h4
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_atomic.h2
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_csupport.c4
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_debugger.c314
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_debugger.h51
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_dispatch.cpp4
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_ftn_entry.h2
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_ftn_stdcall.c35
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_gsupport.c2
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_import.c42
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_runtime.c2
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_sched.cpp2
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_stats.cpp609
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_stats.h2
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_stats_timing.cpp168
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_stats_timing.h110
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_stub.c252
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_stub.h61
-rw-r--r--contrib/libs/cxxsupp/openmp/kmp_tasking.c2
-rw-r--r--contrib/libs/cxxsupp/openmp/libomp.rc.var70
-rw-r--r--contrib/libs/cxxsupp/openmp/ompt-event-specific.h144
-rw-r--r--contrib/libs/cxxsupp/openmp/ompt-general.c535
-rw-r--r--contrib/libs/cxxsupp/openmp/ompt-internal.h79
-rw-r--r--contrib/libs/cxxsupp/openmp/ompt-specific.c332
-rw-r--r--contrib/libs/cxxsupp/openmp/ompt-specific.h90
-rw-r--r--contrib/libs/cxxsupp/openmp/test-touch.c31
-rw-r--r--contrib/libs/cxxsupp/openmp/ya.make2
-rw-r--r--contrib/libs/cxxsupp/openmp/z_Windows_NT-586_asm.asm1402
-rw-r--r--contrib/libs/cxxsupp/openmp/z_Windows_NT-586_util.c163
-rw-r--r--contrib/libs/cxxsupp/openmp/z_Windows_NT_util.c1932
47 files changed, 13 insertions, 14603 deletions
diff --git a/contrib/libs/cxxsupp/openmp/extractExternal.cpp b/contrib/libs/cxxsupp/openmp/extractExternal.cpp
deleted file mode 100644
index 7a6fdb7e29..0000000000
--- a/contrib/libs/cxxsupp/openmp/extractExternal.cpp
+++ /dev/null
@@ -1,497 +0,0 @@
-/*
- * extractExternal.cpp
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include <stdlib.h>
-#include <iostream>
-#include <strstream>
-#include <fstream>
-#include <string>
-#include <set>
-#include <map>
-
-/* Given a set of n object files h ('external' object files) and a set of m
- object files o ('internal' object files),
- 1. Determines r, the subset of h that o depends on, directly or indirectly
- 2. Removes the files in h - r from the file system
- 3. For each external symbol defined in some file in r, rename it in r U o
- by prefixing it with "__kmp_external_"
- Usage:
- hide.exe <n> <filenames for h> <filenames for o>
-
- Thus, the prefixed symbols become hidden in the sense that they now have a special
- prefix.
-*/
-
-using namespace std;
-
-void stop(char* errorMsg) {
- printf("%s\n", errorMsg);
- exit(1);
-}
-
-// an entry in the symbol table of a .OBJ file
-class Symbol {
-public:
- __int64 name;
- unsigned value;
- unsigned short sectionNum, type;
- char storageClass, nAux;
-};
-
-class _rstream : public istrstream {
-private:
- const char *buf;
-protected:
- _rstream(pair<const char*, streamsize> p):istrstream(p.first,p.second),buf(p.first){}
- ~_rstream() {
- delete[]buf;
- }
-};
-
-/* A stream encapuslating the content of a file or the content of a string, overriding the
- >> operator to read various integer types in binary form, as well as a symbol table
- entry.
-*/
-class rstream : public _rstream {
-private:
- template<class T>
- inline rstream& doRead(T &x) {
- read((char*)&x, sizeof(T));
- return *this;
- }
- static pair<const char*, streamsize> getBuf(const char *fileName) {
- ifstream raw(fileName,ios::binary | ios::in);
- if(!raw.is_open())
- stop("rstream.getBuf: Error opening file");
- raw.seekg(0,ios::end);
- streampos fileSize = raw.tellg();
- if(fileSize < 0)
- stop("rstream.getBuf: Error reading file");
- char *buf = new char[fileSize];
- raw.seekg(0,ios::beg);
- raw.read(buf, fileSize);
- return pair<const char*, streamsize>(buf,fileSize);
- }
-public:
- // construct from a string
- rstream(const char *buf,streamsize size):_rstream(pair<const char*,streamsize>(buf, size)){}
- /* construct from a file whole content is fully read once to initialize the content of
- this stream
- */
- rstream(const char *fileName):_rstream(getBuf(fileName)){}
- rstream& operator>>(int &x) {
- return doRead(x);
- }
- rstream& operator>>(unsigned &x) {
- return doRead(x);
- }
- rstream& operator>>(short &x) {
- return doRead(x);
- }
- rstream& operator>>(unsigned short &x) {
- return doRead(x);
- }
- rstream& operator>>(Symbol &e) {
- read((char*)&e, 18);
- return *this;
- }
-};
-
-// string table in a .OBJ file
-class StringTable {
-private:
- map<string, unsigned> directory;
- size_t length;
- char *data;
-
- // make <directory> from <length> bytes in <data>
- void makeDirectory(void) {
- unsigned i = 4;
- while(i < length) {
- string s = string(data + i);
- directory.insert(make_pair(s, i));
- i += s.size() + 1;
- }
- }
- // initialize <length> and <data> with contents specified by the arguments
- void init(const char *_data) {
- unsigned _length = *(unsigned*)_data;
-
- if(_length < sizeof(unsigned) || _length != *(unsigned*)_data)
- stop("StringTable.init: Invalid symbol table");
- if(_data[_length - 1]) {
- // to prevent runaway strings, make sure the data ends with a zero
- data = new char[length = _length + 1];
- data[_length] = 0;
- } else {
- data = new char[length = _length];
- }
- *(unsigned*)data = length;
- KMP_MEMCPY(data + sizeof(unsigned), _data + sizeof(unsigned),
- length - sizeof(unsigned));
- makeDirectory();
- }
-public:
- StringTable(rstream &f) {
- /* Construct string table by reading from f.
- */
- streampos s;
- unsigned strSize;
- char *strData;
-
- s = f.tellg();
- f>>strSize;
- if(strSize < sizeof(unsigned))
- stop("StringTable: Invalid string table");
- strData = new char[strSize];
- *(unsigned*)strData = strSize;
- // read the raw data into <strData>
- f.read(strData + sizeof(unsigned), strSize - sizeof(unsigned));
- s = f.tellg() - s;
- if(s < strSize)
- stop("StringTable: Unexpected EOF");
- init(strData);
- delete[]strData;
- }
- StringTable(const set<string> &strings) {
- /* Construct string table from given strings.
- */
- char *p;
- set<string>::const_iterator it;
- size_t s;
-
- // count required size for data
- for(length = sizeof(unsigned), it = strings.begin(); it != strings.end(); ++it) {
- size_t l = (*it).size();
-
- if(l > (unsigned) 0xFFFFFFFF)
- stop("StringTable: String too long");
- if(l > 8) {
- length += l + 1;
- if(length > (unsigned) 0xFFFFFFFF)
- stop("StringTable: Symbol table too long");
- }
- }
- data = new char[length];
- *(unsigned*)data = length;
- // populate data and directory
- for(p = data + sizeof(unsigned), it = strings.begin(); it != strings.end(); ++it) {
- const string &str = *it;
- size_t l = str.size();
- if(l > 8) {
- directory.insert(make_pair(str, p - data));
- KMP_MEMCPY(p, str.c_str(), l);
- p[l] = 0;
- p += l + 1;
- }
- }
- }
- ~StringTable() {
- delete[] data;
- }
- /* Returns encoding for given string based on this string table.
- Error if string length is greater than 8 but string is not in
- the string table--returns 0.
- */
- __int64 encode(const string &str) {
- __int64 r;
-
- if(str.size() <= 8) {
- // encoded directly
- ((char*)&r)[7] = 0;
- KMP_STRNCPY_S((char*)&r, sizeof(r), str.c_str(), 8);
- return r;
- } else {
- // represented as index into table
- map<string,unsigned>::const_iterator it = directory.find(str);
- if(it == directory.end())
- stop("StringTable::encode: String now found in string table");
- ((unsigned*)&r)[0] = 0;
- ((unsigned*)&r)[1] = (*it).second;
- return r;
- }
- }
- /* Returns string represented by x based on this string table.
- Error if x references an invalid position in the table--returns
- the empty string.
- */
- string decode(__int64 x) const {
- if(*(unsigned*)&x == 0) {
- // represented as index into table
- unsigned &p = ((unsigned*)&x)[1];
- if(p >= length)
- stop("StringTable::decode: Invalid string table lookup");
- return string(data + p);
- } else {
- // encoded directly
- char *p = (char*)&x;
- int i;
-
- for(i = 0; i < 8 && p[i]; ++i);
- return string(p, i);
- }
- }
- void write(ostream &os) {
- os.write(data, length);
- }
-};
-
-/* for the named object file, determines the set of defined symbols and the set of undefined external symbols
- and writes them to <defined> and <undefined> respectively
-*/
-void computeExternalSymbols(const char *fileName, set<string> *defined, set<string> *undefined){
- streampos fileSize;
- size_t strTabStart;
- unsigned symTabStart, symNEntries;
- rstream f(fileName);
-
- f.seekg(0,ios::end);
- fileSize = f.tellg();
-
- f.seekg(8);
- f >> symTabStart >> symNEntries;
- // seek to the string table
- f.seekg(strTabStart = symTabStart + 18 * (size_t)symNEntries);
- if(f.eof()) {
- printf("computeExternalSymbols: fileName='%s', fileSize = %lu, symTabStart = %u, symNEntries = %u\n",
- fileName, (unsigned long) fileSize, symTabStart, symNEntries);
- stop("computeExternalSymbols: Unexpected EOF 1");
- }
- StringTable stringTable(f); // read the string table
- if(f.tellg() != fileSize)
- stop("computeExternalSymbols: Unexpected data after string table");
-
- f.clear();
- f.seekg(symTabStart); // seek to the symbol table
-
- defined->clear(); undefined->clear();
- for(int i = 0; i < symNEntries; ++i) {
- // process each entry
- Symbol e;
-
- if(f.eof())
- stop("computeExternalSymbols: Unexpected EOF 2");
- f>>e;
- if(f.fail())
- stop("computeExternalSymbols: File read error");
- if(e.nAux) { // auxiliary entry: skip
- f.seekg(e.nAux * 18, ios::cur);
- i += e.nAux;
- }
- // if symbol is extern and defined in the current file, insert it
- if(e.storageClass == 2)
- if(e.sectionNum)
- defined->insert(stringTable.decode(e.name));
- else
- undefined->insert(stringTable.decode(e.name));
- }
-}
-
-/* For each occurrence of an external symbol in the object file named by
- by <fileName> that is a member of <hide>, renames it by prefixing
- with "__kmp_external_", writing back the file in-place
-*/
-void hideSymbols(char *fileName, const set<string> &hide) {
- static const string prefix("__kmp_external_");
- set<string> strings; // set of all occurring symbols, appropriately prefixed
- streampos fileSize;
- size_t strTabStart;
- unsigned symTabStart, symNEntries;
- int i;
- rstream in(fileName);
-
- in.seekg(0,ios::end);
- fileSize = in.tellg();
-
- in.seekg(8);
- in >> symTabStart >> symNEntries;
- in.seekg(strTabStart = symTabStart + 18 * (size_t)symNEntries);
- if(in.eof())
- stop("hideSymbols: Unexpected EOF");
- StringTable stringTableOld(in); // read original string table
-
- if(in.tellg() != fileSize)
- stop("hideSymbols: Unexpected data after string table");
-
- // compute set of occurring strings with prefix added
- for(i = 0; i < symNEntries; ++i) {
- Symbol e;
-
- in.seekg(symTabStart + i * 18);
- if(in.eof())
- stop("hideSymbols: Unexpected EOF");
- in >> e;
- if(in.fail())
- stop("hideSymbols: File read error");
- if(e.nAux)
- i += e.nAux;
- const string &s = stringTableOld.decode(e.name);
- // if symbol is extern and found in <hide>, prefix and insert into strings,
- // otherwise, just insert into strings without prefix
- strings.insert( (e.storageClass == 2 && hide.find(s) != hide.end()) ?
- prefix + s : s);
- }
-
- ofstream out(fileName, ios::trunc | ios::out | ios::binary);
- if(!out.is_open())
- stop("hideSymbols: Error opening output file");
-
- // make new string table from string set
- StringTable stringTableNew = StringTable(strings);
-
- // copy input file to output file up to just before the symbol table
- in.seekg(0);
- char *buf = new char[symTabStart];
- in.read(buf, symTabStart);
- out.write(buf, symTabStart);
- delete []buf;
-
- // copy input symbol table to output symbol table with name translation
- for(i = 0; i < symNEntries; ++i) {
- Symbol e;
-
- in.seekg(symTabStart + i*18);
- if(in.eof())
- stop("hideSymbols: Unexpected EOF");
- in >> e;
- if(in.fail())
- stop("hideSymbols: File read error");
- const string &s = stringTableOld.decode(e.name);
- out.seekp(symTabStart + i*18);
- e.name = stringTableNew.encode( (e.storageClass == 2 && hide.find(s) != hide.end()) ?
- prefix + s : s);
- out.write((char*)&e, 18);
- if(out.fail())
- stop("hideSymbols: File write error");
- if(e.nAux) {
- // copy auxiliary symbol table entries
- int nAux = e.nAux;
- for(int j = 1; j <= nAux; ++j) {
- in >> e;
- out.seekp(symTabStart + (i + j) * 18);
- out.write((char*)&e, 18);
- }
- i += nAux;
- }
- }
- // output string table
- stringTableNew.write(out);
-}
-
-// returns true iff <a> and <b> have no common element
-template <class T>
-bool isDisjoint(const set<T> &a, const set<T> &b) {
- set<T>::const_iterator ita, itb;
-
- for(ita = a.begin(), itb = b.begin(); ita != a.end() && itb != b.end();) {
- const T &ta = *ita, &tb = *itb;
- if(ta < tb)
- ++ita;
- else if (tb < ta)
- ++itb;
- else
- return false;
- }
- return true;
-}
-
-/* precondition: <defined> and <undefined> are arrays with <nTotal> elements where
- <nTotal> >= <nExternal>. The first <nExternal> elements correspond to the external object
- files and the rest correspond to the internal object files.
- postcondition: file x is said to depend on file y if undefined[x] and defined[y] are not
- disjoint. Returns the transitive closure of the set of internal object files, as a set of
- file indexes, under the 'depends on' relation, minus the set of internal object files.
-*/
-set<int> *findRequiredExternal(int nExternal, int nTotal, set<string> *defined, set<string> *undefined) {
- set<int> *required = new set<int>;
- set<int> fresh[2];
- int i, cur = 0;
- bool changed;
-
- for(i = nTotal - 1; i >= nExternal; --i)
- fresh[cur].insert(i);
- do {
- changed = false;
- for(set<int>::iterator it = fresh[cur].begin(); it != fresh[cur].end(); ++it) {
- set<string> &s = undefined[*it];
-
- for(i = 0; i < nExternal; ++i) {
- if(required->find(i) == required->end()) {
- if(!isDisjoint(defined[i], s)) {
- // found a new qualifying element
- required->insert(i);
- fresh[1 - cur].insert(i);
- changed = true;
- }
- }
- }
- }
- fresh[cur].clear();
- cur = 1 - cur;
- } while(changed);
- return required;
-}
-
-int main(int argc, char **argv) {
- int nExternal, nInternal, i;
- set<string> *defined, *undefined;
- set<int>::iterator it;
-
- if(argc < 3)
- stop("Please specify a positive integer followed by a list of object filenames");
- nExternal = atoi(argv[1]);
- if(nExternal <= 0)
- stop("Please specify a positive integer followed by a list of object filenames");
- if(nExternal + 2 > argc)
- stop("Too few external objects");
- nInternal = argc - nExternal - 2;
- defined = new set<string>[argc - 2];
- undefined = new set<string>[argc - 2];
-
- // determine the set of defined and undefined external symbols
- for(i = 2; i < argc; ++i)
- computeExternalSymbols(argv[i], defined + i - 2, undefined + i - 2);
-
- // determine the set of required external files
- set<int> *requiredExternal = findRequiredExternal(nExternal, argc - 2, defined, undefined);
- set<string> hide;
-
- /* determine the set of symbols to hide--namely defined external symbols of the
- required external files
- */
- for(it = requiredExternal->begin(); it != requiredExternal->end(); ++it) {
- int idx = *it;
- set<string>::iterator it2;
- /* We have to insert one element at a time instead of inserting a range because
- the insert member function taking a range doesn't exist on Windows* OS, at least
- at the time of this writing.
- */
- for(it2 = defined[idx].begin(); it2 != defined[idx].end(); ++it2)
- hide.insert(*it2);
- }
-
- /* process the external files--removing those that are not required and hiding
- the appropriate symbols in the others
- */
- for(i = 0; i < nExternal; ++i)
- if(requiredExternal->find(i) != requiredExternal->end())
- hideSymbols(argv[2 + i], hide);
- else
- remove(argv[2 + i]);
- // hide the appropriate symbols in the internal files
- for(i = nExternal + 2; i < argc; ++i)
- hideSymbols(argv[i], hide);
- return 0;
-}
diff --git a/contrib/libs/cxxsupp/openmp/i18n/en_US.txt b/contrib/libs/cxxsupp/openmp/i18n/en_US.txt
deleted file mode 100644
index 11d57eb798..0000000000
--- a/contrib/libs/cxxsupp/openmp/i18n/en_US.txt
+++ /dev/null
@@ -1,475 +0,0 @@
-# en_US.txt #
-
-#
-#//===----------------------------------------------------------------------===//
-#//
-#// The LLVM Compiler Infrastructure
-#//
-#// This file is dual licensed under the MIT and the University of Illinois Open
-#// Source Licenses. See LICENSE.txt for details.
-#//
-#//===----------------------------------------------------------------------===//
-#
-
-# Default messages, embedded into the OpenMP RTL, and source for English catalog.
-
-
-# Compatible changes (which does not require version bumping):
-# * Editing message (number and type of placeholders must remain, relative order of
-# placeholders may be changed, e.g. "File %1$s line %2$d" may be safely edited to
-# "Line %2$d file %1$s").
-# * Adding new message to the end of section.
-# Incompatible changes (version must be bumbed by 1):
-# * Introducing new placeholders to existing messages.
-# * Changing type of placeholders (e.g. "line %1$d" -> "line %1$s").
-# * Rearranging order of messages.
-# * Deleting messages.
-# Use special "OBSOLETE" pseudoidentifier for obsolete entries, which is kept only for backward
-# compatibility. When version is bumped, do not forget to delete all obsolete entries.
-
-
-# --------------------------------------------------------------------------------------------------
--*- META -*-
-# --------------------------------------------------------------------------------------------------
-
-# Meta information about message catalog.
-
-Language "English"
-Country "USA"
-LangId "1033"
-Version "2"
-Revision "20140827"
-
-
-
-# --------------------------------------------------------------------------------------------------
--*- STRINGS -*-
-# --------------------------------------------------------------------------------------------------
-
-# Strings are not complete messages, just fragments. We need to work on it and reduce number of
-# strings (to zero?).
-
-Error "Error"
-UnknownFile "(unknown file)"
-NotANumber "not a number"
-BadUnit "bad unit"
-IllegalCharacters "illegal characters"
-ValueTooLarge "value too large"
-ValueTooSmall "value too small"
-NotMultiple4K "value is not a multiple of 4k"
-UnknownTopology "Unknown processor topology"
-CantOpenCpuinfo "Cannot open /proc/cpuinfo"
-ProcCpuinfo "/proc/cpuinfo"
-NoProcRecords "cpuinfo file invalid (No processor records)"
-TooManyProcRecords "cpuinfo file invalid (Too many processor records)"
-CantRewindCpuinfo "Cannot rewind cpuinfo file"
-LongLineCpuinfo "cpuinfo file invalid (long line)"
-TooManyEntries "cpuinfo file contains too many entries"
-MissingProcField "cpuinfo file missing processor field"
-MissingPhysicalIDField "cpuinfo file missing physical id field"
-MissingValCpuinfo "cpuinfo file invalid (missing val)"
-DuplicateFieldCpuinfo "cpuinfo file invalid (duplicate field)"
-PhysicalIDsNotUnique "Physical node/pkg/core/thread ids not unique"
-ApicNotPresent "APIC not present"
-InvalidCpuidInfo "Invalid cpuid info"
-OBSOLETE "APIC ids not unique"
-InconsistentCpuidInfo "Inconsistent cpuid info"
-OutOfHeapMemory "Out of heap memory"
-MemoryAllocFailed "Memory allocation failed"
-Core "core"
-Thread "thread"
-Package "package"
-Node "node"
-OBSOLETE "<undef>"
-DecodingLegacyAPIC "decoding legacy APIC ids"
-OBSOLETE "parsing /proc/cpuinfo"
-NotDefined "value is not defined"
-EffectiveSettings "Effective settings:"
-UserSettings "User settings:"
-StorageMapWarning "warning: pointers or size don't make sense"
-OBSOLETE "CPU"
-OBSOLETE "TPU"
-OBSOLETE "TPUs per package"
-OBSOLETE "HT enabled"
-OBSOLETE "HT disabled"
-Decodingx2APIC "decoding x2APIC ids"
-NoLeaf11Support "cpuid leaf 11 not supported"
-NoLeaf4Support "cpuid leaf 4 not supported"
-ThreadIDsNotUnique "thread ids not unique"
-UsingPthread "using pthread info"
-LegacyApicIDsNotUnique "legacy APIC ids not unique"
-x2ApicIDsNotUnique "x2APIC ids not unique"
-DisplayEnvBegin "OPENMP DISPLAY ENVIRONMENT BEGIN"
-DisplayEnvEnd "OPENMP DISPLAY ENVIRONMENT END"
-Device "[device]"
-Host "[host]"
-
-
-
-# --------------------------------------------------------------------------------------------------
--*- FORMATS -*-
-# --------------------------------------------------------------------------------------------------
-
-Info "OMP: Info #%1$d: %2$s\n"
-Warning "OMP: Warning #%1$d: %2$s\n"
-Fatal "OMP: Error #%1$d: %2$s\n"
-SysErr "OMP: System error #%1$d: %2$s\n"
-Hint "OMP: Hint: %2$s\n"
-
-Pragma "%1$s pragma (at %2$s:%3$s():%4$s)"
- # %1 is pragma name (like "parallel" or "master",
- # %2 is file name,
- # %3 is function (routine) name,
- # %4 is the line number (as string, so "s" type specifier should be used).
-
-
-
-# --------------------------------------------------------------------------------------------------
--*- MESSAGES -*-
-# --------------------------------------------------------------------------------------------------
-
-# Messages of any severity: informational, warning, or fatal.
-# To maintain message numbers (they are visible to customers), add new messages to the end.
-
-# Use following prefixes for messages and hints when appropriate:
-# Aff -- Affinity messages.
-# Cns -- Consistency check failures (KMP_CONSISTENCY_CHECK).
-# Itt -- ITT Notify-related messages.
-
-LibraryIsSerial "Library is \"serial\"."
-CantOpenMessageCatalog "Cannot open message catalog \"%1$s\":"
-WillUseDefaultMessages "Default messages will be used."
-LockIsUninitialized "%1$s: Lock is uninitialized"
-LockSimpleUsedAsNestable "%1$s: Lock was initialized as simple, but used as nestable"
-LockNestableUsedAsSimple "%1$s: Lock was initialized as nestable, but used as simple"
-LockIsAlreadyOwned "%1$s: Lock is already owned by requesting thread"
-LockStillOwned "%1$s: Lock is still owned by a thread"
-LockUnsettingFree "%1$s: Attempt to release a lock not owned by any thread"
-LockUnsettingSetByAnother "%1$s: Attempt to release a lock owned by another thread"
-StackOverflow "Stack overflow detected for OpenMP thread #%1$d"
-StackOverlap "Stack overlap detected. "
-AssertionFailure "Assertion failure at %1$s(%2$d)."
-CantRegisterNewThread "Unable to register a new user thread."
-DuplicateLibrary "Initializing %1$s, but found %2$s already initialized."
-CantOpenFileForReading "Cannot open file \"%1$s\" for reading:"
-CantGetEnvVar "Getting environment variable \"%1$s\" failed:"
-CantSetEnvVar "Setting environment variable \"%1$s\" failed:"
-CantGetEnvironment "Getting environment failed:"
-BadBoolValue "%1$s=\"%2$s\": Wrong value, boolean expected."
-SSPNotBuiltIn "No Helper Thread support built in this OMP library."
-SPPSotfTerminateFailed "Helper thread failed to soft terminate."
-BufferOverflow "Buffer overflow detected."
-RealTimeSchedNotSupported "Real-time scheduling policy is not supported."
-RunningAtMaxPriority "OMP application is running at maximum priority with real-time scheduling policy. "
-CantChangeMonitorPriority "Changing priority of the monitor thread failed:"
-MonitorWillStarve "Deadlocks are highly possible due to monitor thread starvation."
-CantSetMonitorStackSize "Unable to set monitor thread stack size to %1$lu bytes:"
-CantSetWorkerStackSize "Unable to set OMP thread stack size to %1$lu bytes:"
-CantInitThreadAttrs "Thread attribute initialization failed:"
-CantDestroyThreadAttrs "Thread attribute destroying failed:"
-CantSetWorkerState "OMP thread joinable state setting failed:"
-CantSetMonitorState "Monitor thread joinable state setting failed:"
-NoResourcesForWorkerThread "System unable to allocate necessary resources for OMP thread:"
-NoResourcesForMonitorThread "System unable to allocate necessary resources for the monitor thread:"
-CantTerminateWorkerThread "Unable to terminate OMP thread:"
-ScheduleKindOutOfRange "Wrong schedule type %1$d, see <omp.h> or <omp_lib.h> file for the list of values supported."
-UnknownSchedulingType "Unknown scheduling type \"%1$d\"."
-InvalidValue "%1$s value \"%2$s\" is invalid."
-SmallValue "%1$s value \"%2$s\" is too small."
-LargeValue "%1$s value \"%2$s\" is too large."
-StgInvalidValue "%1$s: \"%2$s\" is an invalid value; ignored."
-BarrReleaseValueInvalid "%1$s release value \"%2$s\" is invalid."
-BarrGatherValueInvalid "%1$s gather value \"%2$s\" is invalid."
-OBSOLETE "%1$s supported only on debug builds; ignored."
-ParRangeSyntax "Syntax error: Usage: %1$s=[ routine=<func> | filename=<file> | range=<lb>:<ub> "
- "| excl_range=<lb>:<ub> ],..."
-UnbalancedQuotes "Unbalanced quotes in %1$s."
-EmptyString "Empty string specified for %1$s; ignored."
-LongValue "%1$s value is too long; ignored."
-InvalidClause "%1$s: Invalid clause in \"%2$s\"."
-EmptyClause "Empty clause in %1$s."
-InvalidChunk "%1$s value \"%2$s\" is invalid chunk size."
-LargeChunk "%1$s value \"%2$s\" is to large chunk size."
-IgnoreChunk "%1$s value \"%2$s\" is ignored."
-CantGetProcFreq "Cannot get processor frequency, using zero KMP_ITT_PREPARE_DELAY."
-EnvParallelWarn "%1$s must be set prior to first parallel region; ignored."
-AffParamDefined "%1$s: parameter has been specified already, ignoring \"%2$s\"."
-AffInvalidParam "%1$s: parameter invalid, ignoring \"%2$s\"."
-AffManyParams "%1$s: too many integer parameters specified, ignoring \"%2$s\"."
-AffManyParamsForLogic "%1$s: too many integer parameters specified for logical or physical type, ignoring \"%2$d\"."
-AffNoParam "%1$s: '%2$s' type does not take any integer parameters, ignoring them."
-AffNoProcList "%1$s: proclist not specified with explicit affinity type, using \"none\"."
-AffProcListNoType "%1$s: proclist specified, setting affinity type to \"explicit\"."
-AffProcListNotExplicit "%1$s: proclist specified without \"explicit\" affinity type, proclist ignored."
-AffSyntaxError "%1$s: syntax error, not using affinity."
-AffZeroStride "%1$s: range error (zero stride), not using affinity."
-AffStartGreaterEnd "%1$s: range error (%2$d > %3$d), not using affinity."
-AffStrideLessZero "%1$s: range error (%2$d < %3$d & stride < 0), not using affinity."
-AffRangeTooBig "%1$s: range error ((%2$d-%3$d)/%4$d too big), not using affinity."
-OBSOLETE "%1$s: %2$s is defined. %3$s will be ignored."
-AffNotSupported "%1$s: affinity not supported, using \"disabled\"."
-OBSOLETE "%1$s: affinity only supported for Intel(R) processors."
-GetAffSysCallNotSupported "%1$s: getaffinity system call not supported."
-SetAffSysCallNotSupported "%1$s: setaffinity system call not supported."
-OBSOLETE "%1$s: pthread_aff_set_np call not found."
-OBSOLETE "%1$s: pthread_get_num_resources_np call not found."
-OBSOLETE "%1$s: the OS kernel does not support affinity."
-OBSOLETE "%1$s: pthread_get_num_resources_np returned %2$d."
-AffCantGetMaskSize "%1$s: cannot determine proper affinity mask size."
-ParseSizeIntWarn "%1$s=\"%2$s\": %3$s."
-ParseExtraCharsWarn "%1$s: extra trailing characters ignored: \"%2$s\"."
-UnknownForceReduction "%1$s: unknown method \"%2$s\"."
-TimerUseGettimeofday "KMP_STATS_TIMER: clock_gettime is undefined, using gettimeofday."
-TimerNeedMoreParam "KMP_STATS_TIMER: \"%1$s\" needs additional parameter, e.g. 'clock_gettime,2'. Using gettimeofday."
-TimerInvalidParam "KMP_STATS_TIMER: clock_gettime parameter \"%1$s\" is invalid, using gettimeofday."
-TimerGettimeFailed "KMP_STATS_TIMER: clock_gettime failed, using gettimeofday."
-TimerUnknownFunction "KMP_STATS_TIMER: clock function unknown (ignoring value \"%1$s\")."
-UnknownSchedTypeDetected "Unknown scheduling type detected."
-DispatchManyThreads "Too many threads to use analytical guided scheduling - switching to iterative guided scheduling."
-IttLookupFailed "ittnotify: Lookup of \"%1$s\" function in \"%2$s\" library failed."
-IttLoadLibFailed "ittnotify: Loading \"%1$s\" library failed."
-IttAllNotifDisabled "ittnotify: All itt notifications disabled."
-IttObjNotifDisabled "ittnotify: Object state itt notifications disabled."
-IttMarkNotifDisabled "ittnotify: Mark itt notifications disabled."
-IttUnloadLibFailed "ittnotify: Unloading \"%1$s\" library failed."
-CantFormThrTeam "Cannot form a team with %1$d threads, using %2$d instead."
-ActiveLevelsNegative "Requested number of active parallel levels \"%1$d\" is negative; ignored."
-ActiveLevelsExceedLimit "Requested number of active parallel levels \"%1$d\" exceeds supported limit; "
- "the following limit value will be used: \"%1$d\"."
-SetLibraryIncorrectCall "kmp_set_library must only be called from the top level serial thread; ignored."
-FatalSysError "Fatal system error detected."
-OutOfHeapMemory "Out of heap memory."
-OBSOLETE "Clearing __KMP_REGISTERED_LIB env var failed."
-OBSOLETE "Registering library with env var failed."
-Using_int_Value "%1$s value \"%2$d\" will be used."
-Using_uint_Value "%1$s value \"%2$u\" will be used."
-Using_uint64_Value "%1$s value \"%2$s\" will be used."
-Using_str_Value "%1$s value \"%2$s\" will be used."
-MaxValueUsing "%1$s maximum value \"%2$d\" will be used."
-MinValueUsing "%1$s minimum value \"%2$d\" will be used."
-MemoryAllocFailed "Memory allocation failed."
-FileNameTooLong "File name too long."
-OBSOLETE "Lock table overflow."
-ManyThreadsForTPDirective "Too many threads to use threadprivate directive."
-AffinityInvalidMask "%1$s: invalid mask."
-WrongDefinition "Wrong definition."
-TLSSetValueFailed "Windows* OS: TLS Set Value failed."
-TLSOutOfIndexes "Windows* OS: TLS out of indexes."
-OBSOLETE "PDONE directive must be nested within a DO directive."
-CantGetNumAvailCPU "Cannot get number of available CPUs."
-AssumedNumCPU "Assumed number of CPUs is 2."
-ErrorInitializeAffinity "Error initializing affinity - not using affinity."
-AffThreadsMayMigrate "Threads may migrate across all available OS procs (granularity setting too coarse)."
-AffIgnoreInvalidProcID "Ignoring invalid OS proc ID %1$d."
-AffNoValidProcID "No valid OS proc IDs specified - not using affinity."
-UsingFlatOS "%1$s - using \"flat\" OS <-> physical proc mapping."
-UsingFlatOSFile "%1$s: %2$s - using \"flat\" OS <-> physical proc mapping."
-UsingFlatOSFileLine "%1$s, line %2$d: %3$s - using \"flat\" OS <-> physical proc mapping."
-FileMsgExiting "%1$s: %2$s - exiting."
-FileLineMsgExiting "%1$s, line %2$d: %3$s - exiting."
-ConstructIdentInvalid "Construct identifier invalid."
-ThreadIdentInvalid "Thread identifier invalid."
-RTLNotInitialized "runtime library not initialized."
-TPCommonBlocksInconsist "Inconsistent THREADPRIVATE common block declarations are non-conforming "
- "and are unsupported. Either all threadprivate common blocks must be declared "
- "identically, or the largest instance of each threadprivate common block "
- "must be referenced first during the run."
-CantSetThreadAffMask "Cannot set thread affinity mask."
-CantSetThreadPriority "Cannot set thread priority."
-CantCreateThread "Cannot create thread."
-CantCreateEvent "Cannot create event."
-CantSetEvent "Cannot set event."
-CantCloseHandle "Cannot close handle."
-UnknownLibraryType "Unknown library type: %1$d."
-ReapMonitorError "Monitor did not reap properly."
-ReapWorkerError "Worker thread failed to join."
-ChangeThreadAffMaskError "Cannot change thread affinity mask."
-ThreadsMigrate "%1$s: Threads may migrate across %2$d innermost levels of machine"
-DecreaseToThreads "%1$s: decrease to %2$d threads"
-IncreaseToThreads "%1$s: increase to %2$d threads"
-OBSOLETE "%1$s: Internal thread %2$d bound to OS proc set %3$s"
-AffCapableUseCpuinfo "%1$s: Affinity capable, using cpuinfo file"
-AffUseGlobCpuid "%1$s: Affinity capable, using global cpuid info"
-AffCapableUseFlat "%1$s: Affinity capable, using default \"flat\" topology"
-AffNotCapableUseLocCpuid "%1$s: Affinity not capable, using local cpuid info"
-AffNotCapableUseCpuinfo "%1$s: Affinity not capable, using cpuinfo file"
-AffFlatTopology "%1$s: Affinity not capable, assumming \"flat\" topology"
-InitOSProcSetRespect "%1$s: Initial OS proc set respected: %2$s"
-InitOSProcSetNotRespect "%1$s: Initial OS proc set not respected: %2$s"
-AvailableOSProc "%1$s: %2$d available OS procs"
-Uniform "%1$s: Uniform topology"
-NonUniform "%1$s: Nonuniform topology"
-Topology "%1$s: %2$d packages x %3$d cores/pkg x %4$d threads/core (%5$d total cores)"
-OBSOLETE "%1$s: OS proc to physical thread map ([] => level not in map):"
-OSProcToPackage "%1$s: OS proc <n> maps to <n>th package core 0"
-OBSOLETE "%1$s: OS proc %2$d maps to package %3$d [core %4$d] [thread %5$d]"
-OBSOLETE "%1$s: OS proc %2$d maps to [package %3$d] [core %4$d] [thread %5$d]"
-OBSOLETE "%1$s: OS proc %2$d maps to [package %3$d] [core %4$d] thread %5$d"
-OBSOLETE "%1$s: OS proc %2$d maps to [package %3$d] core %4$d [thread %5$d]"
-OBSOLETE "%1$s: OS proc %2$d maps to package %3$d [core %4$d] [thread %5$d]"
-OBSOLETE "%1$s: OS proc %2$d maps to [package %3$d] core %4$d thread %5$d"
-OBSOLETE "%1$s: OS proc %2$d maps to package %3$d core %4$d [thread %5$d]"
-OBSOLETE "%1$s: OS proc %2$d maps to package %3$d [core %4$d] thread %5$d"
-OBSOLETE "%1$s: OS proc %2$d maps to package %3$d core %4$d thread %5$d"
-OSProcMapToPack "%1$s: OS proc %2$d maps to %3$s"
-OBSOLETE "%1$s: Internal thread %2$d changed affinity mask from %3$s to %4$s"
-OBSOLETE "%1$s: OS proc %2$d maps to package %3$d, CPU %4$d, TPU %5$d"
-OBSOLETE "%1$s: OS proc %2$d maps to package %3$d, CPU %4$d"
-OBSOLETE "%1$s: HT enabled; %2$d packages; %3$d TPU; %4$d TPUs per package"
-OBSOLETE "%1$s: HT disabled; %2$d packages"
-BarriersInDifferentOrder "Threads encountered barriers in different order. "
-FunctionError "Function %1$s failed:"
-TopologyExtra "%1$s: %2$s packages x %3$d cores/pkg x %4$d threads/core (%5$d total cores)"
-WrongMessageCatalog "Incompatible message catalog \"%1$s\": Version \"%2$s\" found, version \"%3$s\" expected."
-StgIgnored "%1$s: ignored because %2$s has been defined"
- # %1, -- name of ignored variable, %2 -- name of variable with higher priority.
-OBSOLETE "%1$s: overrides %3$s specified before"
- # %1, %2 -- name and value of the overriding variable, %3 -- name of overriden variable.
-
-# --- OpenMP errors detected at runtime ---
-#
-# %1 is the name of OpenMP construct (formatted with "Pragma" format).
-#
-CnsBoundToWorksharing "%1$s must be bound to a work-sharing or work-queuing construct with an \"ordered\" clause"
-CnsDetectedEnd "Detected end of %1$s without first executing a corresponding beginning."
-CnsIterationRangeTooLarge "Iteration range too large in %1$s."
-CnsLoopIncrZeroProhibited "%1$s must not have a loop increment that evaluates to zero."
-#
-# %1 is the name of the first OpenMP construct, %2 -- the name of the second one (both formatted with "Pragma" format).
-#
-CnsExpectedEnd "Expected end of %1$s; %2$s, however, has most recently begun execution."
-CnsInvalidNesting "%1$s is incorrectly nested within %2$s"
-CnsMultipleNesting "%1$s cannot be executed multiple times during execution of one parallel iteration/section of %2$s"
-CnsNestingSameName "%1$s is incorrectly nested within %2$s of the same name"
-CnsNoOrderedClause "%1$s is incorrectly nested within %2$s that does not have an \"ordered\" clause"
-CnsNotInTaskConstruct "%1$s is incorrectly nested within %2$s but not within any of its \"task\" constructs"
-CnsThreadsAtBarrier "One thread at %1$s while another thread is at %2$s."
-
-# New errors
-CantConnect "Cannot connect to %1$s"
-CantConnectUsing "Cannot connect to %1$s - Using %2$s"
-LibNotSupport "%1$s does not support %2$s. Continuing without using %2$s."
-LibNotSupportFor "%1$s does not support %2$s for %3$s. Continuing without using %2$s."
-StaticLibNotSupport "Static %1$s does not support %2$s. Continuing without using %2$s."
-OBSOLETE "KMP_DYNAMIC_MODE=irml cannot be used with KMP_USE_IRML=0"
-IttUnknownGroup "ittnotify: Unknown group \"%2$s\" specified in environment variable \"%1$s\"."
-IttEnvVarTooLong "ittnotify: Environment variable \"%1$s\" too long: Actual lengths is %2$lu, max allowed length is %3$lu."
-AffUseGlobCpuidL11 "%1$s: Affinity capable, using global cpuid leaf 11 info"
-AffNotCapableUseLocCpuidL11 "%1$s: Affinity not capable, using local cpuid leaf 11 info"
-AffInfoStr "%1$s: %2$s."
-AffInfoStrStr "%1$s: %2$s - %3$s."
-OSProcToPhysicalThreadMap "%1$s: OS proc to physical thread map:"
-AffUsingFlatOS "%1$s: using \"flat\" OS <-> physical proc mapping."
-AffParseFilename "%1$s: parsing %2$s."
-MsgExiting "%1$s - exiting."
-IncompatibleLibrary "Incompatible %1$s library with version %2$s found."
-IttFunctionError "ittnotify: Function %1$s failed:"
-IttUnknownError "ittnofify: Error #%1$d."
-EnvMiddleWarn "%1$s must be set prior to first parallel region or certain API calls; ignored."
-CnsLockNotDestroyed "Lock initialized at %1$s(%2$d) was not destroyed"
- # %1, %2, %3, %4 -- file, line, func, col
-CantLoadBalUsing "Cannot determine machine load balance - Using %1$s"
-AffNotCapableUsePthread "%1$s: Affinity not capable, using pthread info"
-AffUsePthread "%1$s: Affinity capable, using pthread info"
-OBSOLETE "Loading \"%1$s\" library failed:"
-OBSOLETE "Lookup of \"%1$s\" function failed:"
-OBSOLETE "Buffer too small."
-OBSOLETE "Error #%1$d."
-NthSyntaxError "%1$s: Invalid symbols found. Check the value \"%2$s\"."
-NthSpacesNotAllowed "%1$s: Spaces between digits are not allowed \"%2$s\"."
-AffStrParseFilename "%1$s: %2$s - parsing %3$s."
-OBSOLETE "%1$s cannot be specified via kmp_set_defaults() on this machine because it has more than one processor group."
-AffTypeCantUseMultGroups "Cannot use affinity type \"%1$s\" with multiple Windows* OS processor groups, using \"%2$s\"."
-AffGranCantUseMultGroups "Cannot use affinity granularity \"%1$s\" with multiple Windows* OS processor groups, using \"%2$s\"."
-AffWindowsProcGroupMap "%1$s: Mapping Windows* OS processor group <i> proc <j> to OS proc 64*<i>+<j>."
-AffOSProcToGroup "%1$s: OS proc %2$d maps to Windows* OS processor group %3$d proc %4$d"
-AffBalancedNotAvail "%1$s: Affinity balanced is not available."
-OBSOLETE "%1$s: granularity=core will be used."
-EnvLockWarn "%1$s must be set prior to first OMP lock call or critical section; ignored."
-FutexNotSupported "futex system call not supported; %1$s=%2$s ignored."
-AffGranUsing "%1$s: granularity=%2$s will be used."
-AffThrPlaceInvalid "%1$s: invalid value \"%2$s\", valid format is \"Ns[@N],Nc[@N],Nt "
- "(nSockets@offset, nCores@offset, nTthreads per core)\"."
-AffThrPlaceUnsupported "KMP_PLACE_THREADS ignored: unsupported architecture."
-AffThrPlaceManyCores "KMP_PLACE_THREADS ignored: too many cores requested."
-SyntaxErrorUsing "%1$s: syntax error, using %2$s."
-AdaptiveNotSupported "%1$s: Adaptive locks are not supported; using queuing."
-EnvSyntaxError "%1$s: Invalid symbols found. Check the value \"%2$s\"."
-EnvSpacesNotAllowed "%1$s: Spaces between digits are not allowed \"%2$s\"."
-BoundToOSProcSet "%1$s: pid %2$d thread %3$d bound to OS proc set %4$s"
-CnsLoopIncrIllegal "%1$s error: parallel loop increment and condition are inconsistent."
-NoGompCancellation "libgomp cancellation is not currently supported."
-AffThrPlaceNonUniform "KMP_PLACE_THREADS ignored: non-uniform topology."
-AffThrPlaceNonThreeLevel "KMP_PLACE_THREADS ignored: only three-level topology is supported."
-AffGranTopGroup "%1$s: granularity=%2$s is not supported with KMP_TOPOLOGY_METHOD=group. Using \"granularity=fine\"."
-AffGranGroupType "%1$s: granularity=group is not supported with KMP_AFFINITY=%2$s. Using \"granularity=core\"."
-AffThrPlaceManySockets "KMP_PLACE_THREADS ignored: too many sockets requested."
-AffThrPlaceDeprecated "KMP_PLACE_THREADS \"o\" offset designator deprecated, please use @ prefix for offset value."
-AffUsingHwloc "%1$s: Affinity capable, using hwloc."
-AffIgnoringHwloc "%1$s: Ignoring hwloc mechanism."
-AffHwlocErrorOccurred "%1$s: Hwloc failed in %2$s. Relying on internal affinity mechanisms."
-
-
-# --------------------------------------------------------------------------------------------------
--*- HINTS -*-
-# --------------------------------------------------------------------------------------------------
-
-# Hints. Hint may be printed after a message. Usually it is longer explanation text or suggestion.
-# To maintain hint numbers (they are visible to customers), add new hints to the end.
-
-SubmitBugReport "Please submit a bug report with this message, compile and run "
- "commands used, and machine configuration info including native "
- "compiler and operating system versions. Faster response will be "
- "obtained by including all program sources. For information on "
- "submitting this issue, please see "
- "http://www.intel.com/software/products/support/."
-OBSOLETE "Check NLSPATH environment variable, its value is \"%1$s\"."
-ChangeStackLimit "Please try changing the shell stack limit or adjusting the "
- "OMP_STACKSIZE environment variable."
-Unset_ALL_THREADS "Consider unsetting KMP_ALL_THREADS and OMP_THREAD_LIMIT (if either is set)."
-Set_ALL_THREADPRIVATE "Consider setting KMP_ALL_THREADPRIVATE to a value larger than %1$d."
-PossibleSystemLimitOnThreads "This could also be due to a system-related limit on the number of threads."
-DuplicateLibrary "This means that multiple copies of the OpenMP runtime have been "
- "linked into the program. That is dangerous, since it can degrade "
- "performance or cause incorrect results. "
- "The best thing to do is to ensure that only a single OpenMP runtime is "
- "linked into the process, e.g. by avoiding static linking of the OpenMP "
- "runtime in any library. As an unsafe, unsupported, undocumented workaround "
- "you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow "
- "the program to continue to execute, but that may cause crashes or "
- "silently produce incorrect results. "
- "For more information, please see http://www.intel.com/software/products/support/."
-NameComesFrom_CPUINFO_FILE "This name is specified in environment variable KMP_CPUINFO_FILE."
-NotEnoughMemory "Seems application required too much memory."
-ValidBoolValues "Use \"0\", \"FALSE\". \".F.\", \"off\", \"no\" as false values, "
- "\"1\", \"TRUE\", \".T.\", \"on\", \"yes\" as true values."
-BufferOverflow "Perhaps too many threads."
-RunningAtMaxPriority "Decrease priority of application. "
- "This will allow the monitor thread run at higher priority than other threads."
-ChangeMonitorStackSize "Try changing KMP_MONITOR_STACKSIZE or the shell stack limit."
-ChangeWorkerStackSize "Try changing OMP_STACKSIZE and/or the shell stack limit."
-IncreaseWorkerStackSize "Try increasing OMP_STACKSIZE or the shell stack limit."
-DecreaseWorkerStackSize "Try decreasing OMP_STACKSIZE."
-Decrease_NUM_THREADS "Try decreasing the value of OMP_NUM_THREADS."
-IncreaseMonitorStackSize "Try increasing KMP_MONITOR_STACKSIZE."
-DecreaseMonitorStackSize "Try decreasing KMP_MONITOR_STACKSIZE."
-DecreaseNumberOfThreadsInUse "Try decreasing the number of threads in use simultaneously."
-DefaultScheduleKindUsed "Will use default schedule type (%1$s)."
-GetNewerLibrary "It could be a result of using an older OMP library with a newer "
- "compiler or memory corruption. You may check the proper OMP library "
- "is linked to the application."
-CheckEnvVar "Check %1$s environment variable, its value is \"%2$s\"."
-OBSOLETE "You may want to use an %1$s library that supports %2$s interface with version %3$s."
-OBSOLETE "You may want to use an %1$s library with version %2$s."
-BadExeFormat "System error #193 is \"Bad format of EXE or DLL file\". "
- "Usually it means the file is found, but it is corrupted or "
- "a file for another architecture. "
- "Check whether \"%1$s\" is a file for %2$s architecture."
-SystemLimitOnThreads "System-related limit on the number of threads."
-
-
-
-# --------------------------------------------------------------------------------------------------
-# end of file #
-# --------------------------------------------------------------------------------------------------
-
diff --git a/contrib/libs/cxxsupp/openmp/include/30/omp.h.var b/contrib/libs/cxxsupp/openmp/include/30/omp.h.var
deleted file mode 100644
index 9ffcfb297b..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/30/omp.h.var
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * include/30/omp.h.var
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifndef __OMP_H
-# define __OMP_H
-
-# define KMP_VERSION_MAJOR @LIBOMP_VERSION_MAJOR@
-# define KMP_VERSION_MINOR @LIBOMP_VERSION_MINOR@
-# define KMP_VERSION_BUILD @LIBOMP_VERSION_BUILD@
-# define KMP_BUILD_DATE "@LIBOMP_BUILD_DATE@"
-
-# ifdef __cplusplus
- extern "C" {
-# endif
-
-# define omp_set_num_threads ompc_set_num_threads
-# define omp_set_dynamic ompc_set_dynamic
-# define omp_set_nested ompc_set_nested
-# define omp_set_max_active_levels ompc_set_max_active_levels
-# define omp_set_schedule ompc_set_schedule
-# define omp_get_ancestor_thread_num ompc_get_ancestor_thread_num
-# define omp_get_team_size ompc_get_team_size
-
-
-# define kmp_set_stacksize kmpc_set_stacksize
-# define kmp_set_stacksize_s kmpc_set_stacksize_s
-# define kmp_set_blocktime kmpc_set_blocktime
-# define kmp_set_library kmpc_set_library
-# define kmp_set_defaults kmpc_set_defaults
-# define kmp_set_affinity_mask_proc kmpc_set_affinity_mask_proc
-# define kmp_unset_affinity_mask_proc kmpc_unset_affinity_mask_proc
-# define kmp_get_affinity_mask_proc kmpc_get_affinity_mask_proc
-
-# define kmp_malloc kmpc_malloc
-# define kmp_calloc kmpc_calloc
-# define kmp_realloc kmpc_realloc
-# define kmp_free kmpc_free
-
-
-# if defined(_WIN32)
-# define __KAI_KMPC_CONVENTION __cdecl
-# else
-# define __KAI_KMPC_CONVENTION
-# endif
-
- /* schedule kind constants */
- typedef enum omp_sched_t {
- omp_sched_static = 1,
- omp_sched_dynamic = 2,
- omp_sched_guided = 3,
- omp_sched_auto = 4
- } omp_sched_t;
-
- /* set API functions */
- extern void __KAI_KMPC_CONVENTION omp_set_num_threads (int);
- extern void __KAI_KMPC_CONVENTION omp_set_dynamic (int);
- extern void __KAI_KMPC_CONVENTION omp_set_nested (int);
- extern void __KAI_KMPC_CONVENTION omp_set_max_active_levels (int);
- extern void __KAI_KMPC_CONVENTION omp_set_schedule (omp_sched_t, int);
-
- /* query API functions */
- extern int __KAI_KMPC_CONVENTION omp_get_num_threads (void);
- extern int __KAI_KMPC_CONVENTION omp_get_dynamic (void);
- extern int __KAI_KMPC_CONVENTION omp_get_nested (void);
- extern int __KAI_KMPC_CONVENTION omp_get_max_threads (void);
- extern int __KAI_KMPC_CONVENTION omp_get_thread_num (void);
- extern int __KAI_KMPC_CONVENTION omp_get_num_procs (void);
- extern int __KAI_KMPC_CONVENTION omp_in_parallel (void);
- extern int __KAI_KMPC_CONVENTION omp_in_final (void);
- extern int __KAI_KMPC_CONVENTION omp_get_active_level (void);
- extern int __KAI_KMPC_CONVENTION omp_get_level (void);
- extern int __KAI_KMPC_CONVENTION omp_get_ancestor_thread_num (int);
- extern int __KAI_KMPC_CONVENTION omp_get_team_size (int);
- extern int __KAI_KMPC_CONVENTION omp_get_thread_limit (void);
- extern int __KAI_KMPC_CONVENTION omp_get_max_active_levels (void);
- extern void __KAI_KMPC_CONVENTION omp_get_schedule (omp_sched_t *, int *);
-
- /* lock API functions */
- typedef struct omp_lock_t {
- void * _lk;
- } omp_lock_t;
-
- extern void __KAI_KMPC_CONVENTION omp_init_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_set_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_unset_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_destroy_lock (omp_lock_t *);
- extern int __KAI_KMPC_CONVENTION omp_test_lock (omp_lock_t *);
-
- /* nested lock API functions */
- typedef struct omp_nest_lock_t {
- void * _lk;
- } omp_nest_lock_t;
-
- extern void __KAI_KMPC_CONVENTION omp_init_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_set_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_unset_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_destroy_nest_lock (omp_nest_lock_t *);
- extern int __KAI_KMPC_CONVENTION omp_test_nest_lock (omp_nest_lock_t *);
-
- /* time API functions */
- extern double __KAI_KMPC_CONVENTION omp_get_wtime (void);
- extern double __KAI_KMPC_CONVENTION omp_get_wtick (void);
-
-# include <stdlib.h>
- /* kmp API functions */
- extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_stacksize (int);
- extern size_t __KAI_KMPC_CONVENTION kmp_get_stacksize_s (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_stacksize_s (size_t);
- extern int __KAI_KMPC_CONVENTION kmp_get_blocktime (void);
- extern int __KAI_KMPC_CONVENTION kmp_get_library (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_blocktime (int);
- extern void __KAI_KMPC_CONVENTION kmp_set_library (int);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_serial (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_turnaround (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_throughput (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_defaults (char const *);
-
- /* affinity API functions */
- typedef void * kmp_affinity_mask_t;
-
- extern int __KAI_KMPC_CONVENTION kmp_set_affinity (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity_max_proc (void);
- extern void __KAI_KMPC_CONVENTION kmp_create_affinity_mask (kmp_affinity_mask_t *);
- extern void __KAI_KMPC_CONVENTION kmp_destroy_affinity_mask (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_set_affinity_mask_proc (int, kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_unset_affinity_mask_proc (int, kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity_mask_proc (int, kmp_affinity_mask_t *);
-
- extern void * __KAI_KMPC_CONVENTION kmp_malloc (size_t);
- extern void * __KAI_KMPC_CONVENTION kmp_calloc (size_t, size_t);
- extern void * __KAI_KMPC_CONVENTION kmp_realloc (void *, size_t);
- extern void __KAI_KMPC_CONVENTION kmp_free (void *);
-
- extern void __KAI_KMPC_CONVENTION kmp_set_warnings_on(void);
- extern void __KAI_KMPC_CONVENTION kmp_set_warnings_off(void);
-
-# undef __KAI_KMPC_CONVENTION
-
- /* Warning:
- The following typedefs are not standard, deprecated and will be removed in a future release.
- */
- typedef int omp_int_t;
- typedef double omp_wtime_t;
-
-# ifdef __cplusplus
- }
-# endif
-
-#endif /* __OMP_H */
-
diff --git a/contrib/libs/cxxsupp/openmp/include/30/omp_lib.f.var b/contrib/libs/cxxsupp/openmp/include/30/omp_lib.f.var
deleted file mode 100644
index 99122067af..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/30/omp_lib.f.var
+++ /dev/null
@@ -1,633 +0,0 @@
-! include/30/omp_lib.f.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
-!***
-!*** Some of the directives for the following routine extend past column 72,
-!*** so process this file in 132-column mode.
-!***
-
-!dec$ fixedformlinesize:132
-
- module omp_lib_kinds
-
- integer, parameter :: omp_integer_kind = 4
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = 4
- integer, parameter :: omp_lock_kind = int_ptr_kind()
- integer, parameter :: omp_nest_lock_kind = int_ptr_kind()
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = int_ptr_kind()
- integer, parameter :: kmp_size_t_kind = int_ptr_kind()
- integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
-
- end module omp_lib_kinds
-
- module omp_lib
-
- use omp_lib_kinds
-
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*), parameter :: kmp_build_date = '@LIBOMP_BUILD_DATE@'
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_get_dynamic()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_team_size
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_wtime()
- double precision omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick ()
- double precision omp_get_wtick
- end function omp_get_wtick
-
- subroutine omp_init_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial()
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround()
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput()
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string)
- character*(*) string
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s()
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind) size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind) nelem
- integer (kind=kmp_size_t_kind) elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind) ptr
- integer (kind=kmp_size_t_kind) size
- end function kmp_realloc
-
- subroutine kmp_free(ptr)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on()
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off()
- end subroutine kmp_set_warnings_off
-
- end interface
-
-!dec$ if defined(_WIN32)
-!dec$ if defined(_WIN64) .or. defined(_M_AMD64)
-
-!***
-!*** The Fortran entry points must be in uppercase, even if the /Qlowercase
-!*** option is specified. The alias attribute ensures that the specified
-!*** string is used as the entry point.
-!***
-!*** On the Windows* OS IA-32 architecture, the Fortran entry points have an
-!*** underscore prepended. On the Windows* OS Intel(R) 64
-!*** architecture, no underscore is prepended.
-!***
-
-!dec$ attributes alias:'OMP_SET_NUM_THREADS' :: omp_set_num_threads
-!dec$ attributes alias:'OMP_SET_DYNAMIC' :: omp_set_dynamic
-!dec$ attributes alias:'OMP_SET_NESTED' :: omp_set_nested
-!dec$ attributes alias:'OMP_GET_NUM_THREADS' :: omp_get_num_threads
-!dec$ attributes alias:'OMP_GET_MAX_THREADS' :: omp_get_max_threads
-!dec$ attributes alias:'OMP_GET_THREAD_NUM' :: omp_get_thread_num
-!dec$ attributes alias:'OMP_GET_NUM_PROCS' :: omp_get_num_procs
-!dec$ attributes alias:'OMP_IN_PARALLEL' :: omp_in_parallel
-!dec$ attributes alias:'OMP_GET_DYNAMIC' :: omp_get_dynamic
-!dec$ attributes alias:'OMP_GET_NESTED' :: omp_get_nested
-!dec$ attributes alias:'OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
-!dec$ attributes alias:'OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
-!dec$ attributes alias:'OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
-!dec$ attributes alias:'OMP_GET_LEVEL' :: omp_get_level
-!dec$ attributes alias:'OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
-!dec$ attributes alias:'OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
-!dec$ attributes alias:'OMP_GET_TEAM_SIZE' :: omp_get_team_size
-!dec$ attributes alias:'OMP_SET_SCHEDULE' :: omp_set_schedule
-!dec$ attributes alias:'OMP_GET_SCHEDULE' :: omp_get_schedule
-!dec$ attributes alias:'OMP_GET_WTIME' :: omp_get_wtime
-!dec$ attributes alias:'OMP_GET_WTICK' :: omp_get_wtick
-
-!dec$ attributes alias:'omp_init_lock' :: omp_init_lock
-!dec$ attributes alias:'omp_destroy_lock' :: omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock' :: omp_set_lock
-!dec$ attributes alias:'omp_unset_lock' :: omp_unset_lock
-!dec$ attributes alias:'omp_test_lock' :: omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock' :: omp_init_nest_lock
-!dec$ attributes alias:'omp_destroy_nest_lock' :: omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock' :: omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock' :: omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock' :: omp_test_nest_lock
-
-!dec$ attributes alias:'KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ else
-
-!***
-!*** On Windows* OS IA-32 architecture, the Fortran entry points have an underscore prepended.
-!***
-
-!dec$ attributes alias:'_OMP_SET_NUM_THREADS' :: omp_set_num_threads
-!dec$ attributes alias:'_OMP_SET_DYNAMIC' :: omp_set_dynamic
-!dec$ attributes alias:'_OMP_SET_NESTED' :: omp_set_nested
-!dec$ attributes alias:'_OMP_GET_NUM_THREADS' :: omp_get_num_threads
-!dec$ attributes alias:'_OMP_GET_MAX_THREADS' :: omp_get_max_threads
-!dec$ attributes alias:'_OMP_GET_THREAD_NUM' :: omp_get_thread_num
-!dec$ attributes alias:'_OMP_GET_NUM_PROCS' :: omp_get_num_procs
-!dec$ attributes alias:'_OMP_IN_PARALLEL' :: omp_in_parallel
-!dec$ attributes alias:'_OMP_GET_DYNAMIC' :: omp_get_dynamic
-!dec$ attributes alias:'_OMP_GET_NESTED' :: omp_get_nested
-!dec$ attributes alias:'_OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
-!dec$ attributes alias:'_OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
-!dec$ attributes alias:'_OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
-!dec$ attributes alias:'_OMP_GET_LEVEL' :: omp_get_level
-!dec$ attributes alias:'_OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
-!dec$ attributes alias:'_OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
-!dec$ attributes alias:'_OMP_GET_TEAM_SIZE' :: omp_get_team_size
-!dec$ attributes alias:'_OMP_SET_SCHEDULE' :: omp_set_schedule
-!dec$ attributes alias:'_OMP_GET_SCHEDULE' :: omp_get_schedule
-!dec$ attributes alias:'_OMP_GET_WTIME' :: omp_get_wtime
-!dec$ attributes alias:'_OMP_GET_WTICK' :: omp_get_wtick
-
-!dec$ attributes alias:'_omp_init_lock' :: omp_init_lock
-!dec$ attributes alias:'_omp_destroy_lock' :: omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock' :: omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock' :: omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock' :: omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock' :: omp_init_nest_lock
-!dec$ attributes alias:'_omp_destroy_nest_lock' :: omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock' :: omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock' :: omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock' :: omp_test_nest_lock
-
-!dec$ attributes alias:'_KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'_KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'_KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'_KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'_KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'_KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'_KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'_KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'_KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'_KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'_KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'_KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'_KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'_KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'_KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'_KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'_KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'_KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ endif
-!dec$ endif
-
-!dec$ if defined(__linux)
-
-!***
-!*** The Linux* OS entry points are in lowercase, with an underscore appended.
-!***
-
-!dec$ attributes alias:'omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'omp_get_level_'::omp_get_level
-!dec$ attributes alias:'omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'omp_get_wtick_'::omp_get_wtick
-
-!dec$ attributes alias:'omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'kmp_free_'::kmp_free
-
-!dec$ attributes alias:'kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'kmp_set_warnings_off_'::kmp_set_warnings_off
-
-!dec$ endif
-
-!dec$ if defined(__APPLE__)
-
-!***
-!*** The Mac entry points are in lowercase, with an both an underscore
-!*** appended and an underscore prepended.
-!***
-
-!dec$ attributes alias:'_omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'_omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'_omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'_omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'_omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'_omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'_omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'_omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'_omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'_omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'_omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'_omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'_omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'_omp_get_level_'::omp_get_level
-!dec$ attributes alias:'_omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'_omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'_omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'_omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'_omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick
-
-!dec$ attributes alias:'_omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'_omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'_omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'_kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'_kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'_kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'_kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'_kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'_kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'_kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'_kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'_kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'_kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'_kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'_kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'_kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'_kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'_kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'_kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'_kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'_kmp_free_'::kmp_free
-
-!dec$ attributes alias:'_kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'_kmp_set_warnings_off_'::kmp_set_warnings_off
-
-!dec$ endif
-
- end module omp_lib
-
diff --git a/contrib/libs/cxxsupp/openmp/include/30/omp_lib.f90.var b/contrib/libs/cxxsupp/openmp/include/30/omp_lib.f90.var
deleted file mode 100644
index 3325486d26..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/30/omp_lib.f90.var
+++ /dev/null
@@ -1,358 +0,0 @@
-! include/30/omp_lib.f90.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
- module omp_lib_kinds
-
- use, intrinsic :: iso_c_binding
-
- integer, parameter :: omp_integer_kind = c_int
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = c_float
- integer, parameter :: kmp_double_kind = c_double
- integer, parameter :: omp_lock_kind = c_intptr_t
- integer, parameter :: omp_nest_lock_kind = c_intptr_t
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = c_intptr_t
- integer, parameter :: kmp_size_t_kind = c_size_t
- integer, parameter :: kmp_affinity_mask_kind = c_intptr_t
-
- end module omp_lib_kinds
-
- module omp_lib
-
- use omp_lib_kinds
-
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*) kmp_build_date
- parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' )
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable) bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable) bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_in_final() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_final
- end function omp_in_final
-
- function omp_get_dynamic() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) :: omp_get_level
- end function omp_get_level
-
- function omp_get_active_level() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) :: omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_team_size
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier) bind(c)
- use omp_lib_kinds
- integer (kind=omp_sched_kind), value :: kind
- integer (kind=omp_integer_kind), value :: modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier) bind(c)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) :: kind
- integer (kind=omp_integer_kind) :: modifier
- end subroutine omp_get_schedule
-
- function omp_get_wtime() bind(c)
- use omp_lib_kinds
- real (kind=kmp_double_kind) omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick() bind(c)
- use omp_lib_kinds
- real (kind=kmp_double_kind) omp_get_wtick
- end function omp_get_wtick
-
- subroutine omp_init_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar) bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind), value :: size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial() bind(c)
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround() bind(c)
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput() bind(c)
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string) bind(c)
- use, intrinsic :: iso_c_binding
- character (kind=c_char) :: string(*)
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s() bind(c)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind), value :: nelem
- integer (kind=kmp_size_t_kind), value :: elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind), value :: ptr
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_realloc
-
- subroutine kmp_free(ptr) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind), value :: ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on() bind(c)
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off() bind(c)
- end subroutine kmp_set_warnings_off
-
- end interface
-
- end module omp_lib
diff --git a/contrib/libs/cxxsupp/openmp/include/30/omp_lib.h.var b/contrib/libs/cxxsupp/openmp/include/30/omp_lib.h.var
deleted file mode 100644
index 84ed39b321..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/30/omp_lib.h.var
+++ /dev/null
@@ -1,638 +0,0 @@
-! include/30/omp_lib.h.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
-!***
-!*** Some of the directives for the following routine extend past column 72,
-!*** so process this file in 132-column mode.
-!***
-
-!dec$ fixedformlinesize:132
-
- integer, parameter :: omp_integer_kind = 4
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = 4
- integer, parameter :: omp_lock_kind = int_ptr_kind()
- integer, parameter :: omp_nest_lock_kind = int_ptr_kind()
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = int_ptr_kind()
- integer, parameter :: kmp_size_t_kind = int_ptr_kind()
- integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*) kmp_build_date
- parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' )
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads)
- import
- integer (kind=omp_integer_kind) nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable)
- import
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable)
- import
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads()
- import
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads()
- import
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num()
- import
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs()
- import
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel()
- import
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_in_final()
- import
- logical (kind=omp_logical_kind) omp_in_final
- end function omp_in_final
-
- function omp_get_dynamic()
- import
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested()
- import
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit()
- import
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels)
- import
- integer (kind=omp_integer_kind) max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels()
- import
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level()
- import
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level()
- import
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level)
- import
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level)
- import
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_team_size
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier)
- import
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier)
- import
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_wtime()
- double precision omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick ()
- double precision omp_get_wtick
- end function omp_get_wtick
-
- subroutine omp_init_lock(lockvar)
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar)
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar)
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar)
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar)
- import
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar)
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar)
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar)
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar)
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar)
- import
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size)
- import
- integer (kind=omp_integer_kind) size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size)
- import
- integer (kind=kmp_size_t_kind) size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec)
- import
- integer (kind=omp_integer_kind) msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial()
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround()
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput()
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum)
- import
- integer (kind=omp_integer_kind) libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string)
- character*(*) string
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize()
- import
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s()
- import
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime()
- import
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library()
- import
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask)
- import
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc()
- import
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask)
- import
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask)
- import
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask)
- import
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask)
- import
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size)
- import
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind) size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize)
- import
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind) nelem
- integer (kind=kmp_size_t_kind) elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size)
- import
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind) ptr
- integer (kind=kmp_size_t_kind) size
- end function kmp_realloc
-
- subroutine kmp_free(ptr)
- import
- integer (kind=kmp_pointer_kind) ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on()
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off()
- end subroutine kmp_set_warnings_off
-
- end interface
-
-!dec$ if defined(_WIN32)
-!dec$ if defined(_WIN64) .or. defined(_M_AMD64)
-
-!***
-!*** The Fortran entry points must be in uppercase, even if the /Qlowercase
-!*** option is specified. The alias attribute ensures that the specified
-!*** string is used as the entry point.
-!***
-!*** On the Windows* OS IA-32 architecture, the Fortran entry points have an
-!*** underscore prepended. On the Windows* OS Intel(R) 64
-!*** architecture, no underscore is prepended.
-!***
-
-!dec$ attributes alias:'OMP_SET_NUM_THREADS'::omp_set_num_threads
-!dec$ attributes alias:'OMP_SET_DYNAMIC'::omp_set_dynamic
-!dec$ attributes alias:'OMP_SET_NESTED'::omp_set_nested
-!dec$ attributes alias:'OMP_GET_NUM_THREADS'::omp_get_num_threads
-!dec$ attributes alias:'OMP_GET_MAX_THREADS'::omp_get_max_threads
-!dec$ attributes alias:'OMP_GET_THREAD_NUM'::omp_get_thread_num
-!dec$ attributes alias:'OMP_GET_NUM_PROCS'::omp_get_num_procs
-!dec$ attributes alias:'OMP_IN_PARALLEL'::omp_in_parallel
-!dec$ attributes alias:'OMP_IN_FINAL'::omp_in_final
-!dec$ attributes alias:'OMP_GET_DYNAMIC'::omp_get_dynamic
-!dec$ attributes alias:'OMP_GET_NESTED'::omp_get_nested
-!dec$ attributes alias:'OMP_GET_THREAD_LIMIT'::omp_get_thread_limit
-!dec$ attributes alias:'OMP_SET_MAX_ACTIVE_LEVELS'::omp_set_max_active_levels
-!dec$ attributes alias:'OMP_GET_MAX_ACTIVE_LEVELS'::omp_get_max_active_levels
-!dec$ attributes alias:'OMP_GET_LEVEL'::omp_get_level
-!dec$ attributes alias:'OMP_GET_ACTIVE_LEVEL'::omp_get_active_level
-!dec$ attributes alias:'OMP_GET_ANCESTOR_THREAD_NUM'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'OMP_GET_TEAM_SIZE'::omp_get_team_size
-!dec$ attributes alias:'OMP_SET_SCHEDULE'::omp_set_schedule
-!dec$ attributes alias:'OMP_GET_SCHEDULE'::omp_get_schedule
-!dec$ attributes alias:'OMP_GET_WTIME'::omp_get_wtime
-!dec$ attributes alias:'OMP_GET_WTICK'::omp_get_wtick
-
-!dec$ attributes alias:'omp_init_lock'::omp_init_lock
-!dec$ attributes alias:'omp_destroy_lock'::omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock'::omp_set_lock
-!dec$ attributes alias:'omp_unset_lock'::omp_unset_lock
-!dec$ attributes alias:'omp_test_lock'::omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock'::omp_init_nest_lock
-!dec$ attributes alias:'omp_destroy_nest_lock'::omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock'::omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock'::omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock'::omp_test_nest_lock
-
-!dec$ attributes alias:'KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'KMP_SET_DEFAULTS'::kmp_set_defaults
-!dec$ attributes alias:'KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ else
-
-!***
-!*** On Windows* OS IA-32 architecture, the Fortran entry points have an underscore prepended.
-!***
-
-!dec$ attributes alias:'_OMP_SET_NUM_THREADS'::omp_set_num_threads
-!dec$ attributes alias:'_OMP_SET_DYNAMIC'::omp_set_dynamic
-!dec$ attributes alias:'_OMP_SET_NESTED'::omp_set_nested
-!dec$ attributes alias:'_OMP_GET_NUM_THREADS'::omp_get_num_threads
-!dec$ attributes alias:'_OMP_GET_MAX_THREADS'::omp_get_max_threads
-!dec$ attributes alias:'_OMP_GET_THREAD_NUM'::omp_get_thread_num
-!dec$ attributes alias:'_OMP_GET_NUM_PROCS'::omp_get_num_procs
-!dec$ attributes alias:'_OMP_IN_PARALLEL'::omp_in_parallel
-!dec$ attributes alias:'_OMP_IN_FINAL'::omp_in_final
-!dec$ attributes alias:'_OMP_GET_DYNAMIC'::omp_get_dynamic
-!dec$ attributes alias:'_OMP_GET_NESTED'::omp_get_nested
-!dec$ attributes alias:'_OMP_GET_THREAD_LIMIT'::omp_get_thread_limit
-!dec$ attributes alias:'_OMP_SET_MAX_ACTIVE_LEVELS'::omp_set_max_active_levels
-!dec$ attributes alias:'_OMP_GET_MAX_ACTIVE_LEVELS'::omp_get_max_active_levels
-!dec$ attributes alias:'_OMP_GET_LEVEL'::omp_get_level
-!dec$ attributes alias:'_OMP_GET_ACTIVE_LEVEL'::omp_get_active_level
-!dec$ attributes alias:'_OMP_GET_ANCESTOR_THREAD_NUM'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'_OMP_GET_TEAM_SIZE'::omp_get_team_size
-!dec$ attributes alias:'_OMP_SET_SCHEDULE'::omp_set_schedule
-!dec$ attributes alias:'_OMP_GET_SCHEDULE'::omp_get_schedule
-!dec$ attributes alias:'_OMP_GET_WTIME'::omp_get_wtime
-!dec$ attributes alias:'_OMP_GET_WTICK'::omp_get_wtick
-
-!dec$ attributes alias:'_omp_init_lock'::omp_init_lock
-!dec$ attributes alias:'_omp_destroy_lock'::omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock'::omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock'::omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock'::omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock'::omp_init_nest_lock
-!dec$ attributes alias:'_omp_destroy_nest_lock'::omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock'::omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock'::omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock'::omp_test_nest_lock
-
-!dec$ attributes alias:'_KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'_KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'_KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'_KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'_KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'_KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'_KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'_KMP_SET_DEFAULTS'::kmp_set_defaults
-!dec$ attributes alias:'_KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'_KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'_KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'_KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'_KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'_KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'_KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'_KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'_KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'_KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'_KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ endif
-!dec$ endif
-
-!dec$ if defined(__linux)
-
-!***
-!*** The Linux* OS entry points are in lowercase, with an underscore appended.
-!***
-
-!dec$ attributes alias:'omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'omp_in_final_'::omp_in_final
-!dec$ attributes alias:'omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'omp_get_level_'::omp_get_level
-!dec$ attributes alias:'omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'omp_get_wtick_'::omp_get_wtick
-
-!dec$ attributes alias:'omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'kmp_set_defaults_'::kmp_set_defaults
-!dec$ attributes alias:'kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'kmp_free_'::kmp_free
-
-!dec$ attributes alias:'kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'kmp_set_warnings_off_'::kmp_set_warnings_off
-
-!dec$ endif
-
-!dec$ if defined(__APPLE__)
-
-!***
-!*** The Mac entry points are in lowercase, with an both an underscore
-!*** appended and an underscore prepended.
-!***
-
-!dec$ attributes alias:'_omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'_omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'_omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'_omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'_omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'_omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'_omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'_omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'_omp_in_final_'::omp_in_final
-!dec$ attributes alias:'_omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'_omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'_omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'_omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'_omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'_omp_get_level_'::omp_get_level
-!dec$ attributes alias:'_omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'_omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'_omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'_omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'_omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick
-
-!dec$ attributes alias:'_omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'_omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'_omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'_kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'_kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'_kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'_kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'_kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'_kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'_kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'_kmp_set_defaults_'::kmp_set_defaults
-!dec$ attributes alias:'_kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'_kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'_kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'_kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'_kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'_kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'_kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'_kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'_kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'_kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'_kmp_free_'::kmp_free
-
-!dec$ attributes alias:'_kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'_kmp_set_warnings_off_'::kmp_set_warnings_off
-
-!dec$ endif
-
-
diff --git a/contrib/libs/cxxsupp/openmp/include/30/ompt.h.var b/contrib/libs/cxxsupp/openmp/include/30/ompt.h.var
deleted file mode 100644
index 83b4f1e3df..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/30/ompt.h.var
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
- * include/30/ompt.h.var
- */
-
-#ifndef __OMPT__
-#define __OMPT__
-
-/*****************************************************************************
- * system include files
- *****************************************************************************/
-
-#include <stdint.h>
-
-
-
-/*****************************************************************************
- * iteration macros
- *****************************************************************************/
-
-#define FOREACH_OMPT_INQUIRY_FN(macro) \
- macro (ompt_enumerate_state) \
- \
- macro (ompt_set_callback) \
- macro (ompt_get_callback) \
- \
- macro (ompt_get_idle_frame) \
- macro (ompt_get_task_frame) \
- \
- macro (ompt_get_state) \
- \
- macro (ompt_get_parallel_id) \
- macro (ompt_get_parallel_team_size) \
- macro (ompt_get_task_id) \
- macro (ompt_get_thread_id)
-
-#define FOREACH_OMPT_PLACEHOLDER_FN(macro) \
- macro (ompt_idle) \
- macro (ompt_overhead) \
- macro (ompt_barrier_wait) \
- macro (ompt_task_wait) \
- macro (ompt_mutex_wait)
-
-#define FOREACH_OMPT_STATE(macro) \
- \
- /* first */ \
- macro (ompt_state_first, 0x71) /* initial enumeration state */ \
- \
- /* work states (0..15) */ \
- macro (ompt_state_work_serial, 0x00) /* working outside parallel */ \
- macro (ompt_state_work_parallel, 0x01) /* working within parallel */ \
- macro (ompt_state_work_reduction, 0x02) /* performing a reduction */ \
- \
- /* idle (16..31) */ \
- macro (ompt_state_idle, 0x10) /* waiting for work */ \
- \
- /* overhead states (32..63) */ \
- macro (ompt_state_overhead, 0x20) /* overhead excluding wait states */ \
- \
- /* barrier wait states (64..79) */ \
- macro (ompt_state_wait_barrier, 0x40) /* waiting at a barrier */ \
- macro (ompt_state_wait_barrier_implicit, 0x41) /* implicit barrier */ \
- macro (ompt_state_wait_barrier_explicit, 0x42) /* explicit barrier */ \
- \
- /* task wait states (80..95) */ \
- macro (ompt_state_wait_taskwait, 0x50) /* waiting at a taskwait */ \
- macro (ompt_state_wait_taskgroup, 0x51) /* waiting at a taskgroup */ \
- \
- /* mutex wait states (96..111) */ \
- macro (ompt_state_wait_lock, 0x60) /* waiting for lock */ \
- macro (ompt_state_wait_nest_lock, 0x61) /* waiting for nest lock */ \
- macro (ompt_state_wait_critical, 0x62) /* waiting for critical */ \
- macro (ompt_state_wait_atomic, 0x63) /* waiting for atomic */ \
- macro (ompt_state_wait_ordered, 0x64) /* waiting for ordered */ \
- macro (ompt_state_wait_single, 0x6F) /* waiting for single region (non-standard!) */ \
- \
- /* misc (112..127) */ \
- macro (ompt_state_undefined, 0x70) /* undefined thread state */
-
-
-#define FOREACH_OMPT_EVENT(macro) \
- \
- /*--- Mandatory Events ---*/ \
- macro (ompt_event_parallel_begin, ompt_new_parallel_callback_t, 1) /* parallel begin */ \
- macro (ompt_event_parallel_end, ompt_end_parallel_callback_t, 2) /* parallel end */ \
- \
- macro (ompt_event_task_begin, ompt_new_task_callback_t, 3) /* task begin */ \
- macro (ompt_event_task_end, ompt_task_callback_t, 4) /* task destroy */ \
- \
- macro (ompt_event_thread_begin, ompt_thread_type_callback_t, 5) /* thread begin */ \
- macro (ompt_event_thread_end, ompt_thread_type_callback_t, 6) /* thread end */ \
- \
- macro (ompt_event_control, ompt_control_callback_t, 7) /* support control calls */ \
- \
- macro (ompt_event_runtime_shutdown, ompt_callback_t, 8) /* runtime shutdown */ \
- \
- /*--- Optional Events (blame shifting, ompt_event_unimplemented) ---*/ \
- macro (ompt_event_idle_begin, ompt_thread_callback_t, 9) /* begin idle state */ \
- macro (ompt_event_idle_end, ompt_thread_callback_t, 10) /* end idle state */ \
- \
- macro (ompt_event_wait_barrier_begin, ompt_parallel_callback_t, 11) /* begin wait at barrier */ \
- macro (ompt_event_wait_barrier_end, ompt_parallel_callback_t, 12) /* end wait at barrier */ \
- \
- macro (ompt_event_wait_taskwait_begin, ompt_parallel_callback_t, 13) /* begin wait at taskwait */ \
- macro (ompt_event_wait_taskwait_end, ompt_parallel_callback_t, 14) /* end wait at taskwait */ \
- \
- macro (ompt_event_wait_taskgroup_begin, ompt_parallel_callback_t, 15) /* begin wait at taskgroup */\
- macro (ompt_event_wait_taskgroup_end, ompt_parallel_callback_t, 16) /* end wait at taskgroup */ \
- \
- macro (ompt_event_release_lock, ompt_wait_callback_t, 17) /* lock release */ \
- macro (ompt_event_release_nest_lock_last, ompt_wait_callback_t, 18) /* last nest lock release */ \
- macro (ompt_event_release_critical, ompt_wait_callback_t, 19) /* critical release */ \
- \
- macro (ompt_event_release_atomic, ompt_wait_callback_t, 20) /* atomic release */ \
- \
- macro (ompt_event_release_ordered, ompt_wait_callback_t, 21) /* ordered release */ \
- \
- /*--- Optional Events (synchronous events, ompt_event_unimplemented) --- */ \
- macro (ompt_event_implicit_task_begin, ompt_parallel_callback_t, 22) /* implicit task begin */ \
- macro (ompt_event_implicit_task_end, ompt_parallel_callback_t, 23) /* implicit task end */ \
- \
- macro (ompt_event_initial_task_begin, ompt_parallel_callback_t, 24) /* initial task begin */ \
- macro (ompt_event_initial_task_end, ompt_parallel_callback_t, 25) /* initial task end */ \
- \
- macro (ompt_event_task_switch, ompt_task_pair_callback_t, 26) /* task switch */ \
- \
- macro (ompt_event_loop_begin, ompt_new_workshare_callback_t, 27) /* task at loop begin */ \
- macro (ompt_event_loop_end, ompt_parallel_callback_t, 28) /* task at loop end */ \
- \
- macro (ompt_event_sections_begin, ompt_new_workshare_callback_t, 29) /* task at sections begin */\
- macro (ompt_event_sections_end, ompt_parallel_callback_t, 30) /* task at sections end */ \
- \
- macro (ompt_event_single_in_block_begin, ompt_new_workshare_callback_t, 31) /* task at single begin*/ \
- macro (ompt_event_single_in_block_end, ompt_parallel_callback_t, 32) /* task at single end */ \
- \
- macro (ompt_event_single_others_begin, ompt_parallel_callback_t, 33) /* task at single begin */ \
- macro (ompt_event_single_others_end, ompt_parallel_callback_t, 34) /* task at single end */ \
- \
- macro (ompt_event_workshare_begin, ompt_new_workshare_callback_t, 35) /* task at workshare begin */\
- macro (ompt_event_workshare_end, ompt_parallel_callback_t, 36) /* task at workshare end */ \
- \
- macro (ompt_event_master_begin, ompt_parallel_callback_t, 37) /* task at master begin */ \
- macro (ompt_event_master_end, ompt_parallel_callback_t, 38) /* task at master end */ \
- \
- macro (ompt_event_barrier_begin, ompt_parallel_callback_t, 39) /* task at barrier begin */ \
- macro (ompt_event_barrier_end, ompt_parallel_callback_t, 40) /* task at barrier end */ \
- \
- macro (ompt_event_taskwait_begin, ompt_parallel_callback_t, 41) /* task at taskwait begin */ \
- macro (ompt_event_taskwait_end, ompt_parallel_callback_t, 42) /* task at task wait end */ \
- \
- macro (ompt_event_taskgroup_begin, ompt_parallel_callback_t, 43) /* task at taskgroup begin */\
- macro (ompt_event_taskgroup_end, ompt_parallel_callback_t, 44) /* task at taskgroup end */ \
- \
- macro (ompt_event_release_nest_lock_prev, ompt_wait_callback_t, 45) /* prev nest lock release */ \
- \
- macro (ompt_event_wait_lock, ompt_wait_callback_t, 46) /* lock wait */ \
- macro (ompt_event_wait_nest_lock, ompt_wait_callback_t, 47) /* nest lock wait */ \
- macro (ompt_event_wait_critical, ompt_wait_callback_t, 48) /* critical wait */ \
- macro (ompt_event_wait_atomic, ompt_wait_callback_t, 49) /* atomic wait */ \
- macro (ompt_event_wait_ordered, ompt_wait_callback_t, 50) /* ordered wait */ \
- \
- macro (ompt_event_acquired_lock, ompt_wait_callback_t, 51) /* lock acquired */ \
- macro (ompt_event_acquired_nest_lock_first, ompt_wait_callback_t, 52) /* 1st nest lock acquired */ \
- macro (ompt_event_acquired_nest_lock_next, ompt_wait_callback_t, 53) /* next nest lock acquired*/ \
- macro (ompt_event_acquired_critical, ompt_wait_callback_t, 54) /* critical acquired */ \
- macro (ompt_event_acquired_atomic, ompt_wait_callback_t, 55) /* atomic acquired */ \
- macro (ompt_event_acquired_ordered, ompt_wait_callback_t, 56) /* ordered acquired */ \
- \
- macro (ompt_event_init_lock, ompt_wait_callback_t, 57) /* lock init */ \
- macro (ompt_event_init_nest_lock, ompt_wait_callback_t, 58) /* nest lock init */ \
- \
- macro (ompt_event_destroy_lock, ompt_wait_callback_t, 59) /* lock destruction */ \
- macro (ompt_event_destroy_nest_lock, ompt_wait_callback_t, 60) /* nest lock destruction */ \
- \
- macro (ompt_event_flush, ompt_callback_t, 61) /* after executing flush */
-
-
-
-/*****************************************************************************
- * data types
- *****************************************************************************/
-
-/*---------------------
- * identifiers
- *---------------------*/
-
-typedef uint64_t ompt_thread_id_t;
-#define ompt_thread_id_none ((ompt_thread_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_task_id_t;
-#define ompt_task_id_none ((ompt_task_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_parallel_id_t;
-#define ompt_parallel_id_none ((ompt_parallel_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_wait_id_t;
-#define ompt_wait_id_none ((ompt_wait_id_t) 0) /* non-standard */
-
-
-/*---------------------
- * ompt_frame_t
- *---------------------*/
-
-typedef struct ompt_frame_s {
- void *exit_runtime_frame; /* next frame is user code */
- void *reenter_runtime_frame; /* previous frame is user code */
-} ompt_frame_t;
-
-
-/*****************************************************************************
- * enumerations for thread states and runtime events
- *****************************************************************************/
-
-/*---------------------
- * runtime states
- *---------------------*/
-
-typedef enum {
-#define ompt_state_macro(state, code) state = code,
- FOREACH_OMPT_STATE(ompt_state_macro)
-#undef ompt_state_macro
-} ompt_state_t;
-
-
-/*---------------------
- * runtime events
- *---------------------*/
-
-typedef enum {
-#define ompt_event_macro(event, callback, eventid) event = eventid,
- FOREACH_OMPT_EVENT(ompt_event_macro)
-#undef ompt_event_macro
-} ompt_event_t;
-
-
-/*---------------------
- * set callback results
- *---------------------*/
-typedef enum {
- ompt_set_result_registration_error = 0,
- ompt_set_result_event_may_occur_no_callback = 1,
- ompt_set_result_event_never_occurs = 2,
- ompt_set_result_event_may_occur_callback_some = 3,
- ompt_set_result_event_may_occur_callback_always = 4,
-} ompt_set_result_t;
-
-
-
-/*****************************************************************************
- * callback signatures
- *****************************************************************************/
-
-/* initialization */
-typedef void (*ompt_interface_fn_t)(void);
-
-typedef ompt_interface_fn_t (*ompt_function_lookup_t)(
- const char * /* entry point to look up */
-);
-
-/* threads */
-typedef void (*ompt_thread_callback_t) (
- ompt_thread_id_t thread_id /* ID of thread */
-);
-
-typedef enum {
- ompt_thread_initial = 1, // start the enumeration at 1
- ompt_thread_worker = 2,
- ompt_thread_other = 3
-} ompt_thread_type_t;
-
-typedef enum {
- ompt_invoker_program = 0, /* program invokes master task */
- ompt_invoker_runtime = 1 /* runtime invokes master task */
-} ompt_invoker_t;
-
-typedef void (*ompt_thread_type_callback_t) (
- ompt_thread_type_t thread_type, /* type of thread */
- ompt_thread_id_t thread_id /* ID of thread */
-);
-
-typedef void (*ompt_wait_callback_t) (
- ompt_wait_id_t wait_id /* wait id */
-);
-
-/* parallel and workshares */
-typedef void (*ompt_parallel_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t task_id /* id of task */
-);
-
-typedef void (*ompt_new_workshare_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t parent_task_id, /* id of parent task */
- void *workshare_function /* pointer to outlined function */
-);
-
-typedef void (*ompt_new_parallel_callback_t) (
- ompt_task_id_t parent_task_id, /* id of parent task */
- ompt_frame_t *parent_task_frame, /* frame data of parent task */
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- uint32_t requested_team_size, /* number of threads in team */
- void *parallel_function, /* pointer to outlined function */
- ompt_invoker_t invoker /* who invokes master task? */
-);
-
-typedef void (*ompt_end_parallel_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t task_id, /* id of task */
- ompt_invoker_t invoker /* who invokes master task? */
-);
-
-/* tasks */
-typedef void (*ompt_task_callback_t) (
- ompt_task_id_t task_id /* id of task */
-);
-
-typedef void (*ompt_task_pair_callback_t) (
- ompt_task_id_t first_task_id,
- ompt_task_id_t second_task_id
-);
-
-typedef void (*ompt_new_task_callback_t) (
- ompt_task_id_t parent_task_id, /* id of parent task */
- ompt_frame_t *parent_task_frame, /* frame data for parent task */
- ompt_task_id_t new_task_id, /* id of created task */
- void *task_function /* pointer to outlined function */
-);
-
-/* program */
-typedef void (*ompt_control_callback_t) (
- uint64_t command, /* command of control call */
- uint64_t modifier /* modifier of control call */
-);
-
-typedef void (*ompt_callback_t)(void);
-
-
-/****************************************************************************
- * ompt API
- ***************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define OMPT_API_FNTYPE(fn) fn##_t
-
-#define OMPT_API_FUNCTION(return_type, fn, args) \
- typedef return_type (*OMPT_API_FNTYPE(fn)) args
-
-
-
-/****************************************************************************
- * INQUIRY FUNCTIONS
- ***************************************************************************/
-
-/* state */
-OMPT_API_FUNCTION(ompt_state_t, ompt_get_state, (
- ompt_wait_id_t *ompt_wait_id
-));
-
-/* thread */
-OMPT_API_FUNCTION(ompt_thread_id_t, ompt_get_thread_id, (void));
-
-OMPT_API_FUNCTION(void *, ompt_get_idle_frame, (void));
-
-/* parallel region */
-OMPT_API_FUNCTION(ompt_parallel_id_t, ompt_get_parallel_id, (
- int ancestor_level
-));
-
-OMPT_API_FUNCTION(int, ompt_get_parallel_team_size, (
- int ancestor_level
-));
-
-/* task */
-OMPT_API_FUNCTION(ompt_task_id_t, ompt_get_task_id, (
- int depth
-));
-
-OMPT_API_FUNCTION(ompt_frame_t *, ompt_get_task_frame, (
- int depth
-));
-
-
-
-/****************************************************************************
- * PLACEHOLDERS FOR PERFORMANCE REPORTING
- ***************************************************************************/
-
-/* idle */
-OMPT_API_FUNCTION(void, ompt_idle, (
- void
-));
-
-/* overhead */
-OMPT_API_FUNCTION(void, ompt_overhead, (
- void
-));
-
-/* barrier wait */
-OMPT_API_FUNCTION(void, ompt_barrier_wait, (
- void
-));
-
-/* task wait */
-OMPT_API_FUNCTION(void, ompt_task_wait, (
- void
-));
-
-/* mutex wait */
-OMPT_API_FUNCTION(void, ompt_mutex_wait, (
- void
-));
-
-
-
-/****************************************************************************
- * INITIALIZATION FUNCTIONS
- ***************************************************************************/
-
-OMPT_API_FUNCTION(void, ompt_initialize, (
- ompt_function_lookup_t ompt_fn_lookup,
- const char *runtime_version,
- unsigned int ompt_version
-));
-
-
-/* initialization interface to be defined by tool */
-ompt_initialize_t ompt_tool(void);
-
-typedef enum opt_init_mode_e {
- ompt_init_mode_never = 0,
- ompt_init_mode_false = 1,
- ompt_init_mode_true = 2,
- ompt_init_mode_always = 3
-} ompt_init_mode_t;
-
-OMPT_API_FUNCTION(int, ompt_set_callback, (
- ompt_event_t event,
- ompt_callback_t callback
-));
-
-typedef enum ompt_set_callback_rc_e { /* non-standard */
- ompt_set_callback_error = 0,
- ompt_has_event_no_callback = 1,
- ompt_no_event_no_callback = 2,
- ompt_has_event_may_callback = 3,
- ompt_has_event_must_callback = 4,
-} ompt_set_callback_rc_t;
-
-
-OMPT_API_FUNCTION(int, ompt_get_callback, (
- ompt_event_t event,
- ompt_callback_t *callback
-));
-
-
-
-/****************************************************************************
- * MISCELLANEOUS FUNCTIONS
- ***************************************************************************/
-
-/* control */
-#if defined(_OPENMP) && (_OPENMP >= 201307)
-#pragma omp declare target
-#endif
-void ompt_control(
- uint64_t command,
- uint64_t modifier
-);
-#if defined(_OPENMP) && (_OPENMP >= 201307)
-#pragma omp end declare target
-#endif
-
-/* state enumeration */
-OMPT_API_FUNCTION(int, ompt_enumerate_state, (
- int current_state,
- int *next_state,
- const char **next_state_name
-));
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
-
diff --git a/contrib/libs/cxxsupp/openmp/include/40/omp.h.var b/contrib/libs/cxxsupp/openmp/include/40/omp.h.var
deleted file mode 100644
index 4c518e77bc..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/40/omp.h.var
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * include/40/omp.h.var
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifndef __OMP_H
-# define __OMP_H
-
-# define KMP_VERSION_MAJOR @LIBOMP_VERSION_MAJOR@
-# define KMP_VERSION_MINOR @LIBOMP_VERSION_MINOR@
-# define KMP_VERSION_BUILD @LIBOMP_VERSION_BUILD@
-# define KMP_BUILD_DATE "@LIBOMP_BUILD_DATE@"
-
-# ifdef __cplusplus
- extern "C" {
-# endif
-
-# if defined(_WIN32)
-# define __KAI_KMPC_CONVENTION __cdecl
-# else
-# define __KAI_KMPC_CONVENTION
-# endif
-
- /* schedule kind constants */
- typedef enum omp_sched_t {
- omp_sched_static = 1,
- omp_sched_dynamic = 2,
- omp_sched_guided = 3,
- omp_sched_auto = 4
- } omp_sched_t;
-
- /* set API functions */
- extern void __KAI_KMPC_CONVENTION omp_set_num_threads (int);
- extern void __KAI_KMPC_CONVENTION omp_set_dynamic (int);
- extern void __KAI_KMPC_CONVENTION omp_set_nested (int);
- extern void __KAI_KMPC_CONVENTION omp_set_max_active_levels (int);
- extern void __KAI_KMPC_CONVENTION omp_set_schedule (omp_sched_t, int);
-
- /* query API functions */
- extern int __KAI_KMPC_CONVENTION omp_get_num_threads (void);
- extern int __KAI_KMPC_CONVENTION omp_get_dynamic (void);
- extern int __KAI_KMPC_CONVENTION omp_get_nested (void);
- extern int __KAI_KMPC_CONVENTION omp_get_max_threads (void);
- extern int __KAI_KMPC_CONVENTION omp_get_thread_num (void);
- extern int __KAI_KMPC_CONVENTION omp_get_num_procs (void);
- extern int __KAI_KMPC_CONVENTION omp_in_parallel (void);
- extern int __KAI_KMPC_CONVENTION omp_in_final (void);
- extern int __KAI_KMPC_CONVENTION omp_get_active_level (void);
- extern int __KAI_KMPC_CONVENTION omp_get_level (void);
- extern int __KAI_KMPC_CONVENTION omp_get_ancestor_thread_num (int);
- extern int __KAI_KMPC_CONVENTION omp_get_team_size (int);
- extern int __KAI_KMPC_CONVENTION omp_get_thread_limit (void);
- extern int __KAI_KMPC_CONVENTION omp_get_max_active_levels (void);
- extern void __KAI_KMPC_CONVENTION omp_get_schedule (omp_sched_t *, int *);
-
- /* lock API functions */
- typedef struct omp_lock_t {
- void * _lk;
- } omp_lock_t;
-
- extern void __KAI_KMPC_CONVENTION omp_init_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_set_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_unset_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_destroy_lock (omp_lock_t *);
- extern int __KAI_KMPC_CONVENTION omp_test_lock (omp_lock_t *);
-
- /* nested lock API functions */
- typedef struct omp_nest_lock_t {
- void * _lk;
- } omp_nest_lock_t;
-
- extern void __KAI_KMPC_CONVENTION omp_init_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_set_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_unset_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_destroy_nest_lock (omp_nest_lock_t *);
- extern int __KAI_KMPC_CONVENTION omp_test_nest_lock (omp_nest_lock_t *);
-
- /* time API functions */
- extern double __KAI_KMPC_CONVENTION omp_get_wtime (void);
- extern double __KAI_KMPC_CONVENTION omp_get_wtick (void);
-
- /* OpenMP 4.0 */
- extern int __KAI_KMPC_CONVENTION omp_get_default_device (void);
- extern void __KAI_KMPC_CONVENTION omp_set_default_device (int);
- extern int __KAI_KMPC_CONVENTION omp_is_initial_device (void);
- extern int __KAI_KMPC_CONVENTION omp_get_num_devices (void);
- extern int __KAI_KMPC_CONVENTION omp_get_num_teams (void);
- extern int __KAI_KMPC_CONVENTION omp_get_team_num (void);
- extern int __KAI_KMPC_CONVENTION omp_get_cancellation (void);
-
-# include <stdlib.h>
- /* kmp API functions */
- extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_stacksize (int);
- extern size_t __KAI_KMPC_CONVENTION kmp_get_stacksize_s (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_stacksize_s (size_t);
- extern int __KAI_KMPC_CONVENTION kmp_get_blocktime (void);
- extern int __KAI_KMPC_CONVENTION kmp_get_library (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_blocktime (int);
- extern void __KAI_KMPC_CONVENTION kmp_set_library (int);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_serial (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_turnaround (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_throughput (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_defaults (char const *);
-
- /* Intel affinity API */
- typedef void * kmp_affinity_mask_t;
-
- extern int __KAI_KMPC_CONVENTION kmp_set_affinity (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity_max_proc (void);
- extern void __KAI_KMPC_CONVENTION kmp_create_affinity_mask (kmp_affinity_mask_t *);
- extern void __KAI_KMPC_CONVENTION kmp_destroy_affinity_mask (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_set_affinity_mask_proc (int, kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_unset_affinity_mask_proc (int, kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity_mask_proc (int, kmp_affinity_mask_t *);
-
- /* OpenMP 4.0 affinity API */
- typedef enum omp_proc_bind_t {
- omp_proc_bind_false = 0,
- omp_proc_bind_true = 1,
- omp_proc_bind_master = 2,
- omp_proc_bind_close = 3,
- omp_proc_bind_spread = 4
- } omp_proc_bind_t;
-
- extern omp_proc_bind_t __KAI_KMPC_CONVENTION omp_get_proc_bind (void);
-
- extern void * __KAI_KMPC_CONVENTION kmp_malloc (size_t);
- extern void * __KAI_KMPC_CONVENTION kmp_calloc (size_t, size_t);
- extern void * __KAI_KMPC_CONVENTION kmp_realloc (void *, size_t);
- extern void __KAI_KMPC_CONVENTION kmp_free (void *);
-
- extern void __KAI_KMPC_CONVENTION kmp_set_warnings_on(void);
- extern void __KAI_KMPC_CONVENTION kmp_set_warnings_off(void);
-
-# undef __KAI_KMPC_CONVENTION
-
- /* Warning:
- The following typedefs are not standard, deprecated and will be removed in a future release.
- */
- typedef int omp_int_t;
- typedef double omp_wtime_t;
-
-# ifdef __cplusplus
- }
-# endif
-
-#endif /* __OMP_H */
-
diff --git a/contrib/libs/cxxsupp/openmp/include/40/omp_lib.f.var b/contrib/libs/cxxsupp/openmp/include/40/omp_lib.f.var
deleted file mode 100644
index 3a59162b4b..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/40/omp_lib.f.var
+++ /dev/null
@@ -1,758 +0,0 @@
-! include/40/omp_lib.f.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
-!***
-!*** Some of the directives for the following routine extend past column 72,
-!*** so process this file in 132-column mode.
-!***
-
-!dec$ fixedformlinesize:132
-
- module omp_lib_kinds
-
- integer, parameter :: omp_integer_kind = 4
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = 4
- integer, parameter :: omp_lock_kind = int_ptr_kind()
- integer, parameter :: omp_nest_lock_kind = int_ptr_kind()
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: omp_proc_bind_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = int_ptr_kind()
- integer, parameter :: kmp_size_t_kind = int_ptr_kind()
- integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
- integer, parameter :: kmp_cancel_kind = omp_integer_kind
-
- end module omp_lib_kinds
-
- module omp_lib
-
- use omp_lib_kinds
-
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*), parameter :: kmp_build_date = '@LIBOMP_BUILD_DATE@'
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
-
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_parallel = 1
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_loop = 2
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_sections = 3
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_taskgroup = 4
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_get_dynamic()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_team_size
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_proc_bind()
- use omp_lib_kinds
- integer (kind=omp_proc_bind_kind) omp_get_proc_bind
- end function omp_get_proc_bind
-
- function omp_get_wtime()
- double precision omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick ()
- double precision omp_get_wtick
- end function omp_get_wtick
-
- function omp_get_default_device()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_default_device
- end function omp_get_default_device
-
- subroutine omp_set_default_device(dflt_device)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) dflt_device
- end subroutine omp_set_default_device
-
- function omp_get_num_devices()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_devices
- end function omp_get_num_devices
-
- function omp_get_num_teams()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_teams
- end function omp_get_num_teams
-
- function omp_get_team_num()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_team_num
- end function omp_get_team_num
-
- function omp_get_cancellation()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_cancellation
- end function omp_get_cancellation
-
- function omp_is_initial_device()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_is_initial_device
- end function omp_is_initial_device
-
- subroutine omp_init_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial()
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround()
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput()
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string)
- character*(*) string
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s()
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind) size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind) nelem
- integer (kind=kmp_size_t_kind) elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind) ptr
- integer (kind=kmp_size_t_kind) size
- end function kmp_realloc
-
- subroutine kmp_free(ptr)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on()
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off()
- end subroutine kmp_set_warnings_off
-
- function kmp_get_cancellation_status(cancelkind)
- use omp_lib_kinds
- integer (kind=kmp_cancel_kind) cancelkind
- logical (kind=omp_logical_kind) kmp_get_cancellation_status
- end function kmp_get_cancellation_status
-
- end interface
-
-!dec$ if defined(_WIN32)
-!dec$ if defined(_WIN64) .or. defined(_M_AMD64)
-
-!***
-!*** The Fortran entry points must be in uppercase, even if the /Qlowercase
-!*** option is specified. The alias attribute ensures that the specified
-!*** string is used as the entry point.
-!***
-!*** On the Windows* OS IA-32 architecture, the Fortran entry points have an
-!*** underscore prepended. On the Windows* OS Intel(R) 64
-!*** architecture, no underscore is prepended.
-!***
-
-!dec$ attributes alias:'OMP_SET_NUM_THREADS' :: omp_set_num_threads
-!dec$ attributes alias:'OMP_SET_DYNAMIC' :: omp_set_dynamic
-!dec$ attributes alias:'OMP_SET_NESTED' :: omp_set_nested
-!dec$ attributes alias:'OMP_GET_NUM_THREADS' :: omp_get_num_threads
-!dec$ attributes alias:'OMP_GET_MAX_THREADS' :: omp_get_max_threads
-!dec$ attributes alias:'OMP_GET_THREAD_NUM' :: omp_get_thread_num
-!dec$ attributes alias:'OMP_GET_NUM_PROCS' :: omp_get_num_procs
-!dec$ attributes alias:'OMP_IN_PARALLEL' :: omp_in_parallel
-!dec$ attributes alias:'OMP_GET_DYNAMIC' :: omp_get_dynamic
-!dec$ attributes alias:'OMP_GET_NESTED' :: omp_get_nested
-!dec$ attributes alias:'OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
-!dec$ attributes alias:'OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
-!dec$ attributes alias:'OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
-!dec$ attributes alias:'OMP_GET_LEVEL' :: omp_get_level
-!dec$ attributes alias:'OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
-!dec$ attributes alias:'OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
-!dec$ attributes alias:'OMP_GET_TEAM_SIZE' :: omp_get_team_size
-!dec$ attributes alias:'OMP_SET_SCHEDULE' :: omp_set_schedule
-!dec$ attributes alias:'OMP_GET_SCHEDULE' :: omp_get_schedule
-!dec$ attributes alias:'OMP_GET_PROC_BIND' :: omp_get_proc_bind
-!dec$ attributes alias:'OMP_GET_WTIME' :: omp_get_wtime
-!dec$ attributes alias:'OMP_GET_WTICK' :: omp_get_wtick
-!dec$ attributes alias:'OMP_GET_DEFAULT_DEVICE' :: omp_get_default_device
-!dec$ attributes alias:'OMP_SET_DEFAULT_DEVICE' :: omp_set_default_device
-!dec$ attributes alias:'OMP_GET_NUM_DEVICES' :: omp_get_num_devices
-!dec$ attributes alias:'OMP_GET_NUM_TEAMS' :: omp_get_num_teams
-!dec$ attributes alias:'OMP_GET_TEAM_NUM' :: omp_get_team_num
-!dec$ attributes alias:'OMP_GET_CANCELLATION' :: omp_get_cancellation
-!dec$ attributes alias:'OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device
-
-!dec$ attributes alias:'omp_init_lock' :: omp_init_lock
-!dec$ attributes alias:'omp_destroy_lock' :: omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock' :: omp_set_lock
-!dec$ attributes alias:'omp_unset_lock' :: omp_unset_lock
-!dec$ attributes alias:'omp_test_lock' :: omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock' :: omp_init_nest_lock
-!dec$ attributes alias:'omp_destroy_nest_lock' :: omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock' :: omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock' :: omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock' :: omp_test_nest_lock
-
-!dec$ attributes alias:'KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ attributes alias:'KMP_GET_CANCELLATION_STATUS' :: kmp_get_cancellation_status
-
-!dec$ else
-
-!***
-!*** On Windows* OS IA-32 architecture, the Fortran entry points have an underscore prepended.
-!***
-
-!dec$ attributes alias:'_OMP_SET_NUM_THREADS' :: omp_set_num_threads
-!dec$ attributes alias:'_OMP_SET_DYNAMIC' :: omp_set_dynamic
-!dec$ attributes alias:'_OMP_SET_NESTED' :: omp_set_nested
-!dec$ attributes alias:'_OMP_GET_NUM_THREADS' :: omp_get_num_threads
-!dec$ attributes alias:'_OMP_GET_MAX_THREADS' :: omp_get_max_threads
-!dec$ attributes alias:'_OMP_GET_THREAD_NUM' :: omp_get_thread_num
-!dec$ attributes alias:'_OMP_GET_NUM_PROCS' :: omp_get_num_procs
-!dec$ attributes alias:'_OMP_IN_PARALLEL' :: omp_in_parallel
-!dec$ attributes alias:'_OMP_GET_DYNAMIC' :: omp_get_dynamic
-!dec$ attributes alias:'_OMP_GET_NESTED' :: omp_get_nested
-!dec$ attributes alias:'_OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
-!dec$ attributes alias:'_OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
-!dec$ attributes alias:'_OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
-!dec$ attributes alias:'_OMP_GET_LEVEL' :: omp_get_level
-!dec$ attributes alias:'_OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
-!dec$ attributes alias:'_OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
-!dec$ attributes alias:'_OMP_GET_TEAM_SIZE' :: omp_get_team_size
-!dec$ attributes alias:'_OMP_SET_SCHEDULE' :: omp_set_schedule
-!dec$ attributes alias:'_OMP_GET_SCHEDULE' :: omp_get_schedule
-!dec$ attributes alias:'_OMP_GET_PROC_BIND' :: omp_get_proc_bind
-!dec$ attributes alias:'_OMP_GET_WTIME' :: omp_get_wtime
-!dec$ attributes alias:'_OMP_GET_WTICK' :: omp_get_wtick
-!dec$ attributes alias:'_OMP_GET_DEFAULT_DEVICE' :: omp_get_default_device
-!dec$ attributes alias:'_OMP_SET_DEFAULT_DEVICE' :: omp_set_default_device
-!dec$ attributes alias:'_OMP_GET_NUM_DEVICES' :: omp_get_num_devices
-!dec$ attributes alias:'_OMP_GET_NUM_TEAMS' :: omp_get_num_teams
-!dec$ attributes alias:'_OMP_GET_TEAM_NUM' :: omp_get_team_num
-!dec$ attributes alias:'_OMP_GET_CANCELLATION' :: omp_get_cancellation
-!dec$ attributes alias:'_OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device
-
-!dec$ attributes alias:'_omp_init_lock' :: omp_init_lock
-!dec$ attributes alias:'_omp_destroy_lock' :: omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock' :: omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock' :: omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock' :: omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock' :: omp_init_nest_lock
-!dec$ attributes alias:'_omp_destroy_nest_lock' :: omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock' :: omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock' :: omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock' :: omp_test_nest_lock
-
-!dec$ attributes alias:'_KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'_KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'_KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'_KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'_KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'_KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'_KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'_KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'_KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'_KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'_KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'_KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'_KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'_KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'_KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'_KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'_KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'_KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ attributes alias:'_KMP_GET_CANCELLATION_STATUS' :: kmp_get_cancellation_status
-
-!dec$ endif
-!dec$ endif
-
-!dec$ if defined(__linux)
-
-!***
-!*** The Linux* OS entry points are in lowercase, with an underscore appended.
-!***
-
-!dec$ attributes alias:'omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'omp_get_level_'::omp_get_level
-!dec$ attributes alias:'omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'omp_get_proc_bind_' :: omp_get_proc_bind
-!dec$ attributes alias:'omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'omp_get_wtick_'::omp_get_wtick
-!dec$ attributes alias:'omp_get_default_device_'::omp_get_default_device
-!dec$ attributes alias:'omp_set_default_device_'::omp_set_default_device
-!dec$ attributes alias:'omp_get_num_devices_'::omp_get_num_devices
-!dec$ attributes alias:'omp_get_num_teams_'::omp_get_num_teams
-!dec$ attributes alias:'omp_get_team_num_'::omp_get_team_num
-!dec$ attributes alias:'omp_get_cancellation_'::omp_get_cancellation
-!dec$ attributes alias:'omp_is_initial_device_'::omp_is_initial_device
-
-!dec$ attributes alias:'omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'kmp_free_'::kmp_free
-
-!dec$ attributes alias:'kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'kmp_set_warnings_off_'::kmp_set_warnings_off
-!dec$ attributes alias:'kmp_get_cancellation_status_'::kmp_get_cancellation_status
-
-!dec$ endif
-
-!dec$ if defined(__APPLE__)
-
-!***
-!*** The Mac entry points are in lowercase, with an both an underscore
-!*** appended and an underscore prepended.
-!***
-
-!dec$ attributes alias:'_omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'_omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'_omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'_omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'_omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'_omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'_omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'_omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'_omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'_omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'_omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'_omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'_omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'_omp_get_level_'::omp_get_level
-!dec$ attributes alias:'_omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'_omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'_omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'_omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'_omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'_omp_get_proc_bind_' :: omp_get_proc_bind
-!dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick
-!dec$ attributes alias:'_omp_get_num_teams_'::omp_get_num_teams
-!dec$ attributes alias:'_omp_get_team_num_'::omp_get_team_num
-!dec$ attributes alias:'_omp_get_cancellation_'::omp_get_cancellation
-!dec$ attributes alias:'_omp_is_initial_device_'::omp_is_initial_device
-
-!dec$ attributes alias:'_omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'_omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'_omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'_kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'_kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'_kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'_kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'_kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'_kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'_kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'_kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'_kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'_kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'_kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'_kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'_kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'_kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'_kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'_kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'_kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'_kmp_free_'::kmp_free
-
-!dec$ attributes alias:'_kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'_kmp_set_warnings_off_'::kmp_set_warnings_off
-
-!dec$ attributes alias:'_kmp_get_cancellation_status_'::kmp_get_cancellation_status
-
-!dec$ endif
-
- end module omp_lib
-
diff --git a/contrib/libs/cxxsupp/openmp/include/40/omp_lib.f90.var b/contrib/libs/cxxsupp/openmp/include/40/omp_lib.f90.var
deleted file mode 100644
index 5be8026603..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/40/omp_lib.f90.var
+++ /dev/null
@@ -1,448 +0,0 @@
-! include/40/omp_lib.f90.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
- module omp_lib_kinds
-
- use, intrinsic :: iso_c_binding
-
- integer, parameter :: omp_integer_kind = c_int
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = c_float
- integer, parameter :: kmp_double_kind = c_double
- integer, parameter :: omp_lock_kind = c_intptr_t
- integer, parameter :: omp_nest_lock_kind = c_intptr_t
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: omp_proc_bind_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = c_intptr_t
- integer, parameter :: kmp_size_t_kind = c_size_t
- integer, parameter :: kmp_affinity_mask_kind = c_intptr_t
- integer, parameter :: kmp_cancel_kind = omp_integer_kind
-
- end module omp_lib_kinds
-
- module omp_lib
-
- use omp_lib_kinds
-
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*) kmp_build_date
- parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' )
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
-
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
-
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_parallel = 1
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_loop = 2
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_sections = 3
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_taskgroup = 4
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable) bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable) bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_in_final() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_final
- end function omp_in_final
-
- function omp_get_dynamic() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_team_size
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier) bind(c)
- use omp_lib_kinds
- integer (kind=omp_sched_kind), value :: kind
- integer (kind=omp_integer_kind), value :: modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier) bind(c)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_proc_bind() bind(c)
- use omp_lib_kinds
- integer (kind=omp_proc_bind_kind) omp_get_proc_bind
- end function omp_get_proc_bind
-
- function omp_get_wtime() bind(c)
- use omp_lib_kinds
- real (kind=kmp_double_kind) omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick() bind(c)
- use omp_lib_kinds
- real (kind=kmp_double_kind) omp_get_wtick
- end function omp_get_wtick
-
- function omp_get_default_device() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_default_device
- end function omp_get_default_device
-
- subroutine omp_set_default_device(dflt_device) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: dflt_device
- end subroutine omp_set_default_device
-
- function omp_get_num_devices() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_devices
- end function omp_get_num_devices
-
- function omp_get_num_teams() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_teams
- end function omp_get_num_teams
-
- function omp_get_team_num() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_team_num
- end function omp_get_team_num
-
- function omp_get_cancellation() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_cancellation
- end function omp_get_cancellation
-
- function omp_is_initial_device() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_is_initial_device
- end function omp_is_initial_device
-
- subroutine omp_init_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind), value :: size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial() bind(c)
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround() bind(c)
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput() bind(c)
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string) bind(c)
- use, intrinsic :: iso_c_binding
- character (kind=c_char) :: string(*)
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s() bind(c)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind), value :: nelem
- integer (kind=kmp_size_t_kind), value :: elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind), value :: ptr
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_realloc
-
- subroutine kmp_free(ptr) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind), value :: ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on() bind(c)
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off() bind(c)
- end subroutine kmp_set_warnings_off
-
- function kmp_get_cancellation_status(cancelkind) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_cancel_kind), value :: cancelkind
- logical (kind=omp_logical_kind) kmp_get_cancellation_status
- end function kmp_get_cancellation_status
-
- end interface
-
- end module omp_lib
diff --git a/contrib/libs/cxxsupp/openmp/include/40/omp_lib.h.var b/contrib/libs/cxxsupp/openmp/include/40/omp_lib.h.var
deleted file mode 100644
index cc134fd352..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/40/omp_lib.h.var
+++ /dev/null
@@ -1,558 +0,0 @@
-! include/40/omp_lib.h.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
-!***
-!*** Some of the directives for the following routine extend past column 72,
-!*** so process this file in 132-column mode.
-!***
-
-!DIR$ fixedformlinesize:132
-
- integer, parameter :: omp_integer_kind = 4
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = 4
- integer, parameter :: omp_lock_kind = int_ptr_kind()
- integer, parameter :: omp_nest_lock_kind = int_ptr_kind()
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: omp_proc_bind_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = int_ptr_kind()
- integer, parameter :: kmp_size_t_kind = int_ptr_kind()
- integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
-
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*) kmp_build_date
- parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' )
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads) bind(c)
- import
- integer (kind=omp_integer_kind), value :: nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable) bind(c)
- import
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable) bind(c)
- import
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel() bind(c)
- import
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_in_final() bind(c)
- import
- logical (kind=omp_logical_kind) omp_in_final
- end function omp_in_final
-
- function omp_get_dynamic() bind(c)
- import
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested() bind(c)
- import
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels) bind(c)
- import
- integer (kind=omp_integer_kind), value :: max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level) bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level) bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_team_size
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier) bind(c)
- import
- integer (kind=omp_sched_kind), value :: kind
- integer (kind=omp_integer_kind), value :: modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier) bind(c)
- import
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_proc_bind() bind(c)
- import
- integer (kind=omp_proc_bind_kind) omp_get_proc_bind
- end function omp_get_proc_bind
-
- function omp_get_wtime() bind(c)
- double precision omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick() bind(c)
- double precision omp_get_wtick
- end function omp_get_wtick
-
- function omp_get_default_device() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_default_device
- end function omp_get_default_device
-
- subroutine omp_set_default_device(dflt_device) bind(c)
- import
- integer (kind=omp_integer_kind), value :: dflt_device
- end subroutine omp_set_default_device
-
- function omp_get_num_devices() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_devices
- end function omp_get_num_devices
-
- function omp_get_num_teams() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_teams
- end function omp_get_num_teams
-
- function omp_get_team_num() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_team_num
- end function omp_get_team_num
-
- function omp_is_initial_device() bind(c)
- import
- logical (kind=omp_logical_kind) omp_is_initial_device
- end function omp_is_initial_device
-
- subroutine omp_init_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_lock
-!DIR$ ENDIF
- import
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size) bind(c)
- import
- integer (kind=omp_integer_kind), value :: size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size) bind(c)
- import
- integer (kind=kmp_size_t_kind), value :: size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec) bind(c)
- import
- integer (kind=omp_integer_kind), value :: msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial() bind(c)
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround() bind(c)
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput() bind(c)
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum) bind(c)
- import
- integer (kind=omp_integer_kind), value :: libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string) bind(c)
- character string(*)
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s() bind(c)
- import
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask) bind(c)
- import
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask) bind(c)
- import
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size) bind(c)
- import
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize) bind(c)
- import
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind), value :: nelem
- integer (kind=kmp_size_t_kind), value :: elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size) bind(c)
- import
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind), value :: ptr
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_realloc
-
- subroutine kmp_free(ptr) bind(c)
- import
- integer (kind=kmp_pointer_kind), value :: ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on() bind(c)
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off() bind(c)
- end subroutine kmp_set_warnings_off
-
- end interface
-
-!DIR$ IF DEFINED (__INTEL_OFFLOAD)
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_num_threads
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_dynamic
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nested
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_threads
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_threads
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_num
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_procs
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_parallel
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_final
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_dynamic
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_nested
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_limit
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_max_active_levels
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_active_levels
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_level
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_active_level
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_ancestor_thread_num
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_size
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_schedule
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_schedule
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_proc_bind
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtime
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtick
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize_s
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_blocktime
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_serial
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_turnaround
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_throughput
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_defaults
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize_s
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_blocktime
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_library
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_max_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_create_affinity_mask
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_destroy_affinity_mask
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity_mask_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_unset_affinity_mask_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_mask_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_malloc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_calloc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_realloc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_free
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_on
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_off
-
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!$omp declare target(omp_set_num_threads )
-!$omp declare target(omp_set_dynamic )
-!$omp declare target(omp_set_nested )
-!$omp declare target(omp_get_num_threads )
-!$omp declare target(omp_get_max_threads )
-!$omp declare target(omp_get_thread_num )
-!$omp declare target(omp_get_num_procs )
-!$omp declare target(omp_in_parallel )
-!$omp declare target(omp_in_final )
-!$omp declare target(omp_get_dynamic )
-!$omp declare target(omp_get_nested )
-!$omp declare target(omp_get_thread_limit )
-!$omp declare target(omp_set_max_active_levels )
-!$omp declare target(omp_get_max_active_levels )
-!$omp declare target(omp_get_level )
-!$omp declare target(omp_get_active_level )
-!$omp declare target(omp_get_ancestor_thread_num )
-!$omp declare target(omp_get_team_size )
-!$omp declare target(omp_set_schedule )
-!$omp declare target(omp_get_schedule )
-!$omp declare target(omp_get_proc_bind )
-!$omp declare target(omp_get_wtime )
-!$omp declare target(omp_get_wtick )
-!$omp declare target(omp_get_default_device )
-!$omp declare target(omp_set_default_device )
-!$omp declare target(omp_is_initial_device )
-!$omp declare target(omp_get_num_devices )
-!$omp declare target(omp_get_num_teams )
-!$omp declare target(omp_get_team_num )
-!$omp declare target(omp_init_lock )
-!$omp declare target(omp_destroy_lock )
-!$omp declare target(omp_set_lock )
-!$omp declare target(omp_unset_lock )
-!$omp declare target(omp_test_lock )
-!$omp declare target(omp_init_nest_lock )
-!$omp declare target(omp_destroy_nest_lock )
-!$omp declare target(omp_set_nest_lock )
-!$omp declare target(omp_unset_nest_lock )
-!$omp declare target(omp_test_nest_lock )
-!$omp declare target(kmp_set_stacksize )
-!$omp declare target(kmp_set_stacksize_s )
-!$omp declare target(kmp_set_blocktime )
-!$omp declare target(kmp_set_library_serial )
-!$omp declare target(kmp_set_library_turnaround )
-!$omp declare target(kmp_set_library_throughput )
-!$omp declare target(kmp_set_library )
-!$omp declare target(kmp_set_defaults )
-!$omp declare target(kmp_get_stacksize )
-!$omp declare target(kmp_get_stacksize_s )
-!$omp declare target(kmp_get_blocktime )
-!$omp declare target(kmp_get_library )
-!$omp declare target(kmp_set_affinity )
-!$omp declare target(kmp_get_affinity )
-!$omp declare target(kmp_get_affinity_max_proc )
-!$omp declare target(kmp_create_affinity_mask )
-!$omp declare target(kmp_destroy_affinity_mask )
-!$omp declare target(kmp_set_affinity_mask_proc )
-!$omp declare target(kmp_unset_affinity_mask_proc )
-!$omp declare target(kmp_get_affinity_mask_proc )
-!$omp declare target(kmp_malloc )
-!$omp declare target(kmp_calloc )
-!$omp declare target(kmp_realloc )
-!$omp declare target(kmp_free )
-!$omp declare target(kmp_set_warnings_on )
-!$omp declare target(kmp_set_warnings_off )
-!DIR$ ENDIF
-!DIR$ ENDIF
-
diff --git a/contrib/libs/cxxsupp/openmp/include/40/ompt.h.var b/contrib/libs/cxxsupp/openmp/include/40/ompt.h.var
deleted file mode 100644
index 3a8c30c165..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/40/ompt.h.var
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
- * include/40/ompt.h.var
- */
-
-#ifndef __OMPT__
-#define __OMPT__
-
-/*****************************************************************************
- * system include files
- *****************************************************************************/
-
-#include <stdint.h>
-
-
-
-/*****************************************************************************
- * iteration macros
- *****************************************************************************/
-
-#define FOREACH_OMPT_INQUIRY_FN(macro) \
- macro (ompt_enumerate_state) \
- \
- macro (ompt_set_callback) \
- macro (ompt_get_callback) \
- \
- macro (ompt_get_idle_frame) \
- macro (ompt_get_task_frame) \
- \
- macro (ompt_get_state) \
- \
- macro (ompt_get_parallel_id) \
- macro (ompt_get_parallel_team_size) \
- macro (ompt_get_task_id) \
- macro (ompt_get_thread_id)
-
-#define FOREACH_OMPT_PLACEHOLDER_FN(macro) \
- macro (ompt_idle) \
- macro (ompt_overhead) \
- macro (ompt_barrier_wait) \
- macro (ompt_task_wait) \
- macro (ompt_mutex_wait)
-
-#define FOREACH_OMPT_STATE(macro) \
- \
- /* first */ \
- macro (ompt_state_first, 0x71) /* initial enumeration state */ \
- \
- /* work states (0..15) */ \
- macro (ompt_state_work_serial, 0x00) /* working outside parallel */ \
- macro (ompt_state_work_parallel, 0x01) /* working within parallel */ \
- macro (ompt_state_work_reduction, 0x02) /* performing a reduction */ \
- \
- /* idle (16..31) */ \
- macro (ompt_state_idle, 0x10) /* waiting for work */ \
- \
- /* overhead states (32..63) */ \
- macro (ompt_state_overhead, 0x20) /* overhead excluding wait states */ \
- \
- /* barrier wait states (64..79) */ \
- macro (ompt_state_wait_barrier, 0x40) /* waiting at a barrier */ \
- macro (ompt_state_wait_barrier_implicit, 0x41) /* implicit barrier */ \
- macro (ompt_state_wait_barrier_explicit, 0x42) /* explicit barrier */ \
- \
- /* task wait states (80..95) */ \
- macro (ompt_state_wait_taskwait, 0x50) /* waiting at a taskwait */ \
- macro (ompt_state_wait_taskgroup, 0x51) /* waiting at a taskgroup */ \
- \
- /* mutex wait states (96..111) */ \
- macro (ompt_state_wait_lock, 0x60) /* waiting for lock */ \
- macro (ompt_state_wait_nest_lock, 0x61) /* waiting for nest lock */ \
- macro (ompt_state_wait_critical, 0x62) /* waiting for critical */ \
- macro (ompt_state_wait_atomic, 0x63) /* waiting for atomic */ \
- macro (ompt_state_wait_ordered, 0x64) /* waiting for ordered */ \
- macro (ompt_state_wait_single, 0x6F) /* waiting for single region (non-standard!) */ \
- \
- /* misc (112..127) */ \
- macro (ompt_state_undefined, 0x70) /* undefined thread state */
-
-
-#define FOREACH_OMPT_EVENT(macro) \
- \
- /*--- Mandatory Events ---*/ \
- macro (ompt_event_parallel_begin, ompt_new_parallel_callback_t, 1) /* parallel begin */ \
- macro (ompt_event_parallel_end, ompt_end_parallel_callback_t, 2) /* parallel end */ \
- \
- macro (ompt_event_task_begin, ompt_new_task_callback_t, 3) /* task begin */ \
- macro (ompt_event_task_end, ompt_task_callback_t, 4) /* task destroy */ \
- \
- macro (ompt_event_thread_begin, ompt_thread_type_callback_t, 5) /* thread begin */ \
- macro (ompt_event_thread_end, ompt_thread_type_callback_t, 6) /* thread end */ \
- \
- macro (ompt_event_control, ompt_control_callback_t, 7) /* support control calls */ \
- \
- macro (ompt_event_runtime_shutdown, ompt_callback_t, 8) /* runtime shutdown */ \
- \
- /*--- Optional Events (blame shifting, ompt_event_unimplemented) ---*/ \
- macro (ompt_event_idle_begin, ompt_thread_callback_t, 9) /* begin idle state */ \
- macro (ompt_event_idle_end, ompt_thread_callback_t, 10) /* end idle state */ \
- \
- macro (ompt_event_wait_barrier_begin, ompt_parallel_callback_t, 11) /* begin wait at barrier */ \
- macro (ompt_event_wait_barrier_end, ompt_parallel_callback_t, 12) /* end wait at barrier */ \
- \
- macro (ompt_event_wait_taskwait_begin, ompt_parallel_callback_t, 13) /* begin wait at taskwait */ \
- macro (ompt_event_wait_taskwait_end, ompt_parallel_callback_t, 14) /* end wait at taskwait */ \
- \
- macro (ompt_event_wait_taskgroup_begin, ompt_parallel_callback_t, 15) /* begin wait at taskgroup */\
- macro (ompt_event_wait_taskgroup_end, ompt_parallel_callback_t, 16) /* end wait at taskgroup */ \
- \
- macro (ompt_event_release_lock, ompt_wait_callback_t, 17) /* lock release */ \
- macro (ompt_event_release_nest_lock_last, ompt_wait_callback_t, 18) /* last nest lock release */ \
- macro (ompt_event_release_critical, ompt_wait_callback_t, 19) /* critical release */ \
- \
- macro (ompt_event_release_atomic, ompt_wait_callback_t, 20) /* atomic release */ \
- \
- macro (ompt_event_release_ordered, ompt_wait_callback_t, 21) /* ordered release */ \
- \
- /*--- Optional Events (synchronous events, ompt_event_unimplemented) --- */ \
- macro (ompt_event_implicit_task_begin, ompt_parallel_callback_t, 22) /* implicit task begin */ \
- macro (ompt_event_implicit_task_end, ompt_parallel_callback_t, 23) /* implicit task end */ \
- \
- macro (ompt_event_initial_task_begin, ompt_parallel_callback_t, 24) /* initial task begin */ \
- macro (ompt_event_initial_task_end, ompt_parallel_callback_t, 25) /* initial task end */ \
- \
- macro (ompt_event_task_switch, ompt_task_pair_callback_t, 26) /* task switch */ \
- \
- macro (ompt_event_loop_begin, ompt_new_workshare_callback_t, 27) /* task at loop begin */ \
- macro (ompt_event_loop_end, ompt_parallel_callback_t, 28) /* task at loop end */ \
- \
- macro (ompt_event_sections_begin, ompt_new_workshare_callback_t, 29) /* task at sections begin */\
- macro (ompt_event_sections_end, ompt_parallel_callback_t, 30) /* task at sections end */ \
- \
- macro (ompt_event_single_in_block_begin, ompt_new_workshare_callback_t, 31) /* task at single begin*/ \
- macro (ompt_event_single_in_block_end, ompt_parallel_callback_t, 32) /* task at single end */ \
- \
- macro (ompt_event_single_others_begin, ompt_parallel_callback_t, 33) /* task at single begin */ \
- macro (ompt_event_single_others_end, ompt_parallel_callback_t, 34) /* task at single end */ \
- \
- macro (ompt_event_workshare_begin, ompt_new_workshare_callback_t, 35) /* task at workshare begin */\
- macro (ompt_event_workshare_end, ompt_parallel_callback_t, 36) /* task at workshare end */ \
- \
- macro (ompt_event_master_begin, ompt_parallel_callback_t, 37) /* task at master begin */ \
- macro (ompt_event_master_end, ompt_parallel_callback_t, 38) /* task at master end */ \
- \
- macro (ompt_event_barrier_begin, ompt_parallel_callback_t, 39) /* task at barrier begin */ \
- macro (ompt_event_barrier_end, ompt_parallel_callback_t, 40) /* task at barrier end */ \
- \
- macro (ompt_event_taskwait_begin, ompt_parallel_callback_t, 41) /* task at taskwait begin */ \
- macro (ompt_event_taskwait_end, ompt_parallel_callback_t, 42) /* task at task wait end */ \
- \
- macro (ompt_event_taskgroup_begin, ompt_parallel_callback_t, 43) /* task at taskgroup begin */\
- macro (ompt_event_taskgroup_end, ompt_parallel_callback_t, 44) /* task at taskgroup end */ \
- \
- macro (ompt_event_release_nest_lock_prev, ompt_wait_callback_t, 45) /* prev nest lock release */ \
- \
- macro (ompt_event_wait_lock, ompt_wait_callback_t, 46) /* lock wait */ \
- macro (ompt_event_wait_nest_lock, ompt_wait_callback_t, 47) /* nest lock wait */ \
- macro (ompt_event_wait_critical, ompt_wait_callback_t, 48) /* critical wait */ \
- macro (ompt_event_wait_atomic, ompt_wait_callback_t, 49) /* atomic wait */ \
- macro (ompt_event_wait_ordered, ompt_wait_callback_t, 50) /* ordered wait */ \
- \
- macro (ompt_event_acquired_lock, ompt_wait_callback_t, 51) /* lock acquired */ \
- macro (ompt_event_acquired_nest_lock_first, ompt_wait_callback_t, 52) /* 1st nest lock acquired */ \
- macro (ompt_event_acquired_nest_lock_next, ompt_wait_callback_t, 53) /* next nest lock acquired*/ \
- macro (ompt_event_acquired_critical, ompt_wait_callback_t, 54) /* critical acquired */ \
- macro (ompt_event_acquired_atomic, ompt_wait_callback_t, 55) /* atomic acquired */ \
- macro (ompt_event_acquired_ordered, ompt_wait_callback_t, 56) /* ordered acquired */ \
- \
- macro (ompt_event_init_lock, ompt_wait_callback_t, 57) /* lock init */ \
- macro (ompt_event_init_nest_lock, ompt_wait_callback_t, 58) /* nest lock init */ \
- \
- macro (ompt_event_destroy_lock, ompt_wait_callback_t, 59) /* lock destruction */ \
- macro (ompt_event_destroy_nest_lock, ompt_wait_callback_t, 60) /* nest lock destruction */ \
- \
- macro (ompt_event_flush, ompt_callback_t, 61) /* after executing flush */
-
-
-
-/*****************************************************************************
- * data types
- *****************************************************************************/
-
-/*---------------------
- * identifiers
- *---------------------*/
-
-typedef uint64_t ompt_thread_id_t;
-#define ompt_thread_id_none ((ompt_thread_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_task_id_t;
-#define ompt_task_id_none ((ompt_task_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_parallel_id_t;
-#define ompt_parallel_id_none ((ompt_parallel_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_wait_id_t;
-#define ompt_wait_id_none ((ompt_wait_id_t) 0) /* non-standard */
-
-
-/*---------------------
- * ompt_frame_t
- *---------------------*/
-
-typedef struct ompt_frame_s {
- void *exit_runtime_frame; /* next frame is user code */
- void *reenter_runtime_frame; /* previous frame is user code */
-} ompt_frame_t;
-
-
-/*****************************************************************************
- * enumerations for thread states and runtime events
- *****************************************************************************/
-
-/*---------------------
- * runtime states
- *---------------------*/
-
-typedef enum {
-#define ompt_state_macro(state, code) state = code,
- FOREACH_OMPT_STATE(ompt_state_macro)
-#undef ompt_state_macro
-} ompt_state_t;
-
-
-/*---------------------
- * runtime events
- *---------------------*/
-
-typedef enum {
-#define ompt_event_macro(event, callback, eventid) event = eventid,
- FOREACH_OMPT_EVENT(ompt_event_macro)
-#undef ompt_event_macro
-} ompt_event_t;
-
-
-/*---------------------
- * set callback results
- *---------------------*/
-typedef enum {
- ompt_set_result_registration_error = 0,
- ompt_set_result_event_may_occur_no_callback = 1,
- ompt_set_result_event_never_occurs = 2,
- ompt_set_result_event_may_occur_callback_some = 3,
- ompt_set_result_event_may_occur_callback_always = 4,
-} ompt_set_result_t;
-
-
-
-/*****************************************************************************
- * callback signatures
- *****************************************************************************/
-
-/* initialization */
-typedef void (*ompt_interface_fn_t)(void);
-
-typedef ompt_interface_fn_t (*ompt_function_lookup_t)(
- const char * /* entry point to look up */
-);
-
-/* threads */
-typedef void (*ompt_thread_callback_t) (
- ompt_thread_id_t thread_id /* ID of thread */
-);
-
-typedef enum {
- ompt_thread_initial = 1, // start the enumeration at 1
- ompt_thread_worker = 2,
- ompt_thread_other = 3
-} ompt_thread_type_t;
-
-typedef enum {
- ompt_invoker_program = 0, /* program invokes master task */
- ompt_invoker_runtime = 1 /* runtime invokes master task */
-} ompt_invoker_t;
-
-typedef void (*ompt_thread_type_callback_t) (
- ompt_thread_type_t thread_type, /* type of thread */
- ompt_thread_id_t thread_id /* ID of thread */
-);
-
-typedef void (*ompt_wait_callback_t) (
- ompt_wait_id_t wait_id /* wait id */
-);
-
-/* parallel and workshares */
-typedef void (*ompt_parallel_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t task_id /* id of task */
-);
-
-typedef void (*ompt_new_workshare_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t parent_task_id, /* id of parent task */
- void *workshare_function /* pointer to outlined function */
-);
-
-typedef void (*ompt_new_parallel_callback_t) (
- ompt_task_id_t parent_task_id, /* id of parent task */
- ompt_frame_t *parent_task_frame, /* frame data of parent task */
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- uint32_t requested_team_size, /* number of threads in team */
- void *parallel_function, /* pointer to outlined function */
- ompt_invoker_t invoker /* who invokes master task? */
-);
-
-typedef void (*ompt_end_parallel_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t task_id, /* id of task */
- ompt_invoker_t invoker /* who invokes master task? */
-);
-
-/* tasks */
-typedef void (*ompt_task_callback_t) (
- ompt_task_id_t task_id /* id of task */
-);
-
-typedef void (*ompt_task_pair_callback_t) (
- ompt_task_id_t first_task_id,
- ompt_task_id_t second_task_id
-);
-
-typedef void (*ompt_new_task_callback_t) (
- ompt_task_id_t parent_task_id, /* id of parent task */
- ompt_frame_t *parent_task_frame, /* frame data for parent task */
- ompt_task_id_t new_task_id, /* id of created task */
- void *task_function /* pointer to outlined function */
-);
-
-/* program */
-typedef void (*ompt_control_callback_t) (
- uint64_t command, /* command of control call */
- uint64_t modifier /* modifier of control call */
-);
-
-typedef void (*ompt_callback_t)(void);
-
-
-/****************************************************************************
- * ompt API
- ***************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define OMPT_API_FNTYPE(fn) fn##_t
-
-#define OMPT_API_FUNCTION(return_type, fn, args) \
- typedef return_type (*OMPT_API_FNTYPE(fn)) args
-
-
-
-/****************************************************************************
- * INQUIRY FUNCTIONS
- ***************************************************************************/
-
-/* state */
-OMPT_API_FUNCTION(ompt_state_t, ompt_get_state, (
- ompt_wait_id_t *ompt_wait_id
-));
-
-/* thread */
-OMPT_API_FUNCTION(ompt_thread_id_t, ompt_get_thread_id, (void));
-
-OMPT_API_FUNCTION(void *, ompt_get_idle_frame, (void));
-
-/* parallel region */
-OMPT_API_FUNCTION(ompt_parallel_id_t, ompt_get_parallel_id, (
- int ancestor_level
-));
-
-OMPT_API_FUNCTION(int, ompt_get_parallel_team_size, (
- int ancestor_level
-));
-
-/* task */
-OMPT_API_FUNCTION(ompt_task_id_t, ompt_get_task_id, (
- int depth
-));
-
-OMPT_API_FUNCTION(ompt_frame_t *, ompt_get_task_frame, (
- int depth
-));
-
-
-
-/****************************************************************************
- * PLACEHOLDERS FOR PERFORMANCE REPORTING
- ***************************************************************************/
-
-/* idle */
-OMPT_API_FUNCTION(void, ompt_idle, (
- void
-));
-
-/* overhead */
-OMPT_API_FUNCTION(void, ompt_overhead, (
- void
-));
-
-/* barrier wait */
-OMPT_API_FUNCTION(void, ompt_barrier_wait, (
- void
-));
-
-/* task wait */
-OMPT_API_FUNCTION(void, ompt_task_wait, (
- void
-));
-
-/* mutex wait */
-OMPT_API_FUNCTION(void, ompt_mutex_wait, (
- void
-));
-
-
-
-/****************************************************************************
- * INITIALIZATION FUNCTIONS
- ***************************************************************************/
-
-OMPT_API_FUNCTION(void, ompt_initialize, (
- ompt_function_lookup_t ompt_fn_lookup,
- const char *runtime_version,
- unsigned int ompt_version
-));
-
-
-/* initialization interface to be defined by tool */
-ompt_initialize_t ompt_tool(void);
-
-typedef enum opt_init_mode_e {
- ompt_init_mode_never = 0,
- ompt_init_mode_false = 1,
- ompt_init_mode_true = 2,
- ompt_init_mode_always = 3
-} ompt_init_mode_t;
-
-OMPT_API_FUNCTION(int, ompt_set_callback, (
- ompt_event_t event,
- ompt_callback_t callback
-));
-
-typedef enum ompt_set_callback_rc_e { /* non-standard */
- ompt_set_callback_error = 0,
- ompt_has_event_no_callback = 1,
- ompt_no_event_no_callback = 2,
- ompt_has_event_may_callback = 3,
- ompt_has_event_must_callback = 4,
-} ompt_set_callback_rc_t;
-
-
-OMPT_API_FUNCTION(int, ompt_get_callback, (
- ompt_event_t event,
- ompt_callback_t *callback
-));
-
-
-
-/****************************************************************************
- * MISCELLANEOUS FUNCTIONS
- ***************************************************************************/
-
-/* control */
-#if defined(_OPENMP) && (_OPENMP >= 201307)
-#pragma omp declare target
-#endif
-void ompt_control(
- uint64_t command,
- uint64_t modifier
-);
-#if defined(_OPENMP) && (_OPENMP >= 201307)
-#pragma omp end declare target
-#endif
-
-/* state enumeration */
-OMPT_API_FUNCTION(int, ompt_enumerate_state, (
- int current_state,
- int *next_state,
- const char **next_state_name
-));
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
-
diff --git a/contrib/libs/cxxsupp/openmp/include/41/omp.h.var b/contrib/libs/cxxsupp/openmp/include/41/omp.h.var
deleted file mode 100644
index 6d9fa43810..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/41/omp.h.var
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * include/41/omp.h.var
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifndef __OMP_H
-# define __OMP_H
-
-# define KMP_VERSION_MAJOR @LIBOMP_VERSION_MAJOR@
-# define KMP_VERSION_MINOR @LIBOMP_VERSION_MINOR@
-# define KMP_VERSION_BUILD @LIBOMP_VERSION_BUILD@
-# define KMP_BUILD_DATE "@LIBOMP_BUILD_DATE@"
-
-# ifdef __cplusplus
- extern "C" {
-# endif
-
-# if defined(_WIN32)
-# define __KAI_KMPC_CONVENTION __cdecl
-# else
-# define __KAI_KMPC_CONVENTION
-# endif
-
- /* schedule kind constants */
- typedef enum omp_sched_t {
- omp_sched_static = 1,
- omp_sched_dynamic = 2,
- omp_sched_guided = 3,
- omp_sched_auto = 4
- } omp_sched_t;
-
- /* set API functions */
- extern void __KAI_KMPC_CONVENTION omp_set_num_threads (int);
- extern void __KAI_KMPC_CONVENTION omp_set_dynamic (int);
- extern void __KAI_KMPC_CONVENTION omp_set_nested (int);
- extern void __KAI_KMPC_CONVENTION omp_set_max_active_levels (int);
- extern void __KAI_KMPC_CONVENTION omp_set_schedule (omp_sched_t, int);
-
- /* query API functions */
- extern int __KAI_KMPC_CONVENTION omp_get_num_threads (void);
- extern int __KAI_KMPC_CONVENTION omp_get_dynamic (void);
- extern int __KAI_KMPC_CONVENTION omp_get_nested (void);
- extern int __KAI_KMPC_CONVENTION omp_get_max_threads (void);
- extern int __KAI_KMPC_CONVENTION omp_get_thread_num (void);
- extern int __KAI_KMPC_CONVENTION omp_get_num_procs (void);
- extern int __KAI_KMPC_CONVENTION omp_in_parallel (void);
- extern int __KAI_KMPC_CONVENTION omp_in_final (void);
- extern int __KAI_KMPC_CONVENTION omp_get_active_level (void);
- extern int __KAI_KMPC_CONVENTION omp_get_level (void);
- extern int __KAI_KMPC_CONVENTION omp_get_ancestor_thread_num (int);
- extern int __KAI_KMPC_CONVENTION omp_get_team_size (int);
- extern int __KAI_KMPC_CONVENTION omp_get_thread_limit (void);
- extern int __KAI_KMPC_CONVENTION omp_get_max_active_levels (void);
- extern void __KAI_KMPC_CONVENTION omp_get_schedule (omp_sched_t *, int *);
-
- /* lock API functions */
- typedef struct omp_lock_t {
- void * _lk;
- } omp_lock_t;
-
- extern void __KAI_KMPC_CONVENTION omp_init_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_set_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_unset_lock (omp_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_destroy_lock (omp_lock_t *);
- extern int __KAI_KMPC_CONVENTION omp_test_lock (omp_lock_t *);
-
- /* nested lock API functions */
- typedef struct omp_nest_lock_t {
- void * _lk;
- } omp_nest_lock_t;
-
- extern void __KAI_KMPC_CONVENTION omp_init_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_set_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_unset_nest_lock (omp_nest_lock_t *);
- extern void __KAI_KMPC_CONVENTION omp_destroy_nest_lock (omp_nest_lock_t *);
- extern int __KAI_KMPC_CONVENTION omp_test_nest_lock (omp_nest_lock_t *);
-
- /* lock hint type for dynamic user lock */
- typedef enum omp_lock_hint_t {
- omp_lock_hint_none = 0,
- omp_lock_hint_uncontended = 1,
- omp_lock_hint_contended = (1<<1 ),
- omp_lock_hint_nonspeculative = (1<<2 ),
- omp_lock_hint_speculative = (1<<3 ),
- kmp_lock_hint_hle = (1<<16),
- kmp_lock_hint_rtm = (1<<17),
- kmp_lock_hint_adaptive = (1<<18)
- } omp_lock_hint_t;
-
- /* hinted lock initializers */
- extern void __KAI_KMPC_CONVENTION omp_init_lock_with_hint(omp_lock_t *, omp_lock_hint_t);
- extern void __KAI_KMPC_CONVENTION omp_init_nest_lock_with_hint(omp_nest_lock_t *, omp_lock_hint_t);
-
- /* time API functions */
- extern double __KAI_KMPC_CONVENTION omp_get_wtime (void);
- extern double __KAI_KMPC_CONVENTION omp_get_wtick (void);
-
- /* OpenMP 4.0 */
- extern int __KAI_KMPC_CONVENTION omp_get_default_device (void);
- extern void __KAI_KMPC_CONVENTION omp_set_default_device (int);
- extern int __KAI_KMPC_CONVENTION omp_is_initial_device (void);
- extern int __KAI_KMPC_CONVENTION omp_get_num_devices (void);
- extern int __KAI_KMPC_CONVENTION omp_get_num_teams (void);
- extern int __KAI_KMPC_CONVENTION omp_get_team_num (void);
- extern int __KAI_KMPC_CONVENTION omp_get_cancellation (void);
-
-# include <stdlib.h>
- /* kmp API functions */
- extern int __KAI_KMPC_CONVENTION kmp_get_stacksize (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_stacksize (int);
- extern size_t __KAI_KMPC_CONVENTION kmp_get_stacksize_s (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_stacksize_s (size_t);
- extern int __KAI_KMPC_CONVENTION kmp_get_blocktime (void);
- extern int __KAI_KMPC_CONVENTION kmp_get_library (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_blocktime (int);
- extern void __KAI_KMPC_CONVENTION kmp_set_library (int);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_serial (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_turnaround (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_library_throughput (void);
- extern void __KAI_KMPC_CONVENTION kmp_set_defaults (char const *);
-
- /* Intel affinity API */
- typedef void * kmp_affinity_mask_t;
-
- extern int __KAI_KMPC_CONVENTION kmp_set_affinity (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity_max_proc (void);
- extern void __KAI_KMPC_CONVENTION kmp_create_affinity_mask (kmp_affinity_mask_t *);
- extern void __KAI_KMPC_CONVENTION kmp_destroy_affinity_mask (kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_set_affinity_mask_proc (int, kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_unset_affinity_mask_proc (int, kmp_affinity_mask_t *);
- extern int __KAI_KMPC_CONVENTION kmp_get_affinity_mask_proc (int, kmp_affinity_mask_t *);
-
- /* OpenMP 4.0 affinity API */
- typedef enum omp_proc_bind_t {
- omp_proc_bind_false = 0,
- omp_proc_bind_true = 1,
- omp_proc_bind_master = 2,
- omp_proc_bind_close = 3,
- omp_proc_bind_spread = 4
- } omp_proc_bind_t;
-
- extern omp_proc_bind_t __KAI_KMPC_CONVENTION omp_get_proc_bind (void);
-
- extern void * __KAI_KMPC_CONVENTION kmp_malloc (size_t);
- extern void * __KAI_KMPC_CONVENTION kmp_calloc (size_t, size_t);
- extern void * __KAI_KMPC_CONVENTION kmp_realloc (void *, size_t);
- extern void __KAI_KMPC_CONVENTION kmp_free (void *);
-
- extern void __KAI_KMPC_CONVENTION kmp_set_warnings_on(void);
- extern void __KAI_KMPC_CONVENTION kmp_set_warnings_off(void);
-
-# undef __KAI_KMPC_CONVENTION
-
- /* Warning:
- The following typedefs are not standard, deprecated and will be removed in a future release.
- */
- typedef int omp_int_t;
- typedef double omp_wtime_t;
-
-# ifdef __cplusplus
- }
-# endif
-
-#endif /* __OMP_H */
-
diff --git a/contrib/libs/cxxsupp/openmp/include/41/omp_lib.f.var b/contrib/libs/cxxsupp/openmp/include/41/omp_lib.f.var
deleted file mode 100644
index c801908cd4..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/41/omp_lib.f.var
+++ /dev/null
@@ -1,788 +0,0 @@
-! include/41/omp_lib.f.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
-!***
-!*** Some of the directives for the following routine extend past column 72,
-!*** so process this file in 132-column mode.
-!***
-
-!dec$ fixedformlinesize:132
-
- module omp_lib_kinds
-
- integer, parameter :: omp_integer_kind = 4
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = 4
- integer, parameter :: omp_lock_kind = int_ptr_kind()
- integer, parameter :: omp_nest_lock_kind = int_ptr_kind()
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: omp_proc_bind_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = int_ptr_kind()
- integer, parameter :: kmp_size_t_kind = int_ptr_kind()
- integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
- integer, parameter :: kmp_cancel_kind = omp_integer_kind
- integer, parameter :: omp_lock_hint_kind = omp_integer_kind
-
- end module omp_lib_kinds
-
- module omp_lib
-
- use omp_lib_kinds
-
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*), parameter :: kmp_build_date = '@LIBOMP_BUILD_DATE@'
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
-
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_parallel = 1
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_loop = 2
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_sections = 3
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_taskgroup = 4
-
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_none = 0
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_uncontended = 1
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_contended = 2
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_nonspeculative = 4
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_speculative = 8
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_hle = 65536
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_rtm = 131072
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_adaptive = 262144
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_get_dynamic()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) level
- integer (kind=omp_integer_kind) omp_get_team_size
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_proc_bind()
- use omp_lib_kinds
- integer (kind=omp_proc_bind_kind) omp_get_proc_bind
- end function omp_get_proc_bind
-
- function omp_get_wtime()
- double precision omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick ()
- double precision omp_get_wtick
- end function omp_get_wtick
-
- function omp_get_default_device()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_default_device
- end function omp_get_default_device
-
- subroutine omp_set_default_device(dflt_device)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) dflt_device
- end subroutine omp_set_default_device
-
- function omp_get_num_devices()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_devices
- end function omp_get_num_devices
-
- function omp_get_num_teams()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_teams
- end function omp_get_num_teams
-
- function omp_get_team_num()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_team_num
- end function omp_get_team_num
-
- function omp_get_cancellation()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_cancellation
- end function omp_get_cancellation
-
- function omp_is_initial_device()
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_is_initial_device
- end function omp_is_initial_device
-
- subroutine omp_init_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial()
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround()
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput()
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string)
- character*(*) string
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s()
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc()
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind) proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind) size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind) nelem
- integer (kind=kmp_size_t_kind) elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind) ptr
- integer (kind=kmp_size_t_kind) size
- end function kmp_realloc
-
- subroutine kmp_free(ptr)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on()
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off()
- end subroutine kmp_set_warnings_off
-
- function kmp_get_cancellation_status(cancelkind)
- use omp_lib_kinds
- integer (kind=kmp_cancel_kind) cancelkind
- logical (kind=omp_logical_kind) kmp_get_cancellation_status
- end function kmp_get_cancellation_status
-
- subroutine kmp_init_lock_with_hint(lockvar, lockhint)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- integer (kind=omp_lock_hint_kind) lockhint
- end subroutine kmp_init_lock_with_hint
-
- subroutine kmp_init_nest_lock_with_hint(lockvar, lockhint)
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- integer (kind=omp_lock_hint_kind) lockhint
- end subroutine kmp_init_nest_lock_with_hint
-
- end interface
-
-!dec$ if defined(_WIN32)
-!dec$ if defined(_WIN64) .or. defined(_M_AMD64)
-
-!***
-!*** The Fortran entry points must be in uppercase, even if the /Qlowercase
-!*** option is specified. The alias attribute ensures that the specified
-!*** string is used as the entry point.
-!***
-!*** On the Windows* OS IA-32 architecture, the Fortran entry points have an
-!*** underscore prepended. On the Windows* OS Intel(R) 64
-!*** architecture, no underscore is prepended.
-!***
-
-!dec$ attributes alias:'OMP_SET_NUM_THREADS' :: omp_set_num_threads
-!dec$ attributes alias:'OMP_SET_DYNAMIC' :: omp_set_dynamic
-!dec$ attributes alias:'OMP_SET_NESTED' :: omp_set_nested
-!dec$ attributes alias:'OMP_GET_NUM_THREADS' :: omp_get_num_threads
-!dec$ attributes alias:'OMP_GET_MAX_THREADS' :: omp_get_max_threads
-!dec$ attributes alias:'OMP_GET_THREAD_NUM' :: omp_get_thread_num
-!dec$ attributes alias:'OMP_GET_NUM_PROCS' :: omp_get_num_procs
-!dec$ attributes alias:'OMP_IN_PARALLEL' :: omp_in_parallel
-!dec$ attributes alias:'OMP_GET_DYNAMIC' :: omp_get_dynamic
-!dec$ attributes alias:'OMP_GET_NESTED' :: omp_get_nested
-!dec$ attributes alias:'OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
-!dec$ attributes alias:'OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
-!dec$ attributes alias:'OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
-!dec$ attributes alias:'OMP_GET_LEVEL' :: omp_get_level
-!dec$ attributes alias:'OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
-!dec$ attributes alias:'OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
-!dec$ attributes alias:'OMP_GET_TEAM_SIZE' :: omp_get_team_size
-!dec$ attributes alias:'OMP_SET_SCHEDULE' :: omp_set_schedule
-!dec$ attributes alias:'OMP_GET_SCHEDULE' :: omp_get_schedule
-!dec$ attributes alias:'OMP_GET_PROC_BIND' :: omp_get_proc_bind
-!dec$ attributes alias:'OMP_GET_WTIME' :: omp_get_wtime
-!dec$ attributes alias:'OMP_GET_WTICK' :: omp_get_wtick
-!dec$ attributes alias:'OMP_GET_DEFAULT_DEVICE' :: omp_get_default_device
-!dec$ attributes alias:'OMP_SET_DEFAULT_DEVICE' :: omp_set_default_device
-!dec$ attributes alias:'OMP_GET_NUM_DEVICES' :: omp_get_num_devices
-!dec$ attributes alias:'OMP_GET_NUM_TEAMS' :: omp_get_num_teams
-!dec$ attributes alias:'OMP_GET_TEAM_NUM' :: omp_get_team_num
-!dec$ attributes alias:'OMP_GET_CANCELLATION' :: omp_get_cancellation
-!dec$ attributes alias:'OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device
-
-!dec$ attributes alias:'omp_init_lock' :: omp_init_lock
-!dec$ attributes alias:'omp_init_lock_with_hint' :: omp_init_lock_with_hint
-!dec$ attributes alias:'omp_destroy_lock' :: omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock' :: omp_set_lock
-!dec$ attributes alias:'omp_unset_lock' :: omp_unset_lock
-!dec$ attributes alias:'omp_test_lock' :: omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock' :: omp_init_nest_lock
-!dec$ attributes alias:'omp_init_nest_lock_with_hint' :: omp_init_nest_lock_with_hint
-!dec$ attributes alias:'omp_destroy_nest_lock' :: omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock' :: omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock' :: omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock' :: omp_test_nest_lock
-
-!dec$ attributes alias:'KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ attributes alias:'KMP_GET_CANCELLATION_STATUS' :: kmp_get_cancellation_status
-
-!dec$ else
-
-!***
-!*** On Windows* OS IA-32 architecture, the Fortran entry points have an underscore prepended.
-!***
-
-!dec$ attributes alias:'_OMP_SET_NUM_THREADS' :: omp_set_num_threads
-!dec$ attributes alias:'_OMP_SET_DYNAMIC' :: omp_set_dynamic
-!dec$ attributes alias:'_OMP_SET_NESTED' :: omp_set_nested
-!dec$ attributes alias:'_OMP_GET_NUM_THREADS' :: omp_get_num_threads
-!dec$ attributes alias:'_OMP_GET_MAX_THREADS' :: omp_get_max_threads
-!dec$ attributes alias:'_OMP_GET_THREAD_NUM' :: omp_get_thread_num
-!dec$ attributes alias:'_OMP_GET_NUM_PROCS' :: omp_get_num_procs
-!dec$ attributes alias:'_OMP_IN_PARALLEL' :: omp_in_parallel
-!dec$ attributes alias:'_OMP_GET_DYNAMIC' :: omp_get_dynamic
-!dec$ attributes alias:'_OMP_GET_NESTED' :: omp_get_nested
-!dec$ attributes alias:'_OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
-!dec$ attributes alias:'_OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
-!dec$ attributes alias:'_OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
-!dec$ attributes alias:'_OMP_GET_LEVEL' :: omp_get_level
-!dec$ attributes alias:'_OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
-!dec$ attributes alias:'_OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
-!dec$ attributes alias:'_OMP_GET_TEAM_SIZE' :: omp_get_team_size
-!dec$ attributes alias:'_OMP_SET_SCHEDULE' :: omp_set_schedule
-!dec$ attributes alias:'_OMP_GET_SCHEDULE' :: omp_get_schedule
-!dec$ attributes alias:'_OMP_GET_PROC_BIND' :: omp_get_proc_bind
-!dec$ attributes alias:'_OMP_GET_WTIME' :: omp_get_wtime
-!dec$ attributes alias:'_OMP_GET_WTICK' :: omp_get_wtick
-!dec$ attributes alias:'_OMP_GET_DEFAULT_DEVICE' :: omp_get_default_device
-!dec$ attributes alias:'_OMP_SET_DEFAULT_DEVICE' :: omp_set_default_device
-!dec$ attributes alias:'_OMP_GET_NUM_DEVICES' :: omp_get_num_devices
-!dec$ attributes alias:'_OMP_GET_NUM_TEAMS' :: omp_get_num_teams
-!dec$ attributes alias:'_OMP_GET_TEAM_NUM' :: omp_get_team_num
-!dec$ attributes alias:'_OMP_GET_CANCELLATION' :: omp_get_cancellation
-!dec$ attributes alias:'_OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device
-
-!dec$ attributes alias:'_omp_init_lock' :: omp_init_lock
-!dec$ attributes alias:'_omp_init_lock_with_hint' :: omp_init_lock_with_hint
-!dec$ attributes alias:'_omp_destroy_lock' :: omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock' :: omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock' :: omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock' :: omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock' :: omp_init_nest_lock
-!dec$ attributes alias:'_omp_init_nest_lock_with_hint' :: omp_init_nest_lock_with_hint
-!dec$ attributes alias:'_omp_destroy_nest_lock' :: omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock' :: omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock' :: omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock' :: omp_test_nest_lock
-
-!dec$ attributes alias:'_KMP_SET_STACKSIZE'::kmp_set_stacksize
-!dec$ attributes alias:'_KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
-!dec$ attributes alias:'_KMP_SET_BLOCKTIME'::kmp_set_blocktime
-!dec$ attributes alias:'_KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
-!dec$ attributes alias:'_KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
-!dec$ attributes alias:'_KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
-!dec$ attributes alias:'_KMP_SET_LIBRARY'::kmp_set_library
-!dec$ attributes alias:'_KMP_GET_STACKSIZE'::kmp_get_stacksize
-!dec$ attributes alias:'_KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
-!dec$ attributes alias:'_KMP_GET_BLOCKTIME'::kmp_get_blocktime
-!dec$ attributes alias:'_KMP_GET_LIBRARY'::kmp_get_library
-!dec$ attributes alias:'_KMP_SET_AFFINITY'::kmp_set_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY'::kmp_get_affinity
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
-!dec$ attributes alias:'_KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_KMP_MALLOC'::kmp_malloc
-!dec$ attributes alias:'_KMP_CALLOC'::kmp_calloc
-!dec$ attributes alias:'_KMP_REALLOC'::kmp_realloc
-!dec$ attributes alias:'_KMP_FREE'::kmp_free
-
-!dec$ attributes alias:'_KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
-!dec$ attributes alias:'_KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
-
-!dec$ attributes alias:'_KMP_GET_CANCELLATION_STATUS' :: kmp_get_cancellation_status
-
-!dec$ endif
-!dec$ endif
-
-!dec$ if defined(__linux)
-
-!***
-!*** The Linux* OS entry points are in lowercase, with an underscore appended.
-!***
-
-!dec$ attributes alias:'omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'omp_get_level_'::omp_get_level
-!dec$ attributes alias:'omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'omp_get_proc_bind_' :: omp_get_proc_bind
-!dec$ attributes alias:'omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'omp_get_wtick_'::omp_get_wtick
-!dec$ attributes alias:'omp_get_default_device_'::omp_get_default_device
-!dec$ attributes alias:'omp_set_default_device_'::omp_set_default_device
-!dec$ attributes alias:'omp_get_num_devices_'::omp_get_num_devices
-!dec$ attributes alias:'omp_get_num_teams_'::omp_get_num_teams
-!dec$ attributes alias:'omp_get_team_num_'::omp_get_team_num
-!dec$ attributes alias:'omp_get_cancellation_'::omp_get_cancellation
-!dec$ attributes alias:'omp_is_initial_device_'::omp_is_initial_device
-
-!dec$ attributes alias:'omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'omp_init_lock_with_hint_'::omp_init_lock_with_hint
-!dec$ attributes alias:'omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'omp_init_nest_lock_with_hint_'::omp_init_nest_lock_with_hint
-!dec$ attributes alias:'omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'kmp_free_'::kmp_free
-
-!dec$ attributes alias:'kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'kmp_set_warnings_off_'::kmp_set_warnings_off
-!dec$ attributes alias:'kmp_get_cancellation_status_'::kmp_get_cancellation_status
-
-!dec$ endif
-
-!dec$ if defined(__APPLE__)
-
-!***
-!*** The Mac entry points are in lowercase, with an both an underscore
-!*** appended and an underscore prepended.
-!***
-
-!dec$ attributes alias:'_omp_set_num_threads_'::omp_set_num_threads
-!dec$ attributes alias:'_omp_set_dynamic_'::omp_set_dynamic
-!dec$ attributes alias:'_omp_set_nested_'::omp_set_nested
-!dec$ attributes alias:'_omp_get_num_threads_'::omp_get_num_threads
-!dec$ attributes alias:'_omp_get_max_threads_'::omp_get_max_threads
-!dec$ attributes alias:'_omp_get_thread_num_'::omp_get_thread_num
-!dec$ attributes alias:'_omp_get_num_procs_'::omp_get_num_procs
-!dec$ attributes alias:'_omp_in_parallel_'::omp_in_parallel
-!dec$ attributes alias:'_omp_get_dynamic_'::omp_get_dynamic
-!dec$ attributes alias:'_omp_get_nested_'::omp_get_nested
-!dec$ attributes alias:'_omp_get_thread_limit_'::omp_get_thread_limit
-!dec$ attributes alias:'_omp_set_max_active_levels_'::omp_set_max_active_levels
-!dec$ attributes alias:'_omp_get_max_active_levels_'::omp_get_max_active_levels
-!dec$ attributes alias:'_omp_get_level_'::omp_get_level
-!dec$ attributes alias:'_omp_get_active_level_'::omp_get_active_level
-!dec$ attributes alias:'_omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
-!dec$ attributes alias:'_omp_get_team_size_'::omp_get_team_size
-!dec$ attributes alias:'_omp_set_schedule_'::omp_set_schedule
-!dec$ attributes alias:'_omp_get_schedule_'::omp_get_schedule
-!dec$ attributes alias:'_omp_get_proc_bind_' :: omp_get_proc_bind
-!dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime
-!dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick
-!dec$ attributes alias:'_omp_get_num_teams_'::omp_get_num_teams
-!dec$ attributes alias:'_omp_get_team_num_'::omp_get_team_num
-!dec$ attributes alias:'_omp_get_cancellation_'::omp_get_cancellation
-!dec$ attributes alias:'_omp_is_initial_device_'::omp_is_initial_device
-
-!dec$ attributes alias:'_omp_init_lock_'::omp_init_lock
-!dec$ attributes alias:'_omp_init_lock_with_hint_'::omp_init_lock_with_hint
-!dec$ attributes alias:'_omp_destroy_lock_'::omp_destroy_lock
-!dec$ attributes alias:'_omp_set_lock_'::omp_set_lock
-!dec$ attributes alias:'_omp_unset_lock_'::omp_unset_lock
-!dec$ attributes alias:'_omp_test_lock_'::omp_test_lock
-!dec$ attributes alias:'_omp_init_nest_lock_'::omp_init_nest_lock
-!dec$ attributes alias:'_omp_init_nest_lock_with_hint_'::omp_init_nest_lock_with_hint
-!dec$ attributes alias:'_omp_destroy_nest_lock_'::omp_destroy_nest_lock
-!dec$ attributes alias:'_omp_set_nest_lock_'::omp_set_nest_lock
-!dec$ attributes alias:'_omp_unset_nest_lock_'::omp_unset_nest_lock
-!dec$ attributes alias:'_omp_test_nest_lock_'::omp_test_nest_lock
-
-!dec$ attributes alias:'_kmp_set_stacksize_'::kmp_set_stacksize
-!dec$ attributes alias:'_kmp_set_stacksize_s_'::kmp_set_stacksize_s
-!dec$ attributes alias:'_kmp_set_blocktime_'::kmp_set_blocktime
-!dec$ attributes alias:'_kmp_set_library_serial_'::kmp_set_library_serial
-!dec$ attributes alias:'_kmp_set_library_turnaround_'::kmp_set_library_turnaround
-!dec$ attributes alias:'_kmp_set_library_throughput_'::kmp_set_library_throughput
-!dec$ attributes alias:'_kmp_set_library_'::kmp_set_library
-!dec$ attributes alias:'_kmp_get_stacksize_'::kmp_get_stacksize
-!dec$ attributes alias:'_kmp_get_stacksize_s_'::kmp_get_stacksize_s
-!dec$ attributes alias:'_kmp_get_blocktime_'::kmp_get_blocktime
-!dec$ attributes alias:'_kmp_get_library_'::kmp_get_library
-!dec$ attributes alias:'_kmp_set_affinity_'::kmp_set_affinity
-!dec$ attributes alias:'_kmp_get_affinity_'::kmp_get_affinity
-!dec$ attributes alias:'_kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
-!dec$ attributes alias:'_kmp_create_affinity_mask_'::kmp_create_affinity_mask
-!dec$ attributes alias:'_kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
-!dec$ attributes alias:'_kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
-!dec$ attributes alias:'_kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
-!dec$ attributes alias:'_kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
-!dec$ attributes alias:'_kmp_malloc_'::kmp_malloc
-!dec$ attributes alias:'_kmp_calloc_'::kmp_calloc
-!dec$ attributes alias:'_kmp_realloc_'::kmp_realloc
-!dec$ attributes alias:'_kmp_free_'::kmp_free
-
-!dec$ attributes alias:'_kmp_set_warnings_on_'::kmp_set_warnings_on
-!dec$ attributes alias:'_kmp_set_warnings_off_'::kmp_set_warnings_off
-
-!dec$ attributes alias:'_kmp_get_cancellation_status_'::kmp_get_cancellation_status
-
-!dec$ endif
-
- end module omp_lib
-
diff --git a/contrib/libs/cxxsupp/openmp/include/41/omp_lib.f90.var b/contrib/libs/cxxsupp/openmp/include/41/omp_lib.f90.var
deleted file mode 100644
index 2d23667b10..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/41/omp_lib.f90.var
+++ /dev/null
@@ -1,470 +0,0 @@
-! include/41/omp_lib.f90.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
- module omp_lib_kinds
-
- use, intrinsic :: iso_c_binding
-
- integer, parameter :: omp_integer_kind = c_int
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = c_float
- integer, parameter :: kmp_double_kind = c_double
- integer, parameter :: omp_lock_kind = c_intptr_t
- integer, parameter :: omp_nest_lock_kind = c_intptr_t
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: omp_proc_bind_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = c_intptr_t
- integer, parameter :: kmp_size_t_kind = c_size_t
- integer, parameter :: kmp_affinity_mask_kind = c_intptr_t
- integer, parameter :: kmp_cancel_kind = omp_integer_kind
- integer, parameter :: omp_lock_hint_kind = omp_integer_kind
-
- end module omp_lib_kinds
-
- module omp_lib
-
- use omp_lib_kinds
-
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*) kmp_build_date
- parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' )
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
-
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
-
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_parallel = 1
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_loop = 2
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_sections = 3
- integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_taskgroup = 4
-
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_none = 0
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_uncontended = 1
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_contended = 2
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_nonspeculative = 4
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_speculative = 8
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_hle = 65536
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_rtm = 131072
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_adaptive = 262144
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable) bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable) bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_in_final() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_in_final
- end function omp_in_final
-
- function omp_get_dynamic() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_team_size
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier) bind(c)
- use omp_lib_kinds
- integer (kind=omp_sched_kind), value :: kind
- integer (kind=omp_integer_kind), value :: modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier) bind(c)
- use omp_lib_kinds
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_proc_bind() bind(c)
- use omp_lib_kinds
- integer (kind=omp_proc_bind_kind) omp_get_proc_bind
- end function omp_get_proc_bind
-
- function omp_get_wtime() bind(c)
- use omp_lib_kinds
- real (kind=kmp_double_kind) omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick() bind(c)
- use omp_lib_kinds
- real (kind=kmp_double_kind) omp_get_wtick
- end function omp_get_wtick
-
- function omp_get_default_device() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_default_device
- end function omp_get_default_device
-
- subroutine omp_set_default_device(dflt_device) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: dflt_device
- end subroutine omp_set_default_device
-
- function omp_get_num_devices() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_devices
- end function omp_get_num_devices
-
- function omp_get_num_teams() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_num_teams
- end function omp_get_num_teams
-
- function omp_get_team_num() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_team_num
- end function omp_get_team_num
-
- function omp_get_cancellation() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_get_cancellation
- end function omp_get_cancellation
-
- function omp_is_initial_device() bind(c)
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_is_initial_device
- end function omp_is_initial_device
-
- subroutine omp_init_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_nest_lock
-!DIR$ ENDIF
- use omp_lib_kinds
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind), value :: size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial() bind(c)
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround() bind(c)
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput() bind(c)
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind), value :: libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string) bind(c)
- use, intrinsic :: iso_c_binding
- character (kind=c_char) :: string(*)
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s() bind(c)
- use omp_lib_kinds
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc() bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask) bind(c)
- use omp_lib_kinds
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind), value :: nelem
- integer (kind=kmp_size_t_kind), value :: elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind), value :: ptr
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_realloc
-
- subroutine kmp_free(ptr) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_pointer_kind), value :: ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on() bind(c)
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off() bind(c)
- end subroutine kmp_set_warnings_off
-
- function kmp_get_cancellation_status(cancelkind) bind(c)
- use omp_lib_kinds
- integer (kind=kmp_cancel_kind), value :: cancelkind
- logical (kind=omp_logical_kind) kmp_get_cancellation_status
- end function kmp_get_cancellation_status
-
- subroutine omp_init_lock_with_hint(lockvar, lockhint) bind(c)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- integer (kind=omp_lock_hint_kind), value :: lockhint
- end subroutine omp_init_lock_with_hint
-
- subroutine omp_init_nest_lock_with_hint(lockvar, lockhint) bind(c)
- use omp_lib_kinds
- integer (kind=omp_lock_kind) lockvar
- integer (kind=omp_lock_hint_kind), value :: lockhint
- end subroutine omp_init_nest_lock_with_hint
-
- end interface
-
- end module omp_lib
diff --git a/contrib/libs/cxxsupp/openmp/include/41/omp_lib.h.var b/contrib/libs/cxxsupp/openmp/include/41/omp_lib.h.var
deleted file mode 100644
index 867bcd97b0..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/41/omp_lib.h.var
+++ /dev/null
@@ -1,584 +0,0 @@
-! include/41/omp_lib.h.var
-
-!
-!//===----------------------------------------------------------------------===//
-!//
-!// The LLVM Compiler Infrastructure
-!//
-!// This file is dual licensed under the MIT and the University of Illinois Open
-!// Source Licenses. See LICENSE.txt for details.
-!//
-!//===----------------------------------------------------------------------===//
-!
-
-!***
-!*** Some of the directives for the following routine extend past column 72,
-!*** so process this file in 132-column mode.
-!***
-
-!DIR$ fixedformlinesize:132
-
- integer, parameter :: omp_integer_kind = 4
- integer, parameter :: omp_logical_kind = 4
- integer, parameter :: omp_real_kind = 4
- integer, parameter :: omp_lock_kind = int_ptr_kind()
- integer, parameter :: omp_nest_lock_kind = int_ptr_kind()
- integer, parameter :: omp_sched_kind = omp_integer_kind
- integer, parameter :: omp_proc_bind_kind = omp_integer_kind
- integer, parameter :: kmp_pointer_kind = int_ptr_kind()
- integer, parameter :: kmp_size_t_kind = int_ptr_kind()
- integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
- integer, parameter :: omp_lock_hint_kind = omp_integer_kind
-
- integer (kind=omp_integer_kind), parameter :: openmp_version = @LIBOMP_OMP_YEAR_MONTH@
- integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
- integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
- character(*) kmp_build_date
- parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' )
-
- integer(kind=omp_sched_kind), parameter :: omp_sched_static = 1
- integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
- integer(kind=omp_sched_kind), parameter :: omp_sched_guided = 3
- integer(kind=omp_sched_kind), parameter :: omp_sched_auto = 4
-
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
- integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
-
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_none = 0
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_uncontended = 1
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_contended = 2
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_nonspeculative = 4
- integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_speculative = 8
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_hle = 65536
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_rtm = 131072
- integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_adaptive = 262144
-
- interface
-
-! ***
-! *** omp_* entry points
-! ***
-
- subroutine omp_set_num_threads(nthreads) bind(c)
- import
- integer (kind=omp_integer_kind), value :: nthreads
- end subroutine omp_set_num_threads
-
- subroutine omp_set_dynamic(enable) bind(c)
- import
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_dynamic
-
- subroutine omp_set_nested(enable) bind(c)
- import
- logical (kind=omp_logical_kind), value :: enable
- end subroutine omp_set_nested
-
- function omp_get_num_threads() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_threads
- end function omp_get_num_threads
-
- function omp_get_max_threads() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_max_threads
- end function omp_get_max_threads
-
- function omp_get_thread_num() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_thread_num
- end function omp_get_thread_num
-
- function omp_get_num_procs() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_procs
- end function omp_get_num_procs
-
- function omp_in_parallel() bind(c)
- import
- logical (kind=omp_logical_kind) omp_in_parallel
- end function omp_in_parallel
-
- function omp_in_final() bind(c)
- import
- logical (kind=omp_logical_kind) omp_in_final
- end function omp_in_final
-
- function omp_get_dynamic() bind(c)
- import
- logical (kind=omp_logical_kind) omp_get_dynamic
- end function omp_get_dynamic
-
- function omp_get_nested() bind(c)
- import
- logical (kind=omp_logical_kind) omp_get_nested
- end function omp_get_nested
-
- function omp_get_thread_limit() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_thread_limit
- end function omp_get_thread_limit
-
- subroutine omp_set_max_active_levels(max_levels) bind(c)
- import
- integer (kind=omp_integer_kind), value :: max_levels
- end subroutine omp_set_max_active_levels
-
- function omp_get_max_active_levels() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_max_active_levels
- end function omp_get_max_active_levels
-
- function omp_get_level() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_level
- end function omp_get_level
-
- function omp_get_active_level() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_active_level
- end function omp_get_active_level
-
- function omp_get_ancestor_thread_num(level) bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_ancestor_thread_num
-
- function omp_get_team_size(level) bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_team_size
- integer (kind=omp_integer_kind), value :: level
- end function omp_get_team_size
-
- subroutine omp_set_schedule(kind, modifier) bind(c)
- import
- integer (kind=omp_sched_kind), value :: kind
- integer (kind=omp_integer_kind), value :: modifier
- end subroutine omp_set_schedule
-
- subroutine omp_get_schedule(kind, modifier) bind(c)
- import
- integer (kind=omp_sched_kind) kind
- integer (kind=omp_integer_kind) modifier
- end subroutine omp_get_schedule
-
- function omp_get_proc_bind() bind(c)
- import
- integer (kind=omp_proc_bind_kind) omp_get_proc_bind
- end function omp_get_proc_bind
-
- function omp_get_wtime() bind(c)
- double precision omp_get_wtime
- end function omp_get_wtime
-
- function omp_get_wtick() bind(c)
- double precision omp_get_wtick
- end function omp_get_wtick
-
- function omp_get_default_device() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_default_device
- end function omp_get_default_device
-
- subroutine omp_set_default_device(dflt_device) bind(c)
- import
- integer (kind=omp_integer_kind), value :: dflt_device
- end subroutine omp_set_default_device
-
- function omp_get_num_devices() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_devices
- end function omp_get_num_devices
-
- function omp_get_num_teams() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_num_teams
- end function omp_get_num_teams
-
- function omp_get_team_num() bind(c)
- import
- integer (kind=omp_integer_kind) omp_get_team_num
- end function omp_get_team_num
-
- function omp_is_initial_device() bind(c)
- import
- logical (kind=omp_logical_kind) omp_is_initial_device
- end function omp_is_initial_device
-
- subroutine omp_init_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_init_lock
-
- subroutine omp_destroy_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_destroy_lock
-
- subroutine omp_set_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_set_lock
-
- subroutine omp_unset_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_lock_kind) lockvar
- end subroutine omp_unset_lock
-
- function omp_test_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_lock
-!DIR$ ENDIF
- import
- logical (kind=omp_logical_kind) omp_test_lock
- integer (kind=omp_lock_kind) lockvar
- end function omp_test_lock
-
- subroutine omp_init_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_init_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_init_nest_lock
-
- subroutine omp_destroy_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_destroy_nest_lock
-
- subroutine omp_set_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_set_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_set_nest_lock
-
- subroutine omp_unset_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_nest_lock_kind) lockvar
- end subroutine omp_unset_nest_lock
-
- function omp_test_nest_lock(lockvar) bind(c)
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!DIR$ attributes known_intrinsic :: omp_test_nest_lock
-!DIR$ ENDIF
- import
- integer (kind=omp_integer_kind) omp_test_nest_lock
- integer (kind=omp_nest_lock_kind) lockvar
- end function omp_test_nest_lock
-
-! ***
-! *** kmp_* entry points
-! ***
-
- subroutine kmp_set_stacksize(size) bind(c)
- import
- integer (kind=omp_integer_kind), value :: size
- end subroutine kmp_set_stacksize
-
- subroutine kmp_set_stacksize_s(size) bind(c)
- import
- integer (kind=kmp_size_t_kind), value :: size
- end subroutine kmp_set_stacksize_s
-
- subroutine kmp_set_blocktime(msec) bind(c)
- import
- integer (kind=omp_integer_kind), value :: msec
- end subroutine kmp_set_blocktime
-
- subroutine kmp_set_library_serial() bind(c)
- end subroutine kmp_set_library_serial
-
- subroutine kmp_set_library_turnaround() bind(c)
- end subroutine kmp_set_library_turnaround
-
- subroutine kmp_set_library_throughput() bind(c)
- end subroutine kmp_set_library_throughput
-
- subroutine kmp_set_library(libnum) bind(c)
- import
- integer (kind=omp_integer_kind), value :: libnum
- end subroutine kmp_set_library
-
- subroutine kmp_set_defaults(string) bind(c)
- character string(*)
- end subroutine kmp_set_defaults
-
- function kmp_get_stacksize() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_stacksize
- end function kmp_get_stacksize
-
- function kmp_get_stacksize_s() bind(c)
- import
- integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
- end function kmp_get_stacksize_s
-
- function kmp_get_blocktime() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_blocktime
- end function kmp_get_blocktime
-
- function kmp_get_library() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_library
- end function kmp_get_library
-
- function kmp_set_affinity(mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_set_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity
-
- function kmp_get_affinity(mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity
-
- function kmp_get_affinity_max_proc() bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
- end function kmp_get_affinity_max_proc
-
- subroutine kmp_create_affinity_mask(mask) bind(c)
- import
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_create_affinity_mask
-
- subroutine kmp_destroy_affinity_mask(mask) bind(c)
- import
- integer (kind=kmp_affinity_mask_kind) mask
- end subroutine kmp_destroy_affinity_mask
-
- function kmp_set_affinity_mask_proc(proc, mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_set_affinity_mask_proc
-
- function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_unset_affinity_mask_proc
-
- function kmp_get_affinity_mask_proc(proc, mask) bind(c)
- import
- integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
- integer (kind=omp_integer_kind), value :: proc
- integer (kind=kmp_affinity_mask_kind) mask
- end function kmp_get_affinity_mask_proc
-
- function kmp_malloc(size) bind(c)
- import
- integer (kind=kmp_pointer_kind) kmp_malloc
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_malloc
-
- function kmp_calloc(nelem, elsize) bind(c)
- import
- integer (kind=kmp_pointer_kind) kmp_calloc
- integer (kind=kmp_size_t_kind), value :: nelem
- integer (kind=kmp_size_t_kind), value :: elsize
- end function kmp_calloc
-
- function kmp_realloc(ptr, size) bind(c)
- import
- integer (kind=kmp_pointer_kind) kmp_realloc
- integer (kind=kmp_pointer_kind), value :: ptr
- integer (kind=kmp_size_t_kind), value :: size
- end function kmp_realloc
-
- subroutine kmp_free(ptr) bind(c)
- import
- integer (kind=kmp_pointer_kind), value :: ptr
- end subroutine kmp_free
-
- subroutine kmp_set_warnings_on() bind(c)
- end subroutine kmp_set_warnings_on
-
- subroutine kmp_set_warnings_off() bind(c)
- end subroutine kmp_set_warnings_off
-
- subroutine omp_init_lock_with_hint(lockvar, lockhint) bind(c)
- import
- integer (kind=omp_lock_kind) lockvar
- integer (kind=omp_lock_hint_kind), value :: lockhint
- end subroutine omp_init_lock_with_hint
-
- subroutine omp_init_nest_lock_with_hint(lockvar, lockhint) bind(c)
- import
- integer (kind=omp_lock_kind) lockvar
- integer (kind=omp_lock_hint_kind), value :: lockhint
- end subroutine omp_init_nest_lock_with_hint
-
- end interface
-
-!DIR$ IF DEFINED (__INTEL_OFFLOAD)
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_num_threads
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_dynamic
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nested
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_threads
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_threads
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_num
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_procs
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_parallel
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_final
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_dynamic
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_nested
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_limit
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_max_active_levels
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_active_levels
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_level
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_active_level
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_ancestor_thread_num
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_size
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_schedule
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_schedule
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_proc_bind
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtime
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtick
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_nest_lock
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize_s
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_blocktime
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_serial
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_turnaround
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_throughput
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_defaults
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize_s
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_blocktime
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_library
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_max_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_create_affinity_mask
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_destroy_affinity_mask
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity_mask_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_unset_affinity_mask_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_mask_proc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_malloc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_calloc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_realloc
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_free
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_on
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_off
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock_with_hint
-!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock_with_hint
-
-!DIR$ IF(__INTEL_COMPILER.GE.1400)
-!$omp declare target(omp_set_num_threads )
-!$omp declare target(omp_set_dynamic )
-!$omp declare target(omp_set_nested )
-!$omp declare target(omp_get_num_threads )
-!$omp declare target(omp_get_max_threads )
-!$omp declare target(omp_get_thread_num )
-!$omp declare target(omp_get_num_procs )
-!$omp declare target(omp_in_parallel )
-!$omp declare target(omp_in_final )
-!$omp declare target(omp_get_dynamic )
-!$omp declare target(omp_get_nested )
-!$omp declare target(omp_get_thread_limit )
-!$omp declare target(omp_set_max_active_levels )
-!$omp declare target(omp_get_max_active_levels )
-!$omp declare target(omp_get_level )
-!$omp declare target(omp_get_active_level )
-!$omp declare target(omp_get_ancestor_thread_num )
-!$omp declare target(omp_get_team_size )
-!$omp declare target(omp_set_schedule )
-!$omp declare target(omp_get_schedule )
-!$omp declare target(omp_get_proc_bind )
-!$omp declare target(omp_get_wtime )
-!$omp declare target(omp_get_wtick )
-!$omp declare target(omp_get_default_device )
-!$omp declare target(omp_set_default_device )
-!$omp declare target(omp_is_initial_device )
-!$omp declare target(omp_get_num_devices )
-!$omp declare target(omp_get_num_teams )
-!$omp declare target(omp_get_team_num )
-!$omp declare target(omp_init_lock )
-!$omp declare target(omp_destroy_lock )
-!$omp declare target(omp_set_lock )
-!$omp declare target(omp_unset_lock )
-!$omp declare target(omp_test_lock )
-!$omp declare target(omp_init_nest_lock )
-!$omp declare target(omp_destroy_nest_lock )
-!$omp declare target(omp_set_nest_lock )
-!$omp declare target(omp_unset_nest_lock )
-!$omp declare target(omp_test_nest_lock )
-!$omp declare target(kmp_set_stacksize )
-!$omp declare target(kmp_set_stacksize_s )
-!$omp declare target(kmp_set_blocktime )
-!$omp declare target(kmp_set_library_serial )
-!$omp declare target(kmp_set_library_turnaround )
-!$omp declare target(kmp_set_library_throughput )
-!$omp declare target(kmp_set_library )
-!$omp declare target(kmp_set_defaults )
-!$omp declare target(kmp_get_stacksize )
-!$omp declare target(kmp_get_stacksize_s )
-!$omp declare target(kmp_get_blocktime )
-!$omp declare target(kmp_get_library )
-!$omp declare target(kmp_set_affinity )
-!$omp declare target(kmp_get_affinity )
-!$omp declare target(kmp_get_affinity_max_proc )
-!$omp declare target(kmp_create_affinity_mask )
-!$omp declare target(kmp_destroy_affinity_mask )
-!$omp declare target(kmp_set_affinity_mask_proc )
-!$omp declare target(kmp_unset_affinity_mask_proc )
-!$omp declare target(kmp_get_affinity_mask_proc )
-!$omp declare target(kmp_malloc )
-!$omp declare target(kmp_calloc )
-!$omp declare target(kmp_realloc )
-!$omp declare target(kmp_free )
-!$omp declare target(kmp_set_warnings_on )
-!$omp declare target(kmp_set_warnings_off )
-!$omp declare target(omp_init_lock_with_hint )
-!$omp declare target(omp_init_nest_lock_with_hint )
-!DIR$ ENDIF
-!DIR$ ENDIF
-
diff --git a/contrib/libs/cxxsupp/openmp/include/41/ompt.h.var b/contrib/libs/cxxsupp/openmp/include/41/ompt.h.var
deleted file mode 100644
index fbd95e858b..0000000000
--- a/contrib/libs/cxxsupp/openmp/include/41/ompt.h.var
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
- * include/41/ompt.h.var
- */
-
-#ifndef __OMPT__
-#define __OMPT__
-
-/*****************************************************************************
- * system include files
- *****************************************************************************/
-
-#include <stdint.h>
-
-
-
-/*****************************************************************************
- * iteration macros
- *****************************************************************************/
-
-#define FOREACH_OMPT_INQUIRY_FN(macro) \
- macro (ompt_enumerate_state) \
- \
- macro (ompt_set_callback) \
- macro (ompt_get_callback) \
- \
- macro (ompt_get_idle_frame) \
- macro (ompt_get_task_frame) \
- \
- macro (ompt_get_state) \
- \
- macro (ompt_get_parallel_id) \
- macro (ompt_get_parallel_team_size) \
- macro (ompt_get_task_id) \
- macro (ompt_get_thread_id)
-
-#define FOREACH_OMPT_PLACEHOLDER_FN(macro) \
- macro (ompt_idle) \
- macro (ompt_overhead) \
- macro (ompt_barrier_wait) \
- macro (ompt_task_wait) \
- macro (ompt_mutex_wait)
-
-#define FOREACH_OMPT_STATE(macro) \
- \
- /* first */ \
- macro (ompt_state_first, 0x71) /* initial enumeration state */ \
- \
- /* work states (0..15) */ \
- macro (ompt_state_work_serial, 0x00) /* working outside parallel */ \
- macro (ompt_state_work_parallel, 0x01) /* working within parallel */ \
- macro (ompt_state_work_reduction, 0x02) /* performing a reduction */ \
- \
- /* idle (16..31) */ \
- macro (ompt_state_idle, 0x10) /* waiting for work */ \
- \
- /* overhead states (32..63) */ \
- macro (ompt_state_overhead, 0x20) /* overhead excluding wait states */ \
- \
- /* barrier wait states (64..79) */ \
- macro (ompt_state_wait_barrier, 0x40) /* waiting at a barrier */ \
- macro (ompt_state_wait_barrier_implicit, 0x41) /* implicit barrier */ \
- macro (ompt_state_wait_barrier_explicit, 0x42) /* explicit barrier */ \
- \
- /* task wait states (80..95) */ \
- macro (ompt_state_wait_taskwait, 0x50) /* waiting at a taskwait */ \
- macro (ompt_state_wait_taskgroup, 0x51) /* waiting at a taskgroup */ \
- \
- /* mutex wait states (96..111) */ \
- macro (ompt_state_wait_lock, 0x60) /* waiting for lock */ \
- macro (ompt_state_wait_nest_lock, 0x61) /* waiting for nest lock */ \
- macro (ompt_state_wait_critical, 0x62) /* waiting for critical */ \
- macro (ompt_state_wait_atomic, 0x63) /* waiting for atomic */ \
- macro (ompt_state_wait_ordered, 0x64) /* waiting for ordered */ \
- macro (ompt_state_wait_single, 0x6F) /* waiting for single region (non-standard!) */ \
- \
- /* misc (112..127) */ \
- macro (ompt_state_undefined, 0x70) /* undefined thread state */
-
-
-#define FOREACH_OMPT_EVENT(macro) \
- \
- /*--- Mandatory Events ---*/ \
- macro (ompt_event_parallel_begin, ompt_new_parallel_callback_t, 1) /* parallel begin */ \
- macro (ompt_event_parallel_end, ompt_end_parallel_callback_t, 2) /* parallel end */ \
- \
- macro (ompt_event_task_begin, ompt_new_task_callback_t, 3) /* task begin */ \
- macro (ompt_event_task_end, ompt_task_callback_t, 4) /* task destroy */ \
- \
- macro (ompt_event_thread_begin, ompt_thread_type_callback_t, 5) /* thread begin */ \
- macro (ompt_event_thread_end, ompt_thread_type_callback_t, 6) /* thread end */ \
- \
- macro (ompt_event_control, ompt_control_callback_t, 7) /* support control calls */ \
- \
- macro (ompt_event_runtime_shutdown, ompt_callback_t, 8) /* runtime shutdown */ \
- \
- /*--- Optional Events (blame shifting, ompt_event_unimplemented) ---*/ \
- macro (ompt_event_idle_begin, ompt_thread_callback_t, 9) /* begin idle state */ \
- macro (ompt_event_idle_end, ompt_thread_callback_t, 10) /* end idle state */ \
- \
- macro (ompt_event_wait_barrier_begin, ompt_parallel_callback_t, 11) /* begin wait at barrier */ \
- macro (ompt_event_wait_barrier_end, ompt_parallel_callback_t, 12) /* end wait at barrier */ \
- \
- macro (ompt_event_wait_taskwait_begin, ompt_parallel_callback_t, 13) /* begin wait at taskwait */ \
- macro (ompt_event_wait_taskwait_end, ompt_parallel_callback_t, 14) /* end wait at taskwait */ \
- \
- macro (ompt_event_wait_taskgroup_begin, ompt_parallel_callback_t, 15) /* begin wait at taskgroup */\
- macro (ompt_event_wait_taskgroup_end, ompt_parallel_callback_t, 16) /* end wait at taskgroup */ \
- \
- macro (ompt_event_release_lock, ompt_wait_callback_t, 17) /* lock release */ \
- macro (ompt_event_release_nest_lock_last, ompt_wait_callback_t, 18) /* last nest lock release */ \
- macro (ompt_event_release_critical, ompt_wait_callback_t, 19) /* critical release */ \
- \
- macro (ompt_event_release_atomic, ompt_wait_callback_t, 20) /* atomic release */ \
- \
- macro (ompt_event_release_ordered, ompt_wait_callback_t, 21) /* ordered release */ \
- \
- /*--- Optional Events (synchronous events, ompt_event_unimplemented) --- */ \
- macro (ompt_event_implicit_task_begin, ompt_parallel_callback_t, 22) /* implicit task begin */ \
- macro (ompt_event_implicit_task_end, ompt_parallel_callback_t, 23) /* implicit task end */ \
- \
- macro (ompt_event_initial_task_begin, ompt_parallel_callback_t, 24) /* initial task begin */ \
- macro (ompt_event_initial_task_end, ompt_parallel_callback_t, 25) /* initial task end */ \
- \
- macro (ompt_event_task_switch, ompt_task_pair_callback_t, 26) /* task switch */ \
- \
- macro (ompt_event_loop_begin, ompt_new_workshare_callback_t, 27) /* task at loop begin */ \
- macro (ompt_event_loop_end, ompt_parallel_callback_t, 28) /* task at loop end */ \
- \
- macro (ompt_event_sections_begin, ompt_new_workshare_callback_t, 29) /* task at sections begin */\
- macro (ompt_event_sections_end, ompt_parallel_callback_t, 30) /* task at sections end */ \
- \
- macro (ompt_event_single_in_block_begin, ompt_new_workshare_callback_t, 31) /* task at single begin*/ \
- macro (ompt_event_single_in_block_end, ompt_parallel_callback_t, 32) /* task at single end */ \
- \
- macro (ompt_event_single_others_begin, ompt_parallel_callback_t, 33) /* task at single begin */ \
- macro (ompt_event_single_others_end, ompt_parallel_callback_t, 34) /* task at single end */ \
- \
- macro (ompt_event_workshare_begin, ompt_new_workshare_callback_t, 35) /* task at workshare begin */\
- macro (ompt_event_workshare_end, ompt_parallel_callback_t, 36) /* task at workshare end */ \
- \
- macro (ompt_event_master_begin, ompt_parallel_callback_t, 37) /* task at master begin */ \
- macro (ompt_event_master_end, ompt_parallel_callback_t, 38) /* task at master end */ \
- \
- macro (ompt_event_barrier_begin, ompt_parallel_callback_t, 39) /* task at barrier begin */ \
- macro (ompt_event_barrier_end, ompt_parallel_callback_t, 40) /* task at barrier end */ \
- \
- macro (ompt_event_taskwait_begin, ompt_parallel_callback_t, 41) /* task at taskwait begin */ \
- macro (ompt_event_taskwait_end, ompt_parallel_callback_t, 42) /* task at task wait end */ \
- \
- macro (ompt_event_taskgroup_begin, ompt_parallel_callback_t, 43) /* task at taskgroup begin */\
- macro (ompt_event_taskgroup_end, ompt_parallel_callback_t, 44) /* task at taskgroup end */ \
- \
- macro (ompt_event_release_nest_lock_prev, ompt_wait_callback_t, 45) /* prev nest lock release */ \
- \
- macro (ompt_event_wait_lock, ompt_wait_callback_t, 46) /* lock wait */ \
- macro (ompt_event_wait_nest_lock, ompt_wait_callback_t, 47) /* nest lock wait */ \
- macro (ompt_event_wait_critical, ompt_wait_callback_t, 48) /* critical wait */ \
- macro (ompt_event_wait_atomic, ompt_wait_callback_t, 49) /* atomic wait */ \
- macro (ompt_event_wait_ordered, ompt_wait_callback_t, 50) /* ordered wait */ \
- \
- macro (ompt_event_acquired_lock, ompt_wait_callback_t, 51) /* lock acquired */ \
- macro (ompt_event_acquired_nest_lock_first, ompt_wait_callback_t, 52) /* 1st nest lock acquired */ \
- macro (ompt_event_acquired_nest_lock_next, ompt_wait_callback_t, 53) /* next nest lock acquired*/ \
- macro (ompt_event_acquired_critical, ompt_wait_callback_t, 54) /* critical acquired */ \
- macro (ompt_event_acquired_atomic, ompt_wait_callback_t, 55) /* atomic acquired */ \
- macro (ompt_event_acquired_ordered, ompt_wait_callback_t, 56) /* ordered acquired */ \
- \
- macro (ompt_event_init_lock, ompt_wait_callback_t, 57) /* lock init */ \
- macro (ompt_event_init_nest_lock, ompt_wait_callback_t, 58) /* nest lock init */ \
- \
- macro (ompt_event_destroy_lock, ompt_wait_callback_t, 59) /* lock destruction */ \
- macro (ompt_event_destroy_nest_lock, ompt_wait_callback_t, 60) /* nest lock destruction */ \
- \
- macro (ompt_event_flush, ompt_callback_t, 61) /* after executing flush */
-
-
-
-/*****************************************************************************
- * data types
- *****************************************************************************/
-
-/*---------------------
- * identifiers
- *---------------------*/
-
-typedef uint64_t ompt_thread_id_t;
-#define ompt_thread_id_none ((ompt_thread_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_task_id_t;
-#define ompt_task_id_none ((ompt_task_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_parallel_id_t;
-#define ompt_parallel_id_none ((ompt_parallel_id_t) 0) /* non-standard */
-
-typedef uint64_t ompt_wait_id_t;
-#define ompt_wait_id_none ((ompt_wait_id_t) 0) /* non-standard */
-
-
-/*---------------------
- * ompt_frame_t
- *---------------------*/
-
-typedef struct ompt_frame_s {
- void *exit_runtime_frame; /* next frame is user code */
- void *reenter_runtime_frame; /* previous frame is user code */
-} ompt_frame_t;
-
-
-/*****************************************************************************
- * enumerations for thread states and runtime events
- *****************************************************************************/
-
-/*---------------------
- * runtime states
- *---------------------*/
-
-typedef enum {
-#define ompt_state_macro(state, code) state = code,
- FOREACH_OMPT_STATE(ompt_state_macro)
-#undef ompt_state_macro
-} ompt_state_t;
-
-
-/*---------------------
- * runtime events
- *---------------------*/
-
-typedef enum {
-#define ompt_event_macro(event, callback, eventid) event = eventid,
- FOREACH_OMPT_EVENT(ompt_event_macro)
-#undef ompt_event_macro
-} ompt_event_t;
-
-
-/*---------------------
- * set callback results
- *---------------------*/
-typedef enum {
- ompt_set_result_registration_error = 0,
- ompt_set_result_event_may_occur_no_callback = 1,
- ompt_set_result_event_never_occurs = 2,
- ompt_set_result_event_may_occur_callback_some = 3,
- ompt_set_result_event_may_occur_callback_always = 4,
-} ompt_set_result_t;
-
-
-
-/*****************************************************************************
- * callback signatures
- *****************************************************************************/
-
-/* initialization */
-typedef void (*ompt_interface_fn_t)(void);
-
-typedef ompt_interface_fn_t (*ompt_function_lookup_t)(
- const char * /* entry point to look up */
-);
-
-/* threads */
-typedef void (*ompt_thread_callback_t) (
- ompt_thread_id_t thread_id /* ID of thread */
-);
-
-typedef enum {
- ompt_thread_initial = 1, // start the enumeration at 1
- ompt_thread_worker = 2,
- ompt_thread_other = 3
-} ompt_thread_type_t;
-
-typedef enum {
- ompt_invoker_program = 0, /* program invokes master task */
- ompt_invoker_runtime = 1 /* runtime invokes master task */
-} ompt_invoker_t;
-
-typedef void (*ompt_thread_type_callback_t) (
- ompt_thread_type_t thread_type, /* type of thread */
- ompt_thread_id_t thread_id /* ID of thread */
-);
-
-typedef void (*ompt_wait_callback_t) (
- ompt_wait_id_t wait_id /* wait id */
-);
-
-/* parallel and workshares */
-typedef void (*ompt_parallel_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t task_id /* id of task */
-);
-
-typedef void (*ompt_new_workshare_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t parent_task_id, /* id of parent task */
- void *workshare_function /* pointer to outlined function */
-);
-
-typedef void (*ompt_new_parallel_callback_t) (
- ompt_task_id_t parent_task_id, /* id of parent task */
- ompt_frame_t *parent_task_frame, /* frame data of parent task */
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- uint32_t requested_team_size, /* number of threads in team */
- void *parallel_function, /* pointer to outlined function */
- ompt_invoker_t invoker /* who invokes master task? */
-);
-
-typedef void (*ompt_end_parallel_callback_t) (
- ompt_parallel_id_t parallel_id, /* id of parallel region */
- ompt_task_id_t task_id, /* id of task */
- ompt_invoker_t invoker /* who invokes master task? */
-);
-
-/* tasks */
-typedef void (*ompt_task_callback_t) (
- ompt_task_id_t task_id /* id of task */
-);
-
-typedef void (*ompt_task_pair_callback_t) (
- ompt_task_id_t first_task_id,
- ompt_task_id_t second_task_id
-);
-
-typedef void (*ompt_new_task_callback_t) (
- ompt_task_id_t parent_task_id, /* id of parent task */
- ompt_frame_t *parent_task_frame, /* frame data for parent task */
- ompt_task_id_t new_task_id, /* id of created task */
- void *task_function /* pointer to outlined function */
-);
-
-/* program */
-typedef void (*ompt_control_callback_t) (
- uint64_t command, /* command of control call */
- uint64_t modifier /* modifier of control call */
-);
-
-typedef void (*ompt_callback_t)(void);
-
-
-/****************************************************************************
- * ompt API
- ***************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define OMPT_API_FNTYPE(fn) fn##_t
-
-#define OMPT_API_FUNCTION(return_type, fn, args) \
- typedef return_type (*OMPT_API_FNTYPE(fn)) args
-
-
-
-/****************************************************************************
- * INQUIRY FUNCTIONS
- ***************************************************************************/
-
-/* state */
-OMPT_API_FUNCTION(ompt_state_t, ompt_get_state, (
- ompt_wait_id_t *ompt_wait_id
-));
-
-/* thread */
-OMPT_API_FUNCTION(ompt_thread_id_t, ompt_get_thread_id, (void));
-
-OMPT_API_FUNCTION(void *, ompt_get_idle_frame, (void));
-
-/* parallel region */
-OMPT_API_FUNCTION(ompt_parallel_id_t, ompt_get_parallel_id, (
- int ancestor_level
-));
-
-OMPT_API_FUNCTION(int, ompt_get_parallel_team_size, (
- int ancestor_level
-));
-
-/* task */
-OMPT_API_FUNCTION(ompt_task_id_t, ompt_get_task_id, (
- int depth
-));
-
-OMPT_API_FUNCTION(ompt_frame_t *, ompt_get_task_frame, (
- int depth
-));
-
-
-
-/****************************************************************************
- * PLACEHOLDERS FOR PERFORMANCE REPORTING
- ***************************************************************************/
-
-/* idle */
-OMPT_API_FUNCTION(void, ompt_idle, (
- void
-));
-
-/* overhead */
-OMPT_API_FUNCTION(void, ompt_overhead, (
- void
-));
-
-/* barrier wait */
-OMPT_API_FUNCTION(void, ompt_barrier_wait, (
- void
-));
-
-/* task wait */
-OMPT_API_FUNCTION(void, ompt_task_wait, (
- void
-));
-
-/* mutex wait */
-OMPT_API_FUNCTION(void, ompt_mutex_wait, (
- void
-));
-
-
-
-/****************************************************************************
- * INITIALIZATION FUNCTIONS
- ***************************************************************************/
-
-OMPT_API_FUNCTION(void, ompt_initialize, (
- ompt_function_lookup_t ompt_fn_lookup,
- const char *runtime_version,
- unsigned int ompt_version
-));
-
-
-/* initialization interface to be defined by tool */
-ompt_initialize_t ompt_tool(void);
-
-typedef enum opt_init_mode_e {
- ompt_init_mode_never = 0,
- ompt_init_mode_false = 1,
- ompt_init_mode_true = 2,
- ompt_init_mode_always = 3
-} ompt_init_mode_t;
-
-OMPT_API_FUNCTION(int, ompt_set_callback, (
- ompt_event_t event,
- ompt_callback_t callback
-));
-
-typedef enum ompt_set_callback_rc_e { /* non-standard */
- ompt_set_callback_error = 0,
- ompt_has_event_no_callback = 1,
- ompt_no_event_no_callback = 2,
- ompt_has_event_may_callback = 3,
- ompt_has_event_must_callback = 4,
-} ompt_set_callback_rc_t;
-
-
-OMPT_API_FUNCTION(int, ompt_get_callback, (
- ompt_event_t event,
- ompt_callback_t *callback
-));
-
-
-
-/****************************************************************************
- * MISCELLANEOUS FUNCTIONS
- ***************************************************************************/
-
-/* control */
-#if defined(_OPENMP) && (_OPENMP >= 201307)
-#pragma omp declare target
-#endif
-void ompt_control(
- uint64_t command,
- uint64_t modifier
-);
-#if defined(_OPENMP) && (_OPENMP >= 201307)
-#pragma omp end declare target
-#endif
-
-/* state enumeration */
-OMPT_API_FUNCTION(int, ompt_enumerate_state, (
- int current_state,
- int *next_state,
- const char **next_state_name
-));
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
-
diff --git a/contrib/libs/cxxsupp/openmp/kmp.h b/contrib/libs/cxxsupp/openmp/kmp.h
index 66ebf6cbdb..b122a6184b 100644
--- a/contrib/libs/cxxsupp/openmp/kmp.h
+++ b/contrib/libs/cxxsupp/openmp/kmp.h
@@ -97,7 +97,7 @@ extern int __kmp_hwloc_error;
#include "kmp_debug.h"
#include "kmp_lock.h"
#if USE_DEBUGGER
-#include "kmp_debugger.h"
+#error #include "kmp_debugger.h"
#endif
#include "kmp_i18n.h"
@@ -116,7 +116,7 @@ extern int __kmp_hwloc_error;
#endif
#if OMPT_SUPPORT
-#include "ompt-internal.h"
+#error #include "ompt-internal.h"
#endif
/*Select data placement in NUMA memory */
diff --git a/contrib/libs/cxxsupp/openmp/kmp_atomic.h b/contrib/libs/cxxsupp/openmp/kmp_atomic.h
index 33feae2189..eb27c10821 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_atomic.h
+++ b/contrib/libs/cxxsupp/openmp/kmp_atomic.h
@@ -20,7 +20,7 @@
#include "kmp_lock.h"
#if OMPT_SUPPORT
-#include "ompt-specific.h"
+#error #include "ompt-specific.h"
#endif
// C++ build port.
diff --git a/contrib/libs/cxxsupp/openmp/kmp_csupport.c b/contrib/libs/cxxsupp/openmp/kmp_csupport.c
index e44886facd..c3a21287d4 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_csupport.c
+++ b/contrib/libs/cxxsupp/openmp/kmp_csupport.c
@@ -21,8 +21,8 @@
#include "kmp_stats.h"
#if OMPT_SUPPORT
-#include "ompt-internal.h"
-#include "ompt-specific.h"
+#error #include "ompt-internal.h"
+#error #include "ompt-specific.h"
#endif
#define MAX_MESSAGE 512
diff --git a/contrib/libs/cxxsupp/openmp/kmp_debugger.c b/contrib/libs/cxxsupp/openmp/kmp_debugger.c
deleted file mode 100644
index b3c1acb49b..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_debugger.c
+++ /dev/null
@@ -1,314 +0,0 @@
-#if USE_DEBUGGER
-/*
- * kmp_debugger.c -- debugger support.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include "kmp.h"
-#include "kmp_lock.h"
-#include "kmp_omp.h"
-#include "kmp_str.h"
-
-/*
- NOTE: All variable names are known to the debugger, do not change!
-*/
-
-#ifdef __cplusplus
- extern "C" {
- extern kmp_omp_struct_info_t __kmp_omp_debug_struct_info;
- } // extern "C"
-#endif // __cplusplus
-
-int __kmp_debugging = FALSE; // Boolean whether currently debugging OpenMP RTL.
-
-#define offset_and_size_of( structure, field ) \
- { \
- offsetof( structure, field ), \
- sizeof( ( (structure *) NULL)->field ) \
- }
-
-#define offset_and_size_not_available \
- { -1, -1 }
-
-#define addr_and_size_of( var ) \
- { \
- (kmp_uint64)( & var ), \
- sizeof( var ) \
- }
-
-#define nthr_buffer_size 1024
-static kmp_int32
-kmp_omp_nthr_info_buffer[ nthr_buffer_size ] =
- { nthr_buffer_size * sizeof( kmp_int32 ) };
-
-/* TODO: Check punctuation for various platforms here */
-static char func_microtask[] = "__kmp_invoke_microtask";
-static char func_fork[] = "__kmpc_fork_call";
-static char func_fork_teams[] = "__kmpc_fork_teams";
-
-
-// Various info about runtime structures: addresses, field offsets, sizes, etc.
-kmp_omp_struct_info_t
-__kmp_omp_debug_struct_info = {
-
- /* Change this only if you make a fundamental data structure change here */
- KMP_OMP_VERSION,
-
- /* sanity check. Only should be checked if versions are identical
- * This is also used for backward compatibility to get the runtime
- * structure size if it the runtime is older than the interface */
- sizeof( kmp_omp_struct_info_t ),
-
- /* OpenMP RTL version info. */
- addr_and_size_of( __kmp_version_major ),
- addr_and_size_of( __kmp_version_minor ),
- addr_and_size_of( __kmp_version_build ),
- addr_and_size_of( __kmp_openmp_version ),
- { (kmp_uint64)( __kmp_copyright ) + KMP_VERSION_MAGIC_LEN, 0 }, // Skip magic prefix.
-
- /* Various globals. */
- addr_and_size_of( __kmp_threads ),
- addr_and_size_of( __kmp_root ),
- addr_and_size_of( __kmp_threads_capacity ),
- addr_and_size_of( __kmp_monitor ),
-#if ! KMP_USE_DYNAMIC_LOCK
- addr_and_size_of( __kmp_user_lock_table ),
-#endif
- addr_and_size_of( func_microtask ),
- addr_and_size_of( func_fork ),
- addr_and_size_of( func_fork_teams ),
- addr_and_size_of( __kmp_team_counter ),
- addr_and_size_of( __kmp_task_counter ),
- addr_and_size_of( kmp_omp_nthr_info_buffer ),
- sizeof( void * ),
- OMP_LOCK_T_SIZE < sizeof(void *),
- bs_last_barrier,
- TASK_DEQUE_SIZE,
-
- // thread structure information
- sizeof( kmp_base_info_t ),
- offset_and_size_of( kmp_base_info_t, th_info ),
- offset_and_size_of( kmp_base_info_t, th_team ),
- offset_and_size_of( kmp_base_info_t, th_root ),
- offset_and_size_of( kmp_base_info_t, th_serial_team ),
- offset_and_size_of( kmp_base_info_t, th_ident ),
- offset_and_size_of( kmp_base_info_t, th_spin_here ),
- offset_and_size_of( kmp_base_info_t, th_next_waiting ),
- offset_and_size_of( kmp_base_info_t, th_task_team ),
- offset_and_size_of( kmp_base_info_t, th_current_task ),
- offset_and_size_of( kmp_base_info_t, th_task_state ),
- offset_and_size_of( kmp_base_info_t, th_bar ),
- offset_and_size_of( kmp_bstate_t, b_worker_arrived ),
-
-#if OMP_40_ENABLED
- // teams information
- offset_and_size_of( kmp_base_info_t, th_teams_microtask),
- offset_and_size_of( kmp_base_info_t, th_teams_level),
- offset_and_size_of( kmp_teams_size_t, nteams ),
- offset_and_size_of( kmp_teams_size_t, nth ),
-#endif
-
- // kmp_desc structure (for info field above)
- sizeof( kmp_desc_base_t ),
- offset_and_size_of( kmp_desc_base_t, ds_tid ),
- offset_and_size_of( kmp_desc_base_t, ds_gtid ),
- // On Windows* OS, ds_thread contains a thread /handle/, which is not usable, while thread /id/
- // is in ds_thread_id.
- #if KMP_OS_WINDOWS
- offset_and_size_of( kmp_desc_base_t, ds_thread_id),
- #else
- offset_and_size_of( kmp_desc_base_t, ds_thread),
- #endif
-
- // team structure information
- sizeof( kmp_base_team_t ),
- offset_and_size_of( kmp_base_team_t, t_master_tid ),
- offset_and_size_of( kmp_base_team_t, t_ident ),
- offset_and_size_of( kmp_base_team_t, t_parent ),
- offset_and_size_of( kmp_base_team_t, t_nproc ),
- offset_and_size_of( kmp_base_team_t, t_threads ),
- offset_and_size_of( kmp_base_team_t, t_serialized ),
- offset_and_size_of( kmp_base_team_t, t_id ),
- offset_and_size_of( kmp_base_team_t, t_pkfn ),
- offset_and_size_of( kmp_base_team_t, t_task_team ),
- offset_and_size_of( kmp_base_team_t, t_implicit_task_taskdata ),
-#if OMP_40_ENABLED
- offset_and_size_of( kmp_base_team_t, t_cancel_request ),
-#endif
- offset_and_size_of( kmp_base_team_t, t_bar ),
- offset_and_size_of( kmp_balign_team_t, b_master_arrived ),
- offset_and_size_of( kmp_balign_team_t, b_team_arrived ),
-
- // root structure information
- sizeof( kmp_base_root_t ),
- offset_and_size_of( kmp_base_root_t, r_root_team ),
- offset_and_size_of( kmp_base_root_t, r_hot_team ),
- offset_and_size_of( kmp_base_root_t, r_uber_thread ),
- offset_and_size_not_available,
-
- // ident structure information
- sizeof( ident_t ),
- offset_and_size_of( ident_t, psource ),
- offset_and_size_of( ident_t, flags ),
-
- // lock structure information
- sizeof( kmp_base_queuing_lock_t ),
- offset_and_size_of( kmp_base_queuing_lock_t, initialized ),
- offset_and_size_of( kmp_base_queuing_lock_t, location ),
- offset_and_size_of( kmp_base_queuing_lock_t, tail_id ),
- offset_and_size_of( kmp_base_queuing_lock_t, head_id ),
- offset_and_size_of( kmp_base_queuing_lock_t, next_ticket ),
- offset_and_size_of( kmp_base_queuing_lock_t, now_serving ),
- offset_and_size_of( kmp_base_queuing_lock_t, owner_id ),
- offset_and_size_of( kmp_base_queuing_lock_t, depth_locked ),
- offset_and_size_of( kmp_base_queuing_lock_t, flags ),
-
-#if ! KMP_USE_DYNAMIC_LOCK
- /* Lock table. */
- sizeof( kmp_lock_table_t ),
- offset_and_size_of( kmp_lock_table_t, used ),
- offset_and_size_of( kmp_lock_table_t, allocated ),
- offset_and_size_of( kmp_lock_table_t, table ),
-#endif
-
- // Task team structure information.
- sizeof( kmp_base_task_team_t ),
- offset_and_size_of( kmp_base_task_team_t, tt_threads_data ),
- offset_and_size_of( kmp_base_task_team_t, tt_found_tasks ),
- offset_and_size_of( kmp_base_task_team_t, tt_nproc ),
- offset_and_size_of( kmp_base_task_team_t, tt_unfinished_threads ),
- offset_and_size_of( kmp_base_task_team_t, tt_active ),
-
- // task_data_t.
- sizeof( kmp_taskdata_t ),
- offset_and_size_of( kmp_taskdata_t, td_task_id ),
- offset_and_size_of( kmp_taskdata_t, td_flags ),
- offset_and_size_of( kmp_taskdata_t, td_team ),
- offset_and_size_of( kmp_taskdata_t, td_parent ),
- offset_and_size_of( kmp_taskdata_t, td_level ),
- offset_and_size_of( kmp_taskdata_t, td_ident ),
- offset_and_size_of( kmp_taskdata_t, td_allocated_child_tasks ),
- offset_and_size_of( kmp_taskdata_t, td_incomplete_child_tasks ),
-
- offset_and_size_of( kmp_taskdata_t, td_taskwait_ident ),
- offset_and_size_of( kmp_taskdata_t, td_taskwait_counter ),
- offset_and_size_of( kmp_taskdata_t, td_taskwait_thread ),
-
-#if OMP_40_ENABLED
- offset_and_size_of( kmp_taskdata_t, td_taskgroup ),
- offset_and_size_of( kmp_taskgroup_t, count ),
- offset_and_size_of( kmp_taskgroup_t, cancel_request ),
-
- offset_and_size_of( kmp_taskdata_t, td_depnode ),
- offset_and_size_of( kmp_depnode_list_t, node ),
- offset_and_size_of( kmp_depnode_list_t, next ),
- offset_and_size_of( kmp_base_depnode_t, successors ),
- offset_and_size_of( kmp_base_depnode_t, task ),
- offset_and_size_of( kmp_base_depnode_t, npredecessors ),
- offset_and_size_of( kmp_base_depnode_t, nrefs ),
-#endif
- offset_and_size_of( kmp_task_t, routine ),
-
- // thread_data_t.
- sizeof( kmp_thread_data_t ),
- offset_and_size_of( kmp_base_thread_data_t, td_deque ),
- offset_and_size_of( kmp_base_thread_data_t, td_deque_head ),
- offset_and_size_of( kmp_base_thread_data_t, td_deque_tail ),
- offset_and_size_of( kmp_base_thread_data_t, td_deque_ntasks ),
- offset_and_size_of( kmp_base_thread_data_t, td_deque_last_stolen ),
-
- // The last field.
- KMP_OMP_VERSION,
-
-}; // __kmp_omp_debug_struct_info
-
-#undef offset_and_size_of
-#undef addr_and_size_of
-
-/*
- Intel compiler on IA-32 architecture issues a warning "conversion
- from "unsigned long long" to "char *" may lose significant bits"
- when 64-bit value is assigned to 32-bit pointer. Use this function
- to suppress the warning.
-*/
-static inline
-void *
-__kmp_convert_to_ptr(
- kmp_uint64 addr
-) {
- #if KMP_COMPILER_ICC
- #pragma warning( push )
- #pragma warning( disable: 810 ) // conversion from "unsigned long long" to "char *" may lose significant bits
- #pragma warning( disable: 1195 ) // conversion from integer to smaller pointer
- #endif // KMP_COMPILER_ICC
- return (void *) addr;
- #if KMP_COMPILER_ICC
- #pragma warning( pop )
- #endif // KMP_COMPILER_ICC
-} // __kmp_convert_to_ptr
-
-
-static int
-kmp_location_match(
- kmp_str_loc_t * loc,
- kmp_omp_nthr_item_t * item
-) {
-
- int file_match = 0;
- int func_match = 0;
- int line_match = 0;
-
- char * file = (char *) __kmp_convert_to_ptr( item->file );
- char * func = (char *) __kmp_convert_to_ptr( item->func );
- file_match = __kmp_str_fname_match( & loc->fname, file );
- func_match =
- item->func == 0 // If item->func is NULL, it allows any func name.
- ||
- strcmp( func, "*" ) == 0
- ||
- ( loc->func != NULL && strcmp( loc->func, func ) == 0 );
- line_match =
- item->begin <= loc->line
- &&
- ( item->end <= 0 || loc->line <= item->end ); // if item->end <= 0, it means "end of file".
-
- return ( file_match && func_match && line_match );
-
-} // kmp_location_match
-
-
-int
-__kmp_omp_num_threads(
- ident_t const * ident
-) {
-
- int num_threads = 0;
-
- kmp_omp_nthr_info_t * info =
- (kmp_omp_nthr_info_t *) __kmp_convert_to_ptr( __kmp_omp_debug_struct_info.nthr_info.addr );
- if ( info->num > 0 && info->array != 0 ) {
- kmp_omp_nthr_item_t * items = (kmp_omp_nthr_item_t *) __kmp_convert_to_ptr( info->array );
- kmp_str_loc_t loc = __kmp_str_loc_init( ident->psource, 1 );
- int i;
- for ( i = 0; i < info->num; ++ i ) {
- if ( kmp_location_match( & loc, & items[ i ] ) ) {
- num_threads = items[ i ].num_threads;
- }; // if
- }; // for
- __kmp_str_loc_free( & loc );
- }; // if
-
- return num_threads;;
-
-} // __kmp_omp_num_threads
-#endif /* USE_DEBUGGER */
diff --git a/contrib/libs/cxxsupp/openmp/kmp_debugger.h b/contrib/libs/cxxsupp/openmp/kmp_debugger.h
deleted file mode 100644
index 29f41340dd..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_debugger.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#if USE_DEBUGGER
-/*
- * kmp_debugger.h -- debugger support.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifndef KMP_DEBUGGER_H
-#define KMP_DEBUGGER_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif // __cplusplus
-
-/* * This external variable can be set by any debugger to flag to the runtime that we
- are currently executing inside a debugger. This will allow the debugger to override
- the number of threads spawned in a parallel region by using __kmp_omp_num_threads() (below).
- * When __kmp_debugging is TRUE, each team and each task gets a unique integer identifier
- that can be used by debugger to conveniently identify teams and tasks.
- * The debugger has access to __kmp_omp_debug_struct_info which contains information
- about the OpenMP library's important internal structures. This access will allow the debugger
- to read detailed information from the typical OpenMP constructs (teams, threads, tasking, etc. )
- during a debugging session and offer detailed and useful information which the user can probe
- about the OpenMP portion of their code.
- */
-extern int __kmp_debugging; /* Boolean whether currently debugging OpenMP RTL */
-// Return number of threads specified by the debugger for given parallel region.
-/* The ident field, which represents a source file location, is used to check if the
- debugger has changed the number of threads for the parallel region at source file
- location ident. This way, specific parallel regions' number of threads can be changed
- at the debugger's request.
- */
-int __kmp_omp_num_threads( ident_t const * ident );
-
-#ifdef __cplusplus
- } // extern "C"
-#endif // __cplusplus
-
-
-#endif // KMP_DEBUGGER_H
-
-#endif // USE_DEBUGGER
diff --git a/contrib/libs/cxxsupp/openmp/kmp_dispatch.cpp b/contrib/libs/cxxsupp/openmp/kmp_dispatch.cpp
index c91bb8da3c..c19448efc2 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_dispatch.cpp
+++ b/contrib/libs/cxxsupp/openmp/kmp_dispatch.cpp
@@ -36,8 +36,8 @@
#endif
#if OMPT_SUPPORT
-#include "ompt-internal.h"
-#include "ompt-specific.h"
+#error #include "ompt-internal.h"
+#error #include "ompt-specific.h"
#endif
/* ------------------------------------------------------------------------ */
diff --git a/contrib/libs/cxxsupp/openmp/kmp_ftn_entry.h b/contrib/libs/cxxsupp/openmp/kmp_ftn_entry.h
index fcbaacbffa..5b5c792b81 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_ftn_entry.h
+++ b/contrib/libs/cxxsupp/openmp/kmp_ftn_entry.h
@@ -18,7 +18,7 @@
#endif
#ifdef KMP_STUB
- #include "kmp_stub.h"
+ #error #include "kmp_stub.h"
#endif
#include "kmp_i18n.h"
diff --git a/contrib/libs/cxxsupp/openmp/kmp_ftn_stdcall.c b/contrib/libs/cxxsupp/openmp/kmp_ftn_stdcall.c
deleted file mode 100644
index cf70d74af5..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_ftn_stdcall.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * kmp_ftn_stdcall.c -- Fortran __stdcall linkage support for OpenMP.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include "kmp.h"
-
-// Note: This string is not printed when KMP_VERSION=1.
-char const __kmp_version_ftnstdcall[] = KMP_VERSION_PREFIX "Fortran __stdcall OMP support: "
-#ifdef USE_FTN_STDCALL
- "yes";
-#else
- "no";
-#endif
-
-#ifdef USE_FTN_STDCALL
-
-#define FTN_STDCALL KMP_STDCALL
-#define KMP_FTN_ENTRIES USE_FTN_STDCALL
-
-#include "kmp_ftn_os.h"
-#include "kmp_ftn_entry.h"
-
-#endif /* USE_FTN_STDCALL */
-
diff --git a/contrib/libs/cxxsupp/openmp/kmp_gsupport.c b/contrib/libs/cxxsupp/openmp/kmp_gsupport.c
index 2a89aa2f94..8da9cde524 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_gsupport.c
+++ b/contrib/libs/cxxsupp/openmp/kmp_gsupport.c
@@ -20,7 +20,7 @@
#include "kmp_atomic.h"
#if OMPT_SUPPORT
-#include "ompt-specific.h"
+#error #include "ompt-specific.h"
#endif
#ifdef __cplusplus
diff --git a/contrib/libs/cxxsupp/openmp/kmp_import.c b/contrib/libs/cxxsupp/openmp/kmp_import.c
deleted file mode 100644
index 42fba412c1..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_import.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * kmp_import.c
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-/*
- ------------------------------------------------------------------------------------------------
- Object generated from this source file is linked to Windows* OS DLL import library (libompmd.lib)
- only! It is not a part of regular static or dynamic OpenMP RTL. Any code that just needs to go
- in the libompmd.lib (but not in libompmt.lib and libompmd.dll) should be placed in this
- file.
- ------------------------------------------------------------------------------------------------
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- These symbols are required for mutual exclusion with Microsoft OpenMP RTL (and compatibility
- with MS Compiler).
-*/
-
-int _You_must_link_with_exactly_one_OpenMP_library = 1;
-int _You_must_link_with_Intel_OpenMP_library = 1;
-int _You_must_link_with_Microsoft_OpenMP_library = 1;
-
-#ifdef __cplusplus
-}
-#endif
-
-// end of file //
diff --git a/contrib/libs/cxxsupp/openmp/kmp_runtime.c b/contrib/libs/cxxsupp/openmp/kmp_runtime.c
index 4749934808..c5247d80cf 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_runtime.c
+++ b/contrib/libs/cxxsupp/openmp/kmp_runtime.c
@@ -27,7 +27,7 @@
#include "kmp_wait_release.h"
#if OMPT_SUPPORT
-#include "ompt-specific.h"
+#error #include "ompt-specific.h"
#endif
/* these are temporary issues to be dealt with */
diff --git a/contrib/libs/cxxsupp/openmp/kmp_sched.cpp b/contrib/libs/cxxsupp/openmp/kmp_sched.cpp
index 80ad960a8d..9c0c0f42d5 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_sched.cpp
+++ b/contrib/libs/cxxsupp/openmp/kmp_sched.cpp
@@ -30,7 +30,7 @@
#include "kmp_itt.h"
#if OMPT_SUPPORT
-#include "ompt-specific.h"
+#error #include "ompt-specific.h"
#endif
// template for type limits
diff --git a/contrib/libs/cxxsupp/openmp/kmp_stats.cpp b/contrib/libs/cxxsupp/openmp/kmp_stats.cpp
deleted file mode 100644
index d1f43afe4a..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_stats.cpp
+++ /dev/null
@@ -1,609 +0,0 @@
-/** @file kmp_stats.cpp
- * Statistics gathering and processing.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "kmp.h"
-#include "kmp_str.h"
-#include "kmp_lock.h"
-#include "kmp_stats.h"
-
-#include <algorithm>
-#include <sstream>
-#include <iomanip>
-#include <stdlib.h> // for atexit
-
-#define STRINGIZE2(x) #x
-#define STRINGIZE(x) STRINGIZE2(x)
-
-#define expandName(name,flags,ignore) {STRINGIZE(name),flags},
-statInfo timeStat::timerInfo[] = {
- KMP_FOREACH_TIMER(expandName,0)
- {0,0}
-};
-const statInfo counter::counterInfo[] = {
- KMP_FOREACH_COUNTER(expandName,0)
- {0,0}
-};
-#undef expandName
-
-#define expandName(ignore1,ignore2,ignore3) {0.0,0.0,0.0},
-kmp_stats_output_module::rgb_color kmp_stats_output_module::timerColorInfo[] = {
- KMP_FOREACH_TIMER(expandName,0)
- {0.0,0.0,0.0}
-};
-#undef expandName
-
-const kmp_stats_output_module::rgb_color kmp_stats_output_module::globalColorArray[] = {
- {1.0, 0.0, 0.0}, // red
- {1.0, 0.6, 0.0}, // orange
- {1.0, 1.0, 0.0}, // yellow
- {0.0, 1.0, 0.0}, // green
- {0.0, 0.0, 1.0}, // blue
- {0.6, 0.2, 0.8}, // purple
- {1.0, 0.0, 1.0}, // magenta
- {0.0, 0.4, 0.2}, // dark green
- {1.0, 1.0, 0.6}, // light yellow
- {0.6, 0.4, 0.6}, // dirty purple
- {0.0, 1.0, 1.0}, // cyan
- {1.0, 0.4, 0.8}, // pink
- {0.5, 0.5, 0.5}, // grey
- {0.8, 0.7, 0.5}, // brown
- {0.6, 0.6, 1.0}, // light blue
- {1.0, 0.7, 0.5}, // peach
- {0.8, 0.5, 1.0}, // lavender
- {0.6, 0.0, 0.0}, // dark red
- {0.7, 0.6, 0.0}, // gold
- {0.0, 0.0, 0.0} // black
-};
-
-// Ensure that the atexit handler only runs once.
-static uint32_t statsPrinted = 0;
-
-// output interface
-static kmp_stats_output_module __kmp_stats_global_output;
-
-/* ****************************************************** */
-/* ************* statistic member functions ************* */
-
-void statistic::addSample(double sample)
-{
- double delta = sample - meanVal;
-
- sampleCount = sampleCount + 1;
- meanVal = meanVal + delta/sampleCount;
- m2 = m2 + delta*(sample - meanVal);
-
- minVal = std::min(minVal, sample);
- maxVal = std::max(maxVal, sample);
-}
-
-statistic & statistic::operator+= (const statistic & other)
-{
- if (sampleCount == 0)
- {
- *this = other;
- return *this;
- }
-
- uint64_t newSampleCount = sampleCount + other.sampleCount;
- double dnsc = double(newSampleCount);
- double dsc = double(sampleCount);
- double dscBydnsc = dsc/dnsc;
- double dosc = double(other.sampleCount);
- double delta = other.meanVal - meanVal;
-
- // Try to order these calculations to avoid overflows.
- // If this were Fortran, then the compiler would not be able to re-order over brackets.
- // In C++ it may be legal to do that (we certainly hope it doesn't, and CC+ Programming Language 2nd edition
- // suggests it shouldn't, since it says that exploitation of associativity can only be made if the operation
- // really is associative (which floating addition isn't...)).
- meanVal = meanVal*dscBydnsc + other.meanVal*(1-dscBydnsc);
- m2 = m2 + other.m2 + dscBydnsc*dosc*delta*delta;
- minVal = std::min (minVal, other.minVal);
- maxVal = std::max (maxVal, other.maxVal);
- sampleCount = newSampleCount;
-
-
- return *this;
-}
-
-void statistic::scale(double factor)
-{
- minVal = minVal*factor;
- maxVal = maxVal*factor;
- meanVal= meanVal*factor;
- m2 = m2*factor*factor;
- return;
-}
-
-std::string statistic::format(char unit, bool total) const
-{
- std::string result = formatSI(sampleCount,9,' ');
-
- result = result + std::string(", ") + formatSI(minVal, 9, unit);
- result = result + std::string(", ") + formatSI(meanVal, 9, unit);
- result = result + std::string(", ") + formatSI(maxVal, 9, unit);
- if (total)
- result = result + std::string(", ") + formatSI(meanVal*sampleCount, 9, unit);
- result = result + std::string(", ") + formatSI(getSD(), 9, unit);
-
- return result;
-}
-
-/* ********************************************************** */
-/* ************* explicitTimer member functions ************* */
-
-void explicitTimer::start(timer_e timerEnumValue) {
- startTime = tsc_tick_count::now();
- if(timeStat::logEvent(timerEnumValue)) {
- __kmp_stats_thread_ptr->incrementNestValue();
- }
- return;
-}
-
-void explicitTimer::stop(timer_e timerEnumValue) {
- if (startTime.getValue() == 0)
- return;
-
- tsc_tick_count finishTime = tsc_tick_count::now();
-
- //stat->addSample ((tsc_tick_count::now() - startTime).ticks());
- stat->addSample ((finishTime - startTime).ticks());
-
- if(timeStat::logEvent(timerEnumValue)) {
- __kmp_stats_thread_ptr->push_event(startTime.getValue() - __kmp_stats_start_time.getValue(), finishTime.getValue() - __kmp_stats_start_time.getValue(), __kmp_stats_thread_ptr->getNestValue(), timerEnumValue);
- __kmp_stats_thread_ptr->decrementNestValue();
- }
-
- /* We accept the risk that we drop a sample because it really did start at t==0. */
- startTime = 0;
- return;
-}
-
-/* ******************************************************************* */
-/* ************* kmp_stats_event_vector member functions ************* */
-
-void kmp_stats_event_vector::deallocate() {
- __kmp_free(events);
- internal_size = 0;
- allocated_size = 0;
- events = NULL;
-}
-
-// This function is for qsort() which requires the compare function to return
-// either a negative number if event1 < event2, a positive number if event1 > event2
-// or zero if event1 == event2.
-// This sorts by start time (lowest to highest).
-int compare_two_events(const void* event1, const void* event2) {
- kmp_stats_event* ev1 = (kmp_stats_event*)event1;
- kmp_stats_event* ev2 = (kmp_stats_event*)event2;
-
- if(ev1->getStart() < ev2->getStart()) return -1;
- else if(ev1->getStart() > ev2->getStart()) return 1;
- else return 0;
-}
-
-void kmp_stats_event_vector::sort() {
- qsort(events, internal_size, sizeof(kmp_stats_event), compare_two_events);
-}
-
-/* *********************************************************** */
-/* ************* kmp_stats_list member functions ************* */
-
-// returns a pointer to newly created stats node
-kmp_stats_list* kmp_stats_list::push_back(int gtid) {
- kmp_stats_list* newnode = (kmp_stats_list*)__kmp_allocate(sizeof(kmp_stats_list));
- // placement new, only requires space and pointer and initializes (so __kmp_allocate instead of C++ new[] is used)
- new (newnode) kmp_stats_list();
- newnode->setGtid(gtid);
- newnode->prev = this->prev;
- newnode->next = this;
- newnode->prev->next = newnode;
- newnode->next->prev = newnode;
- return newnode;
-}
-void kmp_stats_list::deallocate() {
- kmp_stats_list* ptr = this->next;
- kmp_stats_list* delptr = this->next;
- while(ptr != this) {
- delptr = ptr;
- ptr=ptr->next;
- // placement new means we have to explicitly call destructor.
- delptr->_event_vector.deallocate();
- delptr->~kmp_stats_list();
- __kmp_free(delptr);
- }
-}
-kmp_stats_list::iterator kmp_stats_list::begin() {
- kmp_stats_list::iterator it;
- it.ptr = this->next;
- return it;
-}
-kmp_stats_list::iterator kmp_stats_list::end() {
- kmp_stats_list::iterator it;
- it.ptr = this;
- return it;
-}
-int kmp_stats_list::size() {
- int retval;
- kmp_stats_list::iterator it;
- for(retval=0, it=begin(); it!=end(); it++, retval++) {}
- return retval;
-}
-
-/* ********************************************************************* */
-/* ************* kmp_stats_list::iterator member functions ************* */
-
-kmp_stats_list::iterator::iterator() : ptr(NULL) {}
-kmp_stats_list::iterator::~iterator() {}
-kmp_stats_list::iterator kmp_stats_list::iterator::operator++() {
- this->ptr = this->ptr->next;
- return *this;
-}
-kmp_stats_list::iterator kmp_stats_list::iterator::operator++(int dummy) {
- this->ptr = this->ptr->next;
- return *this;
-}
-kmp_stats_list::iterator kmp_stats_list::iterator::operator--() {
- this->ptr = this->ptr->prev;
- return *this;
-}
-kmp_stats_list::iterator kmp_stats_list::iterator::operator--(int dummy) {
- this->ptr = this->ptr->prev;
- return *this;
-}
-bool kmp_stats_list::iterator::operator!=(const kmp_stats_list::iterator & rhs) {
- return this->ptr!=rhs.ptr;
-}
-bool kmp_stats_list::iterator::operator==(const kmp_stats_list::iterator & rhs) {
- return this->ptr==rhs.ptr;
-}
-kmp_stats_list* kmp_stats_list::iterator::operator*() const {
- return this->ptr;
-}
-
-/* *************************************************************** */
-/* ************* kmp_stats_output_module functions ************** */
-
-const char* kmp_stats_output_module::outputFileName = NULL;
-const char* kmp_stats_output_module::eventsFileName = NULL;
-const char* kmp_stats_output_module::plotFileName = NULL;
-int kmp_stats_output_module::printPerThreadFlag = 0;
-int kmp_stats_output_module::printPerThreadEventsFlag = 0;
-
-// init() is called very near the beginning of execution time in the constructor of __kmp_stats_global_output
-void kmp_stats_output_module::init()
-{
- char * statsFileName = getenv("KMP_STATS_FILE");
- eventsFileName = getenv("KMP_STATS_EVENTS_FILE");
- plotFileName = getenv("KMP_STATS_PLOT_FILE");
- char * threadStats = getenv("KMP_STATS_THREADS");
- char * threadEvents = getenv("KMP_STATS_EVENTS");
-
- // set the stats output filenames based on environment variables and defaults
- outputFileName = statsFileName;
- eventsFileName = eventsFileName ? eventsFileName : "events.dat";
- plotFileName = plotFileName ? plotFileName : "events.plt";
-
- // set the flags based on environment variables matching: true, on, 1, .true. , .t. , yes
- printPerThreadFlag = __kmp_str_match_true(threadStats);
- printPerThreadEventsFlag = __kmp_str_match_true(threadEvents);
-
- if(printPerThreadEventsFlag) {
- // assigns a color to each timer for printing
- setupEventColors();
- } else {
- // will clear flag so that no event will be logged
- timeStat::clearEventFlags();
- }
-
- return;
-}
-
-void kmp_stats_output_module::setupEventColors() {
- int i;
- int globalColorIndex = 0;
- int numGlobalColors = sizeof(globalColorArray) / sizeof(rgb_color);
- for(i=0;i<TIMER_LAST;i++) {
- if(timeStat::logEvent((timer_e)i)) {
- timerColorInfo[i] = globalColorArray[globalColorIndex];
- globalColorIndex = (globalColorIndex+1)%numGlobalColors;
- }
- }
- return;
-}
-
-void kmp_stats_output_module::printStats(FILE *statsOut, statistic const * theStats, bool areTimers)
-{
- if (areTimers)
- {
- // Check if we have useful timers, since we don't print zero value timers we need to avoid
- // printing a header and then no data.
- bool haveTimers = false;
- for (int s = 0; s<TIMER_LAST; s++)
- {
- if (theStats[s].getCount() != 0)
- {
- haveTimers = true;
- break;
- }
- }
- if (!haveTimers)
- return;
- }
-
- // Print
- const char * title = areTimers ? "Timer, SampleCount," : "Counter, ThreadCount,";
- fprintf (statsOut, "%s Min, Mean, Max, Total, SD\n", title);
- if (areTimers) {
- for (int s = 0; s<TIMER_LAST; s++) {
- statistic const * stat = &theStats[s];
- if (stat->getCount() != 0) {
- char tag = timeStat::noUnits(timer_e(s)) ? ' ' : 'T';
- fprintf (statsOut, "%-25s, %s\n", timeStat::name(timer_e(s)), stat->format(tag, true).c_str());
- }
- }
- } else { // Counters
- for (int s = 0; s<COUNTER_LAST; s++) {
- statistic const * stat = &theStats[s];
- fprintf (statsOut, "%-25s, %s\n", counter::name(counter_e(s)), stat->format(' ', true).c_str());
- }
- }
-}
-
-void kmp_stats_output_module::printCounters(FILE * statsOut, counter const * theCounters)
-{
- // We print all the counters even if they are zero.
- // That makes it easier to slice them into a spreadsheet if you need to.
- fprintf (statsOut, "\nCounter, Count\n");
- for (int c = 0; c<COUNTER_LAST; c++) {
- counter const * stat = &theCounters[c];
- fprintf (statsOut, "%-25s, %s\n", counter::name(counter_e(c)), formatSI(stat->getValue(), 9, ' ').c_str());
- }
-}
-
-void kmp_stats_output_module::printEvents(FILE* eventsOut, kmp_stats_event_vector* theEvents, int gtid) {
- // sort by start time before printing
- theEvents->sort();
- for (int i = 0; i < theEvents->size(); i++) {
- kmp_stats_event ev = theEvents->at(i);
- rgb_color color = getEventColor(ev.getTimerName());
- fprintf(eventsOut, "%d %lu %lu %1.1f rgb(%1.1f,%1.1f,%1.1f) %s\n",
- gtid,
- ev.getStart(),
- ev.getStop(),
- 1.2 - (ev.getNestLevel() * 0.2),
- color.r, color.g, color.b,
- timeStat::name(ev.getTimerName())
- );
- }
- return;
-}
-
-void kmp_stats_output_module::windupExplicitTimers()
-{
- // Wind up any explicit timers. We assume that it's fair at this point to just walk all the explcit timers in all threads
- // and say "it's over".
- // If the timer wasn't running, this won't record anything anyway.
- kmp_stats_list::iterator it;
- for(it = __kmp_stats_list.begin(); it != __kmp_stats_list.end(); it++) {
- for (int timer=0; timer<EXPLICIT_TIMER_LAST; timer++) {
- (*it)->getExplicitTimer(explicit_timer_e(timer))->stop((timer_e)timer);
- }
- }
-}
-
-void kmp_stats_output_module::printPloticusFile() {
- int i;
- int size = __kmp_stats_list.size();
- FILE* plotOut = fopen(plotFileName, "w+");
-
- fprintf(plotOut, "#proc page\n"
- " pagesize: 15 10\n"
- " scale: 1.0\n\n");
-
- fprintf(plotOut, "#proc getdata\n"
- " file: %s\n\n",
- eventsFileName);
-
- fprintf(plotOut, "#proc areadef\n"
- " title: OpenMP Sampling Timeline\n"
- " titledetails: align=center size=16\n"
- " rectangle: 1 1 13 9\n"
- " xautorange: datafield=2,3\n"
- " yautorange: -1 %d\n\n",
- size);
-
- fprintf(plotOut, "#proc xaxis\n"
- " stubs: inc\n"
- " stubdetails: size=12\n"
- " label: Time (ticks)\n"
- " labeldetails: size=14\n\n");
-
- fprintf(plotOut, "#proc yaxis\n"
- " stubs: inc 1\n"
- " stubrange: 0 %d\n"
- " stubdetails: size=12\n"
- " label: Thread #\n"
- " labeldetails: size=14\n\n",
- size-1);
-
- fprintf(plotOut, "#proc bars\n"
- " exactcolorfield: 5\n"
- " axis: x\n"
- " locfield: 1\n"
- " segmentfields: 2 3\n"
- " barwidthfield: 4\n\n");
-
- // create legend entries corresponding to the timer color
- for(i=0;i<TIMER_LAST;i++) {
- if(timeStat::logEvent((timer_e)i)) {
- rgb_color c = getEventColor((timer_e)i);
- fprintf(plotOut, "#proc legendentry\n"
- " sampletype: color\n"
- " label: %s\n"
- " details: rgb(%1.1f,%1.1f,%1.1f)\n\n",
- timeStat::name((timer_e)i),
- c.r, c.g, c.b);
-
- }
- }
-
- fprintf(plotOut, "#proc legend\n"
- " format: down\n"
- " location: max max\n\n");
- fclose(plotOut);
- return;
-}
-
-void kmp_stats_output_module::outputStats(const char* heading)
-{
- statistic allStats[TIMER_LAST];
- statistic allCounters[COUNTER_LAST];
-
- // stop all the explicit timers for all threads
- windupExplicitTimers();
-
- FILE * eventsOut;
- FILE * statsOut = outputFileName ? fopen (outputFileName, "a+") : stderr;
-
- if (eventPrintingEnabled()) {
- eventsOut = fopen(eventsFileName, "w+");
- }
-
- if (!statsOut)
- statsOut = stderr;
-
- fprintf(statsOut, "%s\n",heading);
- // Accumulate across threads.
- kmp_stats_list::iterator it;
- for (it = __kmp_stats_list.begin(); it != __kmp_stats_list.end(); it++) {
- int t = (*it)->getGtid();
- // Output per thread stats if requested.
- if (perThreadPrintingEnabled()) {
- fprintf (statsOut, "Thread %d\n", t);
- printStats(statsOut, (*it)->getTimers(), true);
- printCounters(statsOut, (*it)->getCounters());
- fprintf(statsOut,"\n");
- }
- // Output per thread events if requested.
- if (eventPrintingEnabled()) {
- kmp_stats_event_vector events = (*it)->getEventVector();
- printEvents(eventsOut, &events, t);
- }
-
- for (int s = 0; s<TIMER_LAST; s++) {
- // See if we should ignore this timer when aggregating
- if ((timeStat::masterOnly(timer_e(s)) && (t != 0)) || // Timer is only valid on the master and this thread is a worker
- (timeStat::workerOnly(timer_e(s)) && (t == 0)) || // Timer is only valid on a worker and this thread is the master
- timeStat::synthesized(timer_e(s)) // It's a synthesized stat, so there's no raw data for it.
- )
- {
- continue;
- }
-
- statistic * threadStat = (*it)->getTimer(timer_e(s));
- allStats[s] += *threadStat;
- }
-
- // Special handling for synthesized statistics.
- // These just have to be coded specially here for now.
- // At present we only have a few:
- // The total parallel work done in each thread.
- // The variance here makes it easy to see load imbalance over the whole program (though, of course,
- // it's possible to have a code with awful load balance in every parallel region but perfect load
- // balance oever the whole program.)
- // The time spent in barriers in each thread.
- allStats[TIMER_Total_work].addSample ((*it)->getTimer(TIMER_OMP_work)->getTotal());
-
- // Time in explicit barriers.
- allStats[TIMER_Total_barrier].addSample ((*it)->getTimer(TIMER_OMP_barrier)->getTotal());
-
- for (int c = 0; c<COUNTER_LAST; c++) {
- if (counter::masterOnly(counter_e(c)) && t != 0)
- continue;
- allCounters[c].addSample ((*it)->getCounter(counter_e(c))->getValue());
- }
- }
-
- if (eventPrintingEnabled()) {
- printPloticusFile();
- fclose(eventsOut);
- }
-
- fprintf (statsOut, "Aggregate for all threads\n");
- printStats (statsOut, &allStats[0], true);
- fprintf (statsOut, "\n");
- printStats (statsOut, &allCounters[0], false);
-
- if (statsOut != stderr)
- fclose(statsOut);
-
-}
-
-/* ************************************************** */
-/* ************* exported C functions ************** */
-
-// no name mangling for these functions, we want the c files to be able to get at these functions
-extern "C" {
-
-void __kmp_reset_stats()
-{
- kmp_stats_list::iterator it;
- for(it = __kmp_stats_list.begin(); it != __kmp_stats_list.end(); it++) {
- timeStat * timers = (*it)->getTimers();
- counter * counters = (*it)->getCounters();
- explicitTimer * eTimers = (*it)->getExplicitTimers();
-
- for (int t = 0; t<TIMER_LAST; t++)
- timers[t].reset();
-
- for (int c = 0; c<COUNTER_LAST; c++)
- counters[c].reset();
-
- for (int t=0; t<EXPLICIT_TIMER_LAST; t++)
- eTimers[t].reset();
-
- // reset the event vector so all previous events are "erased"
- (*it)->resetEventVector();
-
- // May need to restart the explicit timers in thread zero?
- }
- KMP_START_EXPLICIT_TIMER(OMP_serial);
- KMP_START_EXPLICIT_TIMER(OMP_start_end);
-}
-
-// This function will reset all stats and stop all threads' explicit timers if they haven't been stopped already.
-void __kmp_output_stats(const char * heading)
-{
- __kmp_stats_global_output.outputStats(heading);
- __kmp_reset_stats();
-}
-
-void __kmp_accumulate_stats_at_exit(void)
-{
- // Only do this once.
- if (KMP_XCHG_FIXED32(&statsPrinted, 1) != 0)
- return;
-
- __kmp_output_stats("Statistics on exit");
- return;
-}
-
-void __kmp_stats_init(void)
-{
- return;
-}
-
-} // extern "C"
-
diff --git a/contrib/libs/cxxsupp/openmp/kmp_stats.h b/contrib/libs/cxxsupp/openmp/kmp_stats.h
index 20cec3efcc..5f5bb5a18a 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_stats.h
+++ b/contrib/libs/cxxsupp/openmp/kmp_stats.h
@@ -30,7 +30,7 @@
#include <string>
#include <stdint.h>
#include <new> // placement new
-#include "kmp_stats_timing.h"
+#error #include "kmp_stats_timing.h"
/*
* Enable developer statistics here if you want them. They are more detailed than is useful for application characterisation and
diff --git a/contrib/libs/cxxsupp/openmp/kmp_stats_timing.cpp b/contrib/libs/cxxsupp/openmp/kmp_stats_timing.cpp
deleted file mode 100644
index 40e29eb0d8..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_stats_timing.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/** @file kmp_stats_timing.cpp
- * Timing functions
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <iostream>
-#include <iomanip>
-#include <sstream>
-
-#include "kmp.h"
-#include "kmp_stats_timing.h"
-
-using namespace std;
-
-#if KMP_HAVE_TICK_TIME
-# if KMP_MIC
-double tsc_tick_count::tick_time()
-{
- // pretty bad assumption of 1GHz clock for MIC
- return 1/((double)1000*1.e6);
-}
-# elif KMP_ARCH_X86 || KMP_ARCH_X86_64
-# include <string.h>
-// Extract the value from the CPUID information
-double tsc_tick_count::tick_time()
-{
- static double result = 0.0;
-
- if (result == 0.0)
- {
- kmp_cpuid_t cpuinfo;
- char brand[256];
-
- __kmp_x86_cpuid(0x80000000, 0, &cpuinfo);
- memset(brand, 0, sizeof(brand));
- int ids = cpuinfo.eax;
-
- for (unsigned int i=2; i<(ids^0x80000000)+2; i++)
- __kmp_x86_cpuid(i | 0x80000000, 0, (kmp_cpuid_t*)(brand+(i-2)*sizeof(kmp_cpuid_t)));
-
- char * start = &brand[0];
- for (;*start == ' '; start++)
- ;
-
- char * end = brand + KMP_STRLEN(brand) - 3;
- uint64_t multiplier;
-
- if (*end == 'M') multiplier = 1000LL*1000LL;
- else if (*end == 'G') multiplier = 1000LL*1000LL*1000LL;
- else if (*end == 'T') multiplier = 1000LL*1000LL*1000LL*1000LL;
- else
- {
- cout << "Error determining multiplier '" << *end << "'\n";
- exit (-1);
- }
- *end = 0;
- while (*end != ' ') end--;
- end++;
-
- double freq = strtod(end, &start);
- if (freq == 0.0)
- {
- cout << "Error calculating frequency " << end << "\n";
- exit (-1);
- }
-
- result = ((double)1.0)/(freq * multiplier);
- }
- return result;
-}
-# endif
-#endif
-
-static bool useSI = true;
-
-// Return a formatted string after normalising the value into
-// engineering style and using a suitable unit prefix (e.g. ms, us, ns).
-std::string formatSI(double interval, int width, char unit)
-{
- std::stringstream os;
-
- if (useSI)
- {
- // Preserve accuracy for small numbers, since we only multiply and the positive powers
- // of ten are precisely representable.
- static struct { double scale; char prefix; } ranges[] = {
- {1.e12,'f'},
- {1.e9, 'p'},
- {1.e6, 'n'},
- {1.e3, 'u'},
- {1.0, 'm'},
- {1.e-3,' '},
- {1.e-6,'k'},
- {1.e-9,'M'},
- {1.e-12,'G'},
- {1.e-15,'T'},
- {1.e-18,'P'},
- {1.e-21,'E'},
- {1.e-24,'Z'},
- {1.e-27,'Y'}
- };
-
- if (interval == 0.0)
- {
- os << std::setw(width-3) << std::right << "0.00" << std::setw(3) << unit;
- return os.str();
- }
-
- bool negative = false;
- if (interval < 0.0)
- {
- negative = true;
- interval = -interval;
- }
-
- for (int i=0; i<(int)(sizeof(ranges)/sizeof(ranges[0])); i++)
- {
- if (interval*ranges[i].scale < 1.e0)
- {
- interval = interval * 1000.e0 * ranges[i].scale;
- os << std::fixed << std::setprecision(2) << std::setw(width-3) << std::right <<
- (negative ? -interval : interval) << std::setw(2) << ranges[i].prefix << std::setw(1) << unit;
-
- return os.str();
- }
- }
- }
- os << std::setprecision(2) << std::fixed << std::right << std::setw(width-3) << interval << std::setw(3) << unit;
-
- return os.str();
-}
-
-tsc_tick_count::tsc_interval_t computeLastInLastOutInterval(timePair * times, int nTimes)
-{
- timePair lastTimes = times[0];
- tsc_tick_count * startp = lastTimes.get_startp();
- tsc_tick_count * endp = lastTimes.get_endp();
-
- for (int i=1; i<nTimes; i++)
- {
- (*startp) = startp->later(times[i].get_start());
- (*endp) = endp->later (times[i].get_end());
- }
-
- return lastTimes.duration();
-}
-
-std::string timePair::format() const
-{
- std::ostringstream oss;
-
- oss << start.getValue() << ":" << end.getValue() << " = " << (end-start).getValue();
-
- return oss.str();
-}
diff --git a/contrib/libs/cxxsupp/openmp/kmp_stats_timing.h b/contrib/libs/cxxsupp/openmp/kmp_stats_timing.h
deleted file mode 100644
index 83fb85bea3..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_stats_timing.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef KMP_STATS_TIMING_H
-#define KMP_STATS_TIMING_H
-
-/** @file kmp_stats_timing.h
- * Access to real time clock and timers.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-
-#include <stdint.h>
-#include <string>
-#include <limits>
-#include "kmp_os.h"
-
-class tsc_tick_count {
- private:
- int64_t my_count;
-
- public:
- class tsc_interval_t {
- int64_t value;
- explicit tsc_interval_t(int64_t _value) : value(_value) {}
- public:
- tsc_interval_t() : value(0) {}; // Construct 0 time duration
-#if KMP_HAVE_TICK_TIME
- double seconds() const; // Return the length of a time interval in seconds
-#endif
- double ticks() const { return double(value); }
- int64_t getValue() const { return value; }
-
- friend class tsc_tick_count;
-
- friend tsc_interval_t operator-(
- const tsc_tick_count t1, const tsc_tick_count t0);
- };
-
- tsc_tick_count() : my_count(static_cast<int64_t>(__rdtsc())) {};
- tsc_tick_count(int64_t value) : my_count(value) {};
- int64_t getValue() const { return my_count; }
- tsc_tick_count later (tsc_tick_count const other) const {
- return my_count > other.my_count ? (*this) : other;
- }
- tsc_tick_count earlier(tsc_tick_count const other) const {
- return my_count < other.my_count ? (*this) : other;
- }
-#if KMP_HAVE_TICK_TIME
- static double tick_time(); // returns seconds per cycle (period) of clock
-#endif
- static tsc_tick_count now() { return tsc_tick_count(); } // returns the rdtsc register value
- friend tsc_tick_count::tsc_interval_t operator-(const tsc_tick_count t1, const tsc_tick_count t0);
-};
-
-inline tsc_tick_count::tsc_interval_t operator-(const tsc_tick_count t1, const tsc_tick_count t0)
-{
- return tsc_tick_count::tsc_interval_t( t1.my_count-t0.my_count );
-}
-
-#if KMP_HAVE_TICK_TIME
-inline double tsc_tick_count::tsc_interval_t::seconds() const
-{
- return value*tick_time();
-}
-#endif
-
-extern std::string formatSI(double interval, int width, char unit);
-
-inline std::string formatSeconds(double interval, int width)
-{
- return formatSI(interval, width, 'S');
-}
-
-inline std::string formatTicks(double interval, int width)
-{
- return formatSI(interval, width, 'T');
-}
-
-class timePair
-{
- tsc_tick_count KMP_ALIGN_CACHE start;
- tsc_tick_count end;
-
-public:
- timePair() : start(-std::numeric_limits<int64_t>::max()), end(-std::numeric_limits<int64_t>::max()) {}
- tsc_tick_count get_start() const { return start; }
- tsc_tick_count get_end() const { return end; }
- tsc_tick_count * get_startp() { return &start; }
- tsc_tick_count * get_endp() { return &end; }
-
- void markStart() { start = tsc_tick_count::now(); }
- void markEnd() { end = tsc_tick_count::now(); }
- void set_start(tsc_tick_count s) { start = s; }
- void set_end (tsc_tick_count e) { end = e; }
-
- tsc_tick_count::tsc_interval_t duration() const { return end-start; }
- std::string format() const;
-
-};
-
-extern tsc_tick_count::tsc_interval_t computeLastInLastOutInterval(timePair * times, int nTimes);
-#endif // KMP_STATS_TIMING_H
diff --git a/contrib/libs/cxxsupp/openmp/kmp_stub.c b/contrib/libs/cxxsupp/openmp/kmp_stub.c
deleted file mode 100644
index 1e0953a0fc..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_stub.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * kmp_stub.c -- stub versions of user-callable OpenMP RT functions.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include <stdlib.h>
-#include <limits.h>
-#include <errno.h>
-
-#include "omp.h" // Function renamings.
-#include "kmp.h" // KMP_DEFAULT_STKSIZE
-#include "kmp_stub.h"
-
-#if KMP_OS_WINDOWS
- #include <windows.h>
-#else
- #include <sys/time.h>
-#endif
-
-// Moved from omp.h
-#define omp_set_max_active_levels ompc_set_max_active_levels
-#define omp_set_schedule ompc_set_schedule
-#define omp_get_ancestor_thread_num ompc_get_ancestor_thread_num
-#define omp_get_team_size ompc_get_team_size
-
-#define omp_set_num_threads ompc_set_num_threads
-#define omp_set_dynamic ompc_set_dynamic
-#define omp_set_nested ompc_set_nested
-#define kmp_set_stacksize kmpc_set_stacksize
-#define kmp_set_stacksize_s kmpc_set_stacksize_s
-#define kmp_set_blocktime kmpc_set_blocktime
-#define kmp_set_library kmpc_set_library
-#define kmp_set_defaults kmpc_set_defaults
-#define kmp_malloc kmpc_malloc
-#define kmp_calloc kmpc_calloc
-#define kmp_realloc kmpc_realloc
-#define kmp_free kmpc_free
-
-static double frequency = 0.0;
-
-// Helper functions.
-static size_t __kmps_init() {
- static int initialized = 0;
- static size_t dummy = 0;
- if ( ! initialized ) {
-
- // TODO: Analyze KMP_VERSION environment variable, print __kmp_version_copyright and
- // __kmp_version_build_time.
- // WARNING: Do not use "fprintf( stderr, ... )" because it will cause unresolved "__iob"
- // symbol (see C70080). We need to extract __kmp_printf() stuff from kmp_runtime.c and use
- // it.
-
- // Trick with dummy variable forces linker to keep __kmp_version_copyright and
- // __kmp_version_build_time strings in executable file (in case of static linkage).
- // When KMP_VERSION analyze is implemented, dummy variable should be deleted, function
- // should return void.
- dummy = __kmp_version_copyright - __kmp_version_build_time;
-
- #if KMP_OS_WINDOWS
- LARGE_INTEGER freq;
- BOOL status = QueryPerformanceFrequency( & freq );
- if ( status ) {
- frequency = double( freq.QuadPart );
- }; // if
- #endif
-
- initialized = 1;
- }; // if
- return dummy;
-}; // __kmps_init
-
-#define i __kmps_init();
-
-/* set API functions */
-void omp_set_num_threads( omp_int_t num_threads ) { i; }
-void omp_set_dynamic( omp_int_t dynamic ) { i; __kmps_set_dynamic( dynamic ); }
-void omp_set_nested( omp_int_t nested ) { i; __kmps_set_nested( nested ); }
-void omp_set_max_active_levels( omp_int_t max_active_levels ) { i; }
-void omp_set_schedule( omp_sched_t kind, omp_int_t modifier ) { i; __kmps_set_schedule( (kmp_sched_t)kind, modifier ); }
-int omp_get_ancestor_thread_num( omp_int_t level ) { i; return ( level ) ? ( -1 ) : ( 0 ); }
-int omp_get_team_size( omp_int_t level ) { i; return ( level ) ? ( -1 ) : ( 1 ); }
-int kmpc_set_affinity_mask_proc( int proc, void **mask ) { i; return -1; }
-int kmpc_unset_affinity_mask_proc( int proc, void **mask ) { i; return -1; }
-int kmpc_get_affinity_mask_proc( int proc, void **mask ) { i; return -1; }
-
-/* kmp API functions */
-void kmp_set_stacksize( omp_int_t arg ) { i; __kmps_set_stacksize( arg ); }
-void kmp_set_stacksize_s( size_t arg ) { i; __kmps_set_stacksize( arg ); }
-void kmp_set_blocktime( omp_int_t arg ) { i; __kmps_set_blocktime( arg ); }
-void kmp_set_library( omp_int_t arg ) { i; __kmps_set_library( arg ); }
-void kmp_set_defaults( char const * str ) { i; }
-
-/* KMP memory management functions. */
-void * kmp_malloc( size_t size ) { i; return malloc( size ); }
-void * kmp_calloc( size_t nelem, size_t elsize ) { i; return calloc( nelem, elsize ); }
-void * kmp_realloc( void *ptr, size_t size ) { i; return realloc( ptr, size ); }
-void kmp_free( void * ptr ) { i; free( ptr ); }
-
-static int __kmps_blocktime = INT_MAX;
-
-void __kmps_set_blocktime( int arg ) {
- i;
- __kmps_blocktime = arg;
-} // __kmps_set_blocktime
-
-int __kmps_get_blocktime( void ) {
- i;
- return __kmps_blocktime;
-} // __kmps_get_blocktime
-
-static int __kmps_dynamic = 0;
-
-void __kmps_set_dynamic( int arg ) {
- i;
- __kmps_dynamic = arg;
-} // __kmps_set_dynamic
-
-int __kmps_get_dynamic( void ) {
- i;
- return __kmps_dynamic;
-} // __kmps_get_dynamic
-
-static int __kmps_library = 1000;
-
-void __kmps_set_library( int arg ) {
- i;
- __kmps_library = arg;
-} // __kmps_set_library
-
-int __kmps_get_library( void ) {
- i;
- return __kmps_library;
-} // __kmps_get_library
-
-static int __kmps_nested = 0;
-
-void __kmps_set_nested( int arg ) {
- i;
- __kmps_nested = arg;
-} // __kmps_set_nested
-
-int __kmps_get_nested( void ) {
- i;
- return __kmps_nested;
-} // __kmps_get_nested
-
-static size_t __kmps_stacksize = KMP_DEFAULT_STKSIZE;
-
-void __kmps_set_stacksize( int arg ) {
- i;
- __kmps_stacksize = arg;
-} // __kmps_set_stacksize
-
-int __kmps_get_stacksize( void ) {
- i;
- return __kmps_stacksize;
-} // __kmps_get_stacksize
-
-static kmp_sched_t __kmps_sched_kind = kmp_sched_default;
-static int __kmps_sched_modifier = 0;
-
- void __kmps_set_schedule( kmp_sched_t kind, int modifier ) {
- i;
- __kmps_sched_kind = kind;
- __kmps_sched_modifier = modifier;
- } // __kmps_set_schedule
-
- void __kmps_get_schedule( kmp_sched_t *kind, int *modifier ) {
- i;
- *kind = __kmps_sched_kind;
- *modifier = __kmps_sched_modifier;
- } // __kmps_get_schedule
-
-#if OMP_40_ENABLED
-
-static kmp_proc_bind_t __kmps_proc_bind = proc_bind_false;
-
-void __kmps_set_proc_bind( kmp_proc_bind_t arg ) {
- i;
- __kmps_proc_bind = arg;
-} // __kmps_set_proc_bind
-
-kmp_proc_bind_t __kmps_get_proc_bind( void ) {
- i;
- return __kmps_proc_bind;
-} // __kmps_get_proc_bind
-
-#endif /* OMP_40_ENABLED */
-
-double __kmps_get_wtime( void ) {
- // Elapsed wall clock time (in second) from "sometime in the past".
- double wtime = 0.0;
- i;
- #if KMP_OS_WINDOWS
- if ( frequency > 0.0 ) {
- LARGE_INTEGER now;
- BOOL status = QueryPerformanceCounter( & now );
- if ( status ) {
- wtime = double( now.QuadPart ) / frequency;
- }; // if
- }; // if
- #else
- // gettimeofday() returns seconds and microseconds since the Epoch.
- struct timeval tval;
- int rc;
- rc = gettimeofday( & tval, NULL );
- if ( rc == 0 ) {
- wtime = (double)( tval.tv_sec ) + 1.0E-06 * (double)( tval.tv_usec );
- } else {
- // TODO: Assert or abort here.
- }; // if
- #endif
- return wtime;
-}; // __kmps_get_wtime
-
-double __kmps_get_wtick( void ) {
- // Number of seconds between successive clock ticks.
- double wtick = 0.0;
- i;
- #if KMP_OS_WINDOWS
- {
- DWORD increment;
- DWORD adjustment;
- BOOL disabled;
- BOOL rc;
- rc = GetSystemTimeAdjustment( & adjustment, & increment, & disabled );
- if ( rc ) {
- wtick = 1.0E-07 * (double)( disabled ? increment : adjustment );
- } else {
- // TODO: Assert or abort here.
- wtick = 1.0E-03;
- }; // if
- }
- #else
- // TODO: gettimeofday() returns in microseconds, but what the precision?
- wtick = 1.0E-06;
- #endif
- return wtick;
-}; // __kmps_get_wtick
-
-// end of file //
-
diff --git a/contrib/libs/cxxsupp/openmp/kmp_stub.h b/contrib/libs/cxxsupp/openmp/kmp_stub.h
deleted file mode 100644
index cdcffa3d8c..0000000000
--- a/contrib/libs/cxxsupp/openmp/kmp_stub.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * kmp_stub.h
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifndef KMP_STUB_H
-#define KMP_STUB_H
-
-#ifdef __cplusplus
- extern "C" {
-#endif // __cplusplus
-
-void __kmps_set_blocktime( int arg );
-int __kmps_get_blocktime( void );
-void __kmps_set_dynamic( int arg );
-int __kmps_get_dynamic( void );
-void __kmps_set_library( int arg );
-int __kmps_get_library( void );
-void __kmps_set_nested( int arg );
-int __kmps_get_nested( void );
-void __kmps_set_stacksize( int arg );
-int __kmps_get_stacksize();
-
-#ifndef KMP_SCHED_TYPE_DEFINED
-#define KMP_SCHED_TYPE_DEFINED
-typedef enum kmp_sched {
- kmp_sched_static = 1, // mapped to kmp_sch_static_chunked (33)
- kmp_sched_dynamic = 2, // mapped to kmp_sch_dynamic_chunked (35)
- kmp_sched_guided = 3, // mapped to kmp_sch_guided_chunked (36)
- kmp_sched_auto = 4, // mapped to kmp_sch_auto (38)
- kmp_sched_default = kmp_sched_static // default scheduling
-} kmp_sched_t;
-#endif
-void __kmps_set_schedule( kmp_sched_t kind, int modifier );
-void __kmps_get_schedule( kmp_sched_t *kind, int *modifier );
-
-#if OMP_40_ENABLED
-void __kmps_set_proc_bind( kmp_proc_bind_t arg );
-kmp_proc_bind_t __kmps_get_proc_bind( void );
-#endif /* OMP_40_ENABLED */
-
-double __kmps_get_wtime();
-double __kmps_get_wtick();
-
-#ifdef __cplusplus
- } // extern "C"
-#endif // __cplusplus
-
-#endif // KMP_STUB_H
-
-// end of file //
diff --git a/contrib/libs/cxxsupp/openmp/kmp_tasking.c b/contrib/libs/cxxsupp/openmp/kmp_tasking.c
index 432f919231..47e989ff78 100644
--- a/contrib/libs/cxxsupp/openmp/kmp_tasking.c
+++ b/contrib/libs/cxxsupp/openmp/kmp_tasking.c
@@ -20,7 +20,7 @@
#include "kmp_stats.h"
#if OMPT_SUPPORT
-#include "ompt-specific.h"
+#error #include "ompt-specific.h"
#endif
diff --git a/contrib/libs/cxxsupp/openmp/libomp.rc.var b/contrib/libs/cxxsupp/openmp/libomp.rc.var
deleted file mode 100644
index cf6a9c9efa..0000000000
--- a/contrib/libs/cxxsupp/openmp/libomp.rc.var
+++ /dev/null
@@ -1,70 +0,0 @@
-// libomp.rc.var
-
-//
-////===----------------------------------------------------------------------===//
-////
-//// The LLVM Compiler Infrastructure
-////
-//// This file is dual licensed under the MIT and the University of Illinois Open
-//// Source Licenses. See LICENSE.txt for details.
-////
-////===----------------------------------------------------------------------===//
-//
-
-#include "winres.h"
-#include "kmp_config.h"
-
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // English (U.S.) resources
-#pragma code_page(1252)
-
-VS_VERSION_INFO VERSIONINFO
- // Parts of FILEVERSION and PRODUCTVERSION are 16-bit fields, entire build date yyyymmdd
- // does not fit into one version part, so we need to split it into yyyy and mmdd:
- FILEVERSION @LIBOMP_VERSION_MAJOR@,@LIBOMP_VERSION_MINOR@,@LIBOMP_VERSION_BUILD_YEAR@,@LIBOMP_VERSION_BUILD_MONTH_DAY@
- PRODUCTVERSION @LIBOMP_VERSION_MAJOR@,@LIBOMP_VERSION_MINOR@,@LIBOMP_VERSION_BUILD_YEAR@,@LIBOMP_VERSION_BUILD_MONTH_DAY@
- FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
- FILEFLAGS 0
-#if KMP_DEBUG
- | VS_FF_DEBUG
-#endif
-#if @LIBOMP_VERSION_BUILD@ == 0
- | VS_FF_PRIVATEBUILD | VS_FF_PRERELEASE
-#endif
- FILEOS VOS_NT_WINDOWS32 // Windows* Server* 2003, XP*, 2000, or NT*
- FILETYPE VFT_DLL
- BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904b0" // U.S. English, Unicode (0x04b0 == 1200)
- BEGIN
-
- // FileDescription and LegalCopyright should be short.
- VALUE "FileDescription", "LLVM* OpenMP* Runtime Library\0"
- // Following values may be relatively long.
- VALUE "CompanyName", "LLVM\0"
- // VALUE "LegalTrademarks", "\0" // Not used for now.
- VALUE "ProductName", "LLVM* OpenMP* Runtime Library\0"
- VALUE "ProductVersion", "@LIBOMP_VERSION_MAJOR@.@LIBOMP_VERSION_MINOR@\0"
- VALUE "FileVersion", "@LIBOMP_VERSION_BUILD@\0"
- VALUE "InternalName", "@LIBOMP_LIB_FILE@\0"
- VALUE "OriginalFilename", "@LIBOMP_LIB_FILE@\0"
- VALUE "Comments",
- "LLVM* OpenMP* @LIBOMP_LEGAL_TYPE@ Library "
- "version @LIBOMP_VERSION_MAJOR@.@LIBOMP_VERSION_MINOR@.@LIBOMP_VERSION_BUILD@ "
- "for @LIBOMP_LEGAL_ARCH@ architecture built on @LIBOMP_BUILD_DATE@.\0"
-#if @LIBOMP_VERSION_BUILD@ == 0
- VALUE "PrivateBuild",
- "This is a development build.\0"
-#endif
- // VALUE "SpecialBuild", "\0" // Not used for now.
-
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 1033, 1200
- // 1033 -- U.S. English, 1200 -- Unicode
- END
- END
-
-// end of file //
diff --git a/contrib/libs/cxxsupp/openmp/ompt-event-specific.h b/contrib/libs/cxxsupp/openmp/ompt-event-specific.h
deleted file mode 100644
index 28c1512ac2..0000000000
--- a/contrib/libs/cxxsupp/openmp/ompt-event-specific.h
+++ /dev/null
@@ -1,144 +0,0 @@
-#ifndef __OMPT_EVENT_SPECIFIC_H__
-#define __OMPT_EVENT_SPECIFIC_H__
-
-/******************************************************************************
- * File: ompt-event-specific.h
- *
- * Description:
- *
- * specify which of the OMPT events are implemented by this runtime system
- * and the level of their implementation by a runtime system.
- *****************************************************************************/
-
-#define _ompt_tokenpaste_helper(x,y) x ## y
-#define _ompt_tokenpaste(x,y) _ompt_tokenpaste_helper(x,y)
-#define ompt_event_implementation_status(e) _ompt_tokenpaste(e,_implemented)
-
-
-/*----------------------------------------------------------------------------
- | Specify whether an event may occur or not, and whether event callbacks
- | never, sometimes, or always occur.
- |
- | The values for these constants are defined in section 6.1.2 of
- | the OMPT TR. They are exposed to tools through ompt_set_callback.
- +--------------------------------------------------------------------------*/
-
-#define ompt_event_NEVER ompt_set_result_event_never_occurs
-#define ompt_event_UNIMPLEMENTED ompt_set_result_event_may_occur_no_callback
-#define ompt_event_MAY_CONVENIENT ompt_set_result_event_may_occur_callback_some
-#define ompt_event_MAY_ALWAYS ompt_set_result_event_may_occur_callback_always
-
-#if OMPT_TRACE
-#define ompt_event_MAY_ALWAYS_TRACE ompt_event_MAY_ALWAYS
-#else
-#define ompt_event_MAY_ALWAYS_TRACE ompt_event_UNIMPLEMENTED
-#endif
-
-#if OMPT_BLAME
-#define ompt_event_MAY_ALWAYS_BLAME ompt_event_MAY_ALWAYS
-#else
-#define ompt_event_MAY_ALWAYS_BLAME ompt_event_UNIMPLEMENTED
-#endif
-
-/*----------------------------------------------------------------------------
- | Mandatory Events
- +--------------------------------------------------------------------------*/
-
-#define ompt_event_parallel_begin_implemented ompt_event_MAY_ALWAYS
-#define ompt_event_parallel_end_implemented ompt_event_MAY_ALWAYS
-
-#define ompt_event_task_begin_implemented ompt_event_MAY_ALWAYS
-#define ompt_event_task_end_implemented ompt_event_MAY_ALWAYS
-
-#define ompt_event_thread_begin_implemented ompt_event_MAY_ALWAYS
-#define ompt_event_thread_end_implemented ompt_event_MAY_ALWAYS
-
-#define ompt_event_control_implemented ompt_event_MAY_ALWAYS
-
-#define ompt_event_runtime_shutdown_implemented ompt_event_MAY_ALWAYS
-
-
-/*----------------------------------------------------------------------------
- | Optional Events (blame shifting)
- +--------------------------------------------------------------------------*/
-
-#define ompt_event_idle_begin_implemented ompt_event_MAY_ALWAYS_BLAME
-#define ompt_event_idle_end_implemented ompt_event_MAY_ALWAYS_BLAME
-
-#define ompt_event_wait_barrier_begin_implemented ompt_event_MAY_ALWAYS_BLAME
-#define ompt_event_wait_barrier_end_implemented ompt_event_MAY_ALWAYS_BLAME
-
-#define ompt_event_wait_taskwait_begin_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_wait_taskwait_end_implemented ompt_event_UNIMPLEMENTED
-
-#define ompt_event_wait_taskgroup_begin_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_wait_taskgroup_end_implemented ompt_event_UNIMPLEMENTED
-
-#define ompt_event_release_lock_implemented ompt_event_MAY_ALWAYS_BLAME
-#define ompt_event_release_nest_lock_last_implemented ompt_event_MAY_ALWAYS_BLAME
-#define ompt_event_release_critical_implemented ompt_event_MAY_ALWAYS_BLAME
-#define ompt_event_release_atomic_implemented ompt_event_MAY_ALWAYS_BLAME
-#define ompt_event_release_ordered_implemented ompt_event_MAY_ALWAYS_BLAME
-
-
-/*----------------------------------------------------------------------------
- | Optional Events (synchronous events)
- +--------------------------------------------------------------------------*/
-
-#define ompt_event_implicit_task_begin_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_implicit_task_end_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_initial_task_begin_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_initial_task_end_implemented ompt_event_UNIMPLEMENTED
-
-#define ompt_event_task_switch_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_loop_begin_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_loop_end_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_sections_begin_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_sections_end_implemented ompt_event_UNIMPLEMENTED
-
-#define ompt_event_single_in_block_begin_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_single_in_block_end_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_single_others_begin_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_single_others_end_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_workshare_begin_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_workshare_end_implemented ompt_event_UNIMPLEMENTED
-
-#define ompt_event_master_begin_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_master_end_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_barrier_begin_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_barrier_end_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_taskwait_begin_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_taskwait_end_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_taskgroup_begin_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_taskgroup_end_implemented ompt_event_UNIMPLEMENTED
-
-#define ompt_event_release_nest_lock_prev_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_wait_lock_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_wait_nest_lock_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_wait_critical_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_wait_atomic_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_wait_ordered_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_acquired_lock_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_acquired_nest_lock_first_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_acquired_nest_lock_next_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_acquired_critical_implemented ompt_event_UNIMPLEMENTED
-#define ompt_event_acquired_atomic_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_acquired_ordered_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_init_lock_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_init_nest_lock_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_destroy_lock_implemented ompt_event_MAY_ALWAYS_TRACE
-#define ompt_event_destroy_nest_lock_implemented ompt_event_MAY_ALWAYS_TRACE
-
-#define ompt_event_flush_implemented ompt_event_UNIMPLEMENTED
-
-#endif
diff --git a/contrib/libs/cxxsupp/openmp/ompt-general.c b/contrib/libs/cxxsupp/openmp/ompt-general.c
deleted file mode 100644
index 4daae81917..0000000000
--- a/contrib/libs/cxxsupp/openmp/ompt-general.c
+++ /dev/null
@@ -1,535 +0,0 @@
-/*****************************************************************************
- * system include files
- ****************************************************************************/
-
-#include <assert.h>
-
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-
-/*****************************************************************************
- * ompt include files
- ****************************************************************************/
-
-#include "ompt-specific.c"
-
-
-
-/*****************************************************************************
- * macros
- ****************************************************************************/
-
-#define ompt_get_callback_success 1
-#define ompt_get_callback_failure 0
-
-#define no_tool_present 0
-
-#define OMPT_API_ROUTINE static
-
-#ifndef OMPT_STR_MATCH
-#define OMPT_STR_MATCH(haystack, needle) (!strcasecmp(haystack, needle))
-#endif
-
-
-/*****************************************************************************
- * types
- ****************************************************************************/
-
-typedef struct {
- const char *state_name;
- ompt_state_t state_id;
-} ompt_state_info_t;
-
-
-enum tool_setting_e {
- omp_tool_error,
- omp_tool_unset,
- omp_tool_disabled,
- omp_tool_enabled
-};
-
-
-typedef void (*ompt_initialize_t) (
- ompt_function_lookup_t ompt_fn_lookup,
- const char *version,
- unsigned int ompt_version
-);
-
-
-
-/*****************************************************************************
- * global variables
- ****************************************************************************/
-
-int ompt_enabled = 0;
-
-ompt_state_info_t ompt_state_info[] = {
-#define ompt_state_macro(state, code) { # state, state },
- FOREACH_OMPT_STATE(ompt_state_macro)
-#undef ompt_state_macro
-};
-
-ompt_callbacks_t ompt_callbacks;
-
-static ompt_initialize_t ompt_initialize_fn = NULL;
-
-
-
-/*****************************************************************************
- * forward declarations
- ****************************************************************************/
-
-static ompt_interface_fn_t ompt_fn_lookup(const char *s);
-
-OMPT_API_ROUTINE ompt_thread_id_t ompt_get_thread_id(void);
-
-
-/*****************************************************************************
- * initialization and finalization (private operations)
- ****************************************************************************/
-
-/* On Unix-like systems that support weak symbols the following implementation
- * of ompt_tool() will be used in case no tool-supplied implementation of
- * this function is present in the address space of a process.
- *
- * On Windows, the ompt_tool_windows function is used to find the
- * ompt_tool symbol across all modules loaded by a process. If ompt_tool is
- * found, ompt_tool's return value is used to initialize the tool. Otherwise,
- * NULL is returned and OMPT won't be enabled */
-#if OMPT_HAVE_WEAK_ATTRIBUTE
-_OMP_EXTERN
-__attribute__ (( weak ))
-ompt_initialize_t ompt_tool()
-{
-#if OMPT_DEBUG
- printf("ompt_tool() is called from the RTL\n");
-#endif
- return NULL;
-}
-
-#elif OMPT_HAVE_PSAPI
-
-#include <psapi.h>
-#pragma comment(lib, "psapi.lib")
-#define ompt_tool ompt_tool_windows
-
-// The number of loaded modules to start enumeration with EnumProcessModules()
-#define NUM_MODULES 128
-
-static
-ompt_initialize_t ompt_tool_windows()
-{
- int i;
- DWORD needed, new_size;
- HMODULE *modules;
- HANDLE process = GetCurrentProcess();
- modules = (HMODULE*)malloc( NUM_MODULES * sizeof(HMODULE) );
- ompt_initialize_t (*ompt_tool_p)() = NULL;
-
-#if OMPT_DEBUG
- printf("ompt_tool_windows(): looking for ompt_tool\n");
-#endif
- if (!EnumProcessModules( process, modules, NUM_MODULES * sizeof(HMODULE),
- &needed)) {
- // Regardless of the error reason use the stub initialization function
- free(modules);
- return NULL;
- }
- // Check if NUM_MODULES is enough to list all modules
- new_size = needed / sizeof(HMODULE);
- if (new_size > NUM_MODULES) {
-#if OMPT_DEBUG
- printf("ompt_tool_windows(): resize buffer to %d bytes\n", needed);
-#endif
- modules = (HMODULE*)realloc( modules, needed );
- // If resizing failed use the stub function.
- if (!EnumProcessModules(process, modules, needed, &needed)) {
- free(modules);
- return NULL;
- }
- }
- for (i = 0; i < new_size; ++i) {
- (FARPROC &)ompt_tool_p = GetProcAddress(modules[i], "ompt_tool");
- if (ompt_tool_p) {
-#if OMPT_DEBUG
- TCHAR modName[MAX_PATH];
- if (GetModuleFileName(modules[i], modName, MAX_PATH))
- printf("ompt_tool_windows(): ompt_tool found in module %s\n",
- modName);
-#endif
- free(modules);
- return ompt_tool_p();
- }
-#if OMPT_DEBUG
- else {
- TCHAR modName[MAX_PATH];
- if (GetModuleFileName(modules[i], modName, MAX_PATH))
- printf("ompt_tool_windows(): ompt_tool not found in module %s\n",
- modName);
- }
-#endif
- }
- free(modules);
- return NULL;
-}
-#else
-# error Either __attribute__((weak)) or psapi.dll are required for OMPT support
-#endif // OMPT_HAVE_WEAK_ATTRIBUTE
-
-void ompt_pre_init()
-{
- //--------------------------------------------------
- // Execute the pre-initialization logic only once.
- //--------------------------------------------------
- static int ompt_pre_initialized = 0;
-
- if (ompt_pre_initialized) return;
-
- ompt_pre_initialized = 1;
-
- //--------------------------------------------------
- // Use a tool iff a tool is enabled and available.
- //--------------------------------------------------
- const char *ompt_env_var = getenv("OMP_TOOL");
- tool_setting_e tool_setting = omp_tool_error;
-
- if (!ompt_env_var || !strcmp(ompt_env_var, ""))
- tool_setting = omp_tool_unset;
- else if (OMPT_STR_MATCH(ompt_env_var, "disabled"))
- tool_setting = omp_tool_disabled;
- else if (OMPT_STR_MATCH(ompt_env_var, "enabled"))
- tool_setting = omp_tool_enabled;
-
-#if OMPT_DEBUG
- printf("ompt_pre_init(): tool_setting = %d\n", tool_setting);
-#endif
- switch(tool_setting) {
- case omp_tool_disabled:
- break;
-
- case omp_tool_unset:
- case omp_tool_enabled:
- ompt_initialize_fn = ompt_tool();
- if (ompt_initialize_fn) {
- ompt_enabled = 1;
- }
- break;
-
- case omp_tool_error:
- fprintf(stderr,
- "Warning: OMP_TOOL has invalid value \"%s\".\n"
- " legal values are (NULL,\"\",\"disabled\","
- "\"enabled\").\n", ompt_env_var);
- break;
- }
-#if OMPT_DEBUG
- printf("ompt_pre_init(): ompt_enabled = %d\n", ompt_enabled);
-#endif
-}
-
-
-void ompt_post_init()
-{
- //--------------------------------------------------
- // Execute the post-initialization logic only once.
- //--------------------------------------------------
- static int ompt_post_initialized = 0;
-
- if (ompt_post_initialized) return;
-
- ompt_post_initialized = 1;
-
- //--------------------------------------------------
- // Initialize the tool if so indicated.
- //--------------------------------------------------
- if (ompt_enabled) {
- ompt_initialize_fn(ompt_fn_lookup, ompt_get_runtime_version(),
- OMPT_VERSION);
-
- ompt_thread_t *root_thread = ompt_get_thread();
-
- ompt_set_thread_state(root_thread, ompt_state_overhead);
-
- if (ompt_callbacks.ompt_callback(ompt_event_thread_begin)) {
- ompt_callbacks.ompt_callback(ompt_event_thread_begin)
- (ompt_thread_initial, ompt_get_thread_id());
- }
-
- ompt_set_thread_state(root_thread, ompt_state_work_serial);
- }
-}
-
-
-void ompt_fini()
-{
- if (ompt_enabled) {
- if (ompt_callbacks.ompt_callback(ompt_event_runtime_shutdown)) {
- ompt_callbacks.ompt_callback(ompt_event_runtime_shutdown)();
- }
- }
-
- ompt_enabled = 0;
-}
-
-
-/*****************************************************************************
- * interface operations
- ****************************************************************************/
-
-/*****************************************************************************
- * state
- ****************************************************************************/
-
-OMPT_API_ROUTINE int ompt_enumerate_state(int current_state, int *next_state,
- const char **next_state_name)
-{
- const static int len = sizeof(ompt_state_info) / sizeof(ompt_state_info_t);
- int i = 0;
-
- for (i = 0; i < len - 1; i++) {
- if (ompt_state_info[i].state_id == current_state) {
- *next_state = ompt_state_info[i+1].state_id;
- *next_state_name = ompt_state_info[i+1].state_name;
- return 1;
- }
- }
-
- return 0;
-}
-
-
-
-/*****************************************************************************
- * callbacks
- ****************************************************************************/
-
-OMPT_API_ROUTINE int ompt_set_callback(ompt_event_t evid, ompt_callback_t cb)
-{
- switch (evid) {
-
-#define ompt_event_macro(event_name, callback_type, event_id) \
- case event_name: \
- if (ompt_event_implementation_status(event_name)) { \
- ompt_callbacks.ompt_callback(event_name) = (callback_type) cb; \
- } \
- return ompt_event_implementation_status(event_name);
-
- FOREACH_OMPT_EVENT(ompt_event_macro)
-
-#undef ompt_event_macro
-
- default: return ompt_set_result_registration_error;
- }
-}
-
-
-OMPT_API_ROUTINE int ompt_get_callback(ompt_event_t evid, ompt_callback_t *cb)
-{
- switch (evid) {
-
-#define ompt_event_macro(event_name, callback_type, event_id) \
- case event_name: \
- if (ompt_event_implementation_status(event_name)) { \
- ompt_callback_t mycb = \
- (ompt_callback_t) ompt_callbacks.ompt_callback(event_name); \
- if (mycb) { \
- *cb = mycb; \
- return ompt_get_callback_success; \
- } \
- } \
- return ompt_get_callback_failure;
-
- FOREACH_OMPT_EVENT(ompt_event_macro)
-
-#undef ompt_event_macro
-
- default: return ompt_get_callback_failure;
- }
-}
-
-
-/*****************************************************************************
- * parallel regions
- ****************************************************************************/
-
-OMPT_API_ROUTINE ompt_parallel_id_t ompt_get_parallel_id(int ancestor_level)
-{
- return __ompt_get_parallel_id_internal(ancestor_level);
-}
-
-
-OMPT_API_ROUTINE int ompt_get_parallel_team_size(int ancestor_level)
-{
- return __ompt_get_parallel_team_size_internal(ancestor_level);
-}
-
-
-OMPT_API_ROUTINE void *ompt_get_parallel_function(int ancestor_level)
-{
- return __ompt_get_parallel_function_internal(ancestor_level);
-}
-
-
-OMPT_API_ROUTINE ompt_state_t ompt_get_state(ompt_wait_id_t *ompt_wait_id)
-{
- ompt_state_t thread_state = __ompt_get_state_internal(ompt_wait_id);
-
- if (thread_state == ompt_state_undefined) {
- thread_state = ompt_state_work_serial;
- }
-
- return thread_state;
-}
-
-
-
-/*****************************************************************************
- * threads
- ****************************************************************************/
-
-
-OMPT_API_ROUTINE void *ompt_get_idle_frame()
-{
- return __ompt_get_idle_frame_internal();
-}
-
-
-
-/*****************************************************************************
- * tasks
- ****************************************************************************/
-
-
-OMPT_API_ROUTINE ompt_thread_id_t ompt_get_thread_id(void)
-{
- return __ompt_get_thread_id_internal();
-}
-
-OMPT_API_ROUTINE ompt_task_id_t ompt_get_task_id(int depth)
-{
- return __ompt_get_task_id_internal(depth);
-}
-
-
-OMPT_API_ROUTINE ompt_frame_t *ompt_get_task_frame(int depth)
-{
- return __ompt_get_task_frame_internal(depth);
-}
-
-
-OMPT_API_ROUTINE void *ompt_get_task_function(int depth)
-{
- return __ompt_get_task_function_internal(depth);
-}
-
-
-/*****************************************************************************
- * placeholders
- ****************************************************************************/
-
-// Don't define this as static. The loader may choose to eliminate the symbol
-// even though it is needed by tools.
-#define OMPT_API_PLACEHOLDER
-
-// Ensure that placeholders don't have mangled names in the symbol table.
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-OMPT_API_PLACEHOLDER void ompt_idle(void)
-{
- // This function is a placeholder used to represent the calling context of
- // idle OpenMP worker threads. It is not meant to be invoked.
- assert(0);
-}
-
-
-OMPT_API_PLACEHOLDER void ompt_overhead(void)
-{
- // This function is a placeholder used to represent the OpenMP context of
- // threads working in the OpenMP runtime. It is not meant to be invoked.
- assert(0);
-}
-
-
-OMPT_API_PLACEHOLDER void ompt_barrier_wait(void)
-{
- // This function is a placeholder used to represent the OpenMP context of
- // threads waiting for a barrier in the OpenMP runtime. It is not meant
- // to be invoked.
- assert(0);
-}
-
-
-OMPT_API_PLACEHOLDER void ompt_task_wait(void)
-{
- // This function is a placeholder used to represent the OpenMP context of
- // threads waiting for a task in the OpenMP runtime. It is not meant
- // to be invoked.
- assert(0);
-}
-
-
-OMPT_API_PLACEHOLDER void ompt_mutex_wait(void)
-{
- // This function is a placeholder used to represent the OpenMP context of
- // threads waiting for a mutex in the OpenMP runtime. It is not meant
- // to be invoked.
- assert(0);
-}
-
-#ifdef __cplusplus
-};
-#endif
-
-
-/*****************************************************************************
- * compatability
- ****************************************************************************/
-
-OMPT_API_ROUTINE int ompt_get_ompt_version()
-{
- return OMPT_VERSION;
-}
-
-
-
-/*****************************************************************************
- * application-facing API
- ****************************************************************************/
-
-
-/*----------------------------------------------------------------------------
- | control
- ---------------------------------------------------------------------------*/
-
-_OMP_EXTERN void ompt_control(uint64_t command, uint64_t modifier)
-{
- if (ompt_enabled && ompt_callbacks.ompt_callback(ompt_event_control)) {
- ompt_callbacks.ompt_callback(ompt_event_control)(command, modifier);
- }
-}
-
-
-
-/*****************************************************************************
- * API inquiry for tool
- ****************************************************************************/
-
-static ompt_interface_fn_t ompt_fn_lookup(const char *s)
-{
-
-#define ompt_interface_fn(fn) \
- if (strcmp(s, #fn) == 0) return (ompt_interface_fn_t) fn;
-
- FOREACH_OMPT_INQUIRY_FN(ompt_interface_fn)
-
- FOREACH_OMPT_PLACEHOLDER_FN(ompt_interface_fn)
-
- return (ompt_interface_fn_t) 0;
-}
diff --git a/contrib/libs/cxxsupp/openmp/ompt-internal.h b/contrib/libs/cxxsupp/openmp/ompt-internal.h
deleted file mode 100644
index 64e8d2e8fd..0000000000
--- a/contrib/libs/cxxsupp/openmp/ompt-internal.h
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef __OMPT_INTERNAL_H__
-#define __OMPT_INTERNAL_H__
-
-#include "ompt.h"
-#include "ompt-event-specific.h"
-
-#define OMPT_VERSION 1
-
-#define _OMP_EXTERN extern "C"
-
-#define OMPT_INVOKER(x) \
- ((x == fork_context_gnu) ? ompt_invoker_program : ompt_invoker_runtime)
-
-
-#define ompt_callback(e) e ## _callback
-
-
-typedef struct ompt_callbacks_s {
-#define ompt_event_macro(event, callback, eventid) callback ompt_callback(event);
-
- FOREACH_OMPT_EVENT(ompt_event_macro)
-
-#undef ompt_event_macro
-} ompt_callbacks_t;
-
-
-
-typedef struct {
- ompt_frame_t frame;
- void* function;
- ompt_task_id_t task_id;
-} ompt_task_info_t;
-
-
-typedef struct {
- ompt_parallel_id_t parallel_id;
- void *microtask;
-} ompt_team_info_t;
-
-
-typedef struct ompt_lw_taskteam_s {
- ompt_team_info_t ompt_team_info;
- ompt_task_info_t ompt_task_info;
- struct ompt_lw_taskteam_s *parent;
-} ompt_lw_taskteam_t;
-
-
-typedef struct ompt_parallel_info_s {
- ompt_task_id_t parent_task_id; /* id of parent task */
- ompt_parallel_id_t parallel_id; /* id of parallel region */
- ompt_frame_t *parent_task_frame; /* frame data of parent task */
- void *parallel_function; /* pointer to outlined function */
-} ompt_parallel_info_t;
-
-
-typedef struct {
- ompt_state_t state;
- ompt_wait_id_t wait_id;
- void *idle_frame;
-} ompt_thread_info_t;
-
-
-extern ompt_callbacks_t ompt_callbacks;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void ompt_pre_init(void);
-void ompt_post_init(void);
-void ompt_fini(void);
-
-extern int ompt_enabled;
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif
diff --git a/contrib/libs/cxxsupp/openmp/ompt-specific.c b/contrib/libs/cxxsupp/openmp/ompt-specific.c
deleted file mode 100644
index 49f668af10..0000000000
--- a/contrib/libs/cxxsupp/openmp/ompt-specific.c
+++ /dev/null
@@ -1,332 +0,0 @@
-//******************************************************************************
-// include files
-//******************************************************************************
-
-#include "kmp.h"
-#include "ompt-internal.h"
-#include "ompt-specific.h"
-
-//******************************************************************************
-// macros
-//******************************************************************************
-
-#define GTID_TO_OMPT_THREAD_ID(id) ((ompt_thread_id_t) (id >=0) ? id + 1: 0)
-
-#define LWT_FROM_TEAM(team) (team)->t.ompt_serialized_team_info;
-
-#define OMPT_THREAD_ID_BITS 16
-
-// 2013 08 24 - John Mellor-Crummey
-// ideally, a thread should assign its own ids based on thread private data.
-// however, the way the intel runtime reinitializes thread data structures
-// when it creates teams makes it difficult to maintain persistent thread
-// data. using a shared variable instead is simple. I leave it to intel to
-// sort out how to implement a higher performance version in their runtime.
-
-// when using fetch_and_add to generate the IDs, there isn't any reason to waste
-// bits for thread id.
-#if 0
-#define NEXT_ID(id_ptr,tid) \
- ((KMP_TEST_THEN_INC64(id_ptr) << OMPT_THREAD_ID_BITS) | (tid))
-#else
-#define NEXT_ID(id_ptr,tid) (KMP_TEST_THEN_INC64((volatile kmp_int64 *)id_ptr))
-#endif
-
-//******************************************************************************
-// private operations
-//******************************************************************************
-
-//----------------------------------------------------------
-// traverse the team and task hierarchy
-// note: __ompt_get_teaminfo and __ompt_get_taskinfo
-// traverse the hierarchy similarly and need to be
-// kept consistent
-//----------------------------------------------------------
-
-ompt_team_info_t *
-__ompt_get_teaminfo(int depth, int *size)
-{
- kmp_info_t *thr = ompt_get_thread();
-
- if (thr) {
- kmp_team *team = thr->th.th_team;
- if (team == NULL) return NULL;
-
- ompt_lw_taskteam_t *lwt = LWT_FROM_TEAM(team);
-
- while(depth > 0) {
- // next lightweight team (if any)
- if (lwt) lwt = lwt->parent;
-
- // next heavyweight team (if any) after
- // lightweight teams are exhausted
- if (!lwt && team) team=team->t.t_parent;
-
- depth--;
- }
-
- if (lwt) {
- // lightweight teams have one task
- if (size) *size = 1;
-
- // return team info for lightweight team
- return &lwt->ompt_team_info;
- } else if (team) {
- // extract size from heavyweight team
- if (size) *size = team->t.t_nproc;
-
- // return team info for heavyweight team
- return &team->t.ompt_team_info;
- }
- }
-
- return NULL;
-}
-
-
-ompt_task_info_t *
-__ompt_get_taskinfo(int depth)
-{
- ompt_task_info_t *info = NULL;
- kmp_info_t *thr = ompt_get_thread();
-
- if (thr) {
- kmp_taskdata_t *taskdata = thr->th.th_current_task;
- ompt_lw_taskteam_t *lwt = LWT_FROM_TEAM(taskdata->td_team);
-
- while (depth > 0) {
- // next lightweight team (if any)
- if (lwt) lwt = lwt->parent;
-
- // next heavyweight team (if any) after
- // lightweight teams are exhausted
- if (!lwt && taskdata) {
- taskdata = taskdata->td_parent;
- if (taskdata) {
- lwt = LWT_FROM_TEAM(taskdata->td_team);
- }
- }
- depth--;
- }
-
- if (lwt) {
- info = &lwt->ompt_task_info;
- } else if (taskdata) {
- info = &taskdata->ompt_task_info;
- }
- }
-
- return info;
-}
-
-
-
-//******************************************************************************
-// interface operations
-//******************************************************************************
-
-//----------------------------------------------------------
-// thread support
-//----------------------------------------------------------
-
-ompt_parallel_id_t
-__ompt_thread_id_new()
-{
- static uint64_t ompt_thread_id = 1;
- return NEXT_ID(&ompt_thread_id, 0);
-}
-
-void
-__ompt_thread_begin(ompt_thread_type_t thread_type, int gtid)
-{
- ompt_callbacks.ompt_callback(ompt_event_thread_begin)(
- thread_type, GTID_TO_OMPT_THREAD_ID(gtid));
-}
-
-
-void
-__ompt_thread_end(ompt_thread_type_t thread_type, int gtid)
-{
- ompt_callbacks.ompt_callback(ompt_event_thread_end)(
- thread_type, GTID_TO_OMPT_THREAD_ID(gtid));
-}
-
-
-ompt_thread_id_t
-__ompt_get_thread_id_internal()
-{
- // FIXME
- // until we have a better way of assigning ids, use __kmp_get_gtid
- // since the return value might be negative, we need to test that before
- // assigning it to an ompt_thread_id_t, which is unsigned.
- int id = __kmp_get_gtid();
- assert(id >= 0);
-
- return GTID_TO_OMPT_THREAD_ID(id);
-}
-
-//----------------------------------------------------------
-// state support
-//----------------------------------------------------------
-
-void
-__ompt_thread_assign_wait_id(void *variable)
-{
- int gtid = __kmp_gtid_get_specific();
- kmp_info_t *ti = ompt_get_thread_gtid(gtid);
-
- ti->th.ompt_thread_info.wait_id = (ompt_wait_id_t) variable;
-}
-
-ompt_state_t
-__ompt_get_state_internal(ompt_wait_id_t *ompt_wait_id)
-{
- kmp_info_t *ti = ompt_get_thread();
-
- if (ti) {
- if (ompt_wait_id)
- *ompt_wait_id = ti->th.ompt_thread_info.wait_id;
- return ti->th.ompt_thread_info.state;
- }
- return ompt_state_undefined;
-}
-
-//----------------------------------------------------------
-// idle frame support
-//----------------------------------------------------------
-
-void *
-__ompt_get_idle_frame_internal(void)
-{
- kmp_info_t *ti = ompt_get_thread();
- return ti ? ti->th.ompt_thread_info.idle_frame : NULL;
-}
-
-
-//----------------------------------------------------------
-// parallel region support
-//----------------------------------------------------------
-
-ompt_parallel_id_t
-__ompt_parallel_id_new(int gtid)
-{
- static uint64_t ompt_parallel_id = 1;
- return gtid >= 0 ? NEXT_ID(&ompt_parallel_id, gtid) : 0;
-}
-
-
-void *
-__ompt_get_parallel_function_internal(int depth)
-{
- ompt_team_info_t *info = __ompt_get_teaminfo(depth, NULL);
- void *function = info ? info->microtask : NULL;
- return function;
-}
-
-
-ompt_parallel_id_t
-__ompt_get_parallel_id_internal(int depth)
-{
- ompt_team_info_t *info = __ompt_get_teaminfo(depth, NULL);
- ompt_parallel_id_t id = info ? info->parallel_id : 0;
- return id;
-}
-
-
-int
-__ompt_get_parallel_team_size_internal(int depth)
-{
- // initialize the return value with the error value.
- // if there is a team at the specified depth, the default
- // value will be overwritten the size of that team.
- int size = -1;
- (void) __ompt_get_teaminfo(depth, &size);
- return size;
-}
-
-
-//----------------------------------------------------------
-// lightweight task team support
-//----------------------------------------------------------
-
-void
-__ompt_lw_taskteam_init(ompt_lw_taskteam_t *lwt, kmp_info_t *thr,
- int gtid, void *microtask,
- ompt_parallel_id_t ompt_pid)
-{
- lwt->ompt_team_info.parallel_id = ompt_pid;
- lwt->ompt_team_info.microtask = microtask;
- lwt->ompt_task_info.task_id = 0;
- lwt->ompt_task_info.frame.reenter_runtime_frame = 0;
- lwt->ompt_task_info.frame.exit_runtime_frame = 0;
- lwt->ompt_task_info.function = NULL;
- lwt->parent = 0;
-}
-
-
-void
-__ompt_lw_taskteam_link(ompt_lw_taskteam_t *lwt, kmp_info_t *thr)
-{
- ompt_lw_taskteam_t *my_parent = thr->th.th_team->t.ompt_serialized_team_info;
- lwt->parent = my_parent;
- thr->th.th_team->t.ompt_serialized_team_info = lwt;
-}
-
-
-ompt_lw_taskteam_t *
-__ompt_lw_taskteam_unlink(kmp_info_t *thr)
-{
- ompt_lw_taskteam_t *lwtask = thr->th.th_team->t.ompt_serialized_team_info;
- if (lwtask) thr->th.th_team->t.ompt_serialized_team_info = lwtask->parent;
- return lwtask;
-}
-
-
-//----------------------------------------------------------
-// task support
-//----------------------------------------------------------
-
-ompt_task_id_t
-__ompt_task_id_new(int gtid)
-{
- static uint64_t ompt_task_id = 1;
- return NEXT_ID(&ompt_task_id, gtid);
-}
-
-
-ompt_task_id_t
-__ompt_get_task_id_internal(int depth)
-{
- ompt_task_info_t *info = __ompt_get_taskinfo(depth);
- ompt_task_id_t task_id = info ? info->task_id : 0;
- return task_id;
-}
-
-
-void *
-__ompt_get_task_function_internal(int depth)
-{
- ompt_task_info_t *info = __ompt_get_taskinfo(depth);
- void *function = info ? info->function : NULL;
- return function;
-}
-
-
-ompt_frame_t *
-__ompt_get_task_frame_internal(int depth)
-{
- ompt_task_info_t *info = __ompt_get_taskinfo(depth);
- ompt_frame_t *frame = info ? frame = &info->frame : NULL;
- return frame;
-}
-
-
-//----------------------------------------------------------
-// team support
-//----------------------------------------------------------
-
-void
-__ompt_team_assign_id(kmp_team_t *team, ompt_parallel_id_t ompt_pid)
-{
- team->t.ompt_team_info.parallel_id = ompt_pid;
-}
diff --git a/contrib/libs/cxxsupp/openmp/ompt-specific.h b/contrib/libs/cxxsupp/openmp/ompt-specific.h
deleted file mode 100644
index e8f84a9a58..0000000000
--- a/contrib/libs/cxxsupp/openmp/ompt-specific.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef OMPT_SPECIFIC_H
-#define OMPT_SPECIFIC_H
-
-#include "kmp.h"
-
-/*****************************************************************************
- * types
- ****************************************************************************/
-
-typedef kmp_info_t ompt_thread_t;
-
-
-
-/*****************************************************************************
- * forward declarations
- ****************************************************************************/
-
-void __ompt_team_assign_id(kmp_team_t *team, ompt_parallel_id_t ompt_pid);
-void __ompt_thread_assign_wait_id(void *variable);
-
-void __ompt_lw_taskteam_init(ompt_lw_taskteam_t *lwt, ompt_thread_t *thr,
- int gtid, void *microtask,
- ompt_parallel_id_t ompt_pid);
-
-void __ompt_lw_taskteam_link(ompt_lw_taskteam_t *lwt, ompt_thread_t *thr);
-
-ompt_lw_taskteam_t * __ompt_lw_taskteam_unlink(ompt_thread_t *thr);
-
-ompt_parallel_id_t __ompt_parallel_id_new(int gtid);
-ompt_task_id_t __ompt_task_id_new(int gtid);
-
-ompt_team_info_t *__ompt_get_teaminfo(int depth, int *size);
-
-ompt_task_info_t *__ompt_get_taskinfo(int depth);
-
-void __ompt_thread_begin(ompt_thread_type_t thread_type, int gtid);
-
-void __ompt_thread_end(ompt_thread_type_t thread_type, int gtid);
-
-int __ompt_get_parallel_team_size_internal(int ancestor_level);
-
-ompt_task_id_t __ompt_get_task_id_internal(int depth);
-
-ompt_frame_t *__ompt_get_task_frame_internal(int depth);
-
-
-
-/*****************************************************************************
- * macros
- ****************************************************************************/
-
-#define OMPT_HAVE_WEAK_ATTRIBUTE KMP_HAVE_WEAK_ATTRIBUTE
-#define OMPT_HAVE_PSAPI KMP_HAVE_PSAPI
-#define OMPT_STR_MATCH(haystack, needle) __kmp_str_match(haystack, 0, needle)
-
-
-
-//******************************************************************************
-// inline functions
-//******************************************************************************
-
-inline ompt_thread_t *
-ompt_get_thread_gtid(int gtid)
-{
- return (gtid >= 0) ? __kmp_thread_from_gtid(gtid) : NULL;
-}
-
-
-inline ompt_thread_t *
-ompt_get_thread()
-{
- int gtid = __kmp_gtid_get_specific();
- return ompt_get_thread_gtid(gtid);
-}
-
-
-inline void
-ompt_set_thread_state(ompt_thread_t *thread, ompt_state_t state)
-{
- thread->th.ompt_thread_info.state = state;
-}
-
-
-inline const char *
-ompt_get_runtime_version()
-{
- return &__kmp_version_lib_ver[KMP_VERSION_MAGIC_LEN];
-}
-
-#endif
diff --git a/contrib/libs/cxxsupp/openmp/test-touch.c b/contrib/libs/cxxsupp/openmp/test-touch.c
deleted file mode 100644
index 6ce529ae23..0000000000
--- a/contrib/libs/cxxsupp/openmp/test-touch.c
+++ /dev/null
@@ -1,31 +0,0 @@
-// test-touch.c //
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-extern double omp_get_wtime();
-extern int omp_get_num_threads();
-extern int omp_get_max_threads();
-#ifdef __cplusplus
-}
-#endif
-
-int main() {
- omp_get_wtime();
- omp_get_num_threads();
- omp_get_max_threads();
- return 0;
-}
-
-// end of file //
diff --git a/contrib/libs/cxxsupp/openmp/ya.make b/contrib/libs/cxxsupp/openmp/ya.make
index 185201cce7..c4f2170d75 100644
--- a/contrib/libs/cxxsupp/openmp/ya.make
+++ b/contrib/libs/cxxsupp/openmp/ya.make
@@ -46,8 +46,6 @@ ADDINCL(
)
ADDINCL(
- contrib/libs/cxxsupp/openmp/i18n
- contrib/libs/cxxsupp/openmp/include/41
contrib/libs/cxxsupp/openmp/thirdparty/ittnotify
)
diff --git a/contrib/libs/cxxsupp/openmp/z_Windows_NT-586_asm.asm b/contrib/libs/cxxsupp/openmp/z_Windows_NT-586_asm.asm
deleted file mode 100644
index a4f9a38ae7..0000000000
--- a/contrib/libs/cxxsupp/openmp/z_Windows_NT-586_asm.asm
+++ /dev/null
@@ -1,1402 +0,0 @@
-; z_Windows_NT-586_asm.asm: - microtasking routines specifically
-; written for IA-32 architecture and Intel(R) 64 running Windows* OS
-
-;
-;//===----------------------------------------------------------------------===//
-;//
-;// The LLVM Compiler Infrastructure
-;//
-;// This file is dual licensed under the MIT and the University of Illinois Open
-;// Source Licenses. See LICENSE.txt for details.
-;//
-;//===----------------------------------------------------------------------===//
-;
-
- TITLE z_Windows_NT-586_asm.asm
-
-; ============================= IA-32 architecture ==========================
-ifdef _M_IA32
-
- .586P
-
-if @Version gt 510
- .model HUGE
-else
-_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
-_TEXT ENDS
-_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
-_DATA ENDS
-CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
-CONST ENDS
-_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
-_BSS ENDS
-$$SYMBOLS SEGMENT BYTE USE32 'DEBSYM'
-$$SYMBOLS ENDS
-$$TYPES SEGMENT BYTE USE32 'DEBTYP'
-$$TYPES ENDS
-_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
-_TLS ENDS
-FLAT GROUP _DATA, CONST, _BSS
- ASSUME CS: FLAT, DS: FLAT, SS: FLAT
-endif
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_x86_pause
-;
-; void
-; __kmp_x86_pause( void )
-;
-
-PUBLIC ___kmp_x86_pause
-_p$ = 4
-_d$ = 8
-_TEXT SEGMENT
- ALIGN 16
-___kmp_x86_pause PROC NEAR
-
- db 0f3H
- db 090H ;; pause
- ret
-
-___kmp_x86_pause ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_x86_cpuid
-;
-; void
-; __kmp_x86_cpuid( int mode, int mode2, struct kmp_cpuid *p );
-;
-
-PUBLIC ___kmp_x86_cpuid
-_TEXT SEGMENT
- ALIGN 16
-_mode$ = 8
-_mode2$ = 12
-_p$ = 16
-_eax$ = 0
-_ebx$ = 4
-_ecx$ = 8
-_edx$ = 12
-
-___kmp_x86_cpuid PROC NEAR
-
- push ebp
- mov ebp, esp
-
- push edi
- push ebx
- push ecx
- push edx
-
- mov eax, DWORD PTR _mode$[ebp]
- mov ecx, DWORD PTR _mode2$[ebp]
- cpuid ; Query the CPUID for the current processor
-
- mov edi, DWORD PTR _p$[ebp]
- mov DWORD PTR _eax$[ edi ], eax
- mov DWORD PTR _ebx$[ edi ], ebx
- mov DWORD PTR _ecx$[ edi ], ecx
- mov DWORD PTR _edx$[ edi ], edx
-
- pop edx
- pop ecx
- pop ebx
- pop edi
-
- mov esp, ebp
- pop ebp
- ret
-
-___kmp_x86_cpuid ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_test_then_add32
-;
-; kmp_int32
-; __kmp_test_then_add32( volatile kmp_int32 *p, kmp_int32 d );
-;
-
-PUBLIC ___kmp_test_then_add32
-_p$ = 4
-_d$ = 8
-_TEXT SEGMENT
- ALIGN 16
-___kmp_test_then_add32 PROC NEAR
-
- mov eax, DWORD PTR _d$[esp]
- mov ecx, DWORD PTR _p$[esp]
-lock xadd DWORD PTR [ecx], eax
- ret
-
-___kmp_test_then_add32 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store8
-;
-; kmp_int8
-; __kmp_compare_and_store8( volatile kmp_int8 *p, kmp_int8 cv, kmp_int8 sv );
-;
-
-PUBLIC ___kmp_compare_and_store8
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_cv$ = 8
-_sv$ = 12
-
-___kmp_compare_and_store8 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov al, BYTE PTR _cv$[esp]
- mov dl, BYTE PTR _sv$[esp]
-lock cmpxchg BYTE PTR [ecx], dl
- sete al ; if al == [ecx] set al = 1 else set al = 0
- and eax, 1 ; sign extend previous instruction
- ret
-
-___kmp_compare_and_store8 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store16
-;
-; kmp_int16
-; __kmp_compare_and_store16( volatile kmp_int16 *p, kmp_int16 cv, kmp_int16 sv );
-;
-
-PUBLIC ___kmp_compare_and_store16
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_cv$ = 8
-_sv$ = 12
-
-___kmp_compare_and_store16 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov ax, WORD PTR _cv$[esp]
- mov dx, WORD PTR _sv$[esp]
-lock cmpxchg WORD PTR [ecx], dx
- sete al ; if ax == [ecx] set al = 1 else set al = 0
- and eax, 1 ; sign extend previous instruction
- ret
-
-___kmp_compare_and_store16 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store32
-;
-; kmp_int32
-; __kmp_compare_and_store32( volatile kmp_int32 *p, kmp_int32 cv, kmp_int32 sv );
-;
-
-PUBLIC ___kmp_compare_and_store32
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_cv$ = 8
-_sv$ = 12
-
-___kmp_compare_and_store32 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov eax, DWORD PTR _cv$[esp]
- mov edx, DWORD PTR _sv$[esp]
-lock cmpxchg DWORD PTR [ecx], edx
- sete al ; if eax == [ecx] set al = 1 else set al = 0
- and eax, 1 ; sign extend previous instruction
- ret
-
-___kmp_compare_and_store32 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store64
-;
-; kmp_int32
-; __kmp_compare_and_store64( volatile kmp_int64 *p, kmp_int64 cv, kmp_int64 sv );
-;
-
-PUBLIC ___kmp_compare_and_store64
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 8
-_cv_low$ = 12
-_cv_high$ = 16
-_sv_low$ = 20
-_sv_high$ = 24
-
-___kmp_compare_and_store64 PROC NEAR
-
- push ebp
- mov ebp, esp
- push ebx
- push edi
- mov edi, DWORD PTR _p$[ebp]
- mov eax, DWORD PTR _cv_low$[ebp]
- mov edx, DWORD PTR _cv_high$[ebp]
- mov ebx, DWORD PTR _sv_low$[ebp]
- mov ecx, DWORD PTR _sv_high$[ebp]
-lock cmpxchg8b QWORD PTR [edi]
- sete al ; if edx:eax == [edi] set al = 1 else set al = 0
- and eax, 1 ; sign extend previous instruction
- pop edi
- pop ebx
- mov esp, ebp
- pop ebp
- ret
-
-___kmp_compare_and_store64 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_fixed8
-;
-; kmp_int8
-; __kmp_xchg_fixed8( volatile kmp_int8 *p, kmp_int8 d );
-;
-
-PUBLIC ___kmp_xchg_fixed8
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_d$ = 8
-
-___kmp_xchg_fixed8 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov al, BYTE PTR _d$[esp]
-lock xchg BYTE PTR [ecx], al
- ret
-
-___kmp_xchg_fixed8 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_fixed16
-;
-; kmp_int16
-; __kmp_xchg_fixed16( volatile kmp_int16 *p, kmp_int16 d );
-;
-
-PUBLIC ___kmp_xchg_fixed16
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_d$ = 8
-
-___kmp_xchg_fixed16 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov ax, WORD PTR _d$[esp]
-lock xchg WORD PTR [ecx], ax
- ret
-
-___kmp_xchg_fixed16 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_fixed32
-;
-; kmp_int32
-; __kmp_xchg_fixed32( volatile kmp_int32 *p, kmp_int32 d );
-;
-
-PUBLIC ___kmp_xchg_fixed32
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_d$ = 8
-
-___kmp_xchg_fixed32 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov eax, DWORD PTR _d$[esp]
-lock xchg DWORD PTR [ecx], eax
- ret
-
-___kmp_xchg_fixed32 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_real32
-;
-; kmp_real32
-; __kmp_xchg_real32( volatile kmp_real32 *p, kmp_real32 d );
-;
-
-PUBLIC ___kmp_xchg_real32
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 8
-_d$ = 12
-_old_value$ = -4
-
-___kmp_xchg_real32 PROC NEAR
-
- push ebp
- mov ebp, esp
- sub esp, 4
- push esi
- mov esi, DWORD PTR _p$[ebp]
-
- fld DWORD PTR [esi]
- ;; load <addr>
- fst DWORD PTR _old_value$[ebp]
- ;; store into old_value
-
- mov eax, DWORD PTR _d$[ebp]
-
-lock xchg DWORD PTR [esi], eax
-
- fld DWORD PTR _old_value$[ebp]
- ;; return old_value
- pop esi
- mov esp, ebp
- pop ebp
- ret
-
-___kmp_xchg_real32 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store_ret8
-;
-; kmp_int8
-; __kmp_compare_and_store_ret8( volatile kmp_int8 *p, kmp_int8 cv, kmp_int8 sv );
-;
-
-PUBLIC ___kmp_compare_and_store_ret8
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_cv$ = 8
-_sv$ = 12
-
-___kmp_compare_and_store_ret8 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov al, BYTE PTR _cv$[esp]
- mov dl, BYTE PTR _sv$[esp]
-lock cmpxchg BYTE PTR [ecx], dl
- ret
-
-___kmp_compare_and_store_ret8 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store_ret16
-;
-; kmp_int16
-; __kmp_compare_and_store_ret16( volatile kmp_int16 *p, kmp_int16 cv, kmp_int16 sv );
-;
-
-PUBLIC ___kmp_compare_and_store_ret16
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_cv$ = 8
-_sv$ = 12
-
-___kmp_compare_and_store_ret16 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov ax, WORD PTR _cv$[esp]
- mov dx, WORD PTR _sv$[esp]
-lock cmpxchg WORD PTR [ecx], dx
- ret
-
-___kmp_compare_and_store_ret16 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store_ret32
-;
-; kmp_int32
-; __kmp_compare_and_store_ret32( volatile kmp_int32 *p, kmp_int32 cv, kmp_int32 sv );
-;
-
-PUBLIC ___kmp_compare_and_store_ret32
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-_cv$ = 8
-_sv$ = 12
-
-___kmp_compare_and_store_ret32 PROC NEAR
-
- mov ecx, DWORD PTR _p$[esp]
- mov eax, DWORD PTR _cv$[esp]
- mov edx, DWORD PTR _sv$[esp]
-lock cmpxchg DWORD PTR [ecx], edx
- ret
-
-___kmp_compare_and_store_ret32 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_compare_and_store_ret64
-;
-; kmp_int64
-; __kmp_compare_and_store_ret64( volatile kmp_int64 *p, kmp_int64 cv, kmp_int64 sv );
-;
-
-PUBLIC ___kmp_compare_and_store_ret64
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 8
-_cv_low$ = 12
-_cv_high$ = 16
-_sv_low$ = 20
-_sv_high$ = 24
-
-___kmp_compare_and_store_ret64 PROC NEAR
-
- push ebp
- mov ebp, esp
- push ebx
- push edi
- mov edi, DWORD PTR _p$[ebp]
- mov eax, DWORD PTR _cv_low$[ebp]
- mov edx, DWORD PTR _cv_high$[ebp]
- mov ebx, DWORD PTR _sv_low$[ebp]
- mov ecx, DWORD PTR _sv_high$[ebp]
-lock cmpxchg8b QWORD PTR [edi]
- pop edi
- pop ebx
- mov esp, ebp
- pop ebp
- ret
-
-___kmp_compare_and_store_ret64 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_load_x87_fpu_control_word
-;
-; void
-; __kmp_load_x87_fpu_control_word( kmp_int16 *p );
-;
-; parameters:
-; p: 4(%esp)
-
-PUBLIC ___kmp_load_x87_fpu_control_word
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-
-___kmp_load_x87_fpu_control_word PROC NEAR
-
- mov eax, DWORD PTR _p$[esp]
- fldcw WORD PTR [eax]
- ret
-
-___kmp_load_x87_fpu_control_word ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_store_x87_fpu_control_word
-;
-; void
-; __kmp_store_x87_fpu_control_word( kmp_int16 *p );
-;
-; parameters:
-; p: 4(%esp)
-
-PUBLIC ___kmp_store_x87_fpu_control_word
-_TEXT SEGMENT
- ALIGN 16
-_p$ = 4
-
-___kmp_store_x87_fpu_control_word PROC NEAR
-
- mov eax, DWORD PTR _p$[esp]
- fstcw WORD PTR [eax]
- ret
-
-___kmp_store_x87_fpu_control_word ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_clear_x87_fpu_status_word
-;
-; void
-; __kmp_clear_x87_fpu_status_word();
-;
-
-PUBLIC ___kmp_clear_x87_fpu_status_word
-_TEXT SEGMENT
- ALIGN 16
-
-___kmp_clear_x87_fpu_status_word PROC NEAR
-
- fnclex
- ret
-
-___kmp_clear_x87_fpu_status_word ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_invoke_microtask
-;
-; typedef void (*microtask_t)( int *gtid, int *tid, ... );
-;
-; int
-; __kmp_invoke_microtask( microtask_t pkfn,
-; int gtid, int tid,
-; int argc, void *p_argv[] )
-;
-
-PUBLIC ___kmp_invoke_microtask
-_TEXT SEGMENT
- ALIGN 16
-_pkfn$ = 8
-_gtid$ = 12
-_tid$ = 16
-_argc$ = 20
-_argv$ = 24
-if OMPT_SUPPORT
-_exit_frame$ = 28
-endif
-_i$ = -8
-_stk_adj$ = -16
-_vptr$ = -12
-_qptr$ = -4
-
-___kmp_invoke_microtask PROC NEAR
-; Line 102
- push ebp
- mov ebp, esp
- sub esp, 16 ; 00000010H
- push ebx
- push esi
- push edi
-if OMPT_SUPPORT
- mov eax, DWORD PTR _exit_frame$[ebp]
- mov DWORD PTR [eax], ebp
-endif
-; Line 114
- mov eax, DWORD PTR _argc$[ebp]
- mov DWORD PTR _i$[ebp], eax
-
-;; ------------------------------------------------------------
- lea edx, DWORD PTR [eax*4+8]
- mov ecx, esp ; Save current SP into ECX
- mov eax,edx ; Save the size of the args in eax
- sub ecx,edx ; esp-((#args+2)*4) -> ecx -- without mods, stack ptr would be this
- mov edx,ecx ; Save to edx
- and ecx,-128 ; Mask off 7 bits
- sub edx,ecx ; Amount to subtract from esp
- sub esp,edx ; Prepare stack ptr-- Now it will be aligned on 128-byte boundary at the call
-
- add edx,eax ; Calculate total size of the stack decrement.
- mov DWORD PTR _stk_adj$[ebp], edx
-;; ------------------------------------------------------------
-
- jmp SHORT $L22237
-$L22238:
- mov ecx, DWORD PTR _i$[ebp]
- sub ecx, 1
- mov DWORD PTR _i$[ebp], ecx
-$L22237:
- cmp DWORD PTR _i$[ebp], 0
- jle SHORT $L22239
-; Line 116
- mov edx, DWORD PTR _i$[ebp]
- mov eax, DWORD PTR _argv$[ebp]
- mov ecx, DWORD PTR [eax+edx*4-4]
- mov DWORD PTR _vptr$[ebp], ecx
-; Line 123
- mov eax, DWORD PTR _vptr$[ebp]
-; Line 124
- push eax
-; Line 127
- jmp SHORT $L22238
-$L22239:
-; Line 129
- lea edx, DWORD PTR _tid$[ebp]
- mov DWORD PTR _vptr$[ebp], edx
-; Line 130
- lea eax, DWORD PTR _gtid$[ebp]
- mov DWORD PTR _qptr$[ebp], eax
-; Line 143
- mov eax, DWORD PTR _vptr$[ebp]
-; Line 144
- push eax
-; Line 145
- mov eax, DWORD PTR _qptr$[ebp]
-; Line 146
- push eax
-; Line 147
- call DWORD PTR _pkfn$[ebp]
-; Line 148
- add esp, DWORD PTR _stk_adj$[ebp]
-; Line 152
- mov eax, 1
-; Line 153
- pop edi
- pop esi
- pop ebx
- mov esp, ebp
- pop ebp
- ret 0
-___kmp_invoke_microtask ENDP
-_TEXT ENDS
-
-endif
-
-; ==================================== Intel(R) 64 ===================================
-
-ifdef _M_AMD64
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_x86_cpuid
-;
-; void
-; __kmp_x86_cpuid( int mode, int mode2, struct kmp_cpuid *p );
-;
-; parameters:
-; mode: ecx
-; mode2: edx
-; cpuid_buffer: r8
-
-PUBLIC __kmp_x86_cpuid
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_x86_cpuid PROC FRAME ;NEAR
-
- push rbp
- .pushreg rbp
- mov rbp, rsp
- .setframe rbp, 0
- push rbx ; callee-save register
- .pushreg rbx
- .ENDPROLOG
-
- mov r10, r8 ; p parameter
- mov eax, ecx ; mode parameter
- mov ecx, edx ; mode2 parameter
- cpuid ; Query the CPUID for the current processor
-
- mov DWORD PTR 0[ r10 ], eax ; store results into buffer
- mov DWORD PTR 4[ r10 ], ebx
- mov DWORD PTR 8[ r10 ], ecx
- mov DWORD PTR 12[ r10 ], edx
-
- pop rbx ; callee-save register
- mov rsp, rbp
- pop rbp
- ret
-
-__kmp_x86_cpuid ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_test_then_add32
-;
-; kmp_int32
-; __kmp_test_then_add32( volatile kmp_int32 *p, kmp_int32 d );
-;
-; parameters:
-; p: rcx
-; d: edx
-;
-; return: eax
-
-PUBLIC __kmp_test_then_add32
-_TEXT SEGMENT
- ALIGN 16
-__kmp_test_then_add32 PROC ;NEAR
-
- mov eax, edx
-lock xadd DWORD PTR [rcx], eax
- ret
-
-__kmp_test_then_add32 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_test_then_add64
-;
-; kmp_int32
-; __kmp_test_then_add64( volatile kmp_int64 *p, kmp_int64 d );
-;
-; parameters:
-; p: rcx
-; d: rdx
-;
-; return: rax
-
-PUBLIC __kmp_test_then_add64
-_TEXT SEGMENT
- ALIGN 16
-__kmp_test_then_add64 PROC ;NEAR
-
- mov rax, rdx
-lock xadd QWORD PTR [rcx], rax
- ret
-
-__kmp_test_then_add64 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store8
-;
-; kmp_int8
-; __kmp_compare_and_store8( volatile kmp_int8 *p, kmp_int8 cv, kmp_int8 sv );
-; parameters:
-; p: rcx
-; cv: edx
-; sv: r8d
-;
-; return: eax
-
-PUBLIC __kmp_compare_and_store8
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store8 PROC ;NEAR
-
- mov al, dl ; "cv"
- mov edx, r8d ; "sv"
-lock cmpxchg BYTE PTR [rcx], dl
- sete al ; if al == [rcx] set al = 1 else set al = 0
- and rax, 1 ; sign extend previous instruction
- ret
-
-__kmp_compare_and_store8 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store16
-;
-; kmp_int16
-; __kmp_compare_and_store16( volatile kmp_int16 *p, kmp_int16 cv, kmp_int16 sv );
-; parameters:
-; p: rcx
-; cv: edx
-; sv: r8d
-;
-; return: eax
-
-PUBLIC __kmp_compare_and_store16
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store16 PROC ;NEAR
-
- mov ax, dx ; "cv"
- mov edx, r8d ; "sv"
-lock cmpxchg WORD PTR [rcx], dx
- sete al ; if ax == [rcx] set al = 1 else set al = 0
- and rax, 1 ; sign extend previous instruction
- ret
-
-__kmp_compare_and_store16 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store32
-;
-; kmp_int32
-; __kmp_compare_and_store32( volatile kmp_int32 *p, kmp_int32 cv, kmp_int32 sv );
-; parameters:
-; p: rcx
-; cv: edx
-; sv: r8d
-;
-; return: eax
-
-PUBLIC __kmp_compare_and_store32
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store32 PROC ;NEAR
-
- mov eax, edx ; "cv"
- mov edx, r8d ; "sv"
-lock cmpxchg DWORD PTR [rcx], edx
- sete al ; if eax == [rcx] set al = 1 else set al = 0
- and rax, 1 ; sign extend previous instruction
- ret
-
-__kmp_compare_and_store32 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store64
-;
-; kmp_int32
-; __kmp_compare_and_store64( volatile kmp_int64 *p, kmp_int64 cv, kmp_int64 sv );
-; parameters:
-; p: rcx
-; cv: rdx
-; sv: r8
-;
-; return: eax
-
-PUBLIC __kmp_compare_and_store64
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store64 PROC ;NEAR
-
- mov rax, rdx ; "cv"
- mov rdx, r8 ; "sv"
-lock cmpxchg QWORD PTR [rcx], rdx
- sete al ; if rax == [rcx] set al = 1 else set al = 0
- and rax, 1 ; sign extend previous instruction
- ret
-
-__kmp_compare_and_store64 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_fixed8
-;
-; kmp_int8
-; __kmp_xchg_fixed8( volatile kmp_int8 *p, kmp_int8 d );
-;
-; parameters:
-; p: rcx
-; d: dl
-;
-; return: al
-
-PUBLIC __kmp_xchg_fixed8
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_xchg_fixed8 PROC ;NEAR
-
- mov al, dl
-lock xchg BYTE PTR [rcx], al
- ret
-
-__kmp_xchg_fixed8 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_fixed16
-;
-; kmp_int16
-; __kmp_xchg_fixed16( volatile kmp_int16 *p, kmp_int16 d );
-;
-; parameters:
-; p: rcx
-; d: dx
-;
-; return: ax
-
-PUBLIC __kmp_xchg_fixed16
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_xchg_fixed16 PROC ;NEAR
-
- mov ax, dx
-lock xchg WORD PTR [rcx], ax
- ret
-
-__kmp_xchg_fixed16 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_fixed32
-;
-; kmp_int32
-; __kmp_xchg_fixed32( volatile kmp_int32 *p, kmp_int32 d );
-;
-; parameters:
-; p: rcx
-; d: edx
-;
-; return: eax
-
-PUBLIC __kmp_xchg_fixed32
-_TEXT SEGMENT
- ALIGN 16
-__kmp_xchg_fixed32 PROC ;NEAR
-
- mov eax, edx
-lock xchg DWORD PTR [rcx], eax
- ret
-
-__kmp_xchg_fixed32 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION ___kmp_xchg_fixed64
-;
-; kmp_int64
-; __kmp_xchg_fixed64( volatile kmp_int64 *p, kmp_int64 d );
-;
-; parameters:
-; p: rcx
-; d: rdx
-;
-; return: rax
-
-PUBLIC __kmp_xchg_fixed64
-_TEXT SEGMENT
- ALIGN 16
-__kmp_xchg_fixed64 PROC ;NEAR
-
- mov rax, rdx
-lock xchg QWORD PTR [rcx], rax
- ret
-
-__kmp_xchg_fixed64 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store_ret8
-;
-; kmp_int8
-; __kmp_compare_and_store_ret8( volatile kmp_int8 *p, kmp_int8 cv, kmp_int8 sv );
-; parameters:
-; p: rcx
-; cv: edx
-; sv: r8d
-;
-; return: eax
-
-PUBLIC __kmp_compare_and_store_ret8
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store_ret8 PROC ;NEAR
- mov al, dl ; "cv"
- mov edx, r8d ; "sv"
-lock cmpxchg BYTE PTR [rcx], dl
- ; Compare AL with [rcx]. If equal set
- ; ZF and exchange DL with [rcx]. Else, clear
- ; ZF and load [rcx] into AL.
- ret
-
-__kmp_compare_and_store_ret8 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store_ret16
-;
-; kmp_int16
-; __kmp_compare_and_store_ret16( volatile kmp_int16 *p, kmp_int16 cv, kmp_int16 sv );
-; parameters:
-; p: rcx
-; cv: edx
-; sv: r8d
-;
-; return: eax
-
-PUBLIC __kmp_compare_and_store_ret16
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store_ret16 PROC ;NEAR
-
- mov ax, dx ; "cv"
- mov edx, r8d ; "sv"
-lock cmpxchg WORD PTR [rcx], dx
- ret
-
-__kmp_compare_and_store_ret16 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store_ret32
-;
-; kmp_int32
-; __kmp_compare_and_store_ret32( volatile kmp_int32 *p, kmp_int32 cv, kmp_int32 sv );
-; parameters:
-; p: rcx
-; cv: edx
-; sv: r8d
-;
-; return: eax
-
-PUBLIC __kmp_compare_and_store_ret32
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store_ret32 PROC ;NEAR
-
- mov eax, edx ; "cv"
- mov edx, r8d ; "sv"
-lock cmpxchg DWORD PTR [rcx], edx
- ret
-
-__kmp_compare_and_store_ret32 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store_ret64
-;
-; kmp_int64
-; __kmp_compare_and_store_ret64( volatile kmp_int64 *p, kmp_int64 cv, kmp_int64 sv );
-; parameters:
-; p: rcx
-; cv: rdx
-; sv: r8
-;
-; return: rax
-
-PUBLIC __kmp_compare_and_store_ret64
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store_ret64 PROC ;NEAR
-
- mov rax, rdx ; "cv"
- mov rdx, r8 ; "sv"
-lock cmpxchg QWORD PTR [rcx], rdx
- ret
-
-__kmp_compare_and_store_ret64 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_compare_and_store_loop8
-;
-; kmp_int8
-; __kmp_compare_and_store_loop8( volatile kmp_int8 *p, kmp_int8 cv, kmp_int8 sv );
-; parameters:
-; p: rcx
-; cv: edx
-; sv: r8d
-;
-; return: al
-
-PUBLIC __kmp_compare_and_store_loop8
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_compare_and_store_loop8 PROC ;NEAR
-$__kmp_loop:
- mov al, dl ; "cv"
- mov edx, r8d ; "sv"
-lock cmpxchg BYTE PTR [rcx], dl
- ; Compare AL with [rcx]. If equal set
- ; ZF and exchange DL with [rcx]. Else, clear
- ; ZF and load [rcx] into AL.
- jz SHORT $__kmp_success
-
- db 0f3H
- db 090H ; pause
-
- jmp SHORT $__kmp_loop
-
-$__kmp_success:
- ret
-
-__kmp_compare_and_store_loop8 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_xchg_real32
-;
-; kmp_real32
-; __kmp_xchg_real32( volatile kmp_real32 *p, kmp_real32 d );
-;
-; parameters:
-; p: rcx
-; d: xmm1 (lower 4 bytes)
-;
-; return: xmm0 (lower 4 bytes)
-
-PUBLIC __kmp_xchg_real32
-_TEXT SEGMENT
- ALIGN 16
-__kmp_xchg_real32 PROC ;NEAR
-
- movd eax, xmm1 ; load d
-
-lock xchg DWORD PTR [rcx], eax
-
- movd xmm0, eax ; load old value into return register
- ret
-
-__kmp_xchg_real32 ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_xchg_real64
-;
-; kmp_real64
-; __kmp_xchg_real64( volatile kmp_real64 *p, kmp_real64 d );
-;
-; parameters:
-; p: rcx
-; d: xmm1 (lower 8 bytes)
-;
-; return: xmm0 (lower 8 bytes)
-
-PUBLIC __kmp_xchg_real64
-_TEXT SEGMENT
- ALIGN 16
-__kmp_xchg_real64 PROC ;NEAR
-
- movd rax, xmm1 ; load "d"
-
-lock xchg QWORD PTR [rcx], rax
-
- movd xmm0, rax ; load old value into return register
- ret
-
-__kmp_xchg_real64 ENDP
-_TEXT ENDS
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_load_x87_fpu_control_word
-;
-; void
-; __kmp_load_x87_fpu_control_word( kmp_int16 *p );
-;
-; parameters:
-; p: rcx
-;
-
-PUBLIC __kmp_load_x87_fpu_control_word
-_TEXT SEGMENT
- ALIGN 16
-__kmp_load_x87_fpu_control_word PROC ;NEAR
-
- fldcw WORD PTR [rcx]
- ret
-
-__kmp_load_x87_fpu_control_word ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_store_x87_fpu_control_word
-;
-; void
-; __kmp_store_x87_fpu_control_word( kmp_int16 *p );
-;
-; parameters:
-; p: rcx
-;
-
-PUBLIC __kmp_store_x87_fpu_control_word
-_TEXT SEGMENT
- ALIGN 16
-__kmp_store_x87_fpu_control_word PROC ;NEAR
-
- fstcw WORD PTR [rcx]
- ret
-
-__kmp_store_x87_fpu_control_word ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_clear_x87_fpu_status_word
-;
-; void
-; __kmp_clear_x87_fpu_status_word()
-;
-
-PUBLIC __kmp_clear_x87_fpu_status_word
-_TEXT SEGMENT
- ALIGN 16
-__kmp_clear_x87_fpu_status_word PROC ;NEAR
-
- fnclex
- ret
-
-__kmp_clear_x87_fpu_status_word ENDP
-_TEXT ENDS
-
-
-;------------------------------------------------------------------------
-;
-; FUNCTION __kmp_invoke_microtask
-;
-; typedef void (*microtask_t)( int *gtid, int *tid, ... );
-;
-; int
-; __kmp_invoke_microtask( microtask_t pkfn,
-; int gtid, int tid,
-; int argc, void *p_argv[] ) {
-;
-; (*pkfn) ( &gtid, &tid, argv[0], ... );
-; return 1;
-; }
-;
-; note:
-; just before call to pkfn must have rsp 128-byte aligned for compiler
-;
-; parameters:
-; rcx: pkfn 16[rbp]
-; edx: gtid 24[rbp]
-; r8d: tid 32[rbp]
-; r9d: argc 40[rbp]
-; [st]: p_argv 48[rbp]
-;
-; reg temps:
-; rax: used all over the place
-; rdx: used all over the place
-; rcx: used as argument counter for push parms loop
-; r10: used to hold pkfn function pointer argument
-;
-; return: eax (always 1/TRUE)
-;
-
-$_pkfn = 16
-$_gtid = 24
-$_tid = 32
-$_argc = 40
-$_p_argv = 48
-if OMPT_SUPPORT
-$_exit_frame = 56
-endif
-
-PUBLIC __kmp_invoke_microtask
-_TEXT SEGMENT
- ALIGN 16
-
-__kmp_invoke_microtask PROC FRAME ;NEAR
- mov QWORD PTR 16[rsp], rdx ; home gtid parameter
- mov QWORD PTR 24[rsp], r8 ; home tid parameter
- push rbp ; save base pointer
- .pushreg rbp
- sub rsp, 0 ; no fixed allocation necessary - end prolog
-
- lea rbp, QWORD PTR [rsp] ; establish the base pointer
- .setframe rbp, 0
- .ENDPROLOG
-if OMPT_SUPPORT
- mov rax, QWORD PTR $_exit_frame[rbp]
- mov QWORD PTR [rax], rbp
-endif
- mov r10, rcx ; save pkfn pointer for later
-
-;; ------------------------------------------------------------
- mov rax, r9 ; rax <= argc
- cmp rax, 2
- jge SHORT $_kmp_invoke_stack_align
- mov rax, 2 ; set 4 homes if less than 2 parms
-$_kmp_invoke_stack_align:
- lea rdx, QWORD PTR [rax*8+16] ; rax <= (argc + 2) * 8
- mov rax, rsp ; Save current SP into rax
- sub rax, rdx ; rsp - ((argc+2)*8) -> rax
- ; without align, rsp would be this
- and rax, -128 ; Mask off 7 bits (128-byte align)
- add rax, rdx ; add space for push's in a loop below
- mov rsp, rax ; Prepare the stack ptr
- ; Now it will align to 128-byte at the call
-;; ------------------------------------------------------------
- ; setup pkfn parameter stack
- mov rax, r9 ; rax <= argc
- shl rax, 3 ; rax <= argc*8
- mov rdx, QWORD PTR $_p_argv[rbp] ; rdx <= p_argv
- add rdx, rax ; rdx <= &p_argv[argc]
- mov rcx, r9 ; rcx <= argc
- jecxz SHORT $_kmp_invoke_pass_parms ; nothing to push if argc=0
- cmp ecx, 1 ; if argc=1 branch ahead
- je SHORT $_kmp_invoke_one_parm
- sub ecx, 2 ; if argc=2 branch ahead, subtract two from
- je SHORT $_kmp_invoke_two_parms
-
-$_kmp_invoke_push_parms: ; push last - 5th parms to pkfn on stack
- sub rdx, 8 ; decrement p_argv pointer to previous parm
- mov r8, QWORD PTR [rdx] ; r8 <= p_argv[rcx-1]
- push r8 ; push p_argv[rcx-1] onto stack (reverse order)
- sub ecx, 1
- jecxz SHORT $_kmp_invoke_two_parms
- jmp SHORT $_kmp_invoke_push_parms
-
-$_kmp_invoke_two_parms:
- sub rdx, 8 ; put 4th parm to pkfn in r9
- mov r9, QWORD PTR [rdx] ; r9 <= p_argv[1]
-
-$_kmp_invoke_one_parm:
- sub rdx, 8 ; put 3rd parm to pkfn in r8
- mov r8, QWORD PTR [rdx] ; r8 <= p_argv[0]
-
-$_kmp_invoke_pass_parms: ; put 1st & 2nd parms to pkfn in registers
- lea rdx, QWORD PTR $_tid[rbp] ; rdx <= &tid (2nd parm to pkfn)
- lea rcx, QWORD PTR $_gtid[rbp] ; rcx <= &gtid (1st parm to pkfn)
- sub rsp, 32 ; add stack space for first four parms
- mov rax, r10 ; rax <= pkfn
- call rax ; call (*pkfn)()
- mov rax, 1 ; move 1 into return register;
-
- lea rsp, QWORD PTR [rbp] ; restore stack pointer
-
-; add rsp, 0 ; no fixed allocation necessary - start epilog
- pop rbp ; restore frame pointer
- ret
-__kmp_invoke_microtask ENDP
-_TEXT ENDS
-
-endif
-
-END
diff --git a/contrib/libs/cxxsupp/openmp/z_Windows_NT-586_util.c b/contrib/libs/cxxsupp/openmp/z_Windows_NT-586_util.c
deleted file mode 100644
index 3aeafae910..0000000000
--- a/contrib/libs/cxxsupp/openmp/z_Windows_NT-586_util.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * z_Windows_NT-586_util.c -- platform specific routines.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include "kmp.h"
-
-#if (KMP_ARCH_X86 || KMP_ARCH_X86_64)
-/* Only 32-bit "add-exchange" instruction on IA-32 architecture causes us to
- * use compare_and_store for these routines
- */
-
-kmp_int8
-__kmp_test_then_or8( volatile kmp_int8 *p, kmp_int8 d )
-{
- kmp_int8 old_value, new_value;
-
- old_value = TCR_1( *p );
- new_value = old_value | d;
-
- while ( ! __kmp_compare_and_store8 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_1( *p );
- new_value = old_value | d;
- }
- return old_value;
-}
-
-kmp_int8
-__kmp_test_then_and8( volatile kmp_int8 *p, kmp_int8 d )
-{
- kmp_int8 old_value, new_value;
-
- old_value = TCR_1( *p );
- new_value = old_value & d;
-
- while ( ! __kmp_compare_and_store8 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_1( *p );
- new_value = old_value & d;
- }
- return old_value;
-}
-
-kmp_int32
-__kmp_test_then_or32( volatile kmp_int32 *p, kmp_int32 d )
-{
- kmp_int32 old_value, new_value;
-
- old_value = TCR_4( *p );
- new_value = old_value | d;
-
- while ( ! __kmp_compare_and_store32 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_4( *p );
- new_value = old_value | d;
- }
- return old_value;
-}
-
-kmp_int32
-__kmp_test_then_and32( volatile kmp_int32 *p, kmp_int32 d )
-{
- kmp_int32 old_value, new_value;
-
- old_value = TCR_4( *p );
- new_value = old_value & d;
-
- while ( ! __kmp_compare_and_store32 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_4( *p );
- new_value = old_value & d;
- }
- return old_value;
-}
-
-kmp_int8
-__kmp_test_then_add8( volatile kmp_int8 *p, kmp_int8 d )
-{
- kmp_int64 old_value, new_value;
-
- old_value = TCR_1( *p );
- new_value = old_value + d;
- while ( ! __kmp_compare_and_store8 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_1( *p );
- new_value = old_value + d;
- }
- return old_value;
-}
-
-#if KMP_ARCH_X86
-kmp_int64
-__kmp_test_then_add64( volatile kmp_int64 *p, kmp_int64 d )
-{
- kmp_int64 old_value, new_value;
-
- old_value = TCR_8( *p );
- new_value = old_value + d;
- while ( ! __kmp_compare_and_store64 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_8( *p );
- new_value = old_value + d;
- }
- return old_value;
-}
-#endif /* KMP_ARCH_X86 */
-
-kmp_int64
-__kmp_test_then_or64( volatile kmp_int64 *p, kmp_int64 d )
-{
- kmp_int64 old_value, new_value;
-
- old_value = TCR_8( *p );
- new_value = old_value | d;
- while ( ! __kmp_compare_and_store64 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_8( *p );
- new_value = old_value | d;
- }
-
- return old_value;
-}
-
-kmp_int64
-__kmp_test_then_and64( volatile kmp_int64 *p, kmp_int64 d )
-{
- kmp_int64 old_value, new_value;
-
- old_value = TCR_8( *p );
- new_value = old_value & d;
- while ( ! __kmp_compare_and_store64 ( p, old_value, new_value ) )
- {
- KMP_CPU_PAUSE();
- old_value = TCR_8( *p );
- new_value = old_value & d;
- }
-
- return old_value;
-}
-
-#endif /* KMP_ARCH_X86 || KMP_ARCH_X86_64 */
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
diff --git a/contrib/libs/cxxsupp/openmp/z_Windows_NT_util.c b/contrib/libs/cxxsupp/openmp/z_Windows_NT_util.c
deleted file mode 100644
index 03a4afe5e1..0000000000
--- a/contrib/libs/cxxsupp/openmp/z_Windows_NT_util.c
+++ /dev/null
@@ -1,1932 +0,0 @@
-/*
- * z_Windows_NT_util.c -- platform specific routines.
- */
-
-
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.txt for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-#include "kmp.h"
-#include "kmp_itt.h"
-#include "kmp_i18n.h"
-#include "kmp_io.h"
-#include "kmp_wait_release.h"
-
-
-
-/* ----------------------------------------------------------------------------------- */
-/* ----------------------------------------------------------------------------------- */
-
-/* This code is related to NtQuerySystemInformation() function. This function
- is used in the Load balance algorithm for OMP_DYNAMIC=true to find the
- number of running threads in the system. */
-
-#include <ntstatus.h>
-#include <ntsecapi.h> // UNICODE_STRING
-
-enum SYSTEM_INFORMATION_CLASS {
- SystemProcessInformation = 5
-}; // SYSTEM_INFORMATION_CLASS
-
-struct CLIENT_ID {
- HANDLE UniqueProcess;
- HANDLE UniqueThread;
-}; // struct CLIENT_ID
-
-enum THREAD_STATE {
- StateInitialized,
- StateReady,
- StateRunning,
- StateStandby,
- StateTerminated,
- StateWait,
- StateTransition,
- StateUnknown
-}; // enum THREAD_STATE
-
-struct VM_COUNTERS {
- SIZE_T PeakVirtualSize;
- SIZE_T VirtualSize;
- ULONG PageFaultCount;
- SIZE_T PeakWorkingSetSize;
- SIZE_T WorkingSetSize;
- SIZE_T QuotaPeakPagedPoolUsage;
- SIZE_T QuotaPagedPoolUsage;
- SIZE_T QuotaPeakNonPagedPoolUsage;
- SIZE_T QuotaNonPagedPoolUsage;
- SIZE_T PagefileUsage;
- SIZE_T PeakPagefileUsage;
- SIZE_T PrivatePageCount;
-}; // struct VM_COUNTERS
-
-struct SYSTEM_THREAD {
- LARGE_INTEGER KernelTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER CreateTime;
- ULONG WaitTime;
- LPVOID StartAddress;
- CLIENT_ID ClientId;
- DWORD Priority;
- LONG BasePriority;
- ULONG ContextSwitchCount;
- THREAD_STATE State;
- ULONG WaitReason;
-}; // SYSTEM_THREAD
-
-KMP_BUILD_ASSERT( offsetof( SYSTEM_THREAD, KernelTime ) == 0 );
-#if KMP_ARCH_X86
- KMP_BUILD_ASSERT( offsetof( SYSTEM_THREAD, StartAddress ) == 28 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_THREAD, State ) == 52 );
-#else
- KMP_BUILD_ASSERT( offsetof( SYSTEM_THREAD, StartAddress ) == 32 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_THREAD, State ) == 68 );
-#endif
-
-struct SYSTEM_PROCESS_INFORMATION {
- ULONG NextEntryOffset;
- ULONG NumberOfThreads;
- LARGE_INTEGER Reserved[ 3 ];
- LARGE_INTEGER CreateTime;
- LARGE_INTEGER UserTime;
- LARGE_INTEGER KernelTime;
- UNICODE_STRING ImageName;
- DWORD BasePriority;
- HANDLE ProcessId;
- HANDLE ParentProcessId;
- ULONG HandleCount;
- ULONG Reserved2[ 2 ];
- VM_COUNTERS VMCounters;
- IO_COUNTERS IOCounters;
- SYSTEM_THREAD Threads[ 1 ];
-}; // SYSTEM_PROCESS_INFORMATION
-typedef SYSTEM_PROCESS_INFORMATION * PSYSTEM_PROCESS_INFORMATION;
-
-KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, NextEntryOffset ) == 0 );
-KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, CreateTime ) == 32 );
-KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, ImageName ) == 56 );
-#if KMP_ARCH_X86
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, ProcessId ) == 68 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, HandleCount ) == 76 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, VMCounters ) == 88 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, IOCounters ) == 136 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, Threads ) == 184 );
-#else
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, ProcessId ) == 80 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, HandleCount ) == 96 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, VMCounters ) == 112 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, IOCounters ) == 208 );
- KMP_BUILD_ASSERT( offsetof( SYSTEM_PROCESS_INFORMATION, Threads ) == 256 );
-#endif
-
-typedef NTSTATUS (NTAPI *NtQuerySystemInformation_t)( SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG );
-NtQuerySystemInformation_t NtQuerySystemInformation = NULL;
-
-HMODULE ntdll = NULL;
-
-/* End of NtQuerySystemInformation()-related code */
-
-#if KMP_GROUP_AFFINITY
-static HMODULE kernel32 = NULL;
-#endif /* KMP_GROUP_AFFINITY */
-
-/* ----------------------------------------------------------------------------------- */
-/* ----------------------------------------------------------------------------------- */
-
-#if KMP_HANDLE_SIGNALS
- typedef void (* sig_func_t )( int );
- static sig_func_t __kmp_sighldrs[ NSIG ];
- static int __kmp_siginstalled[ NSIG ];
-#endif
-
-static HANDLE __kmp_monitor_ev;
-static kmp_int64 __kmp_win32_time;
-double __kmp_win32_tick;
-
-int __kmp_init_runtime = FALSE;
-CRITICAL_SECTION __kmp_win32_section;
-
-void
-__kmp_win32_mutex_init( kmp_win32_mutex_t *mx )
-{
- InitializeCriticalSection( & mx->cs );
-#if USE_ITT_BUILD
- __kmp_itt_system_object_created( & mx->cs, "Critical Section" );
-#endif /* USE_ITT_BUILD */
-}
-
-void
-__kmp_win32_mutex_destroy( kmp_win32_mutex_t *mx )
-{
- DeleteCriticalSection( & mx->cs );
-}
-
-void
-__kmp_win32_mutex_lock( kmp_win32_mutex_t *mx )
-{
- EnterCriticalSection( & mx->cs );
-}
-
-void
-__kmp_win32_mutex_unlock( kmp_win32_mutex_t *mx )
-{
- LeaveCriticalSection( & mx->cs );
-}
-
-void
-__kmp_win32_cond_init( kmp_win32_cond_t *cv )
-{
- cv->waiters_count_ = 0;
- cv->wait_generation_count_ = 0;
- cv->release_count_ = 0;
-
- /* Initialize the critical section */
- __kmp_win32_mutex_init( & cv->waiters_count_lock_ );
-
- /* Create a manual-reset event. */
- cv->event_ = CreateEvent( NULL, // no security
- TRUE, // manual-reset
- FALSE, // non-signaled initially
- NULL ); // unnamed
-#if USE_ITT_BUILD
- __kmp_itt_system_object_created( cv->event_, "Event" );
-#endif /* USE_ITT_BUILD */
-}
-
-void
-__kmp_win32_cond_destroy( kmp_win32_cond_t *cv )
-{
- __kmp_win32_mutex_destroy( & cv->waiters_count_lock_ );
- __kmp_free_handle( cv->event_ );
- memset( cv, '\0', sizeof( *cv ) );
-}
-
-/* TODO associate cv with a team instead of a thread so as to optimize
- * the case where we wake up a whole team */
-
-void
-__kmp_win32_cond_wait( kmp_win32_cond_t *cv, kmp_win32_mutex_t *mx, kmp_info_t *th, int need_decrease_load )
-{
- int my_generation;
- int last_waiter;
-
- /* Avoid race conditions */
- __kmp_win32_mutex_lock( &cv->waiters_count_lock_ );
-
- /* Increment count of waiters */
- cv->waiters_count_++;
-
- /* Store current generation in our activation record. */
- my_generation = cv->wait_generation_count_;
-
- __kmp_win32_mutex_unlock( &cv->waiters_count_lock_ );
- __kmp_win32_mutex_unlock( mx );
-
-
- for (;;) {
- int wait_done;
-
- /* Wait until the event is signaled */
- WaitForSingleObject( cv->event_, INFINITE );
-
- __kmp_win32_mutex_lock( &cv->waiters_count_lock_ );
-
- /* Exit the loop when the <cv->event_> is signaled and
- * there are still waiting threads from this <wait_generation>
- * that haven't been released from this wait yet. */
- wait_done = ( cv->release_count_ > 0 ) &&
- ( cv->wait_generation_count_ != my_generation );
-
- __kmp_win32_mutex_unlock( &cv->waiters_count_lock_);
-
- /* there used to be a semicolon after the if statement,
- * it looked like a bug, so i removed it */
- if( wait_done )
- break;
- }
-
- __kmp_win32_mutex_lock( mx );
- __kmp_win32_mutex_lock( &cv->waiters_count_lock_ );
-
- cv->waiters_count_--;
- cv->release_count_--;
-
- last_waiter = ( cv->release_count_ == 0 );
-
- __kmp_win32_mutex_unlock( &cv->waiters_count_lock_ );
-
- if( last_waiter ) {
- /* We're the last waiter to be notified, so reset the manual event. */
- ResetEvent( cv->event_ );
- }
-}
-
-void
-__kmp_win32_cond_broadcast( kmp_win32_cond_t *cv )
-{
- __kmp_win32_mutex_lock( &cv->waiters_count_lock_ );
-
- if( cv->waiters_count_ > 0 ) {
- SetEvent( cv->event_ );
- /* Release all the threads in this generation. */
-
- cv->release_count_ = cv->waiters_count_;
-
- /* Start a new generation. */
- cv->wait_generation_count_++;
- }
-
- __kmp_win32_mutex_unlock( &cv->waiters_count_lock_ );
-}
-
-void
-__kmp_win32_cond_signal( kmp_win32_cond_t *cv )
-{
- __kmp_win32_cond_broadcast( cv );
-}
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-void
-__kmp_enable( int new_state )
-{
- if (__kmp_init_runtime)
- LeaveCriticalSection( & __kmp_win32_section );
-}
-
-void
-__kmp_disable( int *old_state )
-{
- *old_state = 0;
-
- if (__kmp_init_runtime)
- EnterCriticalSection( & __kmp_win32_section );
-}
-
-void
-__kmp_suspend_initialize( void )
-{
- /* do nothing */
-}
-
-static void
-__kmp_suspend_initialize_thread( kmp_info_t *th )
-{
- if ( ! TCR_4( th->th.th_suspend_init ) ) {
- /* this means we haven't initialized the suspension pthread objects for this thread
- in this instance of the process */
- __kmp_win32_cond_init( &th->th.th_suspend_cv );
- __kmp_win32_mutex_init( &th->th.th_suspend_mx );
- TCW_4( th->th.th_suspend_init, TRUE );
- }
-}
-
-void
-__kmp_suspend_uninitialize_thread( kmp_info_t *th )
-{
- if ( TCR_4( th->th.th_suspend_init ) ) {
- /* this means we have initialize the suspension pthread objects for this thread
- in this instance of the process */
- __kmp_win32_cond_destroy( & th->th.th_suspend_cv );
- __kmp_win32_mutex_destroy( & th->th.th_suspend_mx );
- TCW_4( th->th.th_suspend_init, FALSE );
- }
-}
-
-/* This routine puts the calling thread to sleep after setting the
- * sleep bit for the indicated flag variable to true.
- */
-template <class C>
-static inline void __kmp_suspend_template( int th_gtid, C *flag )
-{
- kmp_info_t *th = __kmp_threads[th_gtid];
- int status;
- typename C::flag_t old_spin;
-
- KF_TRACE( 30, ("__kmp_suspend_template: T#%d enter for flag's loc(%p)\n", th_gtid, flag->get() ) );
-
- __kmp_suspend_initialize_thread( th );
- __kmp_win32_mutex_lock( &th->th.th_suspend_mx );
-
- KF_TRACE( 10, ( "__kmp_suspend_template: T#%d setting sleep bit for flag's loc(%p)\n",
- th_gtid, flag->get() ) );
-
- /* TODO: shouldn't this use release semantics to ensure that __kmp_suspend_initialize_thread
- gets called first?
- */
- old_spin = flag->set_sleeping();
-
- KF_TRACE( 5, ( "__kmp_suspend_template: T#%d set sleep bit for flag's loc(%p)==%d\n",
- th_gtid, flag->get(), *(flag->get()) ) );
-
- if ( flag->done_check_val(old_spin) ) {
- old_spin = flag->unset_sleeping();
- KF_TRACE( 5, ( "__kmp_suspend_template: T#%d false alarm, reset sleep bit for flag's loc(%p)\n",
- th_gtid, flag->get()) );
- } else {
-#ifdef DEBUG_SUSPEND
- __kmp_suspend_count++;
-#endif
- /* Encapsulate in a loop as the documentation states that this may
- * "with low probability" return when the condition variable has
- * not been signaled or broadcast
- */
- int deactivated = FALSE;
- TCW_PTR(th->th.th_sleep_loc, (void *)flag);
- while ( flag->is_sleeping() ) {
- KF_TRACE( 15, ("__kmp_suspend_template: T#%d about to perform kmp_win32_cond_wait()\n",
- th_gtid ) );
- // Mark the thread as no longer active (only in the first iteration of the loop).
- if ( ! deactivated ) {
- th->th.th_active = FALSE;
- if ( th->th.th_active_in_pool ) {
- th->th.th_active_in_pool = FALSE;
- KMP_TEST_THEN_DEC32(
- (kmp_int32 *) &__kmp_thread_pool_active_nth );
- KMP_DEBUG_ASSERT( TCR_4(__kmp_thread_pool_active_nth) >= 0 );
- }
- deactivated = TRUE;
-
-
- __kmp_win32_cond_wait( &th->th.th_suspend_cv, &th->th.th_suspend_mx, 0, 0 );
- }
- else {
- __kmp_win32_cond_wait( &th->th.th_suspend_cv, &th->th.th_suspend_mx, 0, 0 );
- }
-
-#ifdef KMP_DEBUG
- if( flag->is_sleeping() ) {
- KF_TRACE( 100, ("__kmp_suspend_template: T#%d spurious wakeup\n", th_gtid ));
- }
-#endif /* KMP_DEBUG */
-
- } // while
-
- // Mark the thread as active again (if it was previous marked as inactive)
- if ( deactivated ) {
- th->th.th_active = TRUE;
- if ( TCR_4(th->th.th_in_pool) ) {
- KMP_TEST_THEN_INC32(
- (kmp_int32 *) &__kmp_thread_pool_active_nth );
- th->th.th_active_in_pool = TRUE;
- }
- }
- }
-
-
- __kmp_win32_mutex_unlock( &th->th.th_suspend_mx );
-
- KF_TRACE( 30, ("__kmp_suspend_template: T#%d exit\n", th_gtid ) );
-}
-
-void __kmp_suspend_32(int th_gtid, kmp_flag_32 *flag) {
- __kmp_suspend_template(th_gtid, flag);
-}
-void __kmp_suspend_64(int th_gtid, kmp_flag_64 *flag) {
- __kmp_suspend_template(th_gtid, flag);
-}
-void __kmp_suspend_oncore(int th_gtid, kmp_flag_oncore *flag) {
- __kmp_suspend_template(th_gtid, flag);
-}
-
-
-/* This routine signals the thread specified by target_gtid to wake up
- * after setting the sleep bit indicated by the flag argument to FALSE
- */
-template <class C>
-static inline void __kmp_resume_template( int target_gtid, C *flag )
-{
- kmp_info_t *th = __kmp_threads[target_gtid];
- int status;
-
-#ifdef KMP_DEBUG
- int gtid = TCR_4(__kmp_init_gtid) ? __kmp_get_gtid() : -1;
-#endif
-
- KF_TRACE( 30, ( "__kmp_resume_template: T#%d wants to wakeup T#%d enter\n", gtid, target_gtid ) );
-
- __kmp_suspend_initialize_thread( th );
- __kmp_win32_mutex_lock( &th->th.th_suspend_mx );
-
- if (!flag) { // coming from __kmp_null_resume_wrapper
- flag = (C *)th->th.th_sleep_loc;
- }
-
- // First, check if the flag is null or its type has changed. If so, someone else woke it up.
- if (!flag || flag->get_type() != flag->get_ptr_type()) { // get_ptr_type simply shows what flag was cast to
- KF_TRACE( 5, ( "__kmp_resume_template: T#%d exiting, thread T#%d already awake: flag's loc(%p)\n",
- gtid, target_gtid, NULL ) );
- __kmp_win32_mutex_unlock( &th->th.th_suspend_mx );
- return;
- }
- else {
- typename C::flag_t old_spin = flag->unset_sleeping();
- if ( !flag->is_sleeping_val(old_spin) ) {
- KF_TRACE( 5, ( "__kmp_resume_template: T#%d exiting, thread T#%d already awake: flag's loc(%p): "
- "%u => %u\n",
- gtid, target_gtid, flag->get(), old_spin, *(flag->get()) ) );
- __kmp_win32_mutex_unlock( &th->th.th_suspend_mx );
- return;
- }
- }
- TCW_PTR(th->th.th_sleep_loc, NULL);
-
- KF_TRACE( 5, ( "__kmp_resume_template: T#%d about to wakeup T#%d, reset sleep bit for flag's loc(%p)\n",
- gtid, target_gtid, flag->get() ) );
-
-
- __kmp_win32_cond_signal( &th->th.th_suspend_cv );
- __kmp_win32_mutex_unlock( &th->th.th_suspend_mx );
-
- KF_TRACE( 30, ( "__kmp_resume_template: T#%d exiting after signaling wake up for T#%d\n",
- gtid, target_gtid ) );
-}
-
-void __kmp_resume_32(int target_gtid, kmp_flag_32 *flag) {
- __kmp_resume_template(target_gtid, flag);
-}
-void __kmp_resume_64(int target_gtid, kmp_flag_64 *flag) {
- __kmp_resume_template(target_gtid, flag);
-}
-void __kmp_resume_oncore(int target_gtid, kmp_flag_oncore *flag) {
- __kmp_resume_template(target_gtid, flag);
-}
-
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-void
-__kmp_yield( int cond )
-{
- if (cond)
- Sleep(0);
-}
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-void
-__kmp_gtid_set_specific( int gtid )
-{
- KA_TRACE( 50, ("__kmp_gtid_set_specific: T#%d key:%d\n",
- gtid, __kmp_gtid_threadprivate_key ));
- KMP_ASSERT( __kmp_init_runtime );
- if( ! TlsSetValue( __kmp_gtid_threadprivate_key, (LPVOID)(gtid+1)) )
- KMP_FATAL( TLSSetValueFailed );
-}
-
-int
-__kmp_gtid_get_specific()
-{
- int gtid;
- if( !__kmp_init_runtime ) {
- KA_TRACE( 50, ("__kmp_get_specific: runtime shutdown, returning KMP_GTID_SHUTDOWN\n" ) );
- return KMP_GTID_SHUTDOWN;
- }
- gtid = (int)(kmp_intptr_t)TlsGetValue( __kmp_gtid_threadprivate_key );
- if ( gtid == 0 ) {
- gtid = KMP_GTID_DNE;
- }
- else {
- gtid--;
- }
- KA_TRACE( 50, ("__kmp_gtid_get_specific: key:%d gtid:%d\n",
- __kmp_gtid_threadprivate_key, gtid ));
- return gtid;
-}
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-#if KMP_GROUP_AFFINITY
-
-//
-// Only 1 DWORD in the mask should have any procs set.
-// Return the appropriate index, or -1 for an invalid mask.
-//
-int
-__kmp_get_proc_group( kmp_affin_mask_t const *mask )
-{
- int i;
- int group = -1;
- for (i = 0; i < __kmp_num_proc_groups; i++) {
- if (mask[i] == 0) {
- continue;
- }
- if (group >= 0) {
- return -1;
- }
- group = i;
- }
- return group;
-}
-
-#endif /* KMP_GROUP_AFFINITY */
-
-int
-__kmp_set_system_affinity( kmp_affin_mask_t const *mask, int abort_on_error )
-{
-
-#if KMP_GROUP_AFFINITY
-
- if (__kmp_num_proc_groups > 1) {
- //
- // Check for a valid mask.
- //
- GROUP_AFFINITY ga;
- int group = __kmp_get_proc_group( mask );
- if (group < 0) {
- if (abort_on_error) {
- KMP_FATAL(AffinityInvalidMask, "kmp_set_affinity");
- }
- return -1;
- }
-
- //
- // Transform the bit vector into a GROUP_AFFINITY struct
- // and make the system call to set affinity.
- //
- ga.Group = group;
- ga.Mask = mask[group];
- ga.Reserved[0] = ga.Reserved[1] = ga.Reserved[2] = 0;
-
- KMP_DEBUG_ASSERT(__kmp_SetThreadGroupAffinity != NULL);
- if (__kmp_SetThreadGroupAffinity(GetCurrentThread(), &ga, NULL) == 0) {
- DWORD error = GetLastError();
- if (abort_on_error) {
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantSetThreadAffMask ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
- return error;
- }
- }
- else
-
-#endif /* KMP_GROUP_AFFINITY */
-
- {
- if (!SetThreadAffinityMask( GetCurrentThread(), *mask )) {
- DWORD error = GetLastError();
- if (abort_on_error) {
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantSetThreadAffMask ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
- return error;
- }
- }
- return 0;
-}
-
-int
-__kmp_get_system_affinity( kmp_affin_mask_t *mask, int abort_on_error )
-{
-
-#if KMP_GROUP_AFFINITY
-
- if (__kmp_num_proc_groups > 1) {
- KMP_CPU_ZERO(mask);
- GROUP_AFFINITY ga;
- KMP_DEBUG_ASSERT(__kmp_GetThreadGroupAffinity != NULL);
-
- if (__kmp_GetThreadGroupAffinity(GetCurrentThread(), &ga) == 0) {
- DWORD error = GetLastError();
- if (abort_on_error) {
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG(FunctionError, "GetThreadGroupAffinity()"),
- KMP_ERR(error),
- __kmp_msg_null
- );
- }
- return error;
- }
-
- if ((ga.Group < 0) || (ga.Group > __kmp_num_proc_groups)
- || (ga.Mask == 0)) {
- return -1;
- }
-
- mask[ga.Group] = ga.Mask;
- }
- else
-
-#endif /* KMP_GROUP_AFFINITY */
-
- {
- kmp_affin_mask_t newMask, sysMask, retval;
-
- if (!GetProcessAffinityMask(GetCurrentProcess(), &newMask, &sysMask)) {
- DWORD error = GetLastError();
- if (abort_on_error) {
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG(FunctionError, "GetProcessAffinityMask()"),
- KMP_ERR(error),
- __kmp_msg_null
- );
- }
- return error;
- }
- retval = SetThreadAffinityMask(GetCurrentThread(), newMask);
- if (! retval) {
- DWORD error = GetLastError();
- if (abort_on_error) {
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG(FunctionError, "SetThreadAffinityMask()"),
- KMP_ERR(error),
- __kmp_msg_null
- );
- }
- return error;
- }
- newMask = SetThreadAffinityMask(GetCurrentThread(), retval);
- if (! newMask) {
- DWORD error = GetLastError();
- if (abort_on_error) {
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG(FunctionError, "SetThreadAffinityMask()"),
- KMP_ERR(error),
- __kmp_msg_null
- );
- }
- }
- *mask = retval;
- }
- return 0;
-}
-
-void
-__kmp_affinity_bind_thread( int proc )
-{
-
-#if KMP_GROUP_AFFINITY
-
- if (__kmp_num_proc_groups > 1) {
- //
- // Form the GROUP_AFFINITY struct directly, rather than filling
- // out a bit vector and calling __kmp_set_system_affinity().
- //
- GROUP_AFFINITY ga;
- KMP_DEBUG_ASSERT((proc >= 0) && (proc < (__kmp_num_proc_groups
- * CHAR_BIT * sizeof(DWORD_PTR))));
- ga.Group = proc / (CHAR_BIT * sizeof(DWORD_PTR));
- ga.Mask = (unsigned long long)1 << (proc % (CHAR_BIT * sizeof(DWORD_PTR)));
- ga.Reserved[0] = ga.Reserved[1] = ga.Reserved[2] = 0;
-
- KMP_DEBUG_ASSERT(__kmp_SetThreadGroupAffinity != NULL);
- if (__kmp_SetThreadGroupAffinity(GetCurrentThread(), &ga, NULL) == 0) {
- DWORD error = GetLastError();
- if (__kmp_affinity_verbose) { // AC: continue silently if not verbose
- __kmp_msg(
- kmp_ms_warning,
- KMP_MSG( CantSetThreadAffMask ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
- }
- }
- else
-
-#endif /* KMP_GROUP_AFFINITY */
-
- {
- kmp_affin_mask_t mask;
- KMP_CPU_ZERO(&mask);
- KMP_CPU_SET(proc, &mask);
- __kmp_set_system_affinity(&mask, TRUE);
- }
-}
-
-void
-__kmp_affinity_determine_capable( const char *env_var )
-{
- //
- // All versions of Windows* OS (since Win '95) support SetThreadAffinityMask().
- //
-
-#if KMP_GROUP_AFFINITY
- KMP_AFFINITY_ENABLE(__kmp_num_proc_groups*sizeof(kmp_affin_mask_t));
-#else
- KMP_AFFINITY_ENABLE(sizeof(kmp_affin_mask_t));
-#endif
-
- KA_TRACE( 10, (
- "__kmp_affinity_determine_capable: "
- "Windows* OS affinity interface functional (mask size = %" KMP_SIZE_T_SPEC ").\n",
- __kmp_affin_mask_size
- ) );
-}
-
-double
-__kmp_read_cpu_time( void )
-{
- FILETIME CreationTime, ExitTime, KernelTime, UserTime;
- int status;
- double cpu_time;
-
- cpu_time = 0;
-
- status = GetProcessTimes( GetCurrentProcess(), &CreationTime,
- &ExitTime, &KernelTime, &UserTime );
-
- if (status) {
- double sec = 0;
-
- sec += KernelTime.dwHighDateTime;
- sec += UserTime.dwHighDateTime;
-
- /* Shift left by 32 bits */
- sec *= (double) (1 << 16) * (double) (1 << 16);
-
- sec += KernelTime.dwLowDateTime;
- sec += UserTime.dwLowDateTime;
-
- cpu_time += (sec * 100.0) / KMP_NSEC_PER_SEC;
- }
-
- return cpu_time;
-}
-
-int
-__kmp_read_system_info( struct kmp_sys_info *info )
-{
- info->maxrss = 0; /* the maximum resident set size utilized (in kilobytes) */
- info->minflt = 0; /* the number of page faults serviced without any I/O */
- info->majflt = 0; /* the number of page faults serviced that required I/O */
- info->nswap = 0; /* the number of times a process was "swapped" out of memory */
- info->inblock = 0; /* the number of times the file system had to perform input */
- info->oublock = 0; /* the number of times the file system had to perform output */
- info->nvcsw = 0; /* the number of times a context switch was voluntarily */
- info->nivcsw = 0; /* the number of times a context switch was forced */
-
- return 1;
-}
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-
-void
-__kmp_runtime_initialize( void )
-{
- SYSTEM_INFO info;
- kmp_str_buf_t path;
- UINT path_size;
-
- if ( __kmp_init_runtime ) {
- return;
- };
-
-#if KMP_DYNAMIC_LIB
- /* Pin dynamic library for the lifetime of application */
- {
- // First, turn off error message boxes
- UINT err_mode = SetErrorMode (SEM_FAILCRITICALERRORS);
- HMODULE h;
- BOOL ret = GetModuleHandleEx( GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
- |GET_MODULE_HANDLE_EX_FLAG_PIN,
- (LPCTSTR)&__kmp_serial_initialize, &h);
- KMP_DEBUG_ASSERT2(h && ret, "OpenMP RTL cannot find itself loaded");
- SetErrorMode (err_mode); // Restore error mode
- KA_TRACE( 10, ("__kmp_runtime_initialize: dynamic library pinned\n") );
- }
-#endif
-
- InitializeCriticalSection( & __kmp_win32_section );
-#if USE_ITT_BUILD
- __kmp_itt_system_object_created( & __kmp_win32_section, "Critical Section" );
-#endif /* USE_ITT_BUILD */
- __kmp_initialize_system_tick();
-
- #if (KMP_ARCH_X86 || KMP_ARCH_X86_64)
- if ( ! __kmp_cpuinfo.initialized ) {
- __kmp_query_cpuid( & __kmp_cpuinfo );
- }; // if
- #endif /* KMP_ARCH_X86 || KMP_ARCH_X86_64 */
-
- /* Set up minimum number of threads to switch to TLS gtid */
- #if KMP_OS_WINDOWS && ! defined KMP_DYNAMIC_LIB
- // Windows* OS, static library.
- /*
- New thread may use stack space previously used by another thread, currently terminated.
- On Windows* OS, in case of static linking, we do not know the moment of thread termination,
- and our structures (__kmp_threads and __kmp_root arrays) are still keep info about dead
- threads. This leads to problem in __kmp_get_global_thread_id() function: it wrongly
- finds gtid (by searching through stack addresses of all known threads) for unregistered
- foreign tread.
-
- Setting __kmp_tls_gtid_min to 0 workarounds this problem: __kmp_get_global_thread_id()
- does not search through stacks, but get gtid from TLS immediately.
-
- --ln
- */
- __kmp_tls_gtid_min = 0;
- #else
- __kmp_tls_gtid_min = KMP_TLS_GTID_MIN;
- #endif
-
- /* for the static library */
- if ( !__kmp_gtid_threadprivate_key ) {
- __kmp_gtid_threadprivate_key = TlsAlloc();
- if( __kmp_gtid_threadprivate_key == TLS_OUT_OF_INDEXES ) {
- KMP_FATAL( TLSOutOfIndexes );
- }
- }
-
-
- //
- // Load ntdll.dll.
- //
- /*
- Simple
- GetModuleHandle( "ntdll.dl" )
- is not suitable due to security issue (see
- http://www.microsoft.com/technet/security/advisory/2269637.mspx). We have to specify full
- path to the library.
- */
- __kmp_str_buf_init( & path );
- path_size = GetSystemDirectory( path.str, path.size );
- KMP_DEBUG_ASSERT( path_size > 0 );
- if ( path_size >= path.size ) {
- //
- // Buffer is too short. Expand the buffer and try again.
- //
- __kmp_str_buf_reserve( & path, path_size );
- path_size = GetSystemDirectory( path.str, path.size );
- KMP_DEBUG_ASSERT( path_size > 0 );
- }; // if
- if ( path_size > 0 && path_size < path.size ) {
- //
- // Now we have system directory name in the buffer.
- // Append backslash and name of dll to form full path,
- //
- path.used = path_size;
- __kmp_str_buf_print( & path, "\\%s", "ntdll.dll" );
-
- //
- // Now load ntdll using full path.
- //
- ntdll = GetModuleHandle( path.str );
- }
-
- KMP_DEBUG_ASSERT( ntdll != NULL );
- if ( ntdll != NULL ) {
- NtQuerySystemInformation = (NtQuerySystemInformation_t) GetProcAddress( ntdll, "NtQuerySystemInformation" );
- }
- KMP_DEBUG_ASSERT( NtQuerySystemInformation != NULL );
-
-#if KMP_GROUP_AFFINITY
- //
- // Load kernel32.dll.
- // Same caveat - must use full system path name.
- //
- if ( path_size > 0 && path_size < path.size ) {
- //
- // Truncate the buffer back to just the system path length,
- // discarding "\\ntdll.dll", and replacing it with "kernel32.dll".
- //
- path.used = path_size;
- __kmp_str_buf_print( & path, "\\%s", "kernel32.dll" );
-
- //
- // Load kernel32.dll using full path.
- //
- kernel32 = GetModuleHandle( path.str );
- KA_TRACE( 10, ("__kmp_runtime_initialize: kernel32.dll = %s\n", path.str ) );
-
- //
- // Load the function pointers to kernel32.dll routines
- // that may or may not exist on this system.
- //
- if ( kernel32 != NULL ) {
- __kmp_GetActiveProcessorCount = (kmp_GetActiveProcessorCount_t) GetProcAddress( kernel32, "GetActiveProcessorCount" );
- __kmp_GetActiveProcessorGroupCount = (kmp_GetActiveProcessorGroupCount_t) GetProcAddress( kernel32, "GetActiveProcessorGroupCount" );
- __kmp_GetThreadGroupAffinity = (kmp_GetThreadGroupAffinity_t) GetProcAddress( kernel32, "GetThreadGroupAffinity" );
- __kmp_SetThreadGroupAffinity = (kmp_SetThreadGroupAffinity_t) GetProcAddress( kernel32, "SetThreadGroupAffinity" );
-
- KA_TRACE( 10, ("__kmp_runtime_initialize: __kmp_GetActiveProcessorCount = %p\n", __kmp_GetActiveProcessorCount ) );
- KA_TRACE( 10, ("__kmp_runtime_initialize: __kmp_GetActiveProcessorGroupCount = %p\n", __kmp_GetActiveProcessorGroupCount ) );
- KA_TRACE( 10, ("__kmp_runtime_initialize:__kmp_GetThreadGroupAffinity = %p\n", __kmp_GetThreadGroupAffinity ) );
- KA_TRACE( 10, ("__kmp_runtime_initialize: __kmp_SetThreadGroupAffinity = %p\n", __kmp_SetThreadGroupAffinity ) );
- KA_TRACE( 10, ("__kmp_runtime_initialize: sizeof(kmp_affin_mask_t) = %d\n", sizeof(kmp_affin_mask_t) ) );
-
- //
- // See if group affinity is supported on this system.
- // If so, calculate the #groups and #procs.
- //
- // Group affinity was introduced with Windows* 7 OS and
- // Windows* Server 2008 R2 OS.
- //
- if ( ( __kmp_GetActiveProcessorCount != NULL )
- && ( __kmp_GetActiveProcessorGroupCount != NULL )
- && ( __kmp_GetThreadGroupAffinity != NULL )
- && ( __kmp_SetThreadGroupAffinity != NULL )
- && ( ( __kmp_num_proc_groups
- = __kmp_GetActiveProcessorGroupCount() ) > 1 ) ) {
- //
- // Calculate the total number of active OS procs.
- //
- int i;
-
- KA_TRACE( 10, ("__kmp_runtime_initialize: %d processor groups detected\n", __kmp_num_proc_groups ) );
-
- __kmp_xproc = 0;
-
- for ( i = 0; i < __kmp_num_proc_groups; i++ ) {
- DWORD size = __kmp_GetActiveProcessorCount( i );
- __kmp_xproc += size;
- KA_TRACE( 10, ("__kmp_runtime_initialize: proc group %d size = %d\n", i, size ) );
- }
- }
- else {
- KA_TRACE( 10, ("__kmp_runtime_initialize: %d processor groups detected\n", __kmp_num_proc_groups ) );
- }
- }
- }
- if ( __kmp_num_proc_groups <= 1 ) {
- GetSystemInfo( & info );
- __kmp_xproc = info.dwNumberOfProcessors;
- }
-#else
- GetSystemInfo( & info );
- __kmp_xproc = info.dwNumberOfProcessors;
-#endif /* KMP_GROUP_AFFINITY */
-
- //
- // If the OS said there were 0 procs, take a guess and use a value of 2.
- // This is done for Linux* OS, also. Do we need error / warning?
- //
- if ( __kmp_xproc <= 0 ) {
- __kmp_xproc = 2;
- }
-
- KA_TRACE( 5, ("__kmp_runtime_initialize: total processors = %d\n", __kmp_xproc) );
-
- __kmp_str_buf_free( & path );
-
-#if USE_ITT_BUILD
- __kmp_itt_initialize();
-#endif /* USE_ITT_BUILD */
-
- __kmp_init_runtime = TRUE;
-} // __kmp_runtime_initialize
-
-void
-__kmp_runtime_destroy( void )
-{
- if ( ! __kmp_init_runtime ) {
- return;
- }
-
-#if USE_ITT_BUILD
- __kmp_itt_destroy();
-#endif /* USE_ITT_BUILD */
-
- /* we can't DeleteCriticalsection( & __kmp_win32_section ); */
- /* due to the KX_TRACE() commands */
- KA_TRACE( 40, ("__kmp_runtime_destroy\n" ));
-
- if( __kmp_gtid_threadprivate_key ) {
- TlsFree( __kmp_gtid_threadprivate_key );
- __kmp_gtid_threadprivate_key = 0;
- }
-
- __kmp_affinity_uninitialize();
- DeleteCriticalSection( & __kmp_win32_section );
-
- ntdll = NULL;
- NtQuerySystemInformation = NULL;
-
-#if KMP_ARCH_X86_64
- kernel32 = NULL;
- __kmp_GetActiveProcessorCount = NULL;
- __kmp_GetActiveProcessorGroupCount = NULL;
- __kmp_GetThreadGroupAffinity = NULL;
- __kmp_SetThreadGroupAffinity = NULL;
-#endif // KMP_ARCH_X86_64
-
- __kmp_init_runtime = FALSE;
-}
-
-
-void
-__kmp_terminate_thread( int gtid )
-{
- kmp_info_t *th = __kmp_threads[ gtid ];
-
- if( !th ) return;
-
- KA_TRACE( 10, ("__kmp_terminate_thread: kill (%d)\n", gtid ) );
-
- if (TerminateThread( th->th.th_info.ds.ds_thread, (DWORD) -1) == FALSE) {
- /* It's OK, the thread may have exited already */
- }
- __kmp_free_handle( th->th.th_info.ds.ds_thread );
-}
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-void
-__kmp_clear_system_time( void )
-{
- BOOL status;
- LARGE_INTEGER time;
- status = QueryPerformanceCounter( & time );
- __kmp_win32_time = (kmp_int64) time.QuadPart;
-}
-
-void
-__kmp_initialize_system_tick( void )
-{
- {
- BOOL status;
- LARGE_INTEGER freq;
-
- status = QueryPerformanceFrequency( & freq );
- if (! status) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( FunctionError, "QueryPerformanceFrequency()" ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
-
- }
- else {
- __kmp_win32_tick = ((double) 1.0) / (double) freq.QuadPart;
- }
- }
-}
-
-/* Calculate the elapsed wall clock time for the user */
-
-void
-__kmp_elapsed( double *t )
-{
- BOOL status;
- LARGE_INTEGER now;
- status = QueryPerformanceCounter( & now );
- *t = ((double) now.QuadPart) * __kmp_win32_tick;
-}
-
-/* Calculate the elapsed wall clock tick for the user */
-
-void
-__kmp_elapsed_tick( double *t )
-{
- *t = __kmp_win32_tick;
-}
-
-void
-__kmp_read_system_time( double *delta )
-{
-
- if (delta != NULL) {
- BOOL status;
- LARGE_INTEGER now;
-
- status = QueryPerformanceCounter( & now );
-
- *delta = ((double) (((kmp_int64) now.QuadPart) - __kmp_win32_time))
- * __kmp_win32_tick;
- }
-}
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-void * __stdcall
-__kmp_launch_worker( void *arg )
-{
- volatile void *stack_data;
- void *exit_val;
- void *padding = 0;
- kmp_info_t *this_thr = (kmp_info_t *) arg;
- int gtid;
-
- gtid = this_thr->th.th_info.ds.ds_gtid;
- __kmp_gtid_set_specific( gtid );
-#ifdef KMP_TDATA_GTID
- #error "This define causes problems with LoadLibrary() + declspec(thread) " \
- "on Windows* OS. See CQ50564, tests kmp_load_library*.c and this MSDN " \
- "reference: http://support.microsoft.com/kb/118816"
- //__kmp_gtid = gtid;
-#endif
-
-#if USE_ITT_BUILD
- __kmp_itt_thread_name( gtid );
-#endif /* USE_ITT_BUILD */
-
- __kmp_affinity_set_init_mask( gtid, FALSE );
-
-#if KMP_ARCH_X86 || KMP_ARCH_X86_64
- //
- // Set the FP control regs to be a copy of
- // the parallel initialization thread's.
- //
- __kmp_clear_x87_fpu_status_word();
- __kmp_load_x87_fpu_control_word( &__kmp_init_x87_fpu_control_word );
- __kmp_load_mxcsr( &__kmp_init_mxcsr );
-#endif /* KMP_ARCH_X86 || KMP_ARCH_X86_64 */
-
- if ( __kmp_stkoffset > 0 && gtid > 0 ) {
- padding = KMP_ALLOCA( gtid * __kmp_stkoffset );
- }
-
- KMP_FSYNC_RELEASING( &this_thr -> th.th_info.ds.ds_alive );
- this_thr -> th.th_info.ds.ds_thread_id = GetCurrentThreadId();
- TCW_4( this_thr -> th.th_info.ds.ds_alive, TRUE );
-
- if ( TCR_4(__kmp_gtid_mode) < 2 ) { // check stack only if it is used to get gtid
- TCW_PTR(this_thr->th.th_info.ds.ds_stackbase, &stack_data);
- KMP_ASSERT( this_thr -> th.th_info.ds.ds_stackgrow == FALSE );
- __kmp_check_stack_overlap( this_thr );
- }
- KMP_MB();
- exit_val = __kmp_launch_thread( this_thr );
- KMP_FSYNC_RELEASING( &this_thr -> th.th_info.ds.ds_alive );
- TCW_4( this_thr -> th.th_info.ds.ds_alive, FALSE );
- KMP_MB();
- return exit_val;
-}
-
-
-/* The monitor thread controls all of the threads in the complex */
-
-void * __stdcall
-__kmp_launch_monitor( void *arg )
-{
- DWORD wait_status;
- kmp_thread_t monitor;
- int status;
- int interval;
- kmp_info_t *this_thr = (kmp_info_t *) arg;
-
- KMP_DEBUG_ASSERT(__kmp_init_monitor);
- TCW_4( __kmp_init_monitor, 2 ); // AC: Signal the library that monitor has started
- // TODO: hide "2" in enum (like {true,false,started})
- this_thr -> th.th_info.ds.ds_thread_id = GetCurrentThreadId();
- TCW_4( this_thr -> th.th_info.ds.ds_alive, TRUE );
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
- KA_TRACE( 10, ("__kmp_launch_monitor: launched\n" ) );
-
- monitor = GetCurrentThread();
-
- /* set thread priority */
- status = SetThreadPriority( monitor, THREAD_PRIORITY_HIGHEST );
- if (! status) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantSetThreadPriority ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
-
- /* register us as monitor */
- __kmp_gtid_set_specific( KMP_GTID_MONITOR );
-#ifdef KMP_TDATA_GTID
- #error "This define causes problems with LoadLibrary() + declspec(thread) " \
- "on Windows* OS. See CQ50564, tests kmp_load_library*.c and this MSDN " \
- "reference: http://support.microsoft.com/kb/118816"
- //__kmp_gtid = KMP_GTID_MONITOR;
-#endif
-
-#if USE_ITT_BUILD
- __kmp_itt_thread_ignore(); // Instruct Intel(R) Threading Tools to ignore monitor thread.
-#endif /* USE_ITT_BUILD */
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
-
- interval = ( 1000 / __kmp_monitor_wakeups ); /* in milliseconds */
-
- while (! TCR_4(__kmp_global.g.g_done)) {
- /* This thread monitors the state of the system */
-
- KA_TRACE( 15, ( "__kmp_launch_monitor: update\n" ) );
-
- wait_status = WaitForSingleObject( __kmp_monitor_ev, interval );
-
- if (wait_status == WAIT_TIMEOUT) {
- TCW_4( __kmp_global.g.g_time.dt.t_value,
- TCR_4( __kmp_global.g.g_time.dt.t_value ) + 1 );
- }
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
- }
-
- KA_TRACE( 10, ("__kmp_launch_monitor: finished\n" ) );
-
- status = SetThreadPriority( monitor, THREAD_PRIORITY_NORMAL );
- if (! status) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantSetThreadPriority ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
-
- if (__kmp_global.g.g_abort != 0) {
- /* now we need to terminate the worker threads */
- /* the value of t_abort is the signal we caught */
-
- int gtid;
-
- KA_TRACE( 10, ("__kmp_launch_monitor: terminate sig=%d\n", (__kmp_global.g.g_abort) ) );
-
- /* terminate the OpenMP worker threads */
- /* TODO this is not valid for sibling threads!!
- * the uber master might not be 0 anymore.. */
- for (gtid = 1; gtid < __kmp_threads_capacity; ++gtid)
- __kmp_terminate_thread( gtid );
-
- __kmp_cleanup();
-
- Sleep( 0 );
-
- KA_TRACE( 10, ("__kmp_launch_monitor: raise sig=%d\n", (__kmp_global.g.g_abort) ) );
-
- if (__kmp_global.g.g_abort > 0) {
- raise( __kmp_global.g.g_abort );
- }
- }
-
- TCW_4( this_thr -> th.th_info.ds.ds_alive, FALSE );
-
- KMP_MB();
- return arg;
-}
-
-void
-__kmp_create_worker( int gtid, kmp_info_t *th, size_t stack_size )
-{
- kmp_thread_t handle;
- DWORD idThread;
-
- KA_TRACE( 10, ("__kmp_create_worker: try to create thread (%d)\n", gtid ) );
-
- th->th.th_info.ds.ds_gtid = gtid;
-
- if ( KMP_UBER_GTID(gtid) ) {
- int stack_data;
-
- /* TODO: GetCurrentThread() returns a pseudo-handle that is unsuitable for other threads to use.
- Is it appropriate to just use GetCurrentThread? When should we close this handle? When
- unregistering the root?
- */
- {
- BOOL rc;
- rc = DuplicateHandle(
- GetCurrentProcess(),
- GetCurrentThread(),
- GetCurrentProcess(),
- &th->th.th_info.ds.ds_thread,
- 0,
- FALSE,
- DUPLICATE_SAME_ACCESS
- );
- KMP_ASSERT( rc );
- KA_TRACE( 10, (" __kmp_create_worker: ROOT Handle duplicated, th = %p, handle = %" KMP_UINTPTR_SPEC "\n",
- (LPVOID)th,
- th->th.th_info.ds.ds_thread ) );
- th->th.th_info.ds.ds_thread_id = GetCurrentThreadId();
- }
- if ( TCR_4(__kmp_gtid_mode) < 2 ) { // check stack only if it is used to get gtid
- /* we will dynamically update the stack range if gtid_mode == 1 */
- TCW_PTR(th->th.th_info.ds.ds_stackbase, &stack_data);
- TCW_PTR(th->th.th_info.ds.ds_stacksize, 0);
- TCW_4(th->th.th_info.ds.ds_stackgrow, TRUE);
- __kmp_check_stack_overlap( th );
- }
- }
- else {
- KMP_MB(); /* Flush all pending memory write invalidates. */
-
- /* Set stack size for this thread now. */
- KA_TRACE( 10, ( "__kmp_create_worker: stack_size = %" KMP_SIZE_T_SPEC
- " bytes\n", stack_size ) );
-
- stack_size += gtid * __kmp_stkoffset;
-
- TCW_PTR(th->th.th_info.ds.ds_stacksize, stack_size);
- TCW_4(th->th.th_info.ds.ds_stackgrow, FALSE);
-
- KA_TRACE( 10, ( "__kmp_create_worker: (before) stack_size = %"
- KMP_SIZE_T_SPEC
- " bytes, &__kmp_launch_worker = %p, th = %p, "
- "&idThread = %p\n",
- (SIZE_T) stack_size,
- (LPTHREAD_START_ROUTINE) & __kmp_launch_worker,
- (LPVOID) th, &idThread ) );
-
- {
- handle = CreateThread( NULL, (SIZE_T) stack_size,
- (LPTHREAD_START_ROUTINE) __kmp_launch_worker,
- (LPVOID) th, STACK_SIZE_PARAM_IS_A_RESERVATION, &idThread );
- }
-
- KA_TRACE( 10, ( "__kmp_create_worker: (after) stack_size = %"
- KMP_SIZE_T_SPEC
- " bytes, &__kmp_launch_worker = %p, th = %p, "
- "idThread = %u, handle = %" KMP_UINTPTR_SPEC "\n",
- (SIZE_T) stack_size,
- (LPTHREAD_START_ROUTINE) & __kmp_launch_worker,
- (LPVOID) th, idThread, handle ) );
-
- {
- if ( handle == 0 ) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantCreateThread ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- } else {
- th->th.th_info.ds.ds_thread = handle;
- }
- }
- KMP_MB(); /* Flush all pending memory write invalidates. */
- }
-
- KA_TRACE( 10, ("__kmp_create_worker: done creating thread (%d)\n", gtid ) );
-}
-
-int
-__kmp_still_running(kmp_info_t *th) {
- return (WAIT_TIMEOUT == WaitForSingleObject( th->th.th_info.ds.ds_thread, 0));
-}
-
-void
-__kmp_create_monitor( kmp_info_t *th )
-{
- kmp_thread_t handle;
- DWORD idThread;
- int ideal, new_ideal;
-
- KA_TRACE( 10, ("__kmp_create_monitor: try to create monitor\n" ) );
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
-
- __kmp_monitor_ev = CreateEvent( NULL, TRUE, FALSE, NULL );
- if ( __kmp_monitor_ev == NULL ) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantCreateEvent ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }; // if
-#if USE_ITT_BUILD
- __kmp_itt_system_object_created( __kmp_monitor_ev, "Event" );
-#endif /* USE_ITT_BUILD */
-
- th->th.th_info.ds.ds_tid = KMP_GTID_MONITOR;
- th->th.th_info.ds.ds_gtid = KMP_GTID_MONITOR;
-
- // FIXME - on Windows* OS, if __kmp_monitor_stksize = 0, figure out how
- // to automatically expand stacksize based on CreateThread error code.
- if ( __kmp_monitor_stksize == 0 ) {
- __kmp_monitor_stksize = KMP_DEFAULT_MONITOR_STKSIZE;
- }
- if ( __kmp_monitor_stksize < __kmp_sys_min_stksize ) {
- __kmp_monitor_stksize = __kmp_sys_min_stksize;
- }
-
- KA_TRACE( 10, ("__kmp_create_monitor: requested stacksize = %d bytes\n",
- (int) __kmp_monitor_stksize ) );
-
- TCW_4( __kmp_global.g.g_time.dt.t_value, 0 );
-
- handle = CreateThread( NULL, (SIZE_T) __kmp_monitor_stksize,
- (LPTHREAD_START_ROUTINE) __kmp_launch_monitor,
- (LPVOID) th, STACK_SIZE_PARAM_IS_A_RESERVATION, &idThread );
- if (handle == 0) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantCreateThread ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
- else
- th->th.th_info.ds.ds_thread = handle;
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
-
- KA_TRACE( 10, ("__kmp_create_monitor: monitor created %p\n",
- (void *) th->th.th_info.ds.ds_thread ) );
-}
-
-/*
- Check to see if thread is still alive.
-
- NOTE: The ExitProcess(code) system call causes all threads to Terminate
- with a exit_val = code. Because of this we can not rely on
- exit_val having any particular value. So this routine may
- return STILL_ALIVE in exit_val even after the thread is dead.
-*/
-
-int
-__kmp_is_thread_alive( kmp_info_t * th, DWORD *exit_val )
-{
- DWORD rc;
- rc = GetExitCodeThread( th->th.th_info.ds.ds_thread, exit_val );
- if ( rc == 0 ) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( FunctionError, "GetExitCodeThread()" ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }; // if
- return ( *exit_val == STILL_ACTIVE );
-}
-
-
-void
-__kmp_exit_thread(
- int exit_status
-) {
- ExitThread( exit_status );
-} // __kmp_exit_thread
-
-/*
- This is a common part for both __kmp_reap_worker() and __kmp_reap_monitor().
-*/
-static void
-__kmp_reap_common( kmp_info_t * th )
-{
- DWORD exit_val;
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
-
- KA_TRACE( 10, ( "__kmp_reap_common: try to reap (%d)\n", th->th.th_info.ds.ds_gtid ) );
-
- /*
- 2006-10-19:
-
- There are two opposite situations:
-
- 1. Windows* OS keep thread alive after it resets ds_alive flag and exits from thread
- function. (For example, see C70770/Q394281 "unloading of dll based on OMP is very
- slow".)
- 2. Windows* OS may kill thread before it resets ds_alive flag.
-
- Right solution seems to be waiting for *either* thread termination *or* ds_alive resetting.
-
- */
-
- {
- // TODO: This code is very similar to KMP_WAIT_YIELD. Need to generalize KMP_WAIT_YIELD to
- // cover this usage also.
- void * obj = NULL;
- kmp_uint32 spins;
-#if USE_ITT_BUILD
- KMP_FSYNC_SPIN_INIT( obj, (void*) & th->th.th_info.ds.ds_alive );
-#endif /* USE_ITT_BUILD */
- KMP_INIT_YIELD( spins );
- do {
-#if USE_ITT_BUILD
- KMP_FSYNC_SPIN_PREPARE( obj );
-#endif /* USE_ITT_BUILD */
- __kmp_is_thread_alive( th, &exit_val );
- KMP_YIELD( TCR_4(__kmp_nth) > __kmp_avail_proc );
- KMP_YIELD_SPIN( spins );
- } while ( exit_val == STILL_ACTIVE && TCR_4( th->th.th_info.ds.ds_alive ) );
-#if USE_ITT_BUILD
- if ( exit_val == STILL_ACTIVE ) {
- KMP_FSYNC_CANCEL( obj );
- } else {
- KMP_FSYNC_SPIN_ACQUIRED( obj );
- }; // if
-#endif /* USE_ITT_BUILD */
- }
-
- __kmp_free_handle( th->th.th_info.ds.ds_thread );
-
- /*
- * NOTE: The ExitProcess(code) system call causes all threads to Terminate
- * with a exit_val = code. Because of this we can not rely on
- * exit_val having any particular value.
- */
- if ( exit_val == STILL_ACTIVE ) {
- KA_TRACE( 1, ( "__kmp_reap_common: thread still active.\n" ) );
- } else if ( (void *) exit_val != (void *) th) {
- KA_TRACE( 1, ( "__kmp_reap_common: ExitProcess / TerminateThread used?\n" ) );
- }; // if
-
- KA_TRACE( 10,
- (
- "__kmp_reap_common: done reaping (%d), handle = %" KMP_UINTPTR_SPEC "\n",
- th->th.th_info.ds.ds_gtid,
- th->th.th_info.ds.ds_thread
- )
- );
-
- th->th.th_info.ds.ds_thread = 0;
- th->th.th_info.ds.ds_tid = KMP_GTID_DNE;
- th->th.th_info.ds.ds_gtid = KMP_GTID_DNE;
- th->th.th_info.ds.ds_thread_id = 0;
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
-}
-
-void
-__kmp_reap_monitor( kmp_info_t *th )
-{
- int status;
-
- KA_TRACE( 10, ("__kmp_reap_monitor: try to reap %p\n",
- (void *) th->th.th_info.ds.ds_thread ) );
-
- // If monitor has been created, its tid and gtid should be KMP_GTID_MONITOR.
- // If both tid and gtid are 0, it means the monitor did not ever start.
- // If both tid and gtid are KMP_GTID_DNE, the monitor has been shut down.
- KMP_DEBUG_ASSERT( th->th.th_info.ds.ds_tid == th->th.th_info.ds.ds_gtid );
- if ( th->th.th_info.ds.ds_gtid != KMP_GTID_MONITOR ) {
- return;
- }; // if
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
-
- status = SetEvent( __kmp_monitor_ev );
- if ( status == FALSE ) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantSetEvent ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
- KA_TRACE( 10, ( "__kmp_reap_monitor: reaping thread (%d)\n", th->th.th_info.ds.ds_gtid ) );
- __kmp_reap_common( th );
-
- __kmp_free_handle( __kmp_monitor_ev );
-
- KMP_MB(); /* Flush all pending memory write invalidates. */
-}
-
-void
-__kmp_reap_worker( kmp_info_t * th )
-{
- KA_TRACE( 10, ( "__kmp_reap_worker: reaping thread (%d)\n", th->th.th_info.ds.ds_gtid ) );
- __kmp_reap_common( th );
-}
-
-/* ------------------------------------------------------------------------ */
-/* ------------------------------------------------------------------------ */
-
-#if KMP_HANDLE_SIGNALS
-
-
-static void
-__kmp_team_handler( int signo )
-{
- if ( __kmp_global.g.g_abort == 0 ) {
- // Stage 1 signal handler, let's shut down all of the threads.
- if ( __kmp_debug_buf ) {
- __kmp_dump_debug_buffer();
- }; // if
- KMP_MB(); // Flush all pending memory write invalidates.
- TCW_4( __kmp_global.g.g_abort, signo );
- KMP_MB(); // Flush all pending memory write invalidates.
- TCW_4( __kmp_global.g.g_done, TRUE );
- KMP_MB(); // Flush all pending memory write invalidates.
- }
-} // __kmp_team_handler
-
-
-
-static
-sig_func_t __kmp_signal( int signum, sig_func_t handler ) {
- sig_func_t old = signal( signum, handler );
- if ( old == SIG_ERR ) {
- int error = errno;
- __kmp_msg( kmp_ms_fatal, KMP_MSG( FunctionError, "signal" ), KMP_ERR( error ), __kmp_msg_null );
- }; // if
- return old;
-}
-
-static void
-__kmp_install_one_handler(
- int sig,
- sig_func_t handler,
- int parallel_init
-) {
- sig_func_t old;
- KMP_MB(); /* Flush all pending memory write invalidates. */
- KB_TRACE( 60, ("__kmp_install_one_handler: called: sig=%d\n", sig ) );
- if ( parallel_init ) {
- old = __kmp_signal( sig, handler );
- // SIG_DFL on Windows* OS in NULL or 0.
- if ( old == __kmp_sighldrs[ sig ] ) {
- __kmp_siginstalled[ sig ] = 1;
- } else {
- // Restore/keep user's handler if one previously installed.
- old = __kmp_signal( sig, old );
- }; // if
- } else {
- // Save initial/system signal handlers to see if user handlers installed.
- // 2009-09-23: It is a dead code. On Windows* OS __kmp_install_signals called once with
- // parallel_init == TRUE.
- old = __kmp_signal( sig, SIG_DFL );
- __kmp_sighldrs[ sig ] = old;
- __kmp_signal( sig, old );
- }; // if
- KMP_MB(); /* Flush all pending memory write invalidates. */
-} // __kmp_install_one_handler
-
-static void
-__kmp_remove_one_handler( int sig ) {
- if ( __kmp_siginstalled[ sig ] ) {
- sig_func_t old;
- KMP_MB(); // Flush all pending memory write invalidates.
- KB_TRACE( 60, ( "__kmp_remove_one_handler: called: sig=%d\n", sig ) );
- old = __kmp_signal( sig, __kmp_sighldrs[ sig ] );
- if ( old != __kmp_team_handler ) {
- KB_TRACE( 10, ( "__kmp_remove_one_handler: oops, not our handler, restoring: sig=%d\n", sig ) );
- old = __kmp_signal( sig, old );
- }; // if
- __kmp_sighldrs[ sig ] = NULL;
- __kmp_siginstalled[ sig ] = 0;
- KMP_MB(); // Flush all pending memory write invalidates.
- }; // if
-} // __kmp_remove_one_handler
-
-
-void
-__kmp_install_signals( int parallel_init )
-{
- KB_TRACE( 10, ( "__kmp_install_signals: called\n" ) );
- if ( ! __kmp_handle_signals ) {
- KB_TRACE( 10, ( "__kmp_install_signals: KMP_HANDLE_SIGNALS is false - handlers not installed\n" ) );
- return;
- }; // if
- __kmp_install_one_handler( SIGINT, __kmp_team_handler, parallel_init );
- __kmp_install_one_handler( SIGILL, __kmp_team_handler, parallel_init );
- __kmp_install_one_handler( SIGABRT, __kmp_team_handler, parallel_init );
- __kmp_install_one_handler( SIGFPE, __kmp_team_handler, parallel_init );
- __kmp_install_one_handler( SIGSEGV, __kmp_team_handler, parallel_init );
- __kmp_install_one_handler( SIGTERM, __kmp_team_handler, parallel_init );
-} // __kmp_install_signals
-
-
-void
-__kmp_remove_signals( void )
-{
- int sig;
- KB_TRACE( 10, ("__kmp_remove_signals: called\n" ) );
- for ( sig = 1; sig < NSIG; ++ sig ) {
- __kmp_remove_one_handler( sig );
- }; // for sig
-} // __kmp_remove_signals
-
-
-#endif // KMP_HANDLE_SIGNALS
-
-/* Put the thread to sleep for a time period */
-void
-__kmp_thread_sleep( int millis )
-{
- DWORD status;
-
- status = SleepEx( (DWORD) millis, FALSE );
- if ( status ) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( FunctionError, "SleepEx()" ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
-}
-
-/* Determine whether the given address is mapped into the current address space. */
-int
-__kmp_is_address_mapped( void * addr )
-{
- DWORD status;
- MEMORY_BASIC_INFORMATION lpBuffer;
- SIZE_T dwLength;
-
- dwLength = sizeof(MEMORY_BASIC_INFORMATION);
-
- status = VirtualQuery( addr, &lpBuffer, dwLength );
-
- return !((( lpBuffer.State == MEM_RESERVE) || ( lpBuffer.State == MEM_FREE )) ||
- (( lpBuffer.Protect == PAGE_NOACCESS ) || ( lpBuffer.Protect == PAGE_EXECUTE )));
-}
-
-kmp_uint64
-__kmp_hardware_timestamp(void)
-{
- kmp_uint64 r = 0;
-
- QueryPerformanceCounter((LARGE_INTEGER*) &r);
- return r;
-}
-
-/* Free handle and check the error code */
-void
-__kmp_free_handle( kmp_thread_t tHandle )
-{
-/* called with parameter type HANDLE also, thus suppose kmp_thread_t defined as HANDLE */
- BOOL rc;
- rc = CloseHandle( tHandle );
- if ( !rc ) {
- DWORD error = GetLastError();
- __kmp_msg(
- kmp_ms_fatal,
- KMP_MSG( CantCloseHandle ),
- KMP_ERR( error ),
- __kmp_msg_null
- );
- }
-}
-
-int
-__kmp_get_load_balance( int max ) {
-
- static ULONG glb_buff_size = 100 * 1024;
-
- static int glb_running_threads = 0; /* Saved count of the running threads for the thread balance algortihm */
- static double glb_call_time = 0; /* Thread balance algorithm call time */
-
- int running_threads = 0; // Number of running threads in the system.
- NTSTATUS status = 0;
- ULONG buff_size = 0;
- ULONG info_size = 0;
- void * buffer = NULL;
- PSYSTEM_PROCESS_INFORMATION spi = NULL;
- int first_time = 1;
-
- double call_time = 0.0; //start, finish;
-
- __kmp_elapsed( & call_time );
-
- if ( glb_call_time &&
- ( call_time - glb_call_time < __kmp_load_balance_interval ) ) {
- running_threads = glb_running_threads;
- goto finish;
- }
- glb_call_time = call_time;
-
- // Do not spend time on running algorithm if we have a permanent error.
- if ( NtQuerySystemInformation == NULL ) {
- running_threads = -1;
- goto finish;
- }; // if
-
- if ( max <= 0 ) {
- max = INT_MAX;
- }; // if
-
- do {
-
- if ( first_time ) {
- buff_size = glb_buff_size;
- } else {
- buff_size = 2 * buff_size;
- }
-
- buffer = KMP_INTERNAL_REALLOC( buffer, buff_size );
- if ( buffer == NULL ) {
- running_threads = -1;
- goto finish;
- }; // if
- status = NtQuerySystemInformation( SystemProcessInformation, buffer, buff_size, & info_size );
- first_time = 0;
-
- } while ( status == STATUS_INFO_LENGTH_MISMATCH );
- glb_buff_size = buff_size;
-
- #define CHECK( cond ) \
- { \
- KMP_DEBUG_ASSERT( cond ); \
- if ( ! ( cond ) ) { \
- running_threads = -1; \
- goto finish; \
- } \
- }
-
- CHECK( buff_size >= info_size );
- spi = PSYSTEM_PROCESS_INFORMATION( buffer );
- for ( ; ; ) {
- ptrdiff_t offset = uintptr_t( spi ) - uintptr_t( buffer );
- CHECK( 0 <= offset && offset + sizeof( SYSTEM_PROCESS_INFORMATION ) < info_size );
- HANDLE pid = spi->ProcessId;
- ULONG num = spi->NumberOfThreads;
- CHECK( num >= 1 );
- size_t spi_size = sizeof( SYSTEM_PROCESS_INFORMATION ) + sizeof( SYSTEM_THREAD ) * ( num - 1 );
- CHECK( offset + spi_size < info_size ); // Make sure process info record fits the buffer.
- if ( spi->NextEntryOffset != 0 ) {
- CHECK( spi_size <= spi->NextEntryOffset ); // And do not overlap with the next record.
- }; // if
- // pid == 0 corresponds to the System Idle Process. It always has running threads
- // on all cores. So, we don't consider the running threads of this process.
- if ( pid != 0 ) {
- for ( int i = 0; i < num; ++ i ) {
- THREAD_STATE state = spi->Threads[ i ].State;
- // Count threads that have Ready or Running state.
- // !!! TODO: Why comment does not match the code???
- if ( state == StateRunning ) {
- ++ running_threads;
- // Stop counting running threads if the number is already greater than
- // the number of available cores
- if ( running_threads >= max ) {
- goto finish;
- }
- } // if
- }; // for i
- } // if
- if ( spi->NextEntryOffset == 0 ) {
- break;
- }; // if
- spi = PSYSTEM_PROCESS_INFORMATION( uintptr_t( spi ) + spi->NextEntryOffset );
- }; // forever
-
- #undef CHECK
-
- finish: // Clean up and exit.
-
- if ( buffer != NULL ) {
- KMP_INTERNAL_FREE( buffer );
- }; // if
-
- glb_running_threads = running_threads;
-
- return running_threads;
-
-} //__kmp_get_load_balance()
-