Wolfgang (Blub) Bumiller
|
defb0fb6c4
|
using %i for instruction opcode output is a little more consistent with the above data, so you can quickly spot if an operand is a local or something else
|
2012-08-22 18:27:49 +02:00 |
|
Wolfgang (Blub) Bumiller
|
ab714862d6
|
committing gmqcc.h for previous exec.c commit: qc_program gets .xflags
|
2012-08-22 17:49:25 +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
|
ef3e7231bd
|
it's SUB_V not DUB_V
|
2012-08-22 17:32:42 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9296257c71
|
fix the functiondef's .locals...
|
2012-08-22 16:29:27 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5d884bcb45
|
for liferange calc: the block we start from must tart with an empty set of living values
|
2012-08-22 16:20:26 +02:00 |
|
Wolfgang (Blub) Bumiller
|
eb86a3d7a3
|
fixing some debug output
|
2012-08-22 16:19:56 +02:00 |
|
Wolfgang (Blub) Bumiller
|
b2efef9be2
|
more info with -dump
|
2012-08-22 16:04:06 +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
|
77e5807a83
|
memvector resize needs to set _count as well
|
2012-08-22 15:24:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
6cbc0a84d7
|
Mask out "MEM" debug messages when -memchk wasn't used
|
2012-08-22 15:18:11 +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
|
d4077f6884
|
Have the parser generate immediates AFTER generating the globals for correct def layout
|
2012-08-22 14:20:28 +02:00 |
|
Wolfgang (Blub) Bumiller
|
f6e5396f9f
|
First generate the globals, then the fields, so the defs have the correct layout for quake
|
2012-08-22 14:15: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
|
330a801ae9
|
Pop off all the locals after a function
|
2012-08-22 12:59:52 +02:00 |
|
Wolfgang (Blub) Bumiller
|
54bdd06aab
|
some vector tests
|
2012-08-22 12:56:34 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5275bdb35e
|
make track=no adds -DNOTRACK WARNING: do not compile only parts of the code with that... it would cause major breakage
|
2012-08-22 12:38:16 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5f2fc64498
|
-Wimplicit-function-pointer, functions without bodies still have a global function variable and thus are function pointers, though this shouldn't really be used, thus -Wimplicit-function-pointer is on by default
|
2012-08-22 12:37:06 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5390782d9b
|
Don't try to generate function code for functions without bodies
|
2012-08-22 12:33:24 +02:00 |
|
Wolfgang (Blub) Bumiller
|
fd835931af
|
Removing -std=c90, which was just used to make sure things stayed portable
|
2012-08-22 11:49:46 +02:00 |
|
Wolfgang (Blub) Bumiller
|
426cab1f24
|
ast_ifthen_codegen: the merge-jumps for an if's branches need to be added to the endblock of the branch, not the beginning
|
2012-08-21 18:25:41 +02:00 |
|
Wolfgang (Blub) Bumiller
|
1f32fe1d8a
|
Since we currently append AINSTR_END to the end of all functions for debugging purposes, and darkplaces complains when the very last statement isn't INSTR_DONE or INSTR_RETURN, we append an INSTR_DONE at the very end
|
2012-08-21 18:12:01 +02:00 |
|
Wolfgang (Blub) Bumiller
|
9eb9c99e72
|
Do not generate an OFS_RETURN variable, the IR doesn't need to know it as such
|
2012-08-21 16:08:23 +02:00 |
|
Wolfgang (Blub) Bumiller
|
3cd1d19a7e
|
Fix getline usage in main.c, fix WARN_VOID_VARIABLE -> WARN_VOID_VARIABLES in main.c
|
2012-08-21 16:05:10 +02:00 |
|
Wolfgang (Blub) Bumiller
|
19b66800ae
|
TYPE_FUNCTION values which are not constant are now allowed to be generated, they are function pointers.
|
2012-08-21 16:01:28 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8f4333df30
|
right... instead of checking for end_sys_globals twice, maybe ACTUALLY check for end_sys_fields too...
|
2012-08-21 15:50:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
93856bf151
|
-Wvoid-variables, QC uses 2 special void-typed variables: end_sys_globals and .end_sys_fields. However if for some reason someone wants more, we still allow them to be code-generated, but by default warn about them by default
|
2012-08-21 15:49:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5da30a46d1
|
let test_ast compile again
|
2012-08-21 12:03:34 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0e3db81cf3
|
uninit.qc test
|
2012-08-21 11:57:23 +02:00 |
|
Wolfgang (Blub) Bumiller
|
812794200c
|
nicer output for lost blocks in memory info
|
2012-08-21 11:45:19 +02:00 |
|
Wolfgang (Blub) Bumiller
|
700860a435
|
memblock_t is now a double-linked list so we can show where data was allocated which hasn't been freed
|
2012-08-21 11:41:01 +02:00 |
|
Wolfgang (Blub) Bumiller
|
22896e5ef6
|
at last, the annoying missing ast_delete(typevar)
|
2012-08-21 11:21:05 +02:00 |
|
Wolfgang (Blub) Bumiller
|
d7f43dfa4d
|
some more error situations where typevar wouldn't get freed
|
2012-08-21 11:18:40 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0674457c51
|
Fix some comment styles...
|
2012-08-21 10:33:37 +02:00 |
|
Wolfgang (Blub) Bumiller
|
24acaa4eaf
|
Fix output of util_memory_d
|
2012-08-21 10:30:53 +02:00 |
|
Wolfgang (Blub) Bumiller
|
8fcc528ffa
|
new warning: -Wlocal-constants
|
2012-08-21 10:18:55 +02:00 |
|
Wolfgang (Blub) Bumiller
|
92e8f08df3
|
don't _move_ values out of immediates, it causes NULL strings to be code-generated
|
2012-08-21 10:08:17 +02:00 |
|
Wolfgang (Blub) Bumiller
|
02cc86db25
|
Since function prototypes now don't cause the function to become a constant, we cannot check for a constant in [frame,think] notations anymore
|
2012-08-20 18:27:27 +02:00 |
|
Wolfgang (Blub) Bumiller
|
0d64e555e2
|
Better handling of EOF - encountering EOF in parser_next will not return false yet, this is a more elegant way...
|
2012-08-20 18:15:31 +02:00 |
|
Wolfgang (Blub) Bumiller
|
5a0995c767
|
better handlign of a too early error condition
|
2012-08-20 18:14:02 +02:00 |
|
Wolfgang (Blub) Bumiller
|
e0ffcfb74b
|
Lexer now returns TOKEN_EOF only once and afterwards TOKEN_FATAL
|
2012-08-20 18:12:04 +02:00 |
|
Wolfgang (Blub) Bumiller
|
198e35a823
|
Fix correction of parsiong of multiple variables: parse past the comma
|
2012-08-20 18:10:06 +02:00 |
|
Wolfgang (Blub) Bumiller
|
99bab76006
|
Creating the ast_function for a function only when encountering its body, so if no body is specified it works like a function pointer - just like QC wants it
|
2012-08-20 18:09:41 +02:00 |
|
Wolfgang (Blub) Bumiller
|
20448b93dc
|
Corrected parsing of declarations of multiple variables
|
2012-08-20 17:59:19 +02:00 |
|