Page MenuHomePhabricator

eric_niebler (Eric Niebler)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 3 2015, 11:18 AM (228 w, 1 d)

Recent Activity

Aug 1 2018

eric_niebler added a comment to D48903: [VirtualFileSystem] InMemoryFileSystem::status: Return a Status with the requested name.

It seems to me like the warning is valid, even though we use precompiled headers.

Aug 1 2018, 12:25 PM

Jan 12 2018

eric_niebler added a comment to D41820: [coroutines] Pass coro func args to promise ctor.

Is this behavior specified somewhere? Or are we simply adding an extension to Clang?

Jan 12 2018, 1:28 PM

Nov 10 2017

eric_niebler accepted D39768: [coroutines] Promote cleanup.dest.slot allocas to registers to avoid storing it in the coroutine frame.

Looks ok to me.

Nov 10 2017, 9:29 PM

Oct 28 2017

eric_niebler added a comment to D37093: [coroutines] Promote cleanup.dest.slot-like allocas to registers to avoid storing them in the coroutine frame.

Bump!

Oct 28 2017, 1:36 PM

Sep 4 2017

eric_niebler added a comment to D37093: [coroutines] Promote cleanup.dest.slot-like allocas to registers to avoid storing them in the coroutine frame.

I do not want to promote all promotable allocas, I only would like to target cleanup allocas (flags and dest.slot),

Why? It sounds like you're trying to optimize some aspect of the -O0 lowering.

Sep 4 2017, 1:31 PM

Aug 30 2017

eric_niebler added a comment to D37093: [coroutines] Promote cleanup.dest.slot-like allocas to registers to avoid storing them in the coroutine frame.

I'd love to see this approved. It's a bad bug.

Aug 30 2017, 3:31 PM

Aug 25 2017

eric_niebler added inline comments to D37093: [coroutines] Promote cleanup.dest.slot-like allocas to registers to avoid storing them in the coroutine frame.
Aug 25 2017, 1:42 PM

Aug 21 2017

eric_niebler added a comment to D36946: [time-report] Add Template Instantiation Timer.

This appears to be only measuring the time spent instantiating class templates. What about other template entities, like functions?

Aug 21 2017, 11:29 AM

Jul 5 2017

eric_niebler added inline comments to D34996: Customize the SFINAE diagnostics for enable_if to provide the failed condition..
Jul 5 2017, 5:50 PM · Restricted Project

Apr 23 2017

eric_niebler accepted D32263: Preprocessor: Suppress -Wnonportable-include-path for header maps.
Apr 23 2017, 2:21 PM

Apr 21 2017

eric_niebler added inline comments to D32263: Preprocessor: Suppress -Wnonportable-include-path for header maps.
Apr 21 2017, 11:24 AM

Apr 11 2017

eric_niebler added a comment to D7573: [libc++] Fix PR20084 - std::is_function<void() const> failed..

I just ran into this problem while trying to get range-v3 working on clang-3.6. This is_function implementation probably instantiates fewer templates than the version currently shipping with libc++. Disclaimer: I haven't tested it exhaustively yet.

Apr 11 2017, 3:18 PM

Feb 21 2017

eric_niebler accepted D30000: Fix for pr31836 - pp_nonportable_path on absolute paths: broken delimiters.

Nope looks good.

Feb 21 2017, 1:01 PM

Feb 15 2017

eric_niebler added a comment to D30000: Fix for pr31836 - pp_nonportable_path on absolute paths: broken delimiters.

My question was more about whether the code is correct for absolute paths on Windows, not about whether this particular test would pass or fail. Have you tested an incorrectly-cased absolute path on a Windows machine?

Feb 15 2017, 2:09 PM
eric_niebler updated subscribers of D30000: Fix for pr31836 - pp_nonportable_path on absolute paths: broken delimiters.
Feb 15 2017, 11:18 AM

Sep 2 2016

eric_niebler added a comment to D24164: Remove debug info when hoisting instruction from then/else branch..
Sep 2 2016, 10:09 AM

Jun 13 2016

eric_niebler updated the diff for D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

s/constexpr/const/

Jun 13 2016, 2:58 PM
eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Win2008 buildbot still unhappy. Sorry about this guys. I suppose it's the constexpr. We don't have a win2008 machine locally to test on. Is there a way for us to run this through your gauntlet without actually doing a commit?

Jun 13 2016, 2:28 PM
eric_niebler updated the diff for D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

s/std::size_t/size_t/ to keep the Win2008 buildbot happy.

Jun 13 2016, 12:28 PM
eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

FormatTests unittest passes for me with just my patch. Not sure which diff is causing that failure but it seems not to be mine.

Jun 13 2016, 12:16 PM
eric_niebler reopened D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Looks like I need s/std::size_t/size_t/ to keep the win2008 buildbot happy. Also, Taewook and I are looking into the clang-format test failure, but my suspicion is that that one isn't ours.

Jun 13 2016, 12:00 PM

Jun 10 2016

eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

@rsmith wrote:

Thanks for the updates, LGTM (@bruno, did you get the performance numbers you wanted?)

Jun 10 2016, 8:47 AM

Jun 9 2016

eric_niebler updated the diff for D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Replace StringSet with StringSwitch, ASCII range ends at 0x7f not 0xff, miscellaneous formatting tweaks.

Jun 9 2016, 4:48 PM
eric_niebler added inline comments to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..
Jun 9 2016, 4:20 PM
eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Before this goes in again, I want to double check that this doesn't affect compile time on darwin + frameworks.

Jun 9 2016, 1:48 PM

Jun 8 2016

eric_niebler added inline comments to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..
Jun 8 2016, 3:41 PM
eric_niebler added inline comments to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..
Jun 8 2016, 2:41 PM
eric_niebler reopened D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

Reopening this and the updated D19843.

Jun 8 2016, 10:15 AM
eric_niebler reopened D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Reopening. I would like some eyes on the updated patch before we merge. @rsmith Would you prefer this (and D19842) in new diffs?

Jun 8 2016, 10:15 AM

Jun 7 2016

eric_niebler updated the diff for D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Rework the patch to only warn by default for include files not found in system include directories, unless they are known "standard" headers that should be portable (C/C++/Posix/Boost). Add an additional warning -Wnonportable-system-include-path for turning the warning on for user code that #include's other system headers like <Windows.h>. (As always, warning within system headers are suppressed.)

Jun 7 2016, 5:05 PM

Jun 3 2016

eric_niebler updated the diff for D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

make hasProcSelfFD() static

Jun 3 2016, 10:03 AM
eric_niebler added inline comments to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..
Jun 3 2016, 9:09 AM

Jun 2 2016

eric_niebler updated the diff for D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

Add unittest for openFileForRead; assorted stylistic tweaks.

Jun 2 2016, 3:55 PM
eric_niebler added inline comments to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..
Jun 2 2016, 3:53 PM

May 31 2016

eric_niebler updated the diff for D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Remove stale comment, tweak for diagnostic wording.

May 31 2016, 11:16 AM

May 27 2016

eric_niebler updated the diff for D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

Add getPathFromOpenFD and unittest, as requested.

May 27 2016, 4:01 PM
eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Awesome, thanks.

May 27 2016, 3:09 PM
eric_niebler updated the diff for D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Add fixit tests, fix path separator fixit issue on Windows.

May 27 2016, 1:16 PM

May 25 2016

eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Please add some tests for the FixItHint replacement text. See test/FixIt for examples of how to do this.

May 25 2016, 4:26 PM

May 23 2016

eric_niebler added a comment to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

What I'm suggesting here is that you abstract everything that guarantees returning the realpath (as in absolute, etc) into a separate function, lets call it canonical_path, even if that means that the only reliable option is calling the realpath function itself. Since on windows it's a different function, I see much value in having that abstracted out into a OS independent function.

May 23 2016, 4:14 PM

May 18 2016

eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Thanks for the feedback, @curdeius. What happens now? Do I just wait until somebody accepts the llvm diff and this one? How do I increase the likelihood that that happens?

May 18 2016, 3:34 PM
eric_niebler updated the diff for D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Factor out TrySimplifyPath from Preprocessor::HandleIncludeDirective. Other review feedback.

May 18 2016, 11:41 AM
eric_niebler added inline comments to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..
May 18 2016, 11:40 AM

May 17 2016

eric_niebler added a comment to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

Any more comments on this one? @majnemer? @bruno?

May 17 2016, 2:28 PM

May 12 2016

eric_niebler added a comment to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

clang has been using realpath in the FileManager for a long time and it seems to be working fine, I'm not following why it isn't 100% correct. In the VFS, as far as the needs go, it has been used to detect symlink in the components and work as expected.

May 12 2016, 4:17 PM

May 11 2016

eric_niebler added a comment to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

The only way I know to make realpath 100% correct 100% of the time is to readdir starting from the drive root, enumerating all the subdirectories to find one that matches the next path component, and recursing all the way up. I think I'm safe in saying that making roughly a bajillion API calls that hit the disk over and over is going to be a lot slower than making just one and hoping for the best. :-)

May 11 2016, 11:40 AM
eric_niebler added a comment to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

Can you split the functionality that gets the RealPath into a new function (something like llvm::sys::fs::canonical() or llvm::sys::fs::realpath()) and make openFileForRead calls it?
[...]
This is going to be useful for a bunch of other client in clang that are now obtaining realpath in a adhoc/slow ways.

May 11 2016, 11:26 AM

May 5 2016

eric_niebler added a comment to D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..

Macro clangclang: pi ng

May 5 2016, 10:31 AM

May 4 2016

eric_niebler updated the diff for D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

Review feedback

May 4 2016, 2:08 PM

May 3 2016

eric_niebler added inline comments to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..
May 3 2016, 5:05 PM

May 2 2016

eric_niebler added a comment to D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..

See D19843 for the corresponding cfe changes that implements the new diagnostic.

May 2 2016, 5:26 PM
eric_niebler retitled D19843: Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths. from to Use the name of the file on disk to issue a new diagnostic about non-portable #include and #import paths..
May 2 2016, 5:26 PM
eric_niebler retitled D19842: In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives. from to In openFileForRead, attempt to fetch the actual name of the file on disk -- including case -- so that clang can later warn about non-portable #include and #import directives..
May 2 2016, 5:22 PM

Feb 4 2015

eric_niebler added a comment to D7384: Proposed change to the constructor of std::pair.

You could wrap the templated default ctor in a feature-test macro. This is done many other places in the library.

Feb 4 2015, 12:09 PM

Feb 3 2015

eric_niebler added a comment to D7384: Proposed change to the constructor of std::pair.

Pretty sure defaulted template parameters are used elsewhere already, are they not? Would adding an argument with a default change is_trivial for pairs?

Feb 3 2015, 12:41 PM
eric_niebler added a comment to D7384: Proposed change to the constructor of std::pair.

Yes and no. It also means getting the answer right for std::is_default_constructible<pair<int&,int&>>::value. Right now, it says "true", when it's more accurate to say "false".

Feb 3 2015, 11:37 AM
eric_niebler added a comment to D7384: Proposed change to the constructor of std::pair.

The full fix is to go through *all* the constructors and assignment operators of pair and tuple and apply the same change. tuple already does this in many places, but it's inconsistent, and pair doesn't do it at all.

Feb 3 2015, 11:21 AM