Home | History | Annotate | only in /src/usr.bin/xlint/arch
History log of /src/usr.bin/xlint/arch
RevisionDateAuthorComments
 1.6 20-Jul-2021  rillig lint: make char unsigned on aarch64

This fixes tests msg_074 and msg_076, which previously warned for
'\xff': conversion of 'int' to 'char' is out of range [119]

The commit from 2014-08-10 that first defined char as signed had the
remark "Enough for a distribution build". At that time, there was no
unit test for lint1 that would have detected the signedness of char.
 1.5 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.4 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.3 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.2 09-Jan-2021  rillig lint: remove trailing whitespace
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file targparam.h was added on branch tls-maxphys on 2014-08-20 00:05:05 +0000
 1.8 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.7 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.6 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.5 09-Jan-2021  rillig lint: remove trailing whitespace
 1.4 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.3 29-May-2003  christos branches: 1.3.56;
- make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.3.56.1 17-Apr-2012  yamt sync with head
 1.9 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.8 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.7 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.6 09-Jan-2021  rillig lint: remove trailing whitespace
 1.5 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.4 11-Jul-2010  mrg branches: 1.4.6;
remove the remaining non-ELF code.
 1.3 29-May-2003  christos - make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.4.6.1 17-Apr-2012  yamt sync with head
 1.6 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.5 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.4 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.3 09-Jan-2021  rillig lint: remove trailing whitespace
 1.2 18-Mar-2014  riastradh branches: 1.2.4; 1.2.8;
Merge riastradh-drm2 to HEAD.
 1.1 18-Jul-2013  matt branches: 1.1.2;
Add stub port for evbcf which has enough to do a distribution build.
 1.1.2.2 23-Jul-2013  riastradh sync with HEAD
 1.1.2.1 18-Jul-2013  riastradh file targparam.h was added on branch riastradh-drm2 on 2013-07-23 21:07:40 +0000
 1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.8.1 18-Mar-2014  tls file targparam.h was added on branch tls-maxphys on 2014-08-20 00:05:05 +0000
 1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.4.1 18-Mar-2014  yamt file targparam.h was added on branch yamt-pagecache on 2014-05-22 11:42:52 +0000
 1.9 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.8 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.7 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.6 09-Jan-2021  rillig lint: remove trailing whitespace
 1.5 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.4 16-Feb-2012  skrll Correct LDOUBLE_SIZE
 1.3 26-Jan-2005  christos branches: 1.3.50;
sync with reality.
 1.2 29-May-2003  christos - make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.1 06-Jun-2002  fredette Added hppa support to xlint.
 1.3.50.1 17-Apr-2012  yamt sync with head
 1.8 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.7 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.6 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.5 09-Jan-2021  rillig lint: remove trailing whitespace
 1.4 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.3 29-May-2003  christos branches: 1.3.56;
- make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.3.56.1 17-Apr-2012  yamt sync with head
 1.6 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.5 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.4 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.3 09-Jan-2021  rillig lint: remove trailing whitespace
 1.2 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.1 01-Apr-2006  cherry branches: 1.1.44;
xlint for ia64
 1.1.44.1 17-Apr-2012  yamt sync with head
 1.7 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.6 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.5 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.4 09-Jan-2021  rillig lint: remove trailing whitespace
 1.3 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.2 29-May-2003  christos branches: 1.2.56;
- make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.1 04-Feb-2002  thorpej On m68000, we need different target parameters than on m68k,
because "long double" is a different size on m68000.
 1.2.56.1 17-Apr-2012  yamt sync with head
 1.8 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.7 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.6 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.5 09-Jan-2021  rillig lint: remove trailing whitespace
 1.4 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.3 29-May-2003  christos branches: 1.3.56;
- make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.3.56.1 17-Apr-2012  yamt sync with head
 1.9 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.8 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.7 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.6 09-Jan-2021  rillig lint: remove trailing whitespace
 1.5 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.4 12-Jun-2005  matt branches: 1.4.44;
Can't use _LP64 because xlint is a host tool. We need a new define for
when building as a host tool.
 1.3 29-May-2003  christos - make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.4.44.1 17-Apr-2012  yamt sync with head
 1.10 02-Nov-2021  skrll Hopefully fix builds
 1.9 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.8 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.7 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.6 09-Jan-2021  rillig lint: remove trailing whitespace
 1.5 24-Jan-2014  christos Checking _LP64 to determine the size of the built binary is just wrong. We
build n32 by default on mips64 now, we don't handle the compat build which
is n64. This is the same case for sparc64/sparc and amd64/i386 (lint does
not run in compat)
 1.4 29-Mar-2012  macallan branches: 1.4.2;
XXX
Don't assume LP64 unless lint itself is built as LP64
On mips64 we default to n32 which produces errors when things like
TARG_LONG_MAX don't fit into a long
A proper fix would be to teach lint about different target ABIs so it can
pick the right parameters, this is just a bandaid to make it slightly less
wrong and allow a mips64 build to complete.
 1.3 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.2 18-Jan-2011  matt branches: 1.2.6;
Change mips64 to use a 16 byte long double.
 1.1 25-Aug-2006  matt branches: 1.1.30;
Add enough configury glue so that src/tools can build a N64 mips toolchain.
 1.1.30.1 29-Apr-2011  matt Update LDOUBLE size
 1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.6.1 17-Apr-2012  yamt sync with head
 1.4.2.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3 02-Nov-2021  skrll Hopefully fix builds
 1.2 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.1 30-Apr-2021  christos add for mipsn64
 1.5 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.4 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.3 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.2 09-Jan-2021  rillig lint: remove trailing whitespace
 1.1 03-Sep-2014  matt New files for OR1K support
 1.9 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.8 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.7 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.6 09-Jan-2021  rillig lint: remove trailing whitespace
 1.5 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.4 19-Feb-2005  matt branches: 1.4.50;
Don't include the powerpc64 definitions in here. Since lint is a host
tool, the hosts definition of _LP64 will confuse things.
 1.3 29-May-2003  christos - make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.4.50.1 17-Apr-2012  yamt sync with head
 1.6 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.5 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.4 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.3 09-Jan-2021  rillig lint: remove trailing whitespace
 1.2 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.1 29-Jun-2006  mrg branches: 1.1.42;
allow powerpc64 lint to build (not really tested yet though.)
 1.1.42.1 17-Apr-2012  yamt sync with head
 1.5 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.4 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.3 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.2 09-Jan-2021  rillig lint: remove trailing whitespace
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.5 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.4 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.3 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.2 09-Jan-2021  rillig lint: remove trailing whitespace
 1.1 19-Sep-2014  matt New files for Userland support of UCB RISC-V (both 32-bit and 64-bit)
 1.9 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.8 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.7 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.6 09-Jan-2021  rillig lint: remove trailing whitespace
 1.5 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.4 20-Oct-2006  he branches: 1.4.40;
The symbol to define to 1 if a pointer to an int fits in a long is
INTPTR_IS_LONG, not INTPTR_IS_ULONG -- the latter is unused in
other parts of lint's code. This stops vax's lint from complaining
about conversion of integer constants to 'unsigned long' in function
argument lists, via a proper define of INT_RSIZE in common/inittyp.c.
sh3 defined this to 0, so was actually not affected, but better to
eradicate the typo there as well.
 1.3 29-May-2003  christos - make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.4.40.1 17-Apr-2012  yamt sync with head
 1.8 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.7 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.6 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.5 09-Jan-2021  rillig lint: remove trailing whitespace
 1.4 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.3 29-May-2003  christos branches: 1.3.56;
- make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.3.56.1 17-Apr-2012  yamt sync with head
 1.9 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.8 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.7 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.6 09-Jan-2021  rillig lint: remove trailing whitespace
 1.5 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.4 29-May-2003  christos branches: 1.4.56;
- make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.3 31-Jan-2002  he Typo correction.
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.4.56.1 17-Apr-2012  yamt sync with head
 1.10 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.9 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.8 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.7 09-Jan-2021  rillig lint: remove trailing whitespace
 1.6 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.5 11-Jul-2010  mrg branches: 1.5.6;
remove the remaining non-ELF code.
 1.4 20-Oct-2006  he The symbol to define to 1 if a pointer to an int fits in a long is
INTPTR_IS_LONG, not INTPTR_IS_ULONG -- the latter is unused in
other parts of lint's code. This stops vax's lint from complaining
about conversion of integer constants to 'unsigned long' in function
argument lists, via a proper define of INT_RSIZE in common/inittyp.c.
sh3 defined this to 0, so was actually not affected, but better to
eradicate the typo there as well.
 1.3 29-May-2003  christos - make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.5.6.1 17-Apr-2012  yamt sync with head
 1.8 27-Jun-2021  rillig lint: fix typo in comment for target platform definitions
 1.7 24-Jan-2021  rillig lint: reduce preprocessor magic for platform target types
 1.6 09-Jan-2021  rillig lint: make target platform independent of host platform

If lint is run on a platform that has CHAR_BIT == 10, this doesn't
magically make an ILP32 platform have 40 bits per uint32_t.

At the moment, all of the supported platforms are either ILP32 or
I32LP64 anyway, and all of them have CHAR_BIT == 8 == CHAR_SIZE,
so nothing changes practically.
 1.5 09-Jan-2021  rillig lint: remove trailing whitespace
 1.4 27-Mar-2012  christos more cross lint friendlyness
XXX: needs more constants converted double/float
 1.3 29-May-2003  christos branches: 1.3.56;
- make all targparam.h files consistent with the arch includes
- add a new INTPTR_IS_LONG define and use it.

- XXX: the PTRDIFF, SIZEOF, INTPTR defines really make lint more relaxed
in some platforms than others. We should really be looking for the
particular tokens to enable this kind of checking. I.e.
now:

char *p;
int foo = (int)p;

does not produce a warning on INTPTR_IS_LONG == 0 platformas.
In reality it should only elide the warning if:

char *p;
int foo = (intptr_t)p;

but it is not that smart (yet).
 1.2 30-Jan-2002  thorpej Define FLOAT_SIZE, DOUBLE_SIZE, LDOUBLE_SIZE, and ENUM_SIZE in
target-specific headers, and use the definitions when initializing
the type table.
 1.1 18-Jan-2002  thorpej * Move stuff shared between lint1 and lint2 to the new common/ directory.
* Move the arch/ directory out of lint1/ into the top-level.
 1.3.56.1 17-Apr-2012  yamt sync with head

RSS XML Feed