data/full_repos/permissive/143278/ivltests/pr1879226.v
1: b'%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/pr1879226.v:19: Unsupported: Ignoring delay on this delayed statement.\n #1;\n ^\n                  ... Use "/* verilator lint_off STMTDLY */" and lint_on around source to disable this message.\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/pr1879226.v:36: Unsupported: Ignoring delay on this delayed statement.\n #1 B = -8;\n ^\n%Warning-STMTDLY: data/full_repos/permissive/143278/ivltests/pr1879226.v:37: Unsupported: Ignoring delay on this delayed statement.\n #1;\n ^\n%Error: Exiting due to 3 warning(s)\n        ... See the manual and https://verilator.org for more assistance.\n'
module test;

reg pass = 1;

reg [3 : 0] A = 4'hf;
wire [3 : 0] a_lls, a_lrs;

reg signed [3 : 0] B = 7;
wire signed [3 : 0] b_als, b_ars;

assign a_lls = A<<4;
assign a_lrs = A>>4;
assign b_als = B<<<4;
assign b_ars = B>>>4;

initial begin
	#1;
	if (a_lls !== 4'b0) begin
		$display("FAILED assigning logical left shift");
		pass = 0;
	end
	if (a_lrs !== 4'b0) begin
		$display("FAILED assigning logical right shift");
		pass = 0;
	end
	if (b_als !== 4'b0) begin
		$display("FAILED assigning arithmetic left shift");
		pass = 0;
	end
	if (b_ars !== 4'h0) begin
		$display("FAILED assigning arithmetic right shift (0)");
		pass = 0;
	end
	#1 B = -8;
	#1;
	if (b_ars !== 4'hf) begin
		$display("FAILED assigning arithmetic right shift (1)");
		pass = 0;
	end

	if (pass) $display("PASSED");
end

endmodule
module test;


reg pass = 1;

reg [3 : 0] A = 4'hf;
wire [3 : 0] a_lls, a_lrs;

reg signed [3 : 0] B = 7;
wire signed [3 : 0] b_als, b_ars;

assign a_lls = A<<4;
assign a_lrs = A>>4;
assign b_als = B<<<4;
assign b_ars = B>>>4;

initial begin
	#1;
	if (a_lls !== 4'b0) begin
		$display("FAILED assigning logical left shift");
		pass = 0;
	end
	if (a_lrs !== 4'b0) begin
		$display("FAILED assigning logical right shift");
		pass = 0;
	end
	if (b_als !== 4'b0) begin
		$display("FAILED assigning arithmetic left shift");
		pass = 0;
	end
	if (b_ars !== 4'h0) begin
		$display("FAILED assigning arithmetic right shift (0)");
		pass = 0;
	end
	#1 B = -8;
	#1;
	if (b_ars !== 4'hf) begin
		$display("FAILED assigning arithmetic right shift (1)");
		pass = 0;
	end

	if (pass) $display("PASSED");
end

endmodule