acqn
b7e7bb7489
Fixed the issue that qualifiers of pointees of function parameters were ignored for type compatibility check.
2023-12-09 14:34:37 +08:00
acqn
cf3a0c4a30
Corrected and entailed comments and cleaned up code with type comparison.
2022-10-13 13:45:22 +08:00
acqn
a4a1230c62
Renamed some C type facility and fixed a few comments.
...
Added some new C type code facility.
Removed some unused type predicates.
2022-10-12 13:10:17 +08:00
Bob Andrews
93b015660d
Merge pull request #1899 from acqn/TypeCmpFix
...
[cc65] Fixed compatibility checks on "pointer to pointer" vs "pointer to array" etc.
2022-11-18 19:04:35 +01:00
acqn
d2f74db4d8
Fixed compatibility checks on "pointer to pointer" vs "pointer to array" etc.
2022-11-02 22:44:57 +08:00
acqn
a2dfa7c721
More consistent names for SymEntry functions.
2022-10-12 13:10:17 +08:00
acqn
5adb29ce31
Made "bit-field-ness" a type property instead of a SymbolEntry or ExprDesc property.
...
Fixed integer promotion and result type in certain operations.
Fixed bit-fields 'op=' and postfix inc/dec operators.
2021-06-09 08:03:12 +02:00
acqn
9cea9ce5e2
Made the code more constness-correct with 'Type' usage.
2021-04-19 15:36:55 +02:00
acqn
896f463a23
Used more specific pointers instead of the "arbitary attribute pointer" used in type strings.
2021-04-19 15:36:55 +02:00
acqn
2864b3ef8a
Fixed composition of prototypes and old-style function definitions with default promotions.
...
Fixed function parameter list comparison with empty ones.
2021-04-03 17:50:46 +02:00
acqn
4a38965384
Warnings on discarding pointer qualifiers always.
...
Added new -W options to turn on/off warnings on certain pointer conversion cases:
- pointer-sign: to a pointer type differing in pointee signedness. Default on.
- pointer-types: to a pointer type incompatible. Default on.
2021-03-30 19:41:20 +02:00
acqn
b802efde54
Fixed ternary result type detection with pointer types.
...
Fixed pointer type comparison and conversion, especially regarding qualifiers.
Improved diagnostics about type comparison and conversion.
Reorganized some type-comparison/conversion functions.
2021-03-30 19:41:20 +02:00
acqn
2aad72af90
Removed trailing whitespaces.
2021-03-03 10:07:24 +01:00
acqn
6bb2d1d5d1
Fixed a comment on struct/union types in DoCompare().
2020-09-06 22:47:11 +02:00
acqn
1cde952cf5
Fixed comparing an enum type with a non-enum type in DoCompare().
2020-09-06 22:47:11 +02:00
acqn
56b659c0be
Made char type a distinct type.
2020-08-18 10:48:38 +02:00
acqn
44d52935da
Utility for getting the composite types of functions.
2020-08-14 18:33:54 +02:00
acqn
03b37cf712
Fixed type comparisons of typedefs and arrays.
2020-08-12 15:04:26 +02:00
acqn
eb4464e828
Fixed type comparisons of ESU types with stricter rules.
2020-08-12 15:04:26 +02:00
acqn
0df45fe2f2
Utility for getting ESU tag type symbols.
2020-08-02 18:55:46 +02:00
acqn
19c81ed866
Fixed type mask usage.
2020-07-30 08:13:23 +02:00
acqn
daa65199b3
Fixed underlying types of enums.
...
Made enumerator diagnostics more sensible.
Fixed Issue #1048 as a natural result.
2020-07-28 23:26:25 +02:00
Greg King
bbb6f89731
Made cc65 properly test calling conventions when it compares forward declarations to function definitions.
2015-05-24 18:31:50 -04:00
Greg King
e72132c8ae
Made cc65 properly test variadic-function pointer assignments.
...
Improved some error messages.
2015-05-24 08:32:15 -04:00
Greg King
0bb3bafb3e
Made cc65 catch an assignment of a function pointer to a pointer with a different calling convention.
2015-05-12 04:15:00 -04:00
Greg King
0390c34e88
Changed multi-line C comments into another style.
...
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Oliver Schmidt
4185caf855
Normalized code.
2014-03-04 01:11:19 +01:00
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
uz
cc36f8a93a
Moved the fascall and near/far flags from the function desriptor into the
...
type. Started to add general handling of address size flags in types.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-24 17:33:30 +00:00
uz
a1d7fed128
Fixed several problems with old style (K&R) declarations and a mix of old and
...
new style decls.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3869 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-03 20:55:36 +00:00
cuz
46286ccffa
Fixed an error in the type comparison code. Function declarators were not
...
considered equal, if the functions defined different local structs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-03-29 12:17:32 +00:00
cuz
de3a20a898
Changed the low level type representation from a strung of unsigned short
...
elements to a string of structs, each representing one type element. This
should fix problems on unusual architectures, since it is no longer necessary
to embedd pointers and other data converted to numbers in the string of
unsigned shorts.
Increased the TypeCode length to unsigned long to make room for more type
bits.
Inline more functions in datatype.h.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-19 12:29:37 +00:00
cuz
c123666d24
Added flexible array members for structs
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1925 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-03 22:14:20 +00:00
cuz
8ef3447248
Fixed an error in struct compare. For one, the behaviour was not standard
...
compliant, because struct tags were not compare, second, this lead to an
endless loop of recursive calls for a special case of wrong C code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1523 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-15 13:19:46 +00:00
cuz
38f076a59e
Fixed type compare for functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-15 16:41:00 +00:00
cuz
25f5c69efa
Reworked type comparison and handling of type qualifiers
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@285 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-08-14 22:18:26 +00:00