Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 3e965595e4927da49625dbc51a509f89ba555a62)
+++ src/CodeGen/CodeGenerator.cc	(revision 76f7fc734a09409f02e2b52d5645a0d39e9c567b)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Andrew Beach
-// Last Modified On : Wed May  1 15:50:00 2019
-// Update Count     : 496
+// Last Modified On : Thr May  2 10:47:00 2019
+// Update Count     : 497
 //
 #include "CodeGenerator.h"
@@ -182,5 +182,5 @@
 
 		Options subOptions = options;
-		subOptions.inParameterList = true;
+		subOptions.anonymousUnused = functionDecl->has_body();
 		output << genType( functionDecl->get_functionType(), mangleName( functionDecl ), subOptions );
 
@@ -203,5 +203,5 @@
 			objectDecl->set_name( name.newName() );
             // Stops unused parameter warnings.
-            if ( options.inParameterList ) {
+            if ( options.anonymousUnused ) {
                 objectDecl->attributes.push_back( new Attribute( "unused" ) );
             }
Index: src/CodeGen/Options.h
===================================================================
--- src/CodeGen/Options.h	(revision 3e965595e4927da49625dbc51a509f89ba555a62)
+++ src/CodeGen/Options.h	(revision 76f7fc734a09409f02e2b52d5645a0d39e9c567b)
@@ -10,6 +10,6 @@
 // Created On       : Tue Apr 30 11:36:00 2019
 // Last Modified By : Andrew Beach
-// Last Modified On : Wed May  1 15:52:00 2019
-// Update Count     : 1
+// Last Modified On : Thr May  2 10:45:00 2019
+// Update Count     : 2
 //
 
@@ -25,5 +25,5 @@
 
 		// Internal Options: Changed on some recurisive calls.
-		bool inParameterList = false;
+		bool anonymousUnused = false;
 
 		Options(bool pretty, bool genC, bool lineMarks, bool printExprTypes) :
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision 3e965595e4927da49625dbc51a509f89ba555a62)
+++ src/SynTree/Declaration.h	(revision 76f7fc734a09409f02e2b52d5645a0d39e9c567b)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May  1 07:46:49 2019
-// Update Count     : 134
+// Last Modified By : Andrew Beach
+// Last Modified On : Thr May  2 10:47:00 2019
+// Update Count     : 135
 //
 
@@ -167,4 +167,5 @@
 	CompoundStmt *get_statements() const { return statements; }
 	void set_statements( CompoundStmt *newValue ) { statements = newValue; }
+	bool has_body() const { return NULL != statements; }
 
 	static FunctionDecl * newFunction( const std::string & name, FunctionType * type, CompoundStmt * statements );
Index: tests/.expect/KRfunctions.x64.txt
===================================================================
--- tests/.expect/KRfunctions.x64.txt	(revision 3e965595e4927da49625dbc51a509f89ba555a62)
+++ tests/.expect/KRfunctions.x64.txt	(revision 76f7fc734a09409f02e2b52d5645a0d39e9c567b)
@@ -44,5 +44,5 @@
     __attribute__ ((unused)) signed int _X10_retval_f5i_1;
 }
-signed int (*_X2f6FFi_i__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(signed int __anonymous_object0){
+signed int (*_X2f6FFi_i__iPiPi__1(signed int _X1ai_1, signed int *_X1bPi_1, signed int *_X1cPi_1))(__attribute__ ((unused)) signed int __anonymous_object0){
     __attribute__ ((unused)) signed int (*_X10_retval_f6Fi_i__1)(signed int __anonymous_object1);
 }
Index: tests/.expect/attributes.x64.txt
===================================================================
--- tests/.expect/attributes.x64.txt	(revision 3e965595e4927da49625dbc51a509f89ba555a62)
+++ tests/.expect/attributes.x64.txt	(revision 76f7fc734a09409f02e2b52d5645a0d39e9c567b)
@@ -271,5 +271,5 @@
 }
 __attribute__ ((unused,used,unused)) signed int (*_X2f4FFi_i____1())(signed int __anonymous_object1);
-__attribute__ ((unused,unused)) signed int (*_X2f4FFi_i____1())(signed int __anonymous_object2){
+__attribute__ ((unused,unused)) signed int (*_X2f4FFi_i____1())(__attribute__ ((unused)) signed int __anonymous_object2){
     __attribute__ ((unused)) signed int (*_X10_retval_f4Fi_i__1)(signed int __anonymous_object3);
 }
Index: tests/.expect/functions.x64.txt
===================================================================
--- tests/.expect/functions.x64.txt	(revision 3e965595e4927da49625dbc51a509f89ba555a62)
+++ tests/.expect/functions.x64.txt	(revision 76f7fc734a09409f02e2b52d5645a0d39e9c567b)
@@ -1,5 +1,5 @@
 void _X1hFv___1(void){
 }
-signed int _X1fFi_Fi__Fi_i_Fi__Fi_i_Fv____1(signed int (*__anonymous_object0)(void), signed int (*__anonymous_object1)(signed int __anonymous_object2), signed int (*__anonymous_object3)(void), signed int (*__anonymous_object4)(signed int __anonymous_object5), void (*_X1gFv___1)(void)){
+signed int _X1fFi_Fi__Fi_i_Fi__Fi_i_Fv____1(__attribute__ ((unused)) signed int (*__anonymous_object0)(void), __attribute__ ((unused)) signed int (*__anonymous_object1)(signed int __anonymous_object2), __attribute__ ((unused)) signed int (*__anonymous_object3)(void), __attribute__ ((unused)) signed int (*__anonymous_object4)(signed int __anonymous_object5), void (*_X1gFv___1)(void)){
     __attribute__ ((unused)) signed int _X9_retval_fi_1;
     ((void)(*_X1gFv___1)());
@@ -90,5 +90,5 @@
     __attribute__ ((unused)) signed int _X9_retval_fi_1;
 }
-signed int _X1fFi_i__1(signed int __anonymous_object7){
+signed int _X1fFi_i__1(__attribute__ ((unused)) signed int __anonymous_object7){
     __attribute__ ((unused)) signed int _X9_retval_fi_1;
 }
@@ -121,5 +121,5 @@
     __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
 }
-struct _conc__tuple2_0 _X1fFT2ii_ii__1(signed int __anonymous_object9, signed int _X1xi_1){
+struct _conc__tuple2_0 _X1fFT2ii_ii__1(__attribute__ ((unused)) signed int __anonymous_object9, signed int _X1xi_1){
     __attribute__ ((unused)) struct _conc__tuple2_0 _X9_retval_fT2ii_1 = {  };
 }
@@ -158,5 +158,5 @@
     __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
 }
-struct _conc__tuple3_1 _X1fFT3iii_iii__1(signed int __anonymous_object12, signed int _X1xi_1, signed int __anonymous_object13){
+struct _conc__tuple3_1 _X1fFT3iii_iii__1(__attribute__ ((unused)) signed int __anonymous_object12, signed int _X1xi_1, __attribute__ ((unused)) signed int __anonymous_object13){
     __attribute__ ((unused)) struct _conc__tuple3_1 _X9_retval_fT3iii_1 = {  };
 }
@@ -171,5 +171,5 @@
     __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
 }
-struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(signed int __anonymous_object15, signed int _X1xi_1, signed int *_X1yPi_1){
+struct _conc__tuple3_2 _X1fFT3iiPi_iiPi__1(__attribute__ ((unused)) signed int __anonymous_object15, signed int _X1xi_1, signed int *_X1yPi_1){
     __attribute__ ((unused)) struct _conc__tuple3_2 _X9_retval_fT3iiPi_1 = {  };
 }
@@ -181,5 +181,5 @@
 const double _X3fooFd___1(void);
 const double _X3fooFd_i__1(signed int __anonymous_object19);
-const double _X3fooFd_d__1(double __anonymous_object20){
+const double _X3fooFd_d__1(__attribute__ ((unused)) double __anonymous_object20){
     __attribute__ ((unused)) const double _X11_retval_fooKd_1;
     ((void)((*((double *)(&_X11_retval_fooKd_1)))=3.0) /* ?{} */);
@@ -212,8 +212,8 @@
     ((void)((*_X4_dstS1S_1)._X1ii_1=_X1ii_1) /* ?{} */);
 }
-struct S _X3rtnFS1S_i__1(signed int __anonymous_object21){
+struct S _X3rtnFS1S_i__1(__attribute__ ((unused)) signed int __anonymous_object21){
     __attribute__ ((unused)) struct S _X11_retval_rtnS1S_1;
 }
-signed int _X1fFi_Fi_ii_Fi_i___1(signed int (*__anonymous_object22)(signed int __anonymous_object23, signed int _X1pi_1), signed int (*__anonymous_object24)(signed int __anonymous_object25)){
+signed int _X1fFi_Fi_ii_Fi_i___1(__attribute__ ((unused)) signed int (*__anonymous_object22)(signed int __anonymous_object23, signed int _X1pi_1), __attribute__ ((unused)) signed int (*__anonymous_object24)(signed int __anonymous_object25)){
     __attribute__ ((unused)) signed int _X9_retval_fi_1;
     signed int (*(*_X2pcPA0A0PA0A0i_2)[][((unsigned long int )10)])[][((unsigned long int )3)];
@@ -241,5 +241,5 @@
 }
 signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(signed int (*__anonymous_object27)(), signed int *(*__anonymous_object28)(), signed int **(*__anonymous_object29)(), signed int *const *(*__anonymous_object30)(), signed int *const *const (*__anonymous_object31)(), signed int *__anonymous_object32, signed int __anonymous_object33[((unsigned long int )10)], signed int **__anonymous_object34, signed int *__anonymous_object35[((unsigned long int )10)], signed int ***__anonymous_object36, signed int **__anonymous_object37[((unsigned long int )10)], signed int *const **__anonymous_object38, signed int *const *__anonymous_object39[((unsigned long int )10)], signed int *const *const *__anonymous_object40, signed int *const *const __anonymous_object41[((unsigned long int )10)]);
-signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(signed int (*__anonymous_object42)(), signed int *(*__anonymous_object43)(), signed int **(*__anonymous_object44)(), signed int *const *(*__anonymous_object45)(), signed int *const *const (*__anonymous_object46)(), signed int *__anonymous_object47, signed int __anonymous_object48[((unsigned long int )10)], signed int **__anonymous_object49, signed int *__anonymous_object50[((unsigned long int )10)], signed int ***__anonymous_object51, signed int **__anonymous_object52[((unsigned long int )10)], signed int *const **__anonymous_object53, signed int *const *__anonymous_object54[((unsigned long int )10)], signed int *const *const *__anonymous_object55, signed int *const *const __anonymous_object56[((unsigned long int )10)]){
+signed int _X1fFi_Fi__FPi__FPPi__FPKPi__FPKPi__PiPiPPiPPiPPPiPPPiPPKPiPPKPiPKPKPiPKPKPi__1(__attribute__ ((unused)) signed int (*__anonymous_object42)(), __attribute__ ((unused)) signed int *(*__anonymous_object43)(), __attribute__ ((unused)) signed int **(*__anonymous_object44)(), __attribute__ ((unused)) signed int *const *(*__anonymous_object45)(), __attribute__ ((unused)) signed int *const *const (*__anonymous_object46)(), __attribute__ ((unused)) signed int *__anonymous_object47, __attribute__ ((unused)) signed int __anonymous_object48[((unsigned long int )10)], __attribute__ ((unused)) signed int **__anonymous_object49, __attribute__ ((unused)) signed int *__anonymous_object50[((unsigned long int )10)], __attribute__ ((unused)) signed int ***__anonymous_object51, __attribute__ ((unused)) signed int **__anonymous_object52[((unsigned long int )10)], __attribute__ ((unused)) signed int *const **__anonymous_object53, __attribute__ ((unused)) signed int *const *__anonymous_object54[((unsigned long int )10)], __attribute__ ((unused)) signed int *const *const *__anonymous_object55, __attribute__ ((unused)) signed int *const *const __anonymous_object56[((unsigned long int )10)]){
     __attribute__ ((unused)) signed int _X9_retval_fi_1;
 }
