Commit Graph

410 Commits

Author SHA1 Message Date
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