76c92e1a7e Another attempt to merge upstream changes with local ones.
4407e00f81 Adapt to AngelScript 2.33.0 WIP.
2d1dcc5ace Travis CI: bump copyright to 2018. [cache clear]
632c3f505a Add macro for checking the compiler's C++11 type trait templates. Modify angelscript.h header file to use our custom compiler define based on the check result to cater for pre-standard Clang compiler toolchain.
a8c35e00c4 Remove "execute" permission in the source files. [ci skip]
faa58bc4f1 Allow possibility of building Urho3D without C++ exceptions feature. Disallow Android build to turn off C++ RTTI feature.
380964ffd8 Unconditionally disable the x86 syscall prologs / epilogs on GCC, since the assembler error related to cfi instructions could also happen on newer versions.
4944524d01 Old GCC version check in as_callfunc_x86.cpp for CI.
73aac66775 Restore Urho3D tweaks to as_config.h and earlier ifdef check for C++11 features.
d0dd6f54dc Restore earlier ifdef for AS type traits due to some Android CI builds failing.
53bf0c68b4 Clang internal error workaround to as_callfunc_x86.cpp
882e776ad1 Travis CI: bump copyright to 2017. [ccache clear]
b41f490557 Initial work to update to AngelScript 2.31.2.
4619fb1240 Move the bits into places.
3550aa1f60 - fixed a bug with symbol lookup introduced with the refactoring
2e3a756923 - fixed a bug with symbol lookup introduced with the refactoring
f86ebb43fc - Continued the refactoring of symbol lookup so both function calls and variable access use the same logic - Virtual property accessors must not have the same name as real property or function in the same scope
7265999643 - Refactored how he compiler does symbol lookups to better handle namespace hierarchies and child types. - The array's and string's length property accessor has been renamed to 'size' to avoid conflict with the length() method
270856ff08 The copy constructor of script classes are now used properly by the compiler
af2c56e2ad - Fixed problem with use of unsafe references and global variables
c9e4bb6040 - When unsafe references is allowed the stream operator (<<) can now be implemented on value types with correct behaviour for chained expressions - The asBC_REFCPY and asBC_RefCpyV instructions can now be used with value types too
0aa30f092b Fixed compiler error in as_callfunc_x86.cpp for gnuc/mingw when compiling with optimizations
7707e9a22c CScriptAny now supports forwarding gc enum callbacks to value types with gc behaviour
c598c98ad0 CScriptGrid now support forwarding gc enum callbacks to value types with gc behaviour
d0a44858e4 Included SetCircularRefDetectedCallback to allow application developers to easier identify the origin of circular references
2fea402a22 Fixed a bug when loading bytecode having identical shared functions in different namespaces
bf9480602b Fixed problem in compiler that didn't release a temporary variable when passing anonymous object to function expecting ?&in
0a32333cf9 - AssignScriptObject will now set a script exception for ref types if asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE is used - Initialization lists will implicitly assume objects by handle if asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE is used
1ef192e4cc Passing a string literal to function expecting &out will now give compiler error
5c154f1ccb Fixed bug introduced in previous revision
71d557fd6d Fixed assert failure on call to opCast(?&out) with a non-variable expression
fbfc3cbc5c Bytecode with external shared classes with virtual methods failed to load from bytecode
5b97a695c8 The bytecode for external shared entities is no longer saved in the module when inherited from (additional fix when the same function was used in another class too)
3b7448cd61 The bytecode for external shared entities is no longer saved in the module when inherited from
21e4c65fb7 Fixed loading byte code that uses external shared classes in namespace
19cb3e303f Reduced the size of the saved byte code, especially when there are lots of functions without parameters
ce6fe5b80b CScriptDictionary now supports forwarding gc enum callbacks to value types with gc behaviour
c102cf24a3 Added exception handling to the MSVC8 project
3af7bab9d5 Initializing an ASHANDLE type with overloaded opHndlAssign taking a var type as a handle wasn't done correctly
11600f0d96 - Added the engine methods ForwardGCEnumReferences and ForwardGCReleaseAllReferences - CScriptArray now supports forwarding gc enum callbacks to value types with gc behaviour
d787280628 - Registered value types can now register GC behaviours to solve circular references involving these types - CScriptHandle registers the ENUMREFS and RELEASEREFS gc behaviours
db6a199d60 CScriptBuilder now supports having multiple meta data blocks for each entity
e6da96550a auto declarations now works correctly with implicit handle types
45194c3cf6 Fixed bug when loading bytecode containing shared interfaces with inheritance
6c6f887d26 meta data is now correctly extracted for class methods with decorators
f982e0dc2a The correct resolution is now done for types implementing both opCast and opImplConv and the const overloads. The same for opConv and opImplConv
7716d5479f Added MSVC 2017 projects
e7368f62a8 Fixed compiler error when both opConv and opImplConv are implemented
6fafba3022 opImplCast with variable type won't be used for non-ref types
f8a9eaed89 Fixed memory build-up due to delayed cleanup when discarding modules with shared entities
1649f60370 Further fixes related to template types and namespaces
14b56414db Template types are now properly identified in separate namespaces
f0ed5e519f Fixed an error when compiling a class method call as post-op and the name matches a type name
e3ca22c65a Saving bytecode for a never returning function would cause assert failure
c8095307f3 Class constructors can now be declared with private and protected too
64ab05ba0c Fixed error when saving bytecode for scripts containing interfaces that derives from interfaces
8bd5d40097 weakref now properly identifies different object instance when the address is the same as the previously freed object
cbaa500fb3 Fixed compiler error on Linux
d0e37c201b Implemented a callback to allow application to translate C++ exceptions thrown by registered functions
8037ae9a51 By default asEP_GENERIC_CALL_MODE is set to use the new behaviour
ef7d9a44ad Implemented engine property asEP_GENERIC_CALL_MODE to make the generic calling convention treat handles the same way that the native calling convention do
f15dcfcc56 Compiler would crash on compiling ternary operator with anonymous list in one of the conditions
aa7d45b60e Template types can now be registered with methods taking parameters as &inout
12c7ab4d6c - Loading bytecode that included use of template value types with a template type as argument crashed - All methods for template instances now get unique functions to show the template instance as the object type
32c4b235ba documentation
18678f1da9 The compiler will now give an error on bitwise operator with floats instead of silently converting to integer
400c54c299 Fixed bug with anonymous initialization lists when used to initialize value type passed by value to function
c168f89b4b - Fixed crash in debugger add-on when printing call stack in template function - Documented the script grammar in BNF - Added support for specifying parameter types to lambda functions
80adf56b06 Minor refactoring to reduce some duplicated code for verifying if proceeding token sequence is a type
d8e324cad1 Engine error messages now include the symbol name for the error code for easier interpretation
c6803b2a0a - Implemented a #pragma callback in the builder add-on - asrun can now turn on debugging with #pragma debug (works the same as -d command arg)
42c35611d6 Fixed incorrect use of setlocale in parseFloat
18fc360ef2 Changed the compiler to do less copies of objects and especially string constants
ba12d89ea0 cmake changes
9c93ca0c69 Fixed crash when compiling is null comparison with ASHANDLE object without any opEquals operator
66e4471016 Changed the clean-up of the string factory in the stdstring add-on to avoid crash if the script engine is stored in global singleton
1eb058cf24 - filesystem's changeCurrentPath doesn't modify anything if the new path is invalid - Implemented the methods makeDir, removeDir, deleteFile, copyFile, and move on the filesystem add-on
76aeadd7f3 Updated the cmake project for better usability
bfd447ddcb The asrun sample now waits for user input before closing on any error when executed from file explorer on Windows
153b385a1f Preparing the tests for new optimizations
4dd0bd304a Added methods setDate and setTime to datetime add-on and operators to add seconds, compare, and determine difference in seconds
d50e15345c Added the methods IsLink and GetSize to filesystem add-on
315252e5d1 Releasing 2.32.0
117d6a49cd Updating the config according to the new way of registering the string factory
833178fcaf RefCastObject was allowing explicit cast from base class to derived class even though the true type was of the base class
d582d62bf4 Linux with ARM doesn't support catching c++ exceptions yet
4232d7c0c8 Fixed problem on platforms where char is unsigned by default
c13e697abd Removed unnecessary include
0270b00838 Increased initial buffer size in asCString::Format to work around problem on Linux
3f5163be6c Fixed compiler warning
827c153abe Fixed buffer overflow when formatting error message with very long tokens
028f4cf94e Testing long tokens
8b279427dd Corrections for Linux/GNUC
5257e9234e Fixed an incorrect default arg
38fb52292f - Implemented generic calling convention for the CScriptArray::Sort method with callback - Fixed compiler error with AS_NO_COMPILER - Fixed tests for AS_MAX_PORTABILITY
8a5f493719 Documentation
680bde46d5 - Documentation - Removed the option to turn off the new string factory
11f1654449 Documentation
a49a9b59ba Documentation
12d2dcae4d Documentation
cdc47e3c1f Documentation
00b102d455 - Object properties can also be registered for composite objects - WriteConfigToStream and ConfigEngineFromStream properly handles composite properties - Debugger is capable of inspecting value of composite properties
d0896a561c Added support for registering class methods for composite types
737a4dc5c0 Removed deprecated code from previous versions
c503c760b9 Changed how string literals are handled by the script engine. Now they are evaluated at compile time and a pointer to the application native string object is stored in the byte code.
6f3df65557 Cleaning up
fc9738dc20 Compiler was allowing to pass a const object by reference to a parameter expecting a non-const when using unsafe references
18cc16c9fd Saved byte code with scripts that used child funcdefs couldn't be loaded
699cd4806f Value type without opAssign but with a copy constructor can now be implicitly copied in type conversions
af1cd92622 Explicitly creating a copy of a const object to get a non-const handle would give a compiler error
6672b26d13 - Objects that rely on asGetActiveContext during clean-up can now do so even during exception handling - Dictionary storing a const handle now allows retrieving by value
c5ad0228ab cleaning up the test code a bit
03d1e39c1e more cleanup in test code
8b44cde9b4 - Both Read and Write in asIBinaryStream can now return an error code to signal failure - fixed compiler warnings in test applications
49f44eaffa Fixed compilation error when the project path included space characters
026b87b5b6 Code clean-up
99d5a7d155 Using bit fields for function traits
4f6b4f38f0 Fixed the asbuild sample config and script files
aa74157748 Minor code cleanup
923f709dd3 Fixed assert failure when compiling expression with anonymous initialization list
f61dc2abc3 Fixed assert failure while compiling unary minus operator on constant integers smaller than 32 bits.
570966664a Fixed crash in compiler when compiling type conversion with invalid use of named arguments
393403156b Fixed assert failure when compiling comparison expressions with primitives smaller than 32bit
f610f7ed14 Fixed compiler error in deprecated IsHandleCompatibleWithObject when using AS_DEPRECATED
3d0c058e3c Handles received by reference is now properly treated when passed to function expecting variant type
cb4ddab368 Improved compiler error message when identifier before parenthesis doesn't evaluate to a function
REVERT: 886dc42a49 Allow possibility of building Urho3D without C++ exceptions feature. Disallow Android build to turn off C++ RTTI feature.
REVERT: 465d6931ea Unconditionally disable the x86 syscall prologs / epilogs on GCC, since the assembler error related to cfi instructions could also happen on newer versions.
REVERT: cb0ee7d3a4 Old GCC version check in as_callfunc_x86.cpp for CI.
REVERT: 63489c0d82 Restore Urho3D tweaks to as_config.h and earlier ifdef check for C++11 features.
REVERT: 4d24a82c7f Restore earlier ifdef for AS type traits due to some Android CI builds failing.
REVERT: 29bb3e80ec Clang internal error workaround to as_callfunc_x86.cpp
REVERT: 456770f542 Travis CI: bump copyright to 2017. [ccache clear]
REVERT: 522ff404ba Initial work to update to AngelScript 2.31.2.
REVERT: 05e50a5c70 Move the bits into places.
git-subtree-dir: Source/ThirdParty/AngelScript
git-subtree-split: 76c92e1a7e333abfb8827d0c5dc1c9a651e527f3