Mantid
Loading...
Searching...
No Matches
System.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2007 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9/*******************************************************************************
10 * READ THIS!! (AND THEN READ IT AGAIN)
11 *
12 *
13 * PLEASE DON'T EDIT THIS FILE UNLESS ADDING SOMETHING THAT ABSOLUTELY
14 * MUST BE SEEN BY **EVERY** FILE IN MANTID
15 *
16 *
17 *******************************************************************************/
18
19/* A system-wide file to contain, e.g., useful system-dependent macros
20 *
21 * @author Russell Taylor, Tessella Support Services plc
22 */
23
27#ifdef _WIN32
28// Export/Import declarations
29#define DLLExport __declspec(dllexport)
30#define DLLImport __declspec(dllimport)
31#define EXTERN_IMPORT extern
32#elif defined(__GNUC__) && !defined(__clang__)
33#define DLLExport __attribute__((visibility("default")))
34#define DLLImport
35#define EXTERN_IMPORT extern
36#else
37#define DLLExport
38#define DLLImport
39#define EXTERN_IMPORT
40#endif
41
47#ifndef UNUSED_ARG
48#define UNUSED_ARG(x) (void)x;
49#endif
50
54#if (defined(__GNUC__) || defined(__clang__))
55#define DEPRECATED(func) func __attribute__((deprecated))
56#elif defined(_MSC_VER)
57#define DEPRECATED(func) __declspec(deprecated) func
58#else
59#pragma message("WARNING: You need to implement DEPRECATED for this compiler")
60#define DEPRECATED(func) func
61#endif
62
66#include <cstddef>
67#include <cstdint>