Bug 266312 - Automated tool parses gcc manual takes compiler flags and definitions
Summary: Automated tool parses gcc manual takes compiler flags and definitions
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build-managed (show other bugs)
Version: 0 DD 1.1   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: cdt-build-inbox@eclipse.org CLA
QA Contact: Elena Laskavaia CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-26 09:49 EST by george lulu CLA
Modified: 2009-02-26 10:14 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description george lulu CLA 2009-02-26 09:49:35 EST
1. I suggest that a automated or semi-automated tool be created that takes the gcc manual pages (for example the gcc-4.3.3 subsections which I will include below), creates a table of compiler flags (for the creation of checkboxes) and the corresponding description(for hover text),

2. That this table be added to the compiler flags settings.  

3. That the corresponding tool (compiler is probably a priority) be ran with the -v --help flags which will produce a series of supported flags on that particular implementation.  These flags can be crosschecked against the included flags so the irrelevant ones can be disabled.

I believe that at least the first two items are easy and plausible because each entry in at least the html version, perhaps even the other versions(tex, ect) of the manual have flags listed as such, where the compiler option is completely left justified and the corresponding description is tabbed and below it.:

-fsyntax-only
    Check the code for syntax errors, but don't do anything beyond that. 

Which is easy to parse.  And the primary difficulty in adding checkboxes to the corresponding file that configures them is the organization/categorization, after which the  above table can be inserted post a formating step to add the proper ui code.

-----------------------------------
Some gcc manual pages that can be parsed for flags:


3.2 Options Controlling the Kind of Output	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Overall-Options.html#Overall-Options
3.3 Compiling C++ Programs	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Invoking-G_002b_002b.html#Invoking-G_002b_002b
3.4 Options Controlling C Dialect	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/C-Dialect-Options.html#C-Dialect-Options
3.5 Options Controlling C++ Dialect	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options
3.6 Options Controlling Objective-C and Objective-C++ Dialects	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Objective_002dC-and-Objective_002dC_002b_002b-Dialect-Options.html#Objective_002dC-and-Objective_002dC_002b_002b-Dialect-Options
3.7 Options to Control Diagnostic Messages Formatting	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Language-Independent-Options.html#Language-Independent-Options
3.8 Options to Request or Suppress Warnings	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Warning-Options.html#Warning-Options
3.9 Options for Debugging Your Program or GCC	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Debugging-Options.html#Debugging-Options
3.10 Options That Control Optimization	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Optimize-Options.html#Optimize-Options
3.11 Options Controlling the Preprocessor	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Preprocessor-Options.html#Preprocessor-Options
3.12 Passing Options to the Assembler	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Assembler-Options.html#Assembler-Options
3.13 Options for Linking	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Link-Options.html#Link-Options
3.14 Options for Directory Search	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Directory-Options.html#Directory-Options
3.17.1 ARC Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/ARC-Options.html#ARC-Options
3.17.2 ARM Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/ARM-Options.html#ARM-Options
3.17.3 AVR Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/AVR-Options.html#AVR-Options
3.17.4 Blackfin Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Blackfin-Options.html#Blackfin-Options
3.17.5 CRIS Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/CRIS-Options.html#CRIS-Options
3.17.6 CRX Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/CRX-Options.html#CRX-Options
3.17.7 Darwin Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Darwin-Options.html#Darwin-Options
3.17.8 DEC Alpha Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/DEC-Alpha-Options.html#DEC-Alpha-Options
3.17.9 DEC Alpha/VMS Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/DEC-Alpha_002fVMS-Options.html#DEC-Alpha_002fVMS-Options
3.17.10 FRV Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/FRV-Options.html#FRV-Options
3.17.11 GNU/Linux Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/GNU_002fLinux-Options.html#GNU_002fLinux-Options
3.17.12 H8/300 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/H8_002f300-Options.html#H8_002f300-Options
3.17.13 HPPA Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/HPPA-Options.html#HPPA-Options
3.17.14 Intel 386 and AMD x86-64 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options
3.17.15 IA-64 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/IA_002d64-Options.html#IA_002d64-Options
3.17.16 M32C Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/M32C-Options.html#M32C-Options
3.17.17 M32R/D Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/M32R_002fD-Options.html#M32R_002fD-Options
3.17.18 M680x0 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/M680x0-Options.html#M680x0-Options
3.17.19 M68hc1x Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/M68hc1x-Options.html#M68hc1x-Options
3.17.20 MCore Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/MCore-Options.html#MCore-Options
3.17.21 MIPS Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/MIPS-Options.html#MIPS-Options
3.17.22 MMIX Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/MMIX-Options.html#MMIX-Options
3.17.23 MN10300 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/MN10300-Options.html#MN10300-Options
3.17.24 MT Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/MT-Options.html#MT-Options
3.17.25 PDP-11 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/PDP_002d11-Options.html#PDP_002d11-Options
3.17.26 PowerPC Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/PowerPC-Options.html#PowerPC-Options
3.17.27 IBM RS/6000 and PowerPC Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/RS_002f6000-and-PowerPC-Options.html#RS_002f6000-and-PowerPC-Options
3.17.28 S/390 and zSeries Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/S_002f390-and-zSeries-Options.html#S_002f390-and-zSeries-Options
3.17.29 Score Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Score-Options.html#Score-Options
3.17.30 SH Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/SH-Options.html#SH-Options
3.17.31 SPARC Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/SPARC-Options.html#SPARC-Options
3.17.32 SPU Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/SPU-Options.html#SPU-Options
3.17.33 Options for System V	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/System-V-Options.html#System-V-Options
3.17.34 V850 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/V850-Options.html#V850-Options
3.17.35 VAX Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/VAX-Options.html#VAX-Options
3.17.36 VxWorks Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/VxWorks-Options.html#VxWorks-Options
3.17.37 x86-64 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/x86_002d64-Options.html#x86_002d64-Options
3.17.38 Xstormy16 Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Xstormy16-Options.html#Xstormy16-Options
3.17.39 Xtensa Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Xtensa-Options.html#Xtensa-Options
3.17.40 zSeries Options	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/zSeries-Options.html#zSeries-Options
3.18 Options for Code Generation Conventions	http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Code-Gen-Options.html#Code-Gen-Options