Re: r302932 - [modules] Simplify module macro handling in non-local-submodule-visibility mode.

2017-05-12 Thread Richard Smith via cfe-commits
d/IOHIDDevicePlugIn.h:39: > /Applications/Xcode.app/Contents/Developer/Platforms/ > MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/ > Library/Frameworks/IOKit.framework/Headers/hid/IOHIDLibObsolete.h:41:8: > error: redefinition of > 'IOHIDEventStruct' > struct

r302965 - [modules] When creating a declaration, cache its owning module immediately

2017-05-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 12 18:27:00 2017 New Revision: 302965 URL: http://llvm.org/viewvc/llvm-project?rev=302965&view=rev Log: [modules] When creating a declaration, cache its owning module immediately rather than waiting until it's queried. Currently this is only applied to local submodule

r302966 - Remove unused tracking of owning module for MacroInfo objects.

2017-05-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 12 18:40:52 2017 New Revision: 302966 URL: http://llvm.org/viewvc/llvm-project?rev=302966&view=rev Log: Remove unused tracking of owning module for MacroInfo objects. Modified: cfe/trunk/include/clang/Lex/MacroInfo.h cfe/trunk/include/clang/Lex/Preprocessor.h

r302969 - Add LangOptions method to query whether we are tracking the owning module for a local declaration.

2017-05-12 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 12 19:00:16 2017 New Revision: 302969 URL: http://llvm.org/viewvc/llvm-project?rev=302969&view=rev Log: Add LangOptions method to query whether we are tracking the owning module for a local declaration. In preparation for expanding this behavior to cover additional c

Re: r302966 - Remove unused tracking of owning module for MacroInfo objects.

2017-05-16 Thread Richard Smith via cfe-commits
t; // CHECK: "1a-b2-3cd4" > ^ > :34:1: note: scanning from here > "1a-b2- 3cd4" > ^ > > > On Mon, May 15, 2017 at 10:28 AM Jordan Rose via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Hi, Richard. Swift was using this inf

Re: r302966 - Remove unused tracking of owning module for MacroInfo objects.

2017-05-16 Thread Richard Smith via cfe-commits
k macros(true) and query getModuleMacro(module, identifier) on each one. Thanks, > Jordan > > > > On May 12, 2017, at 16:40, Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > > > > Author: rsmith > > Date: Fri May 12 18:40:52 2017 >

r303224 - [modules] When creating a declaration, cache its owning module immediately

2017-05-16 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 16 19:24:14 2017 New Revision: 303224 URL: http://llvm.org/viewvc/llvm-project?rev=303224&view=rev Log: [modules] When creating a declaration, cache its owning module immediately rather than waiting until it's queried. Currently this is only applied to local submodule

Re: r302966 - Remove unused tracking of owning module for MacroInfo objects.

2017-05-17 Thread Richard Smith via cfe-commits
but -DCMAKE_BUILD_TYPE=Release > Also now I am not sure that it was r302966. > Looking. > > On Wed, May 17, 2017 at 2:15 PM Vitaly Buka wrote: > >> And looks like "-w" is needed to trigger this. >> >> On Wed, May 17, 2017 at 1:43 PM Vitaly Buka >>

r303322 - [modules] Switch from inferring owning modules based on source location to

2017-05-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed May 17 21:29:20 2017 New Revision: 303322 URL: http://llvm.org/viewvc/llvm-project?rev=303322&view=rev Log: [modules] Switch from inferring owning modules based on source location to inferring based on the current module at the point of creation. This should result in no

Re: r303224 - [modules] When creating a declaration, cache its owning module immediately

2017-05-18 Thread Richard Smith via cfe-commits
.zip > > - Raphael > > 2017-05-17 2:24 GMT+02:00 Richard Smith via cfe-commits > : > > Author: rsmith > > Date: Tue May 16 19:24:14 2017 > > New Revision: 303224 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=303224&view=rev > > Log: > &g

r303372 - Fix the location of "missing '; '" suggestions after annotation tokens.

2017-05-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 18 14:21:48 2017 New Revision: 303372 URL: http://llvm.org/viewvc/llvm-project?rev=303372&view=rev Log: Fix the location of "missing ';'" suggestions after annotation tokens. We were incorrectly setting PrevTokLocation to the first token in the annotation token instea

r303373 - When we enter a module within a linkage specification, switch the linkage

2017-05-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 18 14:34:55 2017 New Revision: 303373 URL: http://llvm.org/viewvc/llvm-project?rev=303373&view=rev Log: When we enter a module within a linkage specification, switch the linkage specification and the TU to the new module. This is necessary to get the module ownership

Re: r303224 - [modules] When creating a declaration, cache its owning module immediately

2017-05-18 Thread Richard Smith via cfe-commits
I see, the problem is that template parameters are temporarily put in the wrong DeclContext while the rest of the declaration is being parsed (and thus end up temporarily owned by the wrong module). Fixed in r303373. On 18 May 2017 at 11:52, Richard Smith wrote: > Thanks for the awes

Re: r302966 - Remove unused tracking of owning module for MacroInfo objects.

2017-05-18 Thread Richard Smith via cfe-commits
ated to this? >> >> Thanks, >> Dehao >> >> On Wed, May 17, 2017 at 11:14 PM, Vitaly Buka >> wrote: >> >>> +Dehao Chen >>> it started from r302938 >>> >>> On Wed, May 17, 2017 at 8:09 PM Jordan Rose via cfe-c

Re: r302966 - Remove unused tracking of owning module for MacroInfo objects.

2017-05-18 Thread Richard Smith via cfe-commits
On 18 May 2017 1:19 pm, "Richard Smith" wrote: On 18 May 2017 1:14 pm, "Dehao Chen" wrote: What's the issue? Build breaking? Performance regression? It's not clear from the limit info in this thread... r302938 introduced or exposed a miscompile that causes a

Re: r302966 - Remove unused tracking of owning module for MacroInfo objects.

2017-05-18 Thread Richard Smith via cfe-commits
hink) -O2. If yes, how can I reproduce this issue so that I can try to triage/fix the > problem? > I'll provide you with instructions offline. Thanks, > Dehao > > On Thu, May 18, 2017 at 1:22 PM, Richard Smith > wrote: > >> On 18 May 2017 1:19 pm, "Richa

r303398 - When a type-id is unexpectedly given a name, assume that the name is unrelated

2017-05-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu May 18 20:54:59 2017 New Revision: 303398 URL: http://llvm.org/viewvc/llvm-project?rev=303398&view=rev Log: When a type-id is unexpectedly given a name, assume that the name is unrelated syntax unless we have a reason to think otherwise. This improves error recovery in a

r303451 - Do not issue -Wnullability-completeness for dependent types that are not written as pointer types.

2017-05-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 19 15:20:13 2017 New Revision: 303451 URL: http://llvm.org/viewvc/llvm-project?rev=303451&view=rev Log: Do not issue -Wnullability-completeness for dependent types that are not written as pointer types. Added: cfe/trunk/test/SemaCXX/Inputs/nullability-completenes

r303468 - [modules] Simplify module macro handling in non-local-submodule-visibility mode.

2017-05-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 19 18:32:38 2017 New Revision: 303468 URL: http://llvm.org/viewvc/llvm-project?rev=303468&view=rev Log: [modules] Simplify module macro handling in non-local-submodule-visibility mode. When reaching the end of a module, we used to convert its macros to ModuleMacros bu

r303469 - Remove last (unnecessary) use of mapping from SourceLocation to Module and

2017-05-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 19 18:49:00 2017 New Revision: 303469 URL: http://llvm.org/viewvc/llvm-project?rev=303469&view=rev Log: Remove last (unnecessary) use of mapping from SourceLocation to Module and remove the mechanism for doing so. This mechanism was incorrect in the presence of prepro

r303479 - Rename RAII objects for performing eager instantiation to have names that

2017-05-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri May 19 20:36:41 2017 New Revision: 303479 URL: http://llvm.org/viewvc/llvm-project?rev=303479&view=rev Log: Rename RAII objects for performing eager instantiation to have names that describe what they're for, not how they do it, and factor out a bit more common code into t

Re: r303582 - Give files from #line the characteristics of the current file

2017-05-22 Thread Richard Smith via cfe-commits
On 22 May 2017 at 14:42, Reid Kleckner via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: rnk > Date: Mon May 22 16:42:58 2017 > New Revision: 303582 > > URL: http://llvm.org/viewvc/llvm-project?rev=303582&view=rev > Log: > Give files from #line the characteristics of the current file

Re: r303582 - Give files from #line the characteristics of the current file

2017-05-22 Thread Richard Smith via cfe-commits
On 22 May 2017 at 15:22, Reid Kleckner via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Mon, May 22, 2017 at 3:17 PM, Richard Smith > wrote: > >>// If the StrTok is "eod", then it wasn't present. Otherwise, it must >>> be a >>>

r303589 - Add option to include multiple lines in snippets.

2017-05-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon May 22 18:51:40 2017 New Revision: 303589 URL: http://llvm.org/viewvc/llvm-project?rev=303589&view=rev Log: Add option to include multiple lines in snippets. When a diagnostic includes a highlighted range spanning multiple lines, clang now supports printing out multiple l

Re: r303694 - Sema: allow imaginary constants via GNU extension if UDL overloads not present.

2017-05-23 Thread Richard Smith via cfe-commits
On 23 May 2017 at 14:41, Tim Northover via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: tnorthover > Date: Tue May 23 16:41:49 2017 > New Revision: 303694 > > URL: http://llvm.org/viewvc/llvm-project?rev=303694&view=rev > Log: > Sema: allow imaginary constants via GNU extension if UD

r303699 - [modules] When reparenting a local declaration, don't mark the declaration as

2017-05-23 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue May 23 17:02:49 2017 New Revision: 303699 URL: http://llvm.org/viewvc/llvm-project?rev=303699&view=rev Log: [modules] When reparenting a local declaration, don't mark the declaration as being visible with its owning module if we're not tracking owning modules for local dec

Re: r303694 - Sema: allow imaginary constants via GNU extension if UDL overloads not present.

2017-05-23 Thread Richard Smith via cfe-commits
On 23 May 2017 at 15:11, Tim Northover via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > + if (!isImaginary) { > > > > Shouldn't this be "if (s != ThisTokEnd)"? (That is, if this was not a > valid builtin suffix, reset the suffix information.) > > I think they're equivalent here: > >

Fwd: r198063 - Warn on mismatched parentheses in memcmp and friends.

2016-10-17 Thread Richard Smith via cfe-commits
[Re-send to correct addresses.] On Thu, Dec 26, 2013 at 3:38 PM, Nico Weber wrote: > Author: nico > Date: Thu Dec 26 17:38:39 2013 > New Revision: 198063 > > URL: http://llvm.org/viewvc/llvm-project?rev=198063&view=rev > Log: > Warn on mismatched parentheses in memcmp and friends. > > Thisadds a

[PATCH] D25337: [Modules] Add a command line option for enabling the modules feature exclusively for the Clang builtins.

2016-10-17 Thread Richard Smith via cfe-commits
rsmith added a comment. I really don't like the command-line interface you're proposing here. It seems like it will be extremely confusing what something like `-fmodules -fexclusive-builtin-modules` means, for instance (usually, later `-f` flags override earlier ones, so does this *turn off* mo

Re: [PATCH] D25448: [ubsan] Disable -fsanitize=vptr checks for devirtualized calls

2016-10-17 Thread Richard Smith via cfe-commits
On 17 Oct 2016 12:06 pm, "Vedant Kumar via cfe-commits" < cfe-commits@lists.llvm.org> wrote: vsk added a comment. Thanks for your feedback so far, and sorry for the delayed response. In https://reviews.llvm.org/D25448#570014, @rjmccall wrote: > Wait, can you talk me through the bug here? Deri

r284457 - [c++1z] Use canonical expression equivalence to determine whether two different

2016-10-17 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 18 01:47:03 2016 New Revision: 284457 URL: http://llvm.org/viewvc/llvm-project?rev=284457&view=rev Log: [c++1z] Use canonical expression equivalence to determine whether two different dependent noexcept specifications result in the same canonical function type. We sti

r284458 - [c++1z] Include "noexcept" in builtin function types where appropriate. Fixes

2016-10-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 18 02:13:55 2016 New Revision: 284458 URL: http://llvm.org/viewvc/llvm-project?rev=284458&view=rev Log: [c++1z] Include "noexcept" in builtin function types where appropriate. Fixes an assertion failure looking up a matching ::operator delete for __builtin_operator_del

[PATCH] D25678: [modules] Do not report missing definitions of demoted constexpr variable templates.This is a followup to regression introduced in r284284.This should fix our libstdc++ modules builds.

2016-10-18 Thread Richard Smith via cfe-commits
rsmith added inline comments. Comment at: lib/Sema/SemaDecl.cpp:10129 +!Var->isThisDeclarationADemotedDefinition()) { + assert(Var->isThisDeclarationADemotedDefinition() && getLangOpts().Modules + && "Demoting decls is only in the contest of modules!");

Re: Fwd: r198063 - Warn on mismatched parentheses in memcmp and friends.

2016-10-18 Thread Richard Smith via cfe-commits
d" code doesn't compile any more. > On Oct 17, 2016 1:44 PM, "Richard Smith" wrote: > >> [Re-send to correct addresses.] >> >> On Thu, Dec 26, 2013 at 3:38 PM, Nico Weber wrote: >> >>> Author: nico >>> Date: Thu Dec 26 17:38:39 2

r284519 - When two function types have equivalent (but distinct) noexcept specifications, create separate type sugar nodes. This is necessary so that substitution into the exception specification will

2016-10-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 18 14:29:18 2016 New Revision: 284519 URL: http://llvm.org/viewvc/llvm-project?rev=284519&view=rev Log: When two function types have equivalent (but distinct) noexcept specifications, create separate type sugar nodes. This is necessary so that substitution into the e

r284528 - [c++1z] Fix corner case where we could create a function type whose canonical type is not actually canonical.

2016-10-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 18 15:13:25 2016 New Revision: 284528 URL: http://llvm.org/viewvc/llvm-project?rev=284528&view=rev Log: [c++1z] Fix corner case where we could create a function type whose canonical type is not actually canonical. Modified: cfe/trunk/include/clang/AST/ASTContext.

r284530 - Add missing warning for use of C++1z init-statements in C++14 and before.

2016-10-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 18 15:27:16 2016 New Revision: 284530 URL: http://llvm.org/viewvc/llvm-project?rev=284530&view=rev Log: Add missing warning for use of C++1z init-statements in C++14 and before. Added: cfe/trunk/test/SemaCXX/warn-c++1z-extensions.cpp Modified: cfe/trunk/includ

r284549 - DR1330: instantiate exception-specifications when "needed". We previously did

2016-10-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 18 18:39:12 2016 New Revision: 284549 URL: http://llvm.org/viewvc/llvm-project?rev=284549&view=rev Log: DR1330: instantiate exception-specifications when "needed". We previously did not instantiate exception specifications of functions if they were only used in unevalu

Re: [libcxx] r249738 - Split out of .

2016-10-18 Thread Richard Smith via cfe-commits
On Tue, Oct 18, 2016 at 4:30 PM, Bruno Cardoso Lopes < bruno.card...@gmail.com> wrote: > Hi Richard, > > Turns out that the redefinition error was caused because libc++ > modulemap lacked a module for its "string.h", and therefore it would > be textually included in more than one module, yielding

Re: [libcxx] r249738 - Split out of .

2016-10-18 Thread Richard Smith via cfe-commits
On Mon, Oct 17, 2016 at 3:31 PM, Manman via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > > On Oct 17, 2016, at 2:11 PM, Bruno Cardoso Lopes via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > > > > Hi, > > > > On Fri, Oct 14, 2016 at 3

r284556 - Resolve exception specifications when selecting an overloaded operator.

2016-10-18 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 18 19:14:23 2016 New Revision: 284556 URL: http://llvm.org/viewvc/llvm-project?rev=284556&view=rev Log: Resolve exception specifications when selecting an overloaded operator. Modified: cfe/trunk/lib/Sema/SemaOverload.cpp cfe/trunk/test/SemaCXX/constant-expres

r284653 - Add optimization to sizeof...(X) handling: if none of parameter pack X's

2016-10-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 19 17:18:42 2016 New Revision: 284653 URL: http://llvm.org/viewvc/llvm-project?rev=284653&view=rev Log: Add optimization to sizeof...(X) handling: if none of parameter pack X's corresponding arguments are unexpanded pack expansions, we can compute the result without su

r284669 - Extend hack to work around bad exception specifications for 'swap' members to

2016-10-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 19 18:47:37 2016 New Revision: 284669 URL: http://llvm.org/viewvc/llvm-project?rev=284669&view=rev Log: Extend hack to work around bad exception specifications for 'swap' members to also cover libstdc++'s std::__debug::array and std::__profile::array. Modified: cf

r284673 - Fix crash on noreturn conversion in unprototyped function type. Thanks to Keith

2016-10-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 19 19:01:36 2016 New Revision: 284673 URL: http://llvm.org/viewvc/llvm-project?rev=284673&view=rev Log: Fix crash on noreturn conversion in unprototyped function type. Thanks to Keith Walker for spotting the bug. Modified: cfe/trunk/lib/Sema/SemaOverload.cpp c

Re: [PATCH] D25806: Module: correctly set the module file kind when emitting diagnostics for file_modified

2016-10-19 Thread Richard Smith via cfe-commits
On Wed, Oct 19, 2016 at 5:05 PM, Manman Ren wrote: > manmanren created this revision. > manmanren added reviewers: bruno, rsmith, benlangmuir. > manmanren added a subscriber: cfe-commits. > > I don't quite like the if statement in the patch, but given that > ASTReader::Error and DelayedDiagnostic

r284684 - PR26276: Fix detection of non-cast-expressions as operands of fold-expressions.

2016-10-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 19 19:55:15 2016 New Revision: 284684 URL: http://llvm.org/viewvc/llvm-project?rev=284684&view=rev Log: PR26276: Fix detection of non-cast-expressions as operands of fold-expressions. Modified: cfe/trunk/include/clang/AST/ExprCXX.h cfe/trunk/lib/AST/ExprCXX.cp

r284685 - Refactor and simplify Sema::FindCompositePointerType. No functionality change intended.

2016-10-19 Thread Richard Smith via cfe-commits
Author: rsmith Date: Wed Oct 19 20:20:00 2016 New Revision: 284685 URL: http://llvm.org/viewvc/llvm-project?rev=284685&view=rev Log: Refactor and simplify Sema::FindCompositePointerType. No functionality change intended. Modified: cfe/trunk/lib/Sema/SemaExprCXX.cpp Modified: cfe/trunk/lib/S

Re: r284685 - Refactor and simplify Sema::FindCompositePointerType. No functionality change intended.

2016-10-20 Thread Richard Smith via cfe-commits
\X86WinAllocaExpander.cpp.obj > 251843.902 [4/1/27] Building CXX object > lib\Target\X86\CMakeFiles\LLVMX86CodeGen.dir\X86TargetMachine.cpp.obj > 251846.937 [4/0/28] Building CXX object > lib\Target\X86\CMakeFiles\LLVMX86CodeGen.dir\X86ISelLowering.cpp.obj > ninja: build stopped: subcom

r284701 - Work around MSVC rejects-valid. Apparenty (some versions of) MSVC will check

2016-10-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 20 02:53:17 2016 New Revision: 284701 URL: http://llvm.org/viewvc/llvm-project?rev=284701&view=rev Log: Work around MSVC rejects-valid. Apparenty (some versions of) MSVC will check that a member is default-initializable even if it's initialized by a default member init

Re: r284685 - Refactor and simplify Sema::FindCompositePointerType. No functionality change intended.

2016-10-20 Thread Richard Smith via cfe-commits
Should hopefully be fixed by r284701. On Thu, Oct 20, 2016 at 12:55 AM, Richard Smith wrote: > I think I understand the MSVC bug here; workaround incoming. > > On Wed, Oct 19, 2016 at 11:54 PM, Mike Aizatsky > wrote: > >> I think this breaks windows bot: >> >>

r284753 - [c++1z] Teach composite pointer type computation how to compute the composite

2016-10-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 20 12:57:33 2016 New Revision: 284753 URL: http://llvm.org/viewvc/llvm-project?rev=284753&view=rev Log: [c++1z] Teach composite pointer type computation how to compute the composite pointer type of two function pointers with different noexcept specifications. While I'm

r284761 - [c++1z] Fix assertion failure when using the wrong number of bindings for a

2016-10-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 20 13:29:25 2016 New Revision: 284761 URL: http://llvm.org/viewvc/llvm-project?rev=284761&view=rev Log: [c++1z] Fix assertion failure when using the wrong number of bindings for a struct with unnamed bitfields. Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp cfe/

r284785 - Re-commit r284753, reverted in r284778, with a fix for PR30749.

2016-10-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 20 16:53:09 2016 New Revision: 284785 URL: http://llvm.org/viewvc/llvm-project?rev=284785&view=rev Log: Re-commit r284753, reverted in r284778, with a fix for PR30749. Original commit message: [c++1z] Teach composite pointer type computation how to compute the compos

r284800 - DR583, DR1512: Implement a rewrite to C++'s 'composite pointer type' rules.

2016-10-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 20 21:36:37 2016 New Revision: 284800 URL: http://llvm.org/viewvc/llvm-project?rev=284800&view=rev Log: DR583, DR1512: Implement a rewrite to C++'s 'composite pointer type' rules. This has two significant effects: 1) Direct relational comparisons between null pointer

[PATCH] D25850: [WIP] Accept nullability annotations (_Nullable) on array parameters

2016-10-20 Thread Richard Smith via cfe-commits
rsmith added a comment. This generally makes sense to me. `_Nonnull` in this position seems very similar to `static` (which typically also implies non-nullness). Comment at: lib/CodeGen/CGDebugInfo.cpp:2493-2499 case Type::Adjusted: - case Type::Decayed: + case Type::Deca

r284802 - Don't try to use !Previous.empty() as a proxy for "Is this a redeclaration?" --

2016-10-20 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 20 22:15:03 2016 New Revision: 284802 URL: http://llvm.org/viewvc/llvm-project?rev=284802&view=rev Log: Don't try to use !Previous.empty() as a proxy for "Is this a redeclaration?" -- we don't collapse that down to a single entry if it's not a redeclaration. Instead, s

Re: [PATCH] D25199: [ubsan] Sanitize deleted pointers

2016-10-21 Thread Richard Smith via cfe-commits
On Tue, Oct 4, 2016 at 11:43 AM, Matt Gingell wrote: > Hi Richard, > > Thanks for your analysis. > > This patch is intended to mitigate use-after-free bugs. In that context a > “define strict behavior for invalid pointer values” we could deploy in > production code would be very useful. Maybe cal

[clang-tools-extra] r284888 - Remove 'misc-pointer-and-integral-operation' clang-tidy check. The only cases

2016-10-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 21 16:50:28 2016 New Revision: 284888 URL: http://llvm.org/viewvc/llvm-project?rev=284888&view=rev Log: Remove 'misc-pointer-and-integral-operation' clang-tidy check. The only cases it detects are ill-formed (some per C++ core issue 1512, others always have been). Rem

Re: r284800 - DR583, DR1512: Implement a rewrite to C++'s 'composite pointer type' rules.

2016-10-21 Thread Richard Smith via cfe-commits
On Fri, Oct 21, 2016 at 1:13 AM, Renato Golin wrote: > On 21 October 2016 at 03:36, Richard Smith via cfe-commits > wrote: > > Author: rsmith > > Date: Thu Oct 20 21:36:37 2016 > > New Revision: 284800 > > > > URL: http://llvm.org/viewvc/llvm-project?re

r284890 - DR583, DR1512: Implement a rewrite to C++'s 'composite pointer type' rules.

2016-10-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 21 17:00:42 2016 New Revision: 284890 URL: http://llvm.org/viewvc/llvm-project?rev=284890&view=rev Log: DR583, DR1512: Implement a rewrite to C++'s 'composite pointer type' rules. This has two significant effects: 1) Direct relational comparisons between null pointer

[PATCH] D25882: Remove special error recovery for ::(id)

2016-10-21 Thread Richard Smith via cfe-commits
rsmith added a comment. Can you also remove the corresponding diagnostic? Comment at: lib/Parse/ParseExprCXX.cpp:73-75 PP.EnterToken(ColonToken); if (!AtDigraph) PP.EnterToken(DigraphToken); This seems to mess up the cached token buffer in the same w

r284895 - Remove unnecessary distinction between Ref_Compatible and

2016-10-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 21 18:01:55 2016 New Revision: 284895 URL: http://llvm.org/viewvc/llvm-project?rev=284895&view=rev Log: Remove unnecessary distinction between Ref_Compatible and Ref_Compatible_With_Added_Qualification. We always treated these two values the same way. Modified: cf

r284905 - [c++1z] P0012R1: Implement a few remaining pieces: downgrade diagnostic for

2016-10-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 21 20:32:19 2016 New Revision: 284905 URL: http://llvm.org/viewvc/llvm-project?rev=284905&view=rev Log: [c++1z] P0012R1: Implement a few remaining pieces: downgrade diagnostic for mismatched dynamic exception specifications in expressions from an error to a warning, si

r284906 - Add another testcase missed from r284905.

2016-10-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 21 20:32:45 2016 New Revision: 284906 URL: http://llvm.org/viewvc/llvm-project?rev=284906&view=rev Log: Add another testcase missed from r284905. Added: cfe/trunk/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p4.cpp Added: cfe/trunk/test/CXX/dcl.decl/dcl.init/dcl.init.

r284907 - Mark P0012R1 as "Partial" since it's now substantially complete.

2016-10-21 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 21 20:35:34 2016 New Revision: 284907 URL: http://llvm.org/viewvc/llvm-project?rev=284907&view=rev Log: Mark P0012R1 as "Partial" since it's now substantially complete. Modified: cfe/trunk/www/cxx_status.html Modified: cfe/trunk/www/cxx_status.html URL: http://l

r284933 - Fix mangling numbers for varargs lambdas; varargs and non-varargs lambdas get

2016-10-22 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Oct 22 23:53:03 2016 New Revision: 284933 URL: http://llvm.org/viewvc/llvm-project?rev=284933&view=rev Log: Fix mangling numbers for varargs lambdas; varargs and non-varargs lambdas get different lambda-sigs, so they should have different counters. Modified: cfe/trunk

Re: [clang-tools-extra] r284888 - Remove 'misc-pointer-and-integral-operation' clang-tidy check. The only cases

2016-10-24 Thread Richard Smith via cfe-commits
rior to DR1512, some of the cases detected by this check were valid in C++). > On Fri, Oct 21, 2016 at 11:50 PM, Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rsmith >> Date: Fri Oct 21 16:50:28 2016 >> New Revision: 284888 >

r284999 - Fix crash if StmtProfile finds a type-dependent member access for which we have

2016-10-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Oct 24 13:47:04 2016 New Revision: 284999 URL: http://llvm.org/viewvc/llvm-project?rev=284999&view=rev Log: Fix crash if StmtProfile finds a type-dependent member access for which we have resolved the -> to a call to a specific operator-> function. The particular test case

r285015 - Fix mangling of implicit calls to operator-> to only include a single "pt",

2016-10-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Oct 24 15:29:40 2016 New Revision: 285015 URL: http://llvm.org/viewvc/llvm-project?rev=285015&view=rev Log: Fix mangling of implicit calls to operator-> to only include a single "pt", rather than including an extra one for each level of 'operator->()' invoked. Modified:

r285022 - Fix bug where one of the cases where we mangle a failed

2016-10-24 Thread Richard Smith via cfe-commits
Author: rsmith Date: Mon Oct 24 15:47:04 2016 New Revision: 285022 URL: http://llvm.org/viewvc/llvm-project?rev=285022&view=rev Log: Fix bug where one of the cases where we mangle a failed to emit the portion. Refactor so that mangleUnresolvedName actually emits the entire , so this mistake is h

[PATCH] D25838: [Basic] Support 32-bit x86 and ARM targets for Fuchsia

2016-10-24 Thread Richard Smith via cfe-commits
rsmith accepted this revision. rsmith added a comment. "Instantiate all the templates" all_the_things "with all the types" Repository: rL LLVM https://reviews.llvm

Re: [libcxx] r249738 - Split out of .

2016-10-24 Thread Richard Smith via cfe-commits
On Mon, Oct 24, 2016 at 3:30 PM, Bruno Cardoso Lopes < bruno.card...@gmail.com> wrote: > > Sure, go ahead. > > I committed in r284797 and r284801 (libcxx). There's one minor issue > I've found: the changes for the builtins affecting non submodule local > visibility broke current users of plain "-f

[PATCH] D25817: [Sema] Improve the error diagnostic for dot destructor calls on pointer objects

2016-10-24 Thread Richard Smith via cfe-commits
rsmith added a comment. In https://reviews.llvm.org/D25817#576276, @arphaman wrote: > This code does perform recovery, but the constructed AST for the destructor > calls is different from the AST that would have been constructed if the code > was correct: we still end up building the pseudo des

[PATCH] D21508: Make friend function template definition available if class is instantiated.

2016-10-24 Thread Richard Smith via cfe-commits
rsmith added a comment. The model that the C++ standard seems to have settled on is that a friend function declaration that's instantiated from a definition is considered to be a definition, even if we've not instantiated its body yet. I think we should try to directly implement that rule. =

Re: [libcxx] r249738 - Split out of .

2016-10-25 Thread Richard Smith via cfe-commits
On Mon, Oct 24, 2016 at 4:58 PM, Bruno Cardoso Lopes via cfe-commits < cfe-commits@lists.llvm.org> wrote: > On Mon, Oct 24, 2016 at 4:17 PM, Richard Smith > wrote: > > On Mon, Oct 24, 2016 at 3:30 PM, Bruno Cardoso Lopes > > wrote: > >> > >> > Sur

Re: [libcxx] r249738 - Split out of .

2016-10-25 Thread Richard Smith via cfe-commits
at 2:01 PM, Richard Smith wrote: > On Mon, Oct 24, 2016 at 4:58 PM, Bruno Cardoso Lopes via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> On Mon, Oct 24, 2016 at 4:17 PM, Richard Smith >> wrote: >> > On Mon, Oct 24, 2016 at 3:30 PM, Bruno Cardoso L

Re: [libcxx] r249738 - Split out of .

2016-10-25 Thread Richard Smith via cfe-commits
-D__need_wint_t -Werror=implicit-function-declaration %s @import uses_other_constants; const double other_value = DBL_MAX; On Tue, Oct 25, 2016 at 2:56 PM, Richard Smith wrote: > This was a thinko on my part: clang's builtin headers include_next the > system headers, not the other way aro

[PATCH] D25206: [Parser] Correct typo after lambda capture initializer is parsed

2016-10-25 Thread Richard Smith via cfe-commits
rsmith added inline comments. Comment at: lib/Parse/ParseExprCXX.cpp:951 Init = ParseInitializer(); + Init = Actions.CorrectDelayedTyposInExpr(Init.get()); ahatanak wrote: > mehdi_amini wrote: > > What happens when there is no typo correctio

r285150 - Implement name mangling proposal for exception specifications from cxx-abi-dev 2016-10-11.

2016-10-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 25 20:05:54 2016 New Revision: 285150 URL: http://llvm.org/viewvc/llvm-project?rev=285150&view=rev Log: Implement name mangling proposal for exception specifications from cxx-abi-dev 2016-10-11. This has the following ABI impact: 1) Functions whose parameter or ret

r285152 - Treat module headers wrapped by our builtin headers as implicitly being textual

2016-10-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 25 20:08:55 2016 New Revision: 285152 URL: http://llvm.org/viewvc/llvm-project?rev=285152&view=rev Log: Treat module headers wrapped by our builtin headers as implicitly being textual headers. We previously got this check backwards and treated the wrapper header as bei

Re: [libcxx] r249738 - Split out of .

2016-10-25 Thread Richard Smith via cfe-commits
Committed as r285152. On Tue, Oct 25, 2016 at 3:09 PM, Richard Smith wrote: > Missed one change from the test suite: > > Index: test/Modules/cstd.m > === > --- test/Modules/cstd.m (revision 285117) > +++ t

r285154 - [cxx_status] update comment

2016-10-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 25 20:37:36 2016 New Revision: 285154 URL: http://llvm.org/viewvc/llvm-project?rev=285154&view=rev Log: [cxx_status] update comment Modified: cfe/trunk/www/cxx_status.html Modified: cfe/trunk/www/cxx_status.html URL: http://llvm.org/viewvc/llvm-project/cfe/trunk

r285160 - [modules] Fix assert if multiple update records provide a definition for a

2016-10-25 Thread Richard Smith via cfe-commits
Author: rsmith Date: Tue Oct 25 21:31:56 2016 New Revision: 285160 URL: http://llvm.org/viewvc/llvm-project?rev=285160&view=rev Log: [modules] Fix assert if multiple update records provide a definition for a class template specialization and that specialization has attributes. Modified: cfe/t

[PATCH] D21075: Correct invalid end location in diagnostics for some identifiers.

2016-10-26 Thread Richard Smith via cfe-commits
rsmith added inline comments. Comment at: lib/Sema/SemaExpr.cpp:2061-2062 + auto Builder = Diag(R.getNameLoc(), diagnostic) << Name; + if (Name.isIdentifier()) +Builder << SourceRange(R.getNameLoc()); return true; I'm indifferent on this change: I don't

[PATCH] D15994: Allow for unfinished #if blocks in preambles.

2016-10-26 Thread Richard Smith via cfe-commits
rsmith added inline comments. Comment at: include/clang/Lex/Preprocessor.h:283-286 + Off = 0, + Recording = 1, + Replaying = 2, + Done = 3 What's the difference between the `Off` and `Done` states? They seem to be the same to me? ==

[PATCH] D25640: [CUDA] [AST] Allow isInlineDefinitionExternallyVisible to be called on functions without bodies.

2016-10-27 Thread Richard Smith via cfe-commits
rsmith added a comment. I'm not OK with losing this checking entirely. It seems like the problem case is when we're currently processing the definition of the function in question (so it /does/ have a body, it just doesn't have a /complete/ body yet)? I suppose we could track that directly some

[PATCH] D25674: [Concepts] Class template associated constraints

2016-10-27 Thread Richard Smith via cfe-commits
rsmith added inline comments. Comment at: include/clang/AST/DeclTemplate.h:412-417 + /// \brief The template parameter list and optional requires-clause + /// associated with this declaration. + /// + /// The boolean value indicates whether this particular declaration has an

[PATCH] D25719: [Sema] Fix PR30664

2016-10-27 Thread Richard Smith via cfe-commits
rsmith added inline comments. Comment at: lib/Sema/SemaExprCXX.cpp:3429-3430 // initial standard conversion sequence converts the source type to - // the type required by the argument of the constructor - BeforeToType = Ctor->getParamDecl(0)->getType

[PATCH] D25942: Fix crash in implicit default constructor creation for a template record specialization that has a field declaration with an initializer expression

2016-10-27 Thread Richard Smith via cfe-commits
rsmith added inline comments. Comment at: lib/AST/DeclCXX.cpp:1350 while (auto *NewCTD = CTD->getInstantiatedFromMemberTemplate()) { -if (NewCTD->isMemberSpecialization()) +if (NewCTD->isMemberSpecialization() || +!NewCTD->isThisDeclarationADefi

[PATCH] D25349: [coroutines] Build fallthrough and set_exception statements.

2016-10-27 Thread Richard Smith via cfe-commits
rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land. In https://reviews.llvm.org/D25349#571778, @GorNishanov wrote: > @rsmith, I am wondering what were your thoughts on where to generate try { > body } catch (...) { p.set_exception(std::exceptio

Re: r285295 - Do not print include_next/pragma once warnings when input is a header.

2016-10-27 Thread Richard Smith via cfe-commits
On 27 Oct 2016 7:26 am, "Erik Verbruggen via cfe-commits" < cfe-commits@lists.llvm.org> wrote: Author: erikjv Date: Thu Oct 27 09:17:10 2016 New Revision: 285295 URL: http://llvm.org/viewvc/llvm-project?rev=285295&view=rev Log: Do not print include_next/pragma once warnings when input is a header

Re: r285287 - Add const versions of Expr::getInits() and Expr::inits()

2016-10-27 Thread Richard Smith via cfe-commits
On 27 Oct 2016 5:21 am, "Erik Verbruggen via cfe-commits" < cfe-commits@lists.llvm.org> wrote: Author: erikjv Date: Thu Oct 27 07:12:08 2016 New Revision: 285287 URL: http://llvm.org/viewvc/llvm-project?rev=285287&view=rev Log: Add const versions of Expr::getInits() and Expr::inits() Modified:

r285341 - Add documentation describing the components of a complete toolchain including Clang.

2016-10-27 Thread Richard Smith via cfe-commits
Author: rsmith Date: Thu Oct 27 15:55:56 2016 New Revision: 285341 URL: http://llvm.org/viewvc/llvm-project?rev=285341&view=rev Log: Add documentation describing the components of a complete toolchain including Clang. Added: cfe/trunk/docs/Toolchain.rst Modified: cfe/trunk/docs/UsersManu

[PATCH] D26044: Factor out libc++ version file to allow Clang to more easily sniff for the installed version

2016-10-27 Thread Richard Smith via cfe-commits
rsmith created this revision. rsmith added reviewers: mclow.lists, EricWF. rsmith added a subscriber: cfe-commits. rsmith set the repository for this revision to rL LLVM. Clang would like to enable some language-version-specific functionality only if the installed C++ standard library supports it

[PATCH] D26062: Alternative solution for detecting libc++'s version.

2016-10-27 Thread Richard Smith via cfe-commits
rsmith added a comment. This is perfect for my needs, thanks! https://reviews.llvm.org/D26062 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D25640: [CUDA] [AST] Allow isInlineDefinitionExternallyVisible to be called on functions without bodies.

2016-10-27 Thread Richard Smith via cfe-commits
rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land. Looks great, thanks. Comment at: clang/lib/Sema/SemaDecl.cpp:5762-5768 -#ifndef NDEBUG - // AST quite reasonably asserts that it's working on a function - // definition. W

r285430 - Fix implementation of the likely resolution of core issue 253 to support class

2016-10-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 28 14:11:18 2016 New Revision: 285430 URL: http://llvm.org/viewvc/llvm-project?rev=285430&view=rev Log: Fix implementation of the likely resolution of core issue 253 to support class based arrays. Patch by Ian Tessier! Differential Review: https://reviews.llvm.org/D25

[PATCH] D25974: Fix implementation of the likely resolution of core issue 253 to support class based arrays.

2016-10-28 Thread Richard Smith via cfe-commits
rsmith closed this revision. rsmith added a comment. Committed as https://reviews.llvm.org/rL285430. https://reviews.llvm.org/D25974 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r285437 - PR30831: Teach template type diffing to cope with TemplateSpecializationTypes

2016-10-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 28 14:54:43 2016 New Revision: 285437 URL: http://llvm.org/viewvc/llvm-project?rev=285437&view=rev Log: PR30831: Teach template type diffing to cope with TemplateSpecializationTypes that desugar to non-TSTs (such as injected-class-names). Modified: cfe/trunk/lib/A

r285446 - Fix handling of constructor inherited through multiple levels of virtual base class.

2016-10-28 Thread Richard Smith via cfe-commits
Author: rsmith Date: Fri Oct 28 15:20:58 2016 New Revision: 285446 URL: http://llvm.org/viewvc/llvm-project?rev=285446&view=rev Log: Fix handling of constructor inherited through multiple levels of virtual base class. Modified: cfe/trunk/include/clang/AST/DeclCXX.h cfe/trunk/test/CXX/spe

<    20   21   22   23   24   25   26   27   28   29   >