- User Since
- Apr 25 2018, 1:47 PM (4 w, 2 d)
Changed flag names
Re-added individual getters/members for _Accum types
Done. Also the failing c++ case is under test/Frontend/fixed_point_errors.cpp
- Added test case for _Bool _Accum
- Getters for the _Accum bit widths return values for their corresponding integral types (ie. sizeof(short _Accum) == sizeof(short)). The only case where this may not happen is if the target architecture uses 16 bits for an int. N1169 requires that a signed/unsigned _Accum hold at least 15 fractional bits and 4 integral bits. To be able to fit these bits, the size is upgraded to that of a long which is guaranteed to be large enough to hold them.
- Reverted changes involving name mangling since we will only support c++ for now. Will concurrently raise an issue on https://github.com/itanium-cxx-abi/cxx-abi/ to get characters for name mangling.
- Added a flag that needs to be provided to enable usage of fixed point types. Not including this flag and using fixed point types throws an error. Currently, this patch allows for these types to be used in all versions of C, but this can be narrowed down to specific versions of C.
- An error is thrown when using fixed point types in C++.
- Fixed point types are ignored during USRGeneration since the type only gets mangled in C++.
- Fixed point types their own width and alignment accessors/variables in TargetInfo.
- Updated debug info to use DW_ATE_signed_fixed and DW_ATE_unsigned_fixed.
- Added tests mixing _Accum with other type specifiers
Wed, May 23
After further discussion, we think the best approach for now would be only supporting fixed point types in C, then go back and support C++ once there is a standardized way for mangling the fixed point types under itanium.
Tue, May 22
pulled changes from source tree
- Running lli threw a segfault in the test, though this was probably because it was using whatever hist jit was available to optimize the code instead of just interpreting it. Forcing it just interpret fixes this.
Mon, May 21
Fri, May 18
Thu, May 17
Undid git-clang-formatting on ASTBitcodes.h
Added break. We still assign Result since it cannot be null at the end of the switch stmt, though the value doesn't matter.
Ran git-clang-tidy on all affected files