Skip to content

Commit

Permalink
Merge branch 'master' into rurban/clang++-gh844
Browse files Browse the repository at this point in the history
  • Loading branch information
Reini Urban committed Sep 25, 2012
2 parents 59b678a + 14fa643 commit 5b1e564
Show file tree
Hide file tree
Showing 34 changed files with 213 additions and 313 deletions.
27 changes: 21 additions & 6 deletions ChangeLog
@@ -1,11 +1,26 @@
2012-10-16 release 4.9.0 2012-10-16 release 4.9.0
- Core - Core
+ Keep encoding information in the imcc optimizer, which fixes the + Keep encoding information in the imcc optimizer, which fixes the
concat op but probably many more cases with non-ascii encoded concat op but probably many more cases with non-ascii encoded
constant strings. [GH #837] constant strings. [GH #837]
+ Fixed ByteBuffer set_string_native, which became out of sync with + Fixed ByteBuffer set_string_native, which became out of sync with
two internal buffers. [GH #835] 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 - Documentation
+ Cleaned up removed parrot cmdline options -D/-O/-v from --help output and
running.pod [GH #838]
- Tests - Tests
- Community - Community


Expand All @@ -20,7 +35,7 @@
+ Moved dynpmc/os to pmc os. loadlib 'os' is not needed anymore. + Moved dynpmc/os to pmc os. loadlib 'os' is not needed anymore.
- Platforms - Platforms
+ Fixed for the FileHandle open method the append mode on Windows. + 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. + Detect GNU/Hurd as linux proper.
+ Fixed broken int3 trap on Solaris with gcc. + Fixed broken int3 trap on Solaris with gcc.
+ Updated the vms port on a YAPC::EU hackathon with vaxman and mvorl. + Updated the vms port on a YAPC::EU hackathon with vaxman and mvorl.
Expand Down
4 changes: 2 additions & 2 deletions Configure.pl
Expand Up @@ -46,8 +46,8 @@
# do "b postpone stepname" # do "b postpone stepname"
if (defined &DB::DB) { if (defined &DB::DB) {
for my $step_name (@{ $steps_list_ref } ) { for my $step_name (@{ $steps_list_ref } ) {
eval "use $step_name;"; ## no critic (BuiltinFunctions::ProhibitStringyEval) eval "use $step_name;"; ## no critic (BuiltinFunctions::ProhibitStringyEval)
die $@ if $@; die $@ if $@;
} }
} }


Expand Down
26 changes: 18 additions & 8 deletions config/auto/warnings.pm
Expand Up @@ -239,9 +239,6 @@ sub _init {
'-Wno-unused-result' => [ qw( '-Wno-unused-result' => [ qw(
src/ops/core_ops.c src/ops/core_ops.c
) ], ) ],
'-Wno-parentheses-equality' => [ qw(
src/ops/core_ops.c
) ],
}; };


# Warning flags docs # Warning flags docs
Expand Down Expand Up @@ -289,6 +286,12 @@ sub _init {
$data->{'warnings'}{'icc'} = $icc; $data->{'warnings'}{'icc'} = $icc;
$data->{'warnings'}{'clang'} = $gcc; $data->{'warnings'}{'clang'} = $gcc;


$data->{'warnings'}{'clang'}->{'override'} = {
'-Wno-parentheses-equality' => [ qw(
src/ops/core_ops.c
) ],
};

## end gcc/g++ ## end gcc/g++


return $data; return $data;
Expand Down Expand Up @@ -324,6 +327,11 @@ sub runstep {
if ($conf->data->get('clang') and $compiler eq 'g++') { # clang++ if ($conf->data->get('clang') and $compiler eq 'g++') { # clang++
unshift @{$self->{'warnings'}{$compiler}{'basic'}}, unshift @{$self->{'warnings'}{$compiler}{'basic'}},
'-x c++'; '-x c++';
$self->{'warnings'}{$compiler}{'override'} = {
'-Wno-parentheses-equality' => [ qw(
src/ops/core_ops.c
) ],
};
} }


# standard warnings. # standard warnings.
Expand Down Expand Up @@ -362,11 +370,13 @@ sub runstep {
} }


if (exists $self->{'warnings'}{$compiler}{override}) { if (exists $self->{'warnings'}{$compiler}{override}) {
my %add = %{$self->{'warnings'}{$compiler}{override}}; my %add = %{$self->{'warnings'}{$compiler}{override}};
foreach my $warning (keys %add) { foreach my $warning (keys %add) {
foreach my $file (@{$add{$warning}}) { if ($self->valid_warning($conf, $warning)) {
$per_file{$file} = exists $per_file{$file} foreach my $file (@{$add{$warning}}) {
? [ @{$per_file{$file}}, $warning ] : [ @warnings, $warning ]; $per_file{$file} = exists $per_file{$file}
? [ @{$per_file{$file}}, $warning ] : [ @warnings, $warning ];
}
} }
} }
} }
Expand Down
20 changes: 12 additions & 8 deletions config/gen/makefiles/root.in
Expand Up @@ -735,10 +735,10 @@ src/string/private_cstring.h : $(STR_FILES) $(BUILD_TOOLS_DIR)/c2str.pl
H2INC = $(BUILD_TOOLS_DIR)/h2inc.pl H2INC = $(BUILD_TOOLS_DIR)/h2inc.pl


# classes PMC build utils and rules # classes PMC build utils and rules
PMC2C = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl @no_lines_flag@ PMC2C = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl @no_lines_flag@
PMC2CD = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --dump @no_lines_flag@ PMC2CD = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl --dump @no_lines_flag@
PMC2CC = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --c @no_lines_flag@ PMC2CC = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl --c @no_lines_flag@
PMC2CV = $(PERL) $(BUILD_TOOLS_DIR)/pmc2c.pl --vtable @no_lines_flag@ PMC2CV = $(PERL) -Ilib $(BUILD_TOOLS_DIR)/pmc2c.pl --vtable @no_lines_flag@


#.pmc.dump : # suffix rule (limited support) #.pmc.dump : # suffix rule (limited support)
# $(PMC2CD) $< # $(PMC2CD) $<
Expand Down Expand Up @@ -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 $(PERL) tools/build/gen_version.pl >$(RUN_INC_DIR)/parrot_version.pir
$(MINIPARROT) -I$(RUN_INC_DIR) config_lib.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) $(FRPTWO_DIR)/prt0.pbc : $(FRPTWO_DIR)/prt0.pir $(MINIPARROT)
$(MINIPARROT) -I$(RUN_INC_DIR) -o $(FRPTWO_DIR)/prt0.pbc $(FRPTWO_DIR)/prt0.pir $(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) $(FRPTWO_DIR)/prt0.pbc.c : $(FRPTWO_DIR)/prt0.pbc $(FRPTWO_DIR)/build.pir $(MINIPARROT)
$(MINIPARROT) $(FRPTWO_DIR)/build.pir $(FRPTWO_DIR)/prt0.pbc $(MINIPARROT) $(FRPTWO_DIR)/build.pir $(FRPTWO_DIR)/prt0.pbc



$(FRPTWO_DIR)/prt0.pbc$(O) : $(FRPTWO_DIR)/prt0.pbc.c \ $(FRPTWO_DIR)/prt0.pbc$(O) : $(FRPTWO_DIR)/prt0.pbc.c \
$(INC_DIR)/feature.h \ $(INC_DIR)/feature.h \
$(INC_DIR)/core_types.h \ $(INC_DIR)/core_types.h \
Expand All @@ -891,9 +898,6 @@ $(FRPTWO_DIR)/prt0.pbc$(O) : $(FRPTWO_DIR)/prt0.pbc.c \
$(INC_DIR)/api.h \ $(INC_DIR)/api.h \
$(INC_DIR)/config.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) \ $(PARROTOLD) : $(FRP_DIR)/main$(O) $(GEN_HEADERS) $(LIBPARROT) \
src/parrot_config$(O) src/longopt$(O) \ src/parrot_config$(O) src/longopt$(O) \
$(MINIPARROT) $(MINIPARROT)
Expand Down

0 comments on commit 5b1e564

Please sign in to comment.