[clang] [Modules] Add -cc1 -flate-module-map-file to load module maps after PCMs (PR #88893)

2024-04-16 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: + @Bigcheese and @jansvoboda11 as I think they know this area of the code better https://github.com/llvm/llvm-project/pull/88893 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/lis

[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

2024-04-16 Thread Ian Anderson via cfe-commits
@@ -1403,94 +1421,146 @@ bool HeaderSearch::isFileMultipleIncludeGuarded(FileEntryRef File) const { void HeaderSearch::MarkFileModuleHeader(FileEntryRef FE, ModuleMap::ModuleHeaderRole Role, bool i

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-16 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/89005 HeaderSearch::MarkFileModuleHeader is no longer properly checking for no-changes, and so creates a new HeaderFileInfo for every `textual header`, causes PCM use to go ballistic. >From f45cb72cb9c70d71

[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

2024-04-16 Thread Ian Anderson via cfe-commits
@@ -1403,94 +1421,146 @@ bool HeaderSearch::isFileMultipleIncludeGuarded(FileEntryRef File) const { void HeaderSearch::MarkFileModuleHeader(FileEntryRef FE, ModuleMap::ModuleHeaderRole Role, bool i

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-16 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: I don't really know a great way to write a test for this. If someone could point me at a similar existing test or has an idea how to write a new test that would be much appreciated. https://github.com/llvm/llvm-project/pull/89005 ___

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-16 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: @ilya-biryukov can you check that this fixes your running out of source location space problem please? https://github.com/llvm/llvm-project/pull/89005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > > @ilya-biryukov can you check that this fixes your running out of source > > location space problem please? > > Just tried it. The patch as is did not help. I've also tried changing the > previous line to `getExistingFileInfo(, /*WantExternal=*/false)` and it > did

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
@@ -1313,6 +1313,14 @@ OptionalFileEntryRef HeaderSearch::LookupSubframeworkHeader( // File Info Management. //===--===// +static bool +headerFileInfoModuleBitsMatchRole(const HeaderFileInfo *HFI, +

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/89005 >From 0ea2af8066f2fb307f3bd273cf34da82189af0ab Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Tue, 16 Apr 2024 17:08:28 -0700 Subject: [PATCH] [clang][modules] HeaderSearch::MarkFileModuleHeader crea

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: Ok _this_ one should fix the logic I think. @ilya-biryukov can you give this a try please? https://github.com/llvm/llvm-project/pull/89005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
@@ -84,7 +84,9 @@ struct HeaderFileInfo { LLVM_PREFERRED_TYPE(bool) unsigned isModuleHeader : 1; - /// Whether this header is a `textual header` in a module. + /// Whether this header is a `textual header` in a module. If a header is + /// textual in one module and norm

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/89005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > As a test, maybe you could probe the resulting PCM with `-module-file-info`. What would I be looking for? Presumably the problem is we import the same module twice but fail to find the built pcm in the module cache and so we build it again? I don't know what else wou

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > Also note that `ASTWriter` uses this logic in couple of places to avoid > serializing unrelated headers: > > ```c++ > if (!HFI || (HFI->isModuleHeader && !HFI->isCompilingModuleHeader)) > continue; > ``` > > Since textual headers from other modules have `isModuleHe

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
@@ -1313,6 +1313,14 @@ OptionalFileEntryRef HeaderSearch::LookupSubframeworkHeader( // File Info Management. //===--===// +static bool +headerFileInfoModuleBitsMatchRole(const HeaderFileInfo *HFI, +

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/89005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-17 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/89005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-18 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > Ok _this_ one should fix the logic I think. @ilya-biryukov can you give this > a try please? @ilya-biryukov sorry to ping you again, just nobody else knows how to test this. https://github.com/llvm/llvm-project/pull/89005 _

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader creates extra HeaderFileInfo, breaks PCM reuse (PR #89005)

2024-04-19 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > Unfortunately with this patch I'm still seeing the same > source-location-exhausted error. I'm going to try to understand why... Damn I really thought that was going to be the one. If you have any way I could reproduce or better write a test that would be great. htt

[clang] [clang][modules] Allow module maps with textual headers to be non-affecting (PR #89441)

2024-04-19 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder approved this pull request. I don't totally understand the change, but I don't see anything wrong with it! https://github.com/llvm/llvm-project/pull/89441 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[clang] [clang][modules] Allow module maps with textual headers to be non-affecting (PR #89441)

2024-04-19 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > > Hmm, this will probably only work if you compile `A` into a PCM and then > > pass it to `B`. This is not how "Modules/preprocess-decluse.cpp" is set up. > > In our case we always have a chain A <- B <- C. A.modulemap can be affecting > for B but should not be for C

[clang] [clang][modules] Allow module maps with textual headers to be non-affecting (PR #89441)

2024-04-19 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > I updated the description of this PR, hopefully it makes more sense now. I > still need to investigate what goes wrong in > "Modules/preprocess-decluse.cpp". It seems that it assumes `%t/b.pcm` embeds > the information from "a.modulemap". Is this a pre-existing issu

[clang] [clang][modules] Allow module maps with textual headers to be non-affecting (PR #89441)

2024-04-19 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > > Is this a pre-existing issue, or did my patch change to make "each textual > > header gets a `HFI`"? > > My best understanding that your patch gave textual headers`HFI`s when the > module map was loaded, rather than when the header was included. This > shouldn't h

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader sets textual headers' HeaderFileInfo non-external when it shouldn't (PR #89005)

2024-04-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/89005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader sets textual headers' HeaderFileInfo non-external when it shouldn't (PR #89005)

2024-04-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/89005 >From 45e7409a92546aab4cf8c79ce0ba40133e4dfe4c Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Tue, 16 Apr 2024 17:08:28 -0700 Subject: [PATCH] [clang][modules] HeaderSearch::MarkFileModuleHeader sets

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader sets textual headers' HeaderFileInfo non-external when it shouldn't (PR #89005)

2024-04-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/89005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader sets textual headers' HeaderFileInfo non-external when it shouldn't (PR #89005)

2024-04-22 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: I guess https://github.com/llvm/llvm-project/pull/89441 is the real issue that https://github.com/llvm/llvm-project/pull/83660 caused, but we should still fix this for correctness, even though I'm not sure what the visible consequence is of this bug. https://github.co

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From bb9a412c4a744d71d7630978ee51022804d70ee5 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-23 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > > @AaronBallman Should this be added to the 19.x milestone and cherry-picked? > > I think it should be Nuts, should've merged it yesterday. https://github.com/llvm/llvm-project/pull/99727 ___ cfe-commits mailing list cfe-co

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-23 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: The Driver/linker-wrapper-passes.c test failure doesn't look related, that test doesn't use stddef.h or anything else. I keep trying to rebase to make it go away but it's stubborn. https://github.com/llvm/llvm-project/pull/99727

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder closed https://github.com/llvm/llvm-project/pull/99727 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-23 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: /cherry-pick 92a9d4831d5e40c286247c30fcd794563adbef6e https://github.com/llvm/llvm-project/pull/99727 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-23 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > @ian-twilightcoder Cherry-picking is easy. Once this is merged, follow the > guidelines here to get it cherry-picked: > https://llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches > > Basically you only need to add a comment to this PR like `/cherry-p

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-19 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/99727 stddef.h always includes __stddef_null.h. This is fine in modules because it's not possible to re-include the pcm, and it's necessary to export the _Builtin_stddef.null submodule. However, without modu

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-19 Thread Ian Anderson via cfe-commits
@@ -49,7 +48,25 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) && !__building_module(_Builtin_stddef) ian-twilightcoder wrote: We do still need everything when we're building with modules for the reasons outlined in the comm

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From 294a7cce4f72324ac9042ef0c3725d3e088b16b5 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From 4b8c087dc0318d1802f7635e1d33942cbf833109 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From e956b0deb6dff3513f725ad601c2003123841832 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > These changes should come with a release note so users know about the fix. Does it need a release note? It was introduced in 19 with https://github.com/llvm/llvm-project/pull/90676, and this will fix it in 19 too. https://github.com/llvm/llvm-project/pull/99727 _

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -20,19 +20,18 @@ * modules. */ #if defined(__MVS__) && __has_include_next() -#include <__stdarg_header_macro.h> #undef __need___va_list #undef __need_va_list #undef __need_va_arg #undef __need___va_copy #undef __need_va_copy +#include <__stdarg_header_macro.h> ---

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From 58361b689ba66c5cc7142e22843d5a08471ad3e0 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -20,19 +20,18 @@ * modules. */ #if defined(__MVS__) && __has_include_next() -#include <__stdarg_header_macro.h> #undef __need___va_list #undef __need_va_list #undef __need_va_arg #undef __need___va_copy #undef __need_va_copy +#include <__stdarg_header_macro.h> ---

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -49,7 +48,25 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) && !__building_module(_Builtin_stddef) ian-twilightcoder wrote: clang/test/Modules/stddef.cpp shows how even if we've already had a full include of the entirety

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From 29915cdec1c596767f63eb164cf96180dfcd3bc7 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From af616b8a6406636f9ac91b1a5b92194315012ba1 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From f494a4cece55c8ca97cfc6622e1518a9ffb8cbef Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/99727 >From 5e50bd5c4a9ed2f9fd0eea1431a2150886c4a00f Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 19 Jul 2024 17:53:44 -0700 Subject: [PATCH] [clang][headers] Including stddef.h always redefines NUL

[clang] [clang][modules] HeaderSearch::MarkFileModuleHeader sets textual headers' HeaderFileInfo non-external when it shouldn't (PR #89005)

2024-04-25 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: >From Jan: > Maybe we can add the number of external HeaderFileInfos to > HeaderSearch::PrintStats() and have a test that checks for it. > The flag to enable that output is -show-stats I think. https://github.com/llvm/llvm-project/pull/89005 ___

[clang] [docs] Document the missing Apple availability platforms (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
@@ -1637,31 +1637,42 @@ specifies availability for the current target platform, the availability attributes are ignored. Supported platforms are: ``ios`` +``ios_app_extension`` ian-twilightcoder wrote: I actually feel like these don't need descriptions and w

[clang] [docs] Document the missing Apple availability platforms (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/104653 >From e908672f2f9c3a8995dcc7c50fe1fb72fdd467e9 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 16 Aug 2024 17:32:29 -0700 Subject: [PATCH] [docs] Document the missing availability platforms and

[clang] [docs] Document the missing Apple availability platforms (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/104653 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [docs] Document the missing availability platforms and environments (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/104653 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [docs] Document the missing availability platforms and environments (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/104653 >From 85e4dc08d5316df26247a181386ec819083ce992 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 16 Aug 2024 17:32:29 -0700 Subject: [PATCH] [docs] Document the missing availability platforms and

[clang] [docs] Document the missing availability platforms and environments (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
@@ -1637,31 +1637,42 @@ specifies availability for the current target platform, the availability attributes are ignored. Supported platforms are: ``ios`` +``ios_app_extension`` ian-twilightcoder wrote: Cyndy made that point that `-target` and -mtargetos` are

[clang] [docs] Document the missing availability platforms and environments (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/104653 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [docs] Document the missing availability platforms and environments (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/104653 >From b009556b34503b85be2d9312f918f84d987a999f Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 16 Aug 2024 17:32:29 -0700 Subject: [PATCH] [docs] Document the missing availability platforms and

[clang] [docs] Document the missing availability platforms and environments (PR #104653)

2024-08-26 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder closed https://github.com/llvm/llvm-project/pull/104653 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-09-03 Thread Ian Anderson via cfe-commits
@@ -1073,6 +1073,36 @@ static llvm::StringRef canonicalizePlatformName(llvm::StringRef Platform) { .Case("ShaderModel", "shadermodel") .Default(Platform); } +static std::vector equivalentPlatformNames(llvm::StringRef Platform) { ian-

[clang] [llvm] Remove support for 3DNow!, both intrinsics and builtins. (PR #96246)

2024-09-03 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > I think we can just switch it to be a textual header; it no longer has any > decls. It does still have _MM3DNOW_H_INCLUDED, but we could probably remove that https://github.com/llvm/llvm-project/pull/96246 ___ cfe-commits m

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-09-03 Thread Ian Anderson via cfe-commits
@@ -1073,6 +1073,36 @@ static llvm::StringRef canonicalizePlatformName(llvm::StringRef Platform) { .Case("ShaderModel", "shadermodel") .Default(Platform); } +static std::vector equivalentPlatformNames(llvm::StringRef Platform) { ian-

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-09-03 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/105855 >From f54f7bf02ae2a93e9b321be181b59485e241a51a Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 23 Aug 2024 09:43:22 -0700 Subject: [PATCH] [Clang][Sema] clang generates incorrect fix-its for AP

[clang] [llvm] Remove support for 3DNow!, both intrinsics and builtins. (PR #96246)

2024-09-03 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > Do the include guard macros make it problematic to expose as a textual > header? I would not have thought that to be the case. It means that the header guard declaration would be compiled into every pcm that includes the header. Which is maybe fine for this one, but

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-09-03 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder closed https://github.com/llvm/llvm-project/pull/105855 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-04-30 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/90676 stdarg.h and especially stddef.h are textual and so everything they declare gets precompiled into all of their clients' pcm files. They shouldn't directly declare anything though, their purpose is to s

[clang] [clang-tools-extra] [llvm] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-04-30 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/90676 >From 8d8756f00297e90e0b1125d2a78d3f41c9aae6a7 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Tue, 30 Apr 2024 15:16:38 -0700 Subject: [PATCH] [clang][modules] stdarg.h and stddef.h shouldn't directl

[clang] [clang-tools-extra] [llvm] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-04-30 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/90676 >From 052dfeb8d94971dadfa65147f79d5fa37910b0e0 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Tue, 30 Apr 2024 15:16:38 -0700 Subject: [PATCH] [clang][modules] stdarg.h and stddef.h shouldn't directl

[clang] [clang-tools-extra] [llvm] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-05-01 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/90676 >From 54652504cb9e56c3972270c43cc4ee8d613979b4 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Tue, 30 Apr 2024 15:16:38 -0700 Subject: [PATCH] [clang][modules] stdarg.h and stddef.h shouldn't directl

[clang] [clang-tools-extra] [llvm] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-05-02 Thread Ian Anderson via cfe-commits
@@ -15,9 +15,11 @@ const HeaderMapCollector::RegexHeaderMap *getSTLPostfixHeaderMap() { static const HeaderMapCollector::RegexHeaderMap STLPostfixHeaderMap = { {"include/__stdarg___gnuc_va_list.h$", ""}, {"include/__stdarg___va_copy.h$", ""}, + {"include/__s

[clang] [clang-tools-extra] [llvm] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-05-02 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > I think I like this as a solution, although I wonder if > __stdarg_guard_macro.h would be a better name. The name now somewhat implies > that it contains the macros that stddef and stdarg define. But the macros don't actually guard anything. _macro isn't the best nam

[clang] [clang-tools-extra] [llvm] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-05-02 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/90676 >From 12964a3632d81d500b76c1a8a5c83a6367c66e00 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Tue, 30 Apr 2024 15:16:38 -0700 Subject: [PATCH] [clang][modules] stdarg.h and stddef.h shouldn't directl

[clang] [clang-tools-extra] [llvm] [clang][modules] stdarg.h and stddef.h shouldn't directly declare anything (PR #90676)

2024-05-06 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder closed https://github.com/llvm/llvm-project/pull/90676 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] Enable built-in modules for the upcoming Apple releases (PR #102239)

2024-08-06 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/102239 The upcoming Apple SDK releases will support the clang built-in headers being in the clang built-in modules: stop passing -fbuiltin-headers-in-system-modules for those SDK versions. >From 529cb1b9ccf

[clang] [clang][modules] Enable built-in modules for the upcoming Apple releases (PR #102239)

2024-08-07 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder closed https://github.com/llvm/llvm-project/pull/102239 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] Enable built-in modules for the upcoming Apple releases (PR #102239)

2024-08-07 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder milestoned https://github.com/llvm/llvm-project/pull/102239 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] Enable built-in modules for the upcoming Apple releases (PR #102239)

2024-08-07 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: /cherry-pick 961639962251de7428c3fe93fa17cfa6ab3c561a https://github.com/llvm/llvm-project/pull/102239 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] Enable built-in modules for the upcoming Apple releases (PR #102239)

2024-08-07 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: /cherry-pick 0f1361baf650641a59aaa1710d7a0b7b02f2e56d https://github.com/llvm/llvm-project/pull/102239 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] Enable built-in modules for the upcoming Apple releases (PR #102239)

2024-08-08 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: > Failed to cherry-pick: > [0f1361b](https://github.com/llvm/llvm-project/commit/0f1361baf650641a59aaa1710d7a0b7b02f2e56d) > > https://github.com/llvm/llvm-project/actions/runs/10294025156 > > Please manually backport the fix and push it to your github fork. Once this

[clang] [docs] Document the missing Apple availability platforms (PR #104653)

2024-08-16 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/104653 Add the supported application extension and Mac Catalyst platforms to the availability attribute documentation. >From f833ec7e5e1dd8d8076df157ab0766b87ea0734b Mon Sep 17 00:00:00 2001 From: Ian Anders

[clang] [docs] Document the missing Apple availability platforms (PR #104653)

2024-08-19 Thread Ian Anderson via cfe-commits
@@ -1637,31 +1637,42 @@ specifies availability for the current target platform, the availability attributes are ignored. Supported platforms are: ``ios`` +``ios_app_extension`` Apple's iOS operating system. The minimum deployment target is specified as part of the ``-ta

[clang] [docs] Document the missing Apple availability platforms (PR #104653)

2024-08-19 Thread Ian Anderson via cfe-commits
@@ -1637,31 +1637,42 @@ specifies availability for the current target platform, the availability attributes are ignored. Supported platforms are: ``ios`` +``ios_app_extension`` ian-twilightcoder wrote: I can. These paragraphs are already super wordy though,

[clang] [docs] Document the missing Apple availability platforms (PR #104653)

2024-08-19 Thread Ian Anderson via cfe-commits
@@ -1637,31 +1637,42 @@ specifies availability for the current target platform, the availability attributes are ignored. Supported platforms are: ``ios`` +``ios_app_extension`` Apple's iOS operating system. The minimum deployment target is specified as part of the ``-ta

[clang] [clang][modules] Built-in modules are not correctly enabled for Mac Catalyst (PR #104872)

2024-08-19 Thread Ian Anderson via cfe-commits
@@ -2953,7 +2953,15 @@ static bool sdkSupportsBuiltinModules( case Darwin::MacOS: return SDKVersion >= VersionTuple(15U); ian-twilightcoder wrote: Ok sure https://github.com/llvm/llvm-project/pull/104872 ___ cf

[clang] [clang][modules] Built-in modules are not correctly enabled for Mac Catalyst (PR #104872)

2024-08-19 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/104872 >From e6f0a912575d234998b67faf6ce165033dc81d66 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Mon, 19 Aug 2024 15:01:33 -0700 Subject: [PATCH] [clang][modules] Built-in modules are not correctly ena

[clang] [clang][modules] Built-in modules are not correctly enabled for Mac Catalyst (PR #104872)

2024-08-19 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/104872 >From 2203d4437fd2a535cc559bcfbf0a41b5d6acf1cc Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Mon, 19 Aug 2024 15:01:33 -0700 Subject: [PATCH] [clang][modules] Built-in modules are not correctly ena

[clang] [clang][modules] Built-in modules are not correctly enabled for Mac Catalyst (PR #104872)

2024-08-20 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder closed https://github.com/llvm/llvm-project/pull/104872 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][modules] Built-in modules are not correctly enabled for Mac Catalyst (PR #104872)

2024-08-20 Thread Ian Anderson via cfe-commits
ian-twilightcoder wrote: /cherry-pick 4c5ef6690040383956461828457ac27f7f912edb b9864387d9d00e1d4888181460d05dbc92364d75 https://github.com/llvm/llvm-project/pull/104872 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[libunwind] [libunwind] Stop installing the mach-o module map (PR #105616)

2024-08-21 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/105616 libunwind shouldn't know that compact_unwind_encoding.h is part of a MachO module that it doesn't own. Delete the mach-o module map, and let whatever is in charge of the mach-o directory be the one to

[libunwind] [libunwind] Stop installing the mach-o module map (PR #105616)

2024-08-22 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder closed https://github.com/llvm/llvm-project/pull/105616 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-08-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder created https://github.com/llvm/llvm-project/pull/105855 Apple's API_AVAILABLE macro has its own notion of platform names which are supported by __API_AVAILABLE_PLATFORM_ macros. They don't follow a consistent naming convention, but there's at least one tha

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-08-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder edited https://github.com/llvm/llvm-project/pull/105855 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-08-23 Thread Ian Anderson via cfe-commits
@@ -488,22 +488,43 @@ static void DoEmitAvailabilityWarning(Sema &S, AvailabilityResult K, // Don't offer a fixit for declarations with availability attributes. if (Enclosing->hasAttr()) return; - if (!S.getPreprocessor().isMacroDefined("API_AVAILABLE"

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-08-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder deleted https://github.com/llvm/llvm-project/pull/105855 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-08-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/105855 >From a3ceb1e9d6aa1b7e312e744847b1f7c919ec329b Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 23 Aug 2024 09:43:22 -0700 Subject: [PATCH] [Clang][Sema] clang generates incorrect fix-its for AP

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-08-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/105855 >From 540420bb178d2e2b0b92caf1741ec71bde48184f Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 23 Aug 2024 09:43:22 -0700 Subject: [PATCH] [Clang][Sema] clang generates incorrect fix-its for AP

[clang] [Clang][Sema] clang generates incorrect fix-its for API_AVAILABLE (PR #105855)

2024-08-23 Thread Ian Anderson via cfe-commits
https://github.com/ian-twilightcoder updated https://github.com/llvm/llvm-project/pull/105855 >From 9c99492f0b5068ed9179dcb2637839673a671271 Mon Sep 17 00:00:00 2001 From: Ian Anderson Date: Fri, 23 Aug 2024 09:43:22 -0700 Subject: [PATCH] [Clang][Sema] clang generates incorrect fix-its for AP

<    1   2   3   >