aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/objc-lang.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2022-10-20 20:41:08 +0200
committerMarc Poulhiès <poulhies@adacore.com>2022-11-08 09:35:01 +0100
commit59ad8b684dd67e171141761f520c6a2ec70e5d6c (patch)
treea2b81e2d26a7b41318cebd02b22b90fe296e96e4 /gcc/objc/objc-lang.c
parentf1668c3d35b1031fa3ee266b6c3292e53344d315 (diff)
downloadgcc-59ad8b684dd67e171141761f520c6a2ec70e5d6c.zip
gcc-59ad8b684dd67e171141761f520c6a2ec70e5d6c.tar.gz
gcc-59ad8b684dd67e171141761f520c6a2ec70e5d6c.tar.bz2
ada: Implement RM 4.5.7(10/3) name resolution rule
This rule deals with the specific case of a conditional expression that is the operand of a type conversion and effectively distributes the conversion to the dependent expressions with the help of the dynamic semantics. gcc/ada/ * sem_ch4.adb (Analyze_Case_Expression): Compute the interpretations of the expression only at the end of the analysis, but skip doing it if it is the operand of a type conversion. (Analyze_If_Expression): Likewise. * sem_res.adb (Resolve): Deal specially with conditional expression that is the operand of a type conversion. (Resolve_Dependent_Expression): New procedure. (Resolve_Case_Expression): Call Resolve_Dependent_Expression. (Resolve_If_Expression): Likewise. (Resolve_If_Expression.Apply_Check): Take result type as parameter. (Resolve_Type_Conversion): Do not warn about a redundant conversion when the operand is a conditional expression.
Diffstat (limited to 'gcc/objc/objc-lang.c')
0 files changed, 0 insertions, 0 deletions