[m-dev.] trivial diff: layout generated code nicely (was: implement pragma export for MLDS backend)
Fergus Henderson
fjh at cs.mu.OZ.AU
Mon Jul 24 18:48:58 AEST 2000
On 12-Jul-2000, Peter Ross <petdr at cs.mu.OZ.AU> wrote:
>
> Implement `pragma export' for the MLDS backend.
I noticed a couple of problems with this change:
(a) the generated code is not as nicely formatted
as it could be
(b) the generated code sometimes (or often,
if you enable `--high-level-data')
contains type errors, which lead to warnings
from gcc and which could lead to errors from
other C compilers.
This is because the types of the arguments
in the exported function don't always match
the types of the arguments in the function
that it calls. The generated code should
contain casts to convert the arguments to
the right type.
The following diff fixes (a).
----------
Estimated hours taken: 0.5
compiler/mlds_to_c.m:
Ensure that the C code that we generate for
`pragma export' declarations is properly indented
and has spaces after the commas in argument lists.
Workspace: /home/pgrad/fjh/ws/hg
Index: compiler/mlds_to_c.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/mlds_to_c.m,v
retrieving revision 1.42
diff -u -d -r1.42 mlds_to_c.m
--- compiler/mlds_to_c.m 2000/07/20 10:39:30 1.42
+++ compiler/mlds_to_c.m 2000/07/24 08:07:56
@@ -380,6 +380,8 @@
{ PragmaExport = ml_pragma_export(_C_name, MLDS_Name, MLDS_Signature,
Context, IsFunc) },
mlds_output_pragma_export_func_name(ModuleName, Indent, PragmaExport),
+ io__write_string("\n"),
+ mlds_indent(Context, Indent),
io__write_string("{\n"),
mlds_indent(Context, Indent),
(
@@ -474,7 +476,7 @@
mlds_output_fully_qualified_name(qual(ModuleName, FuncName)),
io__write_string("("),
- io__write_list(QualNames, ",", mlds_output_fully_qualified_name),
+ io__write_list(QualNames, ", ", mlds_output_fully_qualified_name),
io__write_string(");\n").
%
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list