Mike Pagano
2011-Jul-20 17:56 UTC
[klibc] [PATCH 1/1] Modify --param support to include additional option
Later versions of gcc include an option in the form of --param=name=value. This patch adds support for this and continues to support the --param name=value option. Signed-off-by: Mike Pagano <mpagano at gentoo.org> --- klcc/klcc.in | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/klcc/klcc.in b/klcc/klcc.in index 711a832..5d00bfd 100644 --- a/klcc/klcc.in +++ b/klcc/klcc.in @@ -159,10 +159,17 @@ while ( defined($a = shift(@ARGV)) ) { # gcc options, that force preprocessing mode push(@ccopt, $a); $operation = 'E'; - } elsif ( $a eq '--param' ) { - push(@ccopt, $a); - push(@ccopt, shift(@ARGV)); - } elsif ( $a =~ /^-[gp]/ || $a eq '-p' ) { + } elsif ( $a =~ /(--param)[=]?/ ) { + # support --param name=value and --param=name=value + push(@ccopt, $1); + $a =~ /[=](.*)/; + my $val = $1; + if ( $a =~ /[=]/ ) { + push(@ccopt, $val); + } + else { + push(@ccopt, shift(@ARGV)); + } elsif ( $a =~ /^-[gp]/ || $a eq '-p' ) { # Debugging options to gcc push(@ccopt, $a); $debugging = 1; -- 1.7.3.4
maximilian attems
2011-Jul-29 08:38 UTC
[klibc] [PATCH 1/1] Modify --param support to include additional option
On Wed, 20 Jul 2011, Mike Pagano wrote:> Later versions of gcc include an option in the form of --param=name=value. This patch adds support for this and continues to support the --param name=value > option. > > Signed-off-by: Mike Pagano <mpagano at gentoo.org> > --- > klcc/klcc.in | 15 +++++++++++---- > 1 files changed, 11 insertions(+), 4 deletions(-) > > diff --git a/klcc/klcc.in b/klcc/klcc.in > index 711a832..5d00bfd 100644 > --- a/klcc/klcc.in > +++ b/klcc/klcc.in > @@ -159,10 +159,17 @@ while ( defined($a = shift(@ARGV)) ) { > # gcc options, that force preprocessing mode > push(@ccopt, $a); > $operation = 'E'; > - } elsif ( $a eq '--param' ) { > - push(@ccopt, $a); > - push(@ccopt, shift(@ARGV)); > - } elsif ( $a =~ /^-[gp]/ || $a eq '-p' ) { > + } elsif ( $a =~ /(--param)[=]?/ ) {shouldn't the match start with /^> + # support --param name=value and --param=name=value > + push(@ccopt, $1); > + $a =~ /[=](.*)/;as a rule of thumb I don't like this .* matching, can you try it differently? maybe split helps?> + my $val = $1; > + if ( $a =~ /[=]/ ) { > + push(@ccopt, $val); > + } > + else { > + push(@ccopt, shift(@ARGV)); > + } elsif ( $a =~ /^-[gp]/ || $a eq '-p' ) {why is that last line changed? was it whitespace damaged?> # Debugging options to gcc > push(@ccopt, $a); > $debugging = 1;thank you. -- maks
On Sun, Aug 07, 2011 at 03:30:41PM +0200, maximilian attems wrote:> On Wed, 03 Aug 2011, Mike Pagano wrote: > > > > > Later versions of gcc include an option in the form of --param=name=value. This patch adds support for this. > > > > Signed-off-by: Mike Pagano <mpagano at gentoo.org> > > Thank you very much for the demonstration and sorry that my > Perl got so rusty. Applied and pushed (will appear shortly). > > -- > maksThanks, Maks for the help. I appreciate the help you provided so we can iterate through the patches until we had the best possible one. Thanks, again! Mike
Possibly Parallel Threads
- [PATCH] support the gcc parameter --param in klcc
- [PATCH] klcc compatibility with gcc
- [PATCH] klcc --version is -V because -v is --verbose already (unbreak -v)
- [klibc:master] klcc: Treat CC, LD, STRIP as multiple words
- [PATCH 1/1] tests: Fix sscanf test where width = 1 and integer is negative