Commit Graph

2199 Commits

Author SHA1 Message Date
Vitaly Buka 76b7784bcd [NFC][sanitizer] Rename ByteMap to Map 2021-10-10 22:23:48 -07:00
LLVM GN Syncbot 816e9d81e2 [gn build] Port f341161689 2021-10-11 02:15:38 +00:00
LLVM GN Syncbot 98c9b3362f [gn build] Port 3df094d31e 2021-10-11 02:15:37 +00:00
Nico Weber e2a2e5475c Revert "Reland "[gn build] (manually) port 6fe2beba7d (ExceptionTests)""
This reverts commit 842035d8bd.
1dba6b3 was reverted yet again in 04aff39504.
2021-10-09 10:18:52 -04:00
Reid Kleckner 89b57061f7 Move TargetRegistry.(h|cpp) from Support to MC
This moves the registry higher in the LLVM library dependency stack.
Every client of the target registry needs to link against MC anyway to
actually use the target, so we might as well move this out of Support.

This allows us to ensure that Support doesn't have includes from MC/*.

Differential Revision: https://reviews.llvm.org/D111454
2021-10-08 14:51:48 -07:00
Vitaly Buka 05d46f627c [NFC][sanitizer] Remove sanitizer_persistent_allocator.cpp
We need to make it a template
2021-10-08 13:43:28 -07:00
LLVM GN Syncbot 708c267d7d [gn build] Port 30caca39f4 2021-10-08 11:24:14 +00:00
Nico Weber 842035d8bd Reland "[gn build] (manually) port 6fe2beba7d (ExceptionTests)"
This reverts commit 98d0f8f2ff.
6fe2beba7d relanded in 1dba6b37bd.
2021-10-08 07:17:04 -04:00
LLVM GN Syncbot a34dffb548 [gn build] Port 7fb9f99f3b 2021-10-07 15:19:45 +00:00
LLVM GN Syncbot 2cb4f53612 [gn build] Port 49e736d845 2021-10-07 15:19:44 +00:00
LLVM GN Syncbot 6c8e80c3c2 [gn build] Port 3e9689d72c 2021-10-07 15:11:38 +00:00
LLVM GN Syncbot c50162b271 [gn build] Port d550930afc 2021-10-07 15:03:32 +00:00
LLVM GN Syncbot ae4c0c7cfc [gn build] Port ccfb0555f7 2021-10-06 22:24:38 +00:00
LLVM GN Syncbot 9f5c70c7ad [gn build] Port 67231650e6 2021-10-06 20:22:05 +00:00
Nico Weber 07e5394c63 [gn build] (manually) port 77d5ccdc6f
(similar to 64f623d4c3)
2021-10-06 15:41:38 -04:00
LLVM GN Syncbot 665662a71e [gn build] Port 10f16bc7b2 2021-10-06 17:59:12 +00:00
LLVM GN Syncbot 1e013f112e [gn build] Port a30a36f66a 2021-10-06 11:59:40 +00:00
LLVM GN Syncbot a67b1220f5 [gn build] Port fc36fb4d23 2021-10-06 08:40:14 +00:00
LLVM GN Syncbot 8b2d6fd6cb [gn build] Port 214054f78a 2021-10-05 10:41:33 +00:00
LLVM GN Syncbot e66121b68e [gn build] Port cfef1803dd 2021-10-05 04:34:07 +00:00
LLVM GN Syncbot 72abda418e [gn build] Port 811b1736d9 2021-10-04 15:13:27 +00:00
LLVM GN Syncbot e420164f40 [gn build] Port 657f02d458 2021-10-02 00:21:42 +00:00
LLVM GN Syncbot 4cdee8de6b [gn build] Port c8c2b4629f 2021-10-01 20:14:30 +00:00
LLVM GN Syncbot 06cea95a5a [gn build] Port 33dd98e9e4 2021-10-01 18:18:21 +00:00
LLVM GN Syncbot 9c49587cc1 [gn build] Port 47d6274d4c 2021-10-01 14:57:31 +00:00
LLVM GN Syncbot 4f0a39b9b4 [gn build] Port fb99424a6f 2021-10-01 14:29:37 +00:00
LLVM GN Syncbot fcdefc8575 [gn build] Port 3077bc90de 2021-10-01 00:43:50 +00:00
LLVM GN Syncbot 0337e228c1 [gn build] Port 050edef853 2021-09-30 19:35:12 +00:00
Nico Weber e31899c708 Reland "[clang-cl] Accept `#pragma warning(disable : N)` for some N"
This reverts commit 0cd9d8a48b and
adds the changes described in https://reviews.llvm.org/D110668#3034461.
2021-09-30 15:03:23 -04:00
LLVM GN Syncbot 4db00342e5 [gn build] Port 13f3c39f36 2021-09-30 08:28:24 +00:00
Amy Huang 0cd9d8a48b Revert "[clang-cl] Accept `#pragma warning(disable : N)` for some N"
because it causes `error: error reading '/wd4091'` errors in
compiler-rt builds.
2021-09-29 18:46:55 -07:00
LLVM GN Syncbot 9ad17fe0de [gn build] Port 969359e3b8 2021-09-29 20:09:08 +00:00
Nico Weber b2de52bec1 [clang-cl] Accept `#pragma warning(disable : N)` for some N
clang-cl maps /wdNNNN to -Wno-flags for a few warnings that map
cleanly from cl.exe concepts to clang concepts.

This patch adds support for the same numbers to
`#pragma warning(disable : NNNN)`. It also lets
`#pragma warning(push)` and `#pragma warning(pop)` have an effect,
since these are used together with `warning(disable)`.

The optional numeric argument to `warning(push)` is ignored,
as are the other non-`disable` `pragma warning()` arguments.
(Supporting `error` would be easy, but we also don't support
`/we`, and those should probably be added together.)

The motivating example is that a bunch of code (including in LLVM)
uses this idiom to locally disable warnings about calls to deprecated
functions in Windows-only code, and 4996 maps nicely to
-Wno-deprecated-declarations:

    #pragma warning(push)
    #pragma warning(disable: 4996)
      f();
    #pragma warning(pop)

Implementation-wise:
- Move `/wd` flag handling from Options.td to actual Driver-level code
- Extract the function mapping cl.exe IDs to warning groups to the
  new file clang/lib/Basic/CLWarnings.cpp
- Create a diag::Group enum so that CLWarnings.cpp can refer to
  existing groups by ID (and give DllexportExplicitInstantiationDecl
  a named group), and add a function to map a diag::Group to the
  spelling of it's associated commandline flag
- Call that new function from PragmaWarningHandler

Differential Revision: https://reviews.llvm.org/D110668
2021-09-29 13:14:23 -04:00
LLVM GN Syncbot fd9a5b911d [gn build] Port c07f709969 2021-09-29 01:03:11 +00:00
Arthur Eubanks aa53785f23 Reland [clang] Rework dontcall attributes
To avoid using the AST when emitting diagnostics, split the "dontcall"
attribute into "dontcall-warn" and "dontcall-error", and also add the
frontend attribute value as the LLVM attribute value. This gives us all
the information to report diagnostics we need from within the IR (aside
from access to the original source).

One downside is we directly use LLVM's demangler rather than using the
existing Clang diagnostic pretty printing of symbols.

Previous revisions didn't properly declare the new dependencies.

Reviewed By: nickdesaulniers

Differential Revision: https://reviews.llvm.org/D110364
2021-09-28 15:31:30 -07:00
LLVM GN Syncbot 5aa4c74c9a [gn build] Port 864b206796 2021-09-28 10:58:48 +00:00
LLVM GN Syncbot 57cd7b018c [gn build] Port 6cfb4d46ba 2021-09-27 21:56:39 +00:00
LLVM GN Syncbot e2eb651cfc [gn build] Port 9da2fa277e 2021-09-27 12:33:13 +00:00
LLVM GN Syncbot a44b122ade [gn build] Port 6498b0e991 2021-09-26 17:25:08 +00:00
LLVM GN Syncbot 70a48697d5 [gn build] Port c0d889995e 2021-09-24 20:30:26 +00:00
LLVM GN Syncbot 5f98024011 [gn build] Port a9ae2436fc 2021-09-24 20:30:25 +00:00
LLVM GN Syncbot 58d9ed2c93 [gn build] Port a2c1cf09df 2021-09-24 03:01:20 +00:00
LLVM GN Syncbot 1aed7fcf09 [gn build] Port a44ab17025 2021-09-23 19:01:30 +00:00
LLVM GN Syncbot ac889a5262 [gn build] Port f4abdb0c07 2021-09-23 13:34:40 +00:00
Nico Weber 64f623d4c3 [gn build] (manually) port ac191bcc99 2021-09-23 09:34:24 -04:00
Nico Weber cef0280a95 [gn build] (semi-manually) port 702cb7afe9 2021-09-23 09:26:27 -04:00
LLVM GN Syncbot f099ac838e [gn build] Port 7a320b279d 2021-09-22 12:20:22 +00:00
Nico Weber c828b93fb3 [gn build] (manually) port f8b1cc3657 2021-09-22 08:20:12 -04:00
LLVM GN Syncbot a3bb4f1455 [gn build] Port a04a6ce772 2021-09-21 16:34:07 +00:00
Amara Emerson 4ceea77409 [X86] Rename the X86WinAllocaExpander pass and related symbols to "DynAlloca". NFC.
For x86 Darwin, we have a stack checking feature which re-uses some of this
machinery around stack probing on Windows. Renaming this to be more appropriate
for a generic feature.

Differential Revision: https://reviews.llvm.org/D109993
2021-09-20 16:19:28 -07:00