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
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
--- /dev/null
+! 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