diff options
author | Evgeny Gavrin <e.gavrin@samsung.com> | 2013-09-13 22:36:42 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@gcc.gnu.org> | 2013-09-13 15:36:42 -0700 |
commit | d13c6b70cbbd9b29e0dc776b6b0ae724cd286c9f (patch) | |
tree | 0e097fead708e49c8767b756bf9a39bffaa4f5a4 /gcc/dwarf2out.c | |
parent | 6e5e985e1e99e39513f9172845296e6aa7e1a9a7 (diff) | |
download | gcc-d13c6b70cbbd9b29e0dc776b6b0ae724cd286c9f.zip gcc-d13c6b70cbbd9b29e0dc776b6b0ae724cd286c9f.tar.gz gcc-d13c6b70cbbd9b29e0dc776b6b0ae724cd286c9f.tar.bz2 |
dwarf2out.c (should_emit_struct_debug): Add check for type_decl variable is not NULL.
2013-09-13 Evgeny Gavrin <e.gavrin@samsung.com>
gcc/
* dwarf2out.c (should_emit_struct_debug): Add check
for type_decl variable is not NULL.
gcc/testsuite
* gcc.dg/debug/dwarf2/omp-fesdr.c: Add test.
* g++.dg/debug/dwarf2/omp-fesdr.C: Add test.
From-SVN: r202582
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 7bf739d..95049e4 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -365,11 +365,15 @@ should_emit_struct_debug (tree type, enum debug_info_usage usage) type_decl = TYPE_STUB_DECL (TYPE_MAIN_VARIANT (type)); - if (criterion == DINFO_STRUCT_FILE_SYS && DECL_IN_SYSTEM_HEADER (type_decl)) - return DUMP_GSTRUCT (type, usage, criterion, generic, false, true); + if (type_decl != NULL) + { + if (criterion == DINFO_STRUCT_FILE_SYS && DECL_IN_SYSTEM_HEADER (type_decl)) + return DUMP_GSTRUCT (type, usage, criterion, generic, false, true); + + if (matches_main_base (DECL_SOURCE_FILE (type_decl))) + return DUMP_GSTRUCT (type, usage, criterion, generic, true, true); + } - if (matches_main_base (DECL_SOURCE_FILE (type_decl))) - return DUMP_GSTRUCT (type, usage, criterion, generic, true, true); return DUMP_GSTRUCT (type, usage, criterion, generic, false, false); } |