Folks that come to grief with H-bridges, especially with 30-40V rails, do so because of how they drive the gates; not because they include diodes around the FETs or not.
As a beginner I appreciated the extra info people would add in. When you're just starting sometimes you don't even know you should ask about something. Many people don't realize that mosfets don't always switch efficiently off of a logic signal.
If the h-bridge high voltage and the L298 Vs is 35V, and Vss is 5V (logic supply), this will not work (you will instantly blow up the Fets).
First, you are over-driving the gates. The max gate voltage for both NFets and PFets is 20V, so the NFet gate voltage is constrained to be between 0V( NFet OFF) and 20V( NFet ON), while the PFet gate voltage is constrained to be between 35V( PFet OFF) and (35-20)=15V( PFet ON).
Second, you cannot connect the gate of the PFet to the gate of the NFet on each side of the h-bridge. It takes four non-overlapping gate drive signals to protect the h-bridge from destructive shoot-through caused by having the top PFet not yet fully OFF while turning-ON the NFet on the the SAME side of the bridge. The two gate signals (on each side) must be separated in time (so it takes four port pins on the microprocessor, not just two) so that the PFet completely turns OFF before you turn ON the NFet and conversely you must turn OFF the NFet before turning ON the PFet. The simplest way to generate the four non-overlapping gate drive signals is to use a microprocessor and use software-generated delays to guarantee the appropriate non-overlap between the various gate signals.
The L298 does not generate the needed non-overlapping gate drives even if you use both drivers inside the L298. Nor does it solve the problem of offsetting the gate drive to the PFets by 15V (as in the example I gave above). You should be looking for a "high-side H-Bridge driver".