diff --git a/flang/lib/Evaluate/intrinsics.cpp b/flang/lib/Evaluate/intrinsics.cpp index 7226d69f6391c..f07f94b1a022c 100644 --- a/flang/lib/Evaluate/intrinsics.cpp +++ b/flang/lib/Evaluate/intrinsics.cpp @@ -2862,7 +2862,8 @@ std::optional IntrinsicProcTable::Implementation::HandleC_Loc( characteristics::DummyArgument{"x"s, characteristics::DummyDataObject{ std::move(*typeAndShape)}}}, - characteristics::Procedure::Attrs{}}}, + characteristics::Procedure::Attrs{ + characteristics::Procedure::Attr::Pure}}}, std::move(arguments)}; } } diff --git a/flang/module/__fortran_builtins.f90 b/flang/module/__fortran_builtins.f90 index 3d3dbef6d018a..4746ca20a13a7 100644 --- a/flang/module/__fortran_builtins.f90 +++ b/flang/module/__fortran_builtins.f90 @@ -18,6 +18,7 @@ private intrinsic :: __builtin_c_loc + public :: __builtin_c_loc intrinsic :: __builtin_c_f_pointer public :: __builtin_c_f_pointer @@ -56,8 +57,6 @@ integer, parameter, public :: & __builtin_atomic_logical_kind = __builtin_atomic_int_kind - procedure(type(__builtin_c_ptr)), public :: __builtin_c_loc - type, public :: __builtin_dim3 integer :: x=1, y=1, z=1 end type