Changes in / [4fe6224:74807be]
- Files:
-
- 9 edited
-
libcfa/prelude/bootloader.cf (modified) (1 diff)
-
libcfa/src/concurrency/kernel.cfa (modified) (1 diff)
-
libcfa/src/parseargs.cfa (modified) (3 diffs)
-
libcfa/src/parseargs.hfa (modified) (2 diffs)
-
tests/.expect/declarationSpecifier.x64.txt (modified) (1 diff)
-
tests/.expect/declarationSpecifier.x86.txt (modified) (1 diff)
-
tests/.expect/gccExtensions.x64.txt (modified) (1 diff)
-
tests/.expect/gccExtensions.x86.txt (modified) (1 diff)
-
tests/pybin/tools.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/prelude/bootloader.cf
r4fe6224 r74807be 1 1 extern "C" { static inline int invoke_main(int argc, char* argv[], char* envp[]); } 2 int cfa_args_argc;3 char ** cfa_args_argv;4 char ** cfa_args_envp;5 2 6 3 int main(int argc, char* argv[], char* envp[]) { 7 cfa_args_argc = argc;8 cfa_args_argv = argv;9 cfa_args_envp = envp;10 4 return invoke_main(argc, argv, envp); 11 5 } -
libcfa/src/concurrency/kernel.cfa
r4fe6224 r74807be 532 532 unsigned total = this.total; 533 533 processor * proc = &this.list`first; 534 // Thread fence is unnecessary, but gcc-8 and older incorrectly reorder code without it535 __atomic_thread_fence(__ATOMIC_SEQ_CST);536 534 if(l != __atomic_load_n(&this.lock, __ATOMIC_SEQ_CST)) { Pause(); continue; } 537 535 return [idle, total, proc]; -
libcfa/src/parseargs.cfa
r4fe6224 r74807be 24 24 #include "limits.hfa" 25 25 26 extern int cfa_args_argc;27 extern char ** cfa_args_argv;28 extern char ** cfa_args_envp;29 30 26 void printopt(FILE * out, int width, int max, char sn, const char * ln, const char * help) { 31 27 int hwidth = max - (11 + width); … … 38 34 fprintf(out, "%*s%.*s\n", width + 11, "", hwidth, help); 39 35 } 40 }41 42 void parse_args( cfa_option options[], size_t opt_count, const char * usage, char ** & left ) {43 parse_args(cfa_args_argc, cfa_args_argv, options, opt_count, usage, left );44 36 } 45 37 … … 180 172 } 181 173 182 bool parse(const char * arg, unsigned long& value) {174 bool parse(const char * arg, size_t & value) { 183 175 char * end; 184 176 unsigned long long int r = strtoull(arg, &end, 10); 185 177 if(*end != '\0') return false; 186 if(r > ( unsigned long)MAX) return false;178 if(r > (size_t)MAX) return false; 187 179 188 180 value = r; 189 181 return true; 190 }191 192 bool parse(const char * arg, unsigned long long & value) {193 char * end;194 unsigned long long int r = strtoull(arg, &end, 10);195 if(*end != '\0') return false;196 if(r > (unsigned long long)MAX) return false;197 198 value = r;199 return true;200 182 } 201 183 -
libcfa/src/parseargs.hfa
r4fe6224 r74807be 31 31 } 32 32 33 void parse_args( cfa_option options[], size_t opt_count, const char * usage, char ** & left );34 33 void parse_args( int argc, char * argv[], cfa_option options[], size_t opt_count, const char * usage, char ** & left ); 35 34 … … 40 39 bool parse(const char *, const char * & ); 41 40 bool parse(const char *, unsigned & ); 42 bool parse(const char *, unsigned long & ); 43 bool parse(const char *, unsigned long long & ); 41 bool parse(const char *, size_t & ); 44 42 bool parse(const char *, int & ); -
tests/.expect/declarationSpecifier.x64.txt
r4fe6224 r74807be 1129 1129 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return _X4mainFi_iPPKc__1((signed int )argc, (const char **)argv); } 1130 1130 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 1131 signed int _X13cfa_args_argci_1;1132 char **_X13cfa_args_argvPPc_1;1133 char **_X13cfa_args_envpPPc_1;1134 1131 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 1135 1132 __attribute__ ((unused)) signed int _X12_retval_maini_1; 1136 1133 { 1137 ((void)(_X13cfa_args_argci_1=_X4argci_1));1138 }1139 1140 {1141 ((void)(_X13cfa_args_argvPPc_1=_X4argvPPc_1));1142 }1143 1144 {1145 ((void)(_X13cfa_args_envpPPc_1=_X4envpPPc_1));1146 }1147 1148 {1149 1134 signed int _tmp_cp_ret4; 1150 1135 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); -
tests/.expect/declarationSpecifier.x86.txt
r4fe6224 r74807be 1129 1129 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return _X4mainFi_iPPKc__1((signed int )argc, (const char **)argv); } 1130 1130 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 1131 signed int _X13cfa_args_argci_1;1132 char **_X13cfa_args_argvPPc_1;1133 char **_X13cfa_args_envpPPc_1;1134 1131 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 1135 1132 __attribute__ ((unused)) signed int _X12_retval_maini_1; 1136 1133 { 1137 ((void)(_X13cfa_args_argci_1=_X4argci_1));1138 }1139 1140 {1141 ((void)(_X13cfa_args_argvPPc_1=_X4argvPPc_1));1142 }1143 1144 {1145 ((void)(_X13cfa_args_envpPPc_1=_X4envpPPc_1));1146 }1147 1148 {1149 1134 signed int _tmp_cp_ret4; 1150 1135 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); -
tests/.expect/gccExtensions.x64.txt
r4fe6224 r74807be 321 321 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return _X4mainFi_iPPKc__1((signed int )argc, (const char **)argv); } 322 322 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 323 signed int _X13cfa_args_argci_1;324 char **_X13cfa_args_argvPPc_1;325 char **_X13cfa_args_envpPPc_1;326 323 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 327 324 __attribute__ ((unused)) signed int _X12_retval_maini_1; 328 325 { 329 ((void)(_X13cfa_args_argci_1=_X4argci_1));330 }331 332 {333 ((void)(_X13cfa_args_argvPPc_1=_X4argvPPc_1));334 }335 336 {337 ((void)(_X13cfa_args_envpPPc_1=_X4envpPPc_1));338 }339 340 {341 326 signed int _tmp_cp_ret4; 342 327 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); -
tests/.expect/gccExtensions.x86.txt
r4fe6224 r74807be 299 299 static inline int invoke_main(int argc, char* argv[], char* envp[]) { (void)argc; (void)argv; (void)envp; return _X4mainFi_iPPKc__1((signed int )argc, (const char **)argv); } 300 300 static inline signed int invoke_main(signed int argc, char **argv, char **envp); 301 signed int _X13cfa_args_argci_1;302 char **_X13cfa_args_argvPPc_1;303 char **_X13cfa_args_envpPPc_1;304 301 signed int main(signed int _X4argci_1, char **_X4argvPPc_1, char **_X4envpPPc_1){ 305 302 __attribute__ ((unused)) signed int _X12_retval_maini_1; 306 303 { 307 ((void)(_X13cfa_args_argci_1=_X4argci_1));308 }309 310 {311 ((void)(_X13cfa_args_argvPPc_1=_X4argvPPc_1));312 }313 314 {315 ((void)(_X13cfa_args_envpPPc_1=_X4envpPPc_1));316 }317 318 {319 304 signed int _tmp_cp_ret4; 320 305 ((void)(_X12_retval_maini_1=(((void)(_tmp_cp_ret4=invoke_main(_X4argci_1, _X4argvPPc_1, _X4envpPPc_1))) , _tmp_cp_ret4)) /* ?{} */); -
tests/pybin/tools.py
r4fe6224 r74807be 246 246 # transform path to canonical form 247 247 def canonical_path(path): 248 abspath = os.path.abspath( os.path.realpath(__main__.__file__))248 abspath = os.path.abspath(__main__.__file__) 249 249 dname = os.path.dirname(abspath) 250 250 return os.path.join(dname, os.path.normpath(path) )
Note:
See TracChangeset
for help on using the changeset viewer.