source: src/ControlStruct/MultiLevelExit.hpp @ de31a1d

ADTast-experimentalenumforall-pointer-decaypthread-emulationqualifiedEnum
Last change on this file since de31a1d was de31a1d, checked in by Andrew Beach <ajbeach@…>, 3 years ago

Converted the two LabelGenerator? singletons into a single pure-static class.

  • Property mode set to 100644
File size: 960 bytes
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// MultiLevelExit.hpp -- Replaces CFA's local control flow with C's versions.
8//
9// Author           : Andrew Beach
10// Created On       : Mon Nov  1 13:49:00 2021
11// Last Modified By : Andrew Beach
12// Last Modified On : Mon Nov  5 19:20:00 2021
13// Update Count     : 1
14//
15
16#pragma once
17
18#include <map>
19
20namespace ast {
21        class CompoundStmt;
22        class Label;
23        class Stmt;
24}
25
26namespace ControlStruct {
27
28class LabelGenerator;
29using LabelToStmt = std::map<ast::Label, const ast::Stmt *>;
30
31/// Mutate a function body to handle multi-level exits.
32const ast::CompoundStmt * multiLevelExitUpdate(
33        const ast::CompoundStmt *, const LabelToStmt &, LabelGenerator *);
34
35}
36
37// Local Variables: //
38// tab-width: 4 //
39// mode: c++ //
40// compile-command: "make install" //
41// End: //
Note: See TracBrowser for help on using the repository browser.