8319818: Address GCC 13.2.0 warnings (stringop-overflow and dangling-pointer)
Reviewed-by: ihse, dholmes
This commit is contained in:
parent
3684b4b5f2
commit
c0507af5a4
@ -88,6 +88,13 @@ DISABLED_WARNINGS_gcc := array-bounds comment delete-non-virtual-dtor \
|
||||
maybe-uninitialized missing-field-initializers parentheses \
|
||||
shift-negative-value unknown-pragmas
|
||||
|
||||
ifeq ($(DEBUG_LEVEL), fastdebug)
|
||||
ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, aarch64)), true)
|
||||
# False positive warnings for atomic_linux_aarch64.hpp on GCC >= 13
|
||||
DISABLED_WARNINGS_gcc += stringop-overflow
|
||||
endif
|
||||
endif
|
||||
|
||||
DISABLED_WARNINGS_clang := sometimes-uninitialized \
|
||||
missing-braces delete-non-abstract-non-virtual-dtor unknown-pragmas
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -43,6 +43,18 @@ void ResourceArea::bias_to(MEMFLAGS new_flags) {
|
||||
|
||||
#ifdef ASSERT
|
||||
|
||||
ResourceMark::ResourceMark(ResourceArea* area, Thread* thread) :
|
||||
_impl(area),
|
||||
_thread(thread),
|
||||
_previous_resource_mark(nullptr)
|
||||
{
|
||||
if (_thread != nullptr) {
|
||||
assert(_thread == Thread::current(), "not the current thread");
|
||||
_previous_resource_mark = _thread->current_resource_mark();
|
||||
_thread->set_current_resource_mark(this);
|
||||
}
|
||||
}
|
||||
|
||||
void ResourceArea::verify_has_resource_mark() {
|
||||
if (_nesting <= 0 && !VMError::is_error_reported()) {
|
||||
// Only report the first occurrence of an allocating thread that
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -193,17 +193,7 @@ class ResourceMark: public StackObj {
|
||||
#ifndef ASSERT
|
||||
ResourceMark(ResourceArea* area, Thread* thread) : _impl(area) {}
|
||||
#else
|
||||
ResourceMark(ResourceArea* area, Thread* thread) :
|
||||
_impl(area),
|
||||
_thread(thread),
|
||||
_previous_resource_mark(nullptr)
|
||||
{
|
||||
if (_thread != nullptr) {
|
||||
assert(_thread == Thread::current(), "not the current thread");
|
||||
_previous_resource_mark = _thread->current_resource_mark();
|
||||
_thread->set_current_resource_mark(this);
|
||||
}
|
||||
}
|
||||
ResourceMark(ResourceArea* area, Thread* thread);
|
||||
#endif // ASSERT
|
||||
|
||||
public:
|
||||
|
Loading…
Reference in New Issue
Block a user