From b5f996f17b7cc22354b2674b859fa82551880ef5 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Fri, 17 Feb 2017 14:14:19 +0100 Subject: [PATCH] PetScan::extract_expr(BinaryOperator *): improve error message Signed-off-by: Sven Verdoolaege --- scan.cc | 12 +++++++++++- scan.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/scan.cc b/scan.cc index 91b948b..b74f9c8 100644 --- a/scan.cc +++ b/scan.cc @@ -247,6 +247,16 @@ void PetScan::report_unsupported_unary_operator(Stmt *stmt) report(stmt, id); } +/* Report an unsupported binary operator, unless autodetect is set. + */ +void PetScan::report_unsupported_binary_operator(Stmt *stmt) +{ + DiagnosticsEngine &diag = PP.getDiagnostics(); + unsigned id = diag.getCustomDiagID(DiagnosticsEngine::Warning, + "this type of binary operator is not supported"); + report(stmt, id); +} + /* Report an unsupported statement type, unless autodetect is set. */ void PetScan::report_unsupported_statement_type(Stmt *stmt) @@ -708,7 +718,7 @@ __isl_give pet_expr *PetScan::extract_expr(BinaryOperator *expr) op = BinaryOperatorKind2pet_op_type(expr->getOpcode()); if (op == pet_op_last) { - unsupported(expr); + report_unsupported_binary_operator(expr); return NULL; } diff --git a/scan.h b/scan.h index 8a521af..dfbe3da 100644 --- a/scan.h +++ b/scan.h @@ -293,6 +293,7 @@ private: void report(clang::Decl *decl, unsigned id); void unsupported(clang::Stmt *stmt); void report_unsupported_unary_operator(clang::Stmt *stmt); + void report_unsupported_binary_operator(clang::Stmt *stmt); void report_unsupported_statement_type(clang::Stmt *stmt); void report_prototype_required(clang::Stmt *stmt); void report_missing_increment(clang::Stmt *stmt); -- 2.11.4.GIT