Give all complex lambdas an explicit return type
This commit is contained in:
parent
e3aa654c4b
commit
54a28de4a9
@ -253,7 +253,7 @@ const TFunction* TParseContextBase::selectFunction(
|
||||
return viableCandidates.front();
|
||||
|
||||
// 4. find best...
|
||||
auto betterParam = [&call, &better](const TFunction& can1, const TFunction& can2){
|
||||
auto betterParam = [&call, &better](const TFunction& can1, const TFunction& can2) -> bool {
|
||||
// is call -> can2 better than call -> can1 for any parameter
|
||||
bool hasBetterParam = false;
|
||||
for (int param = 0; param < call.getParamCount(); ++param) {
|
||||
|
@ -4907,7 +4907,7 @@ const TFunction* TParseContext::findFunction400(const TSourceLoc& loc, const TFu
|
||||
symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
|
||||
|
||||
// can 'from' convert to 'to'?
|
||||
const auto convertible = [this](const TType& from, const TType& to) {
|
||||
const auto convertible = [this](const TType& from, const TType& to) -> bool {
|
||||
if (from == to)
|
||||
return true;
|
||||
if (from.isArray() || to.isArray() || ! from.sameElementShape(to))
|
||||
@ -4918,7 +4918,7 @@ const TFunction* TParseContext::findFunction400(const TSourceLoc& loc, const TFu
|
||||
// Is 'to2' a better conversion than 'to1'?
|
||||
// Ties should not be considered as better.
|
||||
// Assumes 'convertible' already said true.
|
||||
const auto better = [](const TType& from, const TType& to1, const TType& to2) {
|
||||
const auto better = [](const TType& from, const TType& to1, const TType& to2) -> bool {
|
||||
// 1. exact match
|
||||
if (from == to2)
|
||||
return from != to1;
|
||||
|
@ -1001,7 +1001,7 @@ TIntermTyped* HlslParseContext::handleAssign(const TSourceLoc& loc, TOperator op
|
||||
|
||||
const auto getMember = [&](bool flatten, TIntermTyped* node,
|
||||
const TVector<TVariable*>& memberVariables, int member,
|
||||
TOperator op, const TType& memberType) {
|
||||
TOperator op, const TType& memberType) -> TIntermTyped * {
|
||||
TIntermTyped* subTree;
|
||||
if (flatten)
|
||||
subTree = intermediate.addSymbol(*memberVariables[member]);
|
||||
@ -2693,7 +2693,7 @@ void HlslParseContext::handleRegister(const TSourceLoc& loc, TQualifier& qualifi
|
||||
|
||||
// space
|
||||
unsigned int setNumber;
|
||||
const auto crackSpace = [&]() {
|
||||
const auto crackSpace = [&]() -> bool {
|
||||
const int spaceLen = 5;
|
||||
if (spaceDesc->size() < spaceLen + 1)
|
||||
return false;
|
||||
@ -3889,7 +3889,7 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, const TFu
|
||||
symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
|
||||
|
||||
// can 'from' convert to 'to'?
|
||||
const auto convertible = [this](const TType& from, const TType& to) {
|
||||
const auto convertible = [this](const TType& from, const TType& to) -> bool {
|
||||
if (from == to)
|
||||
return true;
|
||||
|
||||
@ -3916,7 +3916,7 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, const TFu
|
||||
// Is 'to2' a better conversion than 'to1'?
|
||||
// Ties should not be considered as better.
|
||||
// Assumes 'convertible' already said true.
|
||||
const auto better = [](const TType& from, const TType& to1, const TType& to2) {
|
||||
const auto better = [](const TType& from, const TType& to1, const TType& to2) -> bool {
|
||||
// exact match is always better than mismatch
|
||||
if (from == to2)
|
||||
return from != to1;
|
||||
@ -3943,7 +3943,7 @@ const TFunction* HlslParseContext::findFunction(const TSourceLoc& loc, const TFu
|
||||
// - 32 vs. 64 bit (or width in general)
|
||||
// - bool vs. non bool
|
||||
// - signed vs. not signed
|
||||
const auto linearize = [](const TBasicType& basicType) {
|
||||
const auto linearize = [](const TBasicType& basicType) -> int {
|
||||
switch (basicType) {
|
||||
case EbtBool: return 1;
|
||||
case EbtInt: return 10;
|
||||
|
Loading…
x
Reference in New Issue
Block a user