Add gcc attribute cleanup support
commit0d91ba749cb6fa30cba9fcd5dd1030afe5d4b49a
authormatthias <uso.cosmo.ray@gmail.com>
Thu, 20 Dec 2018 09:55:22 +0000 (20 10:55 +0100)
committermatthias <uso.cosmo.ray@gmail.com>
Wed, 23 Jan 2019 16:21:14 +0000 (23 17:21 +0100)
treea3e0e36df2431abdab7abc8a125de9e8263eabe8
parentf6be0d483b29e669164565ee5f36f464991b3357
Add gcc attribute cleanup support

The major difficulty was to handle cleanup when a goto happen
to do so, I've had a "ScopeTracker" struct.
I can't use local_scope because that would not work with code like below
as local_scope would be at the same level:

{
    char * __attribute__ ((cleanup(clean_function))) str = "hej";
    goto next;
}
{
    next:
}
tcc.h
tccgen.c
tccpp.c
tcctok.h