661 Commits

Author SHA1 Message Date
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
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
d91451cf1e Assert is an new instruction that raises an error as soon as its boolean argument is FALSE.
[COMPILER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE. The associated bytecode is not emitted if the '-x' option is specified.

[INTERPRETER]
* NEW: Assert is an new instruction that raises an error as soon as its boolean argument is FALSE.

[GB.DEBUG]
* BUG: Fix a potential array overflow.
2018-12-16 00:35:46 +01:00
gambas
43350ebfbd Connection.LastInsertId now raises an error instead of crashing when the connection is closed.
[GB.DB]
* BUG: Connection.LastInsertId now raises an error instead of crashing when the connection is closed.
2018-12-10 23:35:21 +01:00
gambas
b897cec6cf Remove the include of <stdio.h> from JIT header file.
[GB.JIT]
* BUG: Remove the include of <stdio.h> from JIT header file.
2018-12-09 03:50:14 +01:00
gambas
df275f7c9b Forgot to call JIT function when the call is dynamic, i.e. if the object owning the method has an anonymous datatype (Object or Variant).
[INTERPRETER]
* BUG: Forgot to call JIT function when the call is dynamic, i.e. if the object owning the method has an anonymous datatype (Object or Variant).

[GB.JIT]
* BUG: Save the initial stack pointer of a function in the function stack instead of using the interpreter stack.
2018-12-07 01:03:47 +01:00
gambas
52c1243c35 Correctly set the stack pointer before raising an exception in JIT code.
[GB.JIT]
* BUG: Correctly set the stack pointer before raising an exception in JIT code.
2018-12-04 00:48:02 +01:00
gambas
3652b82b3e Let the caller always release the function arguments.
[GB.JIT]
* BUG: Let the caller always release the function arguments.
2018-11-27 02:59:21 +01:00
gambas
62d9bf8676 Void optional arguments are compiled correctly again.
[GB.JIT]
* BUG: Void optional arguments are compiled correctly again.
2018-11-26 11:54:39 +01:00
gambas
7fa5bd5220 Set the SP stack pointer before calling the conversion function to workaround the compiler optimizations and prevent a memory leak at function end if the conversion fails and an exception is raised.
[GB.JIT]
* BUG: Set the SP stack pointer before calling the conversion function to workaround the compiler optimizations and prevent a memory leak at function end if the conversion fails and an exception is raised.
2018-11-26 01:20:09 +01:00
gambas
c0c1adaabc Correctly compile variable argument methods.
[GB.JIT]
* BUG: Correctly compile variable argument methods.
2018-11-24 21:33:18 +01:00
gambas
baaf962ab0 JIT now handles "no return value" errors correctly.
[INTERPRETER]
* BUG: Process.Wait() now handles error output correctly.

[GB.JIT]
* BUG: Display compiler error correctly.
* BUG: Handle "no return value" errors correctly.
2018-11-24 20:00:45 +01:00
gambas
7cd9c0b7ad Use 'volatile' to prevent the compiler from optimizing access to stack pointer in exception handling.
[GB.JIT]
* BUG: Use 'volatile' to prevent the compiler from optimizing access to stack pointer in exception handling.
2018-11-23 06:29:50 +01:00
gambas
f0f113da2b Correctly restore EP after it has been used by the translation of the TRY instruction.
[GB.JIT]
* BUG: Correctly restore EP after it has been used by the translation of the TRY instruction.
2018-11-16 01:33:51 +01:00
gambas
dcac5c2a26 Handle TRY inside JIT functions correctly.
[INTERPRETER]
* BUG: Handle TRY inside JIT functions correctly.

[GB.DEBUG]
* NEW: Add explicit messages when something fails during initialization.

[GB.JIT]
* BUG: Handle TRY correctly.
2018-11-02 21:44:40 +01:00
bgermann
730bd63a34 Make main compile on Hurd
Replace some BSD-exclusive with Linux-only ifdefs to not pollute term
with Hurd ifdefs
2018-10-17 22:08:50 +02:00
gambas
1c6a9c1b52 Define the TRUE/FALSE constant in the generated code again.
[GB.JIT]
* NEW: Define the TRUE/FALSE constant in the generated code again.
2018-10-16 19:30:28 +02:00
Benoît Minisini
aab5aecd72 Merge branch 'mipsterm' into 'master'
Fix missing define on MIPS

See merge request gambas/gambas!47
2018-10-16 17:29:38 +00:00
bgermann
1d93023181 Fix missing define on MIPS
More information: http://lists.busybox.net/pipermail/buildroot/2015-October/140931.html
2018-10-15 21:54:31 +02:00
bgermann
dace3b09ac Remove boolean definitions except in gb_common.h 2018-10-15 18:48:01 +02:00
bgermann
a0e95cc0b8 Spelling: catched -> caught 2018-10-14 21:52:07 +02:00
gambas
31929e1e44 Overriding public variables is forbidden, and JIT compiler correctly handles public constants.
[INTERPRETER]
* NEW: Overriding public variables was useless, and is now forbidden to help JIT compiler optimizations.

[GB.JIT]
* BUG: Correctly compile dynamic accesses to public constants.
2018-10-08 16:36:38 +02:00
gambas
a2d936dedb Fix highlighting of strings including '\xXX' escape sequences.
[GB.EVAL]
* BUG: Fix highlighting of strings including '\xXX' escape sequences.
2018-10-01 10:48:24 +02:00
gambas
029f3d35c2 Remove the Connection.TimeZone property, it is not used yet.
[GB.DB]
* NEW: Remove the Connection.TimeZone property, it is not used yet.
2018-09-23 09:12:37 +02:00
Benoît Minisini
a79edf23ed Merge branch 'bsd' into 'master'
More BSD changes

See merge request gambas/gambas!38
2018-09-21 22:55:31 +00:00
gambas
46f21a7f7b Strip png files with ImageMagick convert command. 2018-09-19 20:53:00 +02:00
bgermann
0aaee954d6 [GB.TERM] Compatibility with OpenBSD
[GB.TERM]
* NEW: Compatibility with OpenBSD
2018-09-10 22:04:50 +02:00
gambas
88220d483b Let the interpreter correctly manage exceptions when calling non-JIT code from JIT code.
[INTERPRETER]
* BUG: JIT: Let the interpreter correctly manage exceptions when calling non-JIT code from JIT code.

[GB.JIT]
* BUG: Correctly initialize CP during exception handler.
2018-09-10 20:11:59 +02:00
gambas
f00acc7104 Default value of optional arguments are correctly referenced now.
[GB.JIT]
* BUG: Default value of optional arguments are correctly referenced now.
2018-09-06 07:41:29 +02:00
Benoît Minisini
ce37927180 Merge branch 'netbsd' into 'master'
Improve NetBSD support

See merge request gambas/gambas!37
2018-09-01 10:28:18 +00:00
gambas
847dcd8ebf Remove other files that should not be tracked by git. 2018-09-01 12:23:05 +02:00
gambas
9ffe91c294 Remove files that should not be tracked by git. 2018-09-01 12:21:57 +02:00
gambas
3cb8b1afc6 Highlight.Analyze works correctly again.
[GB.EVAL]
* BUG: Highlight.Analyze works correctly again.
2018-09-01 12:16:24 +02:00
gambas
2374407b4d [DEVELOPMENT ENVIRONMENT]
* NEW: Update highlighting themes by defining the new color constants.
* NEW: Update French translation.
* BUG: Option dialog: The highlighting color panel now takes the editor font size into account.

[GB.EVAL]
* BUG: Fix string highlighting.
2018-09-01 00:46:48 +02:00
gambas
a73c2ed412 Add three new color constants for syntax highlighting: Escape, Label and Constant.
[COMPILER]
* NEW: Rename a macro constant to avoid a symbol clash when compiling the interpreter.

[INTERPRETER]
* NEW: Get rid of a macro trick in 'gbx_eval.h' header.

[GB.EVAL]
* NEW: Highlight: Add three new color constants for syntax highlighting: Escape, Label and Constant.
* NEW: Rename some source files.
* NEW: Rename some constants.
* NEW: Gambas syntax highlighter now use the three new contants for escape characters in strings, for labels, and for language contants (True, False, Null, +Inf and -Inf).

[GB.EVAL.HIGHLIGHT]
* NEW: Support for the new syntax highlighting color constants.

[GB.FORM.EDITOR]
* NEW: Support for the new syntax highlighting color constants.
2018-08-31 15:58:53 +02:00
bgermann
3685f21cbf [GB.TERM] Compatiblitity with NetBSD
[GB.TERM]
* NEW: Compatiblitity with NetBSD
2018-08-30 09:35:44 +02:00
gambas
7a680d738b Correctly compile void function arguments.
[GB.JIT]
* BUG: Correctly compile void function arguments.
2018-08-29 11:22:56 +02:00
gambas
fc2cbe819a Rename 'ClassStat' class as '_ClassStat' to avoid a possible name collision.
[GB.JIT]
* NEW: Rename 'ClassStat' class as '_ClassStat' to avoid a possible name collision.
2018-08-28 17:05:11 +02:00
gambas
706a605cc3 Correctly restore the stack after calling a method through the interpreter, and handle null values as object values having a null address automatically.
[INTERPRETER]
* NEW: Creating a NULL value now clears the object address field so that it can be freely interpreted as a Object value with a null address by the JIT compiled code.

[GB.JIT]
* BUG: Correctly restore stack after calling a method through the interpreter.
2018-08-22 09:30:27 +02:00
gambas
7ab07bd95f Correctly handle optional object arguments.
[GB.JIT]
* BUG: Correctly handle optional object arguments.
2018-08-20 19:57:47 +02:00
gambas
7492efcc0e Always load the class before accessing a static variable, as it may not be ready.
[INTERPRETER]
* BUG: FIx JIT class loading API.

[GB.JIT]
* BUG: Always load the class before accessing a static variable, as it may not be ready.
2018-08-18 15:28:19 +02:00
gambas
07ccec7358 Compile correctly optional arguments initialization.
[GB.JIT]
* BUG: Compile correctly optional arguments initialization.
2018-08-18 12:03:44 +02:00
gambas
d371614662 Correctly compile conversion from object to boolean.
[GB.JIT]
* BUG: Correctly compile conversion from object to boolean.
2018-08-17 01:04:53 +02:00
gambas
979e22f6e9 Correctly load classes from archives other than the main project one during JIT compilation.
[INTERPRETER]
* NEW: When creating a new class, set its component immediately if we know the archive it comes from.

[GB.JIT]
* BUG: Correctly load classes from archives other than the main project one.
2018-08-16 01:50:45 +02:00
gambas
6d35875a56 Correctly raise exceptions on the number of arguments of function calls.
[GB.JIT]
* BUG: Correctly raise exceptions on the number of arguments of function calls.
2018-08-15 08:37:25 +02:00
gambas
0b341e7c91 Compile optional arguments correctly.
[GB.JIT]
* BUG: Compile optional arguments correctly.
2018-08-15 00:01:51 +02:00
gambas
0297c1bafa Load classes without running the _init method, so that the JIT behaviour is closer to the interpreter behaviour.
[INTERPRETER]
* NEW: Add a JIT API for loading classes without running the _init method.

[GB.JIT]
* BUG: Load classes without running the _init method, so that the JIT behaviour is closer to the interpreter behaviour.
2018-08-14 16:46:55 +02:00
gambas
c569a234be Don't leak memory when converting an object to a boolean and correctly pop the arguments from the stack when propagating an exception.
[GB.JIT]
* BUG: Don't leak memory when converting an object to a boolean.
* BUG: Correctly pop the arguments from the stack when propagating an exception.
2018-08-14 12:15:04 +02:00
gambas
ad16238574 Correctly compile subroutines that return an unknown datatype.
[GB.JIT]
* BUG: Correctly compile subroutines that return an unknown datatype.
2018-08-14 10:57:49 +02:00