[PATCH] D64087: [clang] Correct source locations for instantiations of out-of-line defaulted special member functions. (PR25683)

2019-07-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added a reviewer: rsmith. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fixes PR25683 (https://bugs.llvm.org/show_bug.cgi?id=25683) This change completes adjustments of source locations for FunctionDecl definitions correspond

[PATCH] D64087: [clang] Correct source locations for instantiations of out-of-line defaulted special member functions. (PR25683)

2019-07-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. See PR25683 (https://bugs.llvm.org/show_bug.cgi?id=25683) for more details. The patch posted here differs slightly from what is posted in the PR; `getLocation()` is called instead of `getBeginLoc()` since the latter may return a customized begin location. I believ

[PATCH] D82081: [z/OS] Add binary format goff and operating system zos to the triple

2020-06-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. @Kai, I'm afraid I won't be able to assist much in reviews of most z/OS related patches (due to lack of time and lack of expertise with various parts of z/OS), but please do copy me on anything related to source and execution character set encoding or conversions, h

[PATCH] D82081: [z/OS] Add binary format goff and operating system zos to the triple

2020-08-07 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added a comment. I'm not a regular Clang reviewer. But for what it is worth, the changes look correct, clear, and appropriate from my lens (though I disagree slightly with some of the lint recommendations in the cases where the recommendation devi

[PATCH] D132831: [clang][Interp] Handle SubstNonTypeTemplateParmExprs

2022-08-29 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:273 +const SubstNonTypeTemplateParmExpr *E) { + return this->visit(E->getReplacement()); +} erichkeane wrote: > tbaeder wrote: > > erichkeane wrote: > > > Is there nothin

[PATCH] D132877: Downgrade the UAX31 diagnostic to a warning which defaults to an error

2022-08-29 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. I don't have a strong opinion regarding when, or if, the diagnostic is reverted to an always-error. It looks like gcc is not even planning to diagnose identifiers that are ill-formed according to the new rules by default. With regard to Corentin's opposition to the

[PATCH] D129664: [Clang] Adjust extension warnings for delimited sequences

2022-08-31 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > While accepting all these inside of string and character literals in C and > C++20 and older is fine, accepting them inside of identifiers can change > meaning of valid programs. Thank you for reporting this impact, @jakubjelinek! I'll copy you on an email to WG2

[PATCH] D133499: [clang]: Add DeclContext::dumpDecl() in order to conveniently dump an AST from a DeclContext.

2022-09-08 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman, shafik. Herald added a project: All. tahonermann requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. This change enables a declaration to be conveniently

[PATCH] D133500: [clang] Correct handling of lambdas in lambda default arguments in dependent contexts.

2022-09-08 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman, shafik. Herald added a project: All. tahonermann requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Previously, a lambda expression in a dependent conte

[PATCH] D133500: [clang] Correct handling of lambdas in lambda default arguments in dependent contexts.

2022-09-08 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/Sema/SemaTemplateInstantiate.cpp:2460-2475 -FunctionDecl *OwningFunc = cast(OldParm->getDeclContext()); -if (OwningFunc->isInLocalScopeForInstantiation()) { - // Instantiate default arguments for methods of loc

[PATCH] D133249: [libc++] Documents details of the pre-commit CI.

2022-09-09 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/www/hacking.html:295-296 + directory will cause the update of the diff to start a CI run. This dummy + file will also add the libc++ group to the list of reviewers. The status of + the build will be available in Phabricator.

[PATCH] D133641: [Clang] [Sema] Ignore invalid multiversion function redeclarations

2022-09-13 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added a comment. This revision is now accepted and ready to land. Thank you, this looks good to me! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133641/new/ https://reviews.llvm.org/D133641

[PATCH] D133807: Update Unicode to 15.0

2022-09-15 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. Structurally, these changes look like what I would expect. I didn't try to validate any of the code point ranges. Are there useful tests that could be modified or added in order to validate (probably on a spot check basis) Unicode 15 support for regression purposes?

[PATCH] D133807: Update Unicode to 15.0

2022-09-15 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > I considered it, and I can add a few if you insist but... I'm not sure adding > random tests tell us much except that the specific tested characters are > supported. I wouldn't expect to learn anything from doing so; it would just provide regression protection (f

[PATCH] D149573: [Clang][C++23] Implement core language changes from P1467R9 extended floating-point types and standard names

2023-11-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. Apologies once again for the delayed response. I reviewed some today and will resume reviewing on Monday. In addition to the inline suggestions: `clang/docs/ReleaseNotes.rst` will need to be updated to reflect that the core language changes for P1467R9 have been im

[PATCH] D128182: [NFC] Switch FloatModeKind enum class to use bitmask enums

2022-07-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. @jolanta.jensen, I was on vacation last week and missed my opportunity to comment on this. I know the change has already landed, but I added a few comments anyway. Comment at: clang/include/clang/Basic/TargetInfo.h:226-227 + unsigned RealTypeUses

[PATCH] D128762: [Clang] Rename StringLiteral::isAscii() => isOrdinary() [NFC]

2022-07-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. Just stopping by to say, thank you @cor3ntin! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128762/new/ https://reviews.llvm.org/D128762 ___ cfe-commits mailing list cfe-comm

[PATCH] D108469: Improve handling of static assert messages.

2022-07-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. Herald added a reviewer: NoQ. I missed my opportunity to review while being on vacation last week. I reviewed to keep myself informed; spotted a typo. Comment at: llvm/lib/Support/Unicode.cpp:272 +/// Unicode code points of the Cf category are cons

[PATCH] D122608: Fix behavior of ifuncs with 'used' extern "C" static functions

2022-03-29 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:6319 +/// If all uses of the GV are from an IFunc resolver, which can happen when the +/// IFunc resolver is a static-function, but the name ends up being different, +/// return the IFunc so it can

[PATCH] D122608: Fix behavior of ifuncs with 'used' extern "C" static functions

2022-03-31 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:6348-6349 +} else { + // If neither of these things, we have a user we don't know how to handle, + // so default to previous behavior of emitting a terrible error message. + ret

[PATCH] D122608: Fix behavior of ifuncs with 'used' extern "C" static functions

2022-04-01 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:6393 +// If Val is null, that implies there were multiple declarations that each +// had a claim to the unmangled name. In this case, generation of hte alias +// is suppressed. See Code

[PATCH] D122608: Fix behavior of ifuncs with 'used' extern "C" static functions

2022-04-01 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added a comment. This revision is now accepted and ready to land. Looks good to me! I left one final comment about a double period that was my fault. Comment at: clang/lib/CodeGen/CodeGenModule.h:1578 + /// may not reference ali

[PATCH] D122952: [clang] NFC: Extend comdat validation in target multiversion function tests.

2022-04-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann added inline comments. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commen

[PATCH] D122953: [clang] Emit target_clones resolver functions as COMDAT.

2022-04-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. Previously, resolver functions synthesized for target_clone

[PATCH] D122954: [clang] Extend target_clones tests to exercise declarations that are not definitions.

2022-04-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann added inline comments. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commen

[PATCH] D122955: [clang] NFC: Enhance comments in CodeGen for multiversion function support.

2022-04-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann added inline comments. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commen

[PATCH] D122956: [clang] NFC: Simplify the interface to CodeGenModule::GetOrCreateMultiVersionResolver().

2022-04-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann added inline comments. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commen

[PATCH] D122957: [clang] NFC: Preparation for merging code to emit target and target_clones resolvers.

2022-04-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. This change modifies CodeGenModule::emitMultiVersionFunctio

[PATCH] D122958: [clang] Corrections for target_clones multiversion functions.

2022-04-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a subscriber: kristof.beyls. Herald added a project: All. tahonermann updated this revision to Diff 419919. tahonermann added a comment. tahonermann updated this revision to Diff 420008. tahonerm

[PATCH] D122954: [clang] Extend target_clones tests to exercise declarations that are not definitions.

2022-04-04 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > FWIW, I dislike this idea of doing tests in separate commits from the patch > itself, it makes the review of the patch more difficult, and makes looking > through history more difficult. Here is my perspective on this. When adding a new feature, I agree that incl

[PATCH] D122954: [clang] Extend target_clones tests to exercise declarations that are not definitions.

2022-04-04 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > but I DO have the opposite problem: Figuring out what the associated tests > are for a patch I also have that issue, but I don't see the relevance here. The changes in D122958 that fixes the issues revealed by these tests includ

[PATCH] D122955: [clang] NFC: Enhance comments in CodeGen for multiversion function support.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 420586. tahonermann added a comment. Reworded a comment to address code review commentary. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122955/new/ https://reviews.llvm.org/D122955 Files: clang/include/

[PATCH] D122958: [clang] Corrections for target_clones multiversion functions.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 420587. tahonermann added a comment. Squashed the addition of tests originally made in D122954 to this review. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122958/new/ h

[PATCH] D122954: [clang] Extend target_clones tests to exercise declarations that are not definitions.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann abandoned this revision. tahonermann added a comment. Abandoning this review; the changes made here have been squashed into D122958 . With regard to prior comments, it seems we have divergent experience regarding the utility of separating commits as

[PATCH] D123064: [Clang][C++23][WIP] P2071 Named universal character escapes

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. This looks pretty good to me. I added a few comments. I mostly just reviewed the lexer related code; I didn't dive into the name matching code. Comment at: clang/include/clang/Basic/DiagnosticLexKinds.td:130-131 def ext_delimited_escape_sequence

[PATCH] D122952: [clang] NFC: Extend comdat validation in target multiversion function tests.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann closed this revision. tahonermann added a comment. Closing per commit 3531a4fa3b7038d43ac20f56871da88aa25bf53d (I failed to add "Differential Revision" to the commit message). Repository: rG LL

[PATCH] D122953: [clang] Emit target_clones resolver functions as COMDAT.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann closed this revision. tahonermann added a comment. Closing per commit 7c53fc4fe1308f5b2a7527d14ea41fabb18109b8 (I failed to add "Differential Revision" to the commit message). Repository: rG LL

[PATCH] D122955: [clang] NFC: Enhance comments in CodeGen for multiversion function support.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. tahonermann marked an inline comment as done. Closed by commit rGbed5ee3f4ba2: [clang] NFC: Enhance comments in CodeGen for multiversion function support. (authored by

[PATCH] D122956: [clang] NFC: Simplify the interface to CodeGenModule::GetOrCreateMultiVersionResolver().

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG0ace0100aec3: [clang] NFC: Simplify the interface to CodeGenModule… (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122956/new/ htt

[PATCH] D122957: [clang] NFC: Preparation for merging code to emit target and target_clones resolvers.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG40af8df6fe64: [clang] NFC: Preparation for merging code to emit target and target_clones… (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm

[PATCH] D122958: [clang] Corrections for target_clones multiversion functions.

2022-04-05 Thread Tom Honermann via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG5531abaf7158: [clang] Corrections for target_clones multiversion functions. (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGE

[PATCH] D130331: [C++20] [Modules] Disable preferred_name when writing a C++20 Module interface

2022-07-26 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. I guess this is probably ok as a short term fix for the Clang 15 release. It still makes me nervous though. Comment at: clang/lib/Serialization/ASTWriter.cpp:4353 + // https://github.com/llvm/llvm-project/issues/56490 for example. + if (!A || (is

[PATCH] D130331: [C++20] [Modules] Disable preferred_name when writing a C++20 Module interface

2022-07-26 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added inline comments. Comment at: clang/lib/Serialization/ASTWriter.cpp:4353 + // https://github.com/llvm/llvm-project/issues/56490 for example. + if (!A || (isa(A) && Writer->isWritingNamedModules())) return Record.push_bac

[PATCH] D130058: [Clang] Diagnose ill-formed constant expression when setting a non fixed enum to a value outside the range of the enumeration values

2022-07-27 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/test/SemaCXX/constant-expression-cxx11.cpp:2420 + constexpr E1 x2 = static_cast(8); // expected-error {{must be initialized by a constant expression}} + // expected-note@-1 {{integer value 8 is outside the valid range of val

[PATCH] D130416: [Clang] Add support for Unicode identifiers (UAX31) in C2x mode.

2022-07-28 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. Apologies for the much delayed review (I know this already landed). I added a comment, but I don't know if there is actually an issue to be fixed. This looks good to me otherwise. Comment at: clang/lib/Lex/Lexer.cpp:1490-1492 static const llv

[PATCH] D130750: [Clang] Do not check for underscores in isAllowedInitiallyIDChar

2022-07-29 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added a comment. LGTM, thanks Corentin. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D130750/new/ https://reviews.llvm.org/D130750 ___ cfe-commits mailing

[PATCH] D130058: [Clang] Diagnose ill-formed constant expression when setting a non fixed enum to a value outside the range of the enumeration values

2022-07-29 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/docs/ReleaseNotes.rst:55-57 +- Clang will now correctly diagnose as ill-formed a constant expression where an + enum without a fixed underlying type is set to a value outside the range of + of the enumerations values. Fixes

[PATCH] D131007: [NFCI] Refactor how KeywordStatus is calculated

2022-08-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added a comment. This revision is now accepted and ready to land. I think this looks good. It took me a while to appreciate the new approach; I miss some of the compactness of the previous presentation, but this approach looks more likely to ensure

[PATCH] D131007: [NFCI] Refactor how KeywordStatus is calculated

2022-08-02 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added a comment. Accepting again. New changes suggested by Aaron are a clear improvement. Except maybe for the rename of `LSB` to `LSSB`. `LSSB` is what? Low-Speed Serial Bus? Law School Student Body? Lone Star Symphonic Band? Maybe just call it `

[PATCH] D103426: Clang: Extend format string checking to wprintf/wscanf

2021-07-25 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/AST/Type.cpp:1962 +bool Type::isType(const std::string TypeName) const { + QualType Desugar = this->getLocallyUnqualifiedSingleStepDesugaredType(); MarcusJohnson91 wrote: > efriedma wrote: > > MarcusJohn

[PATCH] D103426: Clang: Extend format string checking to wprintf/wscanf

2021-07-26 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/include/clang/AST/Expr.h:1846-1871 + std::string getStringAsChar() const { +assert(getCharByteWidth() == 1 && + "This function is used in places that assume strings use char"); +return std::string(getTrailing

[PATCH] D121954: [clang] Add test cases for multiversion function overload scenarios in C.

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. Herald added a project: All. tahonermann added reviewers: erichkeane, aaron.ballman. tahonermann published this revision for review. tahonermann added inline comments. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commen

[PATCH] D121955: [clang] NFC: Dead code removal in SemaDecl.cpp, CheckMultiVersionFunction().

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. tahonermann added inline comments. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commen

[PATCH] D121957: [clang] NFC: Redundant code removal in SemaDecl.cpp, CheckTargetCausesMultiVersioning().

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. tahonermann added inline comments. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commen

[PATCH] D121958: [clang] NFC: Remove forced type merging in multiversion function checks.

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. Checking of multiversion function declarations performed by

[PATCH] D121959: [clang] Add missing diagnostics for invalid overloads of multiversion functions in C.

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. tahonermann added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. This change resolves both LLVM

[PATCH] D121960: [clang] NFC: Rename 'MVType' variables to 'MVKind' for consistency with their type.

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm

[PATCH] D121961: [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added a project: All. tahonermann published this revision for review. Herald added a project: clang. Herald added a subscriber: cfe-commits. This change adds a "multiversion" annotation to textual AST

[PATCH] D121962: [clang] [OpenMP] Extend OpenMP variant declaration tests.

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added subscribers: guansong, yaxunl. Herald added a project: All. tahonermann published this revision for review. tahonermann added inline comments. Herald added a reviewer: jdoerfert. Herald added sub

[PATCH] D121963: [clang] [OpenMP] Diagnose use of 'target_clones' in OpenMP variant declarations.

2022-03-17 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann created this revision. tahonermann added reviewers: erichkeane, aaron.ballman. Herald added subscribers: guansong, yaxunl. Herald added a project: All. tahonermann published this revision for review. Herald added a reviewer: jdoerfert. Herald added subscribers: cfe-commits, sstefan1. He

[PATCH] D121958: [clang] NFC: Remove forced type merging in multiversion function checks.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > Hmm... my understanding is "MergeTypeWithPrevious" is important for cases > where we decide that this is a redeclaration, right? We need to set it to > 'false' when we "know" that this is a different declaration, right? So at > least the '=false' was correct? As

[PATCH] D121959: [clang] Add missing diagnostics for invalid overloads of multiversion functions in C.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > These words have no power here. No power, but not uninformative to some. I promise to keep such references out of git's permanent record :) Comment at: clang/test/Sema/attr-cpuspecific.c:133 -// FIXME: Declaration of a non-overloadable functio

[PATCH] D121961: [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > Is there a need for this functionality? Not a strong need, but I found it helpful in two scenarios: 1. A forward declaration of a multiversion function is not required to include a multiversion function attribute; later declarations might trigger multiversioning.

[PATCH] D121958: [clang] NFC: Remove forced type merging in multiversion function checks.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416604. tahonermann added a comment. Updates to address clang-format complaints. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121958/new/ https://reviews.llvm.org/D121958 Files: clang/lib/Sema/SemaDecl.

[PATCH] D121961: [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416618. tahonermann added a comment. Added a test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121961/new/ https://reviews.llvm.org/D121961 Files: clang/lib/AST/TextNodeDumper.cpp clang/test/AST/ast-

[PATCH] D121958: [clang] NFC: Remove forced type merging in multiversion function checks.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416632. tahonermann added a comment. Fix bad merge conflict resolution that I failed to even test compiling. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121958/new/ https://reviews.llvm.org/D121958 Files

[PATCH] D121959: [clang] Add missing diagnostics for invalid overloads of multiversion functions in C.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416643. tahonermann added a comment. Rebase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121959/new/ https://reviews.llvm.org/D121959 Files: clang/lib/Sema/SemaDecl.cpp clang/test/Sema/attr-cpuspecif

[PATCH] D121960: [clang] NFC: Rename 'MVType' variables to 'MVKind' for consistency with their type.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416644. tahonermann added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121960/new/ https://reviews.llvm.org/D121960 Files: clang/lib/Sema/SemaDecl.cpp Index: clang/lib/Sema/SemaDecl.c

[PATCH] D121961: [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416645. tahonermann added a comment. Rebase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121961/new/ https://reviews.llvm.org/D121961 Files: clang/lib/AST/TextNodeDumper.cpp clang/test/AST/ast-dump-f

[PATCH] D121962: [clang] [OpenMP] Extend OpenMP variant declaration tests.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416646. tahonermann added a comment. Rebase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121962/new/ https://reviews.llvm.org/D121962 Files: clang/test/OpenMP/declare_variant_messages.c Index: clang/

[PATCH] D121963: [clang] [OpenMP] Diagnose use of 'target_clones' in OpenMP variant declarations.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416647. tahonermann added a comment. Rebase. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121963/new/ https://reviews.llvm.org/D121963 Files: clang/lib/Sema/SemaOpenMP.cpp clang/test/OpenMP/declare_va

[PATCH] D121959: [clang] Add missing diagnostics for invalid overloads of multiversion functions in C.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416665. tahonermann added a comment. Corrected a clang-format issue. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121959/new/ https://reviews.llvm.org/D121959 Files: clang/lib/Sema/SemaDecl.cpp clang/

[PATCH] D121960: [clang] NFC: Rename 'MVType' variables to 'MVKind' for consistency with their type.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 41. tahonermann added a comment. Rebase with a correction for an incorrect merge conflict resolution that propagated from D121958 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.

[PATCH] D121961: [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416668. tahonermann added a comment. Rebase to acquire fixes from parent commits. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121961/new/ https://reviews.llvm.org/D121961 Files: clang/lib/AST/TextNodeD

[PATCH] D121962: [clang] [OpenMP] Extend OpenMP variant declaration tests.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416669. tahonermann added a comment. Rebase to acquire fixes from parent commits. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121962/new/ https://reviews.llvm.org/D121962 Files: clang/test/OpenMP/decla

[PATCH] D121963: [clang] [OpenMP] Diagnose use of 'target_clones' in OpenMP variant declarations.

2022-03-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann updated this revision to Diff 416670. tahonermann added a comment. Rebase to acquire fixes from parent commits. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121963/new/ https://reviews.llvm.org/D121963 Files: clang/lib/Sema/SemaOpen

[PATCH] D121961: [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-19 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > I was surprised to see the Windows CI pass with that sed invocation! Ha! I didn't even think about that. I had copied the `RUN` lines from another test and only adjusted what was necessary. The bots must have Cygwin, MSYS[2], GnuWin32, or similar installed. Repo

[PATCH] D121954: [clang] Add test cases for multiversion function overload scenarios in C.

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG325c4c29d68c: [clang] Add test cases for multiversion function overload scenarios in C. (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D121955: [clang] NFC: Dead code removal in SemaDecl.cpp, CheckMultiVersionFunction().

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG77472a659e25: [clang] NFC: Dead code removal in SemaDecl.cpp, CheckMultiVersionFunction(). (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llv

[PATCH] D121957: [clang] NFC: Redundant code removal in SemaDecl.cpp, CheckTargetCausesMultiVersioning().

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG01b2e0567c54: [clang] NFC: Redundant code removal in SemaDecl.cpp… (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121957/new/ http

[PATCH] D121958: [clang] NFC: Remove forced type merging in multiversion function checks.

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG42e4c5b2610d: [clang] NFC: Remove forced type merging in multiversion function checks. (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.or

[PATCH] D121959: [clang] Add missing diagnostics for invalid overloads of multiversion functions in C.

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8b6f1cbb21c5: [clang] Add missing diagnostics for invalid overloads of multiversion functions… (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews

[PATCH] D121960: [clang] NFC: Rename 'MVType' variables to 'MVKind' for consistency with their type.

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG58c202a3d83d: [clang] NFC: Rename 'MVType' variables to 'MVKind' for consistency with their… (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.

[PATCH] D121961: [clang] Produce a "multiversion" annotation in textual AST output.

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG0cceee755992: [clang] Produce a "multiversion" annotation in textual AST output. (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121

[PATCH] D121962: [clang] [OpenMP] Extend OpenMP variant declaration tests.

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8ff8c3ac0dd6: [clang] [OpenMP] Extend OpenMP variant declaration tests. (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121962/new/

[PATCH] D121963: [clang] [OpenMP] Diagnose use of 'target_clones' in OpenMP variant declarations.

2022-03-21 Thread Tom Honermann via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG059a953d8819: [clang] [OpenMP] Diagnose use of 'target_clones' in OpenMP variant declarations. (authored by tahonermann). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

[PATCH] D122952: [clang] NFC: Extend comdat validation in target multiversion function tests.

2022-04-12 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann marked an inline comment as done. tahonermann added inline comments. Comment at: clang/test/CodeGen/attr-target-mv.c:95-111 +// WINDOWS: $foo_used = comdat any +// WINDOWS: $foo_used2.avx_sse4.2 = comdat any +// WINDOWS: $pr50025.resolver = comdat any +// WINDOWS: $pr

[PATCH] D119221: [clang][lexer] Allow u8 character literal prefixes in C2x

2022-04-13 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann accepted this revision. tahonermann added a comment. Looks good to me! Thank you for filing the separate issue. Comment at: clang/test/Lexer/utf8-char-literal.cpp:23 +char f = u8'ab';// expected-error {{Unicode character literals may not contain multipl

[PATCH] D121959: [clang] Add missing diagnostics for invalid overloads of multiversion functions in C.

2022-04-15 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > This might've caused a regression? > (https://github.com/llvm/llvm-project/issues/54892) @dblaikie, it most definitely did. Note that I'm the author of the patch that introduced the regression, the reporter of the regression, and the assignee for fixing the regre

[PATCH] D123955: [C2x] Disallow functions without prototypes/functions with identifier lists

2022-04-18 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/MemRegion.cpp:1034-1042 + if (T.isNull() || !T->getAs()) +// If the type is invalid or is not a function type, we cannot get +// a block pointer type for it. This isn't i

[PATCH] D119544: Deferred Concept Instantiation Implementation

2022-04-19 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > This is a case where the function is a template instantiation but does NOT > have a primary template, so I have to figure out what THAT means/what I > should be using instead. I think that is not supposed to be possible. For example, `FunctionDecl::isFunctionTemp

[PATCH] D119544: Deferred Concept Instantiation Implementation

2022-04-19 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > I wouldn't think so either? In this case the problem is that 'u' is not in > the re-manufactured scope, I think there is a bit of work to make sure that > lambdas ALSO get the scope of their containing function, if they are in a > functiondecl. I wouldn't expect

[PATCH] D119221: [clang][lexer] Allow u8 character literal prefixes in C2x

2022-02-11 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/lib/Lex/Lexer.cpp:3462 - case 'u': // Identifier (uber) or C11/C++11 UTF-8 or UTF-16 string literal + case 'u': // Identifier (uber) or C11/C2x/C++11 UTF-8 or UTF-16 string literal // Notify MIOpt that we read a non

[PATCH] D121589: [C++20][Modules][Driver][HU 2/N] Add fmodule-header, fmodule-header=

2022-04-25 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/docs/ClangCommandLineReference.rst:1183-1185 +.. option:: -fmodule-header=\[user,system\] + +Build a C++20 header unit, but search for the header in the user or system header search paths respectively. Are "us

[PATCH] D121589: [C++20][Modules][Driver][HU 2/N] Add fmodule-header, fmodule-header=

2022-04-25 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added inline comments. Comment at: clang/docs/ClangCommandLineReference.rst:1183-1185 +.. option:: -fmodule-header=\[user,system\] + +Build a C++20 header unit, but search for the header in the user or system header search paths respectively. iains w

[PATCH] D124258: [C89/C2x] Change the behavior of implicit int diagnostics

2022-04-28 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > Ping for the other reviewers in case they have thoughts. I took a gander and it all looks good to me. I added one comment regarding a test change. Comment at: clang/unittests/AST/SourceLocationTest.cpp:135-145 TEST(ParmVarDecl, KNRLocation) {

[PATCH] D122895: [C89/C2x] Improve diagnostics around strict prototypes in C

2022-04-29 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > I think it's debatable whether this is a bug or not For C99 through C17, I kind of agree, but for C2x (where the warning is still issued with `-Wstrict-prototypes`), my understanding is that `void foo(void)` and `void foo()` are equivalent; there is no unprototype

[PATCH] D104975: Implement P1949

2022-05-04 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann added a comment. > I hope at least GCC will not implement this arbitrary restriction on math > symbols. I would argue a partial derivative symbol in C++ has more sense than > a skull emoji. I am quite sure that gcc will also be implementing P1949 as

[PATCH] D124719: [docs] PCH usage documentation update

2022-05-04 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann reopened this revision. tahonermann added a comment. This revision is now accepted and ready to land. Reopening for further discussion or clarification. The changes appear to suggest that a PCH file won't be implicitly used when an explicit include for the corresponding header is mad

[PATCH] D124996: [clang][preprocessor] Fix unsigned-ness of utf8 char literals

2022-05-05 Thread Tom Honermann via Phabricator via cfe-commits
tahonermann requested changes to this revision. tahonermann added a comment. This revision now requires changes to proceed. I think changes are needed to make this behavior dependent on whether `char8_t` support is active or not. Comment at: clang/lib/Lex/PPExpressions.cpp:413

  1   2   3   4   >