Changeset 1ccc599
- Timestamp:
- Feb 21, 2018, 12:57:41 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- eaa1759
- Parents:
- 6c7c63c (diff), 599fbb6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - git-author:
- Peter A. Buhr <pabuhr@…> (02/21/18 12:56:00)
- git-committer:
- Peter A. Buhr <pabuhr@…> (02/21/18 12:57:41)
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/papers/general/Paper.tex
r6c7c63c r1ccc599 1916 1916 Alternative call syntax (literal argument before routine name) to convert basic literals into user literals. 1917 1917 1918 {\lstset{language=CFA, deletedelim=**[is][]{`}{`},moredelim=**[is][\color{red}]{@}{@}}1918 {\lstset{language=CFA,moredelim=**[is][\color{red}]{|}{|},deletedelim=**[is][]{`}{`}} 1919 1919 \begin{cfa} 1920 1920 struct Weight { double stones; }; … … 1924 1924 Weight ?+?( Weight l, Weight r ) { return (Weight){ l.stones + r.stones }; } 1925 1925 1926 Weight @?`st@( double w ) { return (Weight){ w }; } $\C{// backquote for units}$1927 Weight @?`lb@( double w ) { return (Weight){ w / 14.0 }; }1928 Weight @?`kg@( double w ) { return (Weight) { w * 0.1575}; }1926 Weight |?`st|( double w ) { return (Weight){ w }; } $\C{// backquote for units}$ 1927 Weight |?`lb|( double w ) { return (Weight){ w / 14.0 }; } 1928 Weight |?`kg|( double w ) { return (Weight) { w * 0.1575}; } 1929 1929 1930 1930 int main() { 1931 1931 Weight w, hw = { 14 }; $\C{// 14 stone}$ 1932 w = 11 @`st@ + 1@`lb@;1933 w = 70.3 @`kg@;1934 w = 155 @`lb@;1935 w = 0x_9b_u @`lb@; $\C{// hexadecimal unsigned weight (155)}$1936 w = 0_233 @`lb@; $\C{// octal weight (155)}$1937 w = 5 @`st@ + 8@`kg@ + 25@`lb@+ hw;1932 w = 11|`st| + 1|`lb|; 1933 w = 70.3|`kg|; 1934 w = 155|`lb|; 1935 w = 0x_9b_u|`lb|; $\C{// hexadecimal unsigned weight (155)}$ 1936 w = 0_233|`lb|; $\C{// octal weight (155)}$ 1937 w = 5|`st| + 8|`kg| + 25|`lb| + hw; 1938 1938 } 1939 1939 \end{cfa} -
src/Common/PassVisitor.impl.h
r6c7c63c r1ccc599 1121 1121 template< typename pass_type > 1122 1122 void PassVisitor< pass_type >::visit( ImplicitCtorDtorStmt * node ) { 1123 VISIT_BODY( node ); 1123 VISIT_START( node ); 1124 1125 maybeAccept_impl( node->callStmt, *this ); 1126 1127 VISIT_END( node ); 1124 1128 } 1125 1129 1126 1130 template< typename pass_type > 1127 1131 Statement * PassVisitor< pass_type >::mutate( ImplicitCtorDtorStmt * node ) { 1128 MUTATE_BODY( Statement, node ); 1132 MUTATE_START( node ); 1133 1134 maybeMutate_impl( node->callStmt, *this ); 1135 1136 MUTATE_END( Statement, node ); 1129 1137 } 1130 1138 … … 2008 2016 template< typename pass_type > 2009 2017 void PassVisitor< pass_type >::visit( VoidType * node ) { 2010 VISIT_BODY( node ); 2018 VISIT_START( node ); 2019 2020 maybeAccept_impl( node->forall, *this ); 2021 2022 VISIT_END( node ); 2023 } 2024 2025 template< typename pass_type > 2026 Type * PassVisitor< pass_type >::mutate( VoidType * node ) { 2027 MUTATE_START( node ); 2028 2029 maybeMutate_impl( node->forall, *this ); 2030 2031 MUTATE_END( Type, node ); 2011 2032 } 2012 2033 … … 2235 2256 2236 2257 //--------------------------------------------------------------------------------------------------------------- 2237 template< typename pass_type >2238 Type * PassVisitor< pass_type >::mutate( VoidType * node ) {2239 MUTATE_BODY( Type, node );2240 }2241 2258 2242 2259 template< typename pass_type > -
src/SymTab/Indexer.cc
r6c7c63c r1ccc599 457 457 458 458 // add to indexer 459 tables->idTable[ name ][ mangleName ] = { decl, baseExpr, deleteStmt };459 tables->idTable[ name ][ mangleName ] = IdData{ decl, baseExpr, deleteStmt }; 460 460 ++tables->size; 461 461 } -
src/SymTab/Indexer.h
r6c7c63c r1ccc599 46 46 /// non-null if this declaration is deleted 47 47 BaseSyntaxNode * deleteStmt = nullptr; 48 49 // NOTE: shouldn't need either of these constructors, but gcc-4 does not properly support initializer lists with default members. 50 IdData() = default; 51 IdData( DeclarationWithType * id, Expression * baseExpr, BaseSyntaxNode * deleteStmt ) : id( id ), baseExpr( baseExpr ), deleteStmt( deleteStmt ) {} 48 52 49 53 Expression * combine() const;
Note: See TracChangeset
for help on using the changeset viewer.