[PATCH] D12087: always_inline codegen rewrite

2015-08-17 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: chandlerc, rsmith. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. Currently always_inline definitions are emitted as (in most cases) an available_externally llvm function with an

Re: [PATCH] D12022: Refactored dtor sanitizing into EHScopeStack

2015-08-21 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CGCXX.cpp:41 @@ +40,3 @@ + if (getCodeGenOpts().SanitizeMemoryUseAfterDtor Layout.getFieldCount() 0 + HasTrivialDestructorBody(Context, D-getParent(), D-getParent())) { +return true; I'm not

Re: [PATCH] D12022: Refactored dtor sanitizing into EHScopeStack

2015-08-21 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CGClass.cpp:1578 @@ +1577,3 @@ +if (CGF.CGM.FieldHasTrivialDestructorBody(Context, Field) || +Field-getType()-isPointerType()) { + // Start sanitizing at this field Why do you

Re: [PATCH] D12087: always_inline codegen rewrite

2015-08-17 Thread Evgeniy Stepanov via cfe-commits
eugenis removed rL LLVM as the repository for this revision. eugenis updated this revision to Diff 32330. http://reviews.llvm.org/D12087 Files: lib/CodeGen/CGCXX.cpp lib/CodeGen/CodeGenModule.cpp lib/CodeGen/CodeGenModule.h lib/CodeGen/ItaniumCXXABI.cpp

Re: [PATCH] D12087: always_inline codegen rewrite

2015-08-17 Thread Evgeniy Stepanov via cfe-commits
eugenis marked an inline comment as done. Comment at: lib/CodeGen/CodeGenModule.cpp:447-448 @@ +446,4 @@ +if (C !isallvm::GlobalValue(C)) { + C-handleOperandChange(GV, IndirectReplacement, U); + continue; +} Good catch.

Re: [PATCH] D12087: always_inline codegen rewrite

2015-08-17 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 32341. http://reviews.llvm.org/D12087 Files: lib/CodeGen/CGCXX.cpp lib/CodeGen/CGClass.cpp lib/CodeGen/CGOpenMPRuntime.cpp lib/CodeGen/CodeGenModule.cpp lib/CodeGen/CodeGenModule.h lib/CodeGen/ItaniumCXXABI.cpp

Re: [PATCH] D12087: always_inline codegen rewrite

2015-08-17 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CodeGenModule.cpp:513 @@ +512,3 @@ +void CodeGenModule::RewriteAlwaysInlineFunctions() { + for (llvm::Function *Fn : AlwaysInlineFunctions) +RewriteAlwaysInlineFunction(Fn); Done. Should I make it a

r245619 - Revert r245344.

2015-08-20 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Thu Aug 20 16:47:16 2015 New Revision: 245619 URL: http://llvm.org/viewvc/llvm-project?rev=245619view=rev Log: Revert r245344. That change is causing strange test failures on Fedora 22 (PR24503), and it does not have any effect with Gold linker anyway (PR15823,

r250941 - MemorySanitizer does not require PIE.

2015-10-21 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Wed Oct 21 15:20:03 2015 New Revision: 250941 URL: http://llvm.org/viewvc/llvm-project?rev=250941=rev Log: MemorySanitizer does not require PIE. Since r249754 MemorySanitizer should work equally well for PIE and non-PIE executables. Beware, with this change

Re: [PATCH] D12382: Extend linux header search to find libc++ headers in c++/vN for any N.

2015-10-26 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. ping We will need this when libc++ is bumped to v2. There are no plans to do this AFAIK but the ABI version macros are in so it is possible and clang should be ready. http://reviews.llvm.org/D12382 ___ cfe-commits mailing

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-10-28 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. In http://reviews.llvm.org/D13925#276626, @majnemer wrote: > No diagnostic is issued for the following C test case: > > int x __attribute__((internal_linkage)); > int x __attribute__((common)); > int *f() { return } Thanks for noticing! Added missing attribute

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-10-28 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 38679. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td include/clang/Sema/Sema.h lib/AST/Decl.cpp lib/Sema/Sema.cpp lib/Sema/SemaDecl.cpp lib/Sema/SemaDeclAttr.cpp

r250944 - Revert "MemorySanitizer does not require PIE."

2015-10-21 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Wed Oct 21 15:47:00 2015 New Revision: 250944 URL: http://llvm.org/viewvc/llvm-project?rev=250944=rev Log: Revert "MemorySanitizer does not require PIE." It actually does require PIE on some targets. Modified: cfe/trunk/lib/Driver/SanitizerArgs.cpp

r250949 - MemorySanitizer does not require PIE.

2015-10-21 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Wed Oct 21 16:28:49 2015 New Revision: 250949 URL: http://llvm.org/viewvc/llvm-project?rev=250949=rev Log: MemorySanitizer does not require PIE. Since r249754 MemorySanitizer should work equally well for PIE and non-PIE executables on Linux/x86_64. Beware, with this change

Re: [PATCH] D10677: Allow deque to handle incomplete types

2015-10-21 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. What kind of confirmation are you looking for? I've compiled the following code with 2 versions of : one as in this review, another the same but with __block_size initializers moved back into respective classes. Resulting object files are identical. #include int

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-10-21 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 38071. eugenis marked 2 inline comments as done. eugenis added a comment. This new version supports __attribute__((internal_linkage)) on classes and even namespaces! Repository: rL LLVM http://reviews.llvm.org/D13925 Files:

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-10-21 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/Sema/SemaDeclAttr.cpp:1580-1585 @@ -1577,3 +1579,8 @@ + + if (InternalLinkageAttr *Internal = D->getAttr()) { +S.Diag(Attr.getRange().getBegin(), diag::warn_attribute_ignored) +<< Attr.getName(); +

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-10 Thread Evgeniy Stepanov via cfe-commits
eugenis closed this revision. eugenis added a comment. r252648. Thanks everyone for the very detailed review! Repository: rL LLVM http://reviews.llvm.org/D13925 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

r252648 - Implement __attribute__((internal_linkage)).

2015-11-10 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Tue Nov 10 15:28:44 2015 New Revision: 252648 URL: http://llvm.org/viewvc/llvm-project?rev=252648=rev Log: Implement __attribute__((internal_linkage)). The attrubite is applicable to functions and variables and changes the linkage of the subject to internal. This is the

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-09 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39751. eugenis added a comment. Rebase. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h lib/AST/Decl.cpp

Re: [PATCH] D14409: Remove visibility attributes from out-of-class method definitions in iostreams.

2015-11-09 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39750. eugenis added a comment. Applied the same change to . No idea how I missed it. Repository: rL LLVM http://reviews.llvm.org/D14409 Files: include/istream include/ostream include/sstream include/streambuf Index: include/streambuf

Re: [PATCH] D12382: Extend linux header search to find libc++ headers in c++/vN for any N.

2015-11-09 Thread Evgeniy Stepanov via cfe-commits
eugenis closed this revision. eugenis added a comment. r252514 Repository: rL LLVM http://reviews.llvm.org/D12382 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-09 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Richard, are you OK with this? Repository: rL LLVM http://reviews.llvm.org/D13925 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r252514 - Extend linux header search to find libc++ headers in c++/vN for any N.

2015-11-09 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Mon Nov 9 15:10:54 2015 New Revision: 252514 URL: http://llvm.org/viewvc/llvm-project?rev=252514=rev Log: Extend linux header search to find libc++ headers in c++/vN for any N. Added: cfe/trunk/test/Driver/Inputs/basic_linux_libcxxv2_tree/

Re: [PATCH] D14409: Remove visibility attributes from out-of-class method definitions in iostreams.

2015-11-09 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. is an interesting case. There are no cases of visibility attribute present on an out-of-class definition but missing on an in-class declaration, so nothing needs to be done for a switch to internal_linkage. Setting hidden visibility on an "extern template" method is

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-04 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39249. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h lib/AST/Decl.cpp lib/Sema/SemaDecl.cpp

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-04 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39245. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/Sema.h lib/AST/Decl.cpp lib/Sema/SemaDecl.cpp

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-04 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. How do I check if a Var is a local variable? Comment at: test/CodeGenCXX/attribute_internal_linkage.cpp:35-36 @@ +34,4 @@ +__attribute__((internal_linkage)) void A::f3() { +} + +// Forward declaration w/o an attribute. OK, done. Still

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-04 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: test/SemaCXX/internal_linkage.cpp:23 @@ +22,3 @@ + +__attribute__((internal_linkage)) void A::f4() {} // expected-error{{'internal_linkage' attribute does not appear on the first declaration of 'f4'}} + Btw, this

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-04 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Hm, the current implementation allows all of the following: void f(int a [[clang::internal_linkage]]) { // 1 int b [[clang::internal_linkage]]; // 2 static int c [[clang::internal_linkage]]; // 3 } I'll fix (1). Is it OK to allow (2) and (3)? The attribute has

[libcxx] r252385 - Cleanup: move visibility/linkage attributes to the first declaration.

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Fri Nov 6 19:22:13 2015 New Revision: 252385 URL: http://llvm.org/viewvc/llvm-project?rev=252385=rev Log: Cleanup: move visibility/linkage attributes to the first declaration. This change moves visibility attributes from out-of-class method definitions to in-class

Re: [PATCH] D14410: Cleanup: move all visibility attributes to the first declaration.

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
eugenis closed this revision. eugenis added a comment. Confirmed and landed as r252385. Thanks for the quick response! Repository: rL LLVM http://reviews.llvm.org/D14410 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-05 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/Sema/SemaDeclAttr.cpp:3407 @@ +3406,3 @@ + : ExpectedVariableOrFunction); +D->dropAttr(); + } aaron.ballman wrote: > Why is this dropping AlwaysInlineAttr instead of

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-05 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39389. eugenis marked an inline comment as done. eugenis added a comment. Added the new warning to a -W group. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-03 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/AST/Decl.cpp:635-641 @@ -634,2 +634,9 @@ assert(!isa(D) && "Didn't expect a FieldDecl!"); + for (const DeclContext *DC = D->getDeclContext(); + !isa(DC); DC = DC->getParent()) { +const NamespaceDecl *ND =

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-03 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39135. eugenis marked 2 inline comments as done. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td include/clang/Sema/Sema.h lib/AST/Decl.cpp lib/Sema/SemaDecl.cpp

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-03 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39124. eugenis marked 5 inline comments as done. eugenis added a comment. Disabled the new attribute on namespaces. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-11-03 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 39128. eugenis added a comment. One more test for forward declarations. Repository: rL LLVM http://reviews.llvm.org/D13925 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td include/clang/Sema/Sema.h lib/AST/Decl.cpp

Re: [PATCH] D10677: Allow deque to handle incomplete types

2015-11-04 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Hi Eric, could you please clarify what exactly you are looking for here? Repository: rL LLVM http://reviews.llvm.org/D10677 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D14411: Use __attribute__((internal_linkage)) when available.

2015-11-05 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: EricWF, mclow.lists. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. Use __attribute__((internal_linkage)) instead of always_inline and visibility("hidden") when it is available.

[PATCH] D14410: Cleanup: move all visibility attributes to the first declaration.

2015-11-05 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: EricWF, mclow.lists. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. This change moves visibility attributes from out-of-class method definitions to in-class declaration. This is needed for

[PATCH] D14409: Remove visibility attributes from out-of-class method definitions in iostreams.

2015-11-05 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: mclow.lists, EricWF. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. No point in pretending that these methods are hidden - they are actually exported from libc++.so. Extern template

Re: [PATCH] D12382: Extend linux header search to find libc++ headers in c++/vN for any N.

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
eugenis marked an inline comment as done. eugenis added a comment. Repository: rL LLVM http://reviews.llvm.org/D12382 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D12382: Extend linux header search to find libc++ headers in c++/vN for any N.

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
eugenis set the repository for this revision to rL LLVM. eugenis updated this revision to Diff 39587. Repository: rL LLVM http://reviews.llvm.org/D12382 Files: lib/Driver/ToolChains.cpp test/Driver/Inputs/basic_linux_libcxxv2_tree/usr/bin/.keep

Re: [PATCH] D14410: Cleanup: move all visibility attributes to the first declaration.

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. This is a mechanical change, and AFAIR I checked that no bits of libc++.so are affected. The same mechanical change in streambuf/istream/ostream (the stuff that's parts of extern templates) breaks libc++ because of https://llvm.org/bugs/show_bug.cgi?id=25427, that's

[libcxx] r252350 - Allow deque to handle incomplete types.

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Fri Nov 6 16:02:29 2015 New Revision: 252350 URL: http://llvm.org/viewvc/llvm-project?rev=252350=rev Log: Allow deque to handle incomplete types. Allow deque and deque::iterator instantiation with incomplete element type. This is an ABI breaking change, and it is only

Re: [PATCH] D10677: Allow deque to handle incomplete types

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
eugenis closed this revision. eugenis added a comment. Thanks! Landed as r252350. Repository: rL LLVM http://reviews.llvm.org/D10677 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D14410: Cleanup: move all visibility attributes to the first declaration.

2015-11-06 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Yes. I'm just using libc++.so as a (incomplete) test that this is actually NFC. It did catch the extern template issue. Repository: rL LLVM http://reviews.llvm.org/D14410 ___ cfe-commits mailing list

Re: [PATCH] D10677: Allow deque to handle incomplete types

2015-10-19 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 37795. eugenis marked 3 inline comments as done. Repository: rL LLVM http://reviews.llvm.org/D10677 Files: include/__config include/deque test/libcxx/containers/sequences/deque/incomplete.pass.cpp Index:

Re: [PATCH] D10677: Allow deque to handle incomplete types

2015-10-19 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. In http://reviews.llvm.org/D10677#266595, @EricWF wrote: > For the most part this looks good. I'm a touch concerned though about the > changes to the static initialization. The initializer is moved from within > the function body to outside it. Could you have somebody

[PATCH] D13925: Implement __attribute__((internal_linkage))

2015-10-20 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added a reviewer: rsmith. eugenis added subscribers: cfe-commits, EricWF, rnk. eugenis set the repository for this revision to rL LLVM. The attrubite is applicable to functions and variables and changes the linkage of the subject to internal. Following the

Re: [PATCH] D13713: [libc++] Stop marking interface symbols always_inline + hidden when building for unstable ABI

2015-10-14 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. I've wrote down my understanding of the problem in ABIVersioning.rst. AFAIK, Howard added the attribute so he might know more about it. Why does windows need this attributes in the unstable abi build? Hidden visibility and always_inline work together for the same goal,

Re: [PATCH] D13713: [libc++] Stop marking interface symbols always_inline + hidden when building for unstable ABI

2015-10-14 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 37427. Repository: rL LLVM http://reviews.llvm.org/D13713 Files: docs/DesignDocs/ABIVersioning.rst include/__config Index: include/__config === --- include/__config +++ include/__config

Re: [PATCH] D13925: Implement __attribute__((internal_linkage))

2015-10-20 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/Sema/SemaDeclAttr.cpp:1580-1585 @@ -1577,3 +1579,8 @@ + + if (InternalLinkageAttr *Internal = D->getAttr()) { +S.Diag(Attr.getRange().getBegin(), diag::warn_attribute_ignored) +<< Attr.getName(); +

[PATCH] D13572: Use Triple.isAndroid() where possible.

2015-10-08 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added a reviewer: echristo. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. Herald added subscribers: srhines, danalbert, tberghammer. Depends on http://reviews.llvm.org/D13571 Repository: rL LLVM

Re: [PATCH] D13572: Use Triple.isAndroid() where possible.

2015-10-08 Thread Evgeniy Stepanov via cfe-commits
eugenis closed this revision. eugenis added a comment. r249751 Repository: rL LLVM http://reviews.llvm.org/D13572 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r249751 - Use Triple.isAndroid() where possible.

2015-10-08 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Thu Oct 8 16:21:44 2015 New Revision: 249751 URL: http://llvm.org/viewvc/llvm-project?rev=249751=rev Log: Use Triple.isAndroid() where possible. Modified: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/lib/Driver/SanitizerArgs.cpp cfe/trunk/lib/Driver/ToolChain.cpp

Re: [PATCH] D13407: [libcxx] Capture configuration information when installing the libc++ headers

2015-10-06 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Looks great! Comment at: include/CMakeLists.txt:31 @@ +30,3 @@ +# by prepending __config_site to the current __config header. +# TODO(EricWF) Is it portable to use "cat" and ">>"? +add_custom_command(OUTPUT

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-10-09 Thread Evgeniy Stepanov via cfe-commits
eugenis set the repository for this revision to rL LLVM. eugenis updated this revision to Diff 37015. eugenis added a comment. Rebased on http://reviews.llvm.org/D13407 Repository: rL LLVM http://reviews.llvm.org/D11740 Files: CMakeLists.txt cmake/Modules/HandleLibcxxFlags.cmake

Re: [PATCH] D13407: [libcxx] Capture configuration information when installing the libc++ headers

2015-10-09 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Thanks. I'll upload the rebase patch on Monday. Comment at: include/CMakeLists.txt:38 @@ +37,3 @@ + COMMAND ${UNIX_CAT} ${LIBCXX_SOURCE_DIR}/include/__config >> ${LIBCXX_BINARY_DIR}/__generated_config + DEPENDS

[PATCH] D13705: [libcxxabi] Set correct libc++ version in tests.

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: mclow.lists, EricWF. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. Libcxxabi tests are built against non-installed libc++ headers, and they need to know the ABI version libc++ is

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis closed this revision. eugenis added a comment. Landed as r250254, thanks for the review! Repository: rL LLVM http://reviews.llvm.org/D11740 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: test/libcxx/test/config.py:444 @@ -442,1 +443,3 @@ +def configure_compile_flags_abi_version(self): +abi_version = self.get_lit_conf('abi_version', '').strip() EricWF wrote: > Please allow abi_version to be

[libcxx] r250254 - ABI versioning macros for libc++.

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Tue Oct 13 18:48:28 2015 New Revision: 250254 URL: http://llvm.org/viewvc/llvm-project?rev=250254=rev Log: ABI versioning macros for libc++. C++ macros and CMake options that specify the default ABI version of the library, and can be overridden to pick up new ABI-changing

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 37293. eugenis marked an inline comment as done. Repository: rL LLVM http://reviews.llvm.org/D11740 Files: CMakeLists.txt cmake/Modules/HandleLibcxxFlags.cmake docs/Abi.rst docs/BuildingLibcxx.rst include/__config include/__config_site.in

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: include/__config:252 @@ -246,1 +251,3 @@ +defined(_LIBCPP_ALTERNATE_STRING_LAYOUT) +#define _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT #endif EricWF wrote: > I think he's demonstrating the patches functionality and

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 37299. Repository: rL LLVM http://reviews.llvm.org/D11740 Files: CMakeLists.txt cmake/Modules/HandleLibcxxFlags.cmake docs/Abi.rst docs/BuildingLibcxx.rst include/__config include/__config_site.in include/string lib/CMakeLists.txt

[PATCH] D13713: [libc++] Stop marking interface symbols always_inline + hidden when building for unstable ABI

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: mclow.lists, EricWF. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. Herald added a subscriber: aemerson. ABI stability is not an issue when building for unstable ABI. Other than that,

Re: [PATCH] D10677: Allow deque to handle incomplete types

2015-10-13 Thread Evgeniy Stepanov via cfe-commits
eugenis set the repository for this revision to rL LLVM. eugenis updated this revision to Diff 37310. eugenis added a comment. Using new ABI version macros to enable this feature in unstable or future ABI only. PTAL. Repository: rL LLVM http://reviews.llvm.org/D10677 Files:

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-08-26 Thread Evgeniy Stepanov via cfe-commits
eugenis removed rL LLVM as the repository for this revision. eugenis updated this revision to Diff 33246. eugenis added a comment. Introduced cmake options for specifying the desired ABI version. ABI version affects library soname and include path (include/c++/vN). Baked ABI version into the

[PATCH] D12382: Extend linux header search to find libc++ headers in c++/vN for any N.

2015-08-26 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: mclow.lists, EricWF, rsmith. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. This goes with the ABI versioning support in libc++ in http://reviews.llvm.org/D11740 Repository: rL LLVM

Re: [PATCH] D12382: Extend linux header search to find libc++ headers in c++/vN for any N.

2015-08-26 Thread Evgeniy Stepanov via cfe-commits
eugenis marked 2 inline comments as done. eugenis added a comment. http://reviews.llvm.org/D12382 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D12382: Extend linux header search to find libc++ headers in c++/vN for any N.

2015-08-26 Thread Evgeniy Stepanov via cfe-commits
eugenis removed rL LLVM as the repository for this revision. eugenis updated this revision to Diff 33259. http://reviews.llvm.org/D12382 Files: lib/Driver/ToolChains.cpp test/Driver/Inputs/basic_linux_libcxxv2_tree/usr/bin/.keep

Re: [PATCH] D12022: Refactored dtor sanitizing into EHScopeStack

2015-08-26 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Richard, would you mind taking a look a this change? http://reviews.llvm.org/D12022 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-08-26 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. How long is a major and minor ABI version supported? We don't want to bump major version too often, and we want to support both +1 and -1 of the current major version, along with all possible minor versions. When is the major and minor ABI version bumped? See

[PATCH] D12384: Libc++abi: find libc++ headers w/o find_path

2015-08-26 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: EricWF, mclow.lists. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. With http://reviews.llvm.org/D11740, libc++ headers can not be used from the libc++ source directly, because they include

Re: [PATCH] D12087: always_inline codegen rewrite

2015-09-01 Thread Evgeniy Stepanov via cfe-commits
eugenis marked 2 inline comments as done. eugenis added a comment. Repository: rL LLVM http://reviews.llvm.org/D12087 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D12087: always_inline codegen rewrite

2015-09-01 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CodeGenModule.cpp:469-470 @@ +468,4 @@ + llvm::LLVMContext = getModule().getContext(); + llvm::Function *StubFn = + llvm::Function::Create(FT, Fn->getLinkage(), Name, ()); + assert(StubFn->getName() == Name && "name

Re: [PATCH] D11963: Create a __config_site file to capture configuration decisions.

2015-09-01 Thread Evgeniy Stepanov via cfe-commits
eugenis added a subscriber: eugenis. eugenis added a comment. This would greatly simplify the abi versioning change in http://reviews.llvm.org/D11740. Thanks for working on this! Comment at: include/CMakeLists.txt:24 @@ +23,3 @@ + -P

Re: [PATCH] D12712: Implementation and testing for poisoning vtable ptr in dtor.

2015-09-08 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CGClass.cpp:1671 @@ -1670,1 +1670,3 @@ + ASTContext = CGF.getContext(); + // Poison vtable and vtable ptr if they exist for this class. You are poisoning the vtable pointer in the base

Re: [PATCH] D12022: Refactored dtor sanitizing into EHScopeStack

2015-09-02 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CGCXX.cpp:45 @@ +44,3 @@ + // destructors. + if (getCodeGenOpts().SanitizeMemoryUseAfterDtor) +return true; This simply suppresses all dtor alias under UseAfterDtor, effectively disabling the second

Re: [PATCH] D12022: Refactored dtor sanitizing into EHScopeStack

2015-09-02 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. LGTM but please wait for Richard's answer Comment at: lib/CodeGen/CGClass.cpp:1551 @@ +1550,3 @@ + // Prevent the current stack frame from disappearing from the stack trace. + CGF.CurFn->addFnAttr("disable-tail-calls", "true"); +

Re: [PATCH] D12616: Failing test highlighting no poisoning if dtor undeclared.

2015-09-04 Thread Evgeniy Stepanov via cfe-commits
eugenis accepted this revision. eugenis added a comment. This revision is now accepted and ready to land. I'd call the test sanitize-dtor-trivial.cpp http://reviews.llvm.org/D12616 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D12616: Failing test highlighting no poisoning if dtor undeclared.

2015-09-03 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: test/CodeGenCXX/sanitize-dtor-generated.cpp:5 @@ +4,3 @@ + +// TODO Success pending on resolution of issue 596 +// XFAIL: * Add the link to the issue. Comment at:

Re: [PATCH] D12087: always_inline codegen rewrite

2015-09-03 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. In http://reviews.llvm.org/D12087#239243, @yaron.keren wrote: > In CGCXX.cpp, may be fixable after this commit: > > // FIXME: An extern template instantiation will create functions with > // linkage "AvailableExternally". In libc++, some classes also define > //

Re: [PATCH] D12022: Refactored dtor sanitizing into EHScopeStack

2015-08-25 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CGCXX.cpp:31 @@ -30,1 +30,3 @@ +static bool HasTrivialField(CodeGenModule CGM, const CXXDestructorDecl *D) { + for (const auto *Field : D-getParent()-fields()) I think this should be called

Re: [PATCH] D12087: always_inline codegen rewrite

2015-09-10 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. I'm going to commit this tomorrow unless someone speaks up. Repository: rL LLVM http://reviews.llvm.org/D12087 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

r247473 - Specify target triple in alwaysinline tests.

2015-09-11 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Fri Sep 11 16:10:12 2015 New Revision: 247473 URL: http://llvm.org/viewvc/llvm-project?rev=247473=rev Log: Specify target triple in alwaysinline tests. This should fix the tests on Windows (failing due to mangling differencies). Modified:

Re: [PATCH] D12087: always_inline codegen rewrite

2015-09-11 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. second attempt in r247494 Repository: rL LLVM http://reviews.llvm.org/D12087 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r247494 - Always_inline codegen rewrite.

2015-09-11 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Fri Sep 11 20:07:37 2015 New Revision: 247494 URL: http://llvm.org/viewvc/llvm-project?rev=247494=rev Log: Always_inline codegen rewrite. Current implementation may end up emitting an undefined reference for an "inline __attribute__((always_inline))" function by generating

Re: [PATCH] D12087: always_inline codegen rewrite

2015-09-11 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CodeGenModule.cpp:543 @@ +542,3 @@ + if (Fn->isUsedByMetadata()) +llvm::ValueAsMetadata::handleRAUW(Fn, StubFn); +} As the comment says. W/o this, the debug info for .alwaysinline instructions is

Re: [PATCH] D12087: always_inline codegen rewrite

2015-09-11 Thread Evgeniy Stepanov via cfe-commits
eugenis updated this revision to Diff 34610. eugenis added a comment. Fixed the debug info problem. Repository: rL LLVM http://reviews.llvm.org/D12087 Files: lib/CodeGen/CGCXX.cpp lib/CodeGen/CGClass.cpp lib/CodeGen/CGOpenMPRuntime.cpp lib/CodeGen/CodeGenModule.cpp

Re: [PATCH] D11963: Create a __config_site file to capture configuration decisions.

2015-09-16 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Hi Eric, have you had a chance to take another look at this? It is blocking http://reviews.llvm.org/D11740. http://reviews.llvm.org/D11963 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D12502: [libcxx] Better constain tuples constructors -- Fix PR23256 and PR22806

2015-10-02 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. FYI, I ran some tests and did not find any regressions and also confirmed that this change fixes the problem PR23256 was minimized from. Thanks for working on this! http://reviews.llvm.org/D12502 ___ cfe-commits mailing

Re: [PATCH] D12712: Implementation and testing for poisoning vtable ptr in dtor.

2015-09-09 Thread Evgeniy Stepanov via cfe-commits
eugenis added inline comments. Comment at: lib/CodeGen/CGClass.cpp:1685 @@ +1684,3 @@ +// function +Poison(CGF, VTablePtr, PoisonSize); + } Did you mean to move this chunk to the other cleanup class? Is there a test that would fail if vptr is

Re: [PATCH] D13122: Enable SafeStack on all Linux platforms

2015-09-24 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Thanks, committed as r248518 with a test. Repository: rL LLVM http://reviews.llvm.org/D13122 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r248518 - Enable SafeStack on all Linux platforms.

2015-09-24 Thread Evgeniy Stepanov via cfe-commits
Author: eugenis Date: Thu Sep 24 12:22:46 2015 New Revision: 248518 URL: http://llvm.org/viewvc/llvm-project?rev=248518=rev Log: Enable SafeStack on all Linux platforms. Modified: cfe/trunk/lib/Driver/ToolChains.cpp cfe/trunk/test/Driver/fsanitize.c Modified:

[PATCH] D13122: Enable SafeStack on all Linux platforms

2015-09-23 Thread Evgeniy Stepanov via cfe-commits
eugenis created this revision. eugenis added reviewers: samsonov, pcc. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM. I don't see the point in limiting it to x86/x86_64 in the driver. It is only slightly less broken on x86 than on other

Re: [PATCH] D11740: ABI versioning macros for libc++

2015-08-27 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. There is a bit of a problem with testing libc++. If the library is built for the non-default ABI, we can not build tests against headers in libc++ source. And the headers in the build directory are only updated when cmake is re-run. I guess the latter can be fixed by

Re: [PATCH] D15208: Patch for inline abort code generation

2015-12-08 Thread Evgeniy Stepanov via cfe-commits
eugenis added a comment. Better -fsanitize-merge-checks, and it should apply to non-trap checks as well (i.e. SIGILL address should uniquely correspond to the failure source location). Repository: rL LLVM http://reviews.llvm.org/D15208 ___

  1   2   3   >