Advertisement

2.16.0 Crash on 64bit Linux

Started by April 15, 2009 03:49 PM
19 comments, last by Wavesonics 15Β years, 7Β months ago
Run the following:

echo | gcc -E -dM -

It'll give you a list of all the built-in defines.
Quote:
echo | gcc -E -dm -
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"


I'm actually not quite sure what to make of that...
Doesn't strike me as exactly what WitchLord is looking for, is it?
==============================
A Developers Blog | Dark Rock Studios - My Site
Advertisement
Quote: Original post by no such user
For gcc's c pre-processor (cpp) you can use:
touch foo.h; cpp -dM foo.h

to get all of the predefined macros.


Did you test what 'no such user' suggested? I believe he's correct.


The compiler is probably recognizing the CPU even though you're running on a virtual machine, however it may not be identifying it with "i386". I guess there is another preprocessor macro that can be used as an alternative. If I can only see which ones you get I can update the as_config.h to support your configuration by default.

AngelCode.comΒ - game development and more - Reference DBΒ - game developer references
AngelScriptΒ - free scripting library -Β BMFontΒ - free bitmap font generator - TowerΒ - free puzzle game

yes, I tried his command when he first posted but I must have missed typed it then b/c I did it again and it worked perfectly.

One thought I had while going through this:
It might be nice to break up as_config.h. Have as_config.h still do a lot of the determination, but once the determination about your platform or architecture is made, have it include platform/arch specific files.

I dealt with a ton of different libraries portability schemes when we were porting stuff to the Wii, and Xerces C++ does it this way, and it was the best I found in my travels.

The main purpose being, you greatly simplify as_config basically down to something like:
Quote:
#ifdef win32
#include "platform/windows32.h"
#endif

#ifdef _linux_
#include "platform/linux.h"
#endif

Notice it's not if/else chains, b/c with preprocessor macros they become a huge pain, especially for people maintaining/modifying your code.

Idk, just an idea, your current method does work well, I just wouldn't really want to have to add in new platforms/archs to it.

Anyway, here's the dump from my compiler:
Quote:
#define __DBL_MIN_EXP__ (-1021)
#define __FLT_MIN__ 1.17549435e-38F
#define __DEC64_DEN__ 0.000000000000001E-383DD
#define __CHAR_BIT__ 8
#define __WCHAR_MAX__ 2147483647
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __FLT_EVAL_METHOD__ 0
#define __unix__ 1
#define __x86_64 1
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __GNUC_PATCHLEVEL__ 2
#define __DEC64_MAX_EXP__ 384
#define __SHRT_MAX__ 32767
#define __LDBL_MAX__ 1.18973149535723176502e+4932L
#define __UINTMAX_TYPE__ long unsigned int
#define __linux 1
#define __DEC32_EPSILON__ 1E-6DF
#define __unix 1
#define __LDBL_MAX_EXP__ 16384
#define __linux__ 1
#define __SCHAR_MAX__ 127
#define __DBL_DIG__ 15
#define _FORTIFY_SOURCE 2
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define __USER_LABEL_PREFIX__
#define __STDC_HOSTED__ 1
#define __LDBL_HAS_INFINITY__ 1
#define __FLT_EPSILON__ 1.19209290e-7F
#define __LDBL_MIN__ 3.36210314311209350626e-4932L
#define __DEC32_MAX__ 9.999999E96DF
#define __SIZEOF_LONG__ 8
#define __DECIMAL_DIG__ 21
#define __gnu_linux__ 1
#define __LDBL_HAS_QUIET_NAN__ 1
#define __GNUC__ 4
#define __MMX__ 1
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 16
#define __DBL_MAX__ 1.7976931348623157e+308
#define __DBL_HAS_INFINITY__ 1
#define __DEC32_MIN_EXP__ (-95)
#define __LDBL_HAS_DENORM__ 1
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __DEC32_MIN__ 1E-95DF
#define __DBL_MAX_EXP__ 1024
#define __DEC128_EPSILON__ 1E-33DL
#define __SSE2_MATH__ 1
#define __amd64 1
#define __LONG_LONG_MAX__ 9223372036854775807LL
#define __SIZEOF_SIZE_T__ 8
#define __SIZEOF_WINT_T__ 4
#define __GXX_ABI_VERSION 1002
#define __FLT_MIN_EXP__ (-125)
#define __DBL_MIN__ 2.2250738585072014e-308
#define __LP64__ 1
#define __DECIMAL_BID_FORMAT__ 1
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __DBL_HAS_DENORM__ 1
#define __NO_INLINE__ 1
#define __FLT_MANT_DIG__ 24
#define __VERSION__ "4.3.2"
#define __DEC64_EPSILON__ 1E-15DD
#define __DEC128_MIN_EXP__ (-6143)
#define unix 1
#define __SIZE_TYPE__ long unsigned int
#define __DEC32_DEN__ 0.000001E-95DF
#define __ELF__ 1
#define __FLT_RADIX__ 2
#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
#define __SSE_MATH__ 1
#define __k8 1
#define __SIZEOF_PTRDIFF_T__ 8
#define __x86_64__ 1
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 9223372036854775807L
#define __FLT_HAS_INFINITY__ 1
#define __DEC64_MAX__ 9.999999999999999E384DD
#define __DEC64_MANT_DIG__ 16
#define __DEC32_MAX_EXP__ 96
#define linux 1
#define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL
#define __SSE2__ 1
#define __LDBL_MANT_DIG__ 64
#define __DBL_HAS_QUIET_NAN__ 1
#define __k8__ 1
#define __WCHAR_TYPE__ int
#define __SIZEOF_FLOAT__ 4
#define __DEC64_MIN_EXP__ (-383)
#define __FLT_DIG__ 6
#define __INT_MAX__ 2147483647
#define __amd64__ 1
#define __FLT_MAX_EXP__ 128
#define __DBL_MANT_DIG__ 53
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __SSE__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define __LDBL_MAX_10_EXP__ 4932
#define __DBL_EPSILON__ 2.2204460492503131e-16
#define _LP64 1
#define __SIZEOF_WCHAR_T__ 4
#define __DEC_EVAL_METHOD__ 2
#define __INTMAX_MAX__ 9223372036854775807L
#define __FLT_DENORM_MIN__ 1.40129846e-45F
#define __FLT_MAX__ 3.40282347e+38F
#define __SIZEOF_DOUBLE__ 8
#define __FLT_MIN_10_EXP__ (-37)
#define __INTMAX_TYPE__ long int
#define __DEC128_MAX_EXP__ 6144
#define __GNUC_MINOR__ 3
#define __DEC32_MANT_DIG__ 7
#define __DBL_MAX_10_EXP__ 308
#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
#define __STDC__ 1
#define __PTRDIFF_TYPE__ long int
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-4931)
#define __SIZEOF_LONG_LONG__ 8
#define __LDBL_DIG__ 18
#define __GNUC_GNU_INLINE__ 1
==============================
A Developers Blog | Dark Rock Studios - My Site
Yes, I agree. The as_config.h file really needs to be cleaned up a bit. I don't want to split it up in separate files, but it could definitely do with a bit of reorganization.

From your dump it seems as the as_config.h should have worked. You have the proper defines already to detect 64bit Linux with x86/64 bit CPU and GNUC compiler:

__GNUC__
__linux__
__LP64__


I don't understand why it didn't work for you. Also, adding the define i386 shouldn't have made it work, as __LP64__ is still defined. I believe you should be able to remove the i386 define again.

Could you run 'cpp -dM as_config.h' so I can see what the resulting defines are?



AngelCode.comΒ - game development and more - Reference DBΒ - game developer references
AngelScriptΒ - free scripting library -Β BMFontΒ - free bitmap font generator - TowerΒ - free puzzle game

Ok I'll give these things a try when I get home tonight.
==============================
A Developers Blog | Dark Rock Studios - My Site
Advertisement
This output looks a bit different than other files I've run this on...

Quote:
$ gcc -dM as_config.h
In file included from as_config.h:625:
../include/angelscript.h:64: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptEngine’
../include/angelscript.h:65: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptModule’
../include/angelscript.h:66: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptContext’
../include/angelscript.h:67: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptGeneric’
../include/angelscript.h:68: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptObject’
../include/angelscript.h:69: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptArray’
../include/angelscript.h:70: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIObjectType’
../include/angelscript.h:71: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptFunction’
../include/angelscript.h:72: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIBinaryStream’
../include/angelscript.h:355: error: expected β€˜)’ before β€˜*’ token
../include/angelscript.h:364: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asCUnknownClass’
../include/angelscript.h:365: error: expected β€˜)’ before β€˜:’ token
../include/angelscript.h:372: error: expected specifier-qualifier-list before β€˜asMETHOD_t’
../include/angelscript.h:400: error: expected specifier-qualifier-list before β€˜asEMsgType’
../include/angelscript.h:426: error: expected identifier or β€˜(’ before string constant
../include/angelscript.h:447: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptEngine’
../include/angelscript.h:580: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptModule’
../include/angelscript.h:642: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptContext’
../include/angelscript.h:720: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptGeneric’
../include/angelscript.h:765: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptObject’
../include/angelscript.h:793: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptArray’
../include/angelscript.h:816: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIObjectType’
../include/angelscript.h:863: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIScriptFunction’
../include/angelscript.h:885: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asIBinaryStream’
../include/angelscript.h:918: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
../include/angelscript.h:932: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
../include/angelscript.h:950: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asCSimpleDummy’
../include/angelscript.h:951: error: expected β€˜)’ before β€˜:’ token
../include/angelscript.h:952: error: β€˜asSIMPLEMETHOD_t’ undeclared here (not in a function)
../include/angelscript.h:955: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
../include/angelscript.h:972: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
In file included from as_config.h:626:
as_memory.h:44:15: error: new: No such file or directory
In file included from as_memory.h:47,
from as_config.h:626:
as_criticalsection.h:62: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asCThreadCriticalSection’
In file included from as_memory.h:78,
from as_config.h:626:
as_array.h:45: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:88: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:94: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:102: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:112: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:122: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:129: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:135: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:143: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:151: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:165: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:173: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:250: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:256: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:265: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:277: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:285: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:297: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:303: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:315: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:321: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:330: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
as_array.h:342: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜<’ token
In file included from as_config.h:626:
as_memory.h:82: error: expected β€˜=’, β€˜,’, β€˜;’, β€˜asm’ or β€˜__attribute__’ before β€˜asCMemoryMgr’
==============================
A Developers Blog | Dark Rock Studios - My Site
It doesn't show the preprocessor commands. Shouldn't you be running 'cpp' instead of 'gcc'?

AngelCode.comΒ - game development and more - Reference DBΒ - game developer references
AngelScriptΒ - free scripting library -Β BMFontΒ - free bitmap font generator - TowerΒ - free puzzle game

whopsy, your' right, here is the correct output:

Quote:
$ cpp -dM as_config.h
#define __DBL_MIN_EXP__ (-1021)
#define CDECL_RETURN_SIMPLE_IN_MEMORY
#define __FLT_MIN__ 1.17549435e-38F
#define _T_WCHAR_
#define __DEC64_DEN__ 0.000000000000001E-383DD
#define __flexarr []
#define _SCHED_H 1
#define __S64_TYPE long int
#define _BITS_SETJMP_H 1
#define __stub_fchflags
#define __SQUAD_TYPE long int
#define _BSD_SIZE_T_DEFINED_
#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS
#define PTHREAD_CANCELED ((void *) -1)
#define _BITS_TIME_H 1
#define CLOCK_THREAD_CPUTIME_ID 3
#define __TIME_T_TYPE __SLONGWORD_TYPE
#define __CHAR_BIT__ 8
#define __CPU_ZERO_S(setsize,cpusetp) do __builtin_memset (cpusetp, '\0', setsize); while (0)
#define __sigset_t_defined
#define __SIZEOF_PTHREAD_ATTR_T 56
#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
#define __stub_putmsg
#define __WCHAR_MAX__ 2147483647
#define STDCALL
#define asNEW(x) new(userAlloc(sizeof(x))) x
#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
#define AS_LINUX
#define CLONE_NEWUTS 0x04000000
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __USE_BSD 1
#define __FLT_EVAL_METHOD__ 0
#define __ASMNAME2(prefix,cname) __STRING (prefix) cname
#define __unix__ 1
#define SCHED_RR 2
#define __stub_setlogin
#define __FLOAT_WORD_ORDER __BYTE_ORDER
#define __x86_64 1
#define __ASSERT_VOID_CAST (void)
#define CLONE_NEWNET 0x40000000
#define __CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp)
#define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED
#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
#define __GID_T_TYPE __U32_TYPE
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define __STDDEF_H__
#define __pid_t_defined
#define __GNUC_PATCHLEVEL__ 2
#define ANGELSCRIPT_VERSION_MINOR 16
#define __LDBL_REDIR1(name,proto,alias) name proto
#define __size_t
#define __DEC64_MAX_EXP__ 384
#define _WCHAR_T_DEFINED
#define __SIZEOF_PTHREAD_CONDATTR_T 4
#define __always_inline __inline __attribute__ ((__always_inline__))
#define __SHRT_MAX__ 32767
#define __LDBL_MAX__ 1.18973149535723176502e+4932L
#define __LITTLE_ENDIAN 1234
#define __UINTMAX_TYPE__ long unsigned int
#define __linux 1
#define __DEC32_EPSILON__ 1E-6DF
#define __stub_sigreturn
#define _BITS_TYPES_H 1
#define __unix 1
#define __UID_T_TYPE __U32_TYPE
#define LEAVECRITICALSECTION(x) x.Leave()
#define CLONE_SIGHAND 0x00000800
#define __SIZE_T
#define ANGELSCRIPT_VERSION_MAJOR 2
#define __LDBL_MAX_EXP__ 16384
#define END_AS_NAMESPACE
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
#define __linux__ 1
#define ALIGN(b) (b)
#define CLONE_SETTLS 0x00080000
#define _SIZE_T_DEFINED_
#define __LDBL_REDIR_NTH(name,proto) name proto __THROW
#define __SCHAR_MAX__ 127
#define __USING_NAMESPACE_STD(name)
#define CLONE_THREAD 0x00010000
#define __KERNEL_STRICT_NAMES
#define PTHREAD_COND_INITIALIZER { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }
#define __NTH(fct) __attribute__ ((__nothrow__)) fct
#define __DBL_DIG__ 15
#define AS_NO_MEMORY_H
#define _FORTIFY_SOURCE 2
#define _POSIX_SOURCE 1
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define AS_64BIT_PTR
#define __attribute_used__ __attribute__ ((__used__))
#define CLOCK_REALTIME 0
#define __USER_LABEL_PREFIX__
#define SCHED_OTHER 0
#define __GLIBC__ 2
#define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
#define __END_DECLS
#define __CONCAT(x,y) x ## y
#define __STDC_HOSTED__ 1
#define __LDBL_HAS_INFINITY__ 1
#define __SLONG32_TYPE int
#define __GNU_LIBRARY__ 6
#define __FLT_EPSILON__ 1.19209290e-7F
#define __CPUELT(cpu) ((cpu) / __NCPUBITS)
#define PTHREAD_BARRIER_SERIAL_THREAD -1
#define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
#define __SSIZE_T_TYPE __SWORD_TYPE
#define __DEV_T_TYPE __UQUAD_TYPE
#define __LDBL_MIN__ 3.36210314311209350626e-4932L
#define __DEC32_MAX__ 9.999999E96DF
#define _ANSI_STDDEF_H
#define _ASSERT_H_DECLS
#define _WCHAR_T_
#define _STDDEF_H
#define __SIZEOF_PTHREAD_COND_T 48
#define __SIZEOF_LONG__ 8
#define __STDC_IEC_559__ 1
#define __STDC_ISO_10646__ 200009L
#define __SIZEOF_PTHREAD_BARRIER_T 32
#define __DECIMAL_DIG__ 21
#define UNUSED_VAR(x) (x)=(x)
#define __USE_FORTIFY_LEVEL 0
#define __gnu_linux__ 1
#define _ENDIAN_H 1
#define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
#define __LDBL_HAS_QUIET_NAN__ 1
#define __THROW __attribute__ ((__nothrow__))
#define __GLIBC_HAVE_LONG_LONG 1
#define ___int_wchar_t_h
#define _T_PTRDIFF
#define __GNUC__ 4
#define asPTRWORD asQWORD
#define __MMX__ 1
#define CLONE_FILES 0x00000400
#define __timespec_defined 1
#define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
#define __OFF64_T_TYPE __SQUAD_TYPE
#define ANGELSCRIPT_H
#define VALUE_OF_BOOLEAN_TRUE 1
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 16
#define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
#define __USE_SVID 1
#define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW
#define __defined_schedparam 1
#define _TIME_H 1
#define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define __CPU_SET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? ((cpusetp)->__bits[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }))
#define __DBL_MAX__ 1.7976931348623157e+308
#define asMETHODPR(c,m,p,r) asSMethodPtr<sizeof(void (c::*)())>::Convert((r (c::*)p)(&c::m))
#define sched_priority __sched_priority
#define __DBL_HAS_INFINITY__ 1
#define __SIZEOF_PTHREAD_MUTEX_T 40
#define __SIZEOF_PTHREAD_RWLOCK_T 56
#define CLONE_NEWNS 0x00020000
#define __USE_XOPEN2K 1
#define __DEC32_MIN_EXP__ (-95)
#define SCHED_FIFO 1
#define __DADDR_T_TYPE __S32_TYPE
#define __END_NAMESPACE_C99
#define __CPU_ISSET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? (((cpusetp)->__bits[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; }))
#define __FD_SETSIZE 1024
#define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
#define _SIZE_T_DEFINED
#define _WCHAR_T_DEFINED_
#define __USE_POSIX199506 1
#define _FEATURES_H 1
#define __LDBL_HAS_DENORM__ 1
#define THISCALL_RETURN_SIMPLE_IN_MEMORY
#define CLONE_PARENT 0x00008000
#define __stub_getmsg
#define __stub_fattach
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __DEC32_MIN__ 1E-95DF
#define __S32_TYPE int
#define __cleanup_fct_attribute
#define __DBL_MAX_EXP__ 1024
#define __WORDSIZE_COMPAT32 1
#define __DEC128_EPSILON__ 1E-33DL
#define __SSE2_MATH__ 1
#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
#define PDP_ENDIAN __PDP_ENDIAN
#define asFUNCTION(f) asFunctionPtr(f)
#define __amd64 1
#define PTR_SIZE 2
#define asDELETE(ptr,x) {void *tmp = ptr; (ptr)->~x(); userFree(tmp);}
#define __bounded
#define __USECONDS_T_TYPE __U32_TYPE
#define __BEGIN_NAMESPACE_STD
#define BCARG_W(b) ((asWORD*)&(b)[1])
#define __OFF_T_TYPE __SLONGWORD_TYPE
#define _T_WCHAR
#define __INO_T_TYPE __ULONGWORD_TYPE
#define __LONG_LONG_MAX__ 9223372036854775807LL
#define __SIZEOF_SIZE_T__ 8
#define _WCHAR_T
#define PTHREAD_MUTEX_INITIALIZER { { 0, 0, 0, 0, 0, 0, { 0, 0 } } }
#define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED
#define __SIZEOF_WINT_T__ 4
#define __stub_bdflush
#define STDCALL_RETURN_SIMPLE_IN_MEMORY
#define __U16_TYPE unsigned short int
#define _GCC_WCHAR_T
#define BCARG_PTR(b) ((asPTRWORD*)&(b)[1])
#define pthread_cleanup_push(routine,arg) do { __pthread_unwind_buf_t __cancel_buf; void (*__cancel_routine) (void *) = (routine); void *__cancel_arg = (arg); int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) __cancel_buf.__cancel_jmp_buf, 0); if (__builtin_expect (not_first_call, 0)) { __cancel_routine (__cancel_arg); __pthread_unwind_next (&__cancel_buf); } __pthread_register_cancel (&__cancel_buf); do {
#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
#define _PTRDIFF_T
#define __ptrvalue
#define __GXX_ABI_VERSION 1002
#define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
#define __FLT_MIN_EXP__ (-125)
#define PTHREAD_RWLOCK_INITIALIZER { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
#define __CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)
#define __extern_always_inline extern __always_inline
#define __PTRDIFF_T
#define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED
#define __DBL_MIN__ 2.2250738585072014e-308
#define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
#define __CPU_CLR_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu < 8 * (setsize) ? ((cpusetp)->__bits[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }))
#define __cpu_set_t_defined
#define CLONE_VM 0x00000100
#define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
#define __LP64__ 1
#define AS_MEMORY_H
#define __time_t_defined 1
#define __MODE_T_TYPE __U32_TYPE
#define __nonnull(params) __attribute__ ((__nonnull__ params))
#define __DECIMAL_BID_FORMAT__ 1
#define __RLIM64_T_TYPE __UQUAD_TYPE
#define BEGIN_AS_NAMESPACE
#define ASM_AT_N_T
#define CLONE_PARENT_SETTID 0x00100000
#define ANGELSCRIPT_VERSION 21600
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __DBL_HAS_DENORM__ 1
#define __attribute_pure__ __attribute__ ((__pure__))
#define CLONE_CHILD_SETTID 0x01000000
#define __USE_POSIX2 1
#define __SLONGWORD_TYPE long int
#define __REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)
#define __NO_INLINE__ 1
#define __warndecl(name,msg) extern void name (void) __attribute__((__warning__ (msg)))
#define __FLT_MANT_DIG__ 24
#define __VERSION__ "4.3.2"
#define asFUNCTIONPR(f,p,r) asFunctionPtr((void (*)())((r (*)p)(f)))
#define _PTRDIFF_T_
#define _SYS_CDEFS_H 1
#define ARG_DW(b) ((asDWORD*)&b)
#define __PTHREAD_MUTEX_HAVE_PREV 1
#define __INT_WCHAR_T_H
#define _BSD_SOURCE 1
#define __STRING(x) #x
#define _T_PTRDIFF_
#define __unbounded
#define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
#define _SYS_SIZE_T_H
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
#define __SIZE_T__
#define UNREACHABLE_RETURN
#define __stub_gtty
#define __NLINK_T_TYPE __UWORD_TYPE
#define __stub_sstk
#define __wur
#define __STDC_IEC_559_COMPLEX__ 1
#define asASSERT(x) assert(x)
#define ARG_QW(b) ((asQWORD*)&b)
#define __DEC64_EPSILON__ 1E-15DD
#define __DEC128_MIN_EXP__ (-6143)
#define __PDP_ENDIAN 3412
#define BYTE_ORDER __BYTE_ORDER
#define _BITS_TYPESIZES_H 1
#define BCARG_DW(b) ((asDWORD*)&(b)[1])
#define __SWBLK_T_TYPE __SLONGWORD_TYPE
#define unix 1
#define AS_ARRAY_H
#define _BSD_SIZE_T_
#define __SIZE_TYPE__ long unsigned int
#define __va_arg_pack_len() __builtin_va_arg_pack_len ()
#define __ULONGWORD_TYPE unsigned long int
#define _SIZE_T_DECLARED
#define __DEC32_DEN__ 0.000001E-95DF
#define __ELF__ 1
#define _SIGSET_H_types 1
#define DECLARECRITICALSECTION(x) asCThreadCriticalSection x
#define __ID_T_TYPE __U32_TYPE
#define __warnattr(msg) __attribute__((__warning__ (msg)))
#define ANGELSCRIPT_VERSION_STRING "2.16.0"
#define __FLT_RADIX__ 2
#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
#define _POSIX_C_SOURCE 200112L
#define __SSE_MATH__ 1
#define __long_double_t long double
#define __k8 1
#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
#define __LDBL_REDIR(name,proto) name proto
#define BCARG_QW(b) ((asQWORD*)&(b)[1])
#define __SIZEOF_PTRDIFF_T__ 8
#define __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))
#define __restrict_arr __restrict
#define __USE_MISC 1
#define __UWORD_TYPE unsigned long int
#define __x86_64__ 1
#define _SIZE_T_
#define CLONE_NEWPID 0x20000000
#define _WCHAR_T_H
#define __stub_revoke
#define __timer_t_defined 1
#define __CPU_ALLOC_SIZE(count) ((((count) + __NCPUBITS - 1) / __NCPUBITS) * 8)
#define __U64_TYPE unsigned long int
#define __FLT_HAS_QUIET_NAN__ 1
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 9223372036854775807L
#define __WCHAR_T__
#define __FLT_HAS_INFINITY__ 1
#define _BSD_PTRDIFF_T_
#define __LONG_LONG_PAIR(HI,LO) LO, HI
#define __bos0(ptr) __builtin_object_size (ptr, 0)
#define __DEC64_MAX__ 9.999999999999999E384DD
#define NULL ((void *)0)
#define __USING_NAMESPACE_C99(name)
#define BIG_ENDIAN __BIG_ENDIAN
#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
#define COMPLEX_OBJS_PASSED_BY_REF
#define __stub_lchmod
#define CLONE_NEWUSER 0x10000000
#define pthread_cleanup_pop(execute) do; while (0); } while (0); __pthread_unregister_cancel (&__cancel_buf); if (execute) __cancel_routine (__cancel_arg); } while (0)
#define __DEC64_MANT_DIG__ 16
#define __CPU_OP_S(setsize,destset,srcset1,srcset2,op) (__extension__ ({ cpu_set_t *__dest = (destset); cpu_set_t *__arr1 = (srcset1); cpu_set_t *__arr2 = (srcset2); size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) __dest->__bits[__i] = __arr1->__bits[__i] op __arr2->__bits[__i]; __dest; }))
#define __DEC32_MAX_EXP__ 96
#define TIMER_ABSTIME 1
#define __PMT(args) args
#define CSIGNAL 0x000000ff
#define linux 1
#define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL
#define CLOCK_MONOTONIC 1
#define __SSE2__ 1
#define __KEY_T_TYPE __S32_TYPE
#define CLONE_SYSVSEM 0x00040000
#define __WORDSIZE 64
#define __BEGIN_DECLS
#define __LDBL_MANT_DIG__ 64
#define __USE_ANSI 1
#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
#define __DBL_HAS_QUIET_NAN__ 1
#define _STRING_H 1
#define CALLEE_POPS_HIDDEN_RETURN_POINTER
#define assert(expr) ((expr) ? __ASSERT_VOID_CAST (0) : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION))
#define __RLIM_T_TYPE __ULONGWORD_TYPE
#define CLONE_FS 0x00000200
#define __k8__ 1
#define __WCHAR_TYPE__ int
#define __CLOCKID_T_TYPE __S32_TYPE
#define __SIZEOF_FLOAT__ 4
#define __stub_fdetach
#define __DEC64_MIN_EXP__ (-383)
#define __stub_chflags
#define CLONE_IO 0x80000000
#define __UQUAD_TYPE unsigned long int
#define __BYTE_ORDER __LITTLE_ENDIAN
#define __USE_POSIX 1
#define CLONE_NEWIPC 0x08000000
#define __FLT_DIG__ 6
#define __FSID_T_TYPE struct { int __val[2]; }
#define _WCHAR_T_DECLARED
#define CLONE_UNTRACED 0x00800000
#define __LDBL_REDIR_DECL(name)
#define __INT_MAX__ 2147483647
#define __amd64__ 1
#define __S16_TYPE short int
#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
#define _T_SIZE_
#define __CPU_SETSIZE 1024
#define CLONE_PTRACE 0x00002000
#define __FLT_MAX_EXP__ 128
#define CLOCK_PROCESS_CPUTIME_ID 2
#define __ptr_t void *
#define __DBL_MANT_DIG__ 53
#define ___int_size_t_h
#define __TIMER_T_TYPE void *
#define asNEWARRAY(x,cnt) (x*)userAlloc(sizeof(x)*cnt)
#define AS_CONFIG_H
#define __clock_t_defined 1
#define __GLIBC_MINOR__ 8
#define CLONE_DETACHED 0x00400000
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __SSE__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define I64(x) x ##ll
#define __extern_inline extern __inline
#define __USE_POSIX199309 1
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
#define __LDBL_MAX_10_EXP__ 4932
#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
#define __DBL_EPSILON__ 2.2204460492503131e-16
#define ANGELSCRIPT_VERSION_BUILD 0
#define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE
#define _SIZET_
#define _SVID_SOURCE 1
#define _LP64 1
#define __REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)
#define __stub_stty
#define __wchar_t__
#define __SIZEOF_WCHAR_T__ 4
#define _PTHREAD_H 1
#define AS_API
#define __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW
#define __END_NAMESPACE_STD
#define _STDDEF_H_
#define __PID_T_TYPE __S32_TYPE
#define asDELETEARRAY(ptr) userFree(ptr)
#define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE
#define __ASSERT_FUNCTION __PRETTY_FUNCTION__
#define PTHREAD_ONCE_INIT 0
#define ARG_W(b) ((asWORD*)&b)
#define CLOCKS_PER_SEC 1000000l
#define __DEC_EVAL_METHOD__ 2
#define _SIZE_T
#define __ULONG32_TYPE unsigned int
#define CLONE_CHILD_CLEARTID 0x00200000
#define __BIG_ENDIAN 4321
#define __CPU_ALLOC(count) __sched_cpualloc (count)
#define _GCC_SIZE_T
#define __INO64_T_TYPE __UQUAD_TYPE
#define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM
#define __INTMAX_MAX__ 9223372036854775807L
#define __size_t__
#define __FLT_DENORM_MIN__ 1.40129846e-45F
#define __BEGIN_NAMESPACE_C99
#define AS_SIZEOF_BOOL 1
#define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED
#define AS_CRITICALSECTION_H
#define __FLT_MAX__ 3.40282347e+38F
#define ENTERCRITICALSECTION(x) x.Enter()
#define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
#define AS_POSIX_THREADS
#define asMETHOD(c,m) asSMethodPtr<sizeof(void (c::*)())>::Convert((void (c::*)())(&c::m))
#define _ASSERT_H 1
#define __SIZEOF_DOUBLE__ 8
#define __FLT_MIN_10_EXP__ (-37)
#define __SWORD_TYPE long int
#define __INTMAX_TYPE__ long int
#define __DEC128_MAX_EXP__ 6144
#define __CPU_FREE(cpuset) __sched_cpufree (cpuset)
#define _T_SIZE
#define __va_arg_pack() __builtin_va_arg_pack ()
#define CLONE_VFORK 0x00004000
#define __GNUC_MINOR__ 3
#define __DEC32_MANT_DIG__ 7
#define LITTLE_ENDIAN __LITTLE_ENDIAN
#define __DBL_MAX_10_EXP__ 308
#define _BITS_PTHREADTYPES_H 1
#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
#define __STDC__ 1
#define __attribute_malloc__ __attribute__ ((__malloc__))
#define __PTRDIFF_TYPE__ long int
#define __clockid_t_defined 1
#define __attribute_noinline__ __attribute__ ((__noinline__))
#define __NCPUBITS (8 * sizeof (__cpu_mask))
#define MULTI_BASE_OFFSET(x) (*((asQWORD*)(&x)+1))
#define __CLOCK_T_TYPE __SLONGWORD_TYPE
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-4931)
#define __attribute_deprecated__ __attribute__ ((__deprecated__))
#define ARG_PTR(b) ((asPTRWORD*)&b)
#define __SIZEOF_LONG_LONG__ 8
#define _GCC_PTRDIFF_T
#define __LDBL_DIG__ 18
#define __GNUC_GNU_INLINE__ 1
#define ___int_ptrdiff_t_h
#define COMPLEX_MASK (asOBJ_APP_CLASS_DESTRUCTOR)
#define GNU_style_VIRTUAL_METHOD
#define AS_X64_GCC
#define __P(args) args
#define __WCHAR_T
#define __U32_TYPE unsigned int
==============================
A Developers Blog | Dark Rock Studios - My Site
Looks like the as_config.h is correct after all. I believe that for some reason the library was just not compiled properly. Probably when you added the i386 define you recompiled the library, and it was this recompile that made it work, not that you added i386.

Quote:
#define AS_LINUX
#define AS_64BIT_PTR
#define ASM_AT_N_T
#define AS_X64_GCC

#define ANGELSCRIPT_VERSION 21600

#define CDECL_RETURN_SIMPLE_IN_MEMORY
#define THISCALL_RETURN_SIMPLE_IN_MEMORY
#define STDCALL_RETURN_SIMPLE_IN_MEMORY
#define CALLEE_POPS_HIDDEN_RETURN_POINTER
#define MULTI_BASE_OFFSET(x) (*((asQWORD*)(&x)+1))
#define COMPLEX_MASK (asOBJ_APP_CLASS_DESTRUCTOR)
#define GNU_style_VIRTUAL_METHOD


Regards,
Andreas

AngelCode.comΒ - game development and more - Reference DBΒ - game developer references
AngelScriptΒ - free scripting library -Β BMFontΒ - free bitmap font generator - TowerΒ - free puzzle game

This topic is closed to new replies.

Advertisement