Commit Graph

21 Commits

Author SHA1 Message Date
Ryan Stecker
3509f963ee Improve the diagnostic given when a function prototype doesn't match an existing definition. 2015-03-05 18:45:15 -06: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
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
9f5c8b60ae Add a "new" keyword for constructing nullable methodmaps. 2014-11-30 18:38:26 -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
4bc7b9243a Define 'this' as a keyword. 2014-11-09 13:01:35 -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
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
eaff5c9364 Allow any in new-style natives. 2014-10-30 17:19:01 -07:00
David Anderson
37638ba6fd Remove support for multiple tags on an argument. 2014-09-04 09:59:43 -07:00
David Anderson
a09735a4c7 Remove SC_FUNC and SC_VDEFINE. 2014-08-22 00:53:47 -07:00
David Anderson
9c005d93ed Port sc5 to C++. 2014-08-22 00:09:28 -07:00
David Anderson
fa446f74a1 Generate .scp files as part of the build process. 2014-07-24 07:58:03 -04:00