rdmd & exception def & multiple files

Charles Hixson charleshixsn at earthlink.net
Thu Aug 30 20:52:15 PDT 2012


On 08/30/2012 09:17 AM, Dmitry Olshansky wrote:
> On 30-Aug-12 09:40, Charles Hixson wrote:
>> On 08/29/2012 06:46 PM, Andrei Alexandrescu wrote:
>>> On 8/29/12 4:52 PM, Charles Hixson wrote:
>>>> On 08/29/2012 04:15 PM, Andrei Alexandrescu wrote:
>>>>> On 8/29/12 3:47 PM, Charles Hixson wrote:
>>>>>> Where should I look to better understand
>>>>>> rdmd? I expected to need to list all the local files that were
>>>>>> needed,
>>>>>> but clearly that's the wrong approach.
>>>>>
>>>>> http://dlang.org/rdmd.html
>>>>>
>>>>> To my surprise, it's not in the top Google search results. However,
>>>>> Dmitry's shadow page is: http://blackwhale.github.com/rdmd.html
>>>>>
>>>>> Andrei
>>>> Thank you. Unfortunately, that page doesn't address the symptoms that
>>>> I've been experiencing, which while they don't halt development
>>>> certainly confuse it.
>>>>
>>>> It's starting to look as if while I use rdmd I'll need to keep
>>>> everything in one file, as otherwise I can't share exceptions between
>>>> classes. (And I'm only guessing that the problem is limited to
>>>> exceptions, as I haven't tested with other functions.)
>>>>
>>>> Since the small test programs DO call successfully between different
>>>> files (including for exceptions) I don't really have a clue as to
>>>> what's
>>>> going on, except that it appears to happen during linking. And
>>>> combining
>>>> the routines into one file appears to "fix" the problem. And that dmd
>>>> doesn't seem to have the same problem. (I.e., if I add a dummy main
>>>> routine to the avl.d file, then
>>>> dmd -unittest avl.d utils.d
>>>> compiles and executes without problems, even though it doesn't do
>>>> anything.
>>>
>>> You should be able to use rdmd for that dependency pattern, and if not
>>> there's a bug in it. However, nobody can work on that without a test
>>> case.
>>>
>>> Andrei
>>>
>>
>> The only one I have is about 450 lines long. If you want I could send
>> it to you. (I probably shouldn't just post it.)
>
> This is the place to report bugs (including big and obscure ones):
> http://d.puremagic.com/issues/
>
> The only requirement is to clear reproducible problem statement like
> this command fails with this on dmd version xx.
>
> As for size, well there is dustmite test case reduction tool that
> sometimes does miracles.
>
Perhaps I don't know enough to file a decent bug report...at least when 
I can't reduce the test case that shows it significantly.

I think you know a lot more than I do.  E.g., "dustmite test case 
reduction" doesn't mean much of anything to me.  Google, as expected, 
leads me to a bunch of adds for insect control.  (Well, not literally, 
as mites aren't insects.)  Even though Google had to add a space into 
dustmite and ignore the search term "computer program".  I can sort of 
tell what you mean from context, but "sort of" doesn't lead to an idea 
of how to proceed.

(FWIW, even debuggers are tools that I'm rather unfamiliar with.  I 
generally finesse that by using print statements.  But anything fancier 
and I don't even understand the terminology.  I may have programmed 
Fortran on 7094 IBSYS, but I came to D from Python and Ruby, and I've 
never learned the compiler code tools on Linux.  I'd have better luck 
debugging CDC Fortran...and that's 3-4 decades ago.)


More information about the Digitalmars-d-learn mailing list