
Remove the `hasPrototype()` restriction so that old style K&R declarations of main work too. For example the following has 2 params but no prototype. ``` int main(argc, argv) int argc; char *argv[]; { return 0; } ``` Also, use `getNumParams()` over `param_size()` which seems to be a more direct way to get at the same information. Also, add missing tests for this mangling. Differential Revision: https://reviews.llvm.org/D127888
11 lines
289 B
C
11 lines
289 B
C
// RUN: %clang_cc1 -emit-llvm %s -o - -triple=wasm32-unknown-unknown -Wno-deprecated-non-prototype | FileCheck %s
|
|
|
|
int main(argc, argv)
|
|
int argc;
|
|
char* argv[];
|
|
{
|
|
return 0;
|
|
}
|
|
// CHECK-NOT: __main_void
|
|
// CHECK: define i32 @__main_argc_argv(i32 noundef %argc, ptr noundef %argv) #0 {
|