Add tests

This commit is contained in:
Daniel_Cortez 2019-09-15 20:51:16 +07:00
parent 1d3b2319fd
commit 50d54b9d05
2 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,9 @@
{
'test_type': 'output_check',
'errors': """
__addressof.pwn(3) : error 017: undefined symbol "Func1"
__addressof.pwn(16) : error 093: "__addressof" operator is invalid in preprocessor expressions
__addressof.pwn(21) : error 001: expected token: "-variable, array, array cell, label or function-", but found "-numeric value-"
__addressof.pwn(24) : error 001: expected token: "-variable, array, array cell, label or function-", but found "-native function-"
"""
}

View File

@ -0,0 +1,52 @@
#include <console>
const func1_addr = __addressof(Func1); // error
Func1() {}
Func2() {}
Func3() {}
new const functions[3] =
{
__addressof(Func1),
__addressof(Func2),
__addressof(Func3)
};
#if __addressof Func1 > 0 // error
#endif
main()
{
const a = __addressof func1_addr; // error
#pragma unused a
const b = __addressof printf; // error
#pragma unused b
lbl:
const c = __addressof lbl;
#pragma unused c
const d = __addressof functions;
#pragma unused d
const e = __addressof functions[1];
#pragma unused e
static x = 0;
const f = __addressof x;
#pragma unused f
static arr1[3][2] = { { 0, ... }, ... };
const g = __addressof arr1[2][1];
#pragma unused g
new y = 0;
new const h = __addressof y;
#pragma unused h
new arr2[3][2] = { { 0, ... }, ... };
new const i = __addressof arr2;
#pragma unused i
}