Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-09-03 Thread Charles Davis via cfe-commits
cdavis5x updated this revision to Diff 34012. cdavis5x added a comment. Address @rsmith's comments. http://reviews.llvm.org/D1623 Files: include/clang/AST/ASTContext.h include/clang/AST/Expr.h include/clang/Basic/BuiltinsX86.def include/clang/Basic/DiagnosticSemaKinds.td

Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-09-03 Thread Charles Davis via cfe-commits
cdavis5x added inline comments. Comment at: include/clang/AST/Expr.h:3709 @@ -3708,3 +3708,3 @@ VAArgExpr(SourceLocation BLoc, Expr* e, TypeSourceInfo *TInfo, -SourceLocation RPLoc, QualType t) +SourceLocation RPLoc, QualType t, bool IsMS = false)

Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-09-10 Thread Charles Davis via cfe-commits
cdavis5x updated this revision to Diff 34415. cdavis5x added a comment. - Rebase onto http://reviews.llvm.org/rL247238. - Run `clang-format` on this patch. - Push `va_arg` emission down into the `ABIInfo` hierarchy. I threaded the `IsMS` parameter from the `VAArgExpr` through the `EmitVAArg`

Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-09-14 Thread Charles Davis via cfe-commits
cdavis5x 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); }

Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-09-14 Thread Charles Davis via cfe-commits
cdavis5x updated this revision to Diff 34728. cdavis5x added a comment. Address review comments. - Pull out `va_arg` emission on `__builtin_ms_va_arg` to its own method on `ABIInfo`. That way, ABI implementers don't need to care that this extension even exists. - Attempt to push repeated

Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-09-17 Thread Charles Davis via cfe-commits
cdavis5x added a comment. Ping... http://reviews.llvm.org/D1623 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r247941 - Support __builtin_ms_va_list.

2015-09-17 Thread Charles Davis via cfe-commits
Author: cdavis Date: Thu Sep 17 15:55:33 2015 New Revision: 247941 URL: http://llvm.org/viewvc/llvm-project?rev=247941=rev Log: Support __builtin_ms_va_list. Summary: This change adds support for `__builtin_ms_va_list`, a GCC extension for variadic `ms_abi` functions. The existing

Re: [PATCH] D1623: Support __builtin_ms_va_list.

2015-08-28 Thread Charles Davis via cfe-commits
cdavis5x updated this revision to Diff 33490. cdavis5x added a comment. - Rebase onto http://reviews.llvm.org/rL246348. - Register the `__builtin_ms_va_list` predef decl. Fixes a nasty interaction with modules. - Mark `__builtin_ms_va_start` builtin as manually type-checked.

Re: [PATCH] D19909: [Attr] Add support for the `ms_hook_prologue` attribute.

2016-05-19 Thread Charles Davis via cfe-commits
cdavis5x added a comment. For now, I've disallowed it with `naked` and `always_inline`/`__forceinline` attributes. Do any other attributes affect prologue generation in a way that might interfere with `ms_hook_prologue`? AFAICT, GCC only disallows `ms_hook_prologue` on a) nested functions and

Re: [PATCH] D19909: [Attr] Add support for the `ms_hook_prologue` attribute.

2016-05-19 Thread Charles Davis via cfe-commits
cdavis5x updated this revision to Diff 57853. cdavis5x marked an inline comment as done. cdavis5x added a comment. - Add Sema tests for the `ms_hook_prologue` attribute. - Disallow `ms_hook_prologue` on architectures that Windows doesn't support. - Disallow `ms_hook_prologue` with the `naked` and

[PATCH] D20449: [Basic] Change x86_64-windows-macho targets to use Windows-style va_lists.

2016-05-19 Thread Charles Davis via cfe-commits
cdavis5x created this revision. cdavis5x added a reviewer: rsmith. cdavis5x added a subscriber: cfe-commits. This is a very strange target. Sema thinks it's targeting a Darwin-esque system, while IRGen thinks it's targeting a Windows'ish system. The result is that Clang can no longer compile

Re: [PATCH] D19909: [Attr] Add support for the `ms_hook_prologue` attribute.

2016-05-16 Thread Charles Davis via cfe-commits
cdavis5x marked an inline comment as done. Comment at: include/clang/Basic/Attr.td:2032 @@ -2031,1 +2031,3 @@ +def MSHookPrologue : InheritableAttr { + let Spellings = [GCC<"ms_hook_prologue">]; aaron.ballman wrote: > Does this attribute appertain to all

Re: [PATCH] D19909: [Attr] Add support for the `ms_hook_prologue` attribute.

2016-05-16 Thread Charles Davis via cfe-commits
cdavis5x updated this revision to Diff 57389. cdavis5x added a comment. - Use Sanjoy's `patchable-function` attribute. - Add documentation for this new attribute. http://reviews.llvm.org/D19909 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td lib/CodeGen/TargetInfo.cpp

[PATCH] D19909: [Attr] Add support for the `ms_hook_prologue` attribute.

2016-05-04 Thread Charles Davis via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: aaron.ballman, rnk. cdavis5x added a subscriber: cfe-commits. cdavis5x added a dependency: D19908: [X86] Support the "ms-hotpatch" attribute.. Based on a patch by Michael Mueller. This attribute specifies that a function can be hooked or

r278050 - [Attr] Add support for the `ms_hook_prologue` attribute.

2016-08-08 Thread Charles Davis via cfe-commits
Author: cdavis Date: Mon Aug 8 16:03:39 2016 New Revision: 278050 URL: http://llvm.org/viewvc/llvm-project?rev=278050=rev Log: [Attr] Add support for the `ms_hook_prologue` attribute. Summary: Based on a patch by Michael Mueller. This attribute specifies that a function can be hooked or

r278052 - Revert "[Attr] Add support for the `ms_hook_prologue` attribute."

2016-08-08 Thread Charles Davis via cfe-commits
Author: cdavis Date: Mon Aug 8 16:19:08 2016 New Revision: 278052 URL: http://llvm.org/viewvc/llvm-project?rev=278052=rev Log: Revert "[Attr] Add support for the `ms_hook_prologue` attribute." This reverts commit r278050. It depends on r278048, which will be reverted. Removed:

Re: [PATCH] D19909: [Attr] Add support for the `ms_hook_prologue` attribute.

2016-08-03 Thread Charles Davis via cfe-commits
cdavis5x marked an inline comment as done. Comment at: include/clang/Basic/AttrDocs.td:560 @@ +559,3 @@ + +This attribute cannot be used in conjunction with the ``naked``, +``always_inline``, or ``__forceinline`` attributes. Done.

[libunwind] r339217 - [libunwind] Fix pointer-to-integer cast warnings on LLP64.

2018-08-07 Thread Charles Davis via cfe-commits
Author: cdavis Date: Tue Aug 7 21:21:24 2018 New Revision: 339217 URL: http://llvm.org/viewvc/llvm-project?rev=339217=rev Log: [libunwind] Fix pointer-to-integer cast warnings on LLP64. Summary: `long` is too short on LLP64. We have to use `intptr_t` to avoid truncating pointers. Reviewers:

[libunwind] r339259 - Remove unneeded preprocessor condition.

2018-08-08 Thread Charles Davis via cfe-commits
Author: cdavis Date: Wed Aug 8 08:18:22 2018 New Revision: 339259 URL: http://llvm.org/viewvc/llvm-project?rev=339259=rev Log: Remove unneeded preprocessor condition. Modified: libunwind/trunk/include/unwind.h Modified: libunwind/trunk/include/unwind.h URL:

[libunwind] r339258 - [libunwind][include] Add SEH declarations to .

2018-08-08 Thread Charles Davis via cfe-commits
Author: cdavis Date: Wed Aug 8 08:18:20 2018 New Revision: 339258 URL: http://llvm.org/viewvc/llvm-project?rev=339258=rev Log: [libunwind][include] Add SEH declarations to . Summary: Make the `_Unwind_Exception` struct correct under SEH. Add a declaration of `_GCC_specific_handler()`, which is

[libunwind] r341125 - Add support for SEH unwinding on Windows.

2018-08-30 Thread Charles Davis via cfe-commits
Author: cdavis Date: Thu Aug 30 14:29:00 2018 New Revision: 341125 URL: http://llvm.org/viewvc/llvm-project?rev=341125=rev Log: Add support for SEH unwinding on Windows. Summary: I've tested this implementation on x86-64 to ensure that it works. All `libc++abi` tests pass, as do all `libc++`

[libunwind] r341232 - Export public functions implemented in assembly on Windows.

2018-08-31 Thread Charles Davis via cfe-commits
Author: cdavis Date: Fri Aug 31 11:11:48 2018 New Revision: 341232 URL: http://llvm.org/viewvc/llvm-project?rev=341232=rev Log: Export public functions implemented in assembly on Windows. Summary: By default, symbols aren't visible outside of the module that defines them. To make them visible,

[libunwind] r341210 - [AddressSpace] Use the macro to set hidden visibility on LocalAddressSpace.

2018-08-31 Thread Charles Davis via cfe-commits
Author: cdavis Date: Fri Aug 31 06:41:05 2018 New Revision: 341210 URL: http://llvm.org/viewvc/llvm-project?rev=341210=rev Log: [AddressSpace] Use the macro to set hidden visibility on LocalAddressSpace. Summary: That attribute has no effect on Windows anyway--classes are hidden by default.

[libunwind] r341388 - [CMake] Remove variable reference that isn't used.

2018-09-04 Thread Charles Davis via cfe-commits
Author: cdavis Date: Tue Sep 4 10:40:26 2018 New Revision: 341388 URL: http://llvm.org/viewvc/llvm-project?rev=341388=rev Log: [CMake] Remove variable reference that isn't used. Summary: This variable is never defined, so its value is always empty. Since `libunwind` is needed to build the C++

[libunwind] r341404 - [CMake] Don't use -rtlib=compiler-rt with -nodefaultlibs.

2018-09-04 Thread Charles Davis via cfe-commits
Author: cdavis Date: Tue Sep 4 13:57:50 2018 New Revision: 341404 URL: http://llvm.org/viewvc/llvm-project?rev=341404=rev Log: [CMake] Don't use -rtlib=compiler-rt with -nodefaultlibs. Summary: This switch only has an effect at link time. It changes the default compiler support library to

[libunwind] r343990 - [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON.

2018-10-08 Thread Charles Davis via cfe-commits
Author: cdavis Date: Mon Oct 8 11:35:00 2018 New Revision: 343990 URL: http://llvm.org/viewvc/llvm-project?rev=343990=rev Log: [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. Summary: If `-nodefaultlibs` is given, we weren't actually linking to it. This was true irrespective of