Fixes for building all library types

This commit is contained in:
Edward R. Gonzalez 2025-01-30 13:57:42 -05:00
parent 16bc66c80e
commit bdd9c9bcdf
3 changed files with 11 additions and 3 deletions

View File

@ -2045,9 +2045,12 @@ Token parse_identifier( bool* possible_member_function )
Token name = currtok;
_ctx->parser.Scope->Name = name.Text;
Macro* macro = lookup_macro(currtok.Text);
b32 accept_as_identifier = macro && bitfield_is_set(MacroFlags, macro->Flags, MF_Allow_As_Identifier );
// Typename can be: '::' <name>
// If that is the case first option will be Tok_Access_StaticSymbol below
if (check(Tok_Identifier))
if (check(Tok_Identifier) || accept_as_identifier)
eat( Tok_Identifier );
// <Name>

View File

@ -25,8 +25,12 @@
#endif
#endif // GEN_API
#ifndef global
#define global static // Global variables
#ifndef global // Global variables
# ifdef GEN_DYN_EXPORT
# define global
# else
# define global static
# endif
#endif
#ifndef internal
#define internal static // Internal linkage

View File

@ -280,6 +280,7 @@ if ( $c_lib_dyn )
$compiler_args += $flag_c11
$compiler_args += ( $flag_define + 'GEN_DYN_LINK' )
$compiler_args += ( $flag_define + 'GEN_DYN_EXPORT' )
$compiler_args += ( $flag_define + 'GEN_DEFINE_LIBRARY_CODE_CONSTANTS' )
$linker_args = @()
$result = build-simple $path_build $includes $compiler_args $linker_args $unit $path_dll