Page MenuHomePhabricator

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 (322 w, 6 d)

Recent Activity

Yesterday

thakis committed rG0fd00a581d92: libc++/win: Make once_flag have the same size as a pointer. (authored by thakis).
libc++/win: Make once_flag have the same size as a pointer.
Wed, Mar 20, 3:54 PM
thakis added a comment to D59607: libc++/win: Make once_flag have the same size as a pointer.

Thanks, landing with UNSTABLE part removed.

Wed, Mar 20, 3:23 PM · Restricted Project
thakis added a comment to D59607: libc++/win: Make once_flag have the same size as a pointer.

Done, thanks for catching that. As discussed on chat, the patch description already had a description on why this is a problem :)

Wed, Mar 20, 1:20 PM · Restricted Project
thakis updated the diff for D59607: libc++/win: Make once_flag have the same size as a pointer.

update

Wed, Mar 20, 1:15 PM · Restricted Project
thakis created D59607: libc++/win: Make once_flag have the same size as a pointer.
Wed, Mar 20, 11:31 AM · Restricted Project
thakis committed rGe8062d20c941: Remove HAVE_REALPATH from config.h (authored by thakis).
Remove HAVE_REALPATH from config.h
Wed, Mar 20, 10:27 AM
thakis abandoned D45167: Use sys::fs::real_path() instead of realpath() in Symbolize and remove HAVE_REALPATH..

Made obsolete by D57609

Wed, Mar 20, 9:34 AM
thakis created D59601: Remove HAVE_REALPATH from config.h .
Wed, Mar 20, 9:33 AM · Restricted Project
thakis committed rG9920b98c716f: gn build: Add build files for some clang-tools-extra (authored by thakis).
gn build: Add build files for some clang-tools-extra
Wed, Mar 20, 9:16 AM
thakis added a comment to D59525: Speed up certain locale functions on Windows.

Thomas - reviews for libc++ must be approved by either @EricWF, @ldionne or myself. None of them approved this.

Why did you commit it?

Wed, Mar 20, 9:05 AM · Restricted Project
thakis created D59600: gn build: Clean up README.rst a bit.
Wed, Mar 20, 8:59 AM · Restricted Project
thakis committed rG6112b76b2ff5: gn build: Merge r356508 (authored by thakis).
gn build: Merge r356508
Wed, Mar 20, 8:41 AM
thakis committed rG9e7af8d02688: gn build: Merge r356519 (authored by thakis).
gn build: Merge r356519
Wed, Mar 20, 8:38 AM
thakis added a comment to D59554: gn build: Add build files for some clang-tools-extra.

Thanks!

Wed, Mar 20, 7:13 AM · Restricted Project, Restricted Project
thakis updated the diff for D59554: gn build: Add build files for some clang-tools-extra.

comments

Wed, Mar 20, 7:13 AM · Restricted Project, Restricted Project

Tue, Mar 19

thakis created D59554: gn build: Add build files for some clang-tools-extra.
Tue, Mar 19, 11:31 AM · Restricted Project, Restricted Project

Mon, Mar 18

thakis committed rG2b1dca79f201: lld-link: Run conflict-mangled.test on all systems (authored by thakis).
lld-link: Run conflict-mangled.test on all systems
Mon, Mar 18, 9:53 AM
thakis added a comment to D59497: lld-link: Run conflict-mangled.test on all systems.

Ah, it was here because when rL288992 was written we still used UnDecorateSymbolName() for demangling. Now we use LLVM's microsoftDemangle() which is cross-platform.

Mon, Mar 18, 9:48 AM · Restricted Project
thakis created D59497: lld-link: Run conflict-mangled.test on all systems.
Mon, Mar 18, 9:45 AM · Restricted Project

Fri, Mar 15

thakis added a comment to D58418: [clang][DirectoryWatcher] Upstream DirectoryWatcher.

Why is this needed for index-while-building? My mental model for index-while-building is that that streams out build index metadata as part of the regular compile. Why does that require watching directories?

You're right that this isn't necessary for the indexing phase. But we also provide API so clients can consume the index. This functionality is used for getting notifications about index data changes.

You can see it for example here:
https://github.com/apple/swift-clang/blob/stable/lib/IndexDataStore/IndexDataStore.cpp#L111

Is that code going to live in clang? This seems more like a tool built on top of the compiler rather than something core to the compiler itself (like the actual index-while-building feature). Maybe this could be in clang-tools-extra?

It actually is part of the feature as the serialized format of the index isn't meant as a stable interface, that's what the API is for. DirectoryWatcher isn't a tool, it's just part of implementation of the IndexStore API.

Fri, Mar 15, 6:40 PM · Restricted Project
thakis committed rG5f5a74582f8a: Rename directory housing clang-change-namespace to be eponymous (authored by thakis).
Rename directory housing clang-change-namespace to be eponymous
Fri, Mar 15, 4:55 AM
thakis added a comment to D58418: [clang][DirectoryWatcher] Upstream DirectoryWatcher.

Why is this needed for index-while-building? My mental model for index-while-building is that that streams out build index metadata as part of the regular compile. Why does that require watching directories?

You're right that this isn't necessary for the indexing phase. But we also provide API so clients can consume the index. This functionality is used for getting notifications about index data changes.

You can see it for example here:
https://github.com/apple/swift-clang/blob/stable/lib/IndexDataStore/IndexDataStore.cpp#L111

Fri, Mar 15, 4:46 AM · Restricted Project

Thu, Mar 14

thakis added a comment to D58418: [clang][DirectoryWatcher] Upstream DirectoryWatcher.

Why is this needed for index-while-building? My mental model for index-while-building is that that streams out build index metadata as part of the regular compile. Why does that require watching directories?

Thu, Mar 14, 3:57 PM · Restricted Project
thakis committed rG51fe000d8a61: gn build: Add build files for clang-doc (authored by thakis).
gn build: Add build files for clang-doc
Thu, Mar 14, 1:41 PM
thakis created D59382: Rename directory housing clang-change-namespace to be eponymous.
Thu, Mar 14, 12:28 PM · Restricted Project
thakis added a comment to D57532: [Index] Make sure c-index-test finds libc++ on Mac.

ilya-biryukov, ping? :-)

Thu, Mar 14, 12:00 PM · Restricted Project
thakis created D59379: gn build: Add build files for clang-doc.
Thu, Mar 14, 11:54 AM · Restricted Project
thakis committed rGbfce36299cd2: Fix test after r356148 (authored by thakis).
Fix test after r356148
Thu, Mar 14, 7:43 AM
thakis added inline comments to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.
Thu, Mar 14, 7:43 AM · Restricted Project
thakis committed rG98dd085d1f1a: Objective-C++11: Support static_assert() in @interface/@implementation ivar… (authored by thakis).
Objective-C++11: Support static_assert() in @interface/@implementation ivar…
Thu, Mar 14, 7:20 AM

Wed, Mar 13

thakis updated the diff for D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.

extension

Wed, Mar 13, 4:20 PM · Restricted Project
thakis added a comment to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.

Ah, got it, thanks for explaining!

Wed, Mar 13, 4:20 PM · Restricted Project
thakis added inline comments to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.
Wed, Mar 13, 4:00 PM · Restricted Project
thakis updated the diff for D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.

c89

Wed, Mar 13, 3:32 PM · Restricted Project
thakis added a comment to D58514: Avoid needlessly copying blocks that initialize or are assigned to local auto variables to the heap.

Hi ahatanak,

Wed, Mar 13, 1:12 PM · Restricted Project
thakis added a comment to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.

Seems like this wasn't convincing, so now with two separate feature flags. I went with the shorter name, since adding "interface_" isn't just longer but also misleading, since this also works in @implementation ivar blocks now.

Wed, Mar 13, 8:09 AM · Restricted Project
thakis updated the diff for D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.

two features

Wed, Mar 13, 8:08 AM · Restricted Project
thakis added a comment to D36413: Use "foo-12345.o.tmp" instead of "foo.o-12345" as temporary file name..

Note to self, this was for https://crbug.com/751225

Wed, Mar 13, 6:50 AM
thakis abandoned D36238: Use "foo-12345.o" instead of "foo.o-12345" as temporary file name..

We went with https://reviews.llvm.org/D36413 instead. (Upstream issue was https://crbug.com/751225)

Wed, Mar 13, 6:49 AM

Mon, Mar 11

thakis added a comment to D59118: creduce script for clang crashes.

(A few python style comments; feel free to ignore, and feel free to land no matter what you do with the comments.)

Mon, Mar 11, 6:25 PM · Restricted Project
thakis added inline comments to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.
Mon, Mar 11, 6:04 PM · Restricted Project
thakis committed rG020d92cb618c: lld-link: Only print demangled symbol names by default (authored by thakis).
lld-link: Only print demangled symbol names by default
Mon, Mar 11, 4:02 PM
thakis added inline comments to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.
Mon, Mar 11, 3:53 PM · Restricted Project
thakis updated the diff for D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.

test c++98

Mon, Mar 11, 3:53 PM · Restricted Project
thakis committed rG885b790f89b6: Remove esan. (authored by thakis).
Remove esan.
Mon, Mar 11, 1:24 PM
thakis added inline comments to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.
Mon, Mar 11, 1:19 PM · Restricted Project
thakis updated the diff for D58132: lld-link: Only print demangled symbol names by default.

Change lld-link instead.

Mon, Mar 11, 12:59 PM · Restricted Project
thakis committed rG51f84f6bae53: gn build: Merge r355777 (authored by thakis).
gn build: Merge r355777
Mon, Mar 11, 12:30 PM
thakis added a comment to D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.

(Since jfb added a few people who might not have seen it: This was discussed in "Objective-C++11: concerns about adding static_assert support to @interface / @implementation?" on cfe-dev)

Mon, Mar 11, 12:25 PM · Restricted Project
thakis committed rG5a0d0065be5d: gn build: Merge r355835 (authored by thakis).
gn build: Merge r355835
Mon, Mar 11, 12:15 PM
thakis committed rG6b0fdfb1cea7: gn build: Merge r355834 (authored by thakis).
gn build: Merge r355834
Mon, Mar 11, 12:15 PM
thakis created D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations.
Mon, Mar 11, 10:48 AM · Restricted Project
Herald added a reviewer for D31739: Add markup for libc++ dylib availability: serge-sans-paille.
Mon, Mar 11, 8:14 AM · Restricted Project
thakis added a comment to rL284944: Turn on -Wshadow so I find occurances before STL does.

This breaks building with clangs that don't have https://reviews.llvm.org/rL267957 , such as Xcode 8; lots of errors like

Mon, Mar 11, 7:58 AM

Fri, Mar 8

thakis accepted D58530: Add PragmaHandler for MSVC pragma execution_character_set.

Ah ok, then I agree this doesn't need serialization yet :)

Fri, Mar 8, 12:18 PM · Restricted Project, Restricted Project
thakis added a comment to D59133: Remove esan..

How about DFSan and shadowcallstack?

Fri, Mar 8, 10:11 AM · Restricted Project, Restricted Project
thakis updated the diff for D59133: Remove esan..

more

Fri, Mar 8, 7:09 AM · Restricted Project, Restricted Project
thakis created D59133: Remove esan..
Fri, Mar 8, 6:45 AM · Restricted Project, Restricted Project
thakis committed rG6bce2f8ee5db: gn build: Merge r355685 (authored by thakis).
gn build: Merge r355685
Fri, Mar 8, 5:10 AM
thakis committed rGc3130a8a52b9: gn build: Unbreak finding a working `gn` on $PATH on Unix after r355645 (authored by thakis).
gn build: Unbreak finding a working `gn` on $PATH on Unix after r355645
Fri, Mar 8, 5:03 AM
thakis added a comment to D59115: gn build: Unbreak get.py and gn.py on Windows.

I landed the follow-up to the shell=True change in r355694 since it wasn't done yet and I had three spare minutes this morning.

Fri, Mar 8, 5:03 AM · Restricted Project
thakis committed rG38e6bcc14b6b: gn build: Unbreak get.py and gn.py on Windows (authored by thakis).
gn build: Unbreak get.py and gn.py on Windows
Fri, Mar 8, 4:45 AM

Thu, Mar 7

thakis created D59115: gn build: Unbreak get.py and gn.py on Windows.
Thu, Mar 7, 3:38 PM · Restricted Project
thakis added inline comments to D59003: [GN] Locate prebuilt binaries correctly..
Thu, Mar 7, 2:13 PM · Restricted Project
thakis added inline comments to D59003: [GN] Locate prebuilt binaries correctly..
Thu, Mar 7, 1:03 PM · Restricted Project
thakis added a comment to D58530: Add PragmaHandler for MSVC pragma execution_character_set.

Does our serialization machinery serialize these correctly automatically? What happens if you compiler a header saying execution_character_set_push, "utf-8") in a header, compile that to a pch, then include that through the pch in a .c file that does pop?

Thu, Mar 7, 12:54 PM · Restricted Project, Restricted Project
thakis committed rGa92711404cca: gn build: Port r342002 (authored by thakis).
gn build: Port r342002
Thu, Mar 7, 7:45 AM
thakis committed rG5a0006d770e1: gn build: Merge r355522 (authored by thakis).
gn build: Merge r355522
Thu, Mar 7, 7:43 AM

Tue, Mar 5

thakis added a comment to D59003: [GN] Locate prebuilt binaries correctly..

Thanks for the patch1

Tue, Mar 5, 5:31 PM · Restricted Project

Mon, Mar 4

thakis created D58925: gn build: Port r342002.
Mon, Mar 4, 2:21 PM · Restricted Project

Sat, Mar 2

thakis committed rG84f2803bc69c: gn build: Add a cfi/sources target. (authored by thakis).
gn build: Add a cfi/sources target.
Sat, Mar 2, 10:30 AM
thakis accepted D58839: gn build: Add 32-bit Linux support..

y tho

Sat, Mar 2, 10:23 AM · Restricted Project

Thu, Feb 28

thakis committed rGe4e97a941d5a: gn build: Merge r355035 (authored by thakis).
gn build: Merge r355035
Thu, Feb 28, 2:08 PM
thakis committed rG17ee24af2bbf: gn build: Merge r355024 (authored by thakis).
gn build: Merge r355024
Thu, Feb 28, 2:08 PM
thakis committed rG77d972b94cc7: cfi: Rename source file from cc to cpp (authored by thakis).
cfi: Rename source file from cc to cpp
Thu, Feb 28, 2:04 PM

Wed, Feb 27

thakis added a comment to D58416: [llvm-cxxfilt] Split and demangle stdin input on certain non-alphanumerics..

The test fails on http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/16086

Wed, Feb 27, 9:06 AM · Restricted Project
thakis added a comment to D58706: Implement the "tuple-like" interface for span from P1024r3.

Looks like this broke most build bots, see http://lab.llvm.org:8011/console

Wed, Feb 27, 8:59 AM
thakis committed rG106db04a80e8: gn build: Merge r354989 (authored by thakis).
gn build: Merge r354989
Wed, Feb 27, 7:48 AM
thakis added inline comments to D58620: hwasan: Rename source files from cc to cpp.
Wed, Feb 27, 7:47 AM · Restricted Project
thakis committed rGe3b6d11038f3: hwasan: Rename source files from cc to cpp (authored by thakis).
hwasan: Rename source files from cc to cpp
Wed, Feb 27, 7:45 AM
thakis updated the summary of D58620: hwasan: Rename source files from cc to cpp.
Wed, Feb 27, 7:41 AM · Restricted Project
thakis updated the summary of D58620: hwasan: Rename source files from cc to cpp.
Wed, Feb 27, 7:41 AM · Restricted Project
thakis committed rGbfdfa8d99ce8: gn build: Merge r354692 (authored by thakis).
gn build: Merge r354692
Wed, Feb 27, 7:29 AM

Tue, Feb 26

thakis added a comment to D58674: [libFuzzer] Remove extra semicolons.

Btw, if there is a way to automatically detect those unnecessary semicolons, isn't there a way to automatically remove them?

Tue, Feb 26, 10:09 AM · Restricted Project, Restricted Project

Mon, Feb 25

thakis created D58620: hwasan: Rename source files from cc to cpp.
Mon, Feb 25, 7:12 AM · Restricted Project

Fri, Feb 22

thakis added a comment to D58546: [lit] Honor PYTHONPATH for llvm tests.

If we do this, should we do it in lit? Else we probably need to do it in llvm, clang, lld, clang-tools-extra, etc etc etc.

Fri, Feb 22, 12:47 PM · Restricted Project
thakis updated subscribers of D58542: gn build: Merge r354635.

Thanks, but looks like @hctim did this in r354683 already (thanks hctim too)!

Fri, Feb 22, 12:46 PM · Restricted Project

Wed, Feb 20

thakis added a comment to D57927: [llvm-ar] Implement the P modifier..

Hmm, that's right. That's probably a good reason why we can't make P the default behavior.

Doesn't that make the output dependent on the build directory path? In Chromium, we're very careful to try and make the build independent of the build directory name for deterministic builds. I think changing the default here is bad for this reason. If you have your mind set on this however, is there an opt out flag? (We don't use llvm-ar in chromium at the moment so this doesn't affect us, but it's maybe a concern you didn't think about, so I figured I'd mention it.)

The member paths in thin archives are relative to the archive itself. So suppose you have two build trees and you want to cmp the difference of every file in each tree to make sure they're bit-for-bit identical. Won't the archive members be the same relative path to the archive within each build tree? If so, the thin archive contents will be bit-for-bit identical.

Wed, Feb 20, 5:47 PM · Restricted Project
thakis added a comment to D57927: [llvm-ar] Implement the P modifier..

Hmm, that's right. That's probably a good reason why we can't make P the default behavior.

Wed, Feb 20, 5:07 PM · Restricted Project

Tue, Feb 19

thakis committed rGace244ea3c29: gn build: Merge r354365 more (authored by thakis).
gn build: Merge r354365 more
Tue, Feb 19, 4:35 PM
thakis committed rGcadb3652e017: gn build: Merge r354365 (authored by thakis).
gn build: Merge r354365
Tue, Feb 19, 4:30 PM
thakis added a comment to D58203: [libc++] Inline stdexcept constructors, destructors, and assignment operators when using MSVC ABI.

But D57425 landed and this one didn't :-) Is the plan to land this and revert the other one then? It sounded to me like our libc++/win bot is currently happy, what does this change do that the other one misses?

Tue, Feb 19, 4:27 PM
thakis added a comment to D58203: [libc++] Inline stdexcept constructors, destructors, and assignment operators when using MSVC ABI.

This was made obsolete by D57425, right?

Tue, Feb 19, 4:09 PM

Feb 19 2019

thakis accepted D58377: Remove extraneous space in MSVC-style diagnostic output.

whaaaat

Feb 19 2019, 6:54 AM · Restricted Project

Feb 17 2019

thakis committed rG6798a65a2466: gn build: Merge r354156 (authored by thakis).
gn build: Merge r354156
Feb 17 2019, 5:38 PM
thakis committed rG3a35a2a51c58: lld-link: Mention comdat selection work in the 9.0.0 wip release notes (authored by thakis).
lld-link: Mention comdat selection work in the 9.0.0 wip release notes
Feb 17 2019, 5:32 PM

Feb 15 2019

thakis created D58301: lld-link: Mention comdat selection work in the 9.0.0 wip release notes.
Feb 15 2019, 12:30 PM · Restricted Project

Feb 14 2019

thakis committed rG04a1ee466062: Stop enabling clang-tools-extra automatically when clang is in… (authored by thakis).
Stop enabling clang-tools-extra automatically when clang is in…
Feb 14 2019, 12:26 PM

Feb 13 2019

thakis accepted D17444: [MSVC] Recognize "static_assert" keyword in C mode.

Awesome, thanks.

Feb 13 2019, 8:20 PM · Restricted Project
thakis committed rG023dd1eefad3: Print a note to the called macro when diagnosing err_embedded_directive (authored by thakis).
Print a note to the called macro when diagnosing err_embedded_directive
Feb 13 2019, 8:17 PM