1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-28 19:29:53 +00:00
Commit Graph

85 Commits

Author SHA1 Message Date
Lauri Kasanen
82e62209d6 Document pragma trampoline 2017-05-01 21:08:03 +03:00
Oliver Schmidt
4e856546c1 Minor language update. 2017-04-04 13:42:57 +02:00
Greg King
3b17c3a411 Fixed 2 typoes.
Warning messages from nsgmls usually mean a typing mistake a few lines above the first line that's named by nsgmls.
2017-04-04 07:23:05 -04:00
Oliver Schmidt
9b34509956 Use the more explicit tag style for recently added internal links. 2017-04-04 00:41:40 +02:00
Oliver Schmidt
02daf9f8b5 So far the built-in inlining of several known standard function was always (!) enabled and the option -Os enabled additional, potentially unsafe inlining of some of those functions.
There were two aspects of this behavior that were considered undesirable:
- Although the safe inlining is in general desirable it should only be enabled if asked for it - like any other optimization.
- The option name -Os implies that it is a safe option, the potentially unsafe inlining should have a more explicit name.

So now:
- The option -Os enables the safe inlining.
- The new option --eagerly-inline-funcs enables the potentially unsafe inlining (including the safe inlining).

Additionally was added:
- The option --inline-stdfuncs that does like -Os enable the safe inlining but doesn't enable optimizations.
- The pragma inline-stdfuncs that works identical to --inline-stdfuncs.
- The pragma allow-eager-inline that enables the potentially unsafe inlining but doesn't include the safe inlining. That means that by itself it only marks code as safe for potentially unsafe inlining but doesn't actually enable any inlining.
2017-04-03 23:20:26 +02:00
Greg King
01f5baf03d Fixed SGML typo. 2017-03-21 21:23:48 -04:00
Greg King
750a527100 Made C's sizeof operator work with initialized void variables.
Added regression tests that check cc65's handling of void variables.
2017-03-12 14:41:32 -04:00
Florent Flament
2a81eaa06e Add Atari 2600 documentation 2017-01-15 20:53:34 +01:00
Greg King
573381a340 Allowed character code zero to be remapped with other character codes. 2016-06-11 06:43:19 -04:00
Greg King
2c7ccca210 Added the optional C keyword "volatile" to the __asm__ statement grammar.
It prevents the statement's Assembly code from being optimized (e.g., moved or removed).  Optimization is disabled for that statement's entire function (other functions aren't affected).
2016-04-22 11:33:52 -04:00
Oliver Schmidt
fe023a1218 Merge pull request #151 from greg-king5/fastcall
Make __fastcall__ be the default calling convention.
2015-05-26 22:39:33 +02:00
Greg King
b49fd26d16 Improved the compiler documentation, a little bit. 2015-05-26 11:23:54 -04:00
Greg King
8743e9911d Added a command-line option to compile a program, with __cdecl__ as the default calling convention. 2015-04-22 09:59:23 -04:00
Stephan Mühlstrasser
810fe229e9 Document osic1p-specific constants. 2015-03-23 19:31:46 +01:00
Greg King
52f5854813 Fixed a typo. 2015-03-14 16:50:08 -04:00
Greg King
604a5b4447 Changed the documentation to reflect the new fastcall/cdecl reality. 2015-03-13 05:40:55 -04:00
Christian Groessler
c382c59579 documentation updates for Atari 5200 2014-05-16 02:26:20 +02:00
Greg King
79d8a0d857 Streamlined the document author credits. 2014-04-08 15:36:39 -04:00
Oliver Schmidt
e227a07c8f Adjusted doc to recent drop of VER_PATCH. 2014-03-10 19:03:01 +01:00
Oliver Schmidt
c3d93d259b Updated linuxdoc sources from https://github.com/groessler/cc65/tree/gh-pages-sgml. 2014-02-04 22:51:39 +01:00
Oliver Schmidt
aa7561ec45 Revert "No linuxdoc here. Documenation is to be maintained as HTML in branch 'gh-pages'."
This reverts commit fcea8951f1.

Conflicts:
	doc/Makefile
2014-02-04 22:18:58 +01:00
Oliver Schmidt
fcea8951f1 No linuxdoc here. Documenation is to be maintained as HTML in branch 'gh-pages'. 2013-03-25 00:50:52 +01:00
uz
bbef4c04a1 Added note about behaviour of --local-strings (Greg King).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5969 b7a2c559-68d2-44c3-8de9-860c34a00d81
2013-01-26 23:00:39 +00:00
ol.sc
0cb60439c8 Replaced <target>-geos with geos-<target>.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5361 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-01-02 11:25:36 +00:00
ol.sc
e2781c4388 Replaced references to target 'geos' with references to (the upcoming) 'apple-geos' and (the to-be renamed) 'cbm-geos'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5324 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-27 15:24:30 +00:00
uz
494b0619d7 Added more sample for the inline assembler. Contributed by Steffen Görzig.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5308 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-12-07 21:08:14 +00:00
uz
928c76235f Fix output of --help regarding -W. Added new option --list-warnings.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5005 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 17:42:49 +00:00
uz
e0d3936705 Document that -t changes not only the character translation table, but also
the default CPU.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4884 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-29 20:13:32 +00:00
uz
3f5b2a8fbd Allow to disable the "Result of comparison is constant" warning.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-28 21:16:46 +00:00
uz
e048d2aeba Make the warning "statement has no effect" switchable.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-10-02 19:32:11 +00:00
uz
096cb9c0a8 Added missing docs for predefined macros, sorted them alphabetically.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4666 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-25 20:36:40 +00:00
uz
d54ca88743 Added a new option --dep-target to the compiler. This option allows to set the
target in the generated dependency file. The cl65 utility will use this option
to override the depdendency target, if actual object files are to be generated
from C input. So the generated dependency will not have the intermediate .s
file as target, but the final .o file, which allows to use the dependency
files without further processing.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4660 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-02 09:56:40 +00:00
uz
c24fc36d36 Added a more detailed explanation of the --standard command line switch.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4656 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 16:22:54 +00:00
uz
96cf7f6271 Changed generation of makefile dependencies:
* There are now two options, --create-dep and --create-full-dep. One
    will add system includes, the other not.
  * Both options require a file name. This is an incompatible change(!)
    but has the advantage that the user is in control of extension and
    path of the generated file.
  * Output will always include a phony target for the input files. This
    may not work with all make programs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-05-01 09:42:12 +00:00
uz
7d94dc50a1 New option and #pragma --local-strings that causes string literals to be
output immediately.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4504 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-08 20:35:24 +00:00
uz
3976746735 Rewrote literal handling. Literals are now saved together with other function
data, and at the end of compilation merged if possible. Literals for unused
functions are removed together with the function.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4501 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-05 22:39:45 +00:00
uz
50ff6d0768 Create one literal pool per function, so that literal pool data is removed
together with a function, if it is not used. Literal storage can now be
controlled by #pragma writable-strings on a per function basis.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4499 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-04 14:12:25 +00:00
uz
ed2767e65f Changed names of the pragmas to be identical to the corresponding command line
options. This should make use easier. The old names of the pragmas are still
available but will cause warnings.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4364 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-14 12:55:15 +00:00
uz
a1fb355a9a Rewrote most of the #pragma parsing code. I'm still not satisfied, but at
least, it's a bit better than before. #pragma warn (...) is now used to switch
single warnings instead of a global on/off switch.



git-svn-id: svn://svn.cc65.org/cc65/trunk@4362 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-13 21:24:32 +00:00
uz
b55419af59 Rewrote handling of the -W command line option. It is now used to enable or
disable warnings by name.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4348 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-08 13:29:35 +00:00
uz
cb688729af Changed search paths to use subdirectories of CC65_HOME, remove CC65_LIB.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4209 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-22 11:49:53 +00:00
uz
4ee6bf6f2c Fixed a few inaccuracies the the description of the --codesize option.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4160 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 22:04:35 +00:00
uz
829cb7de4c Missing resp. ignored "volatile".
git-svn-id: svn://svn.cc65.org/cc65/trunk@4084 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-30 07:55:21 +00:00
uz
7a7526ef8b Few small changes. Started a new section about implementation-defined
behavior.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4082 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 22:03:41 +00:00
uz
7f7dc69290 Rewrote the paragraph about compiler limits and standard compliance.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4080 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 21:32:14 +00:00
cuz
b8a6d7a6f6 Minor update by Oliver Schmidt
git-svn-id: svn://svn.cc65.org/cc65/trunk@3746 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-31 21:11:46 +00:00
cuz
e4c3555ea0 Small fixes by Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@3575 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-10 08:43:03 +00:00
cuz
43da460147 Small changes to work around problems in the linuxdoc implementation of
Debian Woody. Contributed by Michael Klein.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3541 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 13:32:38 +00:00
cuz
3378430097 Small additions by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@3517 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-24 20:52:11 +00:00
cuz
3c20c4c3e1 Fixed a few typos (note from Stefan Haubenthal)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3372 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-22 14:45:25 +00:00