zahiraam added a comment.
Erich,
The IsOrInheritsFromIUnknown function is needed.
Wh
Comment at: lib/Sema/SemaDeclCXX.cpp:2377
+/// \brief Tests if the __interface base is public.
+static bool IsBasePublicInterface(const CXXRecordDecl *RD,
+ A
zahiraam added a comment.
MSVC and xmain compile this:
struct __declspec(uuid("---C000-0046")) IUnknown {};
struct PageBase : public IUnknown {};
struct Page3 : public PageBase {};
struct Page4 : public PageBase {};
__interface PropertyPage : public Page4 {};
But MSVC does
efriedma added inline comments.
Comment at: lib/Driver/ToolChains/BareMetal.cpp:61
+bool BareMetal::IsUnwindTablesDefault(const ArgList &Args) const {
+ return getDriver().CCCIsCXX();
+}
This still seems weird. In most situations, I would expect you want the sa
erichkeane added a comment.
Yeah, but
__interface IF1 {};
__interface PP : IUnknown, IF1{};
__interface PP2 : PP, Page3, Page4{};
Base PP has siblings here. It seems the rule is even more complex then.
https://reviews.llvm.org/D37308
___
c
erichkeane added a comment.
A bit more research based on a different implementation:
First, there are TWO special types, not just IUnknown! There is also
"IDispatch" with UUID: "00020400---c000-0046"
A type is 'interface like' if:
-it has a ZERO virtual inheritance bases
-it ha
anemet accepted this revision.
anemet added a comment.
Still looks good.
Comment at: lib/IR/LLVMContext.cpp:332
+}
\ No newline at end of file
Has this version of the diff been clang-formatted?
https://reviews.llvm.org/D33514
_
erichkeane added a comment.
SO, the implementation would likely be (~2489):
if (Class->isInterface() && (KnownBase->getAccessSpecifier() != TTK_public ||
!RD->isInterface() || !RD->isInterfaceLike()) {
with "isInterfaceLike" testing what I outlined above.
https://reviews.llvm.org/D37308
anemet accepted this revision.
anemet added a comment.
This revision is now accepted and ready to land.
LGTM.
https://reviews.llvm.org/D37196
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-
pirama added a comment.
Ping
https://reviews.llvm.org/D37302
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: phosek
Date: Wed Sep 13 16:35:07 2017
New Revision: 313215
URL: http://llvm.org/viewvc/llvm-project?rev=313215&view=rev
Log:
Reland "When built with ASan, __cxa_throw calls __asan_handle_no_return"
The ASan runtime on many systems intercepts cxa_throw just so it
can call asan_handle_no_re
rsmith added a comment.
In https://reviews.llvm.org/D37436#869851, @hfinkel wrote:
> A large fraction of the number of attributes we'll want to use are going to
> fall into this category (because Clang doesn't have its own attributes, but
> copied GCC's, for many things). I don't think we'll ge
rnk added a comment.
I think this looks good, even without fixing the access control crash, this
seems like a diagnostic improvement.
Comment at: clang/test/Sema/enum.c:128
+// PR28903
+struct PR28903 { // expected-warning {{empty struct is a GNU extension}}
+ enum {
Author: george.karpenkov
Date: Wed Sep 13 17:04:56 2017
New Revision: 313219
URL: http://llvm.org/viewvc/llvm-project?rev=313219&view=rev
Log:
[NFC] [Analyzer] Fix RST markup in documentation.
Modified:
cfe/trunk/docs/analyzer/DebugChecks.rst
Modified: cfe/trunk/docs/analyzer/DebugChecks.rst
rsmith accepted this revision.
rsmith added a comment.
This revision is now accepted and ready to land.
LGTM
https://reviews.llvm.org/D37302
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c
erichkeane commandeered this revision.
erichkeane edited reviewers, added: zahiraam; removed: erichkeane.
erichkeane added a comment.
@zahiraam: quickly commendeering, since I have an implementation that I think
better explains my discovery than my words. Feel free to commandeer it back
later (
erichkeane updated this revision to Diff 115153.
erichkeane retitled this revision from "Interface class with uuid base record"
to "Fix the __interface inheritence rules to work better with IUnknown and
IDispatch".
erichkeane edited the summary of this revision.
erichkeane added a comment.
Herald
srhines added a comment.
Ping
https://reviews.llvm.org/D36806
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
EricWF updated this revision to Diff 115161.
EricWF marked an inline comment as done.
EricWF added a comment.
- Reimplement without rewriting the AST and instead during the substitution
during constant expression evaluation and code gen.
I still haven't implemented Richards suggestion to reduce
EricWF added inline comments.
Comment at: test/SemaCXX/loc2.cpp:1
+// RUN: %clang_cc1 -std=c++1z -fcxx-exceptions -fexceptions -verify %s
+// expected-no-diagnostics
Didn't mean to include this file.
Comment at: test/SemaCXX/test.cpp:1
+struct
EricWF added inline comments.
Comment at: lib/AST/Expr.cpp:1940
false, false),
-InitExprs(C, initExprs.size()),
-LBraceLoc(lbraceloc), RBraceLoc(rbraceloc), AltForm(nullptr, true)
-{
+ InitExprs(C, initExprs.size()), LBraceLoc(lbraceloc),
+ RBraceLoc
EricWF updated this revision to Diff 115162.
EricWF added a comment.
- Remove accidentally committed test files.
- Attempt to remove incidental whitespace changes.
https://reviews.llvm.org/D37035
Files:
docs/LanguageExtensions.rst
include/clang/AST/Decl.h
include/clang/AST/Expr.h
includ
dlj marked 2 inline comments as done.
dlj added inline comments.
Comment at: include/deque:1167-1168
allocator_type& __a = __alloc();
-for (iterator __i = begin(), __e = end(); __i != __e; ++__i)
-__alloc_traits::destroy(__a, _VSTD::addressof(*__i));
+for (it
dlj updated this revision to Diff 115164.
dlj added a comment.
- Remove deque from the test for now.
https://reviews.llvm.org/D37538
Files:
include/__split_buffer
include/deque
include/memory
test/std/containers/containers.general/construct_destruct.pass.cpp
Index: test/std/containers/
dlj updated this revision to Diff 115165.
dlj added a comment.
- Remove deque from the test for now.
https://reviews.llvm.org/D37538
Files:
include/__split_buffer
include/memory
test/std/containers/containers.general/construct_destruct.pass.cpp
Index: test/std/containers/containers.gener
101 - 124 of 124 matches
Mail list logo