From 2bba4a57df387307b312abb797d91a79a02c9ec7 Mon Sep 17 00:00:00 2001 From: Wyatt Childers Date: Thu, 29 Oct 2026 20:21:10 +0000 Subject: [PATCH 1/3] Fix map n_elements not getting reset in clear [GH #438] --- src/pending_changes/gh-438-ptr-map-clear.txt | 8 ++++++++ src/util.h | 1 + 2 files changed, 9 insertions(+) create mode 100644 src/pending_changes/gh-438-ptr-map-clear.txt diff --git a/src/pending_changes/gh-438-ptr-map-clear.txt b/src/pending_changes/gh-438-ptr-map-clear.txt new file mode 100644 index 0000000000..051cd8f88a --- /dev/null +++ b/src/pending_changes/gh-438-ptr-map-clear.txt @@ -0,0 +1,8 @@ +[GH #438] +Ptr_map::clear did not reset the element count + +Ptr_map::clear removed every entry but left the map's element count +unchanged, so a cleared map reported a stale size and grew its table as +though the removed entries were still present. The impact was primarily +on memory usage (e.g., the map of freed front-end memory after a +precompiled header is loaded). diff --git a/src/util.h b/src/util.h index 541a416e7f..d79d041f56 100644 --- a/src/util.h +++ b/src/util.h @@ -5763,6 +5763,7 @@ Remove all entries in the Ptr_map. construct(&table[k]); } /* if */ } /* for */ + this->n_elements = 0; } /* Ptr_map::clear */ From b6c6198f83fdaaea0dffa89746897af4d541efda Mon Sep 17 00:00:00 2001 From: Wyatt Childers Date: Wed, 28 Oct 2026 20:28:18 +0000 Subject: [PATCH 2/3] Introduce reproducible builds and always normalize temporary names [GH #426] This commit also: - updates the copyright notice in the version command to credit contributors - and removes the Edison Design Group-specific DEMO_VERSION_ID configuration option. --- CMakeLists.txt | 29 ++++++- doc/source/build.rst | 9 ++ lib_src/CMakeLists.txt | 10 +++ lib_src/cmake/lib_build_support.cmake | 48 +++++++++-- src/CMakeLists.txt | 41 +++++++++ src/cmd_line.c | 24 +++--- src/host_envir.h | 6 -- src/il_to_str.c | 84 ++++++++++++------- src/pch.c | 2 +- .../gh-426-build-identifier.txt | 18 ++++ src/version.h | 34 +++++--- .../cwg/.cwg2845b.rto/edg_x86_32_cp.1.1.txt | 2 +- .../cwg/.cwg2845b.rto/edg_x86_64_cp.1.1.txt | 2 +- .../edg_x86_32_cp.1.1.txt | 6 +- .../edg_x86_64_cp.1.1.txt | 6 +- .../.gnats-26621-run.rto/default.1.1.txt | 4 +- .../.gnats-26621-run.rto/edg_x86_32.1.1.txt | 10 --- .../edg_x86_32_cp.1.1.txt | 10 --- .../default.1.1.txt | 8 +- .../edg_x86_32_cp.1.1.txt | 8 +- .../edg_x86_64_cp.1.1.txt | 8 +- .../.p1.rto/edg_x86_32_cp.1.1.txt | 6 +- .../.p1.rto/edg_x86_64_cp.1.1.txt | 6 +- .../edg_x86_32_cp.1.1.txt | 4 +- .../edg_x86_64_cp.1.1.txt | 4 +- .../.arm-fp16-ops-1.rto/default.1.1.txt | 4 +- .../.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt | 17 ---- .../.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt | 17 ---- .../.arm-fp16-ops-2.rto/default.1.1.txt | 4 +- .../.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt | 17 ---- .../.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt | 17 ---- .../gnu/cpp/.pr94920-1.rto/default.1.1.txt | 14 ++-- .../gnu/cpp/.pr94920-1.rto/edg_x86_32.1.1.txt | 16 ++-- .../cpp/.pr94920-1.rto/edg_x86_32_cp.1.1.txt | 16 ++-- .../cpp/.pr94920-1.rto/edg_x86_64_cp.1.1.txt | 16 ++-- .../coroutines/.pr106188.rto/default.1.1.txt | 8 +- .../.pr106188.rto/edg_x86_32.1.1.txt | 11 --- .../.lambda-04-templ-parm.rto/default.1.1.txt | 2 +- .../edg_x86_64_cp.1.1.txt | 2 +- .../torture/.pr115905.rto/default.1.1.txt | 6 +- .../torture/.pr115905.rto/edg_x86_32.1.1.txt | 9 -- .../edg_x86_32_cp.1.1.txt | 2 +- .../edg_x86_64_cp.1.1.txt | 2 +- .../ext/.va-arg-pack-1.rto/default.1.1.txt | 30 +++---- .../ext/.va-arg-pack-1.rto/edg_x86_32.1.1.txt | 30 +++---- .../.va-arg-pack-1.rto/edg_x86_32_cp.1.1.txt | 30 +++---- .../.va-arg-pack-1.rto/edg_x86_64_cp.1.1.txt | 30 +++---- .../.va-arg-pack-len-1.rto/default.1.1.txt | 16 ++-- .../.va-arg-pack-len-1.rto/edg_x86_32.1.1.txt | 29 ------- .../edg_x86_32_cp.1.1.txt | 16 ++-- .../edg_x86_64_cp.1.1.txt | 16 ++-- .../.arm-fp16-ops-1.rto/default.1.1.txt | 4 +- .../.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt | 21 ----- .../.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt | 21 ----- .../.arm-fp16-ops-2.rto/default.1.1.txt | 4 +- .../.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt | 21 ----- .../.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt | 21 ----- .../.arm-fp16-ops-3.rto/default.1.1.txt | 4 +- .../.arm-fp16-ops-3.rto/edg_x86_32.1.1.txt | 21 ----- .../.arm-fp16-ops-3.rto/edg_x86_32_cp.1.1.txt | 21 ----- .../.arm-fp16-ops-4.rto/default.1.1.txt | 4 +- .../.arm-fp16-ops-4.rto/edg_x86_32.1.1.txt | 21 ----- .../.arm-fp16-ops-4.rto/edg_x86_32_cp.1.1.txt | 21 ----- .../other/.sse2-pr85572-2.rto/default.1.1.txt | 20 ++--- .../.sse2-pr85572-2.rto/edg_x86_32.1.1.txt | 24 ------ .../.sse2-pr85572-2.rto/edg_x86_32_cp.1.1.txt | 20 ++--- .../.sse2-pr85572-2.rto/edg_x86_64_cp.1.1.txt | 20 ++--- .../parse/.defarg5.rto/edg_x86_32_cp.1.1.txt | 4 +- .../parse/.defarg5.rto/edg_x86_64_cp.1.1.txt | 4 +- .../torture/.pr116120-1.rto/default.1.1.txt | 4 +- .../.pr116120-1.rto/edg_x86_32.1.1.txt | 7 -- .../.pr116120-1.rto/edg_x86_32_cp.1.1.txt | 4 +- .../.pr116120-1.rto/edg_x86_64_cp.1.1.txt | 4 +- .../torture/.pr116120-2.rto/default.1.1.txt | 4 +- .../.pr116120-2.rto/edg_x86_32.1.1.txt | 7 -- .../.pr116120-2.rto/edg_x86_32_cp.1.1.txt | 4 +- .../.pr116120-2.rto/edg_x86_64_cp.1.1.txt | 4 +- .../torture/.vect-absu-1.rto/default.1.1.txt | 2 +- .../.vect-absu-1.rto/edg_x86_32.1.1.txt | 2 +- .../.vect-absu-1.rto/edg_x86_32_cp.1.1.txt | 2 +- .../.vect-absu-1.rto/edg_x86_64_cp.1.1.txt | 2 +- 81 files changed, 458 insertions(+), 630 deletions(-) create mode 100644 src/pending_changes/gh-426-build-identifier.txt delete mode 100644 tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32_cp.1.1.txt delete mode 100644 tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt delete mode 100644 tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32_cp.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32_cp.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32.1.1.txt delete mode 100644 tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32.1.1.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index f6ffff8dcf..98ec1b9169 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,6 +26,10 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +# A generator expression that is true for the build types that generate +# debugging information (for use as "$<${EDG_HAS_DEBUG_INFO}:...>"). +set(EDG_HAS_DEBUG_INFO "$") + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") if (UNIX AND NOT APPLE) @@ -33,8 +37,8 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR add_link_options("$<$:-static>") endif() # If we're building with GCC or any variant of Clang, use -g3 as our debug - # flag to include macro information in our debug builds. - add_compile_options("$<$:-g3>") + # flag to include macro information in builds with debugging information. + add_compile_options("$<${EDG_HAS_DEBUG_INFO}:-g3>") endif() # Attempt to determine the best linker @@ -96,6 +100,27 @@ set(EDG_EAGER_REBUILD_LIB FALSE CACHE BOOL # Support for 32-bit build set(32BIT_BUILD FALSE CACHE BOOL "Build cpfe as a 32-bit executable") +# Support for reproducible builds. A build identifier replaces the build date +# and time in the front end (see src/CMakeLists.txt). +set(EDG_BUILD_IDENTIFIER "" CACHE STRING + "Build identifier to use in place of the build date and time") +if(NOT "$CACHE{EDG_BUILD_IDENTIFIER}" STREQUAL "" AND + (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR + CMAKE_CXX_COMPILER_ID MATCHES "Clang")) + # In builds with debugging information, record the source and build + # directories as relative paths in that information and in __FILE__, so the + # same sources produce the same executables wherever they are checked out + # and built. The build directory is listed last so that it takes precedence + # when it is inside the source directory. (-ffile-prefix-map is avoided + # because it also remaps the paths recorded for gcov, which coverage reports + # use to find the sources.) + add_compile_options( + "$<${EDG_HAS_DEBUG_INFO}:-fdebug-prefix-map=${CMAKE_SOURCE_DIR}=.>" + "$<${EDG_HAS_DEBUG_INFO}:-fmacro-prefix-map=${CMAKE_SOURCE_DIR}=.>" + "$<${EDG_HAS_DEBUG_INFO}:-fdebug-prefix-map=${CMAKE_BINARY_DIR}=build>" + "$<${EDG_HAS_DEBUG_INFO}:-fmacro-prefix-map=${CMAKE_BINARY_DIR}=build>") +endif() + # Detect the defaults (macro configuration, EDG_BASE, etc.) for this host and # compiler, used when a configuration doesn't specify them. include(${CMAKE_SOURCE_DIR}/cmake/host-defaults.cmake) diff --git a/doc/source/build.rst b/doc/source/build.rst index 1faa8fc70f..c7ca9549a0 100644 --- a/doc/source/build.rst +++ b/doc/source/build.rst @@ -607,6 +607,15 @@ and defaults that many configuration macros have). The ``--dump_configuration`` command-line option provides a convenient display of all configuration macros and their settings. +By default, the ``--version`` and ``--dump_configuration`` output (and the +string that identifies precompiled header files) includes the date and time the +front end was built, so no two builds produce identical executables. Defining +the configuration macro ``BUILD_IDENTIFIER`` as a string literal (with CMake, +``-DEDG_BUILD_IDENTIFIER=``\ *string*) replaces the date and time with that +string, making the build reproducible. Builds of different sources should use +different identifiers so their precompiled headers aren't mistaken for each +other. + A non-legacy target configuration is most easily generated as a derivative from an existing legacy target configuration using the ``--dump_legacy_as_target`` command-line option. This option takes a target configuration name and diff --git a/lib_src/CMakeLists.txt b/lib_src/CMakeLists.txt index b924c7d18b..f11512bf58 100644 --- a/lib_src/CMakeLists.txt +++ b/lib_src/CMakeLists.txt @@ -15,6 +15,16 @@ endif() # set the project name project(lib_src NONE) +# Create deterministic archives (with zeroed timestamps, owners, and modes) on +# Linux, where ar and ranlib are expected to be GNU binutils or compatible, +# so that rebuilding the same sources produces the same libraries. +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(CMAKE_CXX_ARCHIVE_CREATE + " qcD ") + set(CMAKE_CXX_ARCHIVE_APPEND " qD ") + set(CMAKE_CXX_ARCHIVE_FINISH " -D ") +endif() + # Add the default value of EDG_RUNTIME_LIB to the cache. if(NOT DEFINED CACHE{EDG_RUNTIME_LIB}) # Use the same environment variables ECCP will be using. diff --git a/lib_src/cmake/lib_build_support.cmake b/lib_src/cmake/lib_build_support.cmake index 881c6663ec..d62d95b0f8 100644 --- a/lib_src/cmake/lib_build_support.cmake +++ b/lib_src/cmake/lib_build_support.cmake @@ -60,12 +60,38 @@ function(add_edg_cpp_rt_obj_file src_file_name obj_file_name) list(APPEND obj_file_deps ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cpfe) endif() + # eccp runs in the object's directory (which is unique to the target + # platform), where --keep_gen_c leaves the generated C file. Otherwise eccp + # would compile that file in a randomly named temporary directory, whose + # name would end up in the debug information and make the library + # irreproducible. + get_filename_component(obj_dir "${obj_file_name}" DIRECTORY) + + # Generate debugging information only for the build types that have it. + # For a reproducible build, also record the source and build directories as + # relative paths in that information (as is done for the front end in the + # top-level CMakeLists.txt). Each option is wrapped separately so that it + # disappears entirely in other build types. + set(debug_options "$<${EDG_HAS_DEBUG_INFO}:-g>") + if(NOT "$CACHE{EDG_BUILD_IDENTIFIER}" STREQUAL "") + list(APPEND debug_options + "$<${EDG_HAS_DEBUG_INFO}:--c_to_obj_option>" + "$<${EDG_HAS_DEBUG_INFO}:-fdebug-prefix-map=${CMAKE_SOURCE_DIR}=.>" + "$<${EDG_HAS_DEBUG_INFO}:--c_to_obj_option>" + "$<${EDG_HAS_DEBUG_INFO}:-fdebug-prefix-map=${CMAKE_BINARY_DIR}=build>") + endif() + add_custom_command( OUTPUT ${obj_file_name} COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/eccp - # Set the base options - --building_runtime --c++23 -g - # Set the compile definitons + # Set the base options. + --building_runtime --c++23 + # Compile the generated C file in the working directory (see obj_dir + # above). + --keep_gen_c + # Add options related to debug builds (as needed). + ${debug_options} + # Set the compile definitons. -DCHECKING=1 -DDEBUG=1 ${cmakedef_define_flags} # Add include dirs. @@ -84,13 +110,23 @@ function(add_edg_cpp_rt_obj_file src_file_name obj_file_name) -o ${obj_file_name} -c ${src_file_name} DEPENDS ${obj_file_deps} + WORKING_DIRECTORY ${obj_dir} + # Drop the debug options whose generator expressions evaluate to nothing + # (rather than passing eccp empty arguments). + COMMAND_EXPAND_LISTS ) endfunction() function(add_edg_cpp_rt_target target_name) - list(TRANSFORM EDG_CINCLDIR_LIST - PREPEND "--sys_include=" - OUTPUT_VARIABLE edg_cinl_flags) + set(edg_cinl_flags "") + foreach(edg_cinl_dir IN LISTS EDG_CINCLDIR_LIST) + # Skip empty entries (e.g., from a trailing ":" in EDG_CINCLDIR). + if(NOT edg_cinl_dir STREQUAL "") + get_filename_component(edg_cinl_dir "${edg_cinl_dir}" ABSOLUTE + BASE_DIR "${CMAKE_CURRENT_BINARY_DIR}") + list(APPEND edg_cinl_flags "--sys_include=${edg_cinl_dir}") + endif() + endforeach() if(UNIX AND NOT APPLE) # When building the library on Linux machines, we need to enable g++ mode diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 79b7cde521..593ab90d0c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -146,6 +146,17 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") endif() endif() +# Build identifier + +# Replace the build date and time shown by --version (and used to identify +# precompiled headers) with a fixed string, so that rebuilding the same +# sources produces the same executables. (EDG_BUILD_IDENTIFIER is declared in +# the top-level CMakeLists.txt.) +if(NOT "$CACHE{EDG_BUILD_IDENTIFIER}" STREQUAL "") + add_compile_definitions( + "BUILD_IDENTIFIER=\"$CACHE{EDG_BUILD_IDENTIFIER}\"") +endif() + # Enable colored output. if (${FORCE_COLORED_OUTPUT}) @@ -254,3 +265,33 @@ add_custom_target(cpfe-all) add_subdirectory(cmake/cpfe) add_subdirectory(cmake/cpfe-cp) add_subdirectory(cmake/cdisp) + +# GCC otherwise seeds some generated names and the gcov stamps in objects and +# .gcno files with the time of compilation. The seed should differ for every +# file compiled, so derive it from each source's path relative to the +# repository root (which, unlike the absolute path, is the same in every +# checkout). +if(NOT "$CACHE{EDG_BUILD_IDENTIFIER}" STREQUAL "" AND + CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + function(add_random_seeds_to_targets_in dir) + get_property(targets DIRECTORY "${dir}" PROPERTY BUILDSYSTEM_TARGETS) + foreach(target IN LISTS targets) + get_target_property(sources "${target}" SOURCES) + get_target_property(source_dir "${target}" SOURCE_DIR) + foreach(source IN LISTS sources) + if(source MATCHES "\\.(c|cc|cpp)$") + get_filename_component(source_path "${source}" ABSOLUTE + BASE_DIR "${source_dir}") + file(RELATIVE_PATH seed "${CMAKE_SOURCE_DIR}" "${source_path}") + set_property(SOURCE "${source}" TARGET_DIRECTORY "${target}" + PROPERTY COMPILE_OPTIONS "-frandom-seed=${seed}") + endif() + endforeach() + endforeach() + get_property(subdirs DIRECTORY "${dir}" PROPERTY SUBDIRECTORIES) + foreach(subdir IN LISTS subdirs) + add_random_seeds_to_targets_in("${subdir}") + endforeach() + endfunction() + add_random_seeds_to_targets_in("${CMAKE_CURRENT_SOURCE_DIR}") +endif() diff --git a/src/cmd_line.c b/src/cmd_line.c index a1fc4154cb..7ebc1d8edb 100644 --- a/src/cmd_line.c +++ b/src/cmd_line.c @@ -6472,8 +6472,8 @@ file. /* Print a banner. */ fprintf(f_error, "/* Configuration data for Edison Design Group C/C++ Front End */\n" - "/* version %s, built on %s at %s. */\n\n", - VERSION_NUMBER, build_date, build_time); + "/* version %s (%s). */\n\n", + VERSION_NUMBER, build_stamp); /* Print the values of all configuration macros. */ #if defined(ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE) define_numeric_valued_macro(ABI_CHANGES_FOR_ARRAY_NEW_AND_DELETE); @@ -6718,6 +6718,11 @@ file. #else /* !defined(BOOL_ENABLING_POSSIBLE) */ comment_undefined_macro_name(BOOL_ENABLING_POSSIBLE); #endif /* defined(BOOL_ENABLING_POSSIBLE) */ +#if defined(BUILD_IDENTIFIER) + define_string_valued_macro(BUILD_IDENTIFIER); +#else /* !defined(BUILD_IDENTIFIER) */ + comment_undefined_macro_name(BUILD_IDENTIFIER); +#endif /* defined(BUILD_IDENTIFIER) */ #if defined(BUILTIN_FUNCTIONS_ENABLED) define_string_valued_macro(BUILTIN_FUNCTIONS_ENABLED); #else /* !defined(BUILTIN_FUNCTIONS_ENABLED) */ @@ -7819,11 +7824,6 @@ file. #else /* !defined(DELETE_CAN_BE_FOLDED_INTO_DTOR) */ comment_undefined_macro_name(DELETE_CAN_BE_FOLDED_INTO_DTOR); #endif /* defined(DELETE_CAN_BE_FOLDED_INTO_DTOR) */ -#if defined(DEMO_VERSION_ID) - define_string_valued_macro(DEMO_VERSION_ID); -#else /* !defined(DEMO_VERSION_ID) */ - comment_undefined_macro_name(DEMO_VERSION_ID); -#endif /* defined(DEMO_VERSION_ID) */ #if defined(DIRECTORY_SEPARATOR) define_string_valued_macro(DIRECTORY_SEPARATOR); #else /* !defined(DIRECTORY_SEPARATOR) */ @@ -10788,12 +10788,10 @@ Process the arguments on the command line that invoked the compiler. /* Print out compiler version. */ check_assertion(opt_value == TRUE); fprintf(f_error, - "Edison Design Group C/C++ Front End, version %s (%s %s)\n", - VERSION_NUMBER, build_date, build_time); - fprintf(f_error, "Copyright 1988-2026 Edison Design Group, Inc.\n"); -#ifdef DEMO_VERSION_ID - fprintf(f_error, "Demonstration version for %s\n", DEMO_VERSION_ID); -#endif /* ifdef DEMO_VERSION_ID */ + "Edison Design Group C/C++ Front End, version %s (%s)\n", + VERSION_NUMBER, build_stamp); + fprintf(f_error, "Copyright 1988-2026 Edison Design Group, Inc. " + "and Contributors\n"); fputc('\n', f_error); source_file_name_optional = TRUE; break; diff --git a/src/host_envir.h b/src/host_envir.h index fae9c969d4..0c4c16aef9 100644 --- a/src/host_envir.h +++ b/src/host_envir.h @@ -2551,12 +2551,6 @@ If only one CPU id is needed, HOSTID should be set, and HOSTID2 should be left undefined. */ -/* -The flag DEMO_VERSION_ID can be defined with a string identifying a demo -version if this is a demo version. The string is printed on startup with -the -v option. -*/ - /* Flag that provides the default value for null_chars_allowed_in_source, which controls whether null (zero) characters are allowed in source lines. diff --git a/src/il_to_str.c b/src/il_to_str.c index fa76388551..1abaece6e5 100644 --- a/src/il_to_str.c +++ b/src/il_to_str.c @@ -8563,15 +8563,44 @@ is properly maintained. Do the output as indicated by octl. #endif /* BACK_END_IS_C_GEN_BE */ #if BACK_END_IS_C_GEN_BE || BACK_END_IS_CP_GEN_BE -#if DEBUG STATIC_THREAD uintptr_t unique_id_counter; /* A ticket counter used by - generate_unique_id_for_il_pointer to generate stable + generate_unique_id_for_temporary to generate stable unique identifiers for a given pointer. */ -using a_ptr_unique_id_map = Ptr_map; +namespace { + +enum class a_temporary_key : uintptr_t {}; + /* The key type of ptr_to_unique_id: an IL pointer + converted to an integer. It is a distinct type + only so that it can have its own hash_ptr. */ + +inline uintptr_t hash_ptr(a_temporary_key key) +/* +Return a hash value for the given temporary key that is appropriate for +Ptr_map. IL entries of a given kind tend to be allocated at regular intervals, +so the default pointer hash (essentially the address itself) clusters badly in +the low-order bits that Ptr_map uses for indexing. Mix all the bits of the +address into the low-order bits (Fibonacci hashing). The multiplier is the +golden-ratio constant scaled to the width of uintptr_t (simply truncating the +64-bit constant would not preserve that ratio). +*/ +{ + constexpr unsigned num_bits_total = sizeof(uintptr_t) * 8; + constexpr uintptr_t multiplier = + (uintptr_t)(0x9E3779B97F4A7C15ull >> + (64 - num_bits_total)); + uintptr_t hash = (uintptr_t)key * multiplier; + + return hash ^ (hash >> (num_bits_total / 2)); +} /* hash_ptr */ + +} /* namespace */ + +using a_ptr_unique_id_map = Ptr_map; /* The type of ptr_to_unique_id used to map an arbitrary pointer to a unique identifier from the unique_id_counter. */ @@ -8580,48 +8609,40 @@ STATIC_THREAD a_ptr_unique_id_map *ptr_to_unique_id; /* A map of a given pointer to its unique identifiers from the unique_id_counter used by - generate_unique_id_for_il_pointer. */ + generate_unique_id_for_temporary. */ static uintptr_t generate_unique_id_for_temporary(void *ptr) /* -Return an identifier unique to the current translation unit for the given IL -pointer. +Return an identifier unique to the current generated file for the given IL +pointer. Identifiers are assigned in order of first use, so (unlike the IL +pointer itself) they do not depend on where the IL happens to be allocated, +and the generated output is reproducible from run to run. */ { uintptr_t result; if (ptr == NULL) { result = 0; - } else if (ptr_to_unique_id->get(ptr) == 0) { - result = ++unique_id_counter; - ptr_to_unique_id->map(ptr, result); } else { - result = ptr_to_unique_id->get(ptr); + a_temporary_key key = (a_temporary_key)(uintptr_t)ptr; + + result = ptr_to_unique_id->get(key); + if (result == 0) { + result = ++unique_id_counter; + ptr_to_unique_id->map(key, result); + } /* if */ } /* if */ return result; } /* generate_unique_id_for_temporary */ -#endif /* DEBUG */ a_temp_var_name_buffer form_temporary_name_for_back_end(void *ptr) /* Return a temporary name generated for the given IL pointer. */ { - uintptr_t unique_id; - -#if DEBUG - if (db_active) { - unique_id = generate_unique_id_for_temporary(ptr); - } else -#endif /* DEBUG */ - /* Do not add code here. */ - { - unique_id = unique_id_for_il_pointer(ptr); - } /* if */ - - a_temp_var_name_buffer result("__T", unique_id); + a_temp_var_name_buffer result("__T", generate_unique_id_for_temporary(ptr)); return result; } /* form_temporary_name_for_back_end */ @@ -8632,11 +8653,15 @@ Initialize the common logic for a C-like language generating back end. These are initializations that must be redone for each generated file. */ { -#if DEBUG unique_id_counter = 0; - ptr_to_unique_id = alloc_general_of_type(a_ptr_unique_id_map); - construct(ptr_to_unique_id, /*mask_width=*/10u); -#endif /* DEBUG */ + if (ptr_to_unique_id == NULL) { + ptr_to_unique_id = alloc_general_of_type(a_ptr_unique_id_map); + construct(ptr_to_unique_id, /*mask_width=*/10u); + } else { + /* Reuse the map from the previous generated file rather than leaving it + allocated until general memory is released. */ + ptr_to_unique_id->clear(); + } /* if */ } /* il_to_str_back_end_file_init */ #endif /* BACK_END_IS_C_GEN_BE || BACK_END_IS_CP_GEN_BE */ @@ -8651,6 +8676,9 @@ One-time initialization for il_to_str static variables. #if BACK_END_IS_CP_GEN_BE avail_template_param_mappings = NULL; #endif /* BACK_END_IS_CP_GEN_BE */ +#if BACK_END_IS_C_GEN_BE || BACK_END_IS_CP_GEN_BE + ptr_to_unique_id = NULL; +#endif /* BACK_END_IS_C_GEN_BE || BACK_END_IS_CP_GEN_BE */ #if BACK_END_IS_C_GEN_BE #if LONG_DOUBLE_AS_DOUBLE_IN_GENERATED_C #if ISSUE_WARNING_ON_LONG_DOUBLE_AS_DOUBLE diff --git a/src/pch.c b/src/pch.c index 5198a5aae0..2057d7d27a 100644 --- a/src/pch.c +++ b/src/pch.c @@ -465,7 +465,7 @@ associated with this compiler version. { Small_string temp_pch_str("EDG C/C++ version ",VERSION_NUMBER, - " (", build_date, " ", build_time, ")\n"); + " (", build_stamp, ")\n"); check_assertion_str2((size_t_arg(temp_pch_str.length()) < size_t_arg(PCH_ID_STRING_LENGTH)), diff --git a/src/pending_changes/gh-426-build-identifier.txt b/src/pending_changes/gh-426-build-identifier.txt new file mode 100644 index 0000000000..3ac6589592 --- /dev/null +++ b/src/pending_changes/gh-426-build-identifier.txt @@ -0,0 +1,18 @@ +//allowed_words: CMake DEDG +[GH #426] +Reproducible builds and generated code + +The new configuration macro BUILD_IDENTIFIER (with CMake, +-DEDG_BUILD_IDENTIFIER=) is a string literal that replaces the +build date and time in the --version and --dump_configuration output and +in the precompiled header identification string, so rebuilding the same +sources produces identical executables. The runtime library is likewise +reproducible: its archives are deterministic, and its generated C files no +longer pass through randomly named temporary directories. + +Temporaries in generated C and C++ are now named from a per-file counter +(e.g., "__T1") rather than from IL addresses, so the output no longer +varies with address space layout randomization. + +DEMO_VERSION_ID has been removed, and the --version copyright line now +credits contributors. diff --git a/src/version.h b/src/version.h index 95a214ba84..07204506cf 100644 --- a/src/version.h +++ b/src/version.h @@ -29,9 +29,26 @@ front end version. This must be a numeric value. #define VERSION_NUMBER_FOR_MACRO 700 /* -The date and time that this version was built. These variables will -be defined when fe_init.c is compiled. +A string identifying this build of the front end, displayed by --version +and --dump_configuration and used to identify compatible precompiled +header files. If BUILD_IDENTIFIER is defined (as a string literal), it is +used; otherwise, the date and time at which fe_init.c was compiled are +used. Defining BUILD_IDENTIFIER makes it possible to build bit-for-bit +reproducible executables; builds from different sources should use +different identifiers so that their precompiled headers are not mistaken +for each other. */ +#ifdef BUILD_IDENTIFIER + +EXTERN a_const_char + *build_stamp +#if VAR_INITIALIZERS + = BUILD_IDENTIFIER +#endif /* VAR_INITIALIZERS */ + ; + +#else /* !defined(BUILD_IDENTIFIER) */ + #ifndef __DATE__ #define __DATE__ "[date unknown]" #endif /* ifndef __DATE__ */ @@ -47,16 +64,9 @@ be defined when fe_init.c is compiled. #endif /* defined(_MSC_VER) */ EXTERN a_const_char - *build_date + *build_stamp #if VAR_INITIALIZERS - = __DATE__ -#endif /* VAR_INITIALIZERS */ - ; - -EXTERN a_const_char - *build_time -#if VAR_INITIALIZERS - = __TIME__ + = __DATE__ " " __TIME__ #endif /* VAR_INITIALIZERS */ ; @@ -64,6 +74,8 @@ EXTERN a_const_char #pragma warning( pop ) #endif /* defined(_MSC_VER) */ +#endif /* ifdef BUILD_IDENTIFIER */ + /* Conditionally close the "edg" namespace. */ END_EDG_NAMESPACE diff --git a/tests/tests/cwg/.cwg2845b.rto/edg_x86_32_cp.1.1.txt b/tests/tests/cwg/.cwg2845b.rto/edg_x86_32_cp.1.1.txt index 4d1ef6819b..49cbc4c107 100644 --- a/tests/tests/cwg/.cwg2845b.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/cwg/.cwg2845b.rto/edg_x86_32_cp.1.1.txt @@ -1,6 +1,6 @@ cpfe -DTEST_NUMBER=1 --c++23 Test_name.c "Test_name.c", line 6: error: name followed by "::" must be a class or namespace name - foo< &__TXXXXXXXXX::_FUN> (); + foo< &__T1::_FUN> (); ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/cwg/.cwg2845b.rto/edg_x86_64_cp.1.1.txt b/tests/tests/cwg/.cwg2845b.rto/edg_x86_64_cp.1.1.txt index 4d1ef6819b..49cbc4c107 100644 --- a/tests/tests/cwg/.cwg2845b.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/cwg/.cwg2845b.rto/edg_x86_64_cp.1.1.txt @@ -1,6 +1,6 @@ cpfe -DTEST_NUMBER=1 --c++23 Test_name.c "Test_name.c", line 6: error: name followed by "::" must be a class or namespace name - foo< &__TXXXXXXXXX::_FUN> (); + foo< &__T1::_FUN> (); ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_32_cp.1.1.txt b/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_32_cp.1.1.txt index e4af322064..8864e9f925 100644 --- a/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_32_cp.1.1.txt @@ -1,8 +1,8 @@ cpfe -DTEST_NUMBER=1 --c++20 --set_flag=coroutines --set_flag=no_checking_pragmas -tused Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z1fiRf1BPS0_RS0_OS0_': -Test_name.c:33:256: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -Test_name.c:33:256: note: each undeclared identifier is reported only once for each function it appears in -Test_name.c:38:235: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? +Test_name.c:33:266: error: 'co_await__T6' undeclared (first use in this function) +Test_name.c:33:266: note: each undeclared identifier is reported only once for each function it appears in +Test_name.c:38:209: error: '__T17' undeclared (first use in this function); did you mean '__T16'? eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_64_cp.1.1.txt b/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_64_cp.1.1.txt index a4b6e43406..8864e9f925 100644 --- a/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/edg/ccs/coroutines/.gnats20948-paramcopy.rto/edg_x86_64_cp.1.1.txt @@ -1,8 +1,8 @@ cpfe -DTEST_NUMBER=1 --c++20 --set_flag=coroutines --set_flag=no_checking_pragmas -tused Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z1fiRf1BPS0_RS0_OS0_': -Test_name.c:33:139: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -Test_name.c:33:139: note: each undeclared identifier is reported only once for each function it appears in -Test_name.c:38:250: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? +Test_name.c:33:266: error: 'co_await__T6' undeclared (first use in this function) +Test_name.c:33:266: note: each undeclared identifier is reported only once for each function it appears in +Test_name.c:38:209: error: '__T17' undeclared (first use in this function); did you mean '__T16'? eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/edg/cmeerw/.gnats-26621-run.rto/default.1.1.txt b/tests/tests/edg/cmeerw/.gnats-26621-run.rto/default.1.1.txt index 72e5fd8fc5..8f7a4aae1f 100644 --- a/tests/tests/edg/cmeerw/.gnats-26621-run.rto/default.1.1.txt +++ b/tests/tests/edg/cmeerw/.gnats-26621-run.rto/default.1.1.txt @@ -1,8 +1,8 @@ eccp -DTEST_NUMBER=1 --c++20 --no_exceptions --set_flag=no_checking_pragmas Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z4coroi': -Test_name.c:45:29: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) +Test_name.c:45:29: error: 'co_await__T4' undeclared (first use in this function) Test_name.c:45:29: note: each undeclared identifier is reported only once for each function it appears in -Test_name.c:61:1: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) +Test_name.c:61:266: error: 'co_await__T7' undeclared (first use in this function) eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32.1.1.txt b/tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32.1.1.txt deleted file mode 100644 index 75cbda1b32..0000000000 --- a/tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,10 +0,0 @@ -eccp -DTEST_NUMBER=1 --c++20 --no_exceptions --set_flag=no_checking_pragmas Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -Test_name.c: In function '_Z4coroi': -Test_name.c:45:29: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -Test_name.c:45:29: note: each undeclared identifier is reported only once for each function it appears in -Test_name.c:61:284: error: unknown type name 'co_await' -Test_name.c:61:1: error: conflicting types for '__TXXXXXXXXX'; have 'int' -Test_name.c:44:241: note: previous declaration of '__TXXXXXXXXX' with type 'struct _ZSt13suspend_never' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32_cp.1.1.txt b/tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32_cp.1.1.txt deleted file mode 100644 index 75cbda1b32..0000000000 --- a/tests/tests/edg/cmeerw/.gnats-26621-run.rto/edg_x86_32_cp.1.1.txt +++ /dev/null @@ -1,10 +0,0 @@ -eccp -DTEST_NUMBER=1 --c++20 --no_exceptions --set_flag=no_checking_pragmas Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -Test_name.c: In function '_Z4coroi': -Test_name.c:45:29: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -Test_name.c:45:29: note: each undeclared identifier is reported only once for each function it appears in -Test_name.c:61:284: error: unknown type name 'co_await' -Test_name.c:61:1: error: conflicting types for '__TXXXXXXXXX'; have 'int' -Test_name.c:44:241: note: previous declaration of '__TXXXXXXXXX' with type 'struct _ZSt13suspend_never' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/default.1.1.txt b/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/default.1.1.txt index 38782e13f3..e6260d71ab 100644 --- a/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/default.1.1.txt +++ b/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/default.1.1.txt @@ -11,7 +11,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:24:114: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:112: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:24:149: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:25:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:25:37: error: conflicting types for '_Z3fooPFvvE'; have 'void(void (__attribute__((fastcall)) *)(void))' @@ -19,7 +19,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:25:115: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:112: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:25:150: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:26:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:26:37: error: redefinition of '_Z3fooPFvvE' @@ -27,7 +27,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:26:85: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:112: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:26:120: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:27:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:27:37: error: redefinition of '_Z3fooPFvvE' @@ -35,6 +35,6 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:27:85: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:112: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:27:120: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:147: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_32_cp.1.1.txt b/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_32_cp.1.1.txt index bb3e83d537..0c383f6ee9 100644 --- a/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_32_cp.1.1.txt @@ -11,7 +11,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:24:115: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:24:150: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:25:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:25:37: error: conflicting types for '_Z3fooPFvvE'; have 'void(void (__attribute__((fastcall)) *)(void))' @@ -19,7 +19,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:25:116: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:25:151: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:26:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:26:37: error: redefinition of '_Z3fooPFvvE' @@ -27,7 +27,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:26:86: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:26:121: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:27:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:27:37: error: redefinition of '_Z3fooPFvvE' @@ -35,6 +35,6 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:27:86: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:27:121: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_64_cp.1.1.txt b/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_64_cp.1.1.txt index bb3e83d537..0c383f6ee9 100644 --- a/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/edg/wcc/.gnats26516-ms-fp-call-conv-86_32.rto/edg_x86_64_cp.1.1.txt @@ -11,7 +11,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:24:115: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:24:150: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:25:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:25:37: error: conflicting types for '_Z3fooPFvvE'; have 'void(void (__attribute__((fastcall)) *)(void))' @@ -19,7 +19,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:25:116: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:25:151: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:26:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:26:37: error: redefinition of '_Z3fooPFvvE' @@ -27,7 +27,7 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:26:86: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:26:121: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' Test_name.c:27:6: error: redefinition of '_Z1xIPFvvEEvv' Test_name.c:21:6: note: previous definition of '_Z1xIPFvvEEvv' with type 'void(void)' Test_name.c:27:37: error: redefinition of '_Z3fooPFvvE' @@ -35,6 +35,6 @@ Test_name.c:21:37: note: previous definition of '_Z3fooPFvvE' with type 'void(vo Test_name.c:27:86: error: redefinition of '_Z1xIM3fooFvvEEvv' Test_name.c:21:113: note: previous definition of '_Z1xIM3fooFvvEEvv' with type 'void(void)' Test_name.c:27:121: error: redefinition of '_Z3fooM3fooFvvE' -Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __TXXXXXXXXX)' +Test_name.c:21:148: note: previous definition of '_Z3fooM3fooFvvE' with type 'void(struct __T1)' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_32_cp.1.1.txt index abce8bf0d2..865502ccf0 100644 --- a/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_32_cp.1.1.txt @@ -1,10 +1,10 @@ fe_only -DTEST_NUMBER=1 --clang -tused -e 200 --no_wrap_diagnostics --clang_version 999999 --c++20 Test_name.c -"Test_name.c", line 26: error: identifier "__TXXXXXXXXX" is undefined - template void f< __TXXXXXXXXX, const X &, const X &> (); +"Test_name.c", line 26: error: identifier "__T1" is undefined + template void f< __T1, const X &, const X &> (); ^ "Test_name.c", line 26: error: invalid explicit instantiation declaration - template void f< __TXXXXXXXXX, const X &, const X &> (); + template void f< __T1, const X &, const X &> (); ^ "Test_name.c", line 11: error: type "U" has already been defined (previous definition at line 10) diff --git a/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_64_cp.1.1.txt index abce8bf0d2..865502ccf0 100644 --- a/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/clang/cpp/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/.p1.rto/edg_x86_64_cp.1.1.txt @@ -1,10 +1,10 @@ fe_only -DTEST_NUMBER=1 --clang -tused -e 200 --no_wrap_diagnostics --clang_version 999999 --c++20 Test_name.c -"Test_name.c", line 26: error: identifier "__TXXXXXXXXX" is undefined - template void f< __TXXXXXXXXX, const X &, const X &> (); +"Test_name.c", line 26: error: identifier "__T1" is undefined + template void f< __T1, const X &, const X &> (); ^ "Test_name.c", line 26: error: invalid explicit instantiation declaration - template void f< __TXXXXXXXXX, const X &, const X &> (); + template void f< __T1, const X &, const X &> (); ^ "Test_name.c", line 11: error: type "U" has already been defined (previous definition at line 10) diff --git a/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_32_cp.1.1.txt index 752bee1cbe..5b3aee411e 100644 --- a/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_32_cp.1.1.txt @@ -15,8 +15,8 @@ fe_only -DTEST_NUMBER=1 --gnu_version=999999 -e 200 --no_wrap --no_wrap_diagnost }))))); ^ -"Test_name.c", line 251: error: incomplete type "struct __TXXXXXXXXX" is not allowed - __typeof__(sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof(struct __TXXXXXXXXX)) _s = (sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof( +"Test_name.c", line 251: error: incomplete type "struct __T1" is not allowed + __typeof__(sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof(struct __T1)) _s = (sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof( ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_64_cp.1.1.txt index 752bee1cbe..5b3aee411e 100644 --- a/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/c/analyzer/torture/.asm-x86-linux-wfx_get_ps_timeout-full.rto/edg_x86_64_cp.1.1.txt @@ -15,8 +15,8 @@ fe_only -DTEST_NUMBER=1 --gnu_version=999999 -e 200 --no_wrap --no_wrap_diagnost }))))); ^ -"Test_name.c", line 251: error: incomplete type "struct __TXXXXXXXXX" is not allowed - __typeof__(sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof(struct __TXXXXXXXXX)) _s = (sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof( +"Test_name.c", line 251: error: incomplete type "struct __T1" is not allowed + __typeof__(sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof(struct __T1)) _s = (sizeof (wdev->vif) / sizeof (wdev->vif[0]) + (int)sizeof( ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/default.1.1.txt b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/default.1.1.txt index bca3035243..17b8338aad 100644 --- a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/default.1.1.txt @@ -10,8 +10,8 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./torture/arm-fp16-ops.h:12:11: error: unknown type name '__fp16'; did you mean '__bf16'? ./torture/arm-fp16-ops.h:13:11: error: unknown type name '__fp16'; did you mean '__bf16'? ./torture/arm-fp16-ops.h: In function 'main': -./torture/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./torture/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in +./torture/arm-fp16-ops.h:43:185: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? +./torture/arm-fp16-ops.h:43:185: note: each undeclared identifier is reported only once for each function it appears in ./torture/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt deleted file mode 100644 index fcb6e4c2e6..0000000000 --- a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,17 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -e 200 --no_wrap --no_wrap_diagnostics --gcc Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -./torture/arm-fp16-ops.h:10:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:14:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:10:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h: In function 'main': -./torture/arm-fp16-ops.h:43:194: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./torture/arm-fp16-ops.h:43:194: note: each undeclared identifier is reported only once for each function it appears in -./torture/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt deleted file mode 100644 index fcb6e4c2e6..0000000000 --- a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt +++ /dev/null @@ -1,17 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -e 200 --no_wrap --no_wrap_diagnostics --gcc Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -./torture/arm-fp16-ops.h:10:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:14:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:10:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h: In function 'main': -./torture/arm-fp16-ops.h:43:194: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./torture/arm-fp16-ops.h:43:194: note: each undeclared identifier is reported only once for each function it appears in -./torture/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/default.1.1.txt b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/default.1.1.txt index bca3035243..17b8338aad 100644 --- a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/default.1.1.txt @@ -10,8 +10,8 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./torture/arm-fp16-ops.h:12:11: error: unknown type name '__fp16'; did you mean '__bf16'? ./torture/arm-fp16-ops.h:13:11: error: unknown type name '__fp16'; did you mean '__bf16'? ./torture/arm-fp16-ops.h: In function 'main': -./torture/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./torture/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in +./torture/arm-fp16-ops.h:43:185: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? +./torture/arm-fp16-ops.h:43:185: note: each undeclared identifier is reported only once for each function it appears in ./torture/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt deleted file mode 100644 index fcb6e4c2e6..0000000000 --- a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,17 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -e 200 --no_wrap --no_wrap_diagnostics --gcc Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -./torture/arm-fp16-ops.h:10:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:14:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:10:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h: In function 'main': -./torture/arm-fp16-ops.h:43:194: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./torture/arm-fp16-ops.h:43:194: note: each undeclared identifier is reported only once for each function it appears in -./torture/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt deleted file mode 100644 index fcb6e4c2e6..0000000000 --- a/tests/tests/imported/gnu/c/torture/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt +++ /dev/null @@ -1,17 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -e 200 --no_wrap --no_wrap_diagnostics --gcc Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -./torture/arm-fp16-ops.h:10:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:18: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:14:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:10:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:11:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:12:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h:13:11: error: unknown type name '__fp16'; did you mean '__bf16'? -./torture/arm-fp16-ops.h: In function 'main': -./torture/arm-fp16-ops.h:43:194: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./torture/arm-fp16-ops.h:43:194: note: each undeclared identifier is reported only once for each function it appears in -./torture/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/default.1.1.txt index 698d646d01..be013ff921 100644 --- a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/default.1.1.txt @@ -41,13 +41,13 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diag eccp: diagnostics generated from compilation of Test_name.int.c: ./pr94920.C: In function '_Z4thudDv4_i': -./pr94920.C:22:133: error: used vector type where scalar is required -./pr94920.C:22:229: error: used vector type where scalar is required -./pr94920.C:22:36: error: used vector type where scalar is required -./pr94920.C:22:132: error: used vector type where scalar is required -./pr94920.C:24:135: error: used vector type where scalar is required +./pr94920.C:22:91: error: used vector type where scalar is required +./pr94920.C:22:159: error: used vector type where scalar is required +./pr94920.C:22:227: error: used vector type where scalar is required +./pr94920.C:22:295: error: used vector type where scalar is required +./pr94920.C:24:93: error: used vector type where scalar is required +./pr94920.C:24:163: error: used vector type where scalar is required ./pr94920.C:24:233: error: used vector type where scalar is required -./pr94920.C:24:37: error: used vector type where scalar is required -./pr94920.C:24:135: error: used vector type where scalar is required +./pr94920.C:24:3: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32.1.1.txt index 38e3f45ab9..8b5fbc26f0 100644 --- a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32.1.1.txt +++ b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32.1.1.txt @@ -41,13 +41,13 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diag eccp: diagnostics generated from compilation of Test_name.int.c: ./pr94920.C: In function '_Z4thudDv4_i': -./pr94920.C:22:117: error: used vector type where scalar is required -./pr94920.C:22:203: error: used vector type where scalar is required -./pr94920.C:22:289: error: used vector type where scalar is required -./pr94920.C:22:85: error: used vector type where scalar is required -./pr94920.C:24:119: error: used vector type where scalar is required -./pr94920.C:24:207: error: used vector type where scalar is required -./pr94920.C:24:295: error: used vector type where scalar is required -./pr94920.C:24:87: error: used vector type where scalar is required +./pr94920.C:22:90: error: used vector type where scalar is required +./pr94920.C:22:158: error: used vector type where scalar is required +./pr94920.C:22:226: error: used vector type where scalar is required +./pr94920.C:22:294: error: used vector type where scalar is required +./pr94920.C:24:92: error: used vector type where scalar is required +./pr94920.C:24:162: error: used vector type where scalar is required +./pr94920.C:24:232: error: used vector type where scalar is required +./pr94920.C:24:2: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32_cp.1.1.txt index 889bc3594c..10ab52e3a2 100644 --- a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_32_cp.1.1.txt @@ -1,13 +1,13 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./pr94920.C: In function '_Z4thudDv4_i': -./pr94920.C:22:116: error: used vector type where scalar is required -./pr94920.C:22:202: error: used vector type where scalar is required -./pr94920.C:22:288: error: used vector type where scalar is required -./pr94920.C:22:85: error: used vector type where scalar is required -./pr94920.C:24:117: error: used vector type where scalar is required -./pr94920.C:24:203: error: used vector type where scalar is required -./pr94920.C:24:289: error: used vector type where scalar is required -./pr94920.C:24:85: error: used vector type where scalar is required +./pr94920.C:22:89: error: used vector type where scalar is required +./pr94920.C:22:157: error: used vector type where scalar is required +./pr94920.C:22:225: error: used vector type where scalar is required +./pr94920.C:22:293: error: used vector type where scalar is required +./pr94920.C:24:90: error: used vector type where scalar is required +./pr94920.C:24:158: error: used vector type where scalar is required +./pr94920.C:24:226: error: used vector type where scalar is required +./pr94920.C:24:294: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_64_cp.1.1.txt index 517fb8cdd3..05e2a6a1a0 100644 --- a/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/.pr94920-1.rto/edg_x86_64_cp.1.1.txt @@ -1,13 +1,13 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./pr94920.C: In function '_Z4thudDv4_i': -./pr94920.C:22:132: error: used vector type where scalar is required -./pr94920.C:22:228: error: used vector type where scalar is required -./pr94920.C:22:36: error: used vector type where scalar is required -./pr94920.C:22:132: error: used vector type where scalar is required -./pr94920.C:24:133: error: used vector type where scalar is required -./pr94920.C:24:229: error: used vector type where scalar is required -./pr94920.C:24:36: error: used vector type where scalar is required -./pr94920.C:24:132: error: used vector type where scalar is required +./pr94920.C:22:90: error: used vector type where scalar is required +./pr94920.C:22:158: error: used vector type where scalar is required +./pr94920.C:22:226: error: used vector type where scalar is required +./pr94920.C:22:294: error: used vector type where scalar is required +./pr94920.C:24:91: error: used vector type where scalar is required +./pr94920.C:24:159: error: used vector type where scalar is required +./pr94920.C:24:227: error: used vector type where scalar is required +./pr94920.C:24:295: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/default.1.1.txt index f94fdd2ec7..bf86288297 100644 --- a/tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/default.1.1.txt @@ -1,11 +1,11 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics --c++20 Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./coroutines/pr106188.C: In function '_Z1fv': -./coroutines/pr106188.C:22:5: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) +./coroutines/pr106188.C:22:5: error: 'co_await__T7' undeclared (first use in this function) ./coroutines/pr106188.C:22:5: note: each undeclared identifier is reported only once for each function it appears in -./coroutines/pr106188.C:22:223: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? +./coroutines/pr106188.C:22:182: error: '__T14' undeclared (first use in this function); did you mean '__T13'? ./coroutines/pr106188.C: In function '_Z1gv': -./coroutines/pr106188.C:26:9: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -./coroutines/pr106188.C:28:195: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? +./coroutines/pr106188.C:26:9: error: 'co_await__T21' undeclared (first use in this function) +./coroutines/pr106188.C:28:156: error: '__T29' undeclared (first use in this function); did you mean '__T28'? eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/edg_x86_32.1.1.txt deleted file mode 100644 index 2c5c0d7cf0..0000000000 --- a/tests/tests/imported/gnu/cpp/coroutines/.pr106188.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,11 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics --c++20 Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -./coroutines/pr106188.C: In function '_Z1fv': -./coroutines/pr106188.C:22:5: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -./coroutines/pr106188.C:22:5: note: each undeclared identifier is reported only once for each function it appears in -./coroutines/pr106188.C:22:208: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? -./coroutines/pr106188.C: In function '_Z1gv': -./coroutines/pr106188.C:26:9: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -./coroutines/pr106188.C:28:180: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/default.1.1.txt index 7f878de4df..a323d56378 100644 --- a/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/default.1.1.txt @@ -6,7 +6,7 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./coroutines/torture/lambda-04-templ-parm.C:15:COL: error: invalid use of void expression ./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: 'co_await__8608_7_x' undeclared (first use in this function) ./coroutines/torture/lambda-04-templ-parm.C:19:COL: note: each undeclared identifier is reported only once for each function it appears in -./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? +./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: '__T34' undeclared (first use in this function); did you mean '__T33'? ./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: invalid use of void expression eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/edg_x86_64_cp.1.1.txt index b574e31be4..73e1a4d89f 100644 --- a/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/coroutines/torture/.lambda-04-templ-parm.rto/edg_x86_64_cp.1.1.txt @@ -6,7 +6,7 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./coroutines/torture/lambda-04-templ-parm.C:15:COL: error: invalid use of void expression ./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: 'co_await__7589_7_x' undeclared (first use in this function) ./coroutines/torture/lambda-04-templ-parm.C:19:COL: note: each undeclared identifier is reported only once for each function it appears in -./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? +./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: '__T34' undeclared (first use in this function); did you mean '__T33'? ./coroutines/torture/lambda-04-templ-parm.C:19:COL: error: invalid use of void expression eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/default.1.1.txt index 0817f8956f..6cefbbd94e 100644 --- a/tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/default.1.1.txt @@ -1,9 +1,9 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics --c++20 Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./coroutines/torture/pr115905.C: In function '_Z4Corov': -./coroutines/torture/pr115905.C:45:1: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) +./coroutines/torture/pr115905.C:45:1: error: 'co_await__T7' undeclared (first use in this function) ./coroutines/torture/pr115905.C:45:1: note: each undeclared identifier is reported only once for each function it appears in -./coroutines/torture/pr115905.C:50:1: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -./coroutines/torture/pr115905.C:55:118: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? +./coroutines/torture/pr115905.C:50:1: error: 'co_await__T10' undeclared (first use in this function) +./coroutines/torture/pr115905.C:55:29: error: '__T18' undeclared (first use in this function); did you mean '__T17'? eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/edg_x86_32.1.1.txt deleted file mode 100644 index adff920160..0000000000 --- a/tests/tests/imported/gnu/cpp/coroutines/torture/.pr115905.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,9 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics --c++20 Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -./coroutines/torture/pr115905.C: In function '_Z4Corov': -./coroutines/torture/pr115905.C:45:1: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -./coroutines/torture/pr115905.C:45:1: note: each undeclared identifier is reported only once for each function it appears in -./coroutines/torture/pr115905.C:50:1: error: 'co_await__TXXXXXXXXX' undeclared (first use in this function) -./coroutines/torture/pr115905.C:55:86: error: '__TXXXXXXXXX' undeclared (first use in this function); did you mean '__TXXXXXXXXX'? -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_32_cp.1.1.txt index 49d3735347..22a47eed74 100644 --- a/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_32_cp.1.1.txt @@ -1,6 +1,6 @@ fe_only -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics --c++20 Test_name.c "Test_name.c", line 10: error: name followed by "::" must be a class or namespace name - X< S{&__TXXXXXXXXX::_FUN}> x; + X< S{&__T1::_FUN}> x; ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_64_cp.1.1.txt index 49d3735347..22a47eed74 100644 --- a/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/cpp2a/.nontype-class56.rto/edg_x86_64_cp.1.1.txt @@ -1,6 +1,6 @@ fe_only -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics --c++20 Test_name.c "Test_name.c", line 10: error: name followed by "::" must be a class or namespace name - X< S{&__TXXXXXXXXX::_FUN}> x; + X< S{&__T1::_FUN}> x; ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/default.1.1.txt index c6cecbacaa..068ed7d64b 100644 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/default.1.1.txt @@ -1,27 +1,27 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/va-arg-pack-1.C: In function '_Z3bariz': -./ext/va-arg-pack-1.C:127:108: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:114: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:134:103: -./ext/va-arg-pack-1.C:127:108: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:114: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:134:63: +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:136:69: -./ext/va-arg-pack-1.C:127:108: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:114: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:136:43: +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:138:6: -./ext/va-arg-pack-1.C:127:108: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:114: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:140:6: -./ext/va-arg-pack-1.C:127:108: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:114: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:142:165: -./ext/va-arg-pack-1.C:127:108: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:114: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:142:100: +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32.1.1.txt index 0d28c7d687..5b0fb58e49 100644 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32.1.1.txt @@ -1,27 +1,27 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/va-arg-pack-1.C: In function '_Z3bariz': -./ext/va-arg-pack-1.C:127:93: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:99: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:134:88: -./ext/va-arg-pack-1.C:127:93: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:99: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:134:62: +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:136:59: -./ext/va-arg-pack-1.C:127:93: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:99: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:136:43: +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:138:6: -./ext/va-arg-pack-1.C:127:93: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:99: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:140:6: -./ext/va-arg-pack-1.C:127:93: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:99: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:142:140: -./ext/va-arg-pack-1.C:127:93: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:99: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:142:100: +./ext/va-arg-pack-1.C:127:66: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:72: error: invalid use of '__builtin_va_arg_pack ()' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32_cp.1.1.txt index cacadf2663..cbc7ea6402 100644 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_32_cp.1.1.txt @@ -1,27 +1,27 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/va-arg-pack-1.C: In function '_Z3bariz': -./ext/va-arg-pack-1.C:127:92: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:98: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:134:88: -./ext/va-arg-pack-1.C:127:92: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:98: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:134:62: +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:136:59: -./ext/va-arg-pack-1.C:127:92: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:98: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:136:43: +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:138:6: -./ext/va-arg-pack-1.C:127:92: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:98: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:140:6: -./ext/va-arg-pack-1.C:127:92: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:98: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:142:140: -./ext/va-arg-pack-1.C:127:92: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:98: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:142:100: +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_64_cp.1.1.txt index f4bcf016bc..a593ebaf27 100644 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-1.rto/edg_x86_64_cp.1.1.txt @@ -1,27 +1,27 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/va-arg-pack-1.C: In function '_Z3bariz': -./ext/va-arg-pack-1.C:127:107: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:134:103: -./ext/va-arg-pack-1.C:127:107: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:113: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:134:63: +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:136:69: -./ext/va-arg-pack-1.C:127:107: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:113: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:136:43: +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:138:6: -./ext/va-arg-pack-1.C:127:107: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', inlined from 'main' at ./ext/va-arg-pack-1.C:140:6: -./ext/va-arg-pack-1.C:127:107: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z3bariz', - inlined from 'main' at ./ext/va-arg-pack-1.C:142:165: -./ext/va-arg-pack-1.C:127:107: error: invalid use of '__builtin_va_arg_pack ()' -./ext/va-arg-pack-1.C:128:113: error: invalid use of '__builtin_va_arg_pack ()' + inlined from 'main' at ./ext/va-arg-pack-1.C:142:100: +./ext/va-arg-pack-1.C:127:65: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-1.C:128:71: error: invalid use of '__builtin_va_arg_pack ()' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/default.1.1.txt index 0185978c0f..dc66ef8605 100644 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/default.1.1.txt @@ -3,27 +3,27 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/va-arg-pack-len-1.C: In function '_Z6myopenPKciz': ./ext/va-arg-pack-len-1.C:81:6: error: invalid use of '__builtin_va_arg_pack_len ()' ./ext/va-arg-pack-len-1.C:94:6: error: invalid use of '__builtin_va_arg_pack_len ()' -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:106:5: -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:108:5: -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:110:5: -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:112:5: -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:114:5: -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:116:5: -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:119:6: -./ext/va-arg-pack-len-1.C:97:113: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:74: error: invalid use of '__builtin_va_arg_pack ()' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32.1.1.txt deleted file mode 100644 index 44837a133e..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,29 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/va-arg-pack-len-1.C: In function '_Z6myopenPKciz': -./ext/va-arg-pack-len-1.C:81:6: error: invalid use of '__builtin_va_arg_pack_len ()' -./ext/va-arg-pack-len-1.C:94:6: error: invalid use of '__builtin_va_arg_pack_len ()' -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -In function '_Z6myopenPKciz', - inlined from 'main' at ./ext/va-arg-pack-len-1.C:106:5: -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -In function '_Z6myopenPKciz', - inlined from 'main' at ./ext/va-arg-pack-len-1.C:108:5: -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -In function '_Z6myopenPKciz', - inlined from 'main' at ./ext/va-arg-pack-len-1.C:110:5: -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -In function '_Z6myopenPKciz', - inlined from 'main' at ./ext/va-arg-pack-len-1.C:112:5: -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -In function '_Z6myopenPKciz', - inlined from 'main' at ./ext/va-arg-pack-len-1.C:114:5: -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -In function '_Z6myopenPKciz', - inlined from 'main' at ./ext/va-arg-pack-len-1.C:116:5: -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -In function '_Z6myopenPKciz', - inlined from 'main' at ./ext/va-arg-pack-len-1.C:119:6: -./ext/va-arg-pack-len-1.C:97:98: error: invalid use of '__builtin_va_arg_pack ()' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32_cp.1.1.txt index 2041861774..bcde433573 100644 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_32_cp.1.1.txt @@ -3,27 +3,27 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/va-arg-pack-len-1.C: In function '_Z6myopenPKciz': ./ext/va-arg-pack-len-1.C:81:6: error: invalid use of '__builtin_va_arg_pack_len ()' ./ext/va-arg-pack-len-1.C:94:6: error: invalid use of '__builtin_va_arg_pack_len ()' -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:106:5: -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:108:5: -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:110:5: -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:112:5: -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:114:5: -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:116:5: -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:119:6: -./ext/va-arg-pack-len-1.C:97:96: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_64_cp.1.1.txt index dd35fd4688..bcde433573 100644 --- a/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/.va-arg-pack-len-1.rto/edg_x86_64_cp.1.1.txt @@ -3,27 +3,27 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/va-arg-pack-len-1.C: In function '_Z6myopenPKciz': ./ext/va-arg-pack-len-1.C:81:6: error: invalid use of '__builtin_va_arg_pack_len ()' ./ext/va-arg-pack-len-1.C:94:6: error: invalid use of '__builtin_va_arg_pack_len ()' -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:106:5: -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:108:5: -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:110:5: -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:112:5: -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:114:5: -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:116:5: -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' In function '_Z6myopenPKciz', inlined from 'main' at ./ext/va-arg-pack-len-1.C:119:6: -./ext/va-arg-pack-len-1.C:97:111: error: invalid use of '__builtin_va_arg_pack ()' +./ext/va-arg-pack-len-1.C:97:72: error: invalid use of '__builtin_va_arg_pack ()' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/default.1.1.txt index c5d56e5563..f002655a28 100644 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/default.1.1.txt @@ -14,8 +14,8 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:204: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:204: note: each undeclared identifier is reported only once for each function it appears in +./ext/arm-fp16/arm-fp16-ops.h:43:190: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? +./ext/arm-fp16/arm-fp16-ops.h:43:190: note: each undeclared identifier is reported only once for each function it appears in ./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-1.rto/edg_x86_32_cp.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/default.1.1.txt index c5d56e5563..f002655a28 100644 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/default.1.1.txt @@ -14,8 +14,8 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:204: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:204: note: each undeclared identifier is reported only once for each function it appears in +./ext/arm-fp16/arm-fp16-ops.h:43:190: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? +./ext/arm-fp16/arm-fp16-ops.h:43:190: note: each undeclared identifier is reported only once for each function it appears in ./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-2.rto/edg_x86_32_cp.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/default.1.1.txt index c5d56e5563..f002655a28 100644 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/default.1.1.txt @@ -14,8 +14,8 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:204: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:204: note: each undeclared identifier is reported only once for each function it appears in +./ext/arm-fp16/arm-fp16-ops.h:43:190: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? +./ext/arm-fp16/arm-fp16-ops.h:43:190: note: each undeclared identifier is reported only once for each function it appears in ./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32_cp.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-3.rto/edg_x86_32_cp.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/default.1.1.txt index c5d56e5563..f002655a28 100644 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/default.1.1.txt @@ -14,8 +14,8 @@ eccp: diagnostics generated from compilation of Test_name.int.c: ./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? ./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:204: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:204: note: each undeclared identifier is reported only once for each function it appears in +./ext/arm-fp16/arm-fp16-ops.h:43:190: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? +./ext/arm-fp16/arm-fp16-ops.h:43:190: note: each undeclared identifier is reported only once for each function it appears in ./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32_cp.1.1.txt deleted file mode 100644 index cb379085c4..0000000000 --- a/tests/tests/imported/gnu/cpp/ext/arm-fp16/.arm-fp16-ops-4.rto/edg_x86_32_cp.1.1.txt +++ /dev/null @@ -1,21 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"./ext/arm-fp16/arm-fp16-ops.h", line 132: warning: expression has no effect - ((h0, h1)) == 1.0 - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -./ext/arm-fp16/arm-fp16-ops.h:10:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:8: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:14:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:10:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:11:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:12:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:13:1: error: unknown type name '__fp16'; did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h: In function 'main': -./ext/arm-fp16/arm-fp16-ops.h:43:199: error: '__fp16' undeclared (first use in this function); did you mean '__bf16'? -./ext/arm-fp16/arm-fp16-ops.h:43:199: note: each undeclared identifier is reported only once for each function it appears in -./ext/arm-fp16/arm-fp16-ops.h:100:26: error: expected ')' before 'f0' -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/default.1.1.txt index 9069c48525..72dd32c780 100644 --- a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/default.1.1.txt @@ -9,16 +9,16 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diag eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z3fooDv2_x': -Test_name.c:14:125: error: used vector type where scalar is required -Test_name.c:14:247: error: used vector type where scalar is required +Test_name.c:14:97: error: used vector type where scalar is required +Test_name.c:14:205: error: used vector type where scalar is required Test_name.c: In function '_Z3barPDv4_xS0_': -Test_name.c:20:145: error: used vector type where scalar is required -Test_name.c:20:165: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:282: error: used vector type where scalar is required -Test_name.c:20:16: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:133: error: used vector type where scalar is required -Test_name.c:20:153: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:270: error: used vector type where scalar is required -Test_name.c:20:290: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:117: error: used vector type where scalar is required +Test_name.c:20:137: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:240: error: used vector type where scalar is required +Test_name.c:20:260: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:64: error: used vector type where scalar is required +Test_name.c:20:84: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:187: error: used vector type where scalar is required +Test_name.c:20:207: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32.1.1.txt deleted file mode 100644 index a3c4359276..0000000000 --- a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,24 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"Test_name.c", line 11: warning: unknown attribute "noipa" - __attribute__((noipa)) V - ^ - -"Test_name.c", line 17: warning: unknown attribute "noipa" - __attribute__((noipa)) void - ^ - -eccp: diagnostics generated from compilation of Test_name.int.c: -Test_name.c: In function '_Z3fooDv2_x': -Test_name.c:14:115: error: used vector type where scalar is required -Test_name.c:14:232: error: used vector type where scalar is required -Test_name.c: In function '_Z3barPDv4_xS0_': -Test_name.c:20:135: error: used vector type where scalar is required -Test_name.c:20:155: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:267: error: used vector type where scalar is required -Test_name.c:20:287: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:112: error: used vector type where scalar is required -Test_name.c:20:132: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:244: error: used vector type where scalar is required -Test_name.c:20:264: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32_cp.1.1.txt index 2acba14596..d800b9a52e 100644 --- a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_32_cp.1.1.txt @@ -1,16 +1,16 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z3fooDv2_x': -Test_name.c:14:114: error: used vector type where scalar is required -Test_name.c:14:228: error: used vector type where scalar is required +Test_name.c:14:96: error: used vector type where scalar is required +Test_name.c:14:201: error: used vector type where scalar is required Test_name.c: In function '_Z3barPDv4_xS0_': -Test_name.c:20:135: error: used vector type where scalar is required -Test_name.c:20:155: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:267: error: used vector type where scalar is required -Test_name.c:20:287: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:112: error: used vector type where scalar is required -Test_name.c:20:132: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:244: error: used vector type where scalar is required -Test_name.c:20:264: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:117: error: used vector type where scalar is required +Test_name.c:20:137: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:240: error: used vector type where scalar is required +Test_name.c:20:260: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:64: error: used vector type where scalar is required +Test_name.c:20:84: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:187: error: used vector type where scalar is required +Test_name.c:20:207: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_64_cp.1.1.txt index d24166e526..d800b9a52e 100644 --- a/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/other/.sse2-pr85572-2.rto/edg_x86_64_cp.1.1.txt @@ -1,16 +1,16 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z3fooDv2_x': -Test_name.c:14:124: error: used vector type where scalar is required -Test_name.c:14:243: error: used vector type where scalar is required +Test_name.c:14:96: error: used vector type where scalar is required +Test_name.c:14:201: error: used vector type where scalar is required Test_name.c: In function '_Z3barPDv4_xS0_': -Test_name.c:20:145: error: used vector type where scalar is required -Test_name.c:20:165: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:282: error: used vector type where scalar is required -Test_name.c:20:16: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:133: error: used vector type where scalar is required -Test_name.c:20:153: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) -Test_name.c:20:270: error: used vector type where scalar is required -Test_name.c:20:290: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:117: error: used vector type where scalar is required +Test_name.c:20:137: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:240: error: used vector type where scalar is required +Test_name.c:20:260: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:64: error: used vector type where scalar is required +Test_name.c:20:84: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) +Test_name.c:20:187: error: used vector type where scalar is required +Test_name.c:20:207: error: invalid type argument of unary '*' (have 'W' {aka '__vector(4) long long int'}) eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_32_cp.1.1.txt index 257c43bf6e..996ca7634d 100644 --- a/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_32_cp.1.1.txt @@ -1,6 +1,6 @@ fe_only -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"Test_name.c", line 15: error: a compound literal of type "__TXXXXXXXXX" is not allowed - void report(int32_t d = __extension__ ((union __TXXXXXXXXX){.l = 0x7fc00000U}).d); +"Test_name.c", line 15: error: a compound literal of type "__T1" is not allowed + void report(int32_t d = __extension__ ((union __T1){.l = 0x7fc00000U}).d); ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_64_cp.1.1.txt index 257c43bf6e..996ca7634d 100644 --- a/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/parse/.defarg5.rto/edg_x86_64_cp.1.1.txt @@ -1,6 +1,6 @@ fe_only -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -"Test_name.c", line 15: error: a compound literal of type "__TXXXXXXXXX" is not allowed - void report(int32_t d = __extension__ ((union __TXXXXXXXXX){.l = 0x7fc00000U}).d); +"Test_name.c", line 15: error: a compound literal of type "__T1" is not allowed + void report(int32_t d = __extension__ ((union __T1){.l = 0x7fc00000U}).d); ^ 1 error detected in the compilation of "Test_name.c". diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/default.1.1.txt index 5538a9bade..7027d2f1d9 100644 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/default.1.1.txt @@ -1,7 +1,7 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z2f1Dv1_iS_S_S_S_S_': -Test_name.c:11:91: error: used vector type where scalar is required -Test_name.c:12:91: error: used vector type where scalar is required +Test_name.c:11:63: error: used vector type where scalar is required +Test_name.c:12:63: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32.1.1.txt deleted file mode 100644 index ced10ac487..0000000000 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,7 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -Test_name.c: In function '_Z2f1Dv1_iS_S_S_S_S_': -Test_name.c:11:81: error: used vector type where scalar is required -Test_name.c:12:81: error: used vector type where scalar is required -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32_cp.1.1.txt index 151ed3c911..f10dea7b33 100644 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_32_cp.1.1.txt @@ -1,7 +1,7 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z2f1Dv1_iS_S_S_S_S_': -Test_name.c:11:78: error: used vector type where scalar is required -Test_name.c:12:78: error: used vector type where scalar is required +Test_name.c:11:60: error: used vector type where scalar is required +Test_name.c:12:60: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_64_cp.1.1.txt index 7cf7f5d445..f10dea7b33 100644 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.pr116120-1.rto/edg_x86_64_cp.1.1.txt @@ -1,7 +1,7 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z2f1Dv1_iS_S_S_S_S_': -Test_name.c:11:88: error: used vector type where scalar is required -Test_name.c:12:88: error: used vector type where scalar is required +Test_name.c:11:60: error: used vector type where scalar is required +Test_name.c:12:60: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/default.1.1.txt index c31f1354aa..c2a00777a5 100644 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/default.1.1.txt @@ -1,7 +1,7 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z2f1Dv1_iS_S_S_Dv1_fS0_': -Test_name.c:16:91: error: used vector type where scalar is required -Test_name.c:17:91: error: used vector type where scalar is required +Test_name.c:16:63: error: used vector type where scalar is required +Test_name.c:17:63: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32.1.1.txt deleted file mode 100644 index 67531f2087..0000000000 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32.1.1.txt +++ /dev/null @@ -1,7 +0,0 @@ -eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c -eccp: diagnostics generated from compilation of Test_name.int.c: -Test_name.c: In function '_Z2f1Dv1_iS_S_S_Dv1_fS0_': -Test_name.c:16:81: error: used vector type where scalar is required -Test_name.c:17:81: error: used vector type where scalar is required -eccp: end of diagnostics from compilation of Test_name.int.c -eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32_cp.1.1.txt index 851aa4230a..ec327e803c 100644 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_32_cp.1.1.txt @@ -1,7 +1,7 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z2f1Dv1_iS_S_S_Dv1_fS0_': -Test_name.c:16:78: error: used vector type where scalar is required -Test_name.c:17:78: error: used vector type where scalar is required +Test_name.c:16:60: error: used vector type where scalar is required +Test_name.c:17:60: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_64_cp.1.1.txt index db43693cbf..ec327e803c 100644 --- a/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.pr116120-2.rto/edg_x86_64_cp.1.1.txt @@ -1,7 +1,7 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z2f1Dv1_iS_S_S_Dv1_fS0_': -Test_name.c:16:88: error: used vector type where scalar is required -Test_name.c:17:88: error: used vector type where scalar is required +Test_name.c:16:60: error: used vector type where scalar is required +Test_name.c:17:60: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/default.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/default.1.1.txt index 95b1d538b1..fb46785d95 100644 --- a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/default.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/default.1.1.txt @@ -1,6 +1,6 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z1vDv1_i': -Test_name.c:20:150: error: used vector type where scalar is required +Test_name.c:20:122: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32.1.1.txt index 973dfbb72e..4aae495184 100644 --- a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32.1.1.txt @@ -1,6 +1,6 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z1vDv1_i': -Test_name.c:20:138: error: used vector type where scalar is required +Test_name.c:20:120: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32_cp.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32_cp.1.1.txt index b11a134de4..3ebc386756 100644 --- a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_32_cp.1.1.txt @@ -1,6 +1,6 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z1vDv1_i': -Test_name.c:20:137: error: used vector type where scalar is required +Test_name.c:20:119: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 diff --git a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_64_cp.1.1.txt b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_64_cp.1.1.txt index 88a9175ca9..7a63e53b56 100644 --- a/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_64_cp.1.1.txt +++ b/tests/tests/imported/gnu/cpp/torture/.vect-absu-1.rto/edg_x86_64_cp.1.1.txt @@ -1,6 +1,6 @@ eccp -DTEST_NUMBER=1 --gnu_version=999999 -tused -e 200 --no_wrap --no_wrap_diagnostics Test_name.c eccp: diagnostics generated from compilation of Test_name.int.c: Test_name.c: In function '_Z1vDv1_i': -Test_name.c:20:149: error: used vector type where scalar is required +Test_name.c:20:121: error: used vector type where scalar is required eccp: end of diagnostics from compilation of Test_name.int.c eccp: gcc compilation of Test_name.int.c returned an exit status of 1 From be731fa978450ccff6896824ec5b6f7d112ca21b Mon Sep 17 00:00:00 2001 From: Wyatt Childers Date: Wed, 28 Oct 2026 20:38:52 +0000 Subject: [PATCH 3/3] Optimize workflows for merge_queue and introduce caching of build + test CI runs [] --- .github/workflows/build-and-test-ci.yml | 402 ++++-------------- .github/workflows/ci-toolchain.yml | 282 ++++++++++++ .github/workflows/commit-messages.yml | 26 +- .github/workflows/dev-tools-tests.yml | 11 - .github/workflows/strict-build-check.yml | 15 +- .github/workflows/typecheck-python.yml | 7 - dev_tools/bin/edg-test-inputs-hash | 61 +++ .../setup-scripts/install-software.sh | 4 + dev_tools/pylibs/edgtest/inputs/__init__.py | 85 ++++ dev_tools/tests/test_edg_test_inputs_hash.py | 195 +++++++++ dev_tools/typecheck-python.sh | 4 + 11 files changed, 712 insertions(+), 380 deletions(-) create mode 100644 .github/workflows/ci-toolchain.yml create mode 100755 dev_tools/bin/edg-test-inputs-hash create mode 100644 dev_tools/pylibs/edgtest/inputs/__init__.py create mode 100644 dev_tools/tests/test_edg_test_inputs_hash.py diff --git a/.github/workflows/build-and-test-ci.yml b/.github/workflows/build-and-test-ci.yml index 0654b6da47..3112df08bc 100644 --- a/.github/workflows/build-and-test-ci.yml +++ b/.github/workflows/build-and-test-ci.yml @@ -7,18 +7,35 @@ # # edg-docker-test --posture=extensive --non-interactive # -# inside the ghcr.io/edgcpp/ci-runner image. Jobs are staged so GitHub can schedule -# them in parallel, with each test leg waiting only on its own build (and the -# shared timestamp, which runs alongside the builds): +# inside the ghcr.io/edgcpp/ci-runner image. Each toolchain runs +# ci-toolchain.yml, which builds its preset and then runs one test leg per +# configuration; a test leg waits only on its own toolchain's build: # -# prepare ───────────────┬──► test-gcc ──┐ -# build-gcc ─────────────┘ ├──► publish (on failure) -# prepare ───────────────┬──► test-i686 ──┤ -# build-i686 ────────────┘ └──► coverage +# prepare ─┬─► linux-gcc-debug: build ─► Test ×2 ─┬─► publish (on failure) +# └─► linux-i686-gcc-debug: build ─► Test ×2 ─┴─► coverage # bench (pull requests only; independent) # +# The prepare job computes the shared run timestamp and test-input hash that +# the toolchains take as inputs. Test legs report as " / Test +# " (e.g., "linux-gcc-debug / Test edg_x86_64"). +# # A shared run timestamp keeps results under the same tests/runs// # tree; the publish job republishes failure artifacts from all test legs. +# +# The builds set EDG_BUILD_IDENTIFIER so that identical sources produce +# byte-identical build products. Each test leg keys a cache entry on the +# SHA-256 of the build products it downloaded, the test files its +# configuration can read (edg-test-inputs-hash, so re-recording a test for +# one configuration doesn't invalidate the others), and the git trees of the +# other inputs it reads from the checkout (bases/, include_c++/, +# util/eccp.sh, and the workflow files, computed once by the prepare job). +# When a leg passes, it saves that entry along with its coverage report; a +# later run on the same ref (a re-run, or a push that leaves the build +# products and test inputs unchanged) restores it, skips edgy, and reuses +# the coverage report. +# actions/cache scopes entries to the ref that saved them (plus the default +# branch), so one pull request can never vouch for another's build. +# # The bench job runs the cachegrind benchmarks the way # `edg-docker-bench --posture=release` does and uploads them as bench-results # (c/ and cpp/ runs, for comparison against the checked-in @@ -34,13 +51,6 @@ name: Build & Test CI on: - push: - branches: - - main - # The nightly collect-changes job's commits only move Changes entries. - paths-ignore: - - '**/Changes' - - '**/pending_changes/**' pull_request: merge_group: @@ -61,6 +71,7 @@ jobs: timeout-minutes: 5 outputs: run_timestamp: ${{ steps.timestamp.outputs.run_timestamp }} + test_inputs: ${{ steps.test-inputs.outputs.test_inputs }} steps: - name: Declare shared edgy run timestamp id: timestamp @@ -68,333 +79,64 @@ jobs: # Match edgutil.RUN_TIMESTAMP_FORMAT (%Y.%m.%d-%H.%M.%S). echo "run_timestamp=$(date -u +'%Y.%m.%d-%H.%M.%S')" >> "${GITHUB_OUTPUT}" - build-gcc: - name: Build linux-gcc-debug - runs-on: ubuntu-latest - timeout-minutes: 120 - container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 - defaults: - run: - shell: edg-container-exec "bash -eo pipefail {0}" - - steps: - - name: Check out repository - uses: actions/checkout@v7 - with: - persist-credentials: false - - - name: Configure linux-gcc-debug - env: - EDG_BASE: ${{ github.workspace }}/bases/docker/dev-env/gcc - run: cmake --preset linux-gcc-debug -DEDG_CPFE_USE_GCOV=ON - - - name: Build linux-gcc-debug - env: - EDG_BASE: ${{ github.workspace }}/bases/docker/dev-env/gcc - run: cmake --build build/gcc - - # Runtime layout only: environment.sh / eccp need bin/, lib/, and the - # per-target lib_linux_* / lib_win* dirs (eccp rewrites ECCP_LIBDIR to - # lib_). lib_src is build-only and omitted. The .gcno files - # let the test legs produce coverage reports. - - name: Upload build products - uses: actions/upload-artifact@v7 - with: - name: build-linux-gcc-debug - path: | - build/gcc/bin - build/gcc/lib - build/gcc/lib_linux_* - build/gcc/lib_win* - build/gcc/environment.sh - build/gcc/src/**/*.gcno - if-no-files-found: error - retention-days: 1 - compression-level: 6 - - build-i686: - name: Build linux-i686-gcc-debug - runs-on: ubuntu-latest - timeout-minutes: 120 - container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 - defaults: - run: - shell: edg-container-exec "bash -eo pipefail {0}" - - steps: - - name: Check out repository - uses: actions/checkout@v7 - with: - persist-credentials: false - - - name: Configure linux-i686-gcc-debug - env: - EDG_BASE: ${{ github.workspace }}/bases/docker/dev-env/gcc-i686 - run: cmake --preset linux-i686-gcc-debug -DEDG_CPFE_USE_GCOV=ON - - - name: Build linux-i686-gcc-debug - env: - EDG_BASE: ${{ github.workspace }}/bases/docker/dev-env/gcc-i686 - run: cmake --build build/gcc-i686 - - - name: Upload build products - uses: actions/upload-artifact@v7 - with: - name: build-linux-i686-gcc-debug - path: | - build/gcc-i686/bin - build/gcc-i686/lib - build/gcc-i686/lib_linux_* - build/gcc-i686/lib_win* - build/gcc-i686/environment.sh - build/gcc-i686/src/**/*.gcno - if-no-files-found: error - retention-days: 1 - compression-level: 6 - - test-gcc: - name: Test ${{ matrix.config }} - needs: - - prepare - - build-gcc - runs-on: ubuntu-latest - timeout-minutes: 360 - strategy: - fail-fast: false - matrix: - config: - - edg_x86_64 - - edg_x86_64_cp - container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 - # Required for setarch ... -R (disable ASLR) used by the test harness. - options: --privileged - defaults: - run: - shell: edg-container-exec "bash -eo pipefail {0}" - - steps: - - name: Check out repository + # Only the git trees are needed, so skip blobs and most of the + # working tree. + - name: Check out repository metadata uses: actions/checkout@v7 with: persist-credentials: false + filter: blob:none + sparse-checkout: .github - - name: Download linux-gcc-debug build - uses: actions/download-artifact@v7 - with: - name: build-linux-gcc-debug - # upload-artifact strips the shared build/gcc/ prefix, leaving - # bin/, lib/, and environment.sh at the artifact root. - path: build/gcc - - - name: Restore execute bits on build binaries + - name: Hash test inputs + id: test-inputs run: | - # Artifact round-trip does not reliably preserve +x. - chmod -R a+x build/gcc/bin - - - name: Run edgy (${{ matrix.config }}) - env: - RUN_TIMESTAMP: ${{ needs.prepare.outputs.run_timestamp }} - CONFIG: ${{ matrix.config }} - run: | - mkdir -p .tmp - cat > .tmp/extensive-ci-edg-base.sh < .tmp/extensive-ci.edgivk <> "${GITHUB_OUTPUT}" + + # Each toolchain builds its preset and then tests each of its + # configurations (see ci-toolchain.yml), so its test legs wait only on its + # own build. The legs report as " / Test ". + toolchain: + name: ${{ matrix.preset }} + needs: prepare strategy: fail-fast: false matrix: - config: - - edg_x86_32 - - edg_x86_32_cp - container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 - # Required for setarch ... -R (disable ASLR) used by the test harness. - options: --privileged - defaults: - run: - shell: edg-container-exec "bash -eo pipefail {0}" - - steps: - - name: Check out repository - uses: actions/checkout@v7 - with: - persist-credentials: false - - - name: Download linux-i686-gcc-debug build - uses: actions/download-artifact@v7 - with: - name: build-linux-i686-gcc-debug - # upload-artifact strips the shared build/gcc-i686/ prefix, leaving - # bin/, lib/, and environment.sh at the artifact root. - path: build/gcc-i686 - - - name: Restore execute bits on build binaries - run: | - # Artifact round-trip does not reliably preserve +x. - chmod -R a+x build/gcc-i686/bin - - - name: Run edgy (${{ matrix.config }}) - env: - RUN_TIMESTAMP: ${{ needs.prepare.outputs.run_timestamp }} - CONFIG: ${{ matrix.config }} - run: | - mkdir -p .tmp - cat > .tmp/extensive-ci-edg-base.sh < .tmp/extensive-ci.edgivk <- - ${{ always() && - (needs.test-gcc.result == 'failure' || - needs.test-i686.result == 'failure') }} + if: ${{ always() && needs.toolchain.result == 'failure' }} runs-on: ubuntu-latest timeout-minutes: 15 steps: @@ -435,9 +177,7 @@ jobs: coverage: name: Publish coverage to Codecov - needs: - - test-gcc - - test-i686 + needs: toolchain # Like publish-test-results, merge whatever the test legs produced, # whether or not their tests passed. The number of configs is not # fixed: every coverage-* artifact is merged into one report and @@ -508,7 +248,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 + image: ghcr.io/edgcpp/ci-runner@sha256:da140ca90c420977f187279d7939fe0c7cb3c4b656e5ab2dc0f6b9ac2a43a255 defaults: run: shell: edg-container-exec "bash -eo pipefail {0}" diff --git a/.github/workflows/ci-toolchain.yml b/.github/workflows/ci-toolchain.yml new file mode 100644 index 0000000000..b3949d21a8 --- /dev/null +++ b/.github/workflows/ci-toolchain.yml @@ -0,0 +1,282 @@ +# Part of the EDG Compiler Project, under the Apache License v2.0 with LLVM +# Exceptions. +# See https://edgcpp.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# +# Builds one toolchain's preset and tests it with each of its configurations. +# Called once per toolchain by build-and-test-ci.yml, which describes the +# overall job graph, the test cache, and coverage; each test leg waits only on +# this workflow's build, so the toolchains are independent of one another. +# +# There is deliberately no concurrency group here: in a called workflow, +# github.workflow is the caller's name, so a group would make the toolchains +# cancel each other. The caller's group covers this workflow. + +name: CI Toolchain + +on: + workflow_call: + inputs: + preset: + description: The CMake preset to build (also names the build artifact) + required: true + type: string + build_dir: + description: The preset's build directory (e.g., build/gcc) + required: true + type: string + base: + description: The directory under bases/docker/dev-env/ for EDG_BASE + required: true + type: string + configs: + description: A JSON list of the edgy configurations to test + required: true + type: string + run_timestamp: + description: The edgy run timestamp shared by all test legs + required: true + type: string + test_inputs: + description: The hash of the test inputs (part of the test cache key) + required: true + type: string + +permissions: + contents: read + +# The steps refer to the inputs through these variables (in run scripts, as +# shell variables rather than expressions). +env: + GCOVR_VERSION: '8.7' + CI_PRESET: ${{ inputs.preset }} + CI_BUILD_DIR: ${{ inputs.build_dir }} + CI_BASE: ${{ inputs.base }} + +jobs: + build: + name: Build ${{ inputs.preset }} + runs-on: ubuntu-latest + timeout-minutes: 120 + container: + image: &ci-runner-image ghcr.io/edgcpp/ci-runner@sha256:da140ca90c420977f187279d7939fe0c7cb3c4b656e5ab2dc0f6b9ac2a43a255 + defaults: &container-defaults + run: + shell: edg-container-exec "bash -eo pipefail {0}" + + steps: + - name: Check out repository + uses: actions/checkout@v7 + with: + persist-credentials: false + + - name: Configure ${{ env.CI_PRESET }} + env: + EDG_BASE: ${{ github.workspace }}/bases/docker/dev-env/${{ env.CI_BASE }} + run: >- + cmake --preset "${CI_PRESET}" -DEDG_CPFE_USE_GCOV=ON + -DEDG_BUILD_IDENTIFIER=ci + + - name: Build ${{ env.CI_PRESET }} + env: + EDG_BASE: ${{ github.workspace }}/bases/docker/dev-env/${{ env.CI_BASE }} + run: cmake --build "${CI_BUILD_DIR}" + + # Runtime layout only: environment.sh / eccp need bin/, lib/, and the + # per-target lib_linux_* / lib_win* dirs (eccp rewrites ECCP_LIBDIR to + # lib_). lib_src is build-only and omitted. The .gcno files + # let the test legs produce coverage reports. + - name: Upload build products + uses: actions/upload-artifact@v7 + with: + name: build-${{ env.CI_PRESET }} + path: | + ${{ env.CI_BUILD_DIR }}/bin + ${{ env.CI_BUILD_DIR }}/lib + ${{ env.CI_BUILD_DIR }}/lib_linux_* + ${{ env.CI_BUILD_DIR }}/lib_win* + ${{ env.CI_BUILD_DIR }}/environment.sh + ${{ env.CI_BUILD_DIR }}/src/**/*.gcno + if-no-files-found: error + retention-days: 1 + compression-level: 6 + + test: + name: Test ${{ matrix.config }} + needs: build + runs-on: ubuntu-latest + timeout-minutes: 360 + strategy: + fail-fast: false + matrix: + config: ${{ fromJSON(inputs.configs) }} + container: + image: *ci-runner-image + # Required for setarch ... -R (disable ASLR) used by the test harness. + options: --privileged + defaults: *container-defaults + + steps: + - name: Check out repository + uses: actions/checkout@v7 + with: + persist-credentials: false + + - name: Download ${{ env.CI_PRESET }} build + uses: actions/download-artifact@v7 + with: + name: build-${{ env.CI_PRESET }} + # upload-artifact strips the shared build directory prefix, leaving + # bin/, lib/, and environment.sh at the artifact root. + path: ${{ env.CI_BUILD_DIR }} + + - name: Restore execute bits on build binaries + run: | + # Artifact round-trip does not reliably preserve +x. + chmod -R a+x "${CI_BUILD_DIR}/bin" + + - name: Compute test cache key + id: key + env: + CONFIG: ${{ matrix.config }} + TEST_INPUTS: ${{ inputs.test_inputs }} + run: | + # Hash the test files this configuration can read, using the + # image's tools (like edgy itself, so the selection rules match). + # The helper reads git trees, and git refuses a repository owned + # by another user (the workspace belongs to the runner's user, not + # the container's) unless it is marked safe. + git config --global --add safe.directory "${GITHUB_WORKSPACE}" + tests="$(EDG_TEST_HOME="${GITHUB_WORKSPACE}/tests" \ + edg-test-inputs-hash --config "${CONFIG}")" + echo "Test files: ${tests}" + # Hash the names and contents of the downloaded build products. + build="$(cd "${CI_BUILD_DIR}" && + find . -type f -print0 | LC_ALL=C sort -z | + xargs -0 sha256sum | sha256sum | cut -c1-64)" + echo "Build products: ${build}" + echo "key=tested-${CONFIG}-${TEST_INPUTS}-${tests}-${build}" \ + >> "${GITHUB_OUTPUT}" + + - name: Look for an earlier passing run of this build + id: tested + uses: actions/cache/restore@v6 + with: + key: ${{ steps.key.outputs.key }} + path: .tmp/tested + + - name: Reuse earlier results + if: ${{ steps.tested.outputs.cache-hit == 'true' }} + run: | + echo "::notice::This build already passed with the same test" \ + "inputs: $(cat .tmp/tested/ci-meta.json)" + mkdir -p coverage + cp .tmp/tested/coverage/*.json coverage/ || true + + - name: Run edgy (${{ matrix.config }}) + id: edgy + if: ${{ steps.tested.outputs.cache-hit != 'true' }} + env: + RUN_TIMESTAMP: ${{ inputs.run_timestamp }} + CONFIG: ${{ matrix.config }} + run: | + mkdir -p .tmp + cat > .tmp/extensive-ci-edg-base.sh < .tmp/extensive-ci.edgivk <- + ${{ steps.edgy.outcome == 'success' && + hashFiles(format('coverage/{0}.json', matrix.config)) != '' }} + env: + CONFIG: ${{ matrix.config }} + RUN_ID: ${{ github.run_id }} + RUN_ATTEMPT: ${{ github.run_attempt }} + TESTED_SHA: ${{ github.sha }} + run: | + mkdir -p .tmp/tested/coverage + cp "coverage/${CONFIG}.json" .tmp/tested/coverage/ + python3 - > .tmp/tested/ci-meta.json <<'EOF' + import json, os + print(json.dumps({ + 'tested_sha': os.environ['TESTED_SHA'], + 'run_id': int(os.environ['RUN_ID']), + 'run_attempt': int(os.environ['RUN_ATTEMPT']), + })) + EOF + + - name: Save record of this passing run + if: ${{ steps.record.outcome == 'success' }} + uses: actions/cache/save@v6 + with: + key: ${{ steps.key.outputs.key }} + path: .tmp/tested diff --git a/.github/workflows/commit-messages.yml b/.github/workflows/commit-messages.yml index 5afa2724ff..29b48f351d 100644 --- a/.github/workflows/commit-messages.yml +++ b/.github/workflows/commit-messages.yml @@ -3,16 +3,14 @@ # See https://edgcpp.org/LICENSE.txt for license information. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # -# Check the messages of the new commits pushed to main and of every pull -# request's commits with edg-check-commit-messages (the same policy the -# pre-push hook applies, from edgchanges). Only commits with a violation are -# reported. +# Check the messages of every pull request's commits and of every merge queue +# entry with edg-check-commit-messages (the same policy the pre-push hook +# applies, from edgchanges). Only commits with a violation are reported. # # A pull request is checked from its base commit to its head commit, and a # merge queue entry from the branch it is merged into to its tip (so the -# commits the queue creates are checked too). A push is checked from the -# previous tip of main. If that tip is unavailable (e.g. after a force-push), -# the job fails rather than check nothing. +# commits the queue creates are checked too). Commits land on main only +# through the merge queue, so pushes to main are not checked again. # # The checker and the commits come from one checkout of github.sha, the same # commit GitHub loads this workflow from. For a pull request that is the merge @@ -26,9 +24,6 @@ name: Commit Messages on: - push: - branches: - - main pull_request: merge_group: @@ -63,21 +58,12 @@ jobs: PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} QUEUE_BASE_SHA: ${{ github.event.merge_group.base_sha }} QUEUE_HEAD_SHA: ${{ github.event.merge_group.head_sha }} - PUSH_BEFORE_SHA: ${{ github.event.before }} ALLOW_MERGE_COMMITS: ${{ vars.ALLOW_MERGE_COMMITS }} run: | if [[ "${EVENT_NAME}" == pull_request ]]; then range=("${PR_BASE_SHA}..${PR_HEAD_SHA}") - elif [[ "${EVENT_NAME}" == merge_group ]]; then - range=("${QUEUE_BASE_SHA}..${QUEUE_HEAD_SHA}") - elif [[ "${PUSH_BEFORE_SHA}" != 0000000000000000000000000000000000000000 ]] && - git cat-file -e "${PUSH_BEFORE_SHA}^{commit}" 2> /dev/null; then - range=("${PUSH_BEFORE_SHA}..HEAD") else - echo "::error::No previous tip of the branch to compare against" \ - "(push before: ${PUSH_BEFORE_SHA}); the pushed commits" \ - "were not checked." - exit 1 + range=("${QUEUE_BASE_SHA}..${QUEUE_HEAD_SHA}") fi options=() if [[ "${ALLOW_MERGE_COMMITS}" == true ]]; then diff --git a/.github/workflows/dev-tools-tests.yml b/.github/workflows/dev-tools-tests.yml index eb94a0b84f..060354ed29 100644 --- a/.github/workflows/dev-tools-tests.yml +++ b/.github/workflows/dev-tools-tests.yml @@ -9,17 +9,6 @@ name: Dev Tools Tests on: - push: - branches: - - main - paths: - - .github/workflows/dev-tools-tests.yml - - dev_tools/bin/edg-check-commit-messages - - dev_tools/bin/edg-check-file-changes - - dev_tools/bin/edg-collect-changes - - dev_tools/pylibs/edgchanges/** - - dev_tools/pylibs/edgutil/** - - dev_tools/tests/** pull_request: paths: - .github/workflows/dev-tools-tests.yml diff --git a/.github/workflows/strict-build-check.yml b/.github/workflows/strict-build-check.yml index a8431ddb38..258e9aa8b6 100644 --- a/.github/workflows/strict-build-check.yml +++ b/.github/workflows/strict-build-check.yml @@ -9,13 +9,6 @@ name: Strict Build Check on: - push: - branches: - - main - # The nightly collect-changes job's commits only move Changes entries. - paths-ignore: - - '**/Changes' - - '**/pending_changes/**' pull_request: merge_group: @@ -165,7 +158,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 + image: ghcr.io/edgcpp/ci-runner@sha256:da140ca90c420977f187279d7939fe0c7cb3c4b656e5ab2dc0f6b9ac2a43a255 defaults: run: shell: edg-container-exec "bash -eo pipefail {0}" @@ -192,7 +185,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 + image: ghcr.io/edgcpp/ci-runner@sha256:da140ca90c420977f187279d7939fe0c7cb3c4b656e5ab2dc0f6b9ac2a43a255 defaults: run: shell: edg-container-exec "bash -eo pipefail {0}" @@ -219,7 +212,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 + image: ghcr.io/edgcpp/ci-runner@sha256:da140ca90c420977f187279d7939fe0c7cb3c4b656e5ab2dc0f6b9ac2a43a255 defaults: run: shell: edg-container-exec "bash -eo pipefail {0}" @@ -246,7 +239,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 120 container: - image: ghcr.io/edgcpp/ci-runner@sha256:14b3948c2ce12cfa5472e5a6c468393d15426f3a67685cc35d830ea5db2acdf8 + image: ghcr.io/edgcpp/ci-runner@sha256:da140ca90c420977f187279d7939fe0c7cb3c4b656e5ab2dc0f6b9ac2a43a255 defaults: run: shell: edg-container-exec "bash -eo pipefail {0}" diff --git a/.github/workflows/typecheck-python.yml b/.github/workflows/typecheck-python.yml index 7a52465e0c..a871d03b98 100644 --- a/.github/workflows/typecheck-python.yml +++ b/.github/workflows/typecheck-python.yml @@ -11,13 +11,6 @@ name: Python Typecheck on: - push: - branches: - - main - # The nightly collect-changes job's commits only move Changes entries. - paths-ignore: - - '**/Changes' - - '**/pending_changes/**' pull_request: merge_group: diff --git a/dev_tools/bin/edg-test-inputs-hash b/dev_tools/bin/edg-test-inputs-hash new file mode 100755 index 0000000000..2adc3e099e --- /dev/null +++ b/dev_tools/bin/edg-test-inputs-hash @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 + +# Part of the EDG Compiler Project, under the Apache License v2.0 with LLVM +# Exceptions. +# See https://edgcpp.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +'''Print a SHA-256 digest of the test files a run of one configuration can +read (see edgtest.inputs), e.g., for a CI cache key: + + edg-test-inputs-hash --config edg_x86_32_cp + +The test home is found as for edgy ($EDG_TEST_HOME, or the tests/ directory +of the enclosing checkout). Only git trees are read (as of --rev), so +uncommitted changes are not included. +''' + +import argparse +import subprocess +import sys + +import edgtest +import edgutil + +from edgtest import inputs + +def _parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description = ( + 'Print a SHA-256 digest of the test files a run of one configuration ' + 'can read.' + ) + ) + parser.add_argument( + '--config', + required = True, + help = 'the test configuration (e.g., edg_x86_64)' + ) + parser.add_argument( + '--rev', + default = 'HEAD', + help = 'the git revision to read (default: HEAD)' + ) + return parser.parse_args() + +def main() -> int: + args = _parse_args() + if inputs.TOOL_PATH_GIT is None: + edgutil.eprint('error: git not found') + return 1 + + test_home = edgtest.load_test_home_or_exit() + try: + print(inputs.hash_test_inputs(test_home, args.config, rev = args.rev)) + except (OSError, subprocess.CalledProcessError) as ex: + edgutil.eprint(f"error: {ex}") + return 1 + return 0 + +if __name__ == '__main__': + sys.exit(main()) diff --git a/dev_tools/docker/ci-runner/setup-scripts/install-software.sh b/dev_tools/docker/ci-runner/setup-scripts/install-software.sh index 3acf4c1560..2532ffc9c6 100755 --- a/dev_tools/docker/ci-runner/setup-scripts/install-software.sh +++ b/dev_tools/docker/ci-runner/setup-scripts/install-software.sh @@ -15,6 +15,10 @@ packages+=("nodejs") # Add valgrind (cachegrind) for the CI benchmark job. packages+=("valgrind") +# Add zstd for actions/cache, which compresses its archives with it (and +# otherwise falls back to gzip, which this image also lacks). +packages+=("zstd") + # Install the core packages (dnf fetches the package database on install, # so forcing an update here, particularly for development is counter # productive to image build time -- nearly doubling it on a MacBook Pro diff --git a/dev_tools/pylibs/edgtest/inputs/__init__.py b/dev_tools/pylibs/edgtest/inputs/__init__.py new file mode 100644 index 0000000000..439ac04511 --- /dev/null +++ b/dev_tools/pylibs/edgtest/inputs/__init__.py @@ -0,0 +1,85 @@ +# Part of the EDG Compiler Project, under the Apache License v2.0 with LLVM +# Exceptions. +# See https://edgcpp.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +'''The files of a test home that a run of one configuration can read. + +A run with a given configuration reads every test source, but only some of the +per-configuration files: + + - recordings (in a test's ..rto/ directory): the configuration's own + recordings, falling back to the default configuration's "default." + recordings (see edgtest.runtest.get_recording_possible_names); + - expectations// and flakey-tests//: the configuration's own + directory and the default configuration's (see edgtest.expectations). + +hash_test_inputs hashes just those files, so that, e.g., re-recording a test +for one configuration doesn't change the hash for the others. It reads git +trees only (never file contents), so it also works in a blob-less clone. + +Keep this in sync with how edgy selects these files. +''' + +import hashlib +import shutil +import subprocess + +from pathlib import Path, PurePosixPath +from typing import Set + +from edgtest import runtest + +TOOL_PATH_GIT = shutil.which('git') + +_PER_CONFIG_DIRS = ('expectations', 'flakey-tests') + +def is_input_for_config(path: PurePosixPath, + config: str, default_config: str) -> bool: + '''Return whether a run of config can read the file at path (relative to the + test home), where default_config is the default configuration.''' + parent = path.parent.name + if parent.startswith('.') and parent.endswith('.rto'): + # Only the default configuration's recordings are named "default."; its + # own name is never consulted. + prefixes = ['default.'] + if config != default_config: + prefixes.append(f"{config}.") + return path.name.startswith(tuple(prefixes)) + if len(path.parts) >= 3 and path.parts[0] in _PER_CONFIG_DIRS: + return path.parts[1] in (config, default_config) + return True + +def hash_test_inputs(test_home: Path, config: str, *, + rev: str = 'HEAD') -> str: + '''Return a SHA-256 hex digest of the files in test_home (as of rev) that a + run of config can read. + + The digest covers each such file's mode, blob hash, and path, plus the name + of every per-configuration directory (edgy requires each configured one to + exist, so removing another configuration's directory changes the digest).''' + assert TOOL_PATH_GIT is not None, 'git is required' + default_config = runtest.get_default_config_name() + listing = subprocess.run( + [TOOL_PATH_GIT, 'ls-tree', '-r', '-z', rev, '--', '.'], + cwd = test_home, + stdout = subprocess.PIPE, + check = True + ).stdout + + digest = hashlib.sha256() + per_config_dirs: Set[str] = set() + for entry in listing.split(b'\0'): + if not entry: + continue + # Each entry is " \t", with the path relative + # to test_home. + info, _, raw_path = entry.partition(b'\t') + path = PurePosixPath(raw_path.decode('utf-8', errors = 'surrogateescape')) + if len(path.parts) >= 3 and path.parts[0] in _PER_CONFIG_DIRS: + per_config_dirs.add(f"{path.parts[0]}/{path.parts[1]}") + if is_input_for_config(path, config, default_config): + digest.update(info + b'\t' + raw_path + b'\0') + for name in sorted(per_config_dirs): + digest.update(f"dir\t{name}\0".encode('utf-8', errors = 'surrogateescape')) + return digest.hexdigest() diff --git a/dev_tools/tests/test_edg_test_inputs_hash.py b/dev_tools/tests/test_edg_test_inputs_hash.py new file mode 100644 index 0000000000..18543051b7 --- /dev/null +++ b/dev_tools/tests/test_edg_test_inputs_hash.py @@ -0,0 +1,195 @@ +# Part of the EDG Compiler Project, under the Apache License v2.0 with LLVM +# Exceptions. +# See https://edgcpp.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +'''Tests for the per-configuration test inputs (edgtest.inputs) and +edg-test-inputs-hash. + +Run with: python3 -m unittest discover -s dev_tools/tests +(with dev_tools/pylibs on PYTHONPATH). +''' + +import os +import subprocess +import sys +import tempfile +import unittest + +from pathlib import Path, PurePosixPath +from typing import Dict +from unittest import mock + +from edgtest import inputs + +DEV_TOOLS_DIR = Path(__file__).resolve().parents[1] +HASH_TOOL_PATH = DEV_TOOLS_DIR / 'bin' / 'edg-test-inputs-hash' + +CONFIGS = ('edg_x86_64', 'edg_x86_64_cp', 'edg_x86_32', 'edg_x86_32_cp') + +class IsInputForConfigTests(unittest.TestCase): + '''The selection rule, file by file.''' + + def check(self, path: str, config: str, expected: bool) -> None: + self.assertEqual( + inputs.is_input_for_config(PurePosixPath(path), config, 'edg_x86_64'), + expected, + f"{path} for {config}" + ) + + def test_recordings(self) -> None: + rto = 'tests/edg/.t.rto' + for config in CONFIGS: + self.check(f"{rto}/default.1.1.txt", config, True) + self.check(f"{rto}/default.1.matches.txt", config, True) + self.check(f"{rto}/edg_x86_32.1.1.txt", 'edg_x86_32', True) + self.check(f"{rto}/edg_x86_32.1.1.txt", 'edg_x86_32_cp', False) + self.check(f"{rto}/edg_x86_32_cp.1.1.txt", 'edg_x86_32', False) + self.check(f"{rto}/edg_x86_32_cp.1.1.txt", 'edg_x86_64', False) + # The default configuration only ever reads "default." recordings. + self.check(f"{rto}/edg_x86_64.1.1.txt", 'edg_x86_64', False) + + def test_per_config_dirs(self) -> None: + for top in ('expectations', 'flakey-tests'): + self.check(f"{top}/edg_x86_64/edg.log", 'edg_x86_32', True) + self.check(f"{top}/edg_x86_32/edg.log", 'edg_x86_32', True) + self.check(f"{top}/edg_x86_32/edg.log", 'edg_x86_32_cp', False) + self.check(f"{top}/edg_x86_32/edg.log", 'edg_x86_64', False) + + def test_shared_files(self) -> None: + for config in CONFIGS: + self.check('tests/edg/t.c', config, True) + self.check('tests/edg/.t/input.h', config, True) + self.check('.edgy/config.json', config, True) + +class HashTestInputsTests(unittest.TestCase): + '''hash_test_inputs on a git repository whose test home is tests/.''' + + def setUp(self) -> None: + tmp_dir = tempfile.TemporaryDirectory() + self.addCleanup(tmp_dir.cleanup) + self.repo = Path(tmp_dir.name) + self.test_home = self.repo / 'tests' + self.git = ['git', '-C', str(self.repo)] + subprocess.run(self.git + ['init', '-q'], check = True) + self.write({ + '.edgy/config.json': '{}\n', + 'tests/edg/t.c': 'int main() { return 0; }\n', + 'tests/edg/.t.rto/default.1.1.txt': 'default\n', + 'tests/edg/.t.rto/edg_x86_32.1.1.txt': 'x86_32\n', + 'tests/edg/.t.rto/edg_x86_32_cp.1.1.txt': 'x86_32_cp\n', + **{f"expectations/{config}/edg.log": f"{config}\n" + for config in CONFIGS} + }) + self.env = mock.patch.dict(os.environ) + self.env.start() + self.addCleanup(self.env.stop) + os.environ.pop('RUN_TEST_DEFAULT_CONFIG', None) + + def write(self, files: Dict[str, str]) -> None: + for name, content in files.items(): + path = self.test_home / name + path.parent.mkdir(parents = True, exist_ok = True) + path.write_text(content) + self.commit() + + def remove(self, name: str) -> None: + subprocess.run(self.git + ['rm', '-q', '-r', f"tests/{name}"], + check = True) + self.commit() + + def commit(self) -> None: + subprocess.run(self.git + ['add', '-A'], check = True) + subprocess.run( + self.git + ['-c', 'user.name=t', '-c', 'user.email=t@example.com', + 'commit', '-q', '--allow-empty', '-m', 'Update'], + check = True + ) + + def hashes(self) -> Dict[str, str]: + return { + config: inputs.hash_test_inputs(self.test_home, config) + for config in CONFIGS + } + + def assert_changed(self, before: Dict[str, str], *changed: str) -> None: + after = self.hashes() + for config in CONFIGS: + if config in changed: + self.assertNotEqual(before[config], after[config], config) + else: + self.assertEqual(before[config], after[config], config) + + def test_stable_and_distinct(self) -> None: + before = self.hashes() + self.assertEqual(before, self.hashes()) + self.assertEqual(len(set(before.values())), len(CONFIGS)) + + def test_own_recording(self) -> None: + before = self.hashes() + self.write({'tests/edg/.t.rto/edg_x86_32_cp.1.1.txt': 'changed\n'}) + self.assert_changed(before, 'edg_x86_32_cp') + + def test_new_recording(self) -> None: + before = self.hashes() + self.write({'tests/edg/.t.rto/edg_x86_64_cp.2.1.txt': 'new\n'}) + self.assert_changed(before, 'edg_x86_64_cp') + + def test_default_recording(self) -> None: + before = self.hashes() + self.write({'tests/edg/.t.rto/default.1.1.txt': 'changed\n'}) + self.assert_changed(before, *CONFIGS) + + def test_test_source(self) -> None: + before = self.hashes() + self.write({'tests/edg/t.c': 'int main() { return 1; }\n'}) + self.assert_changed(before, *CONFIGS) + + def test_expectations(self) -> None: + before = self.hashes() + self.write({'expectations/edg_x86_32/edg.log': 'changed\n'}) + self.assert_changed(before, 'edg_x86_32') + before = self.hashes() + self.write({'expectations/edg_x86_64/edg.log': 'changed\n'}) + self.assert_changed(before, *CONFIGS) + + def test_removed_config_directory(self) -> None: + # edgy requires every configured expectations directory to exist. + before = self.hashes() + self.remove('expectations/edg_x86_32') + self.assert_changed(before, *CONFIGS) + + def test_default_config_override(self) -> None: + before = self.hashes() + os.environ['RUN_TEST_DEFAULT_CONFIG'] = 'edg_x86_32' + after = self.hashes() + # edg_x86_32 is now the default: it reads only "default." recordings and + # its own expectations, and every configuration inherits from it. + for config in CONFIGS: + self.assertNotEqual(before[config], after[config], config) + before = after + self.write({'expectations/edg_x86_32/edg.log': 'changed\n'}) + self.assert_changed(before, *CONFIGS) + + def test_uncommitted_changes_ignored(self) -> None: + before = self.hashes() + (self.test_home / 'tests' / 'edg' / 't.c').write_text('uncommitted\n') + self.assert_changed(before) + + def test_tool(self) -> None: + result = subprocess.run( + [sys.executable, str(HASH_TOOL_PATH), '--config', 'edg_x86_32'], + capture_output = True, + text = True, + env = dict( + os.environ, + PYTHONPATH = str(DEV_TOOLS_DIR / 'pylibs'), + EDG_TEST_HOME = str(self.test_home) + ) + ) + self.assertEqual(result.returncode, 0, result.stderr) + self.assertEqual(result.stdout.strip(), + inputs.hash_test_inputs(self.test_home, 'edg_x86_32')) + +if __name__ == '__main__': + unittest.main() diff --git a/dev_tools/typecheck-python.sh b/dev_tools/typecheck-python.sh index 2719027da9..0c13edfe7d 100755 --- a/dev_tools/typecheck-python.sh +++ b/dev_tools/typecheck-python.sh @@ -68,6 +68,7 @@ pushd bin/ > /dev/null check_types_strict edg-rematerialize-test-run check_types_strict edg-run-test check_types edg-scrape-compiler + check_types_strict edg-test-inputs-hash check_types_strict edg-test-run-diff check_types_strict edg-test-run-sonar check_types edg-walk-tests @@ -123,6 +124,9 @@ pushd pylibs/ > /dev/null popd > /dev/null pushd edgtest/ > /dev/null check_types_strict __init__.py + pushd inputs/ > /dev/null + check_types_strict __init__.py + popd > /dev/null pushd runtest/ > /dev/null check_types_strict __init__.py popd > /dev/null