cid#1607171 Data race condition
[LibreOffice.git] / compilerplugins / clang / store / postfixincrementfix.hxx
blob7f496662be1728a04cd7bdef17693af464b46a2a
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * Based on LLVM/Clang.
7 * This file is distributed under the University of Illinois Open Source
8 * License. See LICENSE.TXT for details.
12 #pragma once
14 #include "plugin.hxx"
16 namespace loplugin
19 class PostfixIncrementFix
20 : public loplugin::FilteringRewritePlugin< PostfixIncrementFix >
22 public:
23 explicit PostfixIncrementFix( const InstantiationData& data );
24 virtual void run() override;
25 bool VisitCXXOperatorCallExpr( const CXXOperatorCallExpr* op );
26 private:
27 void fixPostfixOperator( const CXXOperatorCallExpr* op );
28 void fixPostfixOperators( const Stmt* stmt );
29 bool canChangePostfixToPrefix( const Stmt* stmt, const CXXOperatorCallExpr* op );
30 bool shouldDoChange( const Expr* op );
33 } // namespace
35 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */