- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The following program stops for me after having printed "x" and crashes on the parameterized derived type assignment in the critical section. It works as intended if the components are assigned separately (as in the commented out lines). Compiler bug? Thank you,
UM
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sure looks like a compiler bug to me - thanks. Escalated as issue DPD200408252.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did some reading: the OpenMP 4.0 standard explicitly declares parametrized derived types as not supported, so I guess the behavior is technically undefined.
UM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The developers say that this usage is simply invalid and will change the compiler to give an error in a future release.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve,
In this specific case, the paramerterized derived type is also POD. The compiler could have easily handled this. Note that the sample code also illustrates a POD copy operator for
Siginvs0(j)=Siginv
Therefore I suggest that a compiler issue a warning about potential non-portable statements, but implement POD support for parameterized derived types. MHO
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I imagine we'll support this eventually, but not for now.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page