| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
This compiles with no changes to clang/lld/lldb with MSVC and includes
overloads to various functions which are used by those projects and llvm
which have OwningPtr's as parameters. This should allow out of tree
projects some time to move. There are also no changes to libs/Target,
which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
|
| |
|
|
|
|
|
|
|
| |
When using a //net/ path, we were transforming the trailing / into a '.'
when the path was just the root path and we were iterating backwards.
Forwards iteration and other kinds of root path (C:\, /) were already
correct.
llvm-svn: 202999
|
| |
|
|
|
|
|
|
| |
This will allow external callers of these functions to switch over time
rather than forcing a breaking change all a once. These particular
functions were determined by building clang/lld/lldb.
llvm-svn: 202959
|
| |
|
|
| |
llvm-svn: 202957
|
| |
|
|
|
|
| |
Found self-hosting clang-cl on windows. :)
llvm-svn: 202935
|
| |
|
|
| |
llvm-svn: 202902
|
| |
|
|
| |
llvm-svn: 202895
|
| |
|
|
| |
llvm-svn: 202883
|
| |
|
|
|
|
|
|
|
|
| |
a bit surprising, as the class is almost entirely abstracted away from
any particular IR, however it encodes the comparsion predicates which
mutate ranges as ICmp predicate codes. This is reasonable as they're
used for both instructions and constants. Thus, it belongs in the IR
library with instructions and constants.
llvm-svn: 202838
|
| |
|
|
| |
llvm-svn: 202791
|
| |
|
|
|
|
|
| |
Breaks the MSVC build.
DataStream.cpp(44): error C2552: 'llvm::Statistic::Value' : non-aggregates cannot be initialized with initializer list
llvm-svn: 202731
|
| |
|
|
|
|
|
|
|
|
|
| |
With C++11 we finally have a standardized way to specify atomic operations. Use
them to replace the existing custom implemention. Sadly the translation is not
entirely trivial as std::atomic allows more fine-grained control over the
atomicity. I tried to preserve the old semantics as well as possible.
Differential Revision: http://llvm-reviews.chandlerc.com/D2915
llvm-svn: 202730
|
| |
|
|
|
|
| |
The old implementation is no longer needed in C++11.
llvm-svn: 202644
|
| |
|
|
|
|
| |
access to it on all host toolchains.
llvm-svn: 202642
|
| |
|
|
| |
llvm-svn: 202621
|
| |
|
|
|
|
| |
directly, and remove the macro.
llvm-svn: 202612
|
| |
|
|
|
|
|
|
| |
of boilerplate.
No intended functionality change.
llvm-svn: 202588
|
| |
|
|
|
|
| |
libraries. It is now always 1 in LLVM builds.
llvm-svn: 202580
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
lib/Support/RWMutex.cpp contains an implementation of RWMutex that
uses pthread_rwlock, but when pthread_rwlock is not available (such as
under NaCl, when using newlib), it silently falls back to using the
no-op definition in lib/Support/Unix/RWMutex.inc, which is not
thread-safe.
Fix this case to be thread-safe by using a normal mutex.
Differential Revision: http://llvm-reviews.chandlerc.com/D2892
llvm-svn: 202570
|
| |
|
|
|
|
|
|
|
|
|
| |
Tools that use the CommandLine library currently exit with an error
when invoked with -version or -help. This is unusual and non-standard,
so we'll fix them to exit successfully instead.
I don't expect that anyone relies on the current behaviour, so this
should be a fairly safe change.
llvm-svn: 202530
|
| |
|
|
|
|
| |
to loadable modules in r201256.
llvm-svn: 202404
|
| |
|
|
|
|
| |
This reverts commit r202225, which may cause a performance regression.
llvm-svn: 202338
|
| |
|
|
| |
llvm-svn: 202316
|
| |
|
|
|
|
| |
LLVMSupport.
llvm-svn: 202263
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
increase opportunity for parallel build.
target_link_libraries(INTERFACE) doesn't bring inter-target dependencies in add_library,
although final targets have dependencies to whole dependent libraries.
It makes most libraries can be built in parallel.
target_link_libraries(PRIVATE) is used to shaared library.
Each dependent library is linked to the target.so, and its user will not see its grandchildren.
For example,
- libclang.so has sufficient libclang*.a(s).
- c-index-test requires just only libclang.so.
FIXME: lld is tweaked minimally. Adding INTERFACE in each library would be better thing.
llvm-svn: 202241
|
| |
|
|
| |
llvm-svn: 202225
|
| |
|
|
|
|
|
|
|
| |
After this I will set the default back to F_None. The advantage is that
before this patch forgetting to set F_Binary would corrupt a file on windows.
Forgetting to set F_Text produces one that cannot be read in notepad, which
is a better failure mode :-)
llvm-svn: 202052
|
| |
|
|
| |
llvm-svn: 202024
|
| |
|
|
|
|
|
| |
The only extra bit of functionality that had to be exposed for this be be
implemented in Path.cpp is opening a file in rw mode.
llvm-svn: 202005
|
| |
|
|
| |
llvm-svn: 202001
|
| |
|
|
| |
llvm-svn: 201983
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch they would take an boolean argument to say if the path
already existed. This was redundant with the returned error_code which is able
to represent that. This allowed for callers to incorrectly check only the
existed flag instead of first checking the error code.
Instead, pass in a boolean flag to say if the previous (non-)existence should be
an error or not.
Callers of the of the old simple versions are not affected. They still ignore
the previous (non-)existence as they did before.
llvm-svn: 201979
|
| |
|
|
| |
llvm-svn: 201975
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The LLVMSupport library implementation consolidates all dependencies on
system libraries. Move the logic gathering system libraries out of
'cmake/modules/LLVM-Config.cmake' and into 'lib/Support/CMakeLists.txt'.
Use the target_link_libraries() command there to tell CMake about the
link dependencies of the LLVMSupport implementation. CMake will
automatically propagate this to all targets that link LLVMSupport
directly or indirectly.
We still need to build knowledge of system library dependencies into
'llvm-config'. Store the list of libraries needed in a property on
LLVMSupport and teach 'tools/llvm-config/CMakeLists.txt' to retrieve it
from there.
Drop all calls to 'link_system_libs' and 'get_system_libs' from our
CMake code. Replace their implementations with a warning that explains
the calls are no longer necessary. Also drop from 'LLVMConfig.cmake'
the HAVE_* and related variables that were published there only to allow
'get_system_libs' to run outside our build process.
Contributed by Brad King.
llvm-svn: 201969
|
| |
|
|
| |
llvm-svn: 201939
|
| |
|
|
|
|
| |
Windows.
llvm-svn: 201811
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is an optimistic version of create_diretories: it tries to create the
directory first and looks at the parent only if that fails.
Running strace on "mkdir -p" shows that it is pessimistic, calling mkdir on
every element of the path. We could implement that if needed.
In any case, with both strategies there is no reason to call stat, just check
the return of mkdir.
llvm-svn: 201347
|
| |
|
|
| |
llvm-svn: 201327
|
| |
|
|
| |
llvm-svn: 201289
|
| |
|
|
| |
llvm-svn: 201258
|
| |
|
|
| |
llvm-svn: 201255
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I found that swapping the order of some header files helped fix a
build issue that we're seeing on mingw32. Without the swap, windows.h
was being included before _WIN32_WINNT was being defined and the
CreateHardLinkW function was #ifdef'd out.
It looks like the header is mainly used to get the SHGetFolderPathW
function, so I don't think that there'll be much fallout from the
switch.
Suggested by Alex Crichton. Thanks!
llvm-svn: 201230
|
| |
|
|
|
|
| |
only current user should be using toEpochTime() instead.
llvm-svn: 201136
|
| |
|
|
| |
llvm-svn: 201125
|
| |
|
|
|
|
| |
rand_s() since MinGW does not have an implementation for it, but instead using the underlying CryptGenRandom APIs.
llvm-svn: 201124
|
| |
|
|
| |
llvm-svn: 201077
|
| |
|
|
|
|
|
| |
An intermediate solution until the problems with analyzer plugins linking with
llvm/Support and causing assertions due to duplicate GeneralCategory are solved.
llvm-svn: 200981
|
| |
|
|
| |
llvm-svn: 200973
|
| |
|
|
|
|
|
|
| |
This reverts commit r200853.
It was causing clang/Analysis/checker-plugins.c to crash.
llvm-svn: 200858
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The check performed in the comparator is invalid, as some STL
implementations enforce strict weak ordering by calling the comparator with the
same value. This check was also in a wrong place: the assertion would only fire
when -help was used. The new check is performed each time the category is
registered (we are not going to have thousands of them, so it's fine to do it in
O(N^2)).
Reviewers: jordan_rose
Reviewed By: jordan_rose
CC: cfe-commits, alexmc
Differential Revision: http://llvm-reviews.chandlerc.com/D2699
llvm-svn: 200853
|