Skip to content

Commit

Permalink
Introduce a CodeGenerator utilities file for standalone functions
Browse files Browse the repository at this point in the history
Introduce a CodeGenerator utilities file that projects can use to define
standalone utility functions for use during code generation.  Such functions
should not be included in the component header files of an extensible class
hierarchy.

Signed-off-by: Daryl Maier <maier@ca.ibm.com>
  • Loading branch information
0xdaryl committed Apr 24, 2019
1 parent f2c0316 commit 0961794
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 0 deletions.
38 changes: 38 additions & 0 deletions compiler/codegen/CodeGeneratorUtils.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*******************************************************************************
* Copyright (c) 2019, 2019 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
* distribution and is available at http://eclipse.org/legal/epl-2.0
* or the Apache License, Version 2.0 which accompanies this distribution
* and is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License, v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
*******************************************************************************/

#ifndef CODEGENERATOR_UTILS_INCL
#define CODEGENERATOR_UTILS_INCL

/**
* A collection of utility functions to be used during code generation. These
* are standalone functions.
*
* They should not be included within component header files of extensible classes
* due to the risk of introducing circular include dependencies.
*
* The functions may be in the public (TR) or project-specific namespaces (e.g., OMR)
* depending upon how they are expected to be used.
*/

#include "codegen/OMRCodeGeneratorUtils.hpp"

#endif
36 changes: 36 additions & 0 deletions compiler/codegen/OMRCodeGeneratorUtils.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*******************************************************************************
* Copyright (c) 2019, 2019 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
* distribution and is available at http://eclipse.org/legal/epl-2.0
* or the Apache License, Version 2.0 which accompanies this distribution
* and is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License, v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
*******************************************************************************/

#ifndef OMR_CODEGENERATOR_UTILS_INCL
#define OMR_CODEGENERATOR_UTILS_INCL

/**
* A collection of utility functions to be used during code generation. These
* are standalone functions.
*
* They should not be included within component header files of extensible classes
* due to the risk of introducing circular include dependencies.
*
* The functions may be in the public (TR) or project-specific namespaces (e.g., OMR)
* depending upon how they are expected to be used.
*/

#endif

0 comments on commit 0961794

Please sign in to comment.