RainbowDelimiters is a "rainbow parentheses"-like mode for emacs
which highlights parens, brackets, and braces according to their
depth. Each successive level is highlighted a different color. This
makes it easy to spot matching delimiters, orient yourself in the
code, and tell which statements are at the same depth.
Upstream changes:
1.001003 Fri Mar 21 21:12:32 PST 2014
* Doc updates for maintainer change
1.001002 Mon Nov 4 15:13:58 EST 2013
* no changes since 0.99
1.001001_001 Wed Oct 30 20:47:23 EDT 2013
* no code changes, just a new version number with more room to grow
0.99 Tue Oct 29 13:21:03 2013 EDT 2013
* restore ability to use regex with test_err and test_out
(Zefram) [rt.cpan.org #89655] [github #389] [github #387]
0.99 Sat Oct 12 15:05:41 EDT 2013
* no changes since 0.98_06
0.98_06 Fri Sep 27 10:11:05 EDT 2013
Bug Fixes
* Fix precedence error with (return ... and ...)
(nthykier) [github #385]
0.98_05 Tue Apr 23 17:33:51 PDT 2013
Doc Changes
* Add a shorter work around for the UTF-8 output problem.
(Michael G Schwern)
Bug Fixes
* Test::Builder::Tester now works with subtests.
(Michael G Schwern) [github 350]
* Fix test_fail() inside a do statement.
(nnutter) [github #369]
New Features
* A subtest will put its name at the front of its results to make
subtests easier to read. [github #290] [github #364]
(Brendan Byrd)
Feature Changes
* like() and unlike() no longer warn about undef. [github #335]
(Michael G Schwern)
0.98_04 Sun Apr 14 10:54:13 BST 2013
Distribution Changes
* Scalar::Util 1.13 (ships with Perl 5.8.1) is now required.
(Michael G Schwern)
Feature Changes
* The default name and diagnostics for isa_ok() and new_ok() have
changed. (Michael G Schwern)
Docs Fixes
* Added a COMPATIBILITY section so users know what major features were
added with what version of Test::More or perl. [github 343] [github 344]
(pdl)
* Fix the ok() example with grep(). (derek.mead@gmail.com)
Bug Fixes
* A test with no plan and missing done_testing() now exits with non-zero.
[github #341] (tokuhirom)
* isa_ok() tests were broken in 5.17 because of a change in
method resolution. [github #353] (Michael G Schwern)
0.98_03 Thu Jun 21 13:04:19 PDT 2012
New Features
* cmp_ok() will error when used with something which is not a
comparison operator, including =, += and the like.
[github 141] (Matthew Horsfall)
Bug Fixes
* use_ok() was calling class->import without quoting which could
cause problems if "class" is also a function.
Doc Fixes
* use_ok() has been discouraged and de-emphasized as a general
replacement for `use` in tests. [github #288]
* $thing is now $this in the docs to avoid confusing users of
other languages. [Karen Etheridge]
Incompatible Changes With Previous Alphas (0.98_01)
* use_ok() will no longer apply lexical pragams. The incompatibilities
and extra complexity is not worth the marginal use.
[github #287]
0.98_02 Thu Nov 24 01:13:53 PST 2011
Bug Fixes
* use_ok() in 0.98_01 was leaking pragmas from inside Test::More.
This looked like Test::More was forcing strict. [rt.cpan.org 67538]
(Father Chrysostomos)
0.98_01 Tue Nov 8 17:07:58 PST 2011
Bug Fixes
* BAIL_OUT works inside a subtest. (Larry Leszczynski) [github #138]
* subtests now work with threads turned on. [github #145]
Feature Changes
* use_ok() will now apply lexical effects. [rt.cpan.org 67538]
(Father Chrysostomos)
Misc
* Test::More, Test::Simple and Test::Builder::Module now require
a minimum version of Test::Builder. This avoids Test::More and
Test::Builder from getting out of sync. [github #89]
The goal of IPython is to create a comprehensive environment for interactive and
exploratory computing. To support this goal, IPython has two main components:
* An enhanced interactive Python shell.
* An architecture for interactive parallel computing.
Upstream changes:
0.12, 2014-02-08
Fixed RT#81077: useall fails in taint mode
Thanks to Aran Deltac, who contributed the implementation and test.
Fixed RT#83596: Documentation doesn't describe behaviour if a module fails to load
Clarified documentation for useall and usesub.
Fixed RT#62923: setmoduledirs(undef) doesn't reset to searching @INC
Added more explicit tests.
Thanks to Colin Robertson for his input.
The principal milestones of 2.0 are:
* interactive widgets for the notebook
* directory navigation in the notebook dashboard
* persistent URLs for notebooks
* a new modal user interface in the notebook
* a security model for notebooks
Full release notes: http://ipython.org/ipython-doc/2/whatsnew/version2.0.html
Upstream changes:
2.1205 2014-04-15
[ENHANCEMENTS]
- new utility interface: Moose::Util::is_role
[BUG FIXES]
- better error message provided when trying to load a trait class that does
not exist in @INC (Upasana, RT#94731)
[OTHER]
- new test added, to run last, which runs `moose-outdated` as a possibly
more visible mechanism to provide important information to the user
(re RT#92780)
Changes from previous:
----------------------
0.31 Sat Apr 06 2013
Add missing IO::Handle fallback for ::Unbuffered (RT#82351)
Bogus fix for Windoze automatic line-ending failure of t/11 (RT#79950),
improvements welcomed.
0.30 Tue Sep 04 2012
Implement feature request #78270 to include support say
Preserve layers of passed hilehandle on instantiation.
Fixed tests under Win32 & cygwin, bug #75181.
Swap IO::Pager:new and ::open, alter subclass::open to
remove unnecessary level of subroutine calls
Return IO::Handle objects when not connected to a TTY for
transparent use of IO::Pager when programming OO.
NOTE: This is broken, see ::less in TODO
0.24 Sat Feb 18 2012
Fixed bug #74691, tests fail if CPANTS folk don't have a perl in PATH!
Add PID method & token overload to access pager process identifier.
Remove semi-circular reference in object to fix implicit close().
0.20 Sat Feb 11 2012
Fixed bug #74691, add File::Which as dependency / skip test if missing
Fixed non-TTY/redirection behavior and added corresponding test
Improve buffering sistuation in both ::Buffered and ::Unbuffered
Auto-gensym scalar filehandles like perl's open
Add OO interface
Add alternate pagers 'lv', 'pg',
and system default '/etc/alternatives/pager' (bug# 74519)
Add tests for initialization failure conditions (9-open.t)
0.16 Fri Feb 3 2012
Require 5.8.0 or better
Removed Perl warning 'Use of tie on a handle without * is deprecated'.
No interactive questions during 'make test' (bug# 66718)
Better handling of missing PAGER.
Look for more pagers: 'most' and 'w3m' (bug# 74519)
Documentation clean-up, light refactoring, more error checks.
Do not run IO::Pager::Page automatically when in Perl compile mode.
0.10 Unreleased
Added support for encodings via binmode() (bug# 67930).
Test: encoding, handle (glob, scalar, OO), interactive...
0.07 Unreleased
Rewrote to support scalar filehandles per user request and IO::Handle
style OO support came along for the ride.
Fixed several mis-coded segments that did not affect operation.
Added C<tell> in IO::Pager::Unbuffered to check size of buffered output.
Pager open error now sets $! instead of issuing a warning, to more
closely emulate the C<open> experience. Check return value as before.
Neglected to update $VERSION in last release.
Touched up the documentation.
Docopt helps you create most beautiful command-line interfaces easily.
The option parser is generated based on a docstring that is passed to docopt
function. docopt parses the usage pattern ("Usage: ...") and option
descriptions (lines starting with dash "-") and ensures that the program
invocation matches the usage pattern; it parses options, arguments and commands
based on that. The basic idea is that a good help message has all necessary
information in it to make a parser.
Changes between 6.0.0 and 6.0.0a:
Not documented.
Changes between GMP version 5.1.* and 6.0.0
BUGS FIXED
* The function mpz_invert now considers any number invertible in Z/1Z.
* The mpn multiply code now handles operands of more than 2^31 limbs
correctly. (Note however that the mpz code is limited to 2^32 bits on
32-bit hosts and 2^37 bits on 64-bit hosts.)
* Contains all fixes from release 5.1.3.
SPEEDUPS
* Plain division of large operands is faster and more monotonous in operand
size.
* Major speedup for ARM, in particular ARM Cortex-A15, thanks to improved
assembly.
* Major speedup for SPARC T4/T5 and speedup also for T3, thanks to a lot of
new assembly.
* Speedup for Intel Sandy Bridge, Ivy Bridge, Haswell, thanks to rewritten
and vastly expanded assembly support. Speedup also for the older Core 2
and Nehalem.
* Faster mixed arithmetic between mpq_class and double.
* With g++, optimise more operations when one argument is a simple constant.
FEATURES
* Support for new Intel and AMD CPUs.
* Support for ARM64 alias Aarch64 alias ARMv8.
* New public functions mpn_sec_mul and mpn_sec_sqr, implementing side-channel
silent multiplication and squaring.
* New public functions mpn_sec_div_qr and mpn_sec_div_r, implementing
side-channel silent division.
* New public functions mpn_cnd_add_n and mpn_cnd_sub_n. Side-channel silent
conditional addition and subtraction.
* New public function mpn_sec_powm, implementing side-channel silent modexp.
* New public function mpn_sec_invert, implementing side-channel silent
modular inversion.
* Better support for applications which use the mpz_t type, but nevertheless
need to call some of the lower-level mpn functions. See the documentation
for mpz_limbs_read and related functions.
MISC
[FreeBSD bashing removed]
* flex version 2.5.39
** no user visible changes in this release
* version 2.5.38 released 2014-02-14
** internationalization
*** add sr translation from the translation project
*** update da, es, ko, nl, pt_BR, ro, ru, sv, tr, vi, zh_CN translations from the translation project
*** rename zh_tw to its proper zh_TW name
* version 2.5.37 released 2012-08-03
** Import flex into git. See
git://flex.git.sourceforge.net/gitroot/flex/flex.
** Fix make install target to not fail when the flex++ program is
already installed
** New translations from the translation project: de, fi, pl, vi
Changes from previous:
----------------------
0.25 2014-04-03
- Included new test file in MANIFEST.
0.24 2014-04-02
- Fixed freedesktop.org desktop-file-utils URL - David Steinbrunner.
0.23 2014-04-02
- Fixed opening of files with '+' in mime type using
File::MimeInfo::Applications.
Debian bug 690334, brian m. carlson.
0.22 2014-02-27
- Fixed Double-close on a filehandle issue
(RT 93221) - Christian Ludwig.
- Fixed cpantesters issue with old version of CPAN::Changes
0.21 2013-11-03
- fixed typo in mimeopen manpage
(RT 90005) - Jonathan Dowland, Debian.
0.20 2013-10-09
- mimetype, mimeopen should be set as executable files
(RT 89328) - Jitka Plesnikova, Red Hat.
0.19 2013-10-05
- Changed to EU::MM.
- Typo fixes - David Steinbrunner.
0.18 2013-09-02
- Fixed RT#87631 - rights on File::MimeInfo::Magic not correct.
0.17 2013-06-06
- Fixed tests on perl 5.18 (RT 85383) - Gregor Herrman
- Fixed typos (RT 85634) - Gregor Herrman
0.16 2012-01-03
- Fixed test suite for perl 5.13 and newer (RT 66841) - Kent Fredric
- Fixed typos in documentation (RT 70171, 39974) - Gregor Herrman
- Fixed bug for files named "0" (RT 41031)
- Cleaned up mimetype script (RT 64421)
- Removed unessecary error code (RT 66527)
- Removed illogical behavior for derefereencing symlinks (RT 58575)
These tools are for use by developers so that they can create more
robust applications. Especially of use to those developing
multi-threaded applications in C++ with templates. Includes TCMalloc,
heap-checker, heap-profiler, and CPU-profiler.
== [7.4.0] 2013-11-17 ==
* Add 'bytes reclaimed' counters to public GC_prof_stats_s.
* Add AArch64 (64-bit ARM) target support.
* Add GC_LONG_REFS_NOT_NEEDED ifdefs to exclude long link functionality.
* Add GC_get_prof_stats[_unsafe]() to GC public API.
* Add GC_push_all/conditional() to GC public API.
* Add assertion on number_of_objs to GC_extend_size_map.
* Add assertion to GC_enable() ensuring no counter underflow.
* Add assertion to LOCK definition that lock is not already held.
* Add assertion to LONG_MULT and remove useless assert in PUSH_CONTENTS_HDR.
* Add double-lock assertion to GC_acquire_mark_lock.
* Add manual POSIX fork handling support (Android).
* Add note about 'pkg-config' solving problem with autoconf 2.68 or older.
* Add public GC_set/get_abort_func to replace default GC_on_abort.
* Add public GC_start_mark_threads() to allow parallel marker in fork child.
* Add public setter and getter for GC_push_other_roots.
* Add support of Android logger.
* Add tests for GC_register/move/unregister_long_link.
* Add thread suspend/resume signals public setters (POSIX threads).
* Added long weakref support.
* Adjust GC_dont_expand/gc/precollect and GC_print_stats type to match gc.h.
* Adjust README.md title and references to doc .html files in it.
* Adjust build scripts to enable additional test library in staticrootstest.
* Adjust logged messages in start_mark_threads and GC_thr_init.
* Adjust printf format specifiers in GC_print_trace.
* Allow not to rely on __data_start value (Linux).
* Allow pthread_kill error code logging in GC_suspend/resume (debugging).
* Allow to compile GC_inner_start_routine aside from extra/gc.c.
* Allow to omit libc atexit() call.
* Avoid LOCK/UNLOCK hard-coding in gc_locks.h for PS3 target.
* Better document GC_warn_proc in gc.h.
* Call GC_on_abort (with NULL argument) on exit(1).
* Call GC_stats/verbose_log_printf instead of GC_log_printf if print_stats.
* Change policy regarding version numbers ("micro" part instead of "alpha").
* Changed C99-style designated init of GC_dl_hashtbl struct to use C89-style.
* Check GC_base result in GC_print_all_smashed_proc.
* Check that SIG_SUSPEND and SIG_THR_RESTART are different (Pthreads).
* Check traceable_allocator.allocate result before dereference in test_cpp.
* Code refactoring of GC_x_printf (move shared code to macro).
* Convert readme to markdown.
* Default to use libc_stack_end in single-threaded GC on glibc targets.
* Define GC_VSNPRINTF internal macro in misc.c (code refactoring).
* Define functions in darwin_semaphore.h as inline instead of static.
* Define old_bus_handler static variable only if used (Unix).
* Detect dladdr() presence by configure.
* Disable find-leak GC_gcollect on GC abnormal EXIT.
* Do not define _setjmp/_longjmp macros in mach_dep.c.
* Do not duplicate android_log_write output to GC log file (Android).
* Do not include sigcontext.h if NO_SIGCONTEXT_H (Linux).
* Do not set GC_lock_holder by call_with_alloc_lock if assertions disabled.
* Do not use pthread_getattr_np if NO_PTHREAD_GETATTR_NP specified.
* Elaborate comment on dependencies in autogen.sh.
* Eliminate 'cast from int to pointer' warning in GC_exclude_static_roots.
* Eliminate 'missing exception specification' warning in gc_cpp.cc (Clang).
* Eliminate 'uninitialized variable use' warning in test_printf (cord).
* Eliminate 'unused result' compiler warning in main() of test_cpp.
* Eliminate 'unused value' compiler warning in GC_stop_world (Pthreads).
* Eliminate 'unused variable' compiler warning in start_mark_threads (HP/UX).
* Eliminate Clang warning for GC_pthread_exit attribute.
* Eliminate GCC warning about uninitialized 'hhdr' in GC_allochblk_nth.
* Eliminate GCC warning in GC_get_main_stack_base (OpenBSD).
* Eliminate GCC warnings in setjmp_t.c, test_cpp and cord 'de' app.
* Eliminate GC_first_nonempty atomic value reload in GC_mark_local assertion.
* Eliminate SIGBUS-related dead code in GC_write_fault_handler (Linux).
* Eliminate warning and simplify expression in GC_init_explicit_typing.
* Enable 'force GC at every GC_malloc' debug-related functionality.
* Enable on-demand debug logging in GC_FindTopOfStack (Darwin).
* Enable prefetch operations by default (GCC 3.0+).
* Enable staticrootstest for the case of GC shared library build.
* Enable thread-local allocation support for Clang on Cygwin.
* Explicitly specify that Darwin, Linux and Solaris platforms have dladdr.
* Fix ABORT definition for mingw32ce (WinCE).
* Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1.
* Fix GC_CreateThread and GC_beginthreadex definition for Cygwin.
* Fix GC_INIT_CONF_ROOTS in gc.h for Android.
* Fix GC_INLINE definition to comply with ISO C90 standard (GCC).
* Fix GC_remove_all_threads_but_me for Android (fork support).
* Fix debug_register_displacement calls from GC_debug_generic_malloc_inner.
* Fix dyn_load.c compilation for Android 4.3.
* Fix make disclaim_test to link with new GNU ld linking rules.
* Improve GC error printing atomicity in GC_debug_X and GC_print_obj.
* Improve GC output atomicity in GC_print_obj, GC_print_all_errors.
* Improve debug-only messages of add/remove_roots and init_linux_data_start.
* Improve fork test logging in gctest.
* Improve logged messages about heap size and usage.
* Improve logging for Android differentiating messages by log level.
* Improve staticrootstest (add global data to library, add lib w/o GC_INIT).
* Improve staticrootstest checks (tests).
* Include "config.h" instead of "private/config.h" on HAVE_CONFIG_H.
* Include proper header file in 'tools' for configuration macros.
* Include pthread_np.h from pthread_stop_world.c on OpenBSD.
* Log error messages to stderr instead of stdout in tests.
* Make GC_generic_malloc_ignore_off_page() public.
* Make GC_mark_lock_holder variable static.
* Make GC_print_trace always thread-safe and remove 'lock' argument.
* Mark GC_started_thread_while_stopped() as GC_INNER.
* Minimize code duplication in GC_mark_and_push.
* Move 'include setjmp.h' from mach_dep.c to gc_priv.h.
* Move GC_OPENBSD_UTHREADS definition to private/gcconfig.h (OpenBSD).
* Move GC_get_suspend/thr_restart_signal to misc.c for NaCl and OpenBSD.
* Move LOCK/UNLOCK from GC_unregister_disappearing_link_inner outer.
* Port BDWGC to Android/x86.
* Postpone the suspend signal in GC_dirty_init only if used to stop world.
* Prepend '#' symbol to GC number in logged messages.
* Prevent POSIX fork if mprotect_thread is started (Darwin).
* Prevent abort on GC_err/warn_printf write failure.
* Prevent misleading AC_MSG_ERROR/AS_IF errors reported in configure.ac.
* Put gc_cpp symbols into 'boehmgc' namespace if GC_NAMESPACE defined.
* Recognize GC_DONT_GC macro in gc.h (causes GC_INIT to turn off GC).
* Recognize GC_SIG_SUSPEND and GC_SIG_THR_RESTART tuning macros in gc.h.
* Redirect WRITE to __android_log_write if GC_ANDROID_LOG (Android).
* Refine comment of GC_is_heap_ptr and GC_thread_is_registered in gc.h.
* Register dynamic libraries via dl_iterate_phdr on Android and OpenBSD.
* Remove DebugBreak on WriteFile failure (Win32).
* Remove GC_BUILD definition from build scripts.
* Remove abort on open log failure from GC_write (Win32).
* Remove configure.ac outdated revision number.
* Remove nested EXPECT in GC_core_finalized_malloc.
* Remove nested always-false ifdef for HPUX and FREEBSD.
* Remove redundant GC_err_printf before abort.
* Remove unused UTHREAD_SP_OFFSET macro (OpenBSD).
* Rename subthread_create to subthreadcreate_test (Makefile).
* Replace GC_COND_LOG_PRINTF calls with WARN for allocation failure messages.
* Replace GC_log/err_printf() followed by ABORT with ABORT_ARGn().
* Replace GC_stats_log_printf with GC_DBG/INFOLOG_PRINTF.
* Replace SIG_SUSPEND/THR_RESTART macros to variables in pthread_stop_world.
* Replace Win32 GC_delete_gc_thread with GC_delete_gc_thread_no_free.
* Replace conditional GC_log_printf calls with GC_COND/VERBOSE_LOG_PRINTF.
* Replace sprintf with defensive snprintf.
* Replace var-args GC_noop with GC_noop6 (to eliminate Clang warning).
* Simplify LOCK/UNLOCK macro definition for static code analysis tools.
* Specify GC_malloc result is unused in some tests.
* Specify GC_pthread_join result is unused in threadkey_test.
* Specify LT_INIT in configure.ac.
* Start of port to QNX.
* Support rthreads introduced in OpenBSD 5.2+.
* Suppress 'GC_dont_gc deprecated' warning in gc.h if GC_DONT_GC.
* Tag GC malloc routines with alloc_size attribute for Clang 3.2+.
* Test NO_WRAP_MARK_SOME macro to suppress WRAP_MARK_SOME-specific code.
* Turn off GC_LOOP_ON_ABORT functionality if GC compiled with NO_DEBUGGING.
* Turn on world-stop delay logging at debug level by default for Android.
* Use EXPECT in GC_COND/VERBOSE_LOG_PRINTF.
* Use GC_log_printf for logging instead of GC_[err_]printf.
* Use compiler TLS for Android NDK gcc/arm.
* Use memcpy (BCOPY) instead of strcpy (to suppress GCC warning).
* Use pthread API to operate thread-local data on Linux if no compiler TLS.
* Workaround 'ELF_DATA/EM_ALPHA redefined' warning in Android linker.h.
* Workaround 'unresolved __tls_get_addr' error for Android NDK Clang.
== [7.3alpha2] 2012-05-11 ==
* Add 'const' qualifier to pointer argument of some API functions.
* Add GC_UNDERSCORE_STDCALL, UNICODE macro templates to configure (Win32).
* Add GC_get_thr_restart_signal, GC_thread_is_registered to GC API.
* Add GC_is_heap_ptr, GC_move_disappearing_link to GC API.
* Add SHORT_DBG_HDRS macro template to configure.
* Add Symbian port to mainline.
* Add TODO file.
* Add assertion ensuring proper alignment of 'pushed' GC symbols.
* Add assertion in GC_getspecific on qtid.
* Add assertion to GC_incremental_protection_needs, refine documentation.
* Add assertion to check GC_large_free_bytes by GC_finish_collection.
* Add configure option to compile all library .c files into single gc.o.
* Add cordtest to make check.
* Add disclaim callbacks for efficient finalization (ENABLE_DISCLAIM).
* Add finalization.html to 'doc' folder.
* Add javaxfc.h to the installation set of GC header files (configure).
* Add on-heap-resize event notification to API.
* Adjust GC_log_printf format specifiers (regarding signed/unsigned long).
* Adjust GC_requested_heapsize on GC_init if GC_INITIAL_HEAP_SIZE given.
* Allow GC_exclude_static_roots() region start to be unaligned.
* Allow Win32 DllMain chaining on the client side.
* Allow to exclude finalization support by GC_NO_FINALIZATION macro.
* Allow to get memory via Win32 VirtualAlloc (USE_WINALLOC) on Cygwin.
* Avoid unnecessary GC_find_limit invocation if GC_no_dls.
* Avoid use of deprecated GC_dont_gc and GC_stackbottom in gctest.
* Cast pointers to word (instead of unsigned long) in specific.h.
* Changed the order in autogen.sh so ltmain exists in time for automake.
* Declare privately and use handy GC_base_C() for constant object pointers.
* Define GC_DLL if DLL_EXPORT at GC build (for Cygwin/MinGW).
* Define GC_READ_ENV_FILE in configure for WinCE unless gc-debug is off.
* Do not compile backgraph.c unless configure '--enable-gc-debug'.
* Do not compile pthread_stop_world.c for Cygwin/Darwin (configure).
* Do not install ancient new_gc_alloc.h broken for modern STL (configure).
* Enable GC_MIN_MARKERS to set minimal number of pthread-based markers.
* Enable PARALLEL_MARK and THREAD_LOCAL_ALLOC for FreeBSD in configure.
* Enable parallel mark by default in configure (Darwin/Linux/Solaris/Win32).
* Export GC_is_marked, GC_clear/set_mark_bit (for mark-bit manipulation).
* Extend thread-related debug messages.
* Fix 'configure --enable-cplusplus' for Cygwin/MinGW.
* Fix DATASTART (and other minor improvements) for NaCl target.
* Fix GC_setspecific to prevent garbage collection inside.
* Fix compiler warning in cordtest.
* Fix minor warnings reported by GCC with '-pedantic' option.
* Fix static data roots registration on Android (if GC is shared).
* Implement GC_get_stack_base for Darwin for single-threaded mode.
* Improve GC_allochblk algorithm of block splitting when unmapping enabled.
* Improve GC_collect_or_expand algorithm for many finalizers registered case.
* In tests, print a message in case a test is a no-op.
* Instruct configure to hide internal libgc.so symbols if supported by GCC.
* Log amount of unmapped memory (if enabled) on marking-for-collection.
* Make __data_start a weak symbol to allow loading modules on mips.
* Move "cord" library tests to "cord/tests" folder.
* Move asm machine-dependent files to "src" folder.
* Move build tools sources to "tools" folder.
* Move cord_pos.h to public headers folder.
* Open log file in APPEND mode on Win32 (similar that on Unix/Cygwin).
* Optimize some functions by moving pthread_self calls out of LOCK section.
* Place only major per-release changes description to ChangeLog (this file).
* Prevent compiler warnings in GC_FindTopOfStack and GC_ports (Darwin).
* Recognize GC_LOG_TO_FILE_ALWAYS macro to log to 'gc.log' by default.
* Remove all auto-generated files from the repo.
* Remove binary icon file for de_win.
* Remove cordtest from "cord" library.
* Remove duplicate MacOS_Test_config.h file.
* Remove gc_amiga_redirects.h (included internally) from public headers.
* Remove obsolete Makefile.DLL (superseded by Cygwin/MinGW configure).
* Remove obsolete unused asm files for ALPHA, HPUX, SGI, RS6000, ULTRIX.
* Remove unsupported MMAP_STACKS (specific to Solaris threads).
* Remove unused ancient SILENT, __STDC__, NO_SIGNALS macros.
* Replace ARGSUSED comment-based annotation with GCC 'unused' attribute.
* Replace GC_ms_entry declaration with opaque definition for public API.
* Replace long GC_markers global variable with int GC_markers_m1.
* Replace pointer relational comparisons with non-pointer ones.
* Replace printf PRIxMAX specifier with '%p' for thread id debug output.
* Require autoconf 2.61 instead of v2.64.
* Simplify autogen.sh (use autoreconf).
* Split GC_abort with GC_on_abort and abort() invoked from ABORT.
* Support GC_ATTR_MALLOC for MS VisualStudio.
* Tag auxiliary malloc-like API functions with 'malloc' attribute.
* Tag deprecated variables in GC API.
* Tag must-be-non-null arguments of GC API functions.
* Turn on "extra" GCC warnings.
* Turn on unused-parameter checking for GCC.
* Update AUTHORS file.
* Use EXPECT for checking various 'initialized' boolean variables.
* Use USE_COMPILER_TLS on Cygwin.
* Use pthread_key for thread-local storage on FreeBSD.
* Use union of AO_t and word to favor strict-aliasing compiler optimization.
== [7.4.0] 2013-11-17 ==
* Add and/or/xor entries to list_atomic (tests).
* Add char/short/int/AO_double_t and dd_acquire cases to list_atomic (tests).
* Add compile-time assertion for size of 'standard' AO_double_t.
* Add double_store pthread-based implementation and tests.
* Add generalized CAS primitives of char/short/int size.
* Add generalized atomic and/or/xor operations for char/short/int types.
* Add generalized fetch_and_add_acquire/release (for ARMv6+).
* Add generic implementation of double_load primitives.
* Add information about AO_ASSUME_VISTA to README_win32.
* Add internal header containing only char/short/int/AO_t atomic loads.
* Add load/store primitives generalization based on CAS.
* Add lock-based implementation of char/short/int_fetch_compare_and_swap.
* Add makefile rule to test list_atomic.template syntax (tests).
* Add missing 'const' in aligned-atomic XSIZE_load implementation.
* Add missing double_compare_and_swap to generalization.
* Add missing generalization of no-barrier CAS in template.
* Add negative double-CAS test cases to test_atomic_include (tests).
* Add test_stack to Makefile.msft (tests).
* Adjust fprintf arguments type matching specifier in test_stack (tests).
* Adjust included filenames in atomic_ops_malloc and test_stack.
* Adjust quotes in echo command of Makefile.msft (Win32).
* Always use 'mfence' for nop_full if target CPU supports SSE2 (gcc/x86).
* Better document configure THREADDLLIBS variable.
* Cast away volatile on dereference in CAS-based generalization primitives.
* Change policy regarding version numbers ("micro" part instead of "alpha").
* Convert README to Markdown format.
* Define AO_NO_PTHREADS in configure if no pthreads (Win32 and VxWorks).
* Define AO_int_X operations for ARM and avr32.
* Define double-wide ordered loads/stores for x86.
* Define int_and/or/xor primitives in ao_t_is_int header.
* Define nop_full as compiler barrier for pre-ARMv6 single-core case.
* Do not duplicate BUILT_SOURCES entries in nobase_private_HEADERS (Makefile).
* Do not include standard_ao_double_t.h where double-CAS is unimplemented.
* Do not report absence of meaningless nop, load and store in test_atomic.
* Do not use deprecated AO_T and AO_TS_T (tests).
* Eliminate 'missing initializer' warning for AO_stack_t value initializer.
* Eliminate 64-bit compiler warnings in atomic_ops_malloc.
* Eliminate arithmetic shifts in double-CAS (gcc/arm, msftc/x86).
* Eliminate warning for fetch_and_add argument in test_atomic_include (tests).
* Enable Makefile.msft for Win64.
* Enable build using toolchain without pthreads.
* Enable double_compare_and_swap for non-cpp code (msftc/x86.h).
* Enable generalization of all variants of CAS via fetch_compare_and_swap.
* Enable test_stack for pthreads-w32 and Win32 with native threads.
* Fix generalized AO_char/short_compare_and_swap args (missing 'unsigned').
* Fix makefile sed rule for list_atomic (tests).
* Fix missing abort() usage in atomic_ops_malloc and tests on WinCE.
* Generalize compare_double_and_swap_double using double_compare_and_swap.
* Generalize double_load/store for x86_64 (GCC).
* Generate ao_t_is_int, 'loadstore' headers from templates.
* Generate generalized AO_t load/store/fetch_and_add primitives from template.
* Generate ordered_loads/stores_only headers from templates.
* Group all X_acquire_release_volatile.h and X_[aligned_]atomic_load_store.h.
* Implement and/or/xor, AO_double_load for ARM.
* Implement atomic store using direct write by default on ARMv6+.
* Implement char/short/int-wide primitives using GCC built-in atomic/sync.
* Implement char/short/int_fetch_and_add for msftc/x86[_64] (Win32).
* Implement char/short_fetch_and_add, char/short_load for ARMv6+ (GCC).
* Implement char/short_store primitives at aligned addresses for ARM.
* Implement compare_double_and_swap_double for SunCC/x86.
* Implement double_load/store based on guaranteed x86 access atomicity.
* Implement double_store for ARMv7 using LDREXD/STREXD.
* Implement load/store via simple LDR/STR for ARMv6+ (msftc).
* Implement nop_full/write using 'dmb' instruction if available (gcc/arm).
* Improve debug printing in test_stack (tests).
* Log messages to stdout instead of stderr (tests).
* Make AO_ASSUME_VISTA also enables Win98 code in msftc/x86.h (Win32).
* Minimize gcc/generic-arithm template by factoring out barriers.
* Move 'unsigned' keyword to XCTYPE in generalize-small template.
* Move default compiler options to CFLAGS in Makefile.msft (Win32).
* Move definitions of ordered loads/stores to inner separate headers.
* Move gcc-generic AO_t-wide primitives to generic-small/arithm headers.
* Move generalized arithmetical primitives to 'generalize-arithm' template.
* Optimize AO_spin manually to minimize compiler influence on its duration.
* Parameterize list_atomic template with XSIZE (tests).
* Perform only few list reversals in test_malloc if AO based on pthreads.
* Put autogen.sh to 'dist' package (Automake).
* Remote duplicate definition of test_and_set_acquire in generalize.h.
* Remove X_aligned_atomic_load_store headers and template.
* Remove duplicate AO_spin and AO_pause definition in atomic_ops_stack.
* Remove gcc/x86_64.h eliminating code duplication of gcc/x86.h.
* Remove nested AO_USE_PTHREAD_DEFS macro check in atomic_ops.h (gcc/arm).
* Remove redundant 'cc' clobber for LDREXD instruction (gcc/arm).
* Remove store_full from msftc/arm.h in favor of generalized primitive.
* Remove sunc/x86_64.h eliminating code duplication of sunc/x86.h.
* Remove unsafe emulation-based implementation of double CAS (SunCC/x86_64).
* Remove useless 'perror' call in run_parallel.h (tests).
* Reorder AO_double_t union elements for AO_DOUBLE_T_INITIALIZER portability.
* Replace atomic_load_store.template with atomic_load and atomic_store ones.
* Replace some FIXME items with TODO in atomic_ops.c and sysdeps headers.
* Specify fetch_and_add/sub1 result as unused in test_atomic (tests).
* Support AArch64 (64-bit ARM) target (GCC).
* Support ARMv8 target (gcc/arm).
* Test double_compare_and_swap in test_atomic (tests).
* Use AO_ prefix for internal functions in arm_v6.h, hppa.h.
* Use __atomic GCC built-in to implement generic double-wide CAS.
* Use built-in __sync CAS for double-CAS if AO_USE_SYNC_CAS_BUILTIN for x86.
* Workaround GCC 4.4.3 warning reported for 'val' of list_atomic.c (tests).
== [7.3alpha2] 2012-05-11 ==
* Add '-no-undefined' to LDFLAGS in src/Makefile.am.
* Add AO_and, AO_xor atomic operations.
* Add AO_fetch_compare_and_swap primitives.
* Add and fill in AUTHORS, TODO files.
* Add autogen.sh file.
* Adjust AO_..._H macros in public headers.
* Code refactoring of gcc/arm.h by introducing AO_ARM_HAVE_x macros.
* Define AO macros for libatomic_ops version identification.
* Do not define NDEBUG if '--enable-assertions' passed to configure.
* Eliminate compiler warnings in various functions and macros.
* Generalize AO_compare_and_swap primitives via AO_fetch_compare_and_swap.
* Generalize acquire/release/full CAS primitives for MIPS
* Implement fetch_and_add, test_and_set primitives for MIPS.
* Improve Makefile for MS VC++; pass '-W3' option to MS compiler.
* Include ao_t_is_int.h from atomic_ops.h after first generalization pass
* Merge all Makefile.am files in src tree.
* Minor code refactoring of atomic_ops.c, generic_pthread.h.
* Minor configure build improvements (e.g., ensure proper autoconf version).
* Place only major per-release changes description to ChangeLog (this file).
* Recognize AO_PREFER_GENERALIZED macro to favor generalization over assembly.
* Remove all auto-generated files except for generalize-small.h from the repo.
* Remove duplicate doc/COPYING and empty NEWS files.
* Replace atomic_ops_malloc static mmap-related empty functions with macros.
* Replace pointer relational comparisons with non-pointer ones.
* Require autoconf 2.61 instead of v2.64.
* Show extra compiler warnings (GCC only).
* Turn off AO primitives inlining if AO_NO_INLINE defined.
* Use __builtin_expect in CAS failure loop condition checks (GCC only).
== [7.2e] 2013-11-10 ==
* Fix (remove) invalid include of read_ordered.h for ARM.
* Fix AM_CONFIG_HEADER in configure for autoconf-2.69-1.
* Fix AO_pause sleep delay for particular argument values (Win32).
* Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang).
* Fix LDREXD/STREXD use for pre-Clang3.3/arm.
* Fix README regarding _acquire_read barrier.
* Fix XSIZE_load/store definition order in generalize-small template.
* Fix asm constraint of CAS memory operand for gcc/alpha, clang-3.1/mips.
* Fix asm constraints of primitives in sunc/x86.h.
* Fix cmpxchg16b-based compare_double_and_swap_double for SunCC/x86_64.
* Fix compare_double_and_swap_double and double_ptr_storage for gcc/x32.
* Fix compare_double_and_swap_double for clang3.0/x86 in PIC mode.
* Fix compare_double_and_swap_double_full definition condition in emul_cas.
* Fix generalize-small template adding missed CAS-based fetch_and_add.
* Fix generalized fetch_and_add function.
* Fix missing compiler barrier in nop_full for uniprocessor ARM.
* Fix ordered_except_wr header inclusion for s390.
* Fix return type of AO_int_X primitives defined in ao_t_is_int header.
* Fix return type of char/short/int_load_read() in read_ordered.h.
* Fix template-based headers regeneration order in src/Makefile.
* Fix typos in ao_t_is_int, atomic_ops.h, generalize.h, msftc/arm.h comments.
* Fix variable type to match printf format specifier in test_stack.
* Fix visibility and initial value of 'dummy' variable in atomic_ops_stack.
* Terminate tests with abort after error reported.
== [7.2d] 2012-08-09 ==
* Fix AO_compare_double_and_swap_double_full for gcc-4.2.1/x86 in PIC mode.
* Fix AO_compiler_barrier missing parentheses.
* Fix missing 'unsigned' for generalized AO_char/short_fetch_and_add result.
== [7.2] 2012-05-11 ==
* Add atomic_ops.pc.in and atomic_ops-uninstalled.pc.in to pkgconfig folder.
* Define and use AO_PTRDIFF_T in tests for casts between pointer and integer.
* Fix AO_compare_and_swap return type for s390 and PowerPC.
* Fix AO_compare_double_and_swap_double_full for gcc/x86 (PIC mode).
* Fix AO_stack_push_release to workaround bug in clang-1.1/x86 compiler.
* Fix AO_test_and_setXX in tests/list_atomic.template.
* Fix AO_test_and_set_full (gcc/x86[_64].h) to work-around a bug in LLVM v2.7.
* Fix AO_test_and_set_full on m68k.
* Fix __ARM_ARCH_5__ macro handling for Android NDK (ARMv7).
* Fix configure for Cygwin, mingw-w64/32.
* Fix configure to define __PIC__ macro explicitly if needed (GCC).
* Fix double_ptr_storage definition for GCC pre-v4 (x86_64).
* Fix for x32 by removing 'q' suffix in x86-64 instructions.
* Fix generalization for IA-64 (regarding AO_or, AO_..._read/write primitives)
* Fix generalized AO_<type>_fetch_and_add() return type.
* Fix test_atomic_include for the case of missing CAS primitive.
* Fix test_malloc - allocate less memory in case of missing mmap.
* Implement the basic atomic primitives for the hexagon CPU.
Changes from previous:
----------------------
0.55 2013.03.19
- Extra version to add missing files :)
0.54 2013.03.19
- Add 'break on file loading' feature (thanks jchassler!)
- Fix commands starting with ^h
0.53 2012.02.29
- Add tests for codeline tracking and subrefs
- Fix YAML vs YAML::Syck (dunno)
- Had to disable return-value-override feature
- Fix tests to work with new Carp
- Use findbin to load backend
- Improve argument param handling
0.52 2011.11.08
- Oops, forgot to update CHANGES for 0.51 :)
- Slight refactor of backend executable by pmurias (thanks!)
- Extract backend connection code into separate method
- Shuffle executables into bin/
- Fix wantarray test for older perls
- Fix some windows path usage
0.50 Thu Oct 20 20:15:05 EDT 2011
- Fix failing tests
- Add YAML build dependency
Release 8.35 04-April-2014
--------------------------
There have been performance improvements for classes containing non-ASCII
characters and the "auto-possessification" feature has been extended. Other
minor improvements have been implemented and bugs fixed. There is a new callout
feature to enable applications to do detailed stack checks at compile time, to
avoid running out of stack for deeply nested parentheses. The JIT compiler has
been extended with experimental support for ARM-64, MIPS-64, and PPC-LE.
as indicated in pkg/48075, wherein pdksh doesn't support double-parens
if not containing an arithmetic expression of a particular form.
Older bash and ast-ksh apparently also had problems with this.
Changes from previous:
----------------------
1.01 2013-07-26 Correct version
1.00 2013-07-26 Deprecate use-devel-checklib script.
0.99 2013-04-02 Allow -R rpaths as libpaths used with solaris cc
(see RT #81330)
0.98 2012-03-17 Merge ldflags & perllibs.
0.97 2012-02-02 Fixed test.
0.96 2012-02-02 Pass linker options to MSVC.
- enabled Travis CI (no user-visible changes)
- improved fields-based object support (Olivier Mengué, Maxime Soulé)
- support added for fields-based objects (Gavin Mogan, RT #84535)