File tree Expand file tree Collapse file tree 2 files changed +12
-16
lines changed
regression/cbmc/ts18661_typedefs Expand file tree Collapse file tree 2 files changed +12
-16
lines changed Original file line number Diff line number Diff line change 1+ #if defined(__clang__ )
2+ #elif defined(__GNUC__ )
3+ #if __GNUC__ >= 7
4+ #define HAS_FLOATN
5+ #endif
6+ #endif
7+
8+ #ifndef HAS_FLOATN
19typedef float _Float32 ;
210typedef double _Float32x ;
311typedef double _Float64 ;
412typedef long double _Float64x ;
513typedef long double _Float128 ;
614typedef long double _Float128x ;
15+ #endif
716
817int main (int argc , char * * argv ) {
918}
Original file line number Diff line number Diff line change @@ -346,22 +346,9 @@ void ansi_c_convert_typet::write(typet &type)
346346 gcc_float64_cnt+gcc_float64x_cnt+
347347 gcc_float128_cnt+gcc_float128x_cnt>=2 )
348348 {
349- // Temporary workaround for our glibc versions that try to define TS 18661
350- // types (for example, typedef float _Float32). This can be removed once
351- // upgrade cbmc's GCC support to at least 7.0 (when glibc will expect us
352- // to provide these types natively), or disable parsing them ourselves
353- // when our preprocessor stage claims support <7.0.
354- if (c_storage_spec.is_typedef )
355- {
356- warning ().source_location = source_location;
357- warning () << " ignoring typedef for TS 18661 (_FloatNNx) type. If you need these, try using goto-cc instead." << eom;
358- }
359- else
360- {
361- error ().source_location =source_location;
362- error () << " conflicting type modifiers" << eom;
363- throw 0 ;
364- }
349+ error ().source_location =source_location;
350+ error () << " conflicting type modifiers" << eom;
351+ throw 0 ;
365352 }
366353
367354 // _not_ the same as float, double, long double
You can’t perform that action at this time.
0 commit comments