For some reason your comments aren't showing up on Phabricator, so replying
via email - hope everybody sees it.
If SPs are now all finalized early - I'm assuming there's some other code
> that finalizes SPs that's no longer needed?
>
Not all of them, just the one before cloning. I wanted to make
Go for it
On May 31, 2017 20:07, "Eric Fiselier via Phabricator" <
revi...@reviews.llvm.org> wrote:
> EricWF added a comment.
>
> @loladiro The patch doesn't apply correctly to the test. Do you mind if I
> hijack this and fix it?
>
>
> Repository:
> rL LLVM
>
> https://reviews.llvm.org/D24371
>
Author: kfischer
Date: Thu Jun 1 13:54:16 2017
New Revision: 304451
URL: http://llvm.org/viewvc/llvm-project?rev=304451&view=rev
Log:
[SemaCXX] Add diagnostics to require_constant_initialization
Summary:
This hooks up the detailed diagnostics of why constant initialization was
not possible if re
Author: kfischer
Date: Thu Jun 1 16:14:03 2017
New Revision: 304470
URL: http://llvm.org/viewvc/llvm-project?rev=304470&view=rev
Log:
[CGDebugInfo] Finalize SubPrograms when we're done with them
`GenerateVarArgsThunk` in `CGVTables` clones a function before the frontend
is done emitting the comp
Author: kfischer
Date: Fri Jun 7 16:34:00 2019
New Revision: 362855
URL: http://llvm.org/viewvc/llvm-project?rev=362855&view=rev
Log:
[analyzer] Add werror flag for analyzer warnings
Summary:
We're using the clang static analyzer together with a number of
custom analyses in our CI system to ensu
loladiro updated this revision to Diff 72581.
loladiro added a comment.
back to _VSTD::forward, address review comments, add tests for non-empty
deleter and unique_ptrs of arrays.
Repository:
rL LLVM
https://reviews.llvm.org/D24372
Files:
include/memory
test/std/utilities/memory/unique.
loladiro added a comment.
Before I commit this, I just realized
__libcpp_compressed_pair_imp& operator=(const __libcpp_compressed_pair_imp&
__p)
_NOEXCEPT_(is_nothrow_copy_assignable<_T1>::value &&
is_nothrow_copy_assignable<_T2>::value)
{
_T1::operator=(
loladiro updated this revision to Diff 72712.
loladiro added a comment.
Some extra _AFTER_CXX11 that may be necessary - please double check me here,
C++11 constexpr rules are not exactly my specialty ;).
Repository:
rL LLVM
https://reviews.llvm.org/D24372
Files:
include/memory
test/std/
loladiro added a comment.
Bump, please do take another close look at the latest update, particularly with
respecting to marking things constexpr that are not so in C++11.
Repository:
rL LLVM
https://reviews.llvm.org/D24372
___
cfe-commits mailin
loladiro created this revision.
loladiro added reviewers: EricWF, aaron.ballman, rsmith.
loladiro added a subscriber: cfe-commits.
loladiro set the repository for this revision to rL LLVM.
This hooks up the detailed diagnostics why constant initialization was not
possible if require_constant_init
loladiro created this revision.
loladiro added reviewers: EricWF, mclow.lists.
loladiro added a subscriber: cfe-commits.
loladiro set the repository for this revision to rL LLVM.
Without this, unique_ptr is not constant initialized. I've added a test to that
extent.
Unfortunately, I believe there
loladiro added inline comments.
Comment at: lib/Sema/SemaDecl.cpp:10535-10538
@@ -10534,1 +10534,6 @@
<< attr->getRange();
+APValue Value;
+SmallVector Notes;
+cast(var->ensureEvaluatedStmt()->Value)->EvaluateAsInitializer(
+ Value, getA
loladiro updated this revision to Diff 70915.
loladiro added a comment.
Address review comments:
- Disable C++11 test that lacks source locations
- Use CacheCulprit to give diagnostics for < C++11
Repository:
rL LLVM
https://reviews.llvm.org/D24371
Files:
lib/Sema/SemaDecl.cpp
test/Sema
loladiro added a comment.
Small bump here. Is it possible to rewrite these without std::forward, so we
can have the const-initialization behavior on C++11 (or is there are different
solution?).
Repository:
rL LLVM
https://reviews.llvm.org/D24372
__
loladiro added inline comments.
Comment at: include/memory:2137
@@ -2132,3 +2136,3 @@
-_LIBCPP_INLINE_VISIBILITY
+_LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
__libcpp_compressed_pair_imp& operator=(__libcpp_compressed_pair_imp&& __p)
mclow.lists wro
loladiro updated this revision to Diff 71528.
loladiro added a comment.
Add private copy of forward (__forward) that is constexpr even in C++11 mode,
use test suggested by @rsmith
Repository:
rL LLVM
https://reviews.llvm.org/D24372
Files:
include/memory
test/std/utilities/memory/unique
loladiro added a comment.
I came across a situation again where this would be useful to have. I know this
was approved, but looking it looks like I wanted @majnemer to have another look.
https://reviews.llvm.org/D13330
___
cfe-commits mailing list
loladiro added a comment.
Since this was approved, I'll rebase and commit.
Repository:
rL LLVM
https://reviews.llvm.org/D13419
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
loladiro added a comment.
Ok then, will commit.
Repository:
rL LLVM
https://reviews.llvm.org/D24372
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
loladiro updated this revision to Diff 76094.
loladiro added a comment.
Rebased patch
Repository:
rL LLVM
https://reviews.llvm.org/D13419
Files:
lib/AST/Decl.cpp
lib/AST/DeclCXX.cpp
test/CodeGenCXX/visibility.cpp
Index: test/CodeGenCXX/visibility.cpp
==
loladiro added a comment.
Hmm, the rebased version of this introduces new errors in
`test/Modules/cxx-templates.cpp`. That test didn't exist when I wrote this code
and I'm not familiar with templates. @rsmith could you take a look, error is:
error: 'error' diagnostics seen but not expected:
loladiro set the repository for this revision to rL LLVM.
loladiro updated this revision to Diff 76102.
loladiro added a comment.
Rebased on current master.
Repository:
rL LLVM
https://reviews.llvm.org/D13330
Files:
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/cl
loladiro added a comment.
I found a bug in this which I need to fix, but while I'm at it, in doing more
testing on this, I came across the following corner case:
template
struct static_separate_template {
typedef T element;
static T *a_static_field;
};
extern template struct
loladiro added a comment.
I meant
`template __attribute__((unique_instantiation)) int *
static_separate_template::a_static_field;`
of course, though we probably need a better diagnostic for the other spelling
(which applies the attribute to the static_separate_template). I'll look
into adding
loladiro updated this revision to Diff 76256.
loladiro added a comment.
Fix for the corner case I found and add it as a test.
Repository:
rL LLVM
https://reviews.llvm.org/D13330
Files:
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.t
loladiro updated this revision to Diff 76257.
loladiro added a comment.
Add the expected-error annotation
Repository:
rL LLVM
https://reviews.llvm.org/D13419
Files:
lib/AST/Decl.cpp
lib/AST/DeclCXX.cpp
test/CodeGenCXX/visibility.cpp
test/Modules/cxx-templates.cpp
Index: test/Modules
loladiro added inline comments.
Comment at: lib/AST/DeclCXX.cpp:1349-1354
+ while (!CTD->isMemberSpecialization()) {
+auto *NewCTD = CTD->getInstantiatedFromMemberTemplate();
+if (!NewCTD)
break;
CTD = NewCTD;
}
rsm
loladiro planned changes to this revision.
loladiro added a comment.
Thanks for the review! Sorry, it's been a while since I wrote this code, so I'm
not fluent in all the details, but I've replied below. I am not particularly
partial to the name, so whatever you feel is best is ok with me.
==
loladiro added a comment.
I'm really out of my depth in this code, but it looks like that test case is
triggering the one code path in that function that is actually correct. Could
you adjust it to trigger the code path behind the first if statement?
Repository:
rL LLVM
https://reviews.llvm
loladiro created this revision.
loladiro added a reviewer: bkramer.
loladiro added a subscriber: cfe-commits.
loladiro set the repository for this revision to rL LLVM.
I feed custom buffers to clang, and since the buffers store an explicit length,
I did not think to null-terminate them.
However,
loladiro created this revision.
loladiro added a reviewer: doug.gregor.
loladiro added a subscriber: cfe-commits.
loladiro set the repository for this revision to rL LLVM.
This implements a proposal by Doug Gregor on cfe-dev a couple of years ago, to
allow the compiler to emit strong symbols for
loladiro added a comment.
Thanks for the quick review.
Comment at: include/clang/Basic/Attr.td:1462
@@ +1461,3 @@
+def UniqueInstantiation : InheritableAttr {
+ let Spellings = [GCC<"unique_instantiation">];
+ let Subjects = SubjectList<[CXXRecord]>;
aaron.bal
loladiro added inline comments.
Comment at: include/clang/Basic/Attr.td:1462
@@ +1461,3 @@
+def UniqueInstantiation : InheritableAttr {
+ let Spellings = [GCC<"unique_instantiation">];
+ let Subjects = SubjectList<[CXXRecord]>;
loladiro wrote:
> aaron.ballman wr
loladiro updated this revision to Diff 36332.
loladiro added a comment.
Address review comments. I had to add a special case to
checkNewAttributesAfterDef if we want to use attribute merging for explicit
template instantiations, because the Microsoft ABI allows adding dll attributes
to the expl
loladiro added a comment.
Bump. Could somebody take a look at this?
Repository:
rL LLVM
http://reviews.llvm.org/D12854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
loladiro added a comment.
Hmm, you're right. And I am actually constructing it in such a way that it's
supposed to have it, so I wonder why it ran off the rails here. Will take
another look.
Repository:
rL LLVM
http://reviews.llvm.org/D12854
__
loladiro abandoned this revision.
loladiro added a comment.
Oh, I see it checks for the null terminator past the end of the given memory
block on construction, but if the memory after changes later this just keeps
running. Well, that's quite a trap, but I guess that's what you get for not
under
loladiro added a comment.
Thoughts on allowing this attribute to be specified on the templated class
itself, with the intention of never allowing any implicit instantiation? As an
example, consider SymbolTableListTraits in LLVM. It can only ever be used as an
explicit instantiation (because the
loladiro created this revision.
loladiro added reviewers: aaron.ballman, rsmith, rnk.
loladiro added a subscriber: cfe-commits.
loladiro set the repository for this revision to rL LLVM.
When we were looking at a template instantiation, that itself was a template
instantiation
(say a templated mem
loladiro removed rL LLVM as the repository for this revision.
loladiro updated this revision to Diff 36459.
loladiro added a comment.
Rebased, added support for unique_instantiation on explicit function templates
and fix the case where one record is embedded in another and the outer is
explicitl
loladiro created this revision.
loladiro added a reviewer: beanz.
loladiro added a subscriber: cfe-commits.
loladiro set the repository for this revision to rL LLVM.
Herald added subscribers: rengolin, aemerson.
When LLVM/Clang is built without ARM support, the ios_kext runtime library is
not bui
Author: kfischer
Date: Sun Oct 4 13:51:04 2015
New Revision: 249281
URL: http://llvm.org/viewvc/llvm-project?rev=249281&view=rev
Log:
Fix makefile build on OSX when ARM targets are not enabled
Summary: When LLVM/Clang is built without ARM support, the ios_kext runtime
library is not built, but w
loladiro updated this revision to Diff 36476.
loladiro added a comment.
Also set the correct linkage on vtables of classes with the new attribute.
http://reviews.llvm.org/D13330
Files:
include/clang/AST/ASTContext.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/cla
loladiro added a comment.
Ok, I have tested this more extensively now. I'm happy with the results. Here's
a patch that applies this to LLVM for example:
https://gist.github.com/Keno/79b08a4b187c4d950dd0
Before:
$llvm-objdump -weak-bind libLLVM-3.8svn.dylib | wc -l
300
After:
$llvm
loladiro updated this revision to Diff 36565.
loladiro added a comment.
Address review comment re loop structure. Reword comment that had a typo to
both fix the typo and make the intent of the code more clear.
Repository:
rL LLVM
http://reviews.llvm.org/D13419
Files:
lib/AST/Decl.cpp
li
loladiro added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:1638
@@ +1637,3 @@
+
+Note that to ensure correct execution the user MUST make certain that no
+other translation unit has an implicit instantiation of the same entity. In
aaron.ballman wr
loladiro updated this revision to Diff 37555.
loladiro added a comment.
Address review comments and clang-format.
http://reviews.llvm.org/D13330
Files:
include/clang/AST/ASTContext.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
loladiro added inline comments.
Comment at: include/clang/Basic/Attr.td:1463
@@ +1462,3 @@
+ let Spellings = [GNU<"unique_instantiation">];
+ let Subjects = SubjectList<[Function, CXXRecord], ErrorDiag>;
+ let Documentation = [UniqueInstantiationDocs];
majnemer
loladiro set the repository for this revision to rL LLVM.
loladiro updated this revision to Diff 38039.
loladiro added a comment.
Address review comments.
Repository:
rL LLVM
http://reviews.llvm.org/D13330
Files:
include/clang/AST/ASTContext.h
include/clang/Basic/Attr.td
include/clang/
loladiro added inline comments.
Comment at: include/clang/Basic/Attr.td:1463
@@ +1462,3 @@
+ let Spellings = [GNU<"unique_instantiation">];
+ let Subjects = SubjectList<[Function, CXXRecord], ErrorDiag>;
+ let Documentation = [UniqueInstantiationDocs];
majnemer
loladiro created this revision.
loladiro added reviewers: rjmccall, labath.
loladiro added a subscriber: cfe-commits.
loladiro set the repository for this revision to rL LLVM.
This fixes a bug that's easily encountered in LLDB
(https://llvm.org/bugs/show_bug.cgi?id=22875). The problem here is tha
loladiro added a comment.
Can you provide insight as to why this is looking at MangledDeclNames rather
than the StaticLocalDeclMap? I'd like to extend the comment with an explanation.
Repository:
rL LLVM
http://reviews.llvm.org/D13959
___
cfe-co
Author: kfischer
Date: Thu Nov 5 17:18:44 2015
New Revision: 252229
URL: http://llvm.org/viewvc/llvm-project?rev=252229&view=rev
Log:
Fix crash in EmitDeclMetadata mode
Summary: This fixes a bug that's easily encountered in LLDB
(https://llvm.org/bugs/show_bug.cgi?id=22875). The problem here is
loladiro added inline comments.
Comment at: include/clang/Basic/Attr.td:1463
@@ +1462,3 @@
+ let Spellings = [GNU<"unique_instantiation">];
+ let Subjects = SubjectList<[Function, CXXRecord], ErrorDiag>;
+ let Documentation = [UniqueInstantiationDocs];
loladiro
loladiro updated this revision to Diff 39627.
loladiro updated the summary for this revision.
loladiro added a comment.
Address review feedback regarding diagnostic wording/expand tests to full text
of diagnostic.
http://reviews.llvm.org/D13330
Files:
include/clang/AST/ASTContext.h
include
loladiro added a subscriber: loladiro.
loladiro added a comment.
Thanks for this. I was about to create the same patch (after seeing this broken
on 3.7) only to see it had already been done!
Repository:
rL LLVM
http://reviews.llvm.org/D13610
___
loladiro added a comment.
Bumping this again.
http://reviews.llvm.org/D13330
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: kfischer
Date: Mon Nov 16 03:04:13 2015
New Revision: 253190
URL: http://llvm.org/viewvc/llvm-project?rev=253190&view=rev
Log:
[CGDebugInfo] Set the size and align for reference types
In r253186, I changed the DIBuilder API to now take size and align
for reference types as well. This was
loladiro updated this revision to Diff 41261.
loladiro added a comment.
Rebased and made the small suggested changes to the test cases.
http://reviews.llvm.org/D13330
Files:
include/clang/AST/ASTContext.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/Di
loladiro updated this revision to Diff 41265.
loladiro added a comment.
Add support for variable templates
http://reviews.llvm.org/D13330
Files:
include/clang/AST/ASTContext.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
includ
loladiro added a comment.
Bump, is there anything else that's needed here?
http://reviews.llvm.org/D13330
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
loladiro added a comment.
Bumping this again.
Repository:
rL LLVM
http://reviews.llvm.org/D13419
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
loladiro added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:1736-1755
@@ -1722,2 +1735,22 @@
+
+// Explicit template definition (in exactly ONE .cpp file)
+template struct __attribute__((unique_instantiation)) my_template;
+
+
+When the unique_instantiation
loladiro updated this revision to Diff 42100.
loladiro added a comment.
Address stylistic concerns brought up by David
http://reviews.llvm.org/D13330
Files:
include/clang/AST/ASTContext.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds
loladiro added inline comments.
Comment at: lib/AST/ASTContext.cpp:8257-8266
@@ -8256,1 +8256,12 @@
+bool ASTContext::containedInUniqueInstantiation(const Decl *D) {
+ const RecordDecl *RD;
+ while ((RD = dyn_cast(D->getDeclContext( {
+auto *CTSD = dyn_cast(RD);
+i
loladiro updated this revision to Diff 42132.
loladiro added a comment.
Address David's concern about inner classes. David also suggested on IRC to
propagate
the unique instantiation attribute down rather than walking the context chain to
check for the attribute. I'll try that out, but wanted to
loladiro updated this revision to Diff 42137.
loladiro added a comment.
Propagate unique instantiation attribute to children rather than later trying
to look through the DeclContexts to see if we're contained in one that has the
attribute.
http://reviews.llvm.org/D13330
Files:
include/clang
loladiro added a comment.
@majnemer Do you like the new approach? Is there anything else to be done here?
http://reviews.llvm.org/D13330
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commi
loladiro updated this revision to Diff 43218.
loladiro added a comment.
Rebased
http://reviews.llvm.org/D13330
Files:
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/AttributeList.h
include/clang/Sema/Sema.h
l
loladiro added a comment.
bump again
Repository:
rL LLVM
http://reviews.llvm.org/D13419
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
70 matches
Mail list logo