Don't ICE running selftests if errors were raised [PR99723]

Message ID 20220927151214.1082396-1-andrea.corallo@arm.com
State Accepted, archived
Headers
Series Don't ICE running selftests if errors were raised [PR99723] |

Checks

Context Check Description
snail/gcc-patches-check success Github commit url

Commit Message

Andrea Corallo Sept. 27, 2022, 3:12 p.m. UTC
  Hi all

this is to address PR 99723.

In the PR GCC crashes as the initialization of common trees is not
performed as no compilation is happening, this is because we raise an
error earlier while processing the arch flags.

This patch changes the code to execute selftests only if no errors
where raised before.

Bootstrapped on aarch64, okay for trunk?

Best Regards

  Andrea

2022-09-27  Andrea Corallo  <andrea.corallo@arm.com>

	* toplev.cc (toplev::main): Don't run self tests in case of
	previous error.
---
 gcc/toplev.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Jeff Law Sept. 29, 2022, 8:46 p.m. UTC | #1
On 9/27/22 09:12, Andrea Corallo via Gcc-patches wrote:
> Hi all
>
> this is to address PR 99723.
>
> In the PR GCC crashes as the initialization of common trees is not
> performed as no compilation is happening, this is because we raise an
> error earlier while processing the arch flags.
>
> This patch changes the code to execute selftests only if no errors
> where raised before.
>
> Bootstrapped on aarch64, okay for trunk?
>
> Best Regards
>
>    Andrea
>
> 2022-09-27  Andrea Corallo  <andrea.corallo@arm.com>
>
> 	* toplev.cc (toplev::main): Don't run self tests in case of
> 	previous error.

OK

jeff
  
Andrea Corallo Oct. 10, 2022, 1:23 p.m. UTC | #2
Jeff Law via Gcc-patches <gcc-patches@gcc.gnu.org> writes:

> On 9/27/22 09:12, Andrea Corallo via Gcc-patches wrote:
>> Hi all
>>
>> this is to address PR 99723.
>>
>> In the PR GCC crashes as the initialization of common trees is not
>> performed as no compilation is happening, this is because we raise an
>> error earlier while processing the arch flags.
>>
>> This patch changes the code to execute selftests only if no errors
>> where raised before.
>>
>> Bootstrapped on aarch64, okay for trunk?
>>
>> Best Regards
>>
>>    Andrea
>>
>> 2022-09-27  Andrea Corallo  <andrea.corallo@arm.com>
>>
>> 	* toplev.cc (toplev::main): Don't run self tests in case of
>> 	previous error.
>
> OK

Into trunk as 248c8aeebc4.

Thanks

  Andrea
  

Patch

diff --git a/gcc/toplev.cc b/gcc/toplev.cc
index 924871fa9a8..b53a78bbaf1 100644
--- a/gcc/toplev.cc
+++ b/gcc/toplev.cc
@@ -2276,7 +2276,7 @@  toplev::main (int argc, char **argv)
 	start_timevars ();
       do_compile (no_backend);
 
-      if (flag_self_test)
+      if (flag_self_test && !seen_error ())
 	{
 	  if (no_backend)
 	    error_at (UNKNOWN_LOCATION, "self-tests incompatible with %<-E%>");