Englisch
I'm experiencing some unexpected behavior with icpc when using C++ objects with a firstprivate vs. private clause. When an object is private then it appears to be be both constructed and destructed as expected, but for firstprivate the object does not seem to be destructed. g++ does not exhibit similar behavior. My understanding is that firstprivate C++ objects should be destructed (albeit in an unpredictable order) -- so is this an icpc bug or am I misunderstanding the OpenMP spec?
Consider the following contrived code: