2010-01-29  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch fixes a bug when parsing iterators and parameters as
	read variables in the RHS of an expression. The fake_array trick
	has been made useless, parsing is clean now.

	* source/parser.y: Fix the grammar.

	* include/clan/symbol.h,
	* source/symbol.c: Add function clan_symbol_remove.

	* tests/unitary/assigniter.c.scop: Fix the old test.
	* tests/unitary/assigniter2.c.scop,
	* tests/unitary/assigniter2.c: Add a new regression test.
	* tests/Makefile.am: Update accordingly.

2010-01-27  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/parser.y: Revert previous patch to support type cast. It
	must be done in a robust and tested fashion, it was not the case.

2010-01-26  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds an experimental support of C type cast. For
	instance c = (double) (0);
	The casted value must be in parenthesis also, syntax as:
	c = (double) 0; are not supported.

	* source/parser.y: Support basic type cast in expressions.

2010-01-26  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/scanner.l,
	* source/parser.y: Extend to support re-entrance of tiled
	code. Now the ceild and floord are supported (with special
	token). Only an integer term as the dividor is supported.

2010-01-26  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/parser.y: Reinitialize the symbol global variables at the
	start of the parsing process.

2009-10-20  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds the support of basic arithmetic
	expressions (numbers operations only) in function arguments, such
	as foo(1+2*(3/4),bar). More complex patterns such as foo(2 * bar) are
	not supported.

	* source/parser.y: Improve grammar to suport also basic arithmetic
	expressions as argument in a function call.
	* tests/unitary/functioncall2.c,
	* tests/unitary/functioncall2.c.scop: New. Associated unitary test
	files.
	* tests/Makefile.am: Update accordingly.

2009-10-20  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch improves the grammar by supporting fields and methods
	syntax, such as a.b, a->b as fields, and a.b() or a->b() as method
	calls. Getter/Setter syntax such as a->b() = 42 is not supported.

	* source/parser.y,
	* source/scanner.l: Modify the lexer and parser to support fields
	and objects-like syntax (id.id and id->id).
	* tests/unitary/object.c,
	* tests/unitary/object.c.scop,
	* tests/unitary/field.c,
	* tests/unitary/field.c.scop: New. Associated unitary test files.
	* tests/Makefile.am: Update accordingly.

2009-07-26  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch provides the option -boundedctxt, which produces a
	context where all parameters have their lower bound set to -1.

	* include/clan/options.h,
	* source/parser.y,
	* source/options.c: Provide option -boundedctxt.

2009-05-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* include/clan/statement.h: Add missing include.

2009-05-02  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch updates Clan to use the ScopLib. All "generic"
	functions on scop_t, statement_t, matrix_t and vector_t have been
	substituted by their version from the ScopLib.  Embed a version of
	the ScopLib, which is compiled by default if no option is
	given. To use another installed version of the ScopLib, use
	--disable-internal-scoplib [--with-scoplib=xxx].

	* include/clan/options.h,
	* include/clan/clan.h.in,
	* include/clan/vector.h,
	* include/clan/macros.h,
	* include/clan/matrix.h,
	* include/clan/scop.h,
	* include/clan/statement.h,
	* include/clan/symbol.h,
	* configure.in,
	* source/parser.y,
	* source/scanner.l,
	* source/vector.c,
	* source/matrix.c,
	* source/scop.c,
	* source/statement.c,
	* source/symbol.c,
	* source/options.c,
	* source/clan.c,
	* tests/checker.sh,
	* Makefile.am: Remove all functions included in ScopLib,
	accordingly substitute clan_xx_ types and functions to
	scoplib_xx_.

	* scoplib/scoplib-0.1.0.tar.gz: New. ScopLib hard copy.

2009-04-27  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/scop.c: Add clan_scop_dup function.

2009-03-21  Uday K Bondhugula
	Fixes for gmp compilation

	* trunk/configure.in: def of LINEAR_VALUE_IS_MP under
	--enable-mp-version.
	* trunk/include/clan/macros.h: include gmp.h.
	* trunk/source/matrix.c: missing var decls for gmp code.

2009-02-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds the support of iterators as RHS of assignments,
	for instance x = i * j.

	* include/clan/clan.h.in,
	* include/clan/macros.h,
	* source/parser.y,
	* source/matrix.c,
	* source/statement.c: Support the assignment of an iterator as an
	RHS of a statement.

	* tests/unitary/assigniter.c,
	* tests/unitary/assigniter.c.scop: New. Test case for iterator
	assignment.
	* tests/Makefile.am: Update accordingly.

2009-02-06  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/parser.y: Fix a minor regression.

	* tests/unitary/intaddit.c,
	* tests/unitary/intaddit.c.scop: New. Test case for the
	regression.
	* tests/Makefile.am: Update accordingly.

2009-02-05  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds the support for expression such as
	..(i).. everywhere.  Expressions such as ..(i+..).. are not
	handled yet: for ex 2 * (i+1).

	* source/parser.y: Fix the grammar to handle parenthesis around an
	identifier.

	* tests/unitary/parenthesis.c,
	* tests/unitary/parenthesis.scop: New. Unitary test files for
	parenthesis around identifiers.
	* tests/Makefile.am: Update accordingly.

2009-02-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* include/clan/macros.h: Increase the maximal sizes of loops.

2009-02-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/parser.y: Ensure null read/written info is always a
	0-sized matrix.

2009-01-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* NEWS,
	* README,
	* THANKS,
	* AUTHORS,
	* COPYING.LESSER: Add standard GNU/LGPL files.

2009-01-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/checker.sh: Add --ignore-matching-line diff option to
	avoid failures on test reference files when Clan version changes.

2009-01-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	NOTE: Clan has been bumped to 0.5.0 at some point.

	* tests/change_clan_version_in_refs.sh: New. Test script to update
	the version of clan in the test files. Must be used after each
	modification of the version in configure.ac.

	* tests/matmul.c.scop,
	* tests/unitary/empty.c.scop,
	* tests/unitary/minloopcomplex.c.scop,
	* tests/unitary/maxloopcomplex.c.scop,
	* tests/unitary/redefiter.c.scop,
	* tests/unitary/classicloop.c.scop,
	* tests/unitary/complexcond.c.scop,
	* tests/unitary/multiparenthcond.c.scop,
	* tests/unitary/functioncall.c.scop,
	* tests/unitary/ternary.c.scop,
	* tests/unitary/increment.c.scop,
	* tests/unitary/comments.c.scop,
	* tests/unitary/minloopsimple.c.scop,
	* tests/unitary/maxloopsimple.c.scop,
	* tests/unitary/minmax.c.scop,
	* tests/unitary/simplecond.c.scop,
	* tests/unitary/complexprog.c.scop,
	* tests/unitary/twoconds.c.scop,
	* tests/unitary/complexop.c.scop,
	* tests/unitary/noloop.c.scop,
	* tests/unitary/binop.c.scop,
	* tests/unitary/twocondincond.c.scop,
	* tests/unitary/basicnest.c.scop,
	* tests/unitary/negassign.c.scop,
	* tests/unitary/simpleloop.c.scop,
	* tests/unitary/noloop2.c.scop,
	* tests/ax-do.c.scop,
	* tests/swim.c.scop,
	* tests/iir_4_64.c.scop,
	* tests/gauss.c.scop,
	* tests/gemver.c.scop: Update the reference files.

2009-01-30  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/scanner.l: Allow variable id to start with _.

	* tests/unitary/underscore.c,
	* tests/unitary/underscore.c.scop: Add test case.
	* tests/Makefile.am: Update accordingly.

2008-11-01  Cedric Bastoul  <cedric.bastoul@inria.fr>
	Replace Polylib "Value" with "clan_int_t" to denote the integer type.
	Plus some fixes on matrix list handling.

	* source/vector.c
	* source/matrix.c: Fix matrix list handling
	* include/vector.c
	* include/macros.c
	* doc/clan.texi: Completely add support for clan_matrix_list_p

2008-11-01  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* Makefile.am: Remove useless re-copy of config/clan.m4 in dist-hook.

2008-10-15  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/scanner.l: Remove systematic print of unknown characters.

2008-10-07  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch fixes a bug in the parser. Assignments such as 'a = -b'
	were incorrectly handled.

	* source/parser.y: Fix the parser grammar.

	* tests/unitary/negassign.c,
	* tests/unitary/negassign.c.scop: New test file covering the case.

	* tests/Makefile.am: Update accordingly.

2008-08-26  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch allows C-like ternary operator to be correctly
	parsed in assignment statements. Example:
	b = c < d ? a + 1 : 2 * b;

	* source/parser.y,
	* source/scanner.l: Extend the grammar to deal with ternary operator.

	* tests/unitary/ternary.c,
	* tests/unitary/ternary.c.scop: New. Test files for ternary operator.
	* tests/Makefile.am: Update accordingly.

2008-08-25  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch (1) fixes, cleans and comments the grammar (2)
	changes the type of 'condition' from <affex> to <setex> (3) allows
	conjunction of conditions (A && B) to be correctly parsed.

	* source/parser.y,
	* source/scanner.l: Fix, clean and improve the lexer/parser.

	* source/vector.c: Fix a potential bug in clan_vector_free.

	* include/clan/matrix.h,
	* source/matrix.c: Add clan_matrix_add_vector and
	clan_matrix_sub_vector functions.

	* tests/unitary/twocondincond.c,
	* tests/unitary/twocondincond.c.scop: New. Test files for multiple
	affine expressions in a condition.
	* tests/Makefile.am: Update accordingly.

2008-08-23  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch allows complex C unary and binary operators to be correctly
	parsed when present in assignments. Examples:
	a ^= (b | (c + 2)) % 2 - !(a[n]/2);
	a--;

	* source/scanner.l,
	* source/parser.y: Improve the lexer/scanner to deal with various
	C-like operators in assignments.

	* tests/unitary/binop.c,
	* tests/unitary/binop.c.scop,
	* tests/unitary/complexop.c,
	* tests/unitary/complexop.c.scop: New. Test files for complex
	operators in assignments.

	* tests/Makefile.am: Update accordingly.

	* tests/checker.sh: Minor fix to improve verbosity.

2008-08-23  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch enables correct parsing of multiple parenthesis in
	conditions.

	* source/parser.y: Support multiple parenthesis in conditions.

	* tests/unitary/multiparenthcond.c,
	* tests/unitary/multiparenthcond.c.scop: New. Test files for
	multiple parenthesis inside a condition.
	* tests/Makefile.am: Update accordingly.

2008-08-23  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch fixes a bug in the parser: statements not surrounded by
	any loop were having an infinite domain. Fix the parser by
	creating a fake iterator "fakeiter" for those statements.

	* source/parser.y: Fix the parser.

	* tests/unitary/twoconds.c,
	* tests/unitary/noloop.c,
	* tests/unitary/noloop2.c,
	* tests/unitary/complexprog.c,
	* tests/unitary/complexprog.c.scop,
	* tests/unitary/twoconds.c.scop,
	* tests/unitary/noloop.c.scop,
	* tests/unitary/noloop2.c.scop: New. Test files for statements
	surrounded by no loop, in several situations.
	* tests/Makefile.am: Update accordingly.

	* tests/iir_4_64.c.scop: Fix the test.

2008-08-23  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/parser.y: Minor fix to clean useless rule type.

2008-08-23  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch provides support for cascading min/max functions in
	loop bound specification. min/max is not supported in regular
	conditions, only in loop bounds.

	* source/parser.y,
	* source/scanner.l: Improve the lexer/parser to deal with min/max
	in loop bounds.

	* tests/unitary/minloopsimple.c,
	* tests/unitary/minloopsimple.c.scop,
	* tests/unitary/minloopcomplex.c,
	* tests/unitary/minloopcomplex.c.scop,
	* tests/unitary/maxloopsimple.c,
	* tests/unitary/maxloopsimple.c.scop,
	* tests/unitary/maxloopcomplex.c,
	* tests/unitary/maxloopcomplex.c.scop,
	* tests/unitary/minmax.c,
	* tests/unitary/minmax.c.scop: New. Test files for min/max in loop
	bounds.
	* tests/Makefile.am: Update accordingly.

2008-08-22  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/unitary/redefiter.c,
	* tests/unitary/redefiter.c.scop: Add missing test files.

2008-08-22  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch improves the parser by allowing the support of: (1)
	function calls in statements (function arguments are marked as
	read items); (2) conditionals (without OR and AND operators); (3)
	error detection when an iterator is assigned to a variable (this
	is not a SCoP). The test suite passes now.

	* source/scanner.l,
	* source/parser.y: Fix the lexer/parser.

	* tests/unitary/assigniter.c,
	* tests/unitary/assigniter.c.scop: Remove this test.
	* tests/unitary/simplecond.c.scop,
	* tests/unitary/simpleloop.c.scop,
	* tests/unitary/basicnest.c.scop: Fix the reference files.
	* tests/unitary/complexcond.c,
	* tests/unitary/complexcond.c.scop: New. Test files for complex
	conditionals in the SCoP.
	* tests/unitary/functioncall.c,
	* tests/unitary/functioncall.c.scop: New. Test files for function
	calls.
	* tests/Makefile.am: Update accordingly.

	* tests/checker.sh: Minor fix to improve output.

2008-08-22  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/parser.y,
	* source/scanner.l: Merge from trunk.

	* tests/unitary/comments.c: Make the test harder.

2008-08-21  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/scop.c: Minor fix in option tags handling.
	* include/clan/options.h: Typo.

2008-07-24  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* include/clan/scop.h,
	* source/scop.c: Add the clan_scop_tag_content_from_string
	function, which returns the content between two tags in a given
	string. Fix a small bug in clan_scop_print_dot_scop.

2008-07-20  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch adds the support of the <arrays></arrays> tag, to dump
	the table of referenced arrays in the optional section. The option
	section is made persistent for the clan_scop_read
	function. Finally, a 'usr' void* pointer is added for library
	users convenience.

	* include/clan/scop.h: Add two new fields in the scop_t structure:
	a 'usr' void* field, managed by the user, and a field to store the
	options provided after the statement definitions.
	* source/scop.c: Add support for the new fields. Dump the array
	list in the <arrays></arrays> tags.

	* tests/matmul.c.scop,
	* tests/unitary/simplecond.c.scop,
	* tests/unitary/empty.c.scop,
	* tests/unitary/assigniter.c.scop,
	* tests/unitary/classicloop.c.scop,
	* tests/unitary/basicnest.c.scop,
	* tests/unitary/simpleloop.c.scop,
	* tests/unitary/increment.c.scop,
	* tests/unitary/comments.c.scop,
	* tests/ax-do.c.scop,
	* tests/iir_4_64.c.scop,
	* tests/swim.c.scop,
	* tests/gauss.c.scop,
	* tests/gemver.c.scop: Update the reference files.
	* tests/checker.sh: Use the -arraystag option.

	* doc/clan.texi: Update the documentation.

2008-07-14  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/check_unitary.sh,
	* tests/check_complex.sh,
	* tests/Makefile.am: Fix make distcheck.

2008-07-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/gauss.c: Add pragma scop.
	* tests/gauss.c.scop: Fix reference file.

2008-07-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch fixes a bug in the parser. Problem occured when an
	iterator which was previously encountered at a given loop level
	was parsed again, but at a different level.

	* source/parser.y,
	* source/scanner.l: Fix the parser.

	* tests/swim.c.scop: Fix the reference file.
	* tests/unitary/redefiter.c,
	* tests/unitary/redefiter.c.scop: New. Add unitary test for the
	bug.
	* tests/Makefile.am: Update accordingly.

	* tests/checker.sh: Don't systematically delete the test output.

2008-07-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch re-enables the possibility to access any function of the
	clan library by including simply clan.h.

	* include/clan/macros.h: New. Create a file storing all the macros.

	* source/parser.y,
	* source/scanner.l,
	* source/scop.c,
	* source/options.c,
	* include/Makefile.am,
	* include/clan/options.h,
	* include/clan/clan.h.in,
	* include/clan/vector.h,
	* include/clan/matrix.h,
	* include/clan/scop.h,
	* include/clan/statement.h,
	* include/clan/symbol.h: Update accordingly.

2008-07-13  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	This patch fixes the includes of the library. To use a specific
	function of the clan library, like clan_xxx_func, one MUST include
	clan/xxx.h.

	* source/parser.y,
	* source/scanner.l,
	* source/vector.c,
	* source/matrix.c,
	* source/scop.c,
	* source/statement.c,
	* source/symbol.c,
	* source/options.c,
	* source/clan.c,
	* include/clan/options.h,
	* include/clan/vector.h,
	* include/clan/statement.h,
	* include/clan/symbol.h: Fix incorrect includes.

2008-07-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/unitary/checker.sh: Delete.

	* tests/checker.sh: Merge the tester in a single script.

	* tests/check_unitary.sh,
	* tests/check_complex.sh: New. Wrapper for test suite.

	* tests/Makefile.am: Update accordingly.

2008-07-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/unitary/assigniter.c.scop: Fix reference file.

2008-07-11  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/unitary/simpleloop.c.scop: Add missing reference file.

	* tests/Makefile.am,
	* tests/checker.sh,
	* tests/unitary/checker.sh: Improve the test procedure.

2008-07-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/unitary/checker.sh: Fix check of base .scop, add .scop
	parser test.

2008-07-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* tests/unitary/empty.c,
	* tests/unitary/simplecond.c.scop,
	* tests/unitary/empty.c.scop,
	* tests/unitary/assigniter.c,
	* tests/unitary/assigniter.c.scop,
	* tests/unitary/basicnest.c,
	* tests/unitary/classicloop.c,
	* tests/unitary/basicnest.c.scop,
	* tests/unitary/classicloop.c.scop,
	* tests/unitary/simpleloop.c,
	* tests/unitary/increment.c,
	* tests/unitary/comments.c,
	* tests/unitary/increment.c.scop,
	* tests/unitary/comments.c.scop,
	* tests/unitary/simplecond.c: New. Unitary test suite.
	* tests/unitary/checker.sh: New. Checker script for the new suite.

	* tests/Makefile.am: Update accordingly, include unitary tests in
	make check.

2008-07-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/scop.c,
	* source/statement.c,
	* include/clan/scop.h: Minor fix in the .scop parser, to handle
	weird cases.

2008-07-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* doc/clan.texi: Update the documentation for new iteration domain
	type.

2008-07-10  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Provide a parser for .scop files (reentrant with clan output).
	Change iteration domain type from matrix to matrix list, and
	provide functions on matrix list.

	* source/parser.y,
	* source/statement.c,
	* source/scop.c,
	* include/clan/scop.h,
	* include/clan/statement.h,
	* include/clan/matrix.h,
	* source/matrix.c: Move iteration domain from matrix to
	matrix_list. Add support for parsing .scop files.

	* include/clan/options.h,
	* source/options.c: Add option -inputscop to read .scop files.
	* source/clan.c: Add support for option -inputscop.

	* tests/swim.c,
	* tests/swim.c.scop: Fix the test (formerly in DOS format).

	* tests/checker.sh: Add the SCoP parser in the test suite.

2008-07-09  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Provide a working test suite, fix the generation of the
	documentation.

	* tests/iir_4_64.c.scop,
	* tests/matmul.c.scop,
	* tests/swim.c.scop,
	* tests/gauss.c.scop,
	* tests/gemver.c.scop,
	* tests/ax-do.c.scop: New. Add test suite reference files.
	* tests/checker.sh: New. Add tester script for make check.
	* tests/Makefile.am: New. Distribute the tests.

	* configure.in,
	* Makefile.am: Update accordingly.

	* doc/clan.texi,
	* doc/Doxyfile.in,
	* doc/Makefile.am: Fix the documentation generation.

2008-07-09  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* configclan: New. Configuration script to hook configure into
	build/ directory.

2008-07-09  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>

	* source/parser.y,
	* source/scanner.l,
	* source/vector.c,
	* source/matrix.c,
	* source/scop.c,
	* source/statement.c,
	* source/symbol.c,
	* source/options.c,
	* source/clan.c,
	* include/clan/options.h,
	* include/clan/clan.h.in,
	* include/clan/vector.h,
	* include/clan/matrix.h,
	* include/clan/scop.h,
	* include/clan/symbol.h: Make code 80 columns compliant, fix wrong
	includes, add missing ones.

2008-07-09  Louis-Noel Pouchet  <louis-noel.pouchet@inria.fr>
	Severe rewriting of the Auto{conf,make} architecture.

	* doc/Makefile.am,
	* source/Makefile.am,
	* include/Makefile.am: New. Split Makefile.am in those files.

	* configure.in: severe update, add doxygen detection

