[PATCH] D24289: Add warning when assigning enums to bitfields without an explicit unsigned underlying type

2016-11-17 Thread Reid Kleckner via cfe-commits
rnk added a comment. In https://reviews.llvm.org/D24289#598169, @rsmith wrote: > This is causing warnings to fire for headers shared between C and C++, where > the "give the enum an unsigned underlying type" advice doesn't work, and > where the code in question will never be built for the MS AB

[PATCH] D26868: Sema: As of MSVC 2015, a user-declared move operation causes the deletion of both copy operations.

2016-11-18 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. Nice, lgtm https://reviews.llvm.org/D26868 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[PATCH] D25932: Unconditionally pass `-lto_library` to the linker on Darwin

2016-11-21 Thread Reid Kleckner via cfe-commits
rnk added a comment. This added a bunch of warnings to the Chromium build, which doesn't use LTO today, so we had to revert our clang roll: https://codereview.chromium.org/2520453002/ We currently don't use LTO on Mac, so we don't build or package the LTO plugin, and in the near term aren't pla

[PATCH] D25932: Unconditionally pass `-lto_library` to the linker on Darwin

2016-11-21 Thread Reid Kleckner via cfe-commits
rnk added a comment. In https://reviews.llvm.org/D25932#601820, @mehdi_amini wrote: > We ship `clang + libLTO + ld64` bundled in the toolchain, so even if you > don't package libLTO yourself, it is already accessible from the linker: it > will use the one in the toolchain when needed. > > I don

[PATCH] D25932: Unconditionally pass `-lto_library` to the linker on Darwin

2016-11-21 Thread Reid Kleckner via cfe-commits
rnk added a comment. Maybe we should `touch ../lib/libLTO.dylib` relative to clang in our package and just let the loader fail if a bitcode file comes along. Repository: rL LLVM https://reviews.llvm.org/D25932 ___ cfe-commits mailing list cfe-co

[PATCH] D25932: Unconditionally pass `-lto_library` to the linker on Darwin

2016-11-21 Thread Reid Kleckner via cfe-commits
rnk added a comment. What if we only warn if `D.isUsingLTO()`? Things are only going to go wrong if *this* version of clang generates LLVM IR not understood by the system libLTO. Presumably bitcode from static archives will work with the system version of libLTO. Repository: rL LLVM https:

[PATCH] D26944: Suppress -Wliblto warning when -flto is not present

2016-11-21 Thread Reid Kleckner via cfe-commits
rnk created this revision. rnk added reviewers: mehdi_amini, thakis. rnk added a subscriber: cfe-commits. Without -flto, it's unlikely that users will experience LLVM version skew. The system installation of libLTO should be able to handle any pre-compiled LLVM bitcode from static archives. http

[PATCH] D26984: Unconditionally pass -lto_library, remove -Wliblto warning.

2016-11-22 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. lgtm, great idea! https://reviews.llvm.org/D26984 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D26944: Suppress -Wliblto warning when -flto is not present

2016-11-22 Thread Reid Kleckner via cfe-commits
rnk abandoned this revision. rnk added a comment. Superseded by https://reviews.llvm.org/D26984 https://reviews.llvm.org/D26944 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D27007: Remove C++ default arg side table for MS ABI ctor closures

2016-11-22 Thread Reid Kleckner via cfe-commits
rnk created this revision. rnk added reviewers: thakis, rsmith, majnemer. rnk added a subscriber: cfe-commits. We don't need a side table in ASTContext to hold CXXDefaultArgExprs. The important part of building the CXXDefaultArgExprs was to ODR use the default argument expressions, not to make AST

[PATCH] D27007: Remove C++ default arg side table for MS ABI ctor closures

2016-11-22 Thread Reid Kleckner via cfe-commits
rnk added a comment. It's worth pointing out that we have a few more side tables right next door in ASTContext, addCopyConstructorForExceptionObject / getCopyConstructorForExceptionObject. It looks like if those aren't populated, they we might copy the bytes of an exception when catching someth

r287774 - Remove C++ default arg side table for MS ABI ctor closures

2016-11-23 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Nov 23 10:51:30 2016 New Revision: 287774 URL: http://llvm.org/viewvc/llvm-project?rev=287774&view=rev Log: Remove C++ default arg side table for MS ABI ctor closures Summary: We don't need a side table in ASTContext to hold CXXDefaultArgExprs. The important part of building

[PATCH] D27007: Remove C++ default arg side table for MS ABI ctor closures

2016-11-23 Thread Reid Kleckner via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL287774: Remove C++ default arg side table for MS ABI ctor closures (authored by rnk). Changed prior to commit: https://reviews.llvm.org/D27007?vs=78965&id=79105#toc Repository: rL LLVM https://revie

[PATCH] D27007: Remove C++ default arg side table for MS ABI ctor closures

2016-11-23 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: lib/Sema/SemaExprCXX.cpp:861 // friendship or any other means). Context.addCopyConstructorForExceptionObject(Subobject, CD); rsmith wrote: > It would seem a lot more reasonable to actually form an expression

r287793 - Add dllexport default ctor closure PCH regression test for PR31121

2016-11-23 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Nov 23 12:33:54 2016 New Revision: 287793 URL: http://llvm.org/viewvc/llvm-project?rev=287793&view=rev Log: Add dllexport default ctor closure PCH regression test for PR31121 Follow up to r287774 Added: cfe/trunk/test/PCH/dllexport-default-arg-closure.cpp Added: cfe/tr

Re: r287774 - Remove C++ default arg side table for MS ABI ctor closures

2016-11-23 Thread Reid Kleckner via cfe-commits
On Wed, Nov 23, 2016 at 9:06 AM, Nico Weber wrote: > Cool, thanks! Should we also have a test for using a default arg with a > pch? Now that ASTContext doesn't have this table any more, it'll work, but > maybe it's good to have a regression test for the issue in the PR? > Sure, r287793.

r288059 - [MS] Mangle a unique ID into all MS inline asm labels

2016-11-28 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Mon Nov 28 14:52:19 2016 New Revision: 288059 URL: http://llvm.org/viewvc/llvm-project?rev=288059&view=rev Log: [MS] Mangle a unique ID into all MS inline asm labels This solves PR23715 in a way that is compatible with LTO. MSVC supports jumping to source-level labels and betwe

r288089 - Avoid lambdas in default member initializers to work around clang bug

2016-11-28 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Mon Nov 28 17:58:04 2016 New Revision: 288089 URL: http://llvm.org/viewvc/llvm-project?rev=288089&view=rev Log: Avoid lambdas in default member initializers to work around clang bug On Windows, Clang is mangling lambdas in default member initializers incorrectly. See PR31197. T

r288093 - Use ${:uid} to generate unique MS asm labels, not {:uid}

2016-11-28 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Mon Nov 28 18:39:37 2016 New Revision: 288093 URL: http://llvm.org/viewvc/llvm-project?rev=288093&view=rev Log: Use ${:uid} to generate unique MS asm labels, not {:uid} Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp cfe/trunk/test/CodeGen/mozilla-ms-inline-asm.c cfe/tr

r288197 - Don't declare IsEnumDeclComplete as extern

2016-11-29 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Nov 29 14:46:24 2016 New Revision: 288197 URL: http://llvm.org/viewvc/llvm-project?rev=288197&view=rev Log: Don't declare IsEnumDeclComplete as extern Otherwise MSVC and clang-cl will see "extern inline" after merging redeclarations and emit it in all TUs that include Type.h

r288221 - Stop handling interesting deserialized decls after HandleTranslationUnit

2016-11-29 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Nov 29 18:25:36 2016 New Revision: 288221 URL: http://llvm.org/viewvc/llvm-project?rev=288221&view=rev Log: Stop handling interesting deserialized decls after HandleTranslationUnit Other AST consumers can deserialize interesting decls that we might codegen, but they won't ma

r288222 - Give this test that uses Itanium mangling a triple

2016-11-29 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Nov 29 18:31:16 2016 New Revision: 288222 URL: http://llvm.org/viewvc/llvm-project?rev=288222&view=rev Log: Give this test that uses Itanium mangling a triple Modified: cfe/trunk/test/Frontend/plugin-vs-debug-info.cpp Modified: cfe/trunk/test/Frontend/plugin-vs-debug-in

r288227 - Fix -Winconsistent-missing-override in CodeGenAction.cpp

2016-11-29 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Nov 29 19:32:53 2016 New Revision: 288227 URL: http://llvm.org/viewvc/llvm-project?rev=288227&view=rev Log: Fix -Winconsistent-missing-override in CodeGenAction.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenAction.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenAction.cpp URL:

Re: r288269 - Finish adopting ConstantInitBuilder in CGObjCGNU. NFC.

2016-11-30 Thread Reid Kleckner via cfe-commits
So, I always push for leading upper case variable names. Over time we've gotten to the point where the majority of the code that I read in clang follows this convention. You seem to be pushing the other direction. What do you think we should be doing? I'll admit the LLVM naming conventions are dum

Re: r288089 - Avoid lambdas in default member initializers to work around clang bug

2016-12-06 Thread Reid Kleckner via cfe-commits
This can be reverted now that PR31197 is fixed. I kind of like the new code better, so up to you, Benjamin. On Mon, Nov 28, 2016 at 3:58 PM, Reid Kleckner via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: rnk > Date: Mon Nov 28 17:58:04 2016 > New Revision: 28808

r288850 - Disable -Wweak-vtables when there are no key functions

2016-12-06 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Dec 6 15:44:41 2016 New Revision: 288850 URL: http://llvm.org/viewvc/llvm-project?rev=288850&view=rev Log: Disable -Wweak-vtables when there are no key functions Our -Wweak-vtables diagnostic is powered by our key function calculation, which checks if key functions are enab

r288868 - Address review feedback by adding comments about ${:uid}

2016-12-06 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Dec 6 18:17:18 2016 New Revision: 288868 URL: http://llvm.org/viewvc/llvm-project?rev=288868&view=rev Log: Address review feedback by adding comments about ${:uid} Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp Modified: cfe/trunk/lib/Sema/SemaStmtAsm.cpp URL: http://ll

Re: r288093 - Use ${:uid} to generate unique MS asm labels, not {:uid}

2016-12-06 Thread Reid Kleckner via cfe-commits
it? > > -- Sean Silva > > On Mon, Nov 28, 2016 at 4:39 PM, Reid Kleckner via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: rnk >> Date: Mon Nov 28 18:39:37 2016 >> New Revision: 288093 >> >> URL: http://llvm.org/viewvc/llvm-projec

r289225 - Store decls in prototypes on the declarator instead of in the AST

2016-12-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Dec 9 11:14:05 2016 New Revision: 289225 URL: http://llvm.org/viewvc/llvm-project?rev=289225&view=rev Log: Store decls in prototypes on the declarator instead of in the AST This saves two pointers from FunctionDecl that were being used for some rare and questionable C-only

r289234 - Relax IRgen check in decl-in-prototype.c to match signext on PPC64

2016-12-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Dec 9 11:56:04 2016 New Revision: 289234 URL: http://llvm.org/viewvc/llvm-project?rev=289234&view=rev Log: Relax IRgen check in decl-in-prototype.c to match signext on PPC64 Modified: cfe/trunk/test/PCH/decl-in-prototype.c Modified: cfe/trunk/test/PCH/decl-in-prototype

r289259 - Improve error message when referencing a non-tag type with a tag

2016-12-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Dec 9 13:47:58 2016 New Revision: 289259 URL: http://llvm.org/viewvc/llvm-project?rev=289259&view=rev Log: Improve error message when referencing a non-tag type with a tag Other compilers accept invalid code here that we reject, and we need a better error message to try to

Re: r289259 - Improve error message when referencing a non-tag type with a tag

2016-12-09 Thread Reid Kleckner via cfe-commits
On Fri, Dec 9, 2016 at 12:01 PM, Nico Weber wrote: > I never heard "class specifier" outside of compilerese either… > Even if "specifier" is noise to the user, we mention the exact keyword they used, i.e. class, struct, union, enum. That seems like a big improvement.

r289273 - Remove special error recovery for ::(id)

2016-12-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Dec 9 15:10:43 2016 New Revision: 289273 URL: http://llvm.org/viewvc/llvm-project?rev=289273&view=rev Log: Remove special error recovery for ::(id) The code pattern used to implement the token rewriting hack doesn't interact well with token caching in the pre-processor. As

r289567 - __uuidof() and declspec(uuid("...")) should be allowed on enumeration types

2016-12-13 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Dec 13 12:58:09 2016 New Revision: 289567 URL: http://llvm.org/viewvc/llvm-project?rev=289567&view=rev Log: __uuidof() and declspec(uuid("...")) should be allowed on enumeration types Although not specifically mentioned in the documentation, MSVC accepts __uuidof(…) and decl

Re: r289413 - Add two new AST nodes to represent initialization of an array in terms of

2016-12-13 Thread Reid Kleckner via cfe-commits
Aha, you have activated the win32 stack alignment trap card. By adding a uint64_t to EvalInfo, you have increased its alignment to 8. Unfortunately, MSVC doesn't actually align stack objects to more than 4 unless you really ask it to with __declspec(align). Normally this stuff flies under the radar

r289575 - Align EvalInfo in ExprConstant to avoid PointerUnion assertions

2016-12-13 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Dec 13 13:48:32 2016 New Revision: 289575 URL: http://llvm.org/viewvc/llvm-project?rev=289575&view=rev Log: Align EvalInfo in ExprConstant to avoid PointerUnion assertions 32-bit MSVC doesn't provide more than 4 byte stack alignment by default. This conflicts with PointerUni

[clang-tools-extra] r289580 - Fix size_t typdef in new cppcoreguidelines-no-malloc.cpp test

2016-12-13 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Dec 13 14:25:47 2016 New Revision: 289580 URL: http://llvm.org/viewvc/llvm-project?rev=289580&view=rev Log: Fix size_t typdef in new cppcoreguidelines-no-malloc.cpp test Modified: clang-tools-extra/trunk/test/clang-tidy/cppcoreguidelines-no-malloc.cpp Modified: clang-t

r300718 - Prefer addAttr(Attribute::AttrKind) over the AttributeList overload

2017-04-19 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Apr 19 12:28:52 2017 New Revision: 300718 URL: http://llvm.org/viewvc/llvm-project?rev=300718&view=rev Log: Prefer addAttr(Attribute::AttrKind) over the AttributeList overload This should simplify the call sites, which typically want to tweak one attribute at a time. It shou

r301968 - Simplify some va_start checking logic

2017-05-02 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue May 2 15:10:03 2017 New Revision: 301968 URL: http://llvm.org/viewvc/llvm-project?rev=301968&view=rev Log: Simplify some va_start checking logic Combine the logic doing the ms_abi/sysv_abi checks into one function so that each check and its logical opposite are near each ot

r301981 - Re-land r301697 "[IR] Make add/remove Attributes use AttrBuilder instead of AttributeList"

2017-05-02 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue May 2 17:07:37 2017 New Revision: 301981 URL: http://llvm.org/viewvc/llvm-project?rev=301981&view=rev Log: Re-land r301697 "[IR] Make add/remove Attributes use AttrBuilder instead of AttributeList" This time, I fixed, built, and tested clang. This reverts r301712. Modifi

Re: [llvm-dev] Permissions for llvm-mirror - Setting up Libc++ Appveyor builders

2017-05-02 Thread Reid Kleckner via cfe-commits
I'm definitely in favor of efforts to defragment our many CI systems, but I also don't want to stop people from doing more testing. :) If AppVeyor is providing free testing resource to OSS projects, then great, let's try using it and see how it goes. On Fri, Apr 21, 2017 at 6:56 AM, Mike Edwards

Re: r301994 - [sanitizer-coverage] add a deprecation warning to the old sanitizer-coverage flag combinations

2017-05-03 Thread Reid Kleckner via cfe-commits
This broke a WinASan test that builds with -Werror: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/10647 I tried to fix it in r302043, but I haven't finished testing it yet. On Tue, May 2, 2017 at 6:27 PM, Kostya Serebryany via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Autho

r302060 - [IR] Abstract away ArgNo+1 attribute indexing as much as possible

2017-05-03 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed May 3 13:17:31 2017 New Revision: 302060 URL: http://llvm.org/viewvc/llvm-project?rev=302060&view=rev Log: [IR] Abstract away ArgNo+1 attribute indexing as much as possible Summary: Do three things to help with that: - Add AttributeList::FirstArgIndex, which is an enumerato

r302179 - [ms-inline-asm] Use the frontend size only for ambiguous instructions

2017-05-04 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu May 4 13:19:52 2017 New Revision: 302179 URL: http://llvm.org/viewvc/llvm-project?rev=302179&view=rev Log: [ms-inline-asm] Use the frontend size only for ambiguous instructions This avoids problems on code like this: char buf[16]; __asm { movups xmm0, [buf] mov

r302188 - Fix bugs checking va_start in lambdas and erroneous contexts

2017-05-04 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu May 4 14:51:05 2017 New Revision: 302188 URL: http://llvm.org/viewvc/llvm-project?rev=302188&view=rev Log: Fix bugs checking va_start in lambdas and erroneous contexts Summary: First, getCurFunction looks through blocks and lambdas, which is wrong. Inside a lambda, va_start

r302835 - Issue diagnostics when returning FP values on x86_64 without SSE1/2

2017-05-11 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu May 11 17:43:02 2017 New Revision: 302835 URL: http://llvm.org/viewvc/llvm-project?rev=302835&view=rev Log: Issue diagnostics when returning FP values on x86_64 without SSE1/2 Avoid using report_fatal_error, because it will ask the user to file a bug. If the user attempts to

r302854 - Fix uninitialized bool read causing x86_64-mno-sse.c test failure

2017-05-11 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu May 11 19:10:49 2017 New Revision: 302854 URL: http://llvm.org/viewvc/llvm-project?rev=302854&view=rev Log: Fix uninitialized bool read causing x86_64-mno-sse.c test failure Modified: cfe/trunk/lib/CodeGen/CodeGenAction.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenAction.

Re: r302835 - Issue diagnostics when returning FP values on x86_64 without SSE1/2

2017-05-11 Thread Reid Kleckner via cfe-commits
; >> The inline snippet doesn't show the actual code change, but >> http://llvm.org/viewvc/llvm-project?view=revision&revision=302835 does >> show it. Is the email sender broken? >> >> On Thu, May 11, 2017 at 6:43 PM, Reid Kleckner via cfe-commits < >>

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

2017-05-22 Thread Reid Kleckner via cfe-commits
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 This allows #line directives to appear in system headers that have code that clang would normally warn on

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

2017-05-22 Thread Reid Kleckner via cfe-commits
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 >>// string followed by eod. >> - if (StrTok.is(tok::eod)) >> -; // ok >> - else if (StrTok.isNot(tok::string_literal)) { >> + if (StrTok.is(tok::eo

r303642 - Add test coverage for recent behavior change in GNU line marker pre-processing

2017-05-23 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue May 23 11:09:13 2017 New Revision: 303642 URL: http://llvm.org/viewvc/llvm-project?rev=303642&view=rev Log: Add test coverage for recent behavior change in GNU line marker pre-processing Added: cfe/trunk/test/Frontend/Inputs/SystemHeaderPrefix/line-directive-in-system.h

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

2017-05-23 Thread Reid Kleckner via cfe-commits
Thanks, I added that test case in r303642. I was struggling to identify the behavior change. On Mon, May 22, 2017 at 4:37 PM, Richard Smith wrote: > 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

[PATCH] D25062: [x86][inline-asm][AVX512][llvm][PART-2] Introducing "k" and "Yk" constraints for extended inline assembly, enabling use of AVX512 masked vectorized instructions.

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm Comment at: lib/Target/X86/X86ISelLowering.cpp:32315 +} + // Else fall through (handle "Y" constraint). case 'v': Use LLVM_FALLTHROUGH here to avoid w

[PATCH] D25703: [AST] Add CanonicalDeclPtr.

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm https://reviews.llvm.org/D25703 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D25702: [CUDA] Emit errors for wrong-side calls made on the same line as non-wrong-side calls.

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a reviewer: rnk. rnk added a comment. This revision is now accepted and ready to land. lgtm I'm assuming you're going to follow this up with CanonicalDeclPtr usage. https://reviews.llvm.org/D25702 ___ cfe-commi

[PATCH] D25704: [CUDA] When we emit an error that might have been deferred, also print a callstack.

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: clang/include/clang/Sema/Sema.h:9292 + llvm::DenseMap, + /* Callees = */ llvm::SetVector> + CUDACallGraph; Rather than having a custom key type, maybe it would be better to phrase this as a `MapVector,

[PATCH] D19996: New clang option -mpie-copy-relocationss to indicate support for linker copy relocations when linking as PIE

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk added a comment. In https://reviews.llvm.org/D19996#422906, @rafael wrote: > Is there a gcc option or they just assume they are targeting the > linker that was around when gcc was built? IIRC there's no GCC option. They base their decision on the configure-time check like you suggested.

[PATCH] D25704: [CUDA] When we emit an error that might have been deferred, also print a callstack.

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:6707 +def note_called_by : Note<"called by %0">; def err_kern_type_not_void_return : Error< Do

[PATCH] D19996: New clang option -mpie-copy-relocationss to indicate support for linker copy relocations when linking as PIE

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm Comment at: include/clang/Driver/Options.td:1696 + Flags<[CC1Option]>, + HelpText<"Copy Relocations support for PIE builds">; +def mno_pie_copy_relocations : Flag<["-"], "mn

[PATCH] D25797: [CUDA] Use FunctionDeclAndLoc for the Sema::LocsWithCUDACallDiags hashtable.

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm https://reviews.llvm.org/D25797 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D25579: [codeview] emit debug info for indirect virtual base classes

2016-10-19 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. Thanks, looks good with some nits Comment at: lib/CodeGen/CGDebugInfo.cpp:1397 const auto *Base = cast(BI.getType()->getAs()->getDecl()); rnk wrote

r284667 - Use noexcept instead of LLVM_NOEXCEPT now that all compilers support it

2016-10-19 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Oct 19 18:39:55 2016 New Revision: 284667 URL: http://llvm.org/viewvc/llvm-project?rev=284667&view=rev Log: Use noexcept instead of LLVM_NOEXCEPT now that all compilers support it Modified: cfe/trunk/include/clang/AST/Attr.h cfe/trunk/include/clang/AST/Stmt.h cfe

[PATCH] D25063: [x86][inline-asm][AVX512][clang][PART-1] Introducing "k" and "Yk" constraints for extended inline assembly, enabling use of AVX512 masked vectorized instructions.

2016-10-20 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: test/CodeGen/avx512-kconstraints-att_inline_asm.c:6 +void mask_Yk_i8(char msk){ +//CHECK: #APP +//CHECK: vpaddb %xmm1, %xmm0, %xmm1 {%k1} The LLVM IR won't have #APP markers in it. Does this test really pass? https://rev

[PATCH] D25012: [x86][inline-asm] Add support for curly brackets escape using "%" in extended inline asm.

2016-10-20 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm Repository: rL LLVM https://reviews.llvm.org/D25012 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailm

r284777 - Fix off-by-one error in PPCaching.cpp token annotation assertion

2016-10-20 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Oct 20 15:53:20 2016 New Revision: 284777 URL: http://llvm.org/viewvc/llvm-project?rev=284777&view=rev Log: Fix off-by-one error in PPCaching.cpp token annotation assertion This assert is intended to defend against backtracking into the middle of a sequence of tokens that is

r284781 - Revert "Disable swiftcall test on windows: More brutal way to appease windows bots"

2016-10-20 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Oct 20 16:17:28 2016 New Revision: 284781 URL: http://llvm.org/viewvc/llvm-project?rev=284781&view=rev Log: Revert "Disable swiftcall test on windows: More brutal way to appease windows bots" This reverts commit r284174. The tests pass for me locally. It must have been a 20

r284793 - Remove 24 instances of 'REQUIRES: shell'

2016-10-20 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Oct 20 18:11:45 2016 New Revision: 284793 URL: http://llvm.org/viewvc/llvm-project?rev=284793&view=rev Log: Remove 24 instances of 'REQUIRES: shell' Tests fall into one of the following categories: - The requirement was unnecessary - Additional quoting was required for bac

r284794 - Revert 9 changes from r284793, they still fail on some bots

2016-10-20 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Oct 20 18:30:39 2016 New Revision: 284794 URL: http://llvm.org/viewvc/llvm-project?rev=284794&view=rev Log: Revert 9 changes from r284793, they still fail on some bots Modified: cfe/trunk/test/Driver/rewrite-map-in-diagnostics.c cfe/trunk/test/OpenMP/task_firstprivat

Re: r284793 - Remove 24 instances of 'REQUIRES: shell'

2016-10-20 Thread Reid Kleckner via cfe-commits
On Thu, Oct 20, 2016 at 4:38 PM, Robinson, Paul wrote: > Is there any expectation that they _should_ (eventually) work on Windows? > Yes, LLVM is a cross-platform project, and there is an expectation that developers will attempt to write portable code. It seems like there is some dependence in t

r284836 - Remove unnecessary x86 backend requirements from OpenMP tests

2016-10-21 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Oct 21 11:09:20 2016 New Revision: 284836 URL: http://llvm.org/viewvc/llvm-project?rev=284836&view=rev Log: Remove unnecessary x86 backend requirements from OpenMP tests Clang can generate LLVM IR for x86 without a registered x86 backend. Modified: cfe/trunk/test/OpenMP

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

2016-10-21 Thread Reid Kleckner via cfe-commits
rnk created this revision. rnk added reviewers: rsmith, rtrieu. rnk added a subscriber: cfe-commits. The code pattern used to implement the token rewriting hack doesn't interact well with token caching in the pre-processor. As a result, clang would crash on 'int f(::(id));' while doing a tenative

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

2016-10-21 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: lib/Parse/ParseExprCXX.cpp:73-75 PP.EnterToken(ColonToken); if (!AtDigraph) PP.EnterToken(DigraphToken); rsmith wrote: > This seems to mess up the cached token buffer in the same way; it's a little > surprising w

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

2016-10-21 Thread Reid Kleckner via cfe-commits
rnk updated this revision to Diff 75509. rnk added a comment. - Remove unused diagnostic https://reviews.llvm.org/D25882 Files: include/clang/Basic/DiagnosticParseKinds.td include/clang/Parse/Parser.h lib/Parse/ParseExprCXX.cpp test/Parser/colon-colon-parentheses.cpp Index: test/Parser

[PATCH] D25895: [MS ABI] Reuse getVFPtrOffsets instead of using getClassAtVTableLocation

2016-10-24 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1779-1780 + MicrosoftVTableContext &VFTContext = CGM.getMicrosoftVTableContext(); MicrosoftVTableContext::MethodVFTableLocation

[PATCH] D25063: [x86][inline-asm][AVX512][clang][PART-1] Introducing "k" and "Yk" constraints for extended inline assembly, enabling use of AVX512 masked vectorized instructions.

2016-10-24 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm Repository: rL LLVM https://reviews.llvm.org/D25063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailm

[PATCH] D25204: Register Calling Convention, Clang changes

2016-10-26 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: include/clang/Basic/AttrDocs.td:1263 +On x86 targets, this attribute changes the calling convention to +__regcall convention. This convention aims to pass as many arguments +as possible in registers. It also tries to utilize registers for th

[PATCH] D25204: Register Calling Convention, Clang changes

2016-10-27 Thread Reid Kleckner via cfe-commits
rnk added a comment. Remember the fight over _Atomic with MSVC's STL? The fallacy of the implementer's namespace is that there is only one implementer. https://llvm.org/bugs/show_bug.cgi?id=19043 We should prefer adding `__attribute__`s and `__declspec`s instead of keywords when possible. htt

[PATCH] D25204: Register Calling Convention, Clang changes

2016-10-27 Thread Reid Kleckner via cfe-commits
rnk added a comment. In https://reviews.llvm.org/D25204#581477, @erichkeane wrote: > In general, I can see the benefit of this rule, however in the case of > calling conventions, I would think that keeping them all orthogonal is > important. Having "most" calling conventions work one way, and

[PATCH] D24933: Enable configuration files in clang

2016-10-31 Thread Reid Kleckner via cfe-commits
rnk added a comment. Added some people who might have opinions on the command line interface. Sorry, I don't have a lot of time for this right now. https://reviews.llvm.org/D24933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists

r285820 - [asan] Use the dynamic ASan runtime if -shared-libasan is passed

2016-11-02 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Nov 2 10:38:51 2016 New Revision: 285820 URL: http://llvm.org/viewvc/llvm-project?rev=285820&view=rev Log: [asan] Use the dynamic ASan runtime if -shared-libasan is passed -shared-libasan is likely to be used as a link flag if the user is using the GCC-style clang driver.

[PATCH] D25204: Register Calling Convention, Clang changes

2016-11-02 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a reviewer: rnk. rnk added a comment. This revision is now accepted and ready to land. Looks good to me. https://reviews.llvm.org/D25204 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.

[PATCH] D26278: Avoid -Wshadow warnings for shadowed variables that aren't captured by lambdas with an explicit capture list

2016-11-07 Thread Reid Kleckner via cfe-commits
rnk added a comment. I'd like to preserve the old behavior under -Wshadow-all. The last time I came here to try to quiet a shadowing warning on constructor parameters, we went to great lengths to try to satisfy users who really want to warn on any and all kinds of shadowing. I think you can do

[PATCH] D26278: Avoid -Wshadow warnings for shadowed variables that aren't captured by lambdas with an explicit capture list

2016-11-08 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: include/clang/Basic/DiagnosticSemaKinds.td:361 +def warn_decl_shadow_all : + Warning<"declaration shadows a %select{" + "local variable|" Use the .Text accessor like we do here to avoid repeating the text: ``` def

[PATCH] D26278: Avoid -Wshadow warnings for shadowed variables that aren't captured by lambdas with an explicit capture list

2016-11-08 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm, thanks! Repository: rL LLVM https://reviews.llvm.org/D26278 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-

[PATCH] D26448: Avoid -Wshadow warnings for shadowed variables that aren't captured by lambdas with a default capture specifier

2016-11-09 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm, thanks Repository: rL LLVM https://reviews.llvm.org/D26448 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-b

Re: [PATCH] D12689: [libc++][static linking] std streams are not initialized prior to their use in static object constructors

2015-09-10 Thread Reid Kleckner via cfe-commits
rnk added a subscriber: rnk. rnk added a comment. I think a better approach would be to use `__attribute__((init_priority(101)))` on Linux and `#pragma init_seg(lib)` on Windows to ensure that libc++'s iostream initializer runs earlier. http://reviews.llvm.org/D12689 ___

Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-09-10 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: lib/CodeGen/CGCall.cpp:3598 @@ -3599,1 +3597,3 @@ +Address CodeGenFunction::EmitVAArg(Address VAListAddr, QualType Ty, bool IsMS) { + return CGM.getTypes().getABIInfo().EmitVAArg(*this, VAListAddr, Ty, IsMS); } I think kee

Re: [PATCH] D12695: [Driver] Use UniversalCRT on Windows if available

2015-09-10 Thread Reid Kleckner via cfe-commits
rnk added a subscriber: ruiu. rnk added a comment. FYI @ruiu is moving this code to LLVM in http://reviews.llvm.org/D12604. Comment at: lib/Driver/MSVCToolChain.cpp:328-340 @@ +327,15 @@ + llvm::sys::path::append(libPath, "Lib", ucrtVersion, "ucrt"); + switch (getArch()) { +

Re: [PATCH] D12695: [Driver] Use UniversalCRT on Windows if available

2015-09-10 Thread Reid Kleckner via cfe-commits
rnk added a comment. There's a bunch of whitespace issues that clang-format can resolve. We also have the convention that variables are StudlyCaps, which isn't followed in a few places. Do you need someone to commit this for you? If so, I can patch this in, test it manually, and deal with the

r247318 - [SEH] Use catchret in the new EH IR like we do for C++

2015-09-10 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Sep 10 13:39:41 2015 New Revision: 247318 URL: http://llvm.org/viewvc/llvm-project?rev=247318&view=rev Log: [SEH] Use catchret in the new EH IR like we do for C++ Also add tests for SEH with the new IRGen. Added: cfe/trunk/test/CodeGen/exceptions-seh-new.c - copie

r247349 - [SEH] Use cleanupendpad so that WinEHPrepare gets the coloring right

2015-09-10 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Sep 10 17:11:13 2015 New Revision: 247349 URL: http://llvm.org/viewvc/llvm-project?rev=247349&view=rev Log: [SEH] Use cleanupendpad so that WinEHPrepare gets the coloring right Cleanupendpad is a lot like catchendpad, so we can reuse the same EHScopeStack type. Modified:

Re: [PATCH] D12402: PR24595: clang-cl fails to compile vswriter.h header from Windows SDK 8.1 in 32 bit mode

2015-09-10 Thread Reid Kleckner via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm, thanks! Comment at: test/CodeGenCXX/ctor-dtor-alias.cpp:170 @@ -169,3 +169,3 @@ // it has a different calling conversion. - // CHECK4: call void @_ZN5test93barD2Ev + // C

r247351 - Handle '-r' option properly

2015-09-10 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Sep 10 17:31:45 2015 New Revision: 247351 URL: http://llvm.org/viewvc/llvm-project?rev=247351&view=rev Log: Handle '-r' option properly Summary: This fixs the bug https://llvm.org/bugs/show_bug.cgi?id=12587 Patch by Yunlian Jiang Reviewers: Bigcheese, rnk Differential Rev

r247362 - [Driver] Use UniversalCRT on Windows if available

2015-09-10 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Thu Sep 10 19:09:39 2015 New Revision: 247362 URL: http://llvm.org/viewvc/llvm-project?rev=247362&view=rev Log: [Driver] Use UniversalCRT on Windows if available Summary: With Visual Studio 2015 release, a part of runtime library was extracted and now comes with Windows Kits. Th

Re: [PATCH] D12695: [Driver] Use UniversalCRT on Windows if available

2015-09-10 Thread Reid Kleckner via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL247362: [Driver] Use UniversalCRT on Windows if available (authored by rnk). Changed prior to commit: http://reviews.llvm.org/D12695?vs=34475&id=34515#toc Repository: rL LLVM http://reviews.llvm.org

Re: [PATCH] D12402: PR24595: clang-cl fails to compile vswriter.h header from Windows SDK 8.1 in 32 bit mode

2015-09-11 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: lib/Sema/SemaType.cpp:5876 @@ +5875,3 @@ + +if (!IsCtorOrDtor) { + if (CurCC != DefaultCC || DefaultCC == ToCC) This looks like the !IsCtorOrDtor check that affects Itanium. Isn't it already handled for MS C++ above

Re: [PATCH] D12743: [CodeGen] Teach SimplifyPersonality about the updated LandingPadInst

2015-09-11 Thread Reid Kleckner via cfe-commits
rnk added a subscriber: rnk. rnk added a comment. I'm confused. I thought SimplifyPersonalityFunction was an optimization, but somehow it caused link failures? Why do you think this was an ABI break? Comment at: test/CodeGenObjCXX/exception-cxx.mm:8 @@ +7,3 @@ + throw 0; +

r247424 - [SEH] Port __try / __leave test to new IR

2015-09-11 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Sep 11 11:29:27 2015 New Revision: 247424 URL: http://llvm.org/viewvc/llvm-project?rev=247424&view=rev Log: [SEH] Port __try / __leave test to new IR It turns out that the IR we already generate for __leave is fine, so no code changes were needed. Added: cfe/trunk/test/

r247434 - Update test expectations for LLVM asm printing change

2015-09-11 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Sep 11 12:27:53 2015 New Revision: 247434 URL: http://llvm.org/viewvc/llvm-project?rev=247434&view=rev Log: Update test expectations for LLVM asm printing change Modified: cfe/trunk/test/CodeGen/exceptions-seh-new.c Modified: cfe/trunk/test/CodeGen/exceptions-seh-new.c

Re: [PATCH] D12743: [CodeGen] Teach SimplifyPersonality about the updated LandingPadInst

2015-09-11 Thread Reid Kleckner via cfe-commits
rnk added a comment. Right, I understand the behavior change, I'm just wondering why it results in link failures. There isn't a ton of public info about how ObjC++ EH interacts with C++ EH. Repository: rL LLVM http://reviews.llvm.org/D12743 ___

<    3   4   5   6   7   8   9   10   11   12   >