operators.h
No OneTemporary

File Metadata

Created
Tue, Aug 25, 6:02 AM

operators.h

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* File: operators.h
* Author: pgess <v.melnychenko@xreate.org>
*
* Created on April 8, 2017, 1:33 PM
*/
/**
* \file operators.h
* \brief Helpers to compile various operators
*/
#ifndef OPERATORS_H
#define OPERATORS_H
#include "pass/compilepass.h"
namespace llvm{
class Value;
}
namespace xreate{ namespace pointerarithmetic{
/** \brief Pointer arithmetic operators */
class PointerArithmetic{
public:
/** \brief Pointer arithmetic operator */
static llvm::Value* add(llvm::Value *left, llvm::Value *right, compilation::Context context, const std::string& hintVarDecl);
};
} //end of pointerarithmetic namespace
/** \brief Struct update operators */
class StructUpdate{
public:
/** \brief Struct update operator */
static llvm::Value* add(const Expression& left, llvm::Value *leftRaw, const Expression& right, compilation::Context context, const std::string& hintVarDecl);
} ;
} //namespace xreate
#endif /* OPERATORS_H */

Event Timeline