Las Venturas Playground
LVP PreCompiler 4.0 - Printable Version

+- Las Venturas Playground (https://forum.sa-mp.nl)
+-- Forum: Main Talk (https://forum.sa-mp.nl/forum-3.html)
+--- Forum: Development (https://forum.sa-mp.nl/forum-16.html)
+--- Thread: LVP PreCompiler 4.0 (/thread-28407.html)



LVP PreCompiler 4.0 - Russell - 11-08-2011

Hi there,

Please update to LVP PreCompiler 4.0.1 as soon as possible. As seen from version 3.0, the following improvements have been made.

- Added support for using tagged variables as class instances.
- Fixed a critical bug in communicating builds with the server.
- Added a warning for when a test-suite is being registered multiple times.
- Added a warning for when a command annotated function has too many parameters.
- Fixed parameter detection of command annotations in the Writer.
- Updated the protocol used for sending documentation and information to the server.
- Severely (300%+) speed up argument parsing, since that is now done by default.
- Added a small test-suite for the argument parsing, to ensure proper functionality.
- Fixed two crashes, a memory overflow and a use-after-free problem.
- Improved reporting of annotation-related errors (textual and position-wise).
- Improved parameter verification for command annotations.
- Fixed instance variables throwing warnings when unused (they're optional).
- Fixed a line-number desynchronisation.
- Fixed the Linux version of the PreCompiler, which is now fully functional.
- Implemented invocation switches on top of invocation lists.
- Implemented "#pragma offline", to disable any kind of connectivity.
- Fixed a bug which caused the command handler to be void.
- Fixed a potential dead-lock with class-call generation.
- Fixed building of Pawn scripts which do not use annotations.
- Strongly improved prototype verification for invocation lists.
- Fixed code generation for the invocation list annotations.
- Improved compatibility for building the pre-compiler on Linux.
- Fixed all remaining C++ compile warnings.
- Added internal functions of the SuperFastHash() and adler32() hash
  algorithms, perfectly calibrated with their Pawn counterparts.
- The PreCompiler is now about 10% faster due to a lot less memory
  allocations internally.
- Added the code-generation stage for command annotations.
- Added commandPlayerLocator and commandHasher annotations.
- Fixed a crash which occurred with the old Las Venturas Playground mode.
- Wrote an example script for the command handler.

Thanks,
Russell


Re: LVP PreCompiler 4.0 - Jay - 11-12-2011

Hi,

When I try to compile my code without an internet connection the compiler will crash.
I am aware of the #pragma offline setting to suppress this but I just thought I'd report it anyway.
Cheers


Re: LVP PreCompiler 4.0 - Russell - 01-02-2012

LVP PreCompiler 4.0.4 has been released, fixing an important issue with in-identifier property recognition. The latest trunk/ won't compile without this -- sorry!

Changelog:
Quote:Version 4.0.4 (2012-01-02)
- Fix a member-property name replacement bug for in-identifier occurrences.

Version 4.0.3 (2012-01-01)
- I don't know. This version does not seem to exist.

Version 4.0.2 (2011-11-26)
- Added support for the #compiler map() directive.
- Removed support for template classes.
- Deprecated the #pragma offline directive.

Version 4.0.1 (2011-11-08)
- Added support for using tagged variables as class instances.
- Fixed a critical bug in communicating builds with the server.

It's in releases/latest/.


Re: LVP PreCompiler 4.0 - Russell - 01-02-2012

And I'd like to release LVP PreCompiler 4.1 as well :D

Quote:Version 4.1 (2012-01-02)
- Patched in three-dot (ellipsis) string concatenation, example:
-  printf("Hello, " ... "world!");

This is a feature which only is available for future Pawn versions, but given SA-MP's unlikeliness to update I patched it in the current version! Source and binaries on SVN.


Re: LVP PreCompiler 4.0 - Jay - 01-16-2012

Nice work \o