[PATCH] Remove libada-mk

Paolo Bonzini bonzini@gnu.org
Wed Jul 30 15:31:00 GMT 2008


This patch removes libada-mk and, in addition, the dependency of 
libada/gnattools on the configuration files from the gcc directory. 
This in turn fixes a failure on m68k with the upcoming multilibbing of 
libada.

The values passed currently by libada are:

- exeext: this can be found at configure time for gnattools, and is 
unused for libada.  It is a legacy of when libada also built the tools.

- host_cc_for_libada: Likewise.

- gcc_tmake_file: Used for TARGET_LIBGCC2_FLAGS; also causes the failure 
on m68k.  We can use libgcc.mvars to pass this, which is an 
already-existing mechanism to pass configuration information between gcc 
and target libraries.

- gcc_xmake_file: Unused after my patch to move PA-specific Ada flags to 
the toplevel, committed earlier today.

- warn_cflags: Easily computed at configure time in both libada and 
gnattools.

- nocommon_flag: Set by --enable-checking to catch forgotten "extern" 
for variable declarations in header files.  Not a big deal: it's easier 
to find them with something like

	grep '^[^et  }][^(]*;' *.h

("e" is for enum and extern, "t" is for typedef).  Also, there are 30 
variable declarations in Ada header files compared to 1384 in the gcc 
source code (not counting front-ends other than the C front-end).

Bootstrapped/regtested i686-pc-linux-gnu, C and Ada.  Will commit in 
24/48 hours unless I hear complaints.

Paolo

ps: here are the 30 variable declarations

	adaint.h:extern int    __gnat_max_path_len;
	atree.h:extern struct Node *Nodes_Ptr;
	atree.h:extern Node_Id Current_Error_Node;
	elists.h:extern struct Elist_Header *Elists_Ptr;
	elists.h:extern struct Elmt_Item *Elmts_Ptr;
	fe.h:extern char Fold_Lower[], Fold_Upper[];
	fe.h:extern Boolean Debug_Flag_NN;
	fe.h:extern Entity_Id             Error_Msg_Node_2;
	fe.h:extern Uint                  Error_Msg_Uint_1;
	fe.h:extern Uint                  Error_Msg_Uint_2;
	fe.h:extern Boolean Global_Discard_Names;
	fe.h:extern Boolean Exception_Locations_Suppressed;
	fe.h:extern Exception_Mechanism_Type Exception_Mechanism;
	fe.h:extern Boolean Back_Annotate_Rep_Info;
	fe.h:extern Boolean Stack_Check_Probes_On_Target;
	fe.h:extern Boolean Stack_Check_Limits_On_Target;
	namet.h:extern struct Name_Entry *Names_Ptr;
	namet.h:extern char *Name_Chars_Ptr;
	namet.h:extern char Name_Buffer[];
	namet.h:extern Int namet__name_len;
	namet.h:extern char *Spec_Context_List, *Body_Context_List;
	namet.h:extern char *Spec_Filename, *Body_Filename;
	nlists.h:extern struct List_Header *List_Headers_Ptr;
	nlists.h:extern Node_Id *Next_Node_Ptr;
	nlists.h:extern Node_Id *Prev_Node_Ptr;
	raise.h:extern int gnat_exit_status;
	stringt.h:extern struct String_Entry *Strings_Ptr;
	stringt.h:extern Char_Code *String_Chars_Ptr;
	uintp.h:extern struct Uint_Entry *uintp__uints__table;
	uintp.h:extern int *uintp__udigits__table;
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gcc-libada-mk-delete.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080730/aa2b76bf/attachment.ksh>


More information about the Gcc-patches mailing list