Commit graph

1358 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
f22112bcb8 Variadic functions: works for builtins, warns for implemenetd functions, -Wvariadic-function, on by default 2012-08-23 11:29:48 +02:00
Wolfgang (Blub) Bumiller
deb7ccb830 for the lexer 3 dots now become TOKEN_DOTS 2012-08-23 11:12:32 +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
ab440743eb on linux we need -lm for sqrt 2012-08-23 10:24:41 +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
7e3ccf4626 MUL_VF and MUL_FV get their special life-range handling 2012-08-22 18:51:32 +02:00
Wolfgang (Blub) Bumiller
8b90fcf482 commenting on the quirks of MUL_VF and MUL_FV in gmqcc.h's instruction list 2012-08-22 18:34:48 +02:00
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