Skip to content

Commit e7b83a6

Browse files
author
Daniel Kroening
committed
undo parts of #2185
1 parent 0dad4fd commit e7b83a6

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
@@ -344,22 +344,9 @@ void ansi_c_convert_typet::write(typet &type)
344344
gcc_float64_cnt+gcc_float64x_cnt+
345345
gcc_float128_cnt+gcc_float128x_cnt>=2)
346346
{
347-
// Temporary workaround for our glibc versions that try to define TS 18661
348-
// types (for example, typedef float _Float32). This can be removed once
349-
// upgrade cbmc's GCC support to at least 7.0 (when glibc will expect us
350-
// to provide these types natively), or disable parsing them ourselves
351-
// when our preprocessor stage claims support <7.0.
352-
if(c_storage_spec.is_typedef)
353-
{
354-
warning().source_location = source_location;
355-
warning() << "ignoring typedef for TS 18661 (_FloatNNx) type. If you need these, try using goto-cc instead." << eom;
356-
}
357-
else
358-
{
359-
error().source_location=source_location;
360-
error() << "conflicting type modifiers" << eom;
361-
throw 0;
362-
}
347+
error().source_location=source_location;
348+
error() << "conflicting type modifiers" << eom;
349+
throw 0;
363350
}
364351

365352
// _not_ the same as float, double, long double

0 commit comments

Comments
 (0)