Wolfgang Bumiller
|
ee7051c5a4
|
strcmp and strncmp builtins
|
2012-12-23 19:22:38 +01:00 |
|
Wolfgang Bumiller
|
275b6f777a
|
Adding strcat builtin to qcvm
|
2012-12-23 19:06:29 +01:00 |
|
Wolfgang Bumiller
|
67bc99223d
|
Fix a nasty bug in the executor; and make null-strings be shown as (null) in the trace output
|
2012-12-23 17:32:14 +01:00 |
|
Dale Weiler
|
c3964cf29d
|
Make compiler and virtual-machine compile as C++ code, also removed gmqcc_voidptr hack.
|
2012-12-23 07:51:19 +00:00 |
|
Dale Weiler
|
6bc29a1601
|
Merge branch 'master' of github.com:graphitemaster/gmqcc
|
2012-12-23 06:06:57 +00:00 |
|
Dale Weiler
|
13003bf6af
|
Wrapper around FILE to take advantage of MSVC "secure" CRT. We don't actually defend bounds checks (we just hack in the few ones to silent MSVC .. and to pass WinRT "native code" rules)
|
2012-12-23 06:05:22 +00:00 |
|
Wolfgang Bumiller
|
9d54ea6b0c
|
More stuff for qcvm -info
|
2012-12-22 23:30:52 +01:00 |
|
Dale Weiler
|
fa401b6f56
|
Cleanups and make compile with clang again with no warnings.
|
2012-12-22 08:22:50 +00:00 |
|
Dale Weiler
|
7d2a2f2ade
|
cleanups and fixes that cppcheck found
|
2012-12-22 08:07:54 +00:00 |
|
Dale Weiler
|
3c003bc168
|
Get gmqcc/qcvm compiling on windows again. Plus work in progress support for the testsuite on windows (does not compile yet).
|
2012-12-21 01:00:51 -05:00 |
|
Wolfgang Bumiller
|
b02c4e4d10
|
sscanf_s only for _MSC_VER not WIN32 in exec.c
|
2012-12-20 15:46:31 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e1c3e35422
|
Improved parameter handling of qcvm a little, added --version and --help
|
2012-12-18 15:46:26 +01:00 |
|
Wolfgang (Blub) Bumiller
|
70f676784d
|
Better usage message for qcvm, don't exit after any of the information prints - but don't execute if any of them are used
|
2012-12-18 15:39:20 +01:00 |
|
Wolfgang (Blub) Bumiller
|
2a94fe9731
|
qcvm -pringdefs now prints [SAVE] next to globals with DEF_SAVEFLAG set
|
2012-12-18 12:41:29 +01:00 |
|
Wolfgang (Blub) Bumiller
|
83a41d13c0
|
Don't generate AINSTR_END anymore, use INSTR_DONE
|
2012-12-18 11:46:26 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a5e0542f95
|
cmd_options -> opts_cmd_t to make testsuite and executor compile again
|
2012-12-18 11:46:15 +01:00 |
|
Wolfgang (Blub) Bumiller
|
f9b1d057b5
|
Moving all the global opts_ variables into a struct, now there's one global 'opts' struct
|
2012-12-06 13:23:53 +01:00 |
|
Wolfgang (Blub) Bumiller
|
5f0f5bedbc
|
More stuff in qcvm -printfuns
|
2012-12-05 14:22:24 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e8a1b7e71c
|
Remove an unused variable qc_stof
|
2012-12-02 11:58:15 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b7ce7370e8
|
stof builtin #9
|
2012-12-01 15:54:13 +01:00 |
|
Wolfgang (Blub) Bumiller
|
79e0c5c4fa
|
More info in qcvm -printfuns
|
2012-12-01 15:23:04 +01:00 |
|
Wolfgang (Blub) Bumiller
|
e0a7f8a484
|
qcvm -printfuns; prog_section_function.nargs is now signed as fteqcc sets builtins with varargs to have -1 params
|
2012-11-30 20:20:13 +01:00 |
|
Wolfgang (Blub) Bumiller
|
fef9303381
|
moving opts_warn and opts_werror to con.c
|
2012-11-28 19:18:11 +01:00 |
|
Wolfgang (Blub) Bumiller
|
3c1992fc38
|
qcvm didn't compile since moving the compile messages to con.c due to undefined references - fixed now
|
2012-11-28 19:16:35 +01:00 |
|
Dale Weiler
|
ca52ecc20a
|
Remove trailing whitespace for Blub.
|
2012-11-26 11:12:06 +00:00 |
|
Dale Weiler
|
81bb87c49b
|
Sign conversion fixes in exec.c
|
2012-11-23 06:23:20 +00:00 |
|
Wolfgang (Blub) Bumiller
|
12fca5ef8f
|
Make the disasm a bit more verbose as to where globals are
|
2012-11-18 20:32:22 +01:00 |
|
Wolfgang (Blub) Bumiller
|
906f319673
|
Replaced it all...
|
2012-11-15 18:32:09 +01:00 |
|
Wolfgang (Blub) Bumiller
|
84088cb5f0
|
Merging in new-syntax
|
2012-11-14 21:39:16 +01:00 |
|
Wolfgang (Blub) Bumiller
|
6044079528
|
Fix a very stupid bug in the executor which prevented ADDRESS to have the same global as output as one of its inputs
|
2012-11-13 00:36:00 +01:00 |
|
Wolfgang (Blub) Bumiller
|
9a42dd1c3a
|
qcvm -trace now shows the current function name and nest-depth
|
2012-11-11 23:57:42 +01:00 |
|
Wolfgang (Blub) Bumiller
|
83438d9833
|
call ir_function_finalize on array accessors otherwise they'll blow up stuff
|
2012-11-11 23:46:03 +01:00 |
|
Wolfgang (Blub) Bumiller
|
cdb7d06521
|
apply the typemask where previously forgotten
|
2012-11-11 23:39:40 +01:00 |
|
Wolfgang (Blub) Bumiller
|
fc6bd54943
|
show the function name for CALLs in disasm
|
2012-11-11 23:36:03 +01:00 |
|
Wolfgang (Blub) Bumiller
|
a3c8605e18
|
Fixing execloop indentation
|
2012-11-11 10:40:31 +01:00 |
|
Dale Weiler
|
9ad35a2817
|
Remove execloop.h, we still use xmacros, but it's done with #include __FILE__ trickery. Please do not kill me, it doesn't look that bad, conditional compilation is even used in eglibc like this :P
|
2012-11-10 20:53:37 +00:00 |
|
Wolfgang (Blub) Bumiller
|
b1b586d398
|
-disasm should show builtins as builtins rather than trying to print negative statements - skip function 0 since it's not a valid function
|
2012-11-02 12:32:13 +01:00 |
|
Wolfgang (Blub) Bumiller
|
265e66b98b
|
-disasm switch for qcvm
|
2012-11-02 12:23:55 +01:00 |
|
Wolfgang (Blub) Bumiller
|
b22f149d9e
|
etos builtin...
|
2012-08-24 22:58:07 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b2cb612c70
|
Adding DEF_SAVEGLOBAL, marking globals as to-be-saved now, for real support of quicksaving
|
2012-08-23 18:28:05 +02:00 |
|
Wolfgang (Blub) Bumiller
|
52a1b9469c
|
qcvm won't print checksum or entity field area size without the -info option anymore
|
2012-08-23 12:42:41 +02:00 |
|
Wolfgang (Blub) Bumiller
|
84149c371d
|
Possibility to call a main function with parameters by specifying -float, -vector or -string parameters to standalone qcvm
|
2012-08-23 10:35:03 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8465f98f37
|
vtos should use the same quotes as we use in qc source
|
2012-08-23 10:18:59 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b93125c678
|
cut off too-long strings in disassembly
|
2012-08-22 17:41:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
aa314ed147
|
when using -trace in qcvm: print a newline after every print that doesn't end in a newline, so that the next disassembled instruction doesn't appear mid-text
|
2012-08-22 17:37:22 +02:00 |
|
Wolfgang (Blub) Bumiller
|
be18550b02
|
Nicer -trace output in qcvm/exec
|
2012-08-22 17:32:57 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0b01944d54
|
qc_vlen, and adding numbers to all builtins for clarity
|
2012-08-22 15:39:15 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ce956fa0fb
|
error builtin to bail out, pawn now _always_ nulls the new entity data
|
2012-08-22 15:35:28 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9284c41d0a
|
add ticks around vector strings created by vtos
|
2012-08-22 15:04:37 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9433f66a00
|
vtos builtin
|
2012-08-22 15:03:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
cafa78d430
|
-printdefs for qcvm
|
2012-08-22 14:15:35 +02:00 |
|
Wolfgang (Blub) Bumiller
|
93e13c3cb1
|
option: -force-crc=number, added -info to executor to just show some file info like the crc, and -printfields to print a list of fields along with their type and position
|
2012-08-22 14:00:57 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ae69812d92
|
Nicer prints in exec's prog_print_statement
|
2012-08-19 16:42:12 +02:00 |
|
Wolfgang (Blub) Bumiller
|
dc5555e084
|
qcvm: -trace flag
|
2012-08-19 15:19:43 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9f951e36a9
|
prog_leavefunction needs to take the ++st into account - otherwise INSTR_RETURN ends up skipping the instruction after the calling INSTR_CALL
|
2012-08-16 16:28:59 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0d9435d326
|
util_fopen...
|
2012-08-16 14:01:47 +02:00 |
|
Wolfgang (Blub) Bumiller
|
61605636d1
|
Replacing execloop.h ... wish I could just use a copy of DP's execloop, I hate licenses
|
2012-08-16 12:10:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2594274fe6
|
include stdio.h in exec.c for snprintf...
|
2012-08-16 11:36:28 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b36fabe4d7
|
print builtin now prints all the passed strings, not just the first
|
2012-08-11 21:18:15 +02:00 |
|
Wolfgang (Blub) Bumiller
|
cf04b5ed01
|
Need to keep prog->entities up to date when spawning entities
|
2012-08-11 17:35:55 +02:00 |
|
Wolfgang (Blub) Bumiller
|
919d73b0a0
|
experimental support for spawn() in the executor
|
2012-08-11 17:31:08 +02:00 |
|
Wolfgang (Blub) Bumiller
|
48d330a1e9
|
unnamed globals in the trace output use [@addr] now instead of [#addr] since # is used as a prefix for all immediates, so now it's less confusing
|
2012-08-11 11:46:44 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b5bee640d0
|
nicer trace output, strings now get escaped
|
2012-08-11 11:31:50 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2bf40b4104
|
include opts_debug and opts_memchk in exec.c's standalone part for now to have it compile
|
2012-08-08 12:07:37 +02:00 |
|
Wolfgang Bumiller
|
10d70328c8
|
executor: prog_delete: deleting builtins properly - unless statically allocated; added a qc_builtins array for the standalone executor containing 'print'
|
2012-07-27 19:27:56 +02:00 |
|
Wolfgang Bumiller
|
5f0a6bcc53
|
_MEM_ -> MEM_ again at use
|
2012-07-27 19:18:04 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0ed9bdf5b8
|
Adopt dp's function-local backup strategy and add parameter-copying to EnterFunction
|
2012-06-29 16:04:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
080e6e5dfb
|
exec.h -> gmqcc.h
|
2012-06-27 22:31:56 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9e148df23f
|
tidying up, using the original typenames from code.c, renamed JUMPS_DEFAULT to VM_JUMPS_DEFAULT
|
2012-06-27 22:29:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
08e5403896
|
qcvm_execprogram.h -> execloop.h
|
2012-06-27 19:37:00 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8ce0548ad5
|
A prototype for error handling
|
2012-06-27 15:34:26 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e761f1f7b7
|
'make qcvm' now builds exec-standalone.o from exec.c with -DQCVM_EXECUTOR=1
|
2012-06-27 14:56:43 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3140f2122a
|
Moving typedefs and defines from exec.c into an exec.h header
|
2012-06-27 14:53:20 +02:00 |
|
Wolfgang (Blub) Bumiller
|
2fd3ddcb1a
|
moved mem_resize and mem_append vector function macros into gmqcc.h
|
2012-06-27 14:50:52 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0dae2898e3
|
fix vector resize to not always resize and actually use the reallocated place...
|
2012-06-27 14:49:36 +02:00 |
|
Wolfgang (Blub) Bumiller
|
a6e7baf127
|
prog_enter/leavefunction made static
|
2012-06-27 13:23:27 +02:00 |
|
Wolfgang (Blub) Bumiller
|
1ce97d1acc
|
Executor now executes and traces
|
2012-06-27 13:21:37 +02:00 |
|
Wolfgang (Blub) Bumiller
|
aa08a2da68
|
Searching for 'main'
|
2012-06-26 13:22:37 +02:00 |
|
Wolfgang (Blub) Bumiller
|
36e2a46e07
|
Listing functions
|
2012-06-26 13:21:09 +02:00 |
|
Wolfgang (Blub) Bumiller
|
62008635c5
|
local-stack, locak-stack-pointer, getting strings from an index, adding tempstrings
|
2012-06-26 13:10:10 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e328446044
|
executor: loader
|
2012-06-25 23:58:47 +02:00 |
|