Skip to content

Commit c74b192

Browse files
committed
[libc++] Revert the addition of _LIBCPP_HIDE_FROM_ABI and inline in __threading_support
This reverts commit 2722ac6. As explained in D115906, this was actually unnecessary and it broke the external threading configuration. Differential Revision: https://reviews.llvm.org/D119484
1 parent 7338227 commit c74b192

File tree

1 file changed

+0
-56
lines changed

1 file changed

+0
-56
lines changed

libcxx/include/__threading_support

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,6 @@ int __libcpp_tls_set(__libcpp_tls_key __key, void *__p);
254254

255255
#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
256256

257-
_LIBCPP_HIDE_FROM_ABI inline
258257
int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t *__m)
259258
{
260259
pthread_mutexattr_t attr;
@@ -279,129 +278,109 @@ int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t *__m)
279278
return 0;
280279
}
281280

282-
_LIBCPP_HIDE_FROM_ABI inline
283281
int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t *__m)
284282
{
285283
return pthread_mutex_lock(__m);
286284
}
287285

288-
_LIBCPP_HIDE_FROM_ABI inline
289286
bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m)
290287
{
291288
return pthread_mutex_trylock(__m) == 0;
292289
}
293290

294-
_LIBCPP_HIDE_FROM_ABI inline
295291
int __libcpp_recursive_mutex_unlock(__libcpp_recursive_mutex_t *__m)
296292
{
297293
return pthread_mutex_unlock(__m);
298294
}
299295

300-
_LIBCPP_HIDE_FROM_ABI inline
301296
int __libcpp_recursive_mutex_destroy(__libcpp_recursive_mutex_t *__m)
302297
{
303298
return pthread_mutex_destroy(__m);
304299
}
305300

306-
_LIBCPP_HIDE_FROM_ABI inline
307301
int __libcpp_mutex_lock(__libcpp_mutex_t *__m)
308302
{
309303
return pthread_mutex_lock(__m);
310304
}
311305

312-
_LIBCPP_HIDE_FROM_ABI inline
313306
bool __libcpp_mutex_trylock(__libcpp_mutex_t *__m)
314307
{
315308
return pthread_mutex_trylock(__m) == 0;
316309
}
317310

318-
_LIBCPP_HIDE_FROM_ABI inline
319311
int __libcpp_mutex_unlock(__libcpp_mutex_t *__m)
320312
{
321313
return pthread_mutex_unlock(__m);
322314
}
323315

324-
_LIBCPP_HIDE_FROM_ABI inline
325316
int __libcpp_mutex_destroy(__libcpp_mutex_t *__m)
326317
{
327318
return pthread_mutex_destroy(__m);
328319
}
329320

330321
// Condition Variable
331-
_LIBCPP_HIDE_FROM_ABI inline
332322
int __libcpp_condvar_signal(__libcpp_condvar_t *__cv)
333323
{
334324
return pthread_cond_signal(__cv);
335325
}
336326

337-
_LIBCPP_HIDE_FROM_ABI inline
338327
int __libcpp_condvar_broadcast(__libcpp_condvar_t *__cv)
339328
{
340329
return pthread_cond_broadcast(__cv);
341330
}
342331

343-
_LIBCPP_HIDE_FROM_ABI inline
344332
int __libcpp_condvar_wait(__libcpp_condvar_t *__cv, __libcpp_mutex_t *__m)
345333
{
346334
return pthread_cond_wait(__cv, __m);
347335
}
348336

349-
_LIBCPP_HIDE_FROM_ABI inline
350337
int __libcpp_condvar_timedwait(__libcpp_condvar_t *__cv, __libcpp_mutex_t *__m,
351338
__libcpp_timespec_t *__ts)
352339
{
353340
return pthread_cond_timedwait(__cv, __m, __ts);
354341
}
355342

356-
_LIBCPP_HIDE_FROM_ABI inline
357343
int __libcpp_condvar_destroy(__libcpp_condvar_t *__cv)
358344
{
359345
return pthread_cond_destroy(__cv);
360346
}
361347

362348
// Execute once
363-
_LIBCPP_HIDE_FROM_ABI inline
364349
int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
365350
void (*init_routine)()) {
366351
return pthread_once(flag, init_routine);
367352
}
368353

369354
// Thread id
370355
// Returns non-zero if the thread ids are equal, otherwise 0
371-
_LIBCPP_HIDE_FROM_ABI inline
372356
bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2)
373357
{
374358
return t1 == t2;
375359
}
376360

377361
// Returns non-zero if t1 < t2, otherwise 0
378-
_LIBCPP_HIDE_FROM_ABI inline
379362
bool __libcpp_thread_id_less(__libcpp_thread_id t1, __libcpp_thread_id t2)
380363
{
381364
return t1 < t2;
382365
}
383366

384367
// Thread
385-
_LIBCPP_HIDE_FROM_ABI inline
386368
bool __libcpp_thread_isnull(const __libcpp_thread_t *__t) {
387369
return __libcpp_thread_get_id(__t) == 0;
388370
}
389371

390-
_LIBCPP_HIDE_FROM_ABI inline
391372
int __libcpp_thread_create(__libcpp_thread_t *__t, void *(*__func)(void *),
392373
void *__arg)
393374
{
394375
return pthread_create(__t, nullptr, __func, __arg);
395376
}
396377

397-
_LIBCPP_HIDE_FROM_ABI inline
398378
__libcpp_thread_id __libcpp_thread_get_current_id()
399379
{
400380
const __libcpp_thread_t thread = pthread_self();
401381
return __libcpp_thread_get_id(&thread);
402382
}
403383

404-
_LIBCPP_HIDE_FROM_ABI inline
405384
__libcpp_thread_id __libcpp_thread_get_id(const __libcpp_thread_t *__t)
406385
{
407386
#if defined(__MVS__)
@@ -411,144 +390,122 @@ __libcpp_thread_id __libcpp_thread_get_id(const __libcpp_thread_t *__t)
411390
#endif
412391
}
413392

414-
_LIBCPP_HIDE_FROM_ABI inline
415393
int __libcpp_thread_join(__libcpp_thread_t *__t)
416394
{
417395
return pthread_join(*__t, nullptr);
418396
}
419397

420-
_LIBCPP_HIDE_FROM_ABI inline
421398
int __libcpp_thread_detach(__libcpp_thread_t *__t)
422399
{
423400
return pthread_detach(*__t);
424401
}
425402

426-
_LIBCPP_HIDE_FROM_ABI inline
427403
void __libcpp_thread_yield()
428404
{
429405
sched_yield();
430406
}
431407

432-
_LIBCPP_HIDE_FROM_ABI inline
433408
void __libcpp_thread_sleep_for(const chrono::nanoseconds& __ns)
434409
{
435410
__libcpp_timespec_t __ts = _VSTD::__convert_to_timespec<__libcpp_timespec_t>(__ns);
436411
while (nanosleep(&__ts, &__ts) == -1 && errno == EINTR);
437412
}
438413

439414
// Thread local storage
440-
_LIBCPP_HIDE_FROM_ABI inline
441415
int __libcpp_tls_create(__libcpp_tls_key *__key, void (*__at_exit)(void *))
442416
{
443417
return pthread_key_create(__key, __at_exit);
444418
}
445419

446-
_LIBCPP_HIDE_FROM_ABI inline
447420
void *__libcpp_tls_get(__libcpp_tls_key __key)
448421
{
449422
return pthread_getspecific(__key);
450423
}
451424

452-
_LIBCPP_HIDE_FROM_ABI inline
453425
int __libcpp_tls_set(__libcpp_tls_key __key, void *__p)
454426
{
455427
return pthread_setspecific(__key, __p);
456428
}
457429

458430
#elif defined(_LIBCPP_HAS_THREAD_API_C11)
459431

460-
_LIBCPP_HIDE_FROM_ABI inline
461432
int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t *__m)
462433
{
463434
return mtx_init(__m, mtx_plain | mtx_recursive) == thrd_success ? 0 : EINVAL;
464435
}
465436

466-
_LIBCPP_HIDE_FROM_ABI inline
467437
int __libcpp_recursive_mutex_lock(__libcpp_recursive_mutex_t *__m)
468438
{
469439
return mtx_lock(__m) == thrd_success ? 0 : EINVAL;
470440
}
471441

472-
_LIBCPP_HIDE_FROM_ABI inline
473442
bool __libcpp_recursive_mutex_trylock(__libcpp_recursive_mutex_t *__m)
474443
{
475444
return mtx_trylock(__m) == thrd_success;
476445
}
477446

478-
_LIBCPP_HIDE_FROM_ABI inline
479447
int __libcpp_recursive_mutex_unlock(__libcpp_recursive_mutex_t *__m)
480448
{
481449
return mtx_unlock(__m) == thrd_success ? 0 : EINVAL;
482450
}
483451

484-
_LIBCPP_HIDE_FROM_ABI inline
485452
int __libcpp_recursive_mutex_destroy(__libcpp_recursive_mutex_t *__m)
486453
{
487454
mtx_destroy(__m);
488455
return 0;
489456
}
490457

491-
_LIBCPP_HIDE_FROM_ABI inline
492458
int __libcpp_mutex_lock(__libcpp_mutex_t *__m)
493459
{
494460
return mtx_lock(__m) == thrd_success ? 0 : EINVAL;
495461
}
496462

497-
_LIBCPP_HIDE_FROM_ABI inline
498463
bool __libcpp_mutex_trylock(__libcpp_mutex_t *__m)
499464
{
500465
return mtx_trylock(__m) == thrd_success;
501466
}
502467

503-
_LIBCPP_HIDE_FROM_ABI inline
504468
int __libcpp_mutex_unlock(__libcpp_mutex_t *__m)
505469
{
506470
return mtx_unlock(__m) == thrd_success ? 0 : EINVAL;
507471
}
508472

509-
_LIBCPP_HIDE_FROM_ABI inline
510473
int __libcpp_mutex_destroy(__libcpp_mutex_t *__m)
511474
{
512475
mtx_destroy(__m);
513476
return 0;
514477
}
515478

516479
// Condition Variable
517-
_LIBCPP_HIDE_FROM_ABI inline
518480
int __libcpp_condvar_signal(__libcpp_condvar_t *__cv)
519481
{
520482
return cnd_signal(__cv) == thrd_success ? 0 : EINVAL;
521483
}
522484

523-
_LIBCPP_HIDE_FROM_ABI inline
524485
int __libcpp_condvar_broadcast(__libcpp_condvar_t *__cv)
525486
{
526487
return cnd_broadcast(__cv) == thrd_success ? 0 : EINVAL;
527488
}
528489

529-
_LIBCPP_HIDE_FROM_ABI inline
530490
int __libcpp_condvar_wait(__libcpp_condvar_t *__cv, __libcpp_mutex_t *__m)
531491
{
532492
return cnd_wait(__cv, __m) == thrd_success ? 0 : EINVAL;
533493
}
534494

535-
_LIBCPP_HIDE_FROM_ABI inline
536495
int __libcpp_condvar_timedwait(__libcpp_condvar_t *__cv, __libcpp_mutex_t *__m,
537496
timespec *__ts)
538497
{
539498
int __ec = cnd_timedwait(__cv, __m, __ts);
540499
return __ec == thrd_timedout ? ETIMEDOUT : __ec;
541500
}
542501

543-
_LIBCPP_HIDE_FROM_ABI inline
544502
int __libcpp_condvar_destroy(__libcpp_condvar_t *__cv)
545503
{
546504
cnd_destroy(__cv);
547505
return 0;
548506
}
549507

550508
// Execute once
551-
_LIBCPP_HIDE_FROM_ABI inline
552509
int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
553510
void (*init_routine)(void)) {
554511
::call_once(flag, init_routine);
@@ -557,84 +514,71 @@ int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
557514

558515
// Thread id
559516
// Returns non-zero if the thread ids are equal, otherwise 0
560-
_LIBCPP_HIDE_FROM_ABI inline
561517
bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2)
562518
{
563519
return thrd_equal(t1, t2) != 0;
564520
}
565521

566522
// Returns non-zero if t1 < t2, otherwise 0
567-
_LIBCPP_HIDE_FROM_ABI inline
568523
bool __libcpp_thread_id_less(__libcpp_thread_id t1, __libcpp_thread_id t2)
569524
{
570525
return t1 < t2;
571526
}
572527

573528
// Thread
574-
_LIBCPP_HIDE_FROM_ABI inline
575529
bool __libcpp_thread_isnull(const __libcpp_thread_t *__t) {
576530
return __libcpp_thread_get_id(__t) == 0;
577531
}
578532

579-
_LIBCPP_HIDE_FROM_ABI inline
580533
int __libcpp_thread_create(__libcpp_thread_t *__t, void *(*__func)(void *),
581534
void *__arg)
582535
{
583536
int __ec = thrd_create(__t, reinterpret_cast<thrd_start_t>(__func), __arg);
584537
return __ec == thrd_nomem ? ENOMEM : __ec;
585538
}
586539

587-
_LIBCPP_HIDE_FROM_ABI inline
588540
__libcpp_thread_id __libcpp_thread_get_current_id()
589541
{
590542
return thrd_current();
591543
}
592544

593-
_LIBCPP_HIDE_FROM_ABI inline
594545
__libcpp_thread_id __libcpp_thread_get_id(const __libcpp_thread_t *__t)
595546
{
596547
return *__t;
597548
}
598549

599-
_LIBCPP_HIDE_FROM_ABI inline
600550
int __libcpp_thread_join(__libcpp_thread_t *__t)
601551
{
602552
return thrd_join(*__t, nullptr) == thrd_success ? 0 : EINVAL;
603553
}
604554

605-
_LIBCPP_HIDE_FROM_ABI inline
606555
int __libcpp_thread_detach(__libcpp_thread_t *__t)
607556
{
608557
return thrd_detach(*__t) == thrd_success ? 0 : EINVAL;
609558
}
610559

611-
_LIBCPP_HIDE_FROM_ABI inline
612560
void __libcpp_thread_yield()
613561
{
614562
thrd_yield();
615563
}
616564

617-
_LIBCPP_HIDE_FROM_ABI inline
618565
void __libcpp_thread_sleep_for(const chrono::nanoseconds& __ns)
619566
{
620567
__libcpp_timespec_t __ts = _VSTD::__convert_to_timespec<__libcpp_timespec_t>(__ns);
621568
thrd_sleep(&__ts, nullptr);
622569
}
623570

624571
// Thread local storage
625-
_LIBCPP_HIDE_FROM_ABI inline
626572
int __libcpp_tls_create(__libcpp_tls_key *__key, void (*__at_exit)(void *))
627573
{
628574
return tss_create(__key, __at_exit) == thrd_success ? 0 : EINVAL;
629575
}
630576

631-
_LIBCPP_HIDE_FROM_ABI inline
632577
void *__libcpp_tls_get(__libcpp_tls_key __key)
633578
{
634579
return tss_get(__key);
635580
}
636581

637-
_LIBCPP_HIDE_FROM_ABI inline
638582
int __libcpp_tls_set(__libcpp_tls_key __key, void *__p)
639583
{
640584
return tss_set(__key, __p) == thrd_success ? 0 : EINVAL;

0 commit comments

Comments
 (0)