File: pthread.f90

package info (click to toggle)
llvm-toolchain-20 1%3A20.1.8-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,111,696 kB
  • sloc: cpp: 7,438,781; ansic: 1,393,871; asm: 1,012,926; python: 241,771; f90: 86,635; objc: 75,411; lisp: 42,144; pascal: 17,286; sh: 8,596; ml: 5,082; perl: 4,730; makefile: 3,591; awk: 3,523; javascript: 2,251; xml: 892; fortran: 672
file content (22 lines) | stat: -rw-r--r-- 1,226 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
! In release 2.34, glibc removed libpthread as a separate library. All the
! pthread_* functions were subsumed into libc, so linking that is sufficient.
! However, when linking against older glibc builds, the explicit link of
! -pthread will be required. More details are here:
!
! https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread#the_developer_view
!
! This makes it difficult to write a test that requires the -pthread flag in
! order to pass. Checking for the presence of -lpthread in the linker flags is
! not reliable since the linker could just skip the flag altogether if it is
! linking against a new libc implementation.

! RUN: %flang -### -pthread /dev/null -o /dev/null 2>&1 | FileCheck %s
! RUN: %flang -### -Xflang -pthread /dev/null -o /dev/null 2>&1 | FileCheck %s

! How the -pthread flag is handled is very platform-specific. A lot of that
! functionality is tested by clang, and the flag itself is handled by clang's
! driver that flang also uses. Instead of duplicating all that testing here,
! just check that the presence of the flag does not raise an error. If we need
! more customized handling of -pthread, the tests for that can be added here.
!
! CHECK-NOT: error: