Add support for extern "C" thread_local

This commit is contained in:
William S Fulton 2013-02-08 18:45:29 +00:00
commit e44656cfe5
8 changed files with 36 additions and 6 deletions

View file

@ -15,6 +15,7 @@ static thread_local int stval;
thread_local static int tsval;
extern thread_local int etval;
thread_local extern int teval;
extern "C" thread_local int ectval;
thread_local int ThreadLocals::stval = 11;
thread_local int ThreadLocals::tsval = 22;
@ -26,4 +27,5 @@ thread_local const int ThreadLocals::tscval99;
// externs
thread_local int etval = 33;
thread_local int teval = 44;
thread_local int ectval = 55;
%}

View file

@ -39,5 +39,9 @@ public class cpp0x_thread_local_runme {
cpp0x_thread_local.setTeval(-55);
if (cpp0x_thread_local.getTeval() != -55)
throw new RuntimeException();
cpp0x_thread_local.setEctval(-55);
if (cpp0x_thread_local.getEctval() != -55)
throw new RuntimeException();
}
}

View file

@ -28,3 +28,7 @@ cvar.teval = -55
if cvar.teval != -55:
raise RuntimeError
cvar.ectval = -66
if cvar.ectval != -66:
raise RuntimeError