notice alignment in byval params
This commit is contained in:
Родитель
e18b0b100a
Коммит
db57539c27
|
@ -520,7 +520,7 @@ function JSify(data, functionsOnly, givenFunctions) {
|
|||
var type = removePointing(param.type);
|
||||
var typeInfo = Types.types[type];
|
||||
func.JS += ' var tempParam = ' + param.ident + '; ' + param.ident + ' = ' + RuntimeGenerator.stackAlloc(typeInfo.flatSize) + ';' +
|
||||
makeCopyValues(param.ident, 'tempParam', typeInfo.flatSize, 'null', null, 1) + ';\n';
|
||||
makeCopyValues(param.ident, 'tempParam', typeInfo.flatSize, 'null', null, param.byVal) + ';\n';
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -314,12 +314,14 @@ function parseParamTokens(params) {
|
|||
var segment = params.slice(0, i);
|
||||
params = params.slice(i+1);
|
||||
segment = cleanSegment(segment);
|
||||
var byVal = false;
|
||||
var byVal = 0;
|
||||
if (segment[1] && segment[1].text === 'byval') {
|
||||
// handle 'byval' and 'byval align X'
|
||||
byVal = true;
|
||||
// handle 'byval' and 'byval align X'. We store the alignment in 'byVal'
|
||||
byVal = QUANTUM_SIZE;
|
||||
segment.splice(1, 1);
|
||||
if (segment[1] && segment[1].text === 'align') {
|
||||
assert(isNumber(segment[2].text));
|
||||
byVal = parseInt(segment[2].text);
|
||||
segment.splice(1, 2);
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче