Commit graph

2186 commits

Author SHA1 Message Date
Christof Thalhofer
09da14aa68 gb.test plan selftests and taskell
[GB.TEST]
*NEW: plan selftests
*NEW: forbid assertions in _Setup.. and _Teardown.. to ensure plan is always valid
2020-06-06 12:08:14 +02:00
Christof Thalhofer
e1bfd66808 gb.test documentation
[GB.TEST]
* OPT: documentation
2020-06-05 10:56:37 +02:00
gambas
a6ada310a7 Merge branch 'master' of gitlab.com:gambas/gambas 2020-06-03 16:15:43 +02:00
gambas
37db5413e1 Connection.ApplyTemplate() now updates existing tables.
[GB.DB]
* NEW: Connection.Url is a new property that returns the URL of the connection.
* NEW: Connection.ApplyTemplate() now updates existing tables.
2020-06-03 15:48:14 +02:00
gambas
2d2cfc1bd6 Fix compilation of OPEN STRING instruction that sometimes failed.
[COMPILER]
* BUG: Fix compilation of OPEN STRING instruction that sometimes failed.
2020-06-03 14:53:43 +02:00
Christof Thalhofer
a26f2e6e46 gb.test taskell update 2020-06-03 08:18:42 +02:00
Christof Thalhofer
7068c6bbca gb.test testmethod's names must not contain underscore
[GB.TEST]
* NEW: testmethod's names must not contain underscore
2020-06-02 11:04:06 +02:00
Tobias Boege
efdc072276 gb.test: document and fix Todo tests
[GB.TEST]
* NEW: Add tests for Assert.Match.
* BUG: Assert: document Approximate and RelativeApproximate.
* BUG: Special-case Expected = 0 in RelativeApproximate.
2020-06-01 06:57:45 +02:00
Tobias Boege
42065f8f0f gb.test: TSkipAll now passes
The test TSkipAll now passes with its intended implementation,
so remove the Test.Todo.
2020-06-01 06:36:04 +02:00
Tobias Boege
2f56334d2a TestRunner: Prefer Exec over Shell
[GB.TEST]
* OPT: TestRunner: do not assemble a Shell command string when Exec works.

Also remove leftover TODOs.
2020-06-01 06:33:45 +02:00
Tobias Boege
939397a734 gb.test: Parse a skipping plan line
[GB.TEST]
* NEW: The parser can now parse a plan line which skips the entire test.
2020-06-01 06:30:52 +02:00
Tobias Boege
e6e9b4b1b0 gb.test: Support for parsing subtests
[GB.TEST]
* NEW: TapParser can now parse subtests. Consequently, TestRunner assembles a tree of TestAssertions.
* BUG: Remove trailing '\r' characters from TapStream lines.

By our convention a subtest is opened by a "Test ..." line and closed by
its summarizing "ok" / "not ok" assertion.

This commit regresses on TInternals's reflection tests because I added
tests for the parser and runner which need event handlers to do their
testing. These are unintentionally detected as test methods.
2020-06-01 06:06:11 +02:00
gambas
7395093fea 'gb.util' and 'gb.settings' are not required anymore.
[GB.TEST]
* NEW: 'gb.util' and 'gb.settings' are not required anymore.
* NEW: Add an Helper module that implements the functions replacing what was used in 'gb.util' and 'gb.settings'.
* BUG: Rewrite the GetTestSuiteByName() method without 'gb.settings', and fix it. It was completely broken.
2020-05-31 00:58:50 +02:00
Christof Thalhofer
0447fc173d gb.test German translation
[GB.TEST]
* NEW: German translation
2020-05-28 18:22:22 +02:00
Christof Thalhofer
c816814ed4 gb.test refactoring and finetuning Assert Notes
[GB.TEST]
* NEW: refactoring and finetuning Assert Notes
2020-05-28 18:07:55 +02:00
Christof Thalhofer
65a0205d02 gb.test taskell update 2020-05-28 11:21:43 +02:00
Christof Thalhofer
6f4c24c3e1 gb.test test all assertions
[GB.TEST]
* NEW: Assert.IntendedFailure move to Test.IntendedFailure
* NEW: TAllAsserts tests all assertions (3 todo left)
2020-05-28 11:14:58 +02:00
Christof Thalhofer
c0b7e7db82 gb.test Skip and Todo from Assert to Test
[GB.TEST]
* NEW: Skip and Todo from Assert to Test
2020-05-28 09:30:15 +02:00
Christof Thalhofer
315c383a4d gb.test run testsuite by name from settings
[GB.TEST]
* OPT: gb.test: Run test suite by name from settings
2020-05-27 20:56:33 +02:00
Christof Thalhofer
024417bcff gb.test: Run test suite by name
[GB.TEST]
* new: Run test suite by name
2020-05-27 14:27:38 +02:00
Christof Thalhofer
9906661c7e gb.test: unittesthelloworld-1.0.0.tar.gz example
[GB.TEST]
* OPT: unittesthelloworld example
* OPT: Class TestMe just to be used for dev
2020-05-26 21:41:29 +02:00
Christof Thalhofer
fc4525708a gb.test rename test modules
[GB.TEST]
* OPT: rename testmodules and methods in them, get rid of such a lot "Test"
2020-05-26 20:45:18 +02:00
Christof Thalhofer
1130e4aa7d gb.test print all testcases
[GB.TEST]
* NEW: Print all tests as test suite string
2020-05-26 20:07:58 +02:00
Christof Thalhofer
9ad850e90b gbtest refactoring
[GB.TEST]
* OPT: Reduce the number of occurences of '__Test.Load(TestModule)' from 4 to 2
2020-05-26 15:25:39 +02:00
Christof Thalhofer
b0f6c7d475 gb.test fixed selftest 2020-05-26 11:41:32 +02:00
Christof Thalhofer
fd31986942 gb.test further tasks to be done 2020-05-26 09:55:56 +02:00
Christof Thalhofer
76419e2138 gb.test cleanup 2020-05-26 09:54:43 +02:00
gambas
5004f20609 Move 'gb.test' sources in '/main/lib'.
[INTERPRETER]
* NEW: Remove the now useless testing specific code.
* NEW: 'gbx3 -T' now just loads the 'gb.test' component and calls Test.Main() passing it the '-T' option argument.

[GB.TEST]
* NEW: Move 'gb.test' sources in '/main/lib'.
* NEW: 'gb.test' has now a part written in C that allows him to load project classes on demand.
2020-05-25 21:24:28 +02:00
gambas
3737b08904 Classes passed to 'gbx3 -T' that are not test modules are silently ignored.
[INTERPRETER]
* NEW: Classes passed to 'gbx3 -T' that are not test modules are silently ignored.
2020-05-25 11:50:12 +02:00
gambas
4739ef78b6 New dark theme color inversion algorithm and new Color.Invert() method.
[GB.IMAGE]
* NEW: New dark theme color inversion algorithm.
* NEW: Color.Invert() is a new method to invert a color.
2020-05-23 12:28:45 +02:00
gambas
f3850aad1b Redesign the interface between the interpreter and 'gb.test'.
[INTERPRETER]
* NEW: Redesign the interface between the interpreter and 'gb.test'.
2020-05-23 04:31:33 +02:00
gambas
d8f4c5a7cf Redesign the interface between the interpreter and 'gb.test' component.
[INTERPRETER]
* NEW: Now '-T' option with no argument calls Test._List() method.
* NEW: If '-T' gets an argument, the Test._Run() method is used.
* NEW: If '-T' argument is '*', then the Test._RunAll() method is called.
2020-05-22 16:02:48 +02:00
gambas
9022603257 Output a class flag for test modules. Do not generate the '.test' file anymore.
[COMPILER]
* NEW: Do not generate the '.test' file anymore.
* NEW: Output a class flag for test modules.
2020-05-22 16:00:40 +02:00
gambas
c99df6c0c5 Add an API to get the luminance of a color.
[GB.IMAGE]
* NEW: Add an API to get the luminance of a color.

[GB.JIT]
* NEW: Cosmetic changes.
2020-05-18 13:22:34 +02:00
gambas
7c7029aed8 Make a public function static.
[INTERPRETER]
* BUG: Make a public function static.
2020-05-17 08:26:14 +02:00
gambas
fffa4e5b51 Order options in displayed help.
[COMPILER]
* NEW: Order options in displayed help.

[ARCHIVER]
* NEW: Order options in displayed help.

[INFORMER]
* NEW: Order options in displayed help.
2020-05-17 08:24:58 +02:00
gambas
524f65cdaa Redesign verbose messages.
[INFORMER]
* NEW: Redesign verbose messages. Do not print anything if verbose mode is off, except warning messages.
2020-05-17 01:25:13 +02:00
gambas
8395b972b8 Make READ and INPUT return void strings instead of NULL, otherwise JIT compiler fails.
[INTERPRETER]
* BUG: Make READ and INPUT return void strings instead of NULL, otherwise JIT compiler fails.
2020-05-12 01:13:43 +02:00
gambas
ac5068e9c2 Automatically add 'gb.test' component information when a project includes a test module.
[COMPILER]
* BUG: Automatically add 'gb.test' component information when a project includes a test module.
2020-05-09 20:55:04 +02:00
gambas
986ca05fc4 Automatically load 'gb.test' component when the '-T' option is used.
[INTERPRETER]
* NEW: Automatically load 'gb.test' component when the '-T' option is used.
2020-05-07 15:15:13 +02:00
gambas
1cd23bb578 Interpreter options now accept a void argument.
[INTERPRETER]
* BUG: Interpreter options now accept a void argument.
2020-05-07 10:18:33 +02:00
gambas
368165ff2f Add '-T' option to run test modules.
[INTERPRETER]
* NEW: Add '-T' option to run test modules.
* NEW: Update help message and display options in alphabetic order.
* BUG: Use '-r' option now to redirect standard error output. No conflict anymore with '-t'.
2020-05-07 08:18:48 +02:00
gambas
b0eb952028 '&=' on variants is not incorrectly optimized anymore.
[INTERPRETER]
* BUG: '&=' on variants is not incorrectly optimized anymore.

[GB.JIT]
* BUG: '&=' on variants is not incorrectly optimized anymore.
2020-04-16 09:47:59 +02:00
gambas
68c503bc2e Enabling an already enabled timer has no effect anymore.
[INTERPRETER]
* BUG: Enabling an already enabled timer has no effect anymore.
2020-04-08 21:27:27 +02:00
gambas
12c819330b Add DB.LastInsertId, the static version of Connection.LastInsertId.
[GB.DB]
* BUG: Add DB.LastInsertId, the static version of Connection.LastInsertId.
2020-04-08 14:01:03 +02:00
gambas
2165ececd5 JIT optimization of '&=' has been implemented.
[INTERPRETER]
* NEW: Support for JIT '&=' optimization.
* BUG: Fix '&=' optimization on argument variables.
* OPT: Strings greater than 4096 bytes are allocated by 4096 bytes steps.

[GB.JIT]
* NEW: JIT optimization of '&=' has been implemented.
2020-04-06 04:43:12 +02:00
gambas
8f0d4db96c Fix support of '&=' operator optimization.
[GB.JIT]
* BUG: Fix support of '&=' operator optimization.
2020-04-04 17:06:36 +02:00
gambas
23835b8b9a Support for the '&=' operator optimization.
[GB.JIT]
* NEW: Support for the '&=' operator optimization.
2020-04-04 16:29:55 +02:00
gambas
08c5fc95c7 '&=' operator optimization.
[COMPILER]
* OPT: Support for '&=' operator optimization.

[INTERPRETER]
* OPT: '&=' operator optimization.
2020-04-04 16:18:10 +02:00
gambas
2b9e18a103 Fix detection of GUI components.
[GB.GUI]
* BUG: Fix detection of GUI components and share some code with 'gb.gui.qt'.

[GB.GUI.QT]
* BUG: Fix detection of GUI components and share some code with 'gb.gui'.
2020-03-10 18:29:05 +01:00
gambas
b83205f539 Correctly handle unary minus operator.
[GB.JIT]
* BUG: Correctly handle unary minus operator.
2020-03-10 00:41:05 +01:00
gambas
1a08090954 Debug.Fifo is a new property that returns the name of the FIFO used for communication with the IDE.
[GB.DEBUG]
* NEW: Debug.Fifo is a new property that returns the name of the FIFO used for communication with the IDE.
2020-03-09 02:23:41 +01:00
gambas
bc7d0fc7df Do not crash anymore by looking for help comments in form files when controls are public.
[COMPILER]
* BUG: Do not crash anymore by looking for help comments in form files when controls are public.
2020-03-04 01:37:29 +01:00
gambas
fd2794612b Call the event loop just after the JIT compiler has aborted, so that its processes are correctly freed.
[INTERPRETER]
* BUG: Call the event loop just after the JIT compiler has aborted, so that its processes are correctly freed.
2020-03-02 14:20:49 +01:00
gambas
fd778d20c8 Fix an uninitialized local variable.
[COMPILER]
* BUG: Fix an uninitialized local variable.
2020-02-22 22:43:11 +01:00
gambas
e584ba6713 Add support for test modules.
[COMPILER]
* NEW: Support for test modules.

[ARCHIVER]
* NEW: Support for test modules.
2020-02-22 15:57:46 +01:00
gambas
131653ab1f Converting a string to a pointer returns a pointer pointing at the beginning of the string.
[INTERPRETER]
* NEW: Converting a string to a pointer returns a pointer pointing at the beginning of the string.
2020-02-18 23:03:24 +01:00
gambas
7bedc9af65 Fix VarPtr() behaviour.
[INTERPRETER]
* BUG: VarPtr() on local strings are forbidden again.
* BUG: VarPtr() on variants now returns a pointer to the variant contents.
2020-02-18 20:36:45 +01:00
gambas
2cd257be5b PEEK is a new instruction that peek some bytes from a stream without removing them.
[COMPILER]
* NEW: Support for the new PEEK instruction.

[INTERPRETER]
* NEW: PEEK is a new instruction that peek some bytes from a stream without removing them, so that they are available to the next READ instruction.
* OPT: IsAscii(), IsLower(), IsPunct()... instructions are now a bit faster.
2020-02-11 01:45:10 +01:00
gambas
d4860710c0 Running a process without an event name does not reference its observer for nothing anymore.
[INTERPRETER]
* BUG: Running a process without an event name does not reference its observer for nothing anymore.
2020-02-04 10:32:55 +01:00
gambas
f0b3762ec1 JIT compiler can compile libraries now.
[INTERPRETER]
* NEW: Internal name of libraries uses a point now between vendor and library name, not a slash anymore.

[GB.DEBUG]
* BUG: Undo "make debugger output writes more robust". Apparently it does not work.

[GB.JIT]
* BUG: Compiling libraries works now.
2020-01-26 07:09:36 +01:00
gambas
6137849b22 Remove some surprisingly useless duplicated code in image conversion.
[GB.IMAGE]
* BUG: Remove some surprisingly useless duplicated code in image conversion.
2020-01-24 08:05:52 +01:00
gambas
2f071513d2 Add Highlight.Added and Highlight.Removed style constants.
[GB.EVAL]
* NEW: Add Highlight.Added and Highlight.Removed style constants.
2020-01-20 13:00:16 +01:00
gambas
6a0e3dbc4d Fix VarPtr() on function arguments.
[GB.JIT]
* BUG: Fix VarPtr() on function arguments.
2020-01-20 03:03:02 +01:00
gambas
191db990d8 Add support for VarPtr() on variant variables.
[GB.JIT]
* NEW: Add support for VarPtr() on variant variables.
2020-01-18 08:17:14 +01:00
gambas
ad3ce9b21e Fix VarPtr() error message.
[INTERPRETER]
* BUG: Fix VarPtr() error message.
2020-01-18 05:39:33 +01:00
gambas
3829c3b9cb VarPtr() now works on variant variables, but the returned pointer may become valid if the variant datatype changes.
[INTERPRETER]
* NEW: VarPtr() now works on variant variables, but the returned pointer may become valid if the variant datatype changes.
2020-01-18 05:33:47 +01:00
gambas
4144d77b49 Fix static arrays management.
[GB.JIT]
* BUG: Fix static arrays management.
2020-01-17 23:51:54 +01:00
gambas
ba221177da Fix call of special methods _read() and _write().
[INTERPRETER]
* BUG: Fix call of special methods _read() and _write().
2020-01-14 03:49:03 +01:00
gambas
38450adece Make debugger output writes more robust.
[GB.DEBUG]
* BUG: Make debugger output writes more robust.
2020-01-11 09:59:47 +01:00
gambas
507f48ca61 Fix a possible memory leak when reading an object on a stream through its special _read() method fails.
[INTERPRETER]
* BUG: Fix a possible memory leak when reading an object on a stream through its special _read() method fails.
2020-01-09 18:31:56 +01:00
gambas
a7965ccee2 Fix a comment typo.
[COMPILER]
* BUG: Fix a comment typo.
2020-01-09 18:31:23 +01:00
gambas
85ded796c9 Fix release of return value of JIT methods called from non-JIT methods.
[INTERPRETER]
* BUG: Fix release of return value of JIT methods called from non-JIT methods.
2020-01-09 04:48:22 +01:00
gambas
e4a8ff5738 Workaround a gcc 8 compiler optimization bug.
[COMPILER]
* BUG: Workaround a gcc 8 compiler optimization bug.
2020-01-08 22:15:45 +01:00
gambas
46b3b16630 Application.ParentHandle is a new property that returns the parent process id.
[INTERPRETER]
* NEW: Application.ParentHandle is a new property that returns the parent process id.
2020-01-08 13:54:03 +01:00
gambas
2429cff72b Fix possible memory leaks when reading objects or variants with the READ instruction.
[INTERPRETER]
* BUG: Fix possible memory leaks when reading objects or variants with the READ instruction.
2020-01-07 02:34:40 +01:00
gambas
f0290255fe Opening a pipe for reading does not block anymore if the pipe has not been opened for writing yet.
[INTERPRETER]
* NEW: Add class name in 'incorrect symbol declaration' error message.
* NEW: Opening a pipe for reading does not block anymore if the pipe has not been opened for writing yet. It help synchronizing applications using the same pipe a lot!
2020-01-06 23:02:33 +01:00
gambas
87100b744a Check special methods return value datatype. Add '_invalid' special variable.
[INTERPRETER]
* NEW: Check special methods return value datatype and raise a dedicated error if it is incorrect.
* NEW: Error.Text, Error.Where and Error.Backtrace are now available inside the Application_Error handler.
* BUG: 'gbx3 -L' now displays the same Gambas version as 'gbx3 -V'.
* NEW: A class can declare a public '_invalid' boolean variable. The value of that variable will indicates if the object is invalid.
2020-01-04 22:11:29 +01:00
gambas
c797862f43 Object.Count() does not fail anymore if the object is invalid.
[INTERPRETER]
* NEW: Object.Count() does not fail anymore if the object is invalid.
2020-01-04 22:09:56 +01:00
gambas
ca0a224f6a Signals are now correctly unregistered if the program exits during a signal handler.
[INTERPRETER]
* BUG: Signals are now correctly unregistered if the program exits during a signal handler.
2020-01-04 22:09:13 +01:00
gambas
22072e5bee Do not crash anymore when analyzing a line that ends with a '{' character.
[GB.EVAL]
* BUG: Do not crash anymore when analyzing a line that ends with a '{' character.
2020-01-02 15:02:06 +01:00
gambas
63000a27fe WAIT NEXT is a new instruction that waits for the next event and process it.
[INTERPRETER]
* NEW: WAIT NEXT is a new instruction that waits for the next event and process it.

[COMPILER]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK]
* NEW: Support for the new WAIT NEXT instruction.

[GB.GTK3]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT4]
* NEW: Support for the new WAIT NEXT instruction.

[GB.QT5]
* NEW: Support for the new WAIT NEXT instruction.
2020-01-02 13:08:45 +01:00
gambas
a4ec3990e7 Memory-mapped component archives file descritors are now automatically closed when a child process is executed.
[INTERPRETER]
* BUG: Memory-mapped component archives file descritors are now automatically closed when a child process is executed.
2019-12-30 19:41:33 +01:00
gambas
b5affdfa60 Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
[GB.JIT]
* NEW: Implement fast unsafe compilation of Byte@, Short@... functions, that just access memory without checking anything.
2019-12-23 11:22:36 +01:00
gambas
b09ab39338 Function names can be put between parenthesis to disable possible warnings on them.
[COMPILER]
* NEW: Function names can be put between parenthesis to disable possible warnings on them.
2019-12-22 20:48:58 +01:00
gambas
15a7a7f4f3 Fix objet serialization.
[INTERPRETER]
* BUG: Fix objet serialization.
* NEW: Use one byte for writing the class name length when serializing objects.
2019-12-21 20:54:13 +01:00
gambas
f39ed34592 Serializing an object is not ambiguous anymore.
[INTERPRETER]
* BUG: Serializing an object is not ambiguous anymore.
2019-12-21 17:35:30 +01:00
gambas
3d956c269c '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
[INTERPRETER]
* NEW: '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
* NEW: Rename macro that convert a Gambas stream object to the internal stream structure and add a macro that does the reverse conversion.
2019-12-21 17:03:42 +01:00
gambas
64be06797e Reading strings with the READ instruction when the NullTerminatedString property is set now works correctly on all streams.
[INTERPRETER]
* BUG: Reading strings with the READ instruction when the NullTerminatedString property is set now works correctly on all streams.
2019-12-20 00:29:07 +01:00
gambas
517266b4e4 Don't highlight Null as constant inside the new OPEN NULL syntax.
[GB.EVAL]
* NEW: Don't highlight Null as constant inside the new OPEN NULL syntax.
2019-12-18 07:26:43 +01:00
gambas
05cc5ee6e4 Forgot the new source file.
[INTERPRETER]
* BUG: Forgot the new source file.
2019-12-18 07:01:09 +01:00
gambas
3e0398dbd1 OPEN NULL is a new syntax that opens a null stream.
[INTERPRETER]
* NEW: OPEN NULL is a new syntax that opens a null stream. Reading always returns end of file, and writing does nothing except advancing the file pointer, allowing to know how many bytes were written.

[COMPILER]
* NEW: OPEN NULL is a new syntax that opens a null stream.
2019-12-18 06:59:21 +01:00
gambas
a0af9b3990 Fix some spaces in source code.
[GB.GEOM]
* BUG: Fix some spaces in source code.
2019-12-18 06:58:56 +01:00
gambas
2a6eaf8c8c Merge branch 'master' of gitlab.com:gambas/gambas 2019-12-18 06:34:42 +01:00
Benoît Minisini
53f83fb014 Forgot a semicolon.
[INTERPRETER]
* BUG: Forgot a semicolon.
2019-12-18 05:33:55 +00:00
gambas
4bca597638 Stream.NullTerminatedString is a new property that tells if writing a string on the stream emits the string length first, or a null terminated zero byte. This property is TRUE by default on memory streams.
[INTERPRETER]
* NEW: Stream.NullTerminatedString is a new property that tells if writing a string on the stream emits the string length first, or a null terminated zero byte. This property is TRUE by default on memory streams.
2019-12-18 06:29:33 +01:00
Benoît Minisini
6c1b9d6858 Really fix serialization of NULL values.
[INTERPRETER]
* BUG: Really fix serialization of NULL values.
2019-12-18 05:29:03 +00:00
gambas
c4b61aea83 Remove an old debugging message displayed when writing a pointer to a stream.
[INTERPRETER]
* BUG: Remove an old debugging message displayed when writing a pointer to a stream.
2019-12-18 06:22:26 +01:00
gambas
b98ca797e4 Fix serialization of NULL values.
[INTERPRETER]
* BUG: Fix serialization of NULL values.
2019-12-18 05:46:26 +01:00
gambas
b8ca134643 Reading a string on a memory stream now correctly skip the terminating null byte.
[INTERPRETER]
* BUG: Reading a string on a memory stream now correctly skip the terminating null byte.
2019-12-16 13:32:49 +01:00
gambas
b092a95132 Fix static array management.
[COMPILER]
* BUG: Allow static arrays to be used with the point operator.

[INTERPRETER]
* BUG: Fix static array management. They are not read-only anymore. Only methods that want to modify the size of the array are forbidden, as well as the ReadOnly property.
2019-11-30 06:29:17 +01:00
gambas
61af540536 Disable some compiler warnings and remove unnecessary PACKED directives.
[INTERPRETER]
* BUG: Disable some compiler warnings that generate false positives.

[GB.GEOM]
* BUG: Remove unnecessary PACKED directives.
2019-11-15 23:53:25 +01:00
gambas
55d7f20d80 Allow initialization of variables associated with property declaration.
[COMPILER]
* NEW: Allow initialization of variables associated with property declaration.
* BUG: Correctly detect help comments in all cases.
2019-11-13 20:06:41 +01:00
gambas
20a345cec4 Fix compilation of function calls with variable arguments passing.
[COMPILER]
* BUG: Fix compilation of function calls with variable arguments passing.
* BUG: Remove some useless structure packing directives.

[INTERPRETER]
* BUG: Fix compilation of function calls with variable arguments passing.
2019-11-09 11:58:57 +01:00
gambas
b02810d025 Fix Find() method on Float, Single, and Long arrays.
[INTERPRETER]
* BUG: Fix Find() method on Float, Single, and Long arrays.
2019-11-09 11:34:43 +01:00
Laurent Carlier
3f099c9b83 Partially revert "Remove register keyword, deprecated, now reserved keyword with C++17"
This partially reverts commit f1deb8e330.

Register keyword can be useful when the interpreter is built with '-Os'
2019-10-30 10:37:29 +01:00
Laurent Carlier
f1deb8e330 Remove register keyword, deprecated, now reserved keyword with C++17
Fixes "warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]"
with clang

https://en.cppreference.com/w/cpp/keyword/register
2019-10-30 06:53:09 +00:00
gambas
d8abac4cce Fix exponent sign printed twice in float to string conversion.
[INTERPRETER]
* BUG: Fix exponent sign printed twice in float to string conversion.
2019-10-29 09:20:41 +01:00
gambas
65d2b783fe Paint.TextHeight is a new property that returns the height of one line of text, and Paint.FontScale is now "transparent".
[GB.DRAW]
* NEW: Paint.TextHeight is a new property that returns the height of one line of text. This is not the same as Paint.Font.Height, as the device resolution is taken into account.

[GB.GTK]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.GTK3]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT4]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.

[GB.QT5]
* NEW: Paint.FontScale is now "transparent". Paint.Font.Size is not changed anymore when assigning the Paint.Font property.
* BUG: Utility windows now kept being in front of their parent window correctly.
2019-10-26 01:06:18 +02:00
gambas
f75de9a70f Fix highlighting of long lines and comments.
[GB.EVAL.HIGHLIGHT]
* BUG: Fix highlighting of long lines and comments.
2019-10-25 15:24:04 +02:00
gambas
8d8c8a71f8 Remove a useless global variable.
[INTERPRETER]
* BUG: Remove a useless global variable.
2019-10-21 09:44:52 +02:00
gambas
8c6f234cf4 Do JIT compilation after class loading. Otherwise the JIT compiler may want to load the class that triggers the compilation again.
[INTERPRETER]
* BUG: Do JIT compilation after class loading. Otherwise the JIT compiler may want to load the class that triggers the compilation again.
2019-10-12 13:06:01 +02:00
gambas
b7f2918fbd Correctly generate metadata file for events so that there is no spurious ByRef arguments anymore.
[COMPILER]
* BUG: Correctly generate metadata file for events so that there is no spurious ByRef arguments anymore.
2019-10-08 09:12:12 +02:00
gambas
e8ae38e098 Forgot to commit common header files.
[INTERPRETER]
* BUG: Forgot to commit common header files.
2019-10-07 22:04:56 +02:00
gambas
719f7967ad System.Trace is a new property that toggles the dump of the position of each executed line.
[INTERPRETER]
* NEW: Add command-line help for the '-t' option.
* NEW: The '-t' command-line option has a '--trace' long version.
* NEW: System.Trace is a new property that toggles the dump of the position of each executed line.
2019-10-05 04:03:32 +02:00
gambas
b73b47aca6 Floating-point number to string conversion is now 1.7 times faster.
[INTEPRETER]
* OPT: Floating-point number to string conversion is now 1.7 times faster.
2019-09-28 21:15:59 +02:00
gambas
28df313554 Add a '-t' option that dumps to the standard error the position of each executed line of code.
[INTERPRETER]
* NEW: Add a '-t' option that dumps to the standard error the position of each executed line of code.
2019-09-28 16:53:48 +02:00
gambas
f08ce22cdc Fix support of read-only arrays.
[INTERPRETER]
* BUG: Read-only arrays are now really read-only.

[GB.JIT]
* BUG: Support for read-only arrays.
2019-09-26 14:25:37 +02:00
gambas
7a49f039b5 Uncatched errors raised from an event handler can be ignored now.
[INTERPRETER]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.GTK3]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT4]
* NEW: Uncatched errors raised from an event handler can be ignored now.

[GB.QT5]
* NEW: Uncatched errors raised from an event handler can be ignored now.
2019-09-17 10:10:36 +02:00
gambas
225f2833da Fix again the management of the new new PROPERTY ... USE syntax.
[COMPILER]
* NEW: Don't emit debugging information for generated functions, but emit void sections for backward compatibility.
* NEW: Don't emit source file path in the debugging information.
2019-09-12 03:23:38 +02:00
gambas
133fd6e2d9 Fix again some crash when using the new PROPERTY ... USE syntax.
[COMPILER]
* BUG: Fix again some crash when using the new PROPERTY ... USE syntax.
2019-09-11 19:50:19 +02:00
gambas
51a9a1035d Fix crash when using the new PROPERTY ... USE syntax.
[COMPILER]
* BUG: Fix crash when using the new PROPERTY ... USE syntax.
2019-09-11 19:38:04 +02:00
gambas
d3fdd6fdda Error.Clear() now clears the error flag returned by the ERROR function.
[INTERPRETER]
* NEW: Error.Clear() now clears the error flag returned by the ERROR function.
2019-09-09 23:58:11 +02:00
gambas
a3b14f765b Fix the declaration of static properties using USE.
[COMPILER]
* BUG: Fix the declaration of static properties using USE.
2019-09-05 23:31:19 +02:00
gambas
234c2c690a [GB.DB]
* NEW: Add a driver API that handles debugging messages.
* NEW: Print the current date/time before any debugging message.

[GB.DB.MYSQL]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.ODBC]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.POSTGRESQL]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.SQLITE2]
* NEW: Use the new driver API to print debugging messages.

[GB.DB.SQLITE3]
* NEW: Use the new driver API to print debugging messages.
2019-08-30 09:09:16 +02:00
gambas
56b7b9e322 Forgot a comma in the error message list, making the raise of the last error message crash.
[INTERPRETER]
* BUG: Forgot a comma in the error message list, making the raise of the last error message crash.
2019-08-24 01:57:16 +02:00
gambas
51e271f107 Fix '&/' operator.
[INTERPRETER]
* BUG: Fix '&/' operator.
2019-08-22 12:36:52 +02:00
gambas
abf4dfb110 PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
[COMPILER]
* NEW: PROPERTY...USE... is a new syntax to declare a property automatically associated with a private global variable.
2019-08-22 03:13:58 +02:00
gambas
7b74fec6cc '&/' operator now automatically converts its arguments to strings.
[INTERPRETER]
* NEW: '&/' operator now automatically converts its arguments to strings.
2019-08-21 22:36:54 +02:00
gambas
411ee75e7d Fix JIT compilation when there are a lot of functions.
[INTERPRETER]
* BUG: Fix JIT compilation when there are a lot of functions.
2019-08-21 22:08:45 +02:00
gambas
4d59c6062d Fix boolean datatype management.
[GB.JIT]
* BUG: Fix boolean datatype management.
2019-08-21 01:23:12 +02:00
gambas
db50637bf4 Static class initializer are now always correctly run in the context of their component.
[INTERPRETER]
* BUG: Static class initializer are now always correctly run in the context of their component.
2019-08-03 00:13:56 +02:00
gambas
b11d422c14 Array.ReadOnly is a new property that make an array read-only. Once set, the property cannot be unset.
[INTERPRETER]
* NEW: Array.ReadOnly is a new property that make an array read-only. Once set, the property cannot be unset.
* NEW: The "Embedded array" error message has been rewritten as "Read-only array".
* NEW: Add two new standard errors: "Multidimensional array" and "Unknown class".
* NEW: Replace some specific error messages by standard errors.
2019-07-31 00:20:13 +02:00
gambas
f6f7f85f8b Add ByRef annotations to the ".info" files generated by the compiler.
[COMPILER]
* NEW: Add ByRef annotations to the ".info" files generated by the compiler. The name of "ByRef" method arguments is now prefixed with a '&' character.
2019-07-15 15:38:52 +02:00
gambas
8e487e5b18 Painting on an already painted device now correctly inherits the Paint.FontScale property.
[GB.DRAW]
* BUG: Painting on an already painted device now correctly inherits the Paint.FontScale property.
2019-07-10 04:22:14 +02:00
gambas
798b1d54cc Add Paint.FontScale, and make gb.gtk and gb.gtk3 printer drawing behave the same as QT components.
[GB.DRAW]
* NEW: Paint: FontScale is a new property that defines a scale applied to the size of the fonts assigned to the Paint.Font property.
* NEW: Paint: Scale() second argument is now optional, and takes the same value as the first argument if omitted.

[GB.GTK]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().

[GB.GTK3]
* NEW: Paint: Implementation of Paint.FontScale.
* BUG: Printer: All printer events are raised between a single Paint.Begin() / Paint.End().
* BUG: Printer: Print() does now crash anymore.
* BUG: Printer: Font sizes now are the same as with QT components.

[GB.QT4]
* NEW: Paint: Implementation of Paint.FontScale.

[GB.QT5]
* NEW: Paint: Implementation of Paint.FontScale.
2019-07-09 19:35:01 +02:00
gambas
01a3106d20 New Highlight.Alternate style, and make the matching braces blink with the cursor.
[GB.EVAL]
* NEW: Highlight.Alternate is a new constant that represents the background style used for coloring code embedded into webpages.

[GB.EVAL.HIGHLIGHT]
* NEW: Support for new Highlight.Alternate style.

[GB.FORM.EDITOR]
* NEW: Support for new Highlight.Alternate style.
* NEW: Matching braces now blink with the cursor.
* BUG: When the cursor moves, the blinking timer is reset so that the cursor blinks only when it is not moving.
2019-06-29 16:11:51 +02:00
gambas
4128a33adf Update library to version 6.4.2.
[GB.CLIPPER]
* NEW: Update library to version 6.4.2.
* BUG: Get rid of a gcc warning.
2019-06-29 16:10:21 +02:00
gambas
23c426857f Don't crash anymore when searching into an archive that failed to load.
[INTERPRETER]
* BUG: Don't crash anymore when searching into an archive that failed to load.
* BUG: The archive path is now a dynamic string.
2019-06-27 12:59:32 +02:00
gambas
bc8223e240 If the current translation does not exist, try to use the first available translation of the same language in another country.
[INTERPRETER]
* NEW: If the current translation does not exist, try to use the first available translation of the same language in another country.
2019-06-22 01:20:38 +02:00
gambas
cfb4a9d2a8 Enumerating an unknown datatype does not raise an error automatically anymore.
[GB.JIT]
* BUG: Enumerating an unknown datatype does not raise an error automatically anymore.
2019-06-18 09:50:56 +02:00
gambas
8d76cc99ba Component.Load() can load a component located at an absolute path now.
[INTERPRETER]
* NEW: Component.Load() can load a component located at an absolute path now.
2019-06-14 01:26:12 +02:00
gambas
ce37d6ff67 Ignore errors when loading a class for the JIT compiler.
[INTERPRETER]
* BUG: Ignore errors when loading a class for the JIT compiler.

[GB.JIT]
* BUG: Loading a class during JIT compilation can fail. Take that into account.
2019-06-11 22:32:12 +02:00
gambas
609e3348dd Stream.Eof is a new property that returns if end of stream has been reached.
[INTERPRETER]
* NEW: Stream.Eof is a new property that returns if end of stream has been reached. It's the same thing as Eof(Stream).
2019-05-20 16:14:17 +02:00
gambas
19b83e535d Fix 'gb.Scientific' number format.
[INTERPRETER]
* BUG: Fix 'gb.Scientific' number format.
2019-05-09 00:04:18 +02:00
gambas
cea4b4d1e4 Fix column computation when compiling expression tree.
[COMPILER]
* BUG: Fix column computation when compiling expression tree.
2019-05-08 15:32:11 +02:00
gambas
beb79ec952 Fix a forgotten '!' that broke the informer.
[INFORMER]
* BUG: Fix a forgotten '!' that broke the informer.
2019-05-08 14:15:01 +02:00
gambas
7ea4fb4ca5 Remove a useless memory allocation in column annotation. The compiler is now just 0.5% slower than before.
[COMPILER]
* OPT: Remove a useless memory allocation in column annotation. The compiler is now just 0.5% slower than before.
2019-05-08 06:27:14 +02:00
gambas
9f2da35cbe Emit column position in almost all error messages.
[COMPILER]
* OPT: Some optimizations in symbol table routines.
* NEW: Emit column position in almost all error messages. It makes the compiler 2.5% slower, even with the optimizations.
2019-05-08 06:20:35 +02:00
bgermann
44e3f4f7a3 Add missing wait header
WIFEXITED and WEXITSTATUS are used, so add sys/wait.h
2019-05-01 11:59:26 +02:00
gambas
7c0a6730cd Complete support for project extra references.
[CONFIGURATION]
* NEW: Update version to 3.13.90.

[DEVELOPMENT ENVIRONMENT]
* NEW: Redone extra references support.

[COMPILER]
* NEW: Take project extra references into account.

[GB.TERM.FORM]
* BUG: Fix project description.
2019-04-23 12:31:10 +02:00
gambas
f23228638b Fix Url$() escaping characters.
[INTERPRETER]
* BUG: Fix Url$() escaping characters.
2019-04-04 23:12:07 +02:00
gambas
3dd1fd493e Fix the JIT compiler: '_init' method, Lock instruction, Object datatype, and DO / REPEAT loops at the beginning of a function now work correctly.
[INTERPRETER]
* BUG: JIT compiler does not run static initializers anymore when loading a class. Otherwise bytecode can be modified before being compiled, leading to a JIT compiler crash.

[COMPILER]
* BUG: Fix LOCK subroutine meta-information.

[GB.JIT]
* NEW: Don't display abortion debugging message if there is no compilation to abort.
* BUG: Object variables are correctly managed now.
* BUG: DO...LOOP and REPEAT...UNTIL at the beginning of the function now is correctly compiled in all cases.
2019-04-04 22:58:06 +02:00
gambas
6c9df4c423 Cosmetic changes in debugger code.
[INTERPRETER]
* NEW: Cosmetic changes in debugger code.

[GB.DEBUG]
* NEW: Cosmetic changes in debugger code.
2019-03-21 23:14:22 +01:00
gambas
2bb7d795b7 Fix Array.Shuffle() on String, Long and Object arrays.
[INTERPRETER]
* BUG: Fix Array.Shuffle() on String, Long and Object arrays.
2019-03-20 19:39:56 +01:00
gambas
a6eb422756 Array.Shuffle() is a new method that randomly shuffles an array using Fisher–Yates algorithm.
[INTERPRETER]
* NEW: Array.Shuffle() is a new method that randomly shuffles an array using Fisher–Yates algorithm.
2019-03-20 15:08:16 +01:00
gambas
faa54caf02 Tasks work again.
[INTERPRETER]
* BUG: Tasks work again.
2019-03-15 19:44:48 +01:00
gambas
9893891365 ASSERT ... PRINT or ERROR allows to use PRINT or ERROR to print a message when the assertion fails.
[COMPILER]
* NEW: ASSERT ... PRINT or ERROR allows to use PRINT or ERROR to print a message when the assertion fails.
2019-03-15 19:36:22 +01:00
gambas
0bbf4761d6 Enhance formatting of unary minus operator.
[GB.EVAL]
* NEW: Enhance formatting of unary minus operator.
2019-03-14 02:47:36 +01:00
gambas
a8bcabb741 Unary minus operator is now sticked to its argument when put between parentheses or brackets.
[GB.EVAL]
* NEW: Unary minus operator is now sticked to its argument when put between parentheses or brackets.
2019-03-14 01:52:37 +01:00
gambas
d3a182aa0e Raise an error if there is not enough local slots for control structures.
[COMPILER]
* BUG: Raise an error if there is not enough local slots for control structures.
2019-03-13 14:25:32 +01:00
gambas
63d9d81bd2 Disabling JIT compiler works correctly again.
[INTERPRETER]
* BUG: Disabling JIT compiler works correctly again.
2019-03-13 12:59:14 +01:00
gambas
a0bcf85bd4 Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop.
[INTERPRETER]
* BUG: Active file descriptor watches and active timers are now automatically transferred to the component declaring a custom event loop. Consequently, a process started before the declaration of the event loop will have its termination signal correctly catched.
* NEW: Use waitpid() instead of wait4().

[GB.GTK]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.GTK3]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.QT4]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.

[GB.QT5]
* BUG: Declare the event loop hook last so that active file descriptor watches and active transfer are automatically transferred.
2019-03-12 03:46:30 +01:00
gambas
eb8c871740 Don't try to abort JIT compilation if the JIT component is not loaded.
[INTERPRETER]
* BUG: Don't try to abort JIT compilation if the JIT component is not loaded.
2019-03-11 17:53:18 +01:00
gambas
3f7095bbd9 Run JIT compilation in the background to make programs start faster.
[INTERPRETER]
* OPT: JIT compilation is run in two steps.

[GB.JIT]
* OPT: Run JIT compilation in the background.
* NEW: JIT.Debug is a new property that allows to enable JIT debugging messages at runtime.
2019-03-11 16:34:50 +01:00
gambas
209a8faacf Fix SortUsing() methods public declaration.
[INTERPRETER]
* BUG: Fix SortUsing() methods public declaration.
2019-03-08 21:51:27 +01:00
gambas
f38f1b1657 Variant[].Sort() and Variant[].SortUsing() methods have been added and SortUsing() methods now take an optional sort mode as second argument.
[INTERPRETER]
* NEW: Variant[].Sort() and Variant[].SortUsing() methods have been added.
* NEW: SortUsing() methods now take an optional sort mode as second argument.
2019-03-08 21:42:33 +01:00
gambas
c7d6ddd31f String.Right() does not crash anymore on invalid UTF-8 strings.
[INTERPRETER]
* BUG: String.Right() does not crash anymore on invalid UTF-8 strings.
2019-03-08 12:28:41 +01:00
Tobias Boege
76da51ce70 gb.inotify: Fix Watch.Events[] accessor
[GB.INOTIFY]
* BUG: Watch.Events._put incorrectly reset events outside the given event set and ignored the assigned value.
2019-03-07 08:24:08 +01:00
gambas
d668dadcf5 Array.SortUsing() is a new method that sorts an array according to the sort order defined by another array.
[INTERPRETER]
* NEW: Array.SortUsing() is a new method that sorts an array according to the sort order defined by another array.
2019-03-06 03:55:48 +01:00
gambas
b8af5cf289 Merge branch 'master' of gitlab.com:gambas/gambas 2019-03-04 01:36:35 +01:00
gambas
b257119380 String.Code() now returns -1 on incorrect UTF-8 string.
[INTERPRETER]
* BUG: String.Code() now returns -1 on incorrect UTF-8 string.
2019-03-04 01:35:33 +01:00
gambas
a0302b7f77 Optimize division, thanks to Cedron Dawg.
[GB.COMPLEX]
* OPT: Optimize division, thanks to Cedron Dawg.
2019-03-02 12:50:33 +01:00
gambas
fd7ae28ac9 File.RealPath() is a new statis method that returns the the canonicalized absolute pathname of path, with no symbolic links inside.
[INTERPRETER]
* NEW: File.RealPath() is a new statis method that returns the the canonicalized absolute pathname of path, with no symbolic links inside.
2019-02-28 02:57:25 +01:00
gambas
7c808bbba3 Define a new limit constant, that is the maximum length of the System.Language variable. It is 16 bytes.
[INTERPRETER]
* NEW: Define a new limit constant, that is the maximum length of the System.Language variable. It is 16 bytes.
2019-02-26 21:01:18 +01:00
gambas
3cd80f118d Allocate custom language environment variables statically, because environment is accessed by shared library exit routines, after the interpreter memory allocations have been freed.
[INTERPRETER]
* BUG: Allocate custom language environment variables statically, because environment is accessed by shared library exit routines, after the interpreter memory allocations have been freed.
2019-02-26 20:59:03 +01:00
gambas
1f73946947 Put 'gbh3' back into the git repository.
[CONFIGURATION]
* BUG: Don't put main/tools in .gitignore.

[HELPER]
* BUG: Put 'gbh3' back into the git repository.
2019-02-25 00:20:43 +01:00
gambas
b4a8adf222 Fix string to floating point conversion routine.
[INTERPRETER]
* BUG: Fix string to floating point conversion routine.
2019-02-16 02:00:17 +01:00
gambas
4f72989680 Unused function warnings now point at the beginning of the function.
[COMPILER]
* BUG: Unused function warnings now point at the beginning of the function.
2019-02-08 23:07:47 +01:00
gambas
466a570451 Connection.GetTemplate() and Connection.ApplyTemplate() now take tables without primary key into account correctly.
[GB.DB]
* BUG: Connection.GetTemplate() and Connection.ApplyTemplate() now take tables without primary key into account correctly.
2019-02-06 23:24:08 +01:00
gambas
c0eab6b4c4 Don't crash if a component use NULL as error message argument. Replace it by a void string.
[INTERPRETER]
* BUG: Don't crash if a component use NULL as error message argument. Replace it by a void string.
2019-02-06 23:23:18 +01:00
gambas
5bb2f41b21 Remove '*.mo' files now automatically generated by the compiler, and other filed that should be ignored too. 2019-02-02 01:07:37 +01:00
gambas
245d3d7429 Do not add an extra decimal digit to floating point numbers, it introduces rounding errors.
[INTERPRETER]
* BUG: Do not add an extra decimal digit to floating point numbers, it introduces rounding errors.
2019-01-26 15:24:46 +01:00
gambas
fe55f495f4 Fix the default value of optional Object function arguments.
[GB.JIT]
* BUG: Fix the default value of optional Object function arguments.
2019-01-20 22:50:35 +01:00
gambas
912d804daa Raise the maximum number of decimal digit of a Float value to 16.
[INTERPRETER]
* NEW: Raise the maximum number of decimal digit of a Float value to 16.
2019-01-19 01:06:38 +01:00
gambas
f1ed9011a3 If the option '-t' is specified, the compiler now automatically calls 'msgfmt' to compile the translation files if needed.
[COMPILER]
* NEW: If the option '-t' is specified, the compiler now automatically calls 'msgfmt' to compile the translation files if needed.
2019-01-19 01:03:57 +01:00
gambas
69d864f1d4 Ignore trailing zeros in the decimal part of floating point number constants.
[INTERPRETER]
* NEW: Allow one more decimal digit in floating point number constants.
* BUG: Ignore trailing zeros in the decimal part of floating point number constants. It may introduce rounding differences.
2019-01-16 04:32:44 +01:00
gambas
b97b82133a Make the "./" path equivalent to "." as before, and not a prefix for a component with a null name.
[INTERPRETER]
* BUG: Make the "./" path equivalent to "." as before, and not a prefix for a component with a null name.
2019-01-11 16:02:02 +01:00
gambas
ced4594599 Take care of components that modifiy the 'environ' variable. Using 'gb.httpd' does not crash anymore.
[INTERPRETER]
* BUG: Take care of components that modifiy the 'environ' variable. Using 'gb.httpd' does not crash anymore.
2019-01-11 15:23:50 +01:00
gambas
5c3ce53f61 Fix Debug instruction and support for the new Assert instruction.
[GB.JIT]
* BUG: Fix Debug instruction.
* BUG: Support for the new Assert instruction.
2019-01-11 01:46:13 +01:00
gambas
634b5c4168 Really fix the loop optimization.
[INTERPRETER]
* BUG: Really fix the loop optimization.
2019-01-11 01:14:42 +01:00
gambas
dd551e9bc5 Fix loop optimization that didn't work on loops calling themselves recursively.
[INTERPRETER]
* BUG: Fix loop optimization that didn't work on loops calling themselves recursively.
2019-01-11 01:11:46 +01:00
gambas
26448880a1 Support for 'tcc' compiler.
[GB.JIT]
* NEW: Support for 'tcc' compiler.
2019-01-08 01:53:38 +01:00
gambas
628aa30e54 Take the other requested GUI components into account to choose the toolkit.
[INTERPRETER]
* NEW: Add a API to know if a native component exists on the disk.

[GB.GUI]
* BUG: Take the other requested GUI components into account to choose the toolkit.

[GB.GUI.QT]
* BUG: Take the other requested GUI components into account to choose the toolkit.
2019-01-05 03:57:08 +01:00
gambas
0266ca1f15 InStr() and RInstr() work correctly again when case is ignored and pattern length is at least two characters.
[INTERPRETER]
* BUG: InStr() and RInstr() work correctly again when case is ignored and pattern length is at least two characters.
2019-01-03 19:58:17 +01:00
gambas
17bbc13df6 Do not use loop initial declaration in generated C code for old gcc versions.
[GB.JIT]
* BUG: Do not use loop initial declaration in generated C code for old gcc versions.
2019-01-03 10:29:44 +01:00
gambas
245427b08e * Get rid of many gcc warnings. 2019-01-02 00:48:58 +01:00
gambas
bfc88545c8 Correctly clear observer reference on the observed object when it is freed.
[INTERPRETER]
* BUG: Correctly clear observer reference on the observed object when it is freed.
* BUG: Clear environment variables set by the interpreter, as they can be read by the shared libraries exit routines after main() has been terminated.
2018-12-24 17:57:36 +01:00
gambas
87f88ac88b Fix Debug instruction.
[INTERPRETER]
* BUG: Fix Debug instruction.
2018-12-21 22:40:47 +01:00
gambas
fc41ff0b23 Assertion errors are now really not catchable anymore.
[INTERPRETER]
* BUG: Assertion errors are now really not catchable anymore.
2018-12-21 03:05:32 +01:00