public inbox for libstdc++-cvs@sourceware.org help / color / mirror / Atom feed
From: Gaius Mulley <gaius@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/modula-2] Merge branch 'master' into devel/modula-2. Date: Tue, 14 Sep 2021 11:39:51 +0000 (GMT) [thread overview] Message-ID: <20210914113951.94E903857C47@sourceware.org> (raw) https://gcc.gnu.org/g:e9e0d6237e623ea0745ef6e11d7c6c35f3836fe5 commit e9e0d6237e623ea0745ef6e11d7c6c35f3836fe5 Merge: 58352eb7162 66bba4dc263 Author: Gaius Mulley <gaius.mulley@southwales.ac.uk> Date: Tue Sep 14 12:38:49 2021 +0100 Merge branch 'master' into devel/modula-2. Diff: gcc/ChangeLog | 285 +++++++++ gcc/DATESTAMP | 2 +- gcc/c-family/ChangeLog | 5 + gcc/c-family/c-ada-spec.c | 10 +- gcc/config/aarch64/aarch64-builtins.c | 10 +- gcc/config/aarch64/aarch64-sve-builtins.cc | 1 + gcc/config/aarch64/aarch64.h | 8 +- gcc/config/h8300/h8300.md | 1 + gcc/config/h8300/testcompare.md | 122 +++- gcc/config/i386/amxbf16intrin.h | 2 +- gcc/config/i386/amxint8intrin.h | 2 +- gcc/config/i386/amxtileintrin.h | 2 +- gcc/config/rs6000/rs6000-logue.c | 11 +- gcc/cp/ChangeLog | 56 ++ gcc/cp/call.c | 250 +++++--- gcc/cp/class.c | 21 +- gcc/cp/coroutines.cc | 192 ++---- gcc/cp/pt.c | 26 +- gcc/fortran/ChangeLog | 6 + gcc/fortran/decl.c | 39 +- gcc/gimple-range-fold.cc | 114 ++-- gcc/gimple-range-path.cc | 86 ++- gcc/gimple-range-path.h | 8 + gcc/gimple-range-trace.cc | 27 +- gcc/gimple-range-trace.h | 14 + gcc/go/gofrontend/MERGE | 2 +- gcc/lto-streamer-out.c | 5 +- gcc/lto/ChangeLog | 11 + gcc/lto/lto-common.c | 1 + gcc/omp-expand.c | 21 +- gcc/range-op.cc | 46 +- gcc/testsuite/ChangeLog | 252 ++++++++ gcc/testsuite/g++.dg/template/conv17.C | 56 ++ gcc/testsuite/g++.target/i386/pr102166.C | 20 + gcc/testsuite/gfortran.dg/PR100911.c | 82 +++ gcc/testsuite/gfortran.dg/PR100911.f90 | 282 +++++++++ gcc/testsuite/gfortran.dg/PR100914.c | 226 +++++++ gcc/testsuite/gfortran.dg/PR100914.f90 | 651 +++++++++++++++++++++ gcc/testsuite/gfortran.dg/PR100915.c | 80 +++ gcc/testsuite/gfortran.dg/PR100915.f90 | 272 +++++++++ gcc/testsuite/gfortran.dg/bind_c_char_6.f90 | 22 +- gcc/testsuite/gfortran.dg/bind_c_char_7.f90 | 15 +- gcc/testsuite/gfortran.dg/bind_c_char_8.f90 | 12 +- gcc/testsuite/gfortran.dg/bind_c_char_9.f90 | 161 ++--- gcc/testsuite/gfortran.dg/bind_c_contiguous.f90 | 33 ++ .../gfortran.dg/c-interop/allocatable-dummy-c.c | 54 ++ .../gfortran.dg/c-interop/allocatable-dummy.f90 | 98 ++++ .../c-interop/allocatable-optional-pointer.f90 | 23 + gcc/testsuite/gfortran.dg/c-interop/allocate-c.c | 168 ++++++ .../gfortran.dg/c-interop/allocate-errors-c.c | 109 ++++ .../gfortran.dg/c-interop/allocate-errors.f90 | 27 + gcc/testsuite/gfortran.dg/c-interop/allocate.f90 | 19 + .../argument-association-assumed-rank-1.f90 | 31 + .../argument-association-assumed-rank-2.f90 | 48 ++ .../argument-association-assumed-rank-3.f90 | 51 ++ .../argument-association-assumed-rank-4.f90 | 50 ++ .../argument-association-assumed-rank-5.f90 | 31 + .../argument-association-assumed-rank-6.f90 | 48 ++ .../argument-association-assumed-rank-7.f90 | 51 ++ .../argument-association-assumed-rank-8.f90 | 50 ++ .../gfortran.dg/c-interop/assumed-type-dummy.f90 | 84 +++ gcc/testsuite/gfortran.dg/c-interop/c-interop.exp | 57 ++ gcc/testsuite/gfortran.dg/c-interop/c1255-1.f90 | 83 +++ gcc/testsuite/gfortran.dg/c-interop/c1255-2.f90 | 106 ++++ gcc/testsuite/gfortran.dg/c-interop/c1255a.f90 | 40 ++ gcc/testsuite/gfortran.dg/c-interop/c407a-1.f90 | 55 ++ gcc/testsuite/gfortran.dg/c-interop/c407a-2.f90 | 88 +++ gcc/testsuite/gfortran.dg/c-interop/c407b-1.f90 | 107 ++++ gcc/testsuite/gfortran.dg/c-interop/c407b-2.f90 | 150 +++++ gcc/testsuite/gfortran.dg/c-interop/c407c-1.f90 | 63 ++ gcc/testsuite/gfortran.dg/c-interop/c516.f90 | 67 +++ gcc/testsuite/gfortran.dg/c-interop/c524a.f90 | 30 + gcc/testsuite/gfortran.dg/c-interop/c535a-1.f90 | 65 ++ gcc/testsuite/gfortran.dg/c-interop/c535a-2.f90 | 78 +++ gcc/testsuite/gfortran.dg/c-interop/c535b-1.f90 | 333 +++++++++++ gcc/testsuite/gfortran.dg/c-interop/c535b-2.f90 | 387 ++++++++++++ gcc/testsuite/gfortran.dg/c-interop/c535b-3.f90 | 79 +++ gcc/testsuite/gfortran.dg/c-interop/c535c-1.f90 | 87 +++ gcc/testsuite/gfortran.dg/c-interop/c535c-2.f90 | 74 +++ gcc/testsuite/gfortran.dg/c-interop/c535c-3.f90 | 73 +++ gcc/testsuite/gfortran.dg/c-interop/c535c-4.f90 | 73 +++ .../gfortran.dg/c-interop/cf-descriptor-1-c.c | 91 +++ .../gfortran.dg/c-interop/cf-descriptor-1.f90 | 66 +++ .../gfortran.dg/c-interop/cf-descriptor-2-c.c | 91 +++ .../gfortran.dg/c-interop/cf-descriptor-2.f90 | 82 +++ .../gfortran.dg/c-interop/cf-descriptor-3-c.c | 92 +++ .../gfortran.dg/c-interop/cf-descriptor-3.f90 | 58 ++ .../gfortran.dg/c-interop/cf-descriptor-4-c.c | 112 ++++ .../gfortran.dg/c-interop/cf-descriptor-4.f90 | 73 +++ .../gfortran.dg/c-interop/cf-descriptor-5-c.c | 36 ++ .../gfortran.dg/c-interop/cf-descriptor-5.f90 | 31 + .../gfortran.dg/c-interop/cf-descriptor-6-c.c | 81 +++ .../gfortran.dg/c-interop/cf-descriptor-6.f90 | 72 +++ .../gfortran.dg/c-interop/cf-descriptor-7-c.c | 81 +++ .../gfortran.dg/c-interop/cf-descriptor-7.f90 | 74 +++ .../gfortran.dg/c-interop/cf-descriptor-8-c.c | 73 +++ .../gfortran.dg/c-interop/cf-descriptor-8.f90 | 78 +++ .../gfortran.dg/c-interop/cf-out-descriptor-1-c.c | 87 +++ .../gfortran.dg/c-interop/cf-out-descriptor-1.f90 | 174 ++++++ .../gfortran.dg/c-interop/cf-out-descriptor-2-c.c | 87 +++ .../gfortran.dg/c-interop/cf-out-descriptor-2.f90 | 157 +++++ .../gfortran.dg/c-interop/cf-out-descriptor-3-c.c | 108 ++++ .../gfortran.dg/c-interop/cf-out-descriptor-3.f90 | 134 +++++ .../gfortran.dg/c-interop/cf-out-descriptor-4-c.c | 175 ++++++ .../gfortran.dg/c-interop/cf-out-descriptor-4.f90 | 207 +++++++ .../gfortran.dg/c-interop/cf-out-descriptor-5-c.c | 31 + .../gfortran.dg/c-interop/cf-out-descriptor-5.f90 | 48 ++ .../gfortran.dg/c-interop/cf-out-descriptor-6-c.c | 42 ++ .../gfortran.dg/c-interop/cf-out-descriptor-6.f90 | 115 ++++ .../gfortran.dg/c-interop/contiguous-1-c.c | 56 ++ .../gfortran.dg/c-interop/contiguous-1.f90 | 67 +++ .../gfortran.dg/c-interop/contiguous-2-c.c | 113 ++++ .../gfortran.dg/c-interop/contiguous-2.f90 | 152 +++++ .../gfortran.dg/c-interop/contiguous-3-c.c | 80 +++ .../gfortran.dg/c-interop/contiguous-3.f90 | 171 ++++++ .../gfortran.dg/c-interop/deferred-character-1.f90 | 76 +++ .../gfortran.dg/c-interop/deferred-character-2.f90 | 55 ++ .../gfortran.dg/c-interop/dump-descriptors.c | 195 ++++++ .../gfortran.dg/c-interop/dump-descriptors.h | 12 + gcc/testsuite/gfortran.dg/c-interop/establish-c.c | 134 +++++ .../gfortran.dg/c-interop/establish-errors-c.c | 120 ++++ .../gfortran.dg/c-interop/establish-errors.f90 | 30 + gcc/testsuite/gfortran.dg/c-interop/establish.f90 | 35 ++ .../gfortran.dg/c-interop/explicit-interface.f90 | 60 ++ .../gfortran.dg/c-interop/fc-descriptor-1-c.c | 46 ++ .../gfortran.dg/c-interop/fc-descriptor-1.f90 | 34 ++ .../gfortran.dg/c-interop/fc-descriptor-2-c.c | 68 +++ .../gfortran.dg/c-interop/fc-descriptor-2.f90 | 40 ++ .../gfortran.dg/c-interop/fc-descriptor-3-c.c | 42 ++ .../gfortran.dg/c-interop/fc-descriptor-3.f90 | 37 ++ .../gfortran.dg/c-interop/fc-descriptor-4-c.c | 57 ++ .../gfortran.dg/c-interop/fc-descriptor-4.f90 | 36 ++ .../gfortran.dg/c-interop/fc-descriptor-5-c.c | 28 + .../gfortran.dg/c-interop/fc-descriptor-5.f90 | 35 ++ .../gfortran.dg/c-interop/fc-descriptor-6-c.c | 51 ++ .../gfortran.dg/c-interop/fc-descriptor-6.f90 | 50 ++ .../gfortran.dg/c-interop/fc-descriptor-7-c.c | 46 ++ .../gfortran.dg/c-interop/fc-descriptor-7.f90 | 37 ++ .../gfortran.dg/c-interop/fc-descriptor-8-c.c | 20 + .../gfortran.dg/c-interop/fc-descriptor-8.f90 | 22 + .../gfortran.dg/c-interop/fc-descriptor-9-c.c | 42 ++ .../gfortran.dg/c-interop/fc-descriptor-9.f90 | 23 + .../gfortran.dg/c-interop/fc-out-descriptor-1-c.c | 52 ++ .../gfortran.dg/c-interop/fc-out-descriptor-1.f90 | 66 +++ .../gfortran.dg/c-interop/fc-out-descriptor-2-c.c | 52 ++ .../gfortran.dg/c-interop/fc-out-descriptor-2.f90 | 66 +++ .../gfortran.dg/c-interop/fc-out-descriptor-3-c.c | 71 +++ .../gfortran.dg/c-interop/fc-out-descriptor-3.f90 | 59 ++ .../gfortran.dg/c-interop/fc-out-descriptor-4-c.c | 96 +++ .../gfortran.dg/c-interop/fc-out-descriptor-4.f90 | 75 +++ .../gfortran.dg/c-interop/fc-out-descriptor-5-c.c | 30 + .../gfortran.dg/c-interop/fc-out-descriptor-5.f90 | 35 ++ .../gfortran.dg/c-interop/fc-out-descriptor-6-c.c | 50 ++ .../gfortran.dg/c-interop/fc-out-descriptor-6.f90 | 49 ++ .../gfortran.dg/c-interop/fc-out-descriptor-7-c.c | 136 +++++ .../gfortran.dg/c-interop/fc-out-descriptor-7.f90 | 71 +++ .../gfortran.dg/c-interop/ff-descriptor-1.f90 | 123 ++++ .../gfortran.dg/c-interop/ff-descriptor-2.f90 | 97 +++ .../gfortran.dg/c-interop/ff-descriptor-3.f90 | 148 +++++ .../gfortran.dg/c-interop/ff-descriptor-4.f90 | 198 +++++++ .../gfortran.dg/c-interop/ff-descriptor-5.f90 | 61 ++ .../gfortran.dg/c-interop/ff-descriptor-6.f90 | 71 +++ .../gfortran.dg/c-interop/ff-descriptor-7.f90 | 89 +++ gcc/testsuite/gfortran.dg/c-interop/note-5-3.f90 | 55 ++ gcc/testsuite/gfortran.dg/c-interop/note-5-4-c.c | 10 + gcc/testsuite/gfortran.dg/c-interop/note-5-4.f90 | 63 ++ gcc/testsuite/gfortran.dg/c-interop/optional-c.c | 82 +++ gcc/testsuite/gfortran.dg/c-interop/optional.f90 | 114 ++++ gcc/testsuite/gfortran.dg/c-interop/rank-class.f90 | 88 +++ gcc/testsuite/gfortran.dg/c-interop/rank.f90 | 99 ++++ .../c-interop/removed-restrictions-1.f90 | 41 ++ .../c-interop/removed-restrictions-2.f90 | 35 ++ .../c-interop/removed-restrictions-3.f90 | 37 ++ .../c-interop/removed-restrictions-4.f90 | 34 ++ gcc/testsuite/gfortran.dg/c-interop/section-1-c.c | 135 +++++ gcc/testsuite/gfortran.dg/c-interop/section-1.f90 | 71 +++ gcc/testsuite/gfortran.dg/c-interop/section-1p.f90 | 75 +++ gcc/testsuite/gfortran.dg/c-interop/section-2-c.c | 175 ++++++ gcc/testsuite/gfortran.dg/c-interop/section-2.f90 | 102 ++++ gcc/testsuite/gfortran.dg/c-interop/section-2p.f90 | 104 ++++ gcc/testsuite/gfortran.dg/c-interop/section-3-c.c | 235 ++++++++ gcc/testsuite/gfortran.dg/c-interop/section-3.f90 | 103 ++++ gcc/testsuite/gfortran.dg/c-interop/section-3p.f90 | 127 ++++ gcc/testsuite/gfortran.dg/c-interop/section-4-c.c | 101 ++++ gcc/testsuite/gfortran.dg/c-interop/section-4.f90 | 23 + .../gfortran.dg/c-interop/section-errors-c.c | 149 +++++ .../gfortran.dg/c-interop/section-errors.f90 | 27 + gcc/testsuite/gfortran.dg/c-interop/select-c.c | 138 +++++ .../gfortran.dg/c-interop/select-errors-c.c | 125 ++++ .../gfortran.dg/c-interop/select-errors.f90 | 27 + gcc/testsuite/gfortran.dg/c-interop/select.f90 | 18 + gcc/testsuite/gfortran.dg/c-interop/setpointer-c.c | 78 +++ .../gfortran.dg/c-interop/setpointer-errors-c.c | 127 ++++ .../gfortran.dg/c-interop/setpointer-errors.f90 | 28 + gcc/testsuite/gfortran.dg/c-interop/setpointer.f90 | 18 + gcc/testsuite/gfortran.dg/c-interop/shape.f90 | 77 +++ gcc/testsuite/gfortran.dg/c-interop/size.f90 | 106 ++++ gcc/testsuite/gfortran.dg/c-interop/tkr.f90 | 46 ++ .../c-interop/typecodes-array-basic-c.c | 169 ++++++ .../c-interop/typecodes-array-basic.f90 | 151 +++++ .../gfortran.dg/c-interop/typecodes-array-char-c.c | 35 ++ .../gfortran.dg/c-interop/typecodes-array-char.f90 | 37 ++ .../c-interop/typecodes-array-float128-c.c | 38 ++ .../c-interop/typecodes-array-float128.f90 | 34 ++ .../c-interop/typecodes-array-int128-c.c | 40 ++ .../c-interop/typecodes-array-int128.f90 | 33 ++ .../c-interop/typecodes-array-longdouble-c.c | 37 ++ .../c-interop/typecodes-array-longdouble.f90 | 32 + .../gfortran.dg/c-interop/typecodes-sanity-c.c | 179 ++++++ .../gfortran.dg/c-interop/typecodes-sanity.f90 | 24 + .../c-interop/typecodes-scalar-basic-c.c | 168 ++++++ .../c-interop/typecodes-scalar-basic.f90 | 160 +++++ .../c-interop/typecodes-scalar-float128-c.c | 38 ++ .../c-interop/typecodes-scalar-float128.f90 | 34 ++ .../c-interop/typecodes-scalar-int128-c.c | 41 ++ .../c-interop/typecodes-scalar-int128.f90 | 35 ++ .../c-interop/typecodes-scalar-longdouble-c.c | 37 ++ .../c-interop/typecodes-scalar-longdouble.f90 | 33 ++ gcc/testsuite/gfortran.dg/c-interop/ubound.f90 | 129 ++++ gcc/testsuite/gfortran.dg/iso_c_binding_char_1.f90 | 1 + gcc/testsuite/gfortran.dg/pr32599.f03 | 2 +- gcc/testsuite/lib/target-supports.exp | 16 + gcc/tree-ssa-loop-ch.c | 1 - gcc/tree-ssa-threadbackward.c | 109 ++-- gcc/tree-ssa-threadedge.c | 45 +- gcc/tree-ssa-threadupdate.c | 62 +- gcc/tree-streamer-in.c | 6 +- gcc/tree-streamer-out.c | 5 +- gcc/tree.h | 26 +- gcc/value-relation.cc | 6 + gcc/value-relation.h | 1 + libgcc/ChangeLog | 26 + libgcc/config/i386/sfp-machine.h | 20 +- libgfortran/ChangeLog | 16 + libgfortran/ISO_Fortran_binding-1-tmpl.h | 8 +- libgfortran/runtime/ISO_Fortran_binding.c | 122 +++- libgo/MERGE | 2 +- libgo/VERSION | 2 +- libgo/go/cmd/go/internal/modload/buildlist.go | 19 + libgo/go/cmd/go/internal/modload/init.go | 39 +- .../cmd/go/testdata/script/mod_tidy_lazy_self.txt | 17 +- libgo/go/io/fs/fs.go | 2 +- libgo/go/net/http/transport_test.go | 77 ++- libgo/go/runtime/mfinal.go | 4 + libgo/go/sync/atomic/value.go | 2 +- libgo/go/time/format.go | 6 +- libgo/misc/cgo/testsanitizers/msan_test.go | 1 + libgo/misc/cgo/testsanitizers/testdata/msan8.go | 109 ++++ libgomp/ChangeLog | 6 + libgomp/testsuite/libgomp.c-c++-common/error-1.c | 6 +- libgomp/testsuite/libgomp.fortran/error-1.f90 | 24 +- libstdc++-v3/ChangeLog | 35 ++ libstdc++-v3/include/bits/atomic_base.h | 83 ++- libstdc++-v3/include/std/atomic | 49 +- libstdc++-v3/include/std/functional | 15 + libstdc++-v3/include/std/version | 1 + .../testsuite/20_util/function_objects/invoke/4.cc | 59 ++ .../20_util/function_objects/invoke/version.cc | 10 + 258 files changed, 17633 insertions(+), 672 deletions(-)
next reply other threads:[~2021-09-14 11:39 UTC|newest] Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-14 11:39 Gaius Mulley [this message] -- strict thread matches above, loose matches on Subject: below -- 2022-12-14 12:30 Gaius Mulley 2022-12-07 19:51 Gaius Mulley 2022-12-01 0:32 Gaius Mulley 2022-11-18 12:25 Gaius Mulley 2022-11-15 23:00 Gaius Mulley 2022-11-02 23:24 Gaius Mulley 2022-10-22 1:58 Gaius Mulley 2022-10-12 12:57 Gaius Mulley 2022-10-04 11:47 Gaius Mulley 2022-09-26 11:40 Gaius Mulley 2022-09-20 15:20 Gaius Mulley 2022-09-14 18:58 Gaius Mulley 2022-09-12 20:46 Gaius Mulley 2022-09-08 15:03 Gaius Mulley 2022-09-02 15:27 Gaius Mulley 2022-08-29 13:42 Gaius Mulley 2022-08-25 22:53 Gaius Mulley 2022-08-12 8:40 Gaius Mulley 2022-08-08 12:01 Gaius Mulley 2022-07-29 16:23 Gaius Mulley 2022-07-26 0:28 Gaius Mulley 2022-07-11 23:17 Gaius Mulley 2022-07-06 20:03 Gaius Mulley 2022-05-30 13:25 Gaius Mulley 2022-05-23 22:02 Gaius Mulley 2022-05-20 1:41 Gaius Mulley 2022-05-15 22:44 Gaius Mulley 2022-05-12 9:02 Gaius Mulley 2022-05-10 11:05 Gaius Mulley 2022-05-06 12:28 Gaius Mulley 2022-05-05 19:37 Gaius Mulley 2022-05-03 12:08 Gaius Mulley 2022-04-29 20:01 Gaius Mulley 2022-04-29 15:22 Gaius Mulley 2022-04-28 15:14 Gaius Mulley 2022-04-27 11:17 Gaius Mulley 2022-04-26 17:23 Gaius Mulley 2022-04-25 19:40 Gaius Mulley 2022-04-22 8:09 Gaius Mulley 2022-04-20 11:35 Gaius Mulley 2022-04-01 19:20 Gaius Mulley 2022-03-24 23:10 Gaius Mulley 2022-03-16 20:33 Gaius Mulley 2022-03-02 18:47 Gaius Mulley 2022-02-14 17:00 Gaius Mulley 2022-02-05 13:34 Gaius Mulley 2022-01-29 11:11 Gaius Mulley 2022-01-25 18:58 Gaius Mulley 2022-01-21 20:48 Gaius Mulley 2022-01-20 12:42 Gaius Mulley 2022-01-18 13:54 Gaius Mulley 2022-01-14 0:26 Gaius Mulley 2022-01-06 21:41 Gaius Mulley 2021-12-19 1:19 Gaius Mulley 2021-12-09 21:59 Gaius Mulley 2021-11-27 13:22 Gaius Mulley 2021-11-19 18:30 Gaius Mulley 2021-11-07 15:22 Gaius Mulley 2021-10-27 8:45 Gaius Mulley 2021-10-19 22:57 Gaius Mulley 2021-10-08 14:03 Gaius Mulley 2021-09-16 12:03 Gaius Mulley 2021-09-02 15:49 Gaius Mulley 2021-08-27 0:43 Gaius Mulley 2021-08-18 14:24 Gaius Mulley 2021-08-10 13:57 Gaius Mulley 2021-07-28 18:59 Gaius Mulley
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=20210914113951.94E903857C47@sourceware.org \ --to=gaius@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ --cc=libstdc++-cvs@gcc.gnu.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).