Commit graph

6616 commits

Author SHA1 Message Date
gambas
2c2c610319 Merge branch 'master' of gitlab.com:gambas/gambas 2018-06-29 00:26:48 +02:00
gambas
5f4f12acf3 [COMPILER]
* NEW: UNSAFE is a new keyword used in conjunction with FAST. It tells the JIT compiler not to do any safety check (null objects, division by zero, out of array bounds...). It makes the code a bit faster, but prone to segmentation fault.

[INTERPRETER]
* NEW: Support for the UNSAFE keyword.

[GB.JIT]
* NEW: Support for the UNSAFE keyword.
* NEW: Check validity of objects that can be invalid.
2018-06-29 00:10:31 +02:00
Tobias Boege
789ce931f7 IconView: always raise Click event when clicked
[GB.GUI.BASE]
* BUG: IconView: always raise Click event when clicked and not only when selection changes

See Gambas Bug #1358
2018-06-28 19:07:31 +02:00
gambas
fe08dfa333 Work continues on new JIT system.
[INTERPRETER]
* NEW: JIT: Support for SUPER.
* NEW: JIT: Support for extern functions.
* NEW: Add a flag in Gambas functions to know if they are static or not.

[GB.JIT]
* NEW: Support for SUPER.
* NEW: Support for extern functions.
* BUG: Fix object arrays access.
* OPT: Optimization of Abs, Sgn, Int, Fix, and Pi subroutines.
2018-06-27 19:35:23 +02:00
gambas
6a23fa861a TreeView: Don't mess up multiple selection when automatic sorting is enabled.
[GB.GUI.BASE]
* BUG: TreeView: Don't mess up multiple selection when automatic sorting is enabled.
2018-06-26 18:50:38 +02:00
gambas
601776ef63 Menu editor: Always check the menu structure before saving it.
[DEVELOPMENT ENVIRONMENT]
* BUG: Menu editor: Always check the menu structure before saving it.
2018-06-26 18:43:54 +02:00
gambas
ab3963c99c Fix some bugs detected by clang, and JIT code can now raise events.
[INTERPRETER]
* NEW: JIT: Support for event raising.
* BUG: Fix some bugs detected by clang.

[GB.JIT]
* NEW: Support for event raising.
* OPT: Some optimizations in jit code generation and compilation.
2018-06-25 19:17:44 +02:00
gambas
90700a48ae Remove now unused JIT compilation source files.
[COMPILER]
* BUG: Remove now unused JIT compilation source files.
2018-06-25 19:16:10 +02:00
gambas
b88ba310d3 Merge branch 'master' of gitlab.com:gambas/gambas 2018-06-23 01:37:30 +02:00
gambas
06d139920d Work continues on new JIT system.
[INTERPRETER]
* BUG: JIT: No need to support breakpoints.

[GB.JIT]
* BUG: No need to support breakpoints.
2018-06-23 01:37:06 +02:00
gambas
128b5de2f2 [INTERPRETER]
* NEW: JIT: Support for QUIT and STOP EVENT instructions.

[GB.JIT]
* NEW: Implement QUIT and STOP EVENT instructions.
2018-06-23 01:31:39 +02:00
Benoît Minisini
7cd5a3eaae Merge branch 'clang' into 'master'
Install clang instead of gcc for archlinux-clang

See merge request gambas/gambas!29
2018-06-22 03:16:48 +00:00
gambas
29d94d3feb [DEVELOPMENT ENVIRONMENT]
* OPT: Profile window: Use JIT when loading a profile dump file.
2018-06-22 04:49:35 +02:00
gambas
6502645560 Work continues on new JIT system.
[INTERPRETER]
* BUG: JIT: Fix error handling when calling methods from JIT code.

[GB.JIT]
* NEW: Fix support of CATCH and FINALLY.
* NEW: Support for ON GOTO and ON GOSUB.
2018-06-22 04:49:05 +02:00
gambas
0c43cfced0 Add Session.Path property, and fix the write of session values for sqlite sessions.
[GB.WEB]
* BUG: Fix the write of session values for sqlite sessions.
* NEW: Session.Path is a new property that returns the path of the file where the session is stored.
2018-06-22 00:47:48 +02:00
gambas
757ecc14eb Fix the clang fix. Compiler messages are visible again.
[COMPILER]
* BUG: Fix the clang fix. Compiler messages are visible again.
2018-06-19 16:09:30 +02:00
bgermann
075068898e Install clang instead of gcc for archlinux-clang 2018-06-19 09:20:43 +02:00
Benoît Minisini
1a8b4cf662 Merge branch 'gmime' into 'master'
[GB.MIME] Make gb.mime compatible with libgmime 3.0

See merge request gambas/gambas!25
2018-06-19 00:11:34 +00:00
Benoît Minisini
9834cc71d9 Merge branch 'clang' into 'master'
Make compilation with clang possible

See merge request gambas/gambas!27
2018-06-19 00:07:32 +00:00
Benoît Minisini
1c35f13e58 Merge branch 'appstream' into 'master'
Make the AppStream XML adhere to the standard

See merge request gambas/gambas!28
2018-06-18 23:39:22 +00:00
gambas
ab01355230 Renaming an exported class in projects using non-GUI forms should not crash anymore.
[DEVELOPMENT ENVIRONMENT]
* BUG: Renaming an exported class in projects using non-GUI forms should not crash anymore.
2018-06-19 00:31:10 +02:00
gambas
5e2a99a0a0 Session: Exist() method now works correctly for sessions stored in sqlite databases.
[GB.WEB]
* BUG: Session: Exist() method now works correctly for sessions stored in sqlite databases.
2018-06-19 00:30:29 +02:00
gambas
3bd9dca142 Work on new JIT system continues.
[INTERPRETER]
* NEW: JIT: Complex number support.
* NEW: JIT: LAST support.

[GB.JIT]
* BUG: Fix management of local variable declaration of translated functions.
* NEW: Support for WITH ... END WITH.
* NEW: JIT: Complex number support.
* NEW: JIT: LAST support.
2018-06-19 00:30:12 +02:00
bgermann
c1ee391f2b Make the AppStream XML adhere to the standard
[DEVELOPMENT ENVIRONMENT]
* OPT: Make the AppStream XML adhere to the standard
2018-06-18 19:42:30 +02:00
gambas
b023f19ca1 Translation dialog: Add menu entries for copying string to the clipboard.
[DEVELOPMENT ENVIRONMENT]
* NEW: Translation dialog: Add menu entries for copying string to the clipboard.
* NEW: Menu editor: Don't reserve space for top-level menu icons, as they don't have any icon.
2018-06-16 16:08:26 +02:00
gambas
0eda19df1e Don't remove a control from its parent immediately when destroying it, so that GTK+ components behave like the QT ones.
[GB.GTK]
* NEW: Don't remove a control from its parent immediately when destroying it, so that GTK+ components behave like the QT ones.

[GB.GTK3]
* NEW: Don't remove a control from its parent immediately when destroying it, so that GTK+ components behave like the QT ones.
2018-06-16 15:36:34 +02:00
gambas
f922f8c187 Correctly take default tab size into account when creating a new project.
[DEVELOPMENT ENVIRONMENT]
* BUG: Correctly take default tab size into account when creating a new project.
2018-06-16 14:51:36 +02:00
gambas
89f82c0b11 Merge branch 'master' of gitlab.com:gambas/gambas 2018-06-16 01:15:37 +02:00
gambas
4ef9c15a1b Support for CATCH and FINALLY.
[INTERPRETER]
* NEW: The NEW implementation routine takes its opcode as argument now, like other subroutines with a variable number of arguments.

[GB.JIT]
* OPT: Call subroutines using their static address. No significative performance gain was detected.
* NEW: Support for CATCH and FINALLY.
2018-06-16 01:12:13 +02:00
Tobias Boege
8e594286cd IDE: Complete German translation
[DEVELOPMENT ENVIRONMENT]
* NEW: Complete German translation

Co-Authored-By: Uwe Keller <uwe.keller@mail.de>
2018-06-15 22:49:32 +02:00
gambas
6b83ac7e31 Disable the old jit component, but keep the sources.
[CONFIGURATION]
* NEW: Disable the old jit component, but keep the sources.
2018-06-14 23:43:47 +02:00
gambas
b9a83c8a10 Work continues on new JIT system.
[INTERPRETER]
* NEW: Support for error management in JIT methods.

[COMPILER]
* BUG: Fix Error() function metadata.

[GB.JIT]
* NEW: Support for error management.
* NEW: TRY instruction.
* BUG: Correct support of NULL.
2018-06-14 16:45:05 +02:00
bgermann
ba76c29291 Add archlinux-clang CI runner 2018-06-13 18:30:47 +02:00
bgermann
ff8a181667 Make compilation with clang possible
[CONFIGURATION]
* OPT: Compilation with clang is possible
2018-06-13 18:26:06 +02:00
gambas
5a1e3b48e9 Fix label generation again.
[GB.JIT]
* BUG: Fix label generation again.
2018-06-13 18:19:32 +02:00
bgermann
d663718914 Let Debian unstable depend on libgmime 3.0 2018-06-13 18:11:20 +02:00
bgermann
46882d5740 Make gb.mime compatible with libgmime 3.0
[GB.MIME]
* OPT: Make compatible with libgmime 3.0
* OPT: Drop libgmime 2.4 support
2018-06-13 18:11:20 +02:00
gambas
08c772a290 Fix FOR EACH loops translation.
[GB.JIT]
* BUG: Panic if the stack is not void once a function has been translated.
* BUG: Fix FOR EACH loops translation.
2018-06-13 16:59:56 +02:00
gambas
b8198005db [BENCHMARKS]
* OPT: Little optimization in nbody benchmark.

[GB.JIT]
* BUG: Fix translation of loops.
* BUG: Fix label generation.
2018-06-13 16:55:25 +02:00
gambas
83eed9707d Merge branch 'jit-with-c' 2018-06-13 00:45:19 +02:00
gambas
6b8afd0617 [COMPILER]
* BUG: Fix Left, Mid and Right subroutines metadata.

[GB.JIT]
* BUG: Fix function arguments management.
* BUG: Functions returning objects work correctly now.
* BUG: Fix internal control variables management.
2018-06-13 00:38:18 +02:00
Adrien Prokopowicz
2c9b2dcf03 Add the ability to expose some configuration failures with CI
See merge request gambas/gambas!26
2018-06-12 18:36:26 +00:00
Laurent Carlier
d0e3c3a95a Update Archlinux CI build 2018-06-12 16:33:12 +02:00
gambas
431be5bcea Fix string search routine optimization and thousand separator.
[INTERPRETER]
* BUG: Fix string search routine optimization.
* BUG: Fix thousand separator.
2018-06-12 16:30:11 +02:00
Laurent Carlier
a5a117fd33 Add a way to track configuration failures with CI
Disable it for main as it's expected.

=> GAMBAS_CONFIG_FAILURE=1 ./configure
.....
checking for gb.db.postgresql headers... no
configure: WARNING: Unable to find file: postgres.h
configure: WARNING: Unable to find file: pg_type.h
checking for gb.db.postgresql libraries... /usr/lib64/
configure: error: Failed to configure gb.db.postgresql
configure: error: ./configure failed for gb.db.postgresql
2018-06-12 16:27:31 +02:00
Tobias Boege
d44b4bd7f2 Chmod reads mode bit string correctly
[INTERPRETER]
* BUG: Fix off-by-one error in FILE_mode_from_string which couldn't read mode bits 's' and 't'
2018-06-12 13:40:44 +02:00
gambas
c671adfd6b Work continues on new JIT system.
[INTERPRETER]
* OPT: String searching (Instr, RInstr and Replace) has been made about 4x faster by searching the first occurence with memchr() and memrchr().

[GB.FORM.TERMINAL]
* BUG: Fix warning messages.

[GB.JIT]
* BUG: Fix byte, short and boolean pushing and popping routines.
* BUG: Fix string values referencing.
* BUG: Fix optional argument management.
* NEW: Optimization of bits management subroutines.

[GB.QT4]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.

[GB.QT5]
* BUG: Delay hooks initialization, because now socket notifiers must not be used before creating the event loop.
2018-06-11 18:56:39 +02:00
gambas
4e50dec11d Work continues on new JIT system. Translation is now done at runtime.
[INTERPRETER]
* OPT: String routines are now compiled with -O3.
* NEW: Don't display JIT debugging message unless GB_JIT_DEBUG is set to something different from zero.
* NEW: String whose length is greater than 256 now have a growth step of 256 bytes instead of 16.

[GB.JIT]
* NEW: Do many global optimizations as now the class metadata is fully available.
* NEW: Support for optional argument. Still buggy at the moment.
2018-06-09 22:42:35 +02:00
Laurent Carlier
2239e140e5 [CONFIGURATION]
* NEW: Only use pkg-config to detect sqlite3 (feature available since 2004!)
2018-06-06 15:29:42 +02:00
Laurent Carlier
acf7242ca1 [GB.SDL] fix detection with at least pkgconf 2.4.2 2018-06-06 00:33:06 +02:00