[Support] Include Support/thread.h before api implementations (#111175)

This header was included after the implementations to work around an
issue with FreeBSD, however, , this causes some issues when
dllexport\explicit visibility
attributes will be added to the headers on Windows, since the
definitions need to see the declarations for the attributes to apply.

This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and plugins on
windows.

---------

Co-authored-by: Tom Stellard <tstellar@redhat.com>
This commit is contained in:
Thomas FranshamandTom Stellard authored and GitHub committed 2024-10-10 07:45:29 +03:00
1 parent 1be849c529
commit 9093ba9f7e
2 files changed
+8

No files matched your search

+7
View File
@@ -33,6 +33,13 @@
#include <pthread_np.h> // For pthread_getthreadid_np() / pthread_set_name_np()
#endif
// Must be included after Threading.inc to provide definition for llvm::thread
// because FreeBSD's condvar.h (included by user.h) misuses the "thread"
// keyword.
#ifndef __FreeBSD__
#include "llvm/Support/thread.h"
#endif
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#include <errno.h>
#include <sys/cpuset.h>
+1
View File
@@ -12,6 +12,7 @@
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/thread.h"
#include "llvm/Support/Windows/WindowsSupport.h"
#include <process.h>