-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C++: request for support more C++ features to avoid failures in CodeQL compile #16652
Comments
Hi @qwerty472123, Thanks for raising this issue.
|
Hi @jketema, Thanks for your kindly reply.
enum class CompilerName : unsigned char {
INVALID = -1, // Warning as Error by default
Clang = 0,
MSVC = 1,
};
struct Obj { unsigned int value; };
int main() {
unsigned long long v=1llu;
struct Obj obj = { .value = v }; // This is OK
obj = { .value = v }; // Warning as Error by default
} which let
int main() {
char *ptr = new char[]{ "str" };
int value = 0;
int * _Nonnull ptr_nonnull = &value;
int * _Nonnull * ptr_to_nonnull = &ptr_nonnull;
int **simple_ptr = ptr_to_nonnull;
} which let
Clang can deduce the array length from the construction parameters and thinks that the conversion from |
The narrowing issues should no longer occur in CodeQL 2.17.5, which should be released within the next few weeks. Note that even though the extractor produced an error here, the database was still complete. |
I've reported the The
|
Hi @jketema Thanks for your quickly fix. For the
$ cat test.cpp
int main() {
char *ptr = new char[]{ "str" };
return 0;
}
$ $(which clang++) -c test.cpp -o test.o
$ /usr/local/bin/codeql/cpp/tools/linux64/extractor --mimic $(which clang++) -c test.cpp -o test.o
[E 15:50:46 4121111] CodeQL C/C++ Extractor 2.17.4
[E 15:50:46 4121111] CODEQL_EXTRACTOR_CPP_SCRATCH_DIR does not exist; not saving separate log file.
[E 15:50:46 4121111] Could not open log file; not saving separate log file.
[E 15:50:46 4121111] Current directory: /tmp/codeqltest
[E 15:50:46 4121111] Command: /usr/local/bin/codeql/cpp/tools/linux64/extractor --mimic '/usr/bin/clang++' -c test.cpp -o test.o
Warning: Could not open file './compiler_mimic_cache/0cbdb51a1492'
[E 15:50:46 4121111] Checking whether C compilation already happened.
[E 15:50:46 4121111] Checking for tag c-compilation-happened
[E 15:50:46 4121111] Looks like C compilation didn't already happen.
[E 15:50:46 4121111] Checking whether C compilation has been attempted.
[E 15:50:46 4121111] Checking for tag c-compilation-attempted
[E 15:50:46 4121111] Marking C compilation as attempted.
[E 15:50:46 4121111] Setting tag c-compilation-attempted
[E 15:50:46 4121111] Processed command line: /usr/local/bin/codeql/cpp/tools/linux64/extractor --object_filename test.o -w --error_limit 1000 --disable_system_macros --variadic_macros --incognito '--g++' --clang_version 150007 --gnu_version 40801 --has_feature_vector 1111111100000011011111110111111111111111111011111111111110111111111111 --clang --target linux_x86_64 -D_GNU_SOURCE=1 -D_LP64=1 -D__ATOMIC_ACQUIRE=2 -D__ATOMIC_ACQ_REL=4 -D__ATOMIC_CONSUME=1 -D__ATOMIC_RELAXED=0 -D__ATOMIC_RELEASE=3 -D__ATOMIC_SEQ_CST=5 -D__BIGGEST_ALIGNMENT__=16 -D__BITINT_MAXWIDTH__=128 -D__BOOL_WIDTH__=8 -D__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__ -D__CHAR_BIT__=8 -D__CLANG_ATOMIC_BOOL_LOCK_FREE=2 -D__CLANG_ATOMIC_CHAR16_T_LOCK_FREE=2 -D__CLANG_ATOMIC_CHAR32_T_LOCK_FREE=2 -D__CLANG_ATOMIC_CHAR_LOCK_FREE=2 -D__CLANG_ATOMIC_INT_LOCK_FREE=2 -D__CLANG_ATOMIC_LLONG_LOCK_FREE=2 -D__CLANG_ATOMIC_LONG_LOCK_FREE=2 -D__CLANG_ATOMIC_POINTER_LOCK_FREE=2 -D__CLANG_ATOMIC_SHORT_LOCK_FREE=2 -D__CLANG_ATOMIC_WCHAR_T_LOCK_FREE=2 -D__CONSTANT_CFSTRINGS__=1 -D__DBL_DECIMAL_DIG__=17 -D__DBL_DENORM_MIN__=4.9406564584124654e-324 -D__DBL_DIG__=15 -D__DBL_EPSILON__=2.2204460492503131e-16 -D__DBL_HAS_DENORM__=1 -D__DBL_HAS_INFINITY__=1 -D__DBL_HAS_QUIET_NAN__=1 -D__DBL_MANT_DIG__=53 -D__DBL_MAX_10_EXP__=308 -D__DBL_MAX_EXP__=1024 '-D__DBL_MAX__=1.7976931348623157e+308' '-D__DBL_MIN_10_EXP__=(-307)' '-D__DBL_MIN_EXP__=(-1021)' -D__DBL_MIN__=2.2250738585072014e-308 -D__DECIMAL_DIG__=__LDBL_DECIMAL_DIG__ -D__DEPRECATED=1 -D__ELF__=1 -D__EXCEPTIONS=1 -D__FINITE_MATH_ONLY__=0 -D__FLOAT128__=1 -D__FLT16_DECIMAL_DIG__=5 -D__FLT16_DENORM_MIN__=5.9604644775390625e-8F16 -D__FLT16_DIG__=3 -D__FLT16_EPSILON__=9.765625e-4F16 -D__FLT16_HAS_DENORM__=1 -D__FLT16_HAS_INFINITY__=1 -D__FLT16_HAS_QUIET_NAN__=1 -D__FLT16_MANT_DIG__=11 -D__FLT16_MAX_10_EXP__=4 -D__FLT16_MAX_EXP__=16 '-D__FLT16_MAX__=6.5504e+4F16' '-D__FLT16_MIN_10_EXP__=(-4)' '-D__FLT16_MIN_EXP__=(-13)' -D__FLT16_MIN__=6.103515625e-5F16 -D__FLT_DECIMAL_DIG__=9 -D__FLT_DENORM_MIN__=1.40129846e-45F -D__FLT_DIG__=6 -D__FLT_EPSILON__=1.19209290e-7F -D__FLT_HAS_DENORM__=1 -D__FLT_HAS_INFINITY__=1 -D__FLT_HAS_QUIET_NAN__=1 -D__FLT_MANT_DIG__=24 -D__FLT_MAX_10_EXP__=38 -D__FLT_MAX_EXP__=128 '-D__FLT_MAX__=3.40282347e+38F' '-D__FLT_MIN_10_EXP__=(-37)' '-D__FLT_MIN_EXP__=(-125)' -D__FLT_MIN__=1.17549435e-38F -D__FLT_RADIX__=2 -D__FXSR__=1 -D__GCC_ASM_FLAG_OUTPUTS__=1 -D__GCC_ATOMIC_BOOL_LOCK_FREE=2 -D__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 -D__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 -D__GCC_ATOMIC_CHAR_LOCK_FREE=2 -D__GCC_ATOMIC_INT_LOCK_FREE=2 -D__GCC_ATOMIC_LLONG_LOCK_FREE=2 -D__GCC_ATOMIC_LONG_LOCK_FREE=2 -D__GCC_ATOMIC_POINTER_LOCK_FREE=2 -D__GCC_ATOMIC_SHORT_LOCK_FREE=2 -D__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 -D__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 -D__GCC_HAVE_DWARF2_CFI_ASM=1 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 -D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 -D__GLIBCXX_BITSIZE_INT_N_0=128 -D__GLIBCXX_TYPE_INT_N_0=__int128 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GNUC__=4 -D__GNUG__=4 -D__GXX_ABI_VERSION=1002 -D__GXX_EXPERIMENTAL_CXX0X__=1 -D__GXX_RTTI=1 -D__GXX_WEAK__=1 -D__INT16_C_SUFFIX__= '-D__INT16_FMTd__="hd"' '-D__INT16_FMTi__="hi"' -D__INT16_MAX__=32767 -D__INT16_TYPE__=short -D__INT32_C_SUFFIX__= '-D__INT32_FMTd__="d"' '-D__INT32_FMTi__="i"' -D__INT32_MAX__=2147483647 -D__INT32_TYPE__=int -D__INT64_C_SUFFIX__=L '-D__INT64_FMTd__="ld"' '-D__INT64_FMTi__="li"' -D__INT64_MAX__=9223372036854775807L '-D__INT64_TYPE__=long int' -D__INT8_C_SUFFIX__= '-D__INT8_FMTd__="hhd"' '-D__INT8_FMTi__="hhi"' -D__INT8_MAX__=127 '-D__INT8_TYPE__=signed char' -D__INTMAX_C_SUFFIX__=L '-D__INTMAX_FMTd__="ld"' '-D__INTMAX_FMTi__="li"' -D__INTMAX_MAX__=9223372036854775807L '-D__INTMAX_TYPE__=long int' -D__INTMAX_WIDTH__=64 '-D__INTPTR_FMTd__="ld"' '-D__INTPTR_FMTi__="li"' -D__INTPTR_MAX__=9223372036854775807L '-D__INTPTR_TYPE__=long int' -D__INTPTR_WIDTH__=64 '-D__INT_FAST16_FMTd__="hd"' '-D__INT_FAST16_FMTi__="hi"' -D__INT_FAST16_MAX__=32767 -D__INT_FAST16_TYPE__=short -D__INT_FAST16_WIDTH__=16 '-D__INT_FAST32_FMTd__="d"' '-D__INT_FAST32_FMTi__="i"' -D__INT_FAST32_MAX__=2147483647 -D__INT_FAST32_TYPE__=int -D__INT_FAST32_WIDTH__=32 '-D__INT_FAST64_FMTd__="ld"' '-D__INT_FAST64_FMTi__="li"' -D__INT_FAST64_MAX__=9223372036854775807L '-D__INT_FAST64_TYPE__=long int' -D__INT_FAST64_WIDTH__=64 '-D__INT_FAST8_FMTd__="hhd"' '-D__INT_FAST8_FMTi__="hhi"' -D__INT_FAST8_MAX__=127 '-D__INT_FAST8_TYPE__=signed char' -D__INT_FAST8_WIDTH__=8 '-D__INT_LEAST16_FMTd__="hd"' '-D__INT_LEAST16_FMTi__="hi"' -D__INT_LEAST16_MAX__=32767 -D__INT_LEAST16_TYPE__=short -D__INT_LEAST16_WIDTH__=16 '-D__INT_LEAST32_FMTd__="d"' '-D__INT_LEAST32_FMTi__="i"' -D__INT_LEAST32_MAX__=2147483647 -D__INT_LEAST32_TYPE__=int -D__INT_LEAST32_WIDTH__=32 '-D__INT_LEAST64_FMTd__="ld"' '-D__INT_LEAST64_FMTi__="li"' -D__INT_LEAST64_MAX__=9223372036854775807L '-D__INT_LEAST64_TYPE__=long int' -D__INT_LEAST64_WIDTH__=64 '-D__INT_LEAST8_FMTd__="hhd"' '-D__INT_LEAST8_FMTi__="hhi"' -D__INT_LEAST8_MAX__=127 '-D__INT_LEAST8_TYPE__=signed char' -D__INT_LEAST8_WIDTH__=8 -D__INT_MAX__=2147483647 -D__INT_WIDTH__=32 -D__LDBL_DECIMAL_DIG__=21 -D__LDBL_DENORM_MIN__=3.64519953188247460253e-4951L -D__LDBL_DIG__=18 -D__LDBL_EPSILON__=1.08420217248550443401e-19L -D__LDBL_HAS_DENORM__=1 -D__LDBL_HAS_INFINITY__=1 -D__LDBL_HAS_QUIET_NAN__=1 -D__LDBL_MANT_DIG__=64 -D__LDBL_MAX_10_EXP__=4932 -D__LDBL_MAX_EXP__=16384 '-D__LDBL_MAX__=1.18973149535723176502e+4932L' '-D__LDBL_MIN_10_EXP__=(-4931)' '-D__LDBL_MIN_EXP__=(-16381)' -D__LDBL_MIN__=3.36210314311209350626e-4932L -D__LITTLE_ENDIAN__=1 -D__LLONG_WIDTH__=64 -D__LONG_LONG_MAX__=9223372036854775807LL -D__LONG_MAX__=9223372036854775807L -D__LONG_WIDTH__=64 -D__LP64__=1 -D__MMX__=1 -D__NO_INLINE__=1 -D__NO_MATH_INLINES=1 -D__OBJC_BOOL_IS_BOOL=0 -D__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES=3 -D__OPENCL_MEMORY_SCOPE_DEVICE=2 -D__OPENCL_MEMORY_SCOPE_SUB_GROUP=4 -D__OPENCL_MEMORY_SCOPE_WORK_GROUP=1 -D__OPENCL_MEMORY_SCOPE_WORK_ITEM=0 -D__ORDER_BIG_ENDIAN__=4321 -D__ORDER_LITTLE_ENDIAN__=1234 -D__ORDER_PDP_ENDIAN__=3412 -D__PIC__=2 -D__PIE__=2 -D__POINTER_WIDTH__=64 -D__PRAGMA_REDEFINE_EXTNAME=1 '-D__PTRDIFF_FMTd__="ld"' '-D__PTRDIFF_FMTi__="li"' -D__PTRDIFF_MAX__=9223372036854775807L '-D__PTRDIFF_TYPE__=long int' -D__PTRDIFF_WIDTH__=64 -D__REGISTER_PREFIX__= -D__SCHAR_MAX__=127 -D__SEG_FS=1 -D__SEG_GS=1 -D__SHRT_MAX__=32767 -D__SHRT_WIDTH__=16 -D__SIG_ATOMIC_MAX__=2147483647 -D__SIG_ATOMIC_WIDTH__=32 -D__SIZEOF_DOUBLE__=8 -D__SIZEOF_FLOAT128__=16 -D__SIZEOF_FLOAT__=4 -D__SIZEOF_INT128__=16 -D__SIZEOF_INT__=4 -D__SIZEOF_LONG_DOUBLE__=16 -D__SIZEOF_LONG_LONG__=8 -D__SIZEOF_LONG__=8 -D__SIZEOF_POINTER__=8 -D__SIZEOF_PTRDIFF_T__=8 -D__SIZEOF_SHORT__=2 -D__SIZEOF_SIZE_T__=8 -D__SIZEOF_WCHAR_T__=4 -D__SIZEOF_WINT_T__=4 '-D__SIZE_FMTX__="lX"' '-D__SIZE_FMTo__="lo"' '-D__SIZE_FMTu__="lu"' '-D__SIZE_FMTx__="lx"' -D__SIZE_MAX__=18446744073709551615UL '-D__SIZE_TYPE__=long unsigned int' -D__SIZE_WIDTH__=64 -D__SSE2_MATH__=1 -D__SSE2__=1 -D__SSE_MATH__=1 -D__SSE__=1 -D__STDCPP_DEFAULT_NEW_ALIGNMENT__=16UL -D__STDCPP_THREADS__=1 -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 -D__UINT16_C_SUFFIX__= '-D__UINT16_FMTX__="hX"' '-D__UINT16_FMTo__="ho"' '-D__UINT16_FMTu__="hu"' '-D__UINT16_FMTx__="hx"' -D__UINT16_MAX__=65535 '-D__UINT16_TYPE__=unsigned short' -D__UINT32_C_SUFFIX__=U '-D__UINT32_FMTX__="X"' '-D__UINT32_FMTo__="o"' '-D__UINT32_FMTu__="u"' '-D__UINT32_FMTx__="x"' -D__UINT32_MAX__=4294967295U '-D__UINT32_TYPE__=unsigned int' -D__UINT64_C_SUFFIX__=UL '-D__UINT64_FMTX__="lX"' '-D__UINT64_FMTo__="lo"' '-D__UINT64_FMTu__="lu"' '-D__UINT64_FMTx__="lx"' -D__UINT64_MAX__=18446744073709551615UL '-D__UINT64_TYPE__=long unsigned int' -D__UINT8_C_SUFFIX__= '-D__UINT8_FMTX__="hhX"' '-D__UINT8_FMTo__="hho"' '-D__UINT8_FMTu__="hhu"' '-D__UINT8_FMTx__="hhx"' -D__UINT8_MAX__=255 '-D__UINT8_TYPE__=unsigned char' -D__UINTMAX_C_SUFFIX__=UL '-D__UINTMAX_FMTX__="lX"' '-D__UINTMAX_FMTo__="lo"' '-D__UINTMAX_FMTu__="lu"' '-D__UINTMAX_FMTx__="lx"' -D__UINTMAX_MAX__=18446744073709551615UL '-D__UINTMAX_TYPE__=long unsigned int' -D__UINTMAX_WIDTH__=64 '-D__UINTPTR_FMTX__="lX"' '-D__UINTPTR_FMTo__="lo"' '-D__UINTPTR_FMTu__="lu"' '-D__UINTPTR_FMTx__="lx"' -D__UINTPTR_MAX__=18446744073709551615UL '-D__UINTPTR_TYPE__=long unsigned int' -D__UINTPTR_WIDTH__=64 '-D__UINT_FAST16_FMTX__="hX"' '-D__UINT_FAST16_FMTo__="ho"' '-D__UINT_FAST16_FMTu__="hu"' '-D__UINT_FAST16_FMTx__="hx"' -D__UINT_FAST16_MAX__=65535 '-D__UINT_FAST16_TYPE__=unsigned short' '-D__UINT_FAST32_FMTX__="X"' '-D__UINT_FAST32_FMTo__="o"' '-D__UINT_FAST32_FMTu__="u"' '-D__UINT_FAST32_FMTx__="x"' -D__UINT_FAST32_MAX__=4294967295U '-D__UINT_FAST32_TYPE__=unsigned int' '-D__UINT_FAST64_FMTX__="lX"' '-D__UINT_FAST64_FMTo__="lo"' '-D__UINT_FAST64_FMTu__="lu"' '-D__UINT_FAST64_FMTx__="lx"' -D__UINT_FAST64_MAX__=18446744073709551615UL '-D__UINT_FAST64_TYPE__=long unsigned int' '-D__UINT_FAST8_FMTX__="hhX"' '-D__UINT_FAST8_FMTo__="hho"' '-D__UINT_FAST8_FMTu__="hhu"' '-D__UINT_FAST8_FMTx__="hhx"' -D__UINT_FAST8_MAX__=255 '-D__UINT_FAST8_TYPE__=unsigned char' '-D__UINT_LEAST16_FMTX__="hX"' '-D__UINT_LEAST16_FMTo__="ho"' '-D__UINT_LEAST16_FMTu__="hu"' '-D__UINT_LEAST16_FMTx__="hx"' -D__UINT_LEAST16_MAX__=65535 '-D__UINT_LEAST16_TYPE__=unsigned short' '-D__UINT_LEAST32_FMTX__="X"' '-D__UINT_LEAST32_FMTo__="o"' '-D__UINT_LEAST32_FMTu__="u"' '-D__UINT_LEAST32_FMTx__="x"' -D__UINT_LEAST32_MAX__=4294967295U '-D__UINT_LEAST32_TYPE__=unsigned int' '-D__UINT_LEAST64_FMTX__="lX"' '-D__UINT_LEAST64_FMTo__="lo"' '-D__UINT_LEAST64_FMTu__="lu"' '-D__UINT_LEAST64_FMTx__="lx"' -D__UINT_LEAST64_MAX__=18446744073709551615UL '-D__UINT_LEAST64_TYPE__=long unsigned int' '-D__UINT_LEAST8_FMTX__="hhX"' '-D__UINT_LEAST8_FMTo__="hho"' '-D__UINT_LEAST8_FMTu__="hhu"' '-D__UINT_LEAST8_FMTx__="hhx"' -D__UINT_LEAST8_MAX__=255 '-D__UINT_LEAST8_TYPE__=unsigned char' -D__USER_LABEL_PREFIX__= '-D__VERSION__="Ubuntu Clang 15.0.7"' -D__WCHAR_MAX__=2147483647 -D__WCHAR_TYPE__=int -D__WCHAR_WIDTH__=32 -D__WINT_MAX__=4294967295U '-D__WINT_TYPE__=unsigned int' -D__WINT_UNSIGNED__=1 -D__WINT_WIDTH__=32 -D__amd64=1 -D__amd64__=1 -D__clang__=1 '-D__clang_literal_encoding__="UTF-8"' -D__clang_major__=15 -D__clang_minor__=0 -D__clang_patchlevel__=7 '-D__clang_version__="15.0.7 "' '-D__clang_wide_literal_encoding__="UTF-32"' -D__code_model_small__=1 -D__cpp_aggregate_nsdmi=201304L -D__cpp_alias_templates=200704L -D__cpp_attributes=200809L -D__cpp_binary_literals=201304L -D__cpp_constexpr=201304L -D__cpp_constexpr_in_decltype=201711L -D__cpp_decltype=200707L -D__cpp_decltype_auto=201304L -D__cpp_delegating_constructors=200604L -D__cpp_digit_separators=201309L -D__cpp_exceptions=199711L -D__cpp_generic_lambdas=201304L -D__cpp_impl_destroying_delete=201806L -D__cpp_inheriting_constructors=201511L -D__cpp_init_captures=201304L -D__cpp_initializer_lists=200806L -D__cpp_lambdas=200907L -D__cpp_nsdmi=200809L -D__cpp_range_based_for=200907 -D__cpp_raw_strings=200710L -D__cpp_ref_qualifiers=200710L -D__cpp_return_type_deduction=201304L -D__cpp_rtti=199711L -D__cpp_rvalue_references=200610L -D__cpp_static_assert=200410 -D__cpp_threadsafe_static_init=200806L -D__cpp_unicode_characters=200704L -D__cpp_unicode_literals=200710L -D__cpp_user_defined_literals=200809L -D__cpp_variable_templates=201304L -D__cpp_variadic_templates=200704L -D__gnu_linux__=1 -D__k8=1 -D__k8__=1 -D__linux=1 -D__linux__=1 -D__llvm__=1 -D__pic__=2 -D__pie__=2 -D__private_extern__=extern '-D__seg_fs=__attribute__((address_space(257)))' '-D__seg_gs=__attribute__((address_space(256)))' -D__tune_k8__=1 -D__unix=1 -D__unix__=1 -D__x86_64=1 -D__x86_64__=1 -Dlinux=1 -Dunix=1 '-I/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11' '-I/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11' '-I/usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward' -I/usr/lib/llvm-15/lib/clang/15.0.7/include -I/usr/local/include -I/usr/include/x86_64-linux-gnu -I/usr/include -- test.cpp
[E 15:50:46 4121111] CODEQL_EXTRACTOR_CPP_TRAP_CACHING is not set
[E 15:50:46 4121111] CODEQL_EXTRACTOR_CPP_OPTION_TRAP_CACHE_WRITE is not set
[E 15:50:46 4121111] CODEQL_EXTRACTOR_CPP_OPTION_TRAP_CACHE_DIR is not set
[E 15:50:46 4121111] Initialising TRAP cache at path: 7b/8043/43d5403ac0817371255d0d4a19e4
[E 15:50:46 4121111] Not using TRAP cache
[E 15:50:46 4121111] TRAP cache miss
[E 15:50:46 4121111] Starting compilation TRAP ./compilations/24/14846835_0.trap.zst
"test.cpp", line 2: error: incomplete type "char []" is not allowed
char *ptr = new char[]{ "str" };
^
[E 15:50:46 4121111] Warning[extractor-c++]: In construct_text_message: "test.cpp", line 2: error: incomplete type "char []" is not allowed
char *ptr = new char[]{ "str" };
^
[E 15:50:46 4121111] Creating trap tarball ./tarballs/tmp/codeqltest/test.cpp.e6a82cc6_3.trap.tar.zst
[E 15:50:46 4121111] Emitting trap files for test.cpp
[E 15:50:46 4121111] Opening existencedb in ./existencedb/db
[E 15:50:46 4121111] Wrote 0 files to ./tarballs/tmp/codeqltest/test.cpp.e6a82cc6_3.trap.tar.zst
1 error detected in the compilation of "test.cpp".
[E 15:50:46 4121111] Finished compilation TRAP ./compilations/24/14846835_0.trap.zst
[E 15:50:46 4121111] Marking C compilation as happened.
[E 15:50:46 4121111] Setting tag c-compilation-happened
[E 15:50:46 4121111] Warning[extractor-c++]: In main: Extractor exiting with code 1
$ $(which clang++) --version
Ubuntu clang version 15.0.7
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
$ /usr/local/bin/codeql/cpp/tools/linux64/extractor --version
[E 15:51:13 4121114] CodeQL C/C++ Extractor 2.17.4
[E 15:51:13 4121114] CODEQL_EXTRACTOR_CPP_SCRATCH_DIR does not exist; not saving separate log file.
[E 15:51:13 4121114] Could not open log file; not saving separate log file.
[E 15:51:13 4121114] Current directory: /tmp/codeqltest
[E 15:51:13 4121114] Command: /usr/local/bin/codeql/cpp/tools/linux64/extractor --version
[E 15:51:13 4121114] Processed command line: /usr/local/bin/codeql/cpp/tools/linux64/extractor --version
Edison Design Group C/C++ Front End, version 6.6 (redacted redacted)
Copyright 1988-2023 Edison Design Group, Inc.
[E 15:51:13 4121114] Warning[extractor-c++]: In main: Extractor exiting with code 1
$ |
Thanks. I can reproduce the problem now, and have reported it to our frontend supplier. |
Support these can make developer analyzing projects easiler, which not require to change the lots of projects code rely on these.
There are some projects use these flags, and extractor support
--diag_suppress narrowing_conversion
, too. However, the conversion between the --mimic format of commandline to processed commandline won't translate-Wno-narrowing
into--diag_suppress narrowing_conversion
.And there is no option to set
-Wno-c++11-narrowing
without downgrading the c++ standard version or changing source code to compile.__FILE_NAME__
This is a non-standard marco but clang and gcc support and some projects use them.
arm_neon.h
Some cross-compile projects will raise errors in these functions.
The text was updated successfully, but these errors were encountered: