Commit graph

71 commits

Author SHA1 Message Date
gambas
3c64df79b7 Namespace support continued.
[COMPILER]
* NEW: Add the '-n' option that defines a default namespace for exported classes.
* BUG: The generation of '.info' file now uses the exported name of classes.
* NEW: 'EXPORT TO <Namespace>' exports the class as '<NameSpace>:<class name>'.
* NEW: 'EXPORT TO DEFAULT' now exports to the global namespace.
2021-05-21 16:48:59 +02:00
gambas
fbff4a7ee9 New compilation option to check variable prefixes against their datatype, and print a warning if they do not match.
[COMPILER]
* NEW: Set compilation flags with the '-f' generic option now.
* NEW: New compilation option to check variable prefixes against their datatype, and print a warning if they do not match.
2021-05-07 19:20:30 +02:00
gambas
1beaf47ca7 Merge branch 'master' of gitlab.com:gambas/gambas 2021-04-03 13:15:10 +02:00
gambas
41cb5cbfe0 Use a lock file to prevent background task output on standard error from mixing.
[COMPILER]
* BUG: Use a lock file to prevent background task output on standard error from mixing.
2021-04-03 12:45:19 +02:00
Laurent Carlier
82fbda28e8
Detect git/svn version with a macro instead of creating a header file 2021-03-31 09:26:49 +02:00
gambas
7bcdef0ad5 Do not crash when using '("")' as value for a string constant.
[COMPILER]
* BUG: Do not crash when using '("")' as value for a string constant.
* NEW: Better support for background jobs crashes.
2021-02-04 04:04:23 +01:00
gambas
74f6f1e781 Wait for remaining background jobs after a compilation error has been reported.
[COMPILER]
* BUG: Wait for remaining background jobs after a compilation error has been reported.
2021-02-02 23:46:00 +01:00
gambas
84c5ac08dd By default, the number of jobs is the number of cores plus one.
[COMPILER]
* NEW: By default, the number of jobs is the number of cores plus one.
* NEW: -j0 option means the number of cores plus one.
2021-02-01 04:04:08 +01:00
gambas
1249ebd2f9 System.Cores is a new property that returns the number of cores.
[COMPILER]
* NEW: By default, the compiler now use a number of background tasks equal to the number of cores.

[INTERPRETER]
* NEW: System.Cores is a new property that returns the number of cores.
2021-02-01 01:21:08 +01:00
gambas
85fad8f9da The compile now creates its own process group, so that background tasks can join it when everything is run from a shell.
[COMPILER]
* BUG: The compile now creates its own process group, so that background tasks can join it when everything is run from a shell.
2021-01-30 15:25:08 +01:00
gambas
f7c783f536 Add a '-j' option to run multiple jobs in background to speed-up compilation.
[COMPILER]
* OPT: Add a '-j' option to run multiple jobs in background to speed-up compilation.
2021-01-30 14:06:09 +01:00
gambas
aefc635d54 Ignore CVS and CVSROOT directories when searching for source files to compile.
[COMPILER]
* BUG: Ignore CVS and CVSROOT directories when searching for source files to compile.
2020-10-01 23:22:30 +02:00
gambas
68af5ed6c4 Remove now useless structure fields.
[COMPILER]
* OPT: Remove now useless structure fields.
2020-06-11 01:44:23 +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
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
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
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
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
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
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
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
26117d0fc9 [COMPILER]
* BUG: Compiler messages are prefixed with 'gbc3:', not just 'gbc:'.
* NEW: Make loop variable errors more accurate.
2018-12-14 05:16:24 +01:00
gambas
9aa856c3a6 Do not use __DATE__ and __TIME__ macros, they prevent reproducible builds.
[INTERPRETER]
* BUG: Do not use __DATE__ and __TIME__ macros, they prevent reproducible builds.

[COMPILER]
* BUG: Do not use __DATE__ and __TIME__ macros, they prevent reproducible builds.

[ARCHIVER]
* BUG: Do not use __DATE__ and __TIME__ macros, they prevent reproducible builds.

[INFORMER]
* BUG: Do not use __DATE__ and __TIME__ macros, they prevent reproducible builds.
2018-10-26 03:05:02 +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
gambas
714b77a10d Work on new JIT system continues.
[CONFIGURATION]
* NEW: Add '.jit' directory to '.gitignore'.

[COMPILER]
* NEW: New '-j' option that disables just in time compilation.
* NEW: JIT: Support for private functions calls.
* NEW: JIT: Support for native arrays accessors.
* BUG: JIT: Fix loop support.
* NEW: JIT: Support for GOSUB.

[GB.JIT]
* NEW: GB_JIT_DEBUG is an environment variable that defines if JIT compilation debugging messages are printed.
* NEW: GB_JIT_CFLAGS is an environment variable that defines the JIT compilation flags. The default is "-O3".
* NEW: Support for native arrays accessors.
2018-06-01 03:50:42 +02:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
gambas
36b16f18b3 Sort the internal project class list to make the contents of object files predictable.
[ARCHIVER]
* BUG: scandir() work is now correctly freed.

[COMPILER]
* NEW: Sort the internal project class list to make the contents of object files predictable.
2017-11-19 23:18:23 +01:00
Tobias Boege
48c951987b [CONFIGURATION]
* NEW: Add (short) commit hash and branch name to gb{a,c,i,x}3 --version when compiled from git
2017-08-15 11:58:48 +02:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
f34f52b928 [INTERPRETER]
* NEW: New library management.

[COMPILER]
* NEW: New library management.


git-svn-id: svn://localhost/gambas/trunk@7592 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2016-02-01 02:18:49 +00:00
Benoît Minisini
c9ca5ab982 [CONFIGURATION]
* NEW: Update copyright year to 2013.

[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a 
  scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
  a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.


git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-03 15:38:01 +00:00
Benoît Minisini
26a85ce106 [CONFIGURATION]
* NEW: The trunk version is now generated at compilation time through 
  custom rules and a generated include in the Makefile.am file.

[EXAMPLES]
* NEW: Use the new HttpClient Progress event and its properties in the 
  HttpGet networking example.


git-svn-id: svn://localhost/gambas/trunk@5676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-25 13:23:39 +00:00
Benoît Minisini
1da147d6e5 [CONFIGURATION]
* NEW: The trunk version is now put in the 'config.h' file of the /main 
  source directory. No compilation flag is used anymore.
* NEW: All Gambad executables return the trunk revision number when they 
  are called with the '-V' option.

[GB.WEB]
* BUG: The Request.Fields property now can be read without reading the 
  value of a request field first.


git-svn-id: svn://localhost/gambas/trunk@5674 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-22 23:03:48 +00:00
Benoît Minisini
b8260e2aba [INTERPRETER]
* BUG: Some fixes of bugs detected by Coverity Scan.
* NEW: Raise a 'Filename too long' error now when a too long file path is
  detected inside a file management function.
* NEW: System.TimeZone is a new property that returns the current timezone
  as an offset in seconds that must be added to a local time to get UTC.

[COMPILER]
* BUG: Some fixes of bugs detected by Coverity Scan.

[GB.IMAGE]
* BUG: Some fixes of bugs detected by Coverity Scan.


git-svn-id: svn://localhost/gambas/trunk@5490 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-04 23:24:37 +00:00
Benoît Minisini
ca59b5880f [COMPILER]
* NEW: Emit line positions in debugging information for global 
  initializations.


git-svn-id: svn://localhost/gambas/trunk@5452 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 21:55:16 +00:00
Benoît Minisini
0026fb1489 [DEVELOPMENT ENVIRONMENT]
* NEW: Support for compiler warnings.
* BUG: Fix all detected warnings.

[COMPILER]
* NEW: A new compiler option '-w' to let it emit warnings.
* NEW: Emit warnings for unused variables, arguments, functions and for 
  local symbols that override global symbols. Public symbols are of course 
  not taken into account.
* NEW: If an argument is surrounded by braces, no warning will be emitted
  if the argument is not used.

[GB.EVAL]
* NEW: OPTIONAL keyword is always followed by a space now when rewriting 
  Gambas code.


git-svn-id: svn://localhost/gambas/trunk@5122 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-09-04 07:29:39 +00:00
Benoît Minisini
9d1c8225dc [CONFIGURATION]
* NEW: Standardize the help text of all command-line tools.

[DEVELOPMENT ENVIRONMENT]
* BUG: Packager: library executables are installed with the '.gambas' 
  extension, but not the standard executables, where the extension is 
  removed.
* BUG: Packager: ArchLinux packager now compiles the project correctly.

[GB.FORM]
* NEW: Draw SidePanel little arrows differently.


git-svn-id: svn://localhost/gambas/trunk@5061 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-21 01:03:52 +00:00
Benoît Minisini
8be12f5027 [DEVELOPMENT ENVIRONMENT]
* NEW: Define the 'Exec' preprocessor constant when making an executable.
* BUG: Packager: Replace spaces with underscores when using the vendor name 
  as package name prefix.
* BUG: Packager: Fix "make uninstall" in autoconf packages.

[INTERPRETER]
* BUG: Allow to override native array classes without crashing.

[COMPILER]
* NEW: New '-x' option to define the 'Exec' preprocessor constant.

[EXAMPLES]
* NEW: MediaPlayer: Real-time seeking.
* NEW: MediaPlayer: Use gb.desktop to suspend the screen saver while 
  playing a media file.


git-svn-id: svn://localhost/gambas/trunk@4715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-05 00:39:43 +00:00
Benoît Minisini
c29798ff3f [DEVELOPMENT ENVIRONMENT]
* NEW: Error messages now can be displayed in normal text editors.

[COMPILER]
* NEW: Initial support of WebPage compilation.


git-svn-id: svn://localhost/gambas/trunk@4561 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 13:14:17 +00:00
Benoît Minisini
03965a418c [COMPILER]
* BUG: Don't print a line number greater than the number of lines in the 
  compiled file when displaying an error message.



git-svn-id: svn://localhost/gambas/trunk@4524 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-02 22:38:50 +00:00
Benoît Minisini
0a9b6abe82 [DEVELOPMENT ENVIRONMENT]
* NEW: More support for WebPage.

[COMPILER]
* NEW: Start supporting WebPage.


git-svn-id: svn://localhost/gambas/trunk@4427 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-01-28 09:55:55 +00:00
Benoît Minisini
dd3b512daf [CONFIGURATION]
* NEW: Update copyrights.


git-svn-id: svn://localhost/gambas/trunk@4384 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-12-31 02:39:20 +00:00
Benoît Minisini
e531a4e05f [CONFIGURATION]
* BUG: Fix many gcc 4.6.1 warnings.
* NEW: Update the depcomp sript with a more recent version.

[GB.DB.POSTGRESQL]
* BUG: Fix primary index retrieving for tables inside a schema.


git-svn-id: svn://localhost/gambas/trunk@4203 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-10-16 19:24:01 +00:00
Benoît Minisini
74a17c8a4b [COMPILER]
* BUG: Purge .info and .list file from classes with no bytecode object each
  time a source file is compiled.


git-svn-id: svn://localhost/gambas/trunk@4162 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-09-28 21:10:18 +00:00
Benoît Minisini
2fbf67cb29 [CONFIGURATION]
* NEW: Update FSF address in every source file.


git-svn-id: svn://localhost/gambas/trunk@3870 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-06-03 00:51:09 +00:00
Benoît Minisini
9911a92652 [DEVELOPMENT ENVIRONMENT]
* NEW: Slightly change the search dialog look.
* BUG: The packager does not put "Terminal=true" in all *.desktop files 
  anymore.

[COMPILER]
* BUG: Compilation of class headers keywords correctly works again.


git-svn-id: svn://localhost/gambas/trunk@3786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-22 16:52:59 +00:00
Benoît Minisini
ae2bb567e4 [COMPILER]
* BUG: Use form names in translation files now.


git-svn-id: svn://localhost/gambas/trunk@3785 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2011-04-20 22:46:00 +00:00