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
f2b5cf97
Commit
f2b5cf97
authored
Jun 17, 2004
by
David Ayers
Committed by
Richard Henderson
Jun 17, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* c-parse.in: Unify Objective-C token names.
From-SVN: r83296
parent
c50a0116
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
33 deletions
+38
-33
gcc/ChangeLog
+4
-0
gcc/c-parse.in
+34
-33
No files found.
gcc/ChangeLog
View file @
f2b5cf97
2004-06-17 David Ayers <d.ayers@inode.at>
* c-parse.in: Unify Objective-C token names.
2004-06-17 Zack Weinberg <zack@codesourcery.com>
2004-06-17 Zack Weinberg <zack@codesourcery.com>
Bug 14610
Bug 14610
...
...
gcc/c-parse.in
View file @
f2b5cf97
...
@@ -174,8 +174,9 @@ do { \
...
@@ -174,8 +174,9 @@ do { \
/* The Objective-C keywords. These are included in C and in
/* The Objective-C keywords. These are included in C and in
Objective C, so that the token codes are the same in both. */
Objective C, so that the token codes are the same in both. */
%
token
INTERFACE
IMPLEMENTATION
END
SELECTOR
DEFS
ENCODE
%
token
AT_INTERFACE
AT_IMPLEMENTATION
AT_END
AT_SELECTOR
AT_DEFS
AT_ENCODE
%
token
CLASSNAME
PUBLIC
PRIVATE
PROTECTED
PROTOCOL
OBJECTNAME
CLASS
ALIAS
%
token
CLASSNAME
AT_PUBLIC
AT_PRIVATE
AT_PROTECTED
AT_PROTOCOL
%
token
OBJECTNAME
AT_CLASS
AT_ALIAS
%
token
AT_THROW
AT_TRY
AT_CATCH
AT_FINALLY
AT_SYNCHRONIZED
%
token
AT_THROW
AT_TRY
AT_CATCH
AT_FINALLY
AT_SYNCHRONIZED
%
token
OBJC_STRING
%
token
OBJC_STRING
...
@@ -1760,7 +1761,7 @@ component_decl_list2: /* empty */
...
@@ -1760,7 +1761,7 @@ component_decl_list2: /* empty */
pedwarn
(
"extra semicolon in struct or union specified"
);
}
pedwarn
(
"extra semicolon in struct or union specified"
);
}
@@
ifobjc
@@
ifobjc
/* foo(sizeof(struct{ @defs(ClassName)})); */
/* foo(sizeof(struct{ @defs(ClassName)})); */
|
DEFS
'('
CLASSNAME
')'
|
AT_
DEFS
'('
CLASSNAME
')'
{
$$
=
nreverse
(
get_class_ivars_from_name
(
$
3
));
}
{
$$
=
nreverse
(
get_class_ivars_from_name
(
$
3
));
}
@@
end_ifobjc
@@
end_ifobjc
;
;
...
@@ -2636,7 +2637,7 @@ objcdef:
...
@@ -2636,7 +2637,7 @@ objcdef:
|
aliasdecl
|
aliasdecl
|
protocoldef
|
protocoldef
|
methoddef
|
methoddef
|
END
|
AT_
END
{
{
if
(
objc_implementation_context
)
if
(
objc_implementation_context
)
{
{
...
@@ -2658,14 +2659,14 @@ identifier_list:
...
@@ -2658,14 +2659,14 @@ identifier_list:
;
;
classdecl
:
classdecl
:
CLASS
identifier_list
';'
AT_
CLASS
identifier_list
';'
{
{
objc_declare_class
(
$
2
);
objc_declare_class
(
$
2
);
}
}
;
;
aliasdecl
:
aliasdecl
:
ALIAS
identifier
identifier
';'
A
T_A
LIAS
identifier
identifier
';'
{
{
objc_declare_alias
(
$
2
,
$
3
);
objc_declare_alias
(
$
2
,
$
3
);
}
}
...
@@ -2682,7 +2683,7 @@ class_ivars:
...
@@ -2682,7 +2683,7 @@ class_ivars:
;
;
classdef
:
classdef
:
INTERFACE
identifier
superclass
protocolrefs
AT_
INTERFACE
identifier
superclass
protocolrefs
{
{
objc_interface_context
=
objc_ivar_context
objc_interface_context
=
objc_ivar_context
=
start_class
(
CLASS_INTERFACE_TYPE
,
$
2
,
$
3
,
$
4
);
=
start_class
(
CLASS_INTERFACE_TYPE
,
$
2
,
$
3
,
$
4
);
...
@@ -2692,13 +2693,13 @@ classdef:
...
@@ -2692,13 +2693,13 @@ classdef:
{
{
continue_class
(
objc_interface_context
);
continue_class
(
objc_interface_context
);
}
}
methodprotolist
END
methodprotolist
AT_
END
{
{
finish_class
(
objc_interface_context
);
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
objc_interface_context
=
NULL_TREE
;
}
}
|
IMPLEMENTATION
identifier
superclass
|
AT_
IMPLEMENTATION
identifier
superclass
{
{
objc_implementation_context
=
objc_ivar_context
objc_implementation_context
=
objc_ivar_context
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
$
2
,
$
3
,
NULL_TREE
);
=
start_class
(
CLASS_IMPLEMENTATION_TYPE
,
$
2
,
$
3
,
NULL_TREE
);
...
@@ -2710,19 +2711,19 @@ classdef:
...
@@ -2710,19 +2711,19 @@ classdef:
=
continue_class
(
objc_implementation_context
);
=
continue_class
(
objc_implementation_context
);
}
}
|
INTERFACE
identifier
'('
identifier
')'
protocolrefs
|
AT_
INTERFACE
identifier
'('
identifier
')'
protocolrefs
{
{
objc_interface_context
objc_interface_context
=
start_class
(
CATEGORY_INTERFACE_TYPE
,
$
2
,
$
4
,
$
6
);
=
start_class
(
CATEGORY_INTERFACE_TYPE
,
$
2
,
$
4
,
$
6
);
continue_class
(
objc_interface_context
);
continue_class
(
objc_interface_context
);
}
}
methodprotolist
END
methodprotolist
AT_
END
{
{
finish_class
(
objc_interface_context
);
finish_class
(
objc_interface_context
);
objc_interface_context
=
NULL_TREE
;
objc_interface_context
=
NULL_TREE
;
}
}
|
IMPLEMENTATION
identifier
'('
identifier
')'
|
AT_
IMPLEMENTATION
identifier
'('
identifier
')'
{
{
objc_implementation_context
objc_implementation_context
=
start_class
(
CATEGORY_IMPLEMENTATION_TYPE
,
$
2
,
$
4
,
NULL_TREE
);
=
start_class
(
CATEGORY_IMPLEMENTATION_TYPE
,
$
2
,
$
4
,
NULL_TREE
);
...
@@ -2732,13 +2733,13 @@ classdef:
...
@@ -2732,13 +2733,13 @@ classdef:
;
;
protocoldef
:
protocoldef
:
PROTOCOL
identifier
protocolrefs
AT_
PROTOCOL
identifier
protocolrefs
{
{
objc_pq_context
=
1
;
objc_pq_context
=
1
;
objc_interface_context
objc_interface_context
=
start_protocol
(
PROTOCOL_INTERFACE_TYPE
,
$
2
,
$
3
);
=
start_protocol
(
PROTOCOL_INTERFACE_TYPE
,
$
2
,
$
3
);
}
}
methodprotolist
END
methodprotolist
AT_
END
{
{
objc_pq_context
=
0
;
objc_pq_context
=
0
;
finish_protocol
(
objc_interface_context
);
finish_protocol
(
objc_interface_context
);
...
@@ -2747,7 +2748,7 @@ protocoldef:
...
@@ -2747,7 +2748,7 @@ protocoldef:
/* The @protocol forward-declaration production introduces a
/* The @protocol forward-declaration production introduces a
reduce/reduce conflict on ';', which should be resolved in
reduce/reduce conflict on ';', which should be resolved in
favor of the production 'identifier_list -> identifier'. */
favor of the production 'identifier_list -> identifier'. */
|
PROTOCOL
identifier_list
';'
|
AT_
PROTOCOL
identifier_list
';'
{
{
objc_declare_protocols
(
$
2
);
objc_declare_protocols
(
$
2
);
}
}
...
@@ -2777,9 +2778,9 @@ ivar_decl_list:
...
@@ -2777,9 +2778,9 @@ ivar_decl_list:
;
;
visibility_spec
:
visibility_spec
:
PRIVATE
{
objc_public_flag
=
2
;
}
AT_
PRIVATE
{
objc_public_flag
=
2
;
}
|
PROTECTED
{
objc_public_flag
=
0
;
}
|
AT_
PROTECTED
{
objc_public_flag
=
0
;
}
|
PUBLIC
{
objc_public_flag
=
1
;
}
|
AT_
PUBLIC
{
objc_public_flag
=
1
;
}
;
;
ivar_decls
:
ivar_decls
:
...
@@ -3138,14 +3139,14 @@ keywordname:
...
@@ -3138,14 +3139,14 @@ keywordname:
;
;
objcselectorexpr
:
objcselectorexpr
:
SELECTOR
'('
selectorarg
')'
AT_
SELECTOR
'('
selectorarg
')'
{
{
$$
=
$
3
;
$$
=
$
3
;
}
}
;
;
objcprotocolexpr
:
objcprotocolexpr
:
PROTOCOL
'('
identifier
')'
AT_
PROTOCOL
'('
identifier
')'
{
{
$$
=
$
3
;
$$
=
$
3
;
}
}
...
@@ -3154,7 +3155,7 @@ objcprotocolexpr:
...
@@ -3154,7 +3155,7 @@ objcprotocolexpr:
/* extension to support C-structures in the archiver */
/* extension to support C-structures in the archiver */
objcencodeexpr
:
objcencodeexpr
:
ENCODE
'('
typename
')'
AT_
ENCODE
'('
typename
')'
{
{
$$
=
groktypename
(
$
3
);
$$
=
groktypename
(
$
3
);
}
}
...
@@ -3411,23 +3412,23 @@ static const short rid_to_yy[RID_MAX] =
...
@@ -3411,23 +3412,23 @@ static const short rid_to_yy[RID_MAX] =
/* Objective C */
/* Objective C */
/* RID_ID */
OBJECTNAME
,
/* RID_ID */
OBJECTNAME
,
/* RID_AT_ENCODE */
ENCODE
,
/* RID_AT_ENCODE */
AT_
ENCODE
,
/* RID_AT_END */
END
,
/* RID_AT_END */
AT_
END
,
/* RID_AT_CLASS */
CLASS
,
/* RID_AT_CLASS */
AT_
CLASS
,
/* RID_AT_ALIAS */
ALIAS
,
/* RID_AT_ALIAS */
A
T_A
LIAS
,
/* RID_AT_DEFS */
DEFS
,
/* RID_AT_DEFS */
AT_
DEFS
,
/* RID_AT_PRIVATE */
PRIVATE
,
/* RID_AT_PRIVATE */
AT_
PRIVATE
,
/* RID_AT_PROTECTED */
PROTECTED
,
/* RID_AT_PROTECTED */
AT_
PROTECTED
,
/* RID_AT_PUBLIC */
PUBLIC
,
/* RID_AT_PUBLIC */
AT_
PUBLIC
,
/* RID_AT_PROTOCOL */
PROTOCOL
,
/* RID_AT_PROTOCOL */
AT_
PROTOCOL
,
/* RID_AT_SELECTOR */
SELECTOR
,
/* RID_AT_SELECTOR */
AT_
SELECTOR
,
/* RID_AT_THROW */
AT_THROW
,
/* RID_AT_THROW */
AT_THROW
,
/* RID_AT_TRY */
AT_TRY
,
/* RID_AT_TRY */
AT_TRY
,
/* RID_AT_CATCH */
AT_CATCH
,
/* RID_AT_CATCH */
AT_CATCH
,
/* RID_AT_FINALLY */
AT_FINALLY
,
/* RID_AT_FINALLY */
AT_FINALLY
,
/* RID_AT_SYNCHRONIZED */
AT_SYNCHRONIZED
,
/* RID_AT_SYNCHRONIZED */
AT_SYNCHRONIZED
,
/* RID_AT_INTERFACE */
INTERFACE
,
/* RID_AT_INTERFACE */
AT_
INTERFACE
,
/* RID_AT_IMPLEMENTATION */
IMPLEMENTATION
/* RID_AT_IMPLEMENTATION */
AT_
IMPLEMENTATION
};
};
static
void
static
void
...
...
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