2 Permission is granted to use, modify, and / or redistribute at will.
4 This includes removing authorship notices, re-use of code parts in
5 other software (with or without giving credit), and / or creating a
6 commercial product based on it.
8 This permission is not revocable by the author.
10 This software is provided as-is. Use it at your own risk. There is
11 no warranty whatsoever, neither expressed nor implied, and by using
12 this software you accept that the author(s) shall not be held liable
13 for any loss of data, loss of service, or other damages, be they
14 incidental or consequential. Your only option other than accepting
15 this is not to use the software at all.
17 #ifndef _LIGHTLIBCPP_COMPILER_HPP
18 #define _LIGHTLIBCPP_COMPILER_HPP
24 * Used to declare a function that does not return. This allows the compiler
25 * better optimisations.
28 * Wird benutzt um eine Funktion zu deklarieren, die nicht zum aufrufenden
29 * Code zurückkehrt. Dies erlaubt dem Compiler besser zu optimieren.
32 #define _LIGHTLIBCPP_NORETURN __attribute__((noreturn))
36 * Used to declare classes, functions, variables and types deprecated. When
37 * a deprecated entity is used, the compiler issues a warning or an error
40 * Wird benutzt um Klassen, Funktionen, Variablen und Typen als veraltet zu
41 * markieren. Bei Benutzung eines dieser Objekte wird der Compiler eine
42 * Warnung oder eine Fehlermeldung ausgeben.
45 #define _LIGHTLIBCPP_DEPRECATED __attribute__((deprecated))
47 #ifdef _LIGHTLIBCPP_CPP10_STRICT
50 * See _LIGHTLIBCPP_DEPRECATED for an explanation of what the define does,
51 * This define however is used to indicate that a C++03 feature is
52 * deprecated with C++10.
55 * Siehe _LIGHTLIBCPP_DEPRECATED. Dieses Makro wird im Gegensatz zu
56 * _LIGHTLIBCPP_DEPRECATED verwendet um anzuzeigen, dass das Feature von
57 * C++03 mit C++10 als veraltet ist.
60 #define _LIGHTLIBCPP_DEPRECATED_CPP10 _LIGHTLIBCPP_DEPRECATED
62 #define _LIGHTLIBCPP_DEPRECATED_CPP10