This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, MPX, 2/X] Pointers Checker [6/25] Instrumentation pass

On 01 Nov 21:59, Joseph S. Myers wrote:
> On Thu, 31 Oct 2013, Ilya Enkovich wrote:
> > 	* tree-chkp.c: New.
> This file includes tm.h.  Inclusion of tm.h in front-end and GIMPLE files 
> is discouraged (well, we'd like to convert all target macros to hooks, but 
> the limited subset used in front-end and GIMPLE files are lower-hanging 
> fruit than eliminating tm.h from the RTL parts of the compiler).  If you 
> need it, please put a comment on the #include saying exactly what target 
> macros you need, so people know which macros' conversion to hooks would 
> eliminate the need for the tm.h inclusion.

There was a work to remove all target macros from this file.  No all target dependencies should go through hooks.  Actually I can remove tm.h include from this file but it does not guarantee it is not used because it is implicitly included via expr.h, right?

> > 	* tree.h (DECL_BOUNDS_RTL): New.
> > 	(DECL_BOUNDS): New.
> > 	(SET_DECL_BOUNDS): New.
> > 	(chkp_get_rtl_bounds): New.
> A lot of work is in progress to split up catch-all headers such as tree.h 
> and to get source files to include only those headers they need.  I'm 
> doubtful that all these chkp_* declarations really belong in such a 
> widely-included header.  I'd think it would be better to put them in a 
> tree-chkp.h header and include that header only in those source files that 
> need it.
> (Of course, if any function isn't needed outside tree-chkp.c, make it 
> static.  The header is only for those functions that are actually used in 
> at least one other source file.)

OK.  I moved all these new declarations into new file.  All functions declared in tree-chkp.h are for usage outside of tree-chkp.c.


2013-11-05  Ilya Enkovich  <>

	* tree-chkp.c: New.
	* tree-chkp.h: New.
	* (OBJS): Add tree-chkp.o.
	(GTFILES): Add tree-chkp.c.
	* common.opt (fchkp-check-incomplete-type): New.
	(fchkp-zero-input-bounds-for-main): New.
	(fchkp-first-field-has-own-bounds): New.
	(fchkp-narrow-to-innermost-array): New.
	(fchkp-optimize): New.
	(fchkp-use-fast-string-functions): New.
	(fchkp-use-nochk-string-functions): New.
	(fchkp-use-static-bounds): New.
	(fchkp-use-static-const-bounds): New.
	(fchkp-treat-zero-dynamic-size-as-infinite): New.
	(fchkp-check-read): New.
	(fchkp-check-write): New.
	* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Add
	__CHKP__ macro when Pointer Bounds Checker is on.
	* passes.def (pass_chkp): New.
	(pass_chkp_opt): New.
	* toplev.c: include tree-chkp.h.
	(compile_file): Add chkp_finish_file call.
	* tree-pass.h (make_pass_chkp): New.
	(make_pass_chkp_opt): New.

Attachment: mpx-pass-6-pass.patch
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]