Changeset 120 in dev for BasicCompiler32/Compile_Var.cpp
- Timestamp:
- May 13, 2007, 8:50:04 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/Compile_Var.cpp
r116 r120 1104 1104 if( pVar->IsStruct() ){ 1105 1105 int alignment = pVar->GetClass().iAlign; 1106 1106 1107 if( alignment ){ 1107 1108 if( AllLocalVarSize % alignment ){ 1108 1109 AllLocalVarSize += alignment - (AllLocalVarSize % alignment); 1110 } 1111 } 1112 1113 if( alignment == PTR_SIZE*2 ){ 1114 // ポインタに要するサイズよりも一回り大きなアラインメントが指定されているとき 1115 // (例:CONTEXT構造体など) 1116 // 呼び出し側のオフセットズレを考慮する 1117 1118 if( 0 == ( UserProc::CompilingUserProc().RealParams().GetMemorySize() + PTR_SIZE/*ret分*/ ) % alignment ){ 1119 AllLocalVarSize += PTR_SIZE; 1109 1120 } 1110 1121 }
Note:
See TracChangeset
for help on using the changeset viewer.