thakis (Nico Weber)Email Not Verified
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 10 2013, 2:43 PM (287 w, 3 d)

Recent Activity

Fri, Jul 13

thakis closed D49319: lld-link: Add /lib to Options.td so that it appears in lld-link's help output..

r337086, thanks!

Fri, Jul 13, 9:12 PM
thakis updated the diff for D49319: lld-link: Add /lib to Options.td so that it appears in lld-link's help output..

Sure, done.

Fri, Jul 13, 8:02 PM
thakis closed D49318: Give llvm-lib rudimentary help output..

Thanks! Landed with a test in r337084.

Fri, Jul 13, 7:34 PM
thakis created D49319: lld-link: Add /lib to Options.td so that it appears in lld-link's help output..
Fri, Jul 13, 1:30 PM
thakis added inline comments to D49318: Give llvm-lib rudimentary help output..
Fri, Jul 13, 1:21 PM
thakis created D49318: Give llvm-lib rudimentary help output..
Fri, Jul 13, 1:20 PM

Thu, Jul 12

thakis accepted D48882: [PDB] Add PDBSourcePath flag to support absolutize source file path.

Looks good to me, thanks!

Thu, Jul 12, 1:20 PM

Wed, Jul 11

thakis added a comment to D49189: Omit path to lld binary from lld's error and warning diagnostics..

How about changing the Clang driver so that it invokes a linker using a relative path instead of an absolute one when appropriate?

Wed, Jul 11, 11:39 AM
thakis added a comment to D49189: Omit path to lld binary from lld's error and warning diagnostics..

Thanks for taking a look!

Wed, Jul 11, 11:39 AM
thakis accepted D49112: [Sema] Implement -Wmemset-transposed-args.

lgtm assuming you ran this on some large code base to make sure it doesn't have false positives.

Wed, Jul 11, 8:27 AM
thakis created D49189: Omit path to lld binary from lld's error and warning diagnostics..
Wed, Jul 11, 7:59 AM
thakis closed D48781: [ms] Fix mangling of char16_t and char32_t to be compatible with MSVC..
Wed, Jul 11, 7:16 AM
thakis accepted D48990: Look for an entry point function if /nodefaultlib is given..

Thanks!

Wed, Jul 11, 7:14 AM

Fri, Jul 6

thakis added a comment to D48882: [PDB] Add PDBSourcePath flag to support absolutize source file path.

Thanks for the patch! I wonder if this should be behind some flag (/makePDBPathsAbsolute or something) and not be done by default. If we have a flag, the flag could also optionally provide a different prefix than pwd (/makePDBPathsAbsolute:c:\src), which might be useful for cross builds. I'd like to hear ruiu's thoughts on this.

Fri, Jul 6, 4:47 AM
thakis added a reviewer for D48882: [PDB] Add PDBSourcePath flag to support absolutize source file path: ruiu.
Fri, Jul 6, 4:45 AM

Thu, Jul 5

thakis accepted D48928: [ms] Fix mangling of string literals used to initialize arrays larger or smaller than the literal.

Nice!

Thu, Jul 5, 2:31 PM

Mon, Jul 2

thakis added a comment to D37461: [X86][AsmParser] re-introduce 'offset' operator.

Thanks for working on this! I'd be happy to see this fixed. It also likely helps with PR36676.

Mon, Jul 2, 8:05 AM
thakis added a comment to D48781: [ms] Fix mangling of char16_t and char32_t to be compatible with MSVC..

Thanks, landed with nit addressed in r336097.

Mon, Jul 2, 5:36 AM

Fri, Jun 29

thakis added a comment to D48781: [ms] Fix mangling of char16_t and char32_t to be compatible with MSVC..

For your convenience: https://godbolt.org/g/KXxbKb

Fri, Jun 29, 10:50 AM
thakis created D48781: [ms] Fix mangling of char16_t and char32_t to be compatible with MSVC..
Fri, Jun 29, 10:49 AM

Wed, Jun 27

thakis added a comment to D48626: New option -fwindows-filesystem, affecting #include paths..

The things I pointed at only do case-insensitivity. I haven't seen anything using backslashes in the builds I worked on. (Is that for -I flags?) I'd think that the backslash bits can probably be implemented with less overhead.

Wed, Jun 27, 10:49 AM
thakis added a comment to D48626: New option -fwindows-filesystem, affecting #include paths..

There are 2 other patches out there for the case sensitivity. Neither landed, because the performance hit form this approach is pretty big, and it's not necessary: You can either put the Win SDK into a ciopfs mount (example: https://cs.chromium.org/chromium/src/build/vs_toolchain.py?type=cs&q=ciopfs&sq=package:chromium&g=0&l=377 , used by chrome's win/cross build https://chromium.googlesource.com/chromium/src/+/master/docs/win_cross.md) or use -ivfsoverlay (example: http://llvm-cs.pcc.me.uk/cmake/platforms/WinMsvc.cmake#104 , used by llvm's win/cross build).

Wed, Jun 27, 6:08 AM

Tue, Jun 26

thakis added a comment to D48240: Try again to implement a FIFO task queue.

Tried moving it up in r335608.

Tue, Jun 26, 7:47 AM
thakis added a comment to D48240: Try again to implement a FIFO task queue.

https://stackoverflow.com/questions/5246049/c11-static-assert-and-template-instantiation

Tue, Jun 26, 7:46 AM
thakis added a comment to D48240: Try again to implement a FIFO task queue.

This whole file is supposed to be ifdefed out in this case. Is it not? I
definitely tested this case

Tue, Jun 26, 7:29 AM
thakis added a comment to D48240: Try again to implement a FIFO task queue.

This patch deletes the LLVM_ENABLE_THREADS=0 codepath and just errors out if you try to use this class in those circumstances. Since the regular codepath is actually pretty straightforward and doesn't have much complexity, I went ahead and added support for tasks that return values directly to this patch. It was only a couple of line change and saves me from having to make another patch for it.

Tue, Jun 26, 6:39 AM

Mon, Jun 25

thakis added inline comments to D48446: [ubsan] Add support for reporting diagnostics to a monitor process.
Mon, Jun 25, 5:07 PM
thakis added inline comments to D48446: [ubsan] Add support for reporting diagnostics to a monitor process.
Mon, Jun 25, 1:46 PM
thakis added inline comments to D48426: [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801).
Mon, Jun 25, 5:59 AM
thakis added a comment to D48426: [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801).

Still looks good, ship it! One more suggestion about additional test coverage (but maybe it's already there and I'm just missing it).

Mon, Jun 25, 5:08 AM

Fri, Jun 22

thakis added a comment to D47698: [ASTImporter] import macro source locations.

This code is live when reading pchs, correct? Does this have any measurable perf impact on deserializing pchs for, say, Cocoa.h or Windows.h?

Fri, Jun 22, 7:15 AM
thakis added inline comments to D48426: [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801).
Fri, Jun 22, 5:25 AM

Thu, Jun 21

thakis added inline comments to D48426: [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801).
Thu, Jun 21, 10:19 AM
thakis added a comment to D48426: [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801).

PCHs aren't compatible with themselves if only the compiler revision changes, so I'm not sure changing that field should be worse than a regular compiler revision update (which happens at every commit). But I don't know what this field is for. I don't remember any trouble from me changing it though, and if it was bad to change it I'd hope there'd be a comment right above the field telling us why. (If I had run into problems, I would've expected me to add a comment like this.)

Thu, Jun 21, 8:01 AM
thakis accepted D48426: [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801).

Looks like pretty straightforward plumbing. I can't think of a better place than ASTContext either. I think this is fine with your two XXXs just removed.

Thu, Jun 21, 6:46 AM
thakis accepted D47956: [MS] Consder constexpr globals to be inline, as in C++17.

Thanks for explaining, makes sense to me.

Thu, Jun 21, 6:33 AM

Tue, Jun 19

thakis closed D48296: clang-cl: Emit normal narrowing diagnostics for initializer lists if -fmsc-version is at least 1900 (i.e. MSVC2015)..

r335082, thanks!

Tue, Jun 19, 4:24 PM

Mon, Jun 18

thakis added a comment to D48296: clang-cl: Emit normal narrowing diagnostics for initializer lists if -fmsc-version is at least 1900 (i.e. MSVC2015)..

Thanks! I'd keep it DefaultIgnored: I'd be annoyed if I'd get these by default in C++98 mode.

Mon, Jun 18, 8:16 PM
thakis updated the diff for D48296: clang-cl: Emit normal narrowing diagnostics for initializer lists if -fmsc-version is at least 1900 (i.e. MSVC2015)..

comments

Mon, Jun 18, 8:16 PM
thakis created D48296: clang-cl: Emit normal narrowing diagnostics for initializer lists if -fmsc-version is at least 1900 (i.e. MSVC2015)..
Mon, Jun 18, 1:25 PM
thakis closed D48224: Don't let test/Driver/no-canonical-prefixes.c form a symlink cycle the second time it runs..

r334972, thanks!

Mon, Jun 18, 11:55 AM

Jun 15 2018

thakis created D48224: Don't let test/Driver/no-canonical-prefixes.c form a symlink cycle the second time it runs..
Jun 15 2018, 9:11 AM

Jun 12 2018

thakis added a comment to D45179: [libc++] Add _LIBCPP_ENABLE_NODISCARD and _LIBCPP_NODISCARD_EXT to allow pre-C++2a [[nodiscard]].

What's the status here? The MS STL has this feature under _HAS_NODISCARD and it's super useful.

Jun 12 2018, 6:33 AM

Jun 11 2018

thakis added a comment to D44909: [DAGCombine] (float)((int) f) --> ftrunc (PR36617).

(FWIW since this was enabled again we had at least two bugs due to this -- https://crbug.com/845816 https://crbug.com/851415 -- and one confused thread at https://groups.google.com/a/chromium.org/forum/#!topic/cxx/W5wma_HXWOo )

Jun 11 2018, 11:08 AM

Jun 8 2018

thakis added a comment to D47578: Do not enforce absolute path argv0 in windows.

ruiu: This review has now gone on for a week, with one cycle per day due to timezones. Since the comments are fairly minor nits, do you think you could address them yourself while landing this, in the interest of not spending another week on this?

Jun 8 2018, 5:30 PM
thakis added inline comments to D47956: [MS] Consder constexpr globals to be inline, as in C++17.
Jun 8 2018, 12:29 PM

Jun 4 2018

thakis updated the summary of D47506: ninja-based lit runner demo.
Jun 4 2018, 8:58 AM
thakis updated the diff for D47506: ninja-based lit runner demo.

minor tweaks

Jun 4 2018, 8:56 AM
thakis updated the diff for D47506: ninja-based lit runner demo.

support > 8k long commands on win

Jun 4 2018, 6:54 AM

Jun 1 2018

thakis added inline comments to D47480: clang-cl: Expose -no-canonical-prefixes.
Jun 1 2018, 8:09 AM
thakis closed D47480: clang-cl: Expose -no-canonical-prefixes.

r333761, thanks!

Jun 1 2018, 8:04 AM

May 31 2018

thakis accepted D44826: Add -Wunused-using, a warning that finds unused using declarations..

Looks great.

May 31 2018, 7:41 AM · Restricted Project
thakis closed D47472: lld-link: Implement /INTEGRITYCHECK flag.

r333652, thanks!

May 31 2018, 6:47 AM
thakis closed D47490: Use -Wextra spelling instead of -W.

r333651, thanks!

May 31 2018, 6:45 AM

May 30 2018

thakis updated the diff for D47506: ninja-based lit runner demo.

windows

May 30 2018, 12:23 PM

May 29 2018

thakis created D47506: ninja-based lit runner demo.
May 29 2018, 5:22 PM
thakis updated subscribers of D47480: clang-cl: Expose -no-canonical-prefixes.

But GetExecutablePath isn't called if -no-canonical-prefixes is passed, is
it? (See the first link I pasted above)

May 29 2018, 3:53 PM
thakis created D47490: Use -Wextra spelling instead of -W.
May 29 2018, 11:28 AM
thakis added a comment to D47480: clang-cl: Expose -no-canonical-prefixes.

I did test this locally before sending it out, and the -resource-dir arg passed to cc1 is relative with this patch:

May 29 2018, 8:38 AM
thakis created D47480: clang-cl: Expose -no-canonical-prefixes.
May 29 2018, 8:02 AM
thakis created D47472: lld-link: Implement /INTEGRITYCHECK flag.
May 29 2018, 5:13 AM

May 21 2018

thakis added a comment to D46265: StackColoring: better handling of statically unreachable code.

This was reverted by 332742. Sorry, I failed at syncing up my checkout.

May 21 2018, 10:51 AM
thakis added a comment to D46265: StackColoring: better handling of statically unreachable code.

Did you land the revert? I'm seeing the same failure running tests locally as on http://lab.llvm.org:8011/builders/clang-cmake-x86_64-avx2-linux/builds/4445/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3APR37310.mir

May 21 2018, 10:47 AM
thakis added a comment to D46326: ThinLTO+CFI: short-circuit direct calls to jump table entries.

Reverted in r332838. Please don't keep trunk broken for days.

May 21 2018, 4:48 AM
thakis added a comment to D46910: [Support] Avoid normalization in sys::getDefaultTargetTriple.

Sorry about the breakage, I wasn't aware of that test failure and never got any email (probably because the bot has been red before). I'll try to fix make_itanium_abi_triple and test it on my Windows box tomorrow before resubmitting.

May 21 2018, 4:41 AM

May 20 2018

thakis added a comment to D46910: [Support] Avoid normalization in sys::getDefaultTargetTriple.

Reverted in r332822 / r332823.

May 20 2018, 4:07 PM
thakis added a comment to D46910: [Support] Avoid normalization in sys::getDefaultTargetTriple.

…hm looks like https://reviews.llvm.org/rL332750 touched files in both clang and llvm, which is probably why the diff looks super confusing on phab. I'll revert it in two pieces, I don't know how to commit changes to llvm and clang in one revision.

May 20 2018, 4:05 PM
thakis added a comment to D46910: [Support] Avoid normalization in sys::getDefaultTargetTriple.

This changes the default triple on Windows from x86_64-pc-win32 to x86_64-pc-windows-msvc. This breaks at least lit's make_itanium_abi_triple() (http://llvm-cs.pcc.me.uk/utils/lit/lit/llvm/config.py#234)

May 20 2018, 4:03 PM
thakis added a comment to D46910: [Support] Avoid normalization in sys::getDefaultTargetTriple.

(sorry, hit cmd-return accidentally, I will come in again…)

May 20 2018, 3:58 PM
thakis added a comment to D46910: [Support] Avoid normalization in sys::getDefaultTargetTriple.

This changes the default triple on Windows from x86_64-pc-win32 to x86_64-pc-windows-msvc. This breaks at least

May 20 2018, 3:58 PM

May 18 2018

thakis added a comment to D46326: ThinLTO+CFI: short-circuit direct calls to jump table entries.

On this bot too: https://ci.chromium.org/buildbot/chromium.clang/CFI%20Linux%20ToT/2783

May 18 2018, 8:30 PM
thakis added a comment to D46326: ThinLTO+CFI: short-circuit direct calls to jump table entries.

Various chromium test cases started failing on the first build with this change, and I don't see anything suspicious chromium-side: https://ci.chromium.org/buildbot/chromium.clang/CFI%20Linux%20%28icall%29/9886 Any chance that could be due to this?

May 18 2018, 8:29 PM
thakis closed D47082: Fix build warning compiling TestPlugin on Windows and disable Passes plugin stuff on Windows since it fundamentally can't work.

r332796, thanks!

May 18 2018, 8:12 PM
thakis closed D47083: Enable colored diagnostics when building with gcc 4.9+..

r332793, thanks!

May 18 2018, 7:40 PM
thakis added a comment to D47083: Enable colored diagnostics when building with gcc 4.9+..

It has the same effect and doesn't require yet another compiler call at cmake time, and once we uprev gcc requirements to 4.9 (soooon) we can just delete the whole condition in the parens.

May 18 2018, 1:04 PM
thakis created D47083: Enable colored diagnostics when building with gcc 4.9+..
May 18 2018, 11:54 AM
thakis created D47082: Fix build warning compiling TestPlugin on Windows and disable Passes plugin stuff on Windows since it fundamentally can't work.
May 18 2018, 11:36 AM

May 17 2018

thakis added a comment to D46929: Fix a mangling failure on clang-cl C++17.

Please do, tzik doesn't have commit access yet.

May 17 2018, 10:52 AM
thakis added a comment to D46966: [lld] Use a real timestamp, with the option to use hash or explicit value.

The test seems to fail on some bots: http://lab.llvm.org:8011/builders/clang-with-thin-lto-ubuntu/builds/10372

May 17 2018, 10:50 AM
thakis closed D46820: Fix __uuidof handling on non-type template parameter in C++17.

r332614, thanks!

May 17 2018, 8:31 AM

May 16 2018

thakis closed D46898: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE.

r332487, thanks!

May 16 2018, 9:33 AM
thakis updated the diff for D46898: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE.

LTDL_SHLIB_EXT

May 16 2018, 9:28 AM
thakis added a comment to D46898: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE.

Aha, they used to be different before https://reviews.llvm.org/rL201316

May 16 2018, 9:24 AM
thakis added a comment to D46898: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE.

How about I use LTDL_SHLIB_EXT instead of LLVM_PLUGIN_EXT in the cmake files? (I'm not sure why we have both, they're set to the same thing: http://llvm-cs.pcc.me.uk/cmake/modules/HandleLLVMOptions.cmake#132)

May 16 2018, 9:21 AM
thakis added a comment to D46776: [Option] Fix PR37006 prefix choice in findNearest.

Hm, does this only happen on the ps4 bots? Maybe that toolchain sets some default behavior that changes if this flag is exposed or something. Does it repro if you pass -triple x86_64-scei-ps4-ubuntu in the RUN line?

May 16 2018, 5:21 AM
thakis accepted D46820: Fix __uuidof handling on non-type template parameter in C++17.

lgtm, but:

May 16 2018, 4:58 AM

May 15 2018

thakis added a comment to D46776: [Option] Fix PR37006 prefix choice in findNearest.

My guess is it's because the clang tests check if the edit distance is > 1, when you really want to check > 0 instead. Maybe you can try changing that in clang, then relanding?

May 15 2018, 11:05 AM
thakis created D46898: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE.
May 15 2018, 10:59 AM
thakis abandoned D46897: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE.

(accidentally hit cmd-return instead of return; i'll come in again)

May 15 2018, 10:53 AM
thakis created D46897: Give shared modules in unittests the platform-native extension, make PipSqueak a MODULE.
May 15 2018, 10:53 AM
thakis added a comment to rL332284: [clang-format] Move #include related style to libToolingCore.

As far as I know ToolingCore gets linked into all kinds of binaries (e.g. clang) – is this really the best place for this code?

May 15 2018, 9:35 AM
thakis closed D46843: Rename three cxx files in unittests to cpp..
May 15 2018, 9:34 AM
thakis added a comment to D46843: Rename three cxx files in unittests to cpp..

r332368, thanks!

May 15 2018, 9:34 AM
thakis added a comment to D46843: Rename three cxx files in unittests to cpp..

That's how svn diff looks after svn mv. Maybe you use git (which doesn't have a native "move file" operation) and aren't used to seeing this type of diff?

I'm not sure what caused it, but the patch is not applicable.

May 15 2018, 7:32 AM
thakis added a comment to D46843: Rename three cxx files in unittests to cpp..

Something is off with the diff. E.g. the file TestPlugin.cpp doesn't exist, yet the diff contains modifications. Did you miss a local commit?

May 15 2018, 6:29 AM
thakis updated the diff for D46843: Rename three cxx files in unittests to cpp..

update

May 15 2018, 6:29 AM

May 14 2018

thakis created D46843: Rename three cxx files in unittests to cpp..
May 14 2018, 1:00 PM
thakis accepted D46050: [Frontend] Avoid running plugins during code completion parse.
May 14 2018, 12:51 PM
thakis accepted D46818: [llvm-rc] Add support for parsing memory flags.

lgtm.

May 14 2018, 12:50 PM
thakis accepted D46816: [llvm-rc] Read the Planes/BitCount fields from BITMAPINFOHEADER for icons.

lgtm, but please credit where at least parts of this are from :-)

May 14 2018, 12:48 PM