Quick Search:

View detailed chart Line History

line history graph

View Mode

Logical Physical

Show Arbitrary Diff

From to

Supports revisions and tags.

Watches and RSS

History

MAIN 1.337 1.272 1.1 r-1-0-0 1.272.2.1 BSD_44 1.1.1.1

latest revision download Branch MAIN

1.337 annotated / raw | Diffs: previous, other | Lines: 3351 ( +28, -7 )

Created: 2014-08-16 15:40:22 +0200 (3 days ago) | Author: ragge | Changeset: MAIN:ragge:20140816134022

Restore cstknode, there were unexpected side effects of removing it.
(types not allowed in registers ended up there anyway).

1.336 annotated / raw | Diffs: previous, other | Lines: 3330 ( +16, -5 )

Created: 2014-08-14 10:25:38 +0200 (6 days ago) | Author: ragge | Changeset: MAIN:ragge:20140814082538

Avoid wrong sign if a bitfield is the rightmost bit.  While here fix overflow
bug for bitfields larger than int when RS do not divide.
Fixes Jira#PCC-464 by Volkmar Klatt.

1.335 annotated / raw | Diffs: previous, other | Lines: 3319 ( +2, -2 )

Created: 2014-08-13 22:18:59 +0200 (6 days ago) | Author: ragge | Changeset: MAIN:ragge:20140813201859

Always promote left operand if doing a shift.  This could be conditionalized
if shift smaller than type, but not sure it is worth it.
Fixes Jira#PCC-468 by Iain Hibbert.

1.334 annotated / raw | Diffs: previous, other | Lines: 3319 ( +7, -27 )

Created: 2014-08-06 18:47:52 +0200 (13 days ago) | Author: ragge | Changeset: MAIN:ragge:20140806164752

Remove cstknode() and replace it with tempnode(), which does the same thing.

1.333 annotated / raw | Diffs: previous, other | Lines: 3339 ( +19, -3 )

Created: 2014-08-06 17:23:58 +0200 (13 days ago) | Author: ragge | Changeset: MAIN:ragge:20140806152358

Let bitfields be subject to integer promotions, and handle other types
according to the gcc syntax.  Fixes Jira#PCC-462 by Volkmar Klatt.

1.332 annotated / raw | Diffs: previous, other | Lines: 3323 ( +18, -2 )

Created: 2014-08-05 11:41:38 +0200 (15 days ago) | Author: ragge | Changeset: MAIN:ragge:20140805094138

sign-extend bitfield values if signed variables.
Fixes Jira#PCC-461 by Volkmar Klatt.

1.331 annotated / raw | Diffs: previous, other | Lines: 3307 ( +4, -1 )

Created: 2014-08-03 19:48:53 +0200 (16 days ago) | Author: ragge | Changeset: MAIN:ragge:20140803174853

Deal with integer promotions in bitfields.
Fixes Jira#PCC-460 by Volkmar Klatt.

1.330 annotated / raw | Diffs: previous, other | Lines: 3304 ( +3, -1 )

Created: 2014-07-05 11:05:52 +0200 (46 days ago) | Author: ragge | Changeset: MAIN:ragge:20140705090552

When using logical operators on constants the result must always be INT.
Yet one more fallout from the time where everything was int.
Fixes Jira#PCC-455 by Volkmar Klatt.

1.329 annotated / raw | Diffs: previous, other | Lines: 3302 ( +2, -2 )

Created: 2014-06-20 09:04:48 +0200 (2 months ago) | Author: plunky | Changeset: MAIN:plunky:20140620070448

correct spelling of existence

1.328 annotated / raw | Diffs: previous, other | Lines: 3302 ( +3, -2 )

Created: 2014-06-07 10:14:33 +0200 (2 months 13 days ago) | Author: ragge | Changeset: MAIN:ragge:20140607081433

No shortcuts for simple ops if BOOL involved.
Fixes Jira#PCC-443 by Fred J. Tydeman.

1.327 annotated / raw | Diffs: previous, other | Lines: 3301 ( +3, -1 )

Created: 2014-06-06 18:21:41 +0200 (2 months 13 days ago) | Author: ragge | Changeset: MAIN:ragge:20140606162141

Only promote unary plus if needed, otherwise we may get unwanted side effects.
Fixes Jira#PCC-441 by Fred J. Tydeman.

1.326 annotated / raw | Diffs: previous, other | Lines: 3299 ( +2, -1 )

Created: 2014-06-01 09:51:46 +0200 (2 months 19 days ago) | Author: ragge | Changeset: MAIN:ragge:20140601075146

6.5.3.3 clause 5: An !E expression always has the type INT.
Fixes Jira#PCC-438 by Volkmar Klatt.

1.325 annotated / raw | Diffs: previous, other | Lines: 3298 ( +1, -3 )

Created: 2014-05-29 21:20:03 +0200 (2 months 21 days ago) | Author: plunky | Changeset: MAIN:plunky:20140529192002

mkpstr() should not use esc2char(), since stradd() already did it.

while here, audit and tidy all of IP_ASM and ip_asm operations. The
rule is that an asm("") statement will insert a tab at the beginning,
and a newline at the end, but all other (internal) uses of IP_ASM need
to have them already in the string. This is because there are some cases
where an ip_asm string is created, which provides a label.

1.324 annotated / raw | Diffs: previous, other | Lines: 3300 ( +4, -2 )

Created: 2014-05-03 11:57:57 +0200 (3 months 17 days ago) | Author: ragge | Changeset: MAIN:ragge:20140503095757

Allow pcc to be compiled without PCC_DEBUG being defined.
Solves Jira#PCC-8 by Gregory McGarry.

1.323 annotated / raw | Diffs: previous, other | Lines: 3298 ( +15, -1 )

Created: 2014-05-03 11:47:51 +0200 (3 months 17 days ago) | Author: ragge | Changeset: MAIN:ragge:20140503094751

Accept --disable-gcc-compat.  Not heavily tested.
Fixes Jira#PCC-262 by Jonathan Gray.

1.322 annotated / raw | Diffs: previous, other | Lines: 3284 ( +9, -3 )

Created: 2014-04-29 20:13:59 +0200 (3 months 20 days ago) | Author: ragge | Changeset: MAIN:ragge:20140429181359

Fix bug where too little stack space may be allocated on 64-bit targets.

1.321 annotated / raw | Diffs: previous, other | Lines: 3278 ( +3, -5 )

Created: 2014-04-09 12:01:24 +0200 (4 months 11 days ago) | Author: plunky | Changeset: MAIN:plunky:20140409100124

fix issues noted by -Wunused-but-set-variable of gcc4.8 by cutting out
use of the dummy variables

1.320 annotated / raw | Diffs: previous, other | Lines: 3280 ( +2, -3 )

Created: 2012-10-22 11:29:49 +0200 (21 months ago) | Author: plunky | Changeset: MAIN:plunky:20121022092949

remove set but unused variable tsz [lint]

1.319 annotated / raw | Diffs: previous, other | Lines: 3281 ( +7, -1 )

Created: 2012-10-22 11:18:52 +0200 (21 months ago) | Author: plunky | Changeset: MAIN:plunky:20121022091852

mark intentional fall through on case statements
appeases lint and makes code reading easier

1.318 annotated / raw | Diffs: previous, other | Lines: 3275 ( +2, -1 )

Created: 2012-10-22 11:13:42 +0200 (21 months ago) | Author: plunky | Changeset: MAIN:plunky:20121022091342

for strictness, have a break here
(fallthrough would have no effect but was unintentional)

1.317 annotated / raw | Diffs: previous, other | Lines: 3274 ( +1, -3 )

Created: 2012-10-22 10:55:33 +0200 (21 months ago) | Author: plunky | Changeset: MAIN:plunky:20121022085533

remove unused variable 'msk'

1.316 annotated / raw | Diffs: previous, other | Lines: 3276 ( +5, -5 )

Created: 2012-09-26 21:56:12 +0200 (22 months ago) | Author: plunky | Changeset: MAIN:plunky:20120926195612

debug output using fprintf(stdout) can be printf() since it
is interspersed with that anyway

1.315 annotated / raw | Diffs: previous, other | Lines: 3276 ( +2, -2 )

Created: 2012-09-22 11:18:45 +0200 (22 months ago) | Author: ragge | Changeset: MAIN:ragge:20120922091845

Fix bug in calculating sizes for dynamic array pointers, like pointer
subtraction.  Fixes pcc-tests regression bug in types008.c.

1.314 annotated / raw | Diffs: previous, other | Lines: 3276 ( +5, -1 )

Created: 2012-09-07 18:19:27 +0200 (23 months ago) | Author: ragge | Changeset: MAIN:ragge:20120907161927

Accept COMOP in type propagation.

1.313 annotated / raw | Diffs: previous, other | Lines: 3272 ( +4, -3 )

Created: 2012-09-02 10:38:37 +0200 (23 months ago) | Author: ragge | Changeset: MAIN:ragge:20120902083837

A > should be >= and this caused wrong code to be generated if the field
size and offset exactly macthed the type that should be used to read/write
the field.  Fixes Jira#PCC-406 by Iain Hibbert.

1.312 annotated / raw | Diffs: previous, other | Lines: 3271 ( +3, -1 )

Created: 2012-09-01 10:18:26 +0200 (23 months ago) | Author: ragge | Changeset: MAIN:ragge:20120901081826

Cannot evaluate ?: until types are correct.
Fixes Jira#PCC-405 by Iain Hibbert.

1.311 annotated / raw | Diffs: previous, other | Lines: 3269 ( +3, -2 )

Created: 2012-08-18 17:44:13 +0200 (2 years ago) | Author: ragge | Changeset: MAIN:ragge:20120818154413

Save all labels that are taken address of, so that they won't be optimized
away in deljumps().
Add all labels of which address are taken as possible destinations in
computed goto statements when creating the cfg.

1.310 annotated / raw | Diffs: previous, other | Lines: 3268 ( +3, -4 )

Created: 2012-08-13 22:10:22 +0200 (2 years ago) | Author: ragge | Changeset: MAIN:ragge:20120813201022

Taking address of a label has been partly broken for a while, but now fixed.

1.309 annotated / raw | Diffs: previous, other | Lines: 3269 ( +66, -103 )

Created: 2012-06-20 22:01:10 +0200 (2 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20120620200110

Expand increment and compound operators early in buildtree to their basic
expressions, to allow for correct types. Required in 6.5.16.2.
Fixes bug reported by Fred J. Tydeman on pcc-list.

1.308 annotated / raw | Diffs: previous, other | Lines: 3306 ( +16, -15 )

Created: 2012-04-22 23:07:41 +0200 (2 years 3 months ago) | Author: plunky | Changeset: MAIN:plunky:20120422210740

tidy up some remaining K&R function definitions

1.307 annotated / raw | Diffs: previous, other | Lines: 3305 ( +16, -1 )

Created: 2012-03-26 18:51:50 +0200 (2 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20120326165150

Let rmpconv() and optim() loop until nothing more to do.
Add ?: optimization for constants in optim().
Fixes Jira#PCC-387 by Nicolas Joly.

1.306 annotated / raw | Diffs: previous, other | Lines: 3290 ( +1, -5 )

Created: 2012-03-22 19:51:40 +0100 (2 years 4 months ago) | Author: plunky | Changeset: MAIN:plunky:20120322185140


tidy up debugging options a bit:

- sort options in main()
- pass1 options are ?debug, declared in pass1.h
- pass2 options are ?2debug, declared in pass2.h
- variables defined in main.c

1.305 annotated / raw | Diffs: previous, other | Lines: 3294 ( +2, -2 )

Created: 2012-03-06 19:15:50 +0100 (2 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20120306181550

Fix bug causing failure when comparing bool pointers.
Fixes Jira#PCC-383 by Nicolas Joly, bugfix by Will Noble on pcc-list.

1.304 annotated / raw | Diffs: previous, other | Lines: 3294 ( +16, -3 )

Created: 2011-08-14 16:52:29 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110814145229

Expressions casted to void do not need to be passed to clocal() for checks,
so do a quick cast and be done with it.  Fixes Jira#PCC-351 by Nicolas Joly.

1.303 annotated / raw | Diffs: previous, other | Lines: 3281 ( +13, -19 )

Created: 2011-08-14 09:35:59 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110814073559

Leave division by 0 to runtime since we do not even know if the code in
question will be emitted.  Fixes Jira#PCC-309 by Fred J. Tydeman.

1.302 annotated / raw | Diffs: previous, other | Lines: 3287 ( +6, -2 )

Created: 2011-08-13 16:32:30 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110813143230

Fix correct bitfield return value for unaligned accesses.

1.301 annotated / raw | Diffs: previous, other | Lines: 3283 ( +7, -1 )

Created: 2011-08-13 16:13:24 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110813141324

Return value from bitfield assignment were wrong.  Found by Mickey.

1.300 annotated / raw | Diffs: previous, other | Lines: 3277 ( +8, -3 )

Created: 2011-08-12 15:24:05 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110812132405

Do not propagate types to an ADDROF TEMP, since that may give the wrong
type if when converted to a stack reference.
Fixes bug reported by Steve Kargl on pcc-list.

1.299 annotated / raw | Diffs: previous, other | Lines: 3272 ( +10, -2 )

Created: 2011-08-09 18:39:56 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110809163956

Make labels use nodes in pass1 instead of just being in the interpass queue.
This will simplify handling of inline functions etc.

1.298 annotated / raw | Diffs: previous, other | Lines: 3264 ( +25, -10 )

Created: 2011-08-08 21:22:58 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110808192258

Propagate attributes down when removing PCONVs.
Do not discard *& when & is applied to a temporary.  If an address is taken
then the value must always be in memory.
Fixes Jira#PCC-374 by Iain Hibbert.

1.297 annotated / raw | Diffs: previous, other | Lines: 3249 ( +16, -17 )

Created: 2011-08-05 10:14:40 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110805081440

Fix a -Wtruncate bug giving false positives, and also some -Wtruncate
complains.

1.296 annotated / raw | Diffs: previous, other | Lines: 3250 ( +3, -1 )

Created: 2011-08-04 17:54:37 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110804155437

Do not decrement pointer in ADDROF if the resulting type wont be a pointer
but the previous will.  Fixes a bug where compiling gcc failed.

1.295 annotated / raw | Diffs: previous, other | Lines: 3248 ( +106, -1 )

Created: 2011-08-03 21:25:32 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110803192532

On non-word-addressed targets we can remove almost all PCONV's by propagating
down the new types and still keepin gtree type correctness. This is true
for almost all targets, so keep it in a common routine.
This is a very invasive change that will affect everything, but it also
allows for the compiler to generate much more efficient code.

1.294 annotated / raw | Diffs: previous, other | Lines: 3143 ( +2, -1 )

Created: 2011-07-30 17:13:34 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110730151334

Add a missing makety() for values to be written in bitfield code.
Bug reported by mickey.

1.293 annotated / raw | Diffs: previous, other | Lines: 3142 ( +28, -1 )

Created: 2011-07-30 16:45:38 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110730144538

Rewrite x(y()) to t1=y(); x(t1); to simplify for targets which passes params
in registers.  It probably won't affect stack-only targets at all.
Struct returns and struct args must still be handled in a target-dependent way.

1.292 annotated / raw | Diffs: previous, other | Lines: 3115 ( +179, -157 )

Created: 2011-07-27 19:51:31 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110727175131

Write code to handle both packed and normal bitfields for targets that do not
have their own bitfield ops.  Also make this work for targets that do not
allow unaligned accesses by changing all to byte accesses.
Targets that allow unaligned accesses are supposed to define UNALIGNED_ACCESS.
XXX - there are some room for improvements.
XXX2 - need heavy testing on big-endian targets.

1.291 annotated / raw | Diffs: previous, other | Lines: 3093 ( +125, -23 )

Created: 2011-07-21 11:09:10 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110721090910

Add read support for unaligned bitfields on targets that do not allow
unaligned access. Targets that can make use of unaligned access should
define UNALIGNED_ACCESS to get more efficient code.

1.290 annotated / raw | Diffs: previous, other | Lines: 2991 ( +24, -78 )

Created: 2011-06-29 21:46:21 +0200 (3 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20110629194621

Simplify tymatch() significantly.  The rules for type conversions are
straight forward in the standard.

1.289 annotated / raw | Diffs: previous, other | Lines: 3045 ( +5, -3 )

Created: 2011-06-23 15:38:23 +0200 (3 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20110623133823

Change the handling of directives and label printout slightly, much of this
code is just copied between targets so keep it common with the possibility
to override with target-specific functions.

1.288 annotated / raw | Diffs: previous, other | Lines: 3043 ( +3, -3 )

Created: 2011-06-05 12:19:25 +0200 (3 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20110605101924

Remove RTOLBYTES and change to the more common name ENDIAN.
Begin to clear the way for run-time settings of endianness for targets
taht support it.

1.287 annotated / raw | Diffs: previous, other | Lines: 3043 ( +4, -5 )

Created: 2011-06-02 17:48:59 +0200 (3 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20110602154859

Err, forgot the actual defines.

1.286 annotated / raw | Diffs: previous, other | Lines: 3044 ( +11, -1 )

Created: 2011-06-02 17:29:54 +0200 (3 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20110602152954

Provide some common code for byte-addressed targets, which is the usual case,
and let word-addressed targets define WORD_ADDRESSED.
This removes the need for offcon() and PMCONV/PVCONV in target code.

1.285 annotated / raw | Diffs: previous, other | Lines: 3034 ( +1, -13 )

Created: 2011-06-02 16:58:00 +0200 (3 years 2 months ago) | Author: plunky | Changeset: MAIN:plunky:20110602145800

remove function no longer used (ok ragge)

1.284 annotated / raw | Diffs: previous, other | Lines: 3046 ( +69, -69 )

Created: 2011-06-01 19:39:03 +0200 (3 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20110601173903

Modify makety() and add concast() to do SCONV of constants in MI code.
Remove unused complex code.

1.283 annotated / raw | Diffs: previous, other | Lines: 3046 ( +5, -2 )

Created: 2011-06-01 10:42:14 +0200 (3 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20110601084214

Check for a NAME that is an array as condition for ?:. This solves a problem
when compiling zfs.

1.282 annotated / raw | Diffs: previous, other | Lines: 3043 ( +2, -1 )

Created: 2011-05-31 17:26:25 +0200 (3 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20110531152625

Add a missed call to clocal() in rmfldops.

1.281 annotated / raw | Diffs: previous, other | Lines: 3042 ( +140, -1 )

Created: 2011-05-29 15:14:04 +0200 (3 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20110529131404

Now rewrite not only read but also assignment bitfield operations
if !defined(FIELDOPS).

1.280 annotated / raw | Diffs: previous, other | Lines: 2903 ( +4, -1 )

Created: 2011-04-28 18:21:46 +0200 (3 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20110428162146

If a type is BOOL, make it BOOL_TYPE before finding out how to convert it.
Fixes Jira#PCC-307 by Fred J. Tydeman.

1.279 annotated / raw | Diffs: previous, other | Lines: 2900 ( +3, -3 )

Created: 2011-04-19 18:38:12 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110419163812

Must do nncon() check on constants before trying to optimize away branches.
Fixes Jira#PCC-322 by Iain Hibbert.

1.278 annotated / raw | Diffs: previous, other | Lines: 2900 ( +20, -19 )

Created: 2011-04-17 18:45:12 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110417164512

Fixup the bitfield alignment code to obey its types.
Fixes Jira#PCC-320 by Fred J. Tydeman.

1.277 annotated / raw | Diffs: previous, other | Lines: 2899 ( +2, -2 )

Created: 2011-04-17 10:15:16 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110417081516

Cannot convert floats f++ to ((f+=1)-1) since it will discard small numbers
of f. Fixes Jira#PCC-313 by Fred J. Tydeman.

1.276 annotated / raw | Diffs: previous, other | Lines: 2899 ( +3, -2 )

Created: 2011-04-13 18:55:10 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110413165510

sizeof should return size_t, not int. Fixes Jira#PCC-314 by Fred J. Tydeman.

1.275 annotated / raw | Diffs: previous, other | Lines: 2898 ( +9, -3 )

Created: 2011-04-13 17:09:55 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110413150955

Do integer promotions before evaluating !, ~ and -.  This has never been
done before.  Fixes Jira#PCC-311 by Chris Spiegel.

1.274 annotated / raw | Diffs: previous, other | Lines: 2892 ( +40, -44 )

Created: 2011-04-07 20:50:16 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110407185015

Rewrite the handling of type size/alignment to only need attributes
for size/align when something differs from default.  Hence; no need
for MKAP/MKSUE anymore.

1.273 annotated / raw | Diffs: previous, other | Lines: 2896 ( +2, -2 )

Created: 2011-03-01 18:34:32 +0100 (3 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20110301173432

Fix bug in conval() causing wrong code path to be taken sometimes.

1.272 annotated / raw | Diffs: previous, other | Lines: 2896 ( +4, -2 )

Created: 2011-01-27 18:33:54 +0100 (3 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20110127173354

Do not convert bitfields to int unvolontary, instead keep the original
type otherwise small types may get wrong values if located late in bitfields.
Fixes Jira#PCC-223 by Fred J. Tydeman.

Branch point for: r-1-0-0

Tags: r-1-0-0$BP

1.271 annotated / raw | Diffs: previous, other | Lines: 2894 ( +14, -1 )

Created: 2011-01-26 19:11:27 +0100 (3 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20110126181127

Convert float constants to int before an !, || or && is evaluated.
Solves Jira#PCC-219 by Fred J. Tydeman.

1.270 annotated / raw | Diffs: previous, other | Lines: 2881 ( +6, -4 )

Created: 2011-01-26 13:25:22 +0100 (3 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20110126122522

Promote floats to the largest type when evaluating constants, instead of
just setting type to double.  Fixes part of Jira#PCC-216 by Fred J. Tydeman.

Do not discard asm() statements if they occur outside of functions.

1.269 annotated / raw | Diffs: previous, other | Lines: 2879 ( +11, -3 )

Created: 2011-01-25 20:02:41 +0100 (3 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20110125190241

Handle builtin_constant_p() a little different.  Never search for side effects
inside ().  Search and print out unreachable labels here.  Inlined functions
may be written out, so just discard them if outside a function.

1.268 annotated / raw | Diffs: previous, other | Lines: 2871 ( +10, -13 )

Created: 2011-01-22 23:08:23 +0100 (3 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20110122220823

Change gcc warning implementation: call a separate function handling all
warnings.  Keep track of which warnings that should yield errors.
Add pragma support for GCC diagnostics.
Supposed to fix Jira#PCC-213 by Piotr Sikora.

1.267 annotated / raw | Diffs: previous, other | Lines: 2874 ( +10, -12 )

Created: 2011-01-16 21:35:25 +0100 (3 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20110116203525

Fix bug in bool handling reported on pcc-list by Peter Kuschnerus together
with a fix suggestion.  Bug confirmed by Thorsten Glaser.

1.266 annotated / raw | Diffs: previous, other | Lines: 2876 ( +11, -1 )

Created: 2010-12-27 12:17:48 +0100 (3 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20101227111748

Ensure that the types of ?: are correct.  Since ~forever type checking
has been done if one of the expressions are pointer, but no conversion.
Bug reported by mickey.

1.265 annotated / raw | Diffs: previous, other | Lines: 2866 ( +5, -1 )

Created: 2010-12-26 18:29:07 +0100 (3 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20101226172907

Convert compllex return values correctly.  Change imaginary type on
return to its corresponding floating type.

1.264 annotated / raw | Diffs: previous, other | Lines: 2862 ( +16, -2 )

Created: 2010-12-21 15:13:58 +0100 (3 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20101221141358

Apply integer promotions and usual arithmetic conversions to constants
before resolving constant expressions.  Fixes Jira#PCC-204 by Nicolas Joly.

1.263 annotated / raw | Diffs: previous, other | Lines: 2848 ( +38, -19 )

Created: 2010-12-19 17:36:35 +0100 (3 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20101219163635

Do not put registers in temporaries unless we are allowed to. Fixes
Jira#PCC-194 by Nicolas Joly.

1.262 annotated / raw | Diffs: previous, other | Lines: 2829 ( +7, -1 )

Created: 2010-11-28 11:07:27 +0100 (3 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20101128100727

Allow any scalar type to be assigned to boolean. Fixes Jira#PCC-192 by
Nicolas Joly.

1.261 annotated / raw | Diffs: previous, other | Lines: 2823 ( +5, -1 )

Created: 2010-11-13 17:44:18 +0100 (3 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20101113164418

Allow the compiler to do floating division by zero at compile time.
XXX this hack will go away when all uses soft floats.
XXX (theoretically) breaks cross compiling.
Fixes Jira#PCC-180 by Nicolas Joly.

1.260 annotated / raw | Diffs: previous, other | Lines: 2819 ( +3, -1 )

Created: 2010-11-10 20:34:53 +0100 (3 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20101110193453

Result from a pointer subtraction is not always int.  Fixes Jira#PCC-182
by Nicolas Joly.

1.259 annotated / raw | Diffs: previous, other | Lines: 2817 ( +61, -59 )

Created: 2010-10-13 21:55:17 +0200 (3 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20101013195517

Fix type conversion bug causing arithmetic conversions to occasionally
become to unsigned type, even if the result should be signed.

1.258 annotated / raw | Diffs: previous, other | Lines: 2815 ( +29, -2 )

Created: 2010-10-03 11:42:22 +0200 (3 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20101003094222

Fix bug that causes arithmetic on dynamic arrays to fail, this bug has
been there very long.  Fixes regression test types008.
Should probably make tsize return a NODE to avoid duplicated code.

1.257 annotated / raw | Diffs: previous, other | Lines: 2788 ( +5, -3 )

Created: 2010-09-05 12:20:10 +0200 (3 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20100905102010

Do check whether evaluate float arithmetic runtime earlier, so that the
value hasn't been destroyed.  Fixes arith002.c in regression tests.

1.256 annotated / raw | Diffs: previous, other | Lines: 2786 ( +16, -7 )

Created: 2010-09-04 21:24:35 +0200 (3 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20100904192435

Teach ptmatch() how to deal with variable length arrays in subtraction.
Fixes a bug reported by Szabolcs Nagy on pcc-list.

1.255 annotated / raw | Diffs: previous, other | Lines: 2777 ( +3, -1 )

Created: 2010-09-04 13:59:14 +0200 (3 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20100904115914

Move NOOFFSET check inside tempnode.

1.254 annotated / raw | Diffs: previous, other | Lines: 2775 ( +8, -4 )

Created: 2010-08-29 15:58:50 +0200 (3 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20100829135850

Add TYMERGE node type. Fix bug in warning about pointer signs.

1.253 annotated / raw | Diffs: previous, other | Lines: 2771 ( +1, -7 )

Created: 2010-08-12 08:39:22 +0200 (4 years ago) | Author: ragge | Changeset: MAIN:ragge:20100812063922

Remove the FORTRAN/UFORTRAN storage class handling.  We'll implement
it with attributes or something if needed.

1.252 annotated / raw | Diffs: previous, other | Lines: 2777 ( +125, -148 )

Created: 2010-08-11 16:08:44 +0200 (4 years ago) | Author: ragge | Changeset: MAIN:ragge:20100811140844

Large change:  Modify the internal code to use the concepts of "attributes"
for nodes and symbol tables instead of keeping everything in the structs
used everywhere.  This will make modifications and additions of new features
simpler in the future.
That this will affect all targets more or less.

1.251 annotated / raw | Diffs: previous, other | Lines: 2800 ( +2, -2 )

Created: 2010-06-21 21:12:53 +0200 (4 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20100621191253

Yet another bugfix for valcast().

1.250 annotated / raw | Diffs: previous, other | Lines: 2800 ( +3, -2 )

Created: 2010-06-19 09:34:58 +0200 (4 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20100619073458

Only try to correct types if no pointers involved.

1.249 annotated / raw | Diffs: previous, other | Lines: 2799 ( +29, -1 )

Created: 2010-06-16 21:41:40 +0200 (4 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20100616194140

Add function valcast() that cut down the size of a constant calculation
during compile-time to the type size.  This function will in the future
cut down the need for ICON casts in clocal().
Fixes Jira#PCC-119 by Jörg Schilling.

1.248 annotated / raw | Diffs: previous, other | Lines: 2771 ( +1, -12 )

Created: 2010-06-02 12:39:52 +0200 (4 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20100602103951

Rewrite __builtin_offsetof() to handle non-constant array offset values.
This actually made the offsetof code much simpler.
Requested by Iain Hibbert on pcc-list.

1.247 annotated / raw | Diffs: previous, other | Lines: 2782 ( +2, -2 )

Created: 2010-06-02 12:34:33 +0200 (4 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20100602103433

Op DOT will be BINODE.

1.246 annotated / raw | Diffs: previous, other | Lines: 2782 ( +3, -1 )

Created: 2010-05-27 11:41:26 +0200 (4 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20100527094126

Aet alignment to at least ALCHAR for structs when passing them over to
pass2.  Failure to do so caused bug spotted by Iain Hibbert.

1.245 annotated / raw | Diffs: previous, other | Lines: 2780 ( +12, -1 )

Created: 2010-05-05 14:26:58 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100505122658

Add and handle gcc attribute __warn_unused_result__.  Requested by Iain
Hibbert but with a different implementation.

1.244 annotated / raw | Diffs: previous, other | Lines: 2769 ( +1, -3 )

Created: 2010-04-25 09:59:39 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100425075939

Remove redundant GETSUE() define, from Iain Hibbert.

1.243 annotated / raw | Diffs: previous, other | Lines: 2771 ( +6, -2 )

Created: 2010-04-22 21:17:39 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100422191739

Fix checking of struct sizes.  Solves Jira#PCC-128 by Iain Hibbert.

1.242 annotated / raw | Diffs: previous, other | Lines: 2767 ( +3, -1 )

Created: 2010-04-19 18:28:57 +0200 (4 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20100419162857

No reason not to allow pointers larger than LONG, as pointed out by
Peter Kuschnerus.

1.241 annotated / raw | Diffs: previous, other | Lines: 2765 ( +19, -2 )

Created: 2010-04-18 15:22:42 +0200 (4 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20100418132242

Add another cast routine which will cast without adding a "cast" and therefore
it will complain if it's a bad cast (like int to pointer).

1.240 annotated / raw | Diffs: previous, other | Lines: 2748 ( +20, -1 )

Created: 2010-03-31 12:26:09 +0200 (4 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20100331102609

Add cast() function that is an easier-to-use wrapper around buildtree().

1.239 annotated / raw | Diffs: previous, other | Lines: 2729 ( +12, -1 )

Created: 2009-08-25 21:16:40 +0200 (4 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20090825191640

Do casts of fp constants in tree building.  Fixes part of Jira#PCC-86
submitted by Detlef Riekenberg.

1.238 annotated / raw | Diffs: previous, other | Lines: 2718 ( +54, -12 )

Created: 2009-08-13 10:01:27 +0200 (5 years ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20090813080125

Add -Wtruncate option which detects truncation of types during assignment.
Let pcc compile with this option enabled.

Inspired by similar warning in the Microsoft compiler.

1.237 annotated / raw | Diffs: previous, other | Lines: 2676 ( +12, -4 )

Created: 2009-05-26 19:21:18 +0200 (5 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20090526172118

Fix two LP64 problems.

1.236 annotated / raw | Diffs: previous, other | Lines: 2668 ( +4, -5 )

Created: 2009-05-21 13:07:40 +0200 (5 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20090521110740

Compile-time float comparisions resulted in an ICON that could contain
junk, so call bcon() instead to get a correct constant node.

1.235 annotated / raw | Diffs: previous, other | Lines: 2669 ( +7, -1 )

Created: 2009-05-19 21:25:55 +0200 (5 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20090519192555

More on complex and imaginary.  Everything should work now modulo minor bugs.

1.234 annotated / raw | Diffs: previous, other | Lines: 2663 ( +37, -6 )

Created: 2009-05-08 00:46:28 +0200 (5 years 3 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20090507224628

Add compile-time evaluation of float logic.  Fixes PCC-45.

1.233 annotated / raw | Diffs: previous, other | Lines: 2632 ( +15, -4 )

Created: 2009-03-29 18:35:05 +0200 (5 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20090329163505

Allow for run-time evaluation of type sizes inside sizeof statements.
This is part of the development made possible by the BSD fund.

1.232 annotated / raw | Diffs: previous, other | Lines: 2621 ( +12, -7 )

Created: 2009-03-15 01:26:59 +0100 (5 years 5 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20090315002659

Eliminate c++-style comments so older tools can parse code.

1.231 annotated / raw | Diffs: previous, other | Lines: 2616 ( +5, -2 )

Created: 2009-03-14 15:31:07 +0100 (5 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20090314143107

Must clear sp when an ? node is converted to an ICON, otherwise it will
point to garbage and may fail later.

1.230 annotated / raw | Diffs: previous, other | Lines: 2613 ( +7, -11 )

Created: 2009-02-08 16:59:55 +0100 (5 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20090208155955

Change syntax of soname: if it is set to some value, use it but do
never change it, otherwise call exname(sname) to get the output name.

1.229 annotated / raw | Diffs: previous, other | Lines: 2617 ( +62, -10 )

Created: 2009-01-27 18:12:03 +0100 (5 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20090127171203

Add some more complex support:
- understand 8.1fi as a complex float.
- handle casts of complex.
- handle simple initializations.

1.228 annotated / raw | Diffs: previous, other | Lines: 2565 ( +3, -3 )

Created: 2009-01-26 23:32:39 +0100 (5 years 6 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20090126223239

Make these compile without GCC_COMPAT.

1.227 annotated / raw | Diffs: previous, other | Lines: 2565 ( +2, -1 )

Created: 2009-01-24 14:35:03 +0100 (5 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20090124133503

Simplify some of the declaration yacc code.
Add support for parsing a bunch of the gcc attributes:
        aligned (partly supported)
        packed (supported)
        section (dupported)
        unused (parsed)
        deprecated (parsed)
        noreturn (parsed)
        format (parsed)
        bounded (parsed)
        nonnull (parsed)
        sentinel (parsed)

1.226 annotated / raw | Diffs: previous, other | Lines: 2564 ( +5, -3 )

Created: 2009-01-10 16:18:18 +0100 (5 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20090110151818

Traverse sue structs down for checking ?: type correctness in struct
assignment.  Fixes bug reported by Jonathan Gray.

1.225 annotated / raw | Diffs: previous, other | Lines: 2562 ( +17, -8 )

Created: 2009-01-10 15:50:16 +0100 (5 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20090110145016

Better handling of type attributes, but not yet perfect.
Also fix of forward declaration of enum bug, reported by Jonathan Gray.

1.224 annotated / raw | Diffs: previous, other | Lines: 2553 ( +4, -1 )

Created: 2009-01-07 21:52:02 +0100 (5 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20090107205202

Change the way types are parsed to a more suitable way.
Prepare for handling of strange attribute syntax in type definitions.

1.223 annotated / raw | Diffs: previous, other | Lines: 2550 ( +4, -5 )

Created: 2008-12-14 22:15:24 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081214211524

Remove ILABEL, not needed anymore.

1.222 annotated / raw | Diffs: previous, other | Lines: 2551 ( +3, -1 )

Created: 2008-12-14 15:10:52 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081214141052

Must handle STRING in node debug output.

1.221 annotated / raw | Diffs: previous, other | Lines: 2549 ( +3, -3 )

Created: 2008-12-13 21:03:32 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081213200332

Add support for variable attributes, and the attribute "aligned".
As a side effect of this some parts of the (proto)type checking had
to be changed.  Handling of the struct/union definitions should
be changed at a later point.

1.220 annotated / raw | Diffs: previous, other | Lines: 2549 ( +3, -1 )

Created: 2008-12-08 22:10:45 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081208211045

Build up full expression trees before evaluating them. This is a quite
invasive change, but it will help to solve a number of issues.

1.219 annotated / raw | Diffs: previous, other | Lines: 2547 ( +2, -2 )

Created: 2008-12-01 08:14:40 +0100 (5 years 8 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20081201071440

Include <string.h> rather than <strings.h>.  Fixes build on win32.

1.218 annotated / raw | Diffs: previous, other | Lines: 2547 ( +28, -3 )

Created: 2008-11-28 17:36:06 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081128163606

Add compatibility support for unnamed strust/union members.
This is part of the development made possible by donations via BSD fund.

1.217 annotated / raw | Diffs: previous, other | Lines: 2522 ( +12, -1 )

Created: 2008-11-22 17:07:35 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081122160735

Add a function getlab2 that returns a suitable label number for pass2.

1.216 annotated / raw | Diffs: previous, other | Lines: 2511 ( +11, -1 )

Created: 2008-11-20 22:19:09 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081120211909

Allow for incomplete definitions of enums.
This matches both gcc extensions and traditional behaviour.

1.215 annotated / raw | Diffs: previous, other | Lines: 2501 ( +7, -7 )

Created: 2008-11-16 14:30:17 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081116133016

Add an extra argument to walkf() so that we can avoid using static vars
in a bunch of places.

1.214 annotated / raw | Diffs: previous, other | Lines: 2501 ( +17, -17 )

Created: 2008-11-15 15:02:39 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081115140239

Add support for real inlining of functions per C99.
Not yet for variables that reference to the frame pointer though.

1.213 annotated / raw | Diffs: previous, other | Lines: 2501 ( +4, -2 )

Created: 2008-11-01 09:29:38 +0100 (5 years 9 months ago) | Author: mickey | Changeset: MAIN:mickey:20081101082937

allow spilling >31 regs. apprently i386 was always safe as fpu regs
are fakes. needed by hppa (and i think also powerpc) or any other arch
that employs callee-save regs of >31 numbers (per defines ;).
most of the archs are simply using ipp_regs[0] as they do have
less than 31 regs or otherwise need no spilling.
ragge@ told me to commit this in september and it seems to work (:

1.212 annotated / raw | Diffs: previous, other | Lines: 2499 ( +2, -1 )

Created: 2008-10-30 17:37:25 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081030163725

Simple fix to get type checking correctness for COMOPs when the code
is generated out of a ({ }) expression.  Pointed out by Thorsten Glaser.

1.211 annotated / raw | Diffs: previous, other | Lines: 2498 ( +8, -2 )

Created: 2008-10-27 16:41:16 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081027154116

Fix evaluation order error for gcc compatibility ({ }) expressions.
Aslo this expression should be handled as term, not e, in the yacc code.
Fixes  bug reported by Thorsten Glaser.

1.210 annotated / raw | Diffs: previous, other | Lines: 2492 ( +1, -24 )

Created: 2008-10-26 12:06:04 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081026110604

Enable new handling of comma operators.  Now some unneccessary tests
can be avoided.

1.209 annotated / raw | Diffs: previous, other | Lines: 2515 ( +47, -15 )

Created: 2008-10-20 22:25:01 +0200 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081020202501

Traverse through the trees in hunt for COMOPs separately and remove the
ugly setjmp code.

1.208 annotated / raw | Diffs: previous, other | Lines: 2483 ( +22, -4 )

Created: 2008-10-19 17:22:20 +0200 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081019152220

Must restart tree checking for C-specific ops if a COMMA operator is found,
otherwise a bunch of unneccessary code will be generated.
Currently done with longjmp() and only turned on for pdp11 until all
side effects are verified.

1.207 annotated / raw | Diffs: previous, other | Lines: 2465 ( +8, -3 )

Created: 2008-10-13 23:09:59 +0200 (5 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20081013210959

Treat pointers as unsigned when doing comparisions. This bug has been
there forever.  Spotted by Chad Dougherty.

1.206 annotated / raw | Diffs: previous, other | Lines: 2460 ( +14, -14 )

Created: 2008-09-04 11:41:33 +0200 (5 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20080904094133

Add softfloat routines and use macros to do float manipulation.
Currently only for DEC F- and D-float.

1.205 annotated / raw | Diffs: previous, other | Lines: 2460 ( +2, -1 )

Created: 2008-08-08 14:26:45 +0200 (6 years ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080808122645

Introduce pass1_lastchance() which permits target-specific actions to be
performed before starting the second pass.

1.204 annotated / raw | Diffs: previous, other | Lines: 2459 ( +3, -1 )

Created: 2008-08-03 22:49:25 +0200 (6 years ago) | Author: ragge | Changeset: MAIN:ragge:20080803204925

Set array dimension for incomplete declarations to NOOFFSET.
Allow for arrays of zero size to be compatible with gcc.

1.203 annotated / raw | Diffs: previous, other | Lines: 2457 ( +2, -46 )

Created: 2008-07-29 15:13:08 +0200 (6 years ago) | Author: ragge | Changeset: MAIN:ragge:20080729131308

Use only nametree() instead of buildtree(NAME).  Also cleanup a bunch
of use of binop nodes.

1.202 annotated / raw | Diffs: previous, other | Lines: 2501 ( +29, -10 )

Created: 2008-07-28 12:04:24 +0200 (6 years ago) | Author: ragge | Changeset: MAIN:ragge:20080728100424

Make inline conform to c99 syntax.

1.201 annotated / raw | Diffs: previous, other | Lines: 2482 ( +2, -2 )

Created: 2008-06-27 06:37:19 +0200 (6 years 1 month ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080627043719

Don't pass assembler string as format string to printf().

1.200 annotated / raw | Diffs: previous, other | Lines: 2482 ( +9, -5 )

Created: 2008-06-25 21:34:32 +0200 (6 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20080625193432

Do not call conval() when either node is a pointer.

1.199 annotated / raw | Diffs: previous, other | Lines: 2478 ( +50, -1 )

Created: 2008-06-20 15:19:03 +0200 (6 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20080620131903

Break out buildtree() for NAME nodes to a separate function.
Do not expose builtins to clocal() before they are converted.

1.198 annotated / raw | Diffs: previous, other | Lines: 2429 ( +3, -2 )

Created: 2008-06-20 14:50:34 +0200 (6 years 1 month ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080620125033

Add -Wno-unreachable-code.  Needed by NetBSD kernel.

1.197 annotated / raw | Diffs: previous, other | Lines: 2428 ( +4, -3 )

Created: 2008-06-20 13:44:13 +0200 (6 years 1 month ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080620114413

Turn up squelch on more warnings.

1.196 annotated / raw | Diffs: previous, other | Lines: 2427 ( +2, -2 )

Created: 2008-06-19 14:23:22 +0200 (6 years 2 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080619122322

Make previous compile.

1.195 annotated / raw | Diffs: previous, other | Lines: 2427 ( +5, -4 )

Created: 2008-06-19 14:09:21 +0200 (6 years 2 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080619120921

Don't complain about signedness of constants.

1.194 annotated / raw | Diffs: previous, other | Lines: 2426 ( +4, -1 )

Created: 2008-06-19 13:43:58 +0200 (6 years 2 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080619114358

Implement -Wsign-compare/-Wno-sign-compare.

1.193 annotated / raw | Diffs: previous, other | Lines: 2423 ( +4, -3 )

Created: 2008-06-01 02:54:41 +0200 (6 years 2 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080601005441

When prefixing symbols, check if compiling PIC.

1.192 annotated / raw | Diffs: previous, other | Lines: 2422 ( +6, -2 )

Created: 2008-05-16 04:11:36 +0200 (6 years 3 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080516021136

Handling underscores on external symbols before sending to pass2.

1.191 annotated / raw | Diffs: previous, other | Lines: 2418 ( +2, -2 )

Created: 2008-05-11 18:55:03 +0200 (6 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20080511165503

Spelling error, from Pierre Riteau.

1.190 annotated / raw | Diffs: previous, other | Lines: 2418 ( +7, -3 )

Created: 2008-05-03 18:39:50 +0200 (6 years 3 months ago) | Author: stefan | Changeset: MAIN:stefan:20080503163950

Prevent internal compiler error when trying to access non-existent
struct members. ok ragge@

1.189 annotated / raw | Diffs: previous, other | Lines: 2414 ( +3, -1 )

Created: 2008-03-26 21:03:19 +0100 (6 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20080326200319

Fix the problem with stabs labels printed out before the prolog again.
blevel could be > 1 if a linefeed were found inside a function prototype
among the parameters.

1.188 annotated / raw | Diffs: previous, other | Lines: 2412 ( +11, -1 )

Created: 2008-02-10 20:22:21 +0100 (6 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20080210192221

First try at supporting gcc-compatible extended assembler. Can generate
simple expressions like asm("foo %1 %2" : : "r"((char)1), "r"(2)); correct.

1.187 annotated / raw | Diffs: previous, other | Lines: 2402 ( +4, -6 )

Created: 2008-02-02 17:27:50 +0100 (6 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20080202162750

Remove the use of a late allocated array for struct members, use a
linked list instead.  Signal undeclared structs by not setting its
alignment.  Remove global instruct, use a per-struct allocated struct
instead.

1.186 annotated / raw | Diffs: previous, other | Lines: 2404 ( +3, -1 )

Created: 2008-01-31 12:40:14 +0100 (6 years 6 months ago) | Author: stefan | Changeset: MAIN:stefan:20080131114014

Don't get into a potentially infinite recursion in delasgop() on
bogus statements like (a++)++. ok ragge@

1.185 annotated / raw | Diffs: previous, other | Lines: 2402 ( +2, -2 )

Created: 2008-01-26 23:16:17 +0100 (6 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20080126221617

Rewrite large parts of the argument handling, now functions can be
declared with dynamic array parameters.  For example;
void x(int a, int *b, int c[][*b = a << foo()]){}
is a legal function.  Old-style declarations dows not necessarily get
the same freedom though.

1.184 annotated / raw | Diffs: previous, other | Lines: 2402 ( +17, -7 )

Created: 2008-01-06 16:07:07 +0100 (6 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20080106150706

Large change to the initializer handling:
- Call defloc() with the symbol table entry of the symbol to be written
 out just before all initializers/location counters (also code!).
- Add new target functions instring/inwstring to print out strings
 instead of bycode().
- Remove late printout of strings, better to do it directly (which is
 possible to do nowadays :-)
- New function defzero() for allocating uninitialized data.
- Small change to inline code to use symtab for reference, not name.

1.183 annotated / raw | Diffs: previous, other | Lines: 2392 ( +5, -11 )

Created: 2008-01-01 18:17:57 +0100 (6 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20080101171757

Two changes:
- Remove yacc checks for pragmas.
 Change home-grown strtok to use the real one.
 Call mypragma() for target-specific pragma handling.
- Change symbol table entry suse to soname, we're not lint anymore.
 Store output name in soname, useful for PIC, renaming etc.
 Remove FIXDEF() macro and replace it with a mandatory function fixdef().
 Remove gcc-compat code for renaming, use soname instead.

1.182 annotated / raw | Diffs: previous, other | Lines: 2398 ( +7, -7 )

Created: 2007-12-30 11:31:51 +0100 (6 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20071230103150

Change number of TEMP nodes to be stored in rval, not lval, to be
consistent with REG/OREG nodes.
Add macro regno() to reference the reg/tempnum value.

1.181 annotated / raw | Diffs: previous, other | Lines: 2398 ( +2, -2 )

Created: 2007-12-28 23:43:12 +0100 (6 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20071228224312

Set lowest temporary to be at least MAXREGS+NPERMREG+100, to fix a bug
where the temp number became the same as a hard register.  Should fix
a arg save problem on hppa.

1.180 annotated / raw | Diffs: previous, other | Lines: 2398 ( +1, -26 )

Created: 2007-12-26 14:31:50 +0100 (6 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20071226133150

Remove prtdcon().

1.179 annotated / raw | Diffs: previous, other | Lines: 2423 ( +12, -6 )

Created: 2007-12-26 14:22:25 +0100 (6 years 7 months ago) | Author: stefan | Changeset: MAIN:stefan:20071226132225

New function xbcon() that creates an ICON node with given value, symtab
and type. Use it where appropriate. ok ragge@

1.178 annotated / raw | Diffs: previous, other | Lines: 2417 ( +11, -10 )

Created: 2007-12-20 17:44:48 +0100 (6 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20071220164448

Fix icons() to return an CONSZ instead of int.
This function should be used more often.

1.177 annotated / raw | Diffs: previous, other | Lines: 2416 ( +2, -1 )

Created: 2007-11-26 01:05:06 +0100 (6 years 8 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20071126000506

When created STASG node, pass it through clocal().

1.176 annotated / raw | Diffs: previous, other | Lines: 2415 ( +16, -1 )

Created: 2007-11-22 15:36:37 +0100 (6 years 8 months ago) | Author: stefan | Changeset: MAIN:stefan:20071122143636

Put the genswitch() code that is found in most backends into
the MI part. The backend version is renamed to mygenswitch()
and can provide improved translations for switch statements.

Improved implementation of the switch constraints/semantics
described in the standard.

ok ragge@, otto@

1.175 annotated / raw | Diffs: previous, other | Lines: 2400 ( +4, -84 )

Created: 2007-11-18 18:24:57 +0100 (6 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20071118172457

Rewrite enum handling.
In C99 enums are treated like INTs so convert them early to int.
Move the enum tag handling out of defid(), tags are in their own namespace.
This will be done with struct/union tags also.

1.174 annotated / raw | Diffs: previous, other | Lines: 2480 ( +2, -3 )

Created: 2007-11-17 00:49:01 +0100 (6 years 9 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20071116234901

Unconditionally call the back-end to change the segment; don't bother
checking the current segment since the back-end already does it.

1.173 annotated / raw | Diffs: previous, other | Lines: 2481 ( +2, -4 )

Created: 2007-11-17 00:28:39 +0100 (6 years 9 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20071116232839

Nuke MYP2TREE()

1.172 annotated / raw | Diffs: previous, other | Lines: 2483 ( +2, -4 )

Created: 2007-11-16 23:15:39 +0100 (6 years 9 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20071116221539

Remove macro wrapper for myp2tree().  All backends provide it.

1.171 annotated / raw | Diffs: previous, other | Lines: 2485 ( +3, -1 )

Created: 2007-11-12 19:56:25 +0100 (6 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20071112185625

Add funcode() as a function that is called early in buildtree and
only once.

1.170 annotated / raw | Diffs: previous, other | Lines: 2483 ( +3, -3 )

Created: 2007-11-03 19:55:58 +0100 (6 years 9 months ago) | Author: otto | Changeset: MAIN:otto:20071103185558

fix fp div by zero in a target dependent way; problem reported by
Chris Kuethe; ok ragge@

1.169 annotated / raw | Diffs: previous, other | Lines: 2483 ( +4, -2 )

Created: 2007-10-08 20:27:02 +0200 (6 years 10 months ago) | Author: otto | Changeset: MAIN:otto:20071008182702

initilize sflags and only print n_rval when initialized; tracking by
Laurent Desnogues. ok ragge@

1.168 annotated / raw | Diffs: previous, other | Lines: 2481 ( +16, -1 )

Created: 2007-10-06 17:19:22 +0200 (6 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20071006151922

Add initial support for packed/aligned/rename pragmas.
Still missing:  Support for architectures with strict alignment.
TODO: Cleanup the rename stuff so that it's not depending on gcc compat.

1.167 annotated / raw | Diffs: previous, other | Lines: 2466 ( +4, -1 )

Created: 2007-10-06 16:29:24 +0200 (6 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20071006142924

Compalin if user is applying sizeof to bitfield, from Stefan Kempf.

1.166 annotated / raw | Diffs: previous, other | Lines: 2463 ( +25, -15 )

Created: 2007-10-04 18:54:30 +0200 (6 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20071004165430

Add patch to solve false errors from enums.  From Otto Moerbeek.
XXX - enums should be revisited someday.

1.165 annotated / raw | Diffs: previous, other | Lines: 2453 ( +5, -3 )

Created: 2007-10-04 07:45:41 +0200 (6 years 10 months ago) | Author: otto | Changeset: MAIN:otto:20071004054541

void functions should not return expression

1.164 annotated / raw | Diffs: previous, other | Lines: 2451 ( +2, -2 )

Created: 2007-10-03 20:30:00 +0200 (6 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20071003183000

Correct how exname() is used, to allow for mangling of external names
before they ar eprinted out. From Gregory McGarry.

1.163 annotated / raw | Diffs: previous, other | Lines: 2451 ( +9, -5 )

Created: 2007-09-16 10:26:39 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070916082634

Some return complained about by lint.  Legal, but we do not want to
convince lint about it.  From Ray Lai.

1.162 annotated / raw | Diffs: previous, other | Lines: 2447 ( +2, -2 )

Created: 2007-09-15 09:37:44 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070915073738

Patches to support OpenBSD + some sanity fixes, from Chad Loder and with
only minor changes by myself.

1.161 annotated / raw | Diffs: previous, other | Lines: 2447 ( +3, -5 )

Created: 2007-09-09 19:42:33 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070909174233

Make alignment run-time detected.
Fix compile warnings.
Wrap to 0.9.8.

1.160 annotated / raw | Diffs: previous, other | Lines: 2449 ( +23, -2 )

Created: 2007-08-11 11:05:06 +0200 (7 years ago) | Author: ragge | Changeset: MAIN:ragge:20070811090505

Add support for _Bool type.  Will be slightly rewritten later.

1.159 annotated / raw | Diffs: previous, other | Lines: 2428 ( +56, -18 )

Created: 2007-08-01 06:55:46 +0200 (7 years ago) | Author: ragge | Changeset: MAIN:ragge:20070801045546

Handle constant evaluations correct even in the unsigned case.
Set const qualifier for the correct element in a type.
Fix string element counting in init.

1.158 annotated / raw | Diffs: previous, other | Lines: 2390 ( +18, -13 )

Created: 2007-07-22 14:50:56 +0200 (7 years ago) | Author: ragge | Changeset: MAIN:ragge:20070722125056

Remove INIT nodetype.
Now most initializations work.

1.157 annotated / raw | Diffs: previous, other | Lines: 2385 ( +2, -2 )

Created: 2007-03-10 09:14:44 +0100 (7 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20070310081444

More progress towards better initialization code.

1.156 annotated / raw | Diffs: previous, other | Lines: 2385 ( +1, -6 )

Created: 2007-02-07 18:46:38 +0100 (7 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20070207174637

Do another rewrite of the typedef code, now do it in the lexer.
While here, remove some OLDSTYLE defines.
Fix type check bug in tymerge().

1.155 annotated / raw | Diffs: previous, other | Lines: 2390 ( +5, -11 )

Created: 2007-01-14 15:12:40 +0100 (7 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20070114141240

Remove leftover from old lint times.  Fixes segv bug in conval.

1.154 annotated / raw | Diffs: previous, other | Lines: 2396 ( +7, -1 )

Created: 2007-01-13 14:06:59 +0100 (7 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20070113130658

Allow for enum arrays to be declared const.
Handle || and && of constants in the compiler.

1.153 annotated / raw | Diffs: previous, other | Lines: 2390 ( +6, -4 )

Created: 2006-12-30 09:19:00 +0100 (7 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20061230081900

Fix bug causing some logical expressions to evaluate wrong.

1.152 annotated / raw | Diffs: previous, other | Lines: 2388 ( +7, -2 )

Created: 2006-07-15 17:25:20 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060715152520

Add table entry for indirect CALL returning a char.
Add some missed stuff for INCR/DECR.

1.151 annotated / raw | Diffs: previous, other | Lines: 2383 ( +14, -2 )

Created: 2006-07-14 15:26:33 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060714132633

Make INCR/DECR as pass1-specific and convert them in delasgop().

1.150 annotated / raw | Diffs: previous, other | Lines: 2371 ( +18, -5 )

Created: 2006-07-10 12:05:35 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060710100535

Shifts must be promoted to int if smaller type.
DIVs converted to RS must have the shift count casted to int.
Missed type size in clocal() ICON SCONVs.

1.149 annotated / raw | Diffs: previous, other | Lines: 2358 ( +2, -1 )

Created: 2006-06-16 11:30:32 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060616093031

Fix struct return bug where no destination struct exists.
Remove PCONV's of constants early.
Remove some leftover zzz code.

1.148 annotated / raw | Diffs: previous, other | Lines: 2357 ( +2, -1 )

Created: 2006-03-18 09:18:34 +0100 (8 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20060318081833

Rewrite findops().  Some work on R2REGS.

1.147 annotated / raw | Diffs: previous, other | Lines: 2356 ( +2, -1 )

Created: 2006-02-19 23:22:26 +0100 (8 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20060219222226

Fix stabs generation.  Fix function call argument emitting order.
Change one erroneous error message.  Cleanup location counters slightly.

1.146 annotated / raw | Diffs: previous, other | Lines: 2355 ( +1, -2 )

Created: 2006-02-18 16:20:45 +0100 (8 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20060218152045

Fix debugging printout.  XXX still more to do.

1.145 annotated / raw | Diffs: previous, other | Lines: 2356 ( +2, -3 )

Created: 2006-02-16 17:46:30 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060216164630

Rewrite struct argument handling.

1.144 annotated / raw | Diffs: previous, other | Lines: 2357 ( +1, -5 )

Created: 2006-02-01 13:58:13 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060201125809

Fix COLORMAP(), and remove a bunch of unneeded #ifdefs.

1.143 annotated / raw | Diffs: previous, other | Lines: 2361 ( +1, -5 )

Created: 2005-12-22 10:57:28 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20051222095728

Fix genswitch(). More bugfixes.

1.142 annotated / raw | Diffs: previous, other | Lines: 2365 ( +2, -2 )

Created: 2005-11-14 20:28:08 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051114192808

Be smarter in how to find colorability.

1.141 annotated / raw | Diffs: previous, other | Lines: 2365 ( +3, -2 )

Created: 2005-11-12 09:27:42 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051112082742

More work on multiclass.

1.140 annotated / raw | Diffs: previous, other | Lines: 2364 ( +7, -1 )

Created: 2005-11-04 07:56:32 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051104065632

More work on multiclass.

1.139 annotated / raw | Diffs: previous, other | Lines: 2358 ( +9, -4 )

Created: 2005-09-05 19:07:16 +0200 (8 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20050905170716

Temporary checkin: rewrite of liveness analysis.

1.138 annotated / raw | Diffs: previous, other | Lines: 2353 ( +2, -2 )

Created: 2005-07-30 10:54:59 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050730085459

Fix temp usage bugs.

1.137 annotated / raw | Diffs: previous, other | Lines: 2353 ( +5, -1 )

Created: 2005-06-28 13:32:56 +0200 (9 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20050628113256

Add min/max label numbers to ipp struct. Cleanup slightly. Document.

1.136 annotated / raw | Diffs: previous, other | Lines: 2349 ( +7, -2 )

Created: 2005-05-21 16:29:21 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050521142921

Enable -O.
Fix stack allocation bug in variable declarations.
Handle segfaults more gracefully.
Add extra check in saveip.
Print out asm()s outside blocks already in pass1.

1.135 annotated / raw | Diffs: previous, other | Lines: 2344 ( +2, -1 )

Created: 2005-05-19 22:52:55 +0200 (9 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20050519205255

Smarter handling of inline-declared functions.
Fix shift optimization bug, needs more thinking.
Reset locctr after asm().

1.134 annotated / raw | Diffs: previous, other | Lines: 2343 ( +4, -1 )

Created: 2005-04-02 09:56:17 +0200 (9 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20050402075617

Start reworking pass2 entry.

1.133 annotated / raw | Diffs: previous, other | Lines: 2340 ( +3, -56 )

Created: 2005-02-23 17:25:40 +0100 (9 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20050223162540

Send over lowest and highest temp node number.

1.132 annotated / raw | Diffs: previous, other | Lines: 2393 ( +17, -17 )

Created: 2005-02-20 13:40:42 +0100 (9 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20050220124042

Bugfix tempnode handling, did always assign new temp nodes.
In pass2, zero tempnode list after epilog, not after each statement.

1.131 annotated / raw | Diffs: previous, other | Lines: 2393 ( +7, -10 )

Created: 2005-02-18 17:48:59 +0100 (9 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20050218164859

Use local versions of queue macros.
Do compile-time calculation of bit set sizes.
Remove LOCCTR as interpass type, location counters are only output in pass1.

1.130 annotated / raw | Diffs: previous, other | Lines: 2396 ( +2, -1 )

Created: 2005-02-05 16:55:49 +0100 (9 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20050205155549

More fixes to deal with TEMP.

1.129 annotated / raw | Diffs: previous, other | Lines: 2395 ( +21, -1 )

Created: 2005-02-05 15:39:08 +0100 (9 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20050205143907

Resurrect TEMP nodes.

1.128 annotated / raw | Diffs: previous, other | Lines: 2375 ( +5, -2 )

Created: 2005-01-29 17:05:27 +0100 (9 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20050129160527

Move prototype data structures to pass1.h.
Fix so that the table matching will be first best match, not last.

1.127 annotated / raw | Diffs: previous, other | Lines: 2372 ( +15, -6 )

Created: 2005-01-20 22:24:14 +0100 (9 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20050120212414

Fix prolog/epilog.  Framework for tailcall optimization.

1.126 annotated / raw | Diffs: previous, other | Lines: 2363 ( +2, -1 )

Created: 2005-01-16 12:57:09 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20050116115709

Send over function name to pass2 in prolog/epilog.
XXX - make prettier.

1.125 annotated / raw | Diffs: previous, other | Lines: 2362 ( +1, -2 )

Created: 2005-01-14 16:46:53 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20050114154652

Move bfcode() a bit. Fix oalloc() prototype.

1.124 annotated / raw | Diffs: previous, other | Lines: 2363 ( +1, -2 )

Created: 2005-01-11 15:27:08 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20050111142708

Remove newblk and rstatus stuff.

1.123 annotated / raw | Diffs: previous, other | Lines: 2364 ( +21, -26 )

Created: 2004-12-30 11:35:17 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20041230103516

Stabs support, update docs, clean up static handling, support for
struct initialization.

1.122 annotated / raw | Diffs: previous, other | Lines: 2369 ( +12, -32 )

Created: 2004-12-20 20:02:53 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20041220190252

More fixes in label chaos.

1.121 annotated / raw | Diffs: previous, other | Lines: 2389 ( +39, -13 )

Created: 2004-12-20 19:27:10 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20041220182709

Lots of printf changes.  Start cleaning up location counters/label settings.

1.120 annotated / raw | Diffs: previous, other | Lines: 2363 ( +13, -10 )

Created: 2004-12-12 14:13:03 +0100 (9 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20041212131302

stabs bugfixes, can now access variables on stack.
Code generation fix.

1.119 annotated / raw | Diffs: previous, other | Lines: 2360 ( +4, -4 )

Created: 2004-10-03 15:31:24 +0200 (9 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20041003133124

More gcc warn workarounds.

1.118 annotated / raw | Diffs: previous, other | Lines: 2360 ( +2, -3 )

Created: 2004-10-02 09:59:33 +0200 (9 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20041002075932

Add support for initializations on stack.

1.117 annotated / raw | Diffs: previous, other | Lines: 2361 ( +6, -18 )

Created: 2004-09-19 11:40:48 +0200 (9 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20040919094048

Temp checkin - move out initializations to separate file.

1.116 annotated / raw | Diffs: previous, other | Lines: 2373 ( +13, -3 )

Created: 2004-09-05 13:44:14 +0200 (9 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20040905114414

Temp checkin: start work on stack element init.

1.115 annotated / raw | Diffs: previous, other | Lines: 2363 ( +18, -2 )

Created: 2004-06-21 13:16:34 +0200 (10 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20040621111631

Add support for "computed goto"-style gotos (gcc-compat).

1.114 annotated / raw | Diffs: previous, other | Lines: 2347 ( +14, -1 )

Created: 2004-06-21 10:19:47 +0200 (10 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20040621081946

Add more entries to the table. Make void->char conversion MI.
Make struct returns work.

1.113 annotated / raw | Diffs: previous, other | Lines: 2334 ( +9, -9 )

Created: 2004-06-19 11:14:28 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040619091427

Fix casting.  Add many entries to the table.
Passes 730 of 1100 tests from gcc testsuite.
Struct return do not yet work correctly.

1.112 annotated / raw | Diffs: previous, other | Lines: 2334 ( +3, -2 )

Created: 2004-06-14 18:33:31 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040614163331

More bug fixes.

1.111 annotated / raw | Diffs: previous, other | Lines: 2333 ( +16, -17 )

Created: 2004-06-12 10:57:28 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040612085728

Add more entries to the table.
Remove a bunch of enum-specific checks.  Enum handling should be rewritten.
Use more of the gcc-warn flags.

1.110 annotated / raw | Diffs: previous, other | Lines: 2334 ( +38, -13 )

Created: 2004-06-08 23:07:25 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040608210724

Many fixes.  Now compiles (but not runs!) emacs.

1.109 annotated / raw | Diffs: previous, other | Lines: 2309 ( +6, -79 )

Created: 2004-06-05 10:22:43 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040605082242

Change call generation to MD, needed for struct returns.
Add a bunch of math stuff.

1.108 annotated / raw | Diffs: previous, other | Lines: 2382 ( +27, -7 )

Created: 2004-05-30 19:28:09 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040530172805

Add structure calls.

1.107 annotated / raw | Diffs: previous, other | Lines: 2362 ( +22, -1 )

Created: 2004-05-29 09:53:28 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040529075327

Split out branches separately. code generation bugfix.

1.106 annotated / raw | Diffs: previous, other | Lines: 2341 ( +28, -3 )

Created: 2004-05-20 15:26:19 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040520132618

Many bugfixes, mostly x86.  Now compiles 'cat' cleanly.

1.105 annotated / raw | Diffs: previous, other | Lines: 2316 ( +3, -1 )

Created: 2004-05-18 16:29:37 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040518142937

Change tshape() slightly (for ease).  Many bugfixes for x86.
Can now compile and run cc.c on x86.

1.104 annotated / raw | Diffs: previous, other | Lines: 2314 ( +4, -6 )

Created: 2004-05-16 13:08:04 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040516110801

Fix redefinition of names.

1.103 annotated / raw | Diffs: previous, other | Lines: 2316 ( +8, -2 )

Created: 2004-05-16 11:34:34 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040516093433

Start with gcc_compatibility stuff.  Fix x86 address bug.

1.102 annotated / raw | Diffs: previous, other | Lines: 2310 ( +4, -1 )

Created: 2004-05-13 21:33:47 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040513193347

Now register assignment works as expected.

1.101 annotated / raw | Diffs: previous, other | Lines: 2307 ( +4, -9 )

Created: 2004-05-10 23:35:58 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040510213558

Remove rest of TEMPs. Start adding a separate optimize step.

1.100 annotated / raw | Diffs: previous, other | Lines: 2312 ( +48, -23 )

Created: 2004-05-09 20:26:58 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040509182657

Change TEMPs to OREGs instead (discard TEMPs).

1.99 annotated / raw | Diffs: previous, other | Lines: 2287 ( +14, -9 )

Created: 2004-05-02 14:57:53 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040502125750

Bugfix typecasting. Traverse down for UCALL also.

1.98 annotated / raw | Diffs: previous, other | Lines: 2282 ( +1, -3 )

Created: 2004-04-29 18:30:49 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040429163048

Remove allo.c. Fix more missing genregs entries.

1.97 annotated / raw | Diffs: previous, other | Lines: 2284 ( +55, -1 )

Created: 2003-12-15 23:02:06 +0100 (10 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20031215220206

Temporary checkin, lots of removed code.

1.96 annotated / raw | Diffs: previous, other | Lines: 2230 ( +3, -2 )

Created: 2003-11-13 16:59:46 +0100 (10 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20031113155946

Fix better error messages and send them to stdout.

1.95 annotated / raw | Diffs: previous, other | Lines: 2229 ( +45, -18 )

Created: 2003-09-12 17:14:01 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030912151401

Remove remaining unary ops.

1.94 annotated / raw | Diffs: previous, other | Lines: 2202 ( +12, -12 )

Created: 2003-09-12 16:53:29 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030912145329

Remove a bunch of UNARY and make U* instead.

1.93 annotated / raw | Diffs: previous, other | Lines: 2202 ( +15, -12 )

Created: 2003-09-12 16:32:53 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030912143253

UNARY AND -> ADDROF.

1.92 annotated / raw | Diffs: previous, other | Lines: 2199 ( +6, -1 )

Created: 2003-09-12 15:52:44 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030912135244

Move CAST and STRING to pass1.

1.91 annotated / raw | Diffs: previous, other | Lines: 2194 ( +18, -7 )

Created: 2003-09-07 16:13:35 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030907141335

Runtime evaluation for sizeof added.

1.90 annotated / raw | Diffs: previous, other | Lines: 2183 ( +22, -9 )

Created: 2003-09-07 15:30:37 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030907133037

Fix real support for multidimensional dynamic arrays.

1.89 annotated / raw | Diffs: previous, other | Lines: 2170 ( +20, -4 )

Created: 2003-09-04 22:46:44 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030904204644

Temp checkin: Move towards dynamic arrays.

1.88 annotated / raw | Diffs: previous, other | Lines: 2154 ( +25, -19 )

Created: 2003-09-04 09:47:14 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030904074714

Make a common function of tempnode(), that returns a temp block.

1.87 annotated / raw | Diffs: previous, other | Lines: 2148 ( +4, -1 )

Created: 2003-09-03 11:25:05 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030903092505

Fix unwanted enum comparision warning.

1.86 annotated / raw | Diffs: previous, other | Lines: 2145 ( +3, -3 )

Created: 2003-09-03 00:06:56 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030902220656

Fix so that correct types are propagated after expansion of ?:.

1.85 annotated / raw | Diffs: previous, other | Lines: 2145 ( +2, -1 )

Created: 2003-09-01 10:28:55 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030901082854

Temp checkin: add new instruction research code.

1.84 annotated / raw | Diffs: previous, other | Lines: 2144 ( +2, -1 )

Created: 2003-08-25 13:08:56 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030825110855

Temporary (and large) checkin:
Expand table to three elements.
Invent new match functions: nmatch() and chkmatch().

1.83 annotated / raw | Diffs: previous, other | Lines: 2143 ( +62, -1 )

Created: 2003-08-23 14:25:46 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030823122546

Remove +=-style ops before putting them out to pass2.

1.82 annotated / raw | Diffs: previous, other | Lines: 2082 ( +23, -1 )

Created: 2003-08-22 16:53:42 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030822145342

Discard asgops from preops.

1.81 annotated / raw | Diffs: previous, other | Lines: 2060 ( +2, -2 )

Created: 2003-08-18 11:04:07 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030818090407

Add longlong or. Add register assign for bytes.
Call optim() in stref() to convert to constants early.

1.80 annotated / raw | Diffs: previous, other | Lines: 2060 ( +7, -7 )

Created: 2003-08-16 14:25:46 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030816122546

Cast both sides of ?: op to the resulting type.
Fix shift ops so that they correspond with the data type.
Fix handling of long long constants, so they comes closer to reality.
Start working on MD-supplied handler for longlong.
Fix bug in shift ops.

1.79 annotated / raw | Diffs: previous, other | Lines: 2060 ( +2, -2 )

Created: 2003-08-14 09:54:55 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030814075455

comparison of enums are a warning, not an error.

1.78 annotated / raw | Diffs: previous, other | Lines: 2060 ( +6, -3 )

Created: 2003-08-12 11:36:17 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030812093617

Fix locctr bug. Increase recursion count. Add += optimization.
Remove some unused code.

1.77 annotated / raw | Diffs: previous, other | Lines: 2057 ( +7, -7 )

Created: 2003-08-06 22:08:48 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030806200848

A bunch of fixes to be closer to x86 support.

1.76 annotated / raw | Diffs: previous, other | Lines: 2057 ( +3, -2 )

Created: 2003-08-06 19:08:46 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030806170846

Do max recur 200 times. Move prtdcon further down in chain.

1.75 annotated / raw | Diffs: previous, other | Lines: 2056 ( +10, -1 )

Created: 2003-08-06 15:01:21 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030806130121

Bugfix: floating constants do not need to be converted other than when
they are printed (in MD code).

1.74 annotated / raw | Diffs: previous, other | Lines: 2047 ( +10, -7 )

Created: 2003-08-05 11:27:55 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030805092755

Fix a bunch of bugs. Kernel now boots (partly) again.

1.73 annotated / raw | Diffs: previous, other | Lines: 2044 ( +4, -1 )

Created: 2003-08-04 12:59:57 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030804105953

Handle genswitch() as asm statements. Now the basic optimizing should work.

1.72 annotated / raw | Diffs: previous, other | Lines: 2041 ( +5, -1 )

Created: 2003-08-03 23:15:59 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030803211559

Share stack alloc stuff between passes. First optimizing stuff.

1.71 annotated / raw | Diffs: previous, other | Lines: 2037 ( +6, -17 )

Created: 2003-08-03 19:11:23 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030803171121

Clean up somewhat in the fcon swamp. Fix !2.2 conversion.

1.70 annotated / raw | Diffs: previous, other | Lines: 2048 ( +62, -7 )

Created: 2003-08-03 17:00:37 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030803150037

Fix real const optimizer for conditionals. Needs more work though.

1.69 annotated / raw | Diffs: previous, other | Lines: 1993 ( +9, -17 )

Created: 2003-08-03 12:49:39 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030803104938

Fix the branch code to be correct, not reversed.
Slightly change the conditional generation.

1.68 annotated / raw | Diffs: previous, other | Lines: 2001 ( +70, -44 )

Created: 2003-08-02 18:23:34 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030802162334

Fix volatile propagation.

1.67 annotated / raw | Diffs: previous, other | Lines: 1975 ( +8, -3 )

Created: 2003-08-02 13:22:44 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030802112243

Fix a bunch of const checkings. Now compiles kernel.

1.66 annotated / raw | Diffs: previous, other | Lines: 1970 ( +10, -6 )

Created: 2003-08-01 15:44:44 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030801134444

More checks of const.

1.65 annotated / raw | Diffs: previous, other | Lines: 1966 ( +2, -2 )

Created: 2003-08-01 15:12:04 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030801131203

Start implementing qualifiers.

1.64 annotated / raw | Diffs: previous, other | Lines: 1966 ( +2, -2 )

Created: 2003-07-30 19:56:25 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030730175625

Discard xdefs.

1.63 annotated / raw | Diffs: previous, other | Lines: 1966 ( +8, -1 )

Created: 2003-07-30 16:11:55 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030730141155

Remove some float/double dependencies.

1.62 annotated / raw | Diffs: previous, other | Lines: 1959 ( +2, -2 )

Created: 2003-07-30 14:56:38 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030730125638

More cleanup. Fix order bug in ecomp().

1.61 annotated / raw | Diffs: previous, other | Lines: 1959 ( +1, -3 )

Created: 2003-07-30 13:27:48 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030730112747

Make manifest 4.4-clean and reader almost-clean.

1.60 annotated / raw | Diffs: previous, other | Lines: 1961 ( +43, -16 )

Created: 2003-07-30 10:47:30 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030730084730

More logical ops fixes. Should be functioning now.

1.59 annotated / raw | Diffs: previous, other | Lines: 1934 ( +37, -20 )

Created: 2003-07-29 22:03:01 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030729200301

More fixes of logical ops.

1.58 annotated / raw | Diffs: previous, other | Lines: 1917 ( +182, -105 )

Created: 2003-07-29 11:25:15 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030729092515

Last moveable checkin: Almost finished with conditional removal.

1.57 annotated / raw | Diffs: previous, other | Lines: 1840 ( +99, -17 )

Created: 2003-07-29 11:20:18 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030729092018

Remove lots of C specific definitions. Pass 2 almost C-clean.

1.56 annotated / raw | Diffs: previous, other | Lines: 1758 ( +37, -14 )

Created: 2003-07-29 11:16:19 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030729091618

Ignore some void definitions. Don't send useless trees to pass2.

1.55 annotated / raw | Diffs: previous, other | Lines: 1735 ( +87, -1 )

Created: 2003-07-13 14:37:29 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030713123729

Check in an embryo of the intial ,:?||&& pass2 removal.

1.54 annotated / raw | Diffs: previous, other | Lines: 1649 ( +1, -3 )

Created: 2003-07-07 22:27:07 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707202707

Remove some more redundant code.

1.53 annotated / raw | Diffs: previous, other | Lines: 1651 ( +1, -2 )

Created: 2003-07-07 20:37:09 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707183709

Remove IP_INIT.

1.52 annotated / raw | Diffs: previous, other | Lines: 1652 ( +38, -15 )

Created: 2003-07-07 19:51:38 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707175138

Fix a bunch of void and enum warnings. Now compiles silently again.

1.51 annotated / raw | Diffs: previous, other | Lines: 1629 ( +71, -6 )

Created: 2003-07-07 16:23:40 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707142340

Small prototype cleanup. Add Caldera copyright.

1.50 annotated / raw | Diffs: previous, other | Lines: 1564 ( +11, -94 )

Created: 2003-07-07 16:10:35 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707141035

Remove the last tainting stuff from trees.c.

1.49 annotated / raw | Diffs: previous, other | Lines: 1647 ( +8, -16 )

Created: 2003-07-07 15:53:04 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707135304

Next step v32:ifying. Start the walk towards a void type.

1.48 annotated / raw | Diffs: previous, other | Lines: 1655 ( +19, -54 )

Created: 2003-07-07 15:17:05 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707131705

Cleanup opact + moditype.

1.47 annotated / raw | Diffs: previous, other | Lines: 1690 ( +39, -48 )

Created: 2003-07-07 13:56:11 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707115611

Restore chkpun. This introduced a significant amount of warnings.

1.46 annotated / raw | Diffs: previous, other | Lines: 1699 ( +13, -30 )

Created: 2003-07-07 13:14:17 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707111417

Revert conval to 32V-style.

1.45 annotated / raw | Diffs: previous, other | Lines: 1716 ( +6, -15 )

Created: 2003-07-07 12:45:48 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030707104548

fixargs -> strargs, float conversion is done in doacall now.

1.44 annotated / raw | Diffs: previous, other | Lines: 1725 ( +45, -156 )

Created: 2003-07-06 23:01:46 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030706210146

Remove DCON, and store in FCON nodes.

1.43 annotated / raw | Diffs: previous, other | Lines: 1836 ( +3, -9 )

Created: 2003-07-06 20:12:46 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030706181246

Remove a bunch of DCON dependencies/usages.

1.42 annotated / raw | Diffs: previous, other | Lines: 1842 ( +0, -1 )

Created: 2003-07-05 11:00:11 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030705090010

Fix remaining stuff to allow for an optimize pass.

1.41 annotated / raw | Diffs: previous, other | Lines: 1843 ( +34, -25 )

Created: 2003-07-03 15:53:52 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030703135351

Start walking towards not using a static node table.

1.40 annotated / raw | Diffs: previous, other | Lines: 1834 ( +11, -8 )

Created: 2003-06-24 14:41:02 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030624124102

Small layout cleanup.

1.39 annotated / raw | Diffs: previous, other | Lines: 1831 ( +21, -30 )

Created: 2003-06-23 23:48:14 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030623214814

Big change: send everything from pass1 via one function.

1.38 annotated / raw | Diffs: previous, other | Lines: 1840 ( +36, -12 )

Created: 2003-06-23 20:50:11 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030623185010

Implement basic framework to send everything through one subroutine.

1.37 annotated / raw | Diffs: previous, other | Lines: 1816 ( +1, -1 )

Created: 2003-06-22 23:13:30 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030622211330

Add an embryo fo doing tree optimizing.

1.36 annotated / raw | Diffs: previous, other | Lines: 1816 ( +80, -7 )

Created: 2003-06-22 13:24:50 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030622112450

Add p2tree() for multipass. Now multipass compiling of pass1 is possible.

1.35 annotated / raw | Diffs: previous, other | Lines: 1743 ( +1, -1 )

Created: 2003-06-21 18:53:03 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030621165303

More ifdefs for multipass.

1.34 annotated / raw | Diffs: previous, other | Lines: 1743 ( +5, -3 )

Created: 2003-06-21 14:33:14 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030621123314

Some small fixes for multipass.

1.33 annotated / raw | Diffs: previous, other | Lines: 1741 ( +0, -2 )

Created: 2003-06-19 18:17:53 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030619161753

Remove usage of n_su in first pass.

1.32 annotated / raw | Diffs: previous, other | Lines: 1743 ( +4, -7 )

Created: 2003-06-19 16:09:18 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030619140917

Fix "new-style" prototype handling.

1.31 annotated / raw | Diffs: previous, other | Lines: 1746 ( +10, -6 )

Created: 2003-06-17 15:05:31 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030617130531

Fix so that old-style function declarations work again.

1.30 annotated / raw | Diffs: previous, other | Lines: 1742 ( +65, -68 )

Created: 2003-06-12 11:22:08 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030612092208

Add comments about 4.4BSD stuff. Change tymerge/tyreduce for better recursion.

1.29 annotated / raw | Diffs: previous, other | Lines: 1745 ( +48, -37 )

Created: 2003-06-11 16:42:26 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030611144225

Change the dim pointers to an union, to be able to store function
prototype information in the same place.

1.28 annotated / raw | Diffs: previous, other | Lines: 1734 ( +40, -41 )

Created: 2003-06-10 15:57:19 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030610135719

Remove the dimension table (at last!).

1.27 annotated / raw | Diffs: previous, other | Lines: 1735 ( +10, -46 )

Created: 2003-06-10 14:08:13 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030610120813

Use lookup() for strings also.

1.26 annotated / raw | Diffs: previous, other | Lines: 1771 ( +98, -83 )

Created: 2003-06-09 17:55:57 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030609155556

Large change: Replace the dimension index by a pointer to a struct containing
the related info.

1.25 annotated / raw | Diffs: previous, other | Lines: 1756 ( +2, -2 )

Created: 2003-06-07 12:16:30 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030607101630

Save strings in a patricia tree also.

1.24 annotated / raw | Diffs: previous, other | Lines: 1756 ( +0, -53 )

Created: 2003-06-04 22:08:25 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030604200825

Remove a bunch of redundant code.

1.23 annotated / raw | Diffs: previous, other | Lines: 1809 ( +93, -62 )

Created: 2003-06-04 21:36:06 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030604193605

Split the symbol table into four different.
This is not yet finished, some ptr->int conversions exists.

1.22 annotated / raw | Diffs: previous, other | Lines: 1778 ( +354, -354 )

Created: 2003-05-31 12:34:47 +0200 (11 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20030531103446

Another step towards removing strange dependencies:
Change the node union to a struct with the elements in unions
instead of the poopsite. Keep it in node.h instead.

1.21 annotated / raw | Diffs: previous, other | Lines: 1778 ( +1, -0 )

Created: 2003-05-15 21:53:08 +0200 (11 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20030515195308

Be sure to zero rval when allocating a new node.

1.20 annotated / raw | Diffs: previous, other | Lines: 1777 ( +4, -3 )

Created: 2003-04-01 22:51:46 +0200 (11 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20030401205146

Now handles function pointers in structs better.

1.19 annotated / raw | Diffs: previous, other | Lines: 1776 ( +3, -1 )

Created: 2003-04-01 22:26:22 +0200 (11 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20030401202622

Temp checkin with more prototype fixes.

1.18 annotated / raw | Diffs: previous, other | Lines: 1774 ( +1, -1 )

Created: 2003-03-29 17:57:44 +0100 (11 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20030329165744

Multiple fixes to understand typedefs in prototypes better.

1.17 annotated / raw | Diffs: previous, other | Lines: 1774 ( +6, -1 )

Created: 2003-02-02 22:48:19 +0100 (11 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20030202214819

Fix signed/unsigned arrays also.

1.16 annotated / raw | Diffs: previous, other | Lines: 1769 ( +55, -2 )

Created: 2003-02-02 15:50:22 +0100 (11 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20030202145022

Add basic support for optimizing away unreferenced inline functions.

1.15 annotated / raw | Diffs: previous, other | Lines: 1716 ( +14, -20 )

Created: 2003-01-26 23:35:57 +0100 (11 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20030126223556

Remove hflag, but still honor "hiding" warning.
Compare readonly strings so that not more than one of each kind is
written out.

1.14 annotated / raw | Diffs: previous, other | Lines: 1722 ( +12, -3 )

Created: 2003-01-13 19:55:30 +0100 (11 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20030113185530

Allow for ?: to have void pointers.

1.13 annotated / raw | Diffs: previous, other | Lines: 1713 ( +7, -0 )

Created: 2003-01-12 21:38:53 +0100 (11 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20030112203853

Ensure that arrays are indexed with ints.

1.12 annotated / raw | Diffs: previous, other | Lines: 1706 ( +1, -0 )

Created: 2003-01-03 23:32:22 +0100 (11 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20030103223222

Zero su field when calling block().

1.11 annotated / raw | Diffs: previous, other | Lines: 1705 ( +9, -0 )

Created: 2003-01-02 19:41:53 +0100 (11 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20030102184153

Allow (void)0 casts. XXX - must be done more general.

1.10 annotated / raw | Diffs: previous, other | Lines: 1696 ( +118, -106 )

Created: 2002-12-10 23:13:25 +0100 (11 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20021210221325

Lots of cleanup.

1.9 annotated / raw | Diffs: previous, other | Lines: 1684 ( +1, -0 )

Created: 2002-09-29 18:52:21 +0200 (11 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20020929165221

Remove rest of "onepass" glue.

1.8 annotated / raw | Diffs: previous, other | Lines: 1683 ( +4, -2 )

Created: 2002-08-17 14:54:48 +0200 (12 years ago) | Author: ragge | Changeset: MAIN:ragge:20020817125448

A bunch of cleanup. Add BSS save area, to use if hw needs it.

1.7 annotated / raw | Diffs: previous, other | Lines: 1681 ( +42, -39 )

Created: 2002-08-17 09:48:17 +0200 (12 years ago) | Author: ragge | Changeset: MAIN:ragge:20020817074817

Forgotten fixes.

1.6 annotated / raw | Diffs: previous, other | Lines: 1678 ( +27, -13 )

Created: 2002-05-20 18:27:01 +0200 (12 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20020520162701

Some more longlong helpers.

1.5 annotated / raw | Diffs: previous, other | Lines: 1664 ( +9, -11 )

Created: 2002-05-09 14:13:08 +0200 (12 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20020509121308

Add -Wstrict-prototypes.

1.4 annotated / raw | Diffs: previous, other | Lines: 1666 ( +0, -53 )

Created: 2002-03-26 20:21:51 +0100 (12 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20020326192151

Remove FLEXNAMES, always long names.

1.3 annotated / raw | Diffs: previous, other | Lines: 1719 ( +0, -66 )

Created: 2002-03-26 19:42:57 +0100 (12 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20020326184257

Remove the ONEPASS define, we are always only one pass.

1.2 annotated / raw | Diffs: previous, other | Lines: 1785 ( +71, -50 )

Created: 2002-03-25 23:52:36 +0100 (12 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20020325225236

Make pcc compile, and generate vax code.

1.1 new annotated / raw | Lines: 1764 ( +1764, -0 )

Created: 2002-03-24 11:57:24 +0100 (12 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20020324105723

Initial revision

Branch point for: BSD_44

Tags: BSD_44$BP

latest revision download Branch BSD_44

1.1.1.1 annotated / raw | Diffs: previous, other | Lines: 1764 ( +0, -0 )

Created: 2002-03-24 11:57:24 +0100 (12 years 4 months ago) | Author: ragge | Changeset: BSD_44:ragge:20020324105723

Ipmort of the pcc working tree.

Tags: first

latest revision download Branch r-1-0-0

1.272.2.1 annotated / raw | Diffs: previous, other | Lines: 2896 ( +2, -2 )

Created: 2011-03-01 18:39:28 +0100 (3 years 5 months ago) | Author: ragge | Changeset: r-1-0-0:ragge:20110301173928

Pull up 1.273 from mainline.

Branch point for: r-1-0-1

Tags: r-1-0-0-RELEASE r-1-0-1$BP

FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-08-20 14:40 +0200