llvm-capstone/flang/docs
Peter Klausler aad5984b56 [flang] Portability warnings for an ambiguous ASSOCIATED() case
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
2023-01-27 16:51:03 -08:00
..
_static
_templates
_themes/llvm-theme
FIR
Aliasing.md
AliasingAnalysisFIR.md Document for Aliasing analysis in FIR 2022-10-17 11:45:31 -07:00
ArrayComposition.md
BijectiveInternalNameUniquing.md
C++17.md
C++style.md
Calls.md
Character.md
CMakeLists.txt
compiler_driver.png
ComplexOperations.md [flang][RFC] Proposal for complex number lowering through MLIR 2022-11-04 14:21:31 +00:00
conf.py
ControlFlowGraph.md
DesignGuideline.md
Directives.md
DoConcurrent.md
doxygen-mainpage.dox
doxygen.cfg.in
Extensions.md [flang] Portability warnings for an ambiguous ASSOCIATED() case 2023-01-27 16:51:03 -08:00
f2018-grammar.md
FIRArrayOperations.md
flang-c-style.el
FlangDriver.md [flang] Add -ffast-math and -Ofast 2022-12-09 19:55:58 +00:00
FlangOptionsDocs.td
FortranFeatureHistory.md
FortranForCProgrammers.md
FortranIR.md
FortranLLVMTestSuite.md
frontend_driver.png
GettingInvolved.md
HighLevelFIR.md [flang][RFC] Do not rely on attributes to tag HLFIR variable uses 2022-11-14 10:39:11 +01:00
ImplementingASemanticCheck.md
index.md
Intrinsics.md [flang][doc] Remove DCMPLX intrinsic from the Intrinsic Procedures Lacking Support list 2022-11-29 14:15:02 -05:00
IntrinsicTypes.md
IORuntimeInternals.md
LabelResolution.md
ModFiles.md
OpenMP-4.5-grammar.md
OpenMP-semantics.md [flang][OpenMP] Add parser support for Requires directive 2022-11-10 05:38:31 -06:00
OptionComparison.md
Overview.md [Flang] Reword the overview document 2022-12-21 11:39:56 -08:00
ParameterizedDerivedTypes.md
ParserCombinators.md
Parsing.md [flang] Fix pointer definition semantic checking via refactoring 2022-10-31 12:02:21 -07:00
PolymorphicEntities.md [flang][NFC] Remove implemented TODOs 2022-12-05 10:32:08 +01:00
Preprocessing.md
ProcedurePointer.md [flang] Support codegen for global procedure pointer 2022-12-07 21:24:01 +08:00
PullRequestChecklist.md
ReleaseNotes.md [Flang] Allow registering plugin extensions with the pass builder 2022-11-10 14:16:15 -08:00
RuntimeDescriptor.md
RuntimeTypeInfo.md
Semantics.md