mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 10:54:07 +08:00
compiler: panic arguments are empty interface type
After CL 536643 passing NULL as the expected type permitted an untyped constant expression to remain untyped. Change to passing the empty interface type. The panic and print/println functions are the only builtin functions that turn an untyped constant expression into a regular function call, and we already handled print/println specially. The test case is https://go.dev/cl/603096. Fixes golang/go#68734 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/603215
This commit is contained in:
parent
51db1f307b
commit
ecb6153e3b
@ -1,4 +1,4 @@
|
||||
60f985a7852632834936b4b859aa75d9df88f038
|
||||
5f6fae5ff33e996243acd098c71904695c414c53
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -11137,6 +11137,12 @@ Builtin_call_expression::do_determine_type(Gogo* gogo,
|
||||
is_print = false;
|
||||
break;
|
||||
|
||||
case BUILTIN_PANIC:
|
||||
arg_type =
|
||||
Type::make_empty_interface_type(Linemap::predeclared_location());
|
||||
is_print = false;
|
||||
break;
|
||||
|
||||
case BUILTIN_PRINT:
|
||||
case BUILTIN_PRINTLN:
|
||||
// Do not force a large integer constant to "int".
|
||||
|
Loading…
Reference in New Issue
Block a user