Commit Graph

54851 Commits

Author SHA1 Message Date
Chris Kitching 64a26027b7 Be agnostic to the new getReplacements() API
See comment


[ROCm/clr commit: a06fe54ee8]
2017-10-19 17:08:55 +01:00
Chris Kitching a06fe54ee8 Be agnostic to the new getReplacements() API
See comment
2017-10-19 17:08:55 +01:00
Chris Kitching 6718519025 Be agnostic to the new getReplacements() API
See comment
2017-10-19 17:08:55 +01:00
Chris Kitching 5e09ca10b7 Use inline initialisers to set default field values
A trivial cleanup that helps in a moment..


[ROCm/clr commit: 9d83348ac7]
2017-10-19 17:08:55 +01:00
Chris Kitching 9d83348ac7 Use inline initialisers to set default field values
A trivial cleanup that helps in a moment..
2017-10-19 17:08:55 +01:00
Chris Kitching 24fc459f69 Use inline initialisers to set default field values
A trivial cleanup that helps in a moment..
2017-10-19 17:08:55 +01:00
Chris Kitching fd9bc0d0d8 Omit now-removed Filename string arg from handleBeginSource
[ROCm/clr commit: abd34b2125]
2017-10-19 17:08:55 +01:00
Chris Kitching abd34b2125 Omit now-removed Filename string arg from handleBeginSource 2017-10-19 17:08:55 +01:00
Chris Kitching 7ae6a10c99 Omit now-removed Filename string arg from handleBeginSource 2017-10-19 17:08:55 +01:00
Chris Kitching a21737be39 Cope with Replacements now having llvm::Error returns
[ROCm/clr commit: 885573e1e2]
2017-10-19 17:08:54 +01:00
Chris Kitching 885573e1e2 Cope with Replacements now having llvm::Error returns 2017-10-19 17:08:54 +01:00
Chris Kitching 7e253365f1 Cope with Replacements now having llvm::Error returns 2017-10-19 17:08:54 +01:00
Chris Kitching db2b03b879 Cope with clang 4.0's rename of getNumArgs()
Sorry, this one I couldn't do in a perfectly elegant way ;)


[ROCm/clr commit: 9ccb966e2b]
2017-10-19 17:08:54 +01:00
Chris Kitching 9ccb966e2b Cope with clang 4.0's rename of getNumArgs()
Sorry, this one I couldn't do in a perfectly elegant way ;)
2017-10-19 17:08:54 +01:00
Chris Kitching 575bedb28c Cope with clang 4.0's rename of getNumArgs()
Sorry, this one I couldn't do in a perfectly elegant way ;)
2017-10-19 17:08:54 +01:00
Chris Kitching ae40d4bdea Remove unnecessary call to Retain() on a smart pointer
The Preprocessor smart pointer is held by the CompilerInstance,
and therefore its reference count cannot reach zero until the
CompilerInstance itself is destroyed.

If the CompilerInstance is destroyed, you have more to worry about
than just the preprocessor being deallocated!

Newer versions of the LLVM/Clang API migrated to using
std::shared_ptr, so there is no `Retain()` function (by that
name, anyway). Eliminating this redundant use is a neat and
backward-compatible way to become compatible with newer versions
of the LLVM/Clang API.


[ROCm/clr commit: 22a5e2330d]
2017-10-19 17:08:54 +01:00
Chris Kitching 22a5e2330d Remove unnecessary call to Retain() on a smart pointer
The Preprocessor smart pointer is held by the CompilerInstance,
and therefore its reference count cannot reach zero until the
CompilerInstance itself is destroyed.

If the CompilerInstance is destroyed, you have more to worry about
than just the preprocessor being deallocated!

Newer versions of the LLVM/Clang API migrated to using
std::shared_ptr, so there is no `Retain()` function (by that
name, anyway). Eliminating this redundant use is a neat and
backward-compatible way to become compatible with newer versions
of the LLVM/Clang API.
2017-10-19 17:08:54 +01:00
Chris Kitching 0953a7887d Remove unnecessary call to Retain() on a smart pointer
The Preprocessor smart pointer is held by the CompilerInstance,
and therefore its reference count cannot reach zero until the
CompilerInstance itself is destroyed.

If the CompilerInstance is destroyed, you have more to worry about
than just the preprocessor being deallocated!

Newer versions of the LLVM/Clang API migrated to using
std::shared_ptr, so there is no `Retain()` function (by that
name, anyway). Eliminating this redundant use is a neat and
backward-compatible way to become compatible with newer versions
of the LLVM/Clang API.
2017-10-19 17:08:54 +01:00
Chris Kitching 3f284c0927 Refer to clang::StringLiteral explicitly
Newer versions of llvm/clang mean there is both an
llvm::StringLiteral and a clang::StringLiteral. Since we're
dumping both namespaces wholesale into the global namespace with
`using` declarations, this creates a name collision, which must be
resolved.

This change is backwards-compatible, and fixes a problem you
encounter when using newer versions of the llvm/clang API.


[ROCm/clr commit: 73984ed809]
2017-10-19 17:08:54 +01:00
Chris Kitching 73984ed809 Refer to clang::StringLiteral explicitly
Newer versions of llvm/clang mean there is both an
llvm::StringLiteral and a clang::StringLiteral. Since we're
dumping both namespaces wholesale into the global namespace with
`using` declarations, this creates a name collision, which must be
resolved.

This change is backwards-compatible, and fixes a problem you
encounter when using newer versions of the llvm/clang API.
2017-10-19 17:08:54 +01:00
Chris Kitching 2975d00edc Refer to clang::StringLiteral explicitly
Newer versions of llvm/clang mean there is both an
llvm::StringLiteral and a clang::StringLiteral. Since we're
dumping both namespaces wholesale into the global namespace with
`using` declarations, this creates a name collision, which must be
resolved.

This change is backwards-compatible, and fixes a problem you
encounter when using newer versions of the llvm/clang API.
2017-10-19 17:08:54 +01:00
Chris Kitching 17903e9dbd Fix two faulty LLVM version checks
What we actually want to do here is use the StringRef version in
versions newer than 3.8, and the void one in 3.8 and older.

Checking "major-version >= 3 && minor-version >= 9" does not do
what we want. Consider what this will do for version 4.0, for
which minor-version is zero...


[ROCm/clr commit: c876f6ffd5]
2017-10-19 17:08:54 +01:00
Chris Kitching c876f6ffd5 Fix two faulty LLVM version checks
What we actually want to do here is use the StringRef version in
versions newer than 3.8, and the void one in 3.8 and older.

Checking "major-version >= 3 && minor-version >= 9" does not do
what we want. Consider what this will do for version 4.0, for
which minor-version is zero...
2017-10-19 17:08:54 +01:00
Chris Kitching 3a2fe40f78 Fix two faulty LLVM version checks
What we actually want to do here is use the StringRef version in
versions newer than 3.8, and the void one in 3.8 and older.

Checking "major-version >= 3 && minor-version >= 9" does not do
what we want. Consider what this will do for version 4.0, for
which minor-version is zero...
2017-10-19 17:08:54 +01:00
Chris Kitching 37764de428 Use the cache for global variables - not PARENT_SCOPE hacks
[ROCm/clr commit: ed6681f563]
2017-10-19 17:08:54 +01:00
Chris Kitching ed6681f563 Use the cache for global variables - not PARENT_SCOPE hacks 2017-10-19 17:08:54 +01:00
Chris Kitching be5a120f90 Use the cache for global variables - not PARENT_SCOPE hacks 2017-10-19 17:08:54 +01:00
Chris Kitching f736f861b8 Skip lit tests if lit cannot be found
[ROCm/clr commit: 6abd8963ae]
2017-10-19 17:08:54 +01:00
Chris Kitching 6abd8963ae Skip lit tests if lit cannot be found 2017-10-19 17:08:54 +01:00
Chris Kitching 9a3faec12c Skip lit tests if lit cannot be found 2017-10-19 17:08:54 +01:00
Chris Kitching 95e1706537 Don't reinvent find_package
PythonInterp is a finder module that ships with cmake. It supports
the conventional interaction with find_package that allows you
to demand success, and particular vesions, without having your
own logic:

https://cmake.org/cmake/help/v3.0/command/find_package.html


[ROCm/clr commit: c62766f880]
2017-10-19 17:08:53 +01:00
Chris Kitching c62766f880 Don't reinvent find_package
PythonInterp is a finder module that ships with cmake. It supports
the conventional interaction with find_package that allows you
to demand success, and particular vesions, without having your
own logic:

https://cmake.org/cmake/help/v3.0/command/find_package.html
2017-10-19 17:08:53 +01:00
Chris Kitching 764d89dcbe Don't reinvent find_package
PythonInterp is a finder module that ships with cmake. It supports
the conventional interaction with find_package that allows you
to demand success, and particular vesions, without having your
own logic:

https://cmake.org/cmake/help/v3.0/command/find_package.html
2017-10-19 17:08:53 +01:00
Chris Kitching 35943634ea Don't be picky about clang versions
[ROCm/clr commit: 03dd8c9fca]
2017-10-19 17:08:53 +01:00
Chris Kitching 03dd8c9fca Don't be picky about clang versions 2017-10-19 17:08:53 +01:00
Chris Kitching 757b9c3b76 Don't be picky about clang versions 2017-10-19 17:08:53 +01:00
Chris Kitching 9eac4a2012 Declare HIPIFY_CLANG_TESTS as a cmake option
[ROCm/clr commit: b926cdf002]
2017-10-19 17:08:53 +01:00
Chris Kitching b926cdf002 Declare HIPIFY_CLANG_TESTS as a cmake option 2017-10-19 17:08:53 +01:00
Chris Kitching cb948dc7fd Declare HIPIFY_CLANG_TESTS as a cmake option 2017-10-19 17:08:53 +01:00
Chris Kitching 28ebdf5379 Use early return to avoid indenting all of CMakeLists.txt
[ROCm/clr commit: d3a5646051]
2017-10-19 17:08:53 +01:00
Chris Kitching d3a5646051 Use early return to avoid indenting all of CMakeLists.txt 2017-10-19 17:08:53 +01:00
Chris Kitching 51ee1bdc2d Use early return to avoid indenting all of CMakeLists.txt 2017-10-19 17:08:53 +01:00
Chris Kitching a0c26d39f9 Fix broken indentation introduced by previous commit
[ROCm/clr commit: 72c9767b1d]
2017-10-19 17:08:53 +01:00
Chris Kitching 72c9767b1d Fix broken indentation introduced by previous commit 2017-10-19 17:08:53 +01:00
Chris Kitching 517d46c333 Fix broken indentation introduced by previous commit 2017-10-19 17:08:53 +01:00
Evgeny Mankov f81de9d680 Merge pull request #217 from ChrisKitching/cxx
[HIPIFY] Don't reject C++ > 11 language features

[ROCm/clr commit: c648621510]
2017-10-19 17:38:18 +03:00
Evgeny Mankov c648621510 Merge pull request #217 from ChrisKitching/cxx
[HIPIFY] Don't reject C++ > 11 language features
2017-10-19 17:38:18 +03:00
Evgeny Mankov 76975f5928 Merge pull request #217 from ChrisKitching/cxx
[HIPIFY] Don't reject C++ > 11 language features
2017-10-19 17:38:18 +03:00
Chris Kitching 5cbaf06867 Inline a redundant std::vector
Looks like a partial refactor..?


[ROCm/clr commit: 6165b65d21]
2017-10-19 14:11:25 +01:00
Chris Kitching 6165b65d21 Inline a redundant std::vector
Looks like a partial refactor..?
2017-10-19 14:11:25 +01:00