llvm-project/compiler-rt/lib/profile
Louis Dionne 14c4de13e9 [compiler-rt] Use -nostdinc++ in clang_rt.profile to avoid including C++ headers
Most of the code in compiler_rt is C code. However, clang_rt.profile
contains the InstrProfilingRuntime.cpp file, which builds as C++. This
means that including e.g. <stdint.h> will actually include libc++'s
<stdint.h> and then #include_next the system's <stdint.h>. However, if
the target we're building compiler-rt for isn't supported by libc++,
this will lead to a failure since libc++'s <stdint.h> includes <__config>,
which performs various checks.

Since the goal seems to *not* be including any header from the C++ Standard
Library in clang_rt.profile, using -nostdinc++ to ensure that doesn't
happen unknowingly seems to make sense.

rdar://65852694

Differential Revision: https://reviews.llvm.org/D84205
2020-07-21 09:14:33 -04:00
..
CMakeLists.txt [compiler-rt] Use -nostdinc++ in clang_rt.profile to avoid including C++ headers 2020-07-21 09:14:33 -04:00
GCDAProfiling.c [gcov] Add __gcov_dump/__gcov_reset and delete __gcov_flush 2020-07-18 15:07:46 -07:00
InstrProfiling.c [profile] Move __llvm_profile_raw_version into a separate file 2020-07-16 16:02:04 -07:00
InstrProfiling.h [profile] Make atexit hook a no-op on Fuchsia 2020-03-24 18:47:38 -07:00
InstrProfilingBiasVar.c [profile] Support counter relocation at runtime 2020-01-17 15:02:23 -08:00
InstrProfilingBuffer.c [profile] Make atexit hook a no-op on Fuchsia 2020-03-24 18:47:38 -07:00
InstrProfilingFile.c [profile] Move RuntimeCounterRelocation and ProfileDumped into a separate file 2020-03-24 20:27:14 -07:00
InstrProfilingInternal.c [profile] Move RuntimeCounterRelocation and ProfileDumped into a separate file 2020-03-24 20:27:14 -07:00
InstrProfilingInternal.h [profile] Move RuntimeCounterRelocation and ProfileDumped into a separate file 2020-03-24 20:27:14 -07:00
InstrProfilingMerge.c Reland "[CMake] Support installation of InstrProfData.inc" 2019-11-22 14:09:46 -08:00
InstrProfilingMergeFile.c Reland "[CMake] Support installation of InstrProfData.inc" 2019-11-22 14:09:46 -08:00
InstrProfilingNameVar.c Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstrProfilingPlatformDarwin.c Reland compiler-rt support for order file instrumentation. 2019-03-08 15:30:56 +00:00
InstrProfilingPlatformFuchsia.c [profile] Avoid duplicating or leaking VMO 2020-04-17 00:54:12 -07:00
InstrProfilingPlatformLinux.c Revert "[InstrProfiling] Use !associated metadata for counters, data and values" 2020-06-10 02:32:50 -07:00
InstrProfilingPlatformOther.c Reland compiler-rt support for order file instrumentation. 2019-03-08 15:30:56 +00:00
InstrProfilingPlatformWindows.c Reland compiler-rt support for order file instrumentation. 2019-03-08 15:30:56 +00:00
InstrProfilingPort.h [profile] Support online merging with continuous sync mode 2019-11-18 12:56:58 -08:00
InstrProfilingRuntime.cpp [profile] Make atexit hook a no-op on Fuchsia 2020-03-24 18:47:38 -07:00
InstrProfilingUtil.c [profile] Fix file contention causing dropped counts on Windows under -fprofile-generate 2019-11-27 15:55:13 +01:00
InstrProfilingUtil.h Fix PS4 build of compiler-rt runtime. 2020-05-14 02:11:16 +00:00
InstrProfilingValue.c [PGO] Extend the value profile buckets for mem op sizes. 2020-07-15 10:26:15 -07:00
InstrProfilingVersionVar.c [profile] Move __llvm_profile_raw_version into a separate file 2020-07-16 16:02:04 -07:00
InstrProfilingWriter.c [profile] Avoid allocating a page on the stack, NFC 2019-12-11 10:04:00 -08:00
WindowsMMap.c [GCOV] Close file mapping handle on Windows, so flushed gcda files can be removed while the process is in execution 2018-11-07 09:38:26 +00:00
WindowsMMap.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00