Bugs item #2894927, was opened at 2009-11-10 01:13
Message generated for change (Settings changed) made by stmane
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=2894927&group_id=56967
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Build
Group: buildtools "stable"
>Status: Closed
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Stefan Manegold (stmane)
Assigned to: Sjoerd Mullender (sjoerd)
Summary: Mx: @include does not write any "#line" directives
Initial Comment:
With "@include", Mx does not write any "#line# directives into the (C-) output
file.
Consequently, tools like debuggers (e.g., gdb) or Coverity do point to
incorrect source code lines for all .mx files that use @include (e.g., most of
the C code of the M5 back-end).
A simple example:
========
$ cat x.mx
@f x
@c
x3
x4
@include y.mx
x6
x7
@include z.mx
x9
x10
@:zf@
x12
========
$ cat y.mx
y1
y2
========
$ cat z.mx
@= zf
z2
z3
@c
========
$ Mx -c x.mx
x.mx: ./x.c - not modified
========
The incorrect output
--------
$ cat x.c
#line 3 "x.mx"
x3
x4
y1
y2
x6
x7
#line 10 "x.mx"
x9
x10
#line 10 "x.mx"
z2
z3
#line 12 "x.mx"
x12
========
Diff between incorrect (left) and correct/expected (right) output.
--------
$ diff -y -W30 x.c x.c.expected
#line 3 "x.mx #line 3 "x.mx
x3 x3
x4 x4
> #line 1 "y.mx
y1 y1
y2 y2
> #line 6 "x.mx
x6 x6
x7 x7
#line 10 "x.m | #line 9 "x.mx
x9 x9
x10 x10
#line 10 "x.m | #line 2 "z.mx
z2 z2
z3 z3
#line 12 "x.m | #line 11 "x.m
x12 x12
========
I tried to fix this, but turned out not to be familiar enough with the Mx code
to do it "quickly".
Hence, this report to document the status until I (or someone else) manages to
fix this.
----------------------------------------------------------------------
>Comment By: Stefan Manegold (stmane)
Date: 2009-11-10 16:41
Message:
Given the code base of Mx and the way it handles @include commands (very
differently than all other @-commands), I'm more than satisfied with
Sjoerd's fix:
===================================================================
2009/11/10 - sjoerd: buildtools/Mx/Def.c,1.9.8.1
buildtools/Mx/Io.c,1.11.8.2
buildtools/Mx/Mx.c,1.10.8.1 buildtools/Mx/MxFcnDef.h,1.8.8.1
Deal better with @include.
To get the best results, an included file should start with a "block"
(@-command), and after the @include should also come a new "block" (@
command).
===================================================================
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=2894927&group_id=56967
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Monetdb-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs