r292643 - Revert "Don't inline dllimport functions referencing non-imported methods"

2017-01-20 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Jan 20 14:44:50 2017 New Revision: 292643 URL: http://llvm.org/viewvc/llvm-project?rev=292643=rev Log: Revert "Don't inline dllimport functions referencing non-imported methods" This reverts commit r292522. It appears to be causing crashes in builds using dllimport.

r291600 - Serialize the UsesSEH bit on FunctionDecl

2017-01-10 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Jan 10 15:27:03 2017 New Revision: 291600 URL: http://llvm.org/viewvc/llvm-project?rev=291600=rev Log: Serialize the UsesSEH bit on FunctionDecl Fixes PR31539 Added: cfe/trunk/test/PCH/uses-seh.cpp Modified: cfe/trunk/lib/Serialization/ASTReaderDecl.cpp

Re: [libcxx] r291466 - [Chrono][Darwin] Make steady_clock use CLOCK_UPTIME_RAW

2017-01-09 Thread Reid Kleckner via cfe-commits
This appears to have broken the Chromium build: https://build.chromium.org/p/chromium.fyi/builders/ClangToTMac/builds/12620/steps/gclient%20runhooks/logs/stdio FAILED: projects/libcxx/lib/CMakeFiles/cxx_objects.dir/__/src/chrono.cpp.o

r291453 - [MS] Mark default args of exported default constructors as used

2017-01-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Mon Jan 9 11:27:17 2017 New Revision: 291453 URL: http://llvm.org/viewvc/llvm-project?rev=291453=rev Log: [MS] Mark default args of exported default constructors as used Fixes a regression introduced in r291045, which would lead to link errors. While we should no longer

r291452 - Split dllexport default constructor closure tests out into a separate file

2017-01-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Mon Jan 9 11:25:30 2017 New Revision: 291452 URL: http://llvm.org/viewvc/llvm-project?rev=291452=rev Log: Split dllexport default constructor closure tests out into a separate file test/CodeGenCXX/dllexport.cpp has grown quite large at this point. NFC Added:

r291448 - [MS] Fix function type mangling of default ctor closures

2017-01-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Mon Jan 9 11:04:37 2017 New Revision: 291448 URL: http://llvm.org/viewvc/llvm-project?rev=291448=rev Log: [MS] Fix function type mangling of default ctor closures Use the canonical decl in pointer comparisons with the default constructor closure decl. Otherwise we don't

r291450 - Follow up to r291448: use isStructorDecl in one more place

2017-01-09 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Mon Jan 9 11:09:59 2017 New Revision: 291450 URL: http://llvm.org/viewvc/llvm-project?rev=291450=rev Log: Follow up to r291448: use isStructorDecl in one more place This pointer comparison has shown to be error-prone, so use the standard helper for it. NFC Modified:

r291255 - [CUDA] Add a host target triple to cuda-version-check.cu

2017-01-06 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Jan 6 12:16:03 2017 New Revision: 291255 URL: http://llvm.org/viewvc/llvm-project?rev=291255=rev Log: [CUDA] Add a host target triple to cuda-version-check.cu It passes --sysroot for the Linux CUDA installation. To make this test pass when targetting Windows, you would

Re: r291131 - [Driver] Driver changes to support CUDA compilation on Windows.

2017-01-06 Thread Reid Kleckner via cfe-commits
cuda-version-check.cu seems to be failing since this change: http://lab.llvm.org:8011/builders/clang-x86-windows-msvc2015/builds/1768 The relevant failing part: $ "C:/b/slave/clang-x86-windows-msvc2015/clang-x86-windows-msvc2015/stage1/./bin/clang.EXE" "-v" "-###" "--cuda-gpu-arch=sm_60"

r291045 - [MS] Instantiate default args during instantiation of exported default ctors

2017-01-04 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Jan 4 19:08:22 2017 New Revision: 291045 URL: http://llvm.org/viewvc/llvm-project?rev=291045=rev Log: [MS] Instantiate default args during instantiation of exported default ctors Summary: Replace some old code that probably pre-dated the change to delay emission of

r290990 - Support -fno-delayed-template-parsing in clang-cl.exe

2017-01-04 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Jan 4 13:15:53 2017 New Revision: 290990 URL: http://llvm.org/viewvc/llvm-project?rev=290990=rev Log: Support -fno-delayed-template-parsing in clang-cl.exe Summary: This change adds support for the -fno-delayed-template-parsing option in clang-cl.exe. This allows

r290984 - Use -### so the mbig-obj.c test passes when there is no registered x86 target

2017-01-04 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Jan 4 12:50:51 2017 New Revision: 290984 URL: http://llvm.org/viewvc/llvm-project?rev=290984=rev Log: Use -### so the mbig-obj.c test passes when there is no registered x86 target Modified: cfe/trunk/test/Driver/mbig-obj.c Modified: cfe/trunk/test/Driver/mbig-obj.c

r290979 - Accept and ignore -Wa, -mbig-obj on COFF targets for gas compatibility

2017-01-04 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Jan 4 12:16:32 2017 New Revision: 290979 URL: http://llvm.org/viewvc/llvm-project?rev=290979=rev Log: Accept and ignore -Wa,-mbig-obj on COFF targets for gas compatibility LLVM's integrated assembler will automatically switch to big objects when there are more than 2**16

r290907 - Relax CHECK line from r290906

2017-01-03 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Jan 3 15:29:51 2017 New Revision: 290907 URL: http://llvm.org/viewvc/llvm-project?rev=290907=rev Log: Relax CHECK line from r290906 Modified: cfe/trunk/test/CodeGen/variadic-null-win64.c Modified: cfe/trunk/test/CodeGen/variadic-null-win64.c URL:

r290906 - [Win64] Don't widen integer literal zero arguments to unprototyped function calls

2017-01-03 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Tue Jan 3 15:23:35 2017 New Revision: 290906 URL: http://llvm.org/viewvc/llvm-project?rev=290906=rev Log: [Win64] Don't widen integer literal zero arguments to unprototyped function calls The special case to widen the integer literal zero when passed to variadic function

r290672 - Revert "Driver: switch Windows to static RelocModel"

2016-12-28 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Dec 28 11:41:36 2016 New Revision: 290672 URL: http://llvm.org/viewvc/llvm-project?rev=290672=rev Log: Revert "Driver: switch Windows to static RelocModel" This reverts commit r290569. It caused unforeseen codegen changes for switch jump tables described in PR31488.

Re: r290569 - Driver: switch Windows to static RelocModel

2016-12-28 Thread Reid Kleckner via cfe-commits
I filed https://llvm.org/bugs/show_bug.cgi?id=31488 for this. On Wed, Dec 28, 2016 at 9:37 AM, Reid Kleckner wrote: > This affected code generation of jump tables from switches. This was the > assembly difference for a switch when going from PIC to static: > > $ cat t.cpp >

Re: r290569 - Driver: switch Windows to static RelocModel

2016-12-28 Thread Reid Kleckner via cfe-commits
This affected code generation of jump tables from switches. This was the assembly difference for a switch when going from PIC to static: $ cat t.cpp void g(int); void f(int x) { switch (x) { case 0: g(0); break; case 1: g(1); break; case 2: g(2); break; case 3: g(3); break; case 4:

Re: r290569 - Driver: switch Windows to static RelocModel

2016-12-28 Thread Reid Kleckner via cfe-commits
I suspect this broke Win64: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/1410 On Mon, Dec 26, 2016 at 6:20 PM, Saleem Abdulrasool via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: compnerd > Date: Mon Dec 26 20:20:35 2016 > New Revision: 290569 > > URL:

Re: [PATCH] D26846: __uuidof() and declspec(uuid("...")) should be allowed on enumeration types

2016-12-21 Thread Reid Kleckner via cfe-commits
On Wed, Dec 21, 2016 at 8:36 AM, Aaron Ballman wrote: > That change appears to have been lost, and I would like to see them > brought back. I think they may have gotten lost during the rebase, as > they were present in https://reviews.llvm.org/D26846?id=78569. > I

r290009 - Fix MSVC build of libclang after r288438

2016-12-16 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Dec 16 17:44:44 2016 New Revision: 290009 URL: http://llvm.org/viewvc/llvm-project?rev=290009=rev Log: Fix MSVC build of libclang after r288438 Modified: cfe/trunk/tools/libclang/CXType.cpp Modified: cfe/trunk/tools/libclang/CXType.cpp URL:

Re: r289991 - Revert r289979 due to regressions

2016-12-16 Thread Reid Kleckner via cfe-commits
This revert broke the build because you failed to resolve conflicts in include/clang/Basic/OpenCLOptions.h caused by r289985. I've reverted that file in r289997. On Fri, Dec 16, 2016 at 1:23 PM, Yaxun Liu via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: yaxunl > Date: Fri Dec 16

r289997 - Really revert all changes from r289979. Apparently conflict resolution failed

2016-12-16 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Fri Dec 16 16:11:28 2016 New Revision: 289997 URL: http://llvm.org/viewvc/llvm-project?rev=289997=rev Log: Really revert all changes from r289979. Apparently conflict resolution failed Modified: cfe/trunk/include/clang/Basic/OpenCLOptions.h Modified:

r289678 - Improve our handling of tag decls in function prototypes

2016-12-14 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Dec 14 11:44:11 2016 New Revision: 289678 URL: http://llvm.org/viewvc/llvm-project?rev=289678=rev Log: Improve our handling of tag decls in function prototypes r289225 broke AST invariants by reparenting enumerators into function decl contexts. This improves things by only

[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=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:

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=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 PointerUnion's

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

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=rev Log: __uuidof() and declspec(uuid("...")) should be allowed on enumeration types Although not specifically mentioned in the documentation, MSVC accepts __uuidof(…) and

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=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 a

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.

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=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

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=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.c

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=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

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

2016-12-06 Thread Reid Kleckner via cfe-commits
teMSAsmLabel explain 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:/

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=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:

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=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 enabled.

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

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

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=rev Log: Fix -Winconsistent-missing-override in CodeGenAction.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenAction.cpp Modified: cfe/trunk/lib/CodeGen/CodeGenAction.cpp URL:

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=rev Log: Give this test that uses Itanium mangling a triple Modified: cfe/trunk/test/Frontend/plugin-vs-debug-info.cpp Modified:

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=rev Log: Stop handling interesting deserialized decls after HandleTranslationUnit Other AST consumers can deserialize interesting decls that we might codegen, but they won't make

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=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 and

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=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

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=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. This

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=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 between

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? >

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=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:

[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

[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=79105#toc Repository: rL LLVM

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=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 the

[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

[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

[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] 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-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.

[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

[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

[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

[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

[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

[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

[PATCH] D22955: [MSVC] Improved late parsing of template functions.

2016-11-16 Thread Reid Kleckner via cfe-commits
rnk added a comment. If I understand correctly, this patch takes template function patterns, copies them into instantiated context, parses them in that context, and then instantiates them in that context. The key difference is that today's fdelayed-template-parsing doesn't parse the body of

[PATCH] D26657: [Sema] Respect DLL attributes more faithfully

2016-11-16 Thread Reid Kleckner via cfe-commits
rnk added inline comments. Comment at: lib/Sema/SemaTemplate.cpp:7670-7673 +if ((Old_TSK == TSK_ExplicitInstantiationDeclaration || + Old_TSK == TSK_ImplicitInstantiation) && (TSK == TSK_ExplicitInstantiationDefinition ||

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

2016-11-16 Thread Reid Kleckner via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL287177: Add warning when assigning enums to bitfields without an explicit unsigned… (authored by rnk). Changed prior to commit: https://reviews.llvm.org/D24289?vs=70760=78281#toc Repository: rL LLVM

r287177 - Add warning when assigning enums to bitfields without an explicit unsigned underlying type

2016-11-16 Thread Reid Kleckner via cfe-commits
Author: rnk Date: Wed Nov 16 17:40:00 2016 New Revision: 287177 URL: http://llvm.org/viewvc/llvm-project?rev=287177=rev Log: Add warning when assigning enums to bitfields without an explicit unsigned underlying type Summary: Add a warning when assigning enums to bitfields without an explicit

[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

[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

[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-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] 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

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=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. This

[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

[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] 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.

[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

[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

[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 = CGM.getMicrosoftVTableContext(); MicrosoftVTableContext::MethodVFTableLocation ML = -

[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:

[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

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=rev Log: Remove unnecessary x86 backend requirements from OpenMP tests Clang can generate LLVM IR for x86 without a registered x86 backend. Modified:

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

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=rev Log: Revert 9 changes from r284793, they still fail on some bots Modified: cfe/trunk/test/Driver/rewrite-map-in-diagnostics.c

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=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

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=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 2015

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=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

[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

[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?

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=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

[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

[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

[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<["-"],

[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<

[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 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

[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 ___

[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

[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

Re: r284174 - Disable swiftcall test on windows: More brutal way to appease windows bots

2016-10-13 Thread Reid Kleckner via cfe-commits
These kinds of crashes typically happen when you have something like a use-after-destroy of a temporary, like a misuse of Twine or std::initializer_list. On Thu, Oct 13, 2016 at 3:47 PM, Arnold Schwaighofer via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: arnolds > Date: Thu Oct 13

[PATCH] D25581: Implement __builtin_alloca_with_align for GCC compatibility

2016-10-13 Thread Reid Kleckner via cfe-commits
rnk created this revision. rnk added a reviewer: rsmith. rnk added a subscriber: cfe-commits. GCC documents that the alignment parameter is in bits and it must be: - an integer constant - a power of two - a multiple of CHAR_BITS - below an unspecified limit This lines up directly with the

[PATCH] D25576: Add 64-bit MS _Interlocked functions as builtins again

2016-10-13 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/D25576 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

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