diff --git a/share/compliance/posix_identifiers.json b/share/compliance/posix_identifiers.json index b4badf4cb0004a8ee1a6cfd547a27f9981c0aac8..7fa5e758afd71b643f101a4c6a585f2e9b3e2539 100644 --- a/share/compliance/posix_identifiers.json +++ b/share/compliance/posix_identifiers.json @@ -3,7 +3,7 @@ "source":"POSIX.1-2008 - Base Specifications, Issue 7 (IEEE Std 1003.1-2008, 2016 Edition)", "notes": { "description": "The 'notes' field is a list of characteristics related to CWEs or that may affect the 'difficulty' of analyzing such headers or functions with Frama-C. Each note is succintly described below.", - "fc-support":"How well Frama-C supports this construct, w.r.t. the C11 standard: 'unsupported', 'none', 'partial', or 'good'. The difference between 'unsupported' and 'none' is that the former means something requiring substantial changes to be supported by Frama-C, while the latter only means 'not tried yet'.", + "fc-support":"How well Frama-C supports this construct: 'unsupported', 'none', 'problematic', 'partial', or 'good'. The difference between 'unsupported' and 'none' is that the former means something requiring substantial changes to be supported by Frama-C, while the latter only means 'not tried yet'. 'problematic' indicates an identifier which is known to cause issues to code analyzers, e.g. setjmp.", "variadic-plugin":"This is a variadic function known by the Variadic plug-in, which can (in some cases) generate a specification for it." }, "id_types":[ @@ -58,7 +58,7 @@ "sched.h": {"fc-support":"partial", "extensions":[]}, "search.h": {"fc-support":"none", "extensions":["XSI"]}, "semaphore.h": {"fc-support":"partial", "extensions":[]}, - "setjmp.h": {"fc-support":"partial", "extensions":[]}, + "setjmp.h": {"fc-support":"partial", "extensions":[], "notes":{"fc-support":"problematic"}}, "signal.h": {"fc-support":"partial", "extensions":[]}, "spawn.h": {"fc-support":"none", "extensions":["SPN"]}, "stdarg.h": {"fc-support":"good", "extensions":[]}, @@ -187,7 +187,7 @@ "_IOFBF": {"id_type":"macro", "header":"stdio.h", "extensions":[]}, "_IOLBF": {"id_type":"macro", "header":"stdio.h", "extensions":[]}, "_IONBF": {"id_type":"macro", "header":"stdio.h", "extensions":[]}, - "_longjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"]}, + "_longjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"], "notes":{"fc-support":"problematic"}}, "_PC_2_SYMLINKS": {"id_type":"constant", "header":"unistd.h", "extensions":[]}, "_PC_ALLOC_SIZE_MIN": {"id_type":"constant", "header":"unistd.h", "extensions":[]}, "_PC_ASYNC_IO": {"id_type":"constant", "header":"unistd.h", "extensions":[]}, @@ -468,7 +468,7 @@ "_SC_XOPEN_UUCP": {"id_type":"constant", "header":"unistd.h", "extensions":[]}, "_SC_XOPEN_VERSION": {"id_type":"constant", "header":"unistd.h", "extensions":[]}, "_SC_XOPEN_XCU_VERSION": {"id_type":"constant", "header":"unistd.h", "extensions":["REM"]}, - "_setjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"]}, + "_setjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["OB","XSI"], "notes":{"fc-support":"problematic"}}, "_tolower": {"id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]}, "_toupper": {"id_type":"function", "header":"ctype.h", "extensions":["OB","XSI"]}, "_V6_ILP32_OFF32": {"id_type":"constant", "header":"unistd.h", "extensions":["REM"]}, @@ -1684,7 +1684,7 @@ "IXON": {"id_type":"constant", "header":"termios.h", "extensions":[]}, "j0": {"id_type":"function", "header":"math.h", "extensions":["XSI"]}, "j1": {"id_type":"function", "header":"math.h", "extensions":["XSI"]}, - "jmp_buf": {"id_type":"type", "header":"setjmp.h", "extensions":[]}, + "jmp_buf": {"id_type":"type", "header":"setjmp.h", "extensions":[], "notes":{"fc-support":"problematic"}}, "jn": {"id_type":"function", "header":"math.h", "extensions":["XSI"]}, "jrand48": {"id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, "key_t": {"id_type":"type", "header":"sys/types.h", "extensions":[]}, @@ -1823,7 +1823,7 @@ "LONG_BIT": {"id_type":"macro", "header":"limits.h", "extensions":[]}, "LONG_MAX": {"id_type":"macro", "header":"limits.h", "extensions":[]}, "LONG_MIN": {"id_type":"macro", "header":"limits.h", "extensions":[]}, - "longjmp": {"id_type":"function", "header":"setjmp.h", "extensions":[]}, + "longjmp": {"id_type":"function", "header":"setjmp.h", "extensions":[], "notes":{"fc-support":"problematic"}}, "lrand48": {"id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, "lrint": {"id_type":"function", "header":"math.h", "extensions":[]}, "lrintf": {"id_type":"function", "header":"math.h", "extensions":[]}, @@ -2910,7 +2910,7 @@ "setgrent": {"id_type":"function", "header":"grp.h", "extensions":["XSI"]}, "sethostent": {"id_type":"function", "header":"netdb.h", "extensions":[]}, "setitimer": {"id_type":"function", "header":"sys/time.h", "extensions":[]}, - "setjmp": {"id_type":"function", "header":"setjmp.h", "extensions":[]}, + "setjmp": {"id_type":"function", "header":"setjmp.h", "extensions":[], "notes":{"fc-support":"problematic"}}, "setkey": {"id_type":"function", "header":"stdlib.h", "extensions":["XSI"]}, "setlocale": {"id_type":"function", "header":"locale.h", "extensions":[]}, "setlogmask": {"id_type":"function", "header":"syslog.h", "extensions":[]}, @@ -3010,9 +3010,9 @@ "SIGINT": {"id_type":"macro", "header":"signal.h", "extensions":[]}, "siginterrupt": {"id_type":"function", "header":"signal.h", "extensions":[]}, "sigismember": {"id_type":"function", "header":"signal.h", "extensions":[]}, - "sigjmp_buf": {"id_type":"type", "header":"setjmp.h", "extensions":["CX"]}, + "sigjmp_buf": {"id_type":"type", "header":"setjmp.h", "extensions":["CX"], "notes":{"fc-support":"problematic"}}, "SIGKILL": {"id_type":"macro", "header":"signal.h", "extensions":[]}, - "siglongjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["CX"]}, + "siglongjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["CX"], "notes":{"fc-support":"problematic"}}, "sigmask": {"id_type":"function", "header":"signal.h", "extensions":["REM"]}, "signal": {"id_type":"function", "header":"signal.h", "extensions":[]}, "signbit": {"id_type":"macro", "header":"math.h", "extensions":[]}, @@ -3032,7 +3032,7 @@ "SIGSEGV": {"id_type":"macro", "header":"signal.h", "extensions":[]}, "sigset": {"id_type":"function", "header":"signal.h", "extensions":[]}, "sigset_t": {"id_type":"type", "header":"signal.h", "extensions":[]}, - "sigsetjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["CX"]}, + "sigsetjmp": {"id_type":"function", "header":"setjmp.h", "extensions":["CX"], "notes":{"fc-support":"problematic"}}, "sigstack": {"id_type":"type", "header":"signal.h", "extensions":["REM"]}, "SIGSTKSZ": {"id_type":"macro", "header":"signal.h", "extensions":[]}, "SIGSTOP": {"id_type":"macro", "header":"signal.h", "extensions":[]},