Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Check malloc/strdup return values.
|
|
Complain about invalid bit-field size for unnamed bit-fields as well.
ok ragge@
|
|
but make -j tries to find them earlier, and can't.
|
|
|
|
Preparations to fix the engine:
- new function has_been_built(gn), that tells you what's the status of
a given node. Allows us to run Suff_FindDeps later, by updating the number
of unmade children correctly.
- take out the code that handles shell expansions in an expand_children*
set of functions, called by Suff_FindDeps, among others. These must be
called early in the engine to avoid creating bogus nodes.
Engine fixes:
- take the predecessor/successor special handling out, deal with it in
separate functions.
- don't count nodes. Explicitly track them all in a hash table (better
way to deal with non-built issues).
- don't run Suff_FindDeps at start, but just before building an actual node.
This allows make to find all dependencies correctly, as in groff.
Pfiou! now it works.
|
|
chars are sign-extended with extsb, not extsh.
|
|
No need to sign-extend unsigned shorts loaded from memory.
|
|
|
|
More missing newlines.
|
|
recognized by the assembler otherwise.
|
|
Kill two useless assignments. ok ragge@ some time ago
|
|
Fix the other rule that did not load small negative 64-bit constants
correctly. The error shows up if you compile
main(){long long = -1;} with -xtemps.
|
|
|
|
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@
With help and comments from ragge and gmcgarry
|
|
make sure command line args and interactive reading of numbers use the
same code. More concrete, interactive use of 'd' and 'n' now also
interpret 'max', 'infinite' and 'all' and handle non-numbers
correctly. tested by a few
|
|
>Fix type conversion problems observed by stefan@
>Some other typos too.
and
>- Add rules for conversion from (u)long long to (u){char,short,int}
>- Fix loading ushorts from mem. They don't need to be sign-extended.
>- Fix a rule that didn't load small negative 64-bit values into
> registers correctly (there's at least one more of it left).
>- Add $Id$
>
>ok gmcgarry, otto
|
|
> Use structure assignment instead of calling memcpy directly in struct return.
> 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.
> Comment out enum types.
> Remove ENUMTY/MOETY from target code.
|
|
|
|
file. OK miod@
|
|
first remove all usage of Varq_Append by building the string directly.
then replace `common' handling with specialized handling for dynamic
strings (since they no longer need a buffer). Finally, identify the place
where the variable value needs to be copied because it's going to be free'd
or erased soon, and finally, use simple char* pointers.
Shaves about 80 bytes off every gnode structure, and kills quite a few
unnecessary malloc()s as well.
|
|
|
|
|
|
without initialisation.
|
|
Replace ugly target macros with function calls (gmcgarry).
|
|
Remove function arg conversions from clocal().
|
|
|
|
the page already does this in detail, and this list just goes out of date.
problem spotted by Mark Lumsden
|
|
On the basis that:
- .depend is a bsd extension anyways, changing its semantics doesn't
affect posix compliance.
- it may allow regenerating broken .depend files without needing to
remove them.
approved by miod@, millert@, deraadt@.
|
|
|
|
|
|
|
|
|
|
- Change some function names to conform with Core Duo names.
- Correct hadnling of the functions that need non-zero Unit Mast specification.
- Some other random cleanup.
|
|
|
|
|
|
some changes in the mi parts that are not yet committed
|
|
Bring MIPS support fully up-to-date. Includes the following changes:
Support use of different assemblers.
Handle big-endian and little-endian code generation.
Start support for n32/n64
PIC code generation
Update to arguments-in-registers infrastructure.
Cleanup handling of branches.
Fix register coloring
Fix structure assignment.
Add longlong instructions
Remove unused functions.
Indentation fixes.
Tested on NetBSD/pmax (little endian).
|
|
|
|
|
|
discussed with jmc and otto
ok jmc
|
|
for (...) {
if (something) {
...
}
}
into
for (...) {
if (!something)
continue;
...
}
All other lines which were still too long have been splitted up.
No functional change (beside of if-statement).
|
|
|
|
current directory has subdirectories, there is no need to apply another
'D' line. Sticks at GNU cvs behaviour.
|
|
enough for OpenBSD's src/.
|
|
reapply umask as done with unmodified files. Sticks at GNU cvs behaviour.
|
|
and should therefore be handled.
|
|
++ and -- are not allowed in preprocessor expressions. Based on a
diff by Jan Kryl.
ok ragge@, otto@
|