all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Evan Klitzke <evan@eklitzke.org>
To: Alan Mackenzie <acm@muc.de>
Cc: 51092@debbugs.gnu.org, Lars Ingebrigtsen <larsi@gnus.org>
Subject: bug#51092: [PATCH] Recognize consteval and constinit modifiers in C++
Date: Thu, 14 Oct 2021 14:22:22 -0400	[thread overview]
Message-ID: <CAKuwthj=XBp7w_LsurYATVTynzG+GmR69HMeOCiNy+dCmhEYEA@mail.gmail.com> (raw)
In-Reply-To: <YWVpSEsVSsTESbOC@ACM>

On Tue, Oct 12, 2021 at 6:54 AM Alan Mackenzie <acm@muc.de> wrote:
> As the maintainer of CC Mode, i'm in two minds over this.  It's clearly
> a step in the right direction.  But there's a non-trivial amount of work
> to be done to implement C++20's new features, and having just those few
> new keywords and nothing else in the release branch might jar.

It doesn't necessarily have to be in the release branch, I just
thought it would be nice since it's such a small change. But I'm not
too familiar with the branching process of Emacs or how much work that
is.

> Evan, you've clearly burrowed a fair way into CC Mode, and have some
> idea of how complicated it is.  Do you perhaps feel able and willing to
> add a larger part of C++20's new feature set to CC Mode?  Regular
> discussion and help from me would, of course, be available.  I envisage
> starting off in the CC Mode standalone project, and transferring the new
> features steadily to the Emacs master branch as they become ready; this
> has been my standard way of working for many years.  The standalone
> project is at SourceForge, and uses Mercurial (which is easy to learn)
> rather than git.

I'm far from an expert at elisp but I'm happy to review and test
changes to cc mode, and discuss them. I did look through some other
parts of the cc mode code and it is pretty daunting. I don't mind
working with sourceforge or mercurial.

I'm curious, do you have an idea of what other C++20 features need
more support in cc mode? One thing I did notice when making this
change is that some modifiers in C++ should only apply to variable
declarations (e.g. mutable, thread_local, constinit), some apply only
to function declarations (e.g. virtual, consteval), and some can apply
to either (e.g. constexpr), and currently the cc mode code doesn't
distinguish between these cases. But this isn't exactly a C++20 thing,
since it applies to many of the existing keywords.

-- 
evan klitzke
https://eklitzke.org/





  parent reply	other threads:[~2021-10-14 18:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-08  1:10 bug#51092: [PATCH] Recognize consteval and constinit modifiers in C++ Evan Klitzke
2021-10-08 11:02 ` Lars Ingebrigtsen
2021-10-12 10:54   ` Alan Mackenzie
2021-10-12 14:13     ` Eli Zaretskii
2021-10-14 18:22     ` Evan Klitzke [this message]
2022-09-10  5:19     ` Lars Ingebrigtsen
2022-09-13 17:26       ` Alan Mackenzie
2022-09-14 12:32         ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKuwthj=XBp7w_LsurYATVTynzG+GmR69HMeOCiNy+dCmhEYEA@mail.gmail.com' \
    --to=evan@eklitzke.org \
    --cc=51092@debbugs.gnu.org \
    --cc=acm@muc.de \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.