Permalink
Browse files

Merge branch 'master' into rurban/clang++-gh844

  • Loading branch information...
2 parents 59b678a + 14fa643 commit 5b1e564bd37e2541ef3c8572615ababf98e94cf0 Reini Urban committed Sep 25, 2012
View
@@ -1,11 +1,26 @@
2012-10-16 release 4.9.0
- Core
- + Keep encoding information in the imcc optimizer, which fixes the
- concat op but probably many more cases with non-ascii encoded
- constant strings. [GH #837]
- + Fixed ByteBuffer set_string_native, which became out of sync with
- two internal buffers. [GH #835]
+ + Keep encoding information in the imcc optimizer, which fixes the
+ concat op but probably many more cases with non-ascii encoded
+ constant strings. [GH #837]
+ + Fixed ByteBuffer set_string_native, which became out of sync with
+ two internal buffers. [GH #835]
+ + Preload Configure steps when called with perl -d Configure.pl
+ + Strip unneeded config keys from installed config hash. Saves 6360
+ bytes from every installed executable.
+ - Build
+ + Improved warnings for clang.
+ + Cleaned wrong UNUSED(arg) macros in all pmc's due to an improved
+ pmc2c compiler, which SHIMs all UNUSED args. [GH #836]
+ - Branches
+ + The threads branch is almost ready to be merged. Some remaining races
+ have been fixed. There are only some remaining platforms errors on
+ darwin/x86.
+ - Libraries
+ + Fixed Mime/Base64 encode_base64. Split long lines at 76 chars [GH #826]
- Documentation
+ + Cleaned up removed parrot cmdline options -D/-O/-v from --help output and
+ running.pod [GH #838]
- Tests
- Community
@@ -20,7 +35,7 @@
+ Moved dynpmc/os to pmc os. loadlib 'os' is not needed anymore.
- Platforms
+ Fixed for the FileHandle open method the append mode on Windows.
- + Fix compilation on Windows without working mt.exe
+ + Fix compilation on Windows without working mt.exe
+ Detect GNU/Hurd as linux proper.
+ Fixed broken int3 trap on Solaris with gcc.
+ Updated the vms port on a YAPC::EU hackathon with vaxman and mvorl.
View
@@ -46,8 +46,8 @@
# do "b postpone stepname"
if (defined &DB::DB) {
for my $step_name (@{ $steps_list_ref } ) {
- eval "use $step_name;"; ## no critic (BuiltinFunctions::ProhibitStringyEval)
- die $@ if $@;
+ eval "use $step_name;"; ## no critic (BuiltinFunctions::ProhibitStringyEval)
+ die $@ if $@;
}
}
@@ -239,9 +239,6 @@ sub _init {
'-Wno-unused-result' => [ qw(
src/ops/core_ops.c
) ],
- '-Wno-parentheses-equality' => [ qw(
- src/ops/core_ops.c
- ) ],
};
# Warning flags docs
@@ -289,6 +286,12 @@ sub _init {
$data->{'warnings'}{'icc'} = $icc;
$data->{'warnings'}{'clang'} = $gcc;
+ $data->{'warnings'}{'clang'}->{'override'} = {
+ '-Wno-parentheses-equality' => [ qw(
+ src/ops/core_ops.c
+ ) ],
+ };
+
## end gcc/g++
return $data;
@@ -324,6 +327,11 @@ sub runstep {
if ($conf->data->get('clang') and $compiler eq 'g++') { # clang++
unshift @{$self->{'warnings'}{$compiler}{'basic'}},
'-x c++';
+ $self->{'warnings'}{$compiler}{'override'} = {
+ '-Wno-parentheses-equality' => [ qw(
+ src/ops/core_ops.c
+ ) ],
+ };
}
# standard warnings.
@@ -362,11 +370,13 @@ sub runstep {
}
if (exists $self->{'warnings'}{$compiler}{override}) {
- my %add = %{$self->{'warnings'}{$compiler}{override}};
- foreach my $warning (keys %add) {
- foreach my $file (@{$add{$warning}}) {
- $per_file{$file} = exists $per_file{$file}
- ? [ @{$per_file{$file}}, $warning ] : [ @warnings, $warning ];
+ my %add = %{$self->{'warnings'}{$compiler}{override}};
+ foreach my $warning (keys %add) {
+ if ($self->valid_warning($conf, $warning)) {
+ foreach my $file (@{$add{$warning}}) {
+ $per_file{$file} = exists $per_file{$file}
+ ? [ @{$per_file{$file}}, $warning ] : [ @warnings, $warning ];
+ }
}
}
}
@@ -735,10 +735,10 @@ src/string/private_cstring.h : $(STR_FILES) $(BUILD_TOOLS_DIR)/c2str.pl
H2INC = $(BUILD_TOOLS_DIR)/h2inc.pl
# classes PMC build utils and rules
-PMC2C = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl @no_lines_flag@
-PMC2CD = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --dump @no_lines_flag@
-PMC2CC = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --c @no_lines_flag@
-PMC2CV = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --vtable @no_lines_flag@
+PMC2C = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl @no_lines_flag@
+PMC2CD = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl --dump @no_lines_flag@
+PMC2CC = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl --c @no_lines_flag@
+PMC2CV = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl --vtable @no_lines_flag@
#.pmc.dump : # suffix rule (limited support)
# $(PMC2CD) $<
@@ -876,13 +876,20 @@ $(RUN_INC_DIR)/config.fpmc : myconfig config_lib.pir \
$(PERL) tools/build/gen_version.pl >$(RUN_INC_DIR)/parrot_version.pir
$(MINIPARROT) -I$(RUN_INC_DIR) config_lib.pir > $@
+
+bootstrap-prt0: $(WINXED) $(FRPTWO_DIR)/prt0.winxed
+ $(WINXED) --noan -c $(FRPTWO_DIR)/prt0.winxed
+
+# Circular dependencies winxed.pbc <- parrot and more
+$(FRPTWO_DIR)/prt0.pir: $(FRPTWO_DIR)/prt0.winxed
+ @echo "$@ out of date. Need to call: make parrot bootstrap-prt0"
+
$(FRPTWO_DIR)/prt0.pbc : $(FRPTWO_DIR)/prt0.pir $(MINIPARROT)
$(MINIPARROT) -I$(RUN_INC_DIR) -o $(FRPTWO_DIR)/prt0.pbc $(FRPTWO_DIR)/prt0.pir
$(FRPTWO_DIR)/prt0.pbc.c : $(FRPTWO_DIR)/prt0.pbc $(FRPTWO_DIR)/build.pir $(MINIPARROT)
$(MINIPARROT) $(FRPTWO_DIR)/build.pir $(FRPTWO_DIR)/prt0.pbc
-
$(FRPTWO_DIR)/prt0.pbc$(O) : $(FRPTWO_DIR)/prt0.pbc.c \
$(INC_DIR)/feature.h \
$(INC_DIR)/core_types.h \
@@ -891,9 +898,6 @@ $(FRPTWO_DIR)/prt0.pbc$(O) : $(FRPTWO_DIR)/prt0.pbc.c \
$(INC_DIR)/api.h \
$(INC_DIR)/config.h
-bootstrap-prt0: $(WINXED) $(FRPTWO_DIR)/prt0.winxed
- $(WINXED) --noan -c $(FRPTWO_DIR)/prt0.winxed
-
$(PARROTOLD) : $(FRP_DIR)/main$(O) $(GEN_HEADERS) $(LIBPARROT) \
src/parrot_config$(O) src/longopt$(O) \
$(MINIPARROT)
Oops, something went wrong.

0 comments on commit 5b1e564

Please sign in to comment.