public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16
@ 2021-01-12 11:08 prathamesh3492 at gcc dot gnu.org
  2021-01-12 12:52 ` [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context marxin at gcc dot gnu.org
                   ` (22 more replies)
  0 siblings, 23 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-12 11:08 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 98636
           Summary: [ARM] ICE on passing incompatible options for fp16
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: prathamesh3492 at gcc dot gnu.org
  Target Milestone: ---

For any test-case, that includes arm_neon.h, for instance:
#include <arm_neon.h>
void f() {}

Passing incompatible fp16 format seems to result in ICE.
For example, passing -mfp16-format=alternative resulted in:
In file included from test.c:1:
../arm-stage1-build/gcc/include/arm_neon.h:18122:9: error: selected fp16
options are incompatible
18122 | #pragma GCC target ("arch=armv8.2-a+fp16fml")
      |         ^~~
../arm-stage1-build/gcc/include/arm_neon.h:18324:9: internal compiler error:
‘global_options’ are modified in local context
18324 | #pragma GCC pop_options
      |         ^~~
0xdcb103 cl_optimization_compare(gcc_options*, gcc_options*)
       
/home/bilbo/gnu-toolchain/gcc/vfma/arm-stage1-build/gcc/options-save.c:12555
0x97d54d handle_pragma_pop_options
        ../../gcc/gcc/c-family/c-pragma.c:1092
0x8f3cbb c_parser_pragma
        ../../gcc/gcc/c/c-parser.c:12525
0x91aab5 c_parser_external_declaration
        ../../gcc/gcc/c/c-parser.c:1758
0x91b269 c_parser_translation_unit
        ../../gcc/gcc/c/c-parser.c:1650
0x91b269 c_parse_file()
        ../../gcc/gcc/c/c-parser.c:21935
0x97b045 c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.c:1211


My built version is configured as:
Using built-in specs.
COLLECT_GCC=../arm-stage1-build/gcc/xgcc
Target: arm-linux-gnueabihf
Configured with: ../gcc/configure --enable-languages=c,c++ --disable-bootstrap
--target=arm-linux-gnueabihf --with-arch=armv7-a --with-fpu=neon
--with-float=hard --with-mode=thumb
--with-sysroot=/home/bilbo/gnu-toolchain/sysroots/arm-linux-gnueabihf
--disable-werror
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20210111 (experimental) (GCC)

Thanks,
Prathamesh

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
@ 2021-01-12 12:52 ` marxin at gcc dot gnu.org
  2021-01-12 13:00 ` prathamesh3492 at gcc dot gnu.org
                   ` (21 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-12 12:52 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
                 CC|                            |marxin at gcc dot gnu.org
   Last reconfirmed|                            |2021-01-12
     Ever confirmed|0                           |1

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Can you please attach a pre-processed source file and output of --verbose?

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
  2021-01-12 12:52 ` [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context marxin at gcc dot gnu.org
@ 2021-01-12 13:00 ` prathamesh3492 at gcc dot gnu.org
  2021-01-12 13:01 ` prathamesh3492 at gcc dot gnu.org
                   ` (20 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-12 13:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from prathamesh3492 at gcc dot gnu.org ---
Created attachment 49953
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49953&action=edit
Preprocessed test-case

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
  2021-01-12 12:52 ` [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context marxin at gcc dot gnu.org
  2021-01-12 13:00 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-12 13:01 ` prathamesh3492 at gcc dot gnu.org
  2021-01-12 13:06 ` marxin at gcc dot gnu.org
                   ` (19 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-12 13:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from prathamesh3492 at gcc dot gnu.org ---
Created attachment 49954
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49954&action=edit
Output of passing --verbose

Command line option used to compile:
../arm-stage1-build/gcc/xgcc -B ../arm-stage1-build/gcc 
-mfp16-format=alternative test.c -S -save-temps  --verbose >verbose_output.txt
2>&1

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-01-12 13:01 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-12 13:06 ` marxin at gcc dot gnu.org
  2021-01-12 13:35 ` prathamesh3492 at gcc dot gnu.org
                   ` (18 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-12 13:06 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Thanks, with cross compiler I only see the error (not the internal compiler
error).
Anyway, can you please test it with g:e91910d3576eeac714c93ec25ea3b15012007903?

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-01-12 13:06 ` marxin at gcc dot gnu.org
@ 2021-01-12 13:35 ` prathamesh3492 at gcc dot gnu.org
  2021-01-12 13:42 ` marxin at gcc dot gnu.org
                   ` (17 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-12 13:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from prathamesh3492 at gcc dot gnu.org ---
Hi,
Unfortunately I am still getting the same ICE with
g:e91910d3576eeac714c93ec25ea3b15012007903.

Thanks,
Prathamesh

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-01-12 13:35 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-12 13:42 ` marxin at gcc dot gnu.org
  2021-01-12 14:21 ` prathamesh3492 at gcc dot gnu.org
                   ` (16 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-12 13:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
I see. Is the 'error: selected fp16 options are incompatible' valid or not in
this case?

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-01-12 13:42 ` marxin at gcc dot gnu.org
@ 2021-01-12 14:21 ` prathamesh3492 at gcc dot gnu.org
  2021-01-12 14:55 ` ktkachov at gcc dot gnu.org
                   ` (15 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-12 14:21 UTC (permalink / raw)
  To: gcc-bugs

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

prathamesh3492 at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ktkachov at gcc dot gnu.org

--- Comment #7 from prathamesh3492 at gcc dot gnu.org ---
I think the error is correct.
CCing Kyrill -- could you please confirm if the error is valid for
above case ?
Thanks!

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-01-12 14:21 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-12 14:55 ` ktkachov at gcc dot gnu.org
  2021-01-12 14:58 ` marxin at gcc dot gnu.org
                   ` (14 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2021-01-12 14:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from ktkachov at gcc dot gnu.org ---
(In reply to prathamesh3492 from comment #7)
> I think the error is correct.
> CCing Kyrill -- could you please confirm if the error is valid for
> above case ?
> Thanks!

Yes, -mfp16-format=alternative is incompatible with the intrinsics

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2021-01-12 14:55 ` ktkachov at gcc dot gnu.org
@ 2021-01-12 14:58 ` marxin at gcc dot gnu.org
  2021-01-19  7:08 ` prathamesh3492 at gcc dot gnu.org
                   ` (13 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-12 14:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> ---
All right.
@Prathamesh: Can you run that in debugger and show what option foo is causing
the internal_error:

void
cl_optimization_compare (gcc_options *ptr1, gcc_options *ptr2)
{
...
  if (ptr1->x_foo != ptr2->x_help_foo)
    internal_error ("%<global_options%> are modified in local context");

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2021-01-12 14:58 ` marxin at gcc dot gnu.org
@ 2021-01-19  7:08 ` prathamesh3492 at gcc dot gnu.org
  2021-01-19  9:04 ` marxin at gcc dot gnu.org
                   ` (12 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-19  7:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from prathamesh3492 at gcc dot gnu.org ---
Created attachment 49997
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49997&action=edit
untested fix

Hi,
Sorry for late response. The option that seemed to be causing the issue was
arm_fp16_format. The attached patch fixes the issue by excluding it from checks
in cl_optimization_compare, which prevents the ICE for me.
Does this look OK ?

Thanks,
Prathamesh

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2021-01-19  7:08 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-19  9:04 ` marxin at gcc dot gnu.org
  2021-01-19 15:34 ` prathamesh3492 at gcc dot gnu.org
                   ` (11 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-19  9:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Martin Liška <marxin at gcc dot gnu.org> ---
> Sorry for late response. The option that seemed to be causing the issue was
> arm_fp16_format.

How do the string values differ? Are they also different string pointers but
having a same value?

> The attached patch fixes the issue by excluding it from
> checks in cl_optimization_compare, which prevents the ICE for me.
> Does this look OK ?

Can you please attach options-save.c file first?

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2021-01-19  9:04 ` marxin at gcc dot gnu.org
@ 2021-01-19 15:34 ` prathamesh3492 at gcc dot gnu.org
  2021-01-19 15:38 ` prathamesh3492 at gcc dot gnu.org
                   ` (10 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-19 15:34 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from prathamesh3492 at gcc dot gnu.org ---
Created attachment 50003
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50003&action=edit
options-save.c

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2021-01-19 15:34 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-19 15:38 ` prathamesh3492 at gcc dot gnu.org
  2021-01-19 15:40 ` tnfchris at gcc dot gnu.org
                   ` (9 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-19 15:38 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from prathamesh3492 at gcc dot gnu.org ---
IIUC, the issue comes from the following mismatch in cl_optimization_compare:

  if (ptr1->x_arm_fp16_format != ptr2->x_arm_fp16_format)
    internal_error ("%<global_options%> are modified in local context");

x_arm_fp16_format is of following type defined in arm-opts.h:

/* Which __fp16 format to use.
   The enumeration values correspond to the numbering for the
   Tag_ABI_FP_16bit_format attribute.
 */
enum arm_fp16_format_type
{
  ARM_FP16_FORMAT_NONE = 0,
  ARM_FP16_FORMAT_IEEE = 1,
  ARM_FP16_FORMAT_ALTERNATIVE = 2
};

For the test-case passing -mfp16-format=alternative results in:
ptr1->x_arm_fp16_format == ARM_FP16_FORMAT_ALTERNATIVE and
ptr2->x_arm_fp16_format == ARM_FP16_FORMAT_IEEE,
and the mismatch results in ICE.

Thanks,
Prathamesh

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2021-01-19 15:38 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-19 15:40 ` tnfchris at gcc dot gnu.org
  2021-01-19 16:08 ` marxin at gcc dot gnu.org
                   ` (8 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2021-01-19 15:40 UTC (permalink / raw)
  To: gcc-bugs

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

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tnfchris at gcc dot gnu.org

--- Comment #14 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
I just ran into the same problem, with a slightly different testcase:

> cat crash.c

#pragma GCC push_options
#pragma GCC target ("arch=armv8.2-a+fp16")
#pragma GCC pop_options

results in the same crash:

crash.c:3:9: internal compiler error: 'global_options' are modified in local
context
    3 | #pragma GCC pop_options
      |         ^~~
0x1199c6d cl_optimization_compare(gcc_options*, gcc_options*)
        build-arm-none-eabi/obj/gcc2/gcc/options-save.c:14897
0xb38463 handle_pragma_pop_options
        src/gcc/gcc/c-family/c-pragma.c:1092
0xb38eef c_invoke_pragma_handler(unsigned int)
        src/gcc/gcc/c-family/c-pragma.c:1515
0xa80622 c_parser_pragma
        src/gcc/gcc/c/c-parser.c:12525
0xa63dc6 c_parser_external_declaration
        src/gcc/gcc/c/c-parser.c:1758
0xa63938 c_parser_translation_unit
        src/gcc/gcc/c/c-parser.c:1650
0xaa6139 c_parse_file()
        src/gcc/gcc/c/c-parser.c:21990
0xb322f2 c_common_parse_file()
        src/gcc/gcc/c-family/c-opts.c:1211

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2021-01-19 15:40 ` tnfchris at gcc dot gnu.org
@ 2021-01-19 16:08 ` marxin at gcc dot gnu.org
  2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
                   ` (7 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-19 16:08 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #15 from Martin Liška <marxin at gcc dot gnu.org> ---
I see, so it's a real issue and I support the workaround mentioned in Comment
10.
Please send it to the mailing list.

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2021-01-19 16:08 ` marxin at gcc dot gnu.org
@ 2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
  2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
                   ` (6 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-19 16:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from prathamesh3492 at gcc dot gnu.org ---
(In reply to Tamar Christina from comment #14)
> I just ran into the same problem, with a slightly different testcase:
This is a better one to reproduce the issue, thanks! I verified the patch in
comment 10 resolves the ICE for this test-case.

Thanks,
Prathamesh
> 
> > cat crash.c
> 
> #pragma GCC push_options
> #pragma GCC target ("arch=armv8.2-a+fp16")
> #pragma GCC pop_options
> 
> results in the same crash:
> 
> crash.c:3:9: internal compiler error: 'global_options' are modified in local
> context
>     3 | #pragma GCC pop_options
>       |         ^~~
> 0x1199c6d cl_optimization_compare(gcc_options*, gcc_options*)
>         build-arm-none-eabi/obj/gcc2/gcc/options-save.c:14897
> 0xb38463 handle_pragma_pop_options
>         src/gcc/gcc/c-family/c-pragma.c:1092
> 0xb38eef c_invoke_pragma_handler(unsigned int)
>         src/gcc/gcc/c-family/c-pragma.c:1515
> 0xa80622 c_parser_pragma
>         src/gcc/gcc/c/c-parser.c:12525
> 0xa63dc6 c_parser_external_declaration
>         src/gcc/gcc/c/c-parser.c:1758
> 0xa63938 c_parser_translation_unit
>         src/gcc/gcc/c/c-parser.c:1650
> 0xaa6139 c_parse_file()
>         src/gcc/gcc/c/c-parser.c:21990
> 0xb322f2 c_common_parse_file()
>         src/gcc/gcc/c-family/c-opts.c:1211

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
  2021-01-22  8:45 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: prathamesh3492 at gcc dot gnu.org @ 2021-01-19 16:58 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from prathamesh3492 at gcc dot gnu.org ---
(In reply to Martin Liška from comment #15)
> I see, so it's a real issue and I support the workaround mentioned in
> Comment 10.
> Please send it to the mailing list.

Patch posted:
https://gcc.gnu.org/pipermail/gcc-patches/2021-January/563848.html

Thanks,
Prathamesh

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
@ 2021-01-22  8:45 ` cvs-commit at gcc dot gnu.org
  2021-01-22  9:06 ` marxin at gcc dot gnu.org
                   ` (4 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-22  8:45 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Prathamesh Kulkarni
<prathamesh3492@gcc.gnu.org>:

https://gcc.gnu.org/g:4e3beaca15cab2de88a68d76f0aabc68e68f678a

commit r11-6850-g4e3beaca15cab2de88a68d76f0aabc68e68f678a
Author: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Date:   Fri Jan 22 14:14:20 2021 +0530

    arm: Fix ICE with incompatible values for -mfp16-format [PR98636].

    gcc/
    2021-01-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

            PR target/98636
            * optc-save-gen.awk: Add arm_fp16_format to checked_options.

    gcc/testsuite/
    2021-01-22  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

            PR target/98636
            * gcc.target/arm/pr98636.c: New test.

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2021-01-22  8:45 ` cvs-commit at gcc dot gnu.org
@ 2021-01-22  9:06 ` marxin at gcc dot gnu.org
  2021-05-28  5:44 ` dcb314 at hotmail dot com
                   ` (3 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-01-22  9:06 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

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

--- Comment #19 from Martin Liška <marxin at gcc dot gnu.org> ---
Fixed now.

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2021-01-22  9:06 ` marxin at gcc dot gnu.org
@ 2021-05-28  5:44 ` dcb314 at hotmail dot com
  2021-06-01  9:15 ` marxin at gcc dot gnu.org
                   ` (2 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: dcb314 at hotmail dot com @ 2021-05-28  5:44 UTC (permalink / raw)
  To: gcc-bugs

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

David Binderman <dcb314 at hotmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcb314 at hotmail dot com

--- Comment #20 from David Binderman <dcb314 at hotmail dot com> ---
Recently unfixed.

$ /home/dcb/raspberrypi/results/bin/arm-linux-gnueabihf-gcc -c
./gcc.target/arm/pr98636.c
./gcc.target/arm/pr98636.c:6:9: internal compiler error: ‘global_options’ are
mo
dified in local context
    6 | #pragma GCC pop_options
      |         ^~~
0xe063eb cl_optimization_compare(gcc_options*, gcc_options*)
        /home/dcb/raspberrypi/build-gcc/gcc/options-save.c:12621
0x94b2ad handle_pragma_pop_options
        /home/dcb/gcc/trunk.git/gcc/c-family/c-pragma.c:1100
0x8c1ad1 c_parser_pragma
        /home/dcb/gcc/trunk.git/gcc/c/c-parser.c:12519
0x8e9c05 c_parser_external_declaration
        /home/dcb/gcc/trunk.git/gcc/c/c-parser.c:1758

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (19 preceding siblings ...)
  2021-05-28  5:44 ` dcb314 at hotmail dot com
@ 2021-06-01  9:15 ` marxin at gcc dot gnu.org
  2021-06-23 13:31 ` cvs-commit at gcc dot gnu.org
  2021-06-23 13:32 ` marxin at gcc dot gnu.org
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-06-01  9:15 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
           Assignee|unassigned at gcc dot gnu.org      |marxin at gcc dot gnu.org
         Resolution|FIXED                       |---

--- Comment #21 from Martin Liška <marxin at gcc dot gnu.org> ---
Let me assign it.

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (20 preceding siblings ...)
  2021-06-01  9:15 ` marxin at gcc dot gnu.org
@ 2021-06-23 13:31 ` cvs-commit at gcc dot gnu.org
  2021-06-23 13:32 ` marxin at gcc dot gnu.org
  22 siblings, 0 replies; 24+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-06-23 13:31 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #22 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Liska <marxin@gcc.gnu.org>:

https://gcc.gnu.org/g:371c1992624c9269e2d5747561a8b27b30e485ee

commit r12-1745-g371c1992624c9269e2d5747561a8b27b30e485ee
Author: Martin Liska <mliska@suse.cz>
Date:   Wed Jun 23 15:30:17 2021 +0200

    arm: Revert partially ebd5e86c0f41dc1d692f9b2b68a510b1f6835a3e

            PR target/98636

    gcc/ChangeLog:

            * optc-save-gen.awk: Put back arm_fp16_format to
            checked_options.

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

* [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context
  2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
                   ` (21 preceding siblings ...)
  2021-06-23 13:31 ` cvs-commit at gcc dot gnu.org
@ 2021-06-23 13:32 ` marxin at gcc dot gnu.org
  22 siblings, 0 replies; 24+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-06-23 13:32 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

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

--- Comment #23 from Martin Liška <marxin at gcc dot gnu.org> ---
Fixed again.

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

end of thread, other threads:[~2021-06-23 13:32 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-12 11:08 [Bug target/98636] New: [ARM] ICE on passing incompatible options for fp16 prathamesh3492 at gcc dot gnu.org
2021-01-12 12:52 ` [Bug target/98636] [ARM] ICE on passing incompatible options for fp16 - global_options’ are modified in local context marxin at gcc dot gnu.org
2021-01-12 13:00 ` prathamesh3492 at gcc dot gnu.org
2021-01-12 13:01 ` prathamesh3492 at gcc dot gnu.org
2021-01-12 13:06 ` marxin at gcc dot gnu.org
2021-01-12 13:35 ` prathamesh3492 at gcc dot gnu.org
2021-01-12 13:42 ` marxin at gcc dot gnu.org
2021-01-12 14:21 ` prathamesh3492 at gcc dot gnu.org
2021-01-12 14:55 ` ktkachov at gcc dot gnu.org
2021-01-12 14:58 ` marxin at gcc dot gnu.org
2021-01-19  7:08 ` prathamesh3492 at gcc dot gnu.org
2021-01-19  9:04 ` marxin at gcc dot gnu.org
2021-01-19 15:34 ` prathamesh3492 at gcc dot gnu.org
2021-01-19 15:38 ` prathamesh3492 at gcc dot gnu.org
2021-01-19 15:40 ` tnfchris at gcc dot gnu.org
2021-01-19 16:08 ` marxin at gcc dot gnu.org
2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
2021-01-19 16:58 ` prathamesh3492 at gcc dot gnu.org
2021-01-22  8:45 ` cvs-commit at gcc dot gnu.org
2021-01-22  9:06 ` marxin at gcc dot gnu.org
2021-05-28  5:44 ` dcb314 at hotmail dot com
2021-06-01  9:15 ` marxin at gcc dot gnu.org
2021-06-23 13:31 ` cvs-commit at gcc dot gnu.org
2021-06-23 13:32 ` marxin at gcc dot gnu.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).