mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-26 05:49:27 +01:00
modules/compiler_vm: fix -noheaders; manually #including a header once again replaces default includes
This commit is contained in:
parent
e00ba2e62f
commit
eae16b14b8
@ -25,8 +25,8 @@ use PBot::Imports;
|
|||||||
# These are set by the /misc/update_version script
|
# These are set by the /misc/update_version script
|
||||||
use constant {
|
use constant {
|
||||||
BUILD_NAME => "PBot",
|
BUILD_NAME => "PBot",
|
||||||
BUILD_REVISION => 4390,
|
BUILD_REVISION => 4405,
|
||||||
BUILD_DATE => "2021-09-14",
|
BUILD_DATE => "2021-09-17",
|
||||||
};
|
};
|
||||||
|
|
||||||
sub initialize {}
|
sub initialize {}
|
||||||
|
@ -68,7 +68,11 @@ sub process_custom_options {
|
|||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
$self->add_option("-nomain") if $self->{code} =~ s/(?:^|(?<=\s))-nomain\s*//i;
|
$self->add_option("-nomain") if $self->{code} =~ s/(?:^|(?<=\s))-nomain\s*//i;
|
||||||
$self->add_option("-noheaders") if $self->{code} =~ s/(?:^|(?<=\s))-noheaders\s*//i;
|
|
||||||
|
if ($self->{code} =~ s/(?:^|(?<=\s))-noheaders\s*//i) {
|
||||||
|
$self->add_option("-noheaders");
|
||||||
|
$self->{no_gdb_extensions} = 1;
|
||||||
|
}
|
||||||
|
|
||||||
$self->{include_options} = "";
|
$self->{include_options} = "";
|
||||||
while ($self->{code} =~ s/(?:^|(?<=\s))-include\s+(\S+)\s+//) {
|
while ($self->{code} =~ s/(?:^|(?<=\s))-include\s+(\S+)\s+//) {
|
||||||
@ -99,7 +103,7 @@ sub pretty_format {
|
|||||||
|
|
||||||
sub preprocess_code {
|
sub preprocess_code {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->SUPER::preprocess_code;
|
$self->SUPER::preprocess_code(omit_prelude => 1);
|
||||||
|
|
||||||
my $default_prelude = exists $self->{options}->{'-noheaders'} ? '' : $self->{prelude};
|
my $default_prelude = exists $self->{options}->{'-noheaders'} ? '' : $self->{prelude};
|
||||||
|
|
||||||
@ -208,7 +212,7 @@ sub preprocess_code {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (not $self->{no_gdb_extensions} and $prelude !~ m/^#include <prelude.h>/mg) {
|
if (not exists $self->{options}->{'-noheaders'} and not $self->{no_gdb_extensions} and $prelude !~ m/^#include <prelude.h>/mg) {
|
||||||
$prelude .= "\n#include <prelude.h>\n";
|
$prelude .= "\n#include <prelude.h>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ sub pretty_format {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub preprocess_code {
|
sub preprocess_code {
|
||||||
my $self = shift;
|
my ($self, %opts) = @_;
|
||||||
|
|
||||||
if ($self->{only_show}) {
|
if ($self->{only_show}) {
|
||||||
print "$self->{code}\n";
|
print "$self->{code}\n";
|
||||||
@ -74,10 +74,6 @@ sub preprocess_code {
|
|||||||
close FILE;
|
close FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (exists $self->{prelude}) {
|
|
||||||
$self->{code} = "$self->{prelude}\n$self->{code}";
|
|
||||||
}
|
|
||||||
|
|
||||||
# replace \n outside of quotes with literal newline
|
# replace \n outside of quotes with literal newline
|
||||||
my $new_code = "";
|
my $new_code = "";
|
||||||
|
|
||||||
@ -133,6 +129,10 @@ sub preprocess_code {
|
|||||||
$new_code .= $ch;
|
$new_code .= $ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!$opts{omit_prelude} && exists $self->{prelude}) {
|
||||||
|
$self->{code} = "$self->{prelude}\n$self->{code}";
|
||||||
|
}
|
||||||
|
|
||||||
$self->{code} = $new_code;
|
$self->{code} = $new_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user