View Issue Details

IDProjectCategoryView StatusLast Update
0000695LDMud 3.3LPC Compiler/Preprocessorpublic2011-02-22 23:00
Reporterzesstra Assigned Tozesstra  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Target Version3.3.720Fixed in Version3.3.720 
Summary0000695: Missing base struct if base struct is empty.
DescriptionIn case of an empty base struct:
struct a_s {
};

struct b_s (a_s) {
    int m;
};

the compiler fails to set the .base pointer in the struct type of b_s. While that does not have any immediate consequences, I think, even empty base structs should be recorded as base structs.
TagsNo tags attached.

Activities

zesstra

2009-10-27 10:40

administrator   ~0001563

add_struct_member() sets pdef->type->base, when called with from_struct!=NULL. And that is (of course) only be done when there are members from the base struct from_struct to add...

Is there a reason not to set ->base in current_struct within opt_base_struct: (near line 6422 in prolang.y) instead of add_struct_member()?

zesstra

2009-11-01 17:29

administrator   ~0001580

I applied a patch doing this in r2788 for trunk. If that works, 3.3 should IMHO receive it as well.

zesstra

2010-01-24 12:20

administrator   ~0001697

Fixed in r2828 for 3.3.

Issue History

Date Modified Username Field Change
2009-10-27 10:13 zesstra New Issue
2009-10-27 10:14 zesstra Description Updated
2009-10-27 10:40 zesstra Note Added: 0001563
2009-11-01 17:29 zesstra Note Added: 0001580
2009-11-01 17:30 zesstra Status new => assigned
2009-11-01 17:30 zesstra Assigned To => zesstra
2010-01-24 12:20 zesstra Note Added: 0001697
2010-01-24 12:20 zesstra Status assigned => resolved
2010-01-24 12:20 zesstra Resolution open => fixed
2011-02-22 23:00 zesstra Fixed in Version => 3.3.720