• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -mtriple=x86_64-unknown-linux -inferattrs -S | FileCheck %s
2; RUN: opt < %s -mtriple=x86_64-apple-macosx10.8.0 -inferattrs -S | FileCheck %s
3
4; Check that we don't modify libc functions with invalid prototypes.
5
6; CHECK: declare void @__cospi(...)
7declare void @__cospi(...)
8
9; CHECK: declare void @__cospif(...)
10declare void @__cospif(...)
11
12; CHECK: declare void @__sinpi(...)
13declare void @__sinpi(...)
14
15; CHECK: declare void @__sinpif(...)
16declare void @__sinpif(...)
17
18; CHECK: declare void @abs(...)
19declare void @abs(...)
20
21; CHECK: declare void @access(...)
22declare void @access(...)
23
24; CHECK: declare void @acos(...)
25declare void @acos(...)
26
27; CHECK: declare void @acosf(...)
28declare void @acosf(...)
29
30; CHECK: declare void @acosh(...)
31declare void @acosh(...)
32
33; CHECK: declare void @acoshf(...)
34declare void @acoshf(...)
35
36; CHECK: declare void @acoshl(...)
37declare void @acoshl(...)
38
39; CHECK: declare void @acosl(...)
40declare void @acosl(...)
41
42; CHECK: declare void @asin(...)
43declare void @asin(...)
44
45; CHECK: declare void @asinf(...)
46declare void @asinf(...)
47
48; CHECK: declare void @asinh(...)
49declare void @asinh(...)
50
51; CHECK: declare void @asinhf(...)
52declare void @asinhf(...)
53
54; CHECK: declare void @asinhl(...)
55declare void @asinhl(...)
56
57; CHECK: declare void @asinl(...)
58declare void @asinl(...)
59
60; CHECK: declare void @atan(...)
61declare void @atan(...)
62
63; CHECK: declare void @atan2(...)
64declare void @atan2(...)
65
66; CHECK: declare void @atan2f(...)
67declare void @atan2f(...)
68
69; CHECK: declare void @atan2l(...)
70declare void @atan2l(...)
71
72; CHECK: declare void @atanf(...)
73declare void @atanf(...)
74
75; CHECK: declare void @atanh(...)
76declare void @atanh(...)
77
78; CHECK: declare void @atanhf(...)
79declare void @atanhf(...)
80
81; CHECK: declare void @atanhl(...)
82declare void @atanhl(...)
83
84; CHECK: declare void @atanl(...)
85declare void @atanl(...)
86
87; CHECK: declare void @atof(...)
88declare void @atof(...)
89
90; CHECK: declare void @atoi(...)
91declare void @atoi(...)
92
93; CHECK: declare void @atol(...)
94declare void @atol(...)
95
96; CHECK: declare void @atoll(...)
97declare void @atoll(...)
98
99; CHECK: declare void @bcmp(...)
100declare void @bcmp(...)
101
102; CHECK: declare void @bcopy(...)
103declare void @bcopy(...)
104
105; CHECK: declare void @bzero(...)
106declare void @bzero(...)
107
108; CHECK: declare void @calloc(...)
109declare void @calloc(...)
110
111; CHECK: declare void @cbrt(...)
112declare void @cbrt(...)
113
114; CHECK: declare void @cbrtf(...)
115declare void @cbrtf(...)
116
117; CHECK: declare void @cbrtl(...)
118declare void @cbrtl(...)
119
120; CHECK: declare void @ceil(...)
121declare void @ceil(...)
122
123; CHECK: declare void @ceilf(...)
124declare void @ceilf(...)
125
126; CHECK: declare void @ceill(...)
127declare void @ceill(...)
128
129; CHECK: declare void @chmod(...)
130declare void @chmod(...)
131
132; CHECK: declare void @chown(...)
133declare void @chown(...)
134
135; CHECK: declare void @clearerr(...)
136declare void @clearerr(...)
137
138; CHECK: declare void @closedir(...)
139declare void @closedir(...)
140
141; CHECK: declare void @copysign(...)
142declare void @copysign(...)
143
144; CHECK: declare void @copysignf(...)
145declare void @copysignf(...)
146
147; CHECK: declare void @copysignl(...)
148declare void @copysignl(...)
149
150; CHECK: declare void @cos(...)
151declare void @cos(...)
152
153; CHECK: declare void @cosf(...)
154declare void @cosf(...)
155
156; CHECK: declare void @cosh(...)
157declare void @cosh(...)
158
159; CHECK: declare void @coshf(...)
160declare void @coshf(...)
161
162; CHECK: declare void @coshl(...)
163declare void @coshl(...)
164
165; CHECK: declare void @cosl(...)
166declare void @cosl(...)
167
168; CHECK: declare void @ctermid(...)
169declare void @ctermid(...)
170
171; CHECK: declare void @exp(...)
172declare void @exp(...)
173
174; CHECK: declare void @exp2(...)
175declare void @exp2(...)
176
177; CHECK: declare void @exp2f(...)
178declare void @exp2f(...)
179
180; CHECK: declare void @exp2l(...)
181declare void @exp2l(...)
182
183; CHECK: declare void @expf(...)
184declare void @expf(...)
185
186; CHECK: declare void @expl(...)
187declare void @expl(...)
188
189; CHECK: declare void @expm1(...)
190declare void @expm1(...)
191
192; CHECK: declare void @expm1f(...)
193declare void @expm1f(...)
194
195; CHECK: declare void @expm1l(...)
196declare void @expm1l(...)
197
198; CHECK: declare void @fabs(...)
199declare void @fabs(...)
200
201; CHECK: declare void @fabsf(...)
202declare void @fabsf(...)
203
204; CHECK: declare void @fabsl(...)
205declare void @fabsl(...)
206
207; CHECK: declare void @fclose(...)
208declare void @fclose(...)
209
210; CHECK: declare void @fdopen(...)
211declare void @fdopen(...)
212
213; CHECK: declare void @feof(...)
214declare void @feof(...)
215
216; CHECK: declare void @ferror(...)
217declare void @ferror(...)
218
219; CHECK: declare void @fflush(...)
220declare void @fflush(...)
221
222; CHECK: declare void @ffs(...)
223declare void @ffs(...)
224
225; CHECK: declare void @ffsl(...)
226declare void @ffsl(...)
227
228; CHECK: declare void @ffsll(...)
229declare void @ffsll(...)
230
231; CHECK: declare void @fgetc(...)
232declare void @fgetc(...)
233
234; CHECK: declare void @fgetpos(...)
235declare void @fgetpos(...)
236
237; CHECK: declare void @fgets(...)
238declare void @fgets(...)
239
240; CHECK: declare void @fileno(...)
241declare void @fileno(...)
242
243; CHECK: declare void @flockfile(...)
244declare void @flockfile(...)
245
246; CHECK: declare void @floor(...)
247declare void @floor(...)
248
249; CHECK: declare void @floorf(...)
250declare void @floorf(...)
251
252; CHECK: declare void @floorl(...)
253declare void @floorl(...)
254
255; CHECK: declare void @fls(...)
256declare void @fls(...)
257
258; CHECK: declare void @flsl(...)
259declare void @flsl(...)
260
261; CHECK: declare void @flsll(...)
262declare void @flsll(...)
263
264; CHECK: declare void @fmax(...)
265declare void @fmax(...)
266
267; CHECK: declare void @fmaxf(...)
268declare void @fmaxf(...)
269
270; CHECK: declare void @fmaxl(...)
271declare void @fmaxl(...)
272
273; CHECK: declare void @fmin(...)
274declare void @fmin(...)
275
276; CHECK: declare void @fminf(...)
277declare void @fminf(...)
278
279; CHECK: declare void @fminl(...)
280declare void @fminl(...)
281
282; CHECK: declare void @fmod(...)
283declare void @fmod(...)
284
285; CHECK: declare void @fmodf(...)
286declare void @fmodf(...)
287
288; CHECK: declare void @fmodl(...)
289declare void @fmodl(...)
290
291; CHECK: declare void @fopen(...)
292declare void @fopen(...)
293
294; CHECK: declare void @fprintf(...)
295declare void @fprintf(...)
296
297; CHECK: declare void @fputc(...)
298declare void @fputc(...)
299
300; CHECK: declare void @fputs(...)
301declare void @fputs(...)
302
303; CHECK: declare void @fread(...)
304declare void @fread(...)
305
306; CHECK: declare void @free(...)
307declare void @free(...)
308
309; CHECK: declare void @frexp(...)
310declare void @frexp(...)
311
312; CHECK: declare void @frexpf(...)
313declare void @frexpf(...)
314
315; CHECK: declare void @frexpl(...)
316declare void @frexpl(...)
317
318; CHECK: declare void @fscanf(...)
319declare void @fscanf(...)
320
321; CHECK: declare void @fseek(...)
322declare void @fseek(...)
323
324; CHECK: declare void @fseeko(...)
325declare void @fseeko(...)
326
327; CHECK: declare void @fseeko64(...)
328declare void @fseeko64(...)
329
330; CHECK: declare void @fsetpos(...)
331declare void @fsetpos(...)
332
333; CHECK: declare void @fstat(...)
334declare void @fstat(...)
335
336; CHECK: declare void @fstat64(...)
337declare void @fstat64(...)
338
339; CHECK: declare void @fstatvfs(...)
340declare void @fstatvfs(...)
341
342; CHECK: declare void @fstatvfs64(...)
343declare void @fstatvfs64(...)
344
345; CHECK: declare void @ftell(...)
346declare void @ftell(...)
347
348; CHECK: declare void @ftello(...)
349declare void @ftello(...)
350
351; CHECK: declare void @ftello64(...)
352declare void @ftello64(...)
353
354; CHECK: declare void @ftrylockfile(...)
355declare void @ftrylockfile(...)
356
357; CHECK: declare void @funlockfile(...)
358declare void @funlockfile(...)
359
360; CHECK: declare void @fwrite(...)
361declare void @fwrite(...)
362
363; CHECK: declare void @getc(...)
364declare void @getc(...)
365
366; CHECK: declare void @getc_unlocked(...)
367declare void @getc_unlocked(...)
368
369; CHECK: declare void @getchar(...)
370declare void @getchar(...)
371
372; CHECK: declare void @getenv(...)
373declare void @getenv(...)
374
375; CHECK: declare void @getitimer(...)
376declare void @getitimer(...)
377
378; CHECK: declare void @getlogin_r(...)
379declare void @getlogin_r(...)
380
381; CHECK: declare void @getpwnam(...)
382declare void @getpwnam(...)
383
384; CHECK: declare void @gets(...)
385declare void @gets(...)
386
387; CHECK: declare void @gettimeofday(...)
388declare void @gettimeofday(...)
389
390; CHECK: declare void @isascii(...)
391declare void @isascii(...)
392
393; CHECK: declare void @isdigit(...)
394declare void @isdigit(...)
395
396; CHECK: declare void @labs(...)
397declare void @labs(...)
398
399; CHECK: declare void @lchown(...)
400declare void @lchown(...)
401
402; CHECK: declare void @ldexp(...)
403declare void @ldexp(...)
404
405; CHECK: declare void @ldexpf(...)
406declare void @ldexpf(...)
407
408; CHECK: declare void @ldexpl(...)
409declare void @ldexpl(...)
410
411; CHECK: declare void @llabs(...)
412declare void @llabs(...)
413
414; CHECK: declare void @log(...)
415declare void @log(...)
416
417; CHECK: declare void @log10(...)
418declare void @log10(...)
419
420; CHECK: declare void @log10f(...)
421declare void @log10f(...)
422
423; CHECK: declare void @log10l(...)
424declare void @log10l(...)
425
426; CHECK: declare void @log1p(...)
427declare void @log1p(...)
428
429; CHECK: declare void @log1pf(...)
430declare void @log1pf(...)
431
432; CHECK: declare void @log1pl(...)
433declare void @log1pl(...)
434
435; CHECK: declare void @log2(...)
436declare void @log2(...)
437
438; CHECK: declare void @log2f(...)
439declare void @log2f(...)
440
441; CHECK: declare void @log2l(...)
442declare void @log2l(...)
443
444; CHECK: declare void @logb(...)
445declare void @logb(...)
446
447; CHECK: declare void @logbf(...)
448declare void @logbf(...)
449
450; CHECK: declare void @logbl(...)
451declare void @logbl(...)
452
453; CHECK: declare void @logf(...)
454declare void @logf(...)
455
456; CHECK: declare void @logl(...)
457declare void @logl(...)
458
459; CHECK: declare void @lstat(...)
460declare void @lstat(...)
461
462; CHECK: declare void @lstat64(...)
463declare void @lstat64(...)
464
465; CHECK: declare void @malloc(...)
466declare void @malloc(...)
467
468; CHECK: declare void @memalign(...)
469declare void @memalign(...)
470
471; CHECK: declare void @memccpy(...)
472declare void @memccpy(...)
473
474; CHECK: declare void @memchr(...)
475declare void @memchr(...)
476
477; CHECK: declare void @memcmp(...)
478declare void @memcmp(...)
479
480; CHECK: declare void @memcpy(...)
481declare void @memcpy(...)
482
483; CHECK: declare void @memmove(...)
484declare void @memmove(...)
485
486; CHECK: declare void @memset(...)
487declare void @memset(...)
488
489; CHECK: declare void @memset_pattern16(...)
490declare void @memset_pattern16(...)
491
492; CHECK: declare void @mkdir(...)
493declare void @mkdir(...)
494
495; CHECK: declare void @mktime(...)
496declare void @mktime(...)
497
498; CHECK: declare void @modf(...)
499declare void @modf(...)
500
501; CHECK: declare void @modff(...)
502declare void @modff(...)
503
504; CHECK: declare void @modfl(...)
505declare void @modfl(...)
506
507; CHECK: declare void @nearbyint(...)
508declare void @nearbyint(...)
509
510; CHECK: declare void @nearbyintf(...)
511declare void @nearbyintf(...)
512
513; CHECK: declare void @nearbyintl(...)
514declare void @nearbyintl(...)
515
516; CHECK: declare void @open(...)
517declare void @open(...)
518
519; CHECK: declare void @open64(...)
520declare void @open64(...)
521
522; CHECK: declare void @opendir(...)
523declare void @opendir(...)
524
525; CHECK: declare void @pclose(...)
526declare void @pclose(...)
527
528; CHECK: declare void @perror(...)
529declare void @perror(...)
530
531; CHECK: declare void @popen(...)
532declare void @popen(...)
533
534; CHECK: declare void @posix_memalign(...)
535declare void @posix_memalign(...)
536
537; CHECK: declare void @pow(...)
538declare void @pow(...)
539
540; CHECK: declare void @powf(...)
541declare void @powf(...)
542
543; CHECK: declare void @powl(...)
544declare void @powl(...)
545
546; CHECK: declare void @pread(...)
547declare void @pread(...)
548
549; CHECK: declare void @printf(...)
550declare void @printf(...)
551
552; CHECK: declare void @putc(...)
553declare void @putc(...)
554
555; CHECK: declare void @putchar(...)
556declare void @putchar(...)
557
558; CHECK: declare void @puts(...)
559declare void @puts(...)
560
561; CHECK: declare void @pwrite(...)
562declare void @pwrite(...)
563
564; CHECK: declare void @qsort(...)
565declare void @qsort(...)
566
567; CHECK: declare void @read(...)
568declare void @read(...)
569
570; CHECK: declare void @readlink(...)
571declare void @readlink(...)
572
573; CHECK: declare void @realloc(...)
574declare void @realloc(...)
575
576; CHECK: declare void @reallocf(...)
577declare void @reallocf(...)
578
579; CHECK: declare void @realpath(...)
580declare void @realpath(...)
581
582; CHECK: declare void @remove(...)
583declare void @remove(...)
584
585; CHECK: declare void @rename(...)
586declare void @rename(...)
587
588; CHECK: declare void @rewind(...)
589declare void @rewind(...)
590
591; CHECK: declare void @rint(...)
592declare void @rint(...)
593
594; CHECK: declare void @rintf(...)
595declare void @rintf(...)
596
597; CHECK: declare void @rintl(...)
598declare void @rintl(...)
599
600; CHECK: declare void @rmdir(...)
601declare void @rmdir(...)
602
603; CHECK: declare void @round(...)
604declare void @round(...)
605
606; CHECK: declare void @roundf(...)
607declare void @roundf(...)
608
609; CHECK: declare void @roundl(...)
610declare void @roundl(...)
611
612; CHECK: declare void @scanf(...)
613declare void @scanf(...)
614
615; CHECK: declare void @setbuf(...)
616declare void @setbuf(...)
617
618; CHECK: declare void @setitimer(...)
619declare void @setitimer(...)
620
621; CHECK: declare void @setvbuf(...)
622declare void @setvbuf(...)
623
624; CHECK: declare void @sin(...)
625declare void @sin(...)
626
627; CHECK: declare void @sinf(...)
628declare void @sinf(...)
629
630; CHECK: declare void @sinh(...)
631declare void @sinh(...)
632
633; CHECK: declare void @sinhf(...)
634declare void @sinhf(...)
635
636; CHECK: declare void @sinhl(...)
637declare void @sinhl(...)
638
639; CHECK: declare void @sinl(...)
640declare void @sinl(...)
641
642; CHECK: declare void @snprintf(...)
643declare void @snprintf(...)
644
645; CHECK: declare void @sprintf(...)
646declare void @sprintf(...)
647
648; CHECK: declare void @sqrt(...)
649declare void @sqrt(...)
650
651; CHECK: declare void @sqrtf(...)
652declare void @sqrtf(...)
653
654; CHECK: declare void @sqrtl(...)
655declare void @sqrtl(...)
656
657; CHECK: declare void @sscanf(...)
658declare void @sscanf(...)
659
660; CHECK: declare void @stat(...)
661declare void @stat(...)
662
663; CHECK: declare void @stat64(...)
664declare void @stat64(...)
665
666; CHECK: declare void @statvfs(...)
667declare void @statvfs(...)
668
669; CHECK: declare void @statvfs64(...)
670declare void @statvfs64(...)
671
672; CHECK: declare void @stpcpy(...)
673declare void @stpcpy(...)
674
675; CHECK: declare void @stpncpy(...)
676declare void @stpncpy(...)
677
678; CHECK: declare void @strcasecmp(...)
679declare void @strcasecmp(...)
680
681; CHECK: declare void @strcat(...)
682declare void @strcat(...)
683
684; CHECK: declare void @strchr(...)
685declare void @strchr(...)
686
687; CHECK: declare void @strcmp(...)
688declare void @strcmp(...)
689
690; CHECK: declare void @strcoll(...)
691declare void @strcoll(...)
692
693; CHECK: declare void @strcpy(...)
694declare void @strcpy(...)
695
696; CHECK: declare void @strcspn(...)
697declare void @strcspn(...)
698
699; CHECK: declare void @strdup(...)
700declare void @strdup(...)
701
702; CHECK: declare void @strlen(...)
703declare void @strlen(...)
704
705; CHECK: declare void @strncasecmp(...)
706declare void @strncasecmp(...)
707
708; CHECK: declare void @strncat(...)
709declare void @strncat(...)
710
711; CHECK: declare void @strncmp(...)
712declare void @strncmp(...)
713
714; CHECK: declare void @strncpy(...)
715declare void @strncpy(...)
716
717; CHECK: declare void @strndup(...)
718declare void @strndup(...)
719
720; CHECK: declare void @strnlen(...)
721declare void @strnlen(...)
722
723; CHECK: declare void @strpbrk(...)
724declare void @strpbrk(...)
725
726; CHECK: declare void @strrchr(...)
727declare void @strrchr(...)
728
729; CHECK: declare void @strspn(...)
730declare void @strspn(...)
731
732; CHECK: declare void @strstr(...)
733declare void @strstr(...)
734
735; CHECK: declare void @strtod(...)
736declare void @strtod(...)
737
738; CHECK: declare void @strtof(...)
739declare void @strtof(...)
740
741; CHECK: declare void @strtok(...)
742declare void @strtok(...)
743
744; CHECK: declare void @strtok_r(...)
745declare void @strtok_r(...)
746
747; CHECK: declare void @strtol(...)
748declare void @strtol(...)
749
750; CHECK: declare void @strtold(...)
751declare void @strtold(...)
752
753; CHECK: declare void @strtoll(...)
754declare void @strtoll(...)
755
756; CHECK: declare void @strtoul(...)
757declare void @strtoul(...)
758
759; CHECK: declare void @strtoull(...)
760declare void @strtoull(...)
761
762; CHECK: declare void @strxfrm(...)
763declare void @strxfrm(...)
764
765; CHECK: declare void @system(...)
766declare void @system(...)
767
768; CHECK: declare void @tan(...)
769declare void @tan(...)
770
771; CHECK: declare void @tanf(...)
772declare void @tanf(...)
773
774; CHECK: declare void @tanh(...)
775declare void @tanh(...)
776
777; CHECK: declare void @tanhf(...)
778declare void @tanhf(...)
779
780; CHECK: declare void @tanhl(...)
781declare void @tanhl(...)
782
783; CHECK: declare void @tanl(...)
784declare void @tanl(...)
785
786; CHECK: declare void @times(...)
787declare void @times(...)
788
789; CHECK: declare void @tmpfile(...)
790declare void @tmpfile(...)
791
792; CHECK: declare void @tmpfile64(...)
793declare void @tmpfile64(...)
794
795; CHECK: declare void @toascii(...)
796declare void @toascii(...)
797
798; CHECK: declare void @trunc(...)
799declare void @trunc(...)
800
801; CHECK: declare void @truncf(...)
802declare void @truncf(...)
803
804; CHECK: declare void @truncl(...)
805declare void @truncl(...)
806
807; CHECK: declare void @uname(...)
808declare void @uname(...)
809
810; CHECK: declare void @ungetc(...)
811declare void @ungetc(...)
812
813; CHECK: declare void @unlink(...)
814declare void @unlink(...)
815
816; CHECK: declare void @unsetenv(...)
817declare void @unsetenv(...)
818
819; CHECK: declare void @utime(...)
820declare void @utime(...)
821
822; CHECK: declare void @utimes(...)
823declare void @utimes(...)
824
825; CHECK: declare void @valloc(...)
826declare void @valloc(...)
827
828; CHECK: declare void @vfprintf(...)
829declare void @vfprintf(...)
830
831; CHECK: declare void @vfscanf(...)
832declare void @vfscanf(...)
833
834; CHECK: declare void @vprintf(...)
835declare void @vprintf(...)
836
837; CHECK: declare void @vscanf(...)
838declare void @vscanf(...)
839
840; CHECK: declare void @vsnprintf(...)
841declare void @vsnprintf(...)
842
843; CHECK: declare void @vsprintf(...)
844declare void @vsprintf(...)
845
846; CHECK: declare void @vsscanf(...)
847declare void @vsscanf(...)
848
849; CHECK: declare void @write(...)
850declare void @write(...)
851