[PATCH] D49518: [VFS] Emit an error when a file isn't located in any directory.

2018-08-07 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339164: [VFS] Emit an error when entry at root level uses a relative path. (authored by vsapsai, committed by ). Changed prior to commit: https://reviews.llvm.org/D49518?vs=157311&id=159567#toc Reposit

[PATCH] D49518: [VFS] Emit an error when a file isn't located in any directory.

2018-08-07 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for the review, Bruno. Repository: rC Clang https://reviews.llvm.org/D49518 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50344: [libc++] Enable aligned allocation based on feature test macro, irrespective of standard

2018-08-07 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: libcxx/include/__config:993 +!defined(_LIBCPP_BUILDING_LIBRARY) && \ +!defined(__cpp_aligned_new) +# define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION I think I'd rather keep `__cpp_aligned_new >= 201606` check. I don't

[PATCH] D50341: [libcxx] Mark aligned allocation tests as XFAIL on old OSX versions

2018-08-07 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.fail.cpp:15 // UNSUPPORTED: c++98, c++03, c++11, c++14, c++17 // UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-

[PATCH] D50118: [VFS] Unify iteration code for VFSFromYamlDirIterImpl, NFC intended.

2018-08-07 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339199: [VFS] Unify iteration code for VFSFromYamlDirIterImpl, NFC intended. (authored by vsapsai, committed by ). Changed prior to commit: https://reviews.llvm.org/D50118?vs=158420&id=159614#toc Repos

[PATCH] D50344: [libc++] Enable aligned allocation based on feature test macro, irrespective of standard

2018-08-09 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai accepted this revision. vsapsai added inline comments. This revision is now accepted and ready to land. Comment at: libcxx/include/new:111-116 #if !__has_builtin(__builtin_operator_new) || \ __has_builtin(__builtin_operator_new) < 201802L || \ defined(_LIBCPP_HAS

[PATCH] D50539: [VFS] Add property 'fallthrough' that controls fallback to real file system.

2018-08-09 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: bruno, benlangmuir. Herald added a subscriber: dexonsmith. Default property value 'true' preserves current behavior. Value 'false' can be used to create VFS "root", file system that gives better control over which files compiler can use durin

[PATCH] D50539: [VFS] Add property 'fallthrough' that controls fallback to real file system.

2018-08-09 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Known issues: - No support for 'fallthrough' in crash reproducer. - Current way of working with modules in VFS "root" is clunky and error-prone. Also I don't like that VFSFromYamlDirIterImpl is similar to overlay iterator but doesn't share code. At the moment I think it

[PATCH] D50543: [libcxx] Mark charconv tests as failing for previous libcxx versions.

2018-08-09 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: mclow.lists, ldionne. Herald added a reviewer: EricWF. Herald added subscribers: dexonsmith, christof. was added in r338479. Previous libcxx versions don't have this functionality and corresponding tests should be failing. https://reviews.

[PATCH] D50543: [libcxx] Mark charconv tests as failing for previous libcxx versions.

2018-08-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL339451: [libcxx] Mark charconv tests as failing for previous libcxx versions. (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm

[PATCH] D50543: [libcxx] Mark charconv tests as failing for previous libcxx versions.

2018-08-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for the review. Repository: rL LLVM https://reviews.llvm.org/D50543 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50341: [libcxx] Fix XFAILs for aligned allocation tests on older OSX versions

2018-08-13 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. What about defining a feature for unsupported configurations? I've tried if '__cpp_aligned_new' not in macros or \ intMacroValue(macros['__cpp_aligned_new']) < 201606: self.config.available_features.add('libcpp-no-aligned-new') and `// UNSUPPORTED: libc

[PATCH] D50341: [libcxx] Fix XFAILs for aligned allocation tests on older OSX versions

2018-08-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai accepted this revision. vsapsai added a comment. This revision is now accepted and ready to land. I don't have any other comments. Looks good to me. Repository: rCXX libc++ https://reviews.llvm.org/D50341 ___ cfe-commits mailing list cfe-

[PATCH] D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected

2018-08-16 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Have you checked that produced AST is of sufficient quality to be used? Because, for example, for invalid code error recovery tries to keep going but the end result isn't always good. In the test you verify that you can ignore bogus includes. Is this the real-world use

[PATCH] D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected

2018-08-20 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Herald added a subscriber: kadircet. Thanks, Dmitry, for your explanation. It does help to understand your use case better. What about having a mode that treats missing header as non-fatal error? Because I believe there are cases where there is no sense to continue afte

[PATCH] D45470: Emit an error when mixing and

2018-05-08 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai reopened this revision. vsapsai added a comment. This revision is now accepted and ready to land. `__ALLOW_STDC_ATOMICS_IN_CXX__` approach didn't work in practice, I've reverted all changes. Repository: rC Clang https://reviews.llvm.org/D45470 _

[PATCH] D45470: Emit an error when mixing and

2018-05-08 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 145817. vsapsai added a comment. Here is another approach that should emit an error only when mixing headers causes compilation problems. Have no ideas how to test the change. `-verify` doesn't work with fatal errors and libcxx doesn't use FileCheck. Performe

[PATCH] D45470: Emit an error when include after

2018-05-09 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. In https://reviews.llvm.org/D45470#1092260, @jfb wrote: > In https://reviews.llvm.org/D45470#1092212, @vsapsai wrote: > > > Here is another approach that should emit an error only when mixing headers > > causes compilation problems. > > > > Have no ideas how to test the

[PATCH] D46446: [c++17] Fix assertion on synthesizing deduction guides after a fatal error.

2018-05-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Ping. https://reviews.llvm.org/D46446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D46446: [c++17] Fix assertion on synthesizing deduction guides after a fatal error.

2018-05-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL332307: [c++17] Fix assertion on synthesizing deduction guides after a fatal error. (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://review

[PATCH] D46446: [c++17] Fix assertion on synthesizing deduction guides after a fatal error.

2018-05-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for the review. Repository: rL LLVM https://reviews.llvm.org/D46446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D46909: [Sema] Fix assertion when constructor is disabled with partially specialized template.

2018-05-15 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: rsmith, arphaman. The added test case was triggering assertion > Assertion failed: > (!SpecializedTemplate.is() && "Already set > to a class template partial specialization!"), function setInstantiationOf, > file clang/include/clang/AST/D

[PATCH] D46909: [Sema] Fix assertion when constructor is disabled with partially specialized template.

2018-05-15 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: clang/lib/Sema/SemaTemplate.cpp:3873-3881 // Find the variable template specialization declaration that // corresponds to these arguments. void *InsertPos = nullptr; if (VarTemplateSpecializationDecl *Spec = Template->findSpe

[PATCH] D46909: [Sema] Fix assertion when constructor is disabled with partially specialized template.

2018-05-15 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 146944. vsapsai added a comment. Potentially, VarTemplateDecl is susceptible to the same bug as ClassTemplateSpecializationDecl. But I wasn't able to trigger it. And based on code I've convinced myself that the mentioned early exit in Sema::CheckVarTemplateId

[PATCH] D45470: Emit an error when include after

2018-05-15 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL332413: Emit an error when include after (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D45470?vs

[PATCH] D45470: Emit an error when include after

2018-05-15 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for review. Repository: rL LLVM https://reviews.llvm.org/D45470 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D46909: [Sema] Fix assertion when constructor is disabled with partially specialized template.

2018-05-16 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for the quick review, Richard. I'll keep in mind the idea with comparing results of multiple lookups when I work on other partial specialization-related bugs. https://reviews.llvm.org/D46909 ___ cfe-commits mailing

[PATCH] D46909: [Sema] Fix assertion when constructor is disabled with partially specialized template.

2018-05-16 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL332509: [Sema] Fix assertion when constructor is disabled with partially specialized… (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://revi

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-05-17 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Eric, do you have more thoughts on this issue? Repository: rC Clang https://reviews.llvm.org/D45015 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-05-18 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. In https://reviews.llvm.org/D45015#1105314, @rsmith wrote: > That is: on old Darwin, we should not define `__cpp_aligned_allocation` (even > in C++17), produce the "no aligned allocation support" warning in C++17 mode, > and then not try to call the aligned allocation f

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-05-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Somewhat tangential, in discussion with Duncan he mentioned that `-nostdinc++` should turn off assumptions about old Darwin. So if you build libc++ yourself, you don't care what does the system stdlib support. I agree with that and think it doesn't interfere with the la

[PATCH] D47341: [Sema] Disable creating new delayed typos while correcting existing.

2018-05-24 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: arphaman, majnemer. NumTypos guard value ~0U doesn't prevent from creating new delayed typos. When you create new delayed typos during typo correction, value ~0U wraps around to 0. This state is inconsistent and depending on total number of t

[PATCH] D47301: Warning for framework include violation from Headers to PrivateHeaders

2018-05-24 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: include/clang/Basic/DiagnosticGroups.td:34-35 def AutoImport : DiagGroup<"auto-import">; def FrameworkHdrQuotedInclude : DiagGroup<"quoted-include-in-framework-header">; +def FrameworkIncludePrivateFromPublic : DiagGroup<"framework-i

[PATCH] D44568: Fix emission of phony dependency targets when adding extra deps

2018-05-24 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: lib/Frontend/DependencyFile.cpp:182-185 for (const auto &ExtraDep : Opts.ExtraDeps) { AddFilename(ExtraDep); + ++InputFileIndex; } This is incorrect if there are duplicates in `Opts.ExtraDeps`. Also

[PATCH] D47341: [Sema] Disable creating new delayed typos while correcting existing.

2018-05-25 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai planned changes to this revision. vsapsai added a comment. After looking into this more, I think there are 2 different bugs: one with infinite loop and another with `DelayedTypos.empty() && "Uncorrected typos!"` assertion. And disabling typo correction happened to fix both of them. Infi

[PATCH] D44568: Fix emission of phony dependency targets when adding extra deps

2018-05-28 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai accepted this revision. vsapsai added a comment. This revision is now accepted and ready to land. Looks good to me. Just watch the build bots in case some of them are strict with warnings and require `(void)AddFilename(Filename)`. As for the case when the input file is also an extra depe

[PATCH] D47341: [Sema] Disable creating new delayed typos while correcting existing.

2018-05-28 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 148841. vsapsai added a comment. - Fix only infinite loop and don't touch the assertion failure. New commit message should be: [Sema] Fix infinite typo correction loop. NumTypos guard value ~0U doesn't prevent from creating new delayed typos. When you creat

[PATCH] D47341: [Sema] Disable creating new delayed typos while correcting existing.

2018-05-28 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Some debugging details that can be useful but too specific for the commit message. When we have infinite loop, the steps are: 1. Detect typos `structVar1`, `structVar2` 2. Correct typos `structVar1`, `structVar2` 1. Replace `structVar1` with `structVar`. Add correspond

[PATCH] D38327: [Sema] Put nullability fix-it after the end of the pointer.

2017-09-27 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. Fixes nullability fix-it for `id`. With this change nullability specifier is inserted after ">" instead of between "id" and "<". rdar://problem/34260995 https://reviews.llvm.org/D38327 Files: clang/include/clang/Sema/Sema.h clang/lib/Sema/SemaType.cpp clang

[PATCH] D38327: [Sema] Put nullability fix-it after the end of the pointer.

2017-09-27 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. To preempt some of review feedback here are attempted and rejected approaches: - Pass `pointerLoc` and `pointerEndLoc` as `pointerRange`. Such source range can be misleading as `pointerLoc` doesn't necesserily point at the beginning. For example, for `int *x` pointer ra

[PATCH] D38327: [Sema] Put nullability fix-it after the end of the pointer.

2017-09-28 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL314473: [Sema] Put nullability fix-it after the end of the pointer. (authored by vsapsai). Changed prior to commit: https://reviews.llvm.org/D38327?vs=116861&id=117076#toc Repository: rL LLVM https:

[PATCH] D38327: [Sema] Put nullability fix-it after the end of the pointer.

2017-09-28 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. In https://reviews.llvm.org/D38327#882540, @jordan_rose wrote: > Nice catch, Volodymyr! Looks good to me. Thanks for the quick review, Jordan. Repository: rL LLVM https://reviews.llvm.org/D38327 ___ cfe-commits mailing

[PATCH] D38773: [Sema] Add support for flexible array members in Obj-C.

2017-10-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. Allow Obj-C ivars with incomplete array type but only as the last ivar. Also add a requirement for ivars that contain a flexible array member to be at the end of class too. It is possible to add in a subclass another ivar at the end but we'll emit a warning in this c

[PATCH] D38774: [CodeGen] Add support for IncompleteArrayType in Obj-C ivars.

2017-10-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. Fixes an assertion failure when ivar is a struct containing incomplete array. Also completes support for direct flexible array members. rdar://problem/21054495 https://reviews.llvm.org/D38774 Files: clang/lib/CodeGen/CGObjCMac.cpp clang/test/CodeGenObjC/ivar-

[PATCH] D38773: [Sema] Add support for flexible array members in Obj-C.

2017-10-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Previous discussion on the mailing list can be found at http://lists.llvm.org/pipermail/cfe-dev/2017-September/055548.html The implementation is not exactly like it was discussed, it has some changes. There is another case when extra ivar is added at the end, it is for

[PATCH] D38774: [CodeGen] Add support for IncompleteArrayType in Obj-C ivars.

2017-10-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. This patch depends on sema change https://reviews.llvm.org/D38773 https://reviews.llvm.org/D38774 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D38774: [CodeGen] Add support for IncompleteArrayType in Obj-C ivars.

2017-10-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. To save reviewers some time. Incomplete array type is not the same as for zero-sized array, it is `c"^c\00"` while for zero-sized array it is `c"[0c]\00"`. Don't know if it matters, I haven't found any difference in behaviour. Though maybe I wasn't looking in the right

[PATCH] D38773: [Sema] Add support for flexible array members in Obj-C.

2017-10-12 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:5226 +def err_objc_variable_sized_type_not_at_end : Error< + "field %0 with variable sized type %1 is not at the end of class">; +def note_next_field_declaration : Note<

[PATCH] D38773: [Sema] Add support for flexible array members in Obj-C.

2017-10-13 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:15055 } + // If it is the last field is checked elsewhere. } rjmccall wrote: > vsapsai wrote: > > rjmccall wrote: > > > "Whether" rather than "If", please. You sh

[PATCH] D38773: [Sema] Add support for flexible array members in Obj-C.

2017-10-13 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 118990. vsapsai added a comment. - Address rjmccall review comment, move warn_variable_sized_ivar_visibility to DiagnoseVariableSizedIvars. https://reviews.llvm.org/D38773 Files: clang/include/clang/Basic/DiagnosticGroups.td clang/include/clang/Basic/D

[PATCH] D39133: [Sema] Better fix for tags defined inside an enumeration (PR28903).

2017-10-20 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. When we encounter an opening parenthesis and parse the rest as type cast, use DeclSpecContext DSC_type_specifier so we hit the existing check that prevents defining tags in contexts where type specifier is expected. This reverts implementation done in r313386, r3138

[PATCH] D38773: [Sema] Add support for flexible array members in Obj-C.

2017-10-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316381: [Sema] Add support for flexible array members in Obj-C. (authored by vsapsai). Changed prior to commit: https://reviews.llvm.org/D38773?vs=118990&id=119943#toc Repository: rL LLVM https://re

[PATCH] D38774: [CodeGen] Add support for IncompleteArrayType in Obj-C ivars.

2017-10-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: clang/lib/CodeGen/CGObjCMac.cpp:5095 +fieldType = fieldType->getAsArrayTypeUnsafe()->getElementType(); + } + rjmccall wrote: > You can't just use isa<> here; there can be typedefs of incomplete array type. Thanks fo

[PATCH] D38774: [CodeGen] Add support for IncompleteArrayType in Obj-C ivars.

2017-10-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 119951. vsapsai added a comment. - Address rjmccall review comment about isa<>. Decided to keep in test only cases with typedefs because test coverage is the same and there is less similar code. https://reviews.llvm.org/D38774 Files: clang/include/clang/

[PATCH] D38774: [CodeGen] Add support for IncompleteArrayType in Obj-C ivars.

2017-10-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 119952. vsapsai added a comment. - Resubmit my last change without files from underlying branch. https://reviews.llvm.org/D38774 Files: clang/lib/CodeGen/CGObjCMac.cpp clang/test/CodeGenObjC/ivar-layout-flexible-array.m Index: clang/test/CodeGenObjC/i

[PATCH] D51867: [Diagnostics][NFC] Add error handling to FormatDiagnostic()

2018-09-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Regarding the asserts to catch potential problems, seems most of them are for buffer overflows. Aren't sanitizers catching those cases, specifically Address Sanitizer? I haven't checked, just seems it would be good to check buffer overflow automatically instead of using

[PATCH] D50539: [VFS] Add property 'fallthrough' that controls fallback to real file system.

2018-09-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Rebased on top of trunk and checked that this is still working. Please take a look. https://reviews.llvm.org/D50539 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[PATCH] D50462: Try building complete AST after a fatal error was emitted if further diagnostics are expected

2018-09-10 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Agree that fatal/non-fatal error is too coarse and tooling/IDEs need more details and more control to provide better experience. But I don't think we are in a state to claim that all errors are recoverable (in theory and in current implementation). Instead of continuing

[PATCH] D30882: Add a callback for __has_include and use it for dependency scanning

2018-09-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai commandeered this revision. vsapsai added a reviewer: pete. vsapsai added a comment. Taking over the change, I'll address the reviewers' comments. https://reviews.llvm.org/D30882 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http:/

[PATCH] D30882: Add a callback for __has_include and use it for dependency scanning

2018-09-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 165610. vsapsai added a comment. - Improve tests, fix -MMD, address comments. https://reviews.llvm.org/D30882 Files: clang/include/clang/Lex/PPCallbacks.h clang/lib/Frontend/DependencyFile.cpp clang/lib/Lex/PPMacroExpansion.cpp clang/test/Frontend/d

[PATCH] D30882: Add a callback for __has_include and use it for dependency scanning

2018-09-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai marked 3 inline comments as done. vsapsai added inline comments. Comment at: include/clang/Lex/PPCallbacks.h:263 + /// \brief Callback invoked when a has_include directive is read. + virtual void HasInclude(SourceLocation Loc, const FileEntry *File) { + } -

[PATCH] D30882: Add a callback for __has_include and use it for dependency scanning

2018-09-14 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai marked 2 inline comments as done. vsapsai added inline comments. Comment at: lib/Frontend/DependencyFile.cpp:325 +void DFGImpl::HasInclude(SourceLocation Loc, const FileEntry *File) { + if (!File) +return; rsmith wrote: > Have you thought about wheth

[PATCH] D48786: [Preprocessor] Stop entering included files after hitting a fatal error.

2018-07-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: clang/lib/Lex/PPDirectives.cpp:1875 + // Stop further preprocessing if a fatal error has occurred. Any diagnostics + // we might have raised will not be visible. + if (ShouldEnter && Diags->hasFatalErrorOccurred()) jk

[PATCH] D48786: [Preprocessor] Stop entering included files after hitting a fatal error.

2018-07-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 156911. vsapsai added a comment. - Tweak the comment according to review comments. Undiscussed changes: we don't stop preprocessing entirely, only in included files; not using better-sounding "skip" deliberately as it might be confused with `FileSkipped` API.

[PATCH] D49518: [VFS] Emit an error when a file isn't located in any directory.

2018-07-24 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. In https://reviews.llvm.org/D49518#1168038, @bruno wrote: > Hi Volodymyr, thanks for improving this. > > > Need to double check what tests we have when using relative path names at > > the root level. > > Another interesting place to look at is > `unittests/Basic/Virtua

[PATCH] D49518: [VFS] Emit an error when a file isn't located in any directory.

2018-07-25 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 157311. vsapsai added a comment. - Make diagnostics more general, use unit tests. https://reviews.llvm.org/D49518 Files: clang/lib/Basic/VirtualFileSystem.cpp clang/unittests/Basic/VirtualFileSystemTest.cpp Index: clang/unittests/Basic/VirtualFileSyste

[PATCH] D48786: [Preprocessor] Stop entering included files after hitting a fatal error.

2018-07-25 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks everyone for reviewing the change. Repository: rL LLVM https://reviews.llvm.org/D48786 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48786: [Preprocessor] Stop entering included files after hitting a fatal error.

2018-07-25 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL337953: [Preprocessor] Stop entering included files after hitting a fatal error. (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.l

[PATCH] D48753: [libcxx] Use custom allocator's `construct` in C++03 when available.

2018-07-25 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Ping. https://reviews.llvm.org/D48753 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49119: [Sema][ObjC] Issue a warning when a method declared in a protocol is non-escaping but the corresponding method in the implementation is escaping.

2018-07-25 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. In https://reviews.llvm.org/D49119#1176047, @ahatanak wrote: > In https://reviews.llvm.org/D49119#1164285, @vsapsai wrote: > > > Also I had a few ideas for tests when the warning isn't required and it is > > absent. But I'm not sure they are actually valuable. If you are

[PATCH] D49119: [Sema][ObjC] Issue a warning when a method declared in a protocol is non-escaping but the corresponding method in the implementation is escaping.

2018-07-27 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai accepted this revision. vsapsai added a comment. This revision is now accepted and ready to land. Looks good to me. Any further improvements are up to you. Repository: rC Clang https://reviews.llvm.org/D49119 ___ cfe-commits mailing list

[PATCH] D50118: [VFS] Unify iteration code for VFSFromYamlDirIterImpl, NFC intended.

2018-07-31 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: bruno, benlangmuir. Herald added a subscriber: dexonsmith. First and subsequent iteration steps are similar, capture this similarity. https://reviews.llvm.org/D50118 Files: clang/lib/Basic/VirtualFileSystem.cpp Index: clang/lib/Basic/V

[PATCH] D50160: [c-index-test] Use correct executable path to discover resource directory.

2018-08-01 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: nathawes, akyrtzi, bob.wilson. Herald added a subscriber: dexonsmith. Driver builds resource directory path based on provided executable path. Instead of string "clang" use actual executable path. rdar://problem/42699514 https://reviews.ll

[PATCH] D50160: [c-index-test] Use correct executable path to discover resource directory.

2018-08-01 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 158658. vsapsai added a comment. - Address review comment: move getMainExecutable to indextest_core_main. https://reviews.llvm.org/D50160 Files: clang/tools/c-index-test/core_main.cpp Index: clang/tools/c-index-test/core_main.cpp ===

[PATCH] D50160: [c-index-test] Use correct executable path to discover resource directory.

2018-08-01 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai marked an inline comment as done. vsapsai added inline comments. Comment at: clang/tools/c-index-test/core_main.cpp:210 + void *P = (void*) (intptr_t) indextest_core_main; + std::string Executable = llvm::sys::fs::getMainExecutable(ProgName, P); SmallVector ArgsWithP

[PATCH] D50160: [c-index-test] Use correct executable path to discover resource directory.

2018-08-02 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. vsapsai marked an inline comment as done. Closed by commit rL338741: [c-index-test] Use correct executable path to discover resource directory. (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits.

[PATCH] D50160: [c-index-test] Use correct executable path to discover resource directory.

2018-08-02 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for the review! Repository: rL LLVM https://reviews.llvm.org/D50160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-08-03 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Eric, will you have time to commit this patch? If you don't have time and don't have objections, I plan to land this change on your behalf. https://reviews.llvm.org/D45015 ___ cfe-commits mailing list cfe-commits@lists.llvm

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-08-03 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL338934: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable. (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://revi

[PATCH] D45015: [Preprocessor] Allow libc++ to detect when aligned allocation is unavailable.

2018-08-03 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. In https://reviews.llvm.org/D45015#1188141, @EricWF wrote: > Hi, I'm in the process of moving cities. please take over. > > Thanks, and sorry No worries. Thanks for spending time on this issue and making the fix, committing is the easy part. Good luck with the move.

[PATCH] D42938: [Sema] Emit -Winteger-overflow for arguments in function calls, ObjC messages.

2018-02-05 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: ahatanak, nicholas, rsmith. Herald added a subscriber: jkorous-apple. Objective-C properties aren't handled on purpose as they require different approach. rdar://problem/35539384 https://reviews.llvm.org/D42938 Files: clang/lib/Sema/Sem

[PATCH] D42938: [Sema] Emit -Winteger-overflow for arguments in function calls, ObjC messages.

2018-02-05 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 132917. vsapsai added a comment. - Improve tests: check when function argument is a function call itself. https://reviews.llvm.org/D42938 Files: clang/lib/Sema/SemaChecking.cpp clang/test/Sema/integer-overflow.c clang/test/SemaCXX/integer-overflow.cpp

[PATCH] D41834: [Lex] Fix handling numerical literals ending with ' and signed exponent.

2018-02-06 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for the review. https://reviews.llvm.org/D41834 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41834: [Lex] Fix handling numerical literals ending with ' and signed exponent.

2018-02-06 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL324419: [Lex] Fix handling numerical literals ending with ' and signed exponent. (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.l

[PATCH] D41834: [Lex] Fix handling numerical literals ending with ' and signed exponent.

2018-02-06 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC324419: [Lex] Fix handling numerical literals ending with ' and signed exponent. (authored by vsapsai, committed by ). Changed prior to commit: https://reviews.llvm.org/D41834?vs=129125&id=133085#toc R

[PATCH] D42498: [ExprConstant] Fix crash when initialize an indirect field with another field.

2018-02-13 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Herald added a subscriber: jkorous-apple. Ping. https://reviews.llvm.org/D42498 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D42755: [libcxx] Fix last_write_time tests for filesystems that don't support very small times.

2018-02-13 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp:360 - -ec = GetTestEC(); -last_write_time(p, Clock::now()); EricWF wrote: > I would really love to keep this tes

[PATCH] D43494: [Modules] Fix creating fake definition data for lambdas.

2018-02-19 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: rsmith, bruno. Herald added a subscriber: jkorous-apple. During reading C++ definition data for lambda we can access CXXRecordDecl representing lambda before we finished reading the definition data. This can happen by reading a captured varia

[PATCH] D42755: [libcxx] Fix last_write_time tests for filesystems that don't support very small times.

2018-02-19 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 135003. vsapsai added a comment. Herald added a subscriber: christof. - Add back existing test but run it only when file system supports min time. https://reviews.llvm.org/D42755 Files: libcxx/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write

[PATCH] D43494: [Modules] Fix creating fake definition data for lambdas.

2018-02-20 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: clang/lib/Serialization/ASTReaderDecl.cpp:2969 +if (!DD && RD->isBeingDefined()) + return nullptr; aprantl wrote: > Perhaps add a comment explaining what's going on in this early exit? While I was trying to ex

[PATCH] D43494: [Modules] Fix creating fake definition data for lambdas.

2018-02-20 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added inline comments. Comment at: clang/lib/Serialization/ASTReaderDecl.cpp:2969 +if (!DD && RD->isBeingDefined()) + return nullptr; vsapsai wrote: > aprantl wrote: > > Perhaps add a comment explaining what's going on in this early exit? > Whi

[PATCH] D43494: [Modules] Fix creating fake definition data for lambdas.

2018-02-20 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 135179. vsapsai added a comment. - Set `D->DefinitionData` early. We already call `MergeDefinitionData` after definition data deserialization is complete. And I removed previously added `IsBeingDefined`, so left the "all the bits must match" checks in `MergeD

[PATCH] D43590: [clang-format] Fix regression when getStyle() called with empty filename

2018-02-21 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai accepted this revision. vsapsai added a comment. This revision is now accepted and ready to land. I'm not familiar with this code, so post-commit review by someone more knowledgeable might be a good idea. Code-wise it looks good. I feel uneasy about using fake file name, but it is exact

[PATCH] D42498: [ExprConstant] Fix crash when initialize an indirect field with another field.

2018-02-21 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for response, Richard. I'll look into using `CXXDefaultInitExpr`. As for In https://reviews.llvm.org/D42498#1007028, @rsmith wrote: > […] your approach will still go wrong if the `This` pointer is used in other > ways, such as an explicit mention of `this` or a

[PATCH] D42498: [ExprConstant] Fix crash when initialize an indirect field with another field.

2018-02-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai updated this revision to Diff 135708. vsapsai added a comment. - Override `This` for indirect field initializer more like it is done for `InitListExpr`. I rebased my changes, so the diff between different versions can be noisy. https://reviews.llvm.org/D42498 Files: clang/lib/AST/Ex

[PATCH] D42498: [ExprConstant] Fix crash when initialize an indirect field with another field.

2018-02-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC325997: [ExprConstant] Fix crash when initialize an indirect field with another field. (authored by vsapsai, committed by ). Changed prior to commit: https://reviews.llvm.org/D42498?vs=135708&id=135725#

[PATCH] D42498: [ExprConstant] Fix crash when initialize an indirect field with another field.

2018-02-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL325997: [ExprConstant] Fix crash when initialize an indirect field with another field. (authored by vsapsai, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://rev

[PATCH] D42498: [ExprConstant] Fix crash when initialize an indirect field with another field.

2018-02-23 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. Thanks for the review. Explicit `this` usage is a good test, added it. Checked that it happened to work with my previous approach because initializer was `CXXDefaultInitExpr` with expression ImplicitCastExpr 0x7fe966808c40 'void *' `-CXXThisExpr 0x7fe966808c28 'str

[PATCH] D43787: Fix which Darwin versions have ObjC runtime with full subscripting support.

2018-02-26 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai created this revision. vsapsai added reviewers: vsk, kubamracek. Herald added a subscriber: jkorous-apple. Update min deployment target in some tests so that they don't try to link against libarclite and don't fail when it's not available. rdar://problem/29253617 https://reviews.llvm.or

[PATCH] D43787: Fix which Darwin versions have ObjC runtime with full subscripting support.

2018-02-26 Thread Volodymyr Sapsai via Phabricator via cfe-commits
vsapsai added a comment. In https://reviews.llvm.org/D43787#1019886, @kubamracek wrote: > Great! So the versions in `ObjCRuntime.h` didn't really match what the iOS > and macOS supported? Yes, support for assigning nil for a key for NSMutableDictionary was added in macOS 10.11, iOS 9. Earlier

  1   2   3   4   5   6   7   8   9   10   >