diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-22 07:18:33 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-22 07:18:33 +0000 |
commit | 5115372146c7762b67b0c30b01906d3fe6dad0c3 (patch) | |
tree | 4b5d0ea58d499c4b232c97da3fe08e4bad5182b5 /gcc/flag-types.h | |
parent | a8761b59fd725a476ce823908fa43b62367e02d3 (diff) | |
download | gcc-5115372146c7762b67b0c30b01906d3fe6dad0c3.tar.gz |
2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 167021
2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
* melt-runtime.c: replaced strerror by xstrerror everywhere, while
merging with trunk 167021.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@167023 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flag-types.h')
-rw-r--r-- | gcc/flag-types.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc/flag-types.h b/gcc/flag-types.h index 4259985b02a..6eb6c3f422f 100644 --- a/gcc/flag-types.h +++ b/gcc/flag-types.h @@ -58,6 +58,41 @@ enum debug_info_usage DINFO_USAGE_NUM_ENUMS /* The number of enumerators. */ }; +/* A major contribution to object and executable size is debug + information size. A major contribution to debug information size + is struct descriptions replicated in several object files. The + following flags attempt to reduce this information. The basic + idea is to not emit struct debugging information in the current + compilation unit when that information will be generated by + another compilation unit. + + Debug information for a struct defined in the current source + file should be generated in the object file. Likewise the + debug information for a struct defined in a header should be + generated in the object file of the corresponding source file. + Both of these case are handled when the base name of the file of + the struct definition matches the base name of the source file + of the current compilation unit. This matching emits minimal + struct debugging information. + + The base file name matching rule above will fail to emit debug + information for structs defined in system headers. So a second + category of files includes system headers in addition to files + with matching bases. + + The remaining types of files are library headers and application + headers. We cannot currently distinguish these two types. */ + +enum debug_struct_file +{ + DINFO_STRUCT_FILE_NONE, /* Debug no structs. */ + DINFO_STRUCT_FILE_BASE, /* Debug structs defined in files with the + same base name as the compilation unit. */ + DINFO_STRUCT_FILE_SYS, /* Also debug structs defined in system + header files. */ + DINFO_STRUCT_FILE_ANY /* Debug structs defined in all files. */ +}; + /* Enumerate visibility settings. This is deliberately ordered from most to least visibility. */ #ifndef SYMBOL_VISIBILITY_DEFINED |