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