removing C code, opting to mess around in odin.

This commit is contained in:
2025-06-15 16:32:43 -04:00
parent a54f4b0b57
commit 06212960ce
15 changed files with 164 additions and 562 deletions

1
code/asm/readme.md Normal file
View File

@ -0,0 +1 @@
# Handwritten assembly

6
code/yasm.odin Normal file
View File

@ -0,0 +1,6 @@
package yasm
main :: proc()
{
}

121
scripts/build.odin Normal file
View File

@ -0,0 +1,121 @@
package build
//region Script Grime
import mem "core:mem"
import vmem "core:mem/virtual"
import os "core:os/os2"
import "core:fmt"
import _strings "core:strings"
StrGen :: _strings.Builder
strgen_init :: _strings.builder_init
strgen_join :: _strings.join
join_path :: #force_inline proc(elems : ..string) -> string { res, _ := os.join_path(transmute([]string)elems, context.allocator); return transmute(string)res }
get_working_dir :: #force_inline proc() -> string { res, _ := os.get_working_directory(context.allocator); return transmute(string)res }
join_str :: #force_inline proc(elems : ..string) -> string {
gen : StrGen; strgen_init(& gen, context.allocator)
res, _ := strgen_join(elems, "")
return res
}
// For a beakdown of any flag, type <odin_compiler> <command> -help
command_build :: "build"
command_check :: "check"
command_query :: "query"
command_report :: "report"
command_run :: "run"
flag_build_mode :: "-build-mode:"
flag_build_mode_dll :: "-build-mode:dll"
flag_collection :: "-collection:"
flag_file :: "-file"
flag_debug :: "-debug"
flag_define :: "-define:"
flag_default_allocator_nil :: "-default-to-nil-allocator"
flag_disable_assert :: "-disable-assert"
flag_dynamic_map_calls :: "-dynamic-map-calls"
flag_extra_assembler_flags :: "-extra_assembler-flags:"
flag_extra_linker_flags :: "-extra-linker-flags:"
flag_ignore_unknown_attributes :: "-ignore-unknown-attributes"
flag_keep_temp_files :: "-keep-temp-files"
flag_max_error_count :: "-max-error-count:"
flag_micro_architecture_native :: "-microarch:native"
flag_no_bounds_check :: "-no-bounds-check"
flag_no_crt :: "-no-crt"
flag_no_entrypoint :: "-no-entry-point"
flag_no_thread_local :: "-no-thread-local"
flag_no_thread_checker :: "-no-threaded-checker"
flag_output_path :: "-out="
flag_optimization_level :: "-opt:"
flag_optimize_none :: "-o:none"
flag_optimize_minimal :: "-o:minimal"
flag_optimize_size :: "-o:size"
flag_optimize_speed :: "-o:speed"
falg_optimize_aggressive :: "-o:aggressive"
flag_pdb_name :: "-pdb-name:"
flag_sanitize_address :: "-sanitize:address"
flag_sanitize_memory :: "-sanitize:memory"
flag_sanitize_thread :: "-sanitize:thread"
flag_subsystem :: "-subsystem:"
flag_show_debug_messages :: "-show-debug-messages"
flag_show_timings :: "-show-timings"
flag_show_more_timings :: "-show-more-timings"
flag_show_system_calls :: "-show-system-calls"
flag_target :: "-target:"
flag_thread_count :: "-thread-count:"
flag_use_lld :: "-lld"
flag_use_separate_modules :: "-use-separate-modules"
flag_vet_all :: "-vet"
flag_vet_unused_entities :: "-vet-unused"
flag_vet_semicolon :: "-vet-semicolon"
flag_vet_shadow_vars :: "-vet-shadowing"
flag_vet_using_stmt :: "-vet-using-stmt"
flag_microarch_zen5 :: "--microarch:znver5"
flag_rad_linker :: "-radlink"
flag_msvc_link_disable_dynamic_base :: "/DYNAMICBASE:NO"
flag_msvc_link_base_address :: "/BASE:"
flag_msvc_link_fixed_base_address :: "/FIXED"
flag_msvc_link_stack_size :: "/STACK"
flag_msvc_link_debug :: "/DEBUG"
msvc_link_default_base_address :: 0x180000000
//endregion Script Grime
build :: proc(working_dir : string, args : []string) -> (stdout : string, stderr : string) {
fmt.println("Building:", args)
res, errs : []byte; _, res, errs, _ = os.process_exec({ working_dir = working_dir, command = args}, context.allocator)
return transmute(string)res, transmute(string)errs;
}
main :: proc() {
varena : vmem.Arena; _ = vmem.arena_init_growing(& varena, mem.Megabyte * 64 ); context.allocator = vmem.arena_allocator(& varena)
exe_odin :: "odin.exe"
path_root := get_working_dir()
path_build := join_path(path_root, "build")
path_code := join_path(path_root, "code")
file_source := join_path(path_code, "yasm.odin")
file_exe := join_path(path_build, "yasm.exe")
res, errs := build(path_build, {
exe_odin,
command_build,
file_source,
flag_file,
join_str(flag_output_path, file_exe),
flag_optimize_none,
flag_default_allocator_nil,
flag_debug,
flag_microarch_zen5,
flag_rad_linker,
flag_no_thread_checker,
flag_show_timings,
join_str(flag_subsystem, "console"),
})
fmt.println(res)
fmt.println(errs)
}

View File

@ -1,22 +1,41 @@
$misc = join-path $PSScriptRoot 'helpers/misc.ps1'
. $misc
$path_root = split-path -Path $PSScriptRoot -Parent
$path_build = join-path $path_root 'build'
$path_code = join-path $path_root 'code'
$update_deps = join-path $PSScriptRoot 'update_deps.ps1'
. $update_deps
$path_source = join-path $PSScriptRoot 'build.odin'
$exe = join-path $path_build 'build_win32.exe'
$path_root = git rev-parse --show-toplevel
$path_build = join-path $path_root 'build'
$path_scripts = join-path $path_root 'scripts'
$path_source = join-path $path_root 'source'
$path_toolchain = join-path $path_root 'toolchain'
if ((test-path $path_build) -eq $false) {
new-item -itemtype directory -path $path_build
}
verify-path $path_build
push-location $path_build
function build-hello {
}
build-hello
$odin = 'odin.exe'
function build-copy_hello {
}
# build-copy_hello
$command_build = 'build'
$flag_debug = '-debug'
$flag_file = '-file'
$flag_dyn_map_calls = '-dynamic-map-calls'
$flag_no_bounds_check = '-no-bounds-check'
$flag_no_threaded_checker = '-no-threaded-checker'
$flag_no_type_assert = '-no-type-assert'
$flag_optimize_none = '-o:none'
$flag_output_path = '-out='
$flag_default_allocator_nil = '-default-to-nil-allocator'
push-location $path_root
$build_args = @()
$build_args += $command_build
$build_args += $path_source
$build_args += $flag_file
# $build_args += $flag_debug
$build_args += $flag_optimize_none
$build_args += $flag_no_bounds_check
$build_args += $flag_no_threaded_checker
$build_args += $flag_no_type_assert
$build_args += $flag_dyn_map_calls
$build_args += $flag_default_allocator_nil
$build_args += $flag_output_path + $exe
& $odin $build_args
& $exe
pop-location

View File

@ -1,125 +0,0 @@
#ifdef INTELLISENSE_DIRECTIVES
# pragma once
# include "macros.hpp"
#endif
#pragma region Basic Types
#define U8_MIN 0u
#define U8_MAX 0xffu
#define I8_MIN ( -0x7f - 1 )
#define I8_MAX 0x7f
#define U16_MIN 0u
#define U16_MAX 0xffffu
#define I16_MIN ( -0x7fff - 1 )
#define I16_MAX 0x7fff
#define U32_MIN 0u
#define U32_MAX 0xffffffffu
#define I32_MIN ( -0x7fffffff - 1 )
#define I32_MAX 0x7fffffff
#define U64_MIN 0ull
#define U64_MAX 0xffffffffffffffffull
#define I64_MIN ( -0x7fffffffffffffffll - 1 )
#define I64_MAX 0x7fffffffffffffffll
#if defined( ARCH_32_BIT )
# define USIZE_MIN GEN_U32_MIN
# define USIZE_MAX GEN_U32_MAX
# define ISIZE_MIN GEN_S32_MIN
# define ISIZE_MAX GEN_S32_MAX
#elif defined( ARCH_64_BIT )
# define USIZE_MIN GEN_U64_MIN
# define USIZE_MAX GEN_U64_MAX
# define ISIZE_MIN GEN_I64_MIN
# define ISIZE_MAX GEN_I64_MAX
#else
# error Unknown architecture size. This library only supports 32 bit and 64 bit architectures.
#endif
#define F32_MIN 1.17549435e-38f
#define F32_MAX 3.40282347e+38f
#define F64_MIN 2.2250738585072014e-308
#define F64_MAX 1.7976931348623157e+308
#if defined( GEN_COMPILER_MSVC )
# if _MSC_VER < 1300
typedef unsigned char u8;
typedef signed char s8;
typedef unsigned short u16;
typedef signed short s16;
typedef unsigned int u32;
typedef signed int s32;
# else
typedef unsigned __int8 u8;
typedef signed __int8 s8;
typedef unsigned __int16 u16;
typedef signed __int16 s16;
typedef unsigned __int32 u32;
typedef signed __int32 s32;
# endif
typedef unsigned __int64 u64;
typedef signed __int64 s64;
#else
# include <stdint.h>
typedef uint8_t u8;
typedef int8_t s8;
typedef uint16_t u16;
typedef int16_t s16;
typedef uint32_t u32;
typedef int32_t s32;
typedef uint64_t u64;
typedef int64_t s64;
#endif
static_assert( sizeof( u8 ) == sizeof( s8 ), "sizeof(u8) != sizeof(s8)" );
static_assert( sizeof( u16 ) == sizeof( s16 ), "sizeof(u16) != sizeof(s16)" );
static_assert( sizeof( u32 ) == sizeof( s32 ), "sizeof(u32) != sizeof(s32)" );
static_assert( sizeof( u64 ) == sizeof( s64 ), "sizeof(u64) != sizeof(s64)" );
static_assert( sizeof( u8 ) == 1, "sizeof(u8) != 1" );
static_assert( sizeof( u16 ) == 2, "sizeof(u16) != 2" );
static_assert( sizeof( u32 ) == 4, "sizeof(u32) != 4" );
static_assert( sizeof( u64 ) == 8, "sizeof(u64) != 8" );
typedef size_t usize;
typedef ptrdiff_t ssize;
static_assert( sizeof( usize ) == sizeof( ssize ), "sizeof(usize) != sizeof(ssize)" );
// NOTE: (u)zpl_intptr is only here for semantic reasons really as this library will only support 32/64 bit OSes.
#if defined( _WIN64 )
typedef signed __int64 sptr;
typedef unsigned __int64 uptr;
#elif defined( _WIN32 )
// NOTE; To mark types changing their size, e.g. zpl_intptr
# ifndef _W64
# if ! defined( __midl ) && ( defined( _X86_ ) || defined( _M_IX86 ) ) && _MSC_VER >= 1300
# define _W64 __w64
# else
# define _W64
# endif
# endif
typedef _W64 signed int sptr;
typedef _W64 unsigned int uptr;
#else
typedef uintptr_t uptr;
typedef intptr_t sptr;
#endif
static_assert( sizeof( uptr ) == sizeof( sptr ), "sizeof(uptr) != sizeof(sptr)" );
typedef float f32;
typedef double f64;
static_assert( sizeof( f32 ) == 4, "sizeof(f32) != 4" );
static_assert( sizeof( f64 ) == 8, "sizeof(f64) != 8" );
typedef s8 b8;
typedef s16 b16;
typedef s32 b32;
#pragma endregion Basic Types

View File

@ -1,63 +0,0 @@
#ifdef INTELLISENSE_DIRECTIVES
# pragma once
# include "basic_types.hpp"
#endif
#pragma region Debug
#if defined( _MSC_VER )
# if _MSC_VER < 1300
# define DEBUG_TRAP() __asm int 3 /* Trap to debugger! */
# else
# define debug_trap() __debugbreak()
# endif
#elif defined( GEN_COMPILER_TINYC )
# define DEBUG_TRAP() process_exit( 1 )
#else
# define DEBUG_TRAP() __builtin_trap()
#endif
#define ASSERT( cond ) ASSERT( cond, NULL )
#define ASSERT_MSG( cond, msg, ... ) \
do \
{ \
if ( ! ( cond ) ) \
{ \
assert_handler( #cond, __FILE__, scast( s64, __LINE__ ), msg, ##__VA_ARGS__ ); \
GEN_DEBUG_TRAP(); \
} \
} while ( 0 )
#define ASSERT_NOT_NULL( ptr ) ASSERT_MSG( ( ptr ) != NULL, #ptr " must not be NULL" )
// NOTE: Things that shouldn't happen with a message!
#define PANIC( msg, ... ) ASSERT_MSG( 0, msg, ##__VA_ARGS__ )
#if Build_Debug
#define FATAL( ... ) \
do \
{ \
local_persist thread_local \
char buf[GEN_PRINTF_MAXLEN] = { 0 }; \
\
str_fmt(buf, PRINTF_MAXLEN, __VA_ARGS__); \
PANIC(buf); \
} \
while (0)
#else
# define FATAL( ... ) \
do \
{ \
str_fmt_out_err( __VA_ARGS__ ); \
process_exit(1); \
} \
while (0)
#endif
void assert_handler( char const* condition, char const* file, s32 line, char const* msg, ... );
s32 assert_crash( char const* condition );
void process_exit( u32 code );
#pragma endregion Debug

View File

@ -1,183 +0,0 @@
#ifdef INTELLISENSE_DIRECTIVES
# pragma once
#endif
#pragma region Macros
#ifndef global
#define global static // Global variables
#endif
#ifndef internal
#define internal static // Internal linkage
#endif
#ifndef local_persist
#define local_persist static // Local Persisting variables
#endif
#ifndef api_c
#define api_c extern "C"
#endif
#ifndef bit
#define bit( Value ) ( 1 << Value )
#define bitfield_is_equal( Type, Field, Mask ) ( (Type(Mask) & Type(Field)) == Type(Mask) )
#endif
#ifndef cast
#define cast( type, value ) ( (type)(value) )
#endif
#ifndef ccast
#define ccast( type, value ) ( const_cast< type >( (value) ) )
#endif
#ifndef pcast
#define pcast( type, value ) ( * reinterpret_cast< type* >( & ( value ) ) )
#endif
#ifndef rcast
#define rcast( type, value ) reinterpret_cast< type >( value )
#endif
#ifndef scast
#define scast( type, value ) static_cast< type >( value )
#endif
#ifndef stringize
#define stringize_va( ... ) #__VA_ARGS__
#define stringize( ... ) stringize_va( __VA_ARGS__ )
#endif
#ifndef do_once
#define do_once( statement ) for ( local_persist b32 once = true; once; once = false, (statement) )
#define do_once_start \
do \
{ \
local_persist \
bool done = false; \
if ( done ) \
break; \
done = true;
#define do_once_end \
} \
while(0);
#endif
#ifndef labeled_scope_start
#define labeled_scope_start if ( false ) {
#define labeled_scope_end }
#endif
#ifndef compiler_decorated_func_name
# ifdef COMPILER_CLANG
# define compiler_decorated_func_name __PRETTY_NAME__
# elif defined(COMPILER_MSVC)
# define compiler_decorated_func_name __FUNCDNAME__
# endif
#endif
#ifndef num_args_impl
#define num_args_impl( _0, \
_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \
_11, _12, _13, _14, _15, _16, _17, _18, _19, _20, \
_21, _22, _23, _24, _25, _26, _27, _28, _29, _30, \
_31, _32, _33, _34, _35, _36, _37, _38, _39, _40, \
_41, _42, _43, _44, _45, _46, _47, _48, _49, _50, \
_51, _52, _53, _54, _55, _56, _57, _58, _59, _60, \
_61, _62, _63, _64, _65, _66, _67, _68, _69, _70, \
_71, _72, _73, _74, _75, _76, _77, _78, _79, _80, \
_81, _82, _83, _84, _85, _86, _87, _88, _89, _90, \
_91, _92, _93, _94, _95, _96, _97, _98, _99, _100, \
N, ... \
) N
// ## deletes preceding comma if _VA_ARGS__ is empty (GCC, Clang)
#define num_args(...) \
num_args_impl(_, ## __VA_ARGS__, \
100, 99, 98, 97, 96, 95, 94, 93, 92, 91, \
90, 89, 88, 87, 86, 85, 84, 83, 82, 81, \
80, 79, 78, 77, 76, 75, 74, 73, 72, 71, \
70, 69, 68, 67, 66, 65, 64, 63, 62, 61, \
60, 59, 58, 57, 56, 55, 54, 53, 52, 51, \
50, 49, 48, 47, 46, 45, 44, 43, 42, 41, \
40, 39, 38, 37, 36, 35, 34, 33, 32, 31, \
30, 29, 28, 27, 26, 25, 24, 23, 22, 21, \
20, 19, 18, 17, 16, 15, 14, 13, 12, 11, \
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, \
0 \
)
#endif
#ifndef clamp
#define clamp( x, lower, upper ) min( max( ( x ), ( lower ) ), ( upper ) )
#endif
#ifndef count_of
#define count_of( x ) ( ( size_of( x ) / size_of( 0 [ x ] ) ) / ( ( ssize )( ! ( size_of( x ) % size_of( 0 [ x ] ) ) ) ) )
#endif
#ifndef is_between
#define is_between( x, lower, upper ) ( ( ( lower ) <= ( x ) ) && ( ( x ) <= ( upper ) ) )
#endif
#ifndef size_of
#define size_of( x ) ( ssize )( sizeof( x ) )
#endif
#ifndef max
#define max( a, b ) ( (a > b) ? (a) : (b) )
#endif
#ifndef min
#define min( a, b ) ( (a < b) ? (a) : (b) )
#endif
#if defined( _MSC_VER ) || defined( GEN_COMPILER_TINYC )
# define offset_of( Type, element ) ( ( GEN_NS( ssize ) ) & ( ( ( Type* )0 )->element ) )
#else
# define offset_of( Type, element ) __builtin_offsetof( Type, element )
#endif
#ifndef forceinline
# ifdef GEN_COMPILER_MSVC
# define forceinline __forceinline
# define neverinline __declspec( noinline )
# elif defined(GEN_COMPILER_GCC)
# define forceinline inline __attribute__((__always_inline__))
# define neverinline __attribute__( ( __noinline__ ) )
# elif defined(GEN_COMPILER_CLANG)
# if __has_attribute(__always_inline__)
# define forceinline inline __attribute__((__always_inline__))
# define neverinline __attribute__( ( __noinline__ ) )
# else
# define forceinline
# define neverinline
# endif
# else
# define forceinline
# define neverinline
# endif
#endif
#ifndef neverinline
# ifdef GEN_COMPILER_MSVC
# define neverinline __declspec( noinline )
# elif defined(GEN_COMPILER_GCC)
# define neverinline __attribute__( ( __noinline__ ) )
# elif defined(GEN_COMPILER_CLANG)
# if __has_attribute(__always_inline__)
# define neverinline __attribute__( ( __noinline__ ) )
# else
# define neverinline
# endif
# else
# define neverinline
# endif
#endif
#if !defined(typeof) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L)
# if defined(_MSC_VER)
# define typeof(x) __typeof(x)
# elif defined(__GNUC__) || defined(__clang__)
# define typeof(x) __typeof__(x)
# else
# error "Compiler not supported"
# endif
#endif
#pragma endregion Macros

View File

@ -1,25 +0,0 @@
#ifdef INTELLISENSE_DIRECTIVES
# pragma once
# include "debug.h"
#endif
#pragma region Memory
#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 ) )
#define _ONES ( cast( usize, - 1) / U8_MAX )
#define _HIGHS ( GEN__ONES * ( U8_MAX / 2 + 1 ) )
#define _HAS_ZERO( x ) ( ( ( x ) - _ONES ) & ~( x ) & _HIGHS )
#define swap( a, b ) \
do { \
typeof(a) \
temp = (a); \
(a) = (b); \
(b) = temp; \
} while(0)
#pragma endregion Memory

View File

@ -1,115 +0,0 @@
#ifdef INTELLISENSE_DIRECTIVES
# pragma once
#endif
#pragma region Platform Detection
/* 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
# ifndef ARCH_32_BItxt_StrCaT
# define ARCH_32_BIT 1
# endif
#endif
/* Platform OS */
#if defined( _WIN32 ) || defined( _WIN64 )
# ifndef SYSTEM_WINDOWS
# define SYSTEM_WINDOWS 1
# endif
#elif defined( __APPLE__ ) && defined( __MACH__ )
# ifndef SYSTEM_OSX
# define SYSTEM_OSX 1
# endif
# ifndef SYSTEM_MACOS
# define SYSTEM_MACOS 1
# endif
# include <TargetConditionals.h>
# if TARGET_IPHONE_SIMULATOR == 1 || TARGET_OS_IPHONE == 1
# ifndef SYSTEM_IOS
# define SYSTEM_IOS 1
# endif
# endif
#elif defined( __unix__ )
# ifndef SYSTEM_UNIX
# define SYSTEM_UNIX 1
# endif
# if defined( ANDROID ) || defined( __ANDROID__ )
# ifndef SYSTEM_ANDROID
# define SYSTEM_ANDROID 1
# endif
# ifndef SYSTEM_LINUX
# define SYSTEM_LINUX 1
# endif
# elif defined( __linux__ )
# ifndef SYSTEM_LINUX
# define SYSTEM_LINUX 1
# endif
# elif defined( __FreeBSD__ ) || defined( __FreeBSD_kernel__ )
# ifndef SYSTEM_FREEBSD
# define SYSTEM_FREEBSD 1
# endif
# elif defined( __OpenBSD__ )
# ifndef SYSTEM_OPENBSD
# define SYSTEM_OPENBSD 1
# endif
# elif defined( __EMSCRIPTEN__ )
# ifndef SYSTEM_EMSCRIPTEN
# define SYSTEM_EMSCRIPTEN 1
# endif
# elif defined( __CYGWIN__ )
# ifndef SYSTEM_CYGWIN
# define SYSTEM_CYGWIN 1
# endif
# else
# error This UNIX operating system is not supported
# endif
#else
# error This operating system is not supported
#endif
/* Platform compiler */
#if defined( _MSC_VER )
# define COMPILER_MSVC 1
#elif defined( __GNUC__ )
# define COMPILER_GCC 1
#elif defined( __clang__ )
# define COMPILER_CLANG 1
#elif defined( __MINGW32__ )
# define COMPILER_MINGW 1
# error Unknown compiler
#endif
#if defined( __has_attribute )
# define HAS_ATTRIBUTE( attribute ) __has_attribute( attribute )
#else
# define HAS_ATTRIBUTE( attribute ) ( 0 )
#endif
#if defined(GCC_VERSION_CHECK)
# undef GCC_VERSION_CHECK
#endif
#if defined(GCC_VERSION)
# define GCC_VERSION_CHECK(major,minor,patch) (GCC_VERSION >= VERSION_ENCODE(major, minor, patch))
#else
# define GCC_VERSION_CHECK(major,minor,patch) (0)
#endif
#pragma endregion Platform Detection
#pragma region Mandatory Includes
# include <stdarg.h>
# include <stddef.h>
# if defined( SYSTEM_WINDOWS )
# include <intrin.h>
# endif
#pragma endregion Mandatory Includes

View File

@ -1,7 +0,0 @@
#ifdef __clang__
# pragma clang diagnostic pop
#endif
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif

View File

@ -1,18 +0,0 @@
#ifdef __clang__
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wunused-const-variable"
# pragma clang diagnostic ignored "-Wunused-but-set-variable"
# pragma clang diagnostic ignored "-Wswitch"
# pragma clang diagnostic ignored "-Wunused-variable"
# pragma clang diagnostic ignored "-Wunknown-pragmas"
# pragma clang diagnostic ignored "-Wvarargs"
# pragma clang diagnostic ignored "-Wunused-function"
#endif
#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wunknown-pragmas"
# pragma GCC diagnostic ignored "-Wcomment"
# pragma GCC diagnostic ignored "-Wswitch"
# pragma GCC diagnostic ignored "-Wunused-variable"
#endif

View File

@ -1,9 +0,0 @@
#include "base/push_ignores.inline.h"
#include "base/platform.h"
#include "base/macros.h"
#include "base/basic_types.h"
#include "base/debug.h"
#include "base/memory.h"
#include "base/pop_ignores.inline.h"