Commit Graph

347 Commits

Author SHA1 Message Date
David Anderson
63e5ab18ff Remove support for multiple tags on an argument. 2014-08-24 18:59:51 -07:00
David Anderson
d230711e4d Bump SourcePawn version to 1.7 to match SourceMod. 2014-08-23 19:26:51 -07:00
Ryan Stecker
74908098f4 Allow trailing commas in string array declarations. (bug 6239) 2014-08-23 18:15:08 -05:00
David Anderson
078ee76491 Re-add .dbg.natives. 2014-08-23 13:40:50 -07:00
David Anderson
98ec07a419 Add debug info tables to smxbuilder. 2014-08-23 13:26:03 -07:00
David Anderson
c4056aea5d Rewrite the assembly pipeline.
This patch uses SmxBuilder from spcomp2 to replace the old assemble()
pipeline. Instead of generating into an old AMX structure, and then
decoding that into SMX, we now directly generate into SMX. This greatly
simplifies code generation and smx building.
2014-08-23 13:25:58 -07:00
David Anderson
7a51d5d549 Remove unused variables. 2014-08-23 13:25:48 -07:00
David Anderson
0cf8eb2854 Fix Windows build more. 2014-08-22 21:07:49 -07:00
David Anderson
d20ba38d6b Fix Windows build. 2014-08-22 20:47:18 -07:00
David Anderson
4d42fa0305 Fix Windows build. 2014-08-22 20:41:24 -07:00
David Anderson
d562593d31 Fix build. 2014-08-22 18:27:46 -07:00
David Anderson
27c3866b90 Merge branch 'calli-4' 2014-08-22 10:10:48 -07:00
David Anderson
50f3ec8da2 Merge branch 'calli-3' 2014-08-22 09:59:11 -07:00
David Anderson
f42651a813 Merge branch 'calli-2' 2014-08-22 09:58:14 -07:00
David Anderson
91f0f1001b Merge pull request #134 from alliedmodders/calli
Simplify how functags work.
2014-08-22 09:54:48 -07:00
David Anderson
a09735a4c7 Remove SC_FUNC and SC_VDEFINE. 2014-08-22 00:53:47 -07:00
David Anderson
6291374b35 Move rtti hacks. 2014-08-22 00:41:32 -07:00
David Anderson
dcd246c7ef Port scvars to C++. 2014-08-22 00:39:03 -07:00
David Anderson
29fbbade69 Port sc1 to C++. 2014-08-22 00:38:04 -07:00
David Anderson
48d228e2b1 Port sc2 to C++. 2014-08-22 00:23:02 -07:00
David Anderson
4608050bd2 Port sc3 to C++. 2014-08-22 00:17:00 -07:00
David Anderson
234b4907ed Port sc4 to C++. 2014-08-22 00:12:16 -07:00
David Anderson
9c005d93ed Port sc5 to C++. 2014-08-22 00:09:28 -07:00
David Anderson
3eb1faa470 Port sc6 to C++. 2014-08-22 00:07:40 -07:00
David Anderson
142fbaafdd Port sc7 to C++. 2014-08-22 00:04:48 -07:00
David Anderson
afd6009fda Port scexpand and sci18n to C++. 2014-08-22 00:00:31 -07:00
David Anderson
3e8157c6bc Port lstring and sclist to C++. 2014-08-21 23:58:19 -07:00
David Anderson
2ba4fb180e Move scstate.c to C++. 2014-08-21 23:54:10 -07:00
David Anderson
261188fd1b Port a bunch of legwork files to C++. 2014-08-21 23:53:11 -07:00
David Anderson
5a4c50ce55 Port sp_symhash to C++. 2014-08-21 23:36:26 -07:00
David Anderson
f5efdbf6f5 Remove hardtabs and fix style issues. 2014-08-21 22:42:22 -07:00
David Anderson
25241fa278 Remove file. 2014-08-21 22:19:25 -07:00
David Anderson
225954a27c Modernize the smx headers. 2014-08-21 22:16:07 -07:00
David Anderson
1f51393e26 Fix typedefs not fixing string sizes (bug 6220). 2014-08-20 00:26:09 -07:00
David Anderson
d91d69f72e Remove newline. 2014-08-20 00:06:33 -07:00
David Anderson
e5e2c1fa3d Simplify functag handling. 2014-08-20 00:00:24 -07:00
David Anderson
942a3cd155 Another dedent. 2014-08-19 22:32:02 -07:00
David Anderson
8dc4fcc728 Remove allowproccall code, dedent a block. 2014-08-19 22:29:13 -07:00
David Anderson
385d3708a3 Fix style issues in sctracker.c. 2014-08-19 22:17:10 -07:00
David Anderson
56cf6e723e Remove unnecessary changes. 2014-08-17 01:21:35 -07:00
David Anderson
cef9d9d162 Fix returning strings from functions with variadic arguments. 2014-08-17 01:17:10 -07:00
Asher Baker
f570fa414b Reformatted compiler output a little. (r=dvander) 2014-08-12 18:35:43 +00:00
David Anderson
ad376ff0b8 Introduce a typedef keyword. 2014-08-03 21:51:34 -07:00
David Anderson
09edda93ad Fix style atrocities in sc1.c. 2014-08-03 18:53:58 -07:00
Ryan Stecker
fad5c590b6 Fix not adding the "include" directory to the spcomp search path. 2014-07-24 15:35:44 -05:00
David Anderson
2553d02698 Fix build. 2014-07-24 10:40:51 -04:00
David Anderson
34e57b77b1 Fix spacing. 2014-07-24 08:54:52 -04:00
David Anderson
fa446f74a1 Generate .scp files as part of the build process. 2014-07-24 07:58:03 -04:00
David Anderson
94b64cd6fc Regen sc5.scp. 2014-07-24 06:55:57 -04:00
David Anderson
97e821dd6f Improve error messaging for reserved keywords (bug 6199). 2014-07-24 06:51:03 -04:00
David Anderson
3fc05056b0 Rename <unknown> to __unknown__ to quell sc7 asserts. 2014-07-23 23:25:12 -07:00
David Anderson
f41b3a2b06 Enable binreloc for OS X. 2014-07-23 23:21:03 -07:00
Ryan Stecker
6a2ec15041 Fix error message 102 to include the spectype that's missing.
Additionally this fixes invalid usage of error 102 in grow_stgbuffer.
2014-07-23 18:52:22 -05:00
Ryan Stecker
f3671e55db Close file handle on success in pc_opensrc. 2014-07-22 17:33:26 -05:00
David Anderson
2a99eecdb6 Fix bug in variadic argument parsing. 2014-07-21 23:01:35 -07:00
David Anderson
57303f4310 Merge pull request #103 from alliedmodders/fix-incdec
Fix postinc/dec operations on accessors.
2014-07-20 21:24:57 -07:00
David Anderson
686890ec10 Clean up the struct syntax and force it to use newdecls. 2014-07-20 12:16:23 -07:00
David Anderson
8aa28e2c8d More indentation, spacing, and style fixes in sc1.c. 2014-07-20 11:50:57 -07:00
David Anderson
16177e9ecc Fix indentation, spacing, and style in declstruct(). 2014-07-20 11:46:02 -07:00
David Anderson
2b74f1bd61 Remove unused function. 2014-07-20 11:19:48 -07:00
David Anderson
5daa420aed Fix inc/dec operations on accessors. 2014-07-20 11:18:38 -07:00
David Anderson
4051756576 Check for null map in matchtag(). 2014-07-20 10:15:49 -07:00
David Anderson
b0e98b16ec Mark usage correctly when invoking special natives. 2014-07-17 22:30:13 -07:00
David Anderson
f79f5df5ab Allow the any type in non-native newdecls. 2014-07-17 21:43:59 -07:00
David Anderson
beeb848724 Rename. 2014-07-17 21:19:31 -07:00
David Anderson
805b66e539 Fix null not working with comparisons. 2014-07-17 21:18:49 -07:00
David Anderson
84344c1592 Fix const with newdecls and a varargs bug. (bug 6179) 2014-07-17 20:44:54 -07:00
David Anderson
9c6b82f3a5 Merge pull request #89 from alliedmodders/bug-6176
Fix crash with malformed arguments (bug 6176).
2014-07-13 11:26:57 -07:00
David Anderson
2ea9ec50b5 Merge pull request #91 from alliedmodders/bug-6183
Show errors for methods that are unused. (bug 6183)
2014-07-13 11:24:51 -07:00
David Anderson
58a3cb4a06 Merge pull request #90 from alliedmodders/bug-6178
Allow chaining off method calls. (bug 6178)
2014-07-13 11:24:22 -07:00
David Anderson
71fb0d1d18 Address review comment. 2014-07-12 21:21:07 -07:00
David Anderson
cd6997cd0b Merge pull request #88 from alliedmodders/bug-6175
Fix and formalize newline and semicolon behavior in methodmaps. (bug 6175)
2014-07-12 20:45:35 -07:00
David Anderson
5dd5b5131b Show errors for methods that are unused. (bug 6183) 2014-07-12 10:28:29 -07:00
David Anderson
1a83ca57fc Allow chaining off method calls. (bug 6178) 2014-07-12 10:05:43 -07:00
David Anderson
21d3a7f93e Fix crash with malformed arguments (bug 6176). 2014-07-12 09:31:51 -07:00
David Anderson
294fdee1e6 Clarify lexpop(). 2014-07-12 00:09:05 -07:00
David Anderson
3d3e5c40c2 Fix and formalize newline and semicolon behavior in methodmaps. (bug 6175) 2014-07-12 00:07:34 -07:00
David Anderson
919e859a6d Fix "static stock" not working (bug 6174). 2014-07-10 23:18:07 -07:00
David Anderson
1e0155ad17 Merge pull request #81 from alliedmodders/unkeyword-class
Unkeyword "class", make it contextual.
2014-07-08 09:24:11 -07:00
David Anderson
02b7f42811 Unkeyword "class", make it contextual. 2014-07-08 00:44:34 -07:00
David Anderson
e76f553957 Begin locking down function types. 2014-07-08 00:26:37 -07:00
David Anderson
2ade122cd2 Merge branch 'master' into fix-null-func
Conflicts:
	sourcepawn/compiler/sc5.scp
2014-07-08 00:06:04 -07:00
David Anderson
e57a323dc8 WIP. 2014-07-07 23:31:31 -07:00
David Anderson
ff31d8df49 Update nominations.sp and improve compiler error messaging. 2014-07-06 23:59:15 -07:00
David Anderson
44316d63cc Add setters and fix some methodmap bugs. 2014-07-06 23:37:43 -07:00
David Anderson
1277bbd50e Mark the expression before flushing the staging buffer. 2014-07-05 14:15:44 -07:00
David Anderson
9ae3256bc0 Rename the null tag to null_t. 2014-07-05 13:31:10 -07:00
David Anderson
49380620e0 Merge branch 'master' into nullable 2014-07-05 13:24:45 -07:00
David Anderson
9ff38bcf80 Add nulls, and more newdecl and type system features.
New null_t type has a constant "null", which can be assigned to objects.
Methodmaps can now be "nullable", accepting null_t types.
The delete keyword now zaps non-const lvalue inputs.
Fixed some newdecl arguments not accepting references.
Allow functag matching to coerce arguments and return values.
Allow functags to accept new-style types as a return value.
2014-07-05 13:20:06 -07:00
Ryan Stecker
6864bf0068 Only spew JIT compilation and opcodes when built with JIT_SPEW defined. 2014-07-05 10:57:08 -05:00
David Anderson
96bbd4d7e0 Fix potential bugs in restoring newdecl state. 2014-07-05 01:13:45 -07:00
David Anderson
da33c79d8b Add #pragma newdecls required|optional. 2014-07-05 01:08:14 -07:00
David Anderson
bfc65b086a Fix bug in newdecls in for loop initializers. 2014-07-05 00:48:32 -07:00
David Anderson
680a8e0283 Fix tests. 2014-07-05 00:44:46 -07:00
David Anderson
f62769108c Fix some local declarations not working. 2014-07-04 23:53:16 -07:00
David Anderson
386b178ef3 Fix uninitialized variable warning. 2014-07-04 23:00:00 -07:00
David Anderson
79d9a49d28 Fix compiler bug. 2014-07-04 22:46:55 -07:00
David Anderson
376eb9725e Add support for new-style declarations in local variables. 2014-07-04 21:16:39 -07:00
David Anderson
5d753c2697 Merge pull request #67 from alliedmodders/glbdecls
Add support for new-style declarations in globals.
2014-07-04 17:21:26 -07:00
David Anderson
1c41f905f9 Add some tests and errors for bad void usage. 2014-07-04 17:14:40 -07:00