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

--- Comment #7 from Rainer Orth <ro at gcc dot gnu.org> ---
(In reply to Aldy Hernandez from comment #4)

> Can it be reproduced on a cross?  If so, could you post the .ii file with
> your include file peculiarities?

I haven't tried, but expect it should work, provided you run on a 32-bit host
and perhaps limit VM consumption.  I expect that depending on the host OSes
VM layout cc1plus may be able to use more of the 4 GB address space on one OS
than the other.

That said, there's a weird problem:

If I run a regular build, I get the `out of memory' error reported.  Just
adding
-save-temps to the command line produces a couple of weird warnings/errors:

/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_495(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_496(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_497(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_498(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_499(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_500(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_501(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md: In function ‘rtx_insn*
gen_split_502(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20130:29: error: this statement
may fall through [-Werror=implicit-fallthrough=]
20130 |       code = swap_condition (code);
      |              ~~~~~~~~~~~~~~~^~~~~~
/var/gcc/reghunt/master/gcc/config/i386/i386.md:20133:5: note: here
20133 |     case GE: case GEU:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/sse.md: In function ‘rtx_insn*
gen_split_2186(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/sse.md:18256:19: error: this statement
may fall through [-Werror=implicit-fallthrough=]
18256 |       operands[1] = tmp;
      |       ~~~~~~~~~~~~^~~~~
/var/gcc/reghunt/master/gcc/config/i386/sse.md:18258:5: note: here
18258 |     case 32:
      |     ^~~~
/var/gcc/reghunt/master/gcc/config/i386/sse.md: In function ‘rtx_insn*
gen_split_2187(rtx_insn*, rtx_def**)’:
/var/gcc/reghunt/master/gcc/config/i386/sse.md:18256:19: error: this statement
may fall through [-Werror=implicit-fallthrough=]
18256 |       operands[1] = tmp;
      |       ~~~~~~~~~~~~^~~~~
/var/gcc/reghunt/master/gcc/config/i386/sse.md:18258:5: note: here
18258 |     case 32:
      |     ^~~~

and (if adding -Wno-error to avoid that) while cc1plus still consumes in excess
of 3 GB VM space, the compilation finally succeeds.

I'm attaching the preprocessed output nonetheless; maybe it's still helpful.

Reply via email to