From: David Bremner <david@tethera.net>
To: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>, notmuch@notmuchmail.org
Cc: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>
Subject: Re: [PATCH] compat: expose canonicalize_file_name to C++
Date: Sat, 17 Apr 2021 09:13:19 -0300 [thread overview]
Message-ID: <87a6pxcdnk.fsf@tethera.net> (raw)
In-Reply-To: <20210417001835.24251-1-congdanhqx@gmail.com>
Đoàn Trần Công Danh <congdanhqx@gmail.com> writes:
> When compat canonicalize_file_name was introduced, it was limited to
> C code only because it was used by C code only during that time.
>
> From 5ec6fd4d, (lib/open: check for split configuration when creating
> database., 2021-02-16), lib/open.cc, which is C++, relies on the
> existent of canonicalize_file_name.
>
> Let's remove the language restriction to support those platforms don't
> have canonicalize_file_name(3).
Thanks for the patch, but it seems that we need to change some other
things to make this work with C++?
I set HAVE_CANONICALIZE_FILE_NAME = 0 in Makefile.config, and with g++
10.2 on Debian I get
CXX -g -O2 lib/database.o
In file included from /usr/include/c++/10/cstdlib:75,
from /usr/include/c++/10/stdlib.h:36,
from ./util/xutil.h:24,
from lib/notmuch-private.h:34,
from lib/database-private.h:33,
from lib/database.cc:21:
/usr/include/stdlib.h:790:14: error: declaration of ‘char* canonicalize_file_name(const char*) throw ()’ has a different exception specifier
790 | extern char *canonicalize_file_name (const char *__name)
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from lib/notmuch-private.h:30,
from lib/database-private.h:33,
from lib/database.cc:21:
./compat/compat.h:42:1: note: from previous declaration ‘char* canonicalize_file_name(const char*)’
42 | canonicalize_file_name (const char *path);
| ^~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile.local:200: lib/database.o] Error 1
next prev parent reply other threads:[~2021-04-17 12:13 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-17 0:18 [PATCH] compat: expose canonicalize_file_name to C++ Đoàn Trần Công Danh
2021-04-17 12:13 ` David Bremner [this message]
2021-04-17 12:49 ` Đoàn Trần Công Danh
2021-04-17 14:39 ` David Bremner
2021-04-18 4:13 ` Đoàn Trần Công Danh
2021-04-18 7:08 ` Tomi Ollila
2021-04-18 10:38 ` Đoàn Trần Công Danh
2021-04-23 17:31 ` David Bremner
2021-04-24 0:29 ` Đoàn Trần Công Danh
2021-04-18 12:48 ` David Bremner
2021-04-18 16:19 ` Tomi Ollila
2021-04-18 16:47 ` Tomi Ollila
2021-04-24 0:57 ` [PATCH v3] compat: rename {,notmuch_}canonicalize_file_name Đoàn Trần Công Danh
2021-04-24 1:01 ` Đoàn Trần Công Danh
2021-04-24 1:05 ` [PATCH v4] " Đoàn Trần Công Danh
2021-04-24 11:43 ` David Bremner
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
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a6pxcdnk.fsf@tethera.net \
--to=david@tethera.net \
--cc=congdanhqx@gmail.com \
--cc=notmuch@notmuchmail.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 public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).