Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
This comparison is big! We’re only showing the most recent 250 commits
Commits on Dec 13, 2012
@rurban rurban Add ChangeLog line for check_for_git_binary_gh477 01055bd
@rurban rurban [t] Improve timing of task_kill
The timing was too instable. Also rename the task and code.
Commits on Dec 14, 2012
@rurban rurban [GH #882] Better gmp Configure result: skipped/yes, num/no
Print skipped with --without-gmp, not no.
Print yes, number if found.
Print no if not found.
@rurban rurban [GH #861] Add testcase for missing record-seperator as GC-alive 5202bce
@rurban rurban ChangeLog line for Socket.getprotobyname [GH #606] 56b7dc0
@rurban rurban Merge branch 'getprotobyname_gh606'
Tested ok on linux, darwin, windows
@leto leto Update manifest 575aebb
@leto leto [t] Add some tests which coredump the Socket PMC 8e79bd1
@rurban rurban Socket.getprotobyname returns -1 when the syscall returns NULL
Pass the new socket tests for empty or wrong protocol names.
@rurban rurban [t] fix test cound for t/pmc/socket.t 1103132
Commits on Dec 16, 2012
@rurban rurban [GH #886] Remove concurrent say in t/pmc/task.t
Even busy sleeping did not help on some systems, so remove the problematic line.
It still tests if the task it properly killed, but we cannot guarantee when it is killed.
@jkeenan jkeenan Correct one expected value in test.
Ensure that one variable is initialized before being used.

Modify some test descriptions so that we can more easily determine our place
in the test results.
@jkeenan jkeenan Merge branch 'master' of ba040e3
@jkeenan jkeenan [codingstd] No cuddled else; copyright; PIR coda; trailing space. ba7d574
@rurban rurban [GH #887] Set darwin DYLD_LIBRARY_PATH when testing
Set DYLD_LIBRARY_PATH in run_command() as this allows testing from
the command-line also.

Also fix Parrot::Test::path_to_parrot, which failed when INC was
just lib/Parrot/ Use the more reliable __FILE__ instead
and check if short, relative path seperately.

BTW: This method should be thrown away, as it does not work on an
installed parrot.
@rurban rurban [GH #887] Append to existing DYLD_LIBRARY_PATH
This scenario involves DYLD_LIBRARY_PATH required for some libparrot dependency in a non default location (ice, pcre, ...).
@rurban rurban Undo GC work_list check. This may not happen
Rather fix the wrong paren_interp. See also GH #880
@rurban rurban [GH# 874] Skip one nqp test which fails without-icu
It really should be fixed in nqp: avoid calling find_codepoint when icu is not configured.
@rurban rurban Fix DETAIL_MEMORY_DEBUG, print GC stats on new MEMORY_DEBUG flags
Fixed several wrong arguments with DETAIL_MEMORY_DEBUG enabled.
DETAIL_MEMORY_DEBUG was too noisy with Allocated and Freed, print stats with
simplier MEMORY_DEBUG.
Commits on Dec 17, 2012
@rurban rurban [cage] Add -DTHREADS_DEBUG diagnostics to GC stats
Print the parent_interpreter and the tid in the current GC
@rurban rurban [cage] debug print GMS Validate step with -DMEMORY_DEBUG 09cf85d
@rurban rurban [cage] remove outdated comment for task.t preempt_and_exit
exit 0 was fixed with 297f1ee
@jkeenan jkeenan [codingstd] Make file adhere to c_parens standard. a465a22
@rurban rurban [t] Fix path_to_parrot: realpath "" does not work on cygwin
Use realpath "." if empty
Commits on Dec 18, 2012
@rurban rurban [doc] --without-threads Build parrot without OS thread support
The threads API - Task, Scheduler, concurrency - works as with threads, just
not on native OS threads.
@rurban rurban [t] GH #886 skip task.kill on windows/cygwin. NYI 63c1890
@rurban rurban [GH #687] Install man pages for all generated main binaries
Defaults to /usr/local/man.
Skipped on windows and if pod2man is not found.
Without the proposed #228 tools/docs/ script
Get the man subpage from the generated file extension (.1),
to allow .3 or .3pir man pages in the future also.
@rurban rurban [docs] Document --numthreads in docs/binaries/parrot.pod (the manpage) 019f4ae
@rurban rurban Release 4.11.0 - All together - Happy Birthday Lovebird
Added install-man step [GH #687]. Add man-clean to clean. Fix auto::pod2man on windows.

OS threads with proxied PMCs are now default. Use perl --without-threads
to use the old green threads API, just without Proxies and without native OS threads
(and possible GC problems when running threaded tasks).

Fix linking dynext/ without installed
Warn about Archive::Tar COMPRESS_BZIP
Commits on Dec 19, 2012
@rurban rurban Improve error reporting of tools/release/ for IO::Compress::Bzip2
If IO::Compress::Bzip2 will fail to load
(Compress::Raw::Bzip2 version 2.059 required--this is only version 2.052)
tools/release/ will write the bzip2 compress archive as gzip compressed.
This might not be what you want.

By adding "use IO::Compress::Bzip2;" the error is not silently ignored anymore.
After updating Compress::Raw::Bzip2 the bzip compression worked fine.
@rurban rurban [t] todo native_pbc tests if only the version cmp fails
pbc is now version-safe. mark the tests as TODO for a while.
keep the tools/dev/ --update-fingerprint hint.
@rurban rurban Remove outdated native_pbc files
tools/dev/mk_packfile_pbc is wrong and not needed anymore.
remove t/native_pbc/string.pbc and the references to t/native_pbc/integer.pbc,
t/native_pbc/annotations.pbc was replaced by t/pmc/testlib/annotations.pbc,
t/native_pbc/string.pbc by t/op/testlib/test_strings.pbc,
t/native_pbc/number.pbc by t/pmc/testlib/number.pbc.
t/native_pbc/*.pbc is for generated pbc files on different platforms, not on the same platform.
@rurban rurban [doc] Update release_manager_guide.pod for mk_native_pbc
It is recommended to run --update-fingerprint, so that the
native_pbc tests will not be TODOd.
Remove the reference to the wrong tools/dev/mk_native_pbc.
@rurban rurban Update versions in the native_pbc test pbcs
Generated by --update-fingerprint on all PBC_COMPAT files
(Skip the old 4.0 *8_be.pbc files)
Commits on Dec 21, 2012
@rurban rurban [GH #896] Revert "Apply patch submitted by Coke in TT #1954."
This reverts commit 6ac86c9.

We need to provide docs for our ops.
@rurban rurban [docs] lowercase perldoc in error msg 6ec6beb
Commits on Dec 22, 2012
@rurban rurban [cage] add generated man pages to .gitignore 2c3fc76
@rurban rurban [GH #896] Move man target to docs/, run ops_summary for ops 852a136
@rurban rurban [GH #896] Fix install-bin target, docs, man, ops/index.pod
Proper dependecies
@rurban rurban [GH #896] Also install ops/index.pod summary 1f9a597
Commits on Dec 24, 2012
@rurban rurban ChangeLog for docs/ops and #890 rurban/track-generated-gh890 7306645
@jkeenan jkeenan Update MANIFEST and SKIP. a23638e
@rurban rurban remove t/native_pbc/annotations.pbc,integer.pbc again
Those native pbcs were already deleted twice but appear again and again.
There were previosuly used as packfile tests but are now in t/pmc/testlib/

Minor fix in Parrot::Manifest.
@rurban rurban More public ChangeLog lines for rurban/track-generated-gh890 fixes cffb857
@rurban rurban [GH #895] Rename packfile_annotation_key_type.pasm to packfile_annota…

This file was never installed, so we do not need to deprecate it and provide a copy.
@rurban rurban [codingstd] Add DESCRIPTION to generated docs/ops/index.pod
Fixes t/codingstd/pod_description.t
@rurban rurban [GH #901] Provide missing makefile codas 41eb730
@rurban rurban [GH #853] Enable proper llvm probes
enable compilation probes
add the --llvm-config option and handle it
print the detected version (silent 1 as fallback)
detect static llvm libs
handle the debian testing default case (appended -version)
handle the llvm 3.2 new --version format
set proper llvm_{c,cxx,ld}flags and llvm_libs config keys for opsc_llvm integration
try given cc for a llvm-gcc or clang compatible compiler
check the output of -emit-llvm by file magic inspection
  ld: warning: cannot find entry symbol 'mit-llvm'
@rurban rurban [GH #853] Less failing llvm-gcc noise ca515fb
@rurban rurban [GH #853] Add llvm cflags to cc probe 0701903
@rurban rurban [GH #853] Added Changelog line for improved --with-llvm probe 30e32a2
@rurban rurban Merge branch 'rurban/llvm-gh853' b99080e
@jkeenan jkeenan Sort MANIFEST.generated; avoid error in make distro_tests.
[codingstd] pod_description: Adjust generated .pod file to conform.
@jkeenan jkeenan Merge branch 'master' of 764037c
@rurban rurban [codingstd] pod_description: Remove duplicate DESCRIPTION, fix NAME 709be66
@rurban rurban [docs] Update porting_intro.pod for threads fb7274d
Commits on Dec 25, 2012
@jkeenan jkeenan [codingstd] Variable declared in conditional statement
Detected by t/codingstd/perlcritic.t; fixed.
Commits on Dec 26, 2012
@rurban rurban [GH #890] Generate MANIFEST.generate, remove MANIFEST_configure.gener…

Some files are still missing.
add_to_generated($filename, $section, $dir) is called from the Makefile
shell via tools/build/, and from $conf directly.

Improve docs Makefile
@rurban rurban [GH #890] Add missing MANIFEST.generated files, cleanup
Also move MAN_1 to docs, and improved clean targets

Comparison from old manual MANIFEST.generated.orig to generated
Added all previous MANIFEST_configure.generated entries, esp. Makefiles.
Moved include/parrot/pbcversion.h from devel to main. (used by config.h)
Removed invalid and outdated entries.
Added previously missing entries.

+compilers/tge/tgc.pbc                            [main]
+config_lib.pir                                   [devel]
+docs/binaries/ops2c.1                            [main]man
+docs/binaries/parrot-nqp.1                       [main]man
+docs/binaries/parrot-prove.1                     [main]man
+docs/binaries/parrot.1                           [main]man
+docs/binaries/parrot_config.1                    [main]man
+docs/binaries/parrot_nci_thunk_gen.1             [main]man
+docs/binaries/parrotbug.1                        [main]man
+docs/binaries/pbc_to_exe.1                       [main]man
+docs/binaries/plumage.1                          [main]man
+docs/binaries/winxed.1                           [main]man
+docs/ops/index.pod                               [doc]
+docs/packfile-c.pod                              [doc]
+foo_group.h                                      [devel]include
+include/parrot/pbcversion.h                      [main]include
+install_config.o                                 [main]lib
+runtime/parrot/dynext/foo_group.bundle           [library]
+runtime/parrot/dynext/pccmethod_test.bundle      [library]
+runtime/parrot/dynext/rotest.bundle              [library]
+runtime/parrot/dynext/subproxy.bundle            [library]
+runtime/parrot/include/cloneflags.pasm           [main]
+runtime/parrot/include/packfile_annotation_key_type.pasm [main]
+runtime/parrot/include/packfile_segments.pasm    [main]
+runtime/parrot/library/NCI/Utils.pbc             [main]
+runtime/parrot/library/OpenGL/Math.pbc           [main]
+runtime/parrot/library/PCT/Dumper.pbc            [main]
+runtime/parrot/library/ProfTest.pbc              [main]
+runtime/parrot/library/ProfTest/Matcher.pbc      [main]
+runtime/parrot/library/ProfTest/Matcher.pir      [main]
+runtime/parrot/library/ProfTest/NQPProfile.pbc   [main]
+runtime/parrot/library/ProfTest/NQPProfile.pir   [main]
+runtime/parrot/library/ProfTest/PIRProfile.pbc   [library]
+runtime/parrot/library/ProfTest/PIRProfile.pir   [main]
+runtime/parrot/library/ProfTest/Want.pbc         [main]
+runtime/parrot/library/ProfTest/Want.pir         [main]
+runtime/parrot/library/String/Utils.pbc          [main]
+runtime/parrot/library/URI/Escape.pbc            [main]
+runtime/parrot/library/YAML/Dumper/Base.pbc      [main]
+runtime/parrot/library/YAML/Dumper/Default.pbc   [main]
+runtime/parrot/library/postgres.pbc              [main]
+runtime/parrot/library/yaml_dumper.pbc           [main]
+src/core_pmcs.c                                  []
+src/dynpmc/pmc_dynlexpad.h                       [devel]include
+src/dynpmc/pmc_file.h                            [devel]include
+src/dynpmc/pmc_foo.h                             [devel]include
+src/dynpmc/pmc_foo2.h                            [devel]include
+src/dynpmc/pmc_gziphandle.h                      [devel]include
+src/dynpmc/pmc_osdummy.h                         [devel]include
+src/dynpmc/pmc_pccmethod_test.h                  [devel]include
+src/dynpmc/pmc_rational.h                        [devel]include
+src/dynpmc/pmc_rotest.h                          [devel]include
+src/dynpmc/pmc_select.h                          [devel]include
+src/dynpmc/pmc_subproxy.h                        [devel]include
+src/glut_callbacks.c                             [devel]src
+src/glut_nci_thunks.nci                          [main]
+src/string/private_cstring.h                     []

-docs/ops/debug.pod                               [doc]
-docs/ops/dotgnu.pod                              [doc]
-docs/ops/obscure.pod                             [doc]
-docs/ops/pic.pod                                 [doc]
-docs/ops/stack.pod                               [doc]
-include/parrot/exec_dep.h                        [main]include
-include/parrot/pbcversion.h                      [devel]include
-include/pmc/pmc_codestring.h                     [devel]include
-include/pmc/pmc_context.h                        [devel]include
-include/pmc/pmc_packfilefixupentry.h             [devel]include
-include/pmc/pmc_packfilefixuptable.h             [devel]include
-include/pmc/pmc_select.h                         [devel]include
-runtime/parrot/include/iotypes.pasm              [main]
-runtime/parrot/include/parrot_version.pir        [main]
-runtime/parrot/include/signal.pasm               [main]
-runtime/parrot/include/vtable_methods.pasm       [main]
-runtime/parrot/library/Data/Replace.pbc          [main]
-runtime/parrot/library/HTTP/Daemon.pbc           [main]
-runtime/parrot/library/NCI/call_toolkit_init.pbc [main]
-runtime/parrot/library/PGE/Hs.pbc                [main]
-runtime/parrot/library/Parrot/Capture_PIR.pbc    [main]
-runtime/parrot/library/Parrot/HLLCompiler.pbc    [main]
-runtime/parrot/library/Protoobject.pbc           [main]
-runtime/parrot/library/YAML/Dumper/Base.pmc      [main]
-runtime/parrot/library/YAML/Dumper/Default.pmc   [main]
-src/call_list.txt                                [devel]src
-src/glut_callbacks.c                             []
-src/install_config.obj                           [main]lib
-src/jit_emit.h                                   []
-src/nci.c                                        []
-src/pmc/codestring.dump                          [devel]src
-src/pmc/packfilefixupentry.dump                  [devel]src
-src/pmc/packfilefixuptable.dump                  [devel]src
-src/pmc/select.dump                              [devel]src
-src/string_private_cstring.h                     []
-tools/build/                            []
-tools/dev/testnumbers                            [devel]
-tools/dev/testnumbers.bat                        [devel]
@rurban rurban Change addgenerated default section to [main]
Some more minor location fixes:
config_lib.pir                                   [devel]src
runtime/parrot/library/config.pir []
runtime/parrot/library/ProfTest/PIRProfile.pbc   [main]
@rurban rurban [GH #890] install tgc.pbc as library, install PGE/Hs.pbc, TGE/Parser.pir
Fix some more installations, previously missing
@rurban rurban [GH #890] install src/dynpmc/foo_group.h
Do not add_to_generated for pmc libraries (groups), as we do not know
where the user wants it. Use $(ADDGENERATED) in the src/dynpmc/ instead
@rurban rurban Merge branch 'rurban/track-generated-gh890'
Fixed some makefile conflicts
@rurban rurban [cage] run make docs only for installable, add docs-clean to help
docs with all was too noisy
@rurban rurban [cage] Do not generate a wrong docs/MANIFEST.generated 286d516
@rurban rurban [GH #887] Fix make testr --run-pbc for t/native_pbc/*.t
-r requires a -o output.pbc argument before, which is then run.
This works for t/native_pbc/header.t if we reorder the args, -r after -o.
But it currently fails for the integer/number/string tests, so skip it.
@rurban rurban [cage] Skip MANIFEST.generated is sorted, add tools/build/addgenerate…

Improve determine_need_for_manifest_skip() reporting, to print the missing MANIFEST file.
@rurban rurban [codingstd] cuddled_else in tools/build/ fcf06aa
@leto leto [TT #1589] Remove "." from default search paths INCLUDE, LIBRARY and …

Apply patch from soh_cah_toa++ with small tweaks and an extra test.

Before "." was at the top of the search paths, which implied a security risk.

The other possibility from [GH #368] would be to add "." to the end of the
search paths.

Test that . is not in the library search path, and that runtime/parrot/dynext
is searched.
TODO: Deprecation, docs.
@rurban rurban [GH #368] Move ./ from the beginning to the end of the library search…
… paths

Add examples/pir/libpaths.pir to show the various deficiences of our current
library search paths.
Duplicates, installed paths mixed up with temp. build paths.
@rurban rurban [t] Remove unneeded old 3rd argument from Parrot::Test::_pir_stdin_ou…
@rurban rurban [docs] Fix and add to pdd10_embedding.pod
library search paths are changable, and show how to do it
in pir pseudocode.
@rurban rurban [t][GH #368] Test library search paths
Currently tests 1-4 fails because of duplicates.
Only works on slash eq "/"
@rurban rurban [t][GH #368] Fix library search path tests
Works ok with the next commit to fix the duplicate
call to Parrot_lib_update_paths_from_config_hash.
@rurban rurban [GH #368] Fix duplicate library search paths
Remove the duplicate call to Parrot_lib_update_paths_from_config_hash()
from Parrot_api_set_configuration_hash().

  0  Parrot_lib_update_paths_from_config_hash (interp=0x412050) at src/library.c:214
  1  0x00007ffff7ab8d35 in Parrot_gbl_set_config_hash_interpreter (interp=0x412050) at src/global_setup.c:131
  2  0x00007ffff7ab8c54 in Parrot_set_config_hash_pmc (interp=0x412050, config=PMC<Hash> = {...}) at src/global_setup.c:98
  3  0x00007ffff7a99aca in Parrot_api_set_configuration_hash (interp_pmc=0x4dcb00, confighash=0x4e9a18) at src/embed/api.c:506
  4  0x0000000000402713 in Parrot_set_config_hash (interp_pmc=0x4dcb00) at src/parrot_config.c:3870
  5  0x000000000040175c in main (argc=2, argv=0x7fffffffe6b8) at frontend/parrot2/main.c:151
  0  Parrot_lib_update_paths_from_config_hash (interp=0x412050) at src/library.c:214
  1  0x00007ffff7a99ad9 in Parrot_api_set_configuration_hash (interp_pmc=0x4dcb00, confighash=0x4e9a18) at src/embed/api.c:507
  2  0x0000000000402713 in Parrot_set_config_hash (interp_pmc=0x4dcb00) at src/parrot_config.c:3870
  3  0x000000000040175c in main (argc=2, argv=0x7fffffffe6b8) at frontend/parrot2/main.c:151

Parrot_set_config_hash_pmc already calls Parrot_lib_update_paths_from_config_hash, no need to
call it again.
@rurban rurban Added ChangeLog for branch library_path-gh368 03d9524
@rurban rurban Set deprecation note for [GH #368], moved . to the end of the library…
… search paths
@rurban rurban Fixed header of last deprecation note fef6115
@rurban rurban [GH #368] t/library/lib_search_path.t: Enable win32, clarify specs e9f3c12
@rurban rurban Merge branch 'library_path-gh368'
Remove duplicate library search path entries, move "." from the beginning to
the end. [GH 368]
Added t/library/lib_search_path.t
@rurban rurban [GH #890] rename MANIFEST_configure.generated to MANIFEST.generated i…
…n .gitignore
@rurban rurban [GH #891] Implement genfiles replace_slashes for Makefiles
to fix win32 issues with cmd /c interaction. This enables now
ssh to a cygwin box and do cmd /c "call perlinit & perl & nmake smoke"
or do windows smokes from a cygwin crontab.
@rurban rurban Add ChangeLog line for merged rurban/win-replace_slashes-gh891 ae0e14b
@rurban rurban [cage] Fix t/src/checkdepend.t for replace_slashed windows makefiles 9e9fd4a
@rurban rurban [cage] Update MANIFEST.SKIP and MANIFEST for GH #368 43d0db8
@rurban rurban [GH #902] Add callcontext.pmc to pmc.num f3797fc
Commits on Dec 27, 2012
@rurban rurban [cage] rm MANIFEST.generated earlier on clean, not on realclean
We want to avoid duplicate entries in MANIFEST.generated
@rurban rurban [GH #844] Improve Configure steps reporting
Currently we have "yes"/"no", sometimes "done", "skipped" and some
steps report more.  Library checks report "no" or "yes, version".

This improve at least the library steps, which can be omitted
with --without-lib to print "skipped" instead of "no".
no could mean not requested or not found.
"not requested" (llvm) is harmonized to "skipped".

"done" is for steps with no other results than done.
Commits on Dec 28, 2012
@rurban rurban [codingstd] Fix (C) in lib_search_path.t, add DESC to examples/pir/li…
@rurban rurban add config.h deps to Makefile
I had the case of a missing pbcversion.h but a generated config.h.
Make it clear that these need to be generated.
Commits on Dec 31, 2012
@rurban rurban [cage][GH #890] Do not install test dynpmcs: foo,foo2,foo_group,rotes…

Do not install those headers nor shared libs
Commits on Jan 01, 2013
gerd switch the year output form 2012 to 2013 bfc0617
Commits on Jan 02, 2013
@rurban rurban [cage] GH #905 Do not add apple -Wno-long-double with custom --cc=
to avoid non-standard cc warnings about -Wno-long-double being ignored.
Also rename $flagsref to $flags.
@petdance petdance Rename local variable so it doesn't shadow a typedef in include/parro…
gerd switch the year output from 2012 to 2013 808db67
@rurban rurban [GH #906] Fix windows/cygwin location of LIBPARROT_SHARED to bin f0a1f9c
@rurban rurban [GH #903] Fix first MANIFEST.generated lines on i386, sun4, ppc
Add Parrot::Configure->add_to_generated() method, forwarding to Parrot::BuildUtil::add_to_generated,
used in some auto::cpu probes. Do not pollute the probes with use Parrot::BuildUtil.
@rurban rurban [GH #641] Renable line-directives for pmc
line directives point to the real errors in the original source.
The generated c file is sorted. Rather fix debugging problems if there are any.
@rurban rurban [GH #302] new config dynext_libs, new ENV var PARROT_DYNEXT, new add_…

On some systems a special library dir is in the cc library search, or added by -L to the libpath
but this path is missing from the loader configuration, so runtime dlopen attempts will fail.
Most prominently pcre on macports or fink, missing /opt/local/lib.
Hints may add a new key dynext_libs to add such a path to DYNEXT for loadlib.
Also provide a new PARROT_DYNEXT to manually set such paths for the runtime.
Add a helper function add_env_paths() to add multiple paths from an enviroment variable
to some library search path. Currently PARROT_INCLUDE and PARROT_LIBRARY only accept one path element.
(See #903)
@rurban rurban [GH #302] special windows fixes, path_guarantee_trailing_separator
windows adds ./ to dynext to be explicit about the windows loadlib order (which does this)
Ensure trailing_separator during configuration and init.
@rurban rurban [GH #302] more tests for single, multi or no add_env_path calls b5296ed
@rurban rurban [GH #302] reword last test 2e3af84
@rurban rurban [docs][GH #302] Revise lib_search_path.t docs, dynext library search …
@rurban rurban Merge branch 'rurban/pcre-dynext_libs-gh302' fa14122
@rurban rurban [GH #902] Support multiple paths in PARROT_LIBRARY, PARROT_INCLUDE
Fixed conflict:
@rurban rurban [GH #903] Rename dynext_libs to dynext_dirs
For consistency with the other config *dir entries.
Note that nqp also has now a --dynext-paths option.
@rurban rurban [docs] update pdd16_native_call.pod
Replace sig t by S (string).
@rurban rurban [examples] Update QT nci examples
Replace t by S, simplify PQt.cpp cmdline doc
@rurban rurban [GH #904] Add sigs for nci/QtHelloWorld to extra_thunks.nci 1b0c3c1
@rurban rurban [GH #904, #897] nci_thunk_gen v0.02: fix sig "p v", add declaration
Add test for bug #904. Wrong arguments for void sig.
void use empty arguments calls and do not need to handle call_object overhead.

[GH #897] Add declaration of the nci loader function, for the static nci
functions not yet.
@rurban rurban Fix src/nci/extra_thunks Makefile rules
Add ChangeLog for GH #897, #904
Follow the renaming of src/extra_nci_thunks.c to src/nci/extra_thunks.c to
check the proper dependencies.
@rurban rurban [GH #897] Use --dynext for src/glut_nci_thunks.c, fix decl, check --core
--core already has the two loader declarations in include/parrot/nci.h.
omit the duplicate dynext loader declaration, it was moved the the HEADERIZER section.
regenerate the core nci thunk c files,
do not warn on dups on glut_nci, there will be most likely duplicates, core should have none instead.
@rurban rurban Merge branch 'rurban/nci-void-gh904' 9540be4
@jkeenan jkeenan [config] Two variable renamings were apparently missed
during 241eeea on Jan
01 2013.  Correcting them.
@jkeenan jkeenan [codingstd] Remove trailing whitespace.
Also: update MANIFEST.SKIP.
Commits on Jan 03, 2013
@jkeenan jkeenan Update t/steps/auto tests to reflect change in 'results'. cdc9969
@rurban rurban [GH #904] Allow void as valid arg sig, fix nci_pv, add test
The previous nci_pv fix did compile, but not work, this sets up the call pmc properly.
@rurban rurban [codingstd] nci_test.c sig doc ead66e0
@rurban rurban [GH #851] Add pod_source_files to Parrot::Distribution and t/codingst…

This leads to several errors in the copyright.t tests
@rurban rurban [codingstd][GH #851] Adapt copyright.t tests to POD files
skip book chapters since they contain an extra README.pod
skip empty t/tools/install/testlib/docs
skip bad_format test for bundled lib/Pod/*.pod since they are (C) with same terms as Perl.
skip duplicate (C) tests in .pod as they usually have the header plus a COPYRIGHT paragraph
@rurban rurban [codingstd][GH #851] Add missing (C) lines to POD
Also update README_win32.pod content
@rurban rurban [codingstd] ext/*.pod need a copyright but it can be from someone else 6dd2377
@rurban rurban Merge branch 'rurban/pod-copyright-gh851' d6dcaf3
@rurban rurban [GH #886] stabilize t/pmc/task.t, wait for kill signal f8d3536
@rurban rurban Remove src/nci/core_thunks.c Makefile rule as it is cyclic dependent …
…on parrot

use bootstrap-nci only. It should be safe to keep since the src files are kept
in git, but too fragile.
@rurban rurban [cage] GH #908 clone const string for path_guarantee_trailing_separat…
@leto leto [doc] Remove hard tabs from ChangeLog 5d697e5
@rurban rurban [cage] do not delete src/nci/extra_thunks.c with make clean
This file is in git, even if it can be generated.
@rurban rurban [cage] Clarify comments about the library search path
"parrot/" is not included in the versiondir if the prefix already contains "/parrot"
Commits on Jan 04, 2013
@rurban rurban [cage] Improve _pir_stdin_output_slurp ./parrot vs parrot.exe ef57ae2
@rurban rurban Revert "[cage] Improve _pir_stdin_output_slurp ./parrot vs parrot.exe"
This reverts commit ef57ae2.
got: 'sh: .parrot.exe: command not found
@rurban rurban [t] Fix lib_search_path.t on windows (wrong sep) 85a4324
@rurban rurban [cage] ExceptioHandlers typo in callcontext.pmc pod 647eb44
@rurban rurban [cage] handle printing with invalid strings
Ignore Python Exception <type exceptions.LookupError> unknown encoding: null:

Strip struct attributes error to ""
  PMC<Null> = {[] = }, [ctx] = 0x0, [comp_flags] = 0, [arg_info] = 0x0, [outer_ctx] = 0x0}
@rurban rurban [docs] Add PARROT_DYNEXT, dynext_dirs to api.yaml
Link dynext_dirs and PARROT_DYNEXT to -X cmdline option.
See also t/library/lib_search_path.t
@rurban rurban Update docs/deprecations/deprecations.pod (4.12 => 5.0) f67b89a
Commits on Jan 05, 2013
@rurban rurban [codingstd] podchecker deprecations.pod
Apparently some pods are not checked with podchecker yet
@rurban rurban [GH #913] Handle windows backslashes in ops2c h guard generator
rurban/win-replace_slashes-gh891 for #891 enabled windows paths, handle them in ops2c also.
Thanks to Mark Solinski. msvc tests passed.
Commits on Jan 06, 2013
@rurban rurban deprecations: change . in libpath to moderate impact, mention nqp, ra…

Also prefer -L./ and -X./ over env variables.
@rurban rurban deprecations: change . in libpath to high
Everybody needs to change their builds and tests.
build systems need to change their build and tests to favor their new libraries
over already installed ones, to use absolute paths or add -L./ -X./.
Commits on Jan 07, 2013
@rurban rurban Whitespace alignment in Parrot::Docs::Section::Tests af349b9
@rurban rurban [GH #910] add Parrot::Install::sanitycheck_install
Check for some common possibly ungenerated
configure and make targets in MANIFEST.generated and die
with the appropriate error message. Suggest make clean or make reconfig then.
@rurban rurban [GH #910] make -s clean at perl to ensure fresh install 06933e5
@rurban rurban [GH #910] make clean on linux|darwin even without lib/Parrot/Config/G…
@rurban rurban [install] Remove duplicate wrong install_config.o [main]lib
We need only src/install_config.o [main]lib for mod_parrot
@rurban rurban [GH #910] install: Add all dynext libs with load_ext, all exes
More sanity checks.
Fixes select missing on windows, gziphandle without has_gzip,
mixed windows path slashes.
@rurban rurban Merge branch 'rurban/sanitycheck_install-gh910' acf5f3c
@rurban rurban [GH #899] Install generated MANIFESTs for all installed files
Into datadir, as MANIFEST, and MANIFEST.doc
@rurban rurban [GH #899] Fix and test for changed Parrot::Install::install_files() 6d1311e
@rurban rurban Add ChangeLog line for GH #899: Generate datadir/MANIFEST* for all in…
…stalled files
@rurban rurban [GH #897] Fix duplicate declaration of int_cb_D4 is invalid in C++ wa…

Do not declare them twice. Note that static and extern vars both do not work with our nci.
@rurban rurban Merge branch 'rurban/nci_test-dupldecl-gh897' b323780
@rurban rurban [GH #911] Provide strerror for unknown filehandle errors
Unify printed type: filehandle => FileHandle, to sync with generic Parrot_io_open
"Cannot open %s, no path", vtable->name errmsg.
@rurban rurban Merge branch 'rurban/fh-strerr-gh911' 8849ce5
@rurban rurban Add ChangeLog for GH #911: Add OS error messages to…
… error messages
Commits on Jan 09, 2013
@rurban rurban [spec] GH #909 Update the socket doc for read and recv for our new PO…
…SIX behaviour

Before parrot-4.10 the high-level read() returned the wanted amount of bytes.
Now it behaves the same as recv(), which means that up to bytes are returned

We might want to add a setsockopt(level, option, value) method.
@rurban rurban [GH #909] Add test for chunked socket read will return chunked parts.
@rurban rurban Merge branch 'rurban/socket-gh909' d265b1d
@rurban rurban Add api.yaml entry for GH #909>512) c348a0c
@rurban rurban Edit last api.yaml note, wrong ending single quote 0e55e66
@rurban rurban [GH #641] Fix wrong PCCMETHOD line-directives (only .c)
PCCMETHOD only emits .c level lines, no PMC level ones. This generates now
proper directives for all _nci_ methods.
Commits on Jan 10, 2013
@rurban rurban [codingstd] Add missing ChangeLog lines, fix socket.pmc line lengths c36fce9
@rurban rurban [GH #921] Fix tabs in src/dynpmc/Rules.mak cygwin/hpux
These missing tabs caused to miss the addgenerated lines for dynpmc libs.
@rurban rurban [GH #921] cygwin Fix Could not create //usr/local/share/parrot/4.11.0…

catdir with "" creates //.
@rurban rurban [GH #922] addgenerated dynpmc headers in make, not pmc2c
rakudo and nqp do not have to clean a generated MANIFEST.generated.
@rurban rurban [GH #893] add test for threaded say, mixup with \n
Test that for each say a \n is printed per thread.
Test it on a multi-core machine with

    watch prove -v t/op/say.t
@rurban rurban [GH #893] improve concurrent say. concat with \n, then puts
Provide better atomicity with threads. To avoid mixing strings with
newlines in most cases. This is not foolproof of course.
concat only if it will not extend the already allocated buffer to
avoid copying.
make bootstrap-ops for say
@rurban rurban [GH #893] Refactor better atomic say op: test for 80% success, concat…
… if the buflen < 80

Since even SREGs are constant, Parrot_str_concat will always create a copy. So allow small cheap copies.
@rurban rurban Merge branch 'rurban/threaded-say-gh893' 49a6dac
Commits on Jan 11, 2013
@rurban rurban [codingstd] cuddled else in t/op/say.t 3242725
@rurban rurban [GH #907] skip task.t until rurban/task.t-gh907 is merged 5874ae9
@rurban rurban add t/stress/threads.t for GH #880 and GH #875 756c6df
Commits on Jan 12, 2013
@rurban rurban [GH #880] Fixed 1st threads test, todo only with THREAD_DEBUG
It is not thread-safe on darwin.
@rurban rurban [codingstd] hard tab in t/stress/threads.t f08b160
@rurban rurban Rewrite native_pbc number converters and fix format errors
Fix wrong layout of intel 80-bit long double, it is 10-byte + 2/6 byte padding
in i386 resp. x86_64/itanium. Renamed to FLOATTYPE_10.
Older pbc contain a wrong floattype=2 for this format.
It only depends on the word size: on 32bit padded to 12 byte, on 64 to 16byte.
Fixed the header writer logic accordingly.

Add single float support FLOATTYPE_4.

Add detection of yet unsupported special ppc, mips and aix variants
and the official IEEE-754 __float128 (quad double) format, which only
Sparc64 supports.

Simplify endianizers on number converters to reduce complexity.
Use native byteswap.h if detected (not yet).
New and better number.pasm values.
@rurban rurban pre-calculate FLOATTYPE
FLOATTYPE is cpu dependent for long double. Better do that
in a config step, not at run-time.
Improve __float128 support.

@rurban rurban remove instable number
on 32-bit the highest number is printed differently
@rurban rurban rewrite tools/dev/mk_native_pbc
Support all possible floattypes, simplify logic
Remove bashism

@rurban rurban native_pbc: float 4 fixes, mk_native_pbc
floattype_4 needs some prev. undefined helpers
improve mk_native_pbc
regenerate 32-bit le pbc's

@rurban rurban adjust number.t to new floattypes, do not use %Qg 722404a
@rurban rurban native_pbc: update 8_le b1e308b
@rurban rurban fix mk_native_pbc syntax error f702104
@rurban rurban t/native_pbc/number_4_4_le.pbc added bc69816
@rurban rurban add native include/parrot/bswap.h and probe
probe for endian.h, byteswap.h or OSX header for
native bswap inline functions/macros.
@rurban rurban add HAS_FLOAT128 in config hash
__float128 is binary compatible to 16-bit big-endian sparc/s390
long double formats. Available since gcc 4.6
@rurban rurban Fix and improve bswap.h
Add missing libkern/OSByteOrder.h
Abstract macros into static inline functions
Use fast replacement macros
Use bswap in pf_items.c
@rurban rurban Fix byteswap.h and 64bit fallback macro
Forgot to define bswap macros with GNU byteswap.h
Fixed bswap_64 fallback.
@rurban rurban fix and optimize bswap
Also allow FLOATTYPE_16PPC, but this format seems to be double-double, not __float128
@rurban rurban Fix nvsize in config/auto/, number_4*_be pbcs
nvsize should be the same as numvalsize, probed in auto::sizes,
but not one of floatvalsize, doublevalsize or hugefloatvalsize.
E.g. with long double used and __float128 possible hugefloatvalsize
is 16

Add generated ppc pbcs
@rurban rurban Add ppc converters, add PF_floattype_names
Added and document converters, ppc needs intermediate helpers.
The ppc long double is the sum of two doubles stored one
after the other: double-double.
@rurban rurban t/native_pbc/number_4_10_le.pbc added cb38d23
@rurban rurban More converter fixes
Some ptr and logical errors.
such as use __float128 FLOATVAL for 16-byte nums, not long double.

Update some non-numeric pbcs

TODO: rounding
@rurban rurban no unneeded numval transforms 5e3de33
@rurban rurban pbc_dump -h: print floattype and floatsize e0e4c5c
@rurban rurban fix 16ppc readers, rounding not yet c882558
@rurban rurban Harmonize byteorder/ with bswap.h
Add ppc/darwin login (machine/endian.h)
@rurban rurban dabble with native_pbc number rounding on tests b65dc09
@rurban rurban fix bswap.h syntax error from prev commit 20c4ca2
@rurban rurban ppc native pbc updates 4a6a5d2
@rurban rurban fix size 4+8 bswap, fix dest arch in tests, fix 16PPC converters 84e8a30
@rurban rurban set auto::format back to prev imcc FLOATVAL_FMT values ead64f2
@rurban rurban probe for numeric sprintf formats
auto::format now tests stable round-strips for numbers
and decreases precision (does more rounding) until 5 digits.
Die if you only got 5 digits precision
@rurban rurban minor imcc initialization improvement fa9d8cb
@rurban rurban stabilize the number of compiled converters 0bae692
@rurban rurban forgot about cvt_num16ppc_num8
Check some other converters with the more stable FLOATTYPE also.
@rurban rurban More work on numeric precision probing and testing 51d5a17
@rurban rurban improve precision tests, improve cvt_num16_num8 precision
cvt_num16_num8 still gets only 3 digits right with 4.398046511104: 4.39217962522095
@rurban rurban update testmatrix for 16PPC, precision tests still not good 4841295
@rurban rurban native_pbc/header.t: FLOATTYPE_MAX is now 4 (16PPC) 9a2e313
@rurban rurban improve precision tests, looks quite sane now 504316f
@rurban rurban Better bitfiddling with the intel 63 normalize bit
cvt_num16_num10 clears now bit 63
cvt_num10_num16 tries to shift-copy the mantissa ignoring this bit

Test precision regex seems to be stable now.
@rurban rurban native numbers: document intel bit63 3f39715
@rurban rurban pf_items: keep const qualifiers 7304da7
@rurban rurban Configure probes for format, sizes, ranges and digits
Probe FLOATVAL_FMT/floatvalfmt with float round-trip precision tests.
Found that long double and __float128 on intel are
stable only with %17Lg. I.e. 17 digits precision in number-string round
trips. Do the precision test for all float types.

Also test for the cpp defines of ranges and DBL|FLT_DIG
(precision digits).

New config hash value for floatvaldig, the number of compiler
precision digits, which be different to the tested floatvalfmt.

Improved HAS_FLOAT128 detection.

Use HAS_INT64 instead of HAS_LONGLONG for bswap64.
@rurban rurban check for HAS_LONGLONG with Parrot_UInt8 cast, fix syntax error in te…
…mp. code
@rurban rurban fix various typos, use FLOATVAL_FMT directly in imcc 83e7482
@rurban rurban promote float to double va va_arg()...
intel and pcc does not support va_arg float arguments. Sounds weird but
so it is.
float still has problems
@rurban rurban fix cvt_num8_num4 db85b42
@rurban rurban test with precision (numcmp)
All tests pass now, just __float128 has problems printing certain numbers
properly. E.g. __float128 is probed for %.17Lg fmt, which prints 3.8
as 3.7999999999999998
@rurban rurban native_pbc/number_4_4_be.pbc added b6f608b
@rurban rurban display FLOATTYPE_? in myconfig f4bcfcc
@rurban rurban use PARROT_FLOATVAL_DIG for rounding, set i_quadmath ea71b07
@rurban rurban [GH #807] Refactor native_pbc endianness, bswap64. Add header argumen…
…t to converters

Convert endianness upfront does not work.
Some converters work on native floats, to do compiler casts. They
need to know the packfile byteorder.
Other bitfiddling converters work only on little-endian, so we also need
to know the packfile byteorder, and they also need to convert endianness
back to to the target format.

Refactor bswap64, as it only works with 64bit registers. Tested with HAS_INT64.
So there are two bswap64 API's, one for fast native conversion via a register
and one with two unsigned char * args, which might point to the same buffer,
for easier in-place conversion.

Added dummy ROUND_NUM_TO macro, which needs to round a long number down to the given
precision (when converting upwards). Can be done with sprintf, but need to find a
better way.

Simplify converter casts with unions.

Replace SWAB_12 with SWAB_10. TODO: Need to check the last two bytes.
@rurban rurban add t/native_pbc/number_8_4_le.pbc (it crashes on different ptrsizes) 33f1e19
@rurban rurban Improve number.t output (print desc)
Update testmatrix.
@rurban rurban [GH# 828] Avoid passsing non-double through va_list
va_list does not support float, long double nor __float128 on most systems.
Promote FLOATVAL to double to avoid that.
@rurban rurban [GH #828] Fix most tests for non-double floatval
Add more needed precisions to numeric tests, tested with intel long double.

Change a magic number in t/library/test_more.t 888.81<=>888.82 1e-2
  was not stable enough for intel long double

Fix src/dynoplibs/sys.ops doublesize to numvalsize. This only works for double.
@rurban rurban [GH #828] Optimize print_n/i and say_n/i
print_n/nc/i/ic and the say variants go through a full Parrot_io_printf with
3 va_start/va_end scenarios and a custom format string parser,
and through char* -> STRING->char* conversion until the fixed
FLOATVAL_FMT or INTVAL_FMT printf is done.
Just to print a single int or number.

This also lost precision for non-double floatval's - if cast to (double).
Now avoided.
@rurban rurban PF_fetch_number: revert union back to cast afccf44
@rurban rurban typo in cvt_num16ppc_num10 (d1 uninitialized) 0e5b46a
@rurban rurban Test::Builder::_normalize handle inf/nan 43c27ce
@rurban rurban Add _DIG defines to config.h, fix cvt_num8_num16, add -lquadmath
The __float128 cast does not work, so use snprintf and strtoflt128.
Add -lquadmath to gcc when i_quadmath succeeds.
Fixed ROUND_NUM_TO 3rd arguments with the new _DIG defines
@rurban rurban Add new 3arg fetch_buf_nn() converters, fix constness
The old fetch_buf_?e_nn() converters took only 2 args, but the
nv converters take now 3. So add intermediate inlined special versions.

Fixed a couple of remaining const'ness issues and bswap64 lines.

Hardcode "%.16g" for the strtoflt128 buf. Still does not work yet though.
@rurban rurban nci/libffi.c: check FLOATTYPE, not NUMVAL_SIZE
NUMVAL_SIZE is not good enough, esp. wrong for x86_64
@rurban rurban tools/dev/ create script for make number_tests 81203f4
@rurban rurban tools/dev/mk_native_pbc: reconfig if no parrot_config is found 6e752fd
@rurban rurban add new generated files tools/dev/testnumbers to .gitignore 2ed879d
@rurban rurban fix Makefile to call tools/dev/ 63b9fb4
@rurban rurban fix auto::byteorder probe on sys/byteorder.h
Silences probe on darwin and fixes probe on Solaris.
@rurban rurban {tools] Improve mk_native_pbc
Various minor improvements: add default args properly with --noconf
export *LD_LIBRARY_PATH if there is an already installed shared libparrot
do not conf if only make parrot_config is needed
@rurban rurban Update native_pbc testfiles: PBC 13.0 eef4ce3
@rurban rurban [GH #828] Fix print_n/i and say_n/i void return warnings 3d14c49
@rurban rurban fixme ChangeLog for packfile_fetch_nv_t a2435aa
@rurban rurban fix 8_10_le=>8_8_le converter
Do not memcpy 16 to 10.
@rurban rurban merge with native_pbc2 a00f45b
@rurban rurban do not warn on missing $ENV{TEST_PROG_ARGS} 4729308
@rurban rurban update native_pbc fingerprints to 4.11 cf8b989
@rurban rurban update some new _be native_pbc fingerprints to 4.11 also cb4af8f
@rurban rurban update _le native_pbc to 4.11 b03331a
@rurban rurban Update native_pbc/number matrix, disable non-updated tests 6bbb3b2