ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
internal.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file internal.h
1
/* internal.h
2
3
Internal definitions used by Expat. This is not needed to compile
4
client code.
5
6
The following calling convention macros are defined for frequently
7
called functions:
8
9
FASTCALL - Used for those internal functions that have a simple
10
body and a low number of arguments and local variables.
11
12
PTRCALL - Used for functions called though function pointers.
13
14
PTRFASTCALL - Like PTRCALL, but for low number of arguments.
15
16
inline - Used for selected internal functions for which inlining
17
may improve performance on some platforms.
18
19
Note: Use of these macros is based on judgement, not hard rules,
20
and therefore subject to change.
21
*/
22
23
#if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__)
24
/* We'll use this version by default only where we know it helps.
25
26
regparm() generates warnings on Solaris boxes. See SF bug #692878.
27
28
Instability reported with egcs on a RedHat Linux 7.3.
29
Let's comment out:
30
#define FASTCALL __attribute__((stdcall, regparm(3)))
31
and let's try this:
32
*/
33
#define FASTCALL __attribute__((regparm(3)))
34
#define PTRFASTCALL __attribute__((regparm(3)))
35
#endif
36
37
/* Using __fastcall seems to have an unexpected negative effect under
38
MS VC++, especially for function pointers, so we won't use it for
39
now on that platform. It may be reconsidered for a future release
40
if it can be made more effective.
41
Likely reason: __fastcall on Windows is like stdcall, therefore
42
the compiler cannot perform stack optimizations for call clusters.
43
*/
44
45
/* Make sure all of these are defined if they aren't already. */
46
47
#ifndef FASTCALL
48
#define FASTCALL
49
#endif
50
51
#ifndef PTRCALL
52
#define PTRCALL
53
#endif
54
55
#ifndef PTRFASTCALL
56
#define PTRFASTCALL
57
#endif
58
59
#ifndef XML_MIN_SIZE
60
#if !defined(__cplusplus) && !defined(inline)
61
#ifdef __GNUC__
62
#define inline __inline
63
#endif
/* __GNUC__ */
64
#endif
65
#endif
/* XML_MIN_SIZE */
66
67
#ifdef __cplusplus
68
#define inline inline
69
#else
70
#ifndef inline
71
#define inline
72
#endif
73
#endif
geant4
tree
geant4-10.6-release
source
externals
expat
src
internal.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:15
using
1.8.2 with
ECCE GitHub integration