Skip to content

Commit

Permalink
Merge from master. Fix a conflict in IMCC with handling of automagic …
Browse files Browse the repository at this point in the history
…'self'. Add some comments too, to explain the code after the merge
  • Loading branch information
Whiteknight committed May 4, 2012
2 parents de203dd + 6c302cf commit d7856f8
Show file tree
Hide file tree
Showing 217 changed files with 6,969 additions and 5,472 deletions.
58 changes: 35 additions & 23 deletions .travis.yml
@@ -1,33 +1,45 @@
language: "perl"
perl:
# - "5.10"
- "5.14"
install: "echo"
before_script:
- sudo apt-get install libffi-dev libicu-dev libgmp3-dev clang llvm-dev liblocal-lib-perl zlib1g-dev gcc-multilib
- curl -L http://cpanmin.us | sudo perl - --self-upgrade
- export CI_USER=$USER
# - env
- mkdir ~/perl5 && perl -Mlocal::lib >> /tmp/local_lib_junk.sh && source /tmp/local_lib_junk.sh
- sudo chown -R $CI_USER ~/.cpanm
- sudo chown -R $CI_USER ~/perl5
- sudo apt-get install libffi-dev libicu-dev libgmp3-dev clang llvm-dev zlib1g-dev gcc-multilib
# No, we are not going to run the tests for all these dependencies on every commit
- cpanm -n TAP::Harness::Archive TAP::Harness::ReportByDescription
script: "perl Configure.pl --test=build $PARROT_CONFIG_ARGS $PARROT_OPTIMIZE --cc=\"$CC\" --link=\"$CC\" --ld=\"$CC\" --ccflags='-g' ; make $PARROT_TEST"
# branches:
# only:
# - master
- cpanm -n LWP::UserAgent TAP::Harness::Archive TAP::Harness::ReportByDescription
# This stuff used to be required, but was rolled into the Travis CI perl support.
# - curl -L http://cpanmin.us | sudo perl - --self-upgrade
# - export CI_USER=$USER
# - mkdir ~/perl5 && perl -Mlocal::lib >> /tmp/local_lib_junk.sh && source /tmp/local_lib_junk.sh
# - sudo chown -R $CI_USER ~/.cpanm
# - sudo chown -R $CI_USER ~/perl5

# Don't run Configure.pl tests, for now
#script: "perl Configure.pl --test=build $PARROT_CONFIG_ARGS $PARROT_OPTIMIZE --cc=\"$CC\" --link=\"$CC\" --ld=\"$CC\" --ccflags='-g' ; make $PARROT_TEST"

script: "perl Configure.pl $PARROT_CONFIG_ARGS $PARROT_OPTIMIZE --cc=\"$CC\" --link=\"$CC\" --ld=\"$CC\" --ccflags='-g' ; make $PARROT_TEST"

branches:
only:
- master
notifications:
recipients:
- duke@leto.net
- parrot-ci@lists.parrot.org
email:
on_success: change
on_failure: always
irc:
channels:
- "irc.parrot.org#parrot"
# - "irc.freenode.net#perl6"
on_success: change
on_failure: change
env:
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="--optimize" PARROT_TEST="smolder_fulltest" CC="clang"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="" PARROT_TEST="smolder_fulltest" CC="clang"
- PARROT_CONFIG_ARGS="--without-gettext --without-gmp --without-libffi --without-extra-nci-thunks --without-opengl --without-readline --without-pcre --without-zlib --without-threads --without-icu" PARROT_OPTIMIZE="" PARROT_TEST="smolder_fulltest" CC="clang"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="--optimize" PARROT_TEST="smolder_fulltest" CC="gcc"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="" PARROT_TEST="smolder_fulltest" CC="gcc"
- PARROT_CONFIG_ARGS="--without-gettext --without-gmp --without-libffi --without-extra-nci-thunks --without-opengl --without-readline --without-pcre --without-zlib --without-threads --without-icu" PARROT_OPTIMIZE="" PARROT_TEST="smolder_fulltest" CC="gcc"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="--optimize" PARROT_TEST="smolder_fulltest" CC="g++"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="" PARROT_TEST="smolder_fulltest" CC="g++"
- PARROT_CONFIG_ARGS="--without-gettext --without-gmp --without-libffi --without-extra-nci-thunks --without-opengl --without-readline --without-pcre --without-zlib --without-threads --without-icu" PARROT_OPTIMIZE="" PARROT_TEST="smolder_fulltest" CC="g++"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="--optimize" PARROT_TEST="smoke" CC="clang"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="" PARROT_TEST="smoke" CC="clang"
- PARROT_CONFIG_ARGS="--without-gettext --without-gmp --without-libffi --without-extra-nci-thunks --without-opengl --without-readline --without-pcre --without-zlib --without-threads --without-icu" PARROT_OPTIMIZE="" PARROT_TEST="smoke" CC="clang"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="--optimize" PARROT_TEST="smoke" CC="gcc"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="" PARROT_TEST="smoke" CC="gcc"
- PARROT_CONFIG_ARGS="--without-gettext --without-gmp --without-libffi --without-extra-nci-thunks --without-opengl --without-readline --without-pcre --without-zlib --without-threads --without-icu" PARROT_OPTIMIZE="" PARROT_TEST="smoke" CC="gcc"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="--optimize" PARROT_TEST="smoke" CC="g++"
- PARROT_CONFIG_ARGS="" PARROT_OPTIMIZE="" PARROT_TEST="smoke" CC="g++"
- PARROT_CONFIG_ARGS="--without-gettext --without-gmp --without-libffi --without-extra-nci-thunks --without-opengl --without-readline --without-pcre --without-zlib --without-threads --without-icu" PARROT_OPTIMIZE="" PARROT_TEST="smoke" CC="g++"
3 changes: 2 additions & 1 deletion CREDITS
Expand Up @@ -78,6 +78,7 @@ U: allison

N: Alvis Yardley
D: Documentation Shepherd (3.9.0 - Present)
D: Release manger for 4.1.0
E: ac.yardley@gmail.com
U: alvis
S: Ft. Worth, Texas
Expand Down Expand Up @@ -600,7 +601,7 @@ S: Ohio, USA
N: Jonathan "Duke" Leto
E: jonathan@leto.net
W: http://dukeleto.pl
D: Release manager for 1.7.0, 3.9.0, GCI/GSoC Org Admin/Mentor
D: Release manager for 1.7.0, 3.9.0,4.2.0 GCI/GSoC Org Admin/Mentor
U: dukeleto
A: leto
A: Duke Leto
Expand Down
69 changes: 65 additions & 4 deletions ChangeLog
@@ -1,10 +1,71 @@
2012-01-17 release 4.1.0
2012-04-17 release 4.3.0
- Core
+ Shared libraries and installable binaries are now stripped if built with
--optimize on Cygwin, which greatly reduces their size on disk
+ Winxed snapshot updated to 1.7.0
+ Add type introspection to lexical variables.
+ New 'tools/release/parrot_github_release.pl' script to automate
updates to the 'parrot.github.com' and 'parrot-docsx' repositories.
+ Numerous casting and consting fixes thanks to GCC 4.8 .
- Documentation
+ Revised 'docs/project/release_manager_guide.pod'
+ Updated 'docs/projects/release_manager_guide.pod'
+ Updated 'docs/projects/release_parrot_github_guide.pod'
+ Improved function documentation.
- Tests
- Community
- Platforms
+ Fixed alignment issues on ia64, sparc and mipsel.
+ Fixed a platform-specific issue with dlclose().

2012-03-20 release 4.2.0
- API Changes
+ The signature of getprop was changed from (PMC,String,PMC) to
(PMC, PMC,String) for consistency
- Core
+ Parrot Calling Conventions (pcc) now reuses Continuation PMCs
internally, which reduces GC work by 25% and improves
the fib.pir benchmark by 6%
+ Winxed snapshot updated to 1.6.devel 44a04cfa7b
+ Improved the detection of Clang-ish compilers during configuration
+ Fixed a possible segfault bug when reading packfiles with no
constants or main_sub
+ By default, Parrot has now elevated these GCC warnings to errors
during compile time:
implicit-function-declaration, undef, missing-braces,
nested externs, old-style-definition, strict-prototypes,
+ The OS Dynamic PMC now has separate functions to unlink a file
and remove an empty directory (rmdir)
+ Fix building on Cygwin due to an improperly named DLL file
+ Various small bug fixes pointed out by static and dynamic analysis
tools
- Branches
+ Work on M0 continues now in the m0 branch, which contains both
implementations (currently C and Perl) and specification.
+ Good progress has been made on the threads branch which builds
on the green_threads branch. This gets Parrot much closer to
being able to utilize multiple CPU cores seemlessly. More details
at http://niner.name/Hybrid_Threads_for_the_Parrot_VM.pdf
- Documentation
+ New release manager documentation for parrot.github.com :
http://git.io/parrot-github-guide
- Community
+ Parrot was accepted to Google Summer of Code 2012!
Ideas Page: http://git.io/parrot-gsoc-2012

2012-02-21 release 4.1.0
- Core
+ Shared libraries and installable binaries are now stripped if
built with --optimize on Cygwin, which greatly reduces their
size on disk
+ New experimental PCC-related ops added to core.
- Documentation
+ Revised 'docs/project/release_manager_guide.pod'
- Tests
+ Parrot now uses Travis CI http://travis-ci.org
+ Parrot Continuous Integration (CI) with Travis CI means
every commit of Parrot is now compiled and tested on gcc,
g++ and clang with various Configure.pl options.
+ CI Notifications are sent to parrot-dev, the #parrot
IRC channel and Smolder
+ Cardinal and Rakudo spec tests also on Travis CI

2012-01-17 release 4.0.0
- Core
Expand Down
13 changes: 7 additions & 6 deletions MANIFEST
Expand Up @@ -393,6 +393,7 @@ docs/project/hacking_tips.pod [doc]
docs/project/merge_review_guidelines.pod [doc]
docs/project/metacommitter_guide.pod [doc]
docs/project/release_manager_guide.pod [doc]
docs/project/release_parrot_github_guide.pod [doc]
docs/project/roles_responsibilities.pod [doc]
docs/project/support_policy.pod [doc]
docs/project/ticket_triaging.pod [doc]
Expand Down Expand Up @@ -475,10 +476,6 @@ examples/benchmarks/oo3.pir [examples]
examples/benchmarks/oo3.pl [examples]
examples/benchmarks/oo3.py [examples]
examples/benchmarks/oo3.rb [examples]
examples/benchmarks/oo4.pasm [examples]
examples/benchmarks/oo4.pl [examples]
examples/benchmarks/oo4.py [examples]
examples/benchmarks/oo4.rb [examples]
examples/benchmarks/oo5.pir [examples]
examples/benchmarks/oo5.pl [examples]
examples/benchmarks/oo5.py [examples]
Expand Down Expand Up @@ -1279,7 +1276,6 @@ src/ops/string.ops []
src/ops/sys.ops []
src/ops/var.ops []
src/packfile/api.c []
src/packfile/byteorder.h []
src/packfile/object_serialization.c []
src/packfile/output.c []
src/packfile/pf_items.c []
Expand Down Expand Up @@ -1468,6 +1464,7 @@ t/codingstd/c_parens.t [test]
t/codingstd/c_returns.t [test]
t/codingstd/c_struct.t [test]
t/codingstd/c_todo.t [test]
t/codingstd/case_sensitive_files.t [test]
t/codingstd/check_isxxx.t [test]
t/codingstd/check_toxxx.t [test]
t/codingstd/copyright.t [test]
Expand Down Expand Up @@ -1728,6 +1725,7 @@ t/manifest/03-regenerate_skip.t [test]
t/manifest/04-alt_file.t [test]
t/manifest/05-alt_skip.t [test]
t/manifest/README []doc
t/native_pbc/annotations.pbc [test]
t/native_pbc/header.t [test]
t/native_pbc/integer.pbc [test]
t/native_pbc/integer.t [test]
Expand All @@ -1753,6 +1751,7 @@ t/native_pbc/string_1.pbc [test]
t/native_pbc/string_2.pbc [test]
t/native_pbc/string_3.pbc [test]
t/native_pbc/string_4.pbc [test]
t/native_pbc/string_5.pbc [test]
t/native_pbc/string_6.pbc [test]
t/native_pbc/string_7.pbc [test]
t/native_pbc/testdata/README []doc
Expand Down Expand Up @@ -2160,6 +2159,7 @@ tools/dev/mk_rpm_manifests.pl []
tools/dev/nci_test_gen.pl []
tools/dev/nci_thunk_gen.pir []
tools/dev/ncidef2pir.pl []
tools/dev/new_changelog_skeleton.pl []
tools/dev/nopaste.pl []
tools/dev/parrot-config.pir []
tools/dev/parrot.supp []
Expand Down Expand Up @@ -2188,8 +2188,8 @@ tools/dev/vgp_darwin []
tools/dev/vms-patch []
tools/dev/vtablize.pl []
tools/docs/filename_and_chapter.pl []
tools/docs/mk_html_docs.pl []
tools/docs/mk_chm.pl []
tools/docs/mk_html_docs.pl []
tools/docs/ops_summary.pl []
tools/install/smoke.pl []
tools/install/smoke_languages.pl []
Expand All @@ -2199,6 +2199,7 @@ tools/release/crow.pir []
tools/release/cut.pl []
tools/release/gen_release_info.pl []
tools/release/inc_ver.pir []
tools/release/parrot_github_release.pl []
tools/release/release.json []
tools/release/releasecheck.pl []
tools/release/sha256sum.pl []
Expand Down
6 changes: 3 additions & 3 deletions MANIFEST.generated
@@ -1,14 +1,14 @@
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# Please re-sort this file after *EVERY* modification
blib/lib/libparrot.4.0.0.dylib [main]lib
blib/lib/libparrot.4.3.0.dylib [main]lib
blib/lib/libparrot.a [main]lib
blib/lib/libparrot.dylib [main]lib
blib/lib/libparrot.so [main]lib
blib/lib/libparrot.so.4.0.0 [main]lib
blib/lib/libparrot.so.4.3.0 [main]lib
compilers/data_json/data_json.pbc [data_json]
config/gen/call_list/opengl.in []
cygparrot4_0_0.dll [main]bin
cygparrot-4.3.0.dll [main]bin
docs/ops/bit.pod [doc]
docs/ops/cmp.pod [doc]
docs/ops/core.pod [doc]
Expand Down
12 changes: 8 additions & 4 deletions README
@@ -1,7 +1,7 @@
This is Parrot, version 4.0.0
This is Parrot, version 4.3.0
------------------------------

Parrot is Copyright (C) 2001-2011, Parrot Foundation.
Parrot is Copyright (C) 2001-2012, Parrot Foundation.


LICENSE INFORMATION
Expand Down Expand Up @@ -37,10 +37,14 @@ I. Install Git.
Linux:
The method depends on your distribution. To install you should execute (as root or sudo <cmd>):

On Ubuntu/Debian (apt-based):
On Ubuntu/Debian (old versions, apt-based):

apt-get install git-core

On Ubuntu/Debian (new versions, apt-based):

apt-get install git

On Red Hat, Fedora (rpm-based):

yum install git
Expand Down Expand Up @@ -148,7 +152,7 @@ CHANGES
-------

For documentation on the user-visible changes between this version and
previous versions, please see NEWS.
previous versions, please see ChangeLog.

MAILING LISTS
-------------
Expand Down
5 changes: 3 additions & 2 deletions RESPONSIBLE_PARTIES
Expand Up @@ -16,9 +16,9 @@ Architect Christoph Otto

Product Manager Andrew Whitworth

Project Manager
Project Manager ENOBODY

Community Manager Jonathan "Duke" Leto
Community Ambassador Jonathan "Duke" Leto

Release Manager Bob Rogers
Patrick Michaud
Expand All @@ -37,6 +37,7 @@ Release Manager Bob Rogers
Tyler Curtis
James E Keenan
Kevin Polulak
Alvis Yardley

Metacommitter Allison Randal
Jerry Gay
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
4.0.0
4.3.0
6 changes: 3 additions & 3 deletions compilers/imcc/cfg.c
Expand Up @@ -447,11 +447,11 @@ build_cfg(ARGMOD(imc_info_t *imcc), ARGMOD(IMC_Unit *unit))
/* Decouple unreachable blocks (not the first block, with no predecessors)
* from the CFG */
do {
unsigned int i;
unsigned int j;
changes = 0;

for (i = 1; i < unit->n_basic_blocks; i++) {
Basic_block * const bb = unit->bb_list[i];
for (j = 1; j < unit->n_basic_blocks; j++) {
Basic_block * const bb = unit->bb_list[j];

if (!bb->pred_list) {
/* Remove all successor edges of block bb */
Expand Down
4 changes: 3 additions & 1 deletion compilers/imcc/imcc.l
Expand Up @@ -789,8 +789,10 @@ destroy_frame(struct macro_frame_t *frame, void *yyscanner)
if (frame->heredoc_rest) {
mem_sys_free(frame->heredoc_rest);
frame->heredoc_rest = NULL;
} else
}
else {
ret = frame->s.line;
}

mem_sys_free(frame);

Expand Down
2 changes: 1 addition & 1 deletion compilers/imcc/imcc.y
Expand Up @@ -1019,7 +1019,7 @@ do_loadlib(ARGMOD(imc_info_t *imcc), ARGIN(const char *lib))
/* TODO: This is very ugly and heavily nested. Can we avoid this? */
if (!STRING_equal(imcc->interp,
VTABLE_get_string(imcc->interp,
VTABLE_getprop(imcc->interp, lib_pmc,
Parrot_pmc_getprop(imcc->interp, lib_pmc,
Parrot_str_new_constant(imcc->interp, "_type"))),
Parrot_str_new_constant(imcc->interp, "Ops")))
imcc_pbc_add_libdep(imcc, s);
Expand Down
4 changes: 3 additions & 1 deletion compilers/imcc/imclexer.c
Expand Up @@ -4987,8 +4987,10 @@ destroy_frame(struct macro_frame_t *frame, void *yyscanner)
if (frame->heredoc_rest) {
mem_sys_free(frame->heredoc_rest);
frame->heredoc_rest = NULL;
} else
}
else {
ret = frame->s.line;
}

mem_sys_free(frame);

Expand Down

0 comments on commit d7856f8

Please sign in to comment.