Page MenuHomePhabricator
Feed Advanced Search

Today

SouraVX added a comment to D74923: [DebugInfo]: Do not start parsing macinfo/macinfo.dwo if the section's are empty..

Should we drop/abandon this patch ?

Thu, Feb 20, 1:44 PM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Thanks @probinson for clearing the context here. Next time when I'll revise these 2 patches, I'll try not to intermix the goals of consumers and producers.

Thu, Feb 20, 1:37 PM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

@dblaikie, I tried parsing multiple CU's contribution's[1 CU is fine] in a single DWARFDebugMacro object. It's not working out correctly, since every unit's contribution has it's own *header* apart from list of macros which can be easily parsed and dumped through a container. Even dumping is not straightforward, if all contributions are in a single object.
I'll try again,.
BTW are their down sights of the approach I followed. One step at a time take CU parse/dump and continue till offset is valid, since this is also used in location list parsing and dumping i.e Each contribution getting it's own object and header resides separately in other place.

Thu, Feb 20, 1:35 PM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Hi Thanks for your comments, this revision is getting ontrack/offtrack a bit. Sorry about that. As for opcode_openrand_table I initially added a FIXME me for that, but removed after
David's remark in D72828 -
I don't think this is a FIXME situation - LLVM has no extensions here, so there's no need for the opcode_operands_table.

Thu, Feb 20, 1:07 PM · Restricted Project, debug-info
SouraVX added a comment to D74923: [DebugInfo]: Do not start parsing macinfo/macinfo.dwo if the section's are empty..

OK, so this is a subtle divergence between how debug_macinfo is parsed and debug_macro is parsed, even though they share some code. With macinfo the looping happens here in this function and with macro the looping happens in the caller to this in dumpMacroSection.

Thu, Feb 20, 12:58 PM · Restricted Project, debug-info
SouraVX added a comment to D74923: [DebugInfo]: Do not start parsing macinfo/macinfo.dwo if the section's are empty..

Does this matter? "parsing" an empty section would be successfully parsing zero contributions & dumping nothing. That seems like a fine implementation & avoids needing this special case to check the section size first.

Sort of, consider this for a moment --
First we try to parse macinfo --- which for now is empty. assume
then Macro is constructed due to this call.

const DWARFDebugMacro *DWARFContext::getDebugMacinfo() {
  if (Macro)
    return Macro.get();
DWARFDataExtractor MacinfoData(*DObj, DObj->getMacinfoSection(), isLittleEndian(),
                                 0);
  Macro.reset(new DWARFDebugMacro());
  Macro->parse(*this, MacinfoData, &Offset);
  return Macro.get();

Now after wards we try to parse/dump macro section using mostly similar function then,

const DWARFDebugMacro *DWARFContext::getDebugMacro() {
if (Macro)  -- since this is constructed previously, function call will return from here it self. hence no contents dumped
    return Macro.get();
DWARFDataExtractor MacroData(*DObj, DObj->getMacroSection(), isLittleEndian(),
                                 0);
  ...

BTW, in current implementation, My checks are heavy or the empty Macro construction/parsing/dumping is heavy ??

Thu, Feb 20, 12:38 PM · Restricted Project, debug-info
SouraVX created D74923: [DebugInfo]: Do not start parsing macinfo/macinfo.dwo if the section's are empty..
Thu, Feb 20, 12:20 PM · Restricted Project, debug-info
SouraVX committed rG3d0564c7e07b: Revert "[NFCI][DebugInfo]: Corrected a Typo." (authored by SouraVX).
Revert "[NFCI][DebugInfo]: Corrected a Typo."
Thu, Feb 20, 11:52 AM
SouraVX added a reverting change for rG3e1090922a0b: [NFCI][DebugInfo]: Corrected a Typo.: rG3d0564c7e07b: Revert "[NFCI][DebugInfo]: Corrected a Typo.".
Thu, Feb 20, 11:52 AM

Yesterday

SouraVX committed rG84fc1233d9a4: [DebugInfo][NFCI]: Removed an exclamation mark from error message. (authored by SouraVX).
[DebugInfo][NFCI]: Removed an exclamation mark from error message.
Wed, Feb 19, 6:24 PM

Tue, Feb 18

SouraVX committed rGa71feda24ea0: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp… (authored by SouraVX).
[DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp…
Tue, Feb 18, 9:06 PM
SouraVX closed D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..
Tue, Feb 18, 9:05 PM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

BTW, If you're okay with generation part D72828, Can you please accept that?? I'm asking this because, this dumping patch is based on top of that.
So while working on this, I do not have to think about /changes/rebase and all/ about that. As I recall, Adrian & Paul has already shared their acceptance previously.

Tue, Feb 18, 3:53 PM · Restricted Project, debug-info
SouraVX added inline comments to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Tue, Feb 18, 3:43 PM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Hi @dblaikie, I'm noticing a unusual behavior here, somehow crept it, maybe due multiple branches and versions. Can you please hold on till I revise it.

Tue, Feb 18, 3:25 PM · Restricted Project, debug-info
SouraVX added inline comments to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Tue, Feb 18, 3:11 PM · Restricted Project, debug-info
SouraVX added inline comments to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..
Tue, Feb 18, 2:57 PM · Restricted Project, debug-info
SouraVX updated the diff for D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

nit: test case revised.

Tue, Feb 18, 2:53 PM · Restricted Project, debug-info
SouraVX updated the diff for D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

@dblaikie , thanks for the comment, removed the unnecessary stuff from test case.

Tue, Feb 18, 2:27 PM · Restricted Project, debug-info

Mon, Feb 17

SouraVX added a comment to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

Ping!

Mon, Feb 17, 2:56 AM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

@aprantl and others, are you guys Okay with these updated changes ?

Mon, Feb 17, 2:56 AM · Restricted Project, debug-info
SouraVX committed rG3e1090922a0b: [NFCI][DebugInfo]: Corrected a Typo. (authored by SouraVX).
[NFCI][DebugInfo]: Corrected a Typo.
Mon, Feb 17, 1:24 AM

Wed, Feb 12

SouraVX updated the diff for D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Thank you for reviewing this.
Revised based on suggestions by @dblaikie @aprantl @ikudrin .

  • Added 2 asm test 1 positive and other negative case for llvm-dwardump coverage.
  • Removed assertion based error handling, when flag in header is different then 2. It's been replaced by more functional String based error reporting.
  • Remove else-after-return.
Wed, Feb 12, 7:09 AM · Restricted Project, debug-info

Tue, Feb 11

SouraVX added inline comments to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..
Tue, Feb 11, 3:08 PM · Restricted Project, debug-info
SouraVX updated the diff for D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

Modified test cases.

Tue, Feb 11, 3:08 PM · Restricted Project, debug-info
SouraVX updated the diff for D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

Indentation done, finally!

Tue, Feb 11, 2:13 PM · Restricted Project, debug-info
SouraVX added a comment to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

Indentation is still a bit looking odd here, but it's fine on my machine and VI editor.

Any chance there are tabs rather than spaces, or the wrong amount of tabs, or something? (I guess LLVM's assembly does have leading tabs and tabs between assembly directive and argument - but usually is pure spaces after that to the comment - so maybe you've got some tabs in unintended places)

Tue, Feb 11, 2:04 PM · Restricted Project, debug-info
SouraVX added a comment to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

Indentation is still a bit looking odd here, but it's fine on my machine and VI editor.

Tue, Feb 11, 1:45 PM · Restricted Project, debug-info
SouraVX updated the diff for D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

Increased test coverage by adding negative test case.

Tue, Feb 11, 1:36 PM · Restricted Project, debug-info
SouraVX added inline comments to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..
Tue, Feb 11, 12:51 PM · Restricted Project, debug-info
SouraVX added inline comments to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..
Tue, Feb 11, 12:42 PM · Restricted Project, debug-info
SouraVX added inline comments to D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..
Tue, Feb 11, 12:42 PM · Restricted Project, debug-info
SouraVX updated the diff for D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..

Addressed comments by @dblaikie

Tue, Feb 11, 12:33 PM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

I'm speaking out of personal experience here. It happened to me before that I misinterpreted the DWARF spec and implemented a wrong encoding in both LLVM and LLDB that worked fine within the tools, but would have broken interoperability with other producers and consumers.

Tue, Feb 11, 10:51 AM · Restricted Project, debug-info
SouraVX created D74425: [DebugInfo]: Added support for DWARFv5 Info section header parsing in llvm-dwp utility..
Tue, Feb 11, 10:51 AM · Restricted Project, debug-info
SouraVX added a comment to D74312: [DebugInfo]: Added preliminary support for DWARFv5 in llvm-dwp utility..

Please split this into smaller/more incremental patches - it should be possible to implement the new support for parsing DWARFv5 unit headers, signature, etc, without the new string header support. (you'd have to modify/hand-craft the dwo file assembly though, since LLVM's generated DWARFv5 will always use FORM_strx - but if you change the dwo to use FORM_str (direct strings, no indirection) it should mean you can make a small but valid test case without the need for strx support)

Tue, Feb 11, 8:29 AM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Currently the testing is very self-referential. Should we add a test in assembler (.s) in test/tools/llvm-dwarfdump that hardcodes a properly formatted macro section to make sure we don't add symmetric mistakes (where we implement the same mistake in both the generator and llvm-dwarfdump)?

Tue, Feb 11, 3:25 AM · Restricted Project, debug-info
SouraVX added inline comments to D72828: [DWARF5] Added support for emission of debug_macro section..
Tue, Feb 11, 3:06 AM · Restricted Project, debug-info
SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Incorporated @ikudrin comments,
Removed a redundant check and a FIXME:Not emitting opcode_operands_table

Tue, Feb 11, 1:35 AM · Restricted Project, debug-info
SouraVX updated the diff for D74312: [DebugInfo]: Added preliminary support for DWARFv5 in llvm-dwp utility..
Tue, Feb 11, 1:35 AM · Restricted Project, debug-info
SouraVX updated the diff for D74312: [DebugInfo]: Added preliminary support for DWARFv5 in llvm-dwp utility..

Thank You @aprantl
Incorporated some nits comments by @aprantl

Tue, Feb 11, 1:11 AM · Restricted Project, debug-info

Mon, Feb 10

SouraVX added inline comments to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Mon, Feb 10, 7:02 AM · Restricted Project, debug-info
SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Mon, Feb 10, 6:44 AM · Restricted Project, debug-info
SouraVX created D74312: [DebugInfo]: Added preliminary support for DWARFv5 in llvm-dwp utility..
Mon, Feb 10, 5:52 AM · Restricted Project, debug-info

Sun, Feb 9

SouraVX added a comment to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Ping!!
To all reviewers!

Sun, Feb 9, 8:29 AM · Restricted Project, debug-info

Fri, Feb 7

SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Hi @dblaikie , it's already in pipeline. I mentioned in this revision. Corresponding dwarfdump emission D73086.

Fri, Feb 7, 12:08 PM · Restricted Project, debug-info
SouraVX committed rG5752bcf9e5ac: [DebugInfo]: Fix the debuginfo-tests/llgdb-tests/apple-accel.cpp test failure… (authored by SouraVX).
[DebugInfo]: Fix the debuginfo-tests/llgdb-tests/apple-accel.cpp test failure…
Fri, Feb 7, 11:58 AM

Thu, Feb 6

SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Incorporated @dblaikie comments!
Committed string emission part separately.
Incorporated, other minor comments.

Thu, Feb 6, 11:09 PM · Restricted Project, debug-info
SouraVX committed rG84e5760a1637: [DebugInfo]: Reorderd the emission of debug_str section. (authored by SouraVX).
[DebugInfo]: Reorderd the emission of debug_str section.
Thu, Feb 6, 9:49 PM
SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Ping!
Hi @dblaikie, Could you please share your thoughts/acceptance on this. All other reviewers had shared their acceptance.

Thu, Feb 6, 8:06 AM · Restricted Project, debug-info

Mon, Feb 3

SouraVX updated the diff for D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

This revision, rebase itself on top of @dblaikie https://reviews.llvm.org/rG9e8bff71d073abf0ef7f8bb4ac04ec8689babcad
Thanks @dblaikie for this, that was in my mind, but initially I thought, I should seek your comments/suggestion on the overall patch first.
Certainly it's still has some issues, since it is also built/uses existing macinfo infra. Primary reason behind going towards this approach was that macinfo and new macro section, Shares couple of common things -> encodings, internal storage and dumping infra can be shared.
But, I'm open to suggestions, If you think macro dumping infra should be separate from macinfo from ground up we can do that also.

Mon, Feb 3, 8:30 AM · Restricted Project, debug-info

Thu, Jan 30

SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

lgtm if David is happy.

Thu, Jan 30, 10:31 AM · Restricted Project, debug-info
SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Gentle/Friendly Ping! @dblaikie @aprantl and all other reviewers!

Thu, Jan 30, 10:10 AM · Restricted Project, debug-info

Sun, Jan 26

SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Comments emission in ASM for macinfo section. completed! + Rebase.

Sun, Jan 26, 4:38 AM · Restricted Project, debug-info

Fri, Jan 24

SouraVX committed rGc83602fdf51b: Recommit "[DWARF5][clang]: Added support for DebugInfo generation for auto… (authored by awpandey).
Recommit "[DWARF5][clang]: Added support for DebugInfo generation for auto…
Fri, Jan 24, 1:24 AM

Thu, Jan 23

SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Gentle, friendly Ping! to all reviewers!
Child Revision - D73086

Thu, Jan 23, 12:39 AM · Restricted Project, debug-info

Wed, Jan 22

SouraVX added inline comments to D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Wed, Jan 22, 4:16 AM · Restricted Project, debug-info

Tue, Jan 21

SouraVX updated the diff for D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..

Quick Rebase.

Tue, Jan 21, 8:07 PM · Restricted Project, debug-info

Jan 21 2020

SouraVX retitled D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump. from [DWARF5] Added support for emission of debug_macro section. to [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Jan 21 2020, 2:29 AM · Restricted Project, debug-info
SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Corresponding llvm-dwarfdump revision D73086

Jan 21 2020, 2:02 AM · Restricted Project, debug-info
SouraVX created D73086: [DWARF5] Added support for debug_macro section parsing and dumping in llvm-dwarfdump..
Jan 21 2020, 2:02 AM · Restricted Project, debug-info

Jan 20 2020

SouraVX committed rG84c4c87e04a4: Recommit "[DWARF5][DebugInfo]: Added support for DebugInfo generation for auto… (authored by awpandey).
Recommit "[DWARF5][DebugInfo]: Added support for DebugInfo generation for auto…
Jan 20 2020, 1:48 AM

Jan 17 2020

SouraVX added inline comments to D72828: [DWARF5] Added support for emission of debug_macro section..
Jan 17 2020, 3:02 AM · Restricted Project, debug-info
SouraVX added inline comments to D72828: [DWARF5] Added support for emission of debug_macro section..
Jan 17 2020, 2:52 AM · Restricted Project, debug-info
SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Thanks @probinson for sharing thoughts.
Refactored code based on @dblaikie review
Addressed and implemented @probinson concerns

Jan 17 2020, 2:43 AM · Restricted Project, debug-info

Jan 16 2020

SouraVX added a comment to D72828: [DWARF5] Added support for emission of debug_macro section..

Please implement the dwarfdump support first (this patch can be reviewed during that time - but shouldn't be committed without tests & ideally those tests should be written using dwarfdump (sometimes there are exceptions for especially complicated dumping situations, where raw assembly testing is used instead, but I don't think it's necessary to make that tradeoff here))

I'm trying to get that patch ready. As for this, this patch doesn't have dependency on dwarfdump except that testing the section contents part. I've verified integrity of section content using objdump and lldb/gdb. My rationale behind this was this patch can get in, till we discuss and agree on dwarfdump extension to accommodate macro support.

Jan 16 2020, 11:39 AM · Restricted Project, debug-info
SouraVX added inline comments to D72828: [DWARF5] Added support for emission of debug_macro section..
Jan 16 2020, 9:53 AM · Restricted Project, debug-info
SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Thank you @aprantl , for reviewing this.
Addressed minor review comment by @aprantl

Jan 16 2020, 9:44 AM · Restricted Project, debug-info
SouraVX updated the diff for D72828: [DWARF5] Added support for emission of debug_macro section..

Rebase

Jan 16 2020, 3:33 AM · Restricted Project, debug-info
SouraVX updated the summary of D72828: [DWARF5] Added support for emission of debug_macro section..
Jan 16 2020, 2:57 AM · Restricted Project, debug-info
SouraVX created D72828: [DWARF5] Added support for emission of debug_macro section..
Jan 16 2020, 2:55 AM · Restricted Project, debug-info

Jan 14 2020

SouraVX added a comment to D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..

I have a high-level question/comment. Are you planning to implement debug_macro reading in llvm-dwarfdump? Even if you aren't, I am expecting that you will be asked to do that as a part of testing for your debug_macro generation patch...

Hi Pavel, I've mostly completed debug_macro generation[clang/llvm] and dumping it using llvm-dwarfdump. I'll soon file a review for that also. Maybe we can address this concern while reviewing that. Till that, I think it would be nice to have minimum support for macros.

Jan 14 2020, 3:42 AM · Unknown Object (Project)
SouraVX added inline comments to D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Jan 14 2020, 3:33 AM · Unknown Object (Project)
SouraVX updated the diff for D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..

Thank you everyone, for taking out time and reviewing this.
Addressed @clayborg review comments.

Jan 14 2020, 3:25 AM · Unknown Object (Project)

Jan 13 2020

SouraVX added inline comments to D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Jan 13 2020, 3:57 AM · Unknown Object (Project)
SouraVX updated subscribers of D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Jan 13 2020, 3:57 AM · Unknown Object (Project)
SouraVX created D72597: [lldb][DWARF] Added support for new forms in DWARFv5 macro..
Jan 13 2020, 3:48 AM · Unknown Object (Project)
SouraVX added a comment to D70524: Support DebugInfo generation for auto return type for C++ functions..

Thanks @sammccall , for the test case. Seems like, this implementation doesn't address the lambda functions returning "auto". We're looking into this.

Jan 13 2020, 3:19 AM · debug-info, Restricted Project, Restricted Project

Jan 12 2020

SouraVX committed rG6d6a4590c5d4: [DWARF5][clang]: Added support for DebugInfo generation for auto return type… (authored by awpandey).
[DWARF5][clang]: Added support for DebugInfo generation for auto return type…
Jan 12 2020, 11:21 PM
SouraVX committed rGc958639098a8: [DWARF5][DebugInfo]: Added support for DebugInfo generation for auto return… (authored by awpandey).
[DWARF5][DebugInfo]: Added support for DebugInfo generation for auto return…
Jan 12 2020, 11:11 PM
SouraVX closed D70524: Support DebugInfo generation for auto return type for C++ functions..
Jan 12 2020, 11:11 PM · debug-info, Restricted Project, Restricted Project

Dec 25 2019

SouraVX added inline comments to D70111: [DWARF5]Addition of alignment field in the typedef for dwarf5.
Dec 25 2019, 11:38 PM · Restricted Project, Restricted Project, debug-info

Dec 23 2019

SouraVX committed rG0a72515d33bb: [DebugInfo] Fix v4 macinfo for dwo files. (authored by SouraVX).
[DebugInfo] Fix v4 macinfo for dwo files.
Dec 23 2019, 11:22 PM

Dec 17 2019

SouraVX closed D70705: [DebugInfo]Support for debug_macinfo.dwo section in llvm and llvm-dwarfdump..
Dec 17 2019, 11:03 PM · Restricted Project, debug-info
SouraVX committed rG399273e5ebac: Recommit "[DebugInfo] Refactored macro related generation, added a test case… (authored by SouraVX).
Recommit "[DebugInfo] Refactored macro related generation, added a test case…
Dec 17 2019, 12:48 PM
SouraVX added a comment to D70524: Support DebugInfo generation for auto return type for C++ functions..

It looks like this implementation is a bit buggy in one way and incomplete in another:

  1. even if the auto-returning function is defined, that function definition doesn't describe the concrete return type. Compare GCC and Clang's output for your example and note that... oh.

I think that's correct behavior, consider this for a moment --

struct foo {
auto foo_func();
};
int foo::foo_func(){return 0;}
clang error: ->
error: return type of out-of-line definition of 'foo::foo_func' differs from that in the declaration

So this seems fair to me, regardless of the concrete return type{assuming this is what this patch is doing}. We should be emitting auto in declaration. AKA in unspecified_type. GCC(trunk) also seems fair here.

Hmm, maybe this feature/suggestion is broken or at least not exactly awesome when it comes to auto-returning functions that are eventually void-returning functions? Now the function definition has no DW_AT_type to override the unspecified_type in the declaration... :/ that's unfortunate (@probinson - thoughts?)

I'm a bit confused here, regardless of the concrete return type{void/int/float} GCC(trunk) is emitting
DW_TAG_unspecified_type
DW_AT_name "auto"
Are you trying to say we should be emitting DW_AT_type void/int/float ?? That's what functionality of clang is right now, and if we entertain that, then their is no point of emitting DW_TAG_unspecifed_type auto at first place.

Dec 17 2019, 3:10 AM · debug-info, Restricted Project, Restricted Project

Dec 11 2019

SouraVX added a comment to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..

This breaks tests on Windows: http://45.33.8.238/win/3783/step_11.txt

Please take a look, and if it takes a while to investigate, please revert for now.

Dec 11 2019, 12:52 AM · Restricted Project, debug-info

Dec 10 2019

SouraVX committed rG307f60a1a3ff: [DebugInfo] Refactored macro related generation, added a test case for macinfo. (authored by SouraVX).
[DebugInfo] Refactored macro related generation, added a test case for macinfo.
Dec 10 2019, 12:56 PM
SouraVX closed D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..
Dec 10 2019, 12:56 PM · Restricted Project, debug-info
SouraVX committed rGfb4d8fe1a862: Recommit "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified." (authored by SouraVX).
Recommit "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified."
Dec 10 2019, 12:01 PM
SouraVX closed D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified..
Dec 10 2019, 12:01 PM · Restricted Project, Restricted Project, debug-info
SouraVX added inline comments to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..
Dec 10 2019, 12:01 PM · Restricted Project, debug-info
SouraVX committed rGd82b6ba21b32: Revert "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified." (authored by SouraVX).
Revert "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified."
Dec 10 2019, 11:51 AM
SouraVX added a reverting change for rG6ef01588f4d7: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.: rGd82b6ba21b32: Revert "[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.".
Dec 10 2019, 11:51 AM
SouraVX committed rG6ef01588f4d7: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified. (authored by SouraVX).
[DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.
Dec 10 2019, 11:51 AM
SouraVX added a comment to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..

Gentle Ping! @dblaikie

Dec 10 2019, 8:34 AM · Restricted Project, debug-info

Dec 9 2019

SouraVX updated the diff for D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified..

Thank you Paul, for reviewing this. I've addressed your comments in this revision.

Dec 9 2019, 10:43 AM · Restricted Project, Restricted Project, debug-info
SouraVX added a reviewer for D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified.: probinson.
Dec 9 2019, 10:15 AM · Restricted Project, Restricted Project, debug-info
SouraVX created D71185: [DWARF5] Start emitting DW_AT_dwo_name when -gdwarf-5 is specified..
Dec 9 2019, 12:59 AM · Restricted Project, Restricted Project, debug-info

Dec 5 2019

SouraVX added inline comments to D71008: [DebugInfo] Refactored macro related generation, added a test case for macinfo.dwo emission..
Dec 5 2019, 11:38 PM · Restricted Project, debug-info