[clang] [Clang][CodeGen] Emit “trap reasons” on UBSan traps (PR #145967)

2025-07-11 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,10 @@ +// RUN: %clang_cc1 -triple arm64-apple-macosx14.0.0 -O0 -debug-info-kind=standalone -dwarf-version=5 \ +// RUN: -fsanitize=float-cast-overflow -fsanitize-trap=float-cast-overflow -emit-llvm %s -o - | FileCheck %s + +int f(float x) { + return (int)x; +} + +//

[clang] [llvm] [DTLTO][Clang] Add support for Integrated Distributed ThinLTO (PR #147265)

2025-07-11 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,43 @@ +// REQUIRES: lld + +/// Check DTLTO options are forwarded to the linker. + +// RUN: echo "--target=x86_64-linux-gnu \ +// RUN: -Xthinlto-distributor=distarg1 \ +// RUN: -Xthinlto-distributor=distarg2,distarg3 \ +// RUN: -fuse-ld=lld" > %t.rsp --

[clang-tools-extra] [clang-doc] Serialize record files with mangled name (PR #148021)

2025-07-10 Thread Paul Kirth via cfe-commits
@@ -378,6 +378,7 @@ struct SymbolInfo : public Info { std::optional DefLoc; // Location where this decl is defined. llvm::SmallVector Loc; // Locations where this decl is declared. bool IsStatic = false; + SmallString<16> MangledName; ilovepi wrote:

[clang-tools-extra] [clang-doc] Serialize record files with mangled name (PR #148021)

2025-07-10 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM, with some minor comments. https://github.com/llvm/llvm-project/pull/148021 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] Serialize record files with mangled name (PR #148021)

2025-07-10 Thread Paul Kirth via cfe-commits
@@ -501,15 +502,26 @@ Error JSONGenerator::generateDocs( SmallString<128> Path; sys::path::native(RootDir, Path); -sys::path::append(Path, Info->getRelativeFilePath("")); if (!CreatedDirs.contains(Path)) { if (std::error_code Err = sys::fs::create_direc

[clang-tools-extra] [clang-doc] Serialize record files with mangled name (PR #148021)

2025-07-10 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/148021 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CodeGen] Emit “trap reasons” on UBSan traps (PR #145967)

2025-07-10 Thread Paul Kirth via cfe-commits
ilovepi wrote: > I wouldn't say it's orthogonal. It's a very interesting implementation idea > but there are several reasons why we don't want to pursue it right now. > > 1. What you are proposing is significantly more complicated than what is > implemented in this PR. This work being part of

[clang] [Clang][CodeGen] Emit “trap reasons” on UBSan traps (PR #145967)

2025-07-10 Thread Paul Kirth via cfe-commits
ilovepi wrote: > @ilovepi > > > There's a large number of tests. Many of these look like they're close to > > an existing test ... in these cases is it possible to just use the existing > > test file and add checks under a prefix? > > I originally recommended that @anthonyhatran write new tes

[clang-tools-extra] [clang-doc] emit IsBuiltIn and IsTemplate for types (PR #146149)

2025-06-27 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM. Maybe use `[clang-doc] Serialize IsBuiltIn and IsTemplate for types` as the title? https://github.com/llvm/llvm-project/pull/146149 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[clang-tools-extra] [clang-doc] refactor BitcodeReader::readSubBlock (PR #145835)

2025-06-26 Thread Paul Kirth via cfe-commits
@@ -800,11 +800,37 @@ llvm::Error ClangDocBitcodeReader::readBlock(unsigned ID, T I) { } } -// TODO: Create a helper that can receive a function to reduce repetition for -// most blocks. +template +llvm::Error ClangDocBitcodeReader::handleSubBlock(unsigned ID, T Parent, +

[clang-tools-extra] [clang-doc] refactor BitcodeReader::readSubBlock (PR #145835)

2025-06-26 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/145835 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] refactor BitcodeReader::readSubBlock (PR #145835)

2025-06-26 Thread Paul Kirth via cfe-commits
@@ -800,11 +800,37 @@ llvm::Error ClangDocBitcodeReader::readBlock(unsigned ID, T I) { } } -// TODO: Create a helper that can receive a function to reduce repetition for -// most blocks. +template +llvm::Error ClangDocBitcodeReader::handleSubBlock(unsigned ID, T Parent, +

[clang-tools-extra] [clang-doc] refactor BitcodeReader::readSubBlock (PR #145835)

2025-06-26 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM, modulo the one Q. https://github.com/llvm/llvm-project/pull/145835 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] refactor JSONGenerator array usage (PR #145595)

2025-06-25 Thread Paul Kirth via cfe-commits
@@ -454,27 +417,19 @@ static void serializeInfo(const RecordInfo &I, json::Object &Obj, Obj["ProtectedMembers"] = ProtectedMembersArray; } - if (!I.Bases.empty()) { -json::Value BasesArray = Array(); -json::Array &BasesArrayRef = *BasesArray.getAsArray(); -

[clang-tools-extra] [clang-doc] refactor JSONGenerator array usage (PR #145595)

2025-06-25 Thread Paul Kirth via cfe-commits
@@ -278,6 +247,16 @@ static void serializeInfo(const ConstraintInfo &I, Object &Obj) { Obj["Expression"] = I.ConstraintExpr; } +static void serializeInfo(const std::vector &Params, ilovepi wrote: ```suggestion static void serializeInfo(ArrayRef Params, ```

[clang-tools-extra] [clang-doc] refactor JSONGenerator array usage (PR #145595)

2025-06-25 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/145595 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] refactor JSONGenerator array usage (PR #145595)

2025-06-25 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM. Glad to see so much code getting deleted! Overall great cleanups. Left a couple small comments inline. https://github.com/llvm/llvm-project/pull/145595 ___ cfe-commits mailing list cfe-commi

[clang-tools-extra] [clang-doc] mangle template specialization file names (PR #144617)

2025-06-20 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/144617 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] mangle template specialization file names (PR #144617)

2025-06-20 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,15 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --output=%t --format=json --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/_ZTT7MyClassIiE.json ilovepi wrote: I guess this serves the same purpose, but it'd be nice to have

[clang-tools-extra] [clang-doc] mangle template specialization file names (PR #144617)

2025-06-20 Thread Paul Kirth via cfe-commits
@@ -909,6 +910,13 @@ emitInfo(const RecordDecl *D, const FullComment *FC, Location Loc, RI->Template.emplace(); RI->Template->Specialization.emplace(); auto &Specialization = *RI->Template->Specialization; +auto *Mangler = ItaniumMangleContext::create( +

[clang-tools-extra] [clang-doc] mangle template specialization file names (PR #144617)

2025-06-20 Thread Paul Kirth via cfe-commits
@@ -209,6 +209,9 @@ struct TemplateSpecializationInfo { // Template parameters applying to the specialized record/function. std::vector Params; + + // Used to distinguish class specialization file names. + std::optional> MangledName; ilovepi wrote: can

[clang-tools-extra] [clang-doc] mangle template specialization file names (PR #144617)

2025-06-20 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM. I left a couple of comments, but overall this looks like its in a good state. https://github.com/llvm/llvm-project/pull/144617 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https:/

[clang-tools-extra] [clang-doc] Precommit concept tests (PR #144160)

2025-06-13 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/144160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] Precommit concept tests (PR #144160)

2025-06-13 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,29 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --extra-arg -std=c++20 --output=%t --format=json --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/MyClass.json + +template +concept Addable = requires(T a, T b) { + { a + b }; +}; + +templat

[clang-tools-extra] [clang-doc] Precommit concept tests (PR #144160)

2025-06-13 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,37 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --extra-arg -std=c++20 --output=%t --format=json --executor=standalone %s ilovepi wrote: Let’s try to mark it fail with filecheck. If that’s doesn’t work, I’m ok with this. https://github.c

[clang-tools-extra] [clang-doc] Precommit concept tests (PR #144160)

2025-06-13 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. Let, module some minor comments. https://github.com/llvm/llvm-project/pull/144160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit

[clang-tools-extra] [clang-doc] Precommit concept tests (PR #144160)

2025-06-13 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/144160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] remove default label on some switches (PR #143919)

2025-06-13 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/143919 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] remove default label on some switches (PR #143919)

2025-06-13 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. https://github.com/llvm/llvm-project/pull/143919 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [llvm] add tool to verify mustache library (PR #111487)

2025-06-11 Thread Paul Kirth via cfe-commits
ilovepi wrote: This was completed in https://github.com/llvm/llvm-project/pull/142813 https://github.com/llvm/llvm-project/pull/111487 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [llvm] add tool to verify mustache library (PR #111487)

2025-06-11 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/111487 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-09 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,193 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --output=%t --format=json --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/MyClass.json + +struct Foo; + +// This is a nice class. +// It has some nice methods and fields. +// @brief This is

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-09 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi deleted https://github.com/llvm/llvm-project/pull/142483 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-09 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,193 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --output=%t --format=json --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/MyClass.json + +struct Foo; + +// This is a nice class. +// It has some nice methods and fields. +// @brief This is

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-09 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,175 @@ +#include "ClangDocTest.h" +#include "Generators.h" +#include "Representation.h" +#include "gtest/gtest.h" + +namespace clang { +namespace doc { + +static std::unique_ptr getJSONGenerator() { + auto G = doc::findGeneratorByName("json"); + if (!G) +return nu

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-08 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,194 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --output=%t --format=json --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/MyClass.json + +struct Foo; + +// This is a nice class. +// It has some nice methods and fields. +// @brief This is

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-08 Thread Paul Kirth via cfe-commits
ilovepi wrote: @snarang181 I cannot see how this patch would affect a test in the JIT. Sometimes main is not clean, and sometime there is flake in some tests or under a sanitizer. We should be good IMO. https://github.com/llvm/llvm-project/pull/142273

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-07 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-06 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM. Thanks for the patch https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-06 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-06 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/142483 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-06 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,194 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --output=%t --format=json --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/MyClass.json + +struct Foo; + +// This is a nice class. +// It has some nice methods and fields. +// @brief This is

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-06 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,40 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --output=%t --format=json --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/MyClass.json + +struct MyClass { + template T methodTemplate(T param) { + } +}; + +// CHECK: "PublicFunct

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-06 Thread Paul Kirth via cfe-commits
@@ -670,12 +671,17 @@ static std::unique_ptr genHTML(const CommentInfo &I) { return nullptr; return std::move(BlockComment); } - if (I.Kind == "TextComment") { -if (I.Text == "") + + case CommentKind::CK_TextComment: { +if (I.Text.empty()) return n

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-06 Thread Paul Kirth via cfe-commits
@@ -316,8 +316,13 @@ static llvm::Error parseRecord(const Record &R, unsigned ID, static llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, CommentInfo *I) { switch (ID) { - case COMMENT_KIND: -return decodeRecord(

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-06 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM once the last few nits are addressed. https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/c

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-06 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,430 @@ +#include "Generators.h" +#include "clang/Basic/Specifiers.h" +#include "llvm/Support/JSON.h" + +using namespace llvm; +using namespace llvm::json; + +namespace clang { +namespace doc { + +class JSONGenerator : public Generator { +public: + static const char *Fo

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-06 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. I think this is a good start, modulo a couple fixes on reserving space in json::Arrays. I'm fine if we keep incrementally adding testing rather than doing it all up front. When we're done I imagine most of the YAML tests can be converted,

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-06 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,430 @@ +#include "Generators.h" +#include "clang/Basic/Specifiers.h" +#include "llvm/Support/JSON.h" + +using namespace llvm; +using namespace llvm::json; + +namespace clang { +namespace doc { + +class JSONGenerator : public Generator { +public: + static const char *Fo

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-05 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-05 Thread Paul Kirth via cfe-commits
ilovepi wrote: Oh, lets updated the PR description with a more complete description of the change. It can also be marked as `Fixes #NNN` since this basically implements everything outlined in the issues, unless I'm forgetting something. https://github.com/llvm/llvm-project/pull/142273

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-05 Thread Paul Kirth via cfe-commits
@@ -208,37 +208,107 @@ static json::Value extractValue(const TypedefInfo &I) { } static json::Value extractValue(const CommentInfo &I) { - assert((I.Kind == "BlockCommandComment" || I.Kind == "FullComment" || - I.Kind == "ParagraphComment" || I.Kind == "TextComment")

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-05 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi commented: Getting pretty close. I think once the remaining comments are addressed it will probably be ready to land. https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org h

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-05 Thread Paul Kirth via cfe-commits
ilovepi wrote: > > This sounds promising. I'm fine w/ adding a field to track this. BTW, what > > does clang do? I'm wondering if we should track more than 1-bit of info > > here. > > As far as I can tell, inside the AST Clang makes use of the `isa<>` > mechanisms (which we could also leverag

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-05 Thread Paul Kirth via cfe-commits
@@ -316,8 +316,13 @@ static llvm::Error parseRecord(const Record &R, unsigned ID, static llvm::Error parseRecord(const Record &R, unsigned ID, llvm::StringRef Blob, CommentInfo *I) { switch (ID) { - case COMMENT_KIND: -return decodeRecord(

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-05 Thread Paul Kirth via cfe-commits
@@ -208,37 +208,105 @@ static json::Value extractValue(const TypedefInfo &I) { } static json::Value extractValue(const CommentInfo &I) { - assert((I.Kind == "BlockCommandComment" || I.Kind == "FullComment" || - I.Kind == "ParagraphComment" || I.Kind == "TextComment")

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-04 Thread Paul Kirth via cfe-commits
ilovepi wrote: > If we're open to adding a flag in the base `Info` like > `IsClassSpecialization`, then we can probably easily deal with these by > trying to reconstruct the specialization's arguments (will be something like > "Foo.json"). Functions don't produce their own files so function >

[clang-tools-extra] [clang-doc] Fix brittle check in test (PR #142665)

2025-06-04 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/142665 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
ilovepi wrote: > Right now, since I just ripped the Mustache generator code, it creates > folders for each namespace and emits the nested entities there. This actually > represents a problem for template specializations because the code tries to > write another JSON object (the specialization

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
ilovepi wrote: > I'll investigate this. Although right off the bat, the names in the Infos > aren't mangled. `Name` and `FullName` are the same for both records, which is > unfortunate. OK, well, let's give it a try, and if its too hard lets ... IDK go w/ the YAML thing, so its correct? Test

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -198,37 +198,107 @@ static json::Value extractValue(const TypedefInfo &I) { } static json::Value extractValue(const CommentInfo &I) { - assert((I.Kind == "BlockCommandComment" || I.Kind == "FullComment" || - I.Kind == "ParagraphComment" || I.Kind == "TextComment")

[clang] [clang] Function type attribute to prevent CFI instrumentation (PR #135836)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -12711,6 +12711,11 @@ def warn_noderef_on_non_pointer_or_array : Warning< def warn_noderef_to_dereferenceable_pointer : Warning< "casting to dereferenceable pointer removes 'noderef' attribute">, InGroup; +def warn_cast_discards_cfi_unchecked_callee +: Warning<"impli

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -198,37 +198,107 @@ static json::Value extractValue(const TypedefInfo &I) { } static json::Value extractValue(const CommentInfo &I) { - assert((I.Kind == "BlockCommandComment" || I.Kind == "FullComment" || - I.Kind == "ParagraphComment" || I.Kind == "TextComment")

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -670,12 +671,17 @@ static std::unique_ptr genHTML(const CommentInfo &I) { return nullptr; return std::move(BlockComment); } - if (I.Kind == "TextComment") { -if (I.Text == "") + + case CommentKind::CK_TextComment: { +if (I.Text.empty()) return n

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -45,6 +45,25 @@ enum class InfoType { IT_typedef }; +enum class CommentKind { + CK_FullComment, + CK_ParagraphComment, + CK_TextComment, + CK_InlineCommandComment, + CK_HTMLStartTagComment, + CK_HTMLEndTagComment, + CK_BlockCommandComment, + CK_ParamCommandComment

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,352 @@ +#include "Generators.h" +#include "llvm/Support/JSON.h" + +using namespace llvm; +using namespace llvm::json; + +static llvm::ExitOnError ExitOnErr; + +namespace clang { +namespace doc { + +class JSONGenerator : public Generator { +public: + static const char *

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,352 @@ +#include "Generators.h" +#include "llvm/Support/JSON.h" + +using namespace llvm; +using namespace llvm::json; + +static llvm::ExitOnError ExitOnErr; + +namespace clang { +namespace doc { + +class JSONGenerator : public Generator { +public: + static const char *

[clang-tools-extra] [clang-doc] Add test case for #141990 (PR #142209)

2025-06-03 Thread Paul Kirth via cfe-commits
ilovepi wrote: ### Merge activity * **Jun 3, 4:36 PM UTC**: A user started a stack merge that includes this pull request via [Graphite](https://app.graphite.dev/github/pr/llvm/llvm-project/142209). https://github.com/llvm/llvm-project/pull/142209 _

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,352 @@ +#include "Generators.h" +#include "llvm/Support/JSON.h" + +using namespace llvm; +using namespace llvm::json; + +static llvm::ExitOnError ExitOnErr; + +namespace clang { +namespace doc { + +class JSONGenerator : public Generator { +public: + static const char *

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,352 @@ +#include "Generators.h" +#include "llvm/Support/JSON.h" + +using namespace llvm; +using namespace llvm::json; + +static llvm::ExitOnError ExitOnErr; + +namespace clang { +namespace doc { + +class JSONGenerator : public Generator { +public: + static const char *

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi commented: This is a good start, but I thin we'll want some more tests, and probably some unit test coverage. Unittesting is especially nice, since I believe this backend doesn't need any of the asset files, right? As for whether this should follow the pattern of YAM

[clang-tools-extra] [clang-doc] add a JSON generator (PR #142483)

2025-06-03 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/142483 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] add tags to Mustache namespace template (PR #142045)

2025-06-03 Thread Paul Kirth via cfe-commits
ilovepi wrote: > Hi, sorry for the lack response. Unfortunately my father passed away recently > so I was dealing with the logistics. I'm more than happy to deal with any > issues that arises from my previous code @PeterChou1 I'm sorry to hear about your circumstances. That's truly a hard th

[clang-tools-extra] [clang-doc] Fix brittle check in test (PR #142665)

2025-06-03 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi created https://github.com/llvm/llvm-project/pull/142665 Instead of having a platform specific error diagnostic, use a fixed one with more direct context for the error. >From 26277ead2a7f476daaae7c7c972549b6f949d850 Mon Sep 17 00:00:00 2001 From: Paul Kirth Date: Tue

[clang-tools-extra] [clang-doc] Fix brittle check in test (PR #142665)

2025-06-03 Thread Paul Kirth via cfe-commits
ilovepi wrote: * **#142665** https://app.graphite.dev/github/pr/llvm/llvm-project/142665?utm_source=stack-comment-icon"; target="_blank">https://static.graphite.dev/graphite-32x32-black.png"; alt="Graphite" width="10px" height="10px"/> 👈 https://app.graphite.dev/github/pr/llvm/llvm-project/1426

[clang-tools-extra] [clang-doc] Reenable time trace support (PR #141139)

2025-06-03 Thread Paul Kirth via cfe-commits
ilovepi wrote: ### Merge activity * **Jun 3, 4:54 PM UTC**: A user started a stack merge that includes this pull request via [Graphite](https://app.graphite.dev/github/pr/llvm/llvm-project/141139). https://github.com/llvm/llvm-project/pull/141139 _

[clang-tools-extra] [clang-doc] Reenable time trace support (PR #141139)

2025-06-03 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/141139 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] Add test case for #141990 (PR #142209)

2025-06-03 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/142209 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] [test] Generalize error message patterns (PR #142373)

2025-06-03 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/142373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] [test] Generalize error message patterns (PR #142373)

2025-06-03 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. Thanks for pointing this out. I'll try to follow up later today w/ a less brittle check. https://github.com/llvm/llvm-project/pull/142373 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-01 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi commented: I'll take another pass later in the week, but here are some initial comments. https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-01 Thread Paul Kirth via cfe-commits
@@ -26,6 +26,66 @@ namespace clang { namespace doc { +CommentKind stringToCommentKind(llvm::StringRef KindStr) { + if (KindStr == "FullComment") +return CommentKind::CK_FullComment; ilovepi wrote: IDK if the huge set of conditionals is great. There are a

[clang-tools-extra] Refactor clang doc comment structure (PR #142273)

2025-06-01 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/142273 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [clang-doc] Adds a mustache backend (PR #133161)

2025-05-31 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/133161 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [clang-doc] Adds a mustache backend (PR #133161)

2025-05-31 Thread Paul Kirth via cfe-commits
ilovepi wrote: We've landed all of this functionality, so this can be closed. https://github.com/llvm/llvm-project/pull/133161 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] Reenable time trace support (PR #141139)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi updated https://github.com/llvm/llvm-project/pull/141139 >From feed17a330e088d068fc3a0a2eb127bda102f608 Mon Sep 17 00:00:00 2001 From: Paul Kirth Date: Wed, 21 May 2025 09:50:32 -0700 Subject: [PATCH] [clang-doc] Reenable time trace support This patch re-enables -fti

[clang-tools-extra] [clang-doc] Reenable time trace support (PR #141139)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi updated https://github.com/llvm/llvm-project/pull/141139 >From 80db854474347bcc219a8780fc68458197ba2e92 Mon Sep 17 00:00:00 2001 From: Paul Kirth Date: Wed, 21 May 2025 09:50:32 -0700 Subject: [PATCH] [clang-doc] Reenable time trace support This patch re-enables -fti

[clang-tools-extra] [cmake][clang-tools] Make split-file a dependency for tests (PR #142048)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/142048 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] add tags to Mustache namespace template (PR #142045)

2025-05-30 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,74 @@ +// RUN: rm -rf %t && mkdir -p %t +// RUN: clang-doc --format=mustache --output=%t --executor=standalone %s +// RUN: FileCheck %s < %t/GlobalNamespace/index.html + +enum Color { + RED, + BLUE, + GREEN +}; + +class Foo; + +// CHECK: +// CHECK-NEXT:

[clang-tools-extra] [clang-doc] add tags to Mustache namespace template (PR #142045)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. LGTM. We may want to tweak the template some more, but we should get the test in place now and follow up if we want to change the aesthetics later. https://github.com/llvm/llvm-project/pull/142045 ___

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/141699 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] Add test case for #141990 (PR #142209)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi created https://github.com/llvm/llvm-project/pull/142209 When we landed the fix for the assertion in #141990, we hadn't yet reduced the test case sufficiently for a regression test. >From b541800f007dd538d2aead1b514bbe55c175d0ca Mon Sep 17 00:00:00 2001 From: Paul Kir

[clang-tools-extra] [clang-doc] Add test case for #141990 (PR #142209)

2025-05-30 Thread Paul Kirth via cfe-commits
ilovepi wrote: * **#142209** https://app.graphite.dev/github/pr/llvm/llvm-project/142209?utm_source=stack-comment-icon"; target="_blank">https://static.graphite.dev/graphite-32x32-black.png"; alt="Graphite" width="10px" height="10px"/> 👈 https://app.graphite.dev/github/pr/llvm/llvm-project/1422

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/141699 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi edited https://github.com/llvm/llvm-project/pull/141699 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-30 Thread Paul Kirth via cfe-commits
@@ -245,10 +247,32 @@ sortUsrToInfo(llvm::StringMap> &USRToInfo) { } } +llvm::Error handleMappingPhaseErrors(llvm::Error Err, + bool IgnoreMappingFailures) { + if (!Err) +return llvm::Error::success(); + if (IgnoreMappingFailures) {

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-30 Thread Paul Kirth via cfe-commits
@@ -245,10 +247,32 @@ sortUsrToInfo(llvm::StringMap> &USRToInfo) { } } +llvm::Error handleMappingPhaseErrors(llvm::Error Err, ilovepi wrote: This should be `static`. `handleMappingFailures()` makes more sense to me as an API name. Since IgnoreMappingFailu

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-30 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,29 @@ +/// Invalid output path (%t is a file, not a directory). +// RUN: rm -rf %t && touch %t +// RUN: not clang-doc %s -output=%t/subdir 2>&1 | FileCheck %s +// CHECK: clang-doc error: +// CHECK: {{(Not a directory|no such file or directory)}} + +/// Invalid format op

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-30 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi approved this pull request. I think this will be fine to land after the small changes I've requested are done, and CI is passing. Thanks for helping out clang-doc, and bearing with the review process. https://github.com/llvm/llvm-project/pull/141699 _

[clang-tools-extra] [clang-doc] Refactor error handling to use ExitOnError (PR #141699)

2025-05-29 Thread Paul Kirth via cfe-commits
@@ -0,0 +1,29 @@ +/// Invalid output path (%t is a file, not a directory). +// RUN: rm -rf %t && touch %t +// RUN: not clang-doc %s -output=%t/subdir 2>&1 | FileCheck %s +// CHECK: clang-doc error: +// CHECK: {{(Not a directory|no such file or directory)}} + +/// Invalid format op

  1   2   3   4   5   6   7   8   9   10   >