- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Consider the following minimal example:
program p
interface
function i()
end
end interface
type t
procedure(i),pointer,nopass::f
end type
type(t)::o
o=t(f) ! error #8191
end
The compilation of this code ends with an error `error #5633: **Internal compiler error: segmentation violation signal raised**`. This happens because an undefined procedure name `f` is used in the constructor.
If a procedure `f` is defined, but with wrong argument types like in the following code:
program p
interface
function i(x)result(c)
real::x(:),c(SIZE(x))
end function
end interface
type t
procedure(i),pointer,nopass::f
end type
type(t)::o
o=t(f)
contains
function f(x)result(c)
integer::x(:),c(SIZE(x)) ! wrong type
c=x
end
end
another ICE (`error #5623`) occurs.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I filed a bug report on these two ICEs. Thanks for the small reproducers.
Glad you have workarounds!
We'll let you know when the fix is available.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The fix for this issue will be included in the 2025.1 ifx release.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page