Commit graph

65 commits

Author SHA1 Message Date
Emil Lenngren
e04e8e8672 [GB.JIT]
* BUG: IIf generated incorrect code for the types CSTRING and STRING.


git-svn-id: svn://localhost/gambas/trunk@6599 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-31 21:57:27 +00:00
Benoît Minisini
739f02cd40 [DEVELOPMENT ENVIRONMENT]
* BUG: Make editor message tooltip more readable, espacially with drak 
  themes.

[WIKI CGI SCRIPT]
* BUG: Fix detection of creatable classes.
* NEW: Automatically add function arguments in the initial text when 
  creating a new symbol documentation page.

[GB.JIT]
* BUG: Fix support of LLVM_CONFIG environment variable that defines the 
  absolute path of the 'llvm-config' program.


git-svn-id: svn://localhost/gambas/trunk@6544 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-10-13 15:03:06 +00:00
Benoît Minisini
e4689149c2 [GB.JIT]
* BUG: gb.jit should now compile with LLVM 3.5.


git-svn-id: svn://localhost/gambas/trunk@6516 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-29 12:18:32 +00:00
Benoît Minisini
07e51e8d3c [GB.JIT]
* BUG: Compile `jit_codegen.cpp` with rtti enabled, and 
  `jit_gambas_pass.cpp` without.


git-svn-id: svn://localhost/gambas/trunk@6439 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-31 01:42:01 +00:00
Nigel Gerrard
e0b9fc1eac [CONFIGURATION]
* BUG: Set Cygwin Shared Library Extension to dll

[GB.JIT]
* NEW: Add conditional defines for Cygwin to allow compile:
  Use finite in place of _finite, __isnand in place of __isnan
  and __isinfd in place of __isinf.

* NEW: Remove jit_gambas_pass_dummy.cpp as this is no longer
  required to compile with later versions of llvm. Also fixes
  issue with Cygwin compile.

[GB.NET]
* NEW: Redefine TIOCOUTQ for Cygwin

[GB.SDL.SOUND]
* NEW: -lSDL needed for Cygwin linker

[INTERPRETER]
* NEW: Redefine FIONREAD for Cygwin

* NEW: Cygwin needs <strings.h> to avoid compiler issues when
  redefining strcasecmp etc.
 
[DEVELOPMENT ENVIRONMENT]
* NEW: Make the environment Cygwin aware



git-svn-id: svn://localhost/gambas/trunk@6435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-28 13:50:09 +00:00
Benoît Minisini
6b89a4fb69 [CONFIGURATION]
* NEW: Add an gambas appdata file and install it in /usr/share/appdata.

[DEVELOPMENT ENVIRONMENT]
* BUG: ImageEditor: Fix a possible crash when pasting an image.
* BUG: Correctly detect if a project is handled by subversion or not.

[INTERPRETER]
* NEW: Replace the internal `class->state` variable by two boolean flags:
  `class->loaded` and `class->ready`.
* NEW: Overriding a class that is the parent of other classes is possible
  again. I don't remember what prevented that to work, so I want to see.

[GB.DEBUG]
* NEW: Propagate the changes in the interpreter class structure.

[GB.EVAL]
* NEW: Propagate the changes in the interpreter class structure.

[GB.GUI.AREA]
* BUG: GridView: Setting the background color correctly refreshes the 
  control.

[GB.JIT]
* NEW: Propagate the changes in the interpreter class structure.

[GB.NET.SMTP]
* NEW: Replace the old gb.net.smtp component written in C and Gambas by a
  new component with the same name entirely written in Gambas.
* BUG: Fix the authentication process.
* BUG: Fix how the result of the EHLO command is read.

[GB.QT4.EXT]
* NEW: LCDNumber control is now put in a "Deprecated" tab in the IDE 
  control toolbar.


git-svn-id: svn://localhost/gambas/trunk@6403 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-07-28 05:35:58 +00:00
Benoît Minisini
1481162a4f [GB.FORM]
* NEW: FileChooser: Typing a file name automatically selects it.
* BUG: DirView does not raise its Click event twice anymore.
* NEW: FileView: Selection property is now writable.
* BUG: FileView: Delayed refresh is now forced when needed.

[GB.JIT]
* NEW: A little cosmetic change in the autoconf message about LLVM version 
  checking.


git-svn-id: svn://localhost/gambas/trunk@6340 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-23 00:15:12 +00:00
Benoît Minisini
3dc54264c3 [CONFIGURATION]
* NEW: Add a new autoconf macro that can compare version numbers.

[GB.JIT]
* BUG: Fix LLVM version comparison.


git-svn-id: svn://localhost/gambas/trunk@6337 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-06-22 16:58:59 +00:00
Benoît Minisini
65158cb4e6 [CONFIGURATION]
* NEW: The GB_FIND macro now searches files one directory deeper.

[DEVELOPMENT ENVIRONMENT]
* BUG: Reset correctly the Application.Busy property after a program has 
  crashed.

[WEBSITE]
* NEW: Update for 3.5.3.

[GB.DB.FORM]
* NEW: Raise the maximum size of a DataView text column to 65536 characters 
  instead of 1024.

[GB.JIT]
* BUG: Explicitely search for the 'llvm-c/Core.h' include file.


git-svn-id: svn://localhost/gambas/trunk@6246 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-23 22:31:28 +00:00
Benoît Minisini
5e76433eeb [CONFIGURATION]
* NEW: Do not use deprecated autoconf macros anymore.
* NEW: The version information is now located in the 'version.m4' file in
  the source root directory.


git-svn-id: svn://localhost/gambas/trunk@6230 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-04-05 21:22:43 +00:00
Benoît Minisini
d860a7a53c [DEVELOPMENT ENVIRONMENT]
* NEW: Add a menu item in the "Debug" menu to define ine one click if an 
  embedded HTTP server must be used.
* NEW: The 'gb.httpd' component can be checked explicitely.
* BUG: Fix the local variable view when they are displayed in columns.

[WIKI CGI SCRIPT]
* NEW: The indexes are more compact now.

[INTERPRETER]
* NEW: The option '-H' is assumed if the project depends on the 'gb.httpd' 
  component explicitely.

[GB.FORM]
* BUG: Balloon: Fix the bubble drawing routine.
* NEW: The GB_STOCK_DEBUG environment variable must be used now instead of 
  the GB_STOCK variable.

[GB.HTTPD]
* BUG: Many fixes in CGI handling if the project is in debugging mode.
* NEW: Replace "thttpd" strings by "gb.httpd".
* NEW: Simplify the default HTML error page.
* NEW: If the GB_HTTPD_DEBUG environment variable is set to "1", then all
  HTTP server debugging messages are printed to the standard error. 
  Otherwise, nothing is printed.


git-svn-id: svn://localhost/gambas/trunk@5769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-02 21:57:49 +00:00
Laurent Carlier
f2cdcd54cc [GB.JIT]
* BUG: Try to restore building of component with llvm 3.1


git-svn-id: svn://localhost/gambas/trunk@5702 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-15 08:15:10 +00:00
Laurent Carlier
922b32a89c [GB.JIT]
* BUG: Fix building with llvm 3.3

It should still build with llvm-3.2 (not tested)


git-svn-id: svn://localhost/gambas/trunk@5700 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-13 11:55:04 +00:00
Laurent Carlier
8ca73977d0 [GB.JIT]
BUG: Use another header file for configure step that is available from v3.1 to v3.3+,
so proper include path is choosed


git-svn-id: svn://localhost/gambas/trunk@5699 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-13 11:35:45 +00:00
Laurent Carlier
1dac375aa8 [GB.JIT]
BUG: Fix configure with llvm 3.3


git-svn-id: svn://localhost/gambas/trunk@5698 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-06-13 11:25:24 +00:00
Benoît Minisini
d11346ef5b [DEVELOPMENT ENVIRONMENT]
* NEW: Display a warning at project loading when some libraries are missing.
* BUG: Prevent from selecting two different libraries with the same name.

[GB.JIT]
* BUG: Fix compilation error.


git-svn-id: svn://localhost/gambas/trunk@5607 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-04-01 10:35:25 +00:00
Benoît Minisini
e4477ce3b8 [CONFIGURATION]
* NEW: Switch to 3.4 version.

[GB.COMPRESS.ZLIB]
* BUG: Fix a file handle mistake.

[GB.GUI.BASE]
* NEW: Remove again the MyHSplit.class file. No idea how it came back into
  the repository...

[GB.JIT]
* BUG: Fix some warnings by using 'llvm-config.h' instead of 'config.h'.


git-svn-id: svn://localhost/gambas/trunk@5485 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-01-01 18:37:42 +00:00
Emil Lenngren
c7653c8bcf [GB.JIT]
* NEW: Support the new QUIT syntax with an exit code.
* NEW: Support raising events in parent classes.


git-svn-id: svn://localhost/gambas/trunk@5447 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 02:10:22 +00:00
Emil Lenngren
2aad9d7197 [GB.JIT]
* NEW: Compile for LLVM 3.2.


git-svn-id: svn://localhost/gambas/trunk@5446 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-12-19 00:04:55 +00:00
Benoît Minisini
520e978feb [DEVELOPMENT ENVIRONMENT]
* NEW: Update error messages.

[GB.DRAW]
* NEW: The Draw class has been removed.
* NEW: Paint.Ellipse() is a new method that paints an ellipse.
* NEW: Paint.TextSize() returns the bounding box of a text like 
  Draw.TextWidth() and Draw.TextHeight() did, which is not the same thing 
  as Paint.TextExtents().
* NEW: Paint.RichTextSize() returns the bounding box of a rich text like 
  Draw.RichTextWidth() and Draw.RichTextHeight() did, which is not the same 
  thing as Paint.RichTextExtents().
* NEW: Paint.FillRect() fills a rectangle with a specific color.
* NEW: Paint.DrawImage() takes an extra 'Source' argument which is a 
  rectangle describing a piece of the source image.
* NEW: Paint.DrawPicture() now replaces the old Draw.Picture() method.
* NEW: Paint.ZoomImage() now replaces the old Draw.Zoom() method.
* NEW: The default line width after a Paint.Begin() is one pixel now.

[GB.GTK]
* NEW: DrawingArea.Painted has been deprecated.
* BUG: Don't use the 'cairo_set_device_offset' method to draw on a 
  DrawingArea, but a matrix translation.
* NEW: Support for the new Paint methods.
* NEW: The old Draw.Style methods have been moved to the Style class.
* NEW: You cannot draw on a Window anymore.

[GB.GUI.BASE]
* NEW: Do not highlight the sorted column in GridView, TreeView, ListBox... 
  if there is only one column.
* NEW: Implement a new Draw class that simulates the old one by using the
  Paint class.

[GB.JIT]
* BUG: Fix the argument order of E_NSYMBOL error message.

[GB.QT4]
* NEW: DrawingArea.Painted has been deprecated.
* NEW: Support for the new Paint methods.
* NEW: The old Draw.Style methods have been moved to the Style class.
* NEW: You cannot draw on a Window anymore.


git-svn-id: svn://localhost/gambas/trunk@5382 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-27 18:42:24 +00:00
François Gallo
398297db44 [CONFIGURATION]
* NEW: Support for checking OS-specific extension of the library.


git-svn-id: svn://localhost/gambas/trunk@5345 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-11-20 23:57:38 +00:00
Benoît Minisini
17a0748815 [CONFIGURATION]
* NEW: Each component installation now generates all information files
  systematically, to fix possible dependencies between components written
  in Gambas.

[DEVELOPMENT ENVIRONMENT]
* NEW: Running a project using the 'gb.web' component now automatically
  starts the embedded HTTP server.

[INTERPRETER]
* NEW: Class overriding is retrospective now.
* NEw: System._Breakpoint() is a new hidden method that raises a 
  breakpoint. Very useful for debugging.

[GB.GTK]
* BUG: The Action.Register() method must not crash when called during class 
  clean-up.

[GB.HTTPD]
* NEW: Define a custom exported HTTP server name.

[GB.JIT]
* BEW: Support for new class overriding (the CLASS structure has lost one 
  field).

[GB.QT4]
* BUG: The Action.Register() method must not crash when called during class 
  clean-up.


git-svn-id: svn://localhost/gambas/trunk@5240 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-10-14 22:42:53 +00:00
Emil Lenngren
6fcc0f81d4 [GB.JIT]
* BUG: Local variables are not forgotten anymore after a Catch.
* BUG: Ctrl variables in GoSubs are now properly released.


git-svn-id: svn://localhost/gambas/trunk@5009 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-05 17:02:49 +00:00
Emil Lenngren
37698f0452 [GB.JIT]
* BUG: Fix For Each loops.


git-svn-id: svn://localhost/gambas/trunk@5008 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-04 12:08:39 +00:00
Emil Lenngren
139884adb6 [GB.JIT]
* BUG: Properly check stack overflow for GoSubs.


git-svn-id: svn://localhost/gambas/trunk@4942 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 23:10:13 +00:00
Emil Lenngren
6e239510d0 [GB.JIT]
* BUG: Fix static _call calls.


git-svn-id: svn://localhost/gambas/trunk@4941 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 22:40:59 +00:00
Emil Lenngren
372ae57b29 [GB.JIT]
* BUG: Oops. Now functions without GoSubs don't crash anymore ...


git-svn-id: svn://localhost/gambas/trunk@4938 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 19:48:10 +00:00
Emil Lenngren
c3742b189a [GB.JIT]
* OPT: Use the Gambas stack to store GoSub data instead of allocating
  new arrays all the time. Up to 10 times faster!


git-svn-id: svn://localhost/gambas/trunk@4937 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 19:35:36 +00:00
Emil Lenngren
02239e9c90 [GB.JIT]
* BUG: Temporary fix for powi due to a bug in llvm.


git-svn-id: svn://localhost/gambas/trunk@4934 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 15:12:45 +00:00
Benoît Minisini
fc1c1e5531 [INTERPRETER]
* NEW: When converting an instance of A to the class B, try the conversion 
  interface of A first. If A has no conversion interface, or if it cannot 
  handle the B class, then try the conversion interface of B if any.

[GB.GSL]
* NEW: Vector class has been implemented.

[GB.JIT]
* NEW: SPEC_CONVERT constant has been replaced by a field in the CLASS 
  structure.


git-svn-id: svn://localhost/gambas/trunk@4916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 20:08:43 +00:00
Emil Lenngren
ad81cf629a [GB.JIT]
* NEW: Use VALUE_convert instead of VALUE_convert_object.


git-svn-id: svn://localhost/gambas/trunk@4914 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 18:59:10 +00:00
Emil Lenngren
393decb5e1 [GB.JIT]
* NEW: Implement _unknown.
* BUG: Remove some warnings.

[INTERPRETER]
* BUG: Fix exception handling for JIT functions.


git-svn-id: svn://localhost/gambas/trunk@4909 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-08 14:53:23 +00:00
Emil Lenngren
44f7bd086b [GB.JIT]
* OPT: Don't do any obvious unnecessary unref-checks.


git-svn-id: svn://localhost/gambas/trunk@4888 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-03 00:07:54 +00:00
Emil Lenngren
76e3dee4d0 [GB.JIT]
* NEW: Can now profile each line of code, but beware: profiling makes the program much much slower.

[GB.DEBUG]
* OPT: Now DEBUG_calc_line_from_position has logaritmic time complexity instead of linear. That makes profiling each line much faster for large functions!


git-svn-id: svn://localhost/gambas/trunk@4886 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-02 22:38:29 +00:00
Emil Lenngren
5f52130f31 [GB.JIT]
* BUG: Use correct IRBuilder.h



git-svn-id: svn://localhost/gambas/trunk@4880 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-01 22:51:34 +00:00
Emil Lenngren
dd5a9c4574 [GB.JIT]
* NEW: Implement some missing Variant features.
* OPT: Optimize Variants and some math functions.



git-svn-id: svn://localhost/gambas/trunk@4878 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-01 14:54:00 +00:00
Emil Lenngren
58ebc4f77e [GB.JIT]
* BUG: Breakpoints are now safely ignored.



git-svn-id: svn://localhost/gambas/trunk@4875 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-30 15:04:00 +00:00
Emil Lenngren
bded0d999a [GB.JIT]
* BUG: Maybe fix reading global boolean variables.



git-svn-id: svn://localhost/gambas/trunk@4862 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-26 21:08:37 +00:00
Emil Lenngren
856af1cd45 [GB.JIT]
* NEW: Partially support callbacks for extern functions. You can only convert functions in the current class to pointers 
currently, i.e. functions that are referenced directly by their name.



git-svn-id: svn://localhost/gambas/trunk@4851 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 22:08:59 +00:00
Emil Lenngren
dba2bf91ac [GB.JIT]
* BUG: Fix extern function overriding.

[COMPILER]
* BUG: Write correct disassembly for PUSH INTEGER.



git-svn-id: svn://localhost/gambas/trunk@4850 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 21:23:49 +00:00
Emil Lenngren
8f2695741e [GB.JIT]
* BUG: Fix "New" expression when used dynamically.



git-svn-id: svn://localhost/gambas/trunk@4848 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-18 22:53:29 +00:00
Emil Lenngren
e39e385118 [GB.JIT]
* BUG: Fix LLVM Global Variable Mappings



git-svn-id: svn://localhost/gambas/trunk@4847 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-18 19:34:32 +00:00
Emil Lenngren
67e1686b5a [GB.JIT]
* BUG: Execute the correct function when running the special _call function.



git-svn-id: svn://localhost/gambas/trunk@4843 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-17 17:22:44 +00:00
Emil Lenngren
c08d51f483 [GB.JIT]
* NEW: More accurate error line numbering.



git-svn-id: svn://localhost/gambas/trunk@4840 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-17 00:19:31 +00:00
Emil Lenngren
c59b33e1bb [GB.JIT]
* BUG: Fixed some bugs.

[INTERPRETER]
* BUG: "Read ... As String"  now correctly returns a void string instead of null, if it read an empty string.



git-svn-id: svn://localhost/gambas/trunk@4839 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-16 23:45:57 +00:00
Emil Lenngren
f12968e5a9 [GB.JIT]
* BUG: Fix some math routines for variants.



git-svn-id: svn://localhost/gambas/trunk@4833 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-15 11:19:16 +00:00
Emil Lenngren
56807e5b52 [GB.JIT]
* NEW: "Extern" functions should now work hopefully, but callbacks are still not yet implemented.
* BUG: Fix conversion Class -> Variant for non-virtual classes.
* BUG: Some minor bug fixes.

[INTERPRETER]
* BUG: Load classes from JIT should work better now.



git-svn-id: svn://localhost/gambas/trunk@4831 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-15 01:27:31 +00:00
Benoît Minisini
7e3570bfc9 [DEVELOPMENT ENVIRONMENT]
* OPT: Use Application.Busy earlier when opening a project.

[WIKI CGI SCRIPT]
* BUG: Fix links with explicit version.

[INTERPRETER]
* BUG: Setting System.Profile does not crash the interpreter anymore when
  profiling has not been activated by the '-p' command-line flag.

[GB.FORM]
* NEW: FileChooser and DirChooser: It is now possible to move up one 
  directory even if we are on the root of the current bookmark.

[GB.JIT]
* BUG: Fix some warnings.

[GB.XML.RPC]
* BUG: Fix component requirements.


git-svn-id: svn://localhost/gambas/trunk@4806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-03 22:21:24 +00:00
Emil Lenngren
ceb68d62bf [GB.JIT]
* NEW: Debug message which function is being compiled.
* BUG: Fix object to variant conversion for 32-bit platforms.



git-svn-id: svn://localhost/gambas/trunk@4805 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-03 17:09:17 +00:00
Benoît Minisini
a865d9e227 [INTERPRETER]
* NEW: Support for variable number of arguments in extern functions.
* BUG: Fix use of static classes as extern function argument.

[COMPILER]
* NEW: Support for variable number of arguments in extern functions.

[GB.JIT]
* BUG: The GB_JIT environment variable has really no effect if it is 
  defined but a null string.


git-svn-id: svn://localhost/gambas/trunk@4796 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-01 00:18:38 +00:00