GCC 11 Picks Up A New Option For Large Source Files
When seeing GCC 11 in its early development state pick up a new -flarge-source-files option I was curious what that was all about....
The "-flarge-source-files" option was recently merged into what will become version 11 of the GNU Compiler Collection. Does it do anything to speed-up the compilation of large source files or other improvements? No. It's actually about allowing GCC to track line/column numbers for larger source files.
To now by default GCC will bail out on tracking column numbers after having gone through a lot of line numbers in a source file. But when it bails out on the column tracking in large source files, it also means warnings around misleading indentations and the like will no longer work.
With this -flarge-source-files option, it basically increases the buffer to be able to handle column tracking for much larger files. But this -flarge-source-files option/behavior isn't implied by default as it can lead to "slower compilation and higher memory usage."
Thus moving forward if your code-base has some rather large source files, setting -flarge-source-files would be recommended for optimal column tracking.
More details within this GCC commit by Oracle's Qing Zhao.
The "-flarge-source-files" option was recently merged into what will become version 11 of the GNU Compiler Collection. Does it do anything to speed-up the compilation of large source files or other improvements? No. It's actually about allowing GCC to track line/column numbers for larger source files.
To now by default GCC will bail out on tracking column numbers after having gone through a lot of line numbers in a source file. But when it bails out on the column tracking in large source files, it also means warnings around misleading indentations and the like will no longer work.
With this -flarge-source-files option, it basically increases the buffer to be able to handle column tracking for much larger files. But this -flarge-source-files option/behavior isn't implied by default as it can lead to "slower compilation and higher memory usage."
Thus moving forward if your code-base has some rather large source files, setting -flarge-source-files would be recommended for optimal column tracking.
More details within this GCC commit by Oracle's Qing Zhao.
9 Comments