mirror of
https://github.com/uffejakobsen/acme.git
synced 2024-11-26 15:49:18 +00:00
added #define to allow to make segments warnings into errors (no change in
functionality) git-svn-id: https://svn.code.sf.net/p/acme-crossass/code-0/trunk@112 4df02467-bbd4-4a76-a152-e7ce94205b78
This commit is contained in:
parent
238eb5d626
commit
e1744c0008
11
src/output.c
11
src/output.c
@ -1,5 +1,5 @@
|
||||
// ACME - a crossassembler for producing 6502/65c02/65816/65ce02 code.
|
||||
// Copyright (C) 1998-2017 Marco Baye
|
||||
// Copyright (C) 1998-2019 Marco Baye
|
||||
// Have a look at "acme.c" for further info
|
||||
//
|
||||
// Output stuff
|
||||
@ -8,6 +8,7 @@
|
||||
// 5 Mar 2014 Fixed bug where setting *>0xffff resulted in hangups.
|
||||
// 19 Nov 2014 Merged Johann Klasek's report listing generator patch
|
||||
// 22 Sep 2015 Added big-endian output functions
|
||||
// 20 Apr 2019 Prepared for "make segment overlap warnings into errors" later on
|
||||
#include "output.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h> // for memset()
|
||||
@ -21,6 +22,8 @@
|
||||
#include "platform.h"
|
||||
#include "tree.h"
|
||||
|
||||
#define segment_warnings_to_errors 0 // FIXME - make a CLI argument for this
|
||||
|
||||
|
||||
// constants
|
||||
#define OUTBUFFERSIZE 65536
|
||||
@ -118,6 +121,9 @@ static void border_crossed(int current_offset)
|
||||
if (current_offset >= OUTBUFFERSIZE)
|
||||
Throw_serious_error("Produced too much code.");
|
||||
if (pass_count == 0) {
|
||||
if (segment_warnings_to_errors)
|
||||
Throw_error("Segment reached another one, overwriting it.");
|
||||
else
|
||||
Throw_warning("Segment reached another one, overwriting it.");
|
||||
find_segment_max(current_offset + 1); // find new (next) limit
|
||||
}
|
||||
@ -447,6 +453,9 @@ static void check_segment(intval_t new_pc)
|
||||
// search ring for matching entry
|
||||
while (test_segment->start <= new_pc) {
|
||||
if ((test_segment->start + test_segment->length) > new_pc) {
|
||||
if (segment_warnings_to_errors)
|
||||
Throw_error("Segment starts inside another one, overwriting it.");
|
||||
else
|
||||
Throw_warning("Segment starts inside another one, overwriting it.");
|
||||
return;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
#define RELEASE "0.96.4" // update before release FIXME
|
||||
#define CODENAME "Fenchurch" // update before release
|
||||
#define CHANGE_DATE "1 Feb" // update before release FIXME
|
||||
#define CHANGE_DATE "20 Apr" // update before release FIXME
|
||||
#define CHANGE_YEAR "2019" // update before release
|
||||
//#define HOME_PAGE "http://home.pages.de/~mac_bacon/smorbrod/acme/"
|
||||
#define HOME_PAGE "http://sourceforge.net/p/acme-crossass/" // FIXME
|
||||
|
Loading…
Reference in New Issue
Block a user