| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D24333
llvm-svn: 295127
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Previously the cleanups (e.g. dtor calls) are inserted into the
outer scope (e.g. function body scope), instead of it's own scope. After
the fix, the cleanups are inserted right after getting the size value.
This fixes pr30306.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D24333
llvm-svn: 295123
|
| |
|
|
|
|
| |
input kind; go back to silently ignoring the flag.
llvm-svn: 295122
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that has been explicitly specialized!
We assume in various places that we can tell the template specialization kind
of a class type by looking at the declaration produced by TagType::getDecl.
That was previously not quite true: for an explicit specialization, we could
have first seen a template-id denoting the specialization (with a use that does
not trigger an implicit instantiation of the defintiion) and then seen the
first explicit specialization declaration. TagType::getDecl would previously
return an arbitrary declaration when called on a not-yet-defined class; it
now consistently returns the most recent declaration in that case.
llvm-svn: 295118
|
| |
|
|
|
|
|
|
| |
__declspec as a keyword.
Fixes PR31936.
llvm-svn: 295114
|
| |
|
|
|
|
|
|
|
| |
In case user did not provide valid standard name for -std option, available
values (with short description) will be reported.
Patch by Paweł Żukowski!
llvm-svn: 295113
|
| |
|
|
|
|
|
| |
Since r295004, LLVM has started modelling this new register, but we
don't have GCC constraint inline asm spellings for it yet.
llvm-svn: 295107
|
| |
|
|
|
|
|
|
|
| |
This is a re-try of r295085: fix up some test cases that assume that
profile name variables are preserved by the instrprof pass.
This catches one additional case in test/CoverageMapping/unused_names.c.
llvm-svn: 295101
|
| |
|
|
|
|
|
| |
This reverts commit r295085, because the corresponding llvm change was
reverted.
llvm-svn: 295100
|
| |
|
|
|
|
|
| |
The 'profn' name variables shouldn't show up after we run the instrprof
pass, see https://reviews.llvm.org/D29921 for more details.
llvm-svn: 295085
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
block or lambda.
This is a follow-up to r281682, which fixed a bug in computeBlockInfo
where the captured VarDecl's type, rather than the captured field type
of the enclosing lambda or block, was used to compute the layout of a
block.
This commit makes similar changes to enterBlockScope. This is necessary
to correctly determine whether a block capture requires cleanup.
rdar://problem/30388124
llvm-svn: 295034
|
| |
|
|
|
|
|
|
| |
ignore thiscall.
Line 38: multiple overloads of 'f' instantiate to the same signature 'void (int) __attribute__((thiscall))'
llvm-svn: 295020
|
| |
|
|
|
|
|
|
|
|
|
|
| |
guide from a constructor.
The purpose of this change is to avoid triggering instantiation of the class
when substituting back into the deduction guide if it uses a typedef member.
We will still instantiate the class if the constructor (explicitly or
implicitly, directly or indirectly) uses the current instantiation in a way
that we can't canonicalize out, but that seems unavoidable.
llvm-svn: 295016
|
| |
|
|
|
|
| |
feature-test macro, and mark feature as done on status page.
llvm-svn: 295011
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
They are a little bit of a special case in the mangling. They are always
mangled without taking into account their virtual-ness of the
destructor. They are also mangled to return void, unlike the actual
destructor.
This fixes PR31931.
Differential Revision: https://reviews.llvm.org/D29912
llvm-svn: 295010
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
such guides below explicit ones, and ensure that references to the class's
template parameters are not treated as forwarding references.
We make a few tweaks to the wording in the current standard:
1) The constructor parameter list is copied faithfully to the deduction guide,
without losing default arguments or a varargs ellipsis (which the standard
wording loses by omission).
2) If the class template declares no constructors, we add a T() -> T<...> guide
(which will only ever work if T has default arguments for all non-pack
template parameters).
3) If the class template declares nothing that looks like a copy or move
constructor, we add a T(T<...>) -> T<...> guide.
#2 and #3 follow from the "pretend we had a class type with these constructors"
philosophy for deduction guides.
llvm-svn: 295007
|
| |
|
|
|
|
| |
This bypasses integer sanitization checks which are redundant on the expression since it's been checked by Sema. Fixes a clang codegen assertion on "void test() { new int[0+1]{0}; }" when building with -fsanitize=signed-integer-overflow.
llvm-svn: 295006
|
| |
|
|
|
|
| |
rdar://29219185
llvm-svn: 295003
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds context sensitive code completion support for the C++11
keywords that currently don't have completion results.
The following keywords are supported by this patch:
alignas
constexpr
static_assert
noexcept (as a function/method qualifier)
thread_local
The following special identifiers are also supported:
final (as a method qualifier or class qualifier)
override
rdar://29219185
Differential Revision: https://reviews.llvm.org/D28286
llvm-svn: 295001
|
| |
|
|
|
|
|
|
| |
Set 5 Objective-C++ tests to run at gnu++98
Differential Revision: https://reviews.llvm.org/D29739
llvm-svn: 294997
|
| |
|
|
|
|
|
|
|
| |
Different diagnostics when format string does not match
actual arg type.
This commit contains the first 2 of 3 tests reviewed in D29685
llvm-svn: 294979
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://bugs.llvm.org/show_bug.cgi?id=31932
Based on a patch by Roland McGrath
Reviewed By: phosek
Differential Revision: https://reviews.llvm.org/D29843
llvm-svn: 294978
|
| |
|
|
|
|
|
|
| |
C++11 destructors are nothrow by default.
Differential Revision: https://reviews.llvm.org/D29859
llvm-svn: 294972
|
| |
|
|
|
|
|
|
| |
If the preamble had diagnostic state this would leave behind invalid
state in the DiagnosticsEngine and crash later. The test case runs into
an assertion in DiagnosticsEngine::setSourceManager.
llvm-svn: 294963
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Sema::CheckCompletedCoroutineBody was growing unwieldy with building all of the substatements. Also, constructors for CoroutineBodyStmt had way too many parameters.
Instead, CoroutineBodyStmt now defines CtorArgs structure with all of the required construction parameters.
CheckCompleteCoroutineBody delegates construction of individual substatements to short functions one per each substatement.
Also, added a drive-by fix of initializing CoroutinePromise to nullptr in ScopeInfo.h.
And addressed the FIXME that wanted to tail allocate extra room at the end of the CoroutineBodyStmt to hold parameter move expressions. (The comment was longer that the code that implemented tail allocation).
Reviewers: rsmith, EricWF
Subscribers: mehdi_amini, cfe-commits
Differential Revision: https://reviews.llvm.org/D28835
llvm-svn: 294933
|
| |
|
|
|
|
| |
hopefully appease the bots.
llvm-svn: 294911
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...function type with a redeclaration having the same attribute. Fixing this
introduced a secondary problem where we were assuming that K&R functions
could not be attributed types when reporting old-style function definitions
that are not preceded by a prototype."
Also Revert "Hopefully fixes a compile error introduced by r294861."
This reverts commit r294862, r294861, as they bork the ARM builds and
haven't fix it back.
Also, please, short commit titles, long commit decsriptions...
llvm-svn: 294910
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Certain ARC runtime functions have an ABI contract of being forwarding.
Annotate the functions with the appropriate `returned` attribute on the
arguments. This hoists some of the runtime ABI contract information
into the frontend rather than the backend transformations.
The test adjustments are to mark the returned function parameter as
such. The minor change to the IR output is due to the fact that the
returned reference of the object causes it to extend the lifetime of the
object by returning an autoreleased return value. The result is that
the explicit objc_autorelease call is no longer formed, as autorelease
elision is now possible on the return.
llvm-svn: 294872
|
| |
|
|
|
|
|
| |
Silence some diagnostics which clang now generates. This makes it
easier to see the failures in lit output. NFC.
llvm-svn: 294871
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The -mmcu option for GCC sets macros like __AVR_ATmega328P__ (with the trailing
underscores), be sure to include these underscores for Clangs -mcpu option.
See "AVR Built-in Macros" in https://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html
Reviewers: jroelofs, dylanmckay
Reviewed By: jroelofs, dylanmckay
Subscribers: efriedma, cfe-commits
Differential Revision: https://reviews.llvm.org/D29817
llvm-svn: 294869
|
| |
|
|
|
|
|
|
| |
with a redeclaration having the same attribute. Fixing this introduced a secondary problem where we were assuming that K&R functions could not be attributed types when reporting old-style function definitions that are not preceded by a prototype.
This patch fixes PR31020.
llvm-svn: 294861
|
| |
|
|
| |
llvm-svn: 294820
|
| |
|
|
|
|
|
| |
The Inputs/ directory is the recommended location for extra files for test
cases. No functional change.
llvm-svn: 294815
|
| |
|
|
| |
llvm-svn: 294802
|
| |
|
|
|
|
|
|
|
|
|
|
| |
What we want to actually control this behavior is something more local
than an EvalutationMode. Please see the linked revision for more
discussion on why/etc.
This fixes PR31843.
Differential Revision: https://reviews.llvm.org/D29469
llvm-svn: 294800
|
| |
|
|
|
|
| |
specialization types from within their own initializers.
llvm-svn: 294796
|
| |
|
|
|
|
|
|
| |
It's actually meaningful and useful to allow such variables to have no
initializer, but we are strictly following the standard here until the C++
committee reaches consensus on allowing this.
llvm-svn: 294785
|
| |
|
|
|
|
| |
scope as its template.
llvm-svn: 294778
|
| |
|
|
|
|
| |
syntactically match the template being deduced.
llvm-svn: 294773
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Expose the half type (fp16) through libclang and the python bindings.
It seems CXType_LastBuiltin was not updated in b2ea6d9 ("Enable
support for __float128 in Clang", 2016-04-13), so update it now.
Add an Index test for OpenCL types; in the future we will add other
OpenCL types such as images to this test.
Patch by Sven van Haastregt.
Differential Revision: https://reviews.llvm.org/D29718
llvm-svn: 294754
|
| |
|
|
|
|
|
|
|
| |
until we can get better TargetMachine::isCompatibleDataLayout to compare - otherwise
we can't code generate existing bitcode without a string equality data layout.
This reverts commit r294703.
llvm-svn: 294708
|
| |
|
|
|
|
|
|
|
|
| |
For other platforms we should find out what they need and likely
make the same change, however, a smaller additional change is easier
for platforms we know have it specified in the ABI.
clang support for r294702
llvm-svn: 294703
|
| |
|
|
|
|
| |
the same type (just like with auto deduction).
llvm-svn: 294700
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds associated constraints as a property of class templates.
An error is produced if redeclarations are not similarly constrained.
Reviewers: rsmith, faisalv, aaron.ballman
Reviewed By: rsmith
Subscribers: cfe-commits, nwilson
Differential Revision: https://reviews.llvm.org/D25674
llvm-svn: 294697
|
| |
|
|
| |
llvm-svn: 294693
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a followup change to add v7ve support to clang for gcc
compatibility. Please see r294661.
Patch by Manoj Gupta.
Differential Revision: https://reviews.llvm.org/D29773
llvm-svn: 294662
|
| |
|
|
|
|
| |
guides.
llvm-svn: 294641
|
| |
|
|
|
|
| |
Previously Clang would simply ignore the 'template' keyword in this case.
llvm-svn: 294639
|
| |
|
|
|
|
|
|
|
|
|
| |
preprocessor macros.
Added "-fdebug-macro" flag (and "-fno-debug-macro" flag) to enable (and to disable) emitting macro debug info.
Added CC1 "-debug-info-macro" flag that enables emitting macro debug info.
Differential Revision: https://reviews.llvm.org/D16135
llvm-svn: 294637
|
| |
|
|
|
|
| |
deduction-guides.
llvm-svn: 294613
|