Merge remote-tracking branch 'upstream/master' into a5200

This commit is contained in:
Christian Groessler
2014-03-20 00:24:11 +01:00
542 changed files with 817 additions and 2121 deletions

View File

@@ -1,8 +1,6 @@
.SUFFIXES:
.PHONY: all bin $(PROGS) mostlyclean clean install avail unavail
ifeq ($(shell echo),)
ifneq ($(shell echo),)
CMD_EXE = 1
endif
PROGS = ar65 \
ca65 \
@@ -16,6 +14,10 @@ PROGS = ar65 \
sim65 \
sp65
.PHONY: all mostlyclean clean install zip avail unavail bin $(PROGS)
.SUFFIXES:
bindir := $(prefix)/bin
datadir := $(if $(prefix),$(prefix)/share/cc65,$(abspath ..))
@@ -25,24 +27,77 @@ LD65_LIB = $(datadir)/lib
LD65_OBJ = $(datadir)/lib
LD65_CFG = $(datadir)/cfg
CFLAGS += -MMD -MP -O -std=c89 -I common \
-Wall -Wextra -Wno-char-subscripts $(USER_CFLAGS) \
-DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
-DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar
CFLAGS += $(if $(TRAVIS),-Werror)
ifdef CROSS_COMPILE
$(info CC: $(CC))
$(info AR: $(AR))
endif
ifdef USER_CFLAGS
$(info USER_CFLAGS: $(USER_CFLAGS))
endif
ifndef GIT_SHA
GIT_SHA := $(if $(wildcard ../.git),$(shell git rev-parse --short HEAD))
ifneq ($(words $(GIT_SHA)),1)
GIT_SHA := N/A
endif
endif
$(info GIT_SHA: $(GIT_SHA))
CFLAGS += -MMD -MP -O -I common \
-Wall -Wextra -Wno-char-subscripts $(USER_CFLAGS) \
-DGIT_SHA=$(GIT_SHA) -DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
-DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
LDLIBS += -lm
INSTALL = install
ifdef CMD_EXE
EXE_SUFFIX=.exe
endif
ifdef CROSS_COMPILE
EXE_SUFFIX=.exe
endif
ifdef CMD_EXE
DIRLIST = $(strip $(foreach dir,$1,$(wildcard $(dir))))
MKDIR = mkdir $(subst /,\,$1)
RMDIR = $(if $(DIRLIST),rmdir /s /q $(subst /,\,$(DIRLIST)))
else
MKDIR = mkdir -p $1
RMDIR = $(RM) -r $1
endif
all bin: $(PROGS)
mostlyclean:
$(RM) -r ../wrk
$(call RMDIR,../wrk)
clean:
$(RM) -r ../wrk ../bin
$(call RMDIR,../wrk ../bin)
ifdef CMD_EXE
install avail unavail:
else # CMD_EXE
INSTALL = install
define AVAIL_recipe
ln -s $(abspath ../bin/$(prog)) /usr/local/bin/$(prog)
endef # AVAIL_recipe
define UNAVAIL_recipe
$(RM) /usr/local/bin/$(prog)
endef # UNAVAIL_recipe
install:
$(if $(prefix),,$(error variable `prefix' must be set))
@@ -55,23 +110,10 @@ avail:
unavail:
$(foreach prog,$(PROGS),$(UNAVAIL_recipe))
##########
endif # CMD_EXE
define AVAIL_recipe
ln -s $(abspath ../bin/$(prog)) /usr/local/bin/$(prog)
endef
##########
define UNAVAIL_recipe
$(RM) /usr/local/bin/$(prog)
endef
##########
zip:
@cd .. && zip cc65 bin/*
define OBJS_template
@@ -80,53 +122,35 @@ $1_OBJS := $$(patsubst %.c,../wrk/%.o,$$(wildcard $1/*.c))
$$($1_OBJS): | ../wrk/$1
../wrk/$1:
@mkdir -p $$@
@$$(call MKDIR,$$@)
DEPS += $$($1_OBJS:.o=.d)
endef
##########
endef # OBJS_template
define PROG_template
$$(eval $$(call OBJS_template,$1))
../bin/$1$(PROGEXT): $$($1_OBJS) ../wrk/common/common.a | ../bin
../bin/$1$(EXE_SUFFIX): $$($1_OBJS) ../wrk/common/common.a | ../bin
$$(CC) $$(LDFLAGS) -o $$@ $$^ $$(LDLIBS)
$1: ../bin/$1$(PROGEXT)
$1: ../bin/$1$(EXE_SUFFIX)
endef
##########
endef # PROG_template
../wrk/%.o: %.c
@echo $<
@$(CC) -c $(CFLAGS) -o $@ $<
../bin:
@mkdir $@
@$(call MKDIR,$@)
$(eval $(call OBJS_template,common))
../wrk/common/common.a: $(common_OBJS)
$(AR) r $@ $?
$(foreach prog,$(PROGS),$(eval $(call PROG_template,$(prog))))
-include $(DEPS)
else # cmd.exe
all bin:
msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor
mostlyclean:
$(if $(wildcard ../wrk),rmdir /s /q ..\wrk)
clean:
msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor /target:$@
install avail unavail:
endif # cmd.exe

View File

@@ -77,7 +77,3 @@ void AddObjFiles (int argc, char* argv [])
/* Successful end */
exit (EXIT_SUCCESS);
}

View File

@@ -52,7 +52,3 @@ void AddObjFiles (int argc, char* argv []);
/* End of add.h */
#endif

View File

@@ -78,7 +78,3 @@ void DelObjFiles (int argc, char* argv [])
/* Successful end */
exit (EXIT_SUCCESS);
}

View File

@@ -52,7 +52,3 @@ void DelObjFiles (int argc, char* argv []);
/* End of del.h */
#endif

View File

@@ -89,6 +89,3 @@ void Internal (const char* Format, ...)
va_end (ap);
exit (EXIT_FAILURE);
}

View File

@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
/* End of error.h */
#endif

View File

@@ -147,6 +147,3 @@ const ObjData* ExpFind (const char* Name)
/* Not found */
return 0;
}

View File

@@ -67,6 +67,3 @@ const struct ObjData* ExpFind (const char* Name);
/* End of exports.h */
#endif

View File

@@ -77,6 +77,3 @@ void ExtractObjFiles (int argc, char* argv [])
/* Successful end */
exit (EXIT_SUCCESS);
}

View File

@@ -52,7 +52,3 @@ void ExtractObjFiles (int argc, char* argv []);
/* End of extract.h */
#endif

View File

@@ -201,54 +201,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
}
return Data;
}

View File

@@ -89,6 +89,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size);
/* End of fileio.h */
#endif

View File

@@ -40,6 +40,3 @@
/*****************************************************************************/
/* Data */
/*****************************************************************************/

View File

@@ -47,6 +47,3 @@
/* End of global.h */
#endif

View File

@@ -405,6 +405,3 @@ void LibClose (void)
Error ("Problem deleting temporary library file: %s", strerror (errno));
}
}

View File

@@ -83,6 +83,3 @@ void LibClose (void);
/* End of library.h */
#endif

View File

@@ -84,6 +84,3 @@ void ListObjFiles (int argc, char* argv [])
/* Successful end */
exit (EXIT_SUCCESS);
}

View File

@@ -52,7 +52,3 @@ void ListObjFiles (int argc, char* argv []);
/* End of list.h */
#endif

View File

@@ -137,6 +137,3 @@ int main (int argc, char* argv [])
/* Return an apropriate exit code */
return EXIT_SUCCESS;
}

View File

@@ -167,6 +167,3 @@ void DelObjData (const char* Module)
/* Not found! */
Warning ("Module `%s' not found in library `%s'", Module, LibName);
}

View File

@@ -108,6 +108,3 @@ void DelObjData (const char* Module);
/* End of objdata.h */
#endif

View File

@@ -337,6 +337,3 @@ void ObjExtract (const char* Name)
Error ("Cannot set mod time on `%s': %s", Name, strerror (errno));
}
}

View File

@@ -74,6 +74,3 @@ void ObjExtract (const char* Name);
/* End of objfile.h */
#endif

View File

@@ -79,6 +79,3 @@ int IsAnonName (const StrBuf* Name)
}
return (strncmp (SB_GetConstBuf (Name), AnonTag, sizeof (AnonTag) - 1) == 0);
}

View File

@@ -61,7 +61,5 @@ int IsAnonName (const StrBuf* Name);
/* End of anonname.h */
#endif

View File

@@ -176,8 +176,3 @@ void WriteAssertions (void)
/* Done writing the assertions */
ObjEndAssertions ();
}

View File

@@ -74,6 +74,3 @@ void WriteAssertions (void);
/* End of asserts.h */
#endif

View File

@@ -523,7 +523,3 @@ void CleanupIfStack (unsigned SP)
/* Calculate the new overall .IF condition */
CalcOverallIfCond ();
}

View File

@@ -80,6 +80,3 @@ void CleanupIfStack (unsigned SP);
/* End of condasm.h */
#endif

View File

@@ -527,6 +527,3 @@ void WriteHLLDbgSyms (void)
}
}

View File

@@ -67,8 +67,3 @@ void WriteHLLDbgSyms (void);
/* End of dbginfo.h */
#endif

View File

@@ -63,6 +63,3 @@ struct EffAddr {
/* End of ea.h */
#endif

View File

@@ -200,7 +200,3 @@ void GetEA (EffAddr* A)
/* Apply addressing mode overrides */
A->AddrModeSet &= Restrictions;
}

View File

@@ -62,6 +62,3 @@ void GetEA (EffAddr* A);
/* End of ea65.h */
#endif

View File

@@ -151,7 +151,3 @@ void DoEnum (void)
/* Free the base expression */
FreeExpr (BaseExpr);
}

View File

@@ -52,6 +52,3 @@ void DoEnum (void);
/* End of enum.h */
#endif

View File

@@ -400,6 +400,3 @@ void Internal (const char* Format, ...)
exit (EXIT_FAILURE);
}

View File

@@ -38,6 +38,12 @@
#if defined( __MINGW32__)
# pragma GCC diagnostic ignored "-Wformat"
#endif
/* common */
#include "attrib.h"
#include "coll.h"
@@ -98,7 +104,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
/* End of error.h */
#endif

View File

@@ -1942,6 +1942,3 @@ ExprNode* BoundedExpr (ExprNode* (*ExprFunc) (void), unsigned Size)
{
return MakeBoundedExpr (ExprFunc (), Size);
}

View File

@@ -179,6 +179,3 @@ ExprNode* BoundedExpr (ExprNode* (*ExprFunc) (void), unsigned Size);
/* End of expr.h */
#endif

View File

@@ -125,6 +125,3 @@ feature_t SetFeature (const StrBuf* Key)
/* Return the value found */
return Feature;
}

View File

@@ -94,6 +94,3 @@ feature_t SetFeature (const StrBuf* Key);
/* End of feature.h */
#endif

View File

@@ -336,5 +336,3 @@ void CreateDependencies (void)
FT_MAIN | FT_INCLUDE | FT_BINARY | FT_DBGINFO);
}
}

View File

@@ -90,8 +90,3 @@ void CreateDependencies (void);
/* End of filetab.h */
#endif

View File

@@ -66,6 +66,3 @@ Fragment* NewFragment (unsigned char Type, unsigned short Len)
/* And return it */
return F;
}

View File

@@ -82,8 +82,5 @@ Fragment* NewFragment (unsigned char Type, unsigned short Len);
/* End of fragment.h */
#endif

View File

@@ -90,6 +90,3 @@ extern unsigned char UnderlineInNumbers; /* Allow underlines in numbers */
/* End of global.h */
#endif

View File

@@ -44,8 +44,8 @@
SearchPath* IncSearchPath; /* Standard include path */
SearchPath* BinSearchPath; /* Binary include path */
SearchPaths* IncSearchPath; /* Standard include path */
SearchPaths* BinSearchPath; /* Binary include path */
@@ -75,13 +75,10 @@ void FinishIncludePaths (void)
AddSubSearchPathFromEnv (IncSearchPath, "CC65_HOME", "asminc");
/* Add some compiled-in search paths if defined at compile time. */
#ifdef CA65_INC
#if defined(CA65_INC) && !defined(_WIN32)
AddSearchPath (IncSearchPath, STRINGIZE (CA65_INC));
#endif
/* Add paths relative to the parent directory of the Windows binary. */
AddSubSearchPathFromWinBin (IncSearchPath, "asminc");
}

View File

@@ -49,8 +49,8 @@
extern SearchPath* IncSearchPath; /* Standard include path */
extern SearchPath* BinSearchPath; /* Binary include path */
extern SearchPaths* IncSearchPath; /* Standard include path */
extern SearchPaths* BinSearchPath; /* Binary include path */
@@ -71,6 +71,3 @@ void FinishIncludePaths (void);
/* End of incpath.h */
#endif

View File

@@ -1521,6 +1521,3 @@ void HandleInstruction (unsigned Index)
/* Call the handler */
InsTab->Ins[Index].Emit (&InsTab->Ins[Index]);
}

View File

@@ -179,8 +179,3 @@ void HandleInstruction (unsigned Index);
/* End of instr.h */
#endif

View File

@@ -156,6 +156,3 @@ void CheckInputStack (void)
Error ("Open %s", IStack->Desc);
}
}

View File

@@ -68,7 +68,3 @@ void CheckInputStack (void);
/* End of istack.h */
#endif

View File

@@ -501,6 +501,3 @@ void WriteLineInfos (void)
/* End of line infos */
ObjEndLineInfos ();
}

View File

@@ -115,8 +115,5 @@ void WriteLineInfos (void);
/* End of lineinfo.h */
#endif

View File

@@ -452,6 +452,3 @@ void CreateListing (void)
/* Close the listing file */
(void) fclose (F);
}

View File

@@ -123,6 +123,3 @@ void CreateListing (void);
/* End of listing.h */
#endif

View File

@@ -1049,6 +1049,3 @@ void EnableDefineStyleMacros (void)
PRECONDITION (DisableDefines > 0);
--DisableDefines;
}

View File

@@ -110,6 +110,3 @@ void EnableDefineStyleMacros (void);
/* End of macro.h */
#endif

View File

@@ -1120,6 +1120,3 @@ int main (int argc, char* argv [])
/* Return an apropriate exit code */
return (ErrorCount == 0)? EXIT_SUCCESS : EXIT_FAILURE;
}

View File

@@ -816,6 +816,3 @@ void LeaveRawTokenMode (void)
PRECONDITION (RawMode > 0);
--RawMode;
}

View File

@@ -90,7 +90,3 @@ void LeaveRawTokenMode (void);
/* End of nexttok.h */
#endif

View File

@@ -278,6 +278,3 @@ void EmitFill (unsigned long Count)
GenFragment (FRAG_FILL, Chunk);
}
}

View File

@@ -94,6 +94,3 @@ void EmitFill (unsigned long Count);
/* End of objcode.h */
#endif

View File

@@ -512,6 +512,3 @@ void ObjEndSpans (void)
{
Header.SpanSize = ftell (F) - Header.SpanOffs;
}

View File

@@ -160,6 +160,3 @@ void ObjEndSpans (void);
/* End of objfile.h */
#endif

View File

@@ -73,6 +73,3 @@ void WriteOptions (void);
/* End of options.h */
#endif

View File

@@ -2145,6 +2145,3 @@ void CheckPseudo (void)
Warning (1, "CPU stack is not empty");
}
}

View File

@@ -55,6 +55,3 @@ void CheckPseudo (void);
/* End of pseudo.h */
#endif

View File

@@ -175,6 +175,3 @@ Done:
/* Switch out of raw token mode */
LeaveRawTokenMode ();
}

View File

@@ -52,7 +52,3 @@ void ParseRepeat (void);
/* End of repeat.h */
#endif

View File

@@ -1505,7 +1505,3 @@ void DoneScanner (void)
{
DoneCharSource ();
}

View File

@@ -108,7 +108,3 @@ void DoneScanner (void);
/* End of scanner.h */
#endif

View File

@@ -77,7 +77,3 @@ SegDef* DupSegDef (const SegDef* Def)
{
return NewSegDef (Def->Name, Def->AddrSize);
}

View File

@@ -81,6 +81,3 @@ SegDef* DupSegDef (const SegDef* D);
/* End of segdef.h */
#endif

View File

@@ -627,7 +627,3 @@ void WriteSegments (void)
/* Done writing segments */
ObjEndSegments ();
}

View File

@@ -174,6 +174,3 @@ void WriteSegments (void);
/* End of segment.h */
#endif

View File

@@ -130,6 +130,3 @@ SymEntry* DefSizeOfSymbol (SymEntry* Sym, long Size)
SymDef (SizeSym, GenLiteralExpr (Size), ADDR_SIZE_DEFAULT, SF_NONE);
return SizeSym;
}

View File

@@ -95,7 +95,5 @@ struct SymEntry* DefSizeOfSymbol (struct SymEntry* Sym, long Size);
/* End of sizeof.h */
#endif

View File

@@ -407,7 +407,3 @@ void WriteSpans (void)
/* Done writing the spans */
ObjEndSpans ();
}

View File

@@ -117,6 +117,3 @@ void WriteSpans (void);
/* End of span.h */
#endif

View File

@@ -89,6 +89,3 @@ void InitStrPool (void)
/* Insert an empty string. It will have string id 0 */
SP_AddStr (StrPool, "");
}

View File

@@ -114,7 +114,3 @@ void InitStrPool (void);
/* End of spool.h */
#endif

View File

@@ -299,6 +299,3 @@ void DoUnion (void)
{
DoStructInternal (0, UNION);
}

View File

@@ -68,6 +68,3 @@ void DoUnion (void);
/* End of struct.h */
#endif

View File

@@ -1539,6 +1539,3 @@ void StudyExpr (ExprNode* Expr, ExprDesc* D)
printf ("%u sections:\n", D->SecCount);
#endif
}

View File

@@ -118,7 +118,5 @@ void StudyExpr (ExprNode* Expr, ExprDesc* D);
/* End of studyexpr.h */
#endif

View File

@@ -262,6 +262,3 @@ SymEntry* ParseAnySymName (SymFindAction Action)
/* Return the symbol found */
return Sym;
}

View File

@@ -88,6 +88,3 @@ struct SymEntry* ParseAnySymName (SymFindAction Action);
/* End of symbol.h */
#endif

View File

@@ -744,6 +744,3 @@ unsigned GetSymInfoFlags (const SymEntry* S, long* ConstVal)
/* Return the result */
return Flags;
}

View File

@@ -359,7 +359,3 @@ unsigned GetSymInfoFlags (const SymEntry* Sym, long* ConstVal);
/* End of symentry.h */
#endif

View File

@@ -1031,6 +1031,3 @@ void WriteScopes (void)
/* Done writing the scopes */
ObjEndScopes ();
}

View File

@@ -178,6 +178,3 @@ void WriteScopes (void);
/* End of symtab.h */
#endif

View File

@@ -72,6 +72,3 @@ void CopyToken (Token* Dst, const Token* Src)
SB_Copy (&Dst->SVal, &Src->SVal);
Dst->Pos = Src->Pos;
}

View File

@@ -314,6 +314,3 @@ void CopyToken (Token* Dst, const Token* Src);
/* End of token.h */
#endif

View File

@@ -283,6 +283,3 @@ void PushTokList (TokList* List, const char* Desc)
++PushCounter;
PushInput (ReplayTokList, List, Desc);
}

View File

@@ -129,7 +129,3 @@ void PushTokList (TokList* List, const char* Desc);
/* End of toklist.h */
#endif

View File

@@ -223,7 +223,3 @@ void ULabDone (void)
ReleaseFullLineInfo (&L->LineInfos);
}
}

View File

@@ -74,6 +74,3 @@ void ULabDone (void);
/* End of ulabel.h */
#endif

Some files were not shown because too many files have changed in this diff Show More