diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-02 13:39:46 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-02 13:39:46 +0000 |
commit | f1658ae09d3e039f986ab12c3a43d1f82ab80ef8 (patch) | |
tree | f1e838ec9a46d86a7ba26afebc76472b3823676e /gcc/c-pragma.h | |
parent | c909481d782e5e24d711c7b1e22132d2ae44ffd8 (diff) | |
download | gcc-f1658ae09d3e039f986ab12c3a43d1f82ab80ef8.tar.gz |
PR c++/41774
* c-pragma.c (visstack): Change into vector of ints rather than
enum symbol_visibility.
(push_visibility): Add kind argument, push default_visibility together
with kind.
(pop_visibility): Add kind argument, return true if successful, fail
if visibility stack is empty or if stack top is of different kind.
(handle_pragma_visibility): Don't check length of visstack, instead
call pop_visibility and issue diagnostics if it failed. Pass 0
as last argument to push_visibility and pop_visibility.
* c-pragma.h (push_visibility): Add kind argument.
(pop_visibility): Likewise. Return bool instead of void.
* name-lookup.c (handle_namespace_attrs): Pass 1 as last argument to
push_visibility.
* parser.c (cp_parser_namespace_definition): Pass 1 as argument to
pop_visibility.
* rtti.c (push_abi_namespace): Pass 2 as last argument to
push_visibility.
(pop_abi_namespace): Pass 2 as argument to pop_visibility.
* g++.dg/ext/visibility/namespace3.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153805 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-pragma.h')
-rw-r--r-- | gcc/c-pragma.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/c-pragma.h b/gcc/c-pragma.h index be085ee1115..eab23db6cd9 100644 --- a/gcc/c-pragma.h +++ b/gcc/c-pragma.h @@ -95,8 +95,8 @@ extern struct cpp_reader* parse_in; visibility is not supported on the host OS platform the statements are ignored. */ #define HANDLE_PRAGMA_VISIBILITY 1 -extern void push_visibility (const char *); -extern void pop_visibility (void); +extern void push_visibility (const char *, int); +extern bool pop_visibility (int); extern void init_pragma (void); |