Revision history for KeyPgCvaList


Revision [22635]

Last edited on 2019-03-11 20:40:38 by JeffMarshall [add default cva_list data type declarations]
Additions:
fbc will select a default ##**cva_list**## type depending on [[CompilerOpttarget|-target]], [[CompilerOptarch|-arch]], and [[CompilerOptgen|-gen]] command line options, as described in the following code.
%%(freebasic)
#if (__FB_BACKEND__ = "gcc")
#if defined( __FB_64BIT__ )
#if defined( __FB_ARM__ )
type __va_list alias "__va_list"
as any ptr __stack
as any ptr __gr_top
as any ptr __vr_top
as long __gr_offs
as long __vr_offs
end type
type cva_list as __va_list alias "__builtin_va_list"
#elseif defined( __FB_WIN32__ )
type cva_list as any alias "__builtin_va_list" ptr
#else
type __va_list_tag alias "__va_list_tag"
as ulong gp_offset
as ulong fp_offset
as any ptr overflow_arg_area
as any ptr reg_save_area
end type
type cva_list as __va_list_tag alias "__builtin_va_list[]"
#endif
#else
type cva_list as any alias "__builtin_va_list" ptr
#endif
#else
type cva_list as any alias "char" ptr
#endif
Deletions:
fbc will select a default ##**cva_list**## type depending on [[CompilerOpttarget|-target]], [[CompilerOptarch|-arch]], and [[CompilerOptgen|-gen]] command line options.


Revision [22616]

Edited on 2019-03-11 05:14:55 by JeffMarshall [add in mising quotes]
Additions:
- In ##[[CompilerOptgen|-gen gcc]]##, ##**cva_list**## is a pointer, a struct, or a struct array. The ##**cva_list**## type is replaced by ##"""__builtin_va_list"""## in gcc.
- On 32-bit targets, gcc backend: ##type **cva_list** as any alias """__builtin_va_list""" ptr##
- On Windows 64-bit, gcc backend: ##type **cva_list** as any alias """__builtin_va_list""" ptr##
- On Linux x86_64, gcc backend: ##type **cva_list** as """__va_list_tag""" alias """__builtin_va_list[]"""##
- On arm64, gcc backend: ##type **cva_list** as ""__va_list alias"" """__builtin_va_list"""##
Deletions:
- In ##[[CompilerOptgen|-gen gcc]]##, ##**cva_list**## is a pointer, a struct, or a struct array. The ##**cva_list**## type is replaced by ##""__builtin_va_list""## in gcc.
- On 32-bit targets, gcc backend: ##type **cva_list** as any alias ""__builtin_va_list"" ptr##
- On Windows 64-bit, gcc backend: ##type **cva_list** as any alias ""__builtin_va_list"" ptr##
- On Linux x86_64, gcc backend: ##type **cva_list** as ""__va_list_tag"" alias ""__builtin_va_list[]""##
- On arm64, gcc backend: ##type **cva_list** as ""__va_list alias"" ""__builtin_va_list""##


Revision [22600]

The oldest known version of this page was created on 2019-03-10 14:12:55 by JeffMarshall [add in mising quotes]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki



sf.net phatcode