The tree dump created with the option "-fdump-tree-original-raw" is incomplete for two reasons:
1.) at some places in the code, the "slim" option (TDF_SLIM) has been hardcoded (this is easily demonstrated by running "gcc -fdump-tree-original-raw test.cpp" and "gcc -fdump-tree-original-raw-slim test.cpp", which both produce the same output)
2.) declaration expressions are not handled properly
This might be related to other bugs in the database which are not yet resolved (e.g., #27193). The attached patch fixes both issues.
Created attachment 15857 [details]
Created attachment 15858 [details]
patch to fix the tree dump problem
Subject: Re: incomplete tree dump with "-fdump-tree-original-raw"
On Sat, 5 Jul 2008, grabner at icg dot tugraz dot at wrote:
> Created an attachment (id=15858)
> --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15858&action=view)
> patch to fix the tree dump problem
Patches (against trunk) must go to gcc-patches after testing and with
ChangeLog entries and the other information required; see
<http://gcc.gnu.org/contribute.html> for details.
Really these options are only to be used to debug GCC and not really supposed to be used to outside of that.
> What's that? If this value is important to you, please document
It is documented via autoconf and really on http://gcc.gnu.org/install/specific.html :).
Ok, I inserted my best guess for host-target-build (since this particular problem is not related to code generation, it shouldn't be too important here anyway). A few proposals how to make it easier for first-time bug reporters to create useful reports are here:
Regarding the "TDF_SLIM | ...", it still seems to me that these have been inserted at some point in time for testing purposes and not yet been removed since then. If a slim tree dump is desired, it can still be obtained by adding the "-slim" switch. I am working on automatic differentiation of C code written for gcc, and it seems natural to obtain the code tree directly from gcc. Since the tree-dump options are documented in the man page, I took this approach, but had to remove the TDF_SLIM override to get useful results.