forked from OSchip/llvm-project
6aa3591e98
STORAGE_SIZE() is a standard inquiry intrinsic (size in bits of an array element of the same type as the argument); SIZEOF() is a common extension that returns the size in bytes of its argument; C_SIZEOF() is a renaming of SIZEOF() in module ISO_C_BINDING. STORAGE_SIZE() and SIZEOF() are implemented via rewrites to expressions; these expressions will be constant when the necessary type parameters and bounds are also constant. Code to calculate the sizes of types (with and without alignment) was isolated into Evaluate/type.* and /characteristics.*. Code in Semantics/compute-offsets.* to calculate sizes and alignments of derived types' scopes was exposed so that it can be called at type instantiation time (earlier than before) so that these inquiry intrinsics could be called from specification expressions. Differential Revision: https://reviews.llvm.org/D93322 |
||
---|---|---|
.. | ||
_static | ||
_templates | ||
_themes/llvm-theme | ||
ArrayComposition.md | ||
BijectiveInternalNameUniquing.md | ||
C++17.md | ||
C++style.md | ||
CMakeLists.txt | ||
Calls.md | ||
Character.md | ||
ControlFlowGraph.md | ||
Directives.md | ||
DoConcurrent.md | ||
Extensions.md | ||
FortranForCProgrammers.md | ||
FortranIR.md | ||
GettingInvolved.md | ||
IORuntimeInternals.md | ||
ImplementingASemanticCheck.md | ||
Intrinsics.md | ||
LabelResolution.md | ||
ModFiles.md | ||
OpenMP-4.5-grammar.md | ||
OpenMP-semantics.md | ||
OptionComparison.md | ||
Overview.md | ||
ParserCombinators.md | ||
Parsing.md | ||
Preprocessing.md | ||
PullRequestChecklist.md | ||
ReleaseNotes.md | ||
RuntimeDescriptor.md | ||
RuntimeTypeInfo.md | ||
Semantics.md | ||
conf.py | ||
doxygen-mainpage.dox | ||
doxygen.cfg.in | ||
f2018-grammar.md | ||
flang-c-style.el | ||
index.md |