Page MenuHomePhabricator

joerg (Joerg Sonnenberger)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 23 2012, 10:16 AM (437 w, 5 d)

Recent Activity

Wed, Apr 7

joerg added a comment to D100054: Handle flags such as -m32 when computing the prefix for programs/runtime libs.

This sounds wrong. If you are using 'x86_64-freebsd' as triple and -m32, it should still call 'x86_64-freebsd-ld', but it is the responsibility of the driver to ensure that also the right set of linker flags are passed as well. Compare netbsd::Linker::ConstructJob for one way to handle this.

Wed, Apr 7, 2:12 PM · Restricted Project

Wed, Mar 31

joerg committed rG9f4022ffeb20: [libc++] Avoid <climits> dependency in <thread> (authored by joerg).
[libc++] Avoid <climits> dependency in <thread>
Wed, Mar 31, 6:29 AM
joerg closed D99516: [libc++] Avoid <climits> dependency in <thread>.
Wed, Mar 31, 6:29 AM · Restricted Project

Tue, Mar 30

joerg added a comment to D99516: [libc++] Avoid <climits> dependency in <thread>.

Yeah, I hit a compilation error somewhere depending on the include error. I forgot the details, this has been sitting around in my tree for while.

Tue, Mar 30, 12:58 PM · Restricted Project

Mon, Mar 29

joerg added inline comments to D99516: [libc++] Avoid <climits> dependency in <thread>.
Mon, Mar 29, 11:10 AM · Restricted Project
joerg requested review of D99516: [libc++] Avoid <climits> dependency in <thread>.
Mon, Mar 29, 9:44 AM · Restricted Project

Sun, Mar 28

joerg added a comment to D98574: [Sparc] Define the same macros for -mcpu=v9 as GCC on Linux and the BSDs.

The NetBSD part looks ok, but also lacks proper testing. I'm not sure anyone but Linux cares at all otherwise as they lack 32bit SPARC support.

Sun, Mar 28, 12:59 PM · Restricted Project

Mar 10 2021

joerg added inline comments to D98097: [libc++] "Merged wording" for D98077 and D96986.
Mar 10 2021, 1:46 PM · Restricted Project

Mar 8 2021

joerg abandoned D96986: [libc++] Drop template layer when using vsnprintf.
Mar 8 2021, 11:38 AM · Restricted Project

Mar 5 2021

joerg added a comment to D98097: [libc++] "Merged wording" for D98077 and D96986.

That covers my case. I'm not completely happy with the need to rethrow, but the alternatives are much worse. It's a bit sad that we can't optimize it away, too.

Mar 5 2021, 7:00 PM · Restricted Project
joerg added inline comments to D96986: [libc++] Drop template layer when using vsnprintf.
Mar 5 2021, 4:05 PM · Restricted Project

Feb 18 2021

joerg requested review of D96986: [libc++] Drop template layer when using vsnprintf.
Feb 18 2021, 12:14 PM · Restricted Project
joerg requested review of D96983: [libc++] use more early returns for consistency.
Feb 18 2021, 11:58 AM · Restricted Project
joerg committed rGa77e91801604: libcxx: use early returns (authored by joerg).
libcxx: use early returns
Feb 18 2021, 10:44 AM
joerg closed D96955: libcxx: use early returns.
Feb 18 2021, 10:43 AM · Restricted Project
joerg added inline comments to D96955: libcxx: use early returns.
Feb 18 2021, 6:56 AM · Restricted Project
joerg abandoned D96895: libcxx: use early returns.

Resummited

Feb 18 2021, 6:34 AM
joerg requested review of D96955: libcxx: use early returns.
Feb 18 2021, 6:34 AM · Restricted Project
joerg abandoned D80679: Avoid hidden <climits> dependency in <thread>.
Feb 18 2021, 6:21 AM

Feb 17 2021

joerg added a comment to D96901: [libunwind] Add support for PC reg column in arm64.

Registers_arm64::jumpto in UnwindRegistersRestore.S.

Feb 17 2021, 6:35 PM · Restricted Project, Restricted Project
joerg added a comment to D96901: [libunwind] Add support for PC reg column in arm64.

Let me rephrase then. The restore code explicitly ends in "ret x30". It cannot set "pc" separate from "x30" in the current form. I'm not saying that the DWARF register shouldn't be supported, but this change doesn't do that.

Feb 17 2021, 6:13 PM · Restricted Project, Restricted Project
joerg added a comment to D96901: [libunwind] Add support for PC reg column in arm64.

I don't get this change. The restore code is literally returning by jumping to x30, so how is splitting PC and LR supposed to work?

Feb 17 2021, 5:53 PM · Restricted Project, Restricted Project
joerg committed rG2628e9146120: [NetBSD] Use cortex-a8 as default CPU for ARMv7 (authored by joerg).
[NetBSD] Use cortex-a8 as default CPU for ARMv7
Feb 17 2021, 5:03 PM
joerg updated subscribers of D96895: libcxx: use early returns.
Feb 17 2021, 1:18 PM
joerg requested review of D96895: libcxx: use early returns.
Feb 17 2021, 1:18 PM

Feb 8 2021

joerg requested review of D96313: [SPARCv9] allow stw as alias for st.
Feb 8 2021, 7:43 PM · Restricted Project
joerg requested review of D96312: [SPARC] recognize the "rd %pc, reg" special form.
Feb 8 2021, 7:42 PM · Restricted Project
joerg updated the diff for D96311: [SPARC] Recognize the prefetch instruction.
Feb 8 2021, 7:41 PM · Restricted Project
joerg requested review of D96311: [SPARC] Recognize the prefetch instruction.
Feb 8 2021, 7:39 PM · Restricted Project
joerg accepted D47458: [Sparc] Support relocatable expressions in the assembler.

The test case needs to be resorted, so that the DOTEXPR test comes last, but otherwise this change works for me.

Feb 8 2021, 4:04 PM · Restricted Project
joerg accepted D77737: [SPARC] Recognize and handle the %lm(sym) operator.

I have one concern about sparc-relocations.s, but that is not specific to the change at hand. IMO we should also have a variant of all the relocations with a fixed values of sym to test that the right bits are actually set. That would also make comparing the fixup handling easier e.g. to GNU as.

Feb 8 2021, 7:38 AM · Restricted Project

Feb 5 2021

joerg committed rG917976471068: SPARCv9: recognize SIR trap instruction (authored by joerg).
SPARCv9: recognize SIR trap instruction
Feb 5 2021, 5:04 PM
joerg added a comment to D96070: [clang] [driver] Enable static linking to libc++.

I can't speak for other systems, but forcing libpthread to be linked is in general not desirable as it creates a non-trivial runtime cost, especially when <thread> is not used. That's still a pretty common use case of C++.

Feb 5 2021, 1:49 AM · Restricted Project

Feb 4 2021

joerg added a comment to D96070: [clang] [driver] Enable static linking to libc++.

The NetBSD part is most definitely not acceptable.

Feb 4 2021, 1:52 PM · Restricted Project

Jan 30 2021

joerg added a comment to D94355: [Passes] Add relative lookup table converter pass.

First of all, I find this patch to be nearly impossible to read. It seems to mix a lot of refactoring with a functional change, making it very hard to focus on the core.

Jan 30 2021, 5:32 AM · Restricted Project, Restricted Project

Jan 15 2021

joerg added a comment to D94355: [Passes] Add relative lookup table converter pass.

It might be specific to the jump table case, but it should be instructional on how to do it. One important point is that it avoids inter-section relocations, which are a problem at least on MIPS.

Jan 15 2021, 6:06 AM · Restricted Project, Restricted Project
joerg added a comment to D94355: [Passes] Add relative lookup table converter pass.

Some targets already do this. Please check that you don't create regressions, especially on PowerPC.

Jan 15 2021, 5:25 AM · Restricted Project, Restricted Project

Nov 30 2020

joerg added a comment to D92307: [analyzer][StdLibraryFunctionsChecker] Fix typos in summaries of mmap and mmap64.

off_t is s signed type. Please fix the description.

Nov 30 2020, 5:17 AM · Restricted Project

Nov 23 2020

joerg added a comment to D91968: llvm/ADT/StringExtras.h hexDigitValue - Init of integer buffer.

Do we really want to change the code here? It is perfectly well defined behavior.

Nov 23 2020, 11:52 AM · Restricted Project

Nov 19 2020

joerg added a comment to D91760: [Driver] Default Generic_GCC aarch64 to use -fasynchronous-unwind-tables.

The difference is whether we promise to be instruction precise or not. I'm not sure we do or want to promise that as default.

Nov 19 2020, 2:55 PM · Restricted Project
joerg added a comment to D91760: [Driver] Default Generic_GCC aarch64 to use -fasynchronous-unwind-tables.

I have no problem with the change, but please adjust the description to take about -funwind-tables. I don't think we do async by default, at least not by design.

Nov 19 2020, 1:58 PM · Restricted Project

Oct 29 2020

joerg added a comment to D90231: [GVN] Don't replace argument to @llvm.is.constant.*().

"It compiles with GCC" is not really helpful as argument because the observed behavior depends on a lot of internals. It is quite frankly impossible to be 100% identical to GCC's behavior. What LLVM guarantees is:
(1) Folding to false happens as late as reasonable possible. It happens most importantly after the first round of function and loop optimizations.
(2) Folding to true happens as part of constant folding etc as early as the condition is evaluated.
(3) The result is propagated to derived expression and those are folded recursively, including dead code elimination. This happens even for -O0.

Oct 29 2020, 4:45 AM · Restricted Project

Oct 28 2020

joerg added a comment to D90231: [GVN] Don't replace argument to @llvm.is.constant.*().

I completely agree with Roman that this patch is very undesirable since it has a high chance of breaking other reasonable uses of the intrinsic. In fact, I would say that the observed behavior here is perfectly reasonable under the definition of @lllvm.is.constant. The original code for LLVM at least should be just __builtin_constant_p(b) && b > -129 && b < 128).

Oct 28 2020, 5:39 AM · Restricted Project

Oct 27 2020

joerg added a comment to D90201: Try reading a smaller chunk when (p)read fails.

You can do an anon-mapping with size+pagesize in that case and map over it with MAP_FIXED.

Oct 27 2020, 11:51 AM · Restricted Project

Oct 15 2020

joerg added a comment to D88712: [CGBuiltin] Respect asm labels and redefine_extname for builtins with specialized emitting.

Disabling builtin handling when asm is enabled would be a major annoyance for NetBSD. The interaction between symbol renaming and TLI is complicated. There are cases where it would make perfect sense and others were it would be harmful. Example of the latter is the way SSP is implemented by inline functions that call a prototype renamed back to the original symbol name.

Oct 15 2020, 1:28 PM · Restricted Project

Sep 16 2020

joerg accepted D87615: [X86] Fix stack alignment on 32-bit Solaris/x86.

I'm still curious about the source of the vptr diff, but that's a minor question, otherwise. LGTM

Sep 16 2020, 3:08 PM · Restricted Project, Restricted Project, Restricted Project

Sep 14 2020

joerg requested changes to D87615: [X86] Fix stack alignment on 32-bit Solaris/x86.

I don't think this is the right place for this at all. Look at X86Subtarget::initSubtargetFeatures please.

Sep 14 2020, 11:29 AM · Restricted Project, Restricted Project, Restricted Project

Aug 25 2020

joerg added inline comments to D86406: Speedup llvm-dwarfdump 3.9x.
Aug 25 2020, 10:18 AM · Restricted Project
joerg added a comment to D86406: Speedup llvm-dwarfdump 3.9x.

Can you change raw_fd_ostream::has_colors to memoize the result of FileDescriptorHasColors(FD) instead? That should give most of the performance gain without breaking the abstractions as much.

Aug 25 2020, 4:59 AM · Restricted Project

Aug 10 2020

joerg added a comment to D85691: lld: link libatomic if needed for Timer.

This issue is on my long term TODO list. If there are no 64bit atomics, it is a really stupid idea to use them for timekeeping. I think for the use case of Timer, just splitting it into second and subsecond with explicit overflow handling is perfectly reasonable and does not affect the correctness of the normal use as the aggregates are only accessed on completion?

Aug 10 2020, 4:40 PM · Restricted Project

Jun 13 2020

joerg added a comment to D77737: [SPARC] Recognize and handle the %lm(sym) operator.

Please don't change the style of the code, it messes up review and the full source. Please split the introduction and testing of the new relocation into one patch and using a different set of relocations to implement large code model. The latter part needs at least a test as well?

Jun 13 2020, 11:46 AM · Restricted Project

Jun 3 2020

joerg added a comment to D80300: [Driver] Add DEFAULT_DYLD_PREFIX and DEFAULT_RPATH to complement DEFAULT_SYSROOT.

I don't agree with the justification at all, but it also seems that noone else cares about the build option creep here.

Jun 3 2020, 6:33 AM · Restricted Project

May 27 2020

joerg created D80679: Avoid hidden <climits> dependency in <thread>.
May 27 2020, 5:29 PM

May 21 2020

joerg added a comment to D80300: [Driver] Add DEFAULT_DYLD_PREFIX and DEFAULT_RPATH to complement DEFAULT_SYSROOT.

I see that more as a short-coming in the existing DEFAULT_SYSROOT behavior and less an argument for making more cases like it. So the general idea is that for turnkey toolchains,
we want to allow customizing the "default" target of the toolchain to hard-code options like --sysroot, --target, -Wl,-rpath etc. Those are all related, so when using a different target, they no longer make sense. One way to deal with all those options in a consistent manner is hook into the logic for determining the current target, if none is explicitly specified on the command line or implicit from the executable name, then prepend some additional flags on the command line based on some cmake variable or so. This flags shouldn't trigger the unused argument warnings, so you can always pass -Wl,-rpath, --sysroot etc, independent of whether the compiler is in preprocessing / compile / assemble / link mode. That seems to be a more general and systematic approach than adding many additional build-time options.

May 21 2020, 12:26 PM · Restricted Project
joerg added a comment to D80300: [Driver] Add DEFAULT_DYLD_PREFIX and DEFAULT_RPATH to complement DEFAULT_SYSROOT.

I do agree with the feature request, but I'm not sure about the implementation. It doesn't seem to work well with the cross-compiling support in the driver as clearly shown by the amount of tests that need patching. Is cross-compiling a concern for you at all? Otherwise I would suggest going a slightly different route and use default values iff no "-target" or "target-command" mechanism is active. Might need a way to temporarily disable unused flag warnings, but that way would be pretty much toolchain independent?

May 21 2020, 9:08 AM · Restricted Project

May 13 2020

joerg accepted D79915: [SVE] Restore broken LLVM-C ABI compatability.

LGTM

May 13 2020, 6:02 PM · Restricted Project

May 3 2020

joerg added a comment to D79309: [llvm-objdump] -d: delete spaces among raw instruction bytes.

ARM's data detection only works for unstripped binaries. Other architectures often don't even have such markers at all.

May 3 2020, 4:59 PM · Restricted Project
joerg added a comment to D79309: [llvm-objdump] -d: delete spaces among raw instruction bytes.

The more compact output is a lot harder to read when you have to find embedded data. I wouldn't mind dropping half the spaces to have columns of 4 hex digits, but anything more is really hard to read.

May 3 2020, 4:27 PM · Restricted Project
joerg added a comment to D79309: [llvm-objdump] -d: delete spaces among raw instruction bytes.

I'm not sure about this change. It might make sense on x86, but many RISC architectures love to put data into the instruction stream and being able to pick them out is quite important for understanding the disassembly.

May 3 2020, 3:24 PM · Restricted Project

Apr 15 2020

joerg accepted D78205: [builtins] Fix unprototypes function declaration.

LGTM

Apr 15 2020, 7:37 AM · Restricted Project

Apr 14 2020

joerg committed rG9d2d6e71f096: Emit Objective-C constructors as writable (authored by joerg).
Emit Objective-C constructors as writable
Apr 14 2020, 2:06 PM

Apr 8 2020

joerg added a comment to D77697: libc++: adjust modulemap for non-modular C.

@ldionne I was updating libc++ from d42baff45d9700a199982ba0ac04dbc6c6d911bb and LLVM itself from 38aebe5c04ab4cb3695dc1bcc60b9a7b55215aff to 3d1424bc7a0e9a6f9887727e2bc93a10f50e1709 when it started failing. It likely has been present for a while.

Apr 8 2020, 2:41 PM · Restricted Project
joerg added a comment to D77697: libc++: adjust modulemap for non-modular C.

This fixes the module build of clang for me.

Apr 8 2020, 3:12 AM · Restricted Project

Apr 5 2020

joerg added a comment to rL254199: Revert Sparc and SparcV9 to external assembler. Now that the CPU.

If no (inline) assembler is involved, you can likely get away with IAS. Just to give two trivial examples that are not handled by IAS right now:

Apr 5 2020, 10:40 AM

Apr 3 2020

joerg committed rG98f77828a98f: Avoid using std::max_align_t in pre-C++11 mode (authored by joerg).
Avoid using std::max_align_t in pre-C++11 mode
Apr 3 2020, 4:49 PM
joerg closed D73245: Avoid using std::max_align_t in pre-C++11 mode.
Apr 3 2020, 4:49 PM · Restricted Project
joerg added a comment to D73245: Avoid using std::max_align_t in pre-C++11 mode.

Louis, did I answer your questions?

Apr 3 2020, 8:35 AM · Restricted Project

Mar 28 2020

joerg added a comment to D76151: [MC][X86] Allow SHT_PROGBITS for .eh_frame on x86-64.

We tend to test push .section and .pushsection in this file, so it would be nice to continue doing that.

Mar 28 2020, 5:44 PM · Restricted Project
joerg accepted D76151: [MC][X86] Allow SHT_PROGBITS for .eh_frame on x86-64.

Can you add a variation with .pushsection for @progbits and @nobits? Otherwise LGTM.

Mar 28 2020, 4:08 PM · Restricted Project
joerg committed rG09d402185394: Fix compatibility for __builtin_stdarg_start (authored by joerg).
Fix compatibility for __builtin_stdarg_start
Mar 28 2020, 3:36 PM
joerg retitled D73245: Avoid using std::max_align_t in pre-C++11 mode from Depend stddef.h to provide max_align_t for C++11 and provide better fallback in <new> to Avoid using std::max_align_t in pre-C++11 mode.
Mar 28 2020, 3:36 PM · Restricted Project
joerg added a comment to D73245: Avoid using std::max_align_t in pre-C++11 mode.

Ping?

Mar 28 2020, 3:04 PM · Restricted Project

Mar 24 2020

joerg accepted D76721: Clarify use of llvm_unreachable in the coding standard.

This summarizes the IRC discussion.

Mar 24 2020, 1:28 PM

Mar 21 2020

joerg added inline comments to D73245: Avoid using std::max_align_t in pre-C++11 mode.
Mar 21 2020, 2:57 PM · Restricted Project

Mar 20 2020

joerg added inline comments to D73245: Avoid using std::max_align_t in pre-C++11 mode.
Mar 20 2020, 1:34 PM · Restricted Project
joerg added a comment to D75799: [Intrinsic] Give "is.constant" the "convergent" attribute.

The original code has a functional dependency between sz and bytes and whether they can be constant evaluated. But the code doesn't express that. I don't think we can enforce that in any sensible way. There are valid use cases after all where partial inlining would result in entirely sensible decisions, just think about the more typical case of __builtin_constant_p selecting between inline asm taking immediate operands and one taking register/memory operands. That's why I am saying that I consider it a lot more useful to provide reliable building blocks to express the dependency and make sure they work.

Mar 20 2020, 8:38 AM · Restricted Project

Mar 19 2020

joerg added a comment to D75799: [Intrinsic] Give "is.constant" the "convergent" attribute.

...in the outer condition, I meant.

Mar 19 2020, 6:39 PM · Restricted Project
joerg added a comment to D75799: [Intrinsic] Give "is.constant" the "convergent" attribute.

Yes, builtin_expect is just noise here. The point I wanted to make is that both sz and bytes should be used in builtin_constant_p in the other condition.

Mar 19 2020, 6:39 PM · Restricted Project
joerg added a comment to D75799: [Intrinsic] Give "is.constant" the "convergent" attribute.

IMO the root of the problem here is that the branches are mixing predicated variables (bytes) with non-predicated variables (sz). If users want deterministic behavior here, that shouldn't be done.

Mar 19 2020, 5:22 AM · Restricted Project

Mar 18 2020

joerg added a comment to D75799: [Intrinsic] Give "is.constant" the "convergent" attribute.

I was discussing this with Bill off-list to get a better idea of the original test case. Basically, with the new constant intrinsic pass, we can provide a stronger semantic: the default LLVM pass chain always constant folds expressions involving is.constant and performs DCE trivially dead branches resulting from the former folding. This means that if the original expression is adjusted from:

if (__builtin_expect(!!(sz >= 0 && sz < bytes), 0)) {
    if (!__builtin_constant_p(bytes))
    ...
}

to the functionally equivalent:

if (!(__builtin_constant_p(sz) && __builtin_constant_p(bytes) && sz >= 0 && sz >= bytes) && __builtin_expect(!!(sz >= 0 && sz < bytes), 0)) {
    if (!__builtin_constant_p(bytes))
    ...
}

then we can actually ensure proper DCE even with -O0 in the default pass chain. That depends over all on two properties:

  • If __builtin_constant_p is constant folded by clang, it must DCE the appropiate places.
  • the constant intrinsic pass is run

With -O1 or higher, this should work in general.

Mar 18 2020, 6:28 PM · Restricted Project

Mar 17 2020

joerg closed D76186: Fix compatibility for __builtin_stdarg_start.

Committed as 0b999f76575f0196d3cd01c0781b2513b0a1af15 without link.

Mar 17 2020, 4:46 PM
joerg updated the diff for D73245: Avoid using std::max_align_t in pre-C++11 mode.

Require __STDCPP_NEW_ALIGNMENT__ in C++03 mode. Prefer it over max_align_t in a number of tests when allocation alignment is desired. Adjust some tests to do minimal sanity checking of the alignment for C++03 only. Add an explicit check that __STDCPP_NEW_ALIGNMENT__ is more general than max_align_t if both are present.

Mar 17 2020, 4:13 PM · Restricted Project

Mar 16 2020

joerg added a comment to D76151: [MC][X86] Allow SHT_PROGBITS for .eh_frame on x86-64.

This looks much better than the in-tree state, thanks.

Mar 16 2020, 1:40 PM · Restricted Project

Mar 15 2020

joerg added reviewers for D76186: Fix compatibility for __builtin_stdarg_start: rjmccall, rsmith.
Mar 15 2020, 7:28 AM

Mar 14 2020

joerg created D76186: Fix compatibility for __builtin_stdarg_start.
Mar 14 2020, 3:02 PM

Mar 13 2020

joerg added inline comments to D73245: Avoid using std::max_align_t in pre-C++11 mode.
Mar 13 2020, 2:15 AM · Restricted Project

Mar 12 2020

joerg added a comment to D73245: Avoid using std::max_align_t in pre-C++11 mode.

I've already stated my disapproval of this patch. Libc++ has never and will never provide nor value C++03 conformance.
Moving backwards to C++03 is inconsistent with the libraries general direction.

@EricWF makes a point here, we want to move away from C++03.

Mar 12 2020, 12:28 PM · Restricted Project

Mar 11 2020

joerg added a comment to D73245: Avoid using std::max_align_t in pre-C++11 mode.

Ping

Mar 11 2020, 2:41 PM · Restricted Project

Mar 9 2020

joerg added a comment to D75799: [Intrinsic] Give "is.constant" the "convergent" attribute.

It still seems to be a perfectly reasonable optimisation under the semantics of is.constant. The code here seems to be an abuse of it though and makes assumptions that are not sensible.

Mar 9 2020, 2:03 PM · Restricted Project
joerg added a comment to D75799: [Intrinsic] Give "is.constant" the "convergent" attribute.

I'm confused by that example. If jumpthreading makes it possible to answer true, it is no differerent from inlining and other use cases. The reverse is the problematic case, turning constant cases into non-constant cases?

Mar 9 2020, 12:58 PM · Restricted Project

Mar 3 2020

joerg committed rG388bccb01359: Add module for llvm/Bitstream (authored by joerg).
Add module for llvm/Bitstream
Mar 3 2020, 8:56 AM

Mar 2 2020

joerg committed rGeb812efa12fb: Explicitly include <cassert> when using assert (authored by joerg).
Explicitly include <cassert> when using assert
Mar 2 2020, 2:09 PM

Feb 26 2020

joerg added a comment to D73245: Avoid using std::max_align_t in pre-C++11 mode.

libc++ has no idea what a correct max_align_t is. The internal definition works due to historic requirements that all three fundamental types are supported for new/delete, but we don't have any such guarantees for every other context. A correctly implemented stddef.h does not provide max_align_t in C++03 mode, since that would pollute the global namespace. This means that libc++ currently has two failure modes: on NetBSD, it outright tries to use a non-existing symbol. On other platforms it silently defines max_align_t in a way that can be subtle wrong.

Feb 26 2020, 2:57 PM · Restricted Project

Feb 25 2020

joerg updated the diff for D73245: Avoid using std::max_align_t in pre-C++11 mode.

Do not depend on max_align_t in C++03 mode in the test cases.

Feb 25 2020, 11:51 AM · Restricted Project
joerg committed rGdc383f07b080: Stop including sys/param.h from Unix.h (authored by joerg).
Stop including sys/param.h from Unix.h
Feb 25 2020, 6:39 AM

Feb 24 2020

joerg committed rG4e45ef4d77b7: Prefer PATH_MAX to MAXPATHLEN (authored by joerg).
Prefer PATH_MAX to MAXPATHLEN
Feb 24 2020, 4:45 PM
joerg committed rG03dd205c1516: Adjust max_align_t handling (authored by joerg).
Adjust max_align_t handling
Feb 24 2020, 4:45 PM

Feb 21 2020

joerg updated the diff for D73245: Avoid using std::max_align_t in pre-C++11 mode.
Feb 21 2020, 7:27 AM · Restricted Project

Feb 20 2020

joerg added inline comments to D73245: Avoid using std::max_align_t in pre-C++11 mode.
Feb 20 2020, 5:01 AM · Restricted Project

Feb 19 2020

joerg added a comment to D73245: Avoid using std::max_align_t in pre-C++11 mode.

It is used both in <new> and <memory> and the use in the latter is currently unconditional AFAICT. I don't have a problem splitting the conditional to avoid the typedef. That would address the ODR concern?

Feb 19 2020, 2:45 PM · Restricted Project