llvm-capstone/clang
Jessica Paquette 17cfd2e025 [profiling] Improve error message for raw profile header mismatches
When a user uses a mismatched clang + llvm-profdata, they didn't get a very
informative error message. It would just say "unsupported version".

As a result, users are often confused as to what they are supposed to do and
tend to assume that it's a bug in the profiling runtime.

This patch improves the error message by:

- Adding a new class of error (`raw_profile_version_mismatch`) to make it clear
  that, specifically, the *raw profile* version is unsupported because of a
  tool mismatch.

- Adding an error message that tells the user which raw profile version was
  encountered, which version was expected, and instructs them to align their
  tool versions.

To support this, this patch also updates `InstrProfError::take` to also
propagate the optional error message.

Differential Revision: https://reviews.llvm.org/D149361
2023-04-27 14:51:38 -07:00
..
bindings [python] Expose clang_Location_isInSystemHeader 2023-04-04 09:21:04 -04:00
cmake [CMake] Switch back to -fPIC for Fuchsia Toolchain 2023-04-19 11:48:38 -07:00
docs Fix spacing in ReleaseNotes.rst link 2023-04-27 11:41:21 -07:00
examples [clang][pp] Handle attributes defined by plugin in __has_attribute 2023-03-13 16:47:51 +01:00
include [Clang][Sema] Fix comparison of constraint expressions 2023-04-27 21:33:32 +00:00
lib [profiling] Improve error message for raw profile header mismatches 2023-04-27 14:51:38 -07:00
runtime [NFC] Add split-file as runtime test dependency 2023-02-02 11:22:26 -08:00
test [Clang][Sema] Fix comparison of constraint expressions 2023-04-27 21:33:32 +00:00
tools [clang-rename] Exit gracefully when no input provided 2023-04-26 20:23:14 +05:30
unittests [dataflow] HTMLLogger - show the value of the current expr 2023-04-26 17:15:23 +02:00
utils [NFC][clang] Fix Coverity bugs with AUTO_CAUSES_COPY 2023-04-24 14:52:55 -07:00
www [Clang] Add tests and mark as implemented WG14-N2728 2023-04-27 14:25:41 -07:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Disable compiler launcher on external projects and multi stage clang 2023-04-24 12:15:44 -07:00
CodeOwners.rst [NFC]Fix github identification. 2023-01-20 08:40:38 -08:00
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang forums:
  https://discourse.llvm.org/c/clang/

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/