[flang] Add bind(C) to buitlin C_PTR

D131585 Adds couple of semantics check for the components of BIND(C)
derived-type. This would raise an error when a component is of C_PTR
type. Add `bind(c)` to the `__builtin_c_ptr` type so the wrong error
is not triggered.

Reviewed By: peixin, jeanPerier

Differential Revision: https://reviews.llvm.org/D132350
This commit is contained in:
Valentin Clement 2022-08-22 11:12:20 +02:00
parent e5d5146323
commit a6e155fd9a
No known key found for this signature in database
GPG Key ID: 086D54783C928776
2 changed files with 12 additions and 1 deletions

View File

@ -19,7 +19,7 @@ module __Fortran_builtins
private :: selected_int_kind
integer, parameter, private :: int64 = selected_int_kind(18)
type :: __builtin_c_ptr
type, bind(c) :: __builtin_c_ptr
integer(kind=int64) :: __address
end type

View File

@ -0,0 +1,11 @@
! RUN: bbc -emit-fir -o - %s | FileCheck %s
module bind_c_type
use, intrinsic :: iso_c_binding
type, bind(C) :: t
type(c_ptr) :: tcptr = C_NULL_PTR
end type
end module
! CHECK-LABEL: _QMbind_c_typeE.di.t.tcptr