2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 12:22:17 +00:00
Commit Graph

61 Commits

Author SHA1 Message Date
Steven Watanabe
6c3397fac8 Fix crash when calling a member function that doesn't exist. Fixes #260. 2017-12-16 15:19:00 -07:00
Steven Watanabe
e31489760c breakpoints should work even if they're hit repeatedly. 2017-12-15 15:15:54 -07:00
Rene Rivera
2b44ccf5dc Avoid various pedantic warnings. 2017-10-28 23:21:40 -05:00
Steven Watanabe
0d7e0c9c27 Fix performance problems when not using the debugger. 2017-03-11 09:38:21 -07:00
Steven Watanabe
6f5522aaa5 Merge branch 'develop' into debug
Conflicts:
	src/engine/function.c
	src/engine/scan.h
2017-03-01 09:50:57 -07:00
Rene Rivera
af046405c5 Fix var declare errors from empty declaration on some compilers. 2016-11-29 06:46:32 -06:00
Rene Rivera
4ee16d44c2 Fix macro redef errors on some compilers. 2016-11-28 13:26:22 -06:00
Rene Rivera
590cbb42b5 Add some missing profile scopes in function_run. 2016-09-27 06:15:54 -05:00
Rene Rivera
8806da6416 Add support for perf meassuring native scopes. And add some perf scopes
for the main interpreter function.
2016-09-23 22:58:47 -05:00
Steven Watanabe
25819cbda3 Make sure that explicit returns don't interfere with function rewriting. 2016-03-22 09:50:51 -06:00
Steven Watanabe
8f39cdebc9 Fix two memory leaks and a double free. 2016-03-04 11:08:28 -07:00
Steven Watanabe
e9db80896f Merge remote-tracking branch 'origin/develop' into debug
Conflicts:
	src/engine/builtins.c
	src/engine/builtins.h
	src/engine/function.c
	src/engine/jam.c
2016-02-19 12:02:22 -07:00
Steven Watanabe
7c8de02c3f Really commit the code that I intended to add in the last commit. Also add support for viewing the stack. 2015-12-10 19:48:01 -07:00
Artur Shepilko
c696419e2a Add bootstrap on VMS, use POSIX-style path handling. 2015-10-24 12:21:31 -05:00
Artur Shepilko
4cf86b31ca Exit program with a consistent error status. 2015-10-24 12:21:30 -05:00
Steven Watanabe
ae1183ee2d Return really returns now. Also implement break/continue. 2015-04-18 14:30:43 -06:00
Rene Rivera
5f22da72aa Reporpous "-o" option to mirror all BB output to the specified file.
Useful for script control and for users to obtain a log in an easier
cross-platform manner.
2015-04-10 09:07:56 -05:00
Steven Watanabe
3721fec260 Initial implementation of a debugger for Jam.
The interface is a subset of gdb.

TODO:
* Put this behind flag, so it's possible to run b2 without the debugger.
  Perhaps -db?
* Keep a command history and allow it to be accessed.
* Abbreviate long arguments in the backtrace, and wrap
  long lines better.
* Implement more commands.  I'm thinking of watch, condition, and ignore in
  particular.
* Test the runtime cost.  If it doesn't have any noticable penalty
  when it's off, then it's safe to integrate this functionality
  into the primary b2 executable.
* Write documentation.
* IDE integration.  I'm hoping that I can hijack gdb support for any
  editor that has built in support for gdb.
2015-03-21 17:21:36 -06:00
Steven Watanabe
1a87fc9da1 Adjust the alignment check to account for platforms with lower alignment requirements for pointers. Fixes #8993. 2015-03-13 20:13:27 -06:00
Steven Watanabe
061f998f43 Optimize member function calls to use less string manipulation.
[SVN r83937]
2013-04-16 23:54:54 +00:00
Steven Watanabe
840dff3727 Eliminate some extra list_copy/INSTR_POPs.
[SVN r83920]
2013-04-15 23:30:36 +00:00
Steven Watanabe
700087b6cb Small optimization for [ on target return var ].
[SVN r83919]
2013-04-15 22:55:49 +00:00
Steven Watanabe
62b79b8ebe Special case for $(x:G)
[SVN r83812]
2013-04-08 17:40:28 +00:00
Jurko Gospodnetić
8694e1fc85 Replaced a goto based loop construct with a while loop in Boost Jam function.c module's expand() function to avoid a gcc 4.6.0 compiler optimizer bug on Linux (not reproducible using later GCC releases, and never reported on other OSs).
The bug was causing the inner while loop to be completely ignored, effectively causing concatenated Jam variable expansions to ignore all but the first variable value. For example, the following code:
  local a = one two ;
  ECHO /$(a)/ ;
would output '/one/' instead of '/one/ /two/'.

Kudos to Kim Rasmussen <rasmussen74 at gmail dot com> for detecting and helping debug & test the issue.

[SVN r80319]
2012-08-30 10:39:31 +00:00
Jurko Gospodnetić
57a424c5f7 Internal Boost Jam cleanup - function.c module's expand() function cleaned up a bit (used to resolve concatenated variable references in Jam scripts).
[SVN r80313]
2012-08-29 21:27:07 +00:00
Jurko Gospodnetić
d8a2486640 Corrected a 'OBJECT * to char *' gcc compilation warning in Boost Jam's function.c module.
[SVN r80252]
2012-08-27 10:20:22 +00:00
Jurko Gospodnetić
2ba303d950 Boost Jam update to remove a 'pointer to integer of different size' warning displayed when building using the mingw64 toolset.
[SVN r80251]
2012-08-27 10:07:54 +00:00
Jurko Gospodnetić
6999e2eb1a Internal Boost Jam cleanup - minor stylistic changes (added variable const modifiers).
[SVN r80250]
2012-08-27 10:06:41 +00:00
Jurko Gospodnetić
773387d1a2 Boost Jam cleanup - minor stylistic changes.
[SVN r80113]
2012-08-21 15:43:30 +00:00
Jurko Gospodnetić
f4e7f9a811 Minor stylistic changes (added const modifiers in a couple of places).
[SVN r79842]
2012-08-02 09:16:34 +00:00
Jurko Gospodnetić
fde452f38f Boost Jam cleanup - minor stylistic changes.
[SVN r79673]
2012-07-22 15:43:04 +00:00
Jurko Gospodnetić
c16ae1c68a Boost Jam/Build cleanup - minor stylistic changes (comment updates; line wrapping; removed some dead/unused function declarations, parameters & code; declared variables as const; reordered some #include directives alphabetically, removed some unnecessary ones and added several missing ones discovered by the reordering).
[SVN r79569]
2012-07-17 08:56:49 +00:00
Jurko Gospodnetić
1791d078cc Boost Build/Jam cleanup - stylistic code changes.
[SVN r79244]
2012-07-03 15:58:26 +00:00
Jurko Gospodnetić
2541eb4cff Boost Jam code cleanup - updated Python related implementation to use the more efficient PyString_AS_STRING() API instead of PyString_AsString() when we already know we are passing it a valid Python string object.
[SVN r79070]
2012-06-25 00:59:47 +00:00
Jurko Gospodnetić
fe6d47c464 Updated Boost Jam's Cygwin-to-Windows path conversion implementation to use the new cygwin_conv_path() API introduced in Cygwin 1.7 when building using a new enough Cygwin version headers. This avoids depreciation warnings about the old cygwin_conv_to_win32_path() API being used when building with newer Cygwin versions. The new API seems to support paths longer than MAX_PATH and allows for much better error handling.
[SVN r79069]
2012-06-25 00:57:40 +00:00
Jurko Gospodnetić
58fb165500 Boost Jam code cleanup - minor stylistic changes.
[SVN r79067]
2012-06-25 00:33:54 +00:00
Steven Watanabe
7fca6a5c1d Fix memory errors with BJAM_NO_MEM_CACHE.
[SVN r77725]
2012-04-02 22:00:32 +00:00
Steven Watanabe
c42418c528 Workoround for xlc. Patch by Hubert Tong.
[SVN r77638]
2012-03-30 01:21:13 +00:00
Steven Watanabe
8db046a1f4 Make list_new take one argument. Rename the two argument form to list_push_back.
[SVN r77522]
2012-03-24 23:03:10 +00:00
Steven Watanabe
161a3c9462 Remove argument_list. It's unused.
[SVN r77521]
2012-03-24 22:15:42 +00:00
Steven Watanabe
daf90f7f79 Make sure that the arguments of built-in rules are actually checked.
[SVN r77519]
2012-03-24 21:49:12 +00:00
Steven Watanabe
888393c652 Merge Python function support into function.c
[SVN r77518]
2012-03-24 21:07:49 +00:00
Steven Watanabe
0b3b574817 Start cleaning up the arg_list hacks. Make the argument list part of the function instead of part of the rule. Don't var expand formal arguments.
[SVN r77515]
2012-03-24 18:53:21 +00:00
Steven Watanabe
3599b1926b Remove the first argument of list_copy, since it's always L0.
[SVN r77510]
2012-03-23 22:30:33 +00:00
Steven Watanabe
5eec7d95fe Optimize variable lookup to bypass hash for constant variable names.
[SVN r77491]
2012-03-22 23:26:48 +00:00
Steven Watanabe
60d66ca888 Use dynamic arrays instead of linked lists. Reduces memory use about 10% overall.
[SVN r77408]
2012-03-19 18:17:36 +00:00
Steven Watanabe
ed5f6b8bcf Downgrade strict syntax checks to a warning for backwards compatibility.
[SVN r77093]
2012-02-22 21:06:16 +00:00
Steven Watanabe
295e3d222c Fix the result of while.
[SVN r75945]
2011-12-14 21:49:34 +00:00
Steven Watanabe
01b1d78744 Fix a subtle problem in the result of if statements.
[SVN r75944]
2011-12-14 21:33:26 +00:00
Steven Watanabe
750a25dda0 Optimize out the extra PUSH_EMPTY/APPEND when evaluating a list. Reduces the number of instructions executed by about 25%. About a 3-5% improvement in overall runtime.
[SVN r75938]
2011-12-14 18:46:50 +00:00