diff options
Diffstat (limited to 'contrib/arch-linux/new.patch')
| -rw-r--r-- | contrib/arch-linux/new.patch | 35 | 
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/arch-linux/new.patch b/contrib/arch-linux/new.patch new file mode 100644 index 00000000..74e1df06 --- /dev/null +++ b/contrib/arch-linux/new.patch @@ -0,0 +1,35 @@ +--- src/SDCCast.c ++++ src/SDCCast.c +@@ -863,6 +863,8 @@ processParms (ast *func, +  +       ftype = (*actParm)->ftype; +  ++      resultType = RESULT_TYPE_NONE; ++ +       /* If it's a char, upcast to int. */ +       if (IS_INTEGRAL (ftype) +           && (getSize (ftype) < (unsigned) INTSIZE)) +@@ -874,12 +876,14 @@ processParms (ast *func, +         { +           newType = newAst_LINK (copyLinkChain(ftype)); +           DCL_TYPE (newType->opval.lnk) = port->unqualified_pointer; ++         resultType = RESULT_TYPE_GPTR; +         } +  +       if (IS_AGGREGATE (ftype)) +         { +           newType = newAst_LINK (copyLinkChain (ftype)); +           DCL_TYPE (newType->opval.lnk) = port->unqualified_pointer; ++         resultType = RESULT_TYPE_GPTR; +         } +  +       if (newType) +@@ -890,7 +894,7 @@ processParms (ast *func, +           (*actParm)->filename = (*actParm)->right->filename; +           (*actParm)->lineno = (*actParm)->right->lineno; +  +-          decorateType (*actParm, RESULT_TYPE_NONE); ++          decorateType (*actParm, resultType); +         } +       return 0; +     } /* vararg */   | 
