http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60484
Bug ID: 60484 Summary: -fdump-rtl-expand and attribute optimize gives incorrect dump file path Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: secondary.mail7865220 at gmail dot com Created attachment 32324 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32324&action=edit test.c - Source to trigger the bug To trigger this bug, three conditions must be met: - At least one function must be annotated with "__attribute__((optimize))". - The object file is placed in a sub-directory to where the source file is located. - The flag -fdump-rtl-expand is used. The path to the directory where the dump file is supposed to be saved is prepended the same number of times as there are functions with "attribute optimize" in the source C file. Compiler output: $ gcc -std=c99 -fdump-rtl-expand -o objs/test.o -c test.c test.c: In function ‘Optimized_1’: test.c:3:1: error: could not open dump file ‘objs/objs/objs/test.c.166r.expand’: No such file or directory Optimized_1(int arg) ^ test.c: In function ‘Optimized_2’: test.c:10:1: error: could not open dump file ‘objs/objs/objs/test.c.166r.expand’: No such file or directory Optimized_2(int arg) ^ test.c: In function ‘main’: test.c:15:5: error: could not open dump file ‘objs/objs/objs/test.c.166r.expand’: No such file or directory int main() ^ Compiler version: $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure Thread model: posix gcc version 4.8.2 (GCC) System type: $ uname -a Linux jf-linux 3.4.63-2.44-desktop #1 SMP PREEMPT Wed Oct 2 11:18:32 UTC 2013 (d91a619) x86_64 x86_64 x86_64 GNU/Linux