Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
98ee239e
Commit
98ee239e
authored
Jul 17, 1995
by
Richard Kenner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(HAVE_ATEXIT): Define.
From-SVN: r10143
parent
fb695d4a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
19 deletions
+17
-19
gcc/config/vax/vms.h
+17
-19
No files found.
gcc/config/vax/vms.h
View file @
98ee239e
/* Output variables, constants and external declarations, for GNU compiler.
/* Output variables, constants and external declarations, for GNU compiler.
Copyright (C) 1988, 1994 Free Software Foundation, Inc.
Copyright (C) 1988, 1994
, 1995
Free Software Foundation, Inc.
This file is part of GNU CC.
This file is part of GNU CC.
...
@@ -317,6 +317,9 @@ const_section () \
...
@@ -317,6 +317,9 @@ const_section () \
fputc ('\n', (FILE)); \
fputc ('\n', (FILE)); \
}
}
/* True for VMS V4.6 and later. */
#define HAVE_ATEXIT
/* The following definitions are used in libgcc2.c with the __main
/* The following definitions are used in libgcc2.c with the __main
function. The _SHR symbol is used when the sharable image library
function. The _SHR symbol is used when the sharable image library
for libg++ is used - this is picked up automatically by the linker
for libg++ is used - this is picked up automatically by the linker
...
@@ -335,25 +338,22 @@ const_section () \
...
@@ -335,25 +338,22 @@ const_section () \
#define DO_GLOBAL_CTORS_BODY \
#define DO_GLOBAL_CTORS_BODY \
do { \
do { \
func_ptr *p; \
func_ptr *p; \
extern func_ptr __CTOR_LIST__[1]; \
extern func_ptr __CTOR_LIST__[1], __CTOR_LIST_END__[1]; \
extern func_ptr __CTOR_LIST_END__[1]; \
extern func_ptr __CTOR_LIST_SHR__[1], __CTOR_LIST_SHR_END__[1]; \
extern func_ptr __CTOR_LIST_SHR__[1]; \
if (&__CTOR_LIST_SHR__[0] != &__CTOR_LIST__[1]) \
extern func_ptr __CTOR_LIST_SHR_END__[1]; \
for (p = __CTOR_LIST_SHR__ + 1; p < __CTOR_LIST_SHR_END__ ; p++ ) \
if( &__CTOR_LIST_SHR__[0] != &__CTOR_LIST__[1]) \
if (*p) (*p) (); \
for (p = __CTOR_LIST_SHR__ + 1; p < __CTOR_LIST_SHR_END__ ; p++ ) \
if (*p) (*p) (); \
for (p = __CTOR_LIST__ + 1; p < __CTOR_LIST_END__ ; p++ ) \
for (p = __CTOR_LIST__ + 1; p < __CTOR_LIST_END__ ; p++ ) \
if (*p) (*p) (); \
if (*p) (*p) (); \
atexit (__do_global_dtors); \
do {
/* arrange for `return' from main() to pass through exit() */
\
{ \
__label__ foo; \
__label__ foo; \
int *callers_caller_fp = (int *) __builtin_frame_address (3); \
int *callers_caller_fp = (int *) __builtin_frame_address (3); \
register int retval asm ("r0"); \
register int retval asm ("r0"); \
callers_caller_fp[4] = (int) && foo; \
callers_caller_fp[4] = (int) && foo; \
return;
\
break;
/* out of do-while block */
\
foo: \
foo: \
exit (retval); \
exit (retval); \
}
\
} while (0);
\
} while (0)
} while (0)
#define __DTOR_LIST__ __gxx_clean_0
#define __DTOR_LIST__ __gxx_clean_0
...
@@ -365,15 +365,13 @@ do { \
...
@@ -365,15 +365,13 @@ do { \
#define DO_GLOBAL_DTORS_BODY \
#define DO_GLOBAL_DTORS_BODY \
do { \
do { \
func_ptr *p; \
func_ptr *p; \
extern func_ptr __DTOR_LIST__[1]; \
extern func_ptr __DTOR_LIST__[1], __DTOR_LIST_END__[1]; \
extern func_ptr __DTOR_LIST_END__[1]; \
extern func_ptr __DTOR_LIST_SHR__[1], __DTOR_LIST_SHR_END__[1]; \
extern func_ptr __DTOR_LIST_SHR__[1]; \
extern func_ptr __DTOR_LIST_SHR_END__[1]; \
for (p = __DTOR_LIST__ + 1; p < __DTOR_LIST_END__ ; p++ ) \
for (p = __DTOR_LIST__ + 1; p < __DTOR_LIST_END__ ; p++ ) \
if (*p) (*p) (); \
if (*p) (*p) (); \
if
(
&__DTOR_LIST_SHR__[0] != &__DTOR_LIST__[1]) \
if
(
&__DTOR_LIST_SHR__[0] != &__DTOR_LIST__[1]) \
for (p = __DTOR_LIST_SHR__ + 1; p < __DTOR_LIST_SHR_END__ ; p++ ) \
for (p = __DTOR_LIST_SHR__ + 1; p < __DTOR_LIST_SHR_END__ ; p++ ) \
if (*p) (*p) (); \
if (*p) (*p) (); \
} while (0)
} while (0)
#endif
/* L__main */
#endif
/* L__main */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment