CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#include <algorithm>
|
|
#include "odr_header1.h"
|
|
|
|
class Ordering {
|
|
public:
|
|
bool operator()(int a, int b) __attribute__((never_inline));
|
|
};
|
|
|
|
// This comment makes the line numbers in Ordering::operator() all have
|
|
// two digits, which causes gold's output to be independent of which
|
|
// instruction the compiler optimizes into the front of the function.
|
|
bool Ordering::operator()(int a, int b) {
|
|
// Optimization makes this operator() a different size than the one
|
|
// in odr_violation1.cc.
|
|
return (a * 30 + b + 12345) > b / 67;
|
|
}
|
|
|
|
void SortDescending(int array[], int size) {
|
|
std::sort(array, array + size, Ordering());
|
|
}
|
|
|
|
// This is weak in odr_violation1.cc.
|
|
extern "C" int OverriddenCFunction(int i) {
|
|
return i * i;
|
|
}
|
|
|
|
// Extra lines to put SometimeInlineFunction at line 30+.
|
|
|
|
// And a dummy function to workaround a GCC 7 bug with debug line numbers.
|
|
int DummyFunction(int i) {
|
|
return i ^ 0x5555;
|
|
}
|
|
|
|
// This is inline in debug_msg.cc, which makes it a weak symbol too.
|
|
int SometimesInlineFunction(int i) {
|
|
return i * i;
|
|
}
|
|
|
|
// Instantiate the Derived vtable, with optimization (see Makefile.am).
|
|
OdrBase* CreateOdrDerived2() {
|
|
return new OdrDerived;
|
|
}
|