smeenai (Shoaib Meenai)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 19 2016, 10:21 AM (48 w, 3 d)

Recent Activity

Today

smeenai committed rL308899: [CodeGen] Propagate dllexport to thunks.
[CodeGen] Propagate dllexport to thunks
Mon, Jul 24, 10:17 AM
smeenai closed D34972: [CodeGen] Propagate dllexport to thunks by committing rL308899: [CodeGen] Propagate dllexport to thunks.
Mon, Jul 24, 10:17 AM

Sat, Jul 22

smeenai added a reviewer for D35767: [COFF] Correctly set the thumb bit in DLL export addresses: compnerd.
Sat, Jul 22, 2:52 PM
smeenai closed D35612: Given preference to @@ symbols.

r308492

Sat, Jul 22, 12:17 PM
smeenai updated the diff for D34972: [CodeGen] Propagate dllexport to thunks.

Add comment

Sat, Jul 22, 11:51 AM

Fri, Jul 21

smeenai updated the summary of D34972: [CodeGen] Propagate dllexport to thunks.
Fri, Jul 21, 10:13 PM
smeenai added a comment to D34972: [CodeGen] Propagate dllexport to thunks.

Ping. I updated the description based on the email discussion with @majnemer.

Fri, Jul 21, 10:13 PM
smeenai added inline comments to D35757: Work around an MSVC2017 update 3 codegen bug..
Fri, Jul 21, 9:18 PM

Wed, Jul 19

smeenai added a comment to D35595: Bring back r307364.

Thanks for the explanations @rafael. Everything makes sense now.

Wed, Jul 19, 9:14 AM

Tue, Jul 18

smeenai added a comment to D35595: Bring back r307364.

(from @rafael's email) Correct, bfd complains. That is why you have to make foo weak, which is annoying.

Tue, Jul 18, 10:24 PM
smeenai added a comment to D35595: Bring back r307364.

I'm probably just misunderstanding the discussion here, but bfd complains about multiple definitions if you do .symver x, x@@VER: https://ghostbin.com/paste/c9b4t. Granted, I'm on an old version of binutils, so maybe that's changed?

Tue, Jul 18, 6:55 PM
smeenai committed rL308315: [COFF] Accept discarded relocations in DWARF debug sections.
[COFF] Accept discarded relocations in DWARF debug sections
Tue, Jul 18, 8:11 AM
smeenai closed D35526: [COFF] Accept discarded relocations in DWARF debug sections by committing rL308315: [COFF] Accept discarded relocations in DWARF debug sections.
Tue, Jul 18, 8:11 AM

Mon, Jul 17

smeenai added inline comments to D35526: [COFF] Accept discarded relocations in DWARF debug sections.
Mon, Jul 17, 9:14 PM
smeenai updated the diff for D35526: [COFF] Accept discarded relocations in DWARF debug sections.

arc snafu

Mon, Jul 17, 9:13 PM
smeenai updated the diff for D35526: [COFF] Accept discarded relocations in DWARF debug sections.

Correct formatting

Mon, Jul 17, 9:12 PM
smeenai updated the diff for D35526: [COFF] Accept discarded relocations in DWARF debug sections.

Add comment for isDWARF

Mon, Jul 17, 6:42 PM
smeenai created D35526: [COFF] Accept discarded relocations in DWARF debug sections.
Mon, Jul 17, 6:39 PM
smeenai resigned from D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

You probably wanna update the summary. We also generally recommend uploading patches with more context (pass -U9999 to your git commands), though it doesn't make much difference over here.

Mon, Jul 17, 2:11 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

@thomasanderson you could re-upload this diff with just the include/vector change, and then @EricWF can decide if that's the right thing to do.

Mon, Jul 17, 1:51 PM
smeenai committed rL308207: [ELF] Use stable_sort for compareByFilePosition.
[ELF] Use stable_sort for compareByFilePosition
Mon, Jul 17, 12:43 PM
smeenai closed D35473: [ELF] compareByFilePosition requires stable_sort by committing rL308207: [ELF] Use stable_sort for compareByFilePosition.
Mon, Jul 17, 12:42 PM
smeenai added inline comments to D35473: [ELF] compareByFilePosition requires stable_sort.
Mon, Jul 17, 12:40 PM
smeenai added a comment to D35473: [ELF] compareByFilePosition requires stable_sort.

@peter.smith Yeah changing compareByFilePosition should work for now, though stable_sort might be more future-proof. I'll leave that for @rafael and @ruiu to decide.

Mon, Jul 17, 8:45 AM
smeenai updated subscribers of D35473: [ELF] compareByFilePosition requires stable_sort.
Mon, Jul 17, 12:09 AM
smeenai updated subscribers of D35473: [ELF] compareByFilePosition requires stable_sort.

I discovered this because the .ARM.exidx end sentinel was getting incorrectly reordered away from the end of the section, leading to unwinding failing in certain binaries. CC @peter.smith, in case you've run into any similar issues.

Mon, Jul 17, 12:09 AM
smeenai created D35473: [ELF] compareByFilePosition requires stable_sort.
Mon, Jul 17, 12:04 AM

Thu, Jul 13

smeenai committed rL307997: [libc++] Clean up cl warning 4231 disabling.
[libc++] Clean up cl warning 4231 disabling
Thu, Jul 13, 11:38 PM
smeenai committed rL307998: [lld] Update Windows support docs.
[lld] Update Windows support docs
Thu, Jul 13, 11:38 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

r307966 fixes string operator+, and D35388 fixes __vector_base_common.

Awesome, thanks for the quick fixes!

Thu, Jul 13, 3:28 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

Also, string has a class almost identical to __vector_base_common:
https://reviews.llvm.org/diffusion/L/browse/libcxx/trunk/include/string;307970$560

But currently string has _LIBCPP_TEMPLATE_VIS and vector does not. Maybe at least one of them is wrong?

Thu, Jul 13, 3:26 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

r307966 fixes string operator+, and D35388 fixes __vector_base_common.

Thu, Jul 13, 3:11 PM
smeenai committed rL307972: [libc++] class template -> template class. NFC.
[libc++] class template -> template class. NFC
Thu, Jul 13, 3:09 PM
smeenai created D35388: [libc++] Give extern templates default visibility on gcc.
Thu, Jul 13, 3:06 PM
smeenai committed rL307966: [libc++] Mark string operator+ _LIBCPP_FUNC_VIS.
[libc++] Mark string operator+ _LIBCPP_FUNC_VIS
Thu, Jul 13, 2:36 PM
smeenai committed rL307965: [libc++] Remove unused _LIBCPP_FUNC_VIS_ONLY.
[libc++] Remove unused _LIBCPP_FUNC_VIS_ONLY
Thu, Jul 13, 2:28 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

Hmm, that's pretty ancient (and I would be surprised if that changed in newer versions). Lemme play with this some more.

Thu, Jul 13, 1:50 PM
smeenai committed rL307954: [libc++] Use proper template terminology. NFC.
[libc++] Use proper template terminology. NFC
Thu, Jul 13, 1:48 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

Hmm, what version of gcc are you using? https://reviews.llvm.org/diffusion/L/browse/libcxx/trunk/docs/DesignDocs/VisibilityMacros.rst;307951$86-90 suggests this may have changed recently.

Thu, Jul 13, 1:41 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

Perfect. I'll throw up some patches.

Thu, Jul 13, 1:30 PM
smeenai added a comment to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

Does P8004 fix operator+?

Thu, Jul 13, 1:14 PM
smeenai requested changes to D35326: [libc++] Add _LIBCPP_TEMPLATE_VIS to __vector_base_common.

This doesn't look right to me. _LIBCPP_TEMPLATE_VIS expands to __attribute__((__type_visibility__("default"))) on compilers where __type_visibility__ is supported; i.e., its intent is to only export the typeinfo and vtable. gcc doesn't support this attribute, so we'll use __visibility__ instead and this change will appear to fix your issue, but it's not conceptually correct.

Thu, Jul 13, 9:38 AM

Mon, Jul 10

smeenai added inline comments to D35152: Add some basic linker module symbols.
Mon, Jul 10, 1:01 PM
smeenai added a comment to D34210: Add __has_feature(leak_sanitizer).

COFF supports weak externals: https://stackoverflow.com/a/11529277/382079. Would it suffice here?

Mon, Jul 10, 12:20 PM

Thu, Jul 6

smeenai added reviewers for D35077: [RFC] Build LLVM-C.dll on MSVC that exports only the C API: rnk, compnerd, beanz.

(adding some Windows and cmake people)

Thu, Jul 6, 11:22 AM

Mon, Jul 3

smeenai created D34972: [CodeGen] Propagate dllexport to thunks.
Mon, Jul 3, 7:37 PM
smeenai committed rL307052: [CodeGen] Check key function for typeinfo import.
[CodeGen] Check key function for typeinfo import
Mon, Jul 3, 6:02 PM

Fri, Jun 30

smeenai added a comment to D34850: [CodeGen] Propagate dllexport to thunks.

Sorry about the breakage. I'll redo this limiting it to windows-itanium (and add a comment explaining why we want it).

Fri, Jun 30, 9:09 AM

Thu, Jun 29

smeenai committed rL306770: [CodeGen] Propagate dllexport to thunks.
[CodeGen] Propagate dllexport to thunks
Thu, Jun 29, 5:08 PM
smeenai closed D34850: [CodeGen] Propagate dllexport to thunks by committing rL306770: [CodeGen] Propagate dllexport to thunks.
Thu, Jun 29, 5:08 PM
smeenai created D34850: [CodeGen] Propagate dllexport to thunks.
Thu, Jun 29, 5:04 PM

Wed, Jun 28

smeenai committed rL306632: [libc++] Hoist explicit instantiation above implicit. NFC.
[libc++] Hoist explicit instantiation above implicit. NFC
Wed, Jun 28, 7:53 PM

Tue, Jun 27

smeenai resigned from D32411: [libcxx] Provide #include_next alternative for MSVC.

Sorry, I've been meaning to respond for a while.

Tue, Jun 27, 10:01 AM
smeenai resigned from D34678: [LLD][ELF] Consolidate .ARM.extab.* sections into .ARM.extab.

LGTM, but @ruiu or @rafael has to approve, of course. I'm happy to see this though :)

Tue, Jun 27, 10:00 AM

Mon, Jun 26

smeenai added a comment to D34634: [LLD][ELF] Full patch for range thunks (not for review).

Thank you so much! This will be really helpful for me.

Mon, Jun 26, 11:16 AM

Jun 23 2017

smeenai added reviewers for D34588: Check for _MSC_VER before define _LIBCPP_MSVCRT: compnerd, majnemer, rnk.

This looks sensible to me. I don't know if there are any scenarios in which you'd be using the Microsoft CRT without having _MSC_VER defined, however. Added some people who may have a better idea of that (@compnerd, @majnemer and @rnk)

Jun 23 2017, 6:42 PM

Jun 5 2017

smeenai committed rL304761: [Driver] Don't force .exe suffix for lld.
[Driver] Don't force .exe suffix for lld
Jun 5 2017, 7:07 PM
smeenai closed D33923: [Driver] Don't force .exe suffix for lld by committing rL304761: [Driver] Don't force .exe suffix for lld.
Jun 5 2017, 7:07 PM
smeenai created D33923: [Driver] Don't force .exe suffix for lld.
Jun 5 2017, 5:47 PM
smeenai abandoned D32109: [Driver] Limit .exe extension addition to Windows hosts.

Will just drop the .exe entirely, since that works

Jun 5 2017, 5:42 PM

May 31 2017

smeenai added a comment to D33713: [ELF] - Do not crash when proccessing absolute symbols during GC..

Thanks!

May 31 2017, 11:12 AM

May 29 2017

smeenai accepted D33082: Fix Libc++ build with MinGW64.

LGTM. Thanks for all the revisions!

May 29 2017, 5:35 PM

May 17 2017

smeenai added a comment to D33295: [WebAssembly][NFC] Update expected testsuite failures for newly passing tests.

@sbc100 Normally you'd be able to accept the revision as an explicit LGTM. In this case, the revision had already been committed, so you don't have that option anymore.

May 17 2017, 1:30 PM

May 14 2017

smeenai added a comment to D33082: Fix Libc++ build with MinGW64.

Sure, a _LIBCPP_MSVCRT_LIKE WFM. I just want to make sure that we don''t conflate the underlying libc implementation with the Win32 API set.

May 14 2017, 2:32 PM
smeenai added a comment to D33082: Fix Libc++ build with MinGW64.

@compnerd see my previous comment:

May 14 2017, 12:48 PM
smeenai committed rL303014: [COFF] Gracefully handle empty .drectve sections.
[COFF] Gracefully handle empty .drectve sections
May 14 2017, 11:48 AM
smeenai closed D32652: Gracefully handle empty .drectve sections by committing rL303014: [COFF] Gracefully handle empty .drectve sections.
May 14 2017, 11:48 AM

May 10 2017

smeenai added a comment to D33082: Fix Libc++ build with MinGW64.

@EricWF and I discussed this on IRC a bit. I'm not a fan of overloading _LIBCPP_WIN32API for this purpose, since to me that macro is meant for guarding Windows API functions, not for CRT functions. Eric suggested adding a new macro _LIBCPP_MSVCRT_LIKE, which I'd be fine with.

May 10 2017, 11:19 PM
smeenai committed rL302739: [libc++abi] Disable libc++ extern templates project-wide.
[libc++abi] Disable libc++ extern templates project-wide
May 10 2017, 3:06 PM
smeenai closed D32329: [libc++abi] Disable libc++ extern templates project-wide by committing rL302739: [libc++abi] Disable libc++ extern templates project-wide.
May 10 2017, 3:05 PM
smeenai added a comment to D32329: [libc++abi] Disable libc++ extern templates project-wide.

Confirmed that there are no ABI changed on both Linux and macOS.

May 10 2017, 3:04 PM

May 7 2017

smeenai added a comment to D32329: [libc++abi] Disable libc++ extern templates project-wide.

Also ABI list checks for libc++abi sound awesome.

May 7 2017, 11:04 PM
smeenai added a comment to D32329: [libc++abi] Disable libc++ extern templates project-wide.

Fair enough. I'll probably get to that tomorrow.

May 7 2017, 11:04 PM
smeenai added a comment to D32329: [libc++abi] Disable libc++ extern templates project-wide.

Ping.

May 7 2017, 10:58 PM

Apr 28 2017

smeenai added a comment to D32652: Gracefully handle empty .drectve sections.
In D32652#741088, @ruiu wrote:

I feel like we should fix COFFObjectFile::getSectionContents to not fail on empty sections instead of avoid calling it on empty sections, as I naturally expect that getSectionContents returns an empty StringRef for an empty section.

Apr 28 2017, 12:14 PM
smeenai accepted D32652: Gracefully handle empty .drectve sections.

Empty sections causing a parse failure strikes me as slightly odd, but I'm guessing there's a good rationale for it. @compnerd?

Apr 28 2017, 11:55 AM

Apr 27 2017

smeenai added a comment to D32329: [libc++abi] Disable libc++ extern templates project-wide.

Ping.

Apr 27 2017, 11:22 AM

Apr 24 2017

smeenai added a comment to D32109: [Driver] Limit .exe extension addition to Windows hosts.

Why not always replace the extension? Windows doesnt require the .exe suffix IIRC.

Apr 24 2017, 5:48 PM
smeenai committed rL301207: [ELF] Account for R_386_TLS_LDO_32 addend.
[ELF] Account for R_386_TLS_LDO_32 addend
Apr 24 2017, 11:15 AM
smeenai closed D32336: [ELF] Account for R_386_TLS_LDO_32 addend by committing rL301207: [ELF] Account for R_386_TLS_LDO_32 addend.
Apr 24 2017, 11:15 AM
smeenai added a comment to D32336: [ELF] Account for R_386_TLS_LDO_32 addend.

Thanks for the review!

Apr 24 2017, 11:12 AM

Apr 21 2017

smeenai requested review of D32336: [ELF] Account for R_386_TLS_LDO_32 addend.

Thanks for the review and for adjusting the reviewers. I'm requesting a review again so that it shows up in the right queue for @rafael and @ruiu.

Apr 21 2017, 8:57 AM

Apr 20 2017

smeenai created D32336: [ELF] Account for R_386_TLS_LDO_32 addend.
Apr 20 2017, 9:57 PM
smeenai created D32329: [libc++abi] Disable libc++ extern templates project-wide.
Apr 20 2017, 5:01 PM
smeenai committed rL300921: [libc++] Default to vcruntime when targeting MSVC.
[libc++] Default to vcruntime when targeting MSVC
Apr 20 2017, 4:46 PM
smeenai closed D32320: [libc++] Default to vcruntime when targeting MSVC by committing rL300921: [libc++] Default to vcruntime when targeting MSVC.
Apr 20 2017, 4:46 PM
smeenai updated the diff for D32320: [libc++] Default to vcruntime when targeting MSVC.

Reduce nesting (address comments)

Apr 20 2017, 4:40 PM
smeenai added inline comments to D32320: [libc++] Default to vcruntime when targeting MSVC.
Apr 20 2017, 4:32 PM
smeenai created D32320: [libc++] Default to vcruntime when targeting MSVC.
Apr 20 2017, 4:02 PM

Apr 19 2017

smeenai resigned from D32265: Add __CLANG_ATOMIC_<TYPE>_LOCK_FREE macros for use in MSVC compatibility mode..

This looks good to me, but I'm not familiar enough with this part of clang to be comfortable accepting.

Apr 19 2017, 8:52 PM
smeenai committed rL300804: [Sema] Use MSVC inner class behavior on Itanium.
[Sema] Use MSVC inner class behavior on Itanium
Apr 19 2017, 6:24 PM
smeenai closed D32213: [Sema] Use MSVC inner class behavior on Itanium by committing rL300804: [Sema] Use MSVC inner class behavior on Itanium.
Apr 19 2017, 6:24 PM
smeenai committed rL300743: [libc++] Use _LIBCPP_ABI_MICROSOFT instead of _MSC_VER.
[libc++] Use _LIBCPP_ABI_MICROSOFT instead of _MSC_VER
Apr 19 2017, 1:23 PM

Apr 18 2017

smeenai created D32213: [Sema] Use MSVC inner class behavior on Itanium.
Apr 18 2017, 11:31 PM

Apr 15 2017

smeenai planned changes to D32109: [Driver] Limit .exe extension addition to Windows hosts.

Forgot to fix a test

Apr 15 2017, 12:26 AM
smeenai created D32109: [Driver] Limit .exe extension addition to Windows hosts.
Apr 15 2017, 12:04 AM

Apr 13 2017

smeenai committed rL300246: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option.
[libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option
Apr 13 2017, 1:26 PM
smeenai closed D31725: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option by committing rL300246: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option.
Apr 13 2017, 1:26 PM
smeenai updated the diff for D31725: [libc++] Add _LIBCPP_DISABLE_EXTERN_TEMPLATE config option.

Add documentation

Apr 13 2017, 1:24 PM
smeenai committed rL300206: [libc++] Explicitly set output directory for DLL.
[libc++] Explicitly set output directory for DLL
Apr 13 2017, 9:40 AM