Browse Source

Add EA_GET_INSTRUCTION_POINTER

Rojo 4 months ago
parent
commit
b89b6ff26b
1 changed files with 13 additions and 0 deletions
  1. 13 0
      include/Common/EABase/eabase.h

+ 13 - 0
include/Common/EABase/eabase.h

@@ -1004,6 +1004,19 @@
 	#include <EABase/int128.h>
 	#include <EABase/int128.h>
 #endif
 #endif
 
 
+
+#if !defined(EA_GET_INSTRUCTION_POINTER)
+	#if defined(EA_COMPILER_CLANG) || defined(EA_COMPILER_GNUC)
+		#define EA_GET_INSTRUCTION_POINTER() []()EA_NO_INLINE{ return __builtin_return_address(0); }()
+	#elif defined(EA_COMPILER_MSVC) && !defined(_MANAGED)
+		#include <intrin.h>
+		#define EA_GET_INSTRUCTION_POINTER() []()EA_NO_INLINE{ return _ReturnAddress(); }()
+	#else
+		#define EA_GET_INSTRUCTION_POINTER() nullptr
+	#endif
+#endif
+
+
 #endif // Header include guard
 #endif // Header include guard