Update type_traits (integral_constant): template specialization where type T is bool

T-Gruber requested to merge T-Gruber/frama-clang:fix/integral_constant into master

The goal is to fix the issue Incorrect representation of std::true_type::value after C++-C translation.

Static constant data members are represented correctly in the intermediate result (after the C++-C translation) as long as their type is not of type T (template parameter type). Within the type_traits header the integral_constant class or its specializations true_type & false_type are frequently used. To be able to analyze these correctly, a template specialization for the type bool has been implemented. This specialization ensures that the data member value is represented correctly in the intermediate result.

Edited by T-Gruber

Merge request reports