Page MenuHomePhabricator

cebowleratibm (Chris Bowler)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 17 2019, 7:18 AM (196 w, 6 d)

Recent Activity

Feb 1 2023

cebowleratibm added inline comments to D143010: [libc++abi][AIX] Skip non-C++ EH aware frames when retrieving exception object.
Feb 1 2023, 7:32 AM · Restricted Project, Restricted Project, Restricted Project
cebowleratibm added inline comments to D143010: [libc++abi][AIX] Skip non-C++ EH aware frames when retrieving exception object.
Feb 1 2023, 7:30 AM · Restricted Project, Restricted Project, Restricted Project

Jan 16 2023

cebowleratibm added a comment to D136554: Implement CWG2631.

Yes please! However the warning looks correct to me in that case. A
constructs x which constructs A etc.

Jan 16 2023, 10:49 AM · Restricted Project, Restricted Project
cebowleratibm added a comment to D136554: Implement CWG2631.

I've reduced a regression on:

Jan 16 2023, 9:00 AM · Restricted Project, Restricted Project

Jan 10 2023

cebowleratibm closed D135384: [AIX] Fix mcount name and call arguments.

I had a typo in the commit so this didn't auto close.

Jan 10 2023, 7:45 AM · Restricted Project, Restricted Project, Restricted Project

Jan 3 2023

cebowleratibm added a comment to D140675: [AIX][libc++] Always opt in to _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION.

I suggest adding a reproducer for the specific error we're seeing on AIX. I expect there is an issue when the affected bad_function_call symbols are generated in user objects with hidden visibility, which conflict with the definition provided in the library. A test would document this understanding.

Jan 3 2023, 6:05 AM · Restricted Project, Restricted Project

Nov 30 2022

cebowleratibm accepted D137756: [z/OS][pg] Throw error when using -pg on z/OS.
Nov 30 2022, 6:40 AM · Restricted Project, Restricted Project

Nov 29 2022

cebowleratibm committed rG0fae851824bc: [AIX][pg] Add Correct Search Paths for Profiled Libraries (authored by francii).
[AIX][pg] Add Correct Search Paths for Profiled Libraries
Nov 29 2022, 7:17 AM · Restricted Project, Restricted Project

Nov 23 2022

cebowleratibm accepted D137375: [AIX][pg] Add Correct Search Paths for Profiled Libraries.

LGTM.

Nov 23 2022, 10:49 AM · Restricted Project, Restricted Project

Nov 22 2022

cebowleratibm added a comment to D137375: [AIX][pg] Add Correct Search Paths for Profiled Libraries.

Looks good but I just want to confirm that the profiled -L paths are appended in the correct order with respect to the non-profiled paths.

Nov 22 2022, 6:24 AM · Restricted Project, Restricted Project

Nov 10 2022

cebowleratibm added a comment to D128223: [clang] Cached linkage assertion for static locals of static function.

I believe the fix for a52d151f9dde7 inadvertently exposed a code path where by the linkage of a static local of a static function, which would otherwise return LinkageInfo::none() may now return VisibleNoLinkage depending on the incoming computation argument.

Nov 10 2022, 10:22 AM · Restricted Project, Restricted Project
cebowleratibm updated the diff for D128223: [clang] Cached linkage assertion for static locals of static function.
Nov 10 2022, 10:16 AM · Restricted Project, Restricted Project

Nov 9 2022

cebowleratibm committed rGe07a7040d9c6: [Test][AIX][pg] Add 32-bit linker invocation tests (authored by francii).
[Test][AIX][pg] Add 32-bit linker invocation tests
Nov 9 2022, 12:03 PM · Restricted Project, Restricted Project
cebowleratibm committed rGdc9846ce988b: [Test][AIX][p] Add 64-bit linker invocation tests (authored by francii).
[Test][AIX][p] Add 64-bit linker invocation tests
Nov 9 2022, 11:52 AM · Restricted Project, Restricted Project
cebowleratibm accepted D137373: [Test][[AIX][p] Add 64-bit linker invocation tests.

Test only patch is safe to commit.

Nov 9 2022, 11:40 AM · Restricted Project, Restricted Project
cebowleratibm accepted D137372: [Test][[AIX][pg] Add 32-bit linker invocation tests.

Test only patch is safe to commit.

Nov 9 2022, 11:17 AM · Restricted Project, Restricted Project

Nov 7 2022

cebowleratibm planned changes to D128223: [clang] Cached linkage assertion for static locals of static function.
Nov 7 2022, 12:21 PM · Restricted Project, Restricted Project
cebowleratibm added a comment to D137373: [Test][[AIX][p] Add 64-bit linker invocation tests.

Suggest: [Test][AIX][p] Add 64-bit driver expected output

Nov 7 2022, 9:23 AM · Restricted Project, Restricted Project
cebowleratibm added a comment to D137372: [Test][[AIX][pg] Add 32-bit linker invocation tests.

Use the [Test] tag in the abstract.

Nov 7 2022, 9:21 AM · Restricted Project, Restricted Project

Oct 25 2022

cebowleratibm accepted D136257: [libc++abi][AIX] Use reserved slot in stack to pass the address of exception object.

I have no further concerns with this patch and can confirm the solution works for EH support of the XL C++ V16 xlclang++ compiler. No further concerns.

Oct 25 2022, 7:51 AM · Restricted Project, Restricted Project, Restricted Project

Oct 21 2022

cebowleratibm added inline comments to D136257: [libc++abi][AIX] Use reserved slot in stack to pass the address of exception object.
Oct 21 2022, 7:51 AM · Restricted Project, Restricted Project, Restricted Project

Oct 20 2022

cebowleratibm committed rG922f42d531b8: [clang][AIX] Fix mcount name and call arguments (authored by francii).
[clang][AIX] Fix mcount name and call arguments
Oct 20 2022, 1:26 PM · Restricted Project, Restricted Project, Restricted Project

Oct 11 2022

cebowleratibm added inline comments to D135384: [AIX] Fix mcount name and call arguments.
Oct 11 2022, 7:14 AM · Restricted Project, Restricted Project, Restricted Project

Oct 7 2022

cebowleratibm added inline comments to D135384: [AIX] Fix mcount name and call arguments.
Oct 7 2022, 2:02 PM · Restricted Project, Restricted Project, Restricted Project
cebowleratibm added inline comments to D135384: [AIX] Fix mcount name and call arguments.
Oct 7 2022, 6:57 AM · Restricted Project, Restricted Project, Restricted Project

Jul 21 2022

cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

The new test passes/fails based on wchar_t/wint_t types, which is tedious to manage across targets with XFAIL so I've decided to enable it only for AIX/zOS targets where it is expected to pass.

Jul 21 2022, 11:07 AM · Restricted Project, Restricted Project

Jul 20 2022

cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

New test fails on macos targets (as it should) but I needed to correct a typo on the XFAIL line.

Jul 20 2022, 4:58 AM · Restricted Project, Restricted Project

Jul 19 2022

cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Formatting and typo.

Jul 19 2022, 10:54 AM · Restricted Project, Restricted Project
cebowleratibm planned changes to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Thanks for catching the formatting problems Xing. I'll need to look at my workflow to see why I didn't catch those.

Jul 19 2022, 10:21 AM · Restricted Project, Restricted Project

Jul 17 2022

cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Fix formatting and a typo in the __config

Jul 17 2022, 6:28 PM · Restricted Project, Restricted Project

Jul 15 2022

cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
  • Only add fill set as needed for _LIBCPP_ABI > 1 for all targets
  • zOS 64-bit always needs fill set for compatibility
  • tweaked the test to use the char value for eof as it exposes the problem for both signed and unsigned char types
Jul 15 2022, 11:06 AM · Restricted Project, Restricted Project
cebowleratibm planned changes to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Plan to revise the config to pick up the "fill set member as needed" mode in the config for all targets when _LIBCPP_ABI_VERSION >= 2.

Jul 15 2022, 7:51 AM · Restricted Project, Restricted Project

Jun 30 2022

cebowleratibm retitled D128223: [clang] Cached linkage assertion for static locals of static function from [clang] Linkage of static locals may require inspecting visibility to [clang] Linkage computation of static locals may require forcing visibility computation.
Jun 30 2022, 10:45 AM · Restricted Project, Restricted Project

Jun 25 2022

cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Quick testcase fix.

Jun 25 2022, 10:43 AM · Restricted Project, Restricted Project
cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Any basic_ios where sizeof(char_type) >= sizeof(int_type) has at least some char value that overlaps with the eof character. I've modified the proposed test to demonstrate signed char types are affected at -1.

Jun 25 2022, 10:31 AM · Restricted Project, Restricted Project

Jun 24 2022

cebowleratibm added inline comments to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
Jun 24 2022, 4:43 PM · Restricted Project, Restricted Project
cebowleratibm planned changes to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Writing revision to use SentinelFill/OptionalFill classes.

Jun 24 2022, 1:46 PM · Restricted Project, Restricted Project

Jun 23 2022

cebowleratibm added inline comments to D65667: [libcxx] Avoid destructor call for error_category singletons.
Jun 23 2022, 2:08 PM · Restricted Project, Restricted Project

Jun 22 2022

cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
  1. The selection of the fill set member is moved to the __config.
  2. This patch retains ABI compatibility for any of the libc++ CI that reported failures on this issue.
  3. Always inject the fill set member for AIX to retain compatibility for AIX.
  4. This only fixes basic_ios<wchar_t>. It is not compliant to instantiate basic_ios with a char type where char_traits::eof is not a sentinel value. #wchar_t is an exception because C++ shouldn't be adding constraints beyond what C guarantees.
Jun 22 2022, 2:04 PM · Restricted Project, Restricted Project

Jun 20 2022

cebowleratibm requested review of D128223: [clang] Cached linkage assertion for static locals of static function.
Jun 20 2022, 1:31 PM · Restricted Project, Restricted Project

Jun 15 2022

cebowleratibm added inline comments to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
Jun 15 2022, 2:49 PM · Restricted Project, Restricted Project

Jun 14 2022

cebowleratibm added inline comments to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
Jun 14 2022, 6:00 PM · Restricted Project, Restricted Project
cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

The new approach injects the new __fill_set_ only for wchar_t and only if WEOF is in the range [WCHAR_MIN, WCHAR_MAX]. I didn't use numeric_limits because the solution needs to work in C++03.

Jun 14 2022, 5:50 PM · Restricted Project, Restricted Project
cebowleratibm added a comment to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
template <class _Traits>
struct _OptionalFill {
  _OptionalFill() : __set_(false) { }
  _OptionalFill& operator=(typename _Traits::int_type __x) { __set_ = true; __fill_ = __x; return *this; }
  bool __is_set() const { return __set_; }
  typename _Traits::int_type __fill() const { return __fill_; }

private:
  typename _Traits::int_type __fill_;
  bool __set_;
};

Thoughts?

From the AIX and z/OS perspective, the replacement of the two members with a member having two fields is not 100% binary compatible for all usage. At least if the basic_ios specialization is used as a non-virtual base class, any derived class members that could be allocated in the padding following the bool would now move. This could be preemptively avoided if the new class type is given a user-provided copy constructor or destructor and the new member made [[no_unique_address]]. I don't know if [[no_unique_address]] is usable is some form under C++98/03 though.

Jun 14 2022, 9:17 AM · Restricted Project, Restricted Project

Jun 8 2022

cebowleratibm added a comment to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
using _FillType = _If<sizeof(char_type) >= sizeof(typename traits_type::int_type) && !_OptOutForABICompat, _OptionalFill<_Traits>, _SentinelValueFill<_Traits> >;
Jun 8 2022, 2:48 PM · Restricted Project, Restricted Project

May 9 2022

cebowleratibm added a reviewer for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX: ldionne.
May 9 2022, 8:41 AM · Restricted Project, Restricted Project

May 5 2022

cebowleratibm abandoned D122497: [clang][tests][NFC] Add filescope array initialization test.
May 5 2022, 10:41 AM · Restricted Project, Restricted Project

May 4 2022

cebowleratibm added inline comments to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
May 4 2022, 12:26 PM · Restricted Project, Restricted Project
cebowleratibm added a comment to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.

Addressed early comments. Some offline discussion occurred to decide to only enable the new member on zOS in 64-bit. I've XFAILed other affected targets. They can opt into the new member in the __config at their discretion as the change affects compatibility, though I've mitigated the compatibility break as much as possible.

May 4 2022, 8:15 AM · Restricted Project, Restricted Project
cebowleratibm updated the diff for D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
  • Only enabled on zOS in 64-bit.
  • Added XFAILs for other targets from the CI that also fail the new test.
  • Only check the new __fill_set_ member when necessary to mitigate compat problems if a target already shipped the version without the member.
May 4 2022, 8:12 AM · Restricted Project, Restricted Project

May 3 2022

cebowleratibm added inline comments to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
May 3 2022, 9:50 AM · Restricted Project, Restricted Project

May 2 2022

cebowleratibm added inline comments to D65667: [libcxx] Avoid destructor call for error_category singletons.
May 2 2022, 2:04 PM · Restricted Project, Restricted Project

Apr 28 2022

cebowleratibm added inline comments to D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
Apr 28 2022, 6:10 AM · Restricted Project, Restricted Project

Apr 27 2022

cebowleratibm requested review of D124555: [libcxx] basic_ios<wchar_t> cannot store fill character WCHAR_MAX.
Apr 27 2022, 1:59 PM · Restricted Project, Restricted Project

Apr 19 2022

cebowleratibm updated the diff for D65667: [libcxx] Avoid destructor call for error_category singletons.

Revised after D123519.

Apr 19 2022, 6:26 PM · Restricted Project, Restricted Project

Apr 6 2022

cebowleratibm accepted D114374: [llvm][IPO] Inclusive language: Rename mergefunc-sanity to mergefunc-verify and remove other instances of sanity in MergeFunctions.cpp.

The change looks good to me but I think others should comment on whether or not the option name change is going to cause anyone problems.

Apr 6 2022, 1:46 PM · Restricted Project, Restricted Project

Mar 29 2022

cebowleratibm accepted D100504: [libc++abi][AIX] add personality and helper functions for the state table EH.

I've had a thorough review and access to the proprietary XL "state table EH" code and I believe this patch is ready to land, nonetheless, I do not have the authority to grant permission to commit this patch. This patch should not affect targets other than AIX and Xing has already run thorough proprietary test coverage against this implementation. Essentially this is a tidied-up version of the EH runtime support we already provide with the libc++ we distribute for AIX.

Mar 29 2022, 1:13 PM · Restricted Project, Restricted Project, Restricted Project
cebowleratibm updated the diff for D65667: [libcxx] Avoid destructor call for error_category singletons.

I updated the patch to use the previous union pattern to bypass the singleton destructors but added constinit, constexpr and attribute((no_destroy)) as possible to avoid the runtime overhead of using a static local.

Mar 29 2022, 10:09 AM · Restricted Project, Restricted Project
cebowleratibm commandeered D65667: [libcxx] Avoid destructor call for error_category singletons.
Mar 29 2022, 10:03 AM · Restricted Project, Restricted Project
Herald added a project to D65667: [libcxx] Avoid destructor call for error_category singletons: Restricted Project.

I was writing a revision of this patch but hit a problem:

Mar 29 2022, 7:14 AM · Restricted Project, Restricted Project

Mar 28 2022

cebowleratibm accepted D122519: [NFC][tests][AIX] XFAIL test for lack of visibility support.

The AIX default of ignoring source-level visibility is problematic. I agree the test should be xfailed for AIX.

Mar 28 2022, 6:36 AM · Restricted Project, Restricted Project

Mar 25 2022

cebowleratibm retitled D122497: [clang][tests][NFC] Add filescope array initialization test from [clang][NFC] Add filescope array initialization test to [clang][tests][NFC] Add filescope array initialization test.
Mar 25 2022, 12:11 PM · Restricted Project, Restricted Project
cebowleratibm requested review of D122497: [clang][tests][NFC] Add filescope array initialization test.
Mar 25 2022, 12:07 PM · Restricted Project, Restricted Project

Mar 18 2022

cebowleratibm accepted D121927: [Clang] Work with multiple pragmas weak before definition.

Makes sense to me.

Mar 18 2022, 12:43 PM · Restricted Project, Restricted Project

Mar 1 2022

cebowleratibm added a comment to D65667: [libcxx] Avoid destructor call for error_category singletons.

I'd like to take over this patch and rebase a revision if there are no objections.

Mar 1 2022, 10:16 AM · Restricted Project, Restricted Project
cebowleratibm added inline comments to D65667: [libcxx] Avoid destructor call for error_category singletons.
Mar 1 2022, 5:04 AM · Restricted Project, Restricted Project

Feb 28 2022

cebowleratibm added a comment to D65667: [libcxx] Avoid destructor call for error_category singletons.

This patch has sat idle for 2+ years but I think the current patch is an improvement. Currently, the error_category singletons are implemented as static locals for which there is no guarantee that the destructors won't run prematurely. The proposed patch fixes that problem.

Feb 28 2022, 10:04 AM · Restricted Project, Restricted Project

Feb 22 2022

cebowleratibm requested changes to D100504: [libc++abi][AIX] add personality and helper functions for the state table EH.

Looks good. I didn't find any semantic issues but I did have a number of suggestions on further refinements for clarity of the code. A vast improvement over the proprietary XL code btw! Thanks Xing.

Feb 22 2022, 10:17 AM · Restricted Project, Restricted Project, Restricted Project

Jan 12 2022

cebowleratibm added a comment to D100504: [libc++abi][AIX] add personality and helper functions for the state table EH.

More comments.

Jan 12 2022, 3:08 PM · Restricted Project, Restricted Project, Restricted Project
cebowleratibm accepted D100132: [libunwind][AIX] implementation of the unwinder for AIX.

My remaining suggestions are very minor. I've had a thorough look through this patch though I'll look to others to approve the patch to be committed.

Jan 12 2022, 10:00 AM · Restricted Project, Restricted Project, Restricted Project

Jan 10 2022

cebowleratibm added a comment to D100504: [libc++abi][AIX] add personality and helper functions for the state table EH.

Review in still on-going.

Jan 10 2022, 7:16 PM · Restricted Project, Restricted Project, Restricted Project
cebowleratibm added a comment to D100504: [libc++abi][AIX] add personality and helper functions for the state table EH.

Early comments. Continuing to work through the review.

Jan 10 2022, 6:18 AM · Restricted Project, Restricted Project, Restricted Project

Jan 7 2022

cebowleratibm added inline comments to D100132: [libunwind][AIX] implementation of the unwinder for AIX.
Jan 7 2022, 11:26 AM · Restricted Project, Restricted Project, Restricted Project

Jan 6 2022

cebowleratibm added inline comments to D100132: [libunwind][AIX] implementation of the unwinder for AIX.
Jan 6 2022, 4:18 PM · Restricted Project, Restricted Project, Restricted Project

Jan 5 2022

cebowleratibm added a comment to D100132: [libunwind][AIX] implementation of the unwinder for AIX.

I haven't completed my review. In particular I need to look at the longtbtable, has_vec mix up with more scrutiny but I wanted to submit my comments thus far.

Jan 5 2022, 5:50 PM · Restricted Project, Restricted Project, Restricted Project

Sep 23 2021

cebowleratibm requested changes to D105659: [PowerPC][AIX] Support ByVals with greater alignment then pointer size.

As we lift the backend fatal error we expose the risk of generating silently incompatible code with the XLC compiler on AIX. I think a clang warning diagnostic is warranted for 16 byte aligned byval args where the struct is 16 byte aligned and does not contain a vector member. I don't think this case is common so the diagnostic shouldn't be too verbose.

Sep 23 2021, 8:54 AM · Restricted Project

Sep 1 2021

cebowleratibm accepted D108917: [AIX][PowerPC] Define __powerpc and __PPC macros.

LGTM.

Sep 1 2021, 1:23 PM · Restricted Project
cebowleratibm requested changes to D108917: [AIX][PowerPC] Define __powerpc and __PPC macros.
Sep 1 2021, 9:14 AM · Restricted Project
cebowleratibm added a comment to D108917: [AIX][PowerPC] Define __powerpc and __PPC macros.

The XL compiler only defined this weird form of the macros on AIX, but not on the XL Linux on Power compiler. I think it's preferable that we define these macros only on AIX and in the source/commit messages indicate that we're only doing so for AIX XL C/C++ compatibility. Users should prefer the PPC and powerpc macros.

Sep 1 2021, 6:42 AM · Restricted Project

Aug 31 2021

cebowleratibm requested changes to D108917: [AIX][PowerPC] Define __powerpc and __PPC macros.

I'd like to see the rationale for adding these forms of the macros in the review and also in the extended commit message. These forms are being added primarily because the AIX XL compiler documented and defined them. The patch itself looks fine.

Aug 31 2021, 5:48 AM · Restricted Project

Aug 10 2021

cebowleratibm added a comment to D107242: [AIX] Define __HOS_AIX__ macro.

Given that we have a legacy XL macro with no legacy cross compiler I think it's fine if we set this according to the target only. It's fully redundant to _AIX but we'll define it for any working use-case with the current xlC compiler. If IBM has a compelling use case for a host-specific macro we can always revive this discussion. For now, you're probably making us from making a mistake ;)

Aug 10 2021, 8:16 AM · Restricted Project
cebowleratibm accepted D107825: [AIX] Define __HOS_AIX__ macro only for AIX target.
Aug 10 2021, 8:14 AM · Restricted Project

Aug 9 2021

cebowleratibm added a comment to D107242: [AIX] Define __HOS_AIX__ macro.

clang is fundamentally a cross-compiler only. I don't see any point for having host-specific branches in this case at all. Either the macro should be specified for the target all the time or not at all, but it should most definitely not depend on the host. That's actually breaking a number of existing use case for clang in subtle ways, e.g. partially preprocessed files (-frewrite-includes) should behave the same on any platform given the same command line.

Aug 9 2021, 12:37 PM · Restricted Project
cebowleratibm added a comment to D107242: [AIX] Define __HOS_AIX__ macro.

I'm puzzled by this change. I don't think we have any case so far where the compiler behavior changes with the host OS and I don't think it should. What's the point / use case of this macro?

Aug 9 2021, 6:48 AM · Restricted Project
cebowleratibm accepted D107506: [PowerPC][AIX] Warn when using pragma align(packed) on AIX..

The new version is better than the previous. LGTM.

Aug 9 2021, 5:58 AM · Restricted Project, Restricted Project

Aug 6 2021

cebowleratibm accepted D107242: [AIX] Define __HOS_AIX__ macro.

LGTM

Aug 6 2021, 7:24 AM · Restricted Project
cebowleratibm accepted D107244: [AIX] Define _ARCH_PPC64 macro for 32-bit.

LGTM.

Aug 6 2021, 6:52 AM · Restricted Project

Aug 5 2021

cebowleratibm requested changes to D107244: [AIX] Define _ARCH_PPC64 macro for 32-bit.
Aug 5 2021, 10:17 PM · Restricted Project
cebowleratibm added inline comments to D107242: [AIX] Define __HOS_AIX__ macro.
Aug 5 2021, 8:33 PM · Restricted Project
cebowleratibm added inline comments to D107242: [AIX] Define __HOS_AIX__ macro.
Aug 5 2021, 8:29 PM · Restricted Project
cebowleratibm added inline comments to D107506: [PowerPC][AIX] Warn when using pragma align(packed) on AIX..
Aug 5 2021, 7:38 PM · Restricted Project, Restricted Project
cebowleratibm accepted D107506: [PowerPC][AIX] Warn when using pragma align(packed) on AIX..

It would be nice if the diagnostic could be deferred to layout, in case the struct is defined but not used in a header, but I understand that #pragma pack(1) and #pragma align(packed) become ambiguous at the point of layout. I think this is a reasonable diagnostic given the impact of silently incompatible codegen.

Aug 5 2021, 2:22 PM · Restricted Project, Restricted Project
cebowleratibm added inline comments to D107506: [PowerPC][AIX] Warn when using pragma align(packed) on AIX..
Aug 5 2021, 10:22 AM · Restricted Project, Restricted Project

Aug 4 2021

cebowleratibm requested changes to D107242: [AIX] Define __HOS_AIX__ macro.
Aug 4 2021, 11:59 AM · Restricted Project
cebowleratibm accepted D107241: [AIX] Define __THW_BIG_ENDIAN__ macro.

LGTM.

Aug 4 2021, 9:40 AM · Restricted Project
cebowleratibm accepted D107243: [AIX] Define __THW_PPC__ macro.

LGTM. THW_PPC is a macro historically defined by xlc on AIX and defining it may help users port to clang.

Aug 4 2021, 8:41 AM · Restricted Project
cebowleratibm requested changes to D107244: [AIX] Define _ARCH_PPC64 macro for 32-bit.

The divergence with GCC is regrettable. Unfortunately defining _ARCH_PPC64 in 32-bit has been a long-standing discrepancy between xlc and gcc and one I don't expect gcc to change. This patch is preferable in order to retain preprocessing behaviour on AIX for customers porting 32-bit AIX xlc applications to clang.

Aug 4 2021, 7:42 AM · Restricted Project

Jul 21 2021

cebowleratibm added a comment to D105477: [AIX] Define __LONGDOUBLE64 macro.

The decision was made to make -mlong-double-128 an error on AIX: https://reviews.llvm.org/D106074 [AIX] Clang's library integration support for 128-bit long double is incomplete on AIX.

Jul 21 2021, 9:55 AM · Restricted Project

Jul 20 2021

cebowleratibm accepted D106074: [AIX] Clang's library integration support for 128-bit long double is incomplete on AIX..

LGTM.

Jul 20 2021, 11:52 AM · Restricted Project

Jul 19 2021

cebowleratibm requested changes to D106074: [AIX] Clang's library integration support for 128-bit long double is incomplete on AIX..
Jul 19 2021, 8:24 AM · Restricted Project