Skip to content
Snippets Groups Projects
  • Jakub Jelinek's avatar
    d2f53a60
    testsuite work-around compound-assignment-1.c C++ failures on various targets [PR111377] · d2f53a60
    Jakub Jelinek authored
    On Mon, Sep 11, 2023 at 11:11:30PM +0200, Jakub Jelinek via Gcc-patches wrote:
    > I think the divergence is whether called_by_test_5b returns the struct
    > in registers or in memory.  If in memory (like in the x86_64 -m32 case), we have
    >   [compound-assignment-1.c:71:21] D.3191 = called_by_test_5b (); [return slot optimization]
    >   [compound-assignment-1.c:71:21 discrim 1] D.3191 ={v} {CLOBBER(eol)};
    >   [compound-assignment-1.c:72:1] return;
    > in the IL, while if in registers (like x86_64 -m64 case), just
    >   [compound-assignment-1.c:71:21] D.3591 = called_by_test_5b ();
    >   [compound-assignment-1.c:72:1] return;
    >
    > If you just want to avoid the differences, putting } on the same line as the
    > call might be a usable workaround for that.
    
    Here is the workaround in patch form.
    
    2023-09-19  Jakub Jelinek  <jakub@redhat.com>
    
    	PR testsuite/111377
    	* c-c++-common/analyzer/compound-assignment-1.c (test_5b): Move
    	closing } to the same line as the call to work-around differences in
    	diagnostics line.
    d2f53a60
    History
    testsuite work-around compound-assignment-1.c C++ failures on various targets [PR111377]
    Jakub Jelinek authored
    On Mon, Sep 11, 2023 at 11:11:30PM +0200, Jakub Jelinek via Gcc-patches wrote:
    > I think the divergence is whether called_by_test_5b returns the struct
    > in registers or in memory.  If in memory (like in the x86_64 -m32 case), we have
    >   [compound-assignment-1.c:71:21] D.3191 = called_by_test_5b (); [return slot optimization]
    >   [compound-assignment-1.c:71:21 discrim 1] D.3191 ={v} {CLOBBER(eol)};
    >   [compound-assignment-1.c:72:1] return;
    > in the IL, while if in registers (like x86_64 -m64 case), just
    >   [compound-assignment-1.c:71:21] D.3591 = called_by_test_5b ();
    >   [compound-assignment-1.c:72:1] return;
    >
    > If you just want to avoid the differences, putting } on the same line as the
    > call might be a usable workaround for that.
    
    Here is the workaround in patch form.
    
    2023-09-19  Jakub Jelinek  <jakub@redhat.com>
    
    	PR testsuite/111377
    	* c-c++-common/analyzer/compound-assignment-1.c (test_5b): Move
    	closing } to the same line as the call to work-around differences in
    	diagnostics line.