文件最后提交记录最后更新时间
[clang][NFC] Trim license header comments to 81 characters (#82919) clang-format would format these headers poorly by splitting it into multiple lines.2 年前
[NFC][TargetParser] Replace uses of llvm/Support/Host.h The forwarding header is left in place because of its use in polly/lib/External/isl/interface/extract_interface.cc, but I have added a GCC warning about the fact it is deprecated, because it is used in isl from where it is included by Polly.3 年前
Reapply "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92283) This patch reapplies #90500, addressing a bug which caused binary operators with dependent operands to be incorrectly rebuilt by TreeTransform.2 年前
[Clang] [Sema] Diagnose unknown std::initializer_list layout in SemaInit (#95580) This checks if the layout of std::initializer_list is something Clang can handle much earlier and deduplicates the checks in CodeGen/CGExprAgg.cpp and AST/ExprConstant.cpp Also now diagnose union initializer_list (Fixes #95495), bit-field for the size (Fixes a crash that would happen during codegen if it were unnamed), base classes (that wouldn't be initialized) and polymorphic classes (whose vtable pointer wouldn't be initialized).1 年前
[clang][ASTMatchers] Fix forEachArgumentWithParam* for deducing "this" operator calls (#84887) This is a follow-up commit of #84446. In this patch, I demonstrate that forEachArgumentWithParam and forEachArgumentWithParamType did not correctly handle the presence of the explicit object parameter for operator calls. Prior to this patch, the matcher would skip the first (and only) argument of the operator call if the explicit object param was used. Note that I had to move the definition of isExplicitObjectMemberFunction, to be declared before the matcher I fix to be visible. I also had to do some gymnastics for passing the language standard version command-line flags to the invocation as matchAndVerifyResultTrue wasn't really considered for non-c++11 code. See the that it always prepends -std=gnu++11 to the command-line arguments. I workarounded it by accepting extra args, which get appended, thus possibly overriding the hardcoded arguments. I'm not sure if this qualifies for backporting to clang-18 (probably not because its not a crash, but a semantic problem), but I figure it might be useful for some vendors (like us). But we are also happy to cherry-pick this fix to downstream. Let me know if you want this to be backported or not. CPP-50742 年前
[ASTMatchers] forCallable should not erase binding on success (#89657) Do not erase Builder when the first check fails because it could succeed on the second stack frame. The problem was that InnerMatcher.matches erases the bindings when it returns false. The appropriate solution is to pass a copy of the bindings, similar to what matchesFirstInRange does.2 年前
[Support] Move TargetParsers to new component This is a fairly large changeset, but it can be broken into a few pieces: - llvm/Support/*TargetParser* are all moved from the LLVM Support component into a new LLVM Component called "TargetParser". This potentially enables using tablegen to maintain this information, as is shown in https://reviews.llvm.org/D137517. This cannot currently be done, as llvm-tblgen relies on LLVM's Support component. - This also moves two files from Support which use and depend on information in the TargetParser: - llvm/Support/Host.{h,cpp} which contains functions for inspecting the current Host machine for info about it, primarily to support getting the host triple, but also for -mcpu=native support in e.g. Clang. This is fairly tightly intertwined with the information in X86TargetParser.h, so keeping them in the same component makes sense. - llvm/ADT/Triple.h and llvm/Support/Triple.cpp, which contains the target triple parser and representation. This is very intertwined with the Arm target parser, because the arm architecture version appears in canonical triples on arm platforms. - I moved the relevant unittests to their own directory. And so, we end up with a single component that has all the information about the following, which to me seems like a unified component: - Triples that LLVM Knows about - Architecture names and CPUs that LLVM knows about - CPU detection logic for LLVM Given this, I have also moved RISCVISAInfo.h into this component, as it seems to me to be part of that same set of functionality. If you get link errors in your components after this patch, you likely need to add TargetParser into LLVM_LINK_COMPONENTS in CMake. Differential Revision: https://reviews.llvm.org/D1378383 年前
Add matchers for gtest's ASSERT_THAT, EXPECT_THAT, ON_CALL and EXPECT_CALL This patch adds support for matching gtest's ASSERT_THAT, EXPECT_THAT, ON_CALL and EXPECT_CALL macros. Reviewed By: ymandel, hokein Differential Revision: https://reviews.llvm.org/D1031954 年前