Skip to content

Commit c1351cf

Browse files
author
Daniel Kroening
committed
undo parts of #2185
1 parent 30ebadd commit c1351cf

File tree

2 files changed

+12
-16
lines changed

2 files changed

+12
-16
lines changed
+9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
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
19
typedef float _Float32;
210
typedef double _Float32x;
311
typedef double _Float64;
412
typedef long double _Float64x;
513
typedef long double _Float128;
614
typedef long double _Float128x;
15+
#endif
716

817
int main(int argc, char** argv) {
918
}

src/ansi-c/ansi_c_convert_type.cpp

+3-16
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)