]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Drop junk files accidentially committed
authorJeff Law <jeffrey.law@oss.qualcomm.com>
Wed, 4 Feb 2026 15:42:06 +0000 (08:42 -0700)
committerJeff Law <jeffrey.law@oss.qualcomm.com>
Wed, 4 Feb 2026 15:42:06 +0000 (08:42 -0700)
gcc/testsuite
* gcc.target/riscv/rvv/autovec/vls/J: Remove.

libgomp/
* J: Remove.

gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/J [deleted file]
libgomp/J [deleted file]

diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/J b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/J
deleted file mode 100644 (file)
index 55ef940..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  1) /* { dg-do compile } */
-cd1ce3b326d4 (demin.han    2024-03-13 18:43:26 +0800  2) /* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 -mrvv-max-lmul=m8 -ffast-math -fdump-tree-optimized" } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  3) 
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  4) #include "def.h"
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  5) 
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  6) DEF_OP_V (nearbyintf16, 1, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  7) DEF_OP_V (nearbyintf16, 2, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  8) DEF_OP_V (nearbyintf16, 4, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800  9) DEF_OP_V (nearbyintf16, 8, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 10) DEF_OP_V (nearbyintf16, 16, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 11) DEF_OP_V (nearbyintf16, 32, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 12) DEF_OP_V (nearbyintf16, 64, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 13) DEF_OP_V (nearbyintf16, 128, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 14) DEF_OP_V (nearbyintf16, 256, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 15) DEF_OP_V (nearbyintf16, 512, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 16) DEF_OP_V (nearbyintf16, 1024, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 17) DEF_OP_V (nearbyintf16, 2048, _Float16, __builtin_nearbyintf16)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 18) 
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 19) DEF_OP_V (nearbyintf, 1, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 20) DEF_OP_V (nearbyintf, 2, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 21) DEF_OP_V (nearbyintf, 4, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 22) DEF_OP_V (nearbyintf, 8, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 23) DEF_OP_V (nearbyintf, 16, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 24) DEF_OP_V (nearbyintf, 32, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 25) DEF_OP_V (nearbyintf, 64, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 26) DEF_OP_V (nearbyintf, 128, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 27) DEF_OP_V (nearbyintf, 256, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 28) DEF_OP_V (nearbyintf, 512, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 29) DEF_OP_V (nearbyintf, 1024, float, __builtin_nearbyintf)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 30) 
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 31) DEF_OP_V (nearbyint, 1, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 32) DEF_OP_V (nearbyint, 2, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 33) DEF_OP_V (nearbyint, 4, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 34) DEF_OP_V (nearbyint, 8, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 35) DEF_OP_V (nearbyint, 16, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 36) DEF_OP_V (nearbyint, 32, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 37) DEF_OP_V (nearbyint, 64, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 38) DEF_OP_V (nearbyint, 128, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 39) DEF_OP_V (nearbyint, 256, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 40) DEF_OP_V (nearbyint, 512, double, __builtin_nearbyint)
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 41) 
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 42) /* { dg-final { scan-assembler-not {csrr} } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 43) /* { dg-final { scan-tree-dump-not "1,1" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 44) /* { dg-final { scan-tree-dump-not "2,2" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 45) /* { dg-final { scan-tree-dump-not "4,4" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 46) /* { dg-final { scan-tree-dump-not "16,16" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 47) /* { dg-final { scan-tree-dump-not "32,32" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 48) /* { dg-final { scan-tree-dump-not "64,64" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 49) /* { dg-final { scan-tree-dump-not "128,128" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 50) /* { dg-final { scan-tree-dump-not "256,256" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 51) /* { dg-final { scan-tree-dump-not "512,512" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 52) /* { dg-final { scan-tree-dump-not "1024,1024" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 53) /* { dg-final { scan-tree-dump-not "2048,2048" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 54) /* { dg-final { scan-tree-dump-not "4096,4096" "optimized" } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 55) /* { dg-final { scan-assembler-times {vfcvt\.x\.f\.v\s+v[0-9]+,\s*v[0-9]+,\s*v0\.t} 30 } } */
-e2023d2d5ff2 (Pan Li       2023-09-25 10:04:36 +0800 56) /* { dg-final { scan-assembler-times {vfcvt\.f\.x\.v\s+v[0-9]+,\s*v[0-9]+,\s*v0\.t} 30 } } */
-f5696e9b1113 (Vineet Gupta 2025-08-13 20:20:34 -0700 57) /* { dg-final { scan-assembler-times {frflags\s+[atx][0-9]+} 32 } } */
-f5696e9b1113 (Vineet Gupta 2025-08-13 20:20:34 -0700 58) /* { dg-final { scan-assembler-times {fsflags\s+[atx][0-9]+} 32 } } */
diff --git a/libgomp/J b/libgomp/J
deleted file mode 100644 (file)
index a31961e..0000000
--- a/libgomp/J
+++ /dev/null
@@ -1,498 +0,0 @@
-254a858ae7ae (Jakub Jelinek  2026-01-02 09:53:48 +0100   1) /* Copyright (C) 2018-2026 Free Software Foundation, Inc.
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   2)    Contributed by Jakub Jelinek <jakub@redhat.com>.
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   3) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   4)    This file is part of the GNU Offloading and Multi Processing Library
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   5)    (libgomp).
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   6) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   7)    Libgomp is free software; you can redistribute it and/or modify it
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   8)    under the terms of the GNU General Public License as published by
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100   9)    the Free Software Foundation; either version 3, or (at your option)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  10)    any later version.
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  11) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  12)    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  13)    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  14)    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  15)    more details.
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  16) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  17)    Under Section 7 of GPL version 3, you are granted additional
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  18)    permissions described in the GCC Runtime Library Exception, version
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  19)    3.1, as published by the Free Software Foundation.
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  20) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  21)    You should have received a copy of the GNU General Public License and
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  22)    a copy of the GCC Runtime Library Exception along with this program;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  23)    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  24)    <http://www.gnu.org/licenses/>.  */
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  25) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  26) #include "libgomp.h"
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  27) #include <string.h>
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  28) #include <stdio.h>
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  29) #include <stdlib.h>
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  30) #ifdef HAVE_UNISTD_H
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  31) #include <unistd.h>
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  32) #endif
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100  33) #ifdef HAVE_INTTYPES_H
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100  34) # include <inttypes.h>  /* For PRIx64.  */
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100  35) #endif
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  36) #ifdef HAVE_UNAME
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  37) #include <sys/utsname.h>
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  38) #endif
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  39) 
-3749c3aff651 (Jakub Jelinek  2021-10-01 10:42:07 +0200  40) ialias_redirect (omp_get_team_num)
-3749c3aff651 (Jakub Jelinek  2021-10-01 10:42:07 +0200  41) ialias_redirect (omp_get_num_teams)
-3749c3aff651 (Jakub Jelinek  2021-10-01 10:42:07 +0200  42) 
-91df4397a140 (Jakub Jelinek  2020-01-10 21:42:00 +0100  43) bool
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000  44) gomp_print_string (const char *str, size_t len)
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000  45) {
-91df4397a140 (Jakub Jelinek  2020-01-10 21:42:00 +0100  46)   return fwrite (str, 1, len, stderr) != len;
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000  47) }
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000  48) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  49) void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  50) gomp_set_affinity_format (const char *format, size_t len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  51) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  52)   if (len < gomp_affinity_format_len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  53)     memcpy (gomp_affinity_format_var, format, len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  54)   else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  55)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  56)       char *p;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  57)       if (gomp_affinity_format_len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  58)    p = gomp_realloc (gomp_affinity_format_var, len + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  59)       else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  60)    p = gomp_malloc (len + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  61)       memcpy (p, format, len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  62)       gomp_affinity_format_var = p;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  63)       gomp_affinity_format_len = len + 1;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  64)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  65)   gomp_affinity_format_var[len] = '\0';
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  66) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  67) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  68) void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  69) omp_set_affinity_format (const char *format)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  70) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  71)   gomp_set_affinity_format (format, strlen (format));
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  72) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  73) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  74) size_t
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  75) omp_get_affinity_format (char *buffer, size_t size)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  76) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  77)   size_t len = strlen (gomp_affinity_format_var);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  78)   if (size)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  79)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  80)       if (len < size)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  81)    memcpy (buffer, gomp_affinity_format_var, len + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  82)       else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  83)    {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  84)      memcpy (buffer, gomp_affinity_format_var, size - 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  85)      buffer[size - 1] = '\0';
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  86)    }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  87)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  88)   return len;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  89) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  90) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  91) void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  92) gomp_display_string (char *buffer, size_t size, size_t *ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  93)                 const char *str, size_t len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  94) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  95)   size_t r = *ret;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  96)   if (size && r < size)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  97)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  98)       size_t l = len;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100  99)       if (size - r < len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 100)    l = size - r;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 101)       memcpy (buffer + r, str, l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 102)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 103)   *ret += len;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 104)   if (__builtin_expect (r > *ret, 0))
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 105)     gomp_fatal ("overflow in omp_capture_affinity");
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 106) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 107) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 108) static void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 109) gomp_display_repeat (char *buffer, size_t size, size_t *ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 110)                 char c, size_t len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 111) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 112)   size_t r = *ret;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 113)   if (size && r < size)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 114)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 115)       size_t l = len;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 116)       if (size - r < len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 117)    l = size - r;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 118)       memset (buffer + r, c, l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 119)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 120)   *ret += len;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 121)   if (__builtin_expect (r > *ret, 0))
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 122)     gomp_fatal ("overflow in omp_capture_affinity");
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 123) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 124) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 125) static void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 126) gomp_display_num (char *buffer, size_t size, size_t *ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 127)              bool zero, bool right, size_t sz, char *buf)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 128) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 129)   size_t l = strlen (buf);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 130)   if (sz == (size_t) -1 || l >= sz)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 131)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 132)       gomp_display_string (buffer, size, ret, buf, l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 133)       return;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 134)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 135)   if (zero)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 136)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 137)       if (buf[0] == '-')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 138)    gomp_display_string (buffer, size, ret, buf, 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 139)       else if (buf[0] == '0' && buf[1] == 'x')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 140)    gomp_display_string (buffer, size, ret, buf, 2);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 141)       gomp_display_repeat (buffer, size, ret, '0', sz - l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 142)       if (buf[0] == '-')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 143)    gomp_display_string (buffer, size, ret, buf + 1, l - 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 144)       else if (buf[0] == '0' && buf[1] == 'x')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 145)    gomp_display_string (buffer, size, ret, buf + 2, l - 2);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 146)       else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 147)    gomp_display_string (buffer, size, ret, buf, l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 148)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 149)   else if (right)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 150)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 151)       gomp_display_repeat (buffer, size, ret, ' ', sz - l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 152)       gomp_display_string (buffer, size, ret, buf, l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 153)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 154)   else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 155)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 156)       gomp_display_string (buffer, size, ret, buf, l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 157)       gomp_display_repeat (buffer, size, ret, ' ', sz - l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 158)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 159) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 160) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 161) static void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 162) gomp_display_int (char *buffer, size_t size, size_t *ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 163)              bool zero, bool right, size_t sz, int num)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 164) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 165)   char buf[3 * sizeof (int) + 2];
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 166)   sprintf (buf, "%d", num);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 167)   gomp_display_num (buffer, size, ret, zero, right, sz, buf);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 168) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 169) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 170) static void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 171) gomp_display_string_len (char *buffer, size_t size, size_t *ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 172)                     bool right, size_t sz, char *str, size_t len)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 173) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 174)   if (sz == (size_t) -1 || len >= sz)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 175)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 176)       gomp_display_string (buffer, size, ret, str, len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 177)       return;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 178)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 179) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 180)   if (right)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 181)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 182)       gomp_display_repeat (buffer, size, ret, ' ', sz - len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 183)       gomp_display_string (buffer, size, ret, str, len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 184)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 185)   else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 186)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 187)       gomp_display_string (buffer, size, ret, str, len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 188)       gomp_display_repeat (buffer, size, ret, ' ', sz - len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 189)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 190) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 191) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 192) static void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 193) gomp_display_hostname (char *buffer, size_t size, size_t *ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 194)                   bool right, size_t sz)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 195) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 196) #ifdef HAVE_GETHOSTNAME
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 197)   {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 198)     char buf[256];
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 199)     char *b = buf;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 200)     size_t len = 256;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 201)     do
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 202)       {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 203)    b[len - 1] = '\0';
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 204)    if (gethostname (b, len - 1) == 0)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 205)      {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 206)        size_t l = strlen (b);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 207)        if (l < len - 1)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 208)          {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 209)            gomp_display_string_len (buffer, size, ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 210)                                     right, sz, b, l);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 211)            if (b != buf)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 212)              free (b);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 213)            return;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 214)          }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 215)      }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 216)    if (len == 1048576)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 217)      break;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 218)    len = len * 2;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 219)    if (len == 512)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 220)      b = gomp_malloc (len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 221)    else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 222)      b = gomp_realloc (b, len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 223)       }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 224)     while (1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 225)     if (b != buf)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 226)       free (b);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 227)   }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 228) #endif
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 229) #ifdef HAVE_UNAME
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 230)   {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 231)     struct utsname buf;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 232)     if (uname (&buf) == 0)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 233)       {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 234)    gomp_display_string_len (buffer, size, ret, right, sz,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 235)                             buf.nodename, strlen (buf.nodename));
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 236)    return;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 237)       }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 238)   }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 239) #endif
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 240)   gomp_display_string_len (buffer, size, ret, right, sz, "node", 4);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 241) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 242) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 243) struct affinity_types_struct {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 244)   char long_str[18];
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 245)   char long_len;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 246)   char short_c; };
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 247) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 248) static struct affinity_types_struct affinity_types[] =
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 249) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 250) #define AFFINITY_TYPE(l, s) \
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 251)   { #l, sizeof (#l) - 1, s }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 252)   AFFINITY_TYPE (team_num, 't'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 253)   AFFINITY_TYPE (num_teams, 'T'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 254)   AFFINITY_TYPE (nesting_level, 'L'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 255)   AFFINITY_TYPE (thread_num, 'n'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 256)   AFFINITY_TYPE (num_threads, 'N'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 257)   AFFINITY_TYPE (ancestor_tnum, 'a'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 258)   AFFINITY_TYPE (host, 'H'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 259)   AFFINITY_TYPE (process_id, 'P'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 260)   AFFINITY_TYPE (native_thread_id, 'i'),
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 261)   AFFINITY_TYPE (thread_affinity, 'A')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 262) #undef AFFINITY_TYPE
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 263) };
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 264) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 265) size_t
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 266) gomp_display_affinity (char *buffer, size_t size,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 267)                   const char *format, gomp_thread_handle handle,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 268)                   struct gomp_team_state *ts, unsigned int place)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 269) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 270)   size_t ret = 0;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 271)   do
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 272)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 273)       const char *p = strchr (format, '%');
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 274)       bool zero = false;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 275)       bool right = false;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 276)       size_t sz = -1;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 277)       char c;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 278)       int val;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 279)       if (p == NULL)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 280)    p = strchr (format, '\0');
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 281)       if (p != format)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 282)    gomp_display_string (buffer, size, &ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 283)                         format, p - format);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 284)       if (*p == '\0')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 285)    break;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 286)       p++;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 287)       if (*p == '%')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 288)    {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 289)      gomp_display_string (buffer, size, &ret, "%", 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 290)      format = p + 1;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 291)      continue;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 292)    }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 293)       if (*p == '0')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 294)    {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 295)      zero = true;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 296)      p++;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 297)      if (*p != '.')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 298)        gomp_fatal ("leading zero not followed by dot in affinity format");
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 299)    }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 300)       if (*p == '.')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 301)    {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 302)      right = true;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 303)      p++;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 304)    }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 305)       if (*p >= '1' && *p <= '9')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 306)    {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 307)      char *end;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 308)      sz = strtoul (p, &end, 10);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 309)      p = end;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 310)    }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 311)       else if (zero || right)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 312)    gomp_fatal ("leading zero or right justification in affinity format "
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 313)                "requires size");
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 314)       c = *p;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 315)       if (c == '{')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 316)    {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 317)      int i;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 318)      for (i = 0;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 319)           i < sizeof (affinity_types) / sizeof (affinity_types[0]); ++i)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 320)        if (strncmp (p + 1, affinity_types[i].long_str,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 321)                     affinity_types[i].long_len) == 0
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 322)            && p[affinity_types[i].long_len + 1] == '}')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 323)          {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 324)            c = affinity_types[i].short_c;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 325)            p += affinity_types[i].long_len + 1;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 326)            break;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 327)          }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 328)      if (c == '{')
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 329)        {
-9c9d3aef2f66 (Frank Scheiner 2025-11-25 16:58:23 -0700 330)          const char *q = strchr (p + 1, '}');
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 331)          if (q)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 332)            gomp_fatal ("unsupported long type name '%.*s' in affinity "
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 333)                        "format", (int) (q - (p + 1)), p + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 334)          else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 335)            gomp_fatal ("unterminated long type name '%s' in affinity "
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 336)                        "format", p + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 337)        }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 338)    }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 339)       switch (c)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 340)    {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 341)    case 't':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 342)      val = omp_get_team_num ();
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 343)      goto do_int;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 344)    case 'T':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 345)      val = omp_get_num_teams ();
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 346)      goto do_int;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 347)    case 'L':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 348)      val = ts->level;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 349)      goto do_int;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 350)    case 'n':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 351)      val = ts->team_id;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 352)      goto do_int;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 353)    case 'N':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 354)      val = ts->team ? ts->team->nthreads : 1;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 355)      goto do_int;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 356)    case 'a':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 357)      val = ts->team ? ts->team->prev_ts.team_id : -1;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 358)      goto do_int;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 359)    case 'H':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 360)      gomp_display_hostname (buffer, size, &ret, right, sz);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 361)      break;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 362)    case 'P':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 363) #ifdef HAVE_GETPID
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 364)      val = getpid ();
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 365) #else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 366)      val = 0;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 367) #endif
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 368)      goto do_int;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 369)    case 'i':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 370) #if defined(LIBGOMP_USE_PTHREADS) && defined(__GNUC__)
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 371)      {
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 372)        char buf[3 * (sizeof (handle) + sizeof (uintptr_t) + sizeof (int))
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 373)                 + 4];
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 374)        /* This macro returns expr unmodified for integral or pointer
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 375)           types and 0 for anything else (e.g. aggregates).  */
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 376) #define gomp_nonaggregate(expr) \
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 377)   __builtin_choose_expr (__builtin_classify_type (expr) == 1                   \
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 378)                     || __builtin_classify_type (expr) == 5, expr, 0)
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 379)        /* This macro returns expr unmodified for integral types,
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 380)           (uintptr_t) (expr) for pointer types and 0 for anything else
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 381)           (e.g. aggregates).  */
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 382) #define gomp_integral(expr) \
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 383)   __builtin_choose_expr (__builtin_classify_type (expr) == 5,                  \
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 384)                     (uintptr_t) gomp_nonaggregate (expr),              \
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 385)                     gomp_nonaggregate (expr))
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 386) 
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 387)        if (sizeof (gomp_integral (handle)) == sizeof (unsigned long))
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 388)          sprintf (buf, "0x%lx", (unsigned long) gomp_integral (handle));
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 389) #if defined (HAVE_INTTYPES_H) && defined (PRIx64)
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 390)        else if (sizeof (gomp_integral (handle)) == sizeof (uint64_t))
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 391)          sprintf (buf, "0x%" PRIx64, (uint64_t) gomp_integral (handle));
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 392) #else
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 393)        else if (sizeof (gomp_integral (handle))
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 394)                 == sizeof (unsigned long long))
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 395)          sprintf (buf, "0x%llx",
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 396)                   (unsigned long long) gomp_integral (handle));
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 397) #endif
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 398)        else
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 399)          sprintf (buf, "0x%x", (unsigned int) gomp_integral (handle));
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 400)        gomp_display_num (buffer, size, &ret, zero, right, sz, buf);
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 401)        break;
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 402)      }
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 403) #else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 404)      val = 0;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 405)      goto do_int;
-9666c52203b7 (Jakub Jelinek  2018-11-09 21:17:40 +0100 406) #endif
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 407)    case 'A':
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 408)      if (sz == (size_t) -1)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 409)        gomp_display_affinity_place (buffer, size, &ret,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 410)                                     place - 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 411)      else if (right)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 412)        {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 413)          size_t len = 0;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 414)          gomp_display_affinity_place (NULL, 0, &len, place - 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 415)          if (len < sz)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 416)            gomp_display_repeat (buffer, size, &ret, ' ', sz - len);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 417)          gomp_display_affinity_place (buffer, size, &ret, place - 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 418)        }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 419)      else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 420)        {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 421)          size_t start = ret;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 422)          gomp_display_affinity_place (buffer, size, &ret, place - 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 423)          if (ret - start < sz)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 424)            gomp_display_repeat (buffer, size, &ret, ' ', sz - (ret - start));
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 425)        }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 426)      break;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 427)    do_int:
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 428)      gomp_display_int (buffer, size, &ret, zero, right, sz, val);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 429)      break;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 430)    default:
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 431)      gomp_fatal ("unsupported type %c in affinity format", c);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 432)    }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 433)       format = p + 1;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 434)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 435)   while (1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 436)   return ret;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 437) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 438) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 439) size_t
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 440) omp_capture_affinity (char *buffer, size_t size, const char *format)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 441) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 442)   struct gomp_thread *thr = gomp_thread ();
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 443)   size_t ret
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 444)     = gomp_display_affinity (buffer, size,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 445)                         format && *format
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 446)                         ? format : gomp_affinity_format_var,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 447)                         gomp_thread_self (), &thr->ts, thr->place);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 448)   if (size)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 449)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 450)       if (ret >= size)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 451)    buffer[size - 1] = '\0';
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 452)       else
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 453)    buffer[ret] = '\0';
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 454)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 455)   return ret;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 456) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 457) ialias (omp_capture_affinity)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 458) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 459) void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 460) omp_display_affinity (const char *format)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 461) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 462)   char buf[512];
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 463)   char *b;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 464)   size_t ret = ialias_call (omp_capture_affinity) (buf, sizeof buf, format);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 465)   if (ret < sizeof buf)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 466)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 467)       buf[ret] = '\n';
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000 468)       gomp_print_string (buf, ret + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 469)       return;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 470)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 471)   b = gomp_malloc (ret + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 472)   ialias_call (omp_capture_affinity) (b, ret + 1, format);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 473)   b[ret] = '\n';
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000 474)   gomp_print_string (b, ret + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 475)   free (b);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 476) }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 477) 
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 478) void
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 479) gomp_display_affinity_thread (gomp_thread_handle handle,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 480)                          struct gomp_team_state *ts, unsigned int place)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 481) {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 482)   char buf[512];
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 483)   char *b;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 484)   size_t ret = gomp_display_affinity (buf, sizeof buf, gomp_affinity_format_var,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 485)                                  handle, ts, place);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 486)   if (ret < sizeof buf)
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 487)     {
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 488)       buf[ret] = '\n';
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000 489)       gomp_print_string (buf, ret + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 490)       return;
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 491)     }
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 492)   b = gomp_malloc (ret + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 493)   gomp_display_affinity (b, ret + 1, gomp_affinity_format_var,
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 494)                     handle, ts, place);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 495)   b[ret] = '\n';
-fe0827eed09d (Tom de Vries   2018-12-13 18:04:05 +0000 496)   gomp_print_string (b, ret + 1);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 497)   free (b);
-28567c40e2c7 (Jakub Jelinek  2018-11-08 18:13:04 +0100 498) }