Commit graph

10887 commits

Author SHA1 Message Date
Benoît Minisini
53cd261647 Fix jump optimization again.
[COMPILER]
* BUG: Fix jump optimization again.
2022-12-10 20:36:49 +01:00
Benoît Minisini
bab0f763c5 Do not run jump optimization on ON GOTO / ON GOSUB, it breaks them.
[COMPILER]
* BUG: Do not run jump optimization on ON GOTO / ON GOSUB, it breaks them.
2022-12-10 19:39:17 +01:00
Benoît Minisini
74bb0fde23 Form editor: Fix reading and writing of color properties so that they do not trigger an overflow. Forms must be updated and recompiled!
[DEVELOPMENT ENVIRONMENT]
* BUG: Form editor: Fix reading and writing of color properties so that they do not trigger an overflow. Forms must be updated and recompiled!
2022-12-10 18:37:17 +01:00
Benoît Minisini
529e382122 Prevent a possible infinite recursion when initializing window menu bar.
[GB.QT4]
* BUG: Prevent a possible infinite recursion when initializing window menu bar.
* BUG: Fix the use of a local variable out of scope.

[GB.QT5]
* BUG: Prevent a possible infinite recursion when initializing window menu bar.
* BUG: Fix the use of a local variable out of scope.
2022-12-10 18:08:39 +01:00
Benoît Minisini
9e6d896a86 GridView: Fix integer overflow in cell span management.
[GB.GUI.BASE]
* BUG: GridView: Fix integer overflow in cell span management.
2022-12-10 17:51:53 +01:00
Benoît Minisini
e69cdc7bba Merge branch 'master' of gitlab.com:gambas/gambas 2022-12-10 12:55:44 +01:00
Benoît Minisini
c10fe0a6c3 Optimization of conditional jumps based on values known to be Boolean.
[COMPILER]
* OPT: Optimization of conditional jumps based on values known to be Boolean.
* BUG: Jump optimization is effective when debugging information is generated.
* BUG: The '/' operator correctly returns a Float if its arguments are Float.

[INTERPRETER]
* OPT: Optimization of conditional jumps based on values known to be Boolean.

[GB.JIT]
* NEW: Support for conditional jumps optimization.
2022-12-10 12:54:42 +01:00
gambix
d967daea86 Some tests 2022-12-10 11:21:54 +01:00
Benoît Minisini
b0dac7712b Get rid of deprecated 'GValueArray' datatype. Add support for 'GstValueArray' datatype.
[GB.MEDIA]
* BUG: Get rid of deprecated 'GValueArray' datatype.
* NEW: Add support for 'GstValueArray' datatype.
2022-12-10 01:43:39 +01:00
Benoît Minisini
0acbd1979c Ignore jumps to the end of the function when optimizing jumps.
[COMPILER]
* BUG: Ignore jumps to the end of the function when optimizing jumps.
2022-12-10 00:22:17 +01:00
Benoît Minisini
e495a05249 The Image constructor now fills the image data with 'Color.Transparent' color by default.
[GB.IMAGE]
* NEW: The Image constructor now fills the image data with 'Color.Transparent' color by default. To get uninitialized image data, you must specified 'Color.Default' as fill color.
2022-12-10 00:06:50 +01:00
Benoît Minisini
e082046379 Suppression de deux étiquettes inutiles dans la boucle de l'interpréteur.
[INTERPRETER]
* BUG: Suppression de deux étiquettes inutiles dans la boucle de l'interpréteur.
2022-12-09 20:05:39 +01:00
Benoît Minisini
e34a833bd7 Merge branch 'master' of gitlab.com:gambas/gambas 2022-12-09 18:18:49 +01:00
Benoît Minisini
2eeae0aea6 Make window activation specific to the GUI platform, in the hope of finding a workaround to the fact that window activation request is impossible in Wayland.
[GB.QT5]
* BUG: Make window activation specific to the GUI platform, in the hope of finding a workaround to the fact that window activation request is impossible in Wayland.
2022-12-09 18:16:01 +01:00
gambix
d8159c8289 Add a new hidden function to map to add generic _MapLayer
[GB.MAP]
* NEW: Add a new hidden function to map to add generic _MapLayer. This will allow to easily create
  information layer or other.
* NEW: Now _MapLayer have hidden functions for mouse events (_MouseMove,_MouseUp..._Enter, etc)
2022-12-09 16:41:13 +01:00
Benoît Minisini
5d0c54bca2 Some fixes in overflow detection.
[INTERPRETER]
* BUG: Fix overflow detection in conversion functions.
* BUG: Check for overflow detection only if the '__has_builtin' pseudo-macro is implemented by the compiler.
2022-12-09 16:07:12 +01:00
Benoît Minisini
2e05605938 Merge branch 'master' of gitlab.com:gambas/gambas 2022-12-09 15:04:03 +01:00
Benoît Minisini
af950247c4 Implement overflow detection in JIT compiler. Some jump optimizations in the compiler and the interpreter.
[COMPILER]
* OPT: Optimize jumps pointing at a JUMP instruction.

[INTERPRETER]
* OPT: Avoid conversion to boolean when possible in conditional jumps.

[GB.JIT]
* NEW: Implement overflow detection in integer arithmetic operations. The UNSAFE keyword disable them to get full speed.
2022-12-09 15:00:55 +01:00
Benoît Minisini
6e95b06a36 Mark the component as "unfinished" instead of "unstable".
[GB.POPPLER]
* NEW: Mark the component as "unfinished" instead of "unstable".
2022-12-09 14:12:59 +01:00
gambix
6eca2376bb _ShapeItem have now a name more accurate _MapShapeItem and is exported
[GB.MAP]
* NEW: _ShapeItem have now a name more accurate _MapShapeItem and is exported.
2022-12-09 09:57:17 +01:00
Benoît Minisini
c2c08aef6c The '/' operator does not necessarily return a Float. Fix incorrect optimizations that lead to interpreter crashes.
[COMPILER]
* BUG: The '/' operator does not necessarily return a Float. Fix incorrect optimizations that lead to interpreter crashes.
2022-12-08 15:52:56 +01:00
Benoît Minisini
9e89ea687f Try to make 'gb_overflow.h' compilable everywhere.
[INTERPRETER]
* BUG: Try to make 'gb_overflow.h' compilable everywhere.
2022-12-07 01:24:18 +01:00
Benoît Minisini
68f7c1160a Merge branch 'master' of gitlab.com:gambas/gambas 2022-12-06 20:31:15 +01:00
Benoît Minisini
0a7f10ad52 Integer arithmetic and conversion now raise an error if overflow is detected.
[INTERPRETER]
* NEW: Integer arithmetic and conversion now raise an error if overflow is detected.
2022-12-06 20:30:39 +01:00
Benoît Minisini
3a35562603 Immediate executable creation correctly copies the executable path into the clipboard.
[DEVELOPMENT ENVIRONMENT]
* BUG: Immediate executable creation correctly copies the executable path into the clipboard.
2022-12-06 20:29:30 +01:00
Christof Thalhofer
e56fe65925 test-fast for quick selftest in root dir
[DEVELOPMENT ENVIRONMENT]
* NEW: Add shell script test-fast in root dir for quick selftest
2022-12-05 17:17:35 +01:00
Benoît Minisini
39bf786af9 The parser handles correctly the ERROR keyword again.
[COMPILER]
* BUG: The parser handles correctly the ERROR keyword again.
2022-12-05 13:32:39 +01:00
Benoît Minisini
bff79700f3 Don't load the wiki documentation at exit if the wiki has never been used.
[DEVELOPMENT ENVIRONMENT]
* BUG: Don't load the wiki documentation at exit if the wiki has never been used.
2022-12-05 12:57:32 +01:00
Benoît Minisini
dbb868f227 FileView: Add MaxPreviewSize property. Cancel the preview background task as soon as the control is hidden.
[GB.FORM]
* NEW: FileView: MaxPreviewSize is a new property that allows to define the size limit of previewed file.
* BUG: FileView: The preview background task is now automatically stopped as soon as the control is hidden.
* NEW: FileChooser & DirChooser: Add a menu entry that disables the preview size limit.
* NEW: FileChooser & DirChooser: Add a preview progress bar.
2022-12-04 23:12:30 +01:00
Benoît Minisini
7a238f4c76 Make the compiler more clever when deciding if an identifier is a reserved keyword or not. Some optimizations in the compiler parser.
[INTERPRETER]
* OPT: Put less code in the main interpreter loop because it became too big again with gcc 12.

[COMPILER]
* OPT: Some optimizations in the parser.
* NEW: Make the compiler more clever when deciding if an identifier is a reserved keyword or not.
2022-12-04 20:00:04 +01:00
Benoît Minisini
c1687958b3 Debugger: Clearing breakpoints outside of debugging mode now works correctly.
[DEVELOPMENT ENVIRONMENT]
* BUG: Debugger: Clearing breakpoints outside of debugging mode now works correctly.
* NEW: Debugger: Sort local and global variables.
2022-12-01 23:15:33 +01:00
Benoît Minisini
3eee5a24a2 DBusProxy: Take annotations into account when generating signature.
[GB.DBUS]
* BUG: DBusProxy: Take annotations into account when generating signature.
2022-12-01 23:14:01 +01:00
Benoît Minisini
9659286e09 Update some application icons in Gambas icon set.
[GB.FORM]
* NEW: Update some application icons in Gambas icon set.
2022-12-01 22:10:29 +01:00
Benoît Minisini
5b651355d2 Update 'key' and 'page-break' icons.
[GB.FORM.STOCK]
* NEW: Update 'key' and 'page-break' icons.
2022-12-01 22:09:55 +01:00
Benoît Minisini
1b8f6af7b3 DBusProxy: Really fix symbol signature generation.
[GB.DBUS]
* BUG: DBusProxy: Really fix symbol signature generation.
2022-12-01 15:24:13 +01:00
Benoît Minisini
cbe2bc2b95 DBusProxy: Fix symbol signature generation again.
[GB.DBUS]
* BUG: DBusProxy: Fix symbol signature generation again.
2022-11-30 22:24:49 +01:00
Benoît Minisini
46426fc5e9 DBusProxy: Fix symbol signature generation.
[GB.DBUS]
* BUG: DBusProxy: Fix symbol signature generation.
2022-11-30 21:53:20 +01:00
Benoît Minisini
0fcacdebdf Raise a "Mathematic error" if the real or imaginary part of a complex number is not finite.
[GB.COMPLEX]
* NEW: Raise a "Mathematic error" if the real or imaginary part of a complex number is not finite.
2022-11-29 20:52:14 +01:00
Benoît Minisini
50e5bba9df Finally the divide operator does not return infinities. It raises a "Mathematic error" instead.
[INTERPRETER]
* NEW: Finally the divide operator does not return infinities. It raises a "Mathematic error" instead.
2022-11-29 20:47:26 +01:00
Benoît Minisini
c997255367 The divide operator now returns infinity when the numerator is infinity, and raises "Division by zero" error only if the numerator is zero.
[INTERPRETER]
* NEW: The divide operator now returns infinity when the numerator is infinity, and raises "Division by zero" error only if the numerator is zero.
2022-11-29 15:34:51 +01:00
Benoît Minisini
f947fb176d Add 48x48 version of mimetypes and application icons.
[CONFIGURATION]
* NEW: Add 48x48 version of mimetypes and application icons.
2022-11-29 11:24:48 +01:00
Benoît Minisini
22da925b87 DBus explorer: Load 'gb.dbus' component dynamically.
[DEVELOPMENT ENVIRONMENT]
* NEW: DBus explorer: Load 'gb.dbus' component dynamically.
* NEW: Show DBus explorer only if the project uses the 'gb.dbus' component.
2022-11-27 21:03:07 +01:00
Benoît Minisini
a261a0a53e Enhance conversion from DBus datatype to Gambas datatype.
[GB.DBUS]
* NEW: Enhance conversion from DBus datatype to Gambas datatype.
2022-11-27 09:07:32 +01:00
Benoît Minisini
98f7bc47bd Merge branch 'master' of gitlab.com:gambas/gambas 2022-11-27 08:58:40 +01:00
Benoît Minisini
d4a72d50b5 DBus explorer: Fix syntax highlighting on GTK+3.
[DEVELOPMENT ENVIRONMENT]
* BUG: DBus explorer: Fix syntax highlighting on GTK+3.
2022-11-27 08:58:30 +01:00
Benoît Minisini
5fbde5701a Update 'alpine', 'archlinux' and 'archlinux-clang'. 2022-11-27 07:50:04 +00:00
Benoît Minisini
5cd0b3b35a DBus explorer: Add a button that toggles DBus identifiers display.
[DEVELOPMENT ENVIRONMENT]
* NEW: DBus explorer: Add a button that toggles DBus identifiers display.
2022-11-27 00:36:20 +01:00
Benoît Minisini
052bb76117 Fix DBusProxy._GetSignature() when generating Gambas syntax.
[GB.DBUS]
* BUG: Fix DBusProxy._GetSignature() when generating Gambas syntax.
2022-11-27 00:24:20 +01:00
Benoît Minisini
7df0a90d10 Debug panel: The DBus explorer now displays the signature of symbols.
[DEVELOPMENT ENVIRONMENT]
* NEW: Debug panel: The DBus explorer now displays the signature of symbols.
2022-11-26 23:36:14 +01:00
Benoît Minisini
6e0b32d737 DBusProxy._GetSignature() is made public for getting the signature of a DBus method, property or signal, both in native or Gambas syntax.
[GB.DBUS]
* NEW: DBusProxy._GetSignature() is made public for getting the signature of a DBus method, property or signal, both in native or Gambas syntax.
2022-11-26 23:35:34 +01:00