Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
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
Chen Yisong
glslang
Commits
1aaa3567
Commit
1aaa3567
authored
Apr 10, 2018
by
St0fF
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "add ability to record accessed and declared "named defines""
This reverts commit
e7350423
.
parent
a1184ddd
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
4 additions
and
31 deletions
+4
-31
Intermediate.cpp
glslang/MachineIndependent/Intermediate.cpp
+0
-11
localintermediate.h
glslang/MachineIndependent/localintermediate.h
+0
-9
Pp.cpp
glslang/MachineIndependent/preprocessor/Pp.cpp
+4
-11
No files found.
glslang/MachineIndependent/Intermediate.cpp
View file @
1aaa3567
...
...
@@ -3812,15 +3812,4 @@ const char* TIntermediate::getResourceName(TResourceType res)
}
// Access recorded named preprocessor-defines from the outside
// -> needs to take into account, that the outside may want to use the set
// even after the memory pool got released
void
TIntermediate
::
getAddDefines
(
std
::
unordered_set
<
std
::
string
>
&
targetSet
,
const
std
::
unordered_set
<
TString
>
&
sourceSet
)
const
{
targetSet
.
reserve
(
targetSet
.
size
()
+
sourceSet
.
size
()
);
for
(
auto
&
i
:
sourceSet
)
targetSet
.
emplace
(
i
.
c_str
()
);
// need to convert from TString (pool-allocated) to normal std::basic_string, so it may be used after the pool is released
}
}
// end namespace glslang
glslang/MachineIndependent/localintermediate.h
View file @
1aaa3567
...
...
@@ -637,11 +637,6 @@ public:
const
char
*
const
implicitThisName
;
const
char
*
const
implicitCounterName
;
void
insertAccessedNamedDefine
(
const
char
*
defName
)
{
accessedNamedDefines
.
emplace
(
defName
);
}
void
insertDeclaredNamedDefine
(
const
char
*
defName
)
{
declaredNamedDefines
.
emplace
(
defName
);
}
void
getAddAccessedNamedDefines
(
std
::
unordered_set
<
std
::
string
>
&
targetSet
)
const
{
getAddDefines
(
targetSet
,
accessedNamedDefines
);
}
void
getAddDeclaredNamedDefines
(
std
::
unordered_set
<
std
::
string
>
&
targetSet
)
const
{
getAddDefines
(
targetSet
,
declaredNamedDefines
);
}
protected
:
TIntermSymbol
*
addSymbol
(
int
Id
,
const
TString
&
,
const
TType
&
,
const
TConstUnionArray
&
,
TIntermTyped
*
subtree
,
const
TSourceLoc
&
);
void
error
(
TInfoSink
&
infoSink
,
const
char
*
);
...
...
@@ -670,7 +665,6 @@ protected:
std
::
tuple
<
TBasicType
,
TBasicType
>
getConversionDestinatonType
(
TBasicType
type0
,
TBasicType
type1
,
TOperator
op
)
const
;
bool
extensionRequested
(
const
char
*
extension
)
const
{
return
requestedExtensions
.
find
(
extension
)
!=
requestedExtensions
.
end
();}
static
const
char
*
getResourceName
(
TResourceType
);
void
getAddDefines
(
std
::
unordered_set
<
std
::
string
>
&
targetSet
,
const
std
::
unordered_set
<
TString
>
&
sourceSet
)
const
;
const
EShLanguage
language
;
// stage, known at construction time
EShSource
source
;
// source language, known a bit later
...
...
@@ -749,9 +743,6 @@ protected:
bool
needToLegalize
;
// storage for (accessed/declared) "named defines"
std
::
unordered_set
<
TString
>
accessedNamedDefines
,
declaredNamedDefines
;
private
:
void
operator
=
(
TIntermediate
&
);
// prevent assignments
};
...
...
glslang/MachineIndependent/preprocessor/Pp.cpp
View file @
1aaa3567
...
...
@@ -102,8 +102,7 @@ int TPpContext::CPPdefine(TPpToken* ppToken)
parseContext
.
ppError
(
ppToken
->
loc
,
"must be followed by macro name"
,
"#define"
,
""
);
return
token
;
}
bool
inUserCode
(
ppToken
->
loc
.
string
>=
0
);
if
(
inUserCode
)
{
if
(
ppToken
->
loc
.
string
>=
0
)
{
// We are in user code; check for reserved name use:
parseContext
.
reservedPpErrorCheck
(
ppToken
->
loc
,
ppToken
->
name
,
"#define"
);
}
...
...
@@ -187,11 +186,8 @@ int TPpContext::CPPdefine(TPpToken* ppToken)
}
}
*
existing
=
mac
;
}
else
{
addMacroDef
(
defAtom
,
mac
);
if
(
inUserCode
&&
mac
.
args
.
empty
()
&&
mac
.
body
.
atEnd
()
)
parseContext
.
intermediate
.
insertDeclaredNamedDefine
(
atomStrings
.
getString
(
defAtom
)
);
}
}
else
addMacroDef
(
defAtom
,
mac
);
return
'\n'
;
}
...
...
@@ -252,8 +248,6 @@ int TPpContext::CPPelse(int matchelse, TPpToken* ppToken)
}
else
{
ifdepth
++
;
elsetracker
++
;
if
(
nextAtom
!=
PpAtomIf
&&
scanToken
(
ppToken
)
==
PpAtomIdentifier
)
parseContext
.
intermediate
.
insertAccessedNamedDefine
(
ppToken
->
name
);
}
}
else
if
(
nextAtom
==
PpAtomEndif
)
{
token
=
extraTokenCheck
(
nextAtom
,
ppToken
,
scanToken
(
ppToken
));
...
...
@@ -426,7 +420,7 @@ int TPpContext::eval(int token, int precedence, bool shortCircuit, int& res, boo
return
token
;
}
parseContext
.
intermediate
.
insertAccessedNamedDefine
(
ppToken
->
name
);
MacroSymbol
*
macro
=
lookupMacroDef
(
atomStrings
.
getAtom
(
ppToken
->
name
));
res
=
macro
!=
nullptr
?
!
macro
->
undef
:
0
;
token
=
scanToken
(
ppToken
);
...
...
@@ -583,7 +577,6 @@ int TPpContext::CPPifdef(int defined, TPpToken* ppToken)
else
parseContext
.
ppError
(
ppToken
->
loc
,
"must be followed by macro name"
,
"#ifndef"
,
""
);
}
else
{
parseContext
.
intermediate
.
insertAccessedNamedDefine
(
ppToken
->
name
);
MacroSymbol
*
macro
=
lookupMacroDef
(
atomStrings
.
getAtom
(
ppToken
->
name
));
token
=
scanToken
(
ppToken
);
if
(
token
!=
'\n'
)
{
...
...
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