source: src/Validate/FindSpecialDecls.h@ ecfd758

ADT arm-eh ast-experimental enum forall-pointer-decay jacob/cs343-translation new-ast-unique-expr pthread-emulation qualifiedEnum
Last change on this file since ecfd758 was 2bfc6b2, checked in by Rob Schluntz <rschlunt@…>, 7 years ago

Refactor FindSpecialDeclarations and associated special declarations

  • Property mode set to 100644
File size: 1.4 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// FindSpecialDeclarations.h --
8//
9// Author : Rob Schluntz
10// Created On : Thu Aug 30 09:49:02 2018
11// Last Modified By : Rob Schluntz
12// Last Modified On : Thu Aug 30 09:51:12 2018
13// Update Count : 2
14//
15
16#pragma once
17
18#include <list> // for list
19
20class Declaration;
21class FunctionDecl;
22class StructDecl;
23class Type;
24
25namespace Validate {
26 /// size_t type - set when size_t typedef is seen. Useful in a few places,
27 /// such as in determining array dimension type
28 extern Type * SizeType;
29
30 /// intrinsic dereference operator for unqualified types - set when *? function is seen in FindSpecialDeclarations.
31 /// Useful for creating dereference ApplicationExprs without a full resolver pass.
32 extern FunctionDecl * dereferenceOperator;
33
34 /// special built-in functions and data structures necessary for destructor generation
35 extern StructDecl * dtorStruct;
36 extern FunctionDecl * dtorStructDestroy;
37
38 /// find and remember some of the special declarations that are useful for generating code, so that they do not have to be discovered multiple times.
39 void findSpecialDecls( std::list< Declaration * > & translationUnit );
40} // namespace Validate
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.