- Oct 09, 2016
-
-
Justin Lebar authored
This is obviously wrong -- if we do this, then all compiles will pick up these wrappers, which is not what we want. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283683 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Lebar authored
Summary: We do this by wrapping <complex> and <algorithm>. Tests are in the test-suite. Reviewers: tra Subscribers: jhen, beanz, cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D24979 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283680 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Lebar authored
Summary: This matches the idiom we use for our other CUDA wrapper headers. Reviewers: tra Subscribers: beanz, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D24978 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283679 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Lebar authored
Summary: Currently we declare our inline __device__ math functions in namespace std. But libstdc++ and libc++ declare these functions in an inline namespace inside namespace std. We need to match this because, in a later patch, we want to get e.g. <complex> to use our device overloads, and it only will if those overloads are in the right inline namespace. Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: https://reviews.llvm.org/D24977 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283678 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Lebar authored
Summary: These cause us to consider all functions in-between to be __host__ __device__. You can nest these pragmas; you just can't have more 'end's than 'begin's. Reviewers: rsmith Subscribers: tra, jhen, cfe-commits Differential Revision: https://reviews.llvm.org/D24975 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283677 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 08, 2016
-
-
Mehdi Amini authored
The core of the change is supposed to be NFC, however it also fixes what I believe was an undefined behavior when calling: va_start(ValueArgs, Desc); with Desc being a StringRef. Differential Revision: https://reviews.llvm.org/D25342 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283671 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283662 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
The parent commit (r283092) was reverted before and now finally landed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283661 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
The parent commit (r283092) was reverted before and now finally landed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283660 91177308-0d34-0410-b5e6-96231b3b80d8
-
Yaron Keren authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283657 91177308-0d34-0410-b5e6-96231b3b80d8
-
Mehdi Amini authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283645 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Lebar authored
Summary: Move CheckCUDACall from ActOnCallExpr and BuildDeclRefExpr to DiagnoseUseOfDecl. This lets us catch some edge cases we were missing, specifically around class operators. This necessitates a few other changes: - Avoid emitting duplicate deferred diags in CheckCUDACall. Previously we'd carefully placed our call to CheckCUDACall such that it would only ever run once for a particular callsite. But now this isn't the case. - Emit deferred diagnostics from a template specialization/instantiation's primary template, in addition to from the specialization/instantiation itself. DiagnoseUseOfDecl ends up putting the deferred diagnostics on the template, rather than the specialization, so we need to check both. Reviewers: rsmith Subscribers: cfe-commits, tra Differential Revision: https://reviews.llvm.org/D24573 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283637 91177308-0d34-0410-b5e6-96231b3b80d8
-
Mehdi Amini authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283616 91177308-0d34-0410-b5e6-96231b3b80d8
-
Mehdi Amini authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283615 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 07, 2016
-
-
Mehdi Amini authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283611 91177308-0d34-0410-b5e6-96231b3b80d8
-
Mehdi Amini authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283605 91177308-0d34-0410-b5e6-96231b3b80d8
-
Douglas Katzman authored
'warn_attribute_wrong_decl_type' has to stay in sync with 'enum AttributeDeclKind' which is much easier when they line up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283601 91177308-0d34-0410-b5e6-96231b3b80d8
-
Michal Gorny authored
Revert the -print-libgcc-file-name change as the new test fails on Darwin. It needs to be updated to run the libgcc part only on systems supporting that rtlib. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283586 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
The problem that caused the msvc crash has been indentified and fixed in the previous commit. This patch contains the rest of r283092. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283584 91177308-0d34-0410-b5e6-96231b3b80d8
-
Nirav Dave authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283583 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
Remove the brace default initializer to see if this is what's causing the msvc crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283574 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
This is the primary suspect for causing the msvc crash, now that vector of smart pointers was proven to be safe. Probably the default {}-initializer is the problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283573 91177308-0d34-0410-b5e6-96231b3b80d8
-
Michal Gorny authored
Make the -print-libgcc-file-name option print an appropriate compiler runtime library, that is libgcc.a if gcc runtime is used and an appropriate compiler-rt library if that runtime is used. The main use for this is to allow linking executables built with -nodefaultlibs (e.g. to avoid linking to the standard C++ library) to the compiler runtime library, e.g. using: clang++ ... -nodefaultlibs $(clang++ ... -print-libgcc-file-name) in which case currently a program built like this linked to the gcc runtime unconditionally. The patch fixes it to use compiler-rt libraries instead when compiler-rt is the active runtime. Differential Revision: https://reviews.llvm.org/D25338 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283572 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
Define the list of pieces in BugReport class. This is half of the changes in the BugReport class code, which is pointed to by the msvc crash message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283568 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
Define PathDiagnosticNotePiece. The next commit would be able to address the BugReport class code that is pointed to by the msvc crash message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283566 91177308-0d34-0410-b5e6-96231b3b80d8
-
https://reviews.llvm.org/D25132Dehao Chen authored
Summary: https://reviews.llvm.org/D25132 added discriminator even add -g0. This leads to test fail which is addressed in thie patch. Reviewers: davidxl, dnovillo Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25133 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283564 91177308-0d34-0410-b5e6-96231b3b80d8
-
Daniel Marjamaki authored
Returns when calling an inline function should not be merged in the ExplodedGraph unless they are same. Differential Revision: https://reviews.llvm.org/D25326 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283554 91177308-0d34-0410-b5e6-96231b3b80d8
-
Simon Pilgrim authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283549 91177308-0d34-0410-b5e6-96231b3b80d8
-
Javed Absar authored
This patch adds Cortex-R52, the new ARM real-time processor. Cortex-R52 implements the ARMv8-R architecture. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283543 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283541 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283540 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
Vector of smart pointers wasn't the thing that caused msvc crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283537 91177308-0d34-0410-b5e6-96231b3b80d8
-
Artem Dergachev authored
Replace SmallVector<IntrusiveRefCntPtr> with a vector of plain pointers. Would insignificantly increase memory usage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283536 91177308-0d34-0410-b5e6-96231b3b80d8
-
Mehdi Amini authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283527 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
CheckSingleAssignmentConstraints. These no longer produce ExprError() when they have not emitted an error, and reliably inform the caller when they *have* emitted an error. This fixes some serious issues where we would fail to emit any diagnostic for invalid code and then attempt to emit code for an invalid AST, and conversely some issues where we would emit two diagnostics for the same problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283508 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Oct 06, 2016
-
-
Anton Yartsev authored
Currently if the path diagnostic consumer (e.g HTMLDiagnostics and PlistDiagnostics) do not support cross file diagnostics then the path diagnostic report is silently omitted in the case of cross file diagnostics. The patch adds a little verbosity to Clang in this case. The patch also adds help entry for the "--analyzer-output" driver option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283499 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283498 91177308-0d34-0410-b5e6-96231b3b80d8
-
Eric Fiselier authored
Summary: Previously the statement `co_return {42}` would be transformed into `P.return_void()`, since the type of `{42}` is represented as `void` by Clang. This patch fixes the bug by checking for `InitListExpr` arguments and transforming them accordingly. Reviewers: majnemer, GorNishanov, rsmith Subscribers: mehdi_amini, cfe-commits Differential Revision: https://reviews.llvm.org/D25296 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283495 91177308-0d34-0410-b5e6-96231b3b80d8
-
Richard Smith authored
the resulting specialization is not referenced by the rest of the AST. This both avoids performing unnecessary reinstantiations in downstream users of the AST file and fixes a bug (breaking modules self-host right now) where we would sometimes fail to emit a definition of a class template specialization if we imported just a declaration of it from elsewhere (see new testcase for reduced example). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283489 91177308-0d34-0410-b5e6-96231b3b80d8
-
Justin Lebar authored
Looks like the smart quote was copy/pasted from the C++ standard. The smart quote was not encoded as valid UTF-8 (?), even though vim was detecting the file as UTF-8. This broke the clang-format Python script, which tried to read the file using the same encoding as vim detected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283487 91177308-0d34-0410-b5e6-96231b3b80d8
-