diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-21 03:19:06 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-03-21 03:19:06 +0000 |
commit | 799435d8a91f69e2fe2a0b42cd0af67e4180a929 (patch) | |
tree | 6e55c5f98ba55a6fcaf4861b4df4e8d7233c36ef /gcc/c-pragma.h | |
parent | 9d24686a6f8ca3fbccd12cdcce858ab2384a3d81 (diff) | |
download | gcc-799435d8a91f69e2fe2a0b42cd0af67e4180a929.tar.gz |
PR c++/21764
* c-pragma.c (visstack): Move out of handle_pragma_visibility.
(push_visibility, pop_visibility): Likewise.
* c-pragma.h: Declare them.
* cp/name-lookup.h (struct cp_binding_level): Add has_visibility
bitfield.
* cp/name-lookup.c: Include c-pragma.h.
(push_namespace_with_attribs): Split out from push_namespace.
Push visibility if appropriate. Set TREE_PUBLIC on namespaces.
(leave_scope): Pop visibility if appropriate.
* cp/parser.c (cp_parser_declaration, cp_parser_namespace_name): Allow
attributes on namespace declarations.
PR c++/19238
* cp/decl.c (cp_finish_decl): Call determine_visibility later.
(start_preparsed_function): Likewise.
* cp/cp-tree.h (CP_TYPE_CONTEXT, TYPE_NAMESPACE_SCOPE_P): New macros.
(TYPE_CLASS_SCOPE_P, TYPE_FUNCTION_SCOPE_P): New macros.
* cp/decl2.c (determine_visibility_from_class): Split out from...
(determine_visibility): ...here. Handle function scope and
nested classes.
(import_export_decl): Move visibility handling to
determine_visibility_from_class.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112239 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-pragma.h')
-rw-r--r-- | gcc/c-pragma.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-pragma.h b/gcc/c-pragma.h index 5868f07251c..6ebb08b685c 100644 --- a/gcc/c-pragma.h +++ b/gcc/c-pragma.h @@ -75,6 +75,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 init_pragma (void); |