1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | #ifndef LLVM_CLANG_CODEGEN_CODEGENABITYPES_H |
24 | #define LLVM_CLANG_CODEGEN_CODEGENABITYPES_H |
25 | |
26 | #include "clang/AST/CanonicalType.h" |
27 | #include "clang/AST/Type.h" |
28 | #include "clang/CodeGen/CGFunctionInfo.h" |
29 | |
30 | namespace llvm { |
31 | class DataLayout; |
32 | class Module; |
33 | class FunctionType; |
34 | class Type; |
35 | } |
36 | |
37 | namespace clang { |
38 | class ASTContext; |
39 | class CXXRecordDecl; |
40 | class CXXMethodDecl; |
41 | class CodeGenOptions; |
42 | class CoverageSourceInfo; |
43 | class DiagnosticsEngine; |
44 | class ; |
45 | class ObjCMethodDecl; |
46 | class PreprocessorOptions; |
47 | |
48 | namespace CodeGen { |
49 | class CGFunctionInfo; |
50 | class CodeGenModule; |
51 | |
52 | const CGFunctionInfo &arrangeObjCMessageSendSignature(CodeGenModule &CGM, |
53 | const ObjCMethodDecl *MD, |
54 | QualType receiverType); |
55 | |
56 | const CGFunctionInfo &arrangeFreeFunctionType(CodeGenModule &CGM, |
57 | CanQual<FunctionProtoType> Ty); |
58 | |
59 | const CGFunctionInfo &arrangeFreeFunctionType(CodeGenModule &CGM, |
60 | CanQual<FunctionNoProtoType> Ty); |
61 | |
62 | const CGFunctionInfo &arrangeCXXMethodType(CodeGenModule &CGM, |
63 | const CXXRecordDecl *RD, |
64 | const FunctionProtoType *FTP, |
65 | const CXXMethodDecl *MD); |
66 | |
67 | const CGFunctionInfo &arrangeFreeFunctionCall(CodeGenModule &CGM, |
68 | CanQualType returnType, |
69 | ArrayRef<CanQualType> argTypes, |
70 | FunctionType::ExtInfo info, |
71 | RequiredArgs args); |
72 | |
73 | |
74 | llvm::FunctionType *convertFreeFunctionType(CodeGenModule &CGM, |
75 | const FunctionDecl *FD); |
76 | |
77 | llvm::Type *convertTypeForMemory(CodeGenModule &CGM, QualType T); |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | unsigned getLLVMFieldNumber(CodeGenModule &CGM, |
84 | const RecordDecl *RD, const FieldDecl *FD); |
85 | |
86 | } |
87 | } |
88 | |
89 | #endif |
90 | |