Browse Source

Don't evaluate dependent variables

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1623/head
Dimitar Dobrev 4 years ago
parent
commit
99a1457487
  1. 3
      src/CppParser/Parser.cpp
  2. 3
      tests/Common/Common.h

3
src/CppParser/Parser.cpp

@ -3707,7 +3707,8 @@ AST::ExpressionObsolete* Parser::WalkVariableInitializerExpression(const clang:: @@ -3707,7 +3707,8 @@ AST::ExpressionObsolete* Parser::WalkVariableInitializerExpression(const clang::
return WalkExpressionObsolete(Expr);
clang::Expr::EvalResult result;
if (Expr->EvaluateAsConstantExpr(result, c->getASTContext()))
if (!Expr->isValueDependent() &&
Expr->EvaluateAsConstantExpr(result, c->getASTContext()))
{
std::string s;
llvm::raw_string_ostream out(s);

3
tests/Common/Common.h

@ -1535,6 +1535,9 @@ public: @@ -1535,6 +1535,9 @@ public:
}
};
template <typename T>
struct dependentVariable { static const size_t var = alignof(T); };
class QObjectData {
};

Loading…
Cancel
Save