Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
ef2d40e9
Commit
ef2d40e9
authored
May 15, 2006
by
Christian Würdig
Browse files
fixed bug: keep %% instead of translating it into a function
parent
a581e532
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/be/scripts/generate_emitter.pl
View file @
ef2d40e9
...
...
@@ -79,31 +79,34 @@ foreach my $op (keys(%nodes)) {
}
# substitute all format parameter
while
(
$template
=~
/\%([ASDX])(\d)|\%([COM])|\%(\w+)/
)
{
while
(
$template
=~
/
(\%\%)|
\%([ASDX])(\d)|\%([COM])|\%(\w+)/
)
{
$res
.=
$`
;
# get everything before the match
if
(
$
1
&&
$
1
eq
"
S
")
{
if
(
$
1
)
{
$res
.=
"
%%
";
}
elsif
(
$
2
&&
$
2
eq
"
S
")
{
push
(
@params
,
"
n
");
$res
.=
"
%
"
.
$
2
.
"
S
";
# substitute %Sx with %xS
$res
.=
"
%
"
.
$
3
.
"
S
";
# substitute %Sx with %xS
}
elsif
(
$
1
&&
$
1
eq
"
D
")
{
elsif
(
$
2
&&
$
2
eq
"
D
")
{
push
(
@params
,
"
n
");
$res
.=
"
%
"
.
$
2
.
"
D
";
# substitute %Dx with %xD
$res
.=
"
%
"
.
$
3
.
"
D
";
# substitute %Dx with %xD
}
elsif
(
$
1
&&
$
1
eq
"
X
")
{
elsif
(
$
2
&&
$
2
eq
"
X
")
{
push
(
@params
,
"
n
");
$res
.=
"
%
"
.
$
2
.
"
X
";
# substitute %Xx with %xX
$res
.=
"
%
"
.
$
3
.
"
X
";
# substitute %Xx with %xX
}
elsif
(
$
1
&&
$
1
eq
"
A
")
{
push
(
@params
,
"
get_irn_n(n,
"
.
(
$
2
-
1
)
.
"
)
");
elsif
(
$
2
&&
$
2
eq
"
A
")
{
push
(
@params
,
"
get_irn_n(n,
"
.
(
$
3
-
1
)
.
"
)
");
$res
.=
"
%+F
";
}
elsif
(
$
3
)
{
elsif
(
$
4
)
{
push
(
@params
,
"
n
");
$res
.=
"
%
"
.
$
3
;
$res
.=
"
%
"
.
$
4
;
}
elsif
(
$
4
)
{
# backend provided function to call, has to return a string
push
(
@params
,
$
4
.
"
(n, env)
");
elsif
(
$
5
)
{
# backend provided function to call, has to return a string
push
(
@params
,
$
5
.
"
(n, env)
");
$res
.=
"
\
%s
";
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment