[M3devel] invalid trees, debugging

Jay K jay.krell at cornell.edu
Sun Sep 12 00:02:45 CEST 2010


So, when you configure -enable-checking, you get lots of errors.
This should have been done all along and now we have dug a hole for ourselves to get out of.
Some of them I've fixed, some of them I've hacked to warnings for now.
They should all be fixed.
The errors from -enable-checking have helped me, I believe, restore inlining.
   I haven't finished testing these changes or commited them yet.
   It looks like, in particular, we weren't forming RETURN_EXPR correctly.
   It looks like they don't like merely the NOP_EXPR we wrap the store with.


I was also running afoul of the gcc garbage collector.
That might have been the bigger problem, recent, my fault.


Anyway, some of the errors are related to the debugging information.
I repeat, again, my belief, that the "normal" way of outputing debugging information, is
to do nothing, except create well formed, well typed trees.
That lets any debug format work.
The way as I understand cm3cg works is by tunneling custom information on the side.
 At least for types. Granted, for line numbers it does the right thing -- good data.


Here is an example where the debugging information is wierd:

../src/M3x86.m3: In function 'M3x86__start_int_proc':
../src/M3x86.m3:3291:0: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have function_type in compute_record_mode, at stor-layout.c:1559
Please submit a full bug report,


I'm using I386_DARWIN currently and m3gdb doesn't build here.
At least for that reason, I'm not likely to test m3gdb.
In some cases I might migt might downgrade the experience with it, to fix these errors.
I kind of suspect there is a way to tunnel the information without breaking configure -enable-checking.
But I'm not sure.


Hopefully this is ok.
If people insist I can turn off the checking again on my machine and just proceed with the fixes I have.


 - Jay
 		 	   		  


More information about the M3devel mailing list