public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
@ 2015-05-27 23:58 danglin at gcc dot gnu.org
  2015-05-28  7:33 ` [Bug gcov-profile/66319] " rguenth at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: danglin at gcc dot gnu.org @ 2015-05-27 23:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

            Bug ID: 66319
           Summary: [6 Regression] gcov-tool.c:84:65: error: invalid
                    conversion from 'int (*)(const c har*, const stat*,
                    int, FTW*)' to 'int (*)(const char*, const stat*, int,
                    FTW)'
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: gcov-profile
          Assignee: unassigned at gcc dot gnu.org
          Reporter: danglin at gcc dot gnu.org
                CC: tsaunders at mozilla dot com
  Target Milestone: ---
              Host: hppa2.0w-hp-hpux11.11
            Target: hppa2.0w-hp-hpux11.11
             Build: hppa2.0w-hp-hpux11.11

g++ -std=c++98 -c   -g -DIN_GCC    -fno-exceptions -fno-rtti
-fasynchronous-unwi
nd-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format
-Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -fno-common -Wno-error
-DHAVE_CONFIG_H -I. -I. -
I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include
-I../../gcc/gcc/../l
ibcpp/include -I/opt/gnu/gcc/gmp/include  -I../../gcc/gcc/../libdecnumber
-I../.
./gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc/gcc/../libbacktrace 
  -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include
-I../../gcc/gcc/../libcpp/include -I/opt/gnu/gcc/gmp/include 
-I../../gcc/gcc/../libdecnu
mber -I../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber
-I../../gcc/gcc/../li
bbacktrace  -o libgcov-util.o ../../gcc/gcc/../libgcc/libgcov-util.c
../../gcc/gcc/gcov-tool.c: In function 'int unlink_profile_dir(const char*)':
../../gcc/gcc/gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const
c
har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' 
[-fpermissive]
     return nftw(path, unlink_gcda_file, 64, FTW_DEPTH | FTW_PHYS);
                                                                 ^
In file included from ../../gcc/gcc/gcov-tool.c:39:0:
/usr/include/ftw.h:240:13: note:   initializing argument 2 of 'int nftw(const
ch
ar*, int (*)(const char*, const stat*, int, FTW), int, int)'
  inline int nftw(const char *a,int (*b)(const char *, const struct
             ^
make[3]: *** [gcov-tool.o] Error 1

The problem is function declaration of unlink_gcda_file doesn't match
declaration in In file included from ../../gcc/gcc/gcov-tool.c:39:0:
/usr/include/ftw.h:240.  Whether the fourth argument is "struct FTW *"
or "struct FTW" depends on compilation defines:

#ifdef _INCLUDE_XOPEN_SOURCE_EXTENDED
        /*
         * Do Mapping of nftw()         */
#if (defined(_XPG4_EXTENDED) && !defined(_INCLUDE_HPUX_SOURCE)) ||
defined(_XOPE
N_SOURCE_EXTENDED)
        inline int nftw(const char *a,int (*b)(const char *,
                const struct stat *, int, struct FTW *), int c, int d)
                        {return __nftw64(a,b,c,d);}
#else /* (defined(_XPG4_EXTENDED) && !defined(_INCLUDE_HPUX_SOURCE)) ||
defined(
_XOPEN_SOURCE_EXTENDED) */
        inline int nftw(const char *a,int (*b)(const char *, const struct
                stat *, int, struct FTW), int c, int d)
                        {return __nftw64(a,b,c,d);}
#endif /* (defined(_XPG4_EXTENDED) && !defined(_INCLUDE_HPUX_SOURCE)) ||
defined
(_XOPEN_SOURCE_EXTENDED) */
#endif /* _INCLUDE_XOPEN_SOURCE_EXTENDED */

Sadly, unlink_gcda_file doesn't use this argument.

Probably introduced by

2015-02-09  Trevor Saunders  <tsaunders@mozilla.com>

        PR gcov-profile/61889
        * config.in: regenerate.
        * configure.in: Likewise.
        * configure.ac: Check for ftw.h.
        * gcov-tool.c: Check for ftw.h before using nftw.

and my switch to building with gcc-5.  There were numerous successful builds
after the above change was applied.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gcov-profile/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
@ 2015-05-28  7:33 ` rguenth at gcc dot gnu.org
  2015-05-30 14:21 ` ebotcazou at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-05-28  7:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |build
   Target Milestone|---                         |6.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug gcov-profile/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
  2015-05-28  7:33 ` [Bug gcov-profile/66319] " rguenth at gcc dot gnu.org
@ 2015-05-30 14:21 ` ebotcazou at gcc dot gnu.org
  2015-06-02 13:28 ` [Bug bootstrap/66319] " jason at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2015-05-30 14:21 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-05-30
                 CC|                            |ebotcazou at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Yes, I have various similar quirks on Solaris and I'm not sure I really want to
start pulling the string...

Jason, could you downgrade to -std=gnu++98, or disable it altogether on hosts
other than Linux for now?


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug bootstrap/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
  2015-05-28  7:33 ` [Bug gcov-profile/66319] " rguenth at gcc dot gnu.org
  2015-05-30 14:21 ` ebotcazou at gcc dot gnu.org
@ 2015-06-02 13:28 ` jason at gcc dot gnu.org
  2015-06-02 17:51 ` jason at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jason at gcc dot gnu.org @ 2015-06-02 13:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |jason at gcc dot gnu.org
          Component|gcov-profile                |bootstrap
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
I guess to make this work, configure should check nftw to make sure it has the
right signature, and undefine HAVE_FTW_H if not.

This process has been catching real issues, but perhaps they aren't significant
enough to be worth the pain.  I guess I'll go ahead and switch to gnu++98.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug bootstrap/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2015-06-02 13:28 ` [Bug bootstrap/66319] " jason at gcc dot gnu.org
@ 2015-06-02 17:51 ` jason at gcc dot gnu.org
  2015-06-04 17:43 ` jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jason at gcc dot gnu.org @ 2015-06-02 17:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Tue Jun  2 17:50:23 2015
New Revision: 224039

URL: https://gcc.gnu.org/viewcvs?rev=224039&root=gcc&view=rev
Log:
        PR bootstrap/66319
        * configure.ac: Use -std=gnu++98.

Modified:
    trunk/ChangeLog
    trunk/configure
    trunk/configure.ac


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug bootstrap/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2015-06-02 17:51 ` jason at gcc dot gnu.org
@ 2015-06-04 17:43 ` jason at gcc dot gnu.org
  2015-06-06 18:33 ` danglin at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jason at gcc dot gnu.org @ 2015-06-04 17:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> ---
Should be better now.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug bootstrap/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-06-04 17:43 ` jason at gcc dot gnu.org
@ 2015-06-06 18:33 ` danglin at gcc dot gnu.org
  2015-06-06 18:35 ` danglin at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: danglin at gcc dot gnu.org @ 2015-06-06 18:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

--- Comment #7 from John David Anglin <danglin at gcc dot gnu.org> ---
Author: danglin
Date: Sat Jun  6 18:33:06 2015
New Revision: 224192

URL: https://gcc.gnu.org/viewcvs?rev=224192&root=gcc&view=rev
Log:
        PR bootstrap/66319
        * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
        defines.  Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
        Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
        later.
        * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
        Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
        _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
        _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
        and non iso if unix2003.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/pa/pa-hpux10.h
    trunk/gcc/config/pa/pa-hpux11.h


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug bootstrap/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-06-06 18:33 ` danglin at gcc dot gnu.org
@ 2015-06-06 18:35 ` danglin at gcc dot gnu.org
  2015-10-15 14:32 ` josephpattara at gmail dot com
  2015-10-16  0:36 ` dave.anglin at bell dot net
  8 siblings, 0 replies; 10+ messages in thread
From: danglin at gcc dot gnu.org @ 2015-06-06 18:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

--- Comment #8 from John David Anglin <danglin at gcc dot gnu.org> ---
Author: danglin
Date: Sat Jun  6 18:35:16 2015
New Revision: 224193

URL: https://gcc.gnu.org/viewcvs?rev=224193&root=gcc&view=rev
Log:
        PR bootstrap/66319
        * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
        defines.  Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
        Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
        later.
        * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
        Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
        _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
        _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
        and non iso if unix2003.


Modified:
    branches/gcc-5-branch/gcc/ChangeLog
    branches/gcc-5-branch/gcc/config/pa/pa-hpux10.h
    branches/gcc-5-branch/gcc/config/pa/pa-hpux11.h


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug bootstrap/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2015-06-06 18:35 ` danglin at gcc dot gnu.org
@ 2015-10-15 14:32 ` josephpattara at gmail dot com
  2015-10-16  0:36 ` dave.anglin at bell dot net
  8 siblings, 0 replies; 10+ messages in thread
From: josephpattara at gmail dot com @ 2015-10-15 14:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

Joseph John <josephpattara at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |josephpattara at gmail dot com

--- Comment #9 from Joseph John <josephpattara at gmail dot com> ---
Hi,
I am hitting the same error on the below platform.
B.11.31 U ia64 rx2800 

g++ -c  -DUSE_LIBUNWIND_EXCEPTIONS  -g -DIN_GCC    -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wno-format
-Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I.
-I. -I../../gcc-5.2.0/gcc -I../../gcc-5.2.0/gcc/.
-I../../gcc-5.2.0/gcc/../include -I../../gcc-5.2.0/gcc/../libcpp/include
-I/home/jjohn/hpux/gcc_520/gcc_build/./gmp
-I/home/jjohn/hpux/gcc_520/gcc-5.2.0/gmp
-I/home/jjohn/hpux/gcc_520/gcc_build/./mpfr/src
-I/home/jjohn/hpux/gcc_520/gcc-5.2.0/mpfr/src
-I/home/jjohn/hpux/gcc_520/gcc-5.2.0/mpc/src 
-I../../gcc-5.2.0/gcc/../libdecnumber -I../../gcc-5.2.0/gcc/../libdecnumber/dpd
-I../libdecnumber -I../../gcc-5.2.0/gcc/../libbacktrace
-I/home/jjohn/hpux/gcc_520/gcc_build/./isl/include
-I/home/jjohn/hpux/gcc_520/gcc-5.2.0/isl/include  -o gcov-tool.o -MT
gcov-tool.o -MMD -MP -MF ./.deps/gcov-tool.TPo ../../gcc-5.2.0/gcc/gcov-tool.c
../../gcc-5.2.0/gcc/gcov-tool.c: In function 'int unlink_profile_dir(const
char*)':
../../gcc-5.2.0/gcc/gcov-tool.c:84: error: invalid conversion from 'int
(*)(const char*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*,
int, FTW)'
Makefile:1065: recipe for target 'gcov-tool.o' failed
make[3]: *** [gcov-tool.o] Error 1
make[3]: Leaving directory '/home/jjohn/hpux/gcc_520/gcc_build/gcc'

Is there a similar fix also for the ia64 platform?


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug bootstrap/66319] [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)'
  2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2015-10-15 14:32 ` josephpattara at gmail dot com
@ 2015-10-16  0:36 ` dave.anglin at bell dot net
  8 siblings, 0 replies; 10+ messages in thread
From: dave.anglin at bell dot net @ 2015-10-16  0:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66319

--- Comment #10 from dave.anglin at bell dot net ---
On 2015-10-15, at 10:32 AM, josephpattara at gmail dot com wrote:

> Is there a similar fix also for the ia64 platform?

I believe a similar fix could be developed along the lines of the change in
comment #7.  I looked at
the 11.31 defines in developing the PA-RISC change.

It would be very helpful if you could work on this and try to develop a fix for
ia64.  Not many have access
to ia64 systems.

Dave
--
John David Anglin       dave.anglin@bell.net


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-10-16  0:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-27 23:58 [Bug gcov-profile/66319] New: [6 Regression] gcov-tool.c:84:65: error: invalid conversion from 'int (*)(const c har*, const stat*, int, FTW*)' to 'int (*)(const char*, const stat*, int, FTW)' danglin at gcc dot gnu.org
2015-05-28  7:33 ` [Bug gcov-profile/66319] " rguenth at gcc dot gnu.org
2015-05-30 14:21 ` ebotcazou at gcc dot gnu.org
2015-06-02 13:28 ` [Bug bootstrap/66319] " jason at gcc dot gnu.org
2015-06-02 17:51 ` jason at gcc dot gnu.org
2015-06-04 17:43 ` jason at gcc dot gnu.org
2015-06-06 18:33 ` danglin at gcc dot gnu.org
2015-06-06 18:35 ` danglin at gcc dot gnu.org
2015-10-15 14:32 ` josephpattara at gmail dot com
2015-10-16  0:36 ` dave.anglin at bell dot net

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).