aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2015-04-21 11:36:56 +0200
committerXavier Leroy <xavier.leroy@inria.fr>2015-04-21 11:36:56 +0200
commit832685e5dc7c17c434146d353b60c2158e3edd11 (patch)
treeee2619ce53da5fb65f29686368ec878ed6160979
parent2f000451f48897bcfae9eda0eb7ed3bc9b1070af (diff)
downloadcompcert-kvx-832685e5dc7c17c434146d353b60c2158e3edd11.tar.gz
compcert-kvx-832685e5dc7c17c434146d353b60c2158e3edd11.zip
Cleanups and updates for extended asm.
-rw-r--r--arm/TargetPrinter.ml2
-rw-r--r--backend/CMparser.mly2
-rw-r--r--ia32/TargetPrinter.ml3
-rw-r--r--powerpc/TargetPrinter.ml3
-rw-r--r--test/regression/Makefile2
5 files changed, 5 insertions, 7 deletions
diff --git a/arm/TargetPrinter.ml b/arm/TargetPrinter.ml
index 85e3f919..c77572db 100644
--- a/arm/TargetPrinter.ml
+++ b/arm/TargetPrinter.ml
@@ -1004,7 +1004,7 @@ module Target (Opt: PRINTER_OPTIONS) : TARGET =
| EF_annot_val(txt, targ) ->
print_annot_val oc (extern_atom txt) args res
| EF_inline_asm(txt, sg, clob) ->
- fprintf oc "%s begin inline assembly\n" comment;
+ fprintf oc "%s begin inline assembly\n\t" comment;
PrintAnnot.print_inline_asm preg oc (extern_atom txt) sg args res;
fprintf oc "%s end inline assembly\n" comment;
5 (* hoping this is an upper bound... *)
diff --git a/backend/CMparser.mly b/backend/CMparser.mly
index bcfa4548..f62e05d4 100644
--- a/backend/CMparser.mly
+++ b/backend/CMparser.mly
@@ -60,7 +60,7 @@ let mkef sg toks =
if sg.sig_args = [] then raise Parsing.Parse_error;
EF_annot_val(intern_string txt, List.hd sg.sig_args)
| [EFT_tok "inline_asm"; EFT_string txt] ->
- EF_inline_asm(intern_string txt, sg)
+ EF_inline_asm(intern_string txt, sg, [])
| _ ->
raise Parsing.Parse_error
diff --git a/ia32/TargetPrinter.ml b/ia32/TargetPrinter.ml
index 09411fee..ca07a172 100644
--- a/ia32/TargetPrinter.ml
+++ b/ia32/TargetPrinter.ml
@@ -872,8 +872,7 @@ module Target(System: SYSTEM):TARGET =
| EF_annot_val(txt, targ) ->
print_annot_val oc (extern_atom txt) args res
| EF_inline_asm(txt, sg, clob) ->
- fprintf oc "%s begin inline assembly\n" comment;
- fprintf oc "\t";
+ fprintf oc "%s begin inline assembly\n\t" comment;
PrintAnnot.print_inline_asm preg oc (extern_atom txt) sg args res;
fprintf oc "%s end inline assembly\n" comment
| _ ->
diff --git a/powerpc/TargetPrinter.ml b/powerpc/TargetPrinter.ml
index 99e2479d..b05b29c0 100644
--- a/powerpc/TargetPrinter.ml
+++ b/powerpc/TargetPrinter.ml
@@ -651,8 +651,7 @@ module Target (System : SYSTEM):TARGET =
| Pbuiltin(ef, args, res) ->
begin match ef with
| EF_inline_asm(txt, sg, clob) ->
- fprintf oc "%s begin inline assembly\n" comment;
- fprintf oc "\t";
+ fprintf oc "%s begin inline assembly\n\t" comment;
PrintAnnot.print_inline_asm preg oc (extern_atom txt) sg args res;
fprintf oc "%s end inline assembly\n" comment
| _ ->
diff --git a/test/regression/Makefile b/test/regression/Makefile
index 206670b5..1ffe586c 100644
--- a/test/regression/Makefile
+++ b/test/regression/Makefile
@@ -36,7 +36,7 @@ TESTS_DIFF=NaNs
EXTRAS=annot1 commaprec expr2 expr3 expr4 extern1 funct2 funptr1 \
pragmas ptrs1 ptrs2 struct1 struct2 struct3 \
struct4 struct5 struct6 struct9 struct10 types1 seqops \
- singlefloats emptydecl
+ singlefloats emptydecl extasm
# Test known to fail
FAILURES=funct1