# Compiler option questions

**URL:** <https://discourse.ats-lang.org/t/compiler-option-questions/367>\
**Category:** Google Group\
**Created:** [November 17, 2015, 6:25pm UTC](https://discourse.ats-lang.org/t/compiler-option-questions/367 "2015-11-17T18:25:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mike\_Jones](https://avatars.discourse-cdn.com/v4/letter/m/74df32/32.png) [@Mike\_Jones](https://discourse.ats-lang.org/u/Mike_Jones)\
**Post date:** [November 17, 2015, 6:25pm UTC](https://discourse.ats-lang.org/t/compiler-option-questions/367/1 "2015-11-17T18:25:05Z")

</div>

I’m writing an application for a Cypress FX3 USB device which has a 32bit  
ARM A9 core. My goal is to extend an existing Makefile to compile some ATS  
and call it from C in the ThreadX Application Thread.

I was looking at the make files for arduino\_ats, which is where I  
prototyped, and now I need to understand some things:

1. What is ATSTYPE\_VAR\_SIZE\_ and how do you format the value? (I assume  
perhaps it should be 0xFFFFFFFF for a 32 bit machine?)
2. What do each of these do? (-Wno-unused-variable -Wno-unused-label  
-Wno-unused-but-set-variable)

---

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [November 17, 2015, 6:39pm UTC](https://discourse.ats-lang.org/t/compiler-option-questions/367/2 "2015-11-17T18:39:25Z")

</div>

> > What is ATSTYPE\_VAR\_SIZE\_ and how do you format the value? (I assume  
> > perhaps it should be 0xFFFFFFFF for a 32 bit machine?)

ATSTYPE\_VAR\_SIZE\_ is a placeholder.

It is meant to “cheat” the C compiler; it should not really be needed.

In the future, the C code generated by ATS compiler may be analyzed to  
remove  
the need for ATSTYPE\_VAR\_SIZE\_

> > What do each of these do? (-Wno-unused-variable -Wno-unused-label  
> > -Wno-unused-but-set-variable)

The C code generated from ATS source contains unused variables, unused  
labels, etc. The flags are used  
to suppress potential warnings from gcc or clang.On Tuesday, November 17, 2015 at 1:25:05 PM UTC-5, Mike Jones wrote:

> I’m writing an application for a Cypress FX3 USB device which has a 32bit  
> ARM A9 core. My goal is to extend an existing Makefile to compile some ATS  
> and call it from C in the ThreadX Application Thread.
> 
> I was looking at the make files for arduino\_ats, which is where I  
> prototyped, and now I need to understand some things:
> 
> 1. What is ATSTYPE\_VAR\_SIZE\_ and how do you format the value? (I  
> assume perhaps it should be 0xFFFFFFFF for a 32 bit machine?)
> 2. What do each of these do? (-Wno-unused-variable -Wno-unused-label  
> -Wno-unused-but-set-variable)
