tags:

views:

127

answers:

2

When I run gcc with the parameter -fdump-rtl-jump, I get a dump file with the name file.c.135r.jump, where I can read some information about the intermediate representation of the methods in my C or C++ file.

I just recently discovered, that the static methods of a project are missing in this dump file. Do you know, why they are missing in that representation and if there is a possibility to include the static methods in this file, too.

Update (some additional information):
The test program, I'm using here, is the Hybrid OpenMP MPI Benchmark.

Update2:
I just reproduced the problem with a serial application, so it has nothing to do with parallel sections.

+1  A: 

They are not missing, and this has nothing to do with class methods. I believe that you are just not calling them.

Bertrand Marron
Oh, you are right. That could be possible. I haven't thought of that. I will check that, later.
Customizer
Hm, actually, they are called, but in a parallel OpenMp Section.
Customizer
+3  A: 

My guess is that the static methods are inlined and, since they are static, everything is known about their calls, no out-of-line code of them is emitted. A way to confirm or reject this is to add -fkeep-inline-functions gcc option and then they should appear in the dumps.

Laurynas Biveinis
I think I found the mistake. Optimizations were switched on... But your tip got me on the right way, so you get the bounty. Thanks.
Customizer