mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-28 16:11:29 +00:00
aad5984b56
The standard's specification for the ASSOCIATED() intrinsic function describes its optional second argument (TARGET=) as being required to be a valid target for a pointer assignment statement in which the first argument (POINTER=) was the left-hand side. Some Fortran compilers apparently interpret this text as a requirement that the POINTER= argument actually be a valid left-hand side to a pointer assignment statement, and emit an error if it is not so. This particularly affects the use of an explicit NULL pointer as the first argument. Such usage is well-defined, benign, useful, and supported by at least two other compilers, so we should continue to accept it. This patch adds a portability warning and some documentation. In order to implement the portability warning in the best way, the special checks on calls to the ASSOCIATED() intrinsic function have been moved from intrinsic processing to Semantics/check-calls.cpp, whence they have access to semantics' toolchest. Special checks for other intrinsic functions might also migrate in the future in order to keep them all in one place. Differential Revision: https://reviews.llvm.org/D142768 |
||
---|---|---|
.. | ||
_static | ||
_templates | ||
_themes/llvm-theme | ||
FIR | ||
Aliasing.md | ||
AliasingAnalysisFIR.md | ||
ArrayComposition.md | ||
BijectiveInternalNameUniquing.md | ||
C++17.md | ||
C++style.md | ||
Calls.md | ||
Character.md | ||
CMakeLists.txt | ||
compiler_driver.png | ||
ComplexOperations.md | ||
conf.py | ||
ControlFlowGraph.md | ||
DesignGuideline.md | ||
Directives.md | ||
DoConcurrent.md | ||
doxygen-mainpage.dox | ||
doxygen.cfg.in | ||
Extensions.md | ||
f2018-grammar.md | ||
FIRArrayOperations.md | ||
flang-c-style.el | ||
FlangDriver.md | ||
FlangOptionsDocs.td | ||
FortranFeatureHistory.md | ||
FortranForCProgrammers.md | ||
FortranIR.md | ||
FortranLLVMTestSuite.md | ||
frontend_driver.png | ||
GettingInvolved.md | ||
HighLevelFIR.md | ||
ImplementingASemanticCheck.md | ||
index.md | ||
Intrinsics.md | ||
IntrinsicTypes.md | ||
IORuntimeInternals.md | ||
LabelResolution.md | ||
ModFiles.md | ||
OpenMP-4.5-grammar.md | ||
OpenMP-semantics.md | ||
OptionComparison.md | ||
Overview.md | ||
ParameterizedDerivedTypes.md | ||
ParserCombinators.md | ||
Parsing.md | ||
PolymorphicEntities.md | ||
Preprocessing.md | ||
ProcedurePointer.md | ||
PullRequestChecklist.md | ||
ReleaseNotes.md | ||
RuntimeDescriptor.md | ||
RuntimeTypeInfo.md | ||
Semantics.md |