[libcxxabi] r302739 - [libc++abi] Disable libc++ extern templates project-wide

2017-05-10 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed May 10 16:52:39 2017 New Revision: 302739 URL: http://llvm.org/viewvc/llvm-project?rev=302739=rev Log: [libc++abi] Disable libc++ extern templates project-wide libc++abi can't depend on libc++, so disable extern templates in libc++ headers project-wide. This was

[libcxx] r300921 - [libc++] Default to vcruntime when targeting MSVC

2017-04-20 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Apr 20 18:33:49 2017 New Revision: 300921 URL: http://llvm.org/viewvc/llvm-project?rev=300921=rev Log: [libc++] Default to vcruntime when targeting MSVC Summary: libc++abi is never the right option for LIBCXX_TARGETING_MSVC, since it targets the Itanium ABI, whereas

r300804 - [Sema] Use MSVC inner class behavior on Itanium

2017-04-19 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Apr 19 20:11:42 2017 New Revision: 300804 URL: http://llvm.org/viewvc/llvm-project?rev=300804=rev Log: [Sema] Use MSVC inner class behavior on Itanium Windows Itanium aims to use MSVC export and import semantics. Inner class members shouldn't be exported on a dllexport

[libcxx] r300743 - [libc++] Use _LIBCPP_ABI_MICROSOFT instead of _MSC_VER

2017-04-19 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Apr 19 15:11:04 2017 New Revision: 300743 URL: http://llvm.org/viewvc/llvm-project?rev=300743=rev Log: [libc++] Use _LIBCPP_ABI_MICROSOFT instead of _MSC_VER _LIBCPP_ABI_MICROSOFT is more appropriate to use here, since the conditionals are controlling Microsoft

[libcxx] r300246 - [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option

2017-04-13 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Apr 13 15:13:32 2017 New Revision: 300246 URL: http://llvm.org/viewvc/llvm-project?rev=300246=rev Log: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option When the libc++ extern template macros were added, the intent was for it to be possible for consumers of the

[libcxx] r300206 - [libc++] Explicitly set output directory for DLL

2017-04-13 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Apr 13 11:27:38 2017 New Revision: 300206 URL: http://llvm.org/viewvc/llvm-project?rev=300206=rev Log: [libc++] Explicitly set output directory for DLL DLLs on Windows are treated as runtime targets. Explicitly set the output directory for them, to be consistent with

[libcxx] r300097 - [libc++] Use more appropriate conditional for ABI macro definition

2017-04-12 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Apr 12 14:56:37 2017 New Revision: 300097 URL: http://llvm.org/viewvc/llvm-project?rev=300097=rev Log: [libc++] Use more appropriate conditional for ABI macro definition The inline function definition ABI macro is gated on COFF dllexport semantics, so it's more

[libcxx] r299743 - [libc++] Drop support for CRTs older than VS 2015

2017-04-06 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Apr 6 21:20:52 2017 New Revision: 299743 URL: http://llvm.org/viewvc/llvm-project?rev=299743=rev Log: [libc++] Drop support for CRTs older than VS 2015 LLVM dropped support for Visual Studio versions older than 2015 quite some time ago, so I consider it safe to drop

[libcxx] r299625 - [libc++] Respect Windows Store app CRT restrictions

2017-04-05 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Apr 5 23:47:49 2017 New Revision: 299625 URL: http://llvm.org/viewvc/llvm-project?rev=299625=rev Log: [libc++] Respect Windows Store app CRT restrictions Some CRT APIs are unavailable for Windows Store apps [1]. Detect when we're targeting the Windows Store and don't

[libcxx] r299348 - [libc++] Explicitly mark specializations as dllexport

2017-04-02 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Sun Apr 2 23:04:24 2017 New Revision: 299348 URL: http://llvm.org/viewvc/llvm-project?rev=299348=rev Log: [libc++] Explicitly mark specializations as dllexport Method specializations don't get exported even if there's an exported extern template instantiation on Windows.

[libcxxabi] r299143 - [libc++abi] Remove missed use of config.h

2017-03-30 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Mar 30 19:29:25 2017 New Revision: 299143 URL: http://llvm.org/viewvc/llvm-project?rev=299143=rev Log: [libc++abi] Remove missed use of config.h Modified: libcxxabi/trunk/src/cxa_noexception.cpp Modified: libcxxabi/trunk/src/cxa_noexception.cpp URL:

[libcxxabi] r299129 - [libc++abi] Delete config.h

2017-03-30 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Mar 30 18:31:33 2017 New Revision: 299129 URL: http://llvm.org/viewvc/llvm-project?rev=299129=rev Log: [libc++abi] Delete config.h Summary: It's now completely empty, so we can remove it entirely. Reviewers: mclow.lists, EricWF Subscribers: cfe-commits Differential

[libcxxabi] r299087 - [libc++abi] Remove unistd.h include

2017-03-30 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Mar 30 11:27:09 2017 New Revision: 299087 URL: http://llvm.org/viewvc/llvm-project?rev=299087=rev Log: [libc++abi] Remove unistd.h include This was originally there for the _POSIX_THREADS define, to detect the presence of pthreads. That went away with the externalized

[libcxx] r298937 - [libc++] Add a key function for bad_function_call

2017-03-28 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Tue Mar 28 14:33:31 2017 New Revision: 298937 URL: http://llvm.org/viewvc/llvm-project?rev=298937=rev Log: [libc++] Add a key function for bad_function_call Summary: bad_function_call is currently an empty class, so any object files using that class will end up with their

[libcxx] r298766 - [libc++] Fix some comment typos

2017-03-24 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Fri Mar 24 22:42:20 2017 New Revision: 298766 URL: http://llvm.org/viewvc/llvm-project?rev=298766=rev Log: [libc++] Fix some comment typos Remove a stray letter, add a missing letter. No functional change. Modified: libcxx/trunk/CMakeLists.txt Modified:

[libcxx] r298764 - [libc++] Fix word transposition in comment

2017-03-24 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Fri Mar 24 22:29:51 2017 New Revision: 298764 URL: http://llvm.org/viewvc/llvm-project?rev=298764=rev Log: [libc++] Fix word transposition in comment "to due" -> "due to". No functional change. Modified: libcxx/trunk/CMakeLists.txt Modified:

[libcxx] r298763 - [libc++] Fix capitalization in comment

2017-03-24 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Fri Mar 24 22:22:35 2017 New Revision: 298763 URL: http://llvm.org/viewvc/llvm-project?rev=298763=rev Log: [libc++] Fix capitalization in comment Fix a stray capital letter in the middle of a sentence. No functional change. Modified: libcxx/trunk/CMakeLists.txt

[libcxx] r298762 - [libc++] Update package version

2017-03-24 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Fri Mar 24 22:12:37 2017 New Revision: 298762 URL: http://llvm.org/viewvc/llvm-project?rev=298762=rev Log: [libc++] Update package version Make it consistent with the rest of LLVM. Modified: libcxx/trunk/CMakeLists.txt Modified: libcxx/trunk/CMakeLists.txt URL:

[libcxx] r297330 - [libc++] Avoid double defining macro on Windows

2017-03-08 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Mar 8 18:18:00 2017 New Revision: 297330 URL: http://llvm.org/viewvc/llvm-project?rev=297330=rev Log: [libc++] Avoid double defining macro on Windows Put proper guards around _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS. No functional change on non-Windows.

[libcxx] r296732 - [libc++] Make _LIBCPP_TYPE_VIS export members

2017-03-01 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Mar 1 21:22:18 2017 New Revision: 296732 URL: http://llvm.org/viewvc/llvm-project?rev=296732=rev Log: [libc++] Make _LIBCPP_TYPE_VIS export members Summary: Most classes annotated with _LIBCPP_TYPE_VIS need to have at least some of their members exported, otherwise we

[libcxx] r296731 - [libc++] Make _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS export members

2017-03-01 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Mar 1 21:02:50 2017 New Revision: 296731 URL: http://llvm.org/viewvc/llvm-project?rev=296731=rev Log: [libc++] Make _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS export members When building libc++ with hidden visibility, we want explicit template instantiations to export members.

[libcxx] r296729 - [libc++] Mark some std::num_get method templates inline

2017-03-01 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Mar 1 20:51:27 2017 New Revision: 296729 URL: http://llvm.org/viewvc/llvm-project?rev=296729=rev Log: [libc++] Mark some std::num_get method templates inline D29157 will make explicit template instantiations expand to default visibility, at which point these method

[libcxxabi] r296576 - [libc++abi] Clean up visibility

2017-02-28 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Tue Feb 28 21:55:57 2017 New Revision: 296576 URL: http://llvm.org/viewvc/llvm-project?rev=296576=rev Log: [libc++abi] Clean up visibility Use the libc++abi visibility macros instead of pragmas or using visibility attributes directly. Clean up redundant attributes on

Re: [libcxx] r291072 - Get test-suite configuring on Windows with clang-cl

2017-01-13 Thread Shoaib Meenai via cfe-commits
Ah. lld-link actually only accepts link-style options, so it wouldn't solve that particular problem. Happily, it seems like we aren't relying on ld-style options to begin with. From: Eric Fiselier Date: Friday, January 13, 2017 at 5:52 PM To: Shoaib Meenai Cc:

Re: r291877 - [Sema] Restrict explicit instantation definition dllexport

2017-01-12 Thread Shoaib Meenai via cfe-commits
Requesting a merge to the 4.0 branch. This is a pretty small change, and it fixes an assertion failure on Windows (see PR31608 for details). On 1/12/17, 5:28 PM, "cfe-commits on behalf of Shoaib Meenai via cfe-commits" <cfe-commits-boun...@lists.llvm.org on behalf of cfe-commits@l

r291877 - [Sema] Restrict explicit instantation definition dllexport

2017-01-12 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Jan 12 19:28:34 2017 New Revision: 291877 URL: http://llvm.org/viewvc/llvm-project?rev=291877=rev Log: [Sema] Restrict explicit instantation definition dllexport In the case where the template class itself is already `dllexport`, the implicit instantiation will have

Re: [libcxx] r291072 - Get test-suite configuring on Windows with clang-cl

2017-01-12 Thread Shoaib Meenai via cfe-commits
What was the rationale for forcing the use of lld? Were errors encountered with link? It's slightly annoying to have the extra dependency; I don't have lld built on my Windows box, for example, and while I could do so, I've also found link to work fine in my testing. On 1/4/17, 7:57 PM,

[libcxx] r291743 - [libc++] Pair _aligned_malloc with _aligned_free

2017-01-11 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Jan 12 00:22:36 2017 New Revision: 291743 URL: http://llvm.org/viewvc/llvm-project?rev=291743=rev Log: [libc++] Pair _aligned_malloc with _aligned_free Attempting to pair an `_aligned_malloc` with a regular free causes heap corruption. Pairing with `_aligned_free` is

Re: [libcxx] r291329 - Add _LIBCPP_ABI_[ITANIUM|MICROSOFT] macros.

2017-01-07 Thread Shoaib Meenai via cfe-commits
Do you think it's worth also checking for the presence of cxxabi.h and assuming the Itanium ABI if it's found, since the MS ABI shouldn't be using any ABI library? (_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY would have been ideal were it available persistently rather than only during the build of libc++

[libcxx] r291330 - [libc++] Correct macro name in documenation

2017-01-06 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Fri Jan 6 20:45:35 2017 New Revision: 291330 URL: http://llvm.org/viewvc/llvm-project?rev=291330=rev Log: [libc++] Correct macro name in documenation The macro is named `_LIBCPP_TEMPLATE_VIS`, not `_LIBCPP_TEMPLATE_ONLY`. No functional change. Modified:

[libcxx] r290503 - [libc++] Make __num_get_float hidden

2016-12-24 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Sat Dec 24 12:05:32 2016 New Revision: 290503 URL: http://llvm.org/viewvc/llvm-project?rev=290503=rev Log: [libc++] Make __num_get_float hidden It's an internal function and shouldn't be exported. It's also a source of discrepancy in the published ABI list; these symbols

[libcxxabi] r289513 - [libc++abi] Mark failing test on Darwin as XFAIL

2016-12-12 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Mon Dec 12 20:43:04 2016 New Revision: 289513 URL: http://llvm.org/viewvc/llvm-project?rev=289513=rev Log: [libc++abi] Mark failing test on Darwin as XFAIL The macOS thread-local variable finalizer routines do not handle the case where a termination function registers

[libcxxabi] r288692 - [libc++abi] Add _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS

2016-12-05 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Mon Dec 5 13:42:11 2016 New Revision: 288692 URL: http://llvm.org/viewvc/llvm-project?rev=288692=rev Log: [libc++abi] Add _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS It's useful to be able to disable visibility annotations entirely; for example, if we're building libc++abi

[libcxx] r288690 - [libc++] Add _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS

2016-12-05 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Mon Dec 5 13:40:12 2016 New Revision: 288690 URL: http://llvm.org/viewvc/llvm-project?rev=288690=rev Log: [libc++] Add _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS It's useful to be able to disable visibility annotations entirely; for example, if we're building libc++ static to

r288682 - [Sema] Respect DLL attributes more faithfully

2016-12-05 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Mon Dec 5 12:01:35 2016 New Revision: 288682 URL: http://llvm.org/viewvc/llvm-project?rev=288682=rev Log: [Sema] Respect DLL attributes more faithfully On MSVC, if an implicit instantiation already exists and an explicit instantiation definition with a DLL attribute is

[PATCH] D26934: [libc++] Add _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS

2016-11-23 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D26934#603997, @EricWF wrote: > There are two usages of `_LIBCPP_DISABLE_DLL_IMPORT_EXPORT` in > `CMakeLists.txt` and `__config_site.in` that need to be changed as well. Oops, will fix. > Also what about users of the existing name >

[PATCH] D26940: [libc++] Remove unneeded visibility pragmas

2016-11-23 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL287768: [libc++] Remove unneeded visibility pragmas (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D26940?vs=78792=79090#toc Repository: rL LLVM

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-21 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. General coding style question. Over here, I'm creating a local helper function. However, that helper needs to access member functions of Sema, which is why I made it a private member function right now, which also unfortunately makes the change somewhat non-local

[PATCH] D26950: [libc++abi] Add _LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS

2016-11-21 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. It's useful to be able to disable visibility annotations entirely; for example, if we're building libc++abi static to include in another library, and we don't want any libc++abi

[PATCH] D26949: [libc++abi] Clean up visibility

2016-11-21 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, howard.hinnant, mclow.lists. smeenai added a subscriber: cfe-commits. Use the libc++abi visibility macros instead of pragmas or using visibility attributes directly. Clean up redundant attributes on definitions (where the

[PATCH] D26940: [libc++] Remove unneeded visibility pragmas

2016-11-21 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. The function definitions being guarded by the pragma were all static, so they wouldn't be exported anyway. In any case, we should prefer the visibility macros. No functional

[PATCH] D26934: [libc++] Add _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS

2016-11-21 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 78785. smeenai added a comment. Adding documentation per @EricWF's comment https://reviews.llvm.org/D26934 Files: docs/UsingLibcxx.rst include/__config Index: include/__config === ---

[PATCH] D26934: [libc++] Add _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS

2016-11-21 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: mclow.lists, EricWF. smeenai added a subscriber: cfe-commits. It's useful to be able to disable visibility annotations entirely; for example, if we're building libc++ static to include in another library, and we don't want any libc++

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-18 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 78621. smeenai added a comment. Typo in comment https://reviews.llvm.org/D26657 Files: include/clang/Sema/Sema.h lib/Sema/SemaTemplate.cpp test/CodeGenCXX/dllexport.cpp test/CodeGenCXX/windows-itanium-dllexport.cpp Index:

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-18 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 78620. smeenai updated the summary for this revision. smeenai added a comment. Addressing comments https://reviews.llvm.org/D26657 Files: include/clang/Sema/Sema.h lib/Sema/SemaTemplate.cpp test/CodeGenCXX/dllexport.cpp

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-18 Thread Shoaib Meenai via cfe-commits
smeenai added inline comments. Comment at: lib/Sema/SemaTemplate.cpp:7670-7673 +if ((Old_TSK == TSK_ExplicitInstantiationDeclaration || + Old_TSK == TSK_ImplicitInstantiation) && (TSK == TSK_ExplicitInstantiationDefinition ||

[PATCH] D26825: [libc++] Fix preprocessor guard for overload declaration

2016-11-17 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL287309: [libc++] Fix preprocessor guard for overload declaration (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D26825?vs=78447=78461#toc Repository: rL LLVM

[libcxx] r287309 - [libc++] Fix preprocessor guard for overload declaration

2016-11-17 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Thu Nov 17 22:31:09 2016 New Revision: 287309 URL: http://llvm.org/viewvc/llvm-project?rev=287309=rev Log: [libc++] Fix preprocessor guard for overload declaration Fix a typo in the conditional. Caught by going through list of removed symbols when building with hidden

[PATCH] D26825: [libc++] Fix preprocessor guard for overload declaration

2016-11-17 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: mclow.lists, EricWF. smeenai added a subscriber: cfe-commits. Fix a typo in the conditional. Caught by going through list of removed symbols when building with hidden visibility. https://reviews.llvm.org/D26825 Files: include/new

[PATCH] D25208: [libc++] Make _LIBCPP_TYPE_VIS export members

2016-11-17 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. I should clarify that the ABI omissions are for Linux. https://reviews.llvm.org/D25208 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D25208: [libc++] Make _LIBCPP_TYPE_VIS export members

2016-11-17 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. Ping. I used @EricWF's ABI list verification work to confirm that this diff doesn't change the ABI of libc++ on both Darwin and Linux, so it should be completely safe. Building with hidden visibility on top of this patch gives the following ABI removals:

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-16 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 78324. smeenai added a comment. Moving explanation to comment instead of referencing Phabricator https://reviews.llvm.org/D26657 Files: lib/Sema/SemaTemplate.cpp test/CodeGenCXX/dllexport.cpp test/CodeGenCXX/windows-itanium-dllexport.cpp Index:

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-16 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 78322. smeenai added a comment. Limiting to dllexport after discussion with @hans https://reviews.llvm.org/D26657 Files: lib/Sema/SemaTemplate.cpp test/CodeGenCXX/dllexport.cpp test/CodeGenCXX/windows-itanium-dllexport.cpp Index:

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-16 Thread Shoaib Meenai via cfe-commits
smeenai added inline comments. Comment at: lib/Sema/SemaTemplate.cpp:7670-7673 +if ((Old_TSK == TSK_ExplicitInstantiationDeclaration || + Old_TSK == TSK_ImplicitInstantiation) && (TSK == TSK_ExplicitInstantiationDefinition ||

[libcxx] r287164 - [libc++] Introduce `_LIBCPP_OVERRIDABLE_FUNC_VIS`

2016-11-16 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Nov 16 16:18:10 2016 New Revision: 287164 URL: http://llvm.org/viewvc/llvm-project?rev=287164=rev Log: [libc++] Introduce `_LIBCPP_OVERRIDABLE_FUNC_VIS` This is a generalization of `_LIBCPP_NEW_DELETE_VIS`; the new macro name captures the semantics better, and also

[PATCH] D26702: [libc++] Introduce `_LIBCPP_OVERRIDABLE_FUNC_VIS`

2016-11-16 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL287164: [libc++] Introduce `_LIBCPP_OVERRIDABLE_FUNC_VIS` (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D26702?vs=78079=78264#toc Repository: rL LLVM

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-16 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D26657#597523, @hans wrote: > In https://reviews.llvm.org/D26657#596897, @smeenai wrote: > > > In https://reviews.llvm.org/D26657#596759, @hans wrote: > > > > > > On MSVC, if an implicit instantiation already exists and an explicit > > > >

[PATCH] D26702: [libc++] Introduce `_LIBCPP_OVERRIDABLE_FUNC_VIS`

2016-11-16 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D26702#597377, @EricWF wrote: > What happens on windows when `operator new` isn't overridden and has to be > imported from the DLL? Does that work? Yup. If you have a function that isn't marked `dllimport` and it's not found locally, the

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-15 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D26657#596759, @hans wrote: > > On MSVC, if an implicit instantiation already exists and an explicit > > instantiation definition with a DLL attribute is created, the DLL > > attribute still takes effect. Make clang match this behavior. > >

[PATCH] D26702: [libc++] Introduce `_LIBCPP_OVERRIDABLE_FUNC_VIS`

2016-11-15 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. This is a generalization of `_LIBCPP_NEW_DELETE_VIS`; the new macro name captures the semantics better, and also allows us to get rid of the `_WIN32` check in

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-15 Thread Shoaib Meenai via cfe-commits
smeenai added inline comments. Comment at: lib/Sema/SemaTemplate.cpp:7669 +// Fix a TSK_ExplicitInstantiationDeclaration or a TSK_ImplicitInstantiation +// followed by a TSK_ExplicitInstantiationDefinition +if ((Old_TSK == TSK_ExplicitInstantiationDeclaration ||

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-14 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, hans. smeenai added a subscriber: cfe-commits. On MSVC, if an implicit instantiation already exists and an explicit instantiation definition with a DLL attribute is created, the DLL attribute still takes effect. Make clang match

[PATCH] D26471: [Sema] Use MS ABI behavior for dllexport in Itanium

2016-11-09 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL286419: [Sema] Use MS ABI behavior for dllexport in Itanium (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D26471?vs=77392=77418#toc Repository: rL LLVM

r286419 - [Sema] Use MS ABI behavior for dllexport in Itanium

2016-11-09 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Nov 9 17:52:20 2016 New Revision: 286419 URL: http://llvm.org/viewvc/llvm-project?rev=286419=rev Log: [Sema] Use MS ABI behavior for dllexport in Itanium Similar to r284288, make the Itanium ABI follow MS ABI dllexport semantics in the case of an explicit instantiation

[PATCH] D26471: [Sema] Use MS ABI behavior for dllexport in Itanium

2016-11-09 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added a reviewer: compnerd. smeenai added a subscriber: cfe-commits. Similar to r284288, make the Itanium ABI follow MS ABI dllexport semantics in the case of an explicit instantiation declaration followed by a dllexport explicit instantiation definition.

[PATCH] D26150: [libc++abi] Fix test_exception_storage_nodynmem on MacOS

2016-11-09 Thread Shoaib Meenai via cfe-commits
smeenai abandoned this revision. smeenai added a comment. Abandoning this then. In case the new incarnation of the test needs to overwrite any memory allocation methods, this diff has the most reliable way to do it on OS X :) https://reviews.llvm.org/D26150

[PATCH] D26375: [libc++] Compare to libc++ source directory for out-of-source check

2016-11-08 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D26375#588949, @beanz wrote: > This patch doesn't make sense to me. > > In an in-tree build `CMAKE_SOURCE_DIR` would be the LLVM source directory > which shouldn't match your `CMAKE_BINARY_DIR`. > > In an out-of-tree build `CMAKE_SOURCE_DIR`

[PATCH] D26377: [libc++] Remove unnecessary MSVCRT exclusions

2016-11-07 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL286202: [libc++] Remove unnecessary MSVCRT exclusions (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D26377?vs=77119=77136#toc Repository: rL LLVM

[libcxx] r286202 - [libc++] Remove unnecessary MSVCRT exclusions

2016-11-07 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Mon Nov 7 21:31:42 2016 New Revision: 286202 URL: http://llvm.org/viewvc/llvm-project?rev=286202=rev Log: [libc++] Remove unnecessary MSVCRT exclusions Visual Studio 2013 and up have these functions, and we don't need to support older versions. There are some remaining

[PATCH] D26377: [libc++] Remove unnecessary MSVCRT exclusions

2016-11-07 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 77119. smeenai updated the summary for this revision. smeenai added a comment. Fixing some more exclusions https://reviews.llvm.org/D26377 Files: include/cmath include/cstdio include/cwchar Index: include/cwchar

[PATCH] D26377: [libc++] Remove unnecessary MSVCRT exclusions

2016-11-07 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. Visual Studio 2013 and up have these functions, and we don't need to support older versions. https://reviews.llvm.org/D26377 Files: include/cstdio Index:

[PATCH] D26375: [libc++] Compare to libc++ source directory for out-of-source check

2016-11-07 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: beanz, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. Herald added a subscriber: mgorny. When ensuring an out-of-source build, compare to the libc++ source directory instead of the top-level cmake source directory (which would

[PATCH] D26150: [libc++abi] Fix test_exception_storage_nodynmem on MacOS

2016-11-07 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D26150#587973, @ikudrin wrote: > This test is extremely fragile. Maybe, it is better to disable it, or even > delete it altogether. I'll take your word for it, as the original author of the test, though I'm curious about where the

[PATCH] D25208: [libc++] Make _LIBCPP_TYPE_VIS export members

2016-11-01 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. Ping :) https://reviews.llvm.org/D25208 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D25741: [libc++] Add configuration define for off_t functions

2016-10-31 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL285582: [libc++] Add configuration define for off_t functions (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D25741?vs=75142=76411#toc Repository: rL LLVM

[libcxx] r285582 - [libc++] Add configuration define for off_t functions

2016-10-31 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Mon Oct 31 10:09:10 2016 New Revision: 285582 URL: http://llvm.org/viewvc/llvm-project?rev=285582=rev Log: [libc++] Add configuration define for off_t functions Create this define in __config and use it elsewhere, instead of checking the operating system/library defines in

[PATCH] D26150: [libc++abi] Fix test_exception_storage_nodynmem on MacOS

2016-10-31 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, howard.hinnant, ikudrin, mclow.lists. smeenai added a subscriber: cfe-commits. Mach-O defaults to two-level namespaces, so `calloc` cannot be interpositoned. Override it via the default malloc zone instead. Note:

[PATCH] D25741: [libc++] Add configuration define for off_t functions

2016-10-19 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 75142. smeenai added a comment. Addressing @mclow.lists's comment https://reviews.llvm.org/D25741 Files: include/__config include/fstream Index: include/fstream === --- include/fstream

[PATCH] D25208: [libc++] Make _LIBCPP_TYPE_VIS export members

2016-10-19 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. Ping. The way I see it, this doesn't change anything for people not building with hidden visibility (which should be most people, including the buildbots), but it does make `_LIBCPP_TYPE_VIS` more useful (and consistent with the existing Windows behavior) for people

[PATCH] D25741: [libc++] Add configuration define for off_t functions

2016-10-18 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. Create this define in __config and use it elsewhere, instead of checking the operating system/library defines in other files. The aim is to reduce the usage of _WIN32 outside

[PATCH] D25208: [libc++] Make _LIBCPP_TYPE_VIS export members

2016-10-12 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D25208#564930, @EricWF wrote: > Why do you want to build `libc++.so` with hidden visibility? What's wrong > with the existing way we build `libc++.so`? There's nothing wrong with the existing way, per se. I personally prefer hidden

[PATCH] D25145: [libc++] Correct explanation of _LIBCPP_NEW_DELETE_VIS

2016-10-12 Thread Shoaib Meenai via cfe-commits
smeenai closed this revision. smeenai added a comment. Not sure why Phabricator isn't closing this out, but this was committed as SVN r284016 https://reviews.llvm.org/D25145 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[libcxx] r284016 - [libc++] Correct explanation of _LIBCPP_NEW_DELETE_VIS

2016-10-12 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Wed Oct 12 08:48:14 2016 New Revision: 284016 URL: http://llvm.org/viewvc/llvm-project?rev=284016=rev Log: [libc++] Correct explanation of _LIBCPP_NEW_DELETE_VIS The behavior of this macro actually needs to apply universally on Windows and not just when using the Microsoft

[PATCH] D25145: [libc++] Correct explanation of _LIBCPP_NEW_DELETE_VIS

2016-10-12 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. In https://reviews.llvm.org/D25145#565027, @mclow.lists wrote: > Sigh. Make an expedient choice that you don't really agree with, and you get > immediately reminded of it. I suggested on an earlier review (not this > patch) that I really didn't want to see `_WIN32`

[PATCH] D25208: [libc++] Make _LIBCPP_TYPE_VIS export members

2016-10-03 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. Most classes annotated with _LIBCPP_TYPE_VIS need to have at least some of their members exported, otherwise we have a lot of link errors when linking against a libc++

[PATCH] D25145: [libc++] Correct explanation of _LIBCPP_NEW_DELETE_VIS

2016-09-30 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. My initial understanding of the problem was incorrect; I did some further experimentation and I think I properly understand what's going on here now. Sorry for the churn. https://reviews.llvm.org/D25145 ___ cfe-commits

[PATCH] D25145: [libc++] Correct explanation of _LIBCPP_NEW_DELETE_VIS

2016-09-30 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. The behavior of this macro actually needs to apply universally on Windows and not just when using the Microsoft CRT. Update the macro definition and documentation

[PATCH] D25053: [libc++] Correct alignment condition

2016-09-30 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. @mclow.lists Do you have any preference between this and https://reviews.llvm.org/D14259? I'm fine either way, but I'd want one of them to be committed sooner rather than later. https://reviews.llvm.org/D25053 ___

Re: [PATCH] D25053: [libc++] Correct alignment condition

2016-09-28 Thread Shoaib Meenai via cfe-commits
smeenai added a comment. It's not – I just wasn't aware of the existence of the other one :) That one's been stagnant for a long time though. One of these changes should be abandoned in favor of the other, and I'm fine doing it either way. https://reviews.llvm.org/D25053

[PATCH] D25053: [libc++] Correct alignment condition

2016-09-28 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. The max alignment is a PE/COFF restriction, not an MSVC-specific restriction; it also applies to gcc and clang when compiling for Windows. Change the conditional to

Re: [PATCH] D25042: [libc++] Clarify _LIBCPP_NEW_DELETE_VIS for Windows

2016-09-28 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL282644: [libc++] Clarify _LIBCPP_NEW_DELETE_VIS for Windows (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D25042?vs=72911=72915#toc Repository: rL LLVM

Re: [PATCH] D25042: [libc++] Clarify _LIBCPP_NEW_DELETE_VIS for Windows

2016-09-28 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 72911. smeenai added a comment. Moving documentation to documentation file, per @EricWF's comment https://reviews.llvm.org/D25042 Files: docs/DesignDocs/VisibilityMacros.rst include/new Index: include/new

Re: [PATCH] D25042: [libc++] Clarify _LIBCPP_NEW_DELETE_VIS for Windows

2016-09-28 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 72891. smeenai added a comment. Clarifying code comment https://reviews.llvm.org/D25042 Files: include/new Index: include/new === --- include/new +++ include/new @@ -125,8 +125,18 @@ }

[PATCH] D25042: [libc++] Clarify _LIBCPP_NEW_DELETE_VIS for Windows

2016-09-28 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. Replace a stale reference to cxx_EXPORTS with _LIBCPP_BUILDING_LIBRARY, and clarify why the operator new and delete family of functions are marked dllexport when

Re: [PATCH] D24945: [libc++abi] Default to DLL annotations on Windows

2016-09-26 Thread Shoaib Meenai via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL282470: [libc++abi] Default to DLL annotations on Windows (authored by smeenai). Changed prior to commit: https://reviews.llvm.org/D24945?vs=72598=72599#toc Repository: rL LLVM

[libcxxabi] r282470 - [libc++abi] Default to DLL annotations on Windows

2016-09-26 Thread Shoaib Meenai via cfe-commits
Author: smeenai Date: Mon Sep 26 22:44:09 2016 New Revision: 282470 URL: http://llvm.org/viewvc/llvm-project?rev=282470=rev Log: [libc++abi] Default to DLL annotations on Windows `__declspec(dllexport)` and `__declspec(dllimport)` should only be used when building libc++abi as a DLL, but that's

Re: [PATCH] D24945: [libc++abi] Default to DLL annotations on Windows

2016-09-26 Thread Shoaib Meenai via cfe-commits
smeenai updated this revision to Diff 72598. smeenai added a comment. Addressing @EricWF's comment https://reviews.llvm.org/D24945 Files: CMakeLists.txt include/__cxxabi_config.h Index: include/__cxxabi_config.h === ---

Re: [PATCH] D24945: [libc++abi] Default to DLL annotations on Windows

2016-09-26 Thread Shoaib Meenai via cfe-commits
smeenai marked an inline comment as done. smeenai added a comment. https://reviews.llvm.org/D24945 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D24945: [libc++abi] Default to DLL annotations on Windows

2016-09-26 Thread Shoaib Meenai via cfe-commits
smeenai created this revision. smeenai added reviewers: compnerd, EricWF, mclow.lists. smeenai added a subscriber: cfe-commits. Herald added subscribers: mgorny, beanz. `__declspec(dllexport)` and `__declspec(dllimport)` should only be used when building libc++abi as a DLL, but that's the more

Re: [PATCH] D24877: [libc++] Default to DLL semantics on Windows

2016-09-26 Thread Shoaib Meenai via cfe-commits
smeenai abandoned this revision. smeenai added a comment. Your patch looks good to me and is a nicer way of accomplishing this. Thanks for taking care of it! https://reviews.llvm.org/D24877 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

<    1   2   3   4   >