dvander@alliedmods.net
1b47aa10ca
Modernize sp_vm_engine style.
2015-02-23 13:08:28 -08:00
dvander@alliedmods.net
bcd88b4437
Modernize sp_vm_function style.
2015-02-23 13:01:00 -08:00
dvander@alliedmods.net
10d778e344
Modernize engine2.* style.
2015-02-23 12:49:26 -08:00
dvander@alliedmods.net
0100ebadb9
Fix build on GCC.
2015-02-23 12:40:02 -08:00
Kyle Sanderson
3386a3af80
Add Wno-error=sign-compare for gcc to Compiler.
2015-02-21 20:25:39 -08:00
David Anderson
c116a731f1
Remove sizeof() as a special-case default argument value.
2015-02-02 21:10:20 -08:00
David Anderson
380479cadd
Don't special case hierarchy-free enumeration constants when used as array indices. (bug 6302)
2015-01-29 00:16:06 -08:00
David Anderson
04c23383b1
Merge pull request #255 from alliedmodders/bug6298
...
Fix chained field expressions losing lvalue-ness. (bug 6298)
2015-01-28 17:49:52 -08:00
David Anderson
90ff154598
Fix chained field expressions losing lvalue-ness. (bug 6298)
2015-01-28 17:31:16 -08:00
Nicholas Hastings
d9ce8249cb
Fix incorrect error line show for incorrect return value on forwards (bug 6226).
2015-01-28 09:51:02 -08:00
David Anderson
bded4f9142
Fix uninitialized variable in decl_enum().
2015-01-04 12:12:16 -08:00
David Anderson
491036a1e6
Allow "stock static" in addition to "static stock".
2015-01-04 12:04:51 -08:00
David Anderson
4ec992474e
Remove some heinous preprocessor directives.
...
Gone:
- #emit (bah-roken!)
- #pragma compress (useless)
- #pragma library (useless)
2015-01-03 11:41:37 -08:00
Ryan Stecker
154d84668b
Old style retagging should emit a compiler warning when newdecls are required.
2014-12-17 16:37:39 -06:00
David Anderson
bab1110bc0
Disallow coercion to/from char[] and any[].
2014-12-14 02:00:58 -08:00
David Anderson
722a23c818
Redo menu methodmaps.
2014-12-13 12:53:30 -08:00
David Anderson
b607bfeca9
Reserve 'builtin' as a keyword.
2014-12-12 21:29:28 -08:00
David Anderson
5b69efe5d4
Add static method support to methodmaps.
2014-12-12 10:10:46 -08:00
David Anderson
afeae84340
Replace symbol proxies with type symbols.
...
Proxies were rather hacky and complicated, and only existed as a
workaround for oddities with constructors. This patch replaces them with
actual type symbols, a very tiny step to semantically getting rid of tags.
This greatly simplifies how we implement constructors, and paves the way
for using methodmap symbols in field expressions.
Since non-value symbols are new to spcomp1, we place a rather
pigeonholed check into primary() to make sure non-value symbols don't
escape into expressions.
2014-12-12 10:10:43 -08:00
David Anderson
0295f817b8
Allow int: and void: tags, but warn.
2014-12-10 02:36:30 -08:00
David Anderson
1ee3067575
Gracefully error on newly reserved keywords.
2014-12-09 23:18:11 -08:00
David Anderson
94bed806fe
Reserve many keywords.
2014-12-09 23:04:13 -08:00
David Anderson
9c98edd104
Rename "union" semantics to "typeset".
2014-12-09 22:36:42 -08:00
David Anderson
68e0645813
Add a view_as operator.
2014-11-30 19:08:25 -08:00
David Anderson
157549e119
Fix a bug where aliased constructors of nullable methodmaps could not be used.
2014-11-30 18:56:37 -08:00
David Anderson
9f5c8b60ae
Add a "new" keyword for constructing nullable methodmaps.
2014-11-30 18:38:26 -08:00
David Anderson
62c243f0a5
Fix reading the wrong symbol name when throw argument errors.
2014-11-22 12:23:57 -08:00
David Anderson
673ff572c5
Disallow retagging enums or using implicit-int as an enum tag.
2014-11-20 19:30:22 -08:00
David Anderson
79143d8b6e
Port files.inc to transitional syntax.
2014-11-15 13:42:28 -08:00
David Anderson
cfa0d9341e
Remove handling of class pseudokeyword since there is no C++ API to use it.
2014-11-09 18:12:30 -08:00
David Anderson
4bc7b9243a
Define 'this' as a keyword.
2014-11-09 13:01:35 -08:00
David Anderson
22df518ab5
Fix a bug where local dynamic array declarations could be mistakenly parsed as old decls (bug 6280).
2014-11-09 00:15:09 -08:00
David Anderson
c228be83d6
Revert "Fix a bug where local dynamic array declarations could be mistakenly parsed as old decls."
...
This reverts commit 046f167b6e
.
2014-11-09 00:15:00 -08:00
David Anderson
046f167b6e
Fix a bug where local dynamic array declarations could be mistakenly parsed as old decls (bug 6279).
2014-11-09 00:12:44 -08:00
David Anderson
099f299113
Fix trailing commas in array literals changing the result of sizeof().
2014-11-08 23:15:23 -08:00
David Anderson
4c377f21f9
Mark symbols as read when using sizeof().
2014-11-08 20:45:43 -08:00
David Anderson
704e9579f7
Fix comparisons of derived tags (bug 6239).
2014-11-08 20:27:39 -08:00
David Anderson
7609d19e32
Fix bug where bad carriage returns mess up line endings.
2014-11-08 18:04:45 -08:00
David Anderson
3cc5c198b4
Allow dynamic char arrays.
2014-11-08 17:39:43 -08:00
David Anderson
dbee1bcd08
Add an error check after calling doexpr2().
2014-11-08 03:07:34 -08:00
David Anderson
512cbc73a0
Fix a loophole with static local variables.
2014-11-08 02:54:29 -08:00
David Anderson
039572060e
Add new dynamic array syntax.
2014-11-08 02:48:13 -08:00
David Anderson
f08e53f5d2
Make sizeof on indeterminate arrays an error.
2014-11-08 02:07:43 -08:00
David Anderson
6d507ceb27
Add a special case for assigning a string literal to a char array.
2014-11-08 02:04:11 -08:00
David Anderson
70e095f320
Define post-fix arrays as determinate and pre-fix arrays as indeterminate.
2014-11-07 22:39:00 -08:00
David Anderson
a8796543af
Use symbols for fatal errors and bump them by 20 slots.
2014-11-07 17:41:33 -08:00
David Anderson
2c31b99ce3
Move is_new and has_postdims bits out of declinfo and into typeinfo.
2014-11-07 17:05:27 -08:00
David Anderson
613b06f6c0
Improve error messages when we can't find a typeexpr on a method.
2014-10-30 21:15:48 -07:00
David Anderson
97c3a2bc6e
Fix a crash when we fail to parse a typexpr in a global declaration.
2014-10-30 21:09:10 -07:00
David Anderson
eaff5c9364
Allow any in new-style natives.
2014-10-30 17:19:01 -07:00
David Anderson
e7fc06910b
Fix a crash when properties have setters but not getters.
2014-10-29 20:51:03 -07:00
David Anderson
d4fb74ef9a
Fix regression where duplicate function names were not an error.
2014-09-16 22:32:46 -07:00
Nicholas Hastings
c62e7458f9
Disable RTTI for Loader, Logic, and JIT bins
2014-09-11 17:15:59 -07:00
Nicholas Hastings
9a9446400d
Nuke spurious NULL checks in spcomp to appease Clang 3.5
2014-09-09 22:04:24 -04:00
David Anderson
d1aa9a3513
Merge branch 'calli-7'
2014-09-07 15:08:51 -07:00
David Anderson
60eb8ca4bd
Merge branch 'master' into calli-5
...
Conflicts:
public/amtl/am-utility.h
2014-09-07 15:03:28 -07:00
David Anderson
5b85f41fec
Use the correct string table for tag names.
2014-09-07 15:02:09 -07:00
David Anderson
37638ba6fd
Remove support for multiple tags on an argument.
2014-09-04 09:59:43 -07:00
David Anderson
01d1c0c806
Add a flag for warnings-as-errors.
2014-09-03 11:04:25 -07:00
David Anderson
9d337dd1a9
Merge pull request #146 from alliedmodders/unions
...
Add a "union" keyword to replace funcenum.
2014-08-31 16:02:59 -04:00
David Anderson
a1b7c32b29
Add a "union" keyword to replace funcenum.
2014-08-28 14:02:08 -07:00
Ryan Stecker
302dc1cb8a
Add test.
2014-08-26 14:58:58 -05:00
David Anderson
6db4f31a10
Remove weird tag flags.
2014-08-24 20:47:07 -07:00
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