public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
@ 2005-06-11 22:16 laurent at guerby dot net
  2005-06-11 22:24 ` [Bug tree-optimization/22022] [4.1 Regression] " pinskia at gcc dot gnu dot org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: laurent at guerby dot net @ 2005-06-11 22:16 UTC (permalink / raw)
  To: gcc-bugs

Andrew Pinski says it might be somewhat related to  PR21994

+===========================GNAT BUG DETECTED==============================+
| 4.1.0 20050610 (experimental) (x86_64-unknown-linux-gnu) GCC error:      |
| in tree_split_edge, at tree-cfg.c:3025                                   | 
| Error detected at cxg1002.adb:198:5                                      |

<guerby> 0  internal_error (gmsgid=0xa9ac83 "in %s, at %s:%d") at
/home/guerby/work/gcc/version-head/gcc/diagnostic.c:528
<guerby> #1  0x000000000071c81c in fancy_abort (file=Variable "file" is not
available.
<guerby> ) at /home/guerby/work/gcc/version-head/gcc/diagnostic.c:588
<guerby> #2  0x0000000000998e41 in tree_split_edge (edge_in=0x2a95eb2580) at
/home/guerby/work/gcc/version-head/gcc/tree-cfg.c:3025
<guerby> #3  0x0000000000933faa in split_edge (e=Variable "e" is not available.
<guerby> ) at /home/guerby/work/gcc/version-head/gcc/cfghooks.c:407
<guerby> #4  0x000000000099d34f in tree_find_edge_insert_loc (e=0x2a95eb2580,
bsi=0x7fbffff4b0, new_bb=0x0)
<guerby>     at /home/guerby/work/gcc/version-head/gcc/tree-cfg.c:2909
<guerby> #5  0x000000000099d726 in bsi_commit_one_edge_insert (e=Variable "e" is
not available.
<guerby> ) at /home/guerby/work/gcc/version-head/gcc/tree-cfg.c:2950
<guerby> #6  0x00000000009a3b72 in bsi_commit_edge_inserts () at
/home/guerby/work/gcc/version-head/gcc/tree-cfg.c:2931
<guerby> #7  0x00000000006a9a05 in tree_lower_complex () at
/home/guerby/work/gcc/version-head/gcc/tree-complex.c:1320

-- 
           Summary: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: laurent at guerby dot net
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
@ 2005-06-11 22:24 ` pinskia at gcc dot gnu dot org
  2005-06-13 20:12 ` laurent at guerby dot net
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-11 22:24 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu dot org,
                   |                            |pinskia at gcc dot gnu dot
                   |                            |org
          Component|ada                         |tree-optimization
            Summary|ACATS ICE cxg1002           |[4.1 Regression] ACATS ICE
                   |tree_split_edge, at tree-   |cxg1002 tree_split_edge, at
                   |cfg.c:3025                  |tree-cfg.c:3025
   Target Milestone|---                         |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
  2005-06-11 22:24 ` [Bug tree-optimization/22022] [4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-06-13 20:12 ` laurent at guerby dot net
  2005-06-14  3:34 ` pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: laurent at guerby dot net @ 2005-06-13 20:12 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From laurent at guerby dot net  2005-06-13 20:12 -------
Also now having the same ICE (after PR21994 fix):

+===========================GNAT BUG DETECTED==============================+
| 4.1.0 20050612 (experimental) (x86_64-unknown-linux-gnu) GCC error:      |
| in tree_split_edge, at tree-cfg.c:3025                                   |
| Error detected at cxg1001.adb:276:5                                      |

+===========================GNAT BUG DETECTED==============================+
| 4.1.0 20050612 (experimental) (x86_64-unknown-linux-gnu) GCC error:      |
| in tree_split_edge, at tree-cfg.c:3025                                   |
| Error detected at cxg2007.adb:291:5                                      |

+===========================GNAT BUG DETECTED==============================+
| 4.1.0 20050612 (experimental) (x86_64-unknown-linux-gnu) GCC error:      |
| in tree_split_edge, at tree-cfg.c:3025                                   |
| Error detected at cxg2018.adb:355:5                                      |



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
  2005-06-11 22:24 ` [Bug tree-optimization/22022] [4.1 Regression] " pinskia at gcc dot gnu dot org
  2005-06-13 20:12 ` laurent at guerby dot net
@ 2005-06-14  3:34 ` pinskia at gcc dot gnu dot org
  2005-06-14  4:01 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-14  3:34 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-14 03:34 -------
Confirmed, will come up with a small testcase once the testsuite is finished.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-06-14 03:34:03
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (2 preceding siblings ...)
  2005-06-14  3:34 ` pinskia at gcc dot gnu dot org
@ 2005-06-14  4:01 ` pinskia at gcc dot gnu dot org
  2005-06-16 18:17 ` rth at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-14  4:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-14 04:01 -------
And here is a C++ testcase:
_Complex float f();
_Complex float g();
_Complex float h()throw();
void i(_Complex float)throw();

void j(void)
{
  _Complex float x = h();
  try
  {
    try
    {
      x = f();
    }catch (...)
    {
      x = g();
    }
  }catch(...){}
  i(x);
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (3 preceding siblings ...)
  2005-06-14  4:01 ` pinskia at gcc dot gnu dot org
@ 2005-06-16 18:17 ` rth at gcc dot gnu dot org
  2005-06-16 18:22 ` rth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-06-16 18:17 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rth at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-06-14 03:34:03         |2005-06-16 18:17:22
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (4 preceding siblings ...)
  2005-06-16 18:17 ` rth at gcc dot gnu dot org
@ 2005-06-16 18:22 ` rth at gcc dot gnu dot org
  2005-06-16 18:28 ` giovannibajo at libero dot it
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-06-16 18:22 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rth at gcc dot gnu dot org  2005-06-16 18:22 -------
Andrew, your C++ test case doesn't reproduce for me.  I'm attempting to see
if Ada is now in a buildable state...

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (5 preceding siblings ...)
  2005-06-16 18:22 ` rth at gcc dot gnu dot org
@ 2005-06-16 18:28 ` giovannibajo at libero dot it
  2005-06-16 18:33 ` pluto at agmk dot net
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: giovannibajo at libero dot it @ 2005-06-16 18:28 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2005-06-16 18:28 -------
You prolly need flag_wrapv=1 somewhere to build Ada at this point.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (6 preceding siblings ...)
  2005-06-16 18:28 ` giovannibajo at libero dot it
@ 2005-06-16 18:33 ` pluto at agmk dot net
  2005-06-16 18:39 ` laurent at guerby dot net
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pluto at agmk dot net @ 2005-06-16 18:33 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pluto at agmk dot net  2005-06-16 18:33 -------
(In reply to comment #4) 
> Andrew, your C++ test case doesn't reproduce for me.  I'm attempting to see 
> if Ada is now in a buildable state... 
 
with current mainline I'm able to bootstrap ada only with additional patches: 
 
[1] 
 
--- gcc/gcc/ada/misc.c.orig 
+++ gcc/gcc/ada/misc.c 
@@ -339,6 +339,8 @@ gnat_init_options (unsigned int argc, co 
   /* Uninitialized really means uninitialized in Ada.  */ 
   flag_zero_initialized_in_bss = 0; 
  
+  flag_wrapv = 1; 
+ 
   return CL_Ada; 
 } 
  
[2] PR22019 
 
--- gcc-4.1-20050616_1200/gcc/ada/Makefile.in.orig 
+++ gcc-4.1-20050616_1200/gcc/ada/Makefile.in 
@@ -2057,6 +2057,17 @@ 
 	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O2 $(ADA_INCLUDES) \ 
 	      $< $(OUTPUT_OPTION) 
  
+# workaround for PR tree-optimization/22019 
+g-socket.o  : g-socket.adb g-socket.ads 
+	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ 
+	      $< $(OUTPUT_OPTION) 
+make.o      : make.adb make.ads 
+	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ 
+	      $< $(OUTPUT_OPTION) 
+prj-util.o  : prj-util.adb prj-util.ads 
+	$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ 
+	      $< $(OUTPUT_OPTION) 
+ 
 adadecode.o : adadecode.c adadecode.h 
 aux-io.o  : aux-io.c 
 argv.o    : argv.c 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (7 preceding siblings ...)
  2005-06-16 18:33 ` pluto at agmk dot net
@ 2005-06-16 18:39 ` laurent at guerby dot net
  2005-06-16 18:44 ` pluto at agmk dot net
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: laurent at guerby dot net @ 2005-06-16 18:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From laurent at guerby dot net  2005-06-16 18:39 -------
Complete patch is here, but currently x86-linux C bootstrap is broken:
http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01327.html

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (8 preceding siblings ...)
  2005-06-16 18:39 ` laurent at guerby dot net
@ 2005-06-16 18:44 ` pluto at agmk dot net
  2005-06-16 18:58 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pluto at agmk dot net @ 2005-06-16 18:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pluto at agmk dot net  2005-06-16 18:44 -------
(In reply to comment #7) 
> Complete patch is here, but currently x86-linux C bootstrap is broken: 
> http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01327.html 
 
with fixes from comment #6 I can bootstrap ada/gnatlib on ix86 & x86-64. 
I'm passing -O0 only for STAGE1_CFLAGS. stage2/3 are build with -O2. 
 
%{__make} -C obj-%{_target_platform} \ 
        %{?with_bootstrap:%{?with_profiling:profiled}bootstrap} \ 
        GCJFLAGS="%{rpmcflags}" \ 
        BOOT_CFLAGS="%{rpmcflags}" \ 
        STAGE1_CFLAGS="%{rpmcflags} -O0" 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (9 preceding siblings ...)
  2005-06-16 18:44 ` pluto at agmk dot net
@ 2005-06-16 18:58 ` pinskia at gcc dot gnu dot org
  2005-06-17  0:56 ` cvs-commit at gcc dot gnu dot org
  2005-06-17  0:59 ` rth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-16 18:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-16 18:58 -------
Here is a new C++ testcase (the old one does not ICE any more because we don't need to expand the 
complex variables any more):
_Complex float f();
_Complex float g();
_Complex float h()throw();
void i(float)throw();

float j(void)
{
  _Complex float x = h();
  try
  {
    try
    {
      x = f();
    }catch (...)
    {
      x += g();
    }
  }catch(...){}
  i(__builtin_crealf(x)+__builtin_cimagf(x));
}



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (10 preceding siblings ...)
  2005-06-16 18:58 ` pinskia at gcc dot gnu dot org
@ 2005-06-17  0:56 ` cvs-commit at gcc dot gnu dot org
  2005-06-17  0:59 ` rth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-06-17  0:56 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-06-17 00:56 -------
Subject: Bug 22022

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2005-06-17 00:56:08

Modified files:
	gcc            : ChangeLog tree-complex.c 
Added files:
	gcc/testsuite/g++.dg/opt: complex2.C complex3.C 

Log message:
	PR tree-opt/22022
	* tree-complex.c (update_phi_components): Avoid no-op moves.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9168&r2=2.9169
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-complex.c.diff?cvsroot=gcc&r1=2.29&r2=2.30
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/complex2.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/complex3.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

* [Bug tree-optimization/22022] [4.1 Regression] ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025
  2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
                   ` (11 preceding siblings ...)
  2005-06-17  0:56 ` cvs-commit at gcc dot gnu dot org
@ 2005-06-17  0:59 ` rth at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: rth at gcc dot gnu dot org @ 2005-06-17  0:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rth at gcc dot gnu dot org  2005-06-17 00:59 -------
C++ test cases fixed.  Reopen after Ada is stable if it still fails there.

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


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22022


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

end of thread, other threads:[~2005-06-17  0:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-11 22:16 [Bug ada/22022] New: ACATS ICE cxg1002 tree_split_edge, at tree-cfg.c:3025 laurent at guerby dot net
2005-06-11 22:24 ` [Bug tree-optimization/22022] [4.1 Regression] " pinskia at gcc dot gnu dot org
2005-06-13 20:12 ` laurent at guerby dot net
2005-06-14  3:34 ` pinskia at gcc dot gnu dot org
2005-06-14  4:01 ` pinskia at gcc dot gnu dot org
2005-06-16 18:17 ` rth at gcc dot gnu dot org
2005-06-16 18:22 ` rth at gcc dot gnu dot org
2005-06-16 18:28 ` giovannibajo at libero dot it
2005-06-16 18:33 ` pluto at agmk dot net
2005-06-16 18:39 ` laurent at guerby dot net
2005-06-16 18:44 ` pluto at agmk dot net
2005-06-16 18:58 ` pinskia at gcc dot gnu dot org
2005-06-17  0:56 ` cvs-commit at gcc dot gnu dot org
2005-06-17  0:59 ` rth at gcc dot gnu dot org

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