source: src/Validate/ForallPointerDecay.hpp @ fa5e1aa5

Last change on this file since fa5e1aa5 was 11df881, checked in by Andrew Beach <ajbeach@…>, 2 years ago

Updated documentation on pre-resolver passes, moving code to headers instead of uses. Note that some comments were just copied over, I don't know if they are accurate.

  • Property mode set to 100644
File size: 1.2 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2018 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// ForallPointerDecay.hpp --
8//
9// Author           : Andrew Beach
10// Created On       : Tue Dec  7 16:15:00 2021
11// Last Modified By : Andrew Beach
12// Last Modified On : Sat Apr 23 13:13:00 2022
13// Update Count     : 1
14//
15
16#pragma once
17
18#include <vector>
19#include "AST/Node.hpp"
20
21namespace ast {
22        class DeclWithType;
23        class TranslationUnit;
24}
25
26namespace Validate {
27
28/// Cleans up assertion lists and expands traits.
29/// Also checks that operator names are used properly on functions and
30/// assigns unique IDs. This is a "legacy" pass.
31/// Must be after implement concurrent keywords; because uniqueIds must be
32/// set on declaration before resolution.
33/// Must happen before auto-gen routines are added.
34void decayForallPointers( ast::TranslationUnit & transUnit );
35
36/// Expand all traits in an assertion list.
37std::vector<ast::ptr<ast::DeclWithType>> expandAssertions(
38        std::vector<ast::ptr<ast::DeclWithType>> const & );
39
40}
41
42// Local Variables: //
43// tab-width: 4 //
44// mode: c++ //
45// compile-command: "make install" //
46// End: //
Note: See TracBrowser for help on using the repository browser.