* reset current_object_option when reading other symtables than

object declarations
This commit is contained in:
peter 2000-06-23 20:14:39 +00:00
parent 507e9ed065
commit de1083a9ed

View File

@ -329,6 +329,10 @@ unit pdecl;
maxsize,maxalignment,startvarrecalign,startvarrecsize : longint; maxsize,maxalignment,startvarrecalign,startvarrecsize : longint;
pt : ptree; pt : ptree;
begin begin
old_current_object_option:=current_object_option;
{ all variables are public if not in a object declaration }
if not is_object then
current_object_option:=[sp_public];
old_block_type:=block_type; old_block_type:=block_type;
block_type:=bt_type; block_type:=bt_type;
is_gpc_name:=false; is_gpc_name:=false;
@ -627,7 +631,6 @@ unit pdecl;
if not symdone then if not symdone then
begin begin
{ save object option, because we can turn of the sp_published } { save object option, because we can turn of the sp_published }
old_current_object_option:=current_object_option;
if (sp_published in current_object_option) and if (sp_published in current_object_option) and
(not((tt.def^.deftype=objectdef) and (pobjectdef(tt.def)^.is_class))) then (not((tt.def^.deftype=objectdef) and (pobjectdef(tt.def)^.is_class))) then
begin begin
@ -704,6 +707,7 @@ unit pdecl;
symtablestack^.dataalignment:=maxalignment; symtablestack^.dataalignment:=maxalignment;
end; end;
block_type:=old_block_type; block_type:=old_block_type;
current_object_option:=old_current_object_option;
end; end;
@ -1213,7 +1217,11 @@ unit pdecl;
end. end.
{ {
$Log$ $Log$
Revision 1.186 2000-06-18 18:11:32 peter Revision 1.187 2000-06-23 20:14:39 peter
* reset current_object_option when reading other symtables than
object declarations
Revision 1.186 2000/06/18 18:11:32 peter
* C record packing fixed to also check first entry of the record * C record packing fixed to also check first entry of the record
if bigger than the recordalignment itself if bigger than the recordalignment itself
* variant record alignment uses alignment per variant and saves the * variant record alignment uses alignment per variant and saves the