Branch: Tag:


2020-03-14 08:57:47 by Henrik Grubbström (Grubba) <>

Compiler: The type for >32-bit integers is now int.

This should solve issues with strange derived types due to truncation
with eg sprintf(%c).

Fixes #10018.


2020-01-23 15:32:18 by Henrik Grubbström (Grubba) <>

Compiler [Typechecker]: Improved type checking.

Fixed issue where constant expressions after evaluation sometimes
got a partially weaker type. Eg: The expression

({ 0, 1, 2, 3 })

gets the type array(int(4bit)) from evaluating the type, but
the type array(4: int) from generating a type from the value.
The code generator now adds a soft-cast to the original type,
causing the resulting type to be array(4: int(4bit)).

Fixes testsuite failures for undumped pikes from eg SSL.Context.


2020-01-21 10:43:21 by Henrik Grubbström (Grubba) <>

Compiler [Typechecker]: Added special case for empty strings and arrays.


2020-01-19 18:47:07 by Henrik Grubbström (Grubba) <>

Compiler [Typechecker]: Type-check the length field.


2020-01-18 13:07:06 by Henrik Grubbström (Grubba) <>

Compiler: Add a starting sentinel to the type marker stack.

This makes some debug checks (in eg compiler_discard_top_type())
simpler/not break on empty marker stack.


2020-01-16 11:54:47 by Henrik Grubbström (Grubba) <>

Compiler: Adjusted rendering of zero-length array and string types.

2020-01-16 10:34:52 by Henrik Grubbström (Grubba) <>

EFUNs: _typeof() now returns limited length array and string types.


2020-01-14 11:35:03 by Henrik Grubbström (Grubba) <>

Compiler: Added serialization of length-limited types.


2020-01-13 11:50:08 by Henrik Grubbström (Grubba) <>

Compiler: Fixed typo in low_describe_type().

Fixes formatting of array types.


2020-01-12 17:27:21 by Henrik Grubbström (Grubba) <>

Compiler: Fixed typo in fatal error message.


2020-01-11 14:56:48 by Henrik Grubbström (Grubba) <>

Compiler: Improved handling output from {simple,low}_describe_type().

{simple,low}_describe_type() now display the length type for
array and string types if it is other than the default.


2020-01-10 11:44:22 by Henrik Grubbström (Grubba) <>

Compiler: Added low_describe_int_range().

This reduces code duplication and cleans up the code.


2020-01-08 11:18:20 by Henrik Grubbström (Grubba) <>

Compiler: Added int_pos_type_string.


2020-01-07 11:01:11 by Henrik Grubbström (Grubba) <>

Compiler: Set the length type for array types.


2020-01-04 13:04:18 by Henrik Grubbström (Grubba) <>

Compiler: Added compiler_discard_top_type().


2020-01-03 18:08:25 by Henrik Grubbström (Grubba) <>

GC: Fixed NULL-deref.

2020-01-03 12:18:42 by Henrik Grubbström (Grubba) <>

Compiler & GC: Fixed some issues with NULL in car for T_ARRAY et al.

2020-01-03 10:00:00 by Henrik Grubbström (Grubba) <>

Compiler: Support T_ARRAY and T_STRING nodes with non-NULL car.

Preparation for using the car for holding the length type.


2020-01-02 13:38:20 by Henrik Grubbström (Grubba) <>

Compiler: Added push_unlimited_array_type().

This is in preparation for adding support for
length-limited array types.


2019-12-22 15:07:50 by Henrik Grubbström (Grubba) <>

Runtime: Use new syntax when outputting types.


2019-12-17 11:59:56 by Henrik Grubbström (Grubba) <>

Compiler: Fixed broken fallthrough.


2019-12-16 17:18:26 by Henrik Grubbström (Grubba) <>

Compiler: Moved the value type for arrays and strings to cdr.

This is in preparation for using car for the index type. This
can then be used to type the lengths for array and strings.


2019-12-15 19:33:47 by Henrik Grubbström (Grubba) <>

Runtime: Allow free_type(NULL).


2019-10-17 09:03:58 by Henrik Grubbström (Grubba) <>

Compiler [Type checker]: Added peek_stack_mark().


2019-07-11 09:55:33 by Henrik Grubbström (Grubba) <>

Compiler: Warn about indexing of deprecated values.