﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
240	free requires LHS expression in model builder	Stephen Siegel	zirkel	"The model builder expects the argument to free to be a left hand side expression.  Here it fails on an expression of the form ""free(&a[0])"" (test multierr).  There is no reason for this restriction.

{{{
java.lang.RuntimeException: The buffer of an allocate statement must be a left-value.
	at edu.udel.cis.vsl.tass.front.minimp.ModelBuilder.processDeallocateStmt(ModelBuilder.java:842)
	at edu.udel.cis.vsl.tass.front.minimp.ModelBuilder.processStatement(ModelBuilder.java:779)
	at edu.udel.cis.vsl.tass.front.minimp.ModelBuilder.processStatementList(ModelBuilder.java:725)
	at edu.udel.cis.vsl.tass.front.minimp.ModelBuilder.processFunctionBody(ModelBuilder.java:681)
	at edu.udel.cis.vsl.tass.front.minimp.ModelBuilder.processFunctions(ModelBuilder.java:652)
	at edu.udel.cis.vsl.tass.front.minimp.ModelBuilder.processAST(ModelBuilder.java:330)
	at edu.udel.cis.vsl.tass.front.minimp.ModelBuilder.buildModel(ModelBuilder.java:322)
	at edu.udel.cis.vsl.tass.front.minimp.ModelExtractor.extract(ModelExtractor.java:29)
	at edu.udel.cis.vsl.tass.front.minimp.ModelExtractor.extractModel(ModelExtractor.java:53)
	at multierr.MultiErrTest.multiErrorTest(MultiErrTest.java:31)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
	at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
"	defect	closed	major	Release 1.0	front	1.0	fixed	free lhs pointer	
