- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The code below is Example A.27.6f (page 248) from OpenMP API.
http://www.openmp.org/mp-documents/OpenMP3.1.pdf
When I compile the code with the /Qopenmp /stand:f03 options, the following warning is
printed for the THREADPRIVATE line:
warning #7025: This directive is not standard F2003.
Do you know the reason for this message?
Roman
[fortran]MODULE INC_MODULE_GOOD3 REAL, POINTER :: WORK(:) SAVE WORK !$OMP THREADPRIVATE(WORK) END MODULE INC_MODULE_GOOD3 SUBROUTINE SUB1(N) USE INC_MODULE_GOOD3 !$OMP PARALLEL PRIVATE(THE_SUM) ALLOCATE(WORK(N)) CALL SUB2(THE_SUM) WRITE(*,*)THE_SUM !$OMP END PARALLEL END SUBROUTINE SUB1 SUBROUTINE SUB2(THE_SUM) USE INC_MODULE_GOOD3 WORK(:) = 10 THE_SUM=SUM(WORK) END SUBROUTINE SUB2 PROGRAM INC_GOOD3 N = 10 CALL SUB1(N) END PROGRAM INC_GOOD3 [/fortran]
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We take the position that directives are "statements that look funny". They change the meaning of the program and therefore it is appropriate for us to flag them as not being standard Fortran. That OpenMP directives are standard OpenMP is a side issue.

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