clang
5.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
clang
Basic
AddressSpaces.h
Go to the documentation of this file.
1
//===--- AddressSpaces.h - Language-specific address spaces -----*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
///
10
/// \file
11
/// \brief Provides definitions for the various language-specific address
12
/// spaces.
13
///
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_CLANG_BASIC_ADDRESSSPACES_H
17
#define LLVM_CLANG_BASIC_ADDRESSSPACES_H
18
19
namespace
clang {
20
21
namespace
LangAS {
22
23
/// \brief Defines the address space values used by the address space qualifier
24
/// of QualType.
25
///
26
enum
ID
{
27
// The default value 0 is the value used in QualType for the the situation
28
// where there is no address space qualifier. For most languages, this also
29
// corresponds to the situation where there is no address space qualifier in
30
// the source code, except for OpenCL, where the address space value 0 in
31
// QualType represents private address space in OpenCL source code.
32
Default
= 0,
33
34
// OpenCL specific address spaces.
35
opencl_global
,
36
opencl_local
,
37
opencl_constant
,
38
opencl_generic
,
39
40
// CUDA specific address spaces.
41
cuda_device
,
42
cuda_constant
,
43
cuda_shared
,
44
45
// This denotes the count of language-specific address spaces and also
46
// the offset added to the target-specific address spaces, which are usually
47
// specified by address space attributes __attribute__(address_space(n))).
48
FirstTargetAddressSpace
49
};
50
51
/// The type of a lookup table which maps from language-specific address spaces
52
/// to target-specific ones.
53
typedef
unsigned
Map
[
FirstTargetAddressSpace
];
54
}
55
56
}
57
58
#endif
clang::LangAS::FirstTargetAddressSpace
Definition:
AddressSpaces.h:48
clang::LangAS::Default
Definition:
AddressSpaces.h:32
clang::LangAS::opencl_constant
Definition:
AddressSpaces.h:37
clang::LangAS::cuda_constant
Definition:
AddressSpaces.h:42
clang::LangAS::cuda_shared
Definition:
AddressSpaces.h:43
clang::LangAS::ID
ID
Defines the address space values used by the address space qualifier of QualType. ...
Definition:
AddressSpaces.h:26
clang::LangAS::opencl_global
Definition:
AddressSpaces.h:35
clang::LangAS::Map
unsigned Map[FirstTargetAddressSpace]
The type of a lookup table which maps from language-specific address spaces to target-specific ones...
Definition:
AddressSpaces.h:53
clang::LangAS::opencl_local
Definition:
AddressSpaces.h:36
clang::LangAS::opencl_generic
Definition:
AddressSpaces.h:38
clang::LangAS::cuda_device
Definition:
AddressSpaces.h:41
Generated on Tue Sep 5 2017 11:45:11 for clang by
1.8.6