This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC/commmit] [testsuite/Ada] stop using project files when building test programs
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 23 Dec 2015 17:35:04 +0400
- Subject: Re: [RFC/commmit] [testsuite/Ada] stop using project files when building test programs
- Authentication-results: sourceware.org; auth=none
- References: <1450798411-26617-1-git-send-email-brobecker at adacore dot com> <567A9FE6 dot 30504 at redhat dot com>
> > Below is a fairly straightforward change, except maybe for the use
> > of try / finally, which requires TCL version 8.6, released Dec 2012.
> > I think it's a reasonable requirement; any objection?
>
> I'm still on F20, and that shipped with 8.5 too. I'll have to upgrade
> eventually, so this may the trigger.
>
> Note that requiring newer expect/tcl may mean that fewer people will do
> the occasional gcc compile farm testing on some older hosts. From a quick
> look at some machines there, I see:
>
> gcc20 (debian wheezy)'s expect links with 8.5.
> gcc111 (AIX 7.1)'s expect links with 8.4.
> gcc110 (F18 POWER7/ppc64)'s expect links with 8.5.
Humpf, that's a fair number of reasons showing that assuming 8.6
may not be reasonable. Bouh...
> How hard would it be to avoid try/finally? Wouldn't you just have to
> use catch instead?
I don't think it would be very hard. I think catch will work, but
will be a little more convoluted. I'll give it a try...
> Are there other nice 8.6 features that it'd be really nice to
> make use of too?
This is what the 8.6 release notes say:
(https://www.tcl.tk/software/tcltk/8.6.html)
Highlights of Tcl 8.6
* Object Oriented Programming
[prob not very intesting for us, but see URL if interested]
* Stackless Evaluation:
The evaluation of many levels of nested proc calls are no longer
implemented as a stack of nested C routine calls. This revision
in the internal implementation of Tcl evaluation makes deep
recursion in Tcl scripts safe to do. But there's more...
This new implementation enables a collection of new commands,
coroutine, tailcall, yield, and yieldto that provide profound new
capabilities and models of concurrency to Tcl scripts.
* Enhanced Exceptions:
New commands try and throw and a wealth of new -errorcode values
enable far more precise trapping and handling of exceptions using
a familiar construct.
* Batteries Included:
Tcl delivers in the pkgs subdirectory a bundled collection of
third-party packages built and installed along with Tcl.
* Thread-enabled Operations:
A thread-enabled default build, a bundled Thread package, and new
command interp cancel make Tcl 8.6 ready for your multi-threaded
programming tasks.
* SQL Database Powered:
[prob not very intesting for us, but see URL if interested]
* IPv6 Networking:
Both client and server sockets support IPv6 where platform
support exists.
* Built-in Zlib Compression:
New command zlib provides utilities to handle compression of data
and streams.
* List Processing:
New commands lmap and dict map enable the elegant expression of
transformations over Tcl containers.
* Stacked Channels by Script:
New commands chan push and chan pop expose the power of stacked
channels without the need to write C code.
* Additional New Features:
Temporary file creation, enhancements to list sorting and
setting, dict filtering, half-close of bidirectional channels,
encoding and decoding of binary sequences, finer control over
load, and many many more.
Maybe some interesting stuff, but I wouldn't want compilation of
Ada code be the trigger that breaks people's testing. Upgrading
tcl/expect is not always a trivial task...
Thanks for the feedback,
--
Joel