The preprocessor (or any subsequent component) does not remove superfluous referencing and dereferencing. For instance take the example of accessing the address of an element in an array.
&(data[i]) The preprocessor or at least another part should convert this to the equivalent of (data + i) Similarly the redundant de/referencing of &*&*&*variable is not be removed I know that this can be done from the coders side but in my case some nice tricks with macros and other things make it undesireable to code by hand. -- Summary: No removal of redundant referencing / dereferencing Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: preprocessor AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: othojunk at yahoo dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25772