Merge remote-tracking branch 'origin/3.2'

Change-Id: Ifa095e8503bc9bf47389d34251301cae67a944f8
This commit is contained in:
Eike Ziller
2014-07-11 16:08:17 +02:00
127 changed files with 1960 additions and 1579 deletions

View File

@@ -1095,20 +1095,24 @@ Function *Bind::lambdaDeclarator(LambdaDeclaratorAST *ast)
Function *fun = control()->newFunction(0, 0);
fun->setStartOffset(tokenAt(ast->firstToken()).utf16charsBegin());
fun->setEndOffset(tokenAt(ast->lastToken() - 1).utf16charsEnd());
FullySpecifiedType type;
if (ast->trailing_return_type)
_type = this->trailingReturnType(ast->trailing_return_type, _type);
fun->setReturnType(_type);
type = this->trailingReturnType(ast->trailing_return_type, type);
ast->symbol = fun;
// unsigned lparen_token = ast->lparen_token;
FullySpecifiedType type;
this->parameterDeclarationClause(ast->parameter_declaration_clause, ast->lparen_token, fun);
// unsigned rparen_token = ast->rparen_token;
for (SpecifierListAST *it = ast->attributes; it; it = it->next) {
type = this->specifier(it->value, type);
}
// unsigned mutable_token = ast->mutable_token;
_type = this->exceptionSpecification(ast->exception_specification, type);
type = this->exceptionSpecification(ast->exception_specification, type);
if (!type.isValid())
type.setType(control()->voidType());
fun->setReturnType(type);
return fun;
}