2010-03-06 2 views
2

Когда я запускаю gcc с параметром -fdump-rtl-jump, я получаю файл дампа с именем file.c.135r.jump, где я могу прочитать некоторую информацию о промежуточном представлении методов в моем файле C или C++.Где статические методы в дампе gcc.c.135r.jump

Я только недавно обнаружил, что статические методы проекта отсутствуют в этом файле дампа. Знаете ли вы, почему они отсутствуют в этом представлении и если есть возможность включить статические методы в этот файл тоже.

Update (некоторая дополнительная информация):
Тестовая программа, я использую здесь, является Hybrid OpenMP MPI Benchmark.

Update2:
Я просто воспроизвести проблему с последовательным приложением, поэтому он не имеет ничего общего с параллельными секциями.

+1

Можете ли вы поделиться серийным минимальным примером кода, который иллюстрирует это? –

ответ

4

Я предполагаю, что статические методы встроены и, поскольку они являются статическими, все известно об их вызовах, не выдается код вне их. Способ подтверждения или отклонения заключается в добавлении опции -fkeep-inline-functions gcc, а затем они должны появиться на свалках.

+0

Я думаю, что нашел ошибку. Оптимизация была включена ... Но ваш совет дал мне правильный путь, так что вы получаете щедрость. Благодарю. – Customizer

2

Их не хватает, и это не имеет ничего общего с методами класса. Я считаю, что вы просто не называете их.

+0

О, вы правы. Это возможно. Я об этом не думал. Я проверю это позже. – Customizer

+0

Hm, на самом деле, они вызываются, но в параллельной секции OpenMp. – Customizer

Смежные вопросы