mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-10-31 06:50:53 -07:00 
			
		
		
		
	Some initial boostrapping of new visual ast aux project
This commit is contained in:
		
							
								
								
									
										24
									
								
								project/auxillary/vis_ast/code/platform/macros.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								project/auxillary/vis_ast/code/platform/macros.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| #if INTELLISENSE_DIRECTIVES | ||||
| #include "vendor/compiler.hpp" | ||||
| #endif | ||||
|  | ||||
| #define global        static // Global variables | ||||
| #define internal      static // Internal linkage | ||||
| #define local_persist static // Local Persisting variables | ||||
|  | ||||
| #define api_c extern "C" | ||||
|  | ||||
| #define ccast( type, value ) ( const_cast< type >( (value) ) ) | ||||
| #define pcast( type, value ) ( * reinterpret_cast< type* >( & ( value ) ) ) | ||||
| #define rcast( type, value ) reinterpret_cast< type >( value ) | ||||
| #define scast( type, value ) static_cast< type >( value ) | ||||
|  | ||||
| #define do_once()   for ( local_persist b32 once = true; once; once = false ) | ||||
| #define stmt( ... ) do { __VA_ARGS__; } while ( 0 ) | ||||
|  | ||||
| #define array_count( array ) ( sizeof( array ) / sizeof( ( array )[0] ) ) | ||||
|  | ||||
| #define kilobytes( x ) ( ( x ) * ( s64 )( 1024 ) ) | ||||
| #define megabytes( x ) ( kilobytes( x ) * ( s64 )( 1024 ) ) | ||||
| #define gigabytes( x ) ( megabytes( x ) * ( s64 )( 1024 ) ) | ||||
| #define terabytes( x ) ( gigabytes( x ) * ( s64 )( 1024 ) ) | ||||
							
								
								
									
										9
									
								
								project/auxillary/vis_ast/code/platform/vendor/arch.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								project/auxillary/vis_ast/code/platform/vendor/arch.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| /* Platform architecture */ | ||||
|  | ||||
| #if defined( _WIN64 ) || defined( __x86_64__ ) || defined( _M_X64 ) || defined( __64BIT__ ) || defined( __powerpc64__ ) || defined( __ppc64__ ) || defined( __aarch64__ ) | ||||
| #	ifndef ARCH_64_BIT | ||||
| #		define ARCH_64_BIT 1 | ||||
| #	endif | ||||
| #else | ||||
| #	error A 32-bit architecture is not supported | ||||
| #endif | ||||
							
								
								
									
										21
									
								
								project/auxillary/vis_ast/code/platform/vendor/compiler.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								project/auxillary/vis_ast/code/platform/vendor/compiler.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| // Platform compiler | ||||
|  | ||||
| #if defined( _MSC_VER ) | ||||
| #	define Compiler_MSVC 1 | ||||
| #elif defined( __clang__ ) | ||||
| #	define Compiler_Clang 1 | ||||
| #else | ||||
| #	error "Unknown compiler" | ||||
| #endif | ||||
|  | ||||
| #if defined( __has_attribute ) | ||||
| #	define HAS_ATTRIBUTE( attribute ) __has_attribute( attribute ) | ||||
| #else | ||||
| #	define HAS_ATTRIBUTE( attribute ) ( 0 ) | ||||
| #endif | ||||
|  | ||||
| #ifdef Compiler_Clang | ||||
| #	define compiler_decorated_func_name __PRETTY_NAME__ | ||||
| #elif defined(Compiler_MSVC) | ||||
| #	define compiler_decorated_func_name __FUNCDNAME__ | ||||
| #endif | ||||
							
								
								
									
										34
									
								
								project/auxillary/vis_ast/code/platform/vendor/compiler_ignores.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								project/auxillary/vis_ast/code/platform/vendor/compiler_ignores.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| #pragma once | ||||
| #if INTELLISENSE_DIRECTIVES | ||||
| #include "compiler.hpp" | ||||
| #endif | ||||
|  | ||||
| #ifdef Compiler_MSVC | ||||
| #pragma warning( disable: 4201 ) // Support for non-standard nameless struct or union extesnion | ||||
| #pragma warning( disable: 4100 ) // Support for unreferenced formal parameters | ||||
| #pragma warning( disable: 4800 ) // Support implicit conversion to bools | ||||
| #pragma warning( disable: 4365 ) // Support for signed/unsigned mismatch auto-conversion | ||||
| #pragma warning( disable: 4189 ) // Support for unused variables | ||||
| #pragma warning( disable: 4514 ) // Support for unused inline functions | ||||
| #pragma warning( disable: 4505 ) // Support for unused static functions | ||||
| #pragma warning( disable: 5045 ) // Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified | ||||
| #pragma warning( disable: 5264 ) // Support for 'const' variables unused | ||||
| #pragma warning( disable: 4820 ) // Support auto-adding padding to structs | ||||
| #pragma warning( disable: 4711 ) // Support automatic inline expansion | ||||
| #pragma warning( disable: 4710 ) // Support automatic inline expansion | ||||
| #pragma warning( disable: 4805 ) // Support comparisons of s32 to bool. | ||||
| #pragma warning( disable: 5246 ) // Support for initialization of subobject without braces. | ||||
| #endif | ||||
|  | ||||
| #ifdef Compiler_Clang | ||||
| #pragma clang diagnostic push | ||||
| #pragma clang diagnostic ignored "-Wunused-const-variable" | ||||
| #pragma clang diagnostic ignored "-Wswitch" | ||||
| #pragma clang diagnostic ignored "-Wunused-variable" | ||||
| #pragma clang diagnostic ignored "-Wunused-local-typedef" | ||||
| #pragma clang diagnostic ignored "-Wunknown-pragmas" | ||||
| #pragma clang diagnostic ignored "-Wvarargs" | ||||
| #pragma clang diagnostic ignored "-Wunused-function" | ||||
| #pragma clang diagnostic ignored "-Wunused-but-set-variable" | ||||
| #pragma clang diagnostic ignored "-Wmissing-braces" | ||||
| #endif | ||||
							
								
								
									
										21
									
								
								project/auxillary/vis_ast/code/platform/vendor/os.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								project/auxillary/vis_ast/code/platform/vendor/os.hpp
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| // Platform OS detection | ||||
|  | ||||
| #if defined( _WIN32 ) || defined( _WIN64 ) | ||||
| #	ifndef System_Windows | ||||
| #		define System_Windows 1 | ||||
| #	endif | ||||
| #elif defined( __APPLE__ ) && defined( __MACH__ ) | ||||
| #	ifndef System_MacOS | ||||
| #		define System_MacOS 1 | ||||
| #	endif | ||||
| #elif defined( __unix__ ) | ||||
| #	if defined( __linux__ ) | ||||
| #		ifndef System_Linux | ||||
| #			define System_linux 1 | ||||
| #		endif | ||||
| #	else | ||||
| #		error This UNIX operating system is not supported | ||||
| #	endif | ||||
| #else | ||||
| #	error This operating system is not supported | ||||
| #endif | ||||
							
								
								
									
										10
									
								
								project/auxillary/vis_ast/code/vis_ast_windows.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								project/auxillary/vis_ast/code/vis_ast_windows.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #include "platform/vendor/arch.hpp" | ||||
| #include "platform/vendor/compiler.hpp" | ||||
| #include "platform/vendor/compiler_ignores.hpp" | ||||
| #include "platform/vendor/os.hpp" | ||||
|  | ||||
| #include "platform/macros.hpp" | ||||
|  | ||||
| #include "platform/win32/types.hpp" | ||||
|  | ||||
| #include "platform/win32/launch.cpp" | ||||
		Reference in New Issue
	
	Block a user